# WARNING: DO NOT EDIT, AUTO-GENERATED CODE!
# See https://github.com/aws-beam/aws-codegen for more details.
defmodule AWS.Route53RecoveryReadiness do
@moduledoc """
Recovery readiness
"""
alias AWS.Client
alias AWS.Request
@typedoc """
## Example:
readiness_check_summary() :: %{
"Readiness" => list(any()),
"ReadinessCheckName" => String.t() | atom()
}
"""
@type readiness_check_summary() :: %{(String.t() | atom()) => any()}
@typedoc """
## Example:
tag_resource_request() :: %{
required("Tags") => map()
}
"""
@type tag_resource_request() :: %{(String.t() | atom()) => any()}
@typedoc """
## Example:
create_resource_set_request() :: %{
optional("Tags") => map(),
required("ResourceSetName") => String.t() | atom(),
required("ResourceSetType") => String.t() | atom(),
required("Resources") => list(resource())
}
"""
@type create_resource_set_request() :: %{(String.t() | atom()) => any()}
@typedoc """
## Example:
get_recovery_group_response() :: %{
"Cells" => list(String.t() | atom()),
"RecoveryGroupArn" => String.t() | atom(),
"RecoveryGroupName" => String.t() | atom(),
"Tags" => map()
}
"""
@type get_recovery_group_response() :: %{(String.t() | atom()) => any()}
@typedoc """
## Example:
create_cell_response() :: %{
"CellArn" => String.t() | atom(),
"CellName" => String.t() | atom(),
"Cells" => list(String.t() | atom()),
"ParentReadinessScopes" => list(String.t() | atom()),
"Tags" => map()
}
"""
@type create_cell_response() :: %{(String.t() | atom()) => any()}
@typedoc """
## Example:
delete_cell_request() :: %{}
"""
@type delete_cell_request() :: %{}
@typedoc """
## Example:
get_recovery_group_request() :: %{}
"""
@type get_recovery_group_request() :: %{}
@typedoc """
## Example:
list_readiness_checks_request() :: %{
optional("MaxResults") => integer(),
optional("NextToken") => String.t() | atom()
}
"""
@type list_readiness_checks_request() :: %{(String.t() | atom()) => any()}
@typedoc """
## Example:
dns_target_resource() :: %{
"DomainName" => String.t() | atom(),
"HostedZoneArn" => String.t() | atom(),
"RecordSetId" => String.t() | atom(),
"RecordType" => String.t() | atom(),
"TargetResource" => target_resource()
}
"""
@type dns_target_resource() :: %{(String.t() | atom()) => any()}
@typedoc """
## Example:
r53_resource_record() :: %{
"DomainName" => String.t() | atom(),
"RecordSetId" => String.t() | atom()
}
"""
@type r53_resource_record() :: %{(String.t() | atom()) => any()}
@typedoc """
## Example:
list_cells_response() :: %{
"Cells" => list(cell_output()),
"NextToken" => String.t() | atom()
}
"""
@type list_cells_response() :: %{(String.t() | atom()) => any()}
@typedoc """
## Example:
delete_resource_set_request() :: %{}
"""
@type delete_resource_set_request() :: %{}
@typedoc """
## Example:
create_cross_account_authorization_response() :: %{
"CrossAccountAuthorization" => String.t() | atom()
}
"""
@type create_cross_account_authorization_response() :: %{(String.t() | atom()) => any()}
@typedoc """
## Example:
recovery_group_output() :: %{
"Cells" => list(String.t() | atom()),
"RecoveryGroupArn" => String.t() | atom(),
"RecoveryGroupName" => String.t() | atom(),
"Tags" => map()
}
"""
@type recovery_group_output() :: %{(String.t() | atom()) => any()}
@typedoc """
## Example:
list_resource_sets_request() :: %{
optional("MaxResults") => integer(),
optional("NextToken") => String.t() | atom()
}
"""
@type list_resource_sets_request() :: %{(String.t() | atom()) => any()}
@typedoc """
## Example:
resource_set_output() :: %{
"ResourceSetArn" => String.t() | atom(),
"ResourceSetName" => String.t() | atom(),
"ResourceSetType" => String.t() | atom(),
"Resources" => list(resource()),
"Tags" => map()
}
"""
@type resource_set_output() :: %{(String.t() | atom()) => any()}
@typedoc """
## Example:
create_cross_account_authorization_request() :: %{
required("CrossAccountAuthorization") => String.t() | atom()
}
"""
@type create_cross_account_authorization_request() :: %{(String.t() | atom()) => any()}
@typedoc """
## Example:
get_recovery_group_readiness_summary_response() :: %{
"NextToken" => String.t() | atom(),
"Readiness" => list(any()),
"ReadinessChecks" => list(readiness_check_summary())
}
"""
@type get_recovery_group_readiness_summary_response() :: %{(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:
update_recovery_group_response() :: %{
"Cells" => list(String.t() | atom()),
"RecoveryGroupArn" => String.t() | atom(),
"RecoveryGroupName" => String.t() | atom(),
"Tags" => map()
}
"""
@type update_recovery_group_response() :: %{(String.t() | atom()) => any()}
@typedoc """
## Example:
list_rules_request() :: %{
optional("MaxResults") => integer(),
optional("NextToken") => String.t() | atom(),
optional("ResourceType") => String.t() | atom()
}
"""
@type list_rules_request() :: %{(String.t() | atom()) => any()}
@typedoc """
## Example:
get_cell_request() :: %{}
"""
@type get_cell_request() :: %{}
@typedoc """
## Example:
update_readiness_check_response() :: %{
"ReadinessCheckArn" => String.t() | atom(),
"ReadinessCheckName" => String.t() | atom(),
"ResourceSet" => String.t() | atom(),
"Tags" => map()
}
"""
@type update_readiness_check_response() :: %{(String.t() | atom()) => any()}
@typedoc """
## Example:
target_resource() :: %{
"NLBResource" => n_lb_resource(),
"R53Resource" => r53_resource_record()
}
"""
@type target_resource() :: %{(String.t() | atom()) => any()}
@typedoc """
## Example:
get_recovery_group_readiness_summary_request() :: %{
optional("MaxResults") => integer(),
optional("NextToken") => String.t() | atom()
}
"""
@type get_recovery_group_readiness_summary_request() :: %{(String.t() | atom()) => any()}
@typedoc """
## Example:
get_cell_readiness_summary_response() :: %{
"NextToken" => String.t() | atom(),
"Readiness" => list(any()),
"ReadinessChecks" => list(readiness_check_summary())
}
"""
@type get_cell_readiness_summary_response() :: %{(String.t() | atom()) => any()}
@typedoc """
## Example:
list_cells_request() :: %{
optional("MaxResults") => integer(),
optional("NextToken") => String.t() | atom()
}
"""
@type list_cells_request() :: %{(String.t() | atom()) => any()}
@typedoc """
## Example:
list_tags_for_resources_response() :: %{
"Tags" => map()
}
"""
@type list_tags_for_resources_response() :: %{(String.t() | atom()) => any()}
@typedoc """
## Example:
delete_cross_account_authorization_request() :: %{}
"""
@type delete_cross_account_authorization_request() :: %{}
@typedoc """
## Example:
list_readiness_checks_response() :: %{
"NextToken" => String.t() | atom(),
"ReadinessChecks" => list(readiness_check_output())
}
"""
@type list_readiness_checks_response() :: %{(String.t() | atom()) => any()}
@typedoc """
## Example:
create_readiness_check_request() :: %{
optional("Tags") => map(),
required("ReadinessCheckName") => String.t() | atom(),
required("ResourceSetName") => String.t() | atom()
}
"""
@type create_readiness_check_request() :: %{(String.t() | atom()) => any()}
@typedoc """
## Example:
conflict_exception() :: %{
"Message" => String.t() | atom()
}
"""
@type conflict_exception() :: %{(String.t() | atom()) => any()}
@typedoc """
## Example:
resource_not_found_exception() :: %{
"Message" => String.t() | atom()
}
"""
@type resource_not_found_exception() :: %{(String.t() | atom()) => any()}
@typedoc """
## Example:
update_readiness_check_request() :: %{
required("ResourceSetName") => String.t() | atom()
}
"""
@type update_readiness_check_request() :: %{(String.t() | atom()) => any()}
@typedoc """
## Example:
get_readiness_check_status_response() :: %{
"Messages" => list(message()),
"NextToken" => String.t() | atom(),
"Readiness" => list(any()),
"Resources" => list(resource_result())
}
"""
@type get_readiness_check_status_response() :: %{(String.t() | atom()) => any()}
@typedoc """
## Example:
update_recovery_group_request() :: %{
required("Cells") => list(String.t() | atom())
}
"""
@type update_recovery_group_request() :: %{(String.t() | atom()) => any()}
@typedoc """
## Example:
recommendation() :: %{
"RecommendationText" => String.t() | atom()
}
"""
@type recommendation() :: %{(String.t() | atom()) => any()}
@typedoc """
## Example:
get_architecture_recommendations_response() :: %{
"LastAuditTimestamp" => non_neg_integer(),
"NextToken" => String.t() | atom(),
"Recommendations" => list(recommendation())
}
"""
@type get_architecture_recommendations_response() :: %{(String.t() | atom()) => any()}
@typedoc """
## Example:
get_readiness_check_status_request() :: %{
optional("MaxResults") => integer(),
optional("NextToken") => String.t() | atom()
}
"""
@type get_readiness_check_status_request() :: %{(String.t() | atom()) => any()}
@typedoc """
## Example:
create_readiness_check_response() :: %{
"ReadinessCheckArn" => String.t() | atom(),
"ReadinessCheckName" => String.t() | atom(),
"ResourceSet" => String.t() | atom(),
"Tags" => map()
}
"""
@type create_readiness_check_response() :: %{(String.t() | atom()) => any()}
@typedoc """
## Example:
list_cross_account_authorizations_response() :: %{
"CrossAccountAuthorizations" => list(String.t() | atom()),
"NextToken" => String.t() | atom()
}
"""
@type list_cross_account_authorizations_response() :: %{(String.t() | atom()) => any()}
@typedoc """
## Example:
get_resource_set_request() :: %{}
"""
@type get_resource_set_request() :: %{}
@typedoc """
## Example:
update_cell_response() :: %{
"CellArn" => String.t() | atom(),
"CellName" => String.t() | atom(),
"Cells" => list(String.t() | atom()),
"ParentReadinessScopes" => list(String.t() | atom()),
"Tags" => map()
}
"""
@type update_cell_response() :: %{(String.t() | atom()) => any()}
@typedoc """
## Example:
get_readiness_check_response() :: %{
"ReadinessCheckArn" => String.t() | atom(),
"ReadinessCheckName" => String.t() | atom(),
"ResourceSet" => String.t() | atom(),
"Tags" => map()
}
"""
@type get_readiness_check_response() :: %{(String.t() | atom()) => any()}
@typedoc """
## Example:
create_resource_set_response() :: %{
"ResourceSetArn" => String.t() | atom(),
"ResourceSetName" => String.t() | atom(),
"ResourceSetType" => String.t() | atom(),
"Resources" => list(resource()),
"Tags" => map()
}
"""
@type create_resource_set_response() :: %{(String.t() | atom()) => any()}
@typedoc """
## Example:
readiness_check_output() :: %{
"ReadinessCheckArn" => String.t() | atom(),
"ReadinessCheckName" => String.t() | atom(),
"ResourceSet" => String.t() | atom(),
"Tags" => map()
}
"""
@type readiness_check_output() :: %{(String.t() | atom()) => any()}
@typedoc """
## Example:
list_recovery_groups_request() :: %{
optional("MaxResults") => integer(),
optional("NextToken") => String.t() | atom()
}
"""
@type list_recovery_groups_request() :: %{(String.t() | atom()) => any()}
@typedoc """
## Example:
get_architecture_recommendations_request() :: %{
optional("MaxResults") => integer(),
optional("NextToken") => String.t() | atom()
}
"""
@type get_architecture_recommendations_request() :: %{(String.t() | atom()) => any()}
@typedoc """
## Example:
get_resource_set_response() :: %{
"ResourceSetArn" => String.t() | atom(),
"ResourceSetName" => String.t() | atom(),
"ResourceSetType" => String.t() | atom(),
"Resources" => list(resource()),
"Tags" => map()
}
"""
@type get_resource_set_response() :: %{(String.t() | atom()) => any()}
@typedoc """
## Example:
list_resource_sets_response() :: %{
"NextToken" => String.t() | atom(),
"ResourceSets" => list(resource_set_output())
}
"""
@type list_resource_sets_response() :: %{(String.t() | atom()) => any()}
@typedoc """
## Example:
internal_server_exception() :: %{
"Message" => String.t() | atom()
}
"""
@type internal_server_exception() :: %{(String.t() | atom()) => any()}
@typedoc """
## Example:
delete_cross_account_authorization_response() :: %{}
"""
@type delete_cross_account_authorization_response() :: %{}
@typedoc """
## Example:
get_cell_readiness_summary_request() :: %{
optional("MaxResults") => integer(),
optional("NextToken") => String.t() | atom()
}
"""
@type get_cell_readiness_summary_request() :: %{(String.t() | atom()) => any()}
@typedoc """
## Example:
get_readiness_check_resource_status_response() :: %{
"NextToken" => String.t() | atom(),
"Readiness" => list(any()),
"Rules" => list(rule_result())
}
"""
@type get_readiness_check_resource_status_response() :: %{(String.t() | atom()) => any()}
@typedoc """
## Example:
get_cell_response() :: %{
"CellArn" => String.t() | atom(),
"CellName" => String.t() | atom(),
"Cells" => list(String.t() | atom()),
"ParentReadinessScopes" => list(String.t() | atom()),
"Tags" => map()
}
"""
@type get_cell_response() :: %{(String.t() | atom()) => any()}
@typedoc """
## Example:
access_denied_exception() :: %{
"Message" => String.t() | atom()
}
"""
@type access_denied_exception() :: %{(String.t() | atom()) => any()}
@typedoc """
## Example:
list_rules_response() :: %{
"NextToken" => String.t() | atom(),
"Rules" => list(list_rules_output())
}
"""
@type list_rules_response() :: %{(String.t() | atom()) => any()}
@typedoc """
## Example:
tag_resource_response() :: %{}
"""
@type tag_resource_response() :: %{}
@typedoc """
## Example:
update_resource_set_request() :: %{
required("ResourceSetType") => String.t() | atom(),
required("Resources") => list(resource())
}
"""
@type update_resource_set_request() :: %{(String.t() | atom()) => any()}
@typedoc """
## Example:
create_recovery_group_response() :: %{
"Cells" => list(String.t() | atom()),
"RecoveryGroupArn" => String.t() | atom(),
"RecoveryGroupName" => String.t() | atom(),
"Tags" => map()
}
"""
@type create_recovery_group_response() :: %{(String.t() | atom()) => any()}
@typedoc """
## Example:
rule_result() :: %{
"LastCheckedTimestamp" => non_neg_integer(),
"Messages" => list(message()),
"Readiness" => list(any()),
"RuleId" => String.t() | atom()
}
"""
@type rule_result() :: %{(String.t() | atom()) => any()}
@typedoc """
## Example:
list_tags_for_resources_request() :: %{}
"""
@type list_tags_for_resources_request() :: %{}
@typedoc """
## Example:
get_readiness_check_resource_status_request() :: %{
optional("MaxResults") => integer(),
optional("NextToken") => String.t() | atom()
}
"""
@type get_readiness_check_resource_status_request() :: %{(String.t() | atom()) => any()}
@typedoc """
## Example:
list_rules_output() :: %{
"ResourceType" => String.t() | atom(),
"RuleDescription" => String.t() | atom(),
"RuleId" => String.t() | atom()
}
"""
@type list_rules_output() :: %{(String.t() | atom()) => any()}
@typedoc """
## Example:
validation_exception() :: %{
"Message" => String.t() | atom()
}
"""
@type validation_exception() :: %{(String.t() | atom()) => any()}
@typedoc """
## Example:
delete_readiness_check_request() :: %{}
"""
@type delete_readiness_check_request() :: %{}
@typedoc """
## Example:
n_lb_resource() :: %{
"Arn" => String.t() | atom()
}
"""
@type n_lb_resource() :: %{(String.t() | atom()) => any()}
@typedoc """
## Example:
throttling_exception() :: %{
"Message" => String.t() | atom()
}
"""
@type throttling_exception() :: %{(String.t() | atom()) => any()}
@typedoc """
## Example:
cell_output() :: %{
"CellArn" => String.t() | atom(),
"CellName" => String.t() | atom(),
"Cells" => list(String.t() | atom()),
"ParentReadinessScopes" => list(String.t() | atom()),
"Tags" => map()
}
"""
@type cell_output() :: %{(String.t() | atom()) => any()}
@typedoc """
## Example:
create_recovery_group_request() :: %{
optional("Cells") => list(String.t() | atom()),
optional("Tags") => map(),
required("RecoveryGroupName") => String.t() | atom()
}
"""
@type create_recovery_group_request() :: %{(String.t() | atom()) => any()}
@typedoc """
## Example:
create_cell_request() :: %{
optional("Cells") => list(String.t() | atom()),
optional("Tags") => map(),
required("CellName") => String.t() | atom()
}
"""
@type create_cell_request() :: %{(String.t() | atom()) => any()}
@typedoc """
## Example:
update_cell_request() :: %{
required("Cells") => list(String.t() | atom())
}
"""
@type update_cell_request() :: %{(String.t() | atom()) => any()}
@typedoc """
## Example:
list_cross_account_authorizations_request() :: %{
optional("MaxResults") => integer(),
optional("NextToken") => String.t() | atom()
}
"""
@type list_cross_account_authorizations_request() :: %{(String.t() | atom()) => any()}
@typedoc """
## Example:
resource_result() :: %{
"ComponentId" => String.t() | atom(),
"LastCheckedTimestamp" => non_neg_integer(),
"Readiness" => list(any()),
"ResourceArn" => String.t() | atom()
}
"""
@type resource_result() :: %{(String.t() | atom()) => any()}
@typedoc """
## Example:
update_resource_set_response() :: %{
"ResourceSetArn" => String.t() | atom(),
"ResourceSetName" => String.t() | atom(),
"ResourceSetType" => String.t() | atom(),
"Resources" => list(resource()),
"Tags" => map()
}
"""
@type update_resource_set_response() :: %{(String.t() | atom()) => any()}
@typedoc """
## Example:
get_readiness_check_request() :: %{}
"""
@type get_readiness_check_request() :: %{}
@typedoc """
## Example:
delete_recovery_group_request() :: %{}
"""
@type delete_recovery_group_request() :: %{}
@typedoc """
## Example:
list_recovery_groups_response() :: %{
"NextToken" => String.t() | atom(),
"RecoveryGroups" => list(recovery_group_output())
}
"""
@type list_recovery_groups_response() :: %{(String.t() | atom()) => any()}
@typedoc """
## Example:
message() :: %{
"MessageText" => String.t() | atom()
}
"""
@type message() :: %{(String.t() | atom()) => any()}
@typedoc """
## Example:
resource() :: %{
"ComponentId" => String.t() | atom(),
"DnsTargetResource" => dns_target_resource(),
"ReadinessScopes" => list(String.t() | atom()),
"ResourceArn" => String.t() | atom()
}
"""
@type resource() :: %{(String.t() | atom()) => any()}
@type create_cell_errors() ::
throttling_exception()
| validation_exception()
| access_denied_exception()
| internal_server_exception()
| conflict_exception()
@type create_cross_account_authorization_errors() ::
throttling_exception()
| validation_exception()
| access_denied_exception()
| internal_server_exception()
| conflict_exception()
@type create_readiness_check_errors() ::
throttling_exception()
| validation_exception()
| access_denied_exception()
| internal_server_exception()
| conflict_exception()
@type create_recovery_group_errors() ::
throttling_exception()
| validation_exception()
| access_denied_exception()
| internal_server_exception()
| conflict_exception()
@type create_resource_set_errors() ::
throttling_exception()
| validation_exception()
| access_denied_exception()
| internal_server_exception()
| conflict_exception()
@type delete_cell_errors() ::
throttling_exception()
| validation_exception()
| access_denied_exception()
| internal_server_exception()
| resource_not_found_exception()
@type delete_cross_account_authorization_errors() ::
throttling_exception()
| validation_exception()
| access_denied_exception()
| internal_server_exception()
@type delete_readiness_check_errors() ::
throttling_exception()
| validation_exception()
| access_denied_exception()
| internal_server_exception()
| resource_not_found_exception()
@type delete_recovery_group_errors() ::
throttling_exception()
| validation_exception()
| access_denied_exception()
| internal_server_exception()
| resource_not_found_exception()
@type delete_resource_set_errors() ::
throttling_exception()
| validation_exception()
| access_denied_exception()
| internal_server_exception()
| resource_not_found_exception()
@type get_architecture_recommendations_errors() ::
throttling_exception()
| validation_exception()
| access_denied_exception()
| internal_server_exception()
| resource_not_found_exception()
@type get_cell_errors() ::
throttling_exception()
| validation_exception()
| access_denied_exception()
| internal_server_exception()
| resource_not_found_exception()
@type get_cell_readiness_summary_errors() ::
throttling_exception()
| validation_exception()
| access_denied_exception()
| internal_server_exception()
| resource_not_found_exception()
@type get_readiness_check_errors() ::
throttling_exception()
| validation_exception()
| access_denied_exception()
| internal_server_exception()
| resource_not_found_exception()
@type get_readiness_check_resource_status_errors() ::
throttling_exception()
| validation_exception()
| access_denied_exception()
| internal_server_exception()
| resource_not_found_exception()
@type get_readiness_check_status_errors() ::
throttling_exception()
| validation_exception()
| access_denied_exception()
| internal_server_exception()
| resource_not_found_exception()
@type get_recovery_group_errors() ::
throttling_exception()
| validation_exception()
| access_denied_exception()
| internal_server_exception()
| resource_not_found_exception()
@type get_recovery_group_readiness_summary_errors() ::
throttling_exception()
| validation_exception()
| access_denied_exception()
| internal_server_exception()
| resource_not_found_exception()
@type get_resource_set_errors() ::
throttling_exception()
| validation_exception()
| access_denied_exception()
| internal_server_exception()
| resource_not_found_exception()
@type list_cells_errors() ::
throttling_exception()
| validation_exception()
| access_denied_exception()
| internal_server_exception()
@type list_cross_account_authorizations_errors() ::
throttling_exception()
| validation_exception()
| access_denied_exception()
| internal_server_exception()
@type list_readiness_checks_errors() ::
throttling_exception()
| validation_exception()
| access_denied_exception()
| internal_server_exception()
@type list_recovery_groups_errors() ::
throttling_exception()
| validation_exception()
| access_denied_exception()
| internal_server_exception()
@type list_resource_sets_errors() ::
throttling_exception()
| validation_exception()
| access_denied_exception()
| internal_server_exception()
@type list_rules_errors() ::
throttling_exception()
| validation_exception()
| access_denied_exception()
| internal_server_exception()
@type list_tags_for_resources_errors() ::
validation_exception() | internal_server_exception() | resource_not_found_exception()
@type tag_resource_errors() ::
validation_exception() | internal_server_exception() | resource_not_found_exception()
@type untag_resource_errors() ::
validation_exception() | internal_server_exception() | resource_not_found_exception()
@type update_cell_errors() ::
throttling_exception()
| validation_exception()
| access_denied_exception()
| internal_server_exception()
| resource_not_found_exception()
@type update_readiness_check_errors() ::
throttling_exception()
| validation_exception()
| access_denied_exception()
| internal_server_exception()
| resource_not_found_exception()
@type update_recovery_group_errors() ::
throttling_exception()
| validation_exception()
| access_denied_exception()
| internal_server_exception()
| resource_not_found_exception()
@type update_resource_set_errors() ::
throttling_exception()
| validation_exception()
| access_denied_exception()
| internal_server_exception()
| resource_not_found_exception()
def metadata do
%{
api_version: "2019-12-02",
content_type: "application/x-amz-json-1.1",
credential_scope: nil,
endpoint_prefix: "route53-recovery-readiness",
global?: false,
hostname: nil,
protocol: "rest-json",
service_id: "Route53 Recovery Readiness",
signature_version: "v4",
signing_name: "route53-recovery-readiness",
target_prefix: nil
}
end
@doc """
Creates a cell in an account.
"""
@spec create_cell(map(), create_cell_request(), list()) ::
{:ok, create_cell_response(), any()}
| {:error, {:unexpected_response, any()}}
| {:error, term()}
| {:error, create_cell_errors()}
def create_cell(%Client{} = client, input, options \\ []) do
url_path = "/cells"
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 """
Creates a cross-account readiness authorization.
This lets you authorize another account to work with Route 53 Application
Recovery Controller, for example, to check the readiness status of resources in
a separate account.
"""
@spec create_cross_account_authorization(
map(),
create_cross_account_authorization_request(),
list()
) ::
{:ok, create_cross_account_authorization_response(), any()}
| {:error, {:unexpected_response, any()}}
| {:error, term()}
| {:error, create_cross_account_authorization_errors()}
def create_cross_account_authorization(%Client{} = client, input, options \\ []) do
url_path = "/crossaccountauthorizations"
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 """
Creates a readiness check in an account.
A readiness check monitors a resource set in your application, such as a set of
Amazon Aurora instances, that Application Recovery Controller is auditing
recovery readiness for. The audits run once every minute on every resource
that's associated with a readiness check.
"""
@spec create_readiness_check(map(), create_readiness_check_request(), list()) ::
{:ok, create_readiness_check_response(), any()}
| {:error, {:unexpected_response, any()}}
| {:error, term()}
| {:error, create_readiness_check_errors()}
def create_readiness_check(%Client{} = client, input, options \\ []) do
url_path = "/readinesschecks"
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 """
Creates a recovery group in an account.
A recovery group corresponds to an application and includes a list of the cells
that make up the application.
"""
@spec create_recovery_group(map(), create_recovery_group_request(), list()) ::
{:ok, create_recovery_group_response(), any()}
| {:error, {:unexpected_response, any()}}
| {:error, term()}
| {:error, create_recovery_group_errors()}
def create_recovery_group(%Client{} = client, input, options \\ []) do
url_path = "/recoverygroups"
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 """
Creates a resource set.
A resource set is a set of resources of one type that span multiple cells. You
can associate a resource set with a readiness check to monitor the resources for
failover readiness.
"""
@spec create_resource_set(map(), create_resource_set_request(), list()) ::
{:ok, create_resource_set_response(), any()}
| {:error, {:unexpected_response, any()}}
| {:error, term()}
| {:error, create_resource_set_errors()}
def create_resource_set(%Client{} = client, input, options \\ []) do
url_path = "/resourcesets"
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 """
Delete a cell.
When successful, the response code is 204, with no response body.
"""
@spec delete_cell(map(), String.t() | atom(), delete_cell_request(), list()) ::
{:ok, nil, any()}
| {:error, {:unexpected_response, any()}}
| {:error, term()}
| {:error, delete_cell_errors()}
def delete_cell(%Client{} = client, cell_name, input, options \\ []) do
url_path = "/cells/#{AWS.Util.encode_uri(cell_name)}"
headers = []
custom_headers = []
query_params = []
meta = metadata()
Request.request_rest(
client,
meta,
:delete,
url_path,
query_params,
custom_headers ++ headers,
input,
options,
204
)
end
@doc """
Deletes cross account readiness authorization.
"""
@spec delete_cross_account_authorization(
map(),
String.t() | atom(),
delete_cross_account_authorization_request(),
list()
) ::
{:ok, delete_cross_account_authorization_response(), any()}
| {:error, {:unexpected_response, any()}}
| {:error, term()}
| {:error, delete_cross_account_authorization_errors()}
def delete_cross_account_authorization(
%Client{} = client,
cross_account_authorization,
input,
options \\ []
) do
url_path = "/crossaccountauthorizations/#{AWS.Util.encode_uri(cross_account_authorization)}"
headers = []
custom_headers = []
query_params = []
meta = metadata()
Request.request_rest(
client,
meta,
:delete,
url_path,
query_params,
custom_headers ++ headers,
input,
options,
200
)
end
@doc """
Deletes a readiness check.
"""
@spec delete_readiness_check(
map(),
String.t() | atom(),
delete_readiness_check_request(),
list()
) ::
{:ok, nil, any()}
| {:error, {:unexpected_response, any()}}
| {:error, term()}
| {:error, delete_readiness_check_errors()}
def delete_readiness_check(%Client{} = client, readiness_check_name, input, options \\ []) do
url_path = "/readinesschecks/#{AWS.Util.encode_uri(readiness_check_name)}"
headers = []
custom_headers = []
query_params = []
meta = metadata()
Request.request_rest(
client,
meta,
:delete,
url_path,
query_params,
custom_headers ++ headers,
input,
options,
204
)
end
@doc """
Deletes a recovery group.
"""
@spec delete_recovery_group(map(), String.t() | atom(), delete_recovery_group_request(), list()) ::
{:ok, nil, any()}
| {:error, {:unexpected_response, any()}}
| {:error, term()}
| {:error, delete_recovery_group_errors()}
def delete_recovery_group(%Client{} = client, recovery_group_name, input, options \\ []) do
url_path = "/recoverygroups/#{AWS.Util.encode_uri(recovery_group_name)}"
headers = []
custom_headers = []
query_params = []
meta = metadata()
Request.request_rest(
client,
meta,
:delete,
url_path,
query_params,
custom_headers ++ headers,
input,
options,
204
)
end
@doc """
Deletes a resource set.
"""
@spec delete_resource_set(map(), String.t() | atom(), delete_resource_set_request(), list()) ::
{:ok, nil, any()}
| {:error, {:unexpected_response, any()}}
| {:error, term()}
| {:error, delete_resource_set_errors()}
def delete_resource_set(%Client{} = client, resource_set_name, input, options \\ []) do
url_path = "/resourcesets/#{AWS.Util.encode_uri(resource_set_name)}"
headers = []
custom_headers = []
query_params = []
meta = metadata()
Request.request_rest(
client,
meta,
:delete,
url_path,
query_params,
custom_headers ++ headers,
input,
options,
204
)
end
@doc """
Gets recommendations about architecture designs for improving resiliency for an
application, based on a recovery group.
"""
@spec get_architecture_recommendations(
map(),
String.t() | atom(),
String.t() | atom() | nil,
String.t() | atom() | nil,
list()
) ::
{:ok, get_architecture_recommendations_response(), any()}
| {:error, {:unexpected_response, any()}}
| {:error, term()}
| {:error, get_architecture_recommendations_errors()}
def get_architecture_recommendations(
%Client{} = client,
recovery_group_name,
max_results \\ nil,
next_token \\ nil,
options \\ []
) do
url_path =
"/recoverygroups/#{AWS.Util.encode_uri(recovery_group_name)}/architectureRecommendations"
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 """
Gets information about a cell including cell name, cell Amazon Resource Name
(ARN), ARNs of nested cells for this cell, and a list of those cell ARNs with
their associated recovery group ARNs.
"""
@spec get_cell(map(), String.t() | atom(), list()) ::
{:ok, get_cell_response(), any()}
| {:error, {:unexpected_response, any()}}
| {:error, term()}
| {:error, get_cell_errors()}
def get_cell(%Client{} = client, cell_name, options \\ []) do
url_path = "/cells/#{AWS.Util.encode_uri(cell_name)}"
headers = []
query_params = []
meta = metadata()
Request.request_rest(client, meta, :get, url_path, query_params, headers, nil, options, 200)
end
@doc """
Gets readiness for a cell.
Aggregates the readiness of all the resources that are associated with the cell
into a single value.
"""
@spec get_cell_readiness_summary(
map(),
String.t() | atom(),
String.t() | atom() | nil,
String.t() | atom() | nil,
list()
) ::
{:ok, get_cell_readiness_summary_response(), any()}
| {:error, {:unexpected_response, any()}}
| {:error, term()}
| {:error, get_cell_readiness_summary_errors()}
def get_cell_readiness_summary(
%Client{} = client,
cell_name,
max_results \\ nil,
next_token \\ nil,
options \\ []
) do
url_path = "/cellreadiness/#{AWS.Util.encode_uri(cell_name)}"
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 """
Gets details about a readiness check.
"""
@spec get_readiness_check(map(), String.t() | atom(), list()) ::
{:ok, get_readiness_check_response(), any()}
| {:error, {:unexpected_response, any()}}
| {:error, term()}
| {:error, get_readiness_check_errors()}
def get_readiness_check(%Client{} = client, readiness_check_name, options \\ []) do
url_path = "/readinesschecks/#{AWS.Util.encode_uri(readiness_check_name)}"
headers = []
query_params = []
meta = metadata()
Request.request_rest(client, meta, :get, url_path, query_params, headers, nil, options, 200)
end
@doc """
Gets individual readiness status for a readiness check.
To see the overall readiness status for a recovery group, that considers the
readiness status for all the readiness checks in the recovery group, use
GetRecoveryGroupReadinessSummary.
"""
@spec get_readiness_check_resource_status(
map(),
String.t() | atom(),
String.t() | atom(),
String.t() | atom() | nil,
String.t() | atom() | nil,
list()
) ::
{:ok, get_readiness_check_resource_status_response(), any()}
| {:error, {:unexpected_response, any()}}
| {:error, term()}
| {:error, get_readiness_check_resource_status_errors()}
def get_readiness_check_resource_status(
%Client{} = client,
readiness_check_name,
resource_identifier,
max_results \\ nil,
next_token \\ nil,
options \\ []
) do
url_path =
"/readinesschecks/#{AWS.Util.encode_uri(readiness_check_name)}/resource/#{AWS.Util.encode_uri(resource_identifier)}/status"
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 """
Gets the readiness status for an individual readiness check.
To see the overall readiness status for a recovery group, that considers the
readiness status for all the readiness checks in a recovery group, use
GetRecoveryGroupReadinessSummary.
"""
@spec get_readiness_check_status(
map(),
String.t() | atom(),
String.t() | atom() | nil,
String.t() | atom() | nil,
list()
) ::
{:ok, get_readiness_check_status_response(), any()}
| {:error, {:unexpected_response, any()}}
| {:error, term()}
| {:error, get_readiness_check_status_errors()}
def get_readiness_check_status(
%Client{} = client,
readiness_check_name,
max_results \\ nil,
next_token \\ nil,
options \\ []
) do
url_path = "/readinesschecks/#{AWS.Util.encode_uri(readiness_check_name)}/status"
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 """
Gets details about a recovery group, including a list of the cells that are
included in it.
"""
@spec get_recovery_group(map(), String.t() | atom(), list()) ::
{:ok, get_recovery_group_response(), any()}
| {:error, {:unexpected_response, any()}}
| {:error, term()}
| {:error, get_recovery_group_errors()}
def get_recovery_group(%Client{} = client, recovery_group_name, options \\ []) do
url_path = "/recoverygroups/#{AWS.Util.encode_uri(recovery_group_name)}"
headers = []
query_params = []
meta = metadata()
Request.request_rest(client, meta, :get, url_path, query_params, headers, nil, options, 200)
end
@doc """
Displays a summary of information about a recovery group's readiness status.
Includes the readiness checks for resources in the recovery group and the
readiness status of each one.
"""
@spec get_recovery_group_readiness_summary(
map(),
String.t() | atom(),
String.t() | atom() | nil,
String.t() | atom() | nil,
list()
) ::
{:ok, get_recovery_group_readiness_summary_response(), any()}
| {:error, {:unexpected_response, any()}}
| {:error, term()}
| {:error, get_recovery_group_readiness_summary_errors()}
def get_recovery_group_readiness_summary(
%Client{} = client,
recovery_group_name,
max_results \\ nil,
next_token \\ nil,
options \\ []
) do
url_path = "/recoverygroupreadiness/#{AWS.Util.encode_uri(recovery_group_name)}"
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 """
Displays the details about a resource set, including a list of the resources in
the set.
"""
@spec get_resource_set(map(), String.t() | atom(), list()) ::
{:ok, get_resource_set_response(), any()}
| {:error, {:unexpected_response, any()}}
| {:error, term()}
| {:error, get_resource_set_errors()}
def get_resource_set(%Client{} = client, resource_set_name, options \\ []) do
url_path = "/resourcesets/#{AWS.Util.encode_uri(resource_set_name)}"
headers = []
query_params = []
meta = metadata()
Request.request_rest(client, meta, :get, url_path, query_params, headers, nil, options, 200)
end
@doc """
Lists the cells for an account.
"""
@spec list_cells(map(), String.t() | atom() | nil, String.t() | atom() | nil, list()) ::
{:ok, list_cells_response(), any()}
| {:error, {:unexpected_response, any()}}
| {:error, term()}
| {:error, list_cells_errors()}
def list_cells(%Client{} = client, max_results \\ nil, next_token \\ nil, options \\ []) do
url_path = "/cells"
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 """
Lists the cross-account readiness authorizations that are in place for an
account.
"""
@spec list_cross_account_authorizations(
map(),
String.t() | atom() | nil,
String.t() | atom() | nil,
list()
) ::
{:ok, list_cross_account_authorizations_response(), any()}
| {:error, {:unexpected_response, any()}}
| {:error, term()}
| {:error, list_cross_account_authorizations_errors()}
def list_cross_account_authorizations(
%Client{} = client,
max_results \\ nil,
next_token \\ nil,
options \\ []
) do
url_path = "/crossaccountauthorizations"
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 """
Lists the readiness checks for an account.
"""
@spec list_readiness_checks(map(), String.t() | atom() | nil, String.t() | atom() | nil, list()) ::
{:ok, list_readiness_checks_response(), any()}
| {:error, {:unexpected_response, any()}}
| {:error, term()}
| {:error, list_readiness_checks_errors()}
def list_readiness_checks(
%Client{} = client,
max_results \\ nil,
next_token \\ nil,
options \\ []
) do
url_path = "/readinesschecks"
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 """
Lists the recovery groups in an account.
"""
@spec list_recovery_groups(map(), String.t() | atom() | nil, String.t() | atom() | nil, list()) ::
{:ok, list_recovery_groups_response(), any()}
| {:error, {:unexpected_response, any()}}
| {:error, term()}
| {:error, list_recovery_groups_errors()}
def list_recovery_groups(
%Client{} = client,
max_results \\ nil,
next_token \\ nil,
options \\ []
) do
url_path = "/recoverygroups"
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 """
Lists the resource sets in an account.
"""
@spec list_resource_sets(map(), String.t() | atom() | nil, String.t() | atom() | nil, list()) ::
{:ok, list_resource_sets_response(), any()}
| {:error, {:unexpected_response, any()}}
| {:error, term()}
| {:error, list_resource_sets_errors()}
def list_resource_sets(%Client{} = client, max_results \\ nil, next_token \\ nil, options \\ []) do
url_path = "/resourcesets"
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 """
Lists all readiness rules, or lists the readiness rules for a specific resource
type.
"""
@spec list_rules(
map(),
String.t() | atom() | nil,
String.t() | atom() | nil,
String.t() | atom() | nil,
list()
) ::
{:ok, list_rules_response(), any()}
| {:error, {:unexpected_response, any()}}
| {:error, term()}
| {:error, list_rules_errors()}
def list_rules(
%Client{} = client,
max_results \\ nil,
next_token \\ nil,
resource_type \\ nil,
options \\ []
) do
url_path = "/rules"
headers = []
query_params = []
query_params =
if !is_nil(resource_type) do
[{"resourceType", resource_type} | query_params]
else
query_params
end
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 """
Lists the tags for a resource.
"""
@spec list_tags_for_resources(map(), String.t() | atom(), list()) ::
{:ok, list_tags_for_resources_response(), any()}
| {:error, {:unexpected_response, any()}}
| {:error, term()}
| {:error, list_tags_for_resources_errors()}
def list_tags_for_resources(%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 """
Adds a tag to a resource.
"""
@spec tag_resource(map(), String.t() | atom(), tag_resource_request(), list()) ::
{:ok, tag_resource_response(), 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 """
Removes a tag from a resource.
"""
@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,
204
)
end
@doc """
Updates a cell to replace the list of nested cells with a new list of nested
cells.
"""
@spec update_cell(map(), String.t() | atom(), update_cell_request(), list()) ::
{:ok, update_cell_response(), any()}
| {:error, {:unexpected_response, any()}}
| {:error, term()}
| {:error, update_cell_errors()}
def update_cell(%Client{} = client, cell_name, input, options \\ []) do
url_path = "/cells/#{AWS.Util.encode_uri(cell_name)}"
headers = []
custom_headers = []
query_params = []
meta = metadata()
Request.request_rest(
client,
meta,
:put,
url_path,
query_params,
custom_headers ++ headers,
input,
options,
200
)
end
@doc """
Updates a readiness check.
"""
@spec update_readiness_check(
map(),
String.t() | atom(),
update_readiness_check_request(),
list()
) ::
{:ok, update_readiness_check_response(), any()}
| {:error, {:unexpected_response, any()}}
| {:error, term()}
| {:error, update_readiness_check_errors()}
def update_readiness_check(%Client{} = client, readiness_check_name, input, options \\ []) do
url_path = "/readinesschecks/#{AWS.Util.encode_uri(readiness_check_name)}"
headers = []
custom_headers = []
query_params = []
meta = metadata()
Request.request_rest(
client,
meta,
:put,
url_path,
query_params,
custom_headers ++ headers,
input,
options,
200
)
end
@doc """
Updates a recovery group.
"""
@spec update_recovery_group(map(), String.t() | atom(), update_recovery_group_request(), list()) ::
{:ok, update_recovery_group_response(), any()}
| {:error, {:unexpected_response, any()}}
| {:error, term()}
| {:error, update_recovery_group_errors()}
def update_recovery_group(%Client{} = client, recovery_group_name, input, options \\ []) do
url_path = "/recoverygroups/#{AWS.Util.encode_uri(recovery_group_name)}"
headers = []
custom_headers = []
query_params = []
meta = metadata()
Request.request_rest(
client,
meta,
:put,
url_path,
query_params,
custom_headers ++ headers,
input,
options,
200
)
end
@doc """
Updates a resource set.
"""
@spec update_resource_set(map(), String.t() | atom(), update_resource_set_request(), list()) ::
{:ok, update_resource_set_response(), any()}
| {:error, {:unexpected_response, any()}}
| {:error, term()}
| {:error, update_resource_set_errors()}
def update_resource_set(%Client{} = client, resource_set_name, input, options \\ []) do
url_path = "/resourcesets/#{AWS.Util.encode_uri(resource_set_name)}"
headers = []
custom_headers = []
query_params = []
meta = metadata()
Request.request_rest(
client,
meta,
:put,
url_path,
query_params,
custom_headers ++ headers,
input,
options,
200
)
end
end