Module Smaws_Client_CloudControl.Types

type nonrec type_name = string
type nonrec identifier = string
type nonrec request_token = string
type nonrec operation =
  1. | CREATE
  2. | DELETE
  3. | UPDATE
type nonrec operation_status =
  1. | PENDING
  2. | IN_PROGRESS
  3. | SUCCESS
  4. | FAILED
  5. | CANCEL_IN_PROGRESS
  6. | CANCEL_COMPLETE
type nonrec timestamp = Smaws_Lib.CoreTypes.Timestamp.t
type nonrec properties = string
type nonrec status_message = string
type nonrec handler_error_code =
  1. | NOT_UPDATABLE
  2. | INVALID_REQUEST
  3. | ACCESS_DENIED
  4. | UNAUTHORIZED_TAGGING_OPERATION
  5. | INVALID_CREDENTIALS
  6. | ALREADY_EXISTS
  7. | NOT_FOUND
  8. | RESOURCE_CONFLICT
  9. | THROTTLING
  10. | SERVICE_LIMIT_EXCEEDED
  11. | NOT_STABILIZED
  12. | GENERAL_SERVICE_EXCEPTION
  13. | SERVICE_INTERNAL_ERROR
  14. | SERVICE_TIMEOUT
  15. | NETWORK_FAILURE
  16. | INTERNAL_FAILURE
type nonrec progress_event = {
  1. retry_after : timestamp option;
    (*

    When to next request the status of this resource operation request.

    *)
  2. error_code : handler_error_code option;
    (*

    For requests with a status of FAILED, the associated error code.

    For error code definitions, see Handler error codes in the CloudFormation Command Line Interface User Guide for Extension Development.

    *)
  3. status_message : status_message option;
    (*

    Any message explaining the current status.

    *)
  4. resource_model : properties option;
    (*

    A JSON string containing the resource model, consisting of each resource property and its current value.

    *)
  5. event_time : timestamp option;
    (*

    When the resource operation request was initiated.

    *)
  6. operation_status : operation_status option;
    (*

    The current status of the resource operation request.

    • PENDING: The resource operation hasn't yet started.
    • IN_PROGRESS: The resource operation is currently in progress.
    • SUCCESS: The resource operation has successfully completed.
    • FAILED: The resource operation has failed. Refer to the error code and status message for more information.
    • CANCEL_IN_PROGRESS: The resource operation is in the process of being canceled.
    • CANCEL_COMPLETE: The resource operation has been canceled.
    *)
  7. operation : operation option;
    (*

    The resource operation type.

    *)
  8. hooks_request_token : request_token option;
    (*

    The unique token representing the Hooks operation for the request.

    *)
  9. request_token : request_token option;
    (*

    The unique token representing this resource operation request.

    Use the RequestToken with GetResourceRequestStatus to return the current status of a resource operation request.

    *)
  10. identifier : identifier option;
    (*

    The primary identifier for the resource.

    In some cases, the resource identifier may be available before the resource operation has reached a status of SUCCESS.

    *)
  11. type_name : type_name option;
    (*

    The name of the resource type used in the operation.

    *)
}

Represents the current status of a resource operation request. For more information, see Managing resource operation requests in the Amazon Web Services Cloud Control API User Guide.

type nonrec update_resource_output = {
  1. progress_event : progress_event option;
    (*

    Represents the current status of the resource update request.

    Use the RequestToken of the ProgressEvent with GetResourceRequestStatus to return the current status of a resource operation request.

    *)
}
type nonrec type_version_id = string
type nonrec role_arn = string
type nonrec client_token = string
type nonrec patch_document = string
type nonrec update_resource_input = {
  1. patch_document : patch_document;
    (*

    A JavaScript Object Notation (JSON) document listing the patch operations that represent the updates to apply to the current resource properties. For details, see Composing the patch document in the Amazon Web Services Cloud Control API User Guide.

    *)
  2. identifier : identifier;
    (*

    The identifier for the resource.

    You can specify the primary identifier, or any secondary identifier defined for the resource type in its resource schema. You can only specify one identifier. Primary identifiers can be specified as a string or JSON; secondary identifiers must be specified as JSON.

    For compound primary identifiers (that is, one that consists of multiple resource properties strung together), to specify the primary identifier as a string, list the property values in the order they are specified in the primary identifier definition, separated by |.

    For more information, see Identifying resources in the Amazon Web Services Cloud Control API User Guide.

    *)
  3. client_token : client_token option;
    (*

    A unique identifier to ensure the idempotency of the resource request. As a best practice, specify this token to ensure idempotency, so that Amazon Web Services Cloud Control API can accurately distinguish between request retries and new resource requests. You might retry a resource request to ensure that it was successfully received.

    A client token is valid for 36 hours once used. After that, a resource request with the same client token is treated as a new request.

    If you do not specify a client token, one is generated for inclusion in the request.

    For more information, see Ensuring resource operation requests are unique in the Amazon Web Services Cloud Control API User Guide.

    *)
  4. role_arn : role_arn option;
    (*

    The Amazon Resource Name (ARN) of the Identity and Access Management (IAM) role for Cloud Control API to use when performing this resource operation. The role specified must have the permissions required for this operation. The necessary permissions for each event handler are defined in the

     {{:https://docs.aws.amazon.com/cloudformation-cli/latest/userguide/resource-type-schema.html#schema-properties-handlers}handlers} 

    section of the resource type definition schema.

    If you do not specify a role, Cloud Control API uses a temporary session created using your Amazon Web Services user credentials.

    For more information, see Specifying credentials in the Amazon Web Services Cloud Control API User Guide.

    *)
  5. type_version_id : type_version_id option;
    (*

    For private resource types, the type version to use in this resource operation. If you do not specify a resource version, CloudFormation uses the default version.

    *)
  6. type_name : type_name;
    (*

    The name of the resource type.

    *)
}
type nonrec error_message = string
type nonrec unsupported_action_exception = {
  1. message : error_message option;
}

The specified resource doesn't support this resource operation.

type nonrec type_not_found_exception = {
  1. message : error_message option;
}

The specified extension doesn't exist in the CloudFormation registry.

type nonrec throttling_exception = {
  1. message : error_message option;
}

The request was denied due to request throttling.

type nonrec service_limit_exceeded_exception = {
  1. message : error_message option;
}

The resource handler has returned that a non-transient resource limit was reached on the service side.

type nonrec service_internal_error_exception = {
  1. message : error_message option;
}

The resource handler has returned that the downstream service returned an internal error, typically with a 5XX HTTP status code.

type nonrec resource_not_found_exception = {
  1. message : error_message option;
}

A resource with the specified identifier can't be found.

type nonrec resource_conflict_exception = {
  1. message : error_message option;
}

The resource is temporarily unavailable to be acted upon. For example, if the resource is currently undergoing an operation and can't be acted upon until that operation is finished.

type nonrec private_type_exception = {
  1. message : error_message option;
}

Cloud Control API hasn't received a valid response from the resource handler, due to a configuration error. This includes issues such as the resource handler returning an invalid response, or timing out.

type nonrec not_updatable_exception = {
  1. message : error_message option;
}

One or more properties included in this resource operation are defined as create-only, and therefore can't be updated.

type nonrec not_stabilized_exception = {
  1. message : error_message option;
}

The resource handler has returned that the downstream resource failed to complete all of its ready-state checks.

type nonrec network_failure_exception = {
  1. message : error_message option;
}

The resource handler has returned that the request couldn't be completed due to networking issues, such as a failure to receive a response from the server.

type nonrec invalid_request_exception = {
  1. message : error_message option;
}

The resource handler has returned that invalid input from the user has generated a generic exception.

type nonrec invalid_credentials_exception = {
  1. message : error_message option;
}

The resource handler has returned that the credentials provided by the user are invalid.

type nonrec handler_internal_failure_exception = {
  1. message : error_message option;
}

The resource handler has returned that an unexpected error occurred within the resource handler.

type nonrec handler_failure_exception = {
  1. message : error_message option;
}

The resource handler has failed without a returning a more specific error code. This can include timeouts.

type nonrec general_service_exception = {
  1. message : error_message option;
}

The resource handler has returned that the downstream service generated an error that doesn't map to any other handler error code.

type nonrec concurrent_operation_exception = {
  1. message : error_message option;
}

Another resource operation is currently being performed on this resource.

type nonrec client_token_conflict_exception = {
  1. message : error_message option;
}

The specified client token has already been used in another resource request.

It's best practice for client tokens to be unique for each resource operation request. However, client token expire after 36 hours.

type nonrec already_exists_exception = {
  1. message : error_message option;
}

The resource with the name requested already exists.

type nonrec resource_request_status_summaries = progress_event list
type nonrec operations = operation list
type nonrec operation_statuses = operation_status list
type nonrec resource_request_status_filter = {
  1. operation_statuses : operation_statuses option;
    (*

    The operation statuses to include in the filter.

    • PENDING: The operation has been requested, but not yet initiated.
    • IN_PROGRESS: The operation is in progress.
    • SUCCESS: The operation completed.
    • FAILED: The operation failed.
    • CANCEL_IN_PROGRESS: The operation is in the process of being canceled.
    • CANCEL_COMPLETE: The operation has been canceled.
    *)
  2. operations : operations option;
    (*

    The operation types to include in the filter.

    *)
}

The filter criteria to use in determining the requests returned.

type nonrec resource_description = {
  1. properties : properties option;
    (*

    A list of the resource properties and their current values.

    *)
  2. identifier : identifier option;
    (*

    The primary identifier for the resource.

    For more information, see Identifying resources in the Amazon Web Services Cloud Control API User Guide.

    *)
}

Represents information about a provisioned resource.

type nonrec resource_descriptions = resource_description list
type nonrec request_token_not_found_exception = {
  1. message : error_message option;
}

A resource operation with the specified request token can't be found.

type nonrec next_token = string
type nonrec max_results = int
type nonrec handler_next_token = string
type nonrec list_resources_output = {
  1. next_token : handler_next_token option;
    (*

    If the request doesn't return all of the remaining results, NextToken is set to a token. To retrieve the next set of results, call ListResources again and assign that token to the request object's NextToken parameter. If the request returns all results, NextToken is set to null.

    *)
  2. resource_descriptions : resource_descriptions option;
    (*

    Information about the specified resources, including primary identifier and resource model.

    *)
  3. type_name : type_name option;
    (*

    The name of the resource type.

    *)
}
type nonrec list_resources_input = {
  1. resource_model : properties option;
    (*

    The resource model to use to select the resources to return.

    *)
  2. max_results : max_results option;
    (*

    Reserved.

    *)
  3. next_token : handler_next_token option;
    (*

    If the previous paginated request didn't return all of the remaining results, the response object's NextToken parameter value is set to a token. To retrieve the next set of results, call this action again and assign that token to the request object's NextToken parameter. If there are no remaining results, the previous response object's NextToken parameter is set to null.

    *)
  4. role_arn : role_arn option;
    (*

    The Amazon Resource Name (ARN) of the Identity and Access Management (IAM) role for Cloud Control API to use when performing this resource operation. The role specified must have the permissions required for this operation. The necessary permissions for each event handler are defined in the

     {{:https://docs.aws.amazon.com/cloudformation-cli/latest/userguide/resource-type-schema.html#schema-properties-handlers}handlers} 

    section of the resource type definition schema.

    If you do not specify a role, Cloud Control API uses a temporary session created using your Amazon Web Services user credentials.

    For more information, see Specifying credentials in the Amazon Web Services Cloud Control API User Guide.

    *)
  5. type_version_id : type_version_id option;
    (*

    For private resource types, the type version to use in this resource operation. If you do not specify a resource version, CloudFormation uses the default version.

    *)
  6. type_name : type_name;
    (*

    The name of the resource type.

    *)
}
type nonrec list_resource_requests_output = {
  1. next_token : next_token option;
    (*

    If the request doesn't return all of the remaining results, NextToken is set to a token. To retrieve the next set of results, call ListResources again and assign that token to the request object's NextToken parameter. If the request returns all results, NextToken is set to null.

    *)
  2. resource_request_status_summaries : resource_request_status_summaries option;
    (*

    The requests that match the specified filter criteria.

    *)
}
type nonrec list_resource_requests_input = {
  1. resource_request_status_filter : resource_request_status_filter option;
    (*

    The filter criteria to apply to the requests returned.

    *)
  2. next_token : next_token option;
    (*

    If the previous paginated request didn't return all of the remaining results, the response object's NextToken parameter value is set to a token. To retrieve the next set of results, call this action again and assign that token to the request object's NextToken parameter. If there are no remaining results, the previous response object's NextToken parameter is set to null.

    *)
  3. max_results : max_results option;
    (*

    The maximum number of results to be returned with a single call. If the number of available results exceeds this maximum, the response includes a NextToken value that you can assign to the NextToken request parameter to get the next set of results.

    The default is 20.

    *)
}
type nonrec hook_type_arn = string
type nonrec hook_invocation_point = string
type nonrec hook_status = string
type nonrec hook_failure_mode = string
type nonrec hook_progress_event = {
  1. failure_mode : hook_failure_mode option;
    (*

    The failure mode of the invocation. The following are the potential statuses:

    • FAIL: This will fail the Hook invocation and the request associated with it.
    • WARN: This will fail the Hook invocation, but not the request associated with it.
    *)
  2. hook_status_message : status_message option;
    (*

    The message explaining the current Hook status.

    *)
  3. hook_event_time : timestamp option;
    (*

    The time that the Hook invocation request initiated.

    *)
  4. hook_status : hook_status option;
    (*

    The status of the Hook invocation. The following are potential statuses:

    • HOOK_PENDING: The Hook was added to the invocation plan, but not yet invoked.
    • HOOK_IN_PROGRESS: The Hook was invoked, but hasn't completed.
    • HOOK_COMPLETE_SUCCEEDED: The Hook invocation is complete with a successful result.
    • HOOK_COMPLETE_FAILED: The Hook invocation is complete with a failed result.
    • HOOK_FAILED: The Hook invocation didn't complete successfully.
    *)
  5. invocation_point : hook_invocation_point option;
    (*

    States whether the Hook is invoked before or after resource provisioning.

    *)
  6. hook_type_arn : hook_type_arn option;
    (*

    The ARN of the Hook being invoked.

    *)
  7. hook_type_version_id : type_version_id option;
    (*

    The type version of the Hook being invoked.

    *)
  8. hook_type_name : type_name option;
    (*

    The type name of the Hook being invoked.

    *)
}

Represents the current status of applicable Hooks for a resource operation request. It contains list of Hook invocation information for the resource specified in the request since the same target can invoke multiple Hooks. For more information, see Managing resource operation requests with Amazon Web Services Cloud Control API.

type nonrec hooks_progress_event = hook_progress_event list
type nonrec get_resource_request_status_output = {
  1. hooks_progress_event : hooks_progress_event option;
    (*

    Lists Hook invocations for the specified target in the request. This is a list since the same target can invoke multiple Hooks.

    *)
  2. progress_event : progress_event option;
    (*

    Represents the current status of the resource operation request.

    *)
}
type nonrec get_resource_request_status_input = {
  1. request_token : request_token;
    (*

    A unique token used to track the progress of the resource operation request.

    Request tokens are included in the ProgressEvent type returned by a resource operation request.

    *)
}
type nonrec get_resource_output = {
  1. resource_description : resource_description option;
  2. type_name : type_name option;
    (*

    The name of the resource type.

    *)
}
type nonrec get_resource_input = {
  1. identifier : identifier;
    (*

    The identifier for the resource.

    You can specify the primary identifier, or any secondary identifier defined for the resource type in its resource schema. You can only specify one identifier. Primary identifiers can be specified as a string or JSON; secondary identifiers must be specified as JSON.

    For compound primary identifiers (that is, one that consists of multiple resource properties strung together), to specify the primary identifier as a string, list the property values in the order they are specified in the primary identifier definition, separated by |.

    For more information, see Identifying resources in the Amazon Web Services Cloud Control API User Guide.

    *)
  2. role_arn : role_arn option;
    (*

    The Amazon Resource Name (ARN) of the Identity and Access Management (IAM) role for Cloud Control API to use when performing this resource operation. The role specified must have the permissions required for this operation. The necessary permissions for each event handler are defined in the

     {{:https://docs.aws.amazon.com/cloudformation-cli/latest/userguide/resource-type-schema.html#schema-properties-handlers}handlers} 

    section of the resource type definition schema.

    If you do not specify a role, Cloud Control API uses a temporary session created using your Amazon Web Services user credentials.

    For more information, see Specifying credentials in the Amazon Web Services Cloud Control API User Guide.

    *)
  3. type_version_id : type_version_id option;
    (*

    For private resource types, the type version to use in this resource operation. If you do not specify a resource version, CloudFormation uses the default version.

    *)
  4. type_name : type_name;
    (*

    The name of the resource type.

    *)
}
type nonrec delete_resource_output = {
  1. progress_event : progress_event option;
    (*

    Represents the current status of the resource deletion request.

    After you have initiated a resource deletion request, you can monitor the progress of your request by calling GetResourceRequestStatus using the RequestToken of the ProgressEvent returned by DeleteResource.

    *)
}
type nonrec delete_resource_input = {
  1. identifier : identifier;
    (*

    The identifier for the resource.

    You can specify the primary identifier, or any secondary identifier defined for the resource type in its resource schema. You can only specify one identifier. Primary identifiers can be specified as a string or JSON; secondary identifiers must be specified as JSON.

    For compound primary identifiers (that is, one that consists of multiple resource properties strung together), to specify the primary identifier as a string, list the property values in the order they are specified in the primary identifier definition, separated by |.

    For more information, see Identifying resources in the Amazon Web Services Cloud Control API User Guide.

    *)
  2. client_token : client_token option;
    (*

    A unique identifier to ensure the idempotency of the resource request. As a best practice, specify this token to ensure idempotency, so that Amazon Web Services Cloud Control API can accurately distinguish between request retries and new resource requests. You might retry a resource request to ensure that it was successfully received.

    A client token is valid for 36 hours once used. After that, a resource request with the same client token is treated as a new request.

    If you do not specify a client token, one is generated for inclusion in the request.

    For more information, see Ensuring resource operation requests are unique in the Amazon Web Services Cloud Control API User Guide.

    *)
  3. role_arn : role_arn option;
    (*

    The Amazon Resource Name (ARN) of the Identity and Access Management (IAM) role for Cloud Control API to use when performing this resource operation. The role specified must have the permissions required for this operation. The necessary permissions for each event handler are defined in the

     {{:https://docs.aws.amazon.com/cloudformation-cli/latest/userguide/resource-type-schema.html#schema-properties-handlers}handlers} 

    section of the resource type definition schema.

    If you do not specify a role, Cloud Control API uses a temporary session created using your Amazon Web Services user credentials.

    For more information, see Specifying credentials in the Amazon Web Services Cloud Control API User Guide.

    *)
  4. type_version_id : type_version_id option;
    (*

    For private resource types, the type version to use in this resource operation. If you do not specify a resource version, CloudFormation uses the default version.

    *)
  5. type_name : type_name;
    (*

    The name of the resource type.

    *)
}
type nonrec create_resource_output = {
  1. progress_event : progress_event option;
    (*

    Represents the current status of the resource creation request.

    After you have initiated a resource creation request, you can monitor the progress of your request by calling GetResourceRequestStatus using the RequestToken of the ProgressEvent returned by CreateResource.

    *)
}
type nonrec create_resource_input = {
  1. desired_state : properties;
    (*

    Structured data format representing the desired state of the resource, consisting of that resource's properties and their desired values.

    Cloud Control API currently supports JSON as a structured data format.

    Specify the desired state as one of the following:

    • A JSON blob
    • A local path containing the desired state in JSON data format

    For more information, see Composing the desired state of the resource in the Amazon Web Services Cloud Control API User Guide.

    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 in the CloudFormation Users Guide.

    *)
  2. client_token : client_token option;
    (*

    A unique identifier to ensure the idempotency of the resource request. As a best practice, specify this token to ensure idempotency, so that Amazon Web Services Cloud Control API can accurately distinguish between request retries and new resource requests. You might retry a resource request to ensure that it was successfully received.

    A client token is valid for 36 hours once used. After that, a resource request with the same client token is treated as a new request.

    If you do not specify a client token, one is generated for inclusion in the request.

    For more information, see Ensuring resource operation requests are unique in the Amazon Web Services Cloud Control API User Guide.

    *)
  3. role_arn : role_arn option;
    (*

    The Amazon Resource Name (ARN) of the Identity and Access Management (IAM) role for Cloud Control API to use when performing this resource operation. The role specified must have the permissions required for this operation. The necessary permissions for each event handler are defined in the

     {{:https://docs.aws.amazon.com/cloudformation-cli/latest/userguide/resource-type-schema.html#schema-properties-handlers}handlers} 

    section of the resource type definition schema.

    If you do not specify a role, Cloud Control API uses a temporary session created using your Amazon Web Services user credentials.

    For more information, see Specifying credentials in the Amazon Web Services Cloud Control API User Guide.

    *)
  4. type_version_id : type_version_id option;
    (*

    For private resource types, the type version to use in this resource operation. If you do not specify a resource version, CloudFormation uses the default version.

    *)
  5. type_name : type_name;
    (*

    The name of the resource type.

    *)
}
type nonrec concurrent_modification_exception = {
  1. message : error_message option;
}

The resource is currently being modified by another operation.

type nonrec cancel_resource_request_output = {
  1. progress_event : progress_event option;
}
type nonrec cancel_resource_request_input = {
  1. request_token : request_token;
    (*

    The RequestToken of the ProgressEvent object returned by the resource operation request.

    *)
}