1
0
Fork 0
mirror of https://github.com/fog/fog-aws.git synced 2022-11-09 13:50:52 -05:00
fog--fog-aws/tests/requests/rds/helper.rb
Eugene Howe 2980ba7a52 support for rds clusters and aurora
* add db cluster identifier to db instance parser
* dont allow setting security groups on aurora instances
* aurora instances do not support the multi az parameter due to the cluster
* aurora has its own storage type that cannot be set
2016-03-01 11:54:55 -05:00

400 lines
12 KiB
Ruby

class AWS
module RDS
module Formats
BASIC = {
'ResponseMetadata' => { 'RequestId' => String }
}
DB_AVAILABILITY_ZONE_OPTION = {
'Name' => String,
'ProvisionedIopsCapable' => Fog::Boolean
}
DB_PARAMETER_GROUP = {
'DBParameterGroupFamily' => String,
'DBParameterGroupName' => String,
'Description' => String
}
CREATE_DB_PARAMETER_GROUP = {
'ResponseMetadata' => { 'RequestId' => String },
'CreateDBParameterGroupResult' => {
'DBParameterGroup' => DB_PARAMETER_GROUP
}
}
DB_SECURITY_GROUP = {
'DBSecurityGroupDescription' => String,
'DBSecurityGroupName' => String,
'EC2SecurityGroups' => [Fog::Nullable::Hash],
'IPRanges' => [Fog::Nullable::Hash],
'OwnerId' => Fog::Nullable::String
}
CREATE_DB_SECURITY_GROUP = BASIC.merge({
'CreateDBSecurityGroupResult' => {
'DBSecurityGroup' => DB_SECURITY_GROUP
}
})
AUTHORIZE_DB_SECURITY_GROUP = BASIC.merge({
'AuthorizeDBSecurityGroupIngressResult' => {
'DBSecurityGroup' => DB_SECURITY_GROUP
}
})
REVOKE_DB_SECURITY_GROUP = BASIC.merge({
'RevokeDBSecurityGroupIngressResult' => {
'DBSecurityGroup' => DB_SECURITY_GROUP
}
})
DESCRIBE_DB_SECURITY_GROUP = BASIC.merge({
'DescribeDBSecurityGroupsResult' => {
'DBSecurityGroups' => [DB_SECURITY_GROUP]
}
})
DB_SUBNET_GROUP = {
'DBSubnetGroupName' => String,
'DBSubnetGroupDescription' => String,
'SubnetGroupStatus' => String,
'VpcId' => String,
'Subnets' => [String]
}
CREATE_DB_SUBNET_GROUP = BASIC.merge({
'CreateDBSubnetGroupResult' => {
'DBSubnetGroup' => DB_SUBNET_GROUP
}
})
DESCRIBE_DB_SUBNET_GROUPS = BASIC.merge({
'DescribeDBSubnetGroupsResult' => {
'DBSubnetGroups' => [DB_SUBNET_GROUP]
}
})
DESCRIBE_DB_PARAMETER_GROUP = {
'ResponseMetadata' => { 'RequestId' => String },
'DescribeDBParameterGroupsResult' => {
'DBParameterGroups' => [DB_PARAMETER_GROUP]
}
}
ORDERABLE_DB_INSTANCE_OPTION = {
'MultiAZCapable' => Fog::Boolean,
'Engine' => String,
'LicenseModel' => String,
'ReadReplicaCapable' => Fog::Boolean,
'EngineVersion' => String,
'AvailabilityZones' => [DB_AVAILABILITY_ZONE_OPTION],
'DBInstanceClass' => String,
'Vpc' => Fog::Boolean
}
DESCRIBE_ORDERABLE_DB_INSTANCE_OPTION = BASIC.merge({
'DescribeOrderableDBInstanceOptionsResult' => {
'OrderableDBInstanceOptions' => [ORDERABLE_DB_INSTANCE_OPTION]
}
})
MODIFY_PARAMETER_GROUP = BASIC.merge({
'ModifyDBParameterGroupResult' => {
'DBParameterGroupName' => String
}
})
DB_PARAMETER = {
'ParameterValue' => Fog::Nullable::String,
'DataType' => String,
'AllowedValues' => Fog::Nullable::String,
'Source' => String,
'IsModifiable' => Fog::Boolean,
'Description' => String,
'ParameterName' => String,
'ApplyType' => String
}
DESCRIBE_DB_PARAMETERS = BASIC.merge({
'DescribeDBParametersResult' => {
'Marker' => Fog::Nullable::String,
'Parameters' => [DB_PARAMETER]
}
})
DB_LOG_FILE = {
'LastWritten' => Time,
'Size' => Integer,
'LogFileName' => String
}
DESCRIBE_DB_LOG_FILES = BASIC.merge({
'DescribeDBLogFilesResult' => {
'Marker' => Fog::Nullable::String,
'DBLogFiles' => [DB_LOG_FILE]
}
})
SNAPSHOT = {
'AllocatedStorage' => Integer,
'AvailabilityZone' => String,
'DBInstanceIdentifier' => String,
'DBSnapshotIdentifier' => String,
'EngineVersion' => String,
'Engine' => String,
'InstanceCreateTime' => Time,
'Iops' => Fog::Nullable::Integer,
'MasterUsername' => String,
'Port' => Integer,
'SnapshotCreateTime' => Fog::Nullable::Time,
'Status' => String,
'SnapshotType' => String
}
INSTANCE = {
'AllocatedStorage' => Integer,
'AutoMinorVersionUpgrade' => Fog::Boolean,
'AvailabilityZone' => Fog::Nullable::String,
'BackupRetentionPeriod' => Integer,
'CACertificateIdentifier' => String,
'CharacterSetName' => Fog::Nullable::String,
'DBClusterIndentifier' => Fog::Nullable::String,
'DbiResourceId' => Fog::Nullable::String,
'DBInstanceClass' => String,
'DBInstanceIdentifier' => String,
'DBInstanceStatus' => String,
'DBName' => Fog::Nullable::String,
'DBParameterGroups' => [{
'ParameterApplyStatus' => String,
'DBParameterGroupName' => String
}],
'DBSecurityGroups' => [{
'Status' => String,
'DBSecurityGroupName' => String
}],
'DBSubnetGroupName' => Fog::Nullable::String,
'PubliclyAccessible' => Fog::Boolean,
'Endpoint' => {
'Address' => Fog::Nullable::String,
'Port' => Fog::Nullable::Integer
},
'Engine' => String,
'EngineVersion' => String,
'InstanceCreateTime' => Fog::Nullable::Time,
'Iops' => Fog::Nullable::Integer,
'KmsKeyId' => Fog::Nullable::String,
'LatestRestorableTime' => Fog::Nullable::Time,
'LicenseModel' => String,
'MasterUsername' => String,
'MultiAZ' => Fog::Boolean,
'PendingModifiedValues' => {
'BackupRetentionPeriod' => Fog::Nullable::Integer,
'DBInstanceClass' => Fog::Nullable::String,
'EngineVersion' => Fog::Nullable::String,
'MasterUserPassword' => Fog::Nullable::String,
'MultiAZ' => Fog::Nullable::Boolean,
'AllocatedStorage' => Fog::Nullable::Integer,
'Port' => Fog::Nullable::Integer
},
'PreferredBackupWindow' => String,
'PreferredMaintenanceWindow' => String,
'ReadReplicaDBInstanceIdentifiers' => [Fog::Nullable::String],
'StorageType' => String,
'StorageEncrypted' => Fog::Boolean,
'TdeCredentialArn' => Fog::Nullable::String
}
REPLICA_INSTANCE = INSTANCE.merge({
'PreferredBackupWindow' => Fog::Nullable::String,
'ReadReplicaSourceDBInstanceIdentifier' => String
})
CREATE_DB_INSTANCE = BASIC.merge({
'CreateDBInstanceResult' => {
'DBInstance' => INSTANCE
}
})
DESCRIBE_DB_INSTANCES = BASIC.merge({
'DescribeDBInstancesResult' => {
'Marker' => Fog::Nullable::String,
'DBInstances' => [INSTANCE]
}
})
MODIFY_DB_INSTANCE = BASIC.merge({
'ModifyDBInstanceResult' => {
'DBInstance' => INSTANCE
}
})
DELETE_DB_INSTANCE = BASIC.merge({
'DeleteDBInstanceResult' => {
'DBInstance' => INSTANCE
}
})
REBOOT_DB_INSTANCE = BASIC.merge({
'RebootDBInstanceResult' => {
'DBInstance' => INSTANCE
}
})
CREATE_READ_REPLICA = BASIC.merge({
'CreateDBInstanceReadReplicaResult' => {
'DBInstance' => REPLICA_INSTANCE
}
})
PROMOTE_READ_REPLICA = BASIC.merge({
'PromoteReadReplicaResult' => {
'DBInstance' => INSTANCE
}
})
CREATE_DB_SNAPSHOT = BASIC.merge({
'CreateDBSnapshotResult' => {
'DBSnapshot' => SNAPSHOT
}
})
DESCRIBE_DB_SNAPSHOTS = BASIC.merge({
'DescribeDBSnapshotsResult' => {
'Marker' => Fog::Nullable::String,
'DBSnapshots' => [SNAPSHOT]
}
})
DELETE_DB_SNAPSHOT = BASIC.merge({
'DeleteDBSnapshotResult' => {
'DBSnapshot' => SNAPSHOT
}
})
LIST_TAGS_FOR_RESOURCE = {
'ListTagsForResourceResult' => {
'TagList' => Fog::Nullable::Hash
}
}
EVENT_SUBSCRIPTION = {
'CustSubscriptionId' => String,
'EventCategories' => Array,
'SourceType' => Fog::Nullable::String,
'Enabled' => String,
'Status' => String,
'CreationTime' => Time,
'SnsTopicArn' => String
}
CREATE_EVENT_SUBSCRIPTION = {
'CreateEventSubscriptionResult' => {
'EventSubscription' => EVENT_SUBSCRIPTION
}
}
DESCRIBE_EVENT_SUBSCRIPTIONS = {
'DescribeEventSubscriptionsResult' => {
'EventSubscriptionsList' => [EVENT_SUBSCRIPTION]
}
}
DB_ENGINE_VERSION = {
'Engine' => String,
'DBParameterGroupFamily' => String,
'DBEngineDescription' => String,
'EngineVersion' => String,
'DBEngineVersionDescription' => String
}
DB_ENGINE_VERSIONS_LIST = BASIC.merge(
'DescribeDBEngineVersionsResult' => {
'DBEngineVersions' => [DB_ENGINE_VERSION]
}
)
DB_CLUSTER = {
'AllocatedStorage' => String,
'BackupRetentionPeriod' => String,
'DBClusterIdentifier' => String,
'DBClusterMembers' => [{
"master" => Fog::Nullable::Boolean,
"DBInstanceIdentifier" => Fog::Nullable::String,
}],
'DBClusterParameterGroup' => String,
'DBSubnetGroup' => String,
'Endpoint' => String,
'Engine' => String,
'EngineVersion' => String,
'MasterUsername' => String,
'Port' => String,
'PreferredBackupWindow' => String,
'PreferredMaintenanceWindow' => String,
'Status' => String,
'VpcSecurityGroups' => [{
"VpcSecurityGroupId" => Fog::Nullable::String,
}]
}
DESCRIBE_DB_CLUSTERS = BASIC.merge({
'DescribeDBClustersResult' => {
'Marker' => Fog::Nullable::String,
'DBClusters' => [DB_CLUSTER]
}
})
CREATE_DB_CLUSTER = BASIC.merge(
'CreateDBClusterResult' => {
'DBCluster' => DB_CLUSTER
}
)
DELETE_DB_CLUSTER = BASIC.merge(
'DeleteDBClusterResult' => {
'DBCluster' => DB_CLUSTER
}
)
DB_CLUSTER_SNAPSHOT = {
'AllocatedStorage' => Fog::Nullable::Integer,
'ClusterCreateTime' => Fog::Nullable::Time,
'DBClusterIdentifier' => String,
'DBClusterSnapshotIdentifier' => String,
'Engine' => String,
'LicenseModel' => String,
'MasterUsername' => String,
'PercentProgress' => Fog::Nullable::Integer,
'Port' => Fog::Nullable::Integer,
'SnapshotCreateTime' => Fog::Nullable::Time,
'SnapshotType' => String,
'Status' => String,
'VpcId' => Fog::Nullable::String
}
CREATE_DB_CLUSTER_SNAPSHOT = BASIC.merge(
'CreateDBClusterSnapshotResult' => {
'DBClusterSnapshot' => DB_CLUSTER_SNAPSHOT
}
)
DESCRIBE_DB_CLUSTER_SNAPSHOTS = BASIC.merge(
'DescribeDBClusterSnapshotsResult' => {
'Marker' => Fog::Nullable::String,
'DBClusterSnapshots' => [DB_CLUSTER_SNAPSHOT],
}
)
DELETE_DB_CLUSTER_SNAPSHOT = BASIC.merge(
'DeleteDBClusterSnapshotResult' => {
'DBClusterSnapshot' => DB_CLUSTER_SNAPSHOT,
}
)
RESTORE_DB_INSTANCE_FROM_DB_SNAPSHOT = BASIC.merge({
'RestoreDBInstanceFromDBSnapshotResult' => {
'DBInstance' => INSTANCE
}
})
end
end
end