Definitions for @turbot/aws-rds

address

{
"type": "string",
"pattern": "[a-z][-a-z0-9]*.[a-z0-9]{12}.[a-z]{2}-[a-z]+-\\d{1}.rds.amazonaws.com",
"tests": [
{
"input": "turbot-123.cpgmswtt1cws.ap-south-1.rds.amazonaws.com"
},
{
"input": "rohit-12.cpgmswtt1cws.ap-south-1.rds.amazonaws.com"
},
{
"description": "invalid - input not expected",
"input": "hi hi",
"expected": false
},
{
"description": "invalid - AWS account id is wrong",
"input": "arn:aws:rds:ap-south-1:11166665714:cluster:dbname",
"expected": false
}
],
".turbot": {
"uri": "tmod:@turbot/aws-rds#/definitions/address",
"modUri": "tmod:@turbot/aws-rds"
}
}

allocatedStorage

{
"type": "integer",
"tests": [
{
"input": 12345
},
{
"description": "null value",
"input": null
},
{
"description": "invalid - string type provided",
"input": "Hello",
"expected": false
}
],
".turbot": {
"uri": "tmod:@turbot/aws-rds#/definitions/allocatedStorage",
"modUri": "tmod:@turbot/aws-rds"
}
}

associatedRoles

{
"type": "array",
"items": {
"$ref": "#/definitions/dbClusterRole"
},
"tests": [
{
"input": [
{
"FeatureName": "foo",
"RoleArn": "arn:aws:iam::111666065714:role/aws-service-role/rds.amazonaws.com/AWSServiceRoleForRDS",
"Status": "PENDING"
}
]
}
],
".turbot": {
"uri": "tmod:@turbot/aws-rds#/definitions/associatedRoles",
"modUri": "tmod:@turbot/aws-rds"
}
}

availabilityZones

{
"type": "array",
"items": {
"type": "string"
},
"tests": [
{
"input": [
"ap-south-1a",
"ap-south-1b"
]
},
{
"description": "invalid - empty string",
"input": "",
"expected": false
}
],
".turbot": {
"uri": "tmod:@turbot/aws-rds#/definitions/availabilityZones",
"modUri": "tmod:@turbot/aws-rds"
}
}

dbCluster

{
"type": "object",
"properties": {
"ActivityStreamMode": {
"$ref": "#/definitions/streamMode"
},
"ActivityStreamStatus": {
"$ref": "#/definitions/streamStatus"
},
"ActivityStreamKmsKeyId": {
"type": "string"
},
"ActivityStreamKinesisStreamName": {
"type": "string"
},
"CopyTagsToSnapshot": {
"$ref": "#/definitions/isClusterWriter"
},
"AllocatedStorage": {
"$ref": "#/definitions/allocatedStorage"
},
"AssociatedRoles": {
"$ref": "#/definitions/associatedRoles"
},
"AvailabilityZones": {
"$ref": "#/definitions/availabilityZones"
},
"BacktrackConsumedChangeRecords": {
"$ref": "#/definitions/allocatedStorage"
},
"BacktrackWindow": {
"$ref": "#/definitions/allocatedStorage"
},
"BackupRetentionPeriod": {
"$ref": "#/definitions/allocatedStorage"
},
"Capacity": {
"$ref": "#/definitions/allocatedStorage"
},
"CharacterSetName": {
"$ref": "#/definitions/name"
},
"CloneGroupId": {
"$ref": "#/definitions/name"
},
"ClusterCreateTime": {
"$ref": "turbot#/definitions/isoTimestamp"
},
"CrossAccountClone": {
"$ref": "#/definitions/isClusterWriter"
},
"CustomEndpoints": {
"type": "array"
},
"DatabaseName": {
"$ref": "#/definitions/dbClusterIdentifier"
},
"DBClusterArn": {
"$ref": "#/definitions/dbClusterArn"
},
"DBClusterIdentifier": {
"$ref": "#/definitions/dbClusterIdentifier"
},
"DBClusterMembers": {
"$ref": "#/definitions/dbClusterMembers"
},
"DBClusterOptionGroupMemberships": {
"$ref": "#/definitions/dbClusterOptionGroupMemberships"
},
"DBClusterParameterGroup": {
"$ref": "#/definitions/name"
},
"DbClusterResourceId": {
"$ref": "#/definitions/dbClusterResourceId"
},
"DBSubnetGroup": {
"$ref": "#/definitions/name"
},
"DeletionProtection": {
"$ref": "#/definitions/isClusterWriter"
},
"EarliestBacktrackTime": {
"$ref": "turbot#/definitions/isoTimestamp"
},
"EarliestRestorableTime": {
"$ref": "turbot#/definitions/isoTimestamp"
},
"EnabledCloudwatchLogsExports": {
"$ref": "#/definitions/values"
},
"Endpoint": {
"$ref": "#/definitions/name"
},
"Engine": {
"$ref": "#/definitions/name"
},
"EngineMode": {
"$ref": "#/definitions/engineMode"
},
"EngineVersion": {
"$ref": "#/definitions/name"
},
"HostedZoneId": {
"$ref": "#/definitions/hostedZoneId"
},
"HttpEndpointEnabled": {
"$ref": "#/definitions/isClusterWriter"
},
"IAMDatabaseAuthenticationEnabled": {
"$ref": "#/definitions/isClusterWriter"
},
"KmsKeyId": {
"$ref": "#/definitions/kmsKeyId"
},
"LatestRestorableTime": {
"$ref": "turbot#/definitions/isoTimestamp"
},
"MasterUsername": {
"$ref": "#/definitions/name"
},
"MultiAZ": {
"$ref": "#/definitions/isClusterWriter"
},
"PercentProgress": {
"$ref": "#/definitions/name"
},
"Port": {
"$ref": "#/definitions/port"
},
"PreferredBackupWindow": {
"$ref": "#/definitions/preferredBackupWindow"
},
"PreferredMaintenanceWindow": {
"$ref": "#/definitions/preferredMaintenanceWindow"
},
"ReaderEndpoint": {
"$ref": "#/definitions/name"
},
"ReadReplicaIdentifiers": {
"$ref": "#/definitions/values"
},
"ReplicationSourceIdentifier": {
"$ref": "#/definitions/name"
},
"ScalingConfigurationInfo": {
"$ref": "#/definitions/scalingConfigurationInfo"
},
"Status": {
"$ref": "#/definitions/dbClusterStatus"
},
"StorageEncrypted": {
"$ref": "#/definitions/isClusterWriter"
},
"VpcSecurityGroups": {
"type": "array"
},
"Tags": {
"$ref": "#/definitions/tagList"
},
"turbot": {
"type": "object",
"properties": {
"akas": {
"type": "array",
"items": {
"$ref": "#/definitions/dbClusterArn"
}
},
"tags": {
"$ref": "aws#/definitions/tagsMap"
},
"title": {
"$ref": "#/definitions/dbClusterIdentifier"
},
"custom": {
"type": "object",
"properties": {
"aws": {
"$ref": "aws#/definitions/awsMetadata"
},
"createTimestamp": {
"$ref": "turbot#/definitions/isoTimestamp"
}
}
}
}
}
},
"additionalProperties": true,
"tests": [
{
"description": "Valid - All properties",
"input": {
"Tags": [
{
"Key": "key01",
"Value": "value01"
}
],
"AllocatedStorage": 123,
"ActivityStreamMode": "sync",
"ActivityStreamStatus": "started",
"AssociatedRoles": [
{
"FeatureName": "foo",
"RoleArn": "arn:aws:iam::111666065714:role/aws-service-role/rds.amazonaws.com/AWSServiceRoleForRDS"
}
],
"AvailabilityZones": [
"ap-south-1a",
"ap-south-1b"
],
"BacktrackConsumedChangeRecords": 143,
"BacktrackWindow": 0,
"BackupRetentionPeriod": 12,
"Capacity": 10,
"CharacterSetName": "food",
"CloneGroupId": "clonedcluster",
"ClusterCreateTime": "2018-08-28T08:28:10.516Z",
"DatabaseName": "fosds",
"DBClusterArn": "arn:aws:rds:ap-south-1:111666065714:cluster:turbot-rds-test-1-1",
"DBClusterIdentifier": "fsd-sdfds",
"DBClusterMembers": [
{
"DBClusterParameterGroupStatus": "foo",
"DBInstanceIdentifier": "foosdfsd",
"IsClusterWriter": true,
"PromotionTier": 1
}
],
"DBClusterOptionGroupMemberships": [
{
"DBClusterOptionGroupName": "foo"
},
{
"Status": "foo"
}
],
"DBClusterParameterGroup": "foo",
"DbClusterResourceId": "cluster-DKHY2AMIPHVBZ7OGF4TCPOGJA4",
"DBSubnetGroup": "foosd",
"EarliestBacktrackTime": "2018-08-28T08:28:10.516Z",
"EarliestRestorableTime": "2018-08-28T08:28:10.516Z",
"EnabledCloudwatchLogsExports": [
"570da01b",
"570da01b"
],
"Endpoint": "turbot-rds-test-1-1.cluster-cpgmswtt1cws.ap-south-1.rds.amazonaws.com",
"Engine": "aurora",
"EngineMode": "provisioned",
"EngineVersion": "5.6.10a",
"HostedZoneId": "Z2VFMSZA74J7XZ",
"IAMDatabaseAuthenticationEnabled": false,
"KmsKeyId": "abcde",
"LatestRestorableTime": "2018-08-28T09:12:15.789Z",
"MasterUsername": "turbot",
"MultiAZ": false,
"PercentProgress": "100%",
"Port": 3306,
"PreferredBackupWindow": "12:12-12:24",
"PreferredMaintenanceWindow": "wed:11:23-wed:11:53",
"ReaderEndpoint": "turbot-rds-test-1-1.cluster-ro-cpgmswtt1cws.ap-south-1.rds.amazonaws.com",
"ReadReplicaIdentifiers": [
"570da01b",
"570da01b"
],
"ReplicationSourceIdentifier": "foo",
"ScalingConfigurationInfo": {
"AutoPause": false,
"MaxCapacity": 10,
"MinCapacity": 1,
"SecondsUntilAutoPause": 11
},
"StorageEncrypted": false,
"turbot": {
"akas": [
"arn:aws:rds:ap-south-1:111666065714:cluster:turbot-rds-test-1-1"
],
"tags": {
"key01": "value01"
},
"title": "fsd-sdfds",
"custom": {
"aws": {
"accountId": 123456789012,
"regionName": "us-east-1"
}
}
}
}
}
],
".turbot": {
"uri": "tmod:@turbot/aws-rds#/definitions/dbCluster",
"modUri": "tmod:@turbot/aws-rds"
}
}

dbClusterArn

{
"type": "string",
"pattern": "arn:aws(-us-gov|-cn)?:rds:[a-z]{2}(-gov)?-[a-z]+-[0-9]:[0-9]{12}:cluster:[-a-zA-Z0-9]*?",
"tests": [
{
"input": "arn:aws:rds:ap-south-1:111666065714:cluster:turbot-rds-test-1-1"
},
{
"input": "arn:aws:rds:ap-south-1:111666065714:cluster:dbname"
},
{
"description": "invalid - input not expected",
"input": "hi hi",
"expected": false
},
{
"description": "invalid - AWS account id is wrong",
"input": "arn:aws:rds:ap-south-1:11166665714:cluster:dbname",
"expected": false
}
],
".turbot": {
"uri": "tmod:@turbot/aws-rds#/definitions/dbClusterArn",
"modUri": "tmod:@turbot/aws-rds"
}
}

dbClusterIdentifier

{
"type": "string",
"pattern": "^([a-z][-a-z0-9]*)$",
"tests": [
{
"input": "foo"
},
{
"input": "avesfss"
},
{
"description": "null value",
"input": null,
"expected": false
},
{
"description": "empty string",
"input": "",
"expected": false
},
{
"description": "invalid - can not end with underscore",
"input": "a0123-_",
"expected": false
},
{
"description": "invalid - cannot start with a number",
"input": "0123-asd",
"expected": false
}
],
".turbot": {
"uri": "tmod:@turbot/aws-rds#/definitions/dbClusterIdentifier",
"modUri": "tmod:@turbot/aws-rds"
}
}

dbClusterMember

{
"type": "object",
"properties": {
"DBClusterParameterGroupStatus": {
"$ref": "#/definitions/name"
},
"DBInstanceIdentifier": {
"$ref": "#/definitions/dbClusterIdentifier"
},
"IsClusterWriter": {
"$ref": "#/definitions/isClusterWriter"
},
"PromotionTier": {
"$ref": "#/definitions/allocatedStorage"
}
},
"tests": [
{
"description": "all details provided",
"input": {
"DBClusterParameterGroupStatus": "default.aurora5.6",
"DBInstanceIdentifier": "foosdfsd",
"IsClusterWriter": true,
"PromotionTier": 1
}
},
{
"description": "invalid - isclusterwriter is in not boolean",
"input": {
"DBClusterParameterGroupStatus": "default.aurora5.6",
"DBInstanceIdentifier": "arn:aws:iam::111666065714:role/aws-service-role/rds.amazonaws.com/AWSServiceRoleForRDS",
"IsClusterWriter": "pending",
"PromotionTier": "hi"
},
"expected": false
}
],
".turbot": {
"uri": "tmod:@turbot/aws-rds#/definitions/dbClusterMember",
"modUri": "tmod:@turbot/aws-rds"
}
}

dbClusterMembers

{
"type": "array",
"items": {
"$ref": "#/definitions/dbClusterMember"
},
"tests": [
{
"input": [
{
"DBClusterParameterGroupStatus": "default.aurora5.6",
"DBInstanceIdentifier": "foosdfsd",
"IsClusterWriter": true,
"PromotionTier": 1
}
]
}
],
".turbot": {
"uri": "tmod:@turbot/aws-rds#/definitions/dbClusterMembers",
"modUri": "tmod:@turbot/aws-rds"
}
}

dbClusterOptionGroupMemberships

{
"type": "array",
"items": {
"$ref": "#/definitions/dbClusterOptionGroupStatus"
},
"tests": [
{
"input": [
{
"DBClusterOptionGroupName": "foo",
"Status": "foo"
}
]
}
],
".turbot": {
"uri": "tmod:@turbot/aws-rds#/definitions/dbClusterOptionGroupMemberships",
"modUri": "tmod:@turbot/aws-rds"
}
}

dbClusterOptionGroupStatus

{
"type": "object",
"properties": {
"DBClusterOptionGroupName": {
"$ref": "#/definitions/name"
},
"Status": {
"$ref": "#/definitions/name"
}
},
"tests": [
{
"description": "all details provided",
"input": {
"DBClusterOptionGroupName": "foo",
"Status": "foo"
}
},
{
"description": "invalid - array passed instead of string",
"input": {
"DBClusterOptionGroupName": "foo",
"Status": [
"foo"
]
},
"expected": false
}
],
".turbot": {
"uri": "tmod:@turbot/aws-rds#/definitions/dbClusterOptionGroupStatus",
"modUri": "tmod:@turbot/aws-rds"
}
}

dbClusterParameterGroup

{
"type": "object",
"properties": {
"DBClusterParameterGroupArn": {
"$ref": "#/definitions/dbClusterParameterGroupArn"
},
"DBClusterParameterGroupName": {
"$ref": "#/definitions/dbClusterParameterGroupName"
},
"DBParameterGroupFamily": {
"$ref": "#/definitions/name"
},
"Description": {
"$ref": "#/definitions/name"
},
"Marker": {
"type": "string"
},
"Tags": {
"$ref": "#/definitions/tagList"
},
"turbot": {
"type": "object",
"properties": {
"akas": {
"type": "array",
"items": {
"$ref": "#/definitions/dbClusterParameterGroupArn"
}
},
"tags": {
"$ref": "aws#/definitions/tagsMap"
},
"title": {
"$ref": "#/definitions/dbClusterParameterGroupName"
},
"custom": {
"type": "object",
"properties": {
"aws": {
"$ref": "aws#/definitions/awsMetadata"
},
"createTimestamp": {
"$ref": "turbot#/definitions/isoTimestamp"
}
}
}
}
}
},
"additionalProperties": true,
"tests": [
{
"description": "Valid - All properties",
"input": {
"DBClusterParameterGroupArn": "arn:aws:rds:ap-south-1:111666065714:cluster-pg:default.aurora5.6",
"DBClusterParameterGroupName": "default.aurora5.6",
"DBParameterGroupFamily": "aurora5.6",
"Description": "Default cluster parameter group for aurora5.6",
"Tags": [
{
"Key": "Env",
"Value": "Test"
},
{
"Key": "App",
"Value": "Facebook"
}
],
"turbot": {
"akas": [
"arn:aws:rds:us-east-1:123456789012:cluster-pg:default.aurora5.6"
],
"tags": {
"Env": "Test",
"App": "Facebook"
},
"title": "default.aurora5.6",
"custom": {
"aws": {
"accountId": 123456789012,
"regionName": "us-east-1"
}
}
}
}
}
],
".turbot": {
"uri": "tmod:@turbot/aws-rds#/definitions/dbClusterParameterGroup",
"modUri": "tmod:@turbot/aws-rds"
}
}

dbClusterParameterGroupArn

{
"type": "string",
"pattern": "arn:aws(-us-gov|-cn)?:rds:[a-z]{2}(-gov)?-[a-z]+-[0-9]:[0-9]{12}:cluster-pg:[-a-zA-Z.0-9]*?",
"tests": [
{
"input": "arn:aws:rds:ap-south-1:111666065714:cluster-pg:default.aurora5.6"
},
{
"input": "arn:aws:rds:ap-south-1:111666065714:cluster-pg:default.mysql5.1"
},
{
"description": "invalid - input not expected",
"input": "hi hi",
"expected": false
},
{
"description": "invalid - AWS account id is wrong",
"input": "arn:aws:rds:ap-south-1:11166606571:cluster-pg1:default.aurora5.6",
"expected": false
}
],
".turbot": {
"uri": "tmod:@turbot/aws-rds#/definitions/dbClusterParameterGroupArn",
"modUri": "tmod:@turbot/aws-rds"
}
}

dbClusterParameterGroupName

{
"type": "string",
"pattern": "^(((?!.*--)[a-zA-Z][a-zA-Z0-9.-]*){1,254})$",
"tests": [
{
"input": "foo"
},
{
"input": "avesfss"
},
{
"input": "default.aurora5.6"
},
{
"description": "null value",
"input": null,
"expected": false
},
{
"description": "empty string",
"input": "",
"expected": false
},
{
"description": "invalid - can not end with underscore",
"input": "a0123-_",
"expected": false
},
{
"description": "invalid - cannot start with a number",
"input": "0123-asd",
"expected": false
}
],
".turbot": {
"uri": "tmod:@turbot/aws-rds#/definitions/dbClusterParameterGroupName",
"modUri": "tmod:@turbot/aws-rds"
}
}

dbClusterResourceId

{
"type": "string",
"pattern": "^cluster-([A-Z0-9])*$",
"tests": [
{
"input": "cluster-DKHY2AMIPHVBZ7OGF4TCPOGJA4"
},
{
"input": "cluster-DKHY2AMIPHVBZ7OGF4TCPOGJA5"
},
{
"description": "invalid - pattern not matched",
"input": "DKHY2AMIPHVBZ7OGF4TCPOGJA5",
"expected": false
}
],
".turbot": {
"uri": "tmod:@turbot/aws-rds#/definitions/dbClusterResourceId",
"modUri": "tmod:@turbot/aws-rds"
}
}

dbClusterRole

{
"type": "object",
"properties": {
"FeatureName": {
"$ref": "#/definitions/name"
},
"RoleArn": {
"$ref": "#/definitions/roleArn"
},
"Status": {
"$ref": "#/definitions/status"
}
},
"tests": [
{
"description": "all details provided",
"input": {
"FeatureName": "foo",
"RoleArn": "arn:aws:iam::111666065714:role/aws-service-role/rds.amazonaws.com/AWSServiceRoleForRDS",
"Status": "PENDING"
}
},
{
"description": "invalid - status is in lowercase",
"input": {
"FeatureName": "foo",
"RoleArn": "arn:aws:iam::111666065714:role/aws-service-role/rds.amazonaws.com/AWSServiceRoleForRDS",
"Status": "pending"
},
"expected": false
}
],
".turbot": {
"uri": "tmod:@turbot/aws-rds#/definitions/dbClusterRole",
"modUri": "tmod:@turbot/aws-rds"
}
}

dbClusterServiceNow

{
"defaultColumns": {
"account_id": {
"column": "enabled",
"path": "metadata.aws.accountId",
"label": "Account ID"
},
"allocated_storage": {
"column": "enabled",
"type": "integer"
},
"arn": {
"column": "enabled",
"path": "turbot.akas[0]",
"label": "ARN"
},
"region": {
"column": "enabled",
"label": "Region",
"path": "metadata.aws.regionName"
},
"associated_roles": {
"column": "enabled",
"type": "string",
"size": 1000
},
"availability_zones": {
"column": "enabled",
"type": "string",
"size": 1000
},
"backup_retention_period": {
"column": "enabled"
},
"create_time": {
"column": "enabled",
"path": "data.ClusterCreateTime",
"label": "Create Time"
},
"database_name": {
"column": "enabled"
},
"db_cluster_identifier": {
"column": "enabled",
"path": "data.DBClusterIdentifier",
"label": "DB Cluster Identifier"
},
"db_cluster_parameter_group": {
"column": "enabled",
"path": "data.DBClusterParameterGroup",
"label": "DB Cluster Parameter Group"
},
"db_subnet_group": {
"column": "enabled",
"path": "data.DBSubnetGroup",
"label": "DB Subnet Group"
},
"deletion_protection": {
"column": "enabled",
"type": "boolean"
},
"engine": {
"column": "enabled"
},
"engine_mode": {
"column": "enabled"
},
"engine_version": {
"column": "enabled"
},
"http_endpoint_enabled": {
"column": "enabled",
"label": "HTTP Endpoint Enabled",
"type": "boolean"
},
"iam_database_authentication_enabled": {
"column": "enabled",
"path": "data.IAMDatabaseAuthenticationEnabled",
"label": "IAM Database Authentication Enabled",
"type": "boolean"
},
"multi_az": {
"column": "enabled",
"path": "data.MultiAZ",
"label": "Multi AZ",
"type": "boolean"
},
"port": {
"column": "enabled"
},
"preferred_backup_window": {
"column": "enabled"
},
"preferred_maintenance_window": {
"column": "enabled"
},
"status": {
"column": "enabled",
"label": "Status"
},
"storage_encrypted": {
"column": "enabled",
"type": "boolean"
},
"tags": {
"column": "enabled",
"label": "Tags",
"type": "string",
"size": 1000
}
},
".turbot": {
"uri": "tmod:@turbot/aws-rds#/definitions/dbClusterServiceNow",
"modUri": "tmod:@turbot/aws-rds"
}
}

dbClusterSnapshotArn

{
"type": "string",
"pattern": "arn:aws(-us-gov|-cn)?:rds:[a-z]{2}(-gov)?-[a-z]+-[0-9]:[0-9]{12}:cluster-snapshot:[-a-zA-Z.0-9]*?",
"tests": [
{
"input": "arn:aws:rds:ap-south-1:111666065714:cluster-snapshot:rds:turbot-rds-test-1-1-2018-08-28-22-17"
},
{
"input": "arn:aws:rds:ap-south-1:111666065714:cluster-snapshot:rds:turbot-2018-08-28-22-17"
},
{
"description": "invalid - input not expected",
"input": "hi hi",
"expected": false
},
{
"description": "invalid - AWS account id is wrong",
"input": "arn:aws:rds:ap-south-1:11166606571:cluster-snapshot:rds:turbot-rds-test-1-1-2018-08-28-22-17",
"expected": false
}
],
".turbot": {
"uri": "tmod:@turbot/aws-rds#/definitions/dbClusterSnapshotArn",
"modUri": "tmod:@turbot/aws-rds"
}
}

dbClusterSnapshotIdentifier

{
"type": "string",
"pattern": "^(rds:[a-z][-a-z0-9]*)|(^[a-z][-a-z0-9]*)$",
"tests": [
{
"input": "test01"
},
{
"input": "rds:turbo-2018-08-28-22-17"
},
{
"description": "null value",
"input": null,
"expected": false
},
{
"description": "empty string",
"input": "",
"expected": false
},
{
"description": "invalid - can not end with underscore",
"input": "a0123-_",
"expected": false
},
{
"description": "invalid - cannot start with a number",
"input": "0123-asd",
"expected": false
}
],
".turbot": {
"uri": "tmod:@turbot/aws-rds#/definitions/dbClusterSnapshotIdentifier",
"modUri": "tmod:@turbot/aws-rds"
}
}

dbClusterSnapshotManual

{
"type": "object",
"properties": {
"AllocatedStorage": {
"$ref": "#/definitions/allocatedStorage"
},
"AvailabilityZones": {
"$ref": "#/definitions/availabilityZones"
},
"ClusterCreateTime": {
"$ref": "turbot#/definitions/isoTimestamp"
},
"SnapshotCreateTime": {
"$ref": "turbot#/definitions/isoTimestamp"
},
"DBClusterIdentifier": {
"$ref": "#/definitions/dbClusterIdentifier"
},
"DBClusterSnapshotArn": {
"$ref": "#/definitions/dbClusterSnapshotArn"
},
"DBClusterSnapshotIdentifier": {
"$ref": "#/definitions/dbClusterSnapshotIdentifier"
},
"SnapshotType": {
"$ref": "#/definitions/snapshotType"
},
"Engine": {
"$ref": "#/definitions/name"
},
"EngineVersion": {
"$ref": "#/definitions/name"
},
"LicenseModel": {
"$ref": "#/definitions/name"
},
"MasterUsername": {
"$ref": "#/definitions/name"
},
"PercentProgress": {
"$ref": "#/definitions/name"
},
"IAMDatabaseAuthenticationEnabled": {
"$ref": "#/definitions/isClusterWriter"
},
"KmsKeyId": {
"$ref": "#/definitions/kmsKeyId"
},
"Port": {
"$ref": "#/definitions/port"
},
"Status": {
"$ref": "#/definitions/dbClusterSnapshotStatus"
},
"StorageEncrypted": {
"$ref": "#/definitions/isClusterWriter"
},
"VpcId": {
"$ref": "#/definitions/vpcId"
},
"Tags": {
"$ref": "#/definitions/tagList"
},
"turbot": {
"type": "object",
"properties": {
"akas": {
"type": "array",
"items": {
"$ref": "#/definitions/dbClusterSnapshotArn"
}
},
"tags": {
"$ref": "aws#/definitions/tagsMap"
},
"title": {
"$ref": "#/definitions/dbClusterSnapshotIdentifier"
},
"custom": {
"type": "object",
"properties": {
"aws": {
"$ref": "aws#/definitions/awsMetadata"
},
"createTimestamp": {
"$ref": "turbot#/definitions/isoTimestamp"
}
}
}
}
}
},
"additionalProperties": true,
"tests": [
{
"description": "Valid - All properties",
"input": {
"turbot": {
"akas": [
"arn:aws:rds:ap-south-1:111666065714:cluster-snapshot:test01"
],
"tags": {
"key01": "value01"
},
"title": "turbot-rds-test-1-1-2018-08-28-22-17",
"custom": {
"aws": {
"accountId": 111666065714,
"regionName": "ap-south-1"
}
}
},
"AllocatedStorage": 0,
"AvailabilityZones": [
"ap-south-1a",
"ap-south-1b"
],
"ClusterCreateTime": "2018-08-28T08:28:10.516Z",
"SnapshotCreateTime": "2018-08-28T22:17:23.097Z",
"DBClusterIdentifier": "turbot-rds-test-1-1",
"DBClusterSnapshotArn": "arn:aws:rds:ap-south-1:111666065714:cluster-snapshot:test01",
"DBClusterSnapshotIdentifier": "test01",
"SnapshotType": "automated",
"Engine": "aurora",
"EngineVersion": "5.6.10a",
"LicenseModel": "aurora",
"MasterUsername": "turbot",
"PercentProgress": "100%",
"IAMDatabaseAuthenticationEnabled": false,
"KmsKeyId": "abcdcd",
"Port": 1,
"Status": "available",
"StorageEncrypted": false,
"VpcId": "vpc-dfafe5b7",
"Tags": [
{
"Key": "key01",
"Value": "value01"
}
]
}
}
],
".turbot": {
"uri": "tmod:@turbot/aws-rds#/definitions/dbClusterSnapshotManual",
"modUri": "tmod:@turbot/aws-rds"
}
}

dbClusterSnapshotStatus

{
"type": "string",
"enum": [
"available",
"backing-up",
"backtracking",
"cloning-failed",
"creating",
"deleting",
"failing-over",
"inaccessible-encryption-credentials",
"maintenance",
"migrating",
"migration-failed",
"modifying",
"promoting",
"renaming",
"resetting-master-credentials",
"starting",
"stopped",
"stopping",
"update-iam-db-auth",
"copying",
"upgrading"
],
"tests": [
{
"input": "available"
},
{
"input": "backtracking"
},
{
"description": "invalid - not listed in options",
"input": "reactive",
"expected": false
},
{
"description": "invalid - null value",
"input": null,
"expected": false
},
{
"description": "invalid - status in upper case",
"input": "ACTIVE",
"expected": false
}
],
".turbot": {
"uri": "tmod:@turbot/aws-rds#/definitions/dbClusterSnapshotStatus",
"modUri": "tmod:@turbot/aws-rds"
}
}

dbClusterStatus

{
"type": "string",
"enum": [
"available",
"backing-up",
"backtracking",
"cloning-failed",
"creating",
"deleting",
"failing-over",
"inaccessible-encryption-credentials",
"maintenance",
"migrating",
"migration-failed",
"modifying",
"promoting",
"renaming",
"resetting-master-credentials",
"starting",
"stopped",
"stopping",
"update-iam-db-auth",
"upgrading"
],
"tests": [
{
"input": "available"
},
{
"input": "creating"
},
{
"description": "invalid - not listed in options",
"input": "reactive",
"expected": false
},
{
"description": "invalid - null value",
"input": null,
"expected": false
},
{
"description": "invalid - status in upper case",
"input": "ACTIVE",
"expected": false
}
],
".turbot": {
"uri": "tmod:@turbot/aws-rds#/definitions/dbClusterStatus",
"modUri": "tmod:@turbot/aws-rds"
}
}

dbInstance

{
"type": "object",
"properties": {
"AllocatedStorage": {
"$ref": "#/definitions/allocatedStorage"
},
"Arn": {
"$ref": "#/definitions/outpostArn"
},
"AssociatedRoles": {
"type": "array"
},
"AutoMinorVersionUpgrade": {
"$ref": "#/definitions/isClusterWriter"
},
"AvailabilityZones": {
"$ref": "#/definitions/availabilityZones"
},
"BackupRetentionPeriod": {
"$ref": "#/definitions/allocatedStorage"
},
"CACertificateIdentifier": {
"$ref": "#/definitions/name"
},
"CharacterSetName": {
"$ref": "#/definitions/name"
},
"CopyTagsToSnapshot": {
"$ref": "#/definitions/isClusterWriter"
},
"DBClusterIdentifier": {
"$ref": "#/definitions/dbClusterIdentifier"
},
"DBInstanceArn": {
"$ref": "#/definitions/dbInstanceArn"
},
"DBInstanceClass": {
"$ref": "#/definitions/dbInstanceClass"
},
"DBInstanceIdentifier": {
"$ref": "#/definitions/dbClusterIdentifier"
},
"DbInstancePort": {
"$ref": "#/definitions/port"
},
"DBInstanceStatus": {
"$ref": "#/definitions/dbInstanceStatus"
},
"DbiResourceId": {
"$ref": "#/definitions/dbiResourceId"
},
"DBName": {
"$ref": "#/definitions/name"
},
"DBSecurityGroups": {
"$ref": "#/definitions/dbSecurityGroups"
},
"DBSubnetGroup": {
"$ref": "#/definitions/dbSubnetGroup"
},
"Subnets": {
"$ref": "#/definitions/dbSubnets"
},
"SubnetOutpost": {
"$ref": "#/definitions/dbSubnetOutposts"
},
"DeletionProtection": {
"type": "boolean"
},
"DBParameterGroups": {
"type": "array",
"items": {
"$ref": "#/definitions/dbParameterGroup"
}
},
"DomainMemberships": {
"$ref": "#/definitions/domainMemberships"
},
"EnabledCloudwatchLogsExports": {
"$ref": "#/definitions/values"
},
"Endpoint": {
"$ref": "#/definitions/endpoint"
},
"Engine": {
"$ref": "#/definitions/name"
},
"EngineVersion": {
"$ref": "#/definitions/name"
},
"EnhancedMonitoringResourceArn": {
"type": "string"
},
"IAMDatabaseAuthenticationEnabled": {
"$ref": "#/definitions/isClusterWriter"
},
"InstanceCreateTime": {
"$ref": "turbot#/definitions/isoTimestamp"
},
"Iops": {
"$ref": "#/definitions/allocatedStorage"
},
"KmsKeyId": {
"$ref": "#/definitions/kmsKeyId"
},
"LatestRestorableTime": {
"$ref": "turbot#/definitions/isoTimestamp"
},
"LicenseModel": {
"$ref": "#/definitions/licenseModel"
},
"ListenerEndpoint": {
"type": "object"
},
"MasterUsername": {
"$ref": "#/definitions/name"
},
"MaxAllocatedStorage": {
"type": "number"
},
"MonitoringInterval": {
"type": "integer"
},
"MonitoringRoleArn": {
"type": "string"
},
"MultiAZ": {
"$ref": "#/definitions/isClusterWriter"
},
"OptionGroupMemberships": {
"$ref": "#/definitions/optionGroupMemberships"
},
"PendingModifiedValues": {
"$ref": "#/definitions/pendingModifiedValues"
},
"PerformanceInsightsEnabled": {
"$ref": "#/definitions/isClusterWriter"
},
"PerformanceInsightsRetentionPeriod": {
"$ref": "#/definitions/allocatedStorage"
},
"PreferredBackupWindow": {
"$ref": "#/definitions/preferredBackupWindow"
},
"PreferredMaintenanceWindow": {
"$ref": "#/definitions/preferredMaintenanceWindow"
},
"ProcessorFeatures": {
"$ref": "#/definitions/processorFeatures"
},
"PromotionTier": {
"$ref": "#/definitions/allocatedStorage"
},
"PubliclyAccessible": {
"$ref": "#/definitions/isClusterWriter"
},
"ReadReplicaDBClusterIdentifiers": {
"$ref": "#/definitions/values"
},
"ReadReplicaDBInstanceIdentifiers": {
"$ref": "#/definitions/values"
},
"ReadReplicaSourceDBInstanceIdentifier": {
"$ref": "#/definitions/name"
},
"SecondaryAvailabilityZone": {
"$ref": "#/definitions/availabilityZones"
},
"StatusInfos": {
"$ref": "#/definitions/statusInfos"
},
"StorageEncrypted": {
"$ref": "#/definitions/isClusterWriter"
},
"StorageType": {
"$ref": "#/definitions/name"
},
"Timezone": {
"$ref": "#/definitions/name"
},
"VpcSecurityGroups": {
"$ref": "#/definitions/vpcSecurityGroupMembership"
},
"Tags": {
"$ref": "#/definitions/tagList"
},
"turbot": {
"type": "object",
"properties": {
"akas": {
"type": "array",
"items": {
"$ref": "#/definitions/dbInstanceArn"
}
},
"tags": {
"$ref": "aws#/definitions/tagsMap"
},
"title": {
"$ref": "#/definitions/dbClusterIdentifier"
},
"custom": {
"type": "object",
"properties": {
"aws": {
"$ref": "aws#/definitions/awsMetadata"
},
"createTimestamp": {
"$ref": "turbot#/definitions/isoTimestamp"
}
}
}
}
}
},
"additionalProperties": true,
"tests": [
{
"description": "all details provided",
"input": {
"turbot": {
"akas": [
"arn:aws:rds:ap-south-1:111666065714:db:turbot-rds-test-1-1"
],
"tags": {
"Env": "Test",
"App": "turbot"
},
"title": "turbot-rds-test-1-1",
"custom": {
"aws": {
"accountId": 111666065714,
"regionName": "ap-south-1"
}
}
},
"AllocatedStorage": 0,
"AutoMinorVersionUpgrade": true,
"AvailabilityZones": [
"ap-south-1a",
"ap-south-1b"
],
"BackupRetentionPeriod": 12,
"CACertificateIdentifier": "rds-ca-2015",
"CharacterSetName": "mysql",
"CopyTagsToSnapshot": true,
"DBClusterIdentifier": "turbot-rds-test-1-1",
"DBInstanceArn": "arn:aws:rds:ap-south-1:111666065714:db:rohit-12",
"DBInstanceClass": "db.t2.small",
"DBInstanceIdentifier": "rohit-12",
"DbInstancePort": 1,
"DBInstanceStatus": "available",
"DbiResourceId": "db-NRSFKNFJACOEGQAJFEBPGQX2PY",
"DBName": "rds_1",
"DBParameterGroups": [
{
"DBParameterGroupName": "postgres10",
"ParameterApplyStatus": "in-sync"
}
],
"DBSecurityGroups": [
{
"DBSecurityGroupName": "default.aurora5.6",
"Status": "available"
}
],
"DBSubnetGroup": {
"DBSubnetGroupArn": "arn:aws:rds:ap-south-1:111666065714:subgrp:default",
"DBSubnetGroupDescription": "default",
"DBSubnetGroupName": "default",
"SubnetGroupStatus": "Complete",
"VpcId": "vpc-dfafe5b7",
"Subnets": [
{
"SubnetIdentifier": "subnet-570da01b",
"SubnetStatus": "Active",
"SubnetAvailabilityZone": {
"name": "ap-south-1b"
}
}
]
},
"DomainMemberships": [
{
"Domain": "turbot.com",
"FQDN": "www.turbot.com",
"IAMRoleName": "turbot-test",
"Status": "joined"
}
],
"EnabledCloudwatchLogsExports": [
"Adding",
"RDS"
],
"Endpoint": {
"Address": "rohit-12.cpgmswtt1cws.ap-south-1.rds.amazonaws.com",
"HostedZoneId": "Z2VFMSZA74J7XZ",
"Port": 3306
},
"Engine": "aurora",
"EngineVersion": "5.6.10a",
"IAMDatabaseAuthenticationEnabled": false,
"Iops": 12,
"InstanceCreateTime": "2018-08-28T08:35:28.626Z",
"KmsKeyId": "abcdcd",
"LatestRestorableTime": "2018-08-28T08:35:28.626Z",
"LicenseModel": "general-public-license",
"MasterUsername": "turbot",
"MultiAZ": false,
"OptionGroupMemberships": [
{
"OptionGroupName": "default:aurora-5-6",
"Status": "in-sync"
}
],
"PendingModifiedValues": {
"AllocatedStorage": 0,
"BackupRetentionPeriod": 12,
"CACertificateIdentifier": "wqerqwttert",
"DBInstanceClass": "db.t2.small",
"DBInstanceIdentifier": "turbot-exmple",
"DBSubnetGroupName": "turbot-sgn",
"EngineVersion": "5.6.10a",
"Iops": 12,
"MasterUserPassword": "!@#234#53454",
"LicenseModel": "general-public-license",
"MultiAZ": false,
"Port": 3306,
"PendingCloudwatchLogsExports": {
"LogTypesToDisable": [
"urpis animi un",
"que ratione, dignis"
],
"LogTypesToEnable": [
"werwer",
"trrutrtu"
]
},
"ProcessorFeatures": [
{
"Name": "urpis animi unque ratione, dignis",
"Value": "werwer trrutrtu"
}
],
"StorageType": "aurora"
},
"PerformanceInsightsEnabled": true,
"PerformanceInsightsRetentionPeriod": 14,
"PreferredBackupWindow": "12:12-12:12",
"PreferredMaintenanceWindow": "thu:08:34-thu:09:04",
"ProcessorFeatures": [
{
"Name": "urpis animi unque ratione, dignis",
"Value": "werwer trrutrtu"
}
],
"PromotionTier": 12,
"PubliclyAccessible": true,
"ReadReplicaDBClusterIdentifiers": [
"turibt",
"example"
],
"ReadReplicaDBInstanceIdentifiers": [
"exaple",
"test"
],
"ReadReplicaSourceDBInstanceIdentifier": "turbot-test",
"SecondaryAvailabilityZone": [
"ap-south-1a",
"ap-south-1b"
],
"StatusInfos": [
{
"Name": "urpis animi unque ratione, dignis",
"Value": "werwer trrutrtu"
}
],
"StorageEncrypted": true,
"StorageType": "aurora",
"Timezone": "UTC−03",
"VpcSecurityGroups": {
"Status": "ACTIVE",
"VpcSecurityGroupId": "sg-d9b64db3"
},
"Tags": [
{
"Key": "Env",
"Value": "Test"
},
{
"Key": "App",
"Value": "turbot"
}
]
}
}
],
".turbot": {
"uri": "tmod:@turbot/aws-rds#/definitions/dbInstance",
"modUri": "tmod:@turbot/aws-rds"
}
}

dbInstanceArn

{
"type": "string",
"pattern": "arn:aws(-us-gov|-cn)?:rds:[a-z]{2}(-gov)?-[a-z]+-[0-9]:[0-9]{12}:db:[-a-zA-Z.0-9]*?",
"tests": [
{
"input": "arn:aws:rds:ap-south-1:111666065714:db:turbot-rds-test-1-1-2018-08-28-22-17"
},
{
"input": "arn:aws:rds:ap-south-1:111666065714:db:rohit-12"
},
{
"description": "invalid - input not expected",
"input": "hi hi",
"expected": false
},
{
"description": "invalid - AWS account id is wrong",
"input": "arn:aws:rds:ap-south-1:11166606571:db:rohit-12",
"expected": false
}
],
".turbot": {
"uri": "tmod:@turbot/aws-rds#/definitions/dbInstanceArn",
"modUri": "tmod:@turbot/aws-rds"
}
}

dbInstanceClass

{
"type": "string",
"enum": [
"db.m5.24xlarge",
"db.m5.16xlarge",
"db.m5.12xlarge",
"db.m5.8xlarge",
"db.m5.4xlarge",
"db.m5.2xlarge",
"db.m5.xlarge",
"db.m5.large",
"db.m4.16xlarge",
"db.m4.10xlarge",
"db.m4.4xlarge",
"db.m4.2xlarge",
"db.m4.xlarge",
"db.m4.large",
"db.m3.2xlarge",
"db.m3.xlarge",
"db.m3.large",
"db.m3.medium",
"db.m1.xlarge",
"db.m1.large",
"db.m1.medium",
"db.m1.small",
"db.z1d.12xlarge",
"db.z1d.6xlarge",
"db.z1d.3xlarge",
"db.z1d.2xlarge",
"db.z1d.xlarge",
"db.z1d.large",
"db.x1e.32xlarge",
"db.x1e.16xlarge",
"db.x1e.8xlarge",
"db.x1e.4xlarge",
"db.x1e.2xlarge",
"db.x1e.xlarge",
"db.x1.32xlarge",
"db.x1.16xlarge",
"db.r5.24xlarge",
"db.r5.16xlarge",
"db.r5.12xlarge",
"db.r5.8xlarge",
"db.r5.4xlarge",
"db.r5.2xlarge",
"db.r5.xlarge",
"db.r5.large",
"db.r4.16xlarge",
"db.r4.8xlarge",
"db.r4.4xlarge",
"db.r4.2xlarge",
"db.r4.xlarge",
"db.r4.large",
"db.r3.8xlarge",
"db.r3.4xlarge",
"db.r3.2xlarge",
"db.r3.xlarge",
"db.r3.large",
"db.m2.4xlarge",
"db.m2.2xlarge",
"db.m2.xlarge",
"db.t3.2xlarge",
"db.t3.xlarge",
"db.t3.large",
"db.t3.medium",
"db.t3.small",
"db.t3.micro",
"db.t2.2xlarge",
"db.t2.xlarge",
"db.t2.large",
"db.t2.medium",
"db.t2.small",
"db.t2.micro"
],
"tests": [
{
"input": "db.t2.small"
},
{
"input": "db.r3.8xlarge"
},
{
"description": "invalid - empty string",
"input": "",
"expected": false
},
{
"description": "invalid - value not from list",
"input": "db.r3.9xlarge",
"expected": false
}
],
".turbot": {
"uri": "tmod:@turbot/aws-rds#/definitions/dbInstanceClass",
"modUri": "tmod:@turbot/aws-rds"
}
}

dbInstanceIdentifier

{
"type": "string",
"pattern": "^subnet-[a-f0-9]{8}$",
"tests": [
{
"input": "subnet-8760a01b"
},
{
"input": "subnet-570da01b"
},
{
"description": "invalid - can not end with underscore",
"input": "a0123-_",
"expected": false
},
{
"description": "invalid - cannot start with a number",
"input": "0123-asd",
"expected": false
}
],
".turbot": {
"uri": "tmod:@turbot/aws-rds#/definitions/dbInstanceIdentifier",
"modUri": "tmod:@turbot/aws-rds"
}
}

dbInstanceServiceNow

{
"defaultColumns": {
"account_id": {
"column": "enabled",
"path": "metadata.aws.accountId",
"label": "Account ID"
},
"allocated_storage": {
"column": "enabled",
"type": "integer"
},
"arn": {
"column": "enabled",
"path": "turbot.akas[0]",
"label": "ARN"
},
"region": {
"column": "enabled",
"label": "Region",
"path": "metadata.aws.regionName"
},
"auto_minor_version_upgrade": {
"column": "enabled",
"type": "boolean"
},
"availability_zone": {
"column": "enabled"
},
"backup_retention_period": {
"column": "enabled"
},
"certificate": {
"column": "enabled",
"path": "data.CertificateDetails",
"type": "string",
"size": 1000
},
"db_instance_identifier": {
"column": "enabled",
"path": "data.DBInstanceIdentifier",
"label": "DB Instance Identifier"
},
"db_parameter_groups": {
"column": null,
"path": "data.DBParameterGroups",
"label": "DB Parameter Groups",
"type": "string",
"size": 1000
},
"db_security_groups": {
"column": "enabled",
"path": "data.DBSecurityGroups",
"label": "DB Security Groups",
"type": "string",
"size": 1000
},
"db_subnet_group_name": {
"column": "enabled",
"path": "data.DBSubnetGroup.DBSubnetGroupName",
"label": "DB Subnet Group Name"
},
"deletion_protection": {
"column": "enabled",
"type": "boolean"
},
"engine": {
"column": "enabled"
},
"engine_version": {
"column": "enabled"
},
"iam_database_authentication_enabled": {
"column": "enabled",
"path": "data.IAMDatabaseAuthenticationEnabled",
"label": "IAM Database Authentication Enabled",
"type": "boolean"
},
"license_model": {
"column": "enabled"
},
"max_allocated_storage": {
"column": "enabled",
"type": "integer"
},
"monitoring_interval": {
"column": "enabled"
},
"multi_az": {
"column": "enabled",
"path": "data.MultiAZ",
"label": "Multi Az",
"type": "boolean"
},
"preferred_backup_window": {
"column": "enabled"
},
"preferred_maintenance_window": {
"column": "enabled"
},
"storage_type": {
"column": "enabled"
},
"tags": {
"column": "enabled",
"type": "string",
"size": 1000
},
"vpc_security_groups": {
"column": "enabled",
"label": "VPC Security Groups",
"type": "string",
"size": 1000
}
},
".turbot": {
"uri": "tmod:@turbot/aws-rds#/definitions/dbInstanceServiceNow",
"modUri": "tmod:@turbot/aws-rds"
}
}

dbInstanceStatus

{
"type": "string",
"enum": [
"available",
"backing-up",
"backtracking",
"configuring-enhanced-monitoring",
"converting-to-vpc",
"creating",
"deleting",
"failed",
"inaccessible-encryption-credentials",
"configuring-iam-database-auth",
"maintenance",
"migrating",
"moving-to-vpc",
"configuring-log-exports",
"modifying",
"incompatible-parameters",
"incompatible-restore",
"incompatible-network",
"incompatible-option-group",
"renaming",
"resetting-master-credentials",
"rebooting",
"restore-error",
"starting",
"stopped",
"stopping",
"storage-full",
"storage-optimization",
"upgrading"
],
"tests": [
{
"input": "available"
},
{
"input": "backtracking"
},
{
"description": "invalid - not listed in options",
"input": "reactive",
"expected": false
},
{
"description": "invalid - null value",
"input": null,
"expected": false
},
{
"description": "invalid - status in upper case",
"input": "ACTIVE",
"expected": false
}
],
".turbot": {
"uri": "tmod:@turbot/aws-rds#/definitions/dbInstanceStatus",
"modUri": "tmod:@turbot/aws-rds"
}
}

dbiResourceId

{
"type": "string",
"pattern": "^db-[A-Z0-9]+$",
"tests": [
{
"input": "db-NRSFKNFJACOEGQAJFEBPGQX2PY"
},
{
"input": "db-NRSFKNFJACOEGQAJFRDSGQX2PY"
},
{
"description": "invalid - empty string",
"input": "",
"expected": false
},
{
"description": "invalid - cannot start with dot",
"input": ".aaa",
"expected": false
},
{
"description": "invalid - cannot end with dot",
"input": "aaa.",
"expected": false
},
{
"description": "invalid - percentile not allowed pattern",
"input": "aaa%bbb",
"expected": false
},
{
"description": "invalid - number provided",
"input": 123,
"expected": false
}
],
".turbot": {
"uri": "tmod:@turbot/aws-rds#/definitions/dbiResourceId",
"modUri": "tmod:@turbot/aws-rds"
}
}

dbParameterGroup

{
"type": "object",
"properties": {
"DBParameterGroupArn": {
"$ref": "#/definitions/dbParameterGroupArn"
},
"DBParameterGroupFamily": {
"$ref": "#/definitions/name"
},
"DBParameterGroupName": {
"$ref": "#/definitions/dbParameterGroupName"
},
"Description": {
"$ref": "#/definitions/name"
},
"Tags": {
"$ref": "#/definitions/tagList"
},
"turbot": {
"type": "object",
"properties": {
"akas": {
"type": "array",
"items": {
"$ref": "#/definitions/dbParameterGroupArn"
}
},
"title": {
"$ref": "#/definitions/name"
},
"tags": {
"$ref": "aws#/definitions/tagsMap"
},
"custom": {
"type": "object",
"properties": {
"createTimestamp": {
"$ref": "turbot#/definitions/isoTimestamp"
},
"aws": {
"$ref": "aws#/definitions/awsMetadata"
}
}
}
}
}
},
"additionalProperties": true,
"tests": [
{
"description": "all details provided",
"input": {
"DBParameterGroupArn": "arn:aws:rds:ap-south-1:111666065714:pg:default.aurora5.6",
"DBParameterGroupFamily": "aurora5.6",
"DBParameterGroupName": "default.aurora5.6",
"Description": "Default parameter group for aurora5.6",
"Tags": [
{
"Key": "key01",
"Value": "value01"
}
],
"turbot": {
"akas": [
"arn:aws:rds:us-east-1:123456789012:pg:aurora56-test01-1"
],
"title": "default.aurora5.6",
"custom": {
"aws": {
"accountId": 123456789012,
"regionName": "us-east-1"
}
},
"tagsMap": {
"key01": "value01"
}
}
}
}
],
".turbot": {
"uri": "tmod:@turbot/aws-rds#/definitions/dbParameterGroup",
"modUri": "tmod:@turbot/aws-rds"
}
}

dbParameterGroupArn

{
"type": "string",
"pattern": "arn:aws(-us-gov|-cn)?:rds:[a-z]{2}(-gov)?-[a-z]+-[0-9]:[0-9]{12}:pg:(((?!.*--)[a-z][a-z0-9-]{1,255})[a-z0-9])",
"tests": [
{
"input": "arn:aws:rds:ap-south-1:111666065714:pg:aurora56-test01-1"
},
{
"description": "invalid - input not expected",
"input": "hi hi",
"expected": false
},
{
"description": "invalid - AWS account id is wrong",
"input": "arn:aws:rds:ap-south-1:1116660574:pg:aurora56-test01-1",
"expected": false
}
],
".turbot": {
"uri": "tmod:@turbot/aws-rds#/definitions/dbParameterGroupArn",
"modUri": "tmod:@turbot/aws-rds"
}
}

dbParameterGroupName

{
"type": "string",
"pattern": "^[a-z A-Z 0-9.-/?]{1,255}$",
"tests": [
{
"input": "default.aurora5.6"
},
{
"input": "default.test9.0"
},
{
"description": "invalid - must be in lowercase",
"input": "test-me-Please",
"expected": false
}
],
".turbot": {
"uri": "tmod:@turbot/aws-rds#/definitions/dbParameterGroupName",
"modUri": "tmod:@turbot/aws-rds"
}
}

dbSecurityGroup

{
"type": "object",
"properties": {
"DBSecurityGroupName": {
"$ref": "#/definitions/name"
},
"Status": {
"$ref": "#/definitions/name"
}
},
"tests": [
{
"input": {
"DBSecurityGroupName": "default.aurora5.6",
"Status": "available"
}
}
],
".turbot": {
"uri": "tmod:@turbot/aws-rds#/definitions/dbSecurityGroup",
"modUri": "tmod:@turbot/aws-rds"
}
}

dbSecurityGroups

{
"type": "array",
"items": {
"$ref": "#/definitions/dbSecurityGroup"
},
"tests": [
{
"description": "all details provided",
"input": [
{
"DBSecurityGroupName": "default.aurora5.6",
"Status": "available"
}
]
},
{
"description": "invalid - object passed instead of array",
"input": {
"DBSecurityGroupName": "default.aurora5.6",
"Status": "available"
},
"expected": false
}
],
".turbot": {
"uri": "tmod:@turbot/aws-rds#/definitions/dbSecurityGroups",
"modUri": "tmod:@turbot/aws-rds"
}
}

dbSnapshotArn

{
"type": "string",
"pattern": "arn:aws(-us-gov|-cn)?:rds:[a-z]{2}(-gov)?-[a-z]+-[0-9]:[0-9]{12}:snapshot:[-a-zA-Z.0-9]*?",
"tests": [
{
"input": "arn:aws:rds:ap-south-1:111666065714:snapshot:rds:turbot-rds-test-1-1-2018-08-28-22-17"
},
{
"input": "arn:aws:rds:ap-south-1:111666065714:snapshot:rds:rohit-turbot-mysql-test-1-2018-08-31-09-19"
},
{
"description": "invalid - input not expected",
"input": "hi hi",
"expected": false
},
{
"description": "invalid - AWS account id is wrong",
"input": "arn:aws:rds:ap-south-1:11166606571:snapshot:rds:rohit-turbot-mysql-test-1-2018-08-31-09-19",
"expected": false
}
],
".turbot": {
"uri": "tmod:@turbot/aws-rds#/definitions/dbSnapshotArn",
"modUri": "tmod:@turbot/aws-rds"
}
}

dbSnapshotManual

{
"type": "object",
"properties": {
"AllocatedStorage": {
"$ref": "#/definitions/allocatedStorage"
},
"AvailabilityZone": {
"$ref": "#/definitions/availabilityZones"
},
"DBInstanceIdentifier": {
"$ref": "#/definitions/dbClusterIdentifier"
},
"DBSnapshotArn": {
"$ref": "#/definitions/dbSnapshotArn"
},
"DBSnapshotIdentifier": {
"$ref": "#/definitions/dbClusterSnapshotIdentifier"
},
"Encrypted": {
"$ref": "#/definitions/isClusterWriter"
},
"Engine": {
"$ref": "#/definitions/name"
},
"EngineVersion": {
"$ref": "#/definitions/name"
},
"IAMDatabaseAuthenticationEnabled": {
"$ref": "#/definitions/isClusterWriter"
},
"InstanceCreateTime": {
"$ref": "turbot#/definitions/isoTimestamp"
},
"Iops": {
"$ref": "#/definitions/allocatedStorage"
},
"KmsKeyId": {
"$ref": "#/definitions/kmsKeyId"
},
"LicenseModel": {
"$ref": "#/definitions/licenseModel"
},
"MasterUsername": {
"$ref": "#/definitions/name"
},
"OptionGroupName": {
"$ref": "#/definitions/name"
},
"PercentProgress": {
"$ref": "#/definitions/name"
},
"Port": {
"$ref": "#/definitions/port"
},
"ProcessorFeatures": {
"$ref": "#/definitions/processorFeatures"
},
"SnapshotCreateTime": {
"$ref": "turbot#/definitions/isoTimestamp"
},
"SnapshotType": {
"$ref": "#/definitions/snapshotType"
},
"SourceDBSnapshotIdentifier": {
"$ref": "#/definitions/sourceDBClusterSnapshotArn"
},
"SourceRegion": {
"$ref": "aws#/definitions/regionName"
},
"Status": {
"$ref": "#/definitions/dbSnapshotStatus"
},
"StorageType": {
"$ref": "#/definitions/name"
},
"TdeCredentialArn": {
"$ref": "#/definitions/name"
},
"Timezone": {
"$ref": "#/definitions/name"
},
"VpcId": {
"$ref": "#/definitions/vpcId"
},
"Tags": {
"$ref": "#/definitions/tagList"
},
"DbiResourceId": {
"type": "string"
},
"Marker": {
"type": "string"
},
"DBSnapshotAttributes": {
"type": "array"
},
"DBSnapshotAttributesMap": {
"type": "object"
},
"turbot": {
"type": "object",
"properties": {
"akas": {
"type": "array",
"items": {
"$ref": "#/definitions/dbSnapshotArn"
}
},
"tags": {
"$ref": "#/definitions/tagsMap"
},
"title": {
"$ref": "#/definitions/dbClusterIdentifier"
},
"custom": {
"type": "object",
"properties": {
"aws": {
"$ref": "aws#/definitions/awsMetadata"
},
"createTimestamp": {
"$ref": "turbot#/definitions/isoTimestamp"
}
}
}
}
}
},
"additionalProperties": true,
"tests": [
{
"description": "all details provided",
"input": {
"AllocatedStorage": 0,
"AvailabilityZones": [
"ap-south-1a\"",
"ap-south-1b"
],
"DBInstanceIdentifier": "rohit-turbot-mysql-test-1",
"DBSnapshotArn": "arn:aws:rds:ap-south-1:111666065714:snapshot:rds:turbot-rds-test-1-1-2018-08-28-22-17",
"DBSnapshotIdentifier": "rds:turbot-rds-test-1-1-2018-08-28-22-17",
"Encrypted": false,
"Engine": "aurora",
"EngineVersion": "5.6.10a",
"IAMDatabaseAuthenticationEnabled": false,
"InstanceCreateTime": "2018-08-28T08:28:10.516Z",
"Iops": 12,
"KmsKeyId": "abcdcd",
"LicenseModel": "general-public-license",
"MasterUsername": "turbot",
"OptionGroupName": "default:mysql-5-7",
"PercentProgress": "100%",
"Port": 1,
"ProcessorFeatures": [
{
"Name": "urpis animi unque ratione, dignis",
"Value": "werwer trrutrtu"
}
],
"SnapshotCreateTime": "2018-08-28T22:17:23.097Z",
"SnapshotType": "automated",
"SourceDBSnapshotIdentifier": null,
"SourceRegion": "ap-south-1",
"Status": "available",
"StorageType": "gp2",
"TdeCredentialArn": "sweofotdgorsodscoaqweowe123243531fdgt",
"Timezone": "UTC+3:0",
"VpcId": "vpc-dfafe5b7",
"Tags": [
{
"Key": "Env",
"Value": "Test"
},
{
"Key": "App",
"Value": "turbot"
}
],
"turbot": {
"akas": [
"arn:aws:rds:ap-south-1:111666065714:snapshot:rds:turbot-rds-test-1-1-2018-08-28-22-17"
],
"tagsMap": {
"testKey": "testValue"
},
"title": "rohit-turbot-mysql-test-1",
"custom": {
"aws": {
"accountId": 123456789012,
"regionName": "us-east-1"
}
}
}
}
}
],
".turbot": {
"uri": "tmod:@turbot/aws-rds#/definitions/dbSnapshotManual",
"modUri": "tmod:@turbot/aws-rds"
}
}

dbSnapshotStatus

{
"type": "string",
"enum": [
"available",
"backing-up",
"backtracking",
"creating",
"deleting",
"failed",
"inaccessible-encryption-credentials",
"configuring-iam-database-auth",
"maintenance",
"migrating",
"moving-to-vpc",
"configuring-log-exports",
"modifying",
"incompatible-parameters",
"incompatible-restore",
"incompatible-network",
"incompatible-option-group",
"renaming",
"resetting-master-credentials",
"rebooting",
"restore-error",
"starting",
"stopped",
"stopping",
"storage-full",
"upgrading"
],
"tests": [
{
"input": "upgrading"
},
{
"input": "stopped"
},
{
"description": "invalid - not listed in options",
"input": "reactive",
"expected": false
},
{
"description": "invalid - null value",
"input": null,
"expected": false
},
{
"description": "invalid - status in upper case",
"input": "ACTIVE",
"expected": false
}
],
".turbot": {
"uri": "tmod:@turbot/aws-rds#/definitions/dbSnapshotStatus",
"modUri": "tmod:@turbot/aws-rds"
}
}

dbStatus

{
"type": "string",
"enum": [
"replicating",
"replication stop point set",
"replication stop point reached",
"error",
"stopped",
"terminated"
],
"tests": [
{
"input": "terminated"
},
{
"input": "stopped"
},
{
"description": "invalid - case sensitive",
"input": "Terminated",
"expected": false
},
{
"description": "invalid - empty string",
"input": "",
"expected": false
}
],
".turbot": {
"uri": "tmod:@turbot/aws-rds#/definitions/dbStatus",
"modUri": "tmod:@turbot/aws-rds"
}
}

dbSubnetGroup

{
"type": "object",
"properties": {
"DBSubnetGroupName": {
"type": "string",
"$ref": "#/definitions/name"
},
"SubnetGroupStatus": {
"type": "string",
"$ref": "#/definitions/name"
},
"Subnets": {
"type": "array",
"$ref": "#/definitions/dbSubnets"
},
"DBSubnetGroupArn": {
"$ref": "#/definitions/dbSubnetGroupArn"
},
"DBSubnetGroupDescription": {
"$ref": "#/definitions/name"
},
"VpcId": {
"type": "string"
},
"Arn": {
"$ref": "#/definitions/outpostArn"
},
"Tags": {
"$ref": "#/definitions/tagList"
},
"turbot": {
"type": "object",
"properties": {
"akas": {
"type": "array",
"items": {
"$ref": "#/definitions/dbSubnetGroupArn"
}
},
"title": {
"$ref": "#/definitions/name"
},
"custom": {
"type": "object",
"properties": {
"createTimestamp": {
"$ref": "turbot#/definitions/isoTimestamp"
},
"aws": {
"$ref": "aws#/definitions/awsMetadata"
}
}
}
}
}
},
"tests": [
{
"input": {
"DBSubnetGroupName": "default",
"SubnetGroupStatus": "Complete",
"DBSubnetGroupArn": "arn:aws:rds:ap-south-1:111666065714:subgrp:default",
"DBSubnetGroupDescription": "default",
"VpcId": "vpc-dfafe5b7",
"Subnets": [
{
"SubnetIdentifier": "subnet-570da01b",
"SubnetStatus": "Active",
"SubnetAvailabilityZone": {
"name": "ap-south-1b"
}
}
],
"Tags": [
{
"Key": "key01",
"Value": "value01"
}
],
"turbot": {
"akas": [
"arn:aws:rds:ap-south-1:111666065714:subgrp:default"
],
"tagsMap": {
"Key01": "Value01"
},
"title": "default",
"custom": {
"aws": {
"accountId": 123456789012,
"regionName": "us-east-1"
}
}
}
},
"description": "all details provided"
}
],
"additionalProperties": true,
".turbot": {
"uri": "tmod:@turbot/aws-rds#/definitions/dbSubnetGroup",
"modUri": "tmod:@turbot/aws-rds"
}
}

dbSubnetGroupArn

{
"type": "string",
"pattern": "arn:aws(-us-gov|-cn)?:rds:[a-z]{2}(-gov)?-[a-z]+-[0-9]:[0-9]{12}:subgrp:[-a-zA-Z.0-9]*?",
"tests": [
{
"input": "arn:aws:rds:ap-south-1:111666065714:subgrp:default"
},
{
"input": "arn:aws:rds:ap-south-1:111666065714:subgrp:rohit-12"
},
{
"description": "invalid - input not expected",
"input": "hi hi",
"expected": false
},
{
"description": "invalid - AWS account id is wrong",
"input": "arn:aws:rds:ap-south-1:11166606571:subgrp:rohit-12",
"expected": false
}
],
".turbot": {
"uri": "tmod:@turbot/aws-rds#/definitions/dbSubnetGroupArn",
"modUri": "tmod:@turbot/aws-rds"
}
}

dbSubnetOutposts

{
"type": "object",
"properties": {
"Arn": {
"$ref": "#/definitions/outpostArn"
}
},
".turbot": {
"uri": "tmod:@turbot/aws-rds#/definitions/dbSubnetOutposts",
"modUri": "tmod:@turbot/aws-rds"
}
}

dbSubnets

{
"type": "array",
"items": {
"SubnetIdentifier": {
"type": "string"
},
"SubnetOutpost": {
"$ref": "#/definitions/dbSubnetOutposts"
}
},
".turbot": {
"uri": "tmod:@turbot/aws-rds#/definitions/dbSubnets",
"modUri": "tmod:@turbot/aws-rds"
}
}

domainMembership

{
"type": "object",
"properties": {
"Domain": {
"$ref": "#/definitions/name"
},
"FQDN": {
"$ref": "#/definitions/name"
},
"IAMRoleName": {
"$ref": "#/definitions/name"
},
"Status": {
"$ref": "#/definitions/name"
}
},
"tests": [
{
"description": "all details provided",
"input": {
"Domain": "turbot.com",
"FQDN": "www.turbot.com",
"IAMRoleName": "turbot-test",
"Status": "joined"
}
},
{
"description": "invalid - wrong details provided",
"input": {
"Domain": "turbot.com",
"FQDN": [
"www.turbot.com"
],
"IAMRoleName": "turbot-test",
"Status": "joined"
},
"expected": false
}
],
".turbot": {
"uri": "tmod:@turbot/aws-rds#/definitions/domainMembership",
"modUri": "tmod:@turbot/aws-rds"
}
}

domainMemberships

{
"type": "array",
"items": {
"$ref": "#/definitions/domainMembership"
},
"tests": [
{
"description": "all details provided",
"input": [
{
"Domain": "turbot.com",
"FQDN": "www.turbot.com",
"IAMRoleName": "turbot-test",
"Status": "joined"
}
]
}
],
".turbot": {
"uri": "tmod:@turbot/aws-rds#/definitions/domainMemberships",
"modUri": "tmod:@turbot/aws-rds"
}
}

endpoint

{
"type": "object",
"properties": {
"Address": {
"$ref": "#/definitions/address"
},
"HostedZoneId": {
"$ref": "#/definitions/hostedZoneId"
},
"Port": {
"$ref": "#/definitions/port"
}
},
"tests": [
{
"description": "all details provided",
"input": {
"Address": "rohit-12.cpgmswtt1cws.ap-south-1.rds.amazonaws.com",
"HostedZoneId": "Z2VFMSZA74J7XZ",
"Port": 3306
}
}
],
".turbot": {
"uri": "tmod:@turbot/aws-rds#/definitions/endpoint",
"modUri": "tmod:@turbot/aws-rds"
}
}

engineMode

{
"type": "string",
"enum": [
"provisioned",
"serverless"
],
"tests": [
{
"input": "serverless"
},
{
"input": "provisioned"
},
{
"describe": "invalid - value not allowed",
"input": "vaid",
"expected": false
}
],
".turbot": {
"uri": "tmod:@turbot/aws-rds#/definitions/engineMode",
"modUri": "tmod:@turbot/aws-rds"
}
}

filters

{
"type": "array",
"items": [
{
"$ref": "#/definitions/name"
},
{
"$ref": "#/definitions/values"
}
],
"tests": [
{
"input": [
"aaa",
[
"123456789012"
],
[
"1234656sdfsdfs"
]
]
},
{
"input": [
"aaa",
[
"123456789012"
],
[
"12376782634"
]
]
},
{
"description": "invalid - empty string",
"input": "",
"expected": false
},
{
"description": "invalid - string passed in values",
"input": [
"aab",
"12345678912"
],
"expected": false
}
],
".turbot": {
"uri": "tmod:@turbot/aws-rds#/definitions/filters",
"modUri": "tmod:@turbot/aws-rds"
}
}

globalCluster

{
"type": "object",
"properties": {
"GlobalClusterIdentifier": {
"$ref": "#/definitions/globalClusterIdentifier"
},
"GlobalClusterResourceId": {
"type": "string"
},
"GlobalClusterArn": {
"$ref": "#/definitions/globalClusterArn"
},
"Status": {
"type": "string"
},
"Engine": {
"type": "string"
},
"EngineVersion": {
"type": "string"
},
"DatabaseName": {
"type": "string"
},
"StorageEncrypted": {
"type": "boolean"
},
"DeletionProtection": {
"type": "boolean"
},
"GlobalClusterMembers": {
"$ref": "#/definitions/globalClusterMembers"
},
"turbot": {
"type": "object",
"properties": {
"akas": {
"type": "array",
"items": {
"$ref": "#/definitions/globalClusterArn"
}
},
"title": {
"$ref": "#/definitions/globalClusterIdentifier"
},
"custom": {
"type": "object",
"properties": {
"aws": {
"$ref": "aws#/definitions/awsMetadata"
},
"createTimestamp": {
"$ref": "turbot#/definitions/isoTimestamp"
}
}
}
}
}
},
"additionalProperties": true,
"tests": [
{
"description": "Valid - All properties",
"input": {
"GlobalClusterIdentifier": "myglobalcluster",
"GlobalClusterResourceId": "cluster-7381c71fe3fdcdc5",
"GlobalClusterArn": "arn:aws:rds::123456789022:global-cluster:myglobalcluster",
"turbot": {
"akas": [
"arn:aws:rds::123456789022:global-cluster:myglobalcluster"
],
"title": "myglobalcluster",
"custom": {
"aws": {
"accountId": 123456789022,
"partition": "aws"
}
}
}
}
}
],
".turbot": {
"uri": "tmod:@turbot/aws-rds#/definitions/globalCluster",
"modUri": "tmod:@turbot/aws-rds"
}
}

globalClusterArn

{
"type": "string",
"pattern": "arn:aws(-us-gov|-cn)?:rds:[a-z]{2}(-gov)?-[a-z]+-[0-9]:[0-9]{12}:global-cluster:[-a-zA-Z0-9]*?",
"tests": [
{
"input": "arn:aws:rds::111666065714:global-cluster:myglobalcluster"
},
{
"description": "invalid - AWS account id is wrong",
"input": "arn:aws:rds::1116666:global-cluster:clusterfortest",
"expected": false
}
],
".turbot": {
"uri": "tmod:@turbot/aws-rds#/definitions/globalClusterArn",
"modUri": "tmod:@turbot/aws-rds"
}
}

globalClusterIdentifier

{
"type": "string",
"pattern": "^([a-z][-a-z0-9]*)$",
"tests": [
{
"input": "foo"
},
{
"input": "avesfss"
},
{
"description": "empty string",
"input": "",
"expected": false
},
{
"description": "invalid - can not end with underscore",
"input": "a0123-_",
"expected": false
}
],
".turbot": {
"uri": "tmod:@turbot/aws-rds#/definitions/globalClusterIdentifier",
"modUri": "tmod:@turbot/aws-rds"
}
}

globalClusterMember

{
"type": "object",
"properties": {
"DBClusterArn": {
"$ref": "#/definitions/dbClusterArn"
},
"Readers": {
"type": "array"
},
"IsWriter": {
"type": "boolean"
},
"GlobalWriteForwardingStatus": {
"$ref": "#/definitions/globalWriteForwardingStatus"
}
},
"tests": [
{
"description": "all details provided",
"input": {
"DBClusterArn": "arn:aws:rds:ap-south-1:111666065714:cluster:niharika",
"Readers": [
"abdse"
],
"IsWriter": true,
"GlobalWriteForwardingStatus": "enabled"
}
}
],
".turbot": {
"uri": "tmod:@turbot/aws-rds#/definitions/globalClusterMember",
"modUri": "tmod:@turbot/aws-rds"
}
}

globalClusterMembers

{
"type": "array",
"items": {
"$ref": "#/definitions/globalClusterMember"
},
"tests": [
{
"input": [
{
"DBClusterParameterGroupStatus": "default.aurora5.6",
"DBInstanceIdentifier": "foosdfsd",
"IsClusterWriter": true,
"PromotionTier": 1
}
]
}
],
".turbot": {
"uri": "tmod:@turbot/aws-rds#/definitions/globalClusterMembers",
"modUri": "tmod:@turbot/aws-rds"
}
}

globalWriteForwardingStatus

{
"type": "string",
"enum": [
"enabled",
"disabled",
"enabling",
"disabling",
"unknown"
],
".turbot": {
"uri": "tmod:@turbot/aws-rds#/definitions/globalWriteForwardingStatus",
"modUri": "tmod:@turbot/aws-rds"
}
}

hostedZoneId

{
"type": "string",
"maxLength": 32,
"tests": [
{
"input": "hello@hi.com"
},
{
"input": "foo@123"
},
{
"input": "00123"
},
{
"input": "Test.The-Kitchen_Sink"
},
{
"description": "empty string",
"input": ""
},
{
"description": "max length",
"input": "12345678901234567890123456789012"
},
{
"description": "route53 example",
"input": "Z2YQB5RD63NC85"
},
{
"description": "cloudfront distribution example",
"input": "Z2FDTNDATAQYW2"
},
{
"description": "Elastic Beanstalk example",
"input": "ZL327KTPIQFUL"
},
{
"description": "ELB load balancer example",
"input": "ZZZZZZZZZZZ123X"
},
{
"description": "Amazon S3 example",
"input": "Z2O1EMRO9K5GLX"
},
{
"description": "invalid - too long",
"input": "1234567890123456789012345678901234567890123456789012345678",
"expected": false
}
],
".turbot": {
"uri": "tmod:@turbot/aws-rds#/definitions/hostedZoneId",
"modUri": "tmod:@turbot/aws-rds"
}
}

isClusterWriter

{
"type": "boolean",
"tests": [
{
"input": true
},
{
"input": false
},
{
"input": 0
},
{
"input": 1
},
{
"description": "null value",
"input": null
},
{
"description": "invalid - empty string",
"input": "",
"expected": false
},
{
"description": "invalid - array type",
"input": [
true,
false
],
"expected": false
}
],
".turbot": {
"uri": "tmod:@turbot/aws-rds#/definitions/isClusterWriter",
"modUri": "tmod:@turbot/aws-rds"
}
}

kmsKeyId

{
"type": "string",
".turbot": {
"uri": "tmod:@turbot/aws-rds#/definitions/kmsKeyId",
"modUri": "tmod:@turbot/aws-rds"
}
}

licenseModel

{
"type": "string",
"enum": [
"license-included",
"bring-your-own-license",
"general-public-license"
],
"tests": [
{
"input": "general-public-license"
},
{
"input": "license-included"
},
{
"description": "invalid - case sensitive",
"input": "License-included",
"expected": false
},
{
"description": "invalid - empty string",
"input": "",
"expected": false
}
],
".turbot": {
"uri": "tmod:@turbot/aws-rds#/definitions/licenseModel",
"modUri": "tmod:@turbot/aws-rds"
}
}

maxRecords

{
"type": "integer",
"minimum": 20,
"maximum": 100,
"default": 100,
"tests": [
{
"input": 50
},
{
"description": "min value",
"input": 20
},
{
"description": "max value",
"input": 100
},
{
"description": "invalid - string type provided",
"input": "Hello",
"expected": false
},
{
"description": "invalid - less than min value",
"input": 10,
"expected": false
},
{
"description": "invalid - greater than max value",
"input": 11111111111,
"expected": false
}
],
".turbot": {
"uri": "tmod:@turbot/aws-rds#/definitions/maxRecords",
"modUri": "tmod:@turbot/aws-rds"
}
}

name

{
"type": "string",
"tests": [
{
"input": "foo"
},
{
"input": "00123"
},
{
"input": "abcde"
},
{
"input": "2017-03-15T01:36:41.958Z"
},
{
"input": "Test.The-Kitchen_Sink"
},
{
"description": "invalid - array passed",
"input": [
500
],
"expected": false
}
],
".turbot": {
"uri": "tmod:@turbot/aws-rds#/definitions/name",
"modUri": "tmod:@turbot/aws-rds"
}
}

option

{
"type": "object",
"properties": {
"DBSecurityGroupMemberships": {
"$ref": "#/definitions/dbSecurityGroup"
},
"OptionDescription": {
"$ref": "#/definitions/name"
},
"OptionName": {
"$ref": "#/definitions/name"
},
"OptionSettings": {
"$ref": "#/definitions/optionSettings"
},
"OptionVersion": {
"$ref": "#/definitions/name"
},
"Permanent": {
"$ref": "#/definitions/isClusterWriter"
},
"Persistent": {
"$ref": "#/definitions/isClusterWriter"
},
"Port": {
"$ref": "#/definitions/port"
},
"VpcSecurityGroupMemberships": {
"$ref": "#/definitions/vpcSecurityGroupMemberships"
}
},
"tests": [
{
"description": "all details provided",
"input": {
"DBSecurityGroupMemberships": {
"DBSecurityGroupName": "default.aurora5.6,",
"Status": "available"
},
"OptionDescription": "Default option group for aurora 5.6",
"OptionName": "default:aurora-5-6",
"OptionSettings": [
{
"AllowedValues": "all",
"ApplyType": "new",
"DataType": "string",
"DefaultValue": "turbot-example",
"Description": "Default option group for aurora 5.6",
"IsCollection": true,
"IsModifiable": true,
"Name": "turbot-example",
"Value": "all"
}
],
"OptionVersion": "au",
"Permanent": false,
"Persistent": false,
"Port": 1,
"VpcSecurityGroupMemberships": [
{
"Status": "ACTIVE",
"VpcSecurityGroupId": "sg-d9b64db3"
}
]
}
}
],
".turbot": {
"uri": "tmod:@turbot/aws-rds#/definitions/option",
"modUri": "tmod:@turbot/aws-rds"
}
}

optionGroup

{
"type": "object",
"properties": {
"AllowsVpcAndNonVpcInstanceMemberships": {
"$ref": "#/definitions/isClusterWriter"
},
"EngineName": {
"$ref": "#/definitions/name"
},
"MajorEngineVersion": {
"$ref": "#/definitions/name"
},
"OptionGroupArn": {
"$ref": "#/definitions/optionGroupArn"
},
"OptionGroupDescription": {
"$ref": "#/definitions/name"
},
"OptionGroupName": {
"$ref": "#/definitions/name"
},
"VpcId": {
"$ref": "#/definitions/vpcId"
},
"Options": {
"$ref": "#/definitions/options"
}
},
"tests": [
{
"description": "all values provided",
"input": {
"AllowsVpcAndNonVpcInstanceMemberships": true,
"EngineName": "aurora",
"MajorEngineVersion": 5.6,
"OptionGroupArn": "arn:aws:rds:ap-south-1:111666065714:og:default:aurora-5-6",
"OptionGroupDescription": "Default option group for aurora 5.6",
"OptionGroupName": "default:aurora-5-6",
"VpcId": "vpc-dfafe5b7",
"Options": [
{
"DBSecurityGroupMemberships": {
"DBSecurityGroupName": "default.aurora5.6",
"Status": "available"
},
"OptionDescription": "Default option group for aurora 5.6",
"OptionName": "default:aurora-5-6",
"OptionSettings": [
{
"AllowedValues": "all",
"ApplyType": "new",
"DataType": "string",
"DefaultValue": "turbot-example",
"Description": "Default option group for aurora 5.6",
"IsCollection": true,
"IsModifiable": true,
"Name": "turbot-example",
"Value": "all"
}
],
"OptionVersion": "au",
"Permanent": false,
"Persistent": false,
"Port": 1,
"VpcSecurityGroupMemberships": [
{
"Status": "ACTIVE",
"VpcSecurityGroupId": "sg-d9b64db3"
}
]
}
]
}
}
],
".turbot": {
"uri": "tmod:@turbot/aws-rds#/definitions/optionGroup",
"modUri": "tmod:@turbot/aws-rds"
}
}

optionGroupArn

{
"type": "string",
"pattern": "arn:aws(-us-gov|-cn)?:rds:[a-z]{2}(-gov)?-[a-z]+-[0-9]:[0-9]{12}:og:[-a-z:A-Z0-9]*?",
"tests": [
{
"input": "arn:aws:rds:ap-south-1:111666065714:og:default:aurora-5-6"
},
{
"input": "arn:aws:rds:ap-south-1:111666065714:og:default:mysql-5-6"
},
{
"description": "invalid - input not expected",
"input": "hi hi",
"expected": false
},
{
"description": "invalid - AWS account id is wrong",
"input": "arn:aws:rds:ap-south-1:11666065714:og:default:aurora-5-6",
"expected": false
}
],
".turbot": {
"uri": "tmod:@turbot/aws-rds#/definitions/optionGroupArn",
"modUri": "tmod:@turbot/aws-rds"
}
}

optionGroupMemberships

{
"type": "array",
"items": {
"$ref": "#/definitions/optionGroupStatus"
},
"tests": [
{
"input": [
{
"DBClusterOptionGroupName": "foo",
"Status": "removing"
}
]
}
],
".turbot": {
"uri": "tmod:@turbot/aws-rds#/definitions/optionGroupMemberships",
"modUri": "tmod:@turbot/aws-rds"
}
}

optionGroupMembershipStatus

{
"type": "string",
"enum": [
"in-sync",
"pending-apply",
"pending-removal",
"pending-maintenance-apply",
"pending-maintenance-removal",
"applying",
"removing",
"failed"
],
"tests": [
{
"input": "in-sync"
},
{
"input": "applying"
},
{
"description": "invalid - case sensitive",
"input": "IN-SYNC",
"expected": false
},
{
"description": "invalid - empty string",
"input": "",
"expected": false
}
],
".turbot": {
"uri": "tmod:@turbot/aws-rds#/definitions/optionGroupMembershipStatus",
"modUri": "tmod:@turbot/aws-rds"
}
}

optionGroupsList

{
"type": "array",
"items": {
"$ref": "#/definitions/optionGroup"
},
"tests": [
{
"description": "all details provided",
"input": [
{
"AllowsVpcAndNonVpcInstanceMemberships": true,
"EngineName": "aurora",
"MajorEngineVersion": 5.6,
"OptionGroupArn": "arn:aws:rds:ap-south-1:111666065714:og:default:aurora-5-6",
"OptionGroupDescription": "Default option group for aurora 5.6",
"OptionGroupName": "default:aurora-5-6",
"VpcId": "vpc-dfafe5b7",
"Options": [
{
"DBSecurityGroupMemberships": {
"DBSecurityGroupName": "default.aurora5.6",
"Status": "available"
},
"OptionDescription": "Default option group for aurora 5.6",
"OptionName": "default:aurora-5-6",
"OptionSettings": [
{
"AllowedValues": "all",
"ApplyType": "new",
"DataType": "string",
"DefaultValue": "turbot-example",
"Description": "Default option group for aurora 5.6",
"IsCollection": true,
"IsModifiable": true,
"Name": "turbot-example",
"Value": "all"
}
],
"OptionVersion": "au",
"Permanent": false,
"Persistent": false,
"Port": 1,
"VpcSecurityGroupMemberships": [
{
"Status": "ACTIVE",
"VpcSecurityGroupId": "sg-d9b64db3"
}
]
}
]
}
]
}
],
".turbot": {
"uri": "tmod:@turbot/aws-rds#/definitions/optionGroupsList",
"modUri": "tmod:@turbot/aws-rds"
}
}

optionGroupStatus

{
"type": "object",
"properties": {
"OptionGroupName": {
"$ref": "#/definitions/name"
},
"Status": {
"$ref": "#/definitions/optionGroupMembershipStatus"
}
},
"tests": [
{
"description": "all details provided",
"input": {
"DBClusterOptionGroupName": "foo",
"Status": "in-sync"
}
},
{
"description": "invalid - array passed instead of string",
"input": {
"DBClusterOptionGroupName": "foo",
"Status": [
"removing"
]
},
"expected": false
}
],
".turbot": {
"uri": "tmod:@turbot/aws-rds#/definitions/optionGroupStatus",
"modUri": "tmod:@turbot/aws-rds"
}
}

options

{
"type": "array",
"items": {
"$ref": "#/definitions/option"
},
"tests": [
{
"description": "all details provided",
"input": [
{
"DBSecurityGroupMemberships": {
"DBSecurityGroupName": "default.aurora5.6",
"Status": "available"
},
"OptionDescription": "Default option group for aurora 5.6",
"OptionName": "default:aurora-5-6",
"OptionSettings": [
{
"AllowedValues": "all",
"ApplyType": "new",
"DataType": "string",
"DefaultValue": "turbot-example",
"Description": "Default option group for aurora 5.6",
"IsCollection": true,
"IsModifiable": true,
"Name": "turbot-example",
"Value": "all"
}
],
"OptionVersion": "au",
"Permanent": false,
"Persistent": false,
"Port": 1,
"VpcSecurityGroupMemberships": [
{
"Status": "ACTIVE",
"VpcSecurityGroupId": "sg-d9b64db3"
}
]
}
]
}
],
".turbot": {
"uri": "tmod:@turbot/aws-rds#/definitions/options",
"modUri": "tmod:@turbot/aws-rds"
}
}

optionSetting

{
"type": "object",
"properties": {
"AllowedValues": {
"$ref": "#/definitions/name"
},
"ApplyType": {
"$ref": "#/definitions/name"
},
"DataType": {
"$ref": "#/definitions/name"
},
"DefaultValue": {
"$ref": "#/definitions/name"
},
"Description": {
"$ref": "#/definitions/name"
},
"IsCollection": {
"$ref": "#/definitions/isClusterWriter"
},
"IsModifiable": {
"$ref": "#/definitions/isClusterWriter"
},
"Name": {
"$ref": "#/definitions/name"
},
"Value": {
"$ref": "#/definitions/name"
}
},
"tests": [
{
"description": "all values provided",
"input": {
"AllowedValues": "all",
"ApplyType": "new",
"DataType": "string",
"DefaultValue": "turbot-example",
"Description": "Default option group for aurora 5.6",
"IsCollection": true,
"IsModifiable": true,
"Name": "turbot-example",
"Value": "all"
}
}
],
".turbot": {
"uri": "tmod:@turbot/aws-rds#/definitions/optionSetting",
"modUri": "tmod:@turbot/aws-rds"
}
}

optionSettings

{
"type": "array",
"items": {
"$ref": "#/definitions/optionSetting"
},
"tests": [
{
"description": "all details provided",
"input": [
{
"AllowedValues": "all",
"ApplyType": "new",
"DataType": "string",
"DefaultValue": "turbot-example",
"Description": "Default option group for aurora 5.6",
"IsCollection": true,
"IsModifiable": true,
"Name": "turbot-example",
"Value": "all"
}
]
}
],
".turbot": {
"uri": "tmod:@turbot/aws-rds#/definitions/optionSettings",
"modUri": "tmod:@turbot/aws-rds"
}
}

outpostArn

{
"type": "string",
".turbot": {
"uri": "tmod:@turbot/aws-rds#/definitions/outpostArn",
"modUri": "tmod:@turbot/aws-rds"
}
}

pendingCloudwatchLogsExports

{
"type": "object",
"properties": {
"LogTypesToDisable": {
"$ref": "#/definitions/values"
},
"LogTypesToEnable": {
"$ref": "#/definitions/values"
}
},
"tests": [
{
"description": "all details provided",
"input": {
"LogTypesToDisable": [
"urpis animi un",
"que ratione, dignis"
],
"LogTypesToEnable": [
"werwer",
"trrutrtu"
]
}
},
{
"description": "invalid - wrong details provided",
"input": {
"LogTypesToDisable": "jkldgkld",
"LogTypesToEnable": [
"turubtu",
"rotihti"
]
},
"expected": false
}
],
".turbot": {
"uri": "tmod:@turbot/aws-rds#/definitions/pendingCloudwatchLogsExports",
"modUri": "tmod:@turbot/aws-rds"
}
}

pendingModifiedValues

{
"type": "object",
"properties": {
"AllocatedStorage": {
"$ref": "#/definitions/allocatedStorage"
},
"BackupRetentionPeriod": {
"$ref": "#/definitions/allocatedStorage"
},
"CACertificateIdentifier": {
"$ref": "#/definitions/name"
},
"DBInstanceClass": {
"$ref": "#/definitions/dbInstanceClass"
},
"DBInstanceIdentifier": {
"$ref": "#/definitions/dbClusterIdentifier"
},
"DBSubnetGroupName": {
"$ref": "#/definitions/name"
},
"EngineVersion": {
"$ref": "#/definitions/name"
},
"Iops": {
"$ref": "#/definitions/allocatedStorage"
},
"MasterUserPassword": {
"$ref": "#/definitions/name"
},
"LicenseModel": {
"$ref": "#/definitions/licenseModel"
},
"MultiAZ": {
"$ref": "#/definitions/isClusterWriter"
},
"Port": {
"$ref": "#/definitions/port"
},
"PendingCloudwatchLogsExports": {
"$ref": "#/definitions/pendingCloudwatchLogsExports"
},
"ProcessorFeatures": {
"$ref": "#/definitions/processorFeatures"
},
"StorageType": {
"$ref": "#/definitions/name"
}
},
"tests": [
{
"description": "all details provided",
"input": {
"AllocatedStorage": 0,
"BackupRetentionPeriod": 12,
"CACertificateIdentifier": "wqerqwttert",
"DBInstanceClass": "db.t2.small",
"DBInstanceIdentifier": "turbot-exmple",
"DBSubnetGroupName": "turbot-sgn",
"EngineVersion": "5.6.10a",
"Iops": 12,
"MasterUserPassword": "!@#234#53454",
"LicenseModel": "general-public-license",
"MultiAZ": false,
"Port": 3306,
"PendingCloudwatchLogsExports": {
"LogTypesToDisable": [
"urpis animi un",
"que ratione, dignis"
],
"LogTypesToEnable": [
"werwer",
"trrutrtu"
]
},
"ProcessorFeatures": [
{
"Name": "urpis animi unque ratione, dignis",
"Value": "werwer trrutrtu"
}
],
"StorageType": "aurora",
"Tags": [
{
"Key": "Env",
"Value": "Test"
},
{
"Key": "App",
"Value": "Facebook"
}
]
}
}
],
".turbot": {
"uri": "tmod:@turbot/aws-rds#/definitions/pendingModifiedValues",
"modUri": "tmod:@turbot/aws-rds"
}
}

port

{
"type": "integer",
"tests": [
{
"input": 9999
},
{
"input": 11111
},
{
"description": "minimum",
"input": 1
},
{
"description": "maximum",
"input": 65535
},
{
"description": "invalid - decimal value provided",
"input": 4.5,
"expected": false
},
{
"description": "invalid - string type provided",
"input": "three",
"expected": false
}
],
".turbot": {
"uri": "tmod:@turbot/aws-rds#/definitions/port",
"modUri": "tmod:@turbot/aws-rds"
}
}

preferredBackupWindow

{
"type": "string",
"pattern": "^\\d{2}:\\d{2}-\\d{2}:\\d{2}$",
"tests": [
{
"input": "22:16-22:46"
},
{
"input": "22:16-12:42"
},
{
"describe": "invalid - time format is not maching",
"input": "22:16-12:1",
"expected": false
}
],
".turbot": {
"uri": "tmod:@turbot/aws-rds#/definitions/preferredBackupWindow",
"modUri": "tmod:@turbot/aws-rds"
}
}

preferredMaintenanceWindow

{
"type": "string",
"pattern": "^\\w{3}:\\d{2}:\\d{2}-\\w{3}:\\d{2}:\\d{2}$",
"tests": [
{
"input": "wed:11:23-wed:11:53"
},
{
"input": "wed:11:23-wed:11:20"
},
{
"describe": "invalid - time format is not maching",
"input": "22:16-12:1",
"expected": false
}
],
".turbot": {
"uri": "tmod:@turbot/aws-rds#/definitions/preferredMaintenanceWindow",
"modUri": "tmod:@turbot/aws-rds"
}
}

processorFeature

{
"type": "object",
"properties": {
"Name": {
"$ref": "#/definitions/name"
},
"Value": {
"$ref": "#/definitions/name"
}
},
"tests": [
{
"description": "all details provided",
"input": {
"Name": "urpis animi unque ratione, dignis",
"Value": "werwer trrutrtu"
}
},
{
"description": "invalid - wrong details provided",
"input": {
"Name": "jkldgkld",
"Value": [
"turubtu",
"rotihti"
]
},
"expected": false
}
],
".turbot": {
"uri": "tmod:@turbot/aws-rds#/definitions/processorFeature",
"modUri": "tmod:@turbot/aws-rds"
}
}

processorFeatures

{
"type": "array",
"items": {
"$ref": "#/definitions/processorFeature"
},
"tests": [
{
"description": "all details provided",
"input": [
{
"Name": "urpis animi unque ratione, dignis",
"Value": "werwer trrutrtu"
}
]
}
],
".turbot": {
"uri": "tmod:@turbot/aws-rds#/definitions/processorFeatures",
"modUri": "tmod:@turbot/aws-rds"
}
}

rds

{
"allOf": [
{
"$ref": "turbot#/definitions/service"
},
{
"type": "object",
"properties": {
"name": {
"const": "RDS"
},
"turbot": {
"type": "object",
"properties": {
"akas": {
"type": "array",
"items": {
"$ref": "#/definitions/rdsAka"
}
},
"title": {
"const": "RDS"
},
"custom": {
"type": "object",
"properties": {
"aws": {
"$ref": "aws#/definitions/awsMetadata"
}
}
}
}
}
},
"required": [
"name",
"turbot"
],
"additionalProperties": true,
"tests": [
{
"description": "All data are valid",
"input": {
"name": "RDS",
"turbot": {
"akas": [
"arn:aws:rds:us-east-1:123456789012"
],
"title": "RDS",
"custom": {
"aws": {
"accountId": 123456789012,
"regionName": "us-east-1"
}
}
}
}
},
{
"description": "invalid - service name prefixed",
"input": {
"title": "AWS RDS"
},
"expected": false
}
]
}
],
".turbot": {
"uri": "tmod:@turbot/aws-rds#/definitions/rds",
"modUri": "tmod:@turbot/aws-rds"
}
}

rdsAka

{
"type": "string",
"pattern": "^arn:aws(-us-gov|-cn)?:rds:[a-z]{2}(-gov)?-[a-z]+-[0-9]:[0-9]{12}$",
"tests": [
{
"description": "base",
"input": "arn:aws:rds:us-east-1:123123123123"
},
{
"description": "invalid service name",
"input": "arn:aws:Dms:us-east-1:123123123123",
"expected": false
},
{
"description": "invalid region name",
"input": "arn:aws:rds:us-eastdk-74381:123456786354",
"expected": false
}
],
".turbot": {
"uri": "tmod:@turbot/aws-rds#/definitions/rdsAka",
"modUri": "tmod:@turbot/aws-rds"
}
}

rdsOptionGroup

{
"type": "object",
"properties": {
"OptionGroupName": {
"$ref": "#/definitions/name"
},
"Filters": {
"$ref": "#/definitions/filters"
},
"Marker": {
"$ref": "#/definitions/name"
},
"MaxRecords": {
"$ref": "#/definitions/maxRecords"
},
"EngineName": {
"$ref": "#/definitions/name"
},
"MajorEngineVersion": {
"$ref": "#/definitions/name"
},
"OptionGroupDescription": {
"$ref": "#/definitions/name"
},
"OptionGroupsList": {
"$ref": "#/definitions/optionGroupsList"
},
"Tags": {
"$ref": "#/definitions/tagList"
},
"AllowsVpcAndNonVpcInstanceMemberships": {
"type": "boolean"
},
"VpcId": {
"type": "string"
},
"Options": {
"type": "array"
},
"OptionGroupArn": {
"type": "string"
},
"turbot": {
"type": "object",
"properties": {
"akas": {
"type": "array",
"items": {
"$ref": "#/definitions/optionGroupArn"
}
},
"title": {
"$ref": "#/definitions/name"
},
"tags": {
"$ref": "aws#/definitions/tagsMap"
},
"custom": {
"type": "object",
"properties": {
"aws": {
"$ref": "aws#/definitions/awsMetadata"
},
"createTimestamp": {
"$ref": "turbot#/definitions/isoTimestamp"
}
}
}
}
}
},
"additionalProperties": true,
"tests": [
{
"description": "all details provided",
"input": {
"OptionGroupName": "default:aurora-5-6",
"OptionGroupDescription": "optiongroup for test",
"Filters": [
"aaa",
[
"123456789012"
],
[
"1234656sdfsdfs"
]
],
"Marker": "default.aurora5.6",
"MaxRecords": 53,
"EngineName": "aurora",
"MajorEngineVersion": 5.6,
"Tags": [
{
"Key": "key01",
"Value": "value01"
}
],
"OptionGroupsList": [
{
"AllowsVpcAndNonVpcInstanceMemberships": true,
"EngineName": "aurora",
"MajorEngineVersion": 5.6,
"OptionGroupArn": "arn:aws:rds:ap-south-1:111666065714:og:default:aurora-5-6",
"OptionGroupDescription": "Default option group for aurora 5.6",
"OptionGroupName": "default:aurora-5-6",
"VpcId": "vpc-dfafe5b7",
"Options": [
{
"DBSecurityGroupMemberships": {
"DBSecurityGroupName": "default.aurora5.6",
"Status": "available"
},
"OptionDescription": "Default option group for aurora 5.6",
"OptionName": "default:aurora-5-6",
"OptionSettings": [
{
"AllowedValues": "all",
"ApplyType": "new",
"DataType": "string",
"DefaultValue": "turbot-example",
"Description": "Default option group for aurora 5.6",
"IsCollection": true,
"IsModifiable": true,
"Name": "turbot-example",
"Value": "all"
}
],
"OptionVersion": "au",
"Permanent": false,
"Persistent": false,
"Port": 1,
"VpcSecurityGroupMemberships": [
{
"Status": "ACTIVE",
"VpcSecurityGroupId": "sg-d9b64db3"
}
]
}
]
}
],
"turbot": {
"akas": [
"arn:aws:rds:ap-south-1:111666065714:og:default:aurora-5-6"
],
"tags": {
"Key01": "Value 01"
},
"title": "default:aurora-5-6",
"custom": {
"aws": {
"accountId": 111666065714,
"regionName": "ap-south-1"
}
}
}
}
}
],
".turbot": {
"uri": "tmod:@turbot/aws-rds#/definitions/rdsOptionGroup",
"modUri": "tmod:@turbot/aws-rds"
}
}

roleArn

{
"type": "string",
"pattern": "arn:aws:iam::\\d{12}:role/aws-service-role/rds.amazonaws.com/[a-zA-Z]*?",
"tests": [
{
"input": "arn:aws:iam::111666065714:role/aws-service-role/rds.amazonaws.com/AWSServiceRoleForRDS"
},
{
"input": "arn:aws:iam::111666065714:role/aws-service-role/rds.amazonaws.com/AWSServiceRoleForRDS12"
},
{
"description": "invalid - input not expected",
"input": "hi hi",
"expected": false
},
{
"description": "invalid - AWS account id is wrong",
"input": "arn:aws:iam::1116660657:role/aws-service-role/rds.amazonaws.com/AWSServiceRoleForRDS",
"expected": false
}
],
".turbot": {
"uri": "tmod:@turbot/aws-rds#/definitions/roleArn",
"modUri": "tmod:@turbot/aws-rds"
}
}

scalingConfigurationInfo

{
"type": "object",
"properties": {
"AutoPause": {
"$ref": "#/definitions/isClusterWriter"
},
"MaxCapacity": {
"$ref": "#/definitions/allocatedStorage"
},
"MinCapacity": {
"$ref": "#/definitions/allocatedStorage"
},
"SecondsUntilAutoPause": {
"$ref": "#/definitions/allocatedStorage"
}
},
"tests": [
{
"input": {
"AutoPause": false,
"MaxCapacity": 10,
"MinCapacity": 1,
"SecondsUntilAutoPause": 11
}
}
],
".turbot": {
"uri": "tmod:@turbot/aws-rds#/definitions/scalingConfigurationInfo",
"modUri": "tmod:@turbot/aws-rds"
}
}

snapshotType

{
"type": "string",
"enum": [
"automated",
"manual",
"shared",
"public"
],
"tests": [
{
"input": "automated"
},
{
"input": "manual"
},
{
"input": "public"
},
{
"description": "invalid - case sensitive",
"input": "Public",
"expected": false
},
{
"description": "invalid - empty string",
"input": "",
"expected": false
}
],
".turbot": {
"uri": "tmod:@turbot/aws-rds#/definitions/snapshotType",
"modUri": "tmod:@turbot/aws-rds"
}
}

sourceDBClusterSnapshotArn

{
"anyOf": [
{
"type": "string",
"pattern": "arn:aws:rds:[a-z]{2}-[a-z]+-\\d{1}:\\d{12}:cluster-snapshot:[-a-zA-Z.0-9]*?"
},
{
"type": "null"
}
],
"tests": [
{
"input": "arn:aws:rds:ap-south-1:111666065714:cluster-snapshot:rds:turbot-rds-test-1-1-2018-08-28-22-17"
},
{
"input": "arn:aws:rds:ap-south-1:111666065714:cluster-snapshot:rds:turbot-2018-08-28-22-17"
},
{
"description": "invalid - input not expected",
"input": "hi hi",
"expected": false
},
{
"description": "invalid - AWS account id is wrong",
"input": "arn:aws:rds:ap-south-1:11166606571:cluster-snapshot:rds:turbot-rds-test-1-1-2018-08-28-22-17",
"expected": false
},
{
"description": "null value",
"input": null
},
{
"description": "empty string",
"input": ""
}
],
".turbot": {
"uri": "tmod:@turbot/aws-rds#/definitions/sourceDBClusterSnapshotArn",
"modUri": "tmod:@turbot/aws-rds"
}
}

status

{
"type": "string",
"enum": [
"ACTIVE",
"PENDING",
"INVALID"
],
"tests": [
{
"input": "INVALID"
},
{
"input": "PENDING"
},
{
"description": "invalid - not listed in options",
"input": "reactive",
"expected": false
},
{
"description": "invalid - null value",
"input": null,
"expected": false
},
{
"description": "invalid - status in lower case",
"input": "active",
"expected": false
}
],
".turbot": {
"uri": "tmod:@turbot/aws-rds#/definitions/status",
"modUri": "tmod:@turbot/aws-rds"
}
}

statusInfo

{
"type": "object",
"properties": {
"Message": {
"$ref": "#/definitions/name"
},
"Normal": {
"$ref": "#/definitions/isClusterWriter"
},
"Status": {
"$ref": "#/definitions/dbStatus"
},
"StatusType": {
"$ref": "#/definitions/statusType"
}
},
"tests": [
{
"description": "all details provided",
"input": {
"Message": "urpis animi unque ratione, dignis",
"Normal": false,
"Status": "replicating",
"StatusType": "read replication"
}
},
{
"description": "invalid - wrong details provided",
"input": {
"Message": "urpis animi unque ratione, dignis",
"Normal": false,
"Status": "replicating",
"StatusType": [
"read replication"
]
},
"expected": false
}
],
".turbot": {
"uri": "tmod:@turbot/aws-rds#/definitions/statusInfo",
"modUri": "tmod:@turbot/aws-rds"
}
}

statusInfos

{
"type": "array",
"items": {
"$ref": "#/definitions/statusInfo"
},
"tests": [
{
"description": "all details provided",
"input": [
{
"Name": "urpis animi unque ratione, dignis",
"Value": "werwer trrutrtu"
}
]
}
],
".turbot": {
"uri": "tmod:@turbot/aws-rds#/definitions/statusInfos",
"modUri": "tmod:@turbot/aws-rds"
}
}

statusType

{
"type": "string",
"enum": [
"read replication"
],
"tests": [
{
"input": "read replication"
},
{
"description": "invalid - case sensitive",
"input": "Read replication",
"expected": false
},
{
"description": "invalid - empty string",
"input": "",
"expected": false
}
],
".turbot": {
"uri": "tmod:@turbot/aws-rds#/definitions/statusType",
"modUri": "tmod:@turbot/aws-rds"
}
}

streamMode

{
"type": "string",
"enum": [
"sync",
"async"
],
".turbot": {
"uri": "tmod:@turbot/aws-rds#/definitions/streamMode",
"modUri": "tmod:@turbot/aws-rds"
}
}

streamStatus

{
"type": "string",
"enum": [
"stopped",
"starting",
"started",
"stopping"
],
".turbot": {
"uri": "tmod:@turbot/aws-rds#/definitions/streamStatus",
"modUri": "tmod:@turbot/aws-rds"
}
}

subnet

{
"type": "object",
"properties": {
"SubnetIdentifier": {
"$ref": "#/definitions/subnetIdentifier"
},
"SubnetStatus": {
"$ref": "#/definitions/name"
},
"SubnetAvailabilityZone": {
"$ref": "#/definitions/subnetAvailabilityZone"
},
"SubnetOutpost": {
"$ref": "#/definitions/subnetOutpost"
}
},
"tests": [
{
"description": "all details provided",
"input": {
"SubnetIdentifier": "subnet-570da01b",
"SubnetStatus": "Active",
"SubnetAvailabilityZone": {
"name": "ap-south-1b"
}
}
},
{
"description": "invalid - array passed instead of string",
"input": {
"SubnetIdentifier": "subnt-570da01b",
"SubnetStatus": "Active",
"SubnetAvailabilityZone": {
"name": [
"ap-south-1b"
]
}
},
"expected": false
}
],
".turbot": {
"uri": "tmod:@turbot/aws-rds#/definitions/subnet",
"modUri": "tmod:@turbot/aws-rds"
}
}

subnetAvailabilityZone

{
"type": "object",
"properties": {
"name": {
"$ref": "#/definitions/name"
}
},
"tests": [
{
"input": {
"name": "ap-south-1b"
}
},
{
"description": "invalid - array passed instead of string",
"input": {
"name": [
"ap-s"
]
},
"expected": false
}
],
".turbot": {
"uri": "tmod:@turbot/aws-rds#/definitions/subnetAvailabilityZone",
"modUri": "tmod:@turbot/aws-rds"
}
}

subnetOutpost

{
"type": "object",
"properties": {
"Arn": {
"$ref": "#/definitions/outpostArn"
}
},
".turbot": {
"uri": "tmod:@turbot/aws-rds#/definitions/subnetOutpost",
"modUri": "tmod:@turbot/aws-rds"
}
}

subnets

{
"type": "array",
"items": {
"$ref": "#/definitions/subnet"
},
"tests": [
{
"description": "all details provided",
"input": [
{
"SubnetIdentifier": "subnet-570da01b",
"SubnetStatus": "Active",
"SubnetAvailabilityZone": {
"name": "ap-south-1b"
}
}
]
}
],
".turbot": {
"uri": "tmod:@turbot/aws-rds#/definitions/subnets",
"modUri": "tmod:@turbot/aws-rds"
}
}

subnetType

{
"type": "string",
"enum": [
"Isolated",
"Restricted",
"Private",
"Limited",
"Direct",
"Independent"
],
"tests": [
{
"input": "Isolated"
},
{
"input": "Independent"
},
{
"description": "invalid - value not from allowed values",
"input": "isolated",
"expected": false
}
],
".turbot": {
"uri": "tmod:@turbot/aws-rds#/definitions/subnetType",
"modUri": "tmod:@turbot/aws-rds"
}
}

tag

{
"type": "object",
"properties": {
"Key": {
"$ref": "#/definitions/tagKey"
},
"Value": {
"$ref": "#/definitions/tagValue"
}
},
"required": [
"Key",
"Value"
],
"tests": [
{
"description": "valid - base case",
"input": {
"Key": "foo",
"Value": "bar"
}
},
{
"description": "invalid - empty key",
"input": {
"Key": "",
"Value": "bar"
},
"expected": false
},
{
"description": "invalid - no key",
"input": {
"Value": "bar"
},
"expected": false
},
{
"description": "invalid - no value",
"input": {
"Key": "foo"
},
"expected": false
}
],
".turbot": {
"uri": "tmod:@turbot/aws-rds#/definitions/tag",
"modUri": "tmod:@turbot/aws-rds"
}
}

tagKey

{
"allOf": [
{
"$ref": "#/definitions/tagString"
},
{
"type": "string",
"minLength": 1,
"maxLength": 128
}
],
"tests": [
{
"description": "valid - min length",
"input": "a"
},
{
"description": "valid - max length",
"input": "123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 12345678"
},
{
"description": "invalid - empty string",
"input": "",
"expected": false
},
{
"description": "invalid - too long",
"input": "123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456781",
"expected": false
}
],
".turbot": {
"uri": "tmod:@turbot/aws-rds#/definitions/tagKey",
"modUri": "tmod:@turbot/aws-rds"
}
}

tagList

{
"type": "array",
"items": {
"$ref": "#/definitions/tag"
},
"minLength": 0,
"tests": [
{
"description": "valid - empty list",
"input": []
},
{
"description": "valid - single item",
"input": [
{
"Key": "foo",
"Value": "bar"
}
]
},
{
"description": "valid - multiple items",
"input": [
{
"Key": "one",
"Value": 1
},
{
"Key": "two",
"Value": 2
},
{
"Key": "three",
"Value": 3
},
{
"Key": "four",
"Value": 4
}
]
},
{
"description": "invalid - missing value",
"input": [
{
"Key": "one"
},
{
"Key": "two",
"Value": 2
}
],
"expected": false
},
{
"description": "invalid - empty item",
"input": [
{
"Key": "one",
"Value": 1
},
null,
{
"Key": "two",
"Value": 2
}
],
"expected": false
}
],
".turbot": {
"uri": "tmod:@turbot/aws-rds#/definitions/tagList",
"modUri": "tmod:@turbot/aws-rds"
}
}

tagsMap

{
"type": "object",
"patternProperties": {
"^(?:(?:(?!aws:)(?!rds:))[-a-zA-Z0-9 _.:/=+@]){1,128}$": {
"$ref": "#/definitions/tagValue"
}
},
"additionalProperties": false,
"tests": [
{
"description": "valid - base case",
"input": {
"foo": "bar"
}
},
{
"description": "valid - key min length",
"input": {
"a": "bar"
}
},
{
"description": "invalid - empty key",
"input": {
"": "bar"
},
"expected": false
},
{
"description": "valid - key max length",
"input": {
"123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 1234567": "bar"
}
},
{
"description": "invalid - key too long",
"input": {
"123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456781212": "bar"
},
"expected": false
},
{
"description": "valid - empty",
"input": {}
}
],
".turbot": {
"uri": "tmod:@turbot/aws-rds#/definitions/tagsMap",
"modUri": "tmod:@turbot/aws-rds"
}
}

tagsTemplateTag

{
"type": "object",
"patternProperties": {
"^((?!aws)(?!rds))[-a-zA-Z0-9 _.:/=+@]{1,128}$": {
"$ref": "#/definitions/tagValue"
}
},
"minProperties": 1,
"maxProperties": 1,
"additionalProperties": false,
"tests": [
{
"description": "valid - base case",
"input": {
"foo": "bar"
}
},
{
"description": "invalid - starts with \"aws:\"",
"input": {
"aws:test": "bar"
},
"expected": false
},
{
"description": "invalid - below min properties",
"input": {},
"expected": false
},
{
"description": "invalid - above max properties",
"input": {
"foo": "bar",
"foo1": "bar1"
},
"expected": false
}
],
".turbot": {
"uri": "tmod:@turbot/aws-rds#/definitions/tagsTemplateTag",
"modUri": "tmod:@turbot/aws-rds"
}
}

tagsTemplateTagList

{
"type": "array",
"items": {
"$ref": "#/definitions/tagsTemplateTag"
},
"minLength": 0,
"tests": [
{
"description": "valid - empty list",
"input": []
},
{
"description": "valid - single item",
"input": [
{
"foo": "bar"
}
]
},
{
"description": "valid - multiple items",
"input": [
{
"foo": "bar"
},
{
"foo1": "bar1"
},
{
"foo2": "bar2"
}
]
},
{
"description": "invalid - empty item",
"input": [
{
"foo": "bar"
},
null,
{
"foo2": "bar2"
}
],
"expected": false
}
],
".turbot": {
"uri": "tmod:@turbot/aws-rds#/definitions/tagsTemplateTagList",
"modUri": "tmod:@turbot/aws-rds"
}
}

tagString

{
"type": "string",
"pattern": "^((?!aws)(?!rds))[-a-zA-Z0-9 _.:\\/=+@]*$",
"tests": [
{
"input": "Peter Dinklage as Tyrion Lannister"
},
{
"input": "Filip Lozic as Young Nobleman"
},
{
"input": "Test01._: /=.+-=._:/"
}
],
".turbot": {
"uri": "tmod:@turbot/aws-rds#/definitions/tagString",
"modUri": "tmod:@turbot/aws-rds"
}
}

tagValue

{
"allOf": [
{
"$ref": "#/definitions/tagString"
},
{
"type": "string",
"minLength": 0,
"maxLength": 256
}
],
"tests": [
{
"description": "valid - empty string",
"input": ""
},
{
"description": "valid - max length",
"input": "123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456"
},
{
"description": "invalid - too long",
"input": "123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 1234567",
"expected": false
}
],
".turbot": {
"uri": "tmod:@turbot/aws-rds#/definitions/tagValue",
"modUri": "tmod:@turbot/aws-rds"
}
}

values

{
"type": "array",
"items": {
"type": "string"
},
"tests": [
{
"input": [
"570da01b",
"570da01b"
]
},
{
"description": "invalid - empty string",
"input": "",
"expected": false
}
],
".turbot": {
"uri": "tmod:@turbot/aws-rds#/definitions/values",
"modUri": "tmod:@turbot/aws-rds"
}
}

vpcId

{
"type": "string",
".turbot": {
"uri": "tmod:@turbot/aws-rds#/definitions/vpcId",
"modUri": "tmod:@turbot/aws-rds"
}
}

vpcSecurityGroupId

{
"type": "string",
"pattern": "^sg-[a-f0-9]{8}$",
"tests": [
{
"input": "sg-d9b64db3"
},
{
"input": "sg-f9a64cb4"
},
{
"description": "invalid - can not start with any character",
"input": "ad9b64db3",
"expected": false
}
],
".turbot": {
"uri": "tmod:@turbot/aws-rds#/definitions/vpcSecurityGroupId",
"modUri": "tmod:@turbot/aws-rds"
}
}

vpcSecurityGroupMembership

{
"type": "object",
"properties": {
"Status": {
"$ref": "#/definitions/status"
},
"VpcSecurityGroupId": {
"$ref": "#/definitions/vpcSecurityGroupId"
}
},
"tests": [
{
"input": {
"Status": "ACTIVE",
"VpcSecurityGroupId": "sg-d9b64db3"
}
}
],
".turbot": {
"uri": "tmod:@turbot/aws-rds#/definitions/vpcSecurityGroupMembership",
"modUri": "tmod:@turbot/aws-rds"
}
}

vpcSecurityGroupMemberships

{
"type": "array",
"items": {
"$ref": "#/definitions/vpcSecurityGroupMembership"
},
"tests": [
{
"description": "all details provided",
"input": [
{
"Status": "ACTIVE",
"VpcSecurityGroupId": "sg-d9b64db3"
}
]
}
],
".turbot": {
"uri": "tmod:@turbot/aws-rds#/definitions/vpcSecurityGroupMemberships",
"modUri": "tmod:@turbot/aws-rds"
}
}