AWS CloudFormation Request Status API

Operations for tracking the status of asynchronous resource operations and cancelling in-progress requests.

OpenAPI Specification

cloudformation-request-status-api-openapi.yml Raw ↑
openapi: 3.1.0
info:
  title: AWS Cloud Control Change Sets Request Status API
  description: AWS Cloud Control API provides a uniform set of five API operations to create, read, update, delete, and list (CRUDL) supported cloud resources. It offers a standardized way to manage AWS and third-party resource types available in the CloudFormation Registry, without needing to learn each individual service API. You specify the resource type and a JSON blob of desired state, and Cloud Control API handles the rest.
  version: '2021-09-30'
  contact:
    name: AWS Support
    url: https://aws.amazon.com/contact-us/
  license:
    name: Apache 2.0
    url: https://www.apache.org/licenses/LICENSE-2.0
  x-logo:
    url: https://aws.amazon.com/cloudformation/logo.png
servers:
- url: https://cloudcontrolapi.{region}.amazonaws.com
  description: AWS Cloud Control API Regional Endpoint
  variables:
    region:
      default: us-east-1
      description: AWS region
      enum:
      - us-east-1
      - us-east-2
      - us-west-1
      - us-west-2
      - eu-west-1
      - eu-west-2
      - eu-central-1
      - ap-southeast-1
      - ap-southeast-2
      - ap-northeast-1
security:
- AWS_Signature_V4: []
tags:
- name: Request Status
  description: Operations for tracking the status of asynchronous resource operations and cancelling in-progress requests.
paths:
  /?Action=GetResourceRequestStatus:
    post:
      operationId: getResourceRequestStatus
      summary: Get the Status of a Resource Operation Request
      description: Returns the current status of a resource operation request. For more information, see Managing resource operation requests in the CloudFormation User Guide.
      tags:
      - Request Status
      parameters:
      - $ref: '#/components/parameters/VersionParam'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              required:
              - RequestToken
              properties:
                RequestToken:
                  type: string
                  description: A unique token used to track the progress of the resource operation request.
                  minLength: 1
                  maxLength: 128
                  pattern: '[-A-Za-z0-9+/=]+'
            examples:
              GetresourcerequeststatusRequestExample:
                summary: Default getResourceRequestStatus request
                x-microcks-default: true
                value:
                  RequestToken: example_value
      responses:
        '200':
          description: Request status returned successfully.
          content:
            application/json:
              schema:
                type: object
                properties:
                  ProgressEvent:
                    $ref: '#/components/schemas/ProgressEvent'
                  HooksProgressEvent:
                    type: array
                    items:
                      $ref: '#/components/schemas/HookProgressEvent'
              examples:
                Getresourcerequeststatus200Example:
                  summary: Default getResourceRequestStatus 200 response
                  x-microcks-default: true
                  value:
                    ProgressEvent:
                      TypeName: example_value
                      Identifier: example_value
                      RequestToken: example_value
                      HooksRequestToken: example_value
                      Operation: CREATE
                      OperationStatus: PENDING
                      EventTime: 42.5
                      ResourceModel: example_value
                      StatusMessage: example_value
                      ErrorCode: NotUpdatable
                      RetryAfter: 42.5
                    HooksProgressEvent:
                    - HookTypeName: example_value
                      HookTypeVersionId: '500123'
                      HookTypeArn: example_value
                      InvocationPoint: PRE_PROVISION
                      HookStatus: HOOK_IN_PROGRESS
                      HookEventTime: 42.5
                      HookStatusMessage: example_value
                      FailureMode: FAIL
        '400':
          $ref: '#/components/responses/ValidationError'
        '404':
          description: The specified request token was not found.
        '429':
          $ref: '#/components/responses/ThrottlingError'
        '500':
          $ref: '#/components/responses/InternalError'
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
  /?Action=ListResourceRequests:
    post:
      operationId: listResourceRequests
      summary: List Resource Operation Requests
      description: Returns existing resource operation requests. This includes requests of all statuses. For more information, see Managing resource operation requests in the CloudFormation User Guide.
      tags:
      - Request Status
      parameters:
      - $ref: '#/components/parameters/VersionParam'
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                MaxResults:
                  type: integer
                  description: Maximum number of results per page.
                  minimum: 1
                  maximum: 100
                NextToken:
                  type: string
                  description: Pagination token from a prior request.
                  minLength: 1
                  maxLength: 2048
                ResourceRequestStatusFilter:
                  type: object
                  description: Filter criteria for resource requests.
                  properties:
                    Operations:
                      type: array
                      description: The operation types to include in the filter.
                      items:
                        type: string
                        enum:
                        - CREATE
                        - DELETE
                        - UPDATE
                    OperationStatuses:
                      type: array
                      description: The operation statuses to include in the filter.
                      items:
                        type: string
                        enum:
                        - PENDING
                        - IN_PROGRESS
                        - SUCCESS
                        - FAILED
                        - CANCEL_IN_PROGRESS
                        - CANCEL_COMPLETE
            examples:
              ListresourcerequestsRequestExample:
                summary: Default listResourceRequests request
                x-microcks-default: true
                value:
                  MaxResults: 10
                  NextToken: example_value
                  ResourceRequestStatusFilter:
                    Operations:
                    - CREATE
                    OperationStatuses:
                    - PENDING
      responses:
        '200':
          description: Resource requests returned successfully.
          content:
            application/json:
              schema:
                type: object
                properties:
                  ResourceRequestStatusSummaries:
                    type: array
                    items:
                      $ref: '#/components/schemas/ProgressEvent'
                  NextToken:
                    type: string
              examples:
                Listresourcerequests200Example:
                  summary: Default listResourceRequests 200 response
                  x-microcks-default: true
                  value:
                    ResourceRequestStatusSummaries:
                    - TypeName: example_value
                      Identifier: example_value
                      RequestToken: example_value
                      HooksRequestToken: example_value
                      Operation: CREATE
                      OperationStatus: PENDING
                      EventTime: 42.5
                      ResourceModel: example_value
                      StatusMessage: example_value
                      ErrorCode: NotUpdatable
                      RetryAfter: 42.5
                    NextToken: example_value
        '400':
          $ref: '#/components/responses/ValidationError'
        '429':
          $ref: '#/components/responses/ThrottlingError'
        '500':
          $ref: '#/components/responses/InternalError'
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
  /?Action=CancelResourceRequest:
    post:
      operationId: cancelResourceRequest
      summary: Cancel an In-progress Resource Operation Request
      description: Cancels the specified resource operation request. For more information, see Canceling resource operation requests in the CloudFormation User Guide. Only resource operations with a status of PENDING or IN_PROGRESS can be cancelled.
      tags:
      - Request Status
      parameters:
      - $ref: '#/components/parameters/VersionParam'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              required:
              - RequestToken
              properties:
                RequestToken:
                  type: string
                  description: The RequestToken of the ProgressEvent to cancel.
                  minLength: 1
                  maxLength: 128
                  pattern: '[-A-Za-z0-9+/=]+'
            examples:
              CancelresourcerequestRequestExample:
                summary: Default cancelResourceRequest request
                x-microcks-default: true
                value:
                  RequestToken: example_value
      responses:
        '200':
          description: Request cancellation initiated successfully.
          content:
            application/json:
              schema:
                type: object
                properties:
                  ProgressEvent:
                    $ref: '#/components/schemas/ProgressEvent'
              examples:
                Cancelresourcerequest200Example:
                  summary: Default cancelResourceRequest 200 response
                  x-microcks-default: true
                  value:
                    ProgressEvent:
                      TypeName: example_value
                      Identifier: example_value
                      RequestToken: example_value
                      HooksRequestToken: example_value
                      Operation: CREATE
                      OperationStatus: PENDING
                      EventTime: 42.5
                      ResourceModel: example_value
                      StatusMessage: example_value
                      ErrorCode: NotUpdatable
                      RetryAfter: 42.5
        '400':
          $ref: '#/components/responses/ValidationError'
        '404':
          description: The specified request token was not found.
        '409':
          description: The request is not in a cancellable state. Only PENDING or IN_PROGRESS requests can be cancelled.
        '429':
          $ref: '#/components/responses/ThrottlingError'
        '500':
          $ref: '#/components/responses/InternalError'
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
components:
  parameters:
    VersionParam:
      name: Version
      in: query
      required: true
      schema:
        type: string
        default: '2021-09-30'
      description: The API version. Fixed to 2021-09-30.
  responses:
    ThrottlingError:
      description: The request was denied due to request throttling.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorResponse'
    ValidationError:
      description: The input fails to satisfy the constraints specified by the service.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorResponse'
    InternalError:
      description: An internal service error occurred.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorResponse'
  schemas:
    ProgressEvent:
      type: object
      description: Represents the current status of a resource operation request.
      properties:
        TypeName:
          type: string
          description: The resource type name.
          example: example_value
        Identifier:
          type: string
          description: The primary identifier for the resource.
          example: example_value
        RequestToken:
          type: string
          description: The unique token representing this resource operation request. Use this token with GetResourceRequestStatus to check operation progress.
          example: example_value
        HooksRequestToken:
          type: string
          description: The unique token for hooks processing.
          example: example_value
        Operation:
          type: string
          description: The resource operation type.
          enum:
          - CREATE
          - DELETE
          - UPDATE
          example: CREATE
        OperationStatus:
          type: string
          description: The current status of the resource operation request.
          enum:
          - PENDING
          - IN_PROGRESS
          - SUCCESS
          - FAILED
          - CANCEL_IN_PROGRESS
          - CANCEL_COMPLETE
          example: PENDING
        EventTime:
          type: number
          description: When the resource operation request was initiated (Unix timestamp).
          example: 42.5
        ResourceModel:
          type: string
          description: A JSON string representing the resource model.
          example: example_value
        StatusMessage:
          type: string
          description: A message explaining the current status.
          example: example_value
        ErrorCode:
          type: string
          description: The error code if the operation failed.
          enum:
          - NotUpdatable
          - InvalidRequest
          - AccessDenied
          - InvalidCredentials
          - AlreadyExists
          - NotFound
          - ResourceConflict
          - Throttling
          - ServiceLimitExceeded
          - NotStabilized
          - GeneralServiceException
          - ServiceInternalError
          - NetworkFailure
          - InternalFailure
          - InvalidTypeConfiguration
          - HandlerInternalFailure
          - NonCompliant
          - Unknown
          - UnsupportedTarget
          example: NotUpdatable
        RetryAfter:
          type: number
          description: When to retry the operation (Unix timestamp).
          example: 42.5
    ErrorResponse:
      type: object
      properties:
        Message:
          type: string
          description: The error message.
          example: example_value
        Code:
          type: string
          description: The error code.
          example: example_value
    HookProgressEvent:
      type: object
      description: Represents the progress of a hook invocation.
      properties:
        HookTypeName:
          type: string
          description: The type name of the hook.
          example: example_value
        HookTypeVersionId:
          type: string
          description: The version of the hook type.
          example: '500123'
        HookTypeArn:
          type: string
          description: The ARN of the hook type.
          example: example_value
        InvocationPoint:
          type: string
          description: The point in the provisioning workflow where the hook runs.
          enum:
          - PRE_PROVISION
          example: PRE_PROVISION
        HookStatus:
          type: string
          description: The status of the hook invocation.
          enum:
          - HOOK_IN_PROGRESS
          - HOOK_COMPLETE_SUCCEEDED
          - HOOK_COMPLETE_FAILED
          - HOOK_FAILED
          example: HOOK_IN_PROGRESS
        HookEventTime:
          type: number
          description: The time the hook event occurred.
          example: 42.5
        HookStatusMessage:
          type: string
          description: A message about the hook status.
          example: example_value
        FailureMode:
          type: string
          description: How the hook failure should affect the overall operation.
          enum:
          - FAIL
          - WARN
          example: FAIL
  securitySchemes:
    AWS_Signature_V4:
      type: apiKey
      name: Authorization
      in: header
      description: AWS Signature Version 4 authentication.