diff --git a/openapi/emulators/localstack-spec.yml b/openapi/emulators/localstack-spec.yml index a47af66..b7bfcfe 100644 --- a/openapi/emulators/localstack-spec.yml +++ b/openapi/emulators/localstack-spec.yml @@ -8,13 +8,10 @@ info: checks, plugins, initialisation hooks, service introspection, and more. termsOfService: https://www.localstack.cloud/legal/tos title: LocalStack REST API - version: 4.0.0 + version: 4.0.1 externalDocs: description: LocalStack Documentation url: https://docs.localstack.cloud -tags: -- description: Available in LocalStack Pro - name: pro servers: - url: http://{host}:{port} variables: @@ -24,13 +21,6 @@ servers: default: localhost.localstack.cloud components: parameters: - ServiceName: - description: Service name - in: path - name: service - required: true - schema: - type: string SesIdFilter: description: Filter for the `id` field in SES message in: query @@ -75,213 +65,14 @@ components: schema: default: us-east-1 type: string + ServiceName: + description: Service name + in: path + name: service + required: true + schema: + type: string schemas: - StateResult: - type: object - description: The result of a state save operation. - properties: - service: - type: string - description: The service name. - status: - type: string - description: The status, ok or error. - message: - type: string - description: An error message. - FaultRule: - type: object - description: Each rule represents the conditions for a fault and its detrimental - effects. - additionalProperties: false - properties: - region: - type: string - description: Region name, e.g., 'ap-south-1'. If omitted, all regions are - affected. - pattern: ^[a-zA-Z0-9-]+$ - service: - type: string - description: Name of the service, e.g., 'kinesis'. If omitted, all services - are affected. - pattern: ^[a-zA-Z0-9-_]+$ - operation: - type: string - description: Name of the operation, e.g., 'PutRecord'. If omitted, all operations - are affected. - pattern: ^[a-zA-Z]+$ - probability: - type: number - description: Probability of invoking this rule, e.g., 0.5. If omitted, 1.0 - is used. - minimum: 0 - maximum: 1 - description: - type: string - description: A description of this rule. This field has no effect. - maxLength: 8192 - error: - type: object - additionalProperties: false - properties: - statusCode: - type: integer - description: HTTP status code to use in response, e.g., 503. If omitted, - a default is used. - minimum: 400 - maximum: 599 - code: - type: string - description: Descriptive error code used in response. If omitted, a - default is used. - pattern: ^[a-zA-Z0-9]+$ - PodSaveRequest: - additionalProperties: false - properties: - remote: - type: object - attributes: - type: object - type: object - RemoteConfig: - oneOf: - - type: object - description: Empty remote config. Targeting default LocalStack platform - additionalProperties: false - - type: object - properties: - remote: - type: string - required: - - remote - PodList: - additionalProperties: false - properties: - cloudpods: - items: - additionalProperties: false - properties: - max_version: - type: integer - pod_name: - type: string - last_change: - type: - - number - - 'null' - required: - - pod_name - - max_version - type: object - type: array - required: - - cloudpods - type: object - PodVersions: - type: object - properties: - versions: - type: array - items: - type: object - properties: - created_at: - type: integer - description: Timestamp when the version was created. - deleted: - type: - - string - - 'null' - description: Deletion timestamp or null if not deleted. - description: - type: - - string - - 'null' - description: Description of the version. - localstack_version: - type: string - description: Version of LocalStack used. - services: - type: array - description: List of services associated with this version. - items: - type: string - storage_size: - type: integer - description: Size of storage used by this version. - user: - type: - - string - - 'null' - description: User associated with this version. - user_id: - type: string - description: ID of the user associated with this version. - version: - type: integer - description: Version number. - remote_url: - type: string - required: - - remote_url - NetworkEffectsConfig: - type: object - description: Configuration for network effects. - additionalProperties: false - required: - - latency - properties: - latency: - type: integer - description: Network latency in milliseconds. By default, 0 is used. - minimum: 0 - PodRemote: - type: object - description: Details of a pod remote - properties: - name: - type: string - description: Name of the remote. - protocols: - type: array - items: - type: string - description: Supported protocols of the remote. - token: - type: object - description: The token for this remote. - url: - type: string - description: URL of the remote server. - example: - name: example_remote - protocols: - - http - - https - url: https://example.com - IamConfig: - type: object - description: IAM Config - properties: - state: - type: string - description: Engine state - enum: - - DISABLED - - ENGINE_ONLY - - SOFT_MODE - - ENFORCED - example: ENFORCED - config_enforce_iam: - type: boolean - description: Whether the ENFORCE_IAM flag was set on startup of LocalStack. - readOnly: true - example: true - config_iam_soft_mode: - type: boolean - description: Supported protocols of the remote. - readOnly: true - example: false InitScripts: additionalProperties: false properties: @@ -662,1510 +453,1668 @@ components: required: - metrics type: object -paths: - /_aws/cognito-idp/forgotPassword: - get: - description: Cognito forgot password endpoint - externalDocs: - url: https://docs.aws.amazon.com/cognito/latest/developerguide/hosted-UI-endpoints.html - tags: - - pro - - aws - post: - description: Cognito forgot password endpoint - externalDocs: - url: https://docs.aws.amazon.com/cognito/latest/developerguide/hosted-UI-endpoints.html - tags: - - pro - - aws - /_aws/cognito-idp/login: - get: - description: Cognito login endpoint - externalDocs: - url: https://docs.aws.amazon.com/cognito/latest/developerguide/hosted-UI-endpoints.html - tags: - - pro - - aws - post: - description: Cognito login endpoint - externalDocs: - url: https://docs.aws.amazon.com/cognito/latest/developerguide/hosted-UI-endpoints.html - tags: - - pro - - aws - /_aws/cognito-idp/logout: - get: - description: Cognito logout endpoint - externalDocs: - url: https://docs.aws.amazon.com/cognito/latest/developerguide/hosted-UI-endpoints.html - tags: - - pro - - aws - post: - description: Cognito logout endpoint - externalDocs: - url: https://docs.aws.amazon.com/cognito/latest/developerguide/hosted-UI-endpoints.html - tags: - - pro - - aws - /_aws/cognito-idp/oauth2/authorize: + StateResult: + type: object + description: The result of a state save operation. + properties: + service: + type: string + description: The service name. + status: + type: string + description: The status, ok or error. + message: + type: string + description: An error message. + FaultRule: + type: object + description: Each rule represents the conditions for a fault and its detrimental + effects. + additionalProperties: false + properties: + region: + type: string + description: Region name, e.g., 'ap-south-1'. If omitted, all regions are + affected. + pattern: ^[a-zA-Z0-9-]+$ + service: + type: string + description: Name of the service, e.g., 'kinesis'. If omitted, all services + are affected. + pattern: ^[a-zA-Z0-9-_]+$ + operation: + type: string + description: Name of the operation, e.g., 'PutRecord'. If omitted, all operations + are affected. + pattern: ^[a-zA-Z]+$ + probability: + type: number + description: Probability of invoking this rule, e.g., 0.5. If omitted, 1.0 + is used. + minimum: 0 + maximum: 1 + description: + type: string + description: A description of this rule. This field has no effect. + maxLength: 8192 + error: + type: object + additionalProperties: false + properties: + statusCode: + type: integer + description: HTTP status code to use in response, e.g., 503. If omitted, + a default is used. + minimum: 400 + maximum: 599 + code: + type: string + description: Descriptive error code used in response. If omitted, a + default is used. + pattern: ^[a-zA-Z0-9]+$ + PodSaveRequest: + additionalProperties: false + properties: + remote: + type: object + attributes: + type: object + type: object + RemoteConfig: + oneOf: + - type: object + description: Empty remote config. Targeting default LocalStack platform + additionalProperties: false + - type: object + properties: + remote: + type: string + required: + - remote + PodList: + additionalProperties: false + properties: + cloudpods: + items: + additionalProperties: false + properties: + max_version: + type: integer + pod_name: + type: string + last_change: + type: + - number + - 'null' + required: + - pod_name + - max_version + type: object + type: array + required: + - cloudpods + type: object + PodVersions: + type: object + properties: + versions: + type: array + items: + type: object + properties: + created_at: + type: integer + description: Timestamp when the version was created. + deleted: + type: + - string + - 'null' + description: Deletion timestamp or null if not deleted. + description: + type: + - string + - 'null' + description: Description of the version. + localstack_version: + type: string + description: Version of LocalStack used. + services: + type: array + description: List of services associated with this version. + items: + type: string + storage_size: + type: integer + description: Size of storage used by this version. + user: + type: + - string + - 'null' + description: User associated with this version. + user_id: + type: string + description: ID of the user associated with this version. + version: + type: integer + description: Version number. + remote_url: + type: string + required: + - remote_url + NetworkEffectsConfig: + type: object + description: Configuration for network effects. + additionalProperties: false + required: + - latency + properties: + latency: + type: integer + description: Network latency in milliseconds. By default, 0 is used. + minimum: 0 + PodRemote: + type: object + description: Details of a pod remote + properties: + name: + type: string + description: Name of the remote. + protocols: + type: array + items: + type: string + description: Supported protocols of the remote. + token: + type: object + description: The token for this remote. + url: + type: string + description: URL of the remote server. + example: + name: example_remote + protocols: + - http + - https + url: https://example.com + IamConfig: + type: object + description: IAM Config + properties: + state: + type: string + description: Engine state + enum: + - DISABLED + - ENGINE_ONLY + - SOFT_MODE + - ENFORCED + example: ENFORCED + config_enforce_iam: + type: boolean + description: Whether the ENFORCE_IAM flag was set on startup of LocalStack. + readOnly: true + example: true + config_iam_soft_mode: + type: boolean + description: Supported protocols of the remote. + readOnly: true + example: false +paths: + /_aws/cloudwatch/metrics/raw: get: - description: Cognito OAuth 2.0 authorization endpoint - externalDocs: - url: https://docs.aws.amazon.com/cognito/latest/developerguide/authorization-endpoint.html + description: Retrieve CloudWatch metrics + operationId: get_cloudwatch_metrics tags: - - pro - aws - /_aws/cognito-idp/oauth2/token: - post: - description: Cognito OAuth 2.0 token endpoint - externalDocs: - url: https://docs.aws.amazon.com/cognito/latest/developerguide/token-endpoint.html + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/CloudWatchMetrics' + description: CloudWatch metrics + /_aws/dynamodb/expired: + delete: + description: Delete expired items from TTL-enabled DynamoDB tables + operationId: delete_ddb_expired_items tags: - - pro - aws - /_aws/cognito-idp/oauth2/revoke: - post: - description: Cognito OAuth 2.0 token revocation endpoint - externalDocs: - url: https://docs.aws.amazon.com/cognito/latest/developerguide/revocation-endpoint.html + responses: + '200': + content: + application/json: + schema: + additionalProperties: false + properties: + ExpiredItems: + description: Number of expired items that were deleted + type: integer + required: + - ExpiredItems + type: object + description: Operation was successful + /_aws/events/rules/{rule_arn}/trigger: + get: + description: Trigger a scheduled EventBridge rule + operationId: trigger_event_bridge_rule tags: - - pro - aws - /_aws/cognito-idp/oauth2/userInfo: + parameters: + - description: EventBridge rule ARN + in: path + name: rule_arn + required: true + schema: + type: string + responses: + '200': + description: EventBridge rule was triggered + '404': + description: Not found + /_aws/lambda/init: get: - description: Cognito OpenID Connect userInfo endpoint - externalDocs: - url: https://docs.aws.amazon.com/cognito/latest/developerguide/userinfo-endpoint.html + description: Retrieve Lambda runtime init binary + operationId: get_lambda_init tags: - - pro - aws - /_aws/cognito-idp/saml2/idpresponse: + responses: + '200': + content: + application/octet-stream: {} + description: Lambda runtime init binary + /_aws/lambda/runtimes: get: - description: Cognito SAML 2.0 idpresponse endpoint - externalDocs: - url: https://docs.aws.amazon.com/cognito/latest/developerguide/saml2-idpresponse-endpoint.html + description: List available Lambda runtimes + operationId: get_lambda_runtimes tags: - - pro - aws - post: - description: Cognito SAML 2.0 idpresponse endpoint - externalDocs: - url: https://docs.aws.amazon.com/cognito/latest/developerguide/saml2-idpresponse-endpoint.html + parameters: + - in: query + name: filter + required: false + schema: + default: supported + enum: + - all + - deprecated + - supported + type: string + responses: + '200': + content: + application/json: + schema: + additionalProperties: false + properties: + Runtimes: + items: + type: string + type: array + required: + - Runtimes + type: object + description: Available Lambda runtimes + /_aws/ses: + delete: + description: Discard sent SES messages + operationId: discard_ses_messages tags: - - pro - aws - /_aws/cognito-idp/signup: + parameters: + - $ref: '#/components/parameters/SesIdFilter' + responses: + '204': + description: Message was successfully discarded get: - description: Cognito signup endpoint - externalDocs: - url: https://docs.aws.amazon.com/cognito/latest/developerguide/hosted-UI-endpoints.html + description: Retrieve sent SES messages + operationId: get_ses_messages tags: - - pro - aws - post: - description: Cognito signup endpoint - externalDocs: - url: https://docs.aws.amazon.com/cognito/latest/developerguide/hosted-UI-endpoints.html + parameters: + - $ref: '#/components/parameters/SesIdFilter' + - $ref: '#/components/parameters/SesEmailFilter' + responses: + '200': + content: + application/json: + schema: + additionalProperties: false + properties: + messages: + items: + $ref: '#/components/schemas/SesSentEmail' + type: array + required: + - messages + type: object + description: List of sent messages + /_aws/sns/platform-endpoint-messages: + delete: + description: Discard the messages published to a platform endpoint via SNS + operationId: discard_sns_endpoint_messages tags: - - pro - aws - /_aws/iam/config: + parameters: + - $ref: '#/components/parameters/SnsAccountId' + - $ref: '#/components/parameters/SnsRegion' + - $ref: '#/components/parameters/SnsEndpointArn' + responses: + '204': + description: Platform endpoint message was discarded get: - description: IAM config endpoint + description: Retrieve the messages sent to a platform endpoint via SNS + operationId: get_sns_endpoint_messages tags: - - pro - aws + parameters: + - $ref: '#/components/parameters/SnsAccountId' + - $ref: '#/components/parameters/SnsRegion' + - $ref: '#/components/parameters/SnsEndpointArn' responses: - 200: - description: Successful retrieval of configuration + '200': content: application/json: schema: - $ref: '#/components/schemas/IamConfig' - post: - description: IAM config endpoint + $ref: '#/components/schemas/SNSPlatformEndpointResponse' + description: SNS messages via retrospective access + /_aws/sns/sms-messages: + delete: + description: Discard SNS SMS messages + operationId: discard_sns_sms_messages tags: - - pro - aws - requestBody: - required: true - content: - application/json: - schema: - $ref: '#/components/schemas/IamConfig' + parameters: + - $ref: '#/components/parameters/SnsAccountId' + - $ref: '#/components/parameters/SnsRegion' + - $ref: '#/components/parameters/SnsPhoneNumber' responses: - 200: - description: Successful setting of the new configuration. - 400: - description: Bad request. - /_aws/iot/LocalStackIoTRootCA.pem: + '204': + description: SMS message was discarded get: - description: Retrieve certificate for LocalStack IoT root certificate authority + description: Retrieve SNS SMS messages + operationId: get_sns_sms_messages tags: - - pro - aws - /_aws/pinpoint/{application_id}/{reference_id}: + parameters: + - $ref: '#/components/parameters/SnsAccountId' + - $ref: '#/components/parameters/SnsRegion' + - $ref: '#/components/parameters/SnsPhoneNumber' + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/SNSSMSMessagesResponse' + description: SNS messages via retrospective access + /_aws/sns/subscription-tokens/{subscription_arn}: get: - description: Retrieve Pinpoint OTP code + description: Retrieve SNS subscription token for confirmation + operationId: get_sns_subscription_token tags: - - pro - aws parameters: - - name: application_id - in: path - required: true - description: Pinpoint application ID - schema: - type: string - - name: reference_id + - description: '`subscriptionArn` resource of subscription token' in: path + name: subscription_arn required: true - description: Reference ID that was used in SentOTPMessage schema: type: string responses: '200': - description: OTP message details content: application/json: schema: - type: object additionalProperties: false - required: - - AllowedAttempts - - CodeLength - - DestinationIdentity - - ReferenceId - - OriginationIdentity - - ValidityPeriod - - Attempts - - ApplicationId - - CreatedTimestamp - - Code properties: - AllowedAttempts: - type: integer - maximum: 5 - description: Maximum number of allowed attempts for OTP validation. - BrandName: - type: string - description: Name of the brand that is associated with the OTP - code. - CodeLength: - type: integer - minimum: 5 - maximum: 8 - description: Number of digits in the OTP code that was sent. - DestinationIdentity: - type: string - description: Phone number that the OTP code was sent to. - EntityId: - type: string - description: ID registered with the regulatory agency (India only). - Language: - type: string - description: Language used when sending the message. - OriginationIdentity: - type: string - description: Identity (e.g. short code) that is used to send the - OTP code. - ReferenceId: - type: string - minLength: 1 - maxLength: 48 - description: Unique reference ID that was used in the SendOTPMessage - request. - TemplateId: - type: string - description: ID that is registered with the regulatory agency - (India only). - ValidityPeriod: - type: integer - maximum: 60 - description: Time in minutes the OTP code is valid for. - Attempts: - type: string - minimum: 0 - description: OTP validation attempts made so far. - ApplicationId: - type: string - description: Identifier of the Pinpoint Application. - CreatedTimestamp: + subscription_arn: type: string - format: date-time - description: Timestamp of the SendOTPMessage request. - Code: + subscription_token: type: string - minLength: 5 - maxLength: 8 - description: One-time password. - /_localstack/chaos/effects: - post: - summary: Configure network effects - description: Network effects include things like latency, jitter, bandwidth - throttling etc. which do not lead to an application-level fault/exception. - operationId: set_network_effects - tags: - - pro - - chaos - requestBody: - required: true - content: - application/json: - schema: - $ref: '#/components/schemas/NetworkEffectsConfig' - responses: - 200: - description: Successfully configured network effects + required: + - subscription_token + - subscription_arn + type: object + description: Subscription token + '400': content: application/json: schema: - $ref: '#/components/schemas/NetworkEffectsConfig' - get: - summary: Get current network effects configuration - tags: - - pro - - chaos - operationId: get_network_effects - description: Retrieve the current configuration for network latency effects - in Localstack Chaos. - responses: - 200: - description: Successful retrieval of configuration + $ref: '#/components/schemas/SnsSubscriptionTokenError' + description: Bad request + '404': content: application/json: schema: - $ref: '#/components/schemas/NetworkEffectsConfig' - /_localstack/chaos/faults: + $ref: '#/components/schemas/SnsSubscriptionTokenError' + description: Not found + /_aws/sqs/messages: get: - summary: Get the current fault configuration - description: Retrieve the list of currently configured fault rules. - operationId: get_fault_rules + description: List SQS queue messages without side effects + operationId: list_all_sqs_messages tags: - - pro - - chaos + - aws + parameters: + - description: SQS queue URL + in: query + name: QueueUrl + required: false + schema: + type: string responses: - 200: - description: Successful retrieval of current configuration. + '200': content: + text/xml: + schema: + $ref: '#/components/schemas/ReceiveMessageResult' application/json: schema: - type: array - description: List of configured rules for faults. - uniqueItems: true - items: - $ref: '#/components/schemas/FaultRule' - post: - summary: Set a new fault configuration - description: Set a new set of fault rules. Overwrite the previous ones. - operationId: set_fault_rules - tags: - - pro - - chaos + $ref: '#/components/schemas/ReceiveMessageResult' + description: SQS queue messages + '400': + content: + text/xml: {} + application/json: {} + description: Bad request + '404': + content: + text/xml: {} + application/json: {} + description: Not found + post: + summary: Retrieves one or more messages from the specified queue. + description: | + This API receives messages from an SQS queue. + https://docs.aws.amazon.com/AWSSimpleQueueService/latest/APIReference/API_ReceiveMessage.html#API_ReceiveMessage_ResponseSyntax + operationId: receive_message requestBody: required: true content: + application/x-www-form-urlencoded: + schema: + $ref: '#/components/schemas/ReceiveMessageRequest' application/json: schema: - type: array - description: List of rules for faults. - uniqueItems: true - items: - $ref: '#/components/schemas/FaultRule' + $ref: '#/components/schemas/ReceiveMessageRequest' responses: - 200: - description: Successful retrieval of current configuration. + '200': content: + text/xml: {} application/json: schema: - type: array - description: List of configured rules for faults. - uniqueItems: true - items: - $ref: '#/components/schemas/FaultRule' - patch: - summary: Add a new set of rules to the current configuration - description: Add new rules to the existing fault configuration. - operationId: add_fault_rules + $ref: '#/components/schemas/ReceiveMessageResult' + description: SQS queue messages + '400': + content: + text/xml: {} + application/json: {} + description: Bad request + '404': + content: + text/xml: {} + application/json: {} + description: Not found + /_aws/sqs/messages/{region}/{account_id}/{queue_name}: + get: + description: List SQS messages without side effects + operationId: list_sqs_messages tags: - - pro - - chaos - requestBody: + - aws + parameters: + - description: SQS queue region + in: path + name: region required: true - content: - application/json: - schema: - type: array - description: List of configured rules for faults to be added. - uniqueItems: true - items: - $ref: '#/components/schemas/FaultRule' + schema: + type: string + - description: SQS queue account ID + in: path + name: account_id + required: true + schema: + type: string + - description: SQS queue name + in: path + name: queue_name + required: true + schema: + type: string responses: - 200: - description: Successful retrieval of current configuration. + '200': content: + text/xml: {} application/json: schema: - type: array - description: List of configured rules for faults. - uniqueItems: true - items: - $ref: '#/components/schemas/FaultRule' - delete: - summary: Delete a set of rules from the configuration - description: Remove rules from the fault configuration. - operationId: delete_fault_rules + $ref: '#/components/schemas/ReceiveMessageResult' + description: SQS queue messages + '400': + content: + text/xml: {} + application/json: {} + description: Bad request + '404': + content: + text/xml: {} + application/json: {} + description: Not found + /_localstack/config: + get: + description: Get current LocalStack configuration + operationId: get_config tags: - - pro - - chaos + - localstack + responses: + '200': + content: + application/json: + schema: + type: object + description: Current LocalStack configuration + post: + description: Configuration option to update with new value + operationId: update_config_option + tags: + - localstack requestBody: - required: true content: application/json: schema: - type: array - description: List of configured rules for faults. - uniqueItems: true - items: - $ref: '#/components/schemas/FaultRule' + additionalProperties: false + properties: + value: + type: + - number + - string + variable: + pattern: ^[_a-zA-Z0-9]+$ + type: string + required: + - variable + - value + type: object + required: true responses: - 200: - description: Successful retrieval of current configuration. + '200': content: application/json: schema: - type: array - description: List of configured rules for faults. - uniqueItems: true - items: - $ref: '#/components/schemas/FaultRule' - /_localstack/cloudformation/deploy: + additionalProperties: false + properties: + value: + type: + - number + - string + variable: + type: string + required: + - variable + - value + type: object + description: Configuration option is updated + '400': + content: + application/json: {} + description: Bad request + /_localstack/diagnose: get: - description: UI to deploy and manage your CloudFormation stacks using public - templates - parameters: - - name: templateURL - in: query - required: false - description: URL to a CloudFormation template (JSON or YAML). - schema: - type: string - format: uri + description: Get diagnostics report + operationId: get_diagnostics + tags: + - localstack responses: '200': - description: HTML page for CloudFormation deployment. content: - text/html: + application/json: schema: - type: string - /_localstack/pods: + additionalProperties: false + properties: + config: + type: object + docker-dependent-image-hosts: + type: object + docker-inspect: + type: object + file-tree: + type: object + important-endpoints: + type: object + info: + $ref: '#/components/schemas/SessionInfo' + logs: + additionalProperties: false + properties: + docker: + type: string + required: + - docker + type: object + services: + type: object + usage: + type: object + version: + additionalProperties: false + properties: + host: + additionalProperties: false + properties: + kernel: + type: string + required: + - kernel + type: object + image-version: + additionalProperties: false + properties: + created: + type: string + id: + type: string + sha256: + type: string + tag: + type: string + required: + - id + - sha256 + - tag + - created + type: object + localstack-version: + additionalProperties: false + properties: + build-date: + type: + - string + - 'null' + build-git-hash: + type: + - string + - 'null' + build-version: + type: + - string + - 'null' + required: + - build-date + - build-git-hash + - build-version + type: object + required: + - image-version + - localstack-version + - host + type: object + required: + - version + - info + - services + - config + - docker-inspect + - docker-dependent-image-hosts + - file-tree + - important-endpoints + - logs + - usage + type: object + description: Diagnostics report + /_localstack/health: get: - description: List cloud pods - operationId: listPods + description: Get available LocalStack features and AWS services + operationId: get_features_and_services tags: - - pro - - pods + - localstack parameters: - - description: User ID of the pod creator. Special values like `me` are accepted. + - allowEmptyValue: true in: query - name: creator + name: reload required: false schema: type: string - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/RemoteConfig' - responses: - '200': - content: - application/json: - schema: - $ref: '#/components/schemas/PodList' - description: The list of Cloud Pods associated with a given identity - /_localstack/pods/environment: - get: - description: | - Retrieves some information about the current environment, like LocalStack and Moto versions. - tags: - - pro - - pods responses: '200': - description: A JSON object containing environment version information. content: application/json: schema: - type: object + additionalProperties: false properties: - localstack_version: - type: string - description: Version of LocalStack. - localstack_ext_version: + edition: + enum: + - community + - pro + - enterprise + - unknown type: string - description: Version of LocalStack Pro. - moto_ext_version: + features: + type: object + services: + type: object + version: type: string - description: Version of Moto used within LocalStack. - pro: - type: boolean - description: Indicates whether LocalStack PRO is activated. - /_localstack/pods/remotes: - get: - description: Retrieves a list of all configured remotes. - operationId: list_remotes - tags: - - pro - - pods - responses: - '200': - description: A list of remotes. - content: - application/json: - schema: + required: + - edition + - services + - version type: object - properties: - remotes: - type: array - items: - $ref: '#/components/schemas/PodRemote' - /_localstack/pods/remotes/{name}: - get: - summary: Get a specific remote - description: Retrieves information about a specific remote by name. - operationId: get_remote + description: Available LocalStack features and AWS services + head: tags: - - pro - - pods - parameters: - - name: name - in: path - required: true - description: The name of the remote. - schema: - type: string + - localstack + operationId: health responses: '200': - description: Details of the remote. content: - application/json: - schema: - $ref: '#/components/schemas/PodRemote' + text/plain: {} + description: '' post: - summary: Create a new remote - description: Creates a new remote with the specified name and configuration. - operationId: create_remote + description: Restart or terminate LocalStack session + operationId: manage_session tags: - - pro - - pods - parameters: - - name: name - in: path - required: true - description: The name of the new remote. - schema: - type: string + - localstack requestBody: - required: true content: application/json: schema: - type: object + additionalProperties: false properties: - protocols: - type: array - items: - type: string - description: Supported protocols of the remote. - remote_url: + action: + enum: + - restart + - kill type: string - description: URL of the remote server. - responses: - '200': - description: Remote created successfully. - delete: - summary: Delete a remote - description: Deletes a remote with the specified name. - operationId: delete_remote - tags: - - pro - - pods - parameters: - - name: name - in: path + required: + - action + type: object + description: Action to perform required: true - description: The name of the remote to delete. - schema: - type: string - responses: - '200': - description: Remote deleted successfully. - /_localstack/pods/state: - get: - description: Exports the current state of the LocalStack container into a zip - file. - tags: - - pro - - pods - parameters: - - name: pod_name - in: query - description: The name of the pod to save. Defaults to a unique name based - on the current timestamp. - required: false - schema: - type: string - - name: services - in: query - description: Comma-separated list of service names to include in the exported - state. - required: false - schema: - type: string responses: '200': - description: A zip file containing the exported pod state. content: - application/zip: - schema: - type: string - format: binary - headers: - Content-Disposition: - description: Specifies that the response is an attachment. - schema: - type: string - Content-Length: - description: The size of the zip file in bytes. - schema: - type: integer - x-localstack-pod-services: - description: Comma-separated list of services included in the pod state. - schema: - type: string - x-localstack-pod-size: - description: The size of the pod file in bytes. - schema: - type: integer - post: - description: Loads a pod state from a zip file and restores its services. + text/plain: {} + description: Action was successful + '400': + content: + text/plain: {} + description: Bad request + put: + description: Store arbitrary data to in-memory state + operationId: store_data tags: - - pro - - pods + - localstack requestBody: - required: true content: - multipart/form-data: + application/json: schema: type: object - properties: - pod: - type: string - format: binary - required: - - pod - application/octet-stream: - schema: - type: string - format: binary + description: Data to save + responses: + '200': + content: + application/json: + schema: + additionalProperties: false + properties: + status: + type: string + required: + - status + type: object + description: Data was saved + /_localstack/info: + get: + description: Get information about the current LocalStack session + operationId: get_session_info + tags: + - localstack responses: - '201': - description: Pod state loaded successfully. - headers: - Content-Length: - description: Length of the pod in bytes. + '200': + content: + application/json: schema: - type: integer - '400': - description: Bad request. - /_localstack/pods/state/metamodel: + $ref: '#/components/schemas/SessionInfo' + description: Information about the current LocalStack session + /_localstack/init: get: - description: Extract a metamodel representing the state of the current LocalStack - session + description: Get information about init scripts + operationId: get_init_script_info + tags: + - localstack responses: '200': content: - application/json: {} - description: Metamodel representing the state of the current LocalStack - session + application/json: + schema: + $ref: '#/components/schemas/InitScripts' + description: Information about init scripts + /_localstack/init/{stage}: + get: + description: Get information about init scripts in a specific stage + operationId: get_init_script_info_stage tags: - - pro - - pods - /_localstack/pods/{name}: - delete: - operationId: deletePod + - localstack parameters: - in: path - name: name + name: stage required: true schema: type: string - - in: query - name: local - required: false - description: If true, the pod will be deleted only from the local storage - schema: - type: string - - in: header - name: x-localstack-state-secret - required: false - description: A secret token for authenticating the request against the platform - schema: - type: string - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/RemoteConfig' responses: '200': - description: OK - '500': - description: Deletion failed + content: + application/json: + schema: + $ref: '#/components/schemas/InitScriptsStage' + description: Information about init scripts in a specific stage + /_localstack/plugins: + get: + description: '' + operationId: get_plugins tags: - - pro - - pods - post: - description: Create and register a cloud pod version - operationId: savePod - parameters: - - description: Cloud pod name - in: path - name: name - required: true - schema: - type: string - - in: query - name: local - required: false - schema: - type: boolean - - description: Cloud pod version - in: query - name: version - required: false - schema: - type: string - - in: header - name: x-localstack-state-secret - required: false - description: A secret token for authenticating the request against the platform - schema: - type: string - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/PodSaveRequest' + - localstack responses: '200': content: - application/x-ndjson: {} - description: The response is a sequence of JSON events, according to the - schema, separated by a newline + application/json: {} + description: '' + /_localstack/usage: + get: + description: '' + operationId: get_usage + tags: + - localstack + responses: + '200': + content: + application/json: {} + description: '' + /_aws/cognito-idp/forgotPassword: + get: + description: Cognito forgot password endpoint + externalDocs: + url: https://docs.aws.amazon.com/cognito/latest/developerguide/hosted-UI-endpoints.html tags: - pro - - pods - put: - description: Load a cloud pod version - operationId: loadPod - parameters: - - in: path - description: The name of the Cloud Pod to be loaded into the runtime - name: name - required: true - schema: - type: string - - in: query - name: version - description: The version of the Cloud Pod to be loaded into the runtime - required: false - schema: - type: string - - in: query - name: merge - description: Merge strategy to use when loading the pod - required: false - schema: - type: string - - in: query - name: ignore_version_mismatches - description: Ignores version mismatches between the pod and the current LocalStack - version. - required: false - schema: - type: string - - in: header - name: x-localstack-state-secret - required: false - description: A secret token for authenticating the request against the platform - schema: - type: string + - aws + post: + description: Cognito forgot password endpoint + externalDocs: + url: https://docs.aws.amazon.com/cognito/latest/developerguide/hosted-UI-endpoints.html + tags: + - pro + - aws + /_aws/cognito-idp/login: + get: + description: Cognito login endpoint + externalDocs: + url: https://docs.aws.amazon.com/cognito/latest/developerguide/hosted-UI-endpoints.html + tags: + - pro + - aws + post: + description: Cognito login endpoint + externalDocs: + url: https://docs.aws.amazon.com/cognito/latest/developerguide/hosted-UI-endpoints.html + tags: + - pro + - aws + /_aws/cognito-idp/logout: + get: + description: Cognito logout endpoint + externalDocs: + url: https://docs.aws.amazon.com/cognito/latest/developerguide/hosted-UI-endpoints.html + tags: + - pro + - aws + post: + description: Cognito logout endpoint + externalDocs: + url: https://docs.aws.amazon.com/cognito/latest/developerguide/hosted-UI-endpoints.html + tags: + - pro + - aws + /_aws/cognito-idp/oauth2/authorize: + get: + description: Cognito OAuth 2.0 authorization endpoint + externalDocs: + url: https://docs.aws.amazon.com/cognito/latest/developerguide/authorization-endpoint.html + tags: + - pro + - aws + /_aws/cognito-idp/oauth2/token: + post: + description: Cognito OAuth 2.0 token endpoint + externalDocs: + url: https://docs.aws.amazon.com/cognito/latest/developerguide/token-endpoint.html + tags: + - pro + - aws + /_aws/cognito-idp/oauth2/revoke: + post: + description: Cognito OAuth 2.0 token revocation endpoint + externalDocs: + url: https://docs.aws.amazon.com/cognito/latest/developerguide/revocation-endpoint.html + tags: + - pro + - aws + /_aws/cognito-idp/oauth2/userInfo: + get: + description: Cognito OpenID Connect userInfo endpoint + externalDocs: + url: https://docs.aws.amazon.com/cognito/latest/developerguide/userinfo-endpoint.html + tags: + - pro + - aws + /_aws/cognito-idp/saml2/idpresponse: + get: + description: Cognito SAML 2.0 idpresponse endpoint + externalDocs: + url: https://docs.aws.amazon.com/cognito/latest/developerguide/saml2-idpresponse-endpoint.html + tags: + - pro + - aws + post: + description: Cognito SAML 2.0 idpresponse endpoint + externalDocs: + url: https://docs.aws.amazon.com/cognito/latest/developerguide/saml2-idpresponse-endpoint.html + tags: + - pro + - aws + /_aws/cognito-idp/signup: + get: + description: Cognito signup endpoint + externalDocs: + url: https://docs.aws.amazon.com/cognito/latest/developerguide/hosted-UI-endpoints.html + tags: + - pro + - aws + post: + description: Cognito signup endpoint + externalDocs: + url: https://docs.aws.amazon.com/cognito/latest/developerguide/hosted-UI-endpoints.html + tags: + - pro + - aws + /_aws/iam/config: + get: + description: IAM config endpoint + tags: + - pro + - aws + responses: + 200: + description: Successful retrieval of configuration + content: + application/json: + schema: + $ref: '#/components/schemas/IamConfig' + post: + description: IAM config endpoint + tags: + - pro + - aws requestBody: + required: true content: application/json: schema: - $ref: '#/components/schemas/RemoteConfig' + $ref: '#/components/schemas/IamConfig' responses: - '200': - content: - application/x-ndjson: {} - description: The response is a sequence of JSON events, according to the - schema, separated by a newline + 200: + description: Successful setting of the new configuration. + 400: + description: Bad request. + /_aws/iot/LocalStackIoTRootCA.pem: + get: + description: Retrieve certificate for LocalStack IoT root certificate authority tags: - pro - - pods - /_localstack/pods/{name}/versions: + - aws + /_aws/pinpoint/{application_id}/{reference_id}: get: - description: List versions for a cloud pod - operationId: getPodVersions + description: Retrieve Pinpoint OTP code + tags: + - pro + - aws parameters: - - description: Cloud pod name + - name: application_id in: path - name: name required: true + description: Pinpoint application ID schema: type: string - - in: header - name: x-localstack-state-secret - required: false - description: A secret token for authenticating the request against the platform + - name: reference_id + in: path + required: true + description: Reference ID that was used in SentOTPMessage schema: type: string - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/RemoteConfig' - responses: - '200': - description: A list of version details. - content: - application/json: - schema: - $ref: '#/components/schemas/PodVersions' - tags: - - pro - - pods - /_localstack/stackinfo: - get: - description: Collect information used to populate the dashboard info. responses: '200': + description: OTP message details content: application/json: schema: + type: object additionalProperties: false + required: + - AllowedAttempts + - CodeLength + - DestinationIdentity + - ReferenceId + - OriginationIdentity + - ValidityPeriod + - Attempts + - ApplicationId + - CreatedTimestamp + - Code properties: - api_key: - type: string - duration_in_seconds: - type: integer - is_ci: - type: boolean - is_docker: - type: boolean - number_of_api_calls_error: - type: integer - number_of_api_calls_success: + AllowedAttempts: type: integer - number_of_services: + maximum: 5 + description: Maximum number of allowed attempts for OTP validation. + BrandName: + type: string + description: Name of the brand that is associated with the OTP + code. + CodeLength: type: integer - server_time_utc: + minimum: 5 + maximum: 8 + description: Number of digits in the OTP code that was sent. + DestinationIdentity: type: string - session_id: + description: Phone number that the OTP code was sent to. + EntityId: type: string - system: + description: ID registered with the regulatory agency (India only). + Language: type: string - top_user_agent: + description: Language used when sending the message. + OriginationIdentity: type: string - version: + description: Identity (e.g. short code) that is used to send the + OTP code. + ReferenceId: type: string - required: - - server_time_utc - - session_id - - api_key - - system - - version - - is_ci - - is_docker - - duration_in_seconds - - top_user_agent - - number_of_services - - number_of_api_calls_success - - number_of_api_calls_error - type: object - description: '' - tags: - - pro - /_localstack/state/load: - post: - description: Load all service states - responses: - '200': - content: - application/x-ndjson: - schema: - $ref: '#/components/schemas/StateResult' - description: Successful or error is one of the status is 'error' - tags: - - pro - - state - /_localstack/state/reset: - post: - description: Reset all service states - responses: - '200': - description: Successful - tags: - - pro - - state - /_localstack/state/save: - post: - description: Save all service states - responses: - '200': - content: - application/x-ndjson: - schema: - $ref: '#/components/schemas/StateResult' - description: Successful or error is one of the status is 'error' - tags: - - pro - - state - /_localstack/state/{service}/load: - post: - description: Load a service state - parameters: - - $ref: '#/components/parameters/ServiceName' - responses: - '200': - description: Successful - 500: - description: Failure - content: - application/json: - schema: - $ref: '#/components/schemas/StateResult' - tags: - - pro - - state - /_localstack/state/{service}/reset: + minLength: 1 + maxLength: 48 + description: Unique reference ID that was used in the SendOTPMessage + request. + TemplateId: + type: string + description: ID that is registered with the regulatory agency + (India only). + ValidityPeriod: + type: integer + maximum: 60 + description: Time in minutes the OTP code is valid for. + Attempts: + type: string + minimum: 0 + description: OTP validation attempts made so far. + ApplicationId: + type: string + description: Identifier of the Pinpoint Application. + CreatedTimestamp: + type: string + format: date-time + description: Timestamp of the SendOTPMessage request. + Code: + type: string + minLength: 5 + maxLength: 8 + description: One-time password. + /_localstack/chaos/effects: post: - description: Reset a service state - parameters: - - $ref: '#/components/parameters/ServiceName' - responses: - '200': - description: Successful + summary: Configure network effects + description: Network effects include things like latency, jitter, bandwidth + throttling etc. which do not lead to an application-level fault/exception. + operationId: set_network_effects tags: - pro - - state - /_localstack/state/{service}/save: - post: - description: Save a service state - parameters: - - $ref: '#/components/parameters/ServiceName' + - chaos + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/NetworkEffectsConfig' responses: - '200': - description: Successful - 500: - description: Failure + 200: + description: Successfully configured network effects content: application/json: schema: - $ref: '#/components/schemas/StateResult' - tags: - - pro - - state - /_aws/cloudwatch/metrics/raw: + $ref: '#/components/schemas/NetworkEffectsConfig' get: - description: Retrieve CloudWatch metrics - operationId: get_cloudwatch_metrics + summary: Get current network effects configuration tags: - - aws + - pro + - chaos + operationId: get_network_effects + description: Retrieve the current configuration for network latency effects + in Localstack Chaos. responses: - '200': + 200: + description: Successful retrieval of configuration content: application/json: schema: - $ref: '#/components/schemas/CloudWatchMetrics' - description: CloudWatch metrics - /_aws/dynamodb/expired: - delete: - description: Delete expired items from TTL-enabled DynamoDB tables - operationId: delete_ddb_expired_items + $ref: '#/components/schemas/NetworkEffectsConfig' + /_localstack/chaos/faults: + get: + summary: Get the current fault configuration + description: Retrieve the list of currently configured fault rules. + operationId: get_fault_rules tags: - - aws + - pro + - chaos responses: - '200': + 200: + description: Successful retrieval of current configuration. content: application/json: schema: - additionalProperties: false - properties: - ExpiredItems: - description: Number of expired items that were deleted - type: integer - required: - - ExpiredItems - type: object - description: Operation was successful - /_aws/events/rules/{rule_arn}/trigger: - get: - description: Trigger a scheduled EventBridge rule - operationId: trigger_event_bridge_rule + type: array + description: List of configured rules for faults. + uniqueItems: true + items: + $ref: '#/components/schemas/FaultRule' + post: + summary: Set a new fault configuration + description: Set a new set of fault rules. Overwrite the previous ones. + operationId: set_fault_rules tags: - - aws - parameters: - - description: EventBridge rule ARN - in: path - name: rule_arn + - pro + - chaos + requestBody: required: true - schema: - type: string - responses: - '200': - description: EventBridge rule was triggered - '404': - description: Not found - /_aws/lambda/init: - get: - description: Retrieve Lambda runtime init binary - operationId: get_lambda_init - tags: - - aws - responses: - '200': - content: - application/octet-stream: {} - description: Lambda runtime init binary - /_aws/lambda/runtimes: - get: - description: List available Lambda runtimes - operationId: get_lambda_runtimes - tags: - - aws - parameters: - - in: query - name: filter - required: false - schema: - default: supported - enum: - - all - - deprecated - - supported - type: string + content: + application/json: + schema: + type: array + description: List of rules for faults. + uniqueItems: true + items: + $ref: '#/components/schemas/FaultRule' responses: - '200': + 200: + description: Successful retrieval of current configuration. content: application/json: schema: - additionalProperties: false - properties: - Runtimes: - items: - type: string - type: array - required: - - Runtimes - type: object - description: Available Lambda runtimes - /_aws/ses: - delete: - description: Discard sent SES messages - operationId: discard_ses_messages - tags: - - aws - parameters: - - $ref: '#/components/parameters/SesIdFilter' - responses: - '204': - description: Message was successfully discarded - get: - description: Retrieve sent SES messages - operationId: get_ses_messages + type: array + description: List of configured rules for faults. + uniqueItems: true + items: + $ref: '#/components/schemas/FaultRule' + patch: + summary: Add a new set of rules to the current configuration + description: Add new rules to the existing fault configuration. + operationId: add_fault_rules tags: - - aws - parameters: - - $ref: '#/components/parameters/SesIdFilter' - - $ref: '#/components/parameters/SesEmailFilter' + - pro + - chaos + requestBody: + required: true + content: + application/json: + schema: + type: array + description: List of configured rules for faults to be added. + uniqueItems: true + items: + $ref: '#/components/schemas/FaultRule' responses: - '200': + 200: + description: Successful retrieval of current configuration. content: application/json: schema: - additionalProperties: false - properties: - messages: - items: - $ref: '#/components/schemas/SesSentEmail' - type: array - required: - - messages - type: object - description: List of sent messages - /_aws/sns/platform-endpoint-messages: + type: array + description: List of configured rules for faults. + uniqueItems: true + items: + $ref: '#/components/schemas/FaultRule' delete: - description: Discard the messages published to a platform endpoint via SNS - operationId: discard_sns_endpoint_messages - tags: - - aws - parameters: - - $ref: '#/components/parameters/SnsAccountId' - - $ref: '#/components/parameters/SnsRegion' - - $ref: '#/components/parameters/SnsEndpointArn' - responses: - '204': - description: Platform endpoint message was discarded - get: - description: Retrieve the messages sent to a platform endpoint via SNS - operationId: get_sns_endpoint_messages + summary: Delete a set of rules from the configuration + description: Remove rules from the fault configuration. + operationId: delete_fault_rules tags: - - aws - parameters: - - $ref: '#/components/parameters/SnsAccountId' - - $ref: '#/components/parameters/SnsRegion' - - $ref: '#/components/parameters/SnsEndpointArn' + - pro + - chaos + requestBody: + required: true + content: + application/json: + schema: + type: array + description: List of configured rules for faults. + uniqueItems: true + items: + $ref: '#/components/schemas/FaultRule' responses: - '200': + 200: + description: Successful retrieval of current configuration. content: application/json: schema: - $ref: '#/components/schemas/SNSPlatformEndpointResponse' - description: SNS messages via retrospective access - /_aws/sns/sms-messages: - delete: - description: Discard SNS SMS messages - operationId: discard_sns_sms_messages - tags: - - aws + type: array + description: List of configured rules for faults. + uniqueItems: true + items: + $ref: '#/components/schemas/FaultRule' + /_localstack/cloudformation/deploy: + get: + description: UI to deploy and manage your CloudFormation stacks using public + templates parameters: - - $ref: '#/components/parameters/SnsAccountId' - - $ref: '#/components/parameters/SnsRegion' - - $ref: '#/components/parameters/SnsPhoneNumber' + - name: templateURL + in: query + required: false + description: URL to a CloudFormation template (JSON or YAML). + schema: + type: string + format: uri responses: - '204': - description: SMS message was discarded + '200': + description: HTML page for CloudFormation deployment. + content: + text/html: + schema: + type: string + /_localstack/pods: get: - description: Retrieve SNS SMS messages - operationId: get_sns_sms_messages + description: List cloud pods + operationId: listPods tags: - - aws + - pro + - pods parameters: - - $ref: '#/components/parameters/SnsAccountId' - - $ref: '#/components/parameters/SnsRegion' - - $ref: '#/components/parameters/SnsPhoneNumber' + - description: User ID of the pod creator. Special values like `me` are accepted. + in: query + name: creator + required: false + schema: + type: string + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/RemoteConfig' responses: '200': content: application/json: schema: - $ref: '#/components/schemas/SNSSMSMessagesResponse' - description: SNS messages via retrospective access - /_aws/sns/subscription-tokens/{subscription_arn}: + $ref: '#/components/schemas/PodList' + description: The list of Cloud Pods associated with a given identity + /_localstack/pods/environment: get: - description: Retrieve SNS subscription token for confirmation - operationId: get_sns_subscription_token + description: | + Retrieves some information about the current environment, like LocalStack and Moto versions. tags: - - aws - parameters: - - description: '`subscriptionArn` resource of subscription token' - in: path - name: subscription_arn - required: true - schema: - type: string + - pro + - pods responses: '200': + description: A JSON object containing environment version information. content: application/json: schema: - additionalProperties: false + type: object properties: - subscription_arn: + localstack_version: type: string - subscription_token: + description: Version of LocalStack. + localstack_ext_version: type: string - required: - - subscription_token - - subscription_arn - type: object - description: Subscription token - '400': - content: - application/json: - schema: - $ref: '#/components/schemas/SnsSubscriptionTokenError' - description: Bad request - '404': + description: Version of LocalStack Pro. + moto_ext_version: + type: string + description: Version of Moto used within LocalStack. + pro: + type: boolean + description: Indicates whether LocalStack PRO is activated. + /_localstack/pods/remotes: + get: + description: Retrieves a list of all configured remotes. + operationId: list_remotes + tags: + - pro + - pods + responses: + '200': + description: A list of remotes. content: application/json: schema: - $ref: '#/components/schemas/SnsSubscriptionTokenError' - description: Not found - /_aws/sqs/messages: + type: object + properties: + remotes: + type: array + items: + $ref: '#/components/schemas/PodRemote' + /_localstack/pods/remotes/{name}: get: - description: List SQS queue messages without side effects - operationId: list_all_sqs_messages + summary: Get a specific remote + description: Retrieves information about a specific remote by name. + operationId: get_remote tags: - - aws + - pro + - pods parameters: - - description: SQS queue URL - in: query - name: QueueUrl - required: false + - name: name + in: path + required: true + description: The name of the remote. schema: type: string responses: '200': + description: Details of the remote. content: - text/xml: - schema: - $ref: '#/components/schemas/ReceiveMessageResult' application/json: schema: - $ref: '#/components/schemas/ReceiveMessageResult' - description: SQS queue messages - '400': - content: - text/xml: {} - application/json: {} - description: Bad request - '404': - content: - text/xml: {} - application/json: {} - description: Not found + $ref: '#/components/schemas/PodRemote' post: - summary: Retrieves one or more messages from the specified queue. - description: | - This API receives messages from an SQS queue. - https://docs.aws.amazon.com/AWSSimpleQueueService/latest/APIReference/API_ReceiveMessage.html#API_ReceiveMessage_ResponseSyntax - operationId: receive_message + summary: Create a new remote + description: Creates a new remote with the specified name and configuration. + operationId: create_remote + tags: + - pro + - pods + parameters: + - name: name + in: path + required: true + description: The name of the new remote. + schema: + type: string requestBody: required: true content: - application/x-www-form-urlencoded: - schema: - $ref: '#/components/schemas/ReceiveMessageRequest' application/json: schema: - $ref: '#/components/schemas/ReceiveMessageRequest' + type: object + properties: + protocols: + type: array + items: + type: string + description: Supported protocols of the remote. + remote_url: + type: string + description: URL of the remote server. responses: '200': - content: - text/xml: {} - application/json: - schema: - $ref: '#/components/schemas/ReceiveMessageResult' - description: SQS queue messages - '400': - content: - text/xml: {} - application/json: {} - description: Bad request - '404': - content: - text/xml: {} - application/json: {} - description: Not found - /_aws/sqs/messages/{region}/{account_id}/{queue_name}: - get: - description: List SQS messages without side effects - operationId: list_sqs_messages + description: Remote created successfully. + delete: + summary: Delete a remote + description: Deletes a remote with the specified name. + operationId: delete_remote tags: - - aws + - pro + - pods parameters: - - description: SQS queue region + - name: name in: path - name: region required: true + description: The name of the remote to delete. schema: type: string - - description: SQS queue account ID - in: path - name: account_id - required: true + responses: + '200': + description: Remote deleted successfully. + /_localstack/pods/state: + get: + description: Exports the current state of the LocalStack container into a zip + file. + tags: + - pro + - pods + parameters: + - name: pod_name + in: query + description: The name of the pod to save. Defaults to a unique name based + on the current timestamp. + required: false schema: type: string - - description: SQS queue name - in: path - name: queue_name - required: true + - name: services + in: query + description: Comma-separated list of service names to include in the exported + state. + required: false schema: type: string responses: '200': + description: A zip file containing the exported pod state. content: - text/xml: {} - application/json: + application/zip: schema: - $ref: '#/components/schemas/ReceiveMessageResult' - description: SQS queue messages - '400': - content: - text/xml: {} - application/json: {} - description: Bad request - '404': - content: - text/xml: {} - application/json: {} - description: Not found - /_localstack/config: - get: - description: Get current LocalStack configuration - operationId: get_config - tags: - - localstack - responses: - '200': - content: - application/json: + type: string + format: binary + headers: + Content-Disposition: + description: Specifies that the response is an attachment. + schema: + type: string + Content-Length: + description: The size of the zip file in bytes. + schema: + type: integer + x-localstack-pod-services: + description: Comma-separated list of services included in the pod state. schema: - type: object - description: Current LocalStack configuration + type: string + x-localstack-pod-size: + description: The size of the pod file in bytes. + schema: + type: integer post: - description: Configuration option to update with new value - operationId: update_config_option + description: Loads a pod state from a zip file and restores its services. tags: - - localstack + - pro + - pods requestBody: + required: true content: - application/json: + multipart/form-data: schema: - additionalProperties: false + type: object properties: - value: - type: - - number - - string - variable: - pattern: ^[_a-zA-Z0-9]+$ + pod: type: string + format: binary required: - - variable - - value - type: object - required: true + - pod + application/octet-stream: + schema: + type: string + format: binary responses: - '200': - content: - application/json: + '201': + description: Pod state loaded successfully. + headers: + Content-Length: + description: Length of the pod in bytes. schema: - additionalProperties: false - properties: - value: - type: - - number - - string - variable: - type: string - required: - - variable - - value - type: object - description: Configuration option is updated + type: integer '400': - content: - application/json: {} - description: Bad request - /_localstack/diagnose: + description: Bad request. + /_localstack/pods/state/metamodel: get: - description: Get diagnostics report - operationId: get_diagnostics - tags: - - localstack + description: Extract a metamodel representing the state of the current LocalStack + session responses: '200': content: - application/json: - schema: - additionalProperties: false - properties: - config: - type: object - docker-dependent-image-hosts: - type: object - docker-inspect: - type: object - file-tree: - type: object - important-endpoints: - type: object - info: - $ref: '#/components/schemas/SessionInfo' - logs: - additionalProperties: false - properties: - docker: - type: string - required: - - docker - type: object - services: - type: object - usage: - type: object - version: - additionalProperties: false - properties: - host: - additionalProperties: false - properties: - kernel: - type: string - required: - - kernel - type: object - image-version: - additionalProperties: false - properties: - created: - type: string - id: - type: string - sha256: - type: string - tag: - type: string - required: - - id - - sha256 - - tag - - created - type: object - localstack-version: - additionalProperties: false - properties: - build-date: - type: - - string - - 'null' - build-git-hash: - type: - - string - - 'null' - build-version: - type: - - string - - 'null' - required: - - build-date - - build-git-hash - - build-version - type: object - required: - - image-version - - localstack-version - - host - type: object - required: - - version - - info - - services - - config - - docker-inspect - - docker-dependent-image-hosts - - file-tree - - important-endpoints - - logs - - usage - type: object - description: Diagnostics report - /_localstack/health: - get: - description: Get available LocalStack features and AWS services - operationId: get_features_and_services + application/json: {} + description: Metamodel representing the state of the current LocalStack + session tags: - - localstack + - pro + - pods + /_localstack/pods/{name}: + delete: + operationId: deletePod parameters: - - allowEmptyValue: true - in: query - name: reload + - in: path + name: name + required: true + schema: + type: string + - in: query + name: local + required: false + description: If true, the pod will be deleted only from the local storage + schema: + type: string + - in: header + name: x-localstack-state-secret required: false + description: A secret token for authenticating the request against the platform schema: type: string + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/RemoteConfig' responses: '200': - content: - application/json: - schema: - additionalProperties: false - properties: - edition: - enum: - - community - - pro - - enterprise - - unknown - type: string - features: - type: object - services: - type: object - version: - type: string - required: - - edition - - services - - version - type: object - description: Available LocalStack features and AWS services - head: + description: OK + '500': + description: Deletion failed tags: - - localstack - operationId: health + - pro + - pods + post: + description: Create and register a cloud pod version + operationId: savePod + parameters: + - description: Cloud pod name + in: path + name: name + required: true + schema: + type: string + - in: query + name: local + required: false + schema: + type: boolean + - description: Cloud pod version + in: query + name: version + required: false + schema: + type: string + - in: header + name: x-localstack-state-secret + required: false + description: A secret token for authenticating the request against the platform + schema: + type: string + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/PodSaveRequest' responses: '200': content: - text/plain: {} - description: '' - post: - description: Restart or terminate LocalStack session - operationId: manage_session + application/x-ndjson: {} + description: The response is a sequence of JSON events, according to the + schema, separated by a newline tags: - - localstack + - pro + - pods + put: + description: Load a cloud pod version + operationId: loadPod + parameters: + - in: path + description: The name of the Cloud Pod to be loaded into the runtime + name: name + required: true + schema: + type: string + - in: query + name: version + description: The version of the Cloud Pod to be loaded into the runtime + required: false + schema: + type: string + - in: query + name: merge + description: Merge strategy to use when loading the pod + required: false + schema: + type: string + - in: query + name: ignore_version_mismatches + description: Ignores version mismatches between the pod and the current LocalStack + version. + required: false + schema: + type: string + - in: header + name: x-localstack-state-secret + required: false + description: A secret token for authenticating the request against the platform + schema: + type: string requestBody: content: application/json: schema: - additionalProperties: false - properties: - action: - enum: - - restart - - kill - type: string - required: - - action - type: object - description: Action to perform - required: true + $ref: '#/components/schemas/RemoteConfig' responses: '200': content: - text/plain: {} - description: Action was successful - '400': - content: - text/plain: {} - description: Bad request - put: - description: Store arbitrary data to in-memory state - operationId: store_data + application/x-ndjson: {} + description: The response is a sequence of JSON events, according to the + schema, separated by a newline tags: - - localstack + - pro + - pods + /_localstack/pods/{name}/versions: + get: + description: List versions for a cloud pod + operationId: getPodVersions + parameters: + - description: Cloud pod name + in: path + name: name + required: true + schema: + type: string + - in: header + name: x-localstack-state-secret + required: false + description: A secret token for authenticating the request against the platform + schema: + type: string requestBody: content: application/json: schema: - type: object - description: Data to save + $ref: '#/components/schemas/RemoteConfig' + responses: + '200': + description: A list of version details. + content: + application/json: + schema: + $ref: '#/components/schemas/PodVersions' + tags: + - pro + - pods + /_localstack/stackinfo: + get: + description: Collect information used to populate the dashboard info. responses: '200': content: @@ -2173,76 +2122,124 @@ paths: schema: additionalProperties: false properties: - status: + api_key: + type: string + duration_in_seconds: + type: integer + is_ci: + type: boolean + is_docker: + type: boolean + number_of_api_calls_error: + type: integer + number_of_api_calls_success: + type: integer + number_of_services: + type: integer + server_time_utc: + type: string + session_id: + type: string + system: + type: string + top_user_agent: + type: string + version: type: string required: - - status + - server_time_utc + - session_id + - api_key + - system + - version + - is_ci + - is_docker + - duration_in_seconds + - top_user_agent + - number_of_services + - number_of_api_calls_success + - number_of_api_calls_error type: object - description: Data was saved - /_localstack/info: - get: - description: Get information about the current LocalStack session - operationId: get_session_info + description: '' tags: - - localstack + - pro + /_localstack/state/load: + post: + description: Load all service states responses: '200': content: - application/json: + application/x-ndjson: schema: - $ref: '#/components/schemas/SessionInfo' - description: Information about the current LocalStack session - /_localstack/init: - get: - description: Get information about init scripts - operationId: get_init_script_info + $ref: '#/components/schemas/StateResult' + description: Successful or error is one of the status is 'error' tags: - - localstack + - pro + - state + /_localstack/state/reset: + post: + description: Reset all service states + responses: + '200': + description: Successful + tags: + - pro + - state + /_localstack/state/save: + post: + description: Save all service states responses: '200': content: - application/json: + application/x-ndjson: schema: - $ref: '#/components/schemas/InitScripts' - description: Information about init scripts - /_localstack/init/{stage}: - get: - description: Get information about init scripts in a specific stage - operationId: get_init_script_info_stage + $ref: '#/components/schemas/StateResult' + description: Successful or error is one of the status is 'error' tags: - - localstack + - pro + - state + /_localstack/state/{service}/load: + post: + description: Load a service state parameters: - - in: path - name: stage - required: true - schema: - type: string + - $ref: '#/components/parameters/ServiceName' responses: '200': + description: Successful + 500: + description: Failure content: application/json: schema: - $ref: '#/components/schemas/InitScriptsStage' - description: Information about init scripts in a specific stage - /_localstack/plugins: - get: - description: '' - operationId: get_plugins + $ref: '#/components/schemas/StateResult' tags: - - localstack + - pro + - state + /_localstack/state/{service}/reset: + post: + description: Reset a service state + parameters: + - $ref: '#/components/parameters/ServiceName' responses: '200': - content: - application/json: {} - description: '' - /_localstack/usage: - get: - description: '' - operationId: get_usage + description: Successful tags: - - localstack + - pro + - state + /_localstack/state/{service}/save: + post: + description: Save a service state + parameters: + - $ref: '#/components/parameters/ServiceName' responses: '200': + description: Successful + 500: + description: Failure content: - application/json: {} - description: '' + application/json: + schema: + $ref: '#/components/schemas/StateResult' + tags: + - pro + - state