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  }