text:
# This file is auto-generated by AWSMetadata.jl
using AWS
using AWS.AWSServices: database_migration_service
using AWS.Compat
using AWS.UUIDs
"""
    AddTagsToResource()

Adds metadata tags to an AWS DMS resource, including replication instance, endpoint, security group, and migration task. These tags can also be used with cost allocation reporting to track cost associated with DMS resources, or used in a Condition statement in an IAM policy for DMS. For more information, see  Tag  data type description.

# Required Parameters
- `ResourceArn`: Identifies the AWS DMS resource to which tags should be added. The value for this parameter is an Amazon Resource Name (ARN). For AWS DMS, you can tag a replication instance, an endpoint, or a replication task.
- `Tags`: One or more tags to be assigned to the resource.

"""

add_tags_to_resource(ResourceArn, Tags; aws_config::AWSConfig=global_aws_config()) = database_migration_service("AddTagsToResource", Dict{String, Any}("ResourceArn"=>ResourceArn, "Tags"=>Tags); aws_config=aws_config)
add_tags_to_resource(ResourceArn, Tags, args::AbstractDict{String, <:Any}; aws_config::AWSConfig=global_aws_config()) = database_migration_service("AddTagsToResource", Dict{String, Any}(mergewith(_merge, Dict{String, Any}("ResourceArn"=>ResourceArn, "Tags"=>Tags), args)); aws_config=aws_config)

"""
    ApplyPendingMaintenanceAction()

Applies a pending maintenance action to a resource (for example, to a replication instance).

# Required Parameters
- `ApplyAction`: The pending maintenance action to apply to this resource.
- `OptInType`: A value that specifies the type of opt-in request, or undoes an opt-in request. You can't undo an opt-in request of type immediate. Valid values:    immediate - Apply the maintenance action immediately.    next-maintenance - Apply the maintenance action during the next maintenance window for the resource.    undo-opt-in - Cancel any existing next-maintenance opt-in requests.
- `ReplicationInstanceArn`: The Amazon Resource Name (ARN) of the AWS DMS resource that the pending maintenance action applies to.

"""

apply_pending_maintenance_action(ApplyAction, OptInType, ReplicationInstanceArn; aws_config::AWSConfig=global_aws_config()) = database_migration_service("ApplyPendingMaintenanceAction", Dict{String, Any}("ApplyAction"=>ApplyAction, "OptInType"=>OptInType, "ReplicationInstanceArn"=>ReplicationInstanceArn); aws_config=aws_config)
apply_pending_maintenance_action(ApplyAction, OptInType, ReplicationInstanceArn, args::AbstractDict{String, <:Any}; aws_config::AWSConfig=global_aws_config()) = database_migration_service("ApplyPendingMaintenanceAction", Dict{String, Any}(mergewith(_merge, Dict{String, Any}("ApplyAction"=>ApplyAction, "OptInType"=>OptInType, "ReplicationInstanceArn"=>ReplicationInstanceArn), args)); aws_config=aws_config)

"""
    CancelReplicationTaskAssessmentRun()

Cancels a single premigration assessment run. This operation prevents any individual assessments from running if they haven't started running. It also attempts to cancel any individual assessments that are currently running.

# Required Parameters
- `ReplicationTaskAssessmentRunArn`: Amazon Resource Name (ARN) of the premigration assessment run to be canceled.

"""

cancel_replication_task_assessment_run(ReplicationTaskAssessmentRunArn; aws_config::AWSConfig=global_aws_config()) = database_migration_service("CancelReplicationTaskAssessmentRun", Dict{String, Any}("ReplicationTaskAssessmentRunArn"=>ReplicationTaskAssessmentRunArn); aws_config=aws_config)
cancel_replication_task_assessment_run(ReplicationTaskAssessmentRunArn, args::AbstractDict{String, <:Any}; aws_config::AWSConfig=global_aws_config()) = database_migration_service("CancelReplicationTaskAssessmentRun", Dict{String, Any}(mergewith(_merge, Dict{String, Any}("ReplicationTaskAssessmentRunArn"=>ReplicationTaskAssessmentRunArn), args)); aws_config=aws_config)

"""
    CreateEndpoint()

Creates an endpoint using the provided settings.

# Required Parameters
- `EndpointIdentifier`: The database endpoint identifier. Identifiers must begin with a letter and must contain only ASCII letters, digits, and hyphens. They can't end with a hyphen, or contain two consecutive hyphens.
- `EndpointType`: The type of endpoint. Valid values are source and target.
- `EngineName`: The type of engine for the endpoint. Valid values, depending on the EndpointType value, include \"mysql\", \"oracle\", \"postgres\", \"mariadb\", \"aurora\", \"aurora-postgresql\", \"redshift\", \"s3\", \"db2\", \"azuredb\", \"sybase\", \"dynamodb\", \"mongodb\", \"kinesis\", \"kafka\", \"elasticsearch\", \"docdb\", \"sqlserver\", and \"neptune\".

# Optional Parameters
- `CertificateArn`: The Amazon Resource Name (ARN) for the certificate.
- `DatabaseName`: The name of the endpoint database.
- `DmsTransferSettings`: The settings in JSON format for the DMS transfer type of source endpoint.  Possible settings include the following:    ServiceAccessRoleArn - The IAM role that has permission to access the Amazon S3 bucket.    BucketName - The name of the S3 bucket to use.    CompressionType - An optional parameter to use GZIP to compress the target files. To use GZIP, set this value to NONE (the default). To keep the files uncompressed, don't use this value.   Shorthand syntax for these settings is as follows: ServiceAccessRoleArn=string,BucketName=string,CompressionType=string  JSON syntax for these settings is as follows: { \"ServiceAccessRoleArn\": \"string\", \"BucketName\": \"string\", \"CompressionType\": \"none\"|\"gzip\" }
- `DynamoDbSettings`: Settings in JSON format for the target Amazon DynamoDB endpoint. For information about other available settings, see Using Object Mapping to Migrate Data to DynamoDB in the AWS Database Migration Service User Guide.
- `ElasticsearchSettings`: Settings in JSON format for the target Elasticsearch endpoint. For more information about the available settings, see Extra Connection Attributes When Using Elasticsearch as a Target for AWS DMS in the AWS Database Migration Service User Guide.
- `ExternalTableDefinition`: The external table definition.
- `ExtraConnectionAttributes`: Additional attributes associated with the connection. Each attribute is specified as a name-value pair associated by an equal sign (=). Multiple attributes are separated by a semicolon (;) with no additional white space. For information on the attributes available for connecting your source or target endpoint, see Working with AWS DMS Endpoints in the AWS Database Migration Service User Guide.
- `IBMDb2Settings`: Settings in JSON format for the source IBM Db2 LUW endpoint. For information about other available settings, see Extra connection attributes when using Db2 LUW as a source for AWS DMS in the AWS Database Migration Service User Guide.
- `KafkaSettings`: Settings in JSON format for the target Apache Kafka endpoint. For more information about the available settings, see Using Apache Kafka as a Target for AWS Database Migration Service in the AWS Database Migration Service User Guide.
- `KinesisSettings`: Settings in JSON format for the target endpoint for Amazon Kinesis Data Streams. For more information about the available settings, see Using Amazon Kinesis Data Streams as a Target for AWS Database Migration Service in the AWS Database Migration Service User Guide.
- `KmsKeyId`: An AWS KMS key identifier that is used to encrypt the connection parameters for the endpoint. If you don't specify a value for the KmsKeyId parameter, then AWS DMS uses your default encryption key. AWS KMS creates the default encryption key for your AWS account. Your AWS account has a different default encryption key for each AWS Region.
- `MicrosoftSQLServerSettings`: Settings in JSON format for the source and target Microsoft SQL Server endpoint. For information about other available settings, see Extra connection attributes when using SQL Server as a source for AWS DMS and  Extra connection attributes when using SQL Server as a target for AWS DMS in the AWS Database Migration Service User Guide.
- `MongoDbSettings`: Settings in JSON format for the source MongoDB endpoint. For more information about the available settings, see Using MongoDB as a Target for AWS Database Migration Service in the AWS Database Migration Service User Guide.
- `MySQLSettings`: Settings in JSON format for the source and target MySQL endpoint. For information about other available settings, see Extra connection attributes when using MySQL as a source for AWS DMS and Extra connection attributes when using a MySQL-compatible database as a target for AWS DMS in the AWS Database Migration Service User Guide.
- `NeptuneSettings`: Settings in JSON format for the target Amazon Neptune endpoint. For more information about the available settings, see Specifying Endpoint Settings for Amazon Neptune as a Target in the AWS Database Migration Service User Guide.
- `OracleSettings`: Settings in JSON format for the source and target Oracle endpoint. For information about other available settings, see Extra connection attributes when using Oracle as a source for AWS DMS and  Extra connection attributes when using Oracle as a target for AWS DMS in the AWS Database Migration Service User Guide.
- `Password`: The password to be used to log in to the endpoint database.
- `Port`: The port used by the endpoint database.
- `PostgreSQLSettings`: Settings in JSON format for the source and target PostgreSQL endpoint. For information about other available settings, see Extra connection attributes when using PostgreSQL as a source for AWS DMS and  Extra connection attributes when using PostgreSQL as a target for AWS DMS in the AWS Database Migration Service User Guide.
- `RedshiftSettings`:
- `ResourceIdentifier`: A friendly name for the resource identifier at the end of the EndpointArn response parameter that is returned in the created Endpoint object. The value for this parameter can have up to 31 characters. It can contain only ASCII letters, digits, and hyphen ('-'). Also, it can't end with a hyphen or contain two consecutive hyphens, and can only begin with a letter, such as Example-App-ARN1. For example, this value might result in the EndpointArn value arn:aws:dms:eu-west-1:012345678901:rep:Example-App-ARN1. If you don't specify a ResourceIdentifier value, AWS DMS generates a default identifier value for the end of EndpointArn.
- `S3Settings`: Settings in JSON format for the target Amazon S3 endpoint. For more information about the available settings, see Extra Connection Attributes When Using Amazon S3 as a Target for AWS DMS in the AWS Database Migration Service User Guide.
- `ServerName`: The name of the server where the endpoint database resides.
- `ServiceAccessRoleArn`:  The Amazon Resource Name (ARN) for the service access role that you want to use to create the endpoint.
- `SslMode`: The Secure Sockets Layer (SSL) mode to use for the SSL connection. The default is none
- `SybaseSettings`: Settings in JSON format for the source and target SAP ASE endpoint. For information about other available settings, see Extra connection attributes when using SAP ASE as a source for AWS DMS and Extra connection attributes when using SAP ASE as a target for AWS DMS in the AWS Database Migration Service User Guide.
- `Tags`: One or more tags to be assigned to the endpoint.
- `Username`: The user name to be used to log in to the endpoint database.
"""

create_endpoint(EndpointIdentifier, EndpointType, EngineName; aws_config::AWSConfig=global_aws_config()) = database_migration_service("CreateEndpoint", Dict{String, Any}("EndpointIdentifier"=>EndpointIdentifier, "EndpointType"=>EndpointType, "EngineName"=>EngineName); aws_config=aws_config)
create_endpoint(EndpointIdentifier, EndpointType, EngineName, args::AbstractDict{String, <:Any}; aws_config::AWSConfig=global_aws_config()) = database_migration_service("CreateEndpoint", Dict{String, Any}(mergewith(_merge, Dict{String, Any}("EndpointIdentifier"=>EndpointIdentifier, "EndpointType"=>EndpointType, "EngineName"=>EngineName), args)); aws_config=aws_config)

"""
    CreateEventSubscription()

 Creates an AWS DMS event notification subscription.  You can specify the type of source (SourceType) you want to be notified of, provide a list of AWS DMS source IDs (SourceIds) that triggers the events, and provide a list of event categories (EventCategories) for events you want to be notified of. If you specify both the SourceType and SourceIds, such as SourceType = replication-instance and SourceIdentifier = my-replinstance, you will be notified of all the replication instance events for the specified source. If you specify a SourceType but don't specify a SourceIdentifier, you receive notice of the events for that source type for all your AWS DMS sources. If you don't specify either SourceType nor SourceIdentifier, you will be notified of events generated from all AWS DMS sources belonging to your customer account. For more information about AWS DMS events, see Working with Events and Notifications in the AWS Database Migration Service User Guide.

# Required Parameters
- `SnsTopicArn`:  The Amazon Resource Name (ARN) of the Amazon SNS topic created for event notification. The ARN is created by Amazon SNS when you create a topic and subscribe to it.
- `SubscriptionName`: The name of the AWS DMS event notification subscription. This name must be less than 255 characters.

# Optional Parameters
- `Enabled`:  A Boolean value; set to true to activate the subscription, or set to false to create the subscription but not activate it.
- `EventCategories`: A list of event categories for a source type that you want to subscribe to. For more information, see Working with Events and Notifications in the AWS Database Migration Service User Guide.
- `SourceIds`: A list of identifiers for which AWS DMS provides notification events. If you don't specify a value, notifications are provided for all sources. If you specify multiple values, they must be of the same type. For example, if you specify a database instance ID, then all of the other values must be database instance IDs.
- `SourceType`:  The type of AWS DMS resource that generates the events. For example, if you want to be notified of events generated by a replication instance, you set this parameter to replication-instance. If this value isn't specified, all events are returned.  Valid values: replication-instance | replication-task
- `Tags`: One or more tags to be assigned to the event subscription.
"""

create_event_subscription(SnsTopicArn, SubscriptionName; aws_config::AWSConfig=global_aws_config()) = database_migration_service("CreateEventSubscription", Dict{String, Any}("SnsTopicArn"=>SnsTopicArn, "SubscriptionName"=>SubscriptionName); aws_config=aws_config)
create_event_subscription(SnsTopicArn, SubscriptionName, args::AbstractDict{String, <:Any}; aws_config::AWSConfig=global_aws_config()) = database_migration_service("CreateEventSubscription", Dict{String, Any}(mergewith(_merge, Dict{String, Any}("SnsTopicArn"=>SnsTopicArn, "SubscriptionName"=>SubscriptionName), args)); aws_config=aws_config)

"""
    CreateReplicationInstance()

Creates the replication instance using the specified parameters. AWS DMS requires that your account have certain roles with appropriate permissions before you can create a replication instance. For information on the required roles, see Creating the IAM Roles to Use With the AWS CLI and AWS DMS API. For information on the required permissions, see IAM Permissions Needed to Use AWS DMS.

# Required Parameters
- `ReplicationInstanceClass`: The compute and memory capacity of the replication instance as defined for the specified replication instance class. For example to specify the instance class dms.c4.large, set this parameter to \"dms.c4.large\". For more information on the settings and capacities for the available replication instance classes, see  Selecting the right AWS DMS replication instance for your migration.
- `ReplicationInstanceIdentifier`: The replication instance identifier. This parameter is stored as a lowercase string. Constraints:   Must contain 1-63 alphanumeric characters or hyphens.   First character must be a letter.   Can't end with a hyphen or contain two consecutive hyphens.   Example: myrepinstance

# Optional Parameters
- `AllocatedStorage`: The amount of storage (in gigabytes) to be initially allocated for the replication instance.
- `AutoMinorVersionUpgrade`: A value that indicates whether minor engine upgrades are applied automatically to the replication instance during the maintenance window. This parameter defaults to true. Default: true
- `AvailabilityZone`: The Availability Zone where the replication instance will be created. The default value is a random, system-chosen Availability Zone in the endpoint's AWS Region, for example: us-east-1d
- `DnsNameServers`: A list of custom DNS name servers supported for the replication instance to access your on-premise source or target database. This list overrides the default name servers supported by the replication instance. You can specify a comma-separated list of internet addresses for up to four on-premise DNS name servers. For example: \"1.1.1.1,2.2.2.2,3.3.3.3,4.4.4.4\"
- `EngineVersion`: The engine version number of the replication instance. If an engine version number is not specified when a replication instance is created, the default is the latest engine version available.
- `KmsKeyId`: An AWS KMS key identifier that is used to encrypt the data on the replication instance. If you don't specify a value for the KmsKeyId parameter, then AWS DMS uses your default encryption key. AWS KMS creates the default encryption key for your AWS account. Your AWS account has a different default encryption key for each AWS Region.
- `MultiAZ`:  Specifies whether the replication instance is a Multi-AZ deployment. You can't set the AvailabilityZone parameter if the Multi-AZ parameter is set to true.
- `PreferredMaintenanceWindow`: The weekly time range during which system maintenance can occur, in Universal Coordinated Time (UTC).  Format: ddd:hh24:mi-ddd:hh24:mi  Default: A 30-minute window selected at random from an 8-hour block of time per AWS Region, occurring on a random day of the week. Valid Days: Mon, Tue, Wed, Thu, Fri, Sat, Sun Constraints: Minimum 30-minute window.
- `PubliclyAccessible`:  Specifies the accessibility options for the replication instance. A value of true represents an instance with a public IP address. A value of false represents an instance with a private IP address. The default value is true.
- `ReplicationSubnetGroupIdentifier`: A subnet group to associate with the replication instance.
- `ResourceIdentifier`: A friendly name for the resource identifier at the end of the EndpointArn response parameter that is returned in the created Endpoint object. The value for this parameter can have up to 31 characters. It can contain only ASCII letters, digits, and hyphen ('-'). Also, it can't end with a hyphen or contain two consecutive hyphens, and can only begin with a letter, such as Example-App-ARN1. For example, this value might result in the EndpointArn value arn:aws:dms:eu-west-1:012345678901:rep:Example-App-ARN1. If you don't specify a ResourceIdentifier value, AWS DMS generates a default identifier value for the end of EndpointArn.
- `Tags`: One or more tags to be assigned to the replication instance.
- `VpcSecurityGroupIds`:  Specifies the VPC security group to be used with the replication instance. The VPC security group must work with the VPC containing the replication instance.
"""

create_replication_instance(ReplicationInstanceClass, ReplicationInstanceIdentifier; aws_config::AWSConfig=global_aws_config()) = database_migration_service("CreateReplicationInstance", Dict{String, Any}("ReplicationInstanceClass"=>ReplicationInstanceClass, "ReplicationInstanceIdentifier"=>ReplicationInstanceIdentifier); aws_config=aws_config)
create_replication_instance(ReplicationInstanceClass, ReplicationInstanceIdentifier, args::AbstractDict{String, <:Any}; aws_config::AWSConfig=global_aws_config()) = database_migration_service("CreateReplicationInstance", Dict{String, Any}(mergewith(_merge, Dict{String, Any}("ReplicationInstanceClass"=>ReplicationInstanceClass, "ReplicationInstanceIdentifier"=>ReplicationInstanceIdentifier), args)); aws_config=aws_config)

"""
    CreateReplicationSubnetGroup()

Creates a replication subnet group given a list of the subnet IDs in a VPC.

# Required Parameters
- `ReplicationSubnetGroupDescription`: The description for the subnet group.
- `ReplicationSubnetGroupIdentifier`: The name for the replication subnet group. This value is stored as a lowercase string. Constraints: Must contain no more than 255 alphanumeric characters, periods, spaces, underscores, or hyphens. Must not be \"default\". Example: mySubnetgroup
- `SubnetIds`: One or more subnet IDs to be assigned to the subnet group.

# Optional Parameters
- `Tags`: One or more tags to be assigned to the subnet group.
"""

create_replication_subnet_group(ReplicationSubnetGroupDescription, ReplicationSubnetGroupIdentifier, SubnetIds; aws_config::AWSConfig=global_aws_config()) = database_migration_service("CreateReplicationSubnetGroup", Dict{String, Any}("ReplicationSubnetGroupDescription"=>ReplicationSubnetGroupDescription, "ReplicationSubnetGroupIdentifier"=>ReplicationSubnetGroupIdentifier, "SubnetIds"=>SubnetIds); aws_config=aws_config)
create_replication_subnet_group(ReplicationSubnetGroupDescription, ReplicationSubnetGroupIdentifier, SubnetIds, args::AbstractDict{String, <:Any}; aws_config::AWSConfig=global_aws_config()) = database_migration_service("CreateReplicationSubnetGroup", Dict{String, Any}(mergewith(_merge, Dict{String, Any}("ReplicationSubnetGroupDescription"=>ReplicationSubnetGroupDescription, "ReplicationSubnetGroupIdentifier"=>ReplicationSubnetGroupIdentifier, "SubnetIds"=>SubnetIds), args)); aws_config=aws_config)

"""
    CreateReplicationTask()

Creates a replication task using the specified parameters.

# Required Parameters
- `MigrationType`: The migration type. Valid values: full-load | cdc | full-load-and-cdc
- `ReplicationInstanceArn`: The Amazon Resource Name (ARN) of a replication instance.
- `ReplicationTaskIdentifier`: An identifier for the replication task. Constraints:   Must contain 1-255 alphanumeric characters or hyphens.   First character must be a letter.   Cannot end with a hyphen or contain two consecutive hyphens.
- `SourceEndpointArn`: An Amazon Resource Name (ARN) that uniquely identifies the source endpoint.
- `TableMappings`: The table mappings for the task, in JSON format. For more information, see Using Table Mapping to Specify Task Settings in the AWS Database Migration Service User Guide.
- `TargetEndpointArn`: An Amazon Resource Name (ARN) that uniquely identifies the target endpoint.

# Optional Parameters
- `CdcStartPosition`: Indicates when you want a change data capture (CDC) operation to start. Use either CdcStartPosition or CdcStartTime to specify when you want a CDC operation to start. Specifying both values results in an error.  The value can be in date, checkpoint, or LSN/SCN format. Date Example: --cdc-start-position “2018-03-08T12:12:12” Checkpoint Example: --cdc-start-position \"checkpoint:V1#27#mysql-bin-changelog.157832:1975:-1:2002:677883278264080:mysql-bin-changelog.157832:1876#0#0#*#0#93\" LSN Example: --cdc-start-position “mysql-bin-changelog.000024:373”  When you use this task setting with a source PostgreSQL database, a logical replication slot should already be created and associated with the source endpoint. You can verify this by setting the slotName extra connection attribute to the name of this logical replication slot. For more information, see Extra Connection Attributes When Using PostgreSQL as a Source for AWS DMS.
- `CdcStartTime`: Indicates the start time for a change data capture (CDC) operation. Use either CdcStartTime or CdcStartPosition to specify when you want a CDC operation to start. Specifying both values results in an error. Timestamp Example: --cdc-start-time “2018-03-08T12:12:12”
- `CdcStopPosition`: Indicates when you want a change data capture (CDC) operation to stop. The value can be either server time or commit time. Server time example: --cdc-stop-position “server_time:2018-02-09T12:12:12” Commit time example: --cdc-stop-position “commit_time: 2018-02-09T12:12:12 “
- `ReplicationTaskSettings`: Overall settings for the task, in JSON format. For more information, see Specifying Task Settings for AWS Database Migration Service Tasks in the AWS Database Migration User Guide.
- `ResourceIdentifier`: A friendly name for the resource identifier at the end of the EndpointArn response parameter that is returned in the created Endpoint object. The value for this parameter can have up to 31 characters. It can contain only ASCII letters, digits, and hyphen ('-'). Also, it can't end with a hyphen or contain two consecutive hyphens, and can only begin with a letter, such as Example-App-ARN1. For example, this value might result in the EndpointArn value arn:aws:dms:eu-west-1:012345678901:rep:Example-App-ARN1. If you don't specify a ResourceIdentifier value, AWS DMS generates a default identifier value for the end of EndpointArn.
- `Tags`: One or more tags to be assigned to the replication task.
- `TaskData`: Supplemental information that the task requires to migrate the data for certain source and target endpoints. For more information, see Specifying Supplemental Data for Task Settings in the AWS Database Migration Service User Guide.
"""

create_replication_task(MigrationType, ReplicationInstanceArn, ReplicationTaskIdentifier, SourceEndpointArn, TableMappings, TargetEndpointArn; aws_config::AWSConfig=global_aws_config()) = database_migration_service("CreateReplicationTask", Dict{String, Any}("MigrationType"=>MigrationType, "ReplicationInstanceArn"=>ReplicationInstanceArn, "ReplicationTaskIdentifier"=>ReplicationTaskIdentifier, "SourceEndpointArn"=>SourceEndpointArn, "TableMappings"=>TableMappings, "TargetEndpointArn"=>TargetEndpointArn); aws_config=aws_config)
create_replication_task(MigrationType, ReplicationInstanceArn, ReplicationTaskIdentifier, SourceEndpointArn, TableMappings, TargetEndpointArn, args::AbstractDict{String, <:Any}; aws_config::AWSConfig=global_aws_config()) = database_migration_service("CreateReplicationTask", Dict{String, Any}(mergewith(_merge, Dict{String, Any}("MigrationType"=>MigrationType, "ReplicationInstanceArn"=>ReplicationInstanceArn, "ReplicationTaskIdentifier"=>ReplicationTaskIdentifier, "SourceEndpointArn"=>SourceEndpointArn, "TableMappings"=>TableMappings, "TargetEndpointArn"=>TargetEndpointArn), args)); aws_config=aws_config)

"""
    DeleteCertificate()

Deletes the specified certificate.

# Required Parameters
- `CertificateArn`: The Amazon Resource Name (ARN) of the deleted certificate.

"""

delete_certificate(CertificateArn; aws_config::AWSConfig=global_aws_config()) = database_migration_service("DeleteCertificate", Dict{String, Any}("CertificateArn"=>CertificateArn); aws_config=aws_config)
delete_certificate(CertificateArn, args::AbstractDict{String, <:Any}; aws_config::AWSConfig=global_aws_config()) = database_migration_service("DeleteCertificate", Dict{String, Any}(mergewith(_merge, Dict{String, Any}("CertificateArn"=>CertificateArn), args)); aws_config=aws_config)

"""
    DeleteConnection()

Deletes the connection between a replication instance and an endpoint.

# Required Parameters
- `EndpointArn`: The Amazon Resource Name (ARN) string that uniquely identifies the endpoint.
- `ReplicationInstanceArn`: The Amazon Resource Name (ARN) of the replication instance.

"""

delete_connection(EndpointArn, ReplicationInstanceArn; aws_config::AWSConfig=global_aws_config()) = database_migration_service("DeleteConnection", Dict{String, Any}("EndpointArn"=>EndpointArn, "ReplicationInstanceArn"=>ReplicationInstanceArn); aws_config=aws_config)
delete_connection(EndpointArn, ReplicationInstanceArn, args::AbstractDict{String, <:Any}; aws_config::AWSConfig=global_aws_config()) = database_migration_service("DeleteConnection", Dict{String, Any}(mergewith(_merge, Dict{String, Any}("EndpointArn"=>EndpointArn, "ReplicationInstanceArn"=>ReplicationInstanceArn), args)); aws_config=aws_config)

"""
    DeleteEndpoint()

Deletes the specified endpoint.  All tasks associated with the endpoint must be deleted before you can delete the endpoint.

# Required Parameters
- `EndpointArn`: The Amazon Resource Name (ARN) string that uniquely identifies the endpoint.

"""

delete_endpoint(EndpointArn; aws_config::AWSConfig=global_aws_config()) = database_migration_service("DeleteEndpoint", Dict{String, Any}("EndpointArn"=>EndpointArn); aws_config=aws_config)
delete_endpoint(EndpointArn, args::AbstractDict{String, <:Any}; aws_config::AWSConfig=global_aws_config()) = database_migration_service("DeleteEndpoint", Dict{String, Any}(mergewith(_merge, Dict{String, Any}("EndpointArn"=>EndpointArn), args)); aws_config=aws_config)

"""
    DeleteEventSubscription()

 Deletes an AWS DMS event subscription.

# Required Parameters
- `SubscriptionName`: The name of the DMS event notification subscription to be deleted.

"""

delete_event_subscription(SubscriptionName; aws_config::AWSConfig=global_aws_config()) = database_migration_service("DeleteEventSubscription", Dict{String, Any}("SubscriptionName"=>SubscriptionName); aws_config=aws_config)
delete_event_subscription(SubscriptionName, args::AbstractDict{String, <:Any}; aws_config::AWSConfig=global_aws_config()) = database_migration_service("DeleteEventSubscription", Dict{String, Any}(mergewith(_merge, Dict{String, Any}("SubscriptionName"=>SubscriptionName), args)); aws_config=aws_config)

"""
    DeleteReplicationInstance()

Deletes the specified replication instance.  You must delete any migration tasks that are associated with the replication instance before you can delete it.

# Required Parameters
- `ReplicationInstanceArn`: The Amazon Resource Name (ARN) of the replication instance to be deleted.

"""

delete_replication_instance(ReplicationInstanceArn; aws_config::AWSConfig=global_aws_config()) = database_migration_service("DeleteReplicationInstance", Dict{String, Any}("ReplicationInstanceArn"=>ReplicationInstanceArn); aws_config=aws_config)
delete_replication_instance(ReplicationInstanceArn, args::AbstractDict{String, <:Any}; aws_config::AWSConfig=global_aws_config()) = database_migration_service("DeleteReplicationInstance", Dict{String, Any}(mergewith(_merge, Dict{String, Any}("ReplicationInstanceArn"=>ReplicationInstanceArn), args)); aws_config=aws_config)

"""
    DeleteReplicationSubnetGroup()

Deletes a subnet group.

# Required Parameters
- `ReplicationSubnetGroupIdentifier`: The subnet group name of the replication instance.

"""

delete_replication_subnet_group(ReplicationSubnetGroupIdentifier; aws_config::AWSConfig=global_aws_config()) = database_migration_service("DeleteReplicationSubnetGroup", Dict{String, Any}("ReplicationSubnetGroupIdentifier"=>ReplicationSubnetGroupIdentifier); aws_config=aws_config)
delete_replication_subnet_group(ReplicationSubnetGroupIdentifier, args::AbstractDict{String, <:Any}; aws_config::AWSConfig=global_aws_config()) = database_migration_service("DeleteReplicationSubnetGroup", Dict{String, Any}(mergewith(_merge, Dict{String, Any}("ReplicationSubnetGroupIdentifier"=>ReplicationSubnetGroupIdentifier), args)); aws_config=aws_config)

"""
    DeleteReplicationTask()

Deletes the specified replication task.

# Required Parameters
- `ReplicationTaskArn`: The Amazon Resource Name (ARN) of the replication task to be deleted.

"""

delete_replication_task(ReplicationTaskArn; aws_config::AWSConfig=global_aws_config()) = database_migration_service("DeleteReplicationTask", Dict{String, Any}("ReplicationTaskArn"=>ReplicationTaskArn); aws_config=aws_config)
delete_replication_task(ReplicationTaskArn, args::AbstractDict{String, <:Any}; aws_config::AWSConfig=global_aws_config()) = database_migration_service("DeleteReplicationTask", Dict{String, Any}(mergewith(_merge, Dict{String, Any}("ReplicationTaskArn"=>ReplicationTaskArn), args)); aws_config=aws_config)

"""
    DeleteReplicationTaskAssessmentRun()

Deletes the record of a single premigration assessment run. This operation removes all metadata that AWS DMS maintains about this assessment run. However, the operation leaves untouched all information about this assessment run that is stored in your Amazon S3 bucket.

# Required Parameters
- `ReplicationTaskAssessmentRunArn`: Amazon Resource Name (ARN) of the premigration assessment run to be deleted.

"""

delete_replication_task_assessment_run(ReplicationTaskAssessmentRunArn; aws_config::AWSConfig=global_aws_config()) = database_migration_service("DeleteReplicationTaskAssessmentRun", Dict{String, Any}("ReplicationTaskAssessmentRunArn"=>ReplicationTaskAssessmentRunArn); aws_config=aws_config)
delete_replication_task_assessment_run(ReplicationTaskAssessmentRunArn, args::AbstractDict{String, <:Any}; aws_config::AWSConfig=global_aws_config()) = database_migration_service("DeleteReplicationTaskAssessmentRun", Dict{String, Any}(mergewith(_merge, Dict{String, Any}("ReplicationTaskAssessmentRunArn"=>ReplicationTaskAssessmentRunArn), args)); aws_config=aws_config)

"""
    DescribeAccountAttributes()

Lists all of the AWS DMS attributes for a customer account. These attributes include AWS DMS quotas for the account and a unique account identifier in a particular DMS region. DMS quotas include a list of resource quotas supported by the account, such as the number of replication instances allowed. The description for each resource quota, includes the quota name, current usage toward that quota, and the quota's maximum value. DMS uses the unique account identifier to name each artifact used by DMS in the given region. This command does not take any parameters.

"""

describe_account_attributes(; aws_config::AWSConfig=global_aws_config()) = database_migration_service("DescribeAccountAttributes"; aws_config=aws_config)
describe_account_attributes(args::AbstractDict{String, <:Any}; aws_config::AWSConfig=global_aws_config()) = database_migration_service("DescribeAccountAttributes", args; aws_config=aws_config)

"""
    DescribeApplicableIndividualAssessments()

Provides a list of individual assessments that you can specify for a new premigration assessment run, given one or more parameters. If you specify an existing migration task, this operation provides the default individual assessments you can specify for that task. Otherwise, the specified parameters model elements of a possible migration task on which to base a premigration assessment run. To use these migration task modeling parameters, you must specify an existing replication instance, a source database engine, a target database engine, and a migration type. This combination of parameters potentially limits the default individual assessments available for an assessment run created for a corresponding migration task. If you specify no parameters, this operation provides a list of all possible individual assessments that you can specify for an assessment run. If you specify any one of the task modeling parameters, you must specify all of them or the operation cannot provide a list of individual assessments. The only parameter that you can specify alone is for an existing migration task. The specified task definition then determines the default list of individual assessments that you can specify in an assessment run for the task.

# Optional Parameters
- `Marker`: Optional pagination token provided by a previous request. If this parameter is specified, the response includes only records beyond the marker, up to the value specified by MaxRecords.
- `MaxRecords`: Maximum number of records to include in the response. If more records exist than the specified MaxRecords value, a pagination token called a marker is included in the response so that the remaining results can be retrieved.
- `MigrationType`: Name of the migration type that each provided individual assessment must support.
- `ReplicationInstanceArn`: ARN of a replication instance on which you want to base the default list of individual assessments.
- `ReplicationTaskArn`: Amazon Resource Name (ARN) of a migration task on which you want to base the default list of individual assessments.
- `SourceEngineName`: Name of a database engine that the specified replication instance supports as a source.
- `TargetEngineName`: Name of a database engine that the specified replication instance supports as a target.
"""

describe_applicable_individual_assessments(; aws_config::AWSConfig=global_aws_config()) = database_migration_service("DescribeApplicableIndividualAssessments"; aws_config=aws_config)
describe_applicable_individual_assessments(args::AbstractDict{String, <:Any}; aws_config::AWSConfig=global_aws_config()) = database_migration_service("DescribeApplicableIndividualAssessments", args; aws_config=aws_config)

"""
    DescribeCertificates()

Provides a description of the certificate.

# Optional Parameters
- `Filters`: Filters applied to the certificates described in the form of key-value pairs.
- `Marker`:  An optional pagination token provided by a previous request. If this parameter is specified, the response includes only records beyond the marker, up to the value specified by MaxRecords.
- `MaxRecords`:  The maximum number of records to include in the response. If more records exist than the specified MaxRecords value, a pagination token called a marker is included in the response so that the remaining results can be retrieved.  Default: 10
"""

describe_certificates(; aws_config::AWSConfig=global_aws_config()) = database_migration_service("DescribeCertificates"; aws_config=aws_config)
describe_certificates(args::AbstractDict{String, <:Any}; aws_config::AWSConfig=global_aws_config()) = database_migration_service("DescribeCertificates", args; aws_config=aws_config)

"""
    DescribeConnections()

Describes the status of the connections that have been made between the replication instance and an endpoint. Connections are created when you test an endpoint.

# Optional Parameters
- `Filters`: The filters applied to the connection. Valid filter names: endpoint-arn | replication-instance-arn
- `Marker`:  An optional pagination token provided by a previous request. If this parameter is specified, the response includes only records beyond the marker, up to the value specified by MaxRecords.
- `MaxRecords`:  The maximum number of records to include in the response. If more records exist than the specified MaxRecords value, a pagination token called a marker is included in the response so that the remaining results can be retrieved.  Default: 100 Constraints: Minimum 20, maximum 100.
"""

describe_connections(; aws_config::AWSConfig=global_aws_config()) = database_migration_service("DescribeConnections"; aws_config=aws_config)
describe_connections(args::AbstractDict{String, <:Any}; aws_config::AWSConfig=global_aws_config()) = database_migration_service("DescribeConnections", args; aws_config=aws_config)

"""
    DescribeEndpointTypes()

Returns information about the type of endpoints available.

# Optional Parameters
- `Filters`: Filters applied to the endpoint types. Valid filter names: engine-name | endpoint-type
- `Marker`:  An optional pagination token provided by a previous request. If this parameter is specified, the response includes only records beyond the marker, up to the value specified by MaxRecords.
- `MaxRecords`:  The maximum number of records to include in the response. If more records exist than the specified MaxRecords value, a pagination token called a marker is included in the response so that the remaining results can be retrieved.  Default: 100 Constraints: Minimum 20, maximum 100.
"""

describe_endpoint_types(; aws_config::AWSConfig=global_aws_config()) = database_migration_service("DescribeEndpointTypes"; aws_config=aws_config)
describe_endpoint_types(args::AbstractDict{String, <:Any}; aws_config::AWSConfig=global_aws_config()) = database_migration_service("DescribeEndpointTypes", args; aws_config=aws_config)

"""
    DescribeEndpoints()

Returns information about the endpoints for your account in the current region.

# Optional Parameters
- `Filters`: Filters applied to the endpoints. Valid filter names: endpoint-arn | endpoint-type | endpoint-id | engine-name
- `Marker`:  An optional pagination token provided by a previous request. If this parameter is specified, the response includes only records beyond the marker, up to the value specified by MaxRecords.
- `MaxRecords`:  The maximum number of records to include in the response. If more records exist than the specified MaxRecords value, a pagination token called a marker is included in the response so that the remaining results can be retrieved.  Default: 100 Constraints: Minimum 20, maximum 100.
"""

describe_endpoints(; aws_config::AWSConfig=global_aws_config()) = database_migration_service("DescribeEndpoints"; aws_config=aws_config)
describe_endpoints(args::AbstractDict{String, <:Any}; aws_config::AWSConfig=global_aws_config()) = database_migration_service("DescribeEndpoints", args; aws_config=aws_config)

"""
    DescribeEventCategories()

Lists categories for all event source types, or, if specified, for a specified source type. You can see a list of the event categories and source types in Working with Events and Notifications in the AWS Database Migration Service User Guide.

# Optional Parameters
- `Filters`: Filters applied to the event categories.
- `SourceType`:  The type of AWS DMS resource that generates events.  Valid values: replication-instance | replication-task
"""

describe_event_categories(; aws_config::AWSConfig=global_aws_config()) = database_migration_service("DescribeEventCategories"; aws_config=aws_config)
describe_event_categories(args::AbstractDict{String, <:Any}; aws_config::AWSConfig=global_aws_config()) = database_migration_service("DescribeEventCategories", args; aws_config=aws_config)

"""
    DescribeEventSubscriptions()

Lists all the event subscriptions for a customer account. The description of a subscription includes SubscriptionName, SNSTopicARN, CustomerID, SourceType, SourceID, CreationTime, and Status.  If you specify SubscriptionName, this action lists the description for that subscription.

# Optional Parameters
- `Filters`: Filters applied to event subscriptions.
- `Marker`:  An optional pagination token provided by a previous request. If this parameter is specified, the response includes only records beyond the marker, up to the value specified by MaxRecords.
- `MaxRecords`:  The maximum number of records to include in the response. If more records exist than the specified MaxRecords value, a pagination token called a marker is included in the response so that the remaining results can be retrieved.  Default: 100 Constraints: Minimum 20, maximum 100.
- `SubscriptionName`: The name of the AWS DMS event subscription to be described.
"""

describe_event_subscriptions(; aws_config::AWSConfig=global_aws_config()) = database_migration_service("DescribeEventSubscriptions"; aws_config=aws_config)
describe_event_subscriptions(args::AbstractDict{String, <:Any}; aws_config::AWSConfig=global_aws_config()) = database_migration_service("DescribeEventSubscriptions", args; aws_config=aws_config)

"""
    DescribeEvents()

 Lists events for a given source identifier and source type. You can also specify a start and end time. For more information on AWS DMS events, see Working with Events and Notifications in the AWS Database Migration User Guide.

# Optional Parameters
- `Duration`: The duration of the events to be listed.
- `EndTime`: The end time for the events to be listed.
- `EventCategories`: A list of event categories for the source type that you've chosen.
- `Filters`: Filters applied to events.
- `Marker`:  An optional pagination token provided by a previous request. If this parameter is specified, the response includes only records beyond the marker, up to the value specified by MaxRecords.
- `MaxRecords`:  The maximum number of records to include in the response. If more records exist than the specified MaxRecords value, a pagination token called a marker is included in the response so that the remaining results can be retrieved.  Default: 100 Constraints: Minimum 20, maximum 100.
- `SourceIdentifier`:  The identifier of an event source.
- `SourceType`: The type of AWS DMS resource that generates events. Valid values: replication-instance | replication-task
- `StartTime`: The start time for the events to be listed.
"""

describe_events(; aws_config::AWSConfig=global_aws_config()) = database_migration_service("DescribeEvents"; aws_config=aws_config)
describe_events(args::AbstractDict{String, <:Any}; aws_config::AWSConfig=global_aws_config()) = database_migration_service("DescribeEvents", args; aws_config=aws_config)

"""
    DescribeOrderableReplicationInstances()

Returns information about the replication instance types that can be created in the specified region.

# Optional Parameters
- `Marker`:  An optional pagination token provided by a previous request. If this parameter is specified, the response includes only records beyond the marker, up to the value specified by MaxRecords.
- `MaxRecords`:  The maximum number of records to include in the response. If more records exist than the specified MaxRecords value, a pagination token called a marker is included in the response so that the remaining results can be retrieved.  Default: 100 Constraints: Minimum 20, maximum 100.
"""

describe_orderable_replication_instances(; aws_config::AWSConfig=global_aws_config()) = database_migration_service("DescribeOrderableReplicationInstances"; aws_config=aws_config)
describe_orderable_replication_instances(args::AbstractDict{String, <:Any}; aws_config::AWSConfig=global_aws_config()) = database_migration_service("DescribeOrderableReplicationInstances", args; aws_config=aws_config)

"""
    DescribePendingMaintenanceActions()

For internal use only

# Optional Parameters
- `Filters`:
- `Marker`:  An optional pagination token provided by a previous request. If this parameter is specified, the response includes only records beyond the marker, up to the value specified by MaxRecords.
- `MaxRecords`:  The maximum number of records to include in the response. If more records exist than the specified MaxRecords value, a pagination token called a marker is included in the response so that the remaining results can be retrieved.  Default: 100 Constraints: Minimum 20, maximum 100.
- `ReplicationInstanceArn`: The Amazon Resource Name (ARN) of the replication instance.
"""

describe_pending_maintenance_actions(; aws_config::AWSConfig=global_aws_config()) = database_migration_service("DescribePendingMaintenanceActions"; aws_config=aws_config)
describe_pending_maintenance_actions(args::AbstractDict{String, <:Any}; aws_config::AWSConfig=global_aws_config()) = database_migration_service("DescribePendingMaintenanceActions", args; aws_config=aws_config)

"""
    DescribeRefreshSchemasStatus()

Returns the status of the RefreshSchemas operation.

# Required Parameters
- `EndpointArn`: The Amazon Resource Name (ARN) string that uniquely identifies the endpoint.

"""

describe_refresh_schemas_status(EndpointArn; aws_config::AWSConfig=global_aws_config()) = database_migration_service("DescribeRefreshSchemasStatus", Dict{String, Any}("EndpointArn"=>EndpointArn); aws_config=aws_config)
describe_refresh_schemas_status(EndpointArn, args::AbstractDict{String, <:Any}; aws_config::AWSConfig=global_aws_config()) = database_migration_service("DescribeRefreshSchemasStatus", Dict{String, Any}(mergewith(_merge, Dict{String, Any}("EndpointArn"=>EndpointArn), args)); aws_config=aws_config)

"""
    DescribeReplicationInstanceTaskLogs()

Returns information about the task logs for the specified task.

# Required Parameters
- `ReplicationInstanceArn`: The Amazon Resource Name (ARN) of the replication instance.

# Optional Parameters
- `Marker`:  An optional pagination token provided by a previous request. If this parameter is specified, the response includes only records beyond the marker, up to the value specified by MaxRecords.
- `MaxRecords`:  The maximum number of records to include in the response. If more records exist than the specified MaxRecords value, a pagination token called a marker is included in the response so that the remaining results can be retrieved.  Default: 100 Constraints: Minimum 20, maximum 100.
"""

describe_replication_instance_task_logs(ReplicationInstanceArn; aws_config::AWSConfig=global_aws_config()) = database_migration_service("DescribeReplicationInstanceTaskLogs", Dict{String, Any}("ReplicationInstanceArn"=>ReplicationInstanceArn); aws_config=aws_config)
describe_replication_instance_task_logs(ReplicationInstanceArn, args::AbstractDict{String, <:Any}; aws_config::AWSConfig=global_aws_config()) = database_migration_service("DescribeReplicationInstanceTaskLogs", Dict{String, Any}(mergewith(_merge, Dict{String, Any}("ReplicationInstanceArn"=>ReplicationInstanceArn), args)); aws_config=aws_config)

"""
    DescribeReplicationInstances()

Returns information about replication instances for your account in the current region.

# Optional Parameters
- `Filters`: Filters applied to replication instances. Valid filter names: replication-instance-arn | replication-instance-id | replication-instance-class | engine-version
- `Marker`:  An optional pagination token provided by a previous request. If this parameter is specified, the response includes only records beyond the marker, up to the value specified by MaxRecords.
- `MaxRecords`:  The maximum number of records to include in the response. If more records exist than the specified MaxRecords value, a pagination token called a marker is included in the response so that the remaining results can be retrieved.  Default: 100 Constraints: Minimum 20, maximum 100.
"""

describe_replication_instances(; aws_config::AWSConfig=global_aws_config()) = database_migration_service("DescribeReplicationInstances"; aws_config=aws_config)
describe_replication_instances(args::AbstractDict{String, <:Any}; aws_config::AWSConfig=global_aws_config()) = database_migration_service("DescribeReplicationInstances", args; aws_config=aws_config)

"""
    DescribeReplicationSubnetGroups()

Returns information about the replication subnet groups.

# Optional Parameters
- `Filters`: Filters applied to replication subnet groups. Valid filter names: replication-subnet-group-id
- `Marker`:  An optional pagination token provided by a previous request. If this parameter is specified, the response includes only records beyond the marker, up to the value specified by MaxRecords.
- `MaxRecords`:  The maximum number of records to include in the response. If more records exist than the specified MaxRecords value, a pagination token called a marker is included in the response so that the remaining results can be retrieved.  Default: 100 Constraints: Minimum 20, maximum 100.
"""

describe_replication_subnet_groups(; aws_config::AWSConfig=global_aws_config()) = database_migration_service("DescribeReplicationSubnetGroups"; aws_config=aws_config)
describe_replication_subnet_groups(args::AbstractDict{String, <:Any}; aws_config::AWSConfig=global_aws_config()) = database_migration_service("DescribeReplicationSubnetGroups", args; aws_config=aws_config)

"""
    DescribeReplicationTaskAssessmentResults()

Returns the task assessment results from Amazon S3. This action always returns the latest results.

# Optional Parameters
- `Marker`:  An optional pagination token provided by a previous request. If this parameter is specified, the response includes only records beyond the marker, up to the value specified by MaxRecords.
- `MaxRecords`:  The maximum number of records to include in the response. If more records exist than the specified MaxRecords value, a pagination token called a marker is included in the response so that the remaining results can be retrieved.  Default: 100 Constraints: Minimum 20, maximum 100.
- `ReplicationTaskArn`: The Amazon Resource Name (ARN) string that uniquely identifies the task. When this input parameter is specified, the API returns only one result and ignore the values of the MaxRecords and Marker parameters.
"""

describe_replication_task_assessment_results(; aws_config::AWSConfig=global_aws_config()) = database_migration_service("DescribeReplicationTaskAssessmentResults"; aws_config=aws_config)
describe_replication_task_assessment_results(args::AbstractDict{String, <:Any}; aws_config::AWSConfig=global_aws_config()) = database_migration_service("DescribeReplicationTaskAssessmentResults", args; aws_config=aws_config)

"""
    DescribeReplicationTaskAssessmentRuns()

Returns a paginated list of premigration assessment runs based on filter settings. These filter settings can specify a combination of premigration assessment runs, migration tasks, replication instances, and assessment run status values.  This operation doesn't return information about individual assessments. For this information, see the DescribeReplicationTaskIndividualAssessments operation.

# Optional Parameters
- `Filters`: Filters applied to the premigration assessment runs described in the form of key-value pairs. Valid filter names: replication-task-assessment-run-arn, replication-task-arn, replication-instance-arn, status
- `Marker`: An optional pagination token provided by a previous request. If this parameter is specified, the response includes only records beyond the marker, up to the value specified by MaxRecords.
- `MaxRecords`: The maximum number of records to include in the response. If more records exist than the specified MaxRecords value, a pagination token called a marker is included in the response so that the remaining results can be retrieved.
"""

describe_replication_task_assessment_runs(; aws_config::AWSConfig=global_aws_config()) = database_migration_service("DescribeReplicationTaskAssessmentRuns"; aws_config=aws_config)
describe_replication_task_assessment_runs(args::AbstractDict{String, <:Any}; aws_config::AWSConfig=global_aws_config()) = database_migration_service("DescribeReplicationTaskAssessmentRuns", args; aws_config=aws_config)

"""
    DescribeReplicationTaskIndividualAssessments()

Returns a paginated list of individual assessments based on filter settings. These filter settings can specify a combination of premigration assessment runs, migration tasks, and assessment status values.

# Optional Parameters
- `Filters`: Filters applied to the individual assessments described in the form of key-value pairs. Valid filter names: replication-task-assessment-run-arn, replication-task-arn, status
- `Marker`: An optional pagination token provided by a previous request. If this parameter is specified, the response includes only records beyond the marker, up to the value specified by MaxRecords.
- `MaxRecords`: The maximum number of records to include in the response. If more records exist than the specified MaxRecords value, a pagination token called a marker is included in the response so that the remaining results can be retrieved.
"""

describe_replication_task_individual_assessments(; aws_config::AWSConfig=global_aws_config()) = database_migration_service("DescribeReplicationTaskIndividualAssessments"; aws_config=aws_config)
describe_replication_task_individual_assessments(args::AbstractDict{String, <:Any}; aws_config::AWSConfig=global_aws_config()) = database_migration_service("DescribeReplicationTaskIndividualAssessments", args; aws_config=aws_config)

"""
    DescribeReplicationTasks()

Returns information about replication tasks for your account in the current region.

# Optional Parameters
- `Filters`: Filters applied to replication tasks. Valid filter names: replication-task-arn | replication-task-id | migration-type | endpoint-arn | replication-instance-arn
- `Marker`:  An optional pagination token provided by a previous request. If this parameter is specified, the response includes only records beyond the marker, up to the value specified by MaxRecords.
- `MaxRecords`:  The maximum number of records to include in the response. If more records exist than the specified MaxRecords value, a pagination token called a marker is included in the response so that the remaining results can be retrieved.  Default: 100 Constraints: Minimum 20, maximum 100.
- `WithoutSettings`: An option to set to avoid returning information about settings. Use this to reduce overhead when setting information is too large. To use this option, choose true; otherwise, choose false (the default).
"""

describe_replication_tasks(; aws_config::AWSConfig=global_aws_config()) = database_migration_service("DescribeReplicationTasks"; aws_config=aws_config)
describe_replication_tasks(args::AbstractDict{String, <:Any}; aws_config::AWSConfig=global_aws_config()) = database_migration_service("DescribeReplicationTasks", args; aws_config=aws_config)

"""
    DescribeSchemas()

Returns information about the schema for the specified endpoint.

# Required Parameters
- `EndpointArn`: The Amazon Resource Name (ARN) string that uniquely identifies the endpoint.

# Optional Parameters
- `Marker`:  An optional pagination token provided by a previous request. If this parameter is specified, the response includes only records beyond the marker, up to the value specified by MaxRecords.
- `MaxRecords`:  The maximum number of records to include in the response. If more records exist than the specified MaxRecords value, a pagination token called a marker is included in the response so that the remaining results can be retrieved.  Default: 100 Constraints: Minimum 20, maximum 100.
"""

describe_schemas(EndpointArn; aws_config::AWSConfig=global_aws_config()) = database_migration_service("DescribeSchemas", Dict{String, Any}("EndpointArn"=>EndpointArn); aws_config=aws_config)
describe_schemas(EndpointArn, args::AbstractDict{String, <:Any}; aws_config::AWSConfig=global_aws_config()) = database_migration_service("DescribeSchemas", Dict{String, Any}(mergewith(_merge, Dict{String, Any}("EndpointArn"=>EndpointArn), args)); aws_config=aws_config)

"""
    DescribeTableStatistics()

Returns table statistics on the database migration task, including table name, rows inserted, rows updated, and rows deleted. Note that the \"last updated\" column the DMS console only indicates the time that AWS DMS last updated the table statistics record for a table. It does not indicate the time of the last update to the table.

# Required Parameters
- `ReplicationTaskArn`: The Amazon Resource Name (ARN) of the replication task.

# Optional Parameters
- `Filters`: Filters applied to table statistics. Valid filter names: schema-name | table-name | table-state A combination of filters creates an AND condition where each record matches all specified filters.
- `Marker`:  An optional pagination token provided by a previous request. If this parameter is specified, the response includes only records beyond the marker, up to the value specified by MaxRecords.
- `MaxRecords`:  The maximum number of records to include in the response. If more records exist than the specified MaxRecords value, a pagination token called a marker is included in the response so that the remaining results can be retrieved.  Default: 100 Constraints: Minimum 20, maximum 500.
"""

describe_table_statistics(ReplicationTaskArn; aws_config::AWSConfig=global_aws_config()) = database_migration_service("DescribeTableStatistics", Dict{String, Any}("ReplicationTaskArn"=>ReplicationTaskArn); aws_config=aws_config)
describe_table_statistics(ReplicationTaskArn, args::AbstractDict{String, <:Any}; aws_config::AWSConfig=global_aws_config()) = database_migration_service("DescribeTableStatistics", Dict{String, Any}(mergewith(_merge, Dict{String, Any}("ReplicationTaskArn"=>ReplicationTaskArn), args)); aws_config=aws_config)

"""
    ImportCertificate()

Uploads the specified certificate.

# Required Parameters
- `CertificateIdentifier`: A customer-assigned name for the certificate. Identifiers must begin with a letter and must contain only ASCII letters, digits, and hyphens. They can't end with a hyphen or contain two consecutive hyphens.

# Optional Parameters
- `CertificatePem`: The contents of a .pem file, which contains an X.509 certificate.
- `CertificateWallet`: The location of an imported Oracle Wallet certificate for use with SSL.
- `Tags`: The tags associated with the certificate.
"""

import_certificate(CertificateIdentifier; aws_config::AWSConfig=global_aws_config()) = database_migration_service("ImportCertificate", Dict{String, Any}("CertificateIdentifier"=>CertificateIdentifier); aws_config=aws_config)
import_certificate(CertificateIdentifier, args::AbstractDict{String, <:Any}; aws_config::AWSConfig=global_aws_config()) = database_migration_service("ImportCertificate", Dict{String, Any}(mergewith(_merge, Dict{String, Any}("CertificateIdentifier"=>CertificateIdentifier), args)); aws_config=aws_config)

"""
    ListTagsForResource()

Lists all metadata tags attached to an AWS DMS resource, including replication instance, endpoint, security group, and migration task. For more information, see  Tag  data type description.

# Required Parameters
- `ResourceArn`: The Amazon Resource Name (ARN) string that uniquely identifies the AWS DMS resource.

"""

list_tags_for_resource(ResourceArn; aws_config::AWSConfig=global_aws_config()) = database_migration_service("ListTagsForResource", Dict{String, Any}("ResourceArn"=>ResourceArn); aws_config=aws_config)
list_tags_for_resource(ResourceArn, args::AbstractDict{String, <:Any}; aws_config::AWSConfig=global_aws_config()) = database_migration_service("ListTagsForResource", Dict{String, Any}(mergewith(_merge, Dict{String, Any}("ResourceArn"=>ResourceArn), args)); aws_config=aws_config)

"""
    ModifyEndpoint()

Modifies the specified endpoint.

# Required Parameters
- `EndpointArn`: The Amazon Resource Name (ARN) string that uniquely identifies the endpoint.

# Optional Parameters
- `CertificateArn`: The Amazon Resource Name (ARN) of the certificate used for SSL connection.
- `DatabaseName`: The name of the endpoint database.
- `DmsTransferSettings`: The settings in JSON format for the DMS transfer type of source endpoint.  Attributes include the following:   serviceAccessRoleArn - The AWS Identity and Access Management (IAM) role that has permission to access the Amazon S3 bucket.   BucketName - The name of the S3 bucket to use.   compressionType - An optional parameter to use GZIP to compress the target files. Either set this parameter to NONE (the default) or don't use it to leave the files uncompressed.   Shorthand syntax for these settings is as follows: ServiceAccessRoleArn=string ,BucketName=string,CompressionType=string  JSON syntax for these settings is as follows: { \"ServiceAccessRoleArn\": \"string\", \"BucketName\": \"string\", \"CompressionType\": \"none\"|\"gzip\" }
- `DynamoDbSettings`: Settings in JSON format for the target Amazon DynamoDB endpoint. For information about other available settings, see Using Object Mapping to Migrate Data to DynamoDB in the AWS Database Migration Service User Guide.
- `ElasticsearchSettings`: Settings in JSON format for the target Elasticsearch endpoint. For more information about the available settings, see Extra Connection Attributes When Using Elasticsearch as a Target for AWS DMS in the AWS Database Migration Service User Guide.
- `EndpointIdentifier`: The database endpoint identifier. Identifiers must begin with a letter and must contain only ASCII letters, digits, and hyphens. They can't end with a hyphen or contain two consecutive hyphens.
- `EndpointType`: The type of endpoint. Valid values are source and target.
- `EngineName`: The type of engine for the endpoint. Valid values, depending on the EndpointType, include \"mysql\", \"oracle\", \"postgres\", \"mariadb\", \"aurora\", \"aurora-postgresql\", \"redshift\", \"s3\", \"db2\", \"azuredb\", \"sybase\", \"dynamodb\", \"mongodb\", \"kinesis\", \"kafka\", \"elasticsearch\", \"documentdb\", \"sqlserver\", and \"neptune\".
- `ExternalTableDefinition`: The external table definition.
- `ExtraConnectionAttributes`: Additional attributes associated with the connection. To reset this parameter, pass the empty string (\"\") as an argument.
- `IBMDb2Settings`: Settings in JSON format for the source IBM Db2 LUW endpoint. For information about other available settings, see Extra connection attributes when using Db2 LUW as a source for AWS DMS in the AWS Database Migration Service User Guide.
- `KafkaSettings`: Settings in JSON format for the target Apache Kafka endpoint. For more information about the available settings, see Using Apache Kafka as a Target for AWS Database Migration Service in the AWS Database Migration Service User Guide.
- `KinesisSettings`: Settings in JSON format for the target endpoint for Amazon Kinesis Data Streams. For more information about the available settings, see Using Amazon Kinesis Data Streams as a Target for AWS Database Migration Service in the AWS Database Migration Service User Guide.
- `MicrosoftSQLServerSettings`: Settings in JSON format for the source and target Microsoft SQL Server endpoint. For information about other available settings, see Extra connection attributes when using SQL Server as a source for AWS DMS and  Extra connection attributes when using SQL Server as a target for AWS DMS in the AWS Database Migration Service User Guide.
- `MongoDbSettings`: Settings in JSON format for the source MongoDB endpoint. For more information about the available settings, see the configuration properties section in  Using MongoDB as a Target for AWS Database Migration Service in the AWS Database Migration Service User Guide.
- `MySQLSettings`: Settings in JSON format for the source and target MySQL endpoint. For information about other available settings, see Extra connection attributes when using MySQL as a source for AWS DMS and Extra connection attributes when using a MySQL-compatible database as a target for AWS DMS in the AWS Database Migration Service User Guide.
- `NeptuneSettings`: Settings in JSON format for the target Amazon Neptune endpoint. For more information about the available settings, see Specifying Endpoint Settings for Amazon Neptune as a Target in the AWS Database Migration Service User Guide.
- `OracleSettings`: Settings in JSON format for the source and target Oracle endpoint. For information about other available settings, see Extra connection attributes when using Oracle as a source for AWS DMS and  Extra connection attributes when using Oracle as a target for AWS DMS in the AWS Database Migration Service User Guide.
- `Password`: The password to be used to login to the endpoint database.
- `Port`: The port used by the endpoint database.
- `PostgreSQLSettings`: Settings in JSON format for the source and target PostgreSQL endpoint. For information about other available settings, see Extra connection attributes when using PostgreSQL as a source for AWS DMS and  Extra connection attributes when using PostgreSQL as a target for AWS DMS in the AWS Database Migration Service User Guide.
- `RedshiftSettings`:
- `S3Settings`: Settings in JSON format for the target Amazon S3 endpoint. For more information about the available settings, see Extra Connection Attributes When Using Amazon S3 as a Target for AWS DMS in the AWS Database Migration Service User Guide.
- `ServerName`: The name of the server where the endpoint database resides.
- `ServiceAccessRoleArn`:  The Amazon Resource Name (ARN) for the service access role you want to use to modify the endpoint.
- `SslMode`: The SSL mode used to connect to the endpoint. The default value is none.
- `SybaseSettings`: Settings in JSON format for the source and target SAP ASE endpoint. For information about other available settings, see Extra connection attributes when using SAP ASE as a source for AWS DMS and Extra connection attributes when using SAP ASE as a target for AWS DMS in the AWS Database Migration Service User Guide.
- `Username`: The user name to be used to login to the endpoint database.
"""

modify_endpoint(EndpointArn; aws_config::AWSConfig=global_aws_config()) = database_migration_service("ModifyEndpoint", Dict{String, Any}("EndpointArn"=>EndpointArn); aws_config=aws_config)
modify_endpoint(EndpointArn, args::AbstractDict{String, <:Any}; aws_config::AWSConfig=global_aws_config()) = database_migration_service("ModifyEndpoint", Dict{String, Any}(mergewith(_merge, Dict{String, Any}("EndpointArn"=>EndpointArn), args)); aws_config=aws_config)

"""
    ModifyEventSubscription()

Modifies an existing AWS DMS event notification subscription.

# Required Parameters
- `SubscriptionName`: The name of the AWS DMS event notification subscription to be modified.

# Optional Parameters
- `Enabled`:  A Boolean value; set to true to activate the subscription.
- `EventCategories`:  A list of event categories for a source type that you want to subscribe to. Use the DescribeEventCategories action to see a list of event categories.
- `SnsTopicArn`:  The Amazon Resource Name (ARN) of the Amazon SNS topic created for event notification. The ARN is created by Amazon SNS when you create a topic and subscribe to it.
- `SourceType`:  The type of AWS DMS resource that generates the events you want to subscribe to.  Valid values: replication-instance | replication-task
"""

modify_event_subscription(SubscriptionName; aws_config::AWSConfig=global_aws_config()) = database_migration_service("ModifyEventSubscription", Dict{String, Any}("SubscriptionName"=>SubscriptionName); aws_config=aws_config)
modify_event_subscription(SubscriptionName, args::AbstractDict{String, <:Any}; aws_config::AWSConfig=global_aws_config()) = database_migration_service("ModifyEventSubscription", Dict{String, Any}(mergewith(_merge, Dict{String, Any}("SubscriptionName"=>SubscriptionName), args)); aws_config=aws_config)

"""
    ModifyReplicationInstance()

Modifies the replication instance to apply new settings. You can change one or more parameters by specifying these parameters and the new values in the request. Some settings are applied during the maintenance window.

# Required Parameters
- `ReplicationInstanceArn`: The Amazon Resource Name (ARN) of the replication instance.

# Optional Parameters
- `AllocatedStorage`: The amount of storage (in gigabytes) to be allocated for the replication instance.
- `AllowMajorVersionUpgrade`: Indicates that major version upgrades are allowed. Changing this parameter does not result in an outage, and the change is asynchronously applied as soon as possible. This parameter must be set to true when specifying a value for the EngineVersion parameter that is a different major version than the replication instance's current version.
- `ApplyImmediately`: Indicates whether the changes should be applied immediately or during the next maintenance window.
- `AutoMinorVersionUpgrade`: A value that indicates that minor version upgrades are applied automatically to the replication instance during the maintenance window. Changing this parameter doesn't result in an outage, except in the case dsecribed following. The change is asynchronously applied as soon as possible.  An outage does result if these factors apply:    This parameter is set to true during the maintenance window.   A newer minor version is available.    AWS DMS has enabled automatic patching for the given engine version.
- `EngineVersion`: The engine version number of the replication instance. When modifying a major engine version of an instance, also set AllowMajorVersionUpgrade to true.
- `MultiAZ`:  Specifies whether the replication instance is a Multi-AZ deployment. You can't set the AvailabilityZone parameter if the Multi-AZ parameter is set to true.
- `PreferredMaintenanceWindow`: The weekly time range (in UTC) during which system maintenance can occur, which might result in an outage. Changing this parameter does not result in an outage, except in the following situation, and the change is asynchronously applied as soon as possible. If moving this window to the current time, there must be at least 30 minutes between the current time and end of the window to ensure pending changes are applied. Default: Uses existing setting Format: ddd:hh24:mi-ddd:hh24:mi Valid Days: Mon | Tue | Wed | Thu | Fri | Sat | Sun Constraints: Must be at least 30 minutes
- `ReplicationInstanceClass`: The compute and memory capacity of the replication instance as defined for the specified replication instance class. For example to specify the instance class dms.c4.large, set this parameter to \"dms.c4.large\". For more information on the settings and capacities for the available replication instance classes, see  Selecting the right AWS DMS replication instance for your migration.
- `ReplicationInstanceIdentifier`: The replication instance identifier. This parameter is stored as a lowercase string.
- `VpcSecurityGroupIds`:  Specifies the VPC security group to be used with the replication instance. The VPC security group must work with the VPC containing the replication instance.
"""

modify_replication_instance(ReplicationInstanceArn; aws_config::AWSConfig=global_aws_config()) = database_migration_service("ModifyReplicationInstance", Dict{String, Any}("ReplicationInstanceArn"=>ReplicationInstanceArn); aws_config=aws_config)
modify_replication_instance(ReplicationInstanceArn, args::AbstractDict{String, <:Any}; aws_config::AWSConfig=global_aws_config()) = database_migration_service("ModifyReplicationInstance", Dict{String, Any}(mergewith(_merge, Dict{String, Any}("ReplicationInstanceArn"=>ReplicationInstanceArn), args)); aws_config=aws_config)

"""
    ModifyReplicationSubnetGroup()

Modifies the settings for the specified replication subnet group.

# Required Parameters
- `ReplicationSubnetGroupIdentifier`: The name of the replication instance subnet group.
- `SubnetIds`: A list of subnet IDs.

# Optional Parameters
- `ReplicationSubnetGroupDescription`: A description for the replication instance subnet group.
"""

modify_replication_subnet_group(ReplicationSubnetGroupIdentifier, SubnetIds; aws_config::AWSConfig=global_aws_config()) = database_migration_service("ModifyReplicationSubnetGroup", Dict{String, Any}("ReplicationSubnetGroupIdentifier"=>ReplicationSubnetGroupIdentifier, "SubnetIds"=>SubnetIds); aws_config=aws_config)
modify_replication_subnet_group(ReplicationSubnetGroupIdentifier, SubnetIds, args::AbstractDict{String, <:Any}; aws_config::AWSConfig=global_aws_config()) = database_migration_service("ModifyReplicationSubnetGroup", Dict{String, Any}(mergewith(_merge, Dict{String, Any}("ReplicationSubnetGroupIdentifier"=>ReplicationSubnetGroupIdentifier, "SubnetIds"=>SubnetIds), args)); aws_config=aws_config)

"""
    ModifyReplicationTask()

Modifies the specified replication task. You can't modify the task endpoints. The task must be stopped before you can modify it.  For more information about AWS DMS tasks, see Working with Migration Tasks in the AWS Database Migration Service User Guide.

# Required Parameters
- `ReplicationTaskArn`: The Amazon Resource Name (ARN) of the replication task.

# Optional Parameters
- `CdcStartPosition`: Indicates when you want a change data capture (CDC) operation to start. Use either CdcStartPosition or CdcStartTime to specify when you want a CDC operation to start. Specifying both values results in an error.  The value can be in date, checkpoint, or LSN/SCN format. Date Example: --cdc-start-position “2018-03-08T12:12:12” Checkpoint Example: --cdc-start-position \"checkpoint:V1#27#mysql-bin-changelog.157832:1975:-1:2002:677883278264080:mysql-bin-changelog.157832:1876#0#0#*#0#93\" LSN Example: --cdc-start-position “mysql-bin-changelog.000024:373”  When you use this task setting with a source PostgreSQL database, a logical replication slot should already be created and associated with the source endpoint. You can verify this by setting the slotName extra connection attribute to the name of this logical replication slot. For more information, see Extra Connection Attributes When Using PostgreSQL as a Source for AWS DMS.
- `CdcStartTime`: Indicates the start time for a change data capture (CDC) operation. Use either CdcStartTime or CdcStartPosition to specify when you want a CDC operation to start. Specifying both values results in an error. Timestamp Example: --cdc-start-time “2018-03-08T12:12:12”
- `CdcStopPosition`: Indicates when you want a change data capture (CDC) operation to stop. The value can be either server time or commit time. Server time example: --cdc-stop-position “server_time:2018-02-09T12:12:12” Commit time example: --cdc-stop-position “commit_time: 2018-02-09T12:12:12 “
- `MigrationType`: The migration type. Valid values: full-load | cdc | full-load-and-cdc
- `ReplicationTaskIdentifier`: The replication task identifier. Constraints:   Must contain 1-255 alphanumeric characters or hyphens.   First character must be a letter.   Cannot end with a hyphen or contain two consecutive hyphens.
- `ReplicationTaskSettings`: JSON file that contains settings for the task, such as task metadata settings.
- `TableMappings`: When using the AWS CLI or boto3, provide the path of the JSON file that contains the table mappings. Precede the path with file://. When working with the DMS API, provide the JSON as the parameter value, for example: --table-mappings file://mappingfile.json
- `TaskData`: Supplemental information that the task requires to migrate the data for certain source and target endpoints. For more information, see Specifying Supplemental Data for Task Settings in the AWS Database Migration Service User Guide.
"""

modify_replication_task(ReplicationTaskArn; aws_config::AWSConfig=global_aws_config()) = database_migration_service("ModifyReplicationTask", Dict{String, Any}("ReplicationTaskArn"=>ReplicationTaskArn); aws_config=aws_config)
modify_replication_task(ReplicationTaskArn, args::AbstractDict{String, <:Any}; aws_config::AWSConfig=global_aws_config()) = database_migration_service("ModifyReplicationTask", Dict{String, Any}(mergewith(_merge, Dict{String, Any}("ReplicationTaskArn"=>ReplicationTaskArn), args)); aws_config=aws_config)

"""
    RebootReplicationInstance()

Reboots a replication instance. Rebooting results in a momentary outage, until the replication instance becomes available again.

# Required Parameters
- `ReplicationInstanceArn`: The Amazon Resource Name (ARN) of the replication instance.

# Optional Parameters
- `ForceFailover`: If this parameter is true, the reboot is conducted through a Multi-AZ failover. (If the instance isn't configured for Multi-AZ, then you can't specify true.)
"""

reboot_replication_instance(ReplicationInstanceArn; aws_config::AWSConfig=global_aws_config()) = database_migration_service("RebootReplicationInstance", Dict{String, Any}("ReplicationInstanceArn"=>ReplicationInstanceArn); aws_config=aws_config)
reboot_replication_instance(ReplicationInstanceArn, args::AbstractDict{String, <:Any}; aws_config::AWSConfig=global_aws_config()) = database_migration_service("RebootReplicationInstance", Dict{String, Any}(mergewith(_merge, Dict{String, Any}("ReplicationInstanceArn"=>ReplicationInstanceArn), args)); aws_config=aws_config)

"""
    RefreshSchemas()

Populates the schema for the specified endpoint. This is an asynchronous operation and can take several minutes. You can check the status of this operation by calling the DescribeRefreshSchemasStatus operation.

# Required Parameters
- `EndpointArn`: The Amazon Resource Name (ARN) string that uniquely identifies the endpoint.
- `ReplicationInstanceArn`: The Amazon Resource Name (ARN) of the replication instance.

"""

refresh_schemas(EndpointArn, ReplicationInstanceArn; aws_config::AWSConfig=global_aws_config()) = database_migration_service("RefreshSchemas", Dict{String, Any}("EndpointArn"=>EndpointArn, "ReplicationInstanceArn"=>ReplicationInstanceArn); aws_config=aws_config)
refresh_schemas(EndpointArn, ReplicationInstanceArn, args::AbstractDict{String, <:Any}; aws_config::AWSConfig=global_aws_config()) = database_migration_service("RefreshSchemas", Dict{String, Any}(mergewith(_merge, Dict{String, Any}("EndpointArn"=>EndpointArn, "ReplicationInstanceArn"=>ReplicationInstanceArn), args)); aws_config=aws_config)

"""
    ReloadTables()

Reloads the target database table with the source data.

# Required Parameters
- `ReplicationTaskArn`: The Amazon Resource Name (ARN) of the replication task.
- `TablesToReload`: The name and schema of the table to be reloaded.

# Optional Parameters
- `ReloadOption`: Options for reload. Specify data-reload to reload the data and re-validate it if validation is enabled. Specify validate-only to re-validate the table. This option applies only when validation is enabled for the task.  Valid values: data-reload, validate-only Default value is data-reload.
"""

reload_tables(ReplicationTaskArn, TablesToReload; aws_config::AWSConfig=global_aws_config()) = database_migration_service("ReloadTables", Dict{String, Any}("ReplicationTaskArn"=>ReplicationTaskArn, "TablesToReload"=>TablesToReload); aws_config=aws_config)
reload_tables(ReplicationTaskArn, TablesToReload, args::AbstractDict{String, <:Any}; aws_config::AWSConfig=global_aws_config()) = database_migration_service("ReloadTables", Dict{String, Any}(mergewith(_merge, Dict{String, Any}("ReplicationTaskArn"=>ReplicationTaskArn, "TablesToReload"=>TablesToReload), args)); aws_config=aws_config)

"""
    RemoveTagsFromResource()

Removes metadata tags from an AWS DMS resource, including replication instance, endpoint, security group, and migration task. For more information, see  Tag  data type description.

# Required Parameters
- `ResourceArn`: An AWS DMS resource from which you want to remove tag(s). The value for this parameter is an Amazon Resource Name (ARN).
- `TagKeys`: The tag key (name) of the tag to be removed.

"""

remove_tags_from_resource(ResourceArn, TagKeys; aws_config::AWSConfig=global_aws_config()) = database_migration_service("RemoveTagsFromResource", Dict{String, Any}("ResourceArn"=>ResourceArn, "TagKeys"=>TagKeys); aws_config=aws_config)
remove_tags_from_resource(ResourceArn, TagKeys, args::AbstractDict{String, <:Any}; aws_config::AWSConfig=global_aws_config()) = database_migration_service("RemoveTagsFromResource", Dict{String, Any}(mergewith(_merge, Dict{String, Any}("ResourceArn"=>ResourceArn, "TagKeys"=>TagKeys), args)); aws_config=aws_config)

"""
    StartReplicationTask()

Starts the replication task. For more information about AWS DMS tasks, see Working with Migration Tasks  in the AWS Database Migration Service User Guide.

# Required Parameters
- `ReplicationTaskArn`: The Amazon Resource Name (ARN) of the replication task to be started.
- `StartReplicationTaskType`: A type of replication task.

# Optional Parameters
- `CdcStartPosition`: Indicates when you want a change data capture (CDC) operation to start. Use either CdcStartPosition or CdcStartTime to specify when you want a CDC operation to start. Specifying both values results in an error.  The value can be in date, checkpoint, or LSN/SCN format. Date Example: --cdc-start-position “2018-03-08T12:12:12” Checkpoint Example: --cdc-start-position \"checkpoint:V1#27#mysql-bin-changelog.157832:1975:-1:2002:677883278264080:mysql-bin-changelog.157832:1876#0#0#*#0#93\" LSN Example: --cdc-start-position “mysql-bin-changelog.000024:373”  When you use this task setting with a source PostgreSQL database, a logical replication slot should already be created and associated with the source endpoint. You can verify this by setting the slotName extra connection attribute to the name of this logical replication slot. For more information, see Extra Connection Attributes When Using PostgreSQL as a Source for AWS DMS.
- `CdcStartTime`: Indicates the start time for a change data capture (CDC) operation. Use either CdcStartTime or CdcStartPosition to specify when you want a CDC operation to start. Specifying both values results in an error. Timestamp Example: --cdc-start-time “2018-03-08T12:12:12”
- `CdcStopPosition`: Indicates when you want a change data capture (CDC) operation to stop. The value can be either server time or commit time. Server time example: --cdc-stop-position “server_time:2018-02-09T12:12:12” Commit time example: --cdc-stop-position “commit_time: 2018-02-09T12:12:12 “
"""

start_replication_task(ReplicationTaskArn, StartReplicationTaskType; aws_config::AWSConfig=global_aws_config()) = database_migration_service("StartReplicationTask", Dict{String, Any}("ReplicationTaskArn"=>ReplicationTaskArn, "StartReplicationTaskType"=>StartReplicationTaskType); aws_config=aws_config)
start_replication_task(ReplicationTaskArn, StartReplicationTaskType, args::AbstractDict{String, <:Any}; aws_config::AWSConfig=global_aws_config()) = database_migration_service("StartReplicationTask", Dict{String, Any}(mergewith(_merge, Dict{String, Any}("ReplicationTaskArn"=>ReplicationTaskArn, "StartReplicationTaskType"=>StartReplicationTaskType), args)); aws_config=aws_config)

"""
    StartReplicationTaskAssessment()

 Starts the replication task assessment for unsupported data types in the source database.

# Required Parameters
- `ReplicationTaskArn`:  The Amazon Resource Name (ARN) of the replication task.

"""

start_replication_task_assessment(ReplicationTaskArn; aws_config::AWSConfig=global_aws_config()) = database_migration_service("StartReplicationTaskAssessment", Dict{String, Any}("ReplicationTaskArn"=>ReplicationTaskArn); aws_config=aws_config)
start_replication_task_assessment(ReplicationTaskArn, args::AbstractDict{String, <:Any}; aws_config::AWSConfig=global_aws_config()) = database_migration_service("StartReplicationTaskAssessment", Dict{String, Any}(mergewith(_merge, Dict{String, Any}("ReplicationTaskArn"=>ReplicationTaskArn), args)); aws_config=aws_config)

"""
    StartReplicationTaskAssessmentRun()

Starts a new premigration assessment run for one or more individual assessments of a migration task. The assessments that you can specify depend on the source and target database engine and the migration type defined for the given task. To run this operation, your migration task must already be created. After you run this operation, you can review the status of each individual assessment. You can also run the migration task manually after the assessment run and its individual assessments complete.

# Required Parameters
- `AssessmentRunName`: Unique name to identify the assessment run.
- `ReplicationTaskArn`: Amazon Resource Name (ARN) of the migration task associated with the premigration assessment run that you want to start.
- `ResultLocationBucket`: Amazon S3 bucket where you want AWS DMS to store the results of this assessment run.
- `ServiceAccessRoleArn`: ARN of a service role needed to start the assessment run.

# Optional Parameters
- `Exclude`: Space-separated list of names for specific individual assessments that you want to exclude. These names come from the default list of individual assessments that AWS DMS supports for the associated migration task. This task is specified by ReplicationTaskArn.  You can't set a value for Exclude if you also set a value for IncludeOnly in the API operation. To identify the names of the default individual assessments that AWS DMS supports for the associated migration task, run the DescribeApplicableIndividualAssessments operation using its own ReplicationTaskArn request parameter.
- `IncludeOnly`: Space-separated list of names for specific individual assessments that you want to include. These names come from the default list of individual assessments that AWS DMS supports for the associated migration task. This task is specified by ReplicationTaskArn.  You can't set a value for IncludeOnly if you also set a value for Exclude in the API operation.  To identify the names of the default individual assessments that AWS DMS supports for the associated migration task, run the DescribeApplicableIndividualAssessments operation using its own ReplicationTaskArn request parameter.
- `ResultEncryptionMode`: Encryption mode that you can specify to encrypt the results of this assessment run. If you don't specify this request parameter, AWS DMS stores the assessment run results without encryption. You can specify one of the options following:    \"SSE_S3\" – The server-side encryption provided as a default by Amazon S3.    \"SSE_KMS\" – AWS Key Management Service (AWS KMS) encryption. This encryption can use either a custom KMS encryption key that you specify or the default KMS encryption key that DMS provides.
- `ResultKmsKeyArn`: ARN of a custom KMS encryption key that you specify when you set ResultEncryptionMode to \"SSE_KMS\".
- `ResultLocationFolder`: Folder within an Amazon S3 bucket where you want AWS DMS to store the results of this assessment run.
"""

start_replication_task_assessment_run(AssessmentRunName, ReplicationTaskArn, ResultLocationBucket, ServiceAccessRoleArn; aws_config::AWSConfig=global_aws_config()) = database_migration_service("StartReplicationTaskAssessmentRun", Dict{String, Any}("AssessmentRunName"=>AssessmentRunName, "ReplicationTaskArn"=>ReplicationTaskArn, "ResultLocationBucket"=>ResultLocationBucket, "ServiceAccessRoleArn"=>ServiceAccessRoleArn); aws_config=aws_config)
start_replication_task_assessment_run(AssessmentRunName, ReplicationTaskArn, ResultLocationBucket, ServiceAccessRoleArn, args::AbstractDict{String, <:Any}; aws_config::AWSConfig=global_aws_config()) = database_migration_service("StartReplicationTaskAssessmentRun", Dict{String, Any}(mergewith(_merge, Dict{String, Any}("AssessmentRunName"=>AssessmentRunName, "ReplicationTaskArn"=>ReplicationTaskArn, "ResultLocationBucket"=>ResultLocationBucket, "ServiceAccessRoleArn"=>ServiceAccessRoleArn), args)); aws_config=aws_config)

"""
    StopReplicationTask()

Stops the replication task.

# Required Parameters
- `ReplicationTaskArn`: The Amazon Resource Name(ARN) of the replication task to be stopped.

"""

stop_replication_task(ReplicationTaskArn; aws_config::AWSConfig=global_aws_config()) = database_migration_service("StopReplicationTask", Dict{String, Any}("ReplicationTaskArn"=>ReplicationTaskArn); aws_config=aws_config)
stop_replication_task(ReplicationTaskArn, args::AbstractDict{String, <:Any}; aws_config::AWSConfig=global_aws_config()) = database_migration_service("StopReplicationTask", Dict{String, Any}(mergewith(_merge, Dict{String, Any}("ReplicationTaskArn"=>ReplicationTaskArn), args)); aws_config=aws_config)

"""
    TestConnection()

Tests the connection between the replication instance and the endpoint.

# Required Parameters
- `EndpointArn`: The Amazon Resource Name (ARN) string that uniquely identifies the endpoint.
- `ReplicationInstanceArn`: The Amazon Resource Name (ARN) of the replication instance.

"""

test_connection(EndpointArn, ReplicationInstanceArn; aws_config::AWSConfig=global_aws_config()) = database_migration_service("TestConnection", Dict{String, Any}("EndpointArn"=>EndpointArn, "ReplicationInstanceArn"=>ReplicationInstanceArn); aws_config=aws_config)
test_connection(EndpointArn, ReplicationInstanceArn, args::AbstractDict{String, <:Any}; aws_config::AWSConfig=global_aws_config()) = database_migration_service("TestConnection", Dict{String, Any}(mergewith(_merge, Dict{String, Any}("EndpointArn"=>EndpointArn, "ReplicationInstanceArn"=>ReplicationInstanceArn), args)); aws_config=aws_config)


text:
#!/usr/bin/julia

# TODO: Create different GS2 plotting schemes. Select radius, energy, time averaging scheme, etc.

filename = ARGS[1]
var = ARGS[2]

ext: jl

max_stars_repo_name: gjwilkie/PlasmaTools

max_issues_repo_name: gjwilkie/PlasmaTools

max_forks_repo_name: gjwilkie/PlasmaTools


text:
module CommunalHelperCrystalHeart

using ..Ahorn, Maple

@mapdef Entity "CommunalHelper/CrystalHeart" CrystalHeart(x::Integer, y::Integer,
	removeCameraTriggers::Bool=false)

const placements = Ahorn.PlacementDict(
	"Crystal Heart (Shards) (Communal Helper)" => Ahorn.EntityPlacement(
	CrystalHeart,
	"point",
	Dict{String, Any}(),
	function(entity)
		entity.data["nodes"] = [
			(Int(entity.data["x"]) - 20, Int(entity.data["y"]) - 20),
			(Int(entity.data["x"]), Int(entity.data["y"]) - 20),
			(Int(entity.data["x"]) + 20, Int(entity.data["y"]) - 20),
		]
	end
	),
)

Ahorn.nodeLimits(entity::CrystalHeart) = 1, -1

const sprite = "collectables/heartGem/ghost00.png"

const shardSprites = Tuple{String, String}[
	("collectables/CommunalHelper/heartGemShard/shard_outline0$i.png",
	"collectables/CommunalHelper/heartGemShard/shard0$i.png"
	) for i=0:2
]

function Ahorn.selection(entity::CrystalHeart)
	x, y = Ahorn.position(entity)

	nodes = get(entity.data, "nodes", ())

	res = Ahorn.Rectangle[Ahorn.getSpriteRectangle(sprite, x, y)]

	for i = 1:length(nodes)
		nx, ny = nodes[i]
		push!(res, Ahorn.getSpriteRectangle(shardSprites[mod1(i, 3)][1], nx, ny))
	end

	return res
end

function Ahorn.renderSelectedAbs(ctx::Ahorn.Cairo.CairoContext, entity::CrystalHeart)
	x, y = Ahorn.position(entity)

	nodes = get(entity.data, "nodes", ())

	for i = 1:length(nodes)
		nx, ny = nodes[i]

		Ahorn.drawLines(ctx, Tuple{Number, Number}[(x, y), (nx, ny)], Ahorn.colors.selection_selected_fc)
	end
end

function Ahorn.renderAbs(ctx::Ahorn.Cairo.CairoContext, entity::CrystalHeart)
	x, y = Ahorn.position(entity)

	nodes = get(entity.data, "nodes", ())

	for i = 1:length(nodes)
		nx, ny = nodes[i]
		sprIdx = mod1(i, 3)
		Ahorn.drawSprite(ctx, shardSprites[sprIdx][1], nx, ny)
		Ahorn.drawSprite(ctx, shardSprites[sprIdx][2], nx, ny)
	end

	Ahorn.drawSprite(ctx, sprite, x, y)
end

end

max_stars_repo_name: FlynnSC/CommunalHelper

max_issues_repo_name: FlynnSC/CommunalHelper

max_forks_repo_name: FlynnSC/CommunalHelper


text:
"""
Analytical Linear Regression.

With `EqualWeight`, this is equivalent to offline linear regression.
```
using OnlineStats, StatsBase
o = LinReg(x, y, wgt = EqualWeight())
coef(o)
coeftable(o)
vcov(o)
stderr(o)
predict(o, x)
confint(o, .95)
```
"""
type LinReg{W <: Weight} <: OnlineStat{XYInput}
	β0::Float64
	β::VecF
	A::MatF
	S::MatF  # Placeholder for swept version of A
	intercept::Bool
	weight::W
end
function LinReg(p::Integer, wgt::Weight = EqualWeight(); intercept::Bool = true)
	d = p + 2
    o = LinReg(0.0, zeros(p), zeros(d, d), zeros(d, d), intercept, wgt)
	o.A[1, 1] = 1.0
	o
end
function LinReg(x::AMat, y::AVec, wgt::Weight = EqualWeight(); kw...)
    o = LinReg(size(x, 2), wgt; kw...)
    fit!(o, x, y, size(x, 1))
    o
end
# fitting methods don't create the coefficient vector.
# only "sufficient statistics" are updated.  coef(o) calculates the estimate.
# TODO: make singleton version better
function _fit!(o::LinReg, x::AVec, y::Real, γ::Float64)
	_fitbatch!(o, x', [y], γ)
end
function _fitbatch!(o::LinReg, x::AMat, y::AVec, γ::Float64)
	n2, p = size(x)
	rng = 2:(p + 1)
	# updates look like (1 - γ) * A + γ * x'x / n2
	γ1 = γ / n2
	γ2 = 1.0 - γ
	# update x'x
 	BLAS.syrk!('U', 'T', γ1, x, γ2, view(o.A, rng, rng))
	# update x'y
	BLAS.gemv!('T', γ1, x, y, γ2, view(o.A, rng, p + 2))
	# update y'y
	o.A[end, end] = smooth(o.A[end, end], sumabs2(y), γ1)
    if o.intercept
        # update 1'x
    	smooth!(view(o.A, 1:1, rng), mean(x, 1), γ)
    	# update 1'y
    	o.A[1, end] = smooth(o.A[1, end], sum(y), γ1)
    end
end
value(o::LinReg) = coef(o)

#---------------------------------------------------------------------------# methods
function coef(o::LinReg)
	swp = (1 + !o.intercept):length(o.β) + 1  # indices to sweep on
    if nobs(o) > 0
        copy!(o.S, o.A)
        sweep!(o.S, swp)
        copy!(o.β, o.S[2:length(o.β) + 1, end])
		o.β0 = o.S[1, end]
    end
	if o.intercept
		return vcat(o.β0, o.β)
	else
		return o.β
	end
end
# mse is only correct when coef(o) is used before
mse(o::LinReg) = o.S[end, end] * nobs(o) / (nobs(o) - length(o.β) - o.intercept)
function StatsBase.coeftable(o::LinReg)
    β = coef(o)
    p = length(β)
    se = StatsBase.stderr(o)
    ts = β ./ se
    StatsBase.CoefTable(
        [β se ts Ds.ccdf(Ds.FDist(1, nobs(o) - p), abs2(ts))],
        ["Estimate","Std.Error","t value", "Pr(>|t|)"],
        ["x$i" for i = 1:p],
        4
    )
end
function StatsBase.confint(o::LinReg, level::Real = 0.95)
    β = coef(o)
    mult = StatsBase.stderr(o) * quantile(Ds.TDist(nobs(o) - length(β) - 1), (1. - level) / 2.)
    hcat(β, β) + mult * [1. -1.]
end
function StatsBase.vcov(o::LinReg)
    coef(o)
	rng = (1 + !o.intercept):length(o.β) + 1
    -mse(o) * o.S[rng, rng] / nobs(o)
 end
StatsBase.stderr(o::LinReg) = sqrt(diag(StatsBase.vcov(o)))
predict(o::LinReg, x::AVec) = o.β0 * o.intercept + dot(x, o.β)
function predict(o::LinReg, x::AMat)
	η = x * o.β
	if o.intercept
		β0 = o.β0
		for i in eachindex(η)
			@inbounds η[i] += β0
		end
	end
	return η
end
function loss(o::LinReg, x, y)
    0.5 * mean(abs2(y - predict(o, x)))
end

# TODO: get penalized estimates
# # coef for Ridge
# function coef(o::LinReg, pen::RidgePenalty)
#     copy!(o.S, o.A)
#     for j in 1:length(o.value)
#         o.s[j] += pen.λ
#     end
#     sweep!(o.s, 1:length(o.value))
#     copy!(o.value, o.s[1:end-1, end])
#     o.value
# end

# # coef for Lasso, ElasticNet, SCAD
# function coef(o::LinReg, penalty::Penalty;
#         maxit::Integer = 200,
#         tol::Real = 1e-6,
#         step::Real = 1.0,
#         verbose::Bool = false
#     )
#     s = Float64(step)
#     p = length(o.value)
#     copy!(o.s, cor(o.c))
#     β = zeros(p)
#     βold = zeros(p)
#     old_tolerance = Inf
#     tolerance = 0.0
#     iters = 0
#
#     xtx = o.s[1:p, 1:p]  # x'x / n
#     xty = o.s[1:p, end]  # x'y / n
#
#     for i in 1:maxit
#         iters += 1
#         copy!(βold, β)
#         β = β + ((i - 2) / (i + 1)) * (β - βold)
#         g = (xty - xtx * β)
#         β = β + s * g
#         prox!(penalty, β, s)
#         tolerance = βtol(β, βold, xtx, xty, penalty)
#         tolerance < tol && break
#     end
#
#     tolerance < tol || warn("Algorithm did not achieve convergence (tolerance = $tolerance)")
#     verbose && println("tolerance:                ", tolerance)
#     verbose && println("iterations:               ", iters)
#     verbose && println("penalized log-likelihood: ", _penloglik(β, xtx, xty, penalty))
#     scaled_to_original!(β, o)
# end
# function scaled_to_original!(β::VecF, o::LinReg)
#     μ = mean(o.c)   # mean(y) is μ[end]
#     σ = std(o.c)    # std(y) is σ[end]
#     σy = σ[end]
#     β₀ = μ[end] - σy * sum(μ[1:end-1] ./ σ[1:end-1] .* β)
#     for j in eachindex(β)
#         β[j] = β[j] * σy / σ[j]
#     end
#     [β₀; β]
# end
# function _penloglik(β::VecF, xtx::MatF, xty::VecF, penalty::Penalty)
#     # propto penalized likelihood
#     .5 * dot(β, xtx * β) - dot(β, xty) + _j(penalty, β)
# end
# function βtol(β::VecF, βold::VecF, xtx::MatF, xty::VecF, penalty::Penalty)
#     # convergence criteria
#     v = _penloglik(β, xtx, xty, penalty)
#     u = _penloglik(βold, xtx, xty, penalty)
#     abs(u - v) / abs(v)
# end


text:
@testset "TS.jl" begin
    t1 = 1
    t2 = 2
    times = [t1, t2]
    marks = [4.2, -7]
    ts = SEMPP.TimeSeries(times)
    mts = SEMPP.MarkedTimeSeries(times, marks)
    times2 = [1, 2, 3]
    @test_throws ErrorException SEMPP.MarkedTimeSeries(times2, marks)
    @test SEMPP.ground_process(mts).times == ts.times
    @test SEMPP.start_time(ts) == t1
    @test SEMPP.start_time(mts) == t1
    @test SEMPP.end_time(ts) == t2
    @test SEMPP.end_time(mts) == t2
end


text:
using JuliaLearn
using Test

@testset "JuliaLearn.jl" begin
    # Write your tests here.
end