openapi: 3.2.0 info: title: CoreStack External AwsSsm Command API version: 1.0.0 termsOfService: http://corestack.io/ license: name: CoreStack Inc License url: http://corestack.io/licenses/LICENSE-2.0.html description: Manage AWS SSM Command servers: - url: / tags: - name: AwsSsm Command description: Manage AWS SSM Command paths: /v1/runbook/{tenant_id}/AWS/command/{document_id}: parameters: - name: tenant_id in: path required: true schema: type: string - name: document_id in: path required: true schema: type: string post: responses: '500': description: Internal Server Error content: application/json: schema: $ref: '#/components/schemas/ModelError' '401': description: Unauthorized content: application/json: schema: $ref: '#/components/schemas/ModelError' '400': description: Bad Request content: application/json: schema: $ref: '#/components/schemas/ModelError' '200': description: Created content: application/json: schema: $ref: '#/components/schemas/AwsSsmExecuteDocumentResponse' summary: Execute command document description: Execute a command document with all required parameters operationId: CommandExecute security: - auth_token: [] tags: - AwsSsm Command requestBody: content: application/json: schema: $ref: '#/components/schemas/AwsSsmExecuteCommandDocumentRequest' required: true /v1/runbook/{tenant_id}/AWS/command/{execution_id}: parameters: - name: tenant_id in: path required: true schema: type: string - name: execution_id in: path required: true schema: type: string delete: responses: '500': description: Internal Server Error content: application/json: schema: $ref: '#/components/schemas/ModelError' '401': description: Unauthorized content: application/json: schema: $ref: '#/components/schemas/ModelError' '400': description: Bad Request content: application/json: schema: $ref: '#/components/schemas/ModelError' '200': description: Created content: application/json: schema: $ref: '#/components/schemas/AwsSsmExecuteDocumentResponse' summary: Cancel command execution description: Cancel a specific command document execution operationId: CancelCommand security: - auth_token: [] tags: - AwsSsm Command /v1/runbook/{tenant_id}/AWS/execution/instance/batch: parameters: - name: tenant_id in: path required: true schema: type: string post: responses: '500': description: Internal Server Error content: application/json: schema: $ref: '#/components/schemas/ModelError' '401': description: Unauthorized content: application/json: schema: $ref: '#/components/schemas/ModelError' '400': description: Bad Request content: application/json: schema: $ref: '#/components/schemas/ModelError' '200': description: Generated content: application/json: schema: $ref: '#/components/schemas/AwsSsmCommandInstanceExecutionBatchResponse' summary: Batch execution instances description: List all document execution Instance batch operationId: ExecutionInstanceBatch security: - auth_token: [] tags: - AwsSsm Command requestBody: content: application/json: schema: $ref: '#/components/schemas/RecordIdentityBatchRequest' required: true /v1/runbook/{tenant_id}/AWS/execution/instance/list/{execution_id}: parameters: - name: tenant_id in: path required: true schema: type: string - name: execution_id in: path required: true schema: type: string get: responses: '500': description: Internal Server Error content: application/json: schema: $ref: '#/components/schemas/ModelError' '401': description: Unauthorized content: application/json: schema: $ref: '#/components/schemas/ModelError' '400': description: Bad Request content: application/json: schema: $ref: '#/components/schemas/ModelError' '200': description: Generated content: application/json: schema: $ref: '#/components/schemas/ListResponse' summary: List execution instances description: List all document execution Instances operationId: ExecutionInstanceList security: - auth_token: [] tags: - AwsSsm Command components: schemas: ListContext: properties: batch_size: type: integer description: Max number of ids in the response batch_offset: type: integer description: Offset of batches into the results. First batch is 0 total: type: integer description: Total number of results type: object AwsSsmCommandDocumentTarget: properties: key: type: string description: 'Supported keys: InstanceIds/tag/resource-groups' values: type: array description: 'Supported values: ,/,/,' items: type: string type: object AwsSsmNotificationConfig: properties: arn: type: string description: AWS resource ARN of the SNS topic events: type: array items: type: string description: Type of the notification events for automation documents example: All enum: - All - InProgress - Success - TimedOut - Cancelled - Failed x-cs-enum-type: AwsSsmExecuteDocumentNotificationEvents notification_type: type: string description: Type of the notification. Receive notifications when the status of command/invocation changes example: Command enum: - Command - Invocation x-cs-enum-type: AwsSsmCommandNotificationTypes type: object AwsSsmCommandDocumentAlarm: properties: name: type: string description: The name of CloudWatch alarm. type: object AwsSsmCommandInstanceExecutionBatchResponse: properties: results: type: object description: Map from identifier to response model additionalProperties: $ref: '#/components/schemas/AwsSsmCommandInstanceExecutionDetail' type: object AwsSsmCommandPlugin: properties: name: type: string description: Name of the plugin status: type: string description: Status of the Execution example: Pending enum: - Pending - InProgress - Delayed - Success - Cancelled - TimedOut - Failed - Cancelling x-cs-enum-type: AwsSsmCommandExecutionStatus status_details: type: string description: Detailed status of the execution response_code: type: integer description: Response code of the plug in response_start_date_time: type: string format: date-time response_finish_date_time: type: string format: date-time output: type: string description: Output of the execution plugin_name: type: string description: Name of the plugin standard_output_contents: type: string description: standard output parameters standard_output_url: type: string description: standard url of the output standard_error_content: type: string description: standard error contents of the output. standard_error_url: type: string description: standard url of the error content type: object AwsSsmBaseExecuteDocumentRequest: required: - cloud_account_id - document_name - document_version - region properties: cloud_account_id: type: string description: Cloud Account id for which command document need to be executed. region: type: string description: Region of the document to be executed. document_name: type: string description: Name of the document. document_version: type: string description: The SSM document version to use in the request. document_hash: type: string description: The cryptographic hash value of the document content. document_hash_type: type: string description: The hash algorithm used to calculate the hash value example: Sha256 enum: - Sha256 - Sha1 x-cs-enum-type: AwsSsmHashType parameters: type: object description: The required and optional parameters specified in the document being run. additionalProperties: type: array items: type: string max_concurrency: type: string description: The maximum number of managed nodes that are allowed to run the command at the same time. max_errors: type: string description: The maximum number of errors allowed without the command failing. alarm_configuration: description: The CloudWatch alarm you want to apply to your command. $ref: '#/components/schemas/AwsSsmDocumentAlarmConfiguration' change_id: type: string description: Service Now tracking id type: object AwsSsmExecuteDocumentResponse: properties: execution_id: type: string description: Automation Execution Id type: object AwsSsmDocumentAlarmConfiguration: properties: ignore_poll_alarm_failure: type: boolean description: The automation or command continues to run, either the Alarm status is OK or INSUFFICIENT_DATA. alarms: type: array description: List of Alarms. items: $ref: '#/components/schemas/AwsSsmCommandDocumentAlarm' type: object ModelError: required: - message properties: message: type: string description: Error response message. type: object AwsSsmExecuteCommandDocumentRequest: allOf: - $ref: '#/components/schemas/AwsSsmBaseExecuteDocumentRequest' - properties: instance_ids: type: array description: The IDs of the managed nodes where the command should run. items: type: string targets: type: array description: An array of search criteria that targets managed nodes using a Key,Value combination. items: $ref: '#/components/schemas/AwsSsmCommandDocumentTarget' timeout_seconds: type: integer description: If this time is reached and the command has not already started running, it wont run. comment: type: string description: User-specified information about the command. output_s3_bucket_name: type: string description: The name of the S3 bucket where command execution responses should be stored. output_s3_key_prefix: type: string description: The directory structure within the S3 bucket where the responses should be stored. service_role_arn: type: string description: The ARN of the AWS IAM service role to use to publish Amazon SNS notifications for Run Command commands. notification_config: description: Configurations for sending notifications. $ref: '#/components/schemas/AwsSsmNotificationConfig' cloud_watch_output_config: description: Enables AWS Systems Manager to send Run Command output to Amazon CloudWatch Logs. $ref: '#/components/schemas/AwsSsmCommandDocumentCloudWatchOutputConfig' type: object ListResponse: properties: results: type: array description: List of result identifiers items: type: string next_list_context: description: List context $ref: '#/components/schemas/ListContext' type: object AwsSsmCommandDocumentCloudWatchOutputConfig: properties: cloud_watch_log_group_name: type: string description: The name of the CloudWatch Logs log group where you want to send command output. cloud_watch_output_enabled: type: boolean description: Enables Systems Manager to send command output to CloudWatch Logs. type: object AwsSsmCommandInstanceExecutionDetail: properties: sysId: type: string description: Id of the command execution job_id: type: string description: Id of the command execution job instance_id: type: string description: The ID of the instance on which the command document is executed. instance_name: type: string description: The Name of the instance on which the command document is executed. comment: type: string description: The comment text for the command. execution_start_time: type: string format: date-time description: The date and time the plugin started running. execution_end_time: type: string format: date-time description: The date and time the plugin finished running. status: type: string description: Status of the Execution example: Pending enum: - Pending - InProgress - Delayed - Success - Cancelled - TimedOut - Failed - Cancelling x-cs-enum-type: AwsSsmCommandExecutionStatus status_details: type: string description: Detailed status of the execution command_plugins: type: array description: Plugin details of the command execution items: $ref: '#/components/schemas/AwsSsmCommandPlugin' type: object RecordIdentityBatchRequest: properties: ids: type: array items: $ref: '#/components/schemas/RecordIdentity' type: object RecordIdentity: properties: sysId: type: string description: Unique Identifier of the tracked item lastUpdate: type: string format: date-time description: Last update of the tracked item table: type: string description: Context of the tracked item type: object securitySchemes: auth_token: type: apiKey in: header name: X-Auth-Token