aws.dms resources

aws.dms-endpoint

Actions

delete

Delete a DMS endpoint

example

policies:
  - name: dms-endpoint-no-ssl-delete
    resource: dms-endpoint
    filters:
      - EngineName: mariadb
      - SslMode: none
    actions:
      - delete
properties:
  type:
    enum:
    - delete
required:
- type

modify-endpoint

Modify the attributes of a DMS endpoint

example

policies:
  - name: dms-endpoint-modify
    resource: dms-endpoint
    filters:
      - EngineName: sqlserver
      - SslMode: none
    actions:
      - type: modify-endpoint
        SslMode: require

AWS ModifyEndpoint Documentation https://docs.aws.amazon.com/dms/latest/APIReference/API_ModifyEndpoint.html

properties:
  CertificateArn:
    type: string
  DatabaseName:
    type: string
  DynamoDbSettings:
    additionalProperties: false
    properties:
      ServiceAccessRoleArn:
        type: string
    required:
    - ServiceAccessRoleArn
    type: object
  EndpointIdentifier:
    type: string
  EngineName:
    enum:
    - mysql
    - oracle
    - postgres
    - mariadb
    - aurora
    - redshift
    - S3
    - sybase
    - dynamodb
    - mongodb
    - sqlserver
  ExtraConnectionAttributes:
    type: string
  MongoDbSettings:
    additionalProperties: false
    properties:
      AuthMechanism:
        enum:
        - default
        - mongodb_cr
        - scram_sha_1
        type: string
      AuthSource:
        type: string
      DatabaseName:
        type: string
      DocsToInvestigate:
        minimum: 1
        type: integer
      ExtractDocId:
        type: string
      NestingLevel:
        enum:
        - NONE
        - none
        - ONE
        - one
        type: string
      Password:
        type: string
      Port:
        maximum: 65535
        minimum: 1
        type: integer
      ServerName:
        type: string
      Username:
        type: string
    type: object
  Password:
    type: string
  Port:
    maximum: 65536
    minimum: 1
    type: integer
  S3Settings:
    additionalProperties: false
    properties:
      BucketFolder:
        type: string
      BucketName:
        type: string
      CompressionType:
        enum:
        - none
        - gzip
        type: string
      CsvDelimiter:
        type: string
      CsvRowDelimiter:
        type: string
      ExternalTableDefinition:
        type: string
      ServiceAccessRoleArn:
        type: string
    type: object
  ServerName:
    type: string
  SslMode:
    enum:
    - none
    - require
    - verify-ca
    - verify-full
    type: string
  Username:
    type: string
  type:
    enum:
    - modify-endpoint

aws.dms-instance

Filters

kms-key

Filter a resource by its associcated kms key and optionally the aliasname of the kms key by using ‘c7n:AliasName’

example
policies:
    - name:
      resource: dms-instance
      filters:
        - type: kms-key
          key: c7n:AliasName
          value: alias/aws/dms
properties:
  default:
    type: object
  key:
    type: string
  match-resource:
    type: boolean
  op:
    enum:
    - eq
    - equal
    - ne
    - not-equal
    - gt
    - greater-than
    - ge
    - gte
    - le
    - lte
    - lt
    - less-than
    - glob
    - regex
    - regex-case
    - in
    - ni
    - not-in
    - contains
    - difference
    - intersect
  operator:
    enum:
    - and
    - or
  type:
    enum:
    - kms-key
  value:
    oneOf:
    - type: array
    - type: string
    - type: boolean
    - type: number
    - type: 'null'
  value_from:
    additionalProperties: 'False'
    properties:
      expr:
        oneOf:
        - type: integer
        - type: string
      format:
        enum:
        - csv
        - json
        - txt
        - csv2dict
      url:
        type: string
    required:
    - url
    type: object
  value_regex:
    type: string
  value_type:
    enum:
    - age
    - integer
    - expiration
    - normalize
    - size
    - cidr
    - cidr_size
    - swap
    - resource_count
    - expr
    - unique_size
    - date
required:
- type

Actions

delete

properties:
  type:
    enum:
    - delete
required:
- type

modify-instance

Modify replication instance(s) to apply new settings

example

policies:
  - name: enable-minor-version-upgrade
    resource: dms-instance
    filters:
      - AutoMinorVersionUpgrade: False
    actions:
      - type: modify-instance
        ApplyImmediately: True
        AutoMinorVersionUpgrade: True
        PreferredMaintenanceWindow: mon:23:00-mon:23:59
AWS ModifyReplicationInstance Documentation:

https://docs.aws.amazon.com/dms/latest/APIReference/API_ModifyReplicationInstance.html

properties:
  AllocatedStorage:
    type: integer
  AllowMajorVersionUpgrade:
    type: boolean
  ApplyImmediately:
    type: boolean
  AutoMinorVersionUpgrade:
    type: boolean
  EngineVersion:
    type: string
  MultiAZ:
    type: boolean
  PreferredMaintenanceWindow:
    type: string
  ReplicationInstanceArn:
    type: string
  ReplicationInstanceClass:
    type: string
  ReplicationInstanceIdentifier:
    type: string
  VpcSecurityGroupIds:
    items:
      type: string
    type: array
  type:
    enum:
    - modify-instance