Packages
aws
1.0.13
1.0.14
1.0.13
1.0.12
1.0.11
1.0.10
1.0.9
1.0.8
1.0.7
1.0.6
1.0.5
1.0.4
1.0.3
1.0.2
1.0.1
1.0.0
0.14.1
0.14.0
0.13.3
0.13.2
0.13.1
0.13.0
0.12.0
0.11.0
0.10.1
0.10.0
0.9.2
0.9.1
0.9.0
0.8.0
0.7.0
0.6.0
0.5.0
0.4.0
0.3.0
0.2.0
0.1.0
0.0.12
0.0.11
0.0.10
0.0.9
0.0.8
0.0.7
0.0.6
0.0.5
0.0.4
0.0.3
0.0.2
0.0.1
AWS clients for Elixir
Current section
Files
Jump to
Current section
Files
lib/aws/generated/cloud_control.ex
# WARNING: DO NOT EDIT, AUTO-GENERATED CODE!
# See https://github.com/aws-beam/aws-codegen for more details.
defmodule AWS.CloudControl do
@moduledoc """
For more information about Amazon Web Services Cloud Control API, see the
[Amazon Web Services Cloud Control API User Guide](https://docs.aws.amazon.com/cloudcontrolapi/latest/userguide/what-is-cloudcontrolapi.html).
"""
alias AWS.Client
alias AWS.Request
@typedoc """
## Example:
concurrent_operation_exception() :: %{
"Message" => String.t() | atom()
}
"""
@type concurrent_operation_exception() :: %{(String.t() | atom()) => any()}
@typedoc """
## Example:
resource_description() :: %{
"Identifier" => String.t() | atom(),
"Properties" => String.t() | atom()
}
"""
@type resource_description() :: %{(String.t() | atom()) => any()}
@typedoc """
## Example:
delete_resource_input() :: %{
optional("ClientToken") => String.t() | atom(),
optional("RoleArn") => String.t() | atom(),
optional("TypeVersionId") => String.t() | atom(),
required("Identifier") => String.t() | atom(),
required("TypeName") => String.t() | atom()
}
"""
@type delete_resource_input() :: %{(String.t() | atom()) => any()}
@typedoc """
## Example:
private_type_exception() :: %{
"Message" => String.t() | atom()
}
"""
@type private_type_exception() :: %{(String.t() | atom()) => any()}
@typedoc """
## Example:
concurrent_modification_exception() :: %{
"Message" => String.t() | atom()
}
"""
@type concurrent_modification_exception() :: %{(String.t() | atom()) => any()}
@typedoc """
## Example:
throttling_exception() :: %{
"Message" => String.t() | atom()
}
"""
@type throttling_exception() :: %{(String.t() | atom()) => any()}
@typedoc """
## Example:
delete_resource_output() :: %{
optional("ProgressEvent") => progress_event()
}
"""
@type delete_resource_output() :: %{(String.t() | atom()) => any()}
@typedoc """
## Example:
get_resource_input() :: %{
optional("RoleArn") => String.t() | atom(),
optional("TypeVersionId") => String.t() | atom(),
required("Identifier") => String.t() | atom(),
required("TypeName") => String.t() | atom()
}
"""
@type get_resource_input() :: %{(String.t() | atom()) => any()}
@typedoc """
## Example:
resource_request_status_filter() :: %{
"OperationStatuses" => list(String.t() | atom()),
"Operations" => list(String.t() | atom())
}
"""
@type resource_request_status_filter() :: %{(String.t() | atom()) => any()}
@typedoc """
## Example:
get_resource_request_status_input() :: %{
required("RequestToken") => String.t() | atom()
}
"""
@type get_resource_request_status_input() :: %{(String.t() | atom()) => any()}
@typedoc """
## Example:
invalid_credentials_exception() :: %{
"Message" => String.t() | atom()
}
"""
@type invalid_credentials_exception() :: %{(String.t() | atom()) => any()}
@typedoc """
## Example:
handler_failure_exception() :: %{
"Message" => String.t() | atom()
}
"""
@type handler_failure_exception() :: %{(String.t() | atom()) => any()}
@typedoc """
## Example:
network_failure_exception() :: %{
"Message" => String.t() | atom()
}
"""
@type network_failure_exception() :: %{(String.t() | atom()) => any()}
@typedoc """
## Example:
create_resource_input() :: %{
optional("ClientToken") => String.t() | atom(),
optional("RoleArn") => String.t() | atom(),
optional("TypeVersionId") => String.t() | atom(),
required("DesiredState") => String.t() | atom(),
required("TypeName") => String.t() | atom()
}
"""
@type create_resource_input() :: %{(String.t() | atom()) => any()}
@typedoc """
## Example:
progress_event() :: %{
"ErrorCode" => String.t() | atom(),
"EventTime" => non_neg_integer(),
"HooksRequestToken" => String.t() | atom(),
"Identifier" => String.t() | atom(),
"Operation" => String.t() | atom(),
"OperationStatus" => String.t() | atom(),
"RequestToken" => String.t() | atom(),
"ResourceModel" => String.t() | atom(),
"RetryAfter" => non_neg_integer(),
"StatusMessage" => String.t() | atom(),
"TypeName" => String.t() | atom()
}
"""
@type progress_event() :: %{(String.t() | atom()) => any()}
@typedoc """
## Example:
type_not_found_exception() :: %{
"Message" => String.t() | atom()
}
"""
@type type_not_found_exception() :: %{(String.t() | atom()) => any()}
@typedoc """
## Example:
already_exists_exception() :: %{
"Message" => String.t() | atom()
}
"""
@type already_exists_exception() :: %{(String.t() | atom()) => any()}
@typedoc """
## Example:
update_resource_input() :: %{
optional("ClientToken") => String.t() | atom(),
optional("RoleArn") => String.t() | atom(),
optional("TypeVersionId") => String.t() | atom(),
required("Identifier") => String.t() | atom(),
required("PatchDocument") => String.t() | atom(),
required("TypeName") => String.t() | atom()
}
"""
@type update_resource_input() :: %{(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:
list_resources_input() :: %{
optional("MaxResults") => integer(),
optional("NextToken") => String.t() | atom(),
optional("ResourceModel") => String.t() | atom(),
optional("RoleArn") => String.t() | atom(),
optional("TypeVersionId") => String.t() | atom(),
required("TypeName") => String.t() | atom()
}
"""
@type list_resources_input() :: %{(String.t() | atom()) => any()}
@typedoc """
## Example:
list_resource_requests_output() :: %{
"NextToken" => String.t() | atom(),
"ResourceRequestStatusSummaries" => list(progress_event())
}
"""
@type list_resource_requests_output() :: %{(String.t() | atom()) => any()}
@typedoc """
## Example:
get_resource_request_status_output() :: %{
optional("HooksProgressEvent") => list(hook_progress_event()),
optional("ProgressEvent") => progress_event()
}
"""
@type get_resource_request_status_output() :: %{(String.t() | atom()) => any()}
@typedoc """
## Example:
handler_internal_failure_exception() :: %{
"Message" => String.t() | atom()
}
"""
@type handler_internal_failure_exception() :: %{(String.t() | atom()) => any()}
@typedoc """
## Example:
update_resource_output() :: %{
optional("ProgressEvent") => progress_event()
}
"""
@type update_resource_output() :: %{(String.t() | atom()) => any()}
@typedoc """
## Example:
not_updatable_exception() :: %{
"Message" => String.t() | atom()
}
"""
@type not_updatable_exception() :: %{(String.t() | atom()) => any()}
@typedoc """
## Example:
unsupported_action_exception() :: %{
"Message" => String.t() | atom()
}
"""
@type unsupported_action_exception() :: %{(String.t() | atom()) => any()}
@typedoc """
## Example:
resource_conflict_exception() :: %{
"Message" => String.t() | atom()
}
"""
@type resource_conflict_exception() :: %{(String.t() | atom()) => any()}
@typedoc """
## Example:
cancel_resource_request_input() :: %{
required("RequestToken") => String.t() | atom()
}
"""
@type cancel_resource_request_input() :: %{(String.t() | atom()) => any()}
@typedoc """
## Example:
general_service_exception() :: %{
"Message" => String.t() | atom()
}
"""
@type general_service_exception() :: %{(String.t() | atom()) => any()}
@typedoc """
## Example:
service_limit_exceeded_exception() :: %{
"Message" => String.t() | atom()
}
"""
@type service_limit_exceeded_exception() :: %{(String.t() | atom()) => any()}
@typedoc """
## Example:
create_resource_output() :: %{
optional("ProgressEvent") => progress_event()
}
"""
@type create_resource_output() :: %{(String.t() | atom()) => any()}
@typedoc """
## Example:
client_token_conflict_exception() :: %{
"Message" => String.t() | atom()
}
"""
@type client_token_conflict_exception() :: %{(String.t() | atom()) => any()}
@typedoc """
## Example:
list_resources_output() :: %{
"NextToken" => String.t() | atom(),
"ResourceDescriptions" => list(resource_description()),
"TypeName" => String.t() | atom()
}
"""
@type list_resources_output() :: %{(String.t() | atom()) => any()}
@typedoc """
## Example:
get_resource_output() :: %{
optional("ResourceDescription") => resource_description(),
optional("TypeName") => String.t() | atom()
}
"""
@type get_resource_output() :: %{(String.t() | atom()) => any()}
@typedoc """
## Example:
list_resource_requests_input() :: %{
optional("MaxResults") => integer(),
optional("NextToken") => String.t() | atom(),
optional("ResourceRequestStatusFilter") => resource_request_status_filter()
}
"""
@type list_resource_requests_input() :: %{(String.t() | atom()) => any()}
@typedoc """
## Example:
invalid_request_exception() :: %{
"Message" => String.t() | atom()
}
"""
@type invalid_request_exception() :: %{(String.t() | atom()) => any()}
@typedoc """
## Example:
request_token_not_found_exception() :: %{
"Message" => String.t() | atom()
}
"""
@type request_token_not_found_exception() :: %{(String.t() | atom()) => any()}
@typedoc """
## Example:
cancel_resource_request_output() :: %{
optional("ProgressEvent") => progress_event()
}
"""
@type cancel_resource_request_output() :: %{(String.t() | atom()) => any()}
@typedoc """
## Example:
service_internal_error_exception() :: %{
"Message" => String.t() | atom()
}
"""
@type service_internal_error_exception() :: %{(String.t() | atom()) => any()}
@typedoc """
## Example:
hook_progress_event() :: %{
"FailureMode" => String.t() | atom(),
"HookEventTime" => non_neg_integer(),
"HookStatus" => String.t() | atom(),
"HookStatusMessage" => String.t() | atom(),
"HookTypeArn" => String.t() | atom(),
"HookTypeName" => String.t() | atom(),
"HookTypeVersionId" => String.t() | atom(),
"InvocationPoint" => String.t() | atom()
}
"""
@type hook_progress_event() :: %{(String.t() | atom()) => any()}
@typedoc """
## Example:
not_stabilized_exception() :: %{
"Message" => String.t() | atom()
}
"""
@type not_stabilized_exception() :: %{(String.t() | atom()) => any()}
@type cancel_resource_request_errors() ::
request_token_not_found_exception() | concurrent_modification_exception()
@type create_resource_errors() ::
not_stabilized_exception()
| service_internal_error_exception()
| invalid_request_exception()
| client_token_conflict_exception()
| service_limit_exceeded_exception()
| general_service_exception()
| resource_conflict_exception()
| unsupported_action_exception()
| not_updatable_exception()
| handler_internal_failure_exception()
| resource_not_found_exception()
| already_exists_exception()
| type_not_found_exception()
| network_failure_exception()
| handler_failure_exception()
| invalid_credentials_exception()
| throttling_exception()
| private_type_exception()
| concurrent_operation_exception()
@type delete_resource_errors() ::
not_stabilized_exception()
| service_internal_error_exception()
| invalid_request_exception()
| client_token_conflict_exception()
| service_limit_exceeded_exception()
| general_service_exception()
| resource_conflict_exception()
| unsupported_action_exception()
| not_updatable_exception()
| handler_internal_failure_exception()
| resource_not_found_exception()
| already_exists_exception()
| type_not_found_exception()
| network_failure_exception()
| handler_failure_exception()
| invalid_credentials_exception()
| throttling_exception()
| private_type_exception()
| concurrent_operation_exception()
@type get_resource_errors() ::
not_stabilized_exception()
| service_internal_error_exception()
| invalid_request_exception()
| service_limit_exceeded_exception()
| general_service_exception()
| resource_conflict_exception()
| unsupported_action_exception()
| not_updatable_exception()
| handler_internal_failure_exception()
| resource_not_found_exception()
| already_exists_exception()
| type_not_found_exception()
| network_failure_exception()
| handler_failure_exception()
| invalid_credentials_exception()
| throttling_exception()
| private_type_exception()
@type get_resource_request_status_errors() :: request_token_not_found_exception()
@type list_resources_errors() ::
not_stabilized_exception()
| service_internal_error_exception()
| invalid_request_exception()
| service_limit_exceeded_exception()
| general_service_exception()
| resource_conflict_exception()
| unsupported_action_exception()
| not_updatable_exception()
| handler_internal_failure_exception()
| resource_not_found_exception()
| already_exists_exception()
| type_not_found_exception()
| network_failure_exception()
| handler_failure_exception()
| invalid_credentials_exception()
| throttling_exception()
| private_type_exception()
@type update_resource_errors() ::
not_stabilized_exception()
| service_internal_error_exception()
| invalid_request_exception()
| client_token_conflict_exception()
| service_limit_exceeded_exception()
| general_service_exception()
| resource_conflict_exception()
| unsupported_action_exception()
| not_updatable_exception()
| handler_internal_failure_exception()
| resource_not_found_exception()
| already_exists_exception()
| type_not_found_exception()
| network_failure_exception()
| handler_failure_exception()
| invalid_credentials_exception()
| throttling_exception()
| private_type_exception()
| concurrent_operation_exception()
def metadata do
%{
api_version: "2021-09-30",
content_type: "application/x-amz-json-1.0",
credential_scope: nil,
endpoint_prefix: "cloudcontrolapi",
global?: false,
hostname: nil,
protocol: "json",
service_id: "CloudControl",
signature_version: "v4",
signing_name: "cloudcontrolapi",
target_prefix: "CloudApiService"
}
end
@doc """
Cancels the specified resource operation request.
For more information, see [Canceling resource operation requests](https://docs.aws.amazon.com/cloudcontrolapi/latest/userguide/resource-operations-manage-requests.html#resource-operations-manage-requests-cancel)
in the
*Amazon Web Services Cloud Control API User Guide*.
Only resource operations requests with a status of `PENDING` or
`IN_PROGRESS` can be canceled.
"""
@spec cancel_resource_request(map(), cancel_resource_request_input(), list()) ::
{:ok, cancel_resource_request_output(), any()}
| {:error, {:unexpected_response, any()}}
| {:error, term()}
| {:error, cancel_resource_request_errors()}
def cancel_resource_request(%Client{} = client, input, options \\ []) do
meta =
metadata()
Request.request_post(client, meta, "CancelResourceRequest", input, options)
end
@doc """
Creates the specified resource.
For more information, see [Creating a resource](https://docs.aws.amazon.com/cloudcontrolapi/latest/userguide/resource-operations-create.html)
in the *Amazon Web Services Cloud Control API User Guide*.
After you have initiated a resource creation request, you can monitor the
progress of your
request by calling
[GetResourceRequestStatus](https://docs.aws.amazon.com/cloudcontrolapi/latest/APIReference/API_GetResourceRequestStatus.html)
using the `RequestToken` of the
`ProgressEvent` type returned by `CreateResource`.
"""
@spec create_resource(map(), create_resource_input(), list()) ::
{:ok, create_resource_output(), any()}
| {:error, {:unexpected_response, any()}}
| {:error, term()}
| {:error, create_resource_errors()}
def create_resource(%Client{} = client, input, options \\ []) do
meta =
metadata()
Request.request_post(client, meta, "CreateResource", input, options)
end
@doc """
Deletes the specified resource.
For details, see [Deleting a resource](https://docs.aws.amazon.com/cloudcontrolapi/latest/userguide/resource-operations-delete.html)
in the *Amazon Web Services Cloud Control API User Guide*.
After you have initiated a resource deletion request, you can monitor the
progress of your
request by calling
[GetResourceRequestStatus](https://docs.aws.amazon.com/cloudcontrolapi/latest/APIReference/API_GetResourceRequestStatus.html)
using the `RequestToken` of the
`ProgressEvent` returned by `DeleteResource`.
"""
@spec delete_resource(map(), delete_resource_input(), list()) ::
{:ok, delete_resource_output(), any()}
| {:error, {:unexpected_response, any()}}
| {:error, term()}
| {:error, delete_resource_errors()}
def delete_resource(%Client{} = client, input, options \\ []) do
meta =
metadata()
Request.request_post(client, meta, "DeleteResource", input, options)
end
@doc """
Returns information about the current state of the specified resource.
For details, see
[Reading a resource's current state](https://docs.aws.amazon.com/cloudcontrolapi/latest/userguide/resource-operations-read.html).
You can use this action to return information about an existing resource in your
account
and Amazon Web Services Region, whether those resources were provisioned using
Cloud Control API.
"""
@spec get_resource(map(), get_resource_input(), list()) ::
{:ok, get_resource_output(), any()}
| {:error, {:unexpected_response, any()}}
| {:error, term()}
| {:error, get_resource_errors()}
def get_resource(%Client{} = client, input, options \\ []) do
meta =
metadata()
Request.request_post(client, meta, "GetResource", input, options)
end
@doc """
Returns the current status of a resource operation request.
For more information, see
[Tracking the progress of resource operation requests](https://docs.aws.amazon.com/cloudcontrolapi/latest/userguide/resource-operations-manage-requests.html#resource-operations-manage-requests-track)
in the
*Amazon Web Services Cloud Control API User Guide*.
"""
@spec get_resource_request_status(map(), get_resource_request_status_input(), list()) ::
{:ok, get_resource_request_status_output(), any()}
| {:error, {:unexpected_response, any()}}
| {:error, term()}
| {:error, get_resource_request_status_errors()}
def get_resource_request_status(%Client{} = client, input, options \\ []) do
meta =
metadata()
Request.request_post(client, meta, "GetResourceRequestStatus", input, options)
end
@doc """
Returns existing resource operation requests.
This includes requests of all status types.
For more information, see [Listing active resource operation requests](https://docs.aws.amazon.com/cloudcontrolapi/latest/userguide/resource-operations-manage-requests.html#resource-operations-manage-requests-list)
in the
*Amazon Web Services Cloud Control API User Guide*.
Resource operation requests expire after 7 days.
"""
@spec list_resource_requests(map(), list_resource_requests_input(), list()) ::
{:ok, list_resource_requests_output(), any()}
| {:error, {:unexpected_response, any()}}
| {:error, term()}
def list_resource_requests(%Client{} = client, input, options \\ []) do
meta =
metadata()
Request.request_post(client, meta, "ListResourceRequests", input, options)
end
@doc """
Returns information about the specified resources.
For more information, see [Discovering resources](https://docs.aws.amazon.com/cloudcontrolapi/latest/userguide/resource-operations-list.html)
in the *Amazon Web Services Cloud Control API User Guide*.
You can use this action to return information about existing resources in your
account and
Amazon Web Services Region, whether those resources were provisioned using Cloud
Control API.
"""
@spec list_resources(map(), list_resources_input(), list()) ::
{:ok, list_resources_output(), any()}
| {:error, {:unexpected_response, any()}}
| {:error, term()}
| {:error, list_resources_errors()}
def list_resources(%Client{} = client, input, options \\ []) do
meta =
metadata()
Request.request_post(client, meta, "ListResources", input, options)
end
@doc """
Updates the specified property values in the resource.
You specify your resource property updates as a list of patch operations
contained in a
JSON patch document that adheres to the [
*RFC 6902 - JavaScript Object
Notation (JSON) Patch*
](https://datatracker.ietf.org/doc/html/rfc6902) standard.
For details on how Cloud Control API performs resource update operations, see
[Updating a resource](https://docs.aws.amazon.com/cloudcontrolapi/latest/userguide/resource-operations-update.html)
in the *Amazon Web Services Cloud Control API User Guide*.
After you have initiated a resource update request, you can monitor the progress
of your
request by calling
[GetResourceRequestStatus](https://docs.aws.amazon.com/cloudcontrolapi/latest/APIReference/API_GetResourceRequestStatus.html) using the `RequestToken` of the
`ProgressEvent` returned by `UpdateResource`.
For more information about the properties of a specific resource, refer to the
related
topic for the resource in the [Resource and property types
reference](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-template-resource-type-ref.html)
in the *CloudFormation Users Guide*.
"""
@spec update_resource(map(), update_resource_input(), list()) ::
{:ok, update_resource_output(), any()}
| {:error, {:unexpected_response, any()}}
| {:error, term()}
| {:error, update_resource_errors()}
def update_resource(%Client{} = client, input, options \\ []) do
meta =
metadata()
Request.request_post(client, meta, "UpdateResource", input, options)
end
end