{
  "version": "2.0",
  "metadata": {
    "apiVersion": "2016-01-01",
    "endpointPrefix": "dms",
    "jsonVersion": "1.1",
    "protocol": "json",
    "serviceFullName": "AWS Database Migration Service",
    "signatureVersion": "v4",
    "targetPrefix": "AmazonDMSv20160101"
  },
  "operations": {
    "AddTagsToResource": {
      "input": {
        "type": "structure",
        "required": [
          "ResourceArn",
          "Tags"
        ],
        "members": {
          "ResourceArn": {},
          "Tags": {
            "shape": "S3"
          }
        }
      },
      "output": {
        "type": "structure",
        "members": {}
      }
    },
    "CreateEndpoint": {
      "input": {
        "type": "structure",
        "required": [
          "EndpointIdentifier",
          "EndpointType",
          "EngineName",
          "Username",
          "Password",
          "ServerName",
          "Port"
        ],
        "members": {
          "EndpointIdentifier": {},
          "EndpointType": {},
          "EngineName": {},
          "Username": {},
          "Password": {
            "shape": "S8"
          },
          "ServerName": {},
          "Port": {
            "type": "integer"
          },
          "DatabaseName": {},
          "ExtraConnectionAttributes": {},
          "KmsKeyId": {},
          "Tags": {
            "shape": "S3"
          },
          "CertificateArn": {},
          "SslMode": {}
        }
      },
      "output": {
        "type": "structure",
        "members": {
          "Endpoint": {
            "shape": "Sc"
          }
        }
      }
    },
    "CreateReplicationInstance": {
      "input": {
        "type": "structure",
        "required": [
          "ReplicationInstanceIdentifier",
          "ReplicationInstanceClass"
        ],
        "members": {
          "ReplicationInstanceIdentifier": {},
          "AllocatedStorage": {
            "type": "integer"
          },
          "ReplicationInstanceClass": {},
          "VpcSecurityGroupIds": {
            "shape": "Se"
          },
          "AvailabilityZone": {},
          "ReplicationSubnetGroupIdentifier": {},
          "PreferredMaintenanceWindow": {},
          "MultiAZ": {
            "type": "boolean"
          },
          "EngineVersion": {},
          "AutoMinorVersionUpgrade": {
            "type": "boolean"
          },
          "Tags": {
            "shape": "S3"
          },
          "KmsKeyId": {},
          "PubliclyAccessible": {
            "type": "boolean"
          }
        }
      },
      "output": {
        "type": "structure",
        "members": {
          "ReplicationInstance": {
            "shape": "Sh"
          }
        }
      }
    },
    "CreateReplicationSubnetGroup": {
      "input": {
        "type": "structure",
        "required": [
          "ReplicationSubnetGroupIdentifier",
          "ReplicationSubnetGroupDescription",
          "SubnetIds"
        ],
        "members": {
          "ReplicationSubnetGroupIdentifier": {},
          "ReplicationSubnetGroupDescription": {},
          "SubnetIds": {
            "shape": "Sv"
          },
          "Tags": {
            "shape": "S3"
          }
        }
      },
      "output": {
        "type": "structure",
        "members": {
          "ReplicationSubnetGroup": {
            "shape": "Sm"
          }
        }
      }
    },
    "CreateReplicationTask": {
      "input": {
        "type": "structure",
        "required": [
          "ReplicationTaskIdentifier",
          "SourceEndpointArn",
          "TargetEndpointArn",
          "ReplicationInstanceArn",
          "MigrationType",
          "TableMappings"
        ],
        "members": {
          "ReplicationTaskIdentifier": {},
          "SourceEndpointArn": {},
          "TargetEndpointArn": {},
          "ReplicationInstanceArn": {},
          "MigrationType": {},
          "TableMappings": {},
          "ReplicationTaskSettings": {},
          "CdcStartTime": {
            "type": "timestamp"
          },
          "Tags": {
            "shape": "S3"
          }
        }
      },
      "output": {
        "type": "structure",
        "members": {
          "ReplicationTask": {
            "shape": "S10"
          }
        }
      }
    },
    "DeleteCertificate": {
      "input": {
        "type": "structure",
        "required": [
          "CertificateArn"
        ],
        "members": {
          "CertificateArn": {}
        }
      },
      "output": {
        "type": "structure",
        "members": {
          "Certificate": {
            "shape": "S15"
          }
        }
      }
    },
    "DeleteEndpoint": {
      "input": {
        "type": "structure",
        "required": [
          "EndpointArn"
        ],
        "members": {
          "EndpointArn": {}
        }
      },
      "output": {
        "type": "structure",
        "members": {
          "Endpoint": {
            "shape": "Sc"
          }
        }
      }
    },
    "DeleteReplicationInstance": {
      "input": {
        "type": "structure",
        "required": [
          "ReplicationInstanceArn"
        ],
        "members": {
          "ReplicationInstanceArn": {}
        }
      },
      "output": {
        "type": "structure",
        "members": {
          "ReplicationInstance": {
            "shape": "Sh"
          }
        }
      }
    },
    "DeleteReplicationSubnetGroup": {
      "input": {
        "type": "structure",
        "required": [
          "ReplicationSubnetGroupIdentifier"
        ],
        "members": {
          "ReplicationSubnetGroupIdentifier": {}
        }
      },
      "output": {
        "type": "structure",
        "members": {}
      }
    },
    "DeleteReplicationTask": {
      "input": {
        "type": "structure",
        "required": [
          "ReplicationTaskArn"
        ],
        "members": {
          "ReplicationTaskArn": {}
        }
      },
      "output": {
        "type": "structure",
        "members": {
          "ReplicationTask": {
            "shape": "S10"
          }
        }
      }
    },
    "DescribeAccountAttributes": {
      "input": {
        "type": "structure",
        "members": {}
      },
      "output": {
        "type": "structure",
        "members": {
          "AccountQuotas": {
            "type": "list",
            "member": {
              "locationName": "AccountQuota",
              "type": "structure",
              "members": {
                "AccountQuotaName": {},
                "Used": {
                  "type": "long"
                },
                "Max": {
                  "type": "long"
                }
              }
            }
          }
        }
      }
    },
    "DescribeCertificates": {
      "input": {
        "type": "structure",
        "members": {
          "Filters": {
            "shape": "S1j"
          },
          "MaxRecords": {
            "type": "integer"
          },
          "Marker": {}
        }
      },
      "output": {
        "type": "structure",
        "members": {
          "Marker": {},
          "Certificates": {
            "type": "list",
            "member": {
              "shape": "S15",
              "locationName": "Certificate"
            }
          }
        }
      }
    },
    "DescribeConnections": {
      "input": {
        "type": "structure",
        "members": {
          "Filters": {
            "shape": "S1j"
          },
          "MaxRecords": {
            "type": "integer"
          },
          "Marker": {}
        }
      },
      "output": {
        "type": "structure",
        "members": {
          "Marker": {},
          "Connections": {
            "type": "list",
            "member": {
              "shape": "S1r",
              "locationName": "Connection"
            }
          }
        }
      }
    },
    "DescribeEndpointTypes": {
      "input": {
        "type": "structure",
        "members": {
          "Filters": {
            "shape": "S1j"
          },
          "MaxRecords": {
            "type": "integer"
          },
          "Marker": {}
        }
      },
      "output": {
        "type": "structure",
        "members": {
          "Marker": {},
          "SupportedEndpointTypes": {
            "type": "list",
            "member": {
              "locationName": "SupportedEndpointType",
              "type": "structure",
              "members": {
                "EngineName": {},
                "SupportsCDC": {
                  "type": "boolean"
                },
                "EndpointType": {}
              }
            }
          }
        }
      }
    },
    "DescribeEndpoints": {
      "input": {
        "type": "structure",
        "members": {
          "Filters": {
            "shape": "S1j"
          },
          "MaxRecords": {
            "type": "integer"
          },
          "Marker": {}
        }
      },
      "output": {
        "type": "structure",
        "members": {
          "Marker": {},
          "Endpoints": {
            "type": "list",
            "member": {
              "shape": "Sc",
              "locationName": "Endpoint"
            }
          }
        }
      }
    },
    "DescribeOrderableReplicationInstances": {
      "input": {
        "type": "structure",
        "members": {
          "MaxRecords": {
            "type": "integer"
          },
          "Marker": {}
        }
      },
      "output": {
        "type": "structure",
        "members": {
          "OrderableReplicationInstances": {
            "type": "list",
            "member": {
              "locationName": "OrderableReplicationInstance",
              "type": "structure",
              "members": {
                "EngineVersion": {},
                "ReplicationInstanceClass": {},
                "StorageType": {},
                "MinAllocatedStorage": {
                  "type": "integer"
                },
                "MaxAllocatedStorage": {
                  "type": "integer"
                },
                "DefaultAllocatedStorage": {
                  "type": "integer"
                },
                "IncludedAllocatedStorage": {
                  "type": "integer"
                }
              }
            }
          },
          "Marker": {}
        }
      }
    },
    "DescribeRefreshSchemasStatus": {
      "input": {
        "type": "structure",
        "required": [
          "EndpointArn"
        ],
        "members": {
          "EndpointArn": {}
        }
      },
      "output": {
        "type": "structure",
        "members": {
          "RefreshSchemasStatus": {
            "shape": "S25"
          }
        }
      }
    },
    "DescribeReplicationInstances": {
      "input": {
        "type": "structure",
        "members": {
          "Filters": {
            "shape": "S1j"
          },
          "MaxRecords": {
            "type": "integer"
          },
          "Marker": {}
        }
      },
      "output": {
        "type": "structure",
        "members": {
          "Marker": {},
          "ReplicationInstances": {
            "type": "list",
            "member": {
              "shape": "Sh",
              "locationName": "ReplicationInstance"
            }
          }
        }
      }
    },
    "DescribeReplicationSubnetGroups": {
      "input": {
        "type": "structure",
        "members": {
          "Filters": {
            "shape": "S1j"
          },
          "MaxRecords": {
            "type": "integer"
          },
          "Marker": {}
        }
      },
      "output": {
        "type": "structure",
        "members": {
          "Marker": {},
          "ReplicationSubnetGroups": {
            "type": "list",
            "member": {
              "shape": "Sm",
              "locationName": "ReplicationSubnetGroup"
            }
          }
        }
      }
    },
    "DescribeReplicationTasks": {
      "input": {
        "type": "structure",
        "members": {
          "Filters": {
            "shape": "S1j"
          },
          "MaxRecords": {
            "type": "integer"
          },
          "Marker": {}
        }
      },
      "output": {
        "type": "structure",
        "members": {
          "Marker": {},
          "ReplicationTasks": {
            "type": "list",
            "member": {
              "shape": "S10",
              "locationName": "ReplicationTask"
            }
          }
        }
      }
    },
    "DescribeSchemas": {
      "input": {
        "type": "structure",
        "required": [
          "EndpointArn"
        ],
        "members": {
          "EndpointArn": {},
          "MaxRecords": {
            "type": "integer"
          },
          "Marker": {}
        }
      },
      "output": {
        "type": "structure",
        "members": {
          "Marker": {},
          "Schemas": {
            "type": "list",
            "member": {}
          }
        }
      }
    },
    "DescribeTableStatistics": {
      "input": {
        "type": "structure",
        "required": [
          "ReplicationTaskArn"
        ],
        "members": {
          "ReplicationTaskArn": {},
          "MaxRecords": {
            "type": "integer"
          },
          "Marker": {}
        }
      },
      "output": {
        "type": "structure",
        "members": {
          "ReplicationTaskArn": {},
          "TableStatistics": {
            "type": "list",
            "member": {
              "type": "structure",
              "members": {
                "SchemaName": {},
                "TableName": {},
                "Inserts": {
                  "type": "long"
                },
                "Deletes": {
                  "type": "long"
                },
                "Updates": {
                  "type": "long"
                },
                "Ddls": {
                  "type": "long"
                },
                "FullLoadRows": {
                  "type": "long"
                },
                "LastUpdateTime": {
                  "type": "timestamp"
                },
                "TableState": {}
              }
            }
          },
          "Marker": {}
        }
      }
    },
    "ImportCertificate": {
      "input": {
        "type": "structure",
        "required": [
          "CertificateIdentifier"
        ],
        "members": {
          "CertificateIdentifier": {},
          "CertificatePem": {}
        }
      },
      "output": {
        "type": "structure",
        "members": {
          "Certificate": {
            "shape": "S15"
          }
        }
      }
    },
    "ListTagsForResource": {
      "input": {
        "type": "structure",
        "required": [
          "ResourceArn"
        ],
        "members": {
          "ResourceArn": {}
        }
      },
      "output": {
        "type": "structure",
        "members": {
          "TagList": {
            "shape": "S3"
          }
        }
      }
    },
    "ModifyEndpoint": {
      "input": {
        "type": "structure",
        "required": [
          "EndpointArn"
        ],
        "members": {
          "EndpointArn": {},
          "EndpointIdentifier": {},
          "EndpointType": {},
          "EngineName": {},
          "Username": {},
          "Password": {
            "shape": "S8"
          },
          "ServerName": {},
          "Port": {
            "type": "integer"
          },
          "DatabaseName": {},
          "ExtraConnectionAttributes": {},
          "CertificateArn": {},
          "SslMode": {}
        }
      },
      "output": {
        "type": "structure",
        "members": {
          "Endpoint": {
            "shape": "Sc"
          }
        }
      }
    },
    "ModifyReplicationInstance": {
      "input": {
        "type": "structure",
        "required": [
          "ReplicationInstanceArn"
        ],
        "members": {
          "ReplicationInstanceArn": {},
          "AllocatedStorage": {
            "type": "integer"
          },
          "ApplyImmediately": {
            "type": "boolean"
          },
          "ReplicationInstanceClass": {},
          "VpcSecurityGroupIds": {
            "shape": "Se"
          },
          "PreferredMaintenanceWindow": {},
          "MultiAZ": {
            "type": "boolean"
          },
          "EngineVersion": {},
          "AllowMajorVersionUpgrade": {
            "type": "boolean"
          },
          "AutoMinorVersionUpgrade": {
            "type": "boolean"
          },
          "ReplicationInstanceIdentifier": {}
        }
      },
      "output": {
        "type": "structure",
        "members": {
          "ReplicationInstance": {
            "shape": "Sh"
          }
        }
      }
    },
    "ModifyReplicationSubnetGroup": {
      "input": {
        "type": "structure",
        "required": [
          "ReplicationSubnetGroupIdentifier",
          "SubnetIds"
        ],
        "members": {
          "ReplicationSubnetGroupIdentifier": {},
          "ReplicationSubnetGroupDescription": {},
          "SubnetIds": {
            "shape": "Sv"
          }
        }
      },
      "output": {
        "type": "structure",
        "members": {
          "ReplicationSubnetGroup": {
            "shape": "Sm"
          }
        }
      }
    },
    "RefreshSchemas": {
      "input": {
        "type": "structure",
        "required": [
          "EndpointArn",
          "ReplicationInstanceArn"
        ],
        "members": {
          "EndpointArn": {},
          "ReplicationInstanceArn": {}
        }
      },
      "output": {
        "type": "structure",
        "members": {
          "RefreshSchemasStatus": {
            "shape": "S25"
          }
        }
      }
    },
    "RemoveTagsFromResource": {
      "input": {
        "type": "structure",
        "required": [
          "ResourceArn",
          "TagKeys"
        ],
        "members": {
          "ResourceArn": {},
          "TagKeys": {
            "type": "list",
            "member": {}
          }
        }
      },
      "output": {
        "type": "structure",
        "members": {}
      }
    },
    "StartReplicationTask": {
      "input": {
        "type": "structure",
        "required": [
          "ReplicationTaskArn",
          "StartReplicationTaskType"
        ],
        "members": {
          "ReplicationTaskArn": {},
          "StartReplicationTaskType": {},
          "CdcStartTime": {
            "type": "timestamp"
          }
        }
      },
      "output": {
        "type": "structure",
        "members": {
          "ReplicationTask": {
            "shape": "S10"
          }
        }
      }
    },
    "StopReplicationTask": {
      "input": {
        "type": "structure",
        "required": [
          "ReplicationTaskArn"
        ],
        "members": {
          "ReplicationTaskArn": {}
        }
      },
      "output": {
        "type": "structure",
        "members": {
          "ReplicationTask": {
            "shape": "S10"
          }
        }
      }
    },
    "TestConnection": {
      "input": {
        "type": "structure",
        "required": [
          "ReplicationInstanceArn",
          "EndpointArn"
        ],
        "members": {
          "ReplicationInstanceArn": {},
          "EndpointArn": {}
        }
      },
      "output": {
        "type": "structure",
        "members": {
          "Connection": {
            "shape": "S1r"
          }
        }
      }
    }
  },
  "shapes": {
    "S3": {
      "type": "list",
      "member": {
        "locationName": "Tag",
        "type": "structure",
        "members": {
          "Key": {},
          "Value": {}
        }
      }
    },
    "S8": {
      "type": "string",
      "sensitive": true
    },
    "Sc": {
      "type": "structure",
      "members": {
        "EndpointIdentifier": {},
        "EndpointType": {},
        "EngineName": {},
        "Username": {},
        "ServerName": {},
        "Port": {
          "type": "integer"
        },
        "DatabaseName": {},
        "ExtraConnectionAttributes": {},
        "Status": {},
        "KmsKeyId": {},
        "EndpointArn": {},
        "CertificateArn": {},
        "SslMode": {}
      }
    },
    "Se": {
      "type": "list",
      "member": {
        "locationName": "VpcSecurityGroupId"
      }
    },
    "Sh": {
      "type": "structure",
      "members": {
        "ReplicationInstanceIdentifier": {},
        "ReplicationInstanceClass": {},
        "ReplicationInstanceStatus": {},
        "AllocatedStorage": {
          "type": "integer"
        },
        "InstanceCreateTime": {
          "type": "timestamp"
        },
        "VpcSecurityGroups": {
          "type": "list",
          "member": {
            "locationName": "VpcSecurityGroupMembership",
            "type": "structure",
            "members": {
              "VpcSecurityGroupId": {},
              "Status": {}
            }
          }
        },
        "AvailabilityZone": {},
        "ReplicationSubnetGroup": {
          "shape": "Sm"
        },
        "PreferredMaintenanceWindow": {},
        "PendingModifiedValues": {
          "type": "structure",
          "members": {
            "ReplicationInstanceClass": {},
            "AllocatedStorage": {
              "type": "integer"
            },
            "MultiAZ": {
              "type": "boolean"
            },
            "EngineVersion": {}
          }
        },
        "MultiAZ": {
          "type": "boolean"
        },
        "EngineVersion": {},
        "AutoMinorVersionUpgrade": {
          "type": "boolean"
        },
        "KmsKeyId": {},
        "ReplicationInstanceArn": {},
        "ReplicationInstancePublicIpAddress": {
          "deprecated": true
        },
        "ReplicationInstancePrivateIpAddress": {
          "deprecated": true
        },
        "ReplicationInstancePublicIpAddresses": {
          "type": "list",
          "member": {}
        },
        "ReplicationInstancePrivateIpAddresses": {
          "type": "list",
          "member": {}
        },
        "PubliclyAccessible": {
          "type": "boolean"
        }
      }
    },
    "Sm": {
      "type": "structure",
      "members": {
        "ReplicationSubnetGroupIdentifier": {},
        "ReplicationSubnetGroupDescription": {},
        "VpcId": {},
        "SubnetGroupStatus": {},
        "Subnets": {
          "type": "list",
          "member": {
            "locationName": "Subnet",
            "type": "structure",
            "members": {
              "SubnetIdentifier": {},
              "SubnetAvailabilityZone": {
                "type": "structure",
                "members": {
                  "Name": {}
                }
              },
              "SubnetStatus": {}
            }
          }
        }
      }
    },
    "Sv": {
      "type": "list",
      "member": {
        "locationName": "SubnetIdentifier"
      }
    },
    "S10": {
      "type": "structure",
      "members": {
        "ReplicationTaskIdentifier": {},
        "SourceEndpointArn": {},
        "TargetEndpointArn": {},
        "ReplicationInstanceArn": {},
        "MigrationType": {},
        "TableMappings": {},
        "ReplicationTaskSettings": {},
        "Status": {},
        "LastFailureMessage": {},
        "ReplicationTaskCreationDate": {
          "type": "timestamp"
        },
        "ReplicationTaskStartDate": {
          "type": "timestamp"
        },
        "ReplicationTaskArn": {},
        "ReplicationTaskStats": {
          "type": "structure",
          "members": {
            "FullLoadProgressPercent": {
              "type": "integer"
            },
            "ElapsedTimeMillis": {
              "type": "long"
            },
            "TablesLoaded": {
              "type": "integer"
            },
            "TablesLoading": {
              "type": "integer"
            },
            "TablesQueued": {
              "type": "integer"
            },
            "TablesErrored": {
              "type": "integer"
            }
          }
        }
      }
    },
    "S15": {
      "type": "structure",
      "members": {
        "CertificateIdentifier": {},
        "CertificateCreationDate": {
          "type": "timestamp"
        },
        "CertificatePem": {},
        "CertificateArn": {},
        "CertificateOwner": {},
        "ValidFromDate": {
          "type": "timestamp"
        },
        "ValidToDate": {
          "type": "timestamp"
        },
        "SigningAlgorithm": {},
        "KeyLength": {
          "type": "integer"
        }
      }
    },
    "S1j": {
      "type": "list",
      "member": {
        "locationName": "Filter",
        "type": "structure",
        "required": [
          "Name",
          "Values"
        ],
        "members": {
          "Name": {},
          "Values": {
            "type": "list",
            "member": {
              "locationName": "Value"
            }
          }
        }
      }
    },
    "S1r": {
      "type": "structure",
      "members": {
        "ReplicationInstanceArn": {},
        "EndpointArn": {},
        "Status": {},
        "LastFailureMessage": {},
        "EndpointIdentifier": {},
        "ReplicationInstanceIdentifier": {}
      }
    },
    "S25": {
      "type": "structure",
      "members": {
        "EndpointArn": {},
        "ReplicationInstanceArn": {},
        "Status": {},
        "LastRefreshDate": {
          "type": "timestamp"
        },
        "LastFailureMessage": {}
      }
    }
  }
}