github.com/khulnasoft-lab/defsec@v1.0.5-0.20230827010352-5e9f46893d95/pkg/providers/aws/rds/rds.go (about) 1 package rds 2 3 import ( 4 defsecTypes "github.com/khulnasoft-lab/defsec/pkg/types" 5 ) 6 7 type RDS struct { 8 Instances []Instance 9 Clusters []Cluster 10 Classic Classic 11 Snapshots []Snapshots 12 ParameterGroups []ParameterGroups 13 } 14 15 type Instance struct { 16 Metadata defsecTypes.Metadata 17 BackupRetentionPeriodDays defsecTypes.IntValue 18 ReplicationSourceARN defsecTypes.StringValue 19 PerformanceInsights PerformanceInsights 20 Encryption Encryption 21 PublicAccess defsecTypes.BoolValue 22 Engine defsecTypes.StringValue 23 IAMAuthEnabled defsecTypes.BoolValue 24 DeletionProtection defsecTypes.BoolValue 25 DBInstanceArn defsecTypes.StringValue 26 StorageEncrypted defsecTypes.BoolValue 27 DBInstanceIdentifier defsecTypes.StringValue 28 DBParameterGroups []DBParameterGroupsList 29 TagList []TagList 30 EnabledCloudwatchLogsExports []defsecTypes.StringValue 31 EngineVersion defsecTypes.StringValue 32 AutoMinorVersionUpgrade defsecTypes.BoolValue 33 MultiAZ defsecTypes.BoolValue 34 PubliclyAccessible defsecTypes.BoolValue 35 LatestRestorableTime defsecTypes.TimeValue 36 ReadReplicaDBInstanceIdentifiers []defsecTypes.StringValue 37 } 38 39 type Cluster struct { 40 Metadata defsecTypes.Metadata 41 BackupRetentionPeriodDays defsecTypes.IntValue 42 ReplicationSourceARN defsecTypes.StringValue 43 PerformanceInsights PerformanceInsights 44 Instances []ClusterInstance 45 Encryption Encryption 46 PublicAccess defsecTypes.BoolValue 47 Engine defsecTypes.StringValue 48 LatestRestorableTime defsecTypes.TimeValue 49 } 50 51 type Snapshots struct { 52 Metadata defsecTypes.Metadata 53 DBSnapshotIdentifier defsecTypes.StringValue 54 DBSnapshotArn defsecTypes.StringValue 55 Encrypted defsecTypes.BoolValue 56 KmsKeyId defsecTypes.StringValue 57 SnapshotAttributes []DBSnapshotAttributes 58 } 59 60 type Parameters struct { 61 Metadata defsecTypes.Metadata 62 ParameterName defsecTypes.StringValue 63 ParameterValue defsecTypes.StringValue 64 } 65 66 type ParameterGroups struct { 67 Metadata defsecTypes.Metadata 68 DBParameterGroupName defsecTypes.StringValue 69 DBParameterGroupFamily defsecTypes.StringValue 70 Parameters []Parameters 71 } 72 73 type DBSnapshotAttributes struct { 74 Metadata defsecTypes.Metadata 75 AttributeValues []defsecTypes.StringValue 76 } 77 78 const ( 79 EngineAurora = "aurora" 80 EngineAuroraMysql = "aurora-mysql" 81 EngineAuroraPostgresql = "aurora-postgresql" 82 EngineMySQL = "mysql" 83 EnginePostgres = "postgres" 84 EngineCustomOracleEE = "custom-oracle-ee" 85 EngineOracleEE = "oracle-ee" 86 EngineOracleEECDB = "oracle-ee-cdb" 87 EngineOracleSE2 = "oracle-se2" 88 EngineOracleSE2CDB = "oracle-se2-cdb" 89 EngineSQLServerEE = "sqlserver-ee" 90 EngineSQLServerSE = "sqlserver-se" 91 EngineSQLServerEX = "sqlserver-ex" 92 EngineSQLServerWEB = "sqlserver-web" 93 EngineMariaDB = "mariadb" 94 EngineCustomSQLServerEE = "custom-sqlserver-ee" 95 EngineCustomSQLServerSE = "custom-sqlserver-se" 96 EngineCustomSQLServerWEB = "custom-sqlserver-web" 97 ) 98 99 type Encryption struct { 100 Metadata defsecTypes.Metadata 101 EncryptStorage defsecTypes.BoolValue 102 KMSKeyID defsecTypes.StringValue 103 } 104 105 type ClusterInstance struct { 106 Instance 107 ClusterIdentifier defsecTypes.StringValue 108 } 109 110 type PerformanceInsights struct { 111 Metadata defsecTypes.Metadata 112 Enabled defsecTypes.BoolValue 113 KMSKeyID defsecTypes.StringValue 114 } 115 116 type DBParameterGroupsList struct { 117 Metadata defsecTypes.Metadata 118 DBParameterGroupName defsecTypes.StringValue 119 KMSKeyID defsecTypes.StringValue 120 } 121 122 type TagList struct { 123 Metadata defsecTypes.Metadata 124 }