From 3096a37151ece7692f6b5a46ed499ec9fa865f09 Mon Sep 17 00:00:00 2001 From: LocalStack Bot Date: Mon, 29 Jun 2026 14:26:39 +0000 Subject: [PATCH] Update latest OpenAPI spec --- openapi/emulators/localstack-spec-latest.yml | 4321 +++++++++--------- 1 file changed, 2159 insertions(+), 2162 deletions(-) diff --git a/openapi/emulators/localstack-spec-latest.yml b/openapi/emulators/localstack-spec-latest.yml index 7a2bb4c..d0b6d72 100644 --- a/openapi/emulators/localstack-spec-latest.yml +++ b/openapi/emulators/localstack-spec-latest.yml @@ -12,9 +12,6 @@ info: 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,2663 +65,2670 @@ 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. - LoadService: - type: object - description: Configuration for the service load operation - properties: - start: - type: boolean - description: Start the service after loading the state - default: true - FaultRule: - type: object - description: Each rule represents the conditions for a fault and its detrimental - effects. + InitScripts: 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 + completed: 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: + BOOT: + type: boolean + READY: + type: boolean + SHUTDOWN: + type: boolean + START: + type: boolean + required: + - BOOT + - START + - READY + - SHUTDOWN type: object + scripts: + items: + additionalProperties: false + properties: + name: + type: string + stage: + type: string + state: + type: string + required: + - stage + - name + - state + type: object + type: array + required: + - completed + - scripts 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: + InitScriptsStage: additionalProperties: false properties: - cloudpods: + completed: + type: boolean + scripts: items: additionalProperties: false properties: - max_version: - type: integer - pod_name: + name: + type: string + stage: + type: string + state: type: string - last_change: - type: - - number - - 'null' required: - - pod_name - - max_version + - stage + - name + - state type: object type: array required: - - cloudpods + - completed + - scripts type: object - PodVersions: + SESDestination: type: object + description: Possible destination of a SES message properties: - versions: + ToAddresses: 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 - ReplicationJob: + type: string + format: email + CcAddresses: + type: array + items: + type: string + format: email + BccAddresses: + type: array + items: + type: string + format: email + additionalProperties: false + SesSentEmail: additionalProperties: false - type: object properties: - job_id: + Body: + additionalProperties: false + properties: + html_part: + type: string + text_part: + type: string + required: + - text_part + type: object + Destination: + $ref: '#/components/schemas/SESDestination' + Id: type: string - description: The Id of the ReplicationJob. - state: + RawData: type: string - description: State of the ReplicationJob. - error_message: + Region: type: string - description: Description of failure in case of failed replication. - type: + Source: type: string - description: Type of replication Job. - replication_config: - type: object - description: configuration object for custom replication - explore_strategy: + Subject: + type: string + Template: + type: string + TemplateData: + type: string + Timestamp: type: string - description: defines the exploration strategy used for the replication job - enum: - - SIMPLE - - TREE - default: SIMPLE - resources: - type: object - description: Lists replicated resources by status - properties: - succeeded: - type: array - items: - type: string - skipped: - type: array - items: - type: string - failed: - type: array - items: - type: object - properties: - resource_identifier: - type: string - resource_type: - type: string - error: - type: string - root: - type: object - description: Present when the failed resource is a dependency - of the root. Not present when the root itself failed. - properties: - resource_identifier: - type: string - resource_type: - type: string - ReplicationSupportedResource: - additionalProperties: false - type: object required: - - resource_type - - service + - Id + - Region + - Timestamp + - Source + type: object + SessionInfo: + additionalProperties: false properties: - resource_type: + edition: type: string - description: Type of resource - service: + is_docker: + type: boolean + is_license_activated: + type: boolean + machine_id: type: string - description: AWS service. - single: - type: object - description: Configuration items applicable to SINGLE_RESOURCE replication - type - properties: - policy_statements: - type: array - description: Required IAM permissions to replicate resource. - items: - type: string - identifier: - type: string - description: Resource property or properties used as identifier. In - case there are multiple properties, join them with ':'. ie. `RepositoryName:` - for ecr repository can be used as `my-repo` or `my-repo:latest` - batch: - type: object - description: Configuration items applicable to BATCH replication type - properties: - policy_statements: - type: array - description: Required IAM permissions to replicate resource. - items: - type: string - identifier: - type: string - description: Resource property or properties used as identifier. In - case there are multiple properties, join them with ':'. ie. `RepositoryName:` - for ecr repository can be used as `my-repo` or `my-repo:latest` - resource_tree: - type: object - description: Configuration items applicable to TREE exploration strategy, - when available - properties: - resources: - type: array - description: list of resources that will be replicated along with the - resource or batch of resources replicated - items: - type: string - extra_policy_statements: - type: array - description: Required IAM permissions to replicate the resources tree. - This is in addition to what is required for the replication type (eg. - SINGLE_RESOURCE, BATCH) - items: - type: string - extra_config: - type: object - additionalProperties: true - description: Used to expose extra configuration item when replicating a - specific resource. Those are extra keys that can be sent in the `replication_job_config` - object - ReplicationConfigMock: + server_time_utc: + type: string + session_id: + type: string + system: + type: string + uptime: + type: integer + version: + type: string + required: + - version + - edition + - is_license_activated + - session_id + - machine_id + - system + - is_docker + - server_time_utc + - uptime type: object - description: Mostly use for testing. + SnsSubscriptionTokenError: + additionalProperties: false properties: - delay: - type: number - description: Number of seconds for mock replication job to take. - ReplicationConfigSingle: + error: + type: string + subscription_arn: + type: string + required: + - error + - subscription_arn type: object - description: 'Specify the AWS resource to replicate by providing either: (1) - the complete `resource_arn`; OR (2) both `resource_type` and `resource_identifier` - together. Do not specify both options simultaneously.' + SNSPlatformEndpointMessage: + type: object + description: Message sent to a platform endpoint via SNS + additionalProperties: false properties: - resource_arn: + TargetArn: type: string - description: 'AWS ARN (Amazon Resource Name) of the resource to replicate. - Example: arn:aws:iam::123456789012:role/MyRole' - resource_type: + TopicArn: type: string - description: 'Resource type in AWS CloudControl format. Example: AWS::IAM::Role' - resource_identifier: + Message: type: string - description: CloudControl identifier for resource. - ReplicationConfigBatch: + MessageAttributes: + type: object + MessageStructure: + type: string + Subject: + type: + - string + - 'null' + MessageId: + type: string + SNSMessage: type: object - description: Specify the AWS resource to replicate by providing `resource_type`. - Most resources also require `resource_identifier`. - required: - - resource_type + description: Message sent via SNS properties: - resource_type: + PhoneNumber: type: string - description: 'Resource type in AWS CloudControl format. Example: AWS::IAM::Role' - resource_identifier: + TopicArn: + type: + - string + - 'null' + SubscriptionArn: + type: + - string + - 'null' + MessageId: type: string - description: Usually a string or a json string. more details for each resources - can be obtained by querying /_localstack/replicator/resources - ReplicationRequest: + Message: + type: string + MessageAttributes: + type: object + MessageStructure: + type: + - string + - 'null' + Subject: + type: + - string + - 'null' + SNSPlatformEndpointMessages: + type: object + description: | + Messages sent to the platform endpoint retrieved via the retrospective endpoint. + The endpoint ARN is the key with a list of messages as value. + additionalProperties: + type: array + items: + $ref: '#/components/schemas/SNSPlatformEndpointMessage' + SMSMessages: + type: object + description: | + SMS messages retrieved via the retrospective endpoint. + The phone number is the key with a list of messages as value. + additionalProperties: + type: array + items: + $ref: '#/components/schemas/SNSMessage' + SNSPlatformEndpointResponse: + type: object additionalProperties: false + description: Response payload for the /_aws/sns/platform-endpoint-messages endpoint + properties: + region: + type: string + description: The AWS region, e.g., us-east-1 + platform_endpoint_messages: + $ref: '#/components/schemas/SNSPlatformEndpointMessages' + required: + - region + - platform_endpoint_messages + SNSSMSMessagesResponse: + type: object + additionalProperties: false + description: Response payload for the /_aws/sns/sms-messages endpoint + properties: + region: + type: string + description: The AWS region, e.g., us-east-1 + sms_messages: + $ref: '#/components/schemas/SMSMessages' + required: + - region + - sms_messages + ReceiveMessageRequest: type: object + description: https://github.com/boto/botocore/blob/develop/botocore/data/sqs/2012-11-05/service-2.json required: - - replication_type - - source_aws_config + - QueueUrl properties: - replication_type: + QueueUrl: type: string - description: The type of replication job - enum: - - MOCK - - SINGLE_RESOURCE - source_aws_config: - type: object - description: Access credentials of source AWS account to describe the resource - to replicate. - required: - - aws_access_key_id - - aws_secret_access_key - - region_name - properties: - aws_access_key_id: - type: string - aws_secret_access_key: - type: string - aws_session_token: - type: string - region_name: - type: string - endpoint_url: - type: string - target_aws_config: - type: object - description: Access credentials of target LocalStack instance to replicate - the resource into. - required: - - aws_access_key_id - - aws_secret_access_key - - region_name - properties: - aws_access_key_id: - type: string - aws_secret_access_key: - type: string - aws_session_token: - type: string - region_name: - type: string - endpoint_url: - type: string - replication_job_config: - description: Parameters for replication - additionalProperties: true - oneOf: - - $ref: '#/components/schemas/ReplicationConfigMock' - - $ref: '#/components/schemas/ReplicationConfigSingle' - - $ref: '#/components/schemas/ReplicationConfigBatch' - 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: + format: uri + AttributeNames: 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 - ActionAndResource: - type: object - description: Action and resource access evaluation - required: - - action - - resource - - account - properties: - action: - type: string - description: iam action - resource: - type: string - description: resource arn - account: - type: string - description: account where the resource is deployed - condition_keys: + MessageSystemAttributeNames: type: array items: type: string - description: permission test evaluation - description: - type: string - description: permission test evaluation - access_level: + MessageAttributeNames: + type: array + items: + type: string + MaxNumberOfMessages: + type: integer + VisibilityTimeout: + type: integer + WaitTimeSeconds: + type: integer + ReceiveRequestAttemptId: type: string - description: permission test evaluation - CheckActionsRequest: + ReceiveMessageResult: type: object - description: check actions request - required: - - access_key_id - - region_name - - required_permission + description: https://github.com/boto/botocore/blob/develop/botocore/data/sqs/2012-11-05/service-2.json properties: - access_key_id: - type: string - description: Access key id of the user/assumed role - region_name: - type: string - description: region name for the current authenticated session - required_permission: + Messages: type: array - description: list of resources and actions to verify user access items: - type: object - required: - - action - - resource - properties: - resource: - type: string - description: Arn of the resource to test against - action: - type: string - description: action to test permission for - CheckActionsResponse: + $ref: '#/components/schemas/Message' + Message: type: object - description: actions check response properties: - allowed: - type: boolean - description: All of the actions in the request are allowed to be performed - on the given resource - implicit_deny: - type: array - items: - $ref: '#/components/schemas/ActionAndResource' - description: all actions from the request that resulted in an implicit deny - explicit_deny: - type: array - items: - $ref: '#/components/schemas/ActionAndResource' - description: all actions from the request that resulted in an explicit deny - explicit_allow: - type: array - items: - $ref: '#/components/schemas/ActionAndResource' - description: all actions from the request that explicitly allowed - source_principal: + MessageId: + type: + - string + - 'null' + ReceiptHandle: + type: + - string + - 'null' + MD5OfBody: + type: + - string + - 'null' + Body: + type: + - string + - 'null' + Attributes: type: object - description: information about the source principal evaluated from the access - key id - properties: - arn: - type: string - description: arn of the user or assumed role - account: - type: string - description: account where the user permission were evaluated - status_code: - type: integer - description: currently default values do not use for determining success - or failures - status_reason: - type: string - description: currently default values do not use for determining success - or failures - InitScripts: + MessageAttributes: + type: object + CloudWatchMetrics: additionalProperties: false properties: - completed: - additionalProperties: false - properties: - BOOT: - type: boolean - READY: - type: boolean - SHUTDOWN: - type: boolean - START: - type: boolean - required: - - BOOT - - START - - READY - - SHUTDOWN - type: object - scripts: + metrics: items: additionalProperties: false properties: - name: - type: string - stage: - type: string - state: + account: + description: Account ID type: string - required: - - stage - - name - - state - type: object - type: array - required: - - completed - - scripts - type: object - InitScriptsStage: - additionalProperties: false - properties: - completed: - type: boolean - scripts: - items: - additionalProperties: false - properties: - name: + d: + description: Dimensions + items: + additionalProperties: false + properties: + n: + description: Dimension name + type: string + v: + description: Dimension value + oneOf: + - type: string + - type: integer + required: + - n + - v + type: object + type: array + n: + description: Metric name type: string - stage: + ns: + description: Namespace type: string - state: + region: + description: Region name type: string + t: + description: Timestamp + oneOf: + - type: string + format: date-time + - type: number + v: + description: Metric value + oneOf: + - type: string + - type: integer required: - - stage - - name - - state + - ns + - n + - v + - t + - d + - account + - region type: object type: array required: - - completed - - scripts + - metrics type: object - SESDestination: + StateResult: type: object - description: Possible destination of a SES message - properties: - ToAddresses: - type: array - items: - type: string - format: email - CcAddresses: - type: array - items: - type: string - format: email - BccAddresses: - type: array - items: - type: string - format: email - additionalProperties: false - SesSentEmail: - additionalProperties: false + description: The result of a state save operation. properties: - Body: - additionalProperties: false - properties: - html_part: - type: string - text_part: - type: string - required: - - text_part - type: object - Destination: - $ref: '#/components/schemas/SESDestination' - Id: - type: string - RawData: - type: string - Region: - type: string - Source: - type: string - Subject: - type: string - Template: + service: type: string - TemplateData: + description: The service name. + status: type: string - Timestamp: + description: The status, ok or error. + message: type: string - required: - - Id - - Region - - Timestamp - - Source + description: An error message. + LoadService: type: object - SessionInfo: - additionalProperties: false + description: Configuration for the service load operation properties: - edition: - type: string - is_docker: - type: boolean - is_license_activated: + start: type: boolean - machine_id: - type: string - server_time_utc: + description: Start the service after loading the state + default: true + FaultRule: + type: object + description: Each rule represents the conditions for a fault and its detrimental + effects. + additionalProperties: false + properties: + region: type: string - session_id: + description: Region name, e.g., 'ap-south-1'. If omitted, all regions are + affected. + pattern: ^[a-zA-Z0-9-]+$ + service: type: string - system: + description: Name of the service, e.g., 'kinesis'. If omitted, all services + are affected. + pattern: ^[a-zA-Z0-9-_]+$ + operation: type: string - uptime: - type: integer - version: + 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 - required: - - version - - edition - - is_license_activated - - session_id - - machine_id - - system - - is_docker - - server_time_utc - - uptime + 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 - SnsSubscriptionTokenError: + 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: - error: - type: string - subscription_arn: - type: string + 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: - - error - - subscription_arn + - cloudpods type: object - SNSPlatformEndpointMessage: + PodVersions: type: object - description: Message sent to a platform endpoint via SNS - additionalProperties: false properties: - TargetArn: - type: string - TopicArn: - type: string - Message: - type: string - MessageAttributes: - type: object - MessageStructure: - type: string - Subject: - type: - - string - - 'null' - MessageId: + 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 - SNSMessage: + required: + - remote_url + ReplicationJob: + additionalProperties: false type: object - description: Message sent via SNS properties: - PhoneNumber: + job_id: type: string - TopicArn: - type: - - string - - 'null' - SubscriptionArn: - type: - - string - - 'null' - MessageId: + description: The Id of the ReplicationJob. + state: type: string - Message: + description: State of the ReplicationJob. + error_message: type: string - MessageAttributes: + description: Description of failure in case of failed replication. + type: + type: string + description: Type of replication Job. + replication_config: type: object - MessageStructure: - type: - - string - - 'null' - Subject: - type: - - string - - 'null' - SNSPlatformEndpointMessages: + description: configuration object for custom replication + explore_strategy: + type: string + description: defines the exploration strategy used for the replication job + enum: + - SIMPLE + - TREE + default: SIMPLE + resources: + type: object + description: Lists replicated resources by status + properties: + succeeded: + type: array + items: + type: string + skipped: + type: array + items: + type: string + failed: + type: array + items: + type: object + properties: + resource_identifier: + type: string + resource_type: + type: string + error: + type: string + root: + type: object + description: Present when the failed resource is a dependency + of the root. Not present when the root itself failed. + properties: + resource_identifier: + type: string + resource_type: + type: string + ReplicationSupportedResource: + additionalProperties: false type: object - description: | - Messages sent to the platform endpoint retrieved via the retrospective endpoint. - The endpoint ARN is the key with a list of messages as value. - additionalProperties: - type: array - items: - $ref: '#/components/schemas/SNSPlatformEndpointMessage' - SMSMessages: + required: + - resource_type + - service + properties: + resource_type: + type: string + description: Type of resource + service: + type: string + description: AWS service. + single: + type: object + description: Configuration items applicable to SINGLE_RESOURCE replication + type + properties: + policy_statements: + type: array + description: Required IAM permissions to replicate resource. + items: + type: string + identifier: + type: string + description: Resource property or properties used as identifier. In + case there are multiple properties, join them with ':'. ie. `RepositoryName:` + for ecr repository can be used as `my-repo` or `my-repo:latest` + batch: + type: object + description: Configuration items applicable to BATCH replication type + properties: + policy_statements: + type: array + description: Required IAM permissions to replicate resource. + items: + type: string + identifier: + type: string + description: Resource property or properties used as identifier. In + case there are multiple properties, join them with ':'. ie. `RepositoryName:` + for ecr repository can be used as `my-repo` or `my-repo:latest` + resource_tree: + type: object + description: Configuration items applicable to TREE exploration strategy, + when available + properties: + resources: + type: array + description: list of resources that will be replicated along with the + resource or batch of resources replicated + items: + type: string + extra_policy_statements: + type: array + description: Required IAM permissions to replicate the resources tree. + This is in addition to what is required for the replication type (eg. + SINGLE_RESOURCE, BATCH) + items: + type: string + extra_config: + type: object + additionalProperties: true + description: Used to expose extra configuration item when replicating a + specific resource. Those are extra keys that can be sent in the `replication_job_config` + object + ReplicationConfigMock: type: object - description: | - SMS messages retrieved via the retrospective endpoint. - The phone number is the key with a list of messages as value. - additionalProperties: - type: array - items: - $ref: '#/components/schemas/SNSMessage' - SNSPlatformEndpointResponse: + description: Mostly use for testing. + properties: + delay: + type: number + description: Number of seconds for mock replication job to take. + ReplicationConfigSingle: type: object - additionalProperties: false - description: Response payload for the /_aws/sns/platform-endpoint-messages endpoint + description: 'Specify the AWS resource to replicate by providing either: (1) + the complete `resource_arn`; OR (2) both `resource_type` and `resource_identifier` + together. Do not specify both options simultaneously.' properties: - region: + resource_arn: type: string - description: The AWS region, e.g., us-east-1 - platform_endpoint_messages: - $ref: '#/components/schemas/SNSPlatformEndpointMessages' - required: - - region - - platform_endpoint_messages - SNSSMSMessagesResponse: + description: 'AWS ARN (Amazon Resource Name) of the resource to replicate. + Example: arn:aws:iam::123456789012:role/MyRole' + resource_type: + type: string + description: 'Resource type in AWS CloudControl format. Example: AWS::IAM::Role' + resource_identifier: + type: string + description: CloudControl identifier for resource. + ReplicationConfigBatch: type: object - additionalProperties: false - description: Response payload for the /_aws/sns/sms-messages endpoint + description: Specify the AWS resource to replicate by providing `resource_type`. + Most resources also require `resource_identifier`. + required: + - resource_type properties: - region: + resource_type: type: string - description: The AWS region, e.g., us-east-1 - sms_messages: - $ref: '#/components/schemas/SMSMessages' + description: 'Resource type in AWS CloudControl format. Example: AWS::IAM::Role' + resource_identifier: + type: string + description: Usually a string or a json string. more details for each resources + can be obtained by querying /_localstack/replicator/resources + ReplicationRequest: + additionalProperties: false + type: object required: - - region - - sms_messages - ReceiveMessageRequest: + - replication_type + - source_aws_config + properties: + replication_type: + type: string + description: The type of replication job + enum: + - MOCK + - SINGLE_RESOURCE + source_aws_config: + type: object + description: Access credentials of source AWS account to describe the resource + to replicate. + required: + - aws_access_key_id + - aws_secret_access_key + - region_name + properties: + aws_access_key_id: + type: string + aws_secret_access_key: + type: string + aws_session_token: + type: string + region_name: + type: string + endpoint_url: + type: string + target_aws_config: + type: object + description: Access credentials of target LocalStack instance to replicate + the resource into. + required: + - aws_access_key_id + - aws_secret_access_key + - region_name + properties: + aws_access_key_id: + type: string + aws_secret_access_key: + type: string + aws_session_token: + type: string + region_name: + type: string + endpoint_url: + type: string + replication_job_config: + description: Parameters for replication + additionalProperties: true + oneOf: + - $ref: '#/components/schemas/ReplicationConfigMock' + - $ref: '#/components/schemas/ReplicationConfigSingle' + - $ref: '#/components/schemas/ReplicationConfigBatch' + NetworkEffectsConfig: type: object - description: https://github.com/boto/botocore/blob/develop/botocore/data/sqs/2012-11-05/service-2.json + description: Configuration for network effects. + additionalProperties: false required: - - QueueUrl + - latency properties: - QueueUrl: + 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 - format: uri - AttributeNames: - type: array - items: - type: string - MessageSystemAttributeNames: - type: array - items: - type: string - MessageAttributeNames: + description: Name of the remote. + protocols: type: array items: type: string - MaxNumberOfMessages: - type: integer - VisibilityTimeout: - type: integer - WaitTimeSeconds: - type: integer - ReceiveRequestAttemptId: + description: Supported protocols of the remote. + token: + type: object + description: The token for this remote. + url: type: string - ReceiveMessageResult: + description: URL of the remote server. + example: + name: example_remote + protocols: + - http + - https + url: https://example.com + IamConfig: type: object - description: https://github.com/boto/botocore/blob/develop/botocore/data/sqs/2012-11-05/service-2.json + description: IAM Config properties: - Messages: - type: array - items: - $ref: '#/components/schemas/Message' - Message: + 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 + ActionAndResource: type: object + description: Action and resource access evaluation + required: + - action + - resource + - account properties: - MessageId: - type: - - string - - 'null' - ReceiptHandle: - type: - - string - - 'null' - MD5OfBody: - type: - - string - - 'null' - Body: - type: - - string - - 'null' - Attributes: - type: object - MessageAttributes: - type: object - CloudWatchMetrics: - additionalProperties: false - properties: - metrics: - items: - additionalProperties: false - properties: - account: - description: Account ID - type: string - d: - description: Dimensions - items: - additionalProperties: false - properties: - n: - description: Dimension name - type: string - v: - description: Dimension value - oneOf: - - type: string - - type: integer - required: - - n - - v - type: object - type: array - n: - description: Metric name - type: string - ns: - description: Namespace - type: string - region: - description: Region name - type: string - t: - description: Timestamp - oneOf: - - type: string - format: date-time - - type: number - v: - description: Metric value - oneOf: - - type: string - - type: integer - required: - - ns - - n - - v - - t - - d - - account - - region - type: object + action: + type: string + description: iam action + resource: + type: string + description: resource arn + account: + type: string + description: account where the resource is deployed + condition_keys: type: array + items: + type: string + description: permission test evaluation + description: + type: string + description: permission test evaluation + access_level: + type: string + description: permission test evaluation + CheckActionsRequest: + type: object + description: check actions request required: - - metrics + - access_key_id + - region_name + - required_permission + properties: + access_key_id: + type: string + description: Access key id of the user/assumed role + region_name: + type: string + description: region name for the current authenticated session + required_permission: + type: array + description: list of resources and actions to verify user access + items: + type: object + required: + - action + - resource + properties: + resource: + type: string + description: Arn of the resource to test against + action: + type: string + description: action to test permission for + CheckActionsResponse: type: object + description: actions check response + properties: + allowed: + type: boolean + description: All of the actions in the request are allowed to be performed + on the given resource + implicit_deny: + type: array + items: + $ref: '#/components/schemas/ActionAndResource' + description: all actions from the request that resulted in an implicit deny + explicit_deny: + type: array + items: + $ref: '#/components/schemas/ActionAndResource' + description: all actions from the request that resulted in an explicit deny + explicit_allow: + type: array + items: + $ref: '#/components/schemas/ActionAndResource' + description: all actions from the request that explicitly allowed + source_principal: + type: object + description: information about the source principal evaluated from the access + key id + properties: + arn: + type: string + description: arn of the user or assumed role + account: + type: string + description: account where the user permission were evaluated + status_code: + type: integer + description: currently default values do not use for determining success + or failures + status_reason: + type: string + description: currently default values do not use for determining success + or failures 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: - 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: + /_aws/cloudwatch/metrics/raw: get: - description: IAM config endpoint + description: Retrieve CloudWatch metrics + operationId: get_cloudwatch_metrics tags: - - pro - aws responses: - 200: - description: Successful retrieval of configuration + '200': 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/IamConfig' - responses: - 200: - description: Successful setting of the new configuration. - 400: - description: Bad request. - /_aws/iam/check-actions-allowed: - post: - description: Test if the given actions are allowed on the specific resource + $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 - requestBody: - required: true - content: - application/json: - schema: - $ref: '#/components/schemas/CheckActionsRequest' responses: - 200: - description: Successful test. It is still required to inspect the response - as it can be denied + '200': content: application/json: schema: - $ref: '#/components/schemas/CheckActionsResponse' - /_aws/iot/LocalStackIoTRootCA.pem: - get: - description: Retrieve certificate for LocalStack IoT root certificate authority - tags: - - pro - - aws - /_aws/pinpoint/{application_id}/{reference_id}: + 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: Retrieve Pinpoint OTP code + description: Trigger a scheduled EventBridge rule + operationId: trigger_event_bridge_rule tags: - - pro - aws parameters: - - name: application_id - in: path - required: true - description: Pinpoint application ID - schema: - type: string - - name: reference_id + - description: EventBridge rule ARN in: path + name: rule_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: - 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: - 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 + description: EventBridge rule was triggered + '404': + description: Not found + /_aws/lambda/init: + get: + description: Retrieve Lambda runtime init binary + operationId: get_lambda_init tags: - - pro - - chaos - requestBody: - required: true - content: - application/json: - schema: - $ref: '#/components/schemas/NetworkEffectsConfig' + - aws responses: - 200: - description: Successfully configured network effects + '200': content: - application/json: - schema: - $ref: '#/components/schemas/NetworkEffectsConfig' - 400: - description: Invalid request + application/octet-stream: {} + description: Lambda runtime init binary + /_aws/lambda/runtimes: get: - summary: Get current network effects configuration + description: List available Lambda runtimes + operationId: get_lambda_runtimes tags: - - pro - - chaos - operationId: get_network_effects - description: Retrieve the current configuration for network latency effects - in Localstack Chaos. + - aws + parameters: + - in: query + name: filter + required: false + schema: + default: supported + enum: + - all + - deprecated + - supported + type: string responses: - 200: - description: Successful retrieval of configuration + '200': content: application/json: schema: - $ref: '#/components/schemas/NetworkEffectsConfig' - /_localstack/chaos/faults: + 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: - summary: Get the current fault configuration - description: Retrieve the list of currently configured fault rules. - operationId: get_fault_rules + description: Retrieve sent SES messages + operationId: get_ses_messages tags: - - pro - - chaos + - aws + parameters: + - $ref: '#/components/parameters/SesIdFilter' + - $ref: '#/components/parameters/SesEmailFilter' 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' - post: - summary: Set a new fault configuration - description: Set a new set of fault rules. Overwrite the previous ones. - operationId: set_fault_rules + 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 - - chaos - requestBody: - required: true - content: - application/json: - schema: - type: array - description: List of rules for faults. - uniqueItems: true - items: - $ref: '#/components/schemas/FaultRule' + - aws + parameters: + - $ref: '#/components/parameters/SnsAccountId' + - $ref: '#/components/parameters/SnsRegion' + - $ref: '#/components/parameters/SnsEndpointArn' responses: - 200: - description: Successful retrieval of current configuration. - content: - application/json: - schema: - type: array - description: List of configured rules for faults. - uniqueItems: true - items: - $ref: '#/components/schemas/FaultRule' - 400: - description: Invalid request - 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 + '204': + description: Platform endpoint message was discarded + get: + description: Retrieve the messages sent to a platform endpoint via SNS + operationId: get_sns_endpoint_messages tags: - - 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' + - aws + parameters: + - $ref: '#/components/parameters/SnsAccountId' + - $ref: '#/components/parameters/SnsRegion' + - $ref: '#/components/parameters/SnsEndpointArn' 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' + $ref: '#/components/schemas/SNSPlatformEndpointResponse' + description: SNS messages via retrospective access + /_aws/sns/sms-messages: delete: - summary: Delete a set of rules from the configuration - description: Remove rules from the fault configuration. - operationId: delete_fault_rules + description: Discard SNS SMS messages + operationId: discard_sns_sms_messages tags: - - 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' + - aws + parameters: + - $ref: '#/components/parameters/SnsAccountId' + - $ref: '#/components/parameters/SnsRegion' + - $ref: '#/components/parameters/SnsPhoneNumber' responses: - 200: - description: Successful retrieval of current configuration. + '204': + description: SMS message was discarded + get: + description: Retrieve SNS SMS messages + operationId: get_sns_sms_messages + tags: + - aws + parameters: + - $ref: '#/components/parameters/SnsAccountId' + - $ref: '#/components/parameters/SnsRegion' + - $ref: '#/components/parameters/SnsPhoneNumber' + responses: + '200': content: application/json: schema: - type: array - description: List of configured rules for faults. - uniqueItems: true - items: - $ref: '#/components/schemas/FaultRule' - 400: - description: Invalid request - /_localstack/cloudformation/deploy: + $ref: '#/components/schemas/SNSSMSMessagesResponse' + description: SNS messages via retrospective access + /_aws/sns/subscription-tokens/{subscription_arn}: get: - description: UI to deploy and manage your CloudFormation stacks using public - templates + description: Retrieve SNS subscription token for confirmation + operationId: get_sns_subscription_token + tags: + - aws parameters: - - name: templateURL - in: query - required: false - description: URL to a CloudFormation template (JSON or YAML). + - description: '`subscriptionArn` resource of subscription token' + in: path + name: subscription_arn + required: true schema: type: string - format: uri responses: - '404': - description: Template not found. '200': - description: HTML page for CloudFormation deployment. content: - text/html: + application/json: schema: - type: string - /_localstack/pods: + additionalProperties: false + properties: + subscription_arn: + type: string + subscription_token: + 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': + content: + application/json: + schema: + $ref: '#/components/schemas/SnsSubscriptionTokenError' + description: Not found + /_aws/sqs/messages: get: - description: List cloud pods - operationId: listPods + description: List SQS queue messages without side effects + operationId: list_all_sqs_messages tags: - - pro - - pods + - aws parameters: - - description: User ID of the pod creator. Special values like `me` are accepted. + - description: SQS queue URL in: query - name: creator + name: QueueUrl required: false schema: type: string - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/RemoteConfig' responses: '200': content: + text/xml: + schema: + $ref: '#/components/schemas/ReceiveMessageResult' application/json: schema: - $ref: '#/components/schemas/PodList' - description: The list of Cloud Pods associated with a given identity + $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: - description: Loads a pod state from a zip file and restores its services. - tags: - - pro - - pods + 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: - multipart/form-data: + application/x-www-form-urlencoded: schema: - type: object - properties: - pod: - type: string - format: binary - required: - - pod - application/octet-stream: + $ref: '#/components/schemas/ReceiveMessageRequest' + application/json: schema: - type: string - format: binary - responses: - '201': - description: Pod state loaded successfully. - headers: - Content-Length: - description: Length of the pod in bytes. - schema: - type: integer - '400': - description: Bad request. - '422': - content: - text/plain: - schema: - type: string - description: The pod state is incompatible with the current LocalStack version. - /_localstack/pods/environment: - get: - description: | - Retrieves some information about the current environment, like LocalStack and Moto versions. - tags: - - pro - - pods + $ref: '#/components/schemas/ReceiveMessageRequest' responses: '200': - description: A JSON object containing environment version information. content: + text/xml: {} application/json: schema: - type: object - properties: - localstack_version: - type: string - description: Version of LocalStack. - localstack_ext_version: - type: string - 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. + $ref: '#/components/schemas/ReceiveMessageResult' + description: SQS queue messages + '400': content: - application/json: - schema: - type: object - properties: - remotes: - type: array - items: - $ref: '#/components/schemas/PodRemote' - /_localstack/pods/remotes/{name}: + 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: - summary: Get a specific remote - description: Retrieves information about a specific remote by name. - operationId: get_remote + description: List SQS messages without side effects + operationId: list_sqs_messages tags: - - pro - - pods + - aws parameters: - - name: name + - description: SQS queue region in: path + name: region + required: true + 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 - description: The name of the remote. schema: type: string responses: '200': - description: Details of the remote. content: + text/xml: {} application/json: schema: - $ref: '#/components/schemas/PodRemote' + $ref: '#/components/schemas/ReceiveMessageResult' + description: SQS queue messages + '400': + content: + text/xml: {} + application/json: {} + description: Bad request '404': - description: Remote not found + 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: + schema: + type: object + description: Current LocalStack configuration + '404': + description: Not found post: - summary: Create a new remote - description: Creates a new remote with the specified name and configuration. - operationId: create_remote + description: Configuration option to update with new value + operationId: update_config_option 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: + value: + type: + - number + - string + variable: + pattern: ^[_a-zA-Z0-9]+$ 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: + - variable + - value + type: object required: true - description: The name of the remote to delete. - schema: - type: string responses: '200': - description: Remote deleted successfully. - /_localstack/pods/state: + content: + application/json: + schema: + 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 + '404': + description: Not found + /_localstack/diagnose: get: - description: Exports the current state of the LocalStack container into a zip - file. + description: Get diagnostics report + operationId: get_diagnostics 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 + - localstack 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. + application/json: schema: - type: integer - /_localstack/pods/state/metamodel: + additionalProperties: false + properties: + config: + type: object + docker-dependent-image-hashes: + 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: Extract a metamodel representing the state of the current LocalStack - session - responses: - '200': - content: - application/json: {} - description: Metamodel representing the state of the current LocalStack - session + description: Get available LocalStack features and AWS services + operationId: get_features_and_services tags: - - pro - - pods - /_localstack/pods/{name}: - delete: - operationId: deletePod + - localstack parameters: - - 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 + - allowEmptyValue: true + in: query + name: reload 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 - '400': - description: Invalid request - '500': - description: Deletion failed + 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: 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 + operationId: health responses: '200': content: - application/x-ndjson: {} - description: The response is a sequence of JSON events, according to the - schema, separated by a newline - '400': - description: Invalid request + text/plain: {} + description: '' + post: + description: Restart or terminate LocalStack session + operationId: manage_session 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 + - localstack requestBody: content: application/json: schema: - $ref: '#/components/schemas/RemoteConfig' + additionalProperties: false + properties: + action: + enum: + - restart + - kill + type: string + required: + - action + type: object + description: Action to perform + required: true responses: '200': content: - application/x-ndjson: {} - description: The response is a sequence of JSON events, according to the - schema, separated by a newline - '422': + text/plain: {} + description: Action was successful + '400': content: - text/plain: - schema: - type: string - description: The pod state is incompatible with the current LocalStack version + text/plain: {} + description: Bad request + put: + description: Store arbitrary data to in-memory state + operationId: store_data tags: - - 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 + - localstack requestBody: content: application/json: schema: - $ref: '#/components/schemas/RemoteConfig' + type: object + description: Data to save responses: '200': - description: A list of version details. content: application/json: schema: - $ref: '#/components/schemas/PodVersions' - tags: - - pro - - pods - /_localstack/replicator/jobs: + 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: - - pro - - replicator - description: List of replication jobs - operationId: listReplicationJobs + - localstack responses: '200': - description: List of replication jobs content: application/json: schema: - additionalProperties: false - type: array - items: - $ref: '#/components/schemas/ReplicationJob' - post: + $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 tags: - - pro - - replicator - description: Submits a replication job - operationId: createReplicationJob - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/ReplicationRequest' + - localstack responses: '200': - description: Replication Job submitted content: application/json: schema: - type: array - items: - $ref: '#/components/schemas/ReplicationJob' - '400': - description: Invalid request - '415': - description: Content-Type was not 'application/json' - /_localstack/replicator/jobs/{job_id}: + $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 - - replicator - description: Get replication job - operationId: GetReplicationJob + - localstack parameters: - - description: Id of replication job - in: path - name: job_id + - in: path + name: stage required: true schema: type: string responses: '200': - description: Replication Job found content: application/json: schema: - type: object - $ref: '#/components/schemas/ReplicationJob' + $ref: '#/components/schemas/InitScriptsStage' + description: Information about init scripts in a specific stage '404': - description: Replication job not found content: text/plain: schema: type: string - /_localstack/replicator/resources: + description: Stage not found + /_localstack/plugins: get: + description: '' + operationId: get_plugins tags: - - pro - - replicator - description: List supported resources for replication - operationId: listSupportedResources + - localstack responses: '200': - description: List of resources available for replication content: - application/json: - schema: - additionalProperties: false - type: array - items: - $ref: '#/components/schemas/ReplicationSupportedResource' - /_localstack/stackinfo: + application/json: {} + description: '' + /_localstack/usage: get: - description: Collect information used to populate the dashboard info. + description: '' + operationId: get_usage + tags: + - localstack responses: '200': content: - application/json: - schema: - additionalProperties: false - 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: - 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: - - 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 + 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 - /_localstack/state/load: + - aws post: - description: Load all service states. By default, it starts the services when - loading their states. - requestBody: - required: false - content: - application/json: - schema: - $ref: '#/components/schemas/LoadService' - responses: - '200': - content: - application/x-ndjson: - schema: - $ref: '#/components/schemas/StateResult' - description: Successful or error is one of the status is 'error' + description: Cognito forgot password endpoint + externalDocs: + url: https://docs.aws.amazon.com/cognito/latest/developerguide/hosted-UI-endpoints.html tags: - pro - - state - /_localstack/state/reset: - post: - description: Reset all service states - responses: - '200': - description: Successful + - 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 - - state - /_localstack/state/save: + - aws 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' + description: Cognito login endpoint + externalDocs: + url: https://docs.aws.amazon.com/cognito/latest/developerguide/hosted-UI-endpoints.html tags: - pro - - state - /_localstack/state/{service}/load: - post: - description: Load a service state. By default, it starts the service, if the - service hasn't started yet. - parameters: - - $ref: '#/components/parameters/ServiceName' - requestBody: - required: false - content: - application/json: - schema: - $ref: '#/components/schemas/LoadService' - responses: - '200': - description: Successful - 500: - description: Failure - content: - application/json: - schema: - $ref: '#/components/schemas/StateResult' - 404: - description: Service not found + - 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 - - state - /_localstack/state/{service}/reset: + - aws post: - description: Reset a service state - parameters: - - $ref: '#/components/parameters/ServiceName' - responses: - '200': - description: Successful - 404: - description: Service not found + description: Cognito logout endpoint + externalDocs: + url: https://docs.aws.amazon.com/cognito/latest/developerguide/hosted-UI-endpoints.html tags: - pro - - state - /_localstack/state/{service}/save: + - 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: Save a service state - parameters: - - $ref: '#/components/parameters/ServiceName' - responses: - '200': - description: Successful - 500: - description: Failure - content: - application/json: - schema: - $ref: '#/components/schemas/StateResult' - 404: - description: Service not found + description: Cognito OAuth 2.0 token endpoint + externalDocs: + url: https://docs.aws.amazon.com/cognito/latest/developerguide/token-endpoint.html tags: - pro - - state - /_aws/cloudwatch/metrics/raw: - get: - description: Retrieve CloudWatch metrics - operationId: get_cloudwatch_metrics + - 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 - 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 + /_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 - 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: + /_aws/cognito-idp/saml2/idpresponse: get: - description: Trigger a scheduled EventBridge rule - operationId: trigger_event_bridge_rule + description: Cognito SAML 2.0 idpresponse endpoint + externalDocs: + url: https://docs.aws.amazon.com/cognito/latest/developerguide/saml2-idpresponse-endpoint.html tags: + - pro - aws - 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: + 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: Retrieve Lambda runtime init binary - operationId: get_lambda_init + description: Cognito signup endpoint + externalDocs: + url: https://docs.aws.amazon.com/cognito/latest/developerguide/hosted-UI-endpoints.html tags: + - pro - aws - responses: - '200': - content: - application/octet-stream: {} - description: Lambda runtime init binary - /_aws/lambda/runtimes: + 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: List available Lambda runtimes - operationId: get_lambda_runtimes + description: IAM config endpoint tags: + - pro - aws - parameters: - - in: query - name: filter - required: false - schema: - default: supported - enum: - - all - - deprecated - - supported - type: string responses: - '200': + 200: + description: Successful retrieval of 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 + $ref: '#/components/schemas/IamConfig' + post: + description: IAM config endpoint tags: + - pro - aws - parameters: - - $ref: '#/components/parameters/SesIdFilter' + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/IamConfig' responses: - '204': - description: Message was successfully discarded - get: - description: Retrieve sent SES messages - operationId: get_ses_messages + 200: + description: Successful setting of the new configuration. + 400: + description: Bad request. + /_aws/iam/check-actions-allowed: + post: + description: Test if the given actions are allowed on the specific resource tags: + - pro - aws - parameters: - - $ref: '#/components/parameters/SesIdFilter' - - $ref: '#/components/parameters/SesEmailFilter' + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/CheckActionsRequest' responses: - '200': + 200: + description: Successful test. It is still required to inspect the response + as it can be denied 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 + $ref: '#/components/schemas/CheckActionsResponse' + /_aws/iot/LocalStackIoTRootCA.pem: + get: + description: Retrieve certificate for LocalStack IoT root certificate authority tags: + - pro - aws - parameters: - - $ref: '#/components/parameters/SnsAccountId' - - $ref: '#/components/parameters/SnsRegion' - - $ref: '#/components/parameters/SnsEndpointArn' - responses: - '204': - description: Platform endpoint message was discarded + /_aws/pinpoint/{application_id}/{reference_id}: get: - description: Retrieve the messages sent to a platform endpoint via SNS - operationId: get_sns_endpoint_messages + description: Retrieve Pinpoint OTP code tags: + - pro - aws parameters: - - $ref: '#/components/parameters/SnsAccountId' - - $ref: '#/components/parameters/SnsRegion' - - $ref: '#/components/parameters/SnsEndpointArn' + - name: application_id + in: path + required: true + description: Pinpoint application ID + schema: + type: string + - name: reference_id + in: path + required: true + description: Reference ID that was used in SentOTPMessage + schema: + type: string responses: '200': + description: OTP message details 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 - parameters: - - $ref: '#/components/parameters/SnsAccountId' - - $ref: '#/components/parameters/SnsRegion' - - $ref: '#/components/parameters/SnsPhoneNumber' - responses: - '204': - description: SMS message was discarded - get: - description: Retrieve SNS SMS messages - operationId: get_sns_sms_messages - tags: - - aws - parameters: - - $ref: '#/components/parameters/SnsAccountId' - - $ref: '#/components/parameters/SnsRegion' - - $ref: '#/components/parameters/SnsPhoneNumber' + 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: + 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: + 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': + 200: + description: Successfully configured network effects content: application/json: schema: - $ref: '#/components/schemas/SNSSMSMessagesResponse' - description: SNS messages via retrospective access - /_aws/sns/subscription-tokens/{subscription_arn}: + $ref: '#/components/schemas/NetworkEffectsConfig' + 400: + description: Invalid request get: - description: Retrieve SNS subscription token for confirmation - operationId: get_sns_subscription_token + summary: Get current network effects configuration tags: - - aws - parameters: - - description: '`subscriptionArn` resource of subscription token' - in: path - name: subscription_arn - required: true - schema: - type: string + - 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: - additionalProperties: false - properties: - subscription_arn: - type: string - subscription_token: - type: string - required: - - subscription_token - - subscription_arn - type: object - description: Subscription token - '400': + $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: + - pro + - chaos + responses: + 200: + description: Successful retrieval of current configuration. content: application/json: schema: - $ref: '#/components/schemas/SnsSubscriptionTokenError' - description: Bad request - '404': + 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 + requestBody: + required: true + content: + application/json: + schema: + type: array + description: List of rules for faults. + uniqueItems: true + items: + $ref: '#/components/schemas/FaultRule' + responses: + 200: + description: Successful retrieval of current configuration. content: application/json: schema: - $ref: '#/components/schemas/SnsSubscriptionTokenError' - description: Not found - /_aws/sqs/messages: - get: - description: List SQS queue messages without side effects - operationId: list_all_sqs_messages + type: array + description: List of configured rules for faults. + uniqueItems: true + items: + $ref: '#/components/schemas/FaultRule' + 400: + description: Invalid request + 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: - - description: SQS queue URL - in: query - name: QueueUrl - required: false - schema: - type: string + - 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: - 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 - 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 + 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 + tags: + - pro + - chaos requestBody: required: true content: - application/x-www-form-urlencoded: - schema: - $ref: '#/components/schemas/ReceiveMessageRequest' application/json: schema: - $ref: '#/components/schemas/ReceiveMessageRequest' + 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: - 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}: + type: array + description: List of configured rules for faults. + uniqueItems: true + items: + $ref: '#/components/schemas/FaultRule' + 400: + description: Invalid request + /_localstack/cloudformation/deploy: get: - description: List SQS messages without side effects - operationId: list_sqs_messages - tags: - - aws + description: UI to deploy and manage your CloudFormation stacks using public + templates parameters: - - description: SQS queue region - in: path - name: region - required: true - 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 + - name: templateURL + in: query + required: false + description: URL to a CloudFormation template (JSON or YAML). schema: type: string + format: uri responses: + '404': + description: Template not found. '200': + description: HTML page for CloudFormation deployment. content: - text/xml: {} - application/json: + text/html: 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: + type: string + /_localstack/pods: get: - description: Get current LocalStack configuration - operationId: get_config + description: List cloud pods + operationId: listPods tags: - - localstack + - pro + - pods + parameters: + - 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: - type: object - description: Current LocalStack configuration - '404': - description: Not found + $ref: '#/components/schemas/PodList' + description: The list of Cloud Pods associated with a given identity 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: + '201': + description: Pod state loaded successfully. + headers: + Content-Length: + description: Length of the pod in bytes. + schema: + type: integer + '400': + description: Bad request. + '422': + content: + text/plain: + schema: + type: string + description: The pod state is incompatible with the current LocalStack version. + /_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: - additionalProperties: false + type: object properties: - value: - type: - - number - - string - variable: + localstack_version: type: string - required: - - variable - - value - type: object - description: Configuration option is updated - '400': - content: - application/json: {} - description: Bad request - '404': - description: Not found - /_localstack/diagnose: + description: Version of LocalStack. + localstack_ext_version: + type: string + 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: Get diagnostics report - operationId: get_diagnostics + description: Retrieves a list of all configured remotes. + operationId: list_remotes tags: - - localstack + - pro + - pods responses: '200': + description: A list of remotes. content: application/json: schema: - additionalProperties: false - properties: - config: - type: object - docker-dependent-image-hashes: - 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: + 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 + tags: + - pro + - pods + parameters: + - name: name + in: path + required: true + description: The name of the remote. + schema: + type: string + responses: + '200': + description: Details of the remote. + content: + application/json: + schema: + $ref: '#/components/schemas/PodRemote' + '404': + description: Remote not found + post: + 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/json: + schema: + 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': + 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: true + description: The name of the remote to delete. + schema: + type: string + responses: + '200': + description: Remote deleted successfully. + /_localstack/pods/state: get: - description: Get available LocalStack features and AWS services - operationId: get_features_and_services + description: Exports the current state of the LocalStack container into a zip + file. tags: - - localstack + - pro + - pods parameters: - - allowEmptyValue: true + - name: pod_name in: query - name: reload + 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/json: + application/zip: 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: - tags: - - localstack - operationId: health + 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 + /_localstack/pods/state/metamodel: + get: + description: Extract a metamodel representing the state of the current LocalStack + session responses: '200': content: - text/plain: {} - description: '' - post: - description: Restart or terminate LocalStack session - operationId: manage_session + application/json: {} + description: Metamodel representing the state of the current LocalStack + session tags: - - localstack + - pro + - pods + /_localstack/pods/{name}: + delete: + operationId: deletePod + parameters: + - 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: - additionalProperties: false - properties: - action: - enum: - - restart - - kill - type: string - required: - - action - type: object - description: Action to perform + $ref: '#/components/schemas/RemoteConfig' + responses: + '200': + description: OK + '400': + description: Invalid request + '500': + description: Deletion failed + 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' responses: '200': content: - text/plain: {} - description: Action was successful + application/x-ndjson: {} + description: The response is a sequence of JSON events, according to the + schema, separated by a newline '400': - content: - text/plain: {} - description: Bad request + description: Invalid request + tags: + - pro + - pods put: - description: Store arbitrary data to in-memory state - operationId: store_data + 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: + $ref: '#/components/schemas/RemoteConfig' + responses: + '200': + content: + application/x-ndjson: {} + description: The response is a sequence of JSON events, according to the + schema, separated by a newline + '422': + content: + text/plain: + schema: + type: string + description: The pod state is incompatible with the current LocalStack version 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: - additionalProperties: false - properties: - status: - type: string - required: - - status - type: object - description: Data was saved - /_localstack/info: + $ref: '#/components/schemas/PodVersions' + tags: + - pro + - pods + /_localstack/replicator/jobs: get: - description: Get information about the current LocalStack session - operationId: get_session_info tags: - - localstack + - pro + - replicator + description: List of replication jobs + operationId: listReplicationJobs responses: '200': + description: List of replication jobs content: application/json: 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 + additionalProperties: false + type: array + items: + $ref: '#/components/schemas/ReplicationJob' + post: tags: - - localstack + - pro + - replicator + description: Submits a replication job + operationId: createReplicationJob + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/ReplicationRequest' responses: '200': + description: Replication Job submitted content: application/json: schema: - $ref: '#/components/schemas/InitScripts' - description: Information about init scripts - /_localstack/init/{stage}: + type: array + items: + $ref: '#/components/schemas/ReplicationJob' + '400': + description: Invalid request + '415': + description: Content-Type was not 'application/json' + /_localstack/replicator/jobs/{job_id}: get: - description: Get information about init scripts in a specific stage - operationId: get_init_script_info_stage tags: - - localstack + - pro + - replicator + description: Get replication job + operationId: GetReplicationJob parameters: - - in: path - name: stage + - description: Id of replication job + in: path + name: job_id required: true schema: type: string responses: '200': + description: Replication Job found content: application/json: schema: - $ref: '#/components/schemas/InitScriptsStage' - description: Information about init scripts in a specific stage + type: object + $ref: '#/components/schemas/ReplicationJob' '404': + description: Replication job not found content: text/plain: schema: type: string - description: Stage not found - /_localstack/plugins: + /_localstack/replicator/resources: get: - description: '' - operationId: get_plugins tags: - - localstack + - pro + - replicator + description: List supported resources for replication + operationId: listSupportedResources responses: '200': + description: List of resources available for replication content: - application/json: {} - description: '' - /_localstack/usage: + application/json: + schema: + additionalProperties: false + type: array + items: + $ref: '#/components/schemas/ReplicationSupportedResource' + /_localstack/stackinfo: get: - description: '' - operationId: get_usage - tags: - - localstack + description: Collect information used to populate the dashboard info. responses: '200': content: - application/json: {} + application/json: + schema: + additionalProperties: false + 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: + 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: + - 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. By default, it starts the services when + loading their states. + requestBody: + required: false + content: + application/json: + schema: + $ref: '#/components/schemas/LoadService' + 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. By default, it starts the service, if the + service hasn't started yet. + parameters: + - $ref: '#/components/parameters/ServiceName' + requestBody: + required: false + content: + application/json: + schema: + $ref: '#/components/schemas/LoadService' + responses: + '200': + description: Successful + 500: + description: Failure + content: + application/json: + schema: + $ref: '#/components/schemas/StateResult' + 404: + description: Service not found + tags: + - pro + - state + /_localstack/state/{service}/reset: + post: + description: Reset a service state + parameters: + - $ref: '#/components/parameters/ServiceName' + responses: + '200': + description: Successful + 404: + description: Service not found + tags: + - 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: + schema: + $ref: '#/components/schemas/StateResult' + 404: + description: Service not found + tags: + - pro + - state