# WARNING: DO NOT EDIT, AUTO-GENERATED CODE!
# See https://github.com/aws-beam/aws-codegen for more details.
defmodule AWS.Drs do
@moduledoc """
AWS Elastic Disaster Recovery Service.
"""
alias AWS.Client
alias AWS.Request
@typedoc """
## Example:
list_extensible_source_servers_response() :: %{
optional("items") => list(staging_source_server()),
optional("nextToken") => String.t() | atom()
}
"""
@type list_extensible_source_servers_response() :: %{(String.t() | atom()) => any()}
@typedoc """
## Example:
describe_source_servers_request_filters() :: %{
"hardwareId" => String.t() | atom(),
"sourceServerIDs" => list(String.t() | atom()),
"stagingAccountIDs" => list(String.t() | atom())
}
"""
@type describe_source_servers_request_filters() :: %{(String.t() | atom()) => any()}
@typedoc """
## Example:
associate_source_network_stack_request() :: %{
required("cfnStackName") => String.t() | atom(),
required("sourceNetworkID") => String.t() | atom()
}
"""
@type associate_source_network_stack_request() :: %{(String.t() | atom()) => any()}
@typedoc """
## Example:
initialize_service_response() :: %{}
"""
@type initialize_service_response() :: %{}
@typedoc """
## Example:
life_cycle_last_launch_initiated() :: %{
"apiCallDateTime" => String.t() | atom(),
"jobID" => String.t() | atom(),
"type" => String.t() | atom()
}
"""
@type life_cycle_last_launch_initiated() :: %{(String.t() | atom()) => any()}
@typedoc """
## Example:
get_launch_configuration_request() :: %{
required("sourceServerID") => String.t() | atom()
}
"""
@type get_launch_configuration_request() :: %{(String.t() | atom()) => any()}
@typedoc """
## Example:
update_launch_configuration_template_request() :: %{
optional("copyPrivateIp") => [boolean()],
optional("copyTags") => [boolean()],
optional("exportBucketArn") => String.t() | atom(),
optional("launchDisposition") => String.t() | atom(),
optional("launchIntoSourceInstance") => [boolean()],
optional("licensing") => licensing(),
optional("postLaunchEnabled") => [boolean()],
optional("targetInstanceTypeRightSizingMethod") => String.t() | atom(),
required("launchConfigurationTemplateID") => String.t() | atom()
}
"""
@type update_launch_configuration_template_request() :: %{(String.t() | atom()) => any()}
@typedoc """
## Example:
job_log() :: %{
"event" => String.t() | atom(),
"eventData" => job_log_event_data(),
"logDateTime" => String.t() | atom()
}
"""
@type job_log() :: %{(String.t() | atom()) => any()}
@typedoc """
## Example:
export_source_network_cfn_template_response() :: %{
"s3DestinationUrl" => String.t() | atom()
}
"""
@type export_source_network_cfn_template_response() :: %{(String.t() | atom()) => any()}
@typedoc """
## Example:
stop_replication_response() :: %{
optional("sourceServer") => source_server()
}
"""
@type stop_replication_response() :: %{(String.t() | atom()) => any()}
@typedoc """
## Example:
list_launch_actions_response() :: %{
"items" => list(launch_action()),
"nextToken" => String.t() | atom()
}
"""
@type list_launch_actions_response() :: %{(String.t() | atom()) => any()}
@typedoc """
## Example:
throttling_exception() :: %{
"message" => String.t() | atom(),
"quotaCode" => String.t() | atom(),
"retryAfterSeconds" => String.t() | atom(),
"serviceCode" => String.t() | atom()
}
"""
@type throttling_exception() :: %{(String.t() | atom()) => any()}
@typedoc """
## Example:
recovery_instance_data_replication_error() :: %{
"error" => String.t() | atom(),
"rawError" => String.t() | atom()
}
"""
@type recovery_instance_data_replication_error() :: %{(String.t() | atom()) => any()}
@typedoc """
## Example:
start_source_network_replication_request() :: %{
required("sourceNetworkID") => String.t() | atom()
}
"""
@type start_source_network_replication_request() :: %{(String.t() | atom()) => any()}
@typedoc """
## Example:
data_replication_info() :: %{
"dataReplicationError" => data_replication_error(),
"dataReplicationInitiation" => data_replication_initiation(),
"dataReplicationState" => String.t() | atom(),
"etaDateTime" => String.t() | atom(),
"lagDuration" => String.t() | atom(),
"replicatedDisks" => list(data_replication_info_replicated_disk()),
"stagingAvailabilityZone" => String.t() | atom(),
"stagingOutpostArn" => String.t() | atom()
}
"""
@type data_replication_info() :: %{(String.t() | atom()) => any()}
@typedoc """
## Example:
replication_configuration_replicated_disk() :: %{
"deviceName" => String.t() | atom(),
"iops" => float(),
"isBootDisk" => [boolean()],
"optimizedStagingDiskType" => String.t() | atom(),
"stagingDiskType" => String.t() | atom(),
"throughput" => float()
}
"""
@type replication_configuration_replicated_disk() :: %{(String.t() | atom()) => any()}
@typedoc """
## Example:
stop_failback_request() :: %{
required("recoveryInstanceID") => String.t() | atom()
}
"""
@type stop_failback_request() :: %{(String.t() | atom()) => any()}
@typedoc """
## Example:
access_denied_exception() :: %{
"code" => String.t() | atom(),
"message" => String.t() | atom()
}
"""
@type access_denied_exception() :: %{(String.t() | atom()) => any()}
@typedoc """
## Example:
create_extended_source_server_request() :: %{
optional("tags") => map(),
required("sourceServerArn") => String.t() | atom()
}
"""
@type create_extended_source_server_request() :: %{(String.t() | atom()) => any()}
@typedoc """
## Example:
launch_into_instance_properties() :: %{
"launchIntoEC2InstanceID" => String.t() | atom()
}
"""
@type launch_into_instance_properties() :: %{(String.t() | atom()) => any()}
@typedoc """
## Example:
describe_source_servers_response() :: %{
optional("items") => list(source_server()),
optional("nextToken") => String.t() | atom()
}
"""
@type describe_source_servers_response() :: %{(String.t() | atom()) => any()}
@typedoc """
## Example:
p_i_t_policy_rule() :: %{
"enabled" => [boolean()],
"interval" => integer(),
"retentionDuration" => integer(),
"ruleID" => float(),
"units" => String.t() | atom()
}
"""
@type p_i_t_policy_rule() :: %{(String.t() | atom()) => any()}
@typedoc """
## Example:
describe_replication_configuration_templates_request() :: %{
optional("maxResults") => integer(),
optional("nextToken") => String.t() | atom(),
optional("replicationConfigurationTemplateIDs") => list(String.t() | atom())
}
"""
@type describe_replication_configuration_templates_request() :: %{
(String.t() | atom()) => any()
}
@typedoc """
## Example:
delete_launch_configuration_template_response() :: %{}
"""
@type delete_launch_configuration_template_response() :: %{}
@typedoc """
## Example:
staging_area() :: %{
"errorMessage" => String.t() | atom(),
"stagingAccountID" => String.t() | atom(),
"stagingSourceServerArn" => String.t() | atom(),
"status" => String.t() | atom()
}
"""
@type staging_area() :: %{(String.t() | atom()) => any()}
@typedoc """
## Example:
c_p_u() :: %{
"cores" => float(),
"modelName" => String.t() | atom()
}
"""
@type c_p_u() :: %{(String.t() | atom()) => any()}
@typedoc """
## Example:
recovery_instance_data_replication_info() :: %{
"dataReplicationError" => recovery_instance_data_replication_error(),
"dataReplicationInitiation" => recovery_instance_data_replication_initiation(),
"dataReplicationState" => String.t() | atom(),
"etaDateTime" => String.t() | atom(),
"lagDuration" => String.t() | atom(),
"replicatedDisks" => list(recovery_instance_data_replication_info_replicated_disk()),
"stagingAvailabilityZone" => String.t() | atom(),
"stagingOutpostArn" => String.t() | atom()
}
"""
@type recovery_instance_data_replication_info() :: %{(String.t() | atom()) => any()}
@typedoc """
## Example:
start_source_network_recovery_response() :: %{
"job" => job()
}
"""
@type start_source_network_recovery_response() :: %{(String.t() | atom()) => any()}
@typedoc """
## Example:
describe_source_networks_request() :: %{
optional("filters") => describe_source_networks_request_filters(),
optional("maxResults") => integer(),
optional("nextToken") => String.t() | atom()
}
"""
@type describe_source_networks_request() :: %{(String.t() | atom()) => any()}
@typedoc """
## Example:
disconnect_source_server_request() :: %{
required("sourceServerID") => String.t() | atom()
}
"""
@type disconnect_source_server_request() :: %{(String.t() | atom()) => any()}
@typedoc """
## Example:
launch_action_run() :: %{
"action" => launch_action(),
"failureReason" => String.t() | atom(),
"runId" => String.t() | atom(),
"status" => String.t() | atom()
}
"""
@type launch_action_run() :: %{(String.t() | atom()) => any()}
@typedoc """
## Example:
describe_jobs_request() :: %{
optional("filters") => describe_jobs_request_filters(),
optional("maxResults") => integer(),
optional("nextToken") => String.t() | atom()
}
"""
@type describe_jobs_request() :: %{(String.t() | atom()) => any()}
@typedoc """
## Example:
delete_source_network_response() :: %{}
"""
@type delete_source_network_response() :: %{}
@typedoc """
## Example:
create_source_network_request() :: %{
optional("tags") => map(),
required("originAccountID") => String.t() | atom(),
required("originRegion") => String.t() | atom(),
required("vpcID") => String.t() | atom()
}
"""
@type create_source_network_request() :: %{(String.t() | atom()) => any()}
@typedoc """
## Example:
licensing() :: %{
"osByol" => [boolean()]
}
"""
@type licensing() :: %{(String.t() | atom()) => any()}
@typedoc """
## Example:
stop_source_network_replication_response() :: %{
"sourceNetwork" => source_network()
}
"""
@type stop_source_network_replication_response() :: %{(String.t() | atom()) => any()}
@typedoc """
## Example:
start_recovery_response() :: %{
optional("job") => job()
}
"""
@type start_recovery_response() :: %{(String.t() | atom()) => any()}
@typedoc """
## Example:
update_launch_configuration_template_response() :: %{
optional("launchConfigurationTemplate") => launch_configuration_template()
}
"""
@type update_launch_configuration_template_response() :: %{(String.t() | atom()) => any()}
@typedoc """
## Example:
create_launch_configuration_template_request() :: %{
optional("copyPrivateIp") => [boolean()],
optional("copyTags") => [boolean()],
optional("exportBucketArn") => String.t() | atom(),
optional("launchDisposition") => String.t() | atom(),
optional("launchIntoSourceInstance") => [boolean()],
optional("licensing") => licensing(),
optional("postLaunchEnabled") => [boolean()],
optional("tags") => map(),
optional("targetInstanceTypeRightSizingMethod") => String.t() | atom()
}
"""
@type create_launch_configuration_template_request() :: %{(String.t() | atom()) => any()}
@typedoc """
## Example:
start_source_network_recovery_request_network_entry() :: %{
"cfnStackName" => String.t() | atom(),
"sourceNetworkID" => String.t() | atom()
}
"""
@type start_source_network_recovery_request_network_entry() :: %{(String.t() | atom()) => any()}
@typedoc """
## Example:
associate_source_network_stack_response() :: %{
"job" => job()
}
"""
@type associate_source_network_stack_response() :: %{(String.t() | atom()) => any()}
@typedoc """
## Example:
source_properties() :: %{
"cpus" => list(c_p_u()),
"disks" => list(disk()),
"identificationHints" => identification_hints(),
"lastUpdatedDateTime" => String.t() | atom(),
"networkInterfaces" => list(network_interface()),
"os" => o_s(),
"ramBytes" => float(),
"recommendedInstanceType" => String.t() | atom(),
"supportsNitroInstances" => [boolean()]
}
"""
@type source_properties() :: %{(String.t() | atom()) => any()}
@typedoc """
## Example:
delete_source_server_response() :: %{}
"""
@type delete_source_server_response() :: %{}
@typedoc """
## Example:
recovery_instance_data_replication_initiation() :: %{
"startDateTime" => String.t() | atom(),
"steps" => list(recovery_instance_data_replication_initiation_step())
}
"""
@type recovery_instance_data_replication_initiation() :: %{(String.t() | atom()) => any()}
@typedoc """
## Example:
describe_jobs_request_filters() :: %{
"fromDate" => String.t() | atom(),
"jobIDs" => list(String.t() | atom()),
"toDate" => String.t() | atom()
}
"""
@type describe_jobs_request_filters() :: %{(String.t() | atom()) => any()}
@typedoc """
## Example:
describe_source_networks_response() :: %{
"items" => list(source_network()),
"nextToken" => String.t() | atom()
}
"""
@type describe_source_networks_response() :: %{(String.t() | atom()) => any()}
@typedoc """
## Example:
delete_job_request() :: %{
required("jobID") => String.t() | atom()
}
"""
@type delete_job_request() :: %{(String.t() | atom()) => any()}
@typedoc """
## Example:
launch_configuration_template() :: %{
"arn" => String.t() | atom(),
"copyPrivateIp" => [boolean()],
"copyTags" => [boolean()],
"exportBucketArn" => String.t() | atom(),
"launchConfigurationTemplateID" => String.t() | atom(),
"launchDisposition" => String.t() | atom(),
"launchIntoSourceInstance" => [boolean()],
"licensing" => licensing(),
"postLaunchEnabled" => [boolean()],
"tags" => map(),
"targetInstanceTypeRightSizingMethod" => String.t() | atom()
}
"""
@type launch_configuration_template() :: %{(String.t() | atom()) => any()}
@typedoc """
## Example:
recovery_instance_data_replication_initiation_step() :: %{
"name" => String.t() | atom(),
"status" => String.t() | atom()
}
"""
@type recovery_instance_data_replication_initiation_step() :: %{(String.t() | atom()) => any()}
@typedoc """
## Example:
validation_exception() :: %{
"code" => String.t() | atom(),
"fieldList" => list(validation_exception_field()),
"message" => String.t() | atom(),
"reason" => String.t() | atom()
}
"""
@type validation_exception() :: %{(String.t() | atom()) => any()}
@typedoc """
## Example:
stop_source_network_replication_request() :: %{
required("sourceNetworkID") => String.t() | atom()
}
"""
@type stop_source_network_replication_request() :: %{(String.t() | atom()) => any()}
@typedoc """
## Example:
create_replication_configuration_template_request() :: %{
optional("associateDefaultSecurityGroup") => [boolean()],
optional("autoReplicateNewDisks") => [boolean()],
optional("createPublicIP") => [boolean()],
optional("dataPlaneRouting") => String.t() | atom(),
optional("defaultLargeStagingDiskType") => String.t() | atom(),
optional("ebsEncryptionKeyArn") => String.t() | atom(),
optional("internetProtocol") => String.t() | atom(),
optional("replicationServerInstanceType") => String.t() | atom(),
optional("tags") => map(),
optional("useDedicatedReplicationServer") => [boolean()],
required("bandwidthThrottling") => float(),
required("ebsEncryption") => String.t() | atom(),
required("pitPolicy") => list(p_i_t_policy_rule()),
required("replicationServersSecurityGroupsIDs") => list(String.t() | atom()),
required("stagingAreaSubnetId") => String.t() | atom(),
required("stagingAreaTags") => map()
}
"""
@type create_replication_configuration_template_request() :: %{(String.t() | atom()) => any()}
@typedoc """
## Example:
life_cycle_last_launch() :: %{
"initiated" => life_cycle_last_launch_initiated(),
"status" => String.t() | atom()
}
"""
@type life_cycle_last_launch() :: %{(String.t() | atom()) => any()}
@typedoc """
## Example:
update_launch_configuration_request() :: %{
optional("copyPrivateIp") => [boolean()],
optional("copyTags") => [boolean()],
optional("launchDisposition") => String.t() | atom(),
optional("launchIntoInstanceProperties") => launch_into_instance_properties(),
optional("licensing") => licensing(),
optional("name") => String.t() | atom(),
optional("postLaunchEnabled") => [boolean()],
optional("targetInstanceTypeRightSizingMethod") => String.t() | atom(),
required("sourceServerID") => String.t() | atom()
}
"""
@type update_launch_configuration_request() :: %{(String.t() | atom()) => any()}
@typedoc """
## Example:
update_replication_configuration_template_request() :: %{
optional("arn") => String.t() | atom(),
optional("associateDefaultSecurityGroup") => [boolean()],
optional("autoReplicateNewDisks") => [boolean()],
optional("bandwidthThrottling") => float(),
optional("createPublicIP") => [boolean()],
optional("dataPlaneRouting") => String.t() | atom(),
optional("defaultLargeStagingDiskType") => String.t() | atom(),
optional("ebsEncryption") => String.t() | atom(),
optional("ebsEncryptionKeyArn") => String.t() | atom(),
optional("internetProtocol") => String.t() | atom(),
optional("pitPolicy") => list(p_i_t_policy_rule()),
optional("replicationServerInstanceType") => String.t() | atom(),
optional("replicationServersSecurityGroupsIDs") => list(String.t() | atom()),
optional("stagingAreaSubnetId") => String.t() | atom(),
optional("stagingAreaTags") => map(),
optional("useDedicatedReplicationServer") => [boolean()],
required("replicationConfigurationTemplateID") => String.t() | atom()
}
"""
@type update_replication_configuration_template_request() :: %{(String.t() | atom()) => any()}
@typedoc """
## Example:
launch_action_parameter() :: %{
"type" => String.t() | atom(),
"value" => String.t() | atom()
}
"""
@type launch_action_parameter() :: %{(String.t() | atom()) => any()}
@typedoc """
## Example:
describe_recovery_instances_response() :: %{
optional("items") => list(recovery_instance()),
optional("nextToken") => String.t() | atom()
}
"""
@type describe_recovery_instances_response() :: %{(String.t() | atom()) => any()}
@typedoc """
## Example:
recovery_instance_failback() :: %{
"agentLastSeenByServiceDateTime" => String.t() | atom(),
"elapsedReplicationDuration" => String.t() | atom(),
"failbackClientID" => String.t() | atom(),
"failbackClientLastSeenByServiceDateTime" => String.t() | atom(),
"failbackInitiationTime" => String.t() | atom(),
"failbackJobID" => String.t() | atom(),
"failbackLaunchType" => String.t() | atom(),
"failbackToOriginalServer" => [boolean()],
"firstByteDateTime" => String.t() | atom(),
"state" => String.t() | atom()
}
"""
@type recovery_instance_failback() :: %{(String.t() | atom()) => any()}
@typedoc """
## Example:
describe_recovery_snapshots_request() :: %{
optional("filters") => describe_recovery_snapshots_request_filters(),
optional("maxResults") => integer(),
optional("nextToken") => String.t() | atom(),
optional("order") => String.t() | atom(),
required("sourceServerID") => String.t() | atom()
}
"""
@type describe_recovery_snapshots_request() :: %{(String.t() | atom()) => any()}
@typedoc """
## Example:
describe_launch_configuration_templates_request() :: %{
optional("launchConfigurationTemplateIDs") => list(String.t() | atom()),
optional("maxResults") => integer(),
optional("nextToken") => String.t() | atom()
}
"""
@type describe_launch_configuration_templates_request() :: %{(String.t() | atom()) => any()}
@typedoc """
## Example:
delete_source_server_request() :: %{
required("sourceServerID") => String.t() | atom()
}
"""
@type delete_source_server_request() :: %{(String.t() | atom()) => any()}
@typedoc """
## Example:
internal_server_exception() :: %{
"message" => String.t() | atom(),
"retryAfterSeconds" => float()
}
"""
@type internal_server_exception() :: %{(String.t() | atom()) => any()}
@typedoc """
## Example:
o_s() :: %{
"fullString" => String.t() | atom()
}
"""
@type o_s() :: %{(String.t() | atom()) => any()}
@typedoc """
## Example:
source_network_data() :: %{
"sourceNetworkID" => String.t() | atom(),
"sourceVpc" => String.t() | atom(),
"stackName" => String.t() | atom(),
"targetVpc" => String.t() | atom()
}
"""
@type source_network_data() :: %{(String.t() | atom()) => any()}
@typedoc """
## Example:
recovery_instance() :: %{
"agentVersion" => String.t() | atom(),
"arn" => String.t() | atom(),
"dataReplicationInfo" => recovery_instance_data_replication_info(),
"ec2InstanceID" => String.t() | atom(),
"ec2InstanceState" => String.t() | atom(),
"failback" => recovery_instance_failback(),
"isDrill" => [boolean()],
"jobID" => String.t() | atom(),
"originAvailabilityZone" => String.t() | atom(),
"originEnvironment" => String.t() | atom(),
"pointInTimeSnapshotDateTime" => String.t() | atom(),
"recoveryInstanceID" => String.t() | atom(),
"recoveryInstanceProperties" => recovery_instance_properties(),
"sourceOutpostArn" => String.t() | atom(),
"sourceServerID" => String.t() | atom(),
"tags" => map()
}
"""
@type recovery_instance() :: %{(String.t() | atom()) => any()}
@typedoc """
## Example:
resource_not_found_exception() :: %{
"code" => String.t() | atom(),
"message" => String.t() | atom(),
"resourceId" => String.t() | atom(),
"resourceType" => String.t() | atom()
}
"""
@type resource_not_found_exception() :: %{(String.t() | atom()) => any()}
@typedoc """
## Example:
list_staging_accounts_request() :: %{
optional("maxResults") => [integer()],
optional("nextToken") => String.t() | atom()
}
"""
@type list_staging_accounts_request() :: %{(String.t() | atom()) => any()}
@typedoc """
## Example:
network_interface() :: %{
"ips" => list(String.t() | atom()),
"isPrimary" => [boolean()],
"macAddress" => String.t() | atom()
}
"""
@type network_interface() :: %{(String.t() | atom()) => any()}
@typedoc """
## Example:
tag_resource_request() :: %{
required("tags") => map()
}
"""
@type tag_resource_request() :: %{(String.t() | atom()) => any()}
@typedoc """
## Example:
source_network() :: %{
"arn" => String.t() | atom(),
"cfnStackName" => String.t() | atom(),
"lastRecovery" => recovery_life_cycle(),
"launchedVpcID" => String.t() | atom(),
"replicationStatus" => String.t() | atom(),
"replicationStatusDetails" => String.t() | atom(),
"sourceAccountID" => String.t() | atom(),
"sourceNetworkID" => String.t() | atom(),
"sourceRegion" => String.t() | atom(),
"sourceVpcID" => String.t() | atom(),
"tags" => map()
}
"""
@type source_network() :: %{(String.t() | atom()) => any()}
@typedoc """
## Example:
delete_replication_configuration_template_response() :: %{}
"""
@type delete_replication_configuration_template_response() :: %{}
@typedoc """
## Example:
create_source_network_response() :: %{
"sourceNetworkID" => String.t() | atom()
}
"""
@type create_source_network_response() :: %{(String.t() | atom()) => any()}
@typedoc """
## Example:
put_launch_action_response() :: %{
"actionCode" => String.t() | atom(),
"actionId" => String.t() | atom(),
"actionVersion" => String.t() | atom(),
"active" => [boolean()],
"category" => String.t() | atom(),
"description" => String.t() | atom(),
"name" => String.t() | atom(),
"optional" => [boolean()],
"order" => integer(),
"parameters" => map(),
"resourceId" => String.t() | atom(),
"type" => String.t() | atom()
}
"""
@type put_launch_action_response() :: %{(String.t() | atom()) => any()}
@typedoc """
## Example:
staging_source_server() :: %{
"arn" => String.t() | atom(),
"hostname" => String.t() | atom(),
"tags" => map()
}
"""
@type staging_source_server() :: %{(String.t() | atom()) => any()}
@typedoc """
## Example:
start_failback_launch_response() :: %{
optional("job") => job()
}
"""
@type start_failback_launch_response() :: %{(String.t() | atom()) => any()}
@typedoc """
## Example:
update_replication_configuration_request() :: %{
optional("associateDefaultSecurityGroup") => [boolean()],
optional("autoReplicateNewDisks") => [boolean()],
optional("bandwidthThrottling") => float(),
optional("createPublicIP") => [boolean()],
optional("dataPlaneRouting") => String.t() | atom(),
optional("defaultLargeStagingDiskType") => String.t() | atom(),
optional("ebsEncryption") => String.t() | atom(),
optional("ebsEncryptionKeyArn") => String.t() | atom(),
optional("internetProtocol") => String.t() | atom(),
optional("name") => String.t() | atom(),
optional("pitPolicy") => list(p_i_t_policy_rule()),
optional("replicatedDisks") => list(replication_configuration_replicated_disk()),
optional("replicationServerInstanceType") => String.t() | atom(),
optional("replicationServersSecurityGroupsIDs") => list(String.t() | atom()),
optional("stagingAreaSubnetId") => String.t() | atom(),
optional("stagingAreaTags") => map(),
optional("useDedicatedReplicationServer") => [boolean()],
required("sourceServerID") => String.t() | atom()
}
"""
@type update_replication_configuration_request() :: %{(String.t() | atom()) => any()}
@typedoc """
## Example:
start_source_network_recovery_request() :: %{
optional("deployAsNew") => [boolean()],
optional("tags") => map(),
required("sourceNetworks") => list(start_source_network_recovery_request_network_entry())
}
"""
@type start_source_network_recovery_request() :: %{(String.t() | atom()) => any()}
@typedoc """
## Example:
describe_launch_configuration_templates_response() :: %{
optional("items") => list(launch_configuration_template()),
optional("nextToken") => String.t() | atom()
}
"""
@type describe_launch_configuration_templates_response() :: %{(String.t() | atom()) => any()}
@typedoc """
## Example:
list_staging_accounts_response() :: %{
optional("accounts") => list(account()),
optional("nextToken") => String.t() | atom()
}
"""
@type list_staging_accounts_response() :: %{(String.t() | atom()) => any()}
@typedoc """
## Example:
get_replication_configuration_request() :: %{
required("sourceServerID") => String.t() | atom()
}
"""
@type get_replication_configuration_request() :: %{(String.t() | atom()) => any()}
@typedoc """
## Example:
delete_launch_action_response() :: %{}
"""
@type delete_launch_action_response() :: %{}
@typedoc """
## Example:
describe_job_log_items_response() :: %{
optional("items") => list(job_log()),
optional("nextToken") => String.t() | atom()
}
"""
@type describe_job_log_items_response() :: %{(String.t() | atom()) => any()}
@typedoc """
## Example:
start_recovery_request_source_server() :: %{
"recoverySnapshotID" => String.t() | atom(),
"sourceServerID" => String.t() | atom()
}
"""
@type start_recovery_request_source_server() :: %{(String.t() | atom()) => any()}
@typedoc """
## Example:
describe_jobs_response() :: %{
optional("items") => list(job()),
optional("nextToken") => String.t() | atom()
}
"""
@type describe_jobs_response() :: %{(String.t() | atom()) => any()}
@typedoc """
## Example:
delete_source_network_request() :: %{
required("sourceNetworkID") => String.t() | atom()
}
"""
@type delete_source_network_request() :: %{(String.t() | atom()) => any()}
@typedoc """
## Example:
list_launch_actions_request() :: %{
optional("filters") => launch_actions_request_filters(),
optional("maxResults") => integer(),
optional("nextToken") => String.t() | atom(),
required("resourceId") => String.t() | atom()
}
"""
@type list_launch_actions_request() :: %{(String.t() | atom()) => any()}
@typedoc """
## Example:
conflict_exception() :: %{
"code" => String.t() | atom(),
"message" => String.t() | atom(),
"resourceId" => String.t() | atom(),
"resourceType" => String.t() | atom()
}
"""
@type conflict_exception() :: %{(String.t() | atom()) => any()}
@typedoc """
## Example:
launch_configuration() :: %{
optional("copyPrivateIp") => [boolean()],
optional("copyTags") => [boolean()],
optional("ec2LaunchTemplateID") => String.t() | atom(),
optional("launchDisposition") => String.t() | atom(),
optional("launchIntoInstanceProperties") => launch_into_instance_properties(),
optional("licensing") => licensing(),
optional("name") => String.t() | atom(),
optional("postLaunchEnabled") => [boolean()],
optional("sourceServerID") => String.t() | atom(),
optional("targetInstanceTypeRightSizingMethod") => String.t() | atom()
}
"""
@type launch_configuration() :: %{(String.t() | atom()) => any()}
@typedoc """
## Example:
launch_action() :: %{
"actionCode" => String.t() | atom(),
"actionId" => String.t() | atom(),
"actionVersion" => String.t() | atom(),
"active" => [boolean()],
"category" => String.t() | atom(),
"description" => String.t() | atom(),
"name" => String.t() | atom(),
"optional" => [boolean()],
"order" => integer(),
"parameters" => map(),
"type" => String.t() | atom()
}
"""
@type launch_action() :: %{(String.t() | atom()) => any()}
@typedoc """
## Example:
delete_job_response() :: %{}
"""
@type delete_job_response() :: %{}
@typedoc """
## Example:
validation_exception_field() :: %{
"message" => String.t() | atom(),
"name" => String.t() | atom()
}
"""
@type validation_exception_field() :: %{(String.t() | atom()) => any()}
@typedoc """
## Example:
terminate_recovery_instances_request() :: %{
required("recoveryInstanceIDs") => list(String.t() | atom())
}
"""
@type terminate_recovery_instances_request() :: %{(String.t() | atom()) => any()}
@typedoc """
## Example:
untag_resource_request() :: %{
required("tagKeys") => list(String.t() | atom())
}
"""
@type untag_resource_request() :: %{(String.t() | atom()) => any()}
@typedoc """
## Example:
replication_configuration_template() :: %{
optional("arn") => String.t() | atom(),
optional("associateDefaultSecurityGroup") => [boolean()],
optional("autoReplicateNewDisks") => [boolean()],
optional("bandwidthThrottling") => float(),
optional("createPublicIP") => [boolean()],
optional("dataPlaneRouting") => String.t() | atom(),
optional("defaultLargeStagingDiskType") => String.t() | atom(),
optional("ebsEncryption") => String.t() | atom(),
optional("ebsEncryptionKeyArn") => String.t() | atom(),
optional("internetProtocol") => String.t() | atom(),
optional("pitPolicy") => list(p_i_t_policy_rule()),
optional("replicationServerInstanceType") => String.t() | atom(),
optional("replicationServersSecurityGroupsIDs") => list(String.t() | atom()),
optional("stagingAreaSubnetId") => String.t() | atom(),
optional("stagingAreaTags") => map(),
optional("tags") => map(),
optional("useDedicatedReplicationServer") => [boolean()],
required("replicationConfigurationTemplateID") => String.t() | atom()
}
"""
@type replication_configuration_template() :: %{(String.t() | atom()) => any()}
@typedoc """
## Example:
update_failback_replication_configuration_request() :: %{
optional("bandwidthThrottling") => float(),
optional("internetProtocol") => String.t() | atom(),
optional("name") => String.t() | atom(),
optional("usePrivateIP") => [boolean()],
required("recoveryInstanceID") => String.t() | atom()
}
"""
@type update_failback_replication_configuration_request() :: %{(String.t() | atom()) => any()}
@typedoc """
## Example:
recovery_instance_disk() :: %{
"bytes" => float(),
"ebsVolumeID" => String.t() | atom(),
"internalDeviceName" => String.t() | atom()
}
"""
@type recovery_instance_disk() :: %{(String.t() | atom()) => any()}
@typedoc """
## Example:
get_failback_replication_configuration_response() :: %{
optional("bandwidthThrottling") => float(),
optional("internetProtocol") => String.t() | atom(),
optional("name") => String.t() | atom(),
optional("usePrivateIP") => [boolean()],
required("recoveryInstanceID") => String.t() | atom()
}
"""
@type get_failback_replication_configuration_response() :: %{(String.t() | atom()) => any()}
@typedoc """
## Example:
launch_actions_status() :: %{
"runs" => list(launch_action_run()),
"ssmAgentDiscoveryDatetime" => String.t() | atom()
}
"""
@type launch_actions_status() :: %{(String.t() | atom()) => any()}
@typedoc """
## Example:
participating_resource() :: %{
"launchStatus" => String.t() | atom(),
"participatingResourceID" => list()
}
"""
@type participating_resource() :: %{(String.t() | atom()) => any()}
@typedoc """
## Example:
conversion_properties() :: %{
"dataTimestamp" => String.t() | atom(),
"forceUefi" => [boolean()],
"rootVolumeName" => String.t() | atom(),
"volumeToConversionMap" => map(),
"volumeToProductCodes" => map(),
"volumeToVolumeSize" => map()
}
"""
@type conversion_properties() :: %{(String.t() | atom()) => any()}
@typedoc """
## Example:
data_replication_info_replicated_disk() :: %{
"backloggedStorageBytes" => float(),
"deviceName" => String.t() | atom(),
"replicatedStorageBytes" => float(),
"rescannedStorageBytes" => float(),
"totalStorageBytes" => float(),
"volumeStatus" => String.t() | atom()
}
"""
@type data_replication_info_replicated_disk() :: %{(String.t() | atom()) => any()}
@typedoc """
## Example:
launch_actions_request_filters() :: %{
"actionIds" => list(String.t() | atom())
}
"""
@type launch_actions_request_filters() :: %{(String.t() | atom()) => any()}
@typedoc """
## Example:
list_extensible_source_servers_request() :: %{
optional("maxResults") => integer(),
optional("nextToken") => String.t() | atom(),
required("stagingAccountID") => String.t() | atom()
}
"""
@type list_extensible_source_servers_request() :: %{(String.t() | atom()) => any()}
@typedoc """
## Example:
start_recovery_request() :: %{
optional("isDrill") => [boolean()],
optional("tags") => map(),
required("sourceServers") => list(start_recovery_request_source_server())
}
"""
@type start_recovery_request() :: %{(String.t() | atom()) => any()}
@typedoc """
## Example:
reverse_replication_response() :: %{
optional("reversedDirectionSourceServerArn") => String.t() | atom()
}
"""
@type reverse_replication_response() :: %{(String.t() | atom()) => any()}
@typedoc """
## Example:
delete_launch_configuration_template_request() :: %{
required("launchConfigurationTemplateID") => String.t() | atom()
}
"""
@type delete_launch_configuration_template_request() :: %{(String.t() | atom()) => any()}
@typedoc """
## Example:
recovery_life_cycle() :: %{
"apiCallDateTime" => [non_neg_integer()],
"jobID" => String.t() | atom(),
"lastRecoveryResult" => String.t() | atom()
}
"""
@type recovery_life_cycle() :: %{(String.t() | atom()) => any()}
@typedoc """
## Example:
delete_recovery_instance_request() :: %{
required("recoveryInstanceID") => String.t() | atom()
}
"""
@type delete_recovery_instance_request() :: %{(String.t() | atom()) => any()}
@typedoc """
## Example:
retry_data_replication_request() :: %{
"sourceServerID" => String.t() | atom()
}
"""
@type retry_data_replication_request() :: %{(String.t() | atom()) => any()}
@typedoc """
## Example:
replication_configuration() :: %{
optional("associateDefaultSecurityGroup") => [boolean()],
optional("autoReplicateNewDisks") => [boolean()],
optional("bandwidthThrottling") => float(),
optional("createPublicIP") => [boolean()],
optional("dataPlaneRouting") => String.t() | atom(),
optional("defaultLargeStagingDiskType") => String.t() | atom(),
optional("ebsEncryption") => String.t() | atom(),
optional("ebsEncryptionKeyArn") => String.t() | atom(),
optional("internetProtocol") => String.t() | atom(),
optional("name") => String.t() | atom(),
optional("pitPolicy") => list(p_i_t_policy_rule()),
optional("replicatedDisks") => list(replication_configuration_replicated_disk()),
optional("replicationServerInstanceType") => String.t() | atom(),
optional("replicationServersSecurityGroupsIDs") => list(String.t() | atom()),
optional("sourceServerID") => String.t() | atom(),
optional("stagingAreaSubnetId") => String.t() | atom(),
optional("stagingAreaTags") => map(),
optional("useDedicatedReplicationServer") => [boolean()]
}
"""
@type replication_configuration() :: %{(String.t() | atom()) => any()}
@typedoc """
## Example:
life_cycle() :: %{
"addedToServiceDateTime" => String.t() | atom(),
"elapsedReplicationDuration" => String.t() | atom(),
"firstByteDateTime" => String.t() | atom(),
"lastLaunch" => life_cycle_last_launch(),
"lastSeenByServiceDateTime" => String.t() | atom()
}
"""
@type life_cycle() :: %{(String.t() | atom()) => any()}
@typedoc """
## Example:
terminate_recovery_instances_response() :: %{
optional("job") => job()
}
"""
@type terminate_recovery_instances_response() :: %{(String.t() | atom()) => any()}
@typedoc """
## Example:
product_code() :: %{
"productCodeId" => String.t() | atom(),
"productCodeMode" => String.t() | atom()
}
"""
@type product_code() :: %{(String.t() | atom()) => any()}
@typedoc """
## Example:
job_log_event_data() :: %{
"attemptCount" => float(),
"conversionProperties" => conversion_properties(),
"conversionServerID" => String.t() | atom(),
"eventResourceData" => list(),
"maxAttemptsCount" => float(),
"rawError" => String.t() | atom(),
"sourceServerID" => String.t() | atom(),
"targetInstanceID" => String.t() | atom()
}
"""
@type job_log_event_data() :: %{(String.t() | atom()) => any()}
@typedoc """
## Example:
put_launch_action_request() :: %{
optional("parameters") => map(),
required("actionCode") => String.t() | atom(),
required("actionId") => String.t() | atom(),
required("actionVersion") => String.t() | atom(),
required("active") => [boolean()],
required("category") => String.t() | atom(),
required("description") => String.t() | atom(),
required("name") => String.t() | atom(),
required("optional") => [boolean()],
required("order") => integer(),
required("resourceId") => String.t() | atom()
}
"""
@type put_launch_action_request() :: %{(String.t() | atom()) => any()}
@typedoc """
## Example:
data_replication_initiation() :: %{
"nextAttemptDateTime" => String.t() | atom(),
"startDateTime" => String.t() | atom(),
"steps" => list(data_replication_initiation_step())
}
"""
@type data_replication_initiation() :: %{(String.t() | atom()) => any()}
@typedoc """
## Example:
stop_replication_request() :: %{
required("sourceServerID") => String.t() | atom()
}
"""
@type stop_replication_request() :: %{(String.t() | atom()) => any()}
@typedoc """
## Example:
account() :: %{
"accountID" => String.t() | atom()
}
"""
@type account() :: %{(String.t() | atom()) => any()}
@typedoc """
## Example:
list_tags_for_resource_response() :: %{
optional("tags") => map()
}
"""
@type list_tags_for_resource_response() :: %{(String.t() | atom()) => any()}
@typedoc """
## Example:
start_replication_request() :: %{
required("sourceServerID") => String.t() | atom()
}
"""
@type start_replication_request() :: %{(String.t() | atom()) => any()}
@typedoc """
## Example:
describe_recovery_snapshots_response() :: %{
optional("items") => list(recovery_snapshot()),
optional("nextToken") => String.t() | atom()
}
"""
@type describe_recovery_snapshots_response() :: %{(String.t() | atom()) => any()}
@typedoc """
## Example:
job() :: %{
"arn" => String.t() | atom(),
"creationDateTime" => String.t() | atom(),
"endDateTime" => String.t() | atom(),
"initiatedBy" => String.t() | atom(),
"jobID" => String.t() | atom(),
"participatingResources" => list(participating_resource()),
"participatingServers" => list(participating_server()),
"status" => String.t() | atom(),
"tags" => map(),
"type" => String.t() | atom()
}
"""
@type job() :: %{(String.t() | atom()) => any()}
@typedoc """
## Example:
initialize_service_request() :: %{}
"""
@type initialize_service_request() :: %{}
@typedoc """
## Example:
describe_source_networks_request_filters() :: %{
"originAccountID" => String.t() | atom(),
"originRegion" => String.t() | atom(),
"sourceNetworkIDs" => list(String.t() | atom())
}
"""
@type describe_source_networks_request_filters() :: %{(String.t() | atom()) => any()}
@typedoc """
## Example:
describe_replication_configuration_templates_response() :: %{
optional("items") => list(replication_configuration_template()),
optional("nextToken") => String.t() | atom()
}
"""
@type describe_replication_configuration_templates_response() :: %{
(String.t() | atom()) => any()
}
@typedoc """
## Example:
start_failback_launch_request() :: %{
optional("tags") => map(),
required("recoveryInstanceIDs") => list(String.t() | atom())
}
"""
@type start_failback_launch_request() :: %{(String.t() | atom()) => any()}
@typedoc """
## Example:
disk() :: %{
"bytes" => float(),
"deviceName" => String.t() | atom()
}
"""
@type disk() :: %{(String.t() | atom()) => any()}
@typedoc """
## Example:
disconnect_recovery_instance_request() :: %{
required("recoveryInstanceID") => String.t() | atom()
}
"""
@type disconnect_recovery_instance_request() :: %{(String.t() | atom()) => any()}
@typedoc """
## Example:
get_failback_replication_configuration_request() :: %{
required("recoveryInstanceID") => String.t() | atom()
}
"""
@type get_failback_replication_configuration_request() :: %{(String.t() | atom()) => any()}
@typedoc """
## Example:
create_launch_configuration_template_response() :: %{
optional("launchConfigurationTemplate") => launch_configuration_template()
}
"""
@type create_launch_configuration_template_response() :: %{(String.t() | atom()) => any()}
@typedoc """
## Example:
data_replication_initiation_step() :: %{
"name" => String.t() | atom(),
"status" => String.t() | atom()
}
"""
@type data_replication_initiation_step() :: %{(String.t() | atom()) => any()}
@typedoc """
## Example:
uninitialized_account_exception() :: %{
"code" => String.t() | atom(),
"message" => String.t() | atom()
}
"""
@type uninitialized_account_exception() :: %{(String.t() | atom()) => any()}
@typedoc """
## Example:
start_replication_response() :: %{
optional("sourceServer") => source_server()
}
"""
@type start_replication_response() :: %{(String.t() | atom()) => any()}
@typedoc """
## Example:
start_source_network_replication_response() :: %{
"sourceNetwork" => source_network()
}
"""
@type start_source_network_replication_response() :: %{(String.t() | atom()) => any()}
@typedoc """
## Example:
describe_recovery_instances_request_filters() :: %{
"recoveryInstanceIDs" => list(String.t() | atom()),
"sourceServerIDs" => list(String.t() | atom())
}
"""
@type describe_recovery_instances_request_filters() :: %{(String.t() | atom()) => any()}
@typedoc """
## Example:
delete_launch_action_request() :: %{
required("actionId") => String.t() | atom(),
required("resourceId") => String.t() | atom()
}
"""
@type delete_launch_action_request() :: %{(String.t() | atom()) => any()}
@typedoc """
## Example:
recovery_instance_properties() :: %{
"cpus" => list(c_p_u()),
"disks" => list(recovery_instance_disk()),
"identificationHints" => identification_hints(),
"lastUpdatedDateTime" => String.t() | atom(),
"networkInterfaces" => list(network_interface()),
"os" => o_s(),
"ramBytes" => float()
}
"""
@type recovery_instance_properties() :: %{(String.t() | atom()) => any()}
@typedoc """
## Example:
export_source_network_cfn_template_request() :: %{
required("sourceNetworkID") => String.t() | atom()
}
"""
@type export_source_network_cfn_template_request() :: %{(String.t() | atom()) => any()}
@typedoc """
## Example:
describe_job_log_items_request() :: %{
optional("maxResults") => integer(),
optional("nextToken") => String.t() | atom(),
required("jobID") => String.t() | atom()
}
"""
@type describe_job_log_items_request() :: %{(String.t() | atom()) => any()}
@typedoc """
## Example:
delete_replication_configuration_template_request() :: %{
required("replicationConfigurationTemplateID") => String.t() | atom()
}
"""
@type delete_replication_configuration_template_request() :: %{(String.t() | atom()) => any()}
@typedoc """
## Example:
source_server() :: %{
"agentVersion" => String.t() | atom(),
"arn" => String.t() | atom(),
"dataReplicationInfo" => data_replication_info(),
"lastLaunchResult" => String.t() | atom(),
"lifeCycle" => life_cycle(),
"recoveryInstanceId" => String.t() | atom(),
"replicationDirection" => String.t() | atom(),
"reversedDirectionSourceServerArn" => String.t() | atom(),
"sourceCloudProperties" => source_cloud_properties(),
"sourceNetworkID" => String.t() | atom(),
"sourceProperties" => source_properties(),
"sourceServerID" => String.t() | atom(),
"stagingArea" => staging_area(),
"tags" => map()
}
"""
@type source_server() :: %{(String.t() | atom()) => any()}
@typedoc """
## Example:
source_cloud_properties() :: %{
"originAccountID" => String.t() | atom(),
"originAvailabilityZone" => String.t() | atom(),
"originRegion" => String.t() | atom(),
"sourceOutpostArn" => String.t() | atom()
}
"""
@type source_cloud_properties() :: %{(String.t() | atom()) => any()}
@typedoc """
## Example:
data_replication_error() :: %{
"error" => String.t() | atom(),
"rawError" => String.t() | atom()
}
"""
@type data_replication_error() :: %{(String.t() | atom()) => any()}
@typedoc """
## Example:
create_extended_source_server_response() :: %{
optional("sourceServer") => source_server()
}
"""
@type create_extended_source_server_response() :: %{(String.t() | atom()) => any()}
@typedoc """
## Example:
participating_server() :: %{
"launchActionsStatus" => launch_actions_status(),
"launchStatus" => String.t() | atom(),
"recoveryInstanceID" => String.t() | atom(),
"sourceServerID" => String.t() | atom()
}
"""
@type participating_server() :: %{(String.t() | atom()) => any()}
@typedoc """
## Example:
identification_hints() :: %{
"awsInstanceID" => String.t() | atom(),
"fqdn" => String.t() | atom(),
"hostname" => String.t() | atom(),
"vmWareUuid" => String.t() | atom()
}
"""
@type identification_hints() :: %{(String.t() | atom()) => any()}
@typedoc """
## Example:
recovery_snapshot() :: %{
"ebsSnapshots" => list(String.t() | atom()),
"expectedTimestamp" => String.t() | atom(),
"snapshotID" => String.t() | atom(),
"sourceServerID" => String.t() | atom(),
"timestamp" => String.t() | atom()
}
"""
@type recovery_snapshot() :: %{(String.t() | atom()) => any()}
@typedoc """
## Example:
reverse_replication_request() :: %{
required("recoveryInstanceID") => String.t() | atom()
}
"""
@type reverse_replication_request() :: %{(String.t() | atom()) => any()}
@typedoc """
## Example:
describe_source_servers_request() :: %{
optional("filters") => describe_source_servers_request_filters(),
optional("maxResults") => integer(),
optional("nextToken") => String.t() | atom()
}
"""
@type describe_source_servers_request() :: %{(String.t() | atom()) => any()}
@typedoc """
## Example:
recovery_instance_data_replication_info_replicated_disk() :: %{
"backloggedStorageBytes" => float(),
"deviceName" => String.t() | atom(),
"replicatedStorageBytes" => float(),
"rescannedStorageBytes" => float(),
"totalStorageBytes" => float()
}
"""
@type recovery_instance_data_replication_info_replicated_disk() :: %{
(String.t() | atom()) => any()
}
@typedoc """
## Example:
describe_recovery_snapshots_request_filters() :: %{
"fromDateTime" => String.t() | atom(),
"toDateTime" => String.t() | atom()
}
"""
@type describe_recovery_snapshots_request_filters() :: %{(String.t() | atom()) => any()}
@typedoc """
## Example:
list_tags_for_resource_request() :: %{}
"""
@type list_tags_for_resource_request() :: %{}
@typedoc """
## Example:
service_quota_exceeded_exception() :: %{
"code" => String.t() | atom(),
"message" => String.t() | atom(),
"quotaCode" => String.t() | atom(),
"resourceId" => String.t() | atom(),
"resourceType" => String.t() | atom(),
"serviceCode" => String.t() | atom()
}
"""
@type service_quota_exceeded_exception() :: %{(String.t() | atom()) => any()}
@typedoc """
## Example:
describe_recovery_instances_request() :: %{
optional("filters") => describe_recovery_instances_request_filters(),
optional("maxResults") => integer(),
optional("nextToken") => String.t() | atom()
}
"""
@type describe_recovery_instances_request() :: %{(String.t() | atom()) => any()}
@type associate_source_network_stack_errors() ::
service_quota_exceeded_exception()
| uninitialized_account_exception()
| conflict_exception()
| resource_not_found_exception()
| internal_server_exception()
| validation_exception()
| throttling_exception()
@type create_extended_source_server_errors() ::
service_quota_exceeded_exception()
| uninitialized_account_exception()
| resource_not_found_exception()
| internal_server_exception()
| validation_exception()
| access_denied_exception()
| throttling_exception()
@type create_launch_configuration_template_errors() ::
service_quota_exceeded_exception()
| uninitialized_account_exception()
| internal_server_exception()
| validation_exception()
| access_denied_exception()
| throttling_exception()
@type create_replication_configuration_template_errors() ::
service_quota_exceeded_exception()
| uninitialized_account_exception()
| internal_server_exception()
| validation_exception()
| access_denied_exception()
| throttling_exception()
@type create_source_network_errors() ::
service_quota_exceeded_exception()
| uninitialized_account_exception()
| conflict_exception()
| resource_not_found_exception()
| internal_server_exception()
| validation_exception()
| throttling_exception()
@type delete_job_errors() ::
uninitialized_account_exception()
| conflict_exception()
| resource_not_found_exception()
| internal_server_exception()
| throttling_exception()
@type delete_launch_action_errors() ::
uninitialized_account_exception()
| resource_not_found_exception()
| internal_server_exception()
| validation_exception()
| throttling_exception()
@type delete_launch_configuration_template_errors() ::
uninitialized_account_exception()
| conflict_exception()
| resource_not_found_exception()
| internal_server_exception()
| throttling_exception()
@type delete_recovery_instance_errors() ::
uninitialized_account_exception()
| conflict_exception()
| internal_server_exception()
| access_denied_exception()
| throttling_exception()
@type delete_replication_configuration_template_errors() ::
uninitialized_account_exception()
| conflict_exception()
| resource_not_found_exception()
| internal_server_exception()
| throttling_exception()
@type delete_source_network_errors() ::
uninitialized_account_exception()
| conflict_exception()
| resource_not_found_exception()
| internal_server_exception()
| throttling_exception()
@type delete_source_server_errors() ::
uninitialized_account_exception()
| conflict_exception()
| resource_not_found_exception()
| internal_server_exception()
| throttling_exception()
@type describe_job_log_items_errors() ::
uninitialized_account_exception()
| internal_server_exception()
| validation_exception()
| throttling_exception()
@type describe_jobs_errors() ::
uninitialized_account_exception()
| internal_server_exception()
| validation_exception()
| throttling_exception()
@type describe_launch_configuration_templates_errors() ::
uninitialized_account_exception()
| resource_not_found_exception()
| internal_server_exception()
| validation_exception()
| throttling_exception()
@type describe_recovery_instances_errors() ::
uninitialized_account_exception()
| internal_server_exception()
| access_denied_exception()
| throttling_exception()
@type describe_recovery_snapshots_errors() ::
uninitialized_account_exception()
| internal_server_exception()
| validation_exception()
| access_denied_exception()
| throttling_exception()
@type describe_replication_configuration_templates_errors() ::
uninitialized_account_exception()
| resource_not_found_exception()
| internal_server_exception()
| validation_exception()
| throttling_exception()
@type describe_source_networks_errors() ::
uninitialized_account_exception()
| internal_server_exception()
| validation_exception()
| throttling_exception()
@type describe_source_servers_errors() ::
uninitialized_account_exception()
| internal_server_exception()
| validation_exception()
| throttling_exception()
@type disconnect_recovery_instance_errors() ::
uninitialized_account_exception()
| conflict_exception()
| resource_not_found_exception()
| internal_server_exception()
| access_denied_exception()
| throttling_exception()
@type disconnect_source_server_errors() ::
uninitialized_account_exception()
| conflict_exception()
| resource_not_found_exception()
| internal_server_exception()
| throttling_exception()
@type export_source_network_cfn_template_errors() ::
uninitialized_account_exception()
| conflict_exception()
| resource_not_found_exception()
| internal_server_exception()
| validation_exception()
| throttling_exception()
@type get_failback_replication_configuration_errors() ::
uninitialized_account_exception()
| resource_not_found_exception()
| internal_server_exception()
| throttling_exception()
@type get_launch_configuration_errors() ::
uninitialized_account_exception()
| resource_not_found_exception()
| internal_server_exception()
| throttling_exception()
@type get_replication_configuration_errors() ::
uninitialized_account_exception()
| resource_not_found_exception()
| internal_server_exception()
| access_denied_exception()
| throttling_exception()
@type initialize_service_errors() ::
internal_server_exception()
| validation_exception()
| access_denied_exception()
| throttling_exception()
@type list_extensible_source_servers_errors() ::
uninitialized_account_exception()
| internal_server_exception()
| validation_exception()
| access_denied_exception()
| throttling_exception()
@type list_launch_actions_errors() ::
service_quota_exceeded_exception()
| uninitialized_account_exception()
| resource_not_found_exception()
| internal_server_exception()
| throttling_exception()
@type list_staging_accounts_errors() ::
uninitialized_account_exception()
| internal_server_exception()
| validation_exception()
| access_denied_exception()
| throttling_exception()
@type list_tags_for_resource_errors() ::
resource_not_found_exception()
| internal_server_exception()
| validation_exception()
| access_denied_exception()
| throttling_exception()
@type put_launch_action_errors() ::
uninitialized_account_exception()
| conflict_exception()
| resource_not_found_exception()
| internal_server_exception()
| validation_exception()
| throttling_exception()
@type retry_data_replication_errors() ::
uninitialized_account_exception()
| resource_not_found_exception()
| internal_server_exception()
| validation_exception()
| throttling_exception()
@type reverse_replication_errors() ::
uninitialized_account_exception()
| conflict_exception()
| resource_not_found_exception()
| internal_server_exception()
| validation_exception()
| access_denied_exception()
| throttling_exception()
@type start_failback_launch_errors() ::
service_quota_exceeded_exception()
| uninitialized_account_exception()
| conflict_exception()
| internal_server_exception()
| validation_exception()
| throttling_exception()
@type start_recovery_errors() ::
service_quota_exceeded_exception()
| uninitialized_account_exception()
| conflict_exception()
| internal_server_exception()
| throttling_exception()
@type start_replication_errors() ::
uninitialized_account_exception()
| conflict_exception()
| resource_not_found_exception()
| internal_server_exception()
| throttling_exception()
@type start_source_network_recovery_errors() ::
service_quota_exceeded_exception()
| uninitialized_account_exception()
| conflict_exception()
| internal_server_exception()
| validation_exception()
| throttling_exception()
@type start_source_network_replication_errors() ::
uninitialized_account_exception()
| conflict_exception()
| resource_not_found_exception()
| internal_server_exception()
| throttling_exception()
@type stop_failback_errors() ::
uninitialized_account_exception()
| resource_not_found_exception()
| internal_server_exception()
| throttling_exception()
@type stop_replication_errors() ::
uninitialized_account_exception()
| conflict_exception()
| resource_not_found_exception()
| internal_server_exception()
| throttling_exception()
@type stop_source_network_replication_errors() ::
uninitialized_account_exception()
| conflict_exception()
| resource_not_found_exception()
| internal_server_exception()
| validation_exception()
| throttling_exception()
@type tag_resource_errors() ::
resource_not_found_exception()
| internal_server_exception()
| validation_exception()
| access_denied_exception()
| throttling_exception()
@type terminate_recovery_instances_errors() ::
service_quota_exceeded_exception()
| uninitialized_account_exception()
| conflict_exception()
| internal_server_exception()
| throttling_exception()
@type untag_resource_errors() ::
resource_not_found_exception()
| internal_server_exception()
| validation_exception()
| access_denied_exception()
| throttling_exception()
@type update_failback_replication_configuration_errors() ::
uninitialized_account_exception()
| resource_not_found_exception()
| internal_server_exception()
| access_denied_exception()
| throttling_exception()
@type update_launch_configuration_errors() ::
uninitialized_account_exception()
| conflict_exception()
| resource_not_found_exception()
| internal_server_exception()
| validation_exception()
| throttling_exception()
@type update_launch_configuration_template_errors() ::
uninitialized_account_exception()
| resource_not_found_exception()
| internal_server_exception()
| validation_exception()
| access_denied_exception()
| throttling_exception()
@type update_replication_configuration_errors() ::
uninitialized_account_exception()
| conflict_exception()
| resource_not_found_exception()
| internal_server_exception()
| validation_exception()
| access_denied_exception()
| throttling_exception()
@type update_replication_configuration_template_errors() ::
uninitialized_account_exception()
| resource_not_found_exception()
| internal_server_exception()
| validation_exception()
| access_denied_exception()
| throttling_exception()
def metadata do
%{
api_version: "2020-02-26",
content_type: "application/x-amz-json-1.1",
credential_scope: nil,
endpoint_prefix: "drs",
global?: false,
hostname: nil,
protocol: "rest-json",
service_id: "drs",
signature_version: "v4",
signing_name: "drs",
target_prefix: nil
}
end
@doc """
Associate a Source Network to an existing CloudFormation Stack and modify launch
templates to use this network.
Can be used for reverting to previously deployed CloudFormation stacks.
"""
@spec associate_source_network_stack(map(), associate_source_network_stack_request(), list()) ::
{:ok, associate_source_network_stack_response(), any()}
| {:error, {:unexpected_response, any()}}
| {:error, term()}
| {:error, associate_source_network_stack_errors()}
def associate_source_network_stack(%Client{} = client, input, options \\ []) do
url_path = "/AssociateSourceNetworkStack"
headers = []
custom_headers = []
query_params = []
meta = metadata()
Request.request_rest(
client,
meta,
:post,
url_path,
query_params,
custom_headers ++ headers,
input,
options,
202
)
end
@doc """
Create an extended source server in the target Account based on the source
server in staging account.
"""
@spec create_extended_source_server(map(), create_extended_source_server_request(), list()) ::
{:ok, create_extended_source_server_response(), any()}
| {:error, {:unexpected_response, any()}}
| {:error, term()}
| {:error, create_extended_source_server_errors()}
def create_extended_source_server(%Client{} = client, input, options \\ []) do
url_path = "/CreateExtendedSourceServer"
headers = []
custom_headers = []
query_params = []
meta = metadata()
Request.request_rest(
client,
meta,
:post,
url_path,
query_params,
custom_headers ++ headers,
input,
options,
201
)
end
@doc """
Creates a new Launch Configuration Template.
"""
@spec create_launch_configuration_template(
map(),
create_launch_configuration_template_request(),
list()
) ::
{:ok, create_launch_configuration_template_response(), any()}
| {:error, {:unexpected_response, any()}}
| {:error, term()}
| {:error, create_launch_configuration_template_errors()}
def create_launch_configuration_template(%Client{} = client, input, options \\ []) do
url_path = "/CreateLaunchConfigurationTemplate"
headers = []
custom_headers = []
query_params = []
meta = metadata()
Request.request_rest(
client,
meta,
:post,
url_path,
query_params,
custom_headers ++ headers,
input,
options,
201
)
end
@doc """
Creates a new ReplicationConfigurationTemplate.
"""
@spec create_replication_configuration_template(
map(),
create_replication_configuration_template_request(),
list()
) ::
{:ok, replication_configuration_template(), any()}
| {:error, {:unexpected_response, any()}}
| {:error, term()}
| {:error, create_replication_configuration_template_errors()}
def create_replication_configuration_template(%Client{} = client, input, options \\ []) do
url_path = "/CreateReplicationConfigurationTemplate"
headers = []
custom_headers = []
query_params = []
meta = metadata()
Request.request_rest(
client,
meta,
:post,
url_path,
query_params,
custom_headers ++ headers,
input,
options,
201
)
end
@doc """
Create a new Source Network resource for a provided VPC ID.
"""
@spec create_source_network(map(), create_source_network_request(), list()) ::
{:ok, create_source_network_response(), any()}
| {:error, {:unexpected_response, any()}}
| {:error, term()}
| {:error, create_source_network_errors()}
def create_source_network(%Client{} = client, input, options \\ []) do
url_path = "/CreateSourceNetwork"
headers = []
custom_headers = []
query_params = []
meta = metadata()
Request.request_rest(
client,
meta,
:post,
url_path,
query_params,
custom_headers ++ headers,
input,
options,
201
)
end
@doc """
Deletes a single Job by ID.
"""
@spec delete_job(map(), delete_job_request(), list()) ::
{:ok, delete_job_response(), any()}
| {:error, {:unexpected_response, any()}}
| {:error, term()}
| {:error, delete_job_errors()}
def delete_job(%Client{} = client, input, options \\ []) do
url_path = "/DeleteJob"
headers = []
custom_headers = []
query_params = []
meta = metadata()
Request.request_rest(
client,
meta,
:post,
url_path,
query_params,
custom_headers ++ headers,
input,
options,
204
)
end
@doc """
Deletes a resource launch action.
"""
@spec delete_launch_action(map(), delete_launch_action_request(), list()) ::
{:ok, delete_launch_action_response(), any()}
| {:error, {:unexpected_response, any()}}
| {:error, term()}
| {:error, delete_launch_action_errors()}
def delete_launch_action(%Client{} = client, input, options \\ []) do
url_path = "/DeleteLaunchAction"
headers = []
custom_headers = []
query_params = []
meta = metadata()
Request.request_rest(
client,
meta,
:post,
url_path,
query_params,
custom_headers ++ headers,
input,
options,
204
)
end
@doc """
Deletes a single Launch Configuration Template by ID.
"""
@spec delete_launch_configuration_template(
map(),
delete_launch_configuration_template_request(),
list()
) ::
{:ok, delete_launch_configuration_template_response(), any()}
| {:error, {:unexpected_response, any()}}
| {:error, term()}
| {:error, delete_launch_configuration_template_errors()}
def delete_launch_configuration_template(%Client{} = client, input, options \\ []) do
url_path = "/DeleteLaunchConfigurationTemplate"
headers = []
custom_headers = []
query_params = []
meta = metadata()
Request.request_rest(
client,
meta,
:post,
url_path,
query_params,
custom_headers ++ headers,
input,
options,
204
)
end
@doc """
Deletes a single Recovery Instance by ID.
This deletes the Recovery Instance resource from Elastic Disaster Recovery. The
Recovery Instance must be disconnected first in order to delete it.
"""
@spec delete_recovery_instance(map(), delete_recovery_instance_request(), list()) ::
{:ok, nil, any()}
| {:error, {:unexpected_response, any()}}
| {:error, term()}
| {:error, delete_recovery_instance_errors()}
def delete_recovery_instance(%Client{} = client, input, options \\ []) do
url_path = "/DeleteRecoveryInstance"
headers = []
custom_headers = []
query_params = []
meta = metadata()
Request.request_rest(
client,
meta,
:post,
url_path,
query_params,
custom_headers ++ headers,
input,
options,
200
)
end
@doc """
Deletes a single Replication Configuration Template by ID
"""
@spec delete_replication_configuration_template(
map(),
delete_replication_configuration_template_request(),
list()
) ::
{:ok, delete_replication_configuration_template_response(), any()}
| {:error, {:unexpected_response, any()}}
| {:error, term()}
| {:error, delete_replication_configuration_template_errors()}
def delete_replication_configuration_template(%Client{} = client, input, options \\ []) do
url_path = "/DeleteReplicationConfigurationTemplate"
headers = []
custom_headers = []
query_params = []
meta = metadata()
Request.request_rest(
client,
meta,
:post,
url_path,
query_params,
custom_headers ++ headers,
input,
options,
204
)
end
@doc """
Delete Source Network resource.
"""
@spec delete_source_network(map(), delete_source_network_request(), list()) ::
{:ok, delete_source_network_response(), any()}
| {:error, {:unexpected_response, any()}}
| {:error, term()}
| {:error, delete_source_network_errors()}
def delete_source_network(%Client{} = client, input, options \\ []) do
url_path = "/DeleteSourceNetwork"
headers = []
custom_headers = []
query_params = []
meta = metadata()
Request.request_rest(
client,
meta,
:post,
url_path,
query_params,
custom_headers ++ headers,
input,
options,
204
)
end
@doc """
Deletes a single Source Server by ID.
The Source Server must be disconnected first.
"""
@spec delete_source_server(map(), delete_source_server_request(), list()) ::
{:ok, delete_source_server_response(), any()}
| {:error, {:unexpected_response, any()}}
| {:error, term()}
| {:error, delete_source_server_errors()}
def delete_source_server(%Client{} = client, input, options \\ []) do
url_path = "/DeleteSourceServer"
headers = []
custom_headers = []
query_params = []
meta = metadata()
Request.request_rest(
client,
meta,
:post,
url_path,
query_params,
custom_headers ++ headers,
input,
options,
204
)
end
@doc """
Retrieves a detailed Job log with pagination.
"""
@spec describe_job_log_items(map(), describe_job_log_items_request(), list()) ::
{:ok, describe_job_log_items_response(), any()}
| {:error, {:unexpected_response, any()}}
| {:error, term()}
| {:error, describe_job_log_items_errors()}
def describe_job_log_items(%Client{} = client, input, options \\ []) do
url_path = "/DescribeJobLogItems"
headers = []
custom_headers = []
query_params = []
meta = metadata()
Request.request_rest(
client,
meta,
:post,
url_path,
query_params,
custom_headers ++ headers,
input,
options,
200
)
end
@doc """
Returns a list of Jobs.
Use the JobsID and fromDate and toDate filters to limit which jobs are returned.
The response is sorted by creationDataTime - latest date first. Jobs are created
by the StartRecovery, TerminateRecoveryInstances and StartFailbackLaunch APIs.
Jobs are also created by DiagnosticLaunch and TerminateDiagnosticInstances,
which are APIs available only to *Support* and only used in response to relevant
support tickets.
"""
@spec describe_jobs(map(), describe_jobs_request(), list()) ::
{:ok, describe_jobs_response(), any()}
| {:error, {:unexpected_response, any()}}
| {:error, term()}
| {:error, describe_jobs_errors()}
def describe_jobs(%Client{} = client, input, options \\ []) do
url_path = "/DescribeJobs"
headers = []
custom_headers = []
query_params = []
meta = metadata()
Request.request_rest(
client,
meta,
:post,
url_path,
query_params,
custom_headers ++ headers,
input,
options,
200
)
end
@doc """
Lists all Launch Configuration Templates, filtered by Launch Configuration
Template IDs
"""
@spec describe_launch_configuration_templates(
map(),
describe_launch_configuration_templates_request(),
list()
) ::
{:ok, describe_launch_configuration_templates_response(), any()}
| {:error, {:unexpected_response, any()}}
| {:error, term()}
| {:error, describe_launch_configuration_templates_errors()}
def describe_launch_configuration_templates(%Client{} = client, input, options \\ []) do
url_path = "/DescribeLaunchConfigurationTemplates"
headers = []
custom_headers = []
query_params = []
meta = metadata()
Request.request_rest(
client,
meta,
:post,
url_path,
query_params,
custom_headers ++ headers,
input,
options,
200
)
end
@doc """
Lists all Recovery Instances or multiple Recovery Instances by ID.
"""
@spec describe_recovery_instances(map(), describe_recovery_instances_request(), list()) ::
{:ok, describe_recovery_instances_response(), any()}
| {:error, {:unexpected_response, any()}}
| {:error, term()}
| {:error, describe_recovery_instances_errors()}
def describe_recovery_instances(%Client{} = client, input, options \\ []) do
url_path = "/DescribeRecoveryInstances"
headers = []
custom_headers = []
query_params = []
meta = metadata()
Request.request_rest(
client,
meta,
:post,
url_path,
query_params,
custom_headers ++ headers,
input,
options,
200
)
end
@doc """
Lists all Recovery Snapshots for a single Source Server.
"""
@spec describe_recovery_snapshots(map(), describe_recovery_snapshots_request(), list()) ::
{:ok, describe_recovery_snapshots_response(), any()}
| {:error, {:unexpected_response, any()}}
| {:error, term()}
| {:error, describe_recovery_snapshots_errors()}
def describe_recovery_snapshots(%Client{} = client, input, options \\ []) do
url_path = "/DescribeRecoverySnapshots"
headers = []
custom_headers = []
query_params = []
meta = metadata()
Request.request_rest(
client,
meta,
:post,
url_path,
query_params,
custom_headers ++ headers,
input,
options,
200
)
end
@doc """
Lists all ReplicationConfigurationTemplates, filtered by Source Server IDs.
"""
@spec describe_replication_configuration_templates(
map(),
describe_replication_configuration_templates_request(),
list()
) ::
{:ok, describe_replication_configuration_templates_response(), any()}
| {:error, {:unexpected_response, any()}}
| {:error, term()}
| {:error, describe_replication_configuration_templates_errors()}
def describe_replication_configuration_templates(%Client{} = client, input, options \\ []) do
url_path = "/DescribeReplicationConfigurationTemplates"
headers = []
custom_headers = []
query_params = []
meta = metadata()
Request.request_rest(
client,
meta,
:post,
url_path,
query_params,
custom_headers ++ headers,
input,
options,
200
)
end
@doc """
Lists all Source Networks or multiple Source Networks filtered by ID.
"""
@spec describe_source_networks(map(), describe_source_networks_request(), list()) ::
{:ok, describe_source_networks_response(), any()}
| {:error, {:unexpected_response, any()}}
| {:error, term()}
| {:error, describe_source_networks_errors()}
def describe_source_networks(%Client{} = client, input, options \\ []) do
url_path = "/DescribeSourceNetworks"
headers = []
custom_headers = []
query_params = []
meta = metadata()
Request.request_rest(
client,
meta,
:post,
url_path,
query_params,
custom_headers ++ headers,
input,
options,
200
)
end
@doc """
Lists all Source Servers or multiple Source Servers filtered by ID.
"""
@spec describe_source_servers(map(), describe_source_servers_request(), list()) ::
{:ok, describe_source_servers_response(), any()}
| {:error, {:unexpected_response, any()}}
| {:error, term()}
| {:error, describe_source_servers_errors()}
def describe_source_servers(%Client{} = client, input, options \\ []) do
url_path = "/DescribeSourceServers"
headers = []
custom_headers = []
query_params = []
meta = metadata()
Request.request_rest(
client,
meta,
:post,
url_path,
query_params,
custom_headers ++ headers,
input,
options,
200
)
end
@doc """
Disconnect a Recovery Instance from Elastic Disaster Recovery.
Data replication is stopped immediately. All AWS resources created by Elastic
Disaster Recovery for enabling the replication of the Recovery Instance will be
terminated / deleted within 90 minutes. If the agent on the Recovery Instance
has not been prevented from communicating with the Elastic Disaster Recovery
service, then it will receive a command to uninstall itself (within
approximately 10 minutes). The following properties of the Recovery Instance
will be changed immediately: dataReplicationInfo.dataReplicationState will be
set to DISCONNECTED; The totalStorageBytes property for each of
dataReplicationInfo.replicatedDisks will be set to zero;
dataReplicationInfo.lagDuration and dataReplicationInfo.lagDuration will be
nullified.
"""
@spec disconnect_recovery_instance(map(), disconnect_recovery_instance_request(), list()) ::
{:ok, nil, any()}
| {:error, {:unexpected_response, any()}}
| {:error, term()}
| {:error, disconnect_recovery_instance_errors()}
def disconnect_recovery_instance(%Client{} = client, input, options \\ []) do
url_path = "/DisconnectRecoveryInstance"
headers = []
custom_headers = []
query_params = []
meta = metadata()
Request.request_rest(
client,
meta,
:post,
url_path,
query_params,
custom_headers ++ headers,
input,
options,
200
)
end
@doc """
Disconnects a specific Source Server from Elastic Disaster Recovery.
Data replication is stopped immediately. All AWS resources created by Elastic
Disaster Recovery for enabling the replication of the Source Server will be
terminated / deleted within 90 minutes. You cannot disconnect a Source Server if
it has a Recovery Instance. If the agent on the Source Server has not been
prevented from communicating with the Elastic Disaster Recovery service, then it
will receive a command to uninstall itself (within approximately 10 minutes).
The following properties of the SourceServer will be changed immediately:
dataReplicationInfo.dataReplicationState will be set to DISCONNECTED; The
totalStorageBytes property for each of dataReplicationInfo.replicatedDisks will
be set to zero; dataReplicationInfo.lagDuration and
dataReplicationInfo.lagDuration will be nullified.
"""
@spec disconnect_source_server(map(), disconnect_source_server_request(), list()) ::
{:ok, source_server(), any()}
| {:error, {:unexpected_response, any()}}
| {:error, term()}
| {:error, disconnect_source_server_errors()}
def disconnect_source_server(%Client{} = client, input, options \\ []) do
url_path = "/DisconnectSourceServer"
headers = []
custom_headers = []
query_params = []
meta = metadata()
Request.request_rest(
client,
meta,
:post,
url_path,
query_params,
custom_headers ++ headers,
input,
options,
200
)
end
@doc """
Export the Source Network CloudFormation template to an S3 bucket.
"""
@spec export_source_network_cfn_template(
map(),
export_source_network_cfn_template_request(),
list()
) ::
{:ok, export_source_network_cfn_template_response(), any()}
| {:error, {:unexpected_response, any()}}
| {:error, term()}
| {:error, export_source_network_cfn_template_errors()}
def export_source_network_cfn_template(%Client{} = client, input, options \\ []) do
url_path = "/ExportSourceNetworkCfnTemplate"
headers = []
custom_headers = []
query_params = []
meta = metadata()
Request.request_rest(
client,
meta,
:post,
url_path,
query_params,
custom_headers ++ headers,
input,
options,
200
)
end
@doc """
Lists all Failback ReplicationConfigurations, filtered by Recovery Instance ID.
"""
@spec get_failback_replication_configuration(
map(),
get_failback_replication_configuration_request(),
list()
) ::
{:ok, get_failback_replication_configuration_response(), any()}
| {:error, {:unexpected_response, any()}}
| {:error, term()}
| {:error, get_failback_replication_configuration_errors()}
def get_failback_replication_configuration(%Client{} = client, input, options \\ []) do
url_path = "/GetFailbackReplicationConfiguration"
headers = []
custom_headers = []
query_params = []
meta = metadata()
Request.request_rest(
client,
meta,
:post,
url_path,
query_params,
custom_headers ++ headers,
input,
options,
200
)
end
@doc """
Gets a LaunchConfiguration, filtered by Source Server IDs.
"""
@spec get_launch_configuration(map(), get_launch_configuration_request(), list()) ::
{:ok, launch_configuration(), any()}
| {:error, {:unexpected_response, any()}}
| {:error, term()}
| {:error, get_launch_configuration_errors()}
def get_launch_configuration(%Client{} = client, input, options \\ []) do
url_path = "/GetLaunchConfiguration"
headers = []
custom_headers = []
query_params = []
meta = metadata()
Request.request_rest(
client,
meta,
:post,
url_path,
query_params,
custom_headers ++ headers,
input,
options,
200
)
end
@doc """
Gets a ReplicationConfiguration, filtered by Source Server ID.
"""
@spec get_replication_configuration(map(), get_replication_configuration_request(), list()) ::
{:ok, replication_configuration(), any()}
| {:error, {:unexpected_response, any()}}
| {:error, term()}
| {:error, get_replication_configuration_errors()}
def get_replication_configuration(%Client{} = client, input, options \\ []) do
url_path = "/GetReplicationConfiguration"
headers = []
custom_headers = []
query_params = []
meta = metadata()
Request.request_rest(
client,
meta,
:post,
url_path,
query_params,
custom_headers ++ headers,
input,
options,
200
)
end
@doc """
Initialize Elastic Disaster Recovery.
"""
@spec initialize_service(map(), initialize_service_request(), list()) ::
{:ok, initialize_service_response(), any()}
| {:error, {:unexpected_response, any()}}
| {:error, term()}
| {:error, initialize_service_errors()}
def initialize_service(%Client{} = client, input, options \\ []) do
url_path = "/InitializeService"
headers = []
custom_headers = []
query_params = []
meta = metadata()
Request.request_rest(
client,
meta,
:post,
url_path,
query_params,
custom_headers ++ headers,
input,
options,
204
)
end
@doc """
Returns a list of source servers on a staging account that are extensible, which
means that: a.
The source server is not already extended into this Account. b. The source
server on the Account we’re reading from is not an extension of another source
server.
"""
@spec list_extensible_source_servers(map(), list_extensible_source_servers_request(), list()) ::
{:ok, list_extensible_source_servers_response(), any()}
| {:error, {:unexpected_response, any()}}
| {:error, term()}
| {:error, list_extensible_source_servers_errors()}
def list_extensible_source_servers(%Client{} = client, input, options \\ []) do
url_path = "/ListExtensibleSourceServers"
headers = []
custom_headers = []
query_params = []
meta = metadata()
Request.request_rest(
client,
meta,
:post,
url_path,
query_params,
custom_headers ++ headers,
input,
options,
200
)
end
@doc """
Lists resource launch actions.
"""
@spec list_launch_actions(map(), list_launch_actions_request(), list()) ::
{:ok, list_launch_actions_response(), any()}
| {:error, {:unexpected_response, any()}}
| {:error, term()}
| {:error, list_launch_actions_errors()}
def list_launch_actions(%Client{} = client, input, options \\ []) do
url_path = "/ListLaunchActions"
headers = []
custom_headers = []
query_params = []
meta = metadata()
Request.request_rest(
client,
meta,
:post,
url_path,
query_params,
custom_headers ++ headers,
input,
options,
200
)
end
@doc """
Returns an array of staging accounts for existing extended source servers.
"""
@spec list_staging_accounts(map(), String.t() | atom() | nil, String.t() | atom() | nil, list()) ::
{:ok, list_staging_accounts_response(), any()}
| {:error, {:unexpected_response, any()}}
| {:error, term()}
| {:error, list_staging_accounts_errors()}
def list_staging_accounts(
%Client{} = client,
max_results \\ nil,
next_token \\ nil,
options \\ []
) do
url_path = "/ListStagingAccounts"
headers = []
query_params = []
query_params =
if !is_nil(next_token) do
[{"nextToken", next_token} | query_params]
else
query_params
end
query_params =
if !is_nil(max_results) do
[{"maxResults", max_results} | query_params]
else
query_params
end
meta = metadata()
Request.request_rest(client, meta, :get, url_path, query_params, headers, nil, options, 200)
end
@doc """
List all tags for your Elastic Disaster Recovery resources.
"""
@spec list_tags_for_resource(map(), String.t() | atom(), list()) ::
{:ok, list_tags_for_resource_response(), any()}
| {:error, {:unexpected_response, any()}}
| {:error, term()}
| {:error, list_tags_for_resource_errors()}
def list_tags_for_resource(%Client{} = client, resource_arn, options \\ []) do
url_path = "/tags/#{AWS.Util.encode_uri(resource_arn)}"
headers = []
query_params = []
meta = metadata()
Request.request_rest(client, meta, :get, url_path, query_params, headers, nil, options, 200)
end
@doc """
Puts a resource launch action.
"""
@spec put_launch_action(map(), put_launch_action_request(), list()) ::
{:ok, put_launch_action_response(), any()}
| {:error, {:unexpected_response, any()}}
| {:error, term()}
| {:error, put_launch_action_errors()}
def put_launch_action(%Client{} = client, input, options \\ []) do
url_path = "/PutLaunchAction"
headers = []
custom_headers = []
query_params = []
meta = metadata()
Request.request_rest(
client,
meta,
:post,
url_path,
query_params,
custom_headers ++ headers,
input,
options,
200
)
end
@doc """
WARNING: RetryDataReplication is deprecated.
Causes the data replication initiation sequence to begin immediately upon next
Handshake for the specified Source Server ID, regardless of when the previous
initiation started. This command will work only if the Source Server is stalled
or is in a DISCONNECTED or STOPPED state.
"""
@spec retry_data_replication(map(), retry_data_replication_request(), list()) ::
{:ok, source_server(), any()}
| {:error, {:unexpected_response, any()}}
| {:error, term()}
| {:error, retry_data_replication_errors()}
def retry_data_replication(%Client{} = client, input, options \\ []) do
url_path = "/RetryDataReplication"
headers = []
custom_headers = []
query_params = []
meta = metadata()
Request.request_rest(
client,
meta,
:post,
url_path,
query_params,
custom_headers ++ headers,
input,
options,
200
)
end
@doc """
Start replication to origin / target region - applies only to protected
instances that originated in EC2.
For recovery instances on target region - starts replication back to origin
region. For failback instances on origin region - starts replication to target
region to re-protect them.
"""
@spec reverse_replication(map(), reverse_replication_request(), list()) ::
{:ok, reverse_replication_response(), any()}
| {:error, {:unexpected_response, any()}}
| {:error, term()}
| {:error, reverse_replication_errors()}
def reverse_replication(%Client{} = client, input, options \\ []) do
url_path = "/ReverseReplication"
headers = []
custom_headers = []
query_params = []
meta = metadata()
Request.request_rest(
client,
meta,
:post,
url_path,
query_params,
custom_headers ++ headers,
input,
options,
200
)
end
@doc """
Initiates a Job for launching the machine that is being failed back to from the
specified Recovery Instance.
This will run conversion on the failback client and will reboot your machine,
thus completing the failback process.
"""
@spec start_failback_launch(map(), start_failback_launch_request(), list()) ::
{:ok, start_failback_launch_response(), any()}
| {:error, {:unexpected_response, any()}}
| {:error, term()}
| {:error, start_failback_launch_errors()}
def start_failback_launch(%Client{} = client, input, options \\ []) do
url_path = "/StartFailbackLaunch"
headers = []
custom_headers = []
query_params = []
meta = metadata()
Request.request_rest(
client,
meta,
:post,
url_path,
query_params,
custom_headers ++ headers,
input,
options,
200
)
end
@doc """
Launches Recovery Instances for the specified Source Servers.
For each Source Server you may choose a point in time snapshot to launch from,
or use an on demand snapshot.
"""
@spec start_recovery(map(), start_recovery_request(), list()) ::
{:ok, start_recovery_response(), any()}
| {:error, {:unexpected_response, any()}}
| {:error, term()}
| {:error, start_recovery_errors()}
def start_recovery(%Client{} = client, input, options \\ []) do
url_path = "/StartRecovery"
headers = []
custom_headers = []
query_params = []
meta = metadata()
Request.request_rest(
client,
meta,
:post,
url_path,
query_params,
custom_headers ++ headers,
input,
options,
202
)
end
@doc """
Starts replication for a stopped Source Server.
This action would make the Source Server protected again and restart billing for
it.
"""
@spec start_replication(map(), start_replication_request(), list()) ::
{:ok, start_replication_response(), any()}
| {:error, {:unexpected_response, any()}}
| {:error, term()}
| {:error, start_replication_errors()}
def start_replication(%Client{} = client, input, options \\ []) do
url_path = "/StartReplication"
headers = []
custom_headers = []
query_params = []
meta = metadata()
Request.request_rest(
client,
meta,
:post,
url_path,
query_params,
custom_headers ++ headers,
input,
options,
200
)
end
@doc """
Deploy VPC for the specified Source Network and modify launch templates to use
this network.
The VPC will be deployed using a dedicated CloudFormation stack.
"""
@spec start_source_network_recovery(map(), start_source_network_recovery_request(), list()) ::
{:ok, start_source_network_recovery_response(), any()}
| {:error, {:unexpected_response, any()}}
| {:error, term()}
| {:error, start_source_network_recovery_errors()}
def start_source_network_recovery(%Client{} = client, input, options \\ []) do
url_path = "/StartSourceNetworkRecovery"
headers = []
custom_headers = []
query_params = []
meta = metadata()
Request.request_rest(
client,
meta,
:post,
url_path,
query_params,
custom_headers ++ headers,
input,
options,
202
)
end
@doc """
Starts replication for a Source Network.
This action would make the Source Network protected.
"""
@spec start_source_network_replication(
map(),
start_source_network_replication_request(),
list()
) ::
{:ok, start_source_network_replication_response(), any()}
| {:error, {:unexpected_response, any()}}
| {:error, term()}
| {:error, start_source_network_replication_errors()}
def start_source_network_replication(%Client{} = client, input, options \\ []) do
url_path = "/StartSourceNetworkReplication"
headers = []
custom_headers = []
query_params = []
meta = metadata()
Request.request_rest(
client,
meta,
:post,
url_path,
query_params,
custom_headers ++ headers,
input,
options,
200
)
end
@doc """
Stops the failback process for a specified Recovery Instance.
This changes the Failback State of the Recovery Instance back to
FAILBACK_NOT_STARTED.
"""
@spec stop_failback(map(), stop_failback_request(), list()) ::
{:ok, nil, any()}
| {:error, {:unexpected_response, any()}}
| {:error, term()}
| {:error, stop_failback_errors()}
def stop_failback(%Client{} = client, input, options \\ []) do
url_path = "/StopFailback"
headers = []
custom_headers = []
query_params = []
meta = metadata()
Request.request_rest(
client,
meta,
:post,
url_path,
query_params,
custom_headers ++ headers,
input,
options,
200
)
end
@doc """
Stops replication for a Source Server.
This action would make the Source Server unprotected, delete its existing
snapshots and stop billing for it.
"""
@spec stop_replication(map(), stop_replication_request(), list()) ::
{:ok, stop_replication_response(), any()}
| {:error, {:unexpected_response, any()}}
| {:error, term()}
| {:error, stop_replication_errors()}
def stop_replication(%Client{} = client, input, options \\ []) do
url_path = "/StopReplication"
headers = []
custom_headers = []
query_params = []
meta = metadata()
Request.request_rest(
client,
meta,
:post,
url_path,
query_params,
custom_headers ++ headers,
input,
options,
200
)
end
@doc """
Stops replication for a Source Network.
This action would make the Source Network unprotected.
"""
@spec stop_source_network_replication(map(), stop_source_network_replication_request(), list()) ::
{:ok, stop_source_network_replication_response(), any()}
| {:error, {:unexpected_response, any()}}
| {:error, term()}
| {:error, stop_source_network_replication_errors()}
def stop_source_network_replication(%Client{} = client, input, options \\ []) do
url_path = "/StopSourceNetworkReplication"
headers = []
custom_headers = []
query_params = []
meta = metadata()
Request.request_rest(
client,
meta,
:post,
url_path,
query_params,
custom_headers ++ headers,
input,
options,
200
)
end
@doc """
Adds or overwrites only the specified tags for the specified Elastic Disaster
Recovery resource or resources.
When you specify an existing tag key, the value is overwritten with the new
value. Each resource can have a maximum of 50 tags. Each tag consists of a key
and optional value.
"""
@spec tag_resource(map(), String.t() | atom(), tag_resource_request(), list()) ::
{:ok, nil, any()}
| {:error, {:unexpected_response, any()}}
| {:error, term()}
| {:error, tag_resource_errors()}
def tag_resource(%Client{} = client, resource_arn, input, options \\ []) do
url_path = "/tags/#{AWS.Util.encode_uri(resource_arn)}"
headers = []
custom_headers = []
query_params = []
meta = metadata()
Request.request_rest(
client,
meta,
:post,
url_path,
query_params,
custom_headers ++ headers,
input,
options,
200
)
end
@doc """
Initiates a Job for terminating the EC2 resources associated with the specified
Recovery Instances, and then will delete the Recovery Instances from the Elastic
Disaster Recovery service.
"""
@spec terminate_recovery_instances(map(), terminate_recovery_instances_request(), list()) ::
{:ok, terminate_recovery_instances_response(), any()}
| {:error, {:unexpected_response, any()}}
| {:error, term()}
| {:error, terminate_recovery_instances_errors()}
def terminate_recovery_instances(%Client{} = client, input, options \\ []) do
url_path = "/TerminateRecoveryInstances"
headers = []
custom_headers = []
query_params = []
meta = metadata()
Request.request_rest(
client,
meta,
:post,
url_path,
query_params,
custom_headers ++ headers,
input,
options,
200
)
end
@doc """
Deletes the specified set of tags from the specified set of Elastic Disaster
Recovery resources.
"""
@spec untag_resource(map(), String.t() | atom(), untag_resource_request(), list()) ::
{:ok, nil, any()}
| {:error, {:unexpected_response, any()}}
| {:error, term()}
| {:error, untag_resource_errors()}
def untag_resource(%Client{} = client, resource_arn, input, options \\ []) do
url_path = "/tags/#{AWS.Util.encode_uri(resource_arn)}"
headers = []
custom_headers = []
{query_params, input} =
[
{"tagKeys", "tagKeys"}
]
|> Request.build_params(input)
meta = metadata()
Request.request_rest(
client,
meta,
:delete,
url_path,
query_params,
custom_headers ++ headers,
input,
options,
200
)
end
@doc """
Allows you to update the failback replication configuration of a Recovery
Instance by ID.
"""
@spec update_failback_replication_configuration(
map(),
update_failback_replication_configuration_request(),
list()
) ::
{:ok, nil, any()}
| {:error, {:unexpected_response, any()}}
| {:error, term()}
| {:error, update_failback_replication_configuration_errors()}
def update_failback_replication_configuration(%Client{} = client, input, options \\ []) do
url_path = "/UpdateFailbackReplicationConfiguration"
headers = []
custom_headers = []
query_params = []
meta = metadata()
Request.request_rest(
client,
meta,
:post,
url_path,
query_params,
custom_headers ++ headers,
input,
options,
200
)
end
@doc """
Updates a LaunchConfiguration by Source Server ID.
"""
@spec update_launch_configuration(map(), update_launch_configuration_request(), list()) ::
{:ok, launch_configuration(), any()}
| {:error, {:unexpected_response, any()}}
| {:error, term()}
| {:error, update_launch_configuration_errors()}
def update_launch_configuration(%Client{} = client, input, options \\ []) do
url_path = "/UpdateLaunchConfiguration"
headers = []
custom_headers = []
query_params = []
meta = metadata()
Request.request_rest(
client,
meta,
:post,
url_path,
query_params,
custom_headers ++ headers,
input,
options,
200
)
end
@doc """
Updates an existing Launch Configuration Template by ID.
"""
@spec update_launch_configuration_template(
map(),
update_launch_configuration_template_request(),
list()
) ::
{:ok, update_launch_configuration_template_response(), any()}
| {:error, {:unexpected_response, any()}}
| {:error, term()}
| {:error, update_launch_configuration_template_errors()}
def update_launch_configuration_template(%Client{} = client, input, options \\ []) do
url_path = "/UpdateLaunchConfigurationTemplate"
headers = []
custom_headers = []
query_params = []
meta = metadata()
Request.request_rest(
client,
meta,
:post,
url_path,
query_params,
custom_headers ++ headers,
input,
options,
200
)
end
@doc """
Allows you to update a ReplicationConfiguration by Source Server ID.
"""
@spec update_replication_configuration(
map(),
update_replication_configuration_request(),
list()
) ::
{:ok, replication_configuration(), any()}
| {:error, {:unexpected_response, any()}}
| {:error, term()}
| {:error, update_replication_configuration_errors()}
def update_replication_configuration(%Client{} = client, input, options \\ []) do
url_path = "/UpdateReplicationConfiguration"
headers = []
custom_headers = []
query_params = []
meta = metadata()
Request.request_rest(
client,
meta,
:post,
url_path,
query_params,
custom_headers ++ headers,
input,
options,
200
)
end
@doc """
Updates a ReplicationConfigurationTemplate by ID.
"""
@spec update_replication_configuration_template(
map(),
update_replication_configuration_template_request(),
list()
) ::
{:ok, replication_configuration_template(), any()}
| {:error, {:unexpected_response, any()}}
| {:error, term()}
| {:error, update_replication_configuration_template_errors()}
def update_replication_configuration_template(%Client{} = client, input, options \\ []) do
url_path = "/UpdateReplicationConfigurationTemplate"
headers = []
custom_headers = []
query_params = []
meta = metadata()
Request.request_rest(
client,
meta,
:post,
url_path,
query_params,
custom_headers ++ headers,
input,
options,
200
)
end
end