%% WARNING: DO NOT EDIT, AUTO-GENERATED CODE! %% See https://github.com/aws-beam/aws-codegen for more details. %% @doc AWS CloudFormation %% %% AWS CloudFormation allows you to create and manage AWS infrastructure %% deployments predictably and repeatedly. %% %% You can use AWS CloudFormation to leverage AWS products, such as Amazon %% Elastic Compute Cloud, Amazon Elastic Block Store, Amazon Simple %% Notification Service, Elastic Load Balancing, and Auto Scaling to build %% highly-reliable, highly scalable, cost-effective applications without %% creating or configuring the underlying AWS infrastructure. %% %% With AWS CloudFormation, you declare all of your resources and %% dependencies in a template file. The template defines a collection of %% resources as a single unit called a stack. AWS CloudFormation creates and %% deletes all member resources of the stack together and manages all %% dependencies between the resources for you. %% %% For more information about AWS CloudFormation, see the AWS CloudFormation %% Product Page. %% %% Amazon CloudFormation makes use of other AWS products. If you need %% additional technical information about a specific AWS product, you can %% find the product's technical documentation at docs.aws.amazon.com. -module(aws_cloudformation). -export([cancel_update_stack/2, cancel_update_stack/3, continue_update_rollback/2, continue_update_rollback/3, create_change_set/2, create_change_set/3, create_stack/2, create_stack/3, create_stack_instances/2, create_stack_instances/3, create_stack_set/2, create_stack_set/3, delete_change_set/2, delete_change_set/3, delete_stack/2, delete_stack/3, delete_stack_instances/2, delete_stack_instances/3, delete_stack_set/2, delete_stack_set/3, deregister_type/2, deregister_type/3, describe_account_limits/2, describe_account_limits/3, describe_change_set/2, describe_change_set/3, describe_stack_drift_detection_status/2, describe_stack_drift_detection_status/3, describe_stack_events/2, describe_stack_events/3, describe_stack_instance/2, describe_stack_instance/3, describe_stack_resource/2, describe_stack_resource/3, describe_stack_resource_drifts/2, describe_stack_resource_drifts/3, describe_stack_resources/2, describe_stack_resources/3, describe_stack_set/2, describe_stack_set/3, describe_stack_set_operation/2, describe_stack_set_operation/3, describe_stacks/2, describe_stacks/3, describe_type/2, describe_type/3, describe_type_registration/2, describe_type_registration/3, detect_stack_drift/2, detect_stack_drift/3, detect_stack_resource_drift/2, detect_stack_resource_drift/3, detect_stack_set_drift/2, detect_stack_set_drift/3, estimate_template_cost/2, estimate_template_cost/3, execute_change_set/2, execute_change_set/3, get_stack_policy/2, get_stack_policy/3, get_template/2, get_template/3, get_template_summary/2, get_template_summary/3, list_change_sets/2, list_change_sets/3, list_exports/2, list_exports/3, list_imports/2, list_imports/3, list_stack_instances/2, list_stack_instances/3, list_stack_resources/2, list_stack_resources/3, list_stack_set_operation_results/2, list_stack_set_operation_results/3, list_stack_set_operations/2, list_stack_set_operations/3, list_stack_sets/2, list_stack_sets/3, list_stacks/2, list_stacks/3, list_type_registrations/2, list_type_registrations/3, list_type_versions/2, list_type_versions/3, list_types/2, list_types/3, record_handler_progress/2, record_handler_progress/3, register_type/2, register_type/3, set_stack_policy/2, set_stack_policy/3, set_type_default_version/2, set_type_default_version/3, signal_resource/2, signal_resource/3, stop_stack_set_operation/2, stop_stack_set_operation/3, update_stack/2, update_stack/3, update_stack_instances/2, update_stack_instances/3, update_stack_set/2, update_stack_set/3, update_termination_protection/2, update_termination_protection/3, validate_template/2, validate_template/3]). -include_lib("hackney/include/hackney_lib.hrl"). %%==================================================================== %% API %%==================================================================== %% @doc Cancels an update on the specified stack. %% %% If the call completes successfully, the stack rolls back the update and %% reverts to the previous stack configuration. %% %% You can cancel only stacks that are in the UPDATE_IN_PROGRESS state. cancel_update_stack(Client, Input) when is_map(Client), is_map(Input) -> cancel_update_stack(Client, Input, []). cancel_update_stack(Client, Input, Options) when is_map(Client), is_map(Input), is_list(Options) -> request(Client, <<"CancelUpdateStack">>, Input, Options). %% @doc For a specified stack that is in the `UPDATE_ROLLBACK_FAILED' state, %% continues rolling it back to the `UPDATE_ROLLBACK_COMPLETE' state. %% %% Depending on the cause of the failure, you can manually fix the error and %% continue the rollback. By continuing the rollback, you can return your %% stack to a working state (the `UPDATE_ROLLBACK_COMPLETE' state), and then %% try to update the stack again. %% %% A stack goes into the `UPDATE_ROLLBACK_FAILED' state when AWS %% CloudFormation cannot roll back all changes after a failed stack update. %% For example, you might have a stack that is rolling back to an old %% database instance that was deleted outside of AWS CloudFormation. Because %% AWS CloudFormation doesn't know the database was deleted, it assumes that %% the database instance still exists and attempts to roll back to it, %% causing the update rollback to fail. continue_update_rollback(Client, Input) when is_map(Client), is_map(Input) -> continue_update_rollback(Client, Input, []). continue_update_rollback(Client, Input, Options) when is_map(Client), is_map(Input), is_list(Options) -> request(Client, <<"ContinueUpdateRollback">>, Input, Options). %% @doc Creates a list of changes that will be applied to a stack so that you %% can review the changes before executing them. %% %% You can create a change set for a stack that doesn't exist or an existing %% stack. If you create a change set for a stack that doesn't exist, the %% change set shows all of the resources that AWS CloudFormation will create. %% If you create a change set for an existing stack, AWS CloudFormation %% compares the stack's information with the information that you submit in %% the change set and lists the differences. Use change sets to understand %% which resources AWS CloudFormation will create or change, and how it will %% change resources in an existing stack, before you create or update a %% stack. %% %% To create a change set for a stack that doesn't exist, for the %% `ChangeSetType' parameter, specify `CREATE'. To create a change set for an %% existing stack, specify `UPDATE' for the `ChangeSetType' parameter. To %% create a change set for an import operation, specify `IMPORT' for the %% `ChangeSetType' parameter. After the `CreateChangeSet' call successfully %% completes, AWS CloudFormation starts creating the change set. To check the %% status of the change set or to review it, use the `DescribeChangeSet' %% action. %% %% When you are satisfied with the changes the change set will make, execute %% the change set by using the `ExecuteChangeSet' action. AWS CloudFormation %% doesn't make changes until you execute the change set. %% %% To create a change set for the entire stack hierachy, set %% `IncludeNestedStacks' to `True'. create_change_set(Client, Input) when is_map(Client), is_map(Input) -> create_change_set(Client, Input, []). create_change_set(Client, Input, Options) when is_map(Client), is_map(Input), is_list(Options) -> request(Client, <<"CreateChangeSet">>, Input, Options). %% @doc Creates a stack as specified in the template. %% %% After the call completes successfully, the stack creation starts. You can %% check the status of the stack via the `DescribeStacks' API. create_stack(Client, Input) when is_map(Client), is_map(Input) -> create_stack(Client, Input, []). create_stack(Client, Input, Options) when is_map(Client), is_map(Input), is_list(Options) -> request(Client, <<"CreateStack">>, Input, Options). %% @doc Creates stack instances for the specified accounts, within the %% specified Regions. %% %% A stack instance refers to a stack in a specific account and Region. You %% must specify at least one value for either `Accounts' or %% `DeploymentTargets', and you must specify at least one value for %% `Regions'. create_stack_instances(Client, Input) when is_map(Client), is_map(Input) -> create_stack_instances(Client, Input, []). create_stack_instances(Client, Input, Options) when is_map(Client), is_map(Input), is_list(Options) -> request(Client, <<"CreateStackInstances">>, Input, Options). %% @doc Creates a stack set. create_stack_set(Client, Input) when is_map(Client), is_map(Input) -> create_stack_set(Client, Input, []). create_stack_set(Client, Input, Options) when is_map(Client), is_map(Input), is_list(Options) -> request(Client, <<"CreateStackSet">>, Input, Options). %% @doc Deletes the specified change set. %% %% Deleting change sets ensures that no one executes the wrong change set. %% %% If the call successfully completes, AWS CloudFormation successfully %% deleted the change set. %% %% If `IncludeNestedStacks' specifies `True' during the creation of the %% nested change set, then `DeleteChangeSet' will delete all change sets that %% belong to the stacks hierarchy and will also delete all change sets for %% nested stacks with the status of `REVIEW_IN_PROGRESS'. delete_change_set(Client, Input) when is_map(Client), is_map(Input) -> delete_change_set(Client, Input, []). delete_change_set(Client, Input, Options) when is_map(Client), is_map(Input), is_list(Options) -> request(Client, <<"DeleteChangeSet">>, Input, Options). %% @doc Deletes a specified stack. %% %% Once the call completes successfully, stack deletion starts. Deleted %% stacks do not show up in the `DescribeStacks' API if the deletion has been %% completed successfully. delete_stack(Client, Input) when is_map(Client), is_map(Input) -> delete_stack(Client, Input, []). delete_stack(Client, Input, Options) when is_map(Client), is_map(Input), is_list(Options) -> request(Client, <<"DeleteStack">>, Input, Options). %% @doc Deletes stack instances for the specified accounts, in the specified %% Regions. delete_stack_instances(Client, Input) when is_map(Client), is_map(Input) -> delete_stack_instances(Client, Input, []). delete_stack_instances(Client, Input, Options) when is_map(Client), is_map(Input), is_list(Options) -> request(Client, <<"DeleteStackInstances">>, Input, Options). %% @doc Deletes a stack set. %% %% Before you can delete a stack set, all of its member stack instances must %% be deleted. For more information about how to do this, see %% `DeleteStackInstances'. delete_stack_set(Client, Input) when is_map(Client), is_map(Input) -> delete_stack_set(Client, Input, []). delete_stack_set(Client, Input, Options) when is_map(Client), is_map(Input), is_list(Options) -> request(Client, <<"DeleteStackSet">>, Input, Options). %% @doc Marks an extension or extension version as `DEPRECATED' in the %% CloudFormation registry, removing it from active use. %% %% Deprecated extensions or extension versions cannot be used in %% CloudFormation operations. %% %% To deregister an entire extension, you must individually deregister all %% active versions of that extension. If an extension has only a single %% active version, deregistering that version results in the extension itself %% being deregistered and marked as deprecated in the registry. %% %% You cannot deregister the default version of an extension if there are %% other active version of that extension. If you do deregister the default %% version of an extension, the textensionype itself is deregistered as well %% and marked as deprecated. %% %% To view the deprecation status of an extension or extension version, use %% DescribeType. deregister_type(Client, Input) when is_map(Client), is_map(Input) -> deregister_type(Client, Input, []). deregister_type(Client, Input, Options) when is_map(Client), is_map(Input), is_list(Options) -> request(Client, <<"DeregisterType">>, Input, Options). %% @doc Retrieves your account's AWS CloudFormation limits, such as the %% maximum number of stacks that you can create in your account. %% %% For more information about account limits, see AWS CloudFormation Limits %% in the AWS CloudFormation User Guide. describe_account_limits(Client, Input) when is_map(Client), is_map(Input) -> describe_account_limits(Client, Input, []). describe_account_limits(Client, Input, Options) when is_map(Client), is_map(Input), is_list(Options) -> request(Client, <<"DescribeAccountLimits">>, Input, Options). %% @doc Returns the inputs for the change set and a list of changes that AWS %% CloudFormation will make if you execute the change set. %% %% For more information, see Updating Stacks Using Change Sets in the AWS %% CloudFormation User Guide. describe_change_set(Client, Input) when is_map(Client), is_map(Input) -> describe_change_set(Client, Input, []). describe_change_set(Client, Input, Options) when is_map(Client), is_map(Input), is_list(Options) -> request(Client, <<"DescribeChangeSet">>, Input, Options). %% @doc Returns information about a stack drift detection operation. %% %% A stack drift detection operation detects whether a stack's actual %% configuration differs, or has drifted, from it's expected configuration, %% as defined in the stack template and any values specified as template %% parameters. A stack is considered to have drifted if one or more of its %% resources have drifted. For more information on stack and resource drift, %% see Detecting Unregulated Configuration Changes to Stacks and Resources. %% %% Use `DetectStackDrift' to initiate a stack drift detection operation. %% `DetectStackDrift' returns a `StackDriftDetectionId' you can use to %% monitor the progress of the operation using %% `DescribeStackDriftDetectionStatus'. Once the drift detection operation %% has completed, use `DescribeStackResourceDrifts' to return drift %% information about the stack and its resources. describe_stack_drift_detection_status(Client, Input) when is_map(Client), is_map(Input) -> describe_stack_drift_detection_status(Client, Input, []). describe_stack_drift_detection_status(Client, Input, Options) when is_map(Client), is_map(Input), is_list(Options) -> request(Client, <<"DescribeStackDriftDetectionStatus">>, Input, Options). %% @doc Returns all stack related events for a specified stack in reverse %% chronological order. %% %% For more information about a stack's event history, go to Stacks in the %% AWS CloudFormation User Guide. %% %% You can list events for stacks that have failed to create or have been %% deleted by specifying the unique stack identifier (stack ID). describe_stack_events(Client, Input) when is_map(Client), is_map(Input) -> describe_stack_events(Client, Input, []). describe_stack_events(Client, Input, Options) when is_map(Client), is_map(Input), is_list(Options) -> request(Client, <<"DescribeStackEvents">>, Input, Options). %% @doc Returns the stack instance that's associated with the specified stack %% set, AWS account, and Region. %% %% For a list of stack instances that are associated with a specific stack %% set, use `ListStackInstances'. describe_stack_instance(Client, Input) when is_map(Client), is_map(Input) -> describe_stack_instance(Client, Input, []). describe_stack_instance(Client, Input, Options) when is_map(Client), is_map(Input), is_list(Options) -> request(Client, <<"DescribeStackInstance">>, Input, Options). %% @doc Returns a description of the specified resource in the specified %% stack. %% %% For deleted stacks, DescribeStackResource returns resource information for %% up to 90 days after the stack has been deleted. describe_stack_resource(Client, Input) when is_map(Client), is_map(Input) -> describe_stack_resource(Client, Input, []). describe_stack_resource(Client, Input, Options) when is_map(Client), is_map(Input), is_list(Options) -> request(Client, <<"DescribeStackResource">>, Input, Options). %% @doc Returns drift information for the resources that have been checked %% for drift in the specified stack. %% %% This includes actual and expected configuration values for resources where %% AWS CloudFormation detects configuration drift. %% %% For a given stack, there will be one `StackResourceDrift' for each stack %% resource that has been checked for drift. Resources that have not yet been %% checked for drift are not included. Resources that do not currently %% support drift detection are not checked, and so not included. For a list %% of resources that support drift detection, see Resources that Support %% Drift Detection. %% %% Use `DetectStackResourceDrift' to detect drift on individual resources, or %% `DetectStackDrift' to detect drift on all supported resources for a given %% stack. describe_stack_resource_drifts(Client, Input) when is_map(Client), is_map(Input) -> describe_stack_resource_drifts(Client, Input, []). describe_stack_resource_drifts(Client, Input, Options) when is_map(Client), is_map(Input), is_list(Options) -> request(Client, <<"DescribeStackResourceDrifts">>, Input, Options). %% @doc Returns AWS resource descriptions for running and deleted stacks. %% %% If `StackName' is specified, all the associated resources that are part of %% the stack are returned. If `PhysicalResourceId' is specified, the %% associated resources of the stack that the resource belongs to are %% returned. %% %% Only the first 100 resources will be returned. If your stack has more %% resources than this, you should use `ListStackResources' instead. %% %% For deleted stacks, `DescribeStackResources' returns resource information %% for up to 90 days after the stack has been deleted. %% %% You must specify either `StackName' or `PhysicalResourceId', but not both. %% In addition, you can specify `LogicalResourceId' to filter the returned %% result. For more information about resources, the `LogicalResourceId' and %% `PhysicalResourceId', go to the AWS CloudFormation User Guide. %% %% A `ValidationError' is returned if you specify both `StackName' and %% `PhysicalResourceId' in the same request. describe_stack_resources(Client, Input) when is_map(Client), is_map(Input) -> describe_stack_resources(Client, Input, []). describe_stack_resources(Client, Input, Options) when is_map(Client), is_map(Input), is_list(Options) -> request(Client, <<"DescribeStackResources">>, Input, Options). %% @doc Returns the description of the specified stack set. describe_stack_set(Client, Input) when is_map(Client), is_map(Input) -> describe_stack_set(Client, Input, []). describe_stack_set(Client, Input, Options) when is_map(Client), is_map(Input), is_list(Options) -> request(Client, <<"DescribeStackSet">>, Input, Options). %% @doc Returns the description of the specified stack set operation. describe_stack_set_operation(Client, Input) when is_map(Client), is_map(Input) -> describe_stack_set_operation(Client, Input, []). describe_stack_set_operation(Client, Input, Options) when is_map(Client), is_map(Input), is_list(Options) -> request(Client, <<"DescribeStackSetOperation">>, Input, Options). %% @doc Returns the description for the specified stack; if no stack name was %% specified, then it returns the description for all the stacks created. %% %% If the stack does not exist, an `AmazonCloudFormationException' is %% returned. describe_stacks(Client, Input) when is_map(Client), is_map(Input) -> describe_stacks(Client, Input, []). describe_stacks(Client, Input, Options) when is_map(Client), is_map(Input), is_list(Options) -> request(Client, <<"DescribeStacks">>, Input, Options). %% @doc Returns detailed information about an extension that has been %% registered. %% %% If you specify a `VersionId', `DescribeType' returns information about %% that specific extension version. Otherwise, it returns information about %% the default extension version. describe_type(Client, Input) when is_map(Client), is_map(Input) -> describe_type(Client, Input, []). describe_type(Client, Input, Options) when is_map(Client), is_map(Input), is_list(Options) -> request(Client, <<"DescribeType">>, Input, Options). %% @doc Returns information about an extension's registration, including its %% current status and type and version identifiers. %% %% When you initiate a registration request using ` `RegisterType' ', you can %% then use ` `DescribeTypeRegistration' ' to monitor the progress of that %% registration request. %% %% Once the registration request has completed, use ` `DescribeType' ' to %% return detailed information about an extension. describe_type_registration(Client, Input) when is_map(Client), is_map(Input) -> describe_type_registration(Client, Input, []). describe_type_registration(Client, Input, Options) when is_map(Client), is_map(Input), is_list(Options) -> request(Client, <<"DescribeTypeRegistration">>, Input, Options). %% @doc Detects whether a stack's actual configuration differs, or has %% drifted, from it's expected configuration, as defined in the stack %% template and any values specified as template parameters. %% %% For each resource in the stack that supports drift detection, AWS %% CloudFormation compares the actual configuration of the resource with its %% expected template configuration. Only resource properties explicitly %% defined in the stack template are checked for drift. A stack is considered %% to have drifted if one or more of its resources differ from their expected %% template configurations. For more information, see Detecting Unregulated %% Configuration Changes to Stacks and Resources. %% %% Use `DetectStackDrift' to detect drift on all supported resources for a %% given stack, or `DetectStackResourceDrift' to detect drift on individual %% resources. %% %% For a list of stack resources that currently support drift detection, see %% Resources that Support Drift Detection. %% %% `DetectStackDrift' can take up to several minutes, depending on the number %% of resources contained within the stack. Use %% `DescribeStackDriftDetectionStatus' to monitor the progress of a detect %% stack drift operation. Once the drift detection operation has completed, %% use `DescribeStackResourceDrifts' to return drift information about the %% stack and its resources. %% %% When detecting drift on a stack, AWS CloudFormation does not detect drift %% on any nested stacks belonging to that stack. Perform `DetectStackDrift' %% directly on the nested stack itself. detect_stack_drift(Client, Input) when is_map(Client), is_map(Input) -> detect_stack_drift(Client, Input, []). detect_stack_drift(Client, Input, Options) when is_map(Client), is_map(Input), is_list(Options) -> request(Client, <<"DetectStackDrift">>, Input, Options). %% @doc Returns information about whether a resource's actual configuration %% differs, or has drifted, from it's expected configuration, as defined in %% the stack template and any values specified as template parameters. %% %% This information includes actual and expected property values for %% resources in which AWS CloudFormation detects drift. Only resource %% properties explicitly defined in the stack template are checked for drift. %% For more information about stack and resource drift, see Detecting %% Unregulated Configuration Changes to Stacks and Resources. %% %% Use `DetectStackResourceDrift' to detect drift on individual resources, or %% `DetectStackDrift' to detect drift on all resources in a given stack that %% support drift detection. %% %% Resources that do not currently support drift detection cannot be checked. %% For a list of resources that support drift detection, see Resources that %% Support Drift Detection. detect_stack_resource_drift(Client, Input) when is_map(Client), is_map(Input) -> detect_stack_resource_drift(Client, Input, []). detect_stack_resource_drift(Client, Input, Options) when is_map(Client), is_map(Input), is_list(Options) -> request(Client, <<"DetectStackResourceDrift">>, Input, Options). %% @doc Detect drift on a stack set. %% %% When CloudFormation performs drift detection on a stack set, it performs %% drift detection on the stack associated with each stack instance in the %% stack set. For more information, see How CloudFormation Performs Drift %% Detection on a Stack Set. %% %% `DetectStackSetDrift' returns the `OperationId' of the stack set drift %% detection operation. Use this operation id with ` %% `DescribeStackSetOperation' ' to monitor the progress of the drift %% detection operation. The drift detection operation may take some time, %% depending on the number of stack instances included in the stack set, as %% well as the number of resources included in each stack. %% %% Once the operation has completed, use the following actions to return %% drift information: %% %%