2018/09/11 - Amazon Simple Systems Manager (SSM) - 5 new 5 updated api methods
Changes Session Manager is a fully managed AWS Systems Manager capability that provides interactive one-click access to Amazon EC2 Linux and Windows instances.
Reconnects a session to an instance after it has been disconnected. Connections can be resumed for disconnected sessions, but not terminated sessions.
Note
This command is primarily for use by client machines to automatically reconnect during intermittent network issues. It is not intended for any other use.
See also: AWS API Documentation
Request Syntax
client.resume_session( SessionId='string' )
string
[REQUIRED]
The ID of the disconnected session to resume.
dict
Response Syntax
{ 'SessionId': 'string', 'TokenValue': 'string', 'StreamUrl': 'string' }
Response Structure
(dict) --
SessionId (string) --
The ID of the session.
TokenValue (string) --
An encrypted token value containing session and caller information. Used to authenticate the connection to the instance.
StreamUrl (string) --
A URL back to SSM Agent on the instance that the Session Manager client uses to send commands and receive output from the instance. Format: wss://ssm-messages.**region** .amazonaws.com/v1/data-channel/**session-id** ?stream=(input|output) .
region represents the Region identifier for an AWS Region supported by AWS Systems Manager, such as us-east-2 for the US East (Ohio) Region. For a list of supported region values, see the Region column in the AWS Systems Manager table of regions and endpoints in the AWS General Reference .
session-id represents the ID of a Session Manager session, such as 1a2b3c4dEXAMPLE .
Permanently ends a session and closes the data connection between the Session Manager client and SSM Agent on the instance. A terminated session cannot be resumed.
See also: AWS API Documentation
Request Syntax
client.terminate_session( SessionId='string' )
string
[REQUIRED]
The ID of the session to terminate.
dict
Response Syntax
{ 'SessionId': 'string' }
Response Structure
(dict) --
SessionId (string) --
The ID of the session that has been terminated.
Retrieves a list of all active sessions (both connected and disconnected) or terminated sessions from the past 30 days.
See also: AWS API Documentation
Request Syntax
client.describe_sessions( State='Active'|'History', MaxResults=123, NextToken='string', Filters=[ { 'key': 'InvokedAfter'|'InvokedBefore'|'Target'|'Owner'|'Status', 'value': 'string' }, ] )
string
[REQUIRED]
The session status to retrieve a list of sessions for. For example, "active".
integer
The maximum number of items to return for this call. The call also returns a token that you can specify in a subsequent call to get the next set of results.
string
The token for the next set of items to return. (You received this token from a previous call.)
list
One or more filters to limit the type of sessions returned by the request.
(dict) --
Describes a filter for Session Manager information.
key (string) -- [REQUIRED]
The name of the filter.
value (string) -- [REQUIRED]
The filter value. Valid values for each filter key are as follows:
InvokedAfter: Specify a timestamp to limit your results. For example, specify 2018-08-29T00:00:00Z to see sessions that started August 29, 2018, and later.
InvokedBefore: Specify a timestamp to limit your results. For example, specify 2018-08-29T00:00:00Z to see sessions that started before August 29, 2018.
Target: Specify an instance to which session connections have been made.
Owner: Specify an AWS user account to see a list of sessions started by that user.
Status: Specify a valid session status to see a list of all sessions with that status. Status values you can specify include:
Connected
Connecting
Disconnected
Terminated
Terminating
Failed
dict
Response Syntax
{ 'Sessions': [ { 'SessionId': 'string', 'Target': 'string', 'Status': 'Connected'|'Connecting'|'Disconnected'|'Terminated'|'Terminating'|'Failed', 'StartDate': datetime(2015, 1, 1), 'EndDate': datetime(2015, 1, 1), 'DocumentName': 'string', 'Owner': 'string', 'Details': 'string', 'OutputUrl': { 'S3OutputUrl': 'string', 'CloudWatchOutputUrl': 'string' } }, ], 'NextToken': 'string' }
Response Structure
(dict) --
Sessions (list) --
A list of sessions meeting the request parameters.
(dict) --
Information about a Session Manager connection to an instance.
SessionId (string) --
The ID of the session.
Target (string) --
The instance that the Session Manager session connected to.
Status (string) --
The status of the session. For example, "Connected" or "Terminated".
StartDate (datetime) --
The date and time, in ISO-8601 Extended format, when the session began.
EndDate (datetime) --
The date and time, in ISO-8601 Extended format, when the session was terminated.
DocumentName (string) --
The name of the Session Manager SSM document used to define the parameters and plugin settings for the session. For example, SSM-SessionManagerRunShell .
Owner (string) --
The ID of the AWS user account that started the session.
Details (string) --
Reserved for future use.
OutputUrl (dict) --
Reserved for future use.
S3OutputUrl (string) --
Reserved for future use.
CloudWatchOutputUrl (string) --
Reserved for future use.
NextToken (string) --
The token for the next set of items to return. (You received this token from a previous call.)
Retrieves the Session Manager connection status for an instance to determine whether it is connected and ready to receive Session Manager connections.
See also: AWS API Documentation
Request Syntax
client.get_connection_status( Target='string' )
string
[REQUIRED]
The ID of the instance.
dict
Response Syntax
{ 'Target': 'string', 'Status': 'Connected'|'NotConnected' }
Response Structure
(dict) --
Target (string) --
The ID of the instance to check connection status.
Status (string) --
The status of the connection to the instance. For example, 'Connected' or 'Not Connected'.
Initiates a connection to a target (for example, an instance) for a Session Manager session. Returns a URL and token that can be used to open a WebSocket connection for sending input and receiving outputs.
Note
AWS CLI usage: start-session is an interactive command that requires the Session Manager plugin to be installed on the client machine making the call. For information, see Install the Session Manager Plugin for the AWS CLI in the AWS Systems Manager User Guide .
See also: AWS API Documentation
Request Syntax
client.start_session( Target='string', DocumentName='string', Parameters={ 'string': [ 'string', ] } )
string
[REQUIRED]
The instance to connect to for the session.
string
The name of the SSM document to define the parameters and plugin settings for the session. For example, SSM-SessionManagerRunShell . If no document name is provided, a shell to the instance is launched by default.
dict
Reserved for future use.
(string) --
(list) --
(string) --
dict
Response Syntax
{ 'SessionId': 'string', 'TokenValue': 'string', 'StreamUrl': 'string' }
Response Structure
(dict) --
SessionId (string) --
The ID of the session.
TokenValue (string) --
An encrypted token value containing session and caller information. Used to authenticate the connection to the instance.
StreamUrl (string) --
A URL back to SSM Agent on the instance that the Session Manager client uses to send commands and receive output from the instance. Format: wss://ssm-messages.**region** .amazonaws.com/v1/data-channel/**session-id** ?stream=(input|output)
region represents the Region identifier for an AWS Region supported by AWS Systems Manager, such as us-east-2 for the US East (Ohio) Region. For a list of supported region values, see the Region column in the AWS Systems Manager table of regions and endpoints in the AWS General Reference .
session-id represents the ID of a Session Manager session, such as 1a2b3c4dEXAMPLE .
{'DocumentType': ['Session']}Response
{'DocumentDescription': {'DocumentType': ['Session']}}
Creates a Systems Manager document.
After you create a document, you can use CreateAssociation to associate it with one or more running instances.
See also: AWS API Documentation
Request Syntax
client.create_document( Content='string', Name='string', DocumentType='Command'|'Policy'|'Automation'|'Session', DocumentFormat='YAML'|'JSON', TargetType='string' )
string
[REQUIRED]
A valid JSON or YAML string.
string
[REQUIRED]
A name for the Systems Manager document.
Warning
Do not use the following to begin the names of documents you create. They are reserved by AWS for use as document prefixes:
aws
amazon
amzn
string
The type of document to create. Valid document types include: Policy, Automation, and Command.
string
Specify the document format for the request. The document format can be either JSON or YAML. JSON is the default format.
string
Specify a target type to define the kinds of resources the document can run on. For example, to run a document on EC2 instances, specify the following value: /AWS::EC2::Instance. If you specify a value of '/' the document can run on all types of resources. If you don't specify a value, the document can't run on any resources. For a list of valid resource types, see AWS Resource Types Reference in the AWS CloudFormation User Guide .
dict
Response Syntax
{ 'DocumentDescription': { 'Sha1': 'string', 'Hash': 'string', 'HashType': 'Sha256'|'Sha1', 'Name': 'string', 'Owner': 'string', 'CreatedDate': datetime(2015, 1, 1), 'Status': 'Creating'|'Active'|'Updating'|'Deleting', 'DocumentVersion': 'string', 'Description': 'string', 'Parameters': [ { 'Name': 'string', 'Type': 'String'|'StringList', 'Description': 'string', 'DefaultValue': 'string' }, ], 'PlatformTypes': [ 'Windows'|'Linux', ], 'DocumentType': 'Command'|'Policy'|'Automation'|'Session', 'SchemaVersion': 'string', 'LatestVersion': 'string', 'DefaultVersion': 'string', 'DocumentFormat': 'YAML'|'JSON', 'TargetType': 'string', 'Tags': [ { 'Key': 'string', 'Value': 'string' }, ] } }
Response Structure
(dict) --
DocumentDescription (dict) --
Information about the Systems Manager document.
Sha1 (string) --
The SHA1 hash of the document, which you can use for verification.
Hash (string) --
The Sha256 or Sha1 hash created by the system when the document was created.
Note
Sha1 hashes have been deprecated.
HashType (string) --
Sha256 or Sha1.
Note
Sha1 hashes have been deprecated.
Name (string) --
The name of the Systems Manager document.
Owner (string) --
The AWS user account that created the document.
CreatedDate (datetime) --
The date when the document was created.
Status (string) --
The status of the Systems Manager document.
DocumentVersion (string) --
The document version.
Description (string) --
A description of the document.
Parameters (list) --
A description of the parameters for a document.
(dict) --
Parameters specified in a System Manager document that execute on the server when the command is run.
Name (string) --
The name of the parameter.
Type (string) --
The type of parameter. The type can be either String or StringList.
Description (string) --
A description of what the parameter does, how to use it, the default value, and whether or not the parameter is optional.
DefaultValue (string) --
If specified, the default values for the parameters. Parameters without a default value are required. Parameters with a default value are optional.
PlatformTypes (list) --
The list of OS platforms compatible with this Systems Manager document.
(string) --
DocumentType (string) --
The type of document.
SchemaVersion (string) --
The schema version.
LatestVersion (string) --
The latest version of the document.
DefaultVersion (string) --
The default version.
DocumentFormat (string) --
The document format, either JSON or YAML.
TargetType (string) --
The target type which defines the kinds of resources the document can run on. For example, /AWS::EC2::Instance. For a list of valid resource types, see AWS Resource Types Reference in the AWS CloudFormation User Guide .
Tags (list) --
The tags, or metadata, that have been applied to the document.
(dict) --
Metadata that you assign to your AWS resources. Tags enable you to categorize your resources in different ways, for example, by purpose, owner, or environment. In Systems Manager, you can apply tags to documents, managed instances, Maintenance Windows, Parameter Store parameters, and patch baselines.
Key (string) --
The name of the tag.
Value (string) --
The value of the tag.
{'Document': {'DocumentType': ['Session']}}
Describes the specified Systems Manager document.
See also: AWS API Documentation
Request Syntax
client.describe_document( Name='string', DocumentVersion='string' )
string
[REQUIRED]
The name of the Systems Manager document.
string
The document version for which you want information. Can be a specific version or the default version.
dict
Response Syntax
{ 'Document': { 'Sha1': 'string', 'Hash': 'string', 'HashType': 'Sha256'|'Sha1', 'Name': 'string', 'Owner': 'string', 'CreatedDate': datetime(2015, 1, 1), 'Status': 'Creating'|'Active'|'Updating'|'Deleting', 'DocumentVersion': 'string', 'Description': 'string', 'Parameters': [ { 'Name': 'string', 'Type': 'String'|'StringList', 'Description': 'string', 'DefaultValue': 'string' }, ], 'PlatformTypes': [ 'Windows'|'Linux', ], 'DocumentType': 'Command'|'Policy'|'Automation'|'Session', 'SchemaVersion': 'string', 'LatestVersion': 'string', 'DefaultVersion': 'string', 'DocumentFormat': 'YAML'|'JSON', 'TargetType': 'string', 'Tags': [ { 'Key': 'string', 'Value': 'string' }, ] } }
Response Structure
(dict) --
Document (dict) --
Information about the Systems Manager document.
Sha1 (string) --
The SHA1 hash of the document, which you can use for verification.
Hash (string) --
The Sha256 or Sha1 hash created by the system when the document was created.
Note
Sha1 hashes have been deprecated.
HashType (string) --
Sha256 or Sha1.
Note
Sha1 hashes have been deprecated.
Name (string) --
The name of the Systems Manager document.
Owner (string) --
The AWS user account that created the document.
CreatedDate (datetime) --
The date when the document was created.
Status (string) --
The status of the Systems Manager document.
DocumentVersion (string) --
The document version.
Description (string) --
A description of the document.
Parameters (list) --
A description of the parameters for a document.
(dict) --
Parameters specified in a System Manager document that execute on the server when the command is run.
Name (string) --
The name of the parameter.
Type (string) --
The type of parameter. The type can be either String or StringList.
Description (string) --
A description of what the parameter does, how to use it, the default value, and whether or not the parameter is optional.
DefaultValue (string) --
If specified, the default values for the parameters. Parameters without a default value are required. Parameters with a default value are optional.
PlatformTypes (list) --
The list of OS platforms compatible with this Systems Manager document.
(string) --
DocumentType (string) --
The type of document.
SchemaVersion (string) --
The schema version.
LatestVersion (string) --
The latest version of the document.
DefaultVersion (string) --
The default version.
DocumentFormat (string) --
The document format, either JSON or YAML.
TargetType (string) --
The target type which defines the kinds of resources the document can run on. For example, /AWS::EC2::Instance. For a list of valid resource types, see AWS Resource Types Reference in the AWS CloudFormation User Guide .
Tags (list) --
The tags, or metadata, that have been applied to the document.
(dict) --
Metadata that you assign to your AWS resources. Tags enable you to categorize your resources in different ways, for example, by purpose, owner, or environment. In Systems Manager, you can apply tags to documents, managed instances, Maintenance Windows, Parameter Store parameters, and patch baselines.
Key (string) --
The name of the tag.
Value (string) --
The value of the tag.
{'DocumentType': ['Session']}
Gets the contents of the specified Systems Manager document.
See also: AWS API Documentation
Request Syntax
client.get_document( Name='string', DocumentVersion='string', DocumentFormat='YAML'|'JSON' )
string
[REQUIRED]
The name of the Systems Manager document.
string
The document version for which you want information.
string
Returns the document in the specified format. The document format can be either JSON or YAML. JSON is the default format.
dict
Response Syntax
{ 'Name': 'string', 'DocumentVersion': 'string', 'Content': 'string', 'DocumentType': 'Command'|'Policy'|'Automation'|'Session', 'DocumentFormat': 'YAML'|'JSON' }
Response Structure
(dict) --
Name (string) --
The name of the Systems Manager document.
DocumentVersion (string) --
The document version.
Content (string) --
The contents of the Systems Manager document.
DocumentType (string) --
The document type.
DocumentFormat (string) --
The document format, either JSON or YAML.
{'DocumentIdentifiers': {'DocumentType': ['Session']}}
Describes one or more of your Systems Manager documents.
See also: AWS API Documentation
Request Syntax
client.list_documents( DocumentFilterList=[ { 'key': 'Name'|'Owner'|'PlatformTypes'|'DocumentType', 'value': 'string' }, ], Filters=[ { 'Key': 'string', 'Values': [ 'string', ] }, ], MaxResults=123, NextToken='string' )
list
One or more filters. Use a filter to return a more specific list of results.
(dict) --
Describes a filter.
key (string) -- [REQUIRED]
The name of the filter.
value (string) -- [REQUIRED]
The value of the filter.
list
One or more filters. Use a filter to return a more specific list of results.
(dict) --
One or more filters. Use a filter to return a more specific list of documents.
For keys, you can specify one or more tags that have been applied to a document.
Other valid values include Owner, Name, PlatformTypes, and DocumentType.
Note that only one Owner can be specified in a request. For example: Key=Owner,Values=Self .
If you use Name as a key, you can use a name prefix to return a list of documents. For example, in the AWS CLI, to return a list of all documents that begin with Te , run the following command:
aws ssm list-documents --filters Key=Name,Values=Te
If you specify more than two keys, only documents that are identified by all the tags are returned in the results. If you specify more than two values for a key, documents that are identified by any of the values are returned in the results.
To specify a custom key and value pair, use the format Key=tag:[tagName],Values=[valueName] .
For example, if you created a Key called region and are using the AWS CLI to call the list-documents command:
aws ssm list-documents --filters Key=tag:region,Values=east,west Key=Owner,Values=Self
Key (string) --
The name of the filter key.
Values (list) --
The value for the filter key.
(string) --
integer
The maximum number of items to return for this call. The call also returns a token that you can specify in a subsequent call to get the next set of results.
string
The token for the next set of items to return. (You received this token from a previous call.)
dict
Response Syntax
{ 'DocumentIdentifiers': [ { 'Name': 'string', 'Owner': 'string', 'PlatformTypes': [ 'Windows'|'Linux', ], 'DocumentVersion': 'string', 'DocumentType': 'Command'|'Policy'|'Automation'|'Session', 'SchemaVersion': 'string', 'DocumentFormat': 'YAML'|'JSON', 'TargetType': 'string', 'Tags': [ { 'Key': 'string', 'Value': 'string' }, ] }, ], 'NextToken': 'string' }
Response Structure
(dict) --
DocumentIdentifiers (list) --
The names of the Systems Manager documents.
(dict) --
Describes the name of a Systems Manager document.
Name (string) --
The name of the Systems Manager document.
Owner (string) --
The AWS user account that created the document.
PlatformTypes (list) --
The operating system platform.
(string) --
DocumentVersion (string) --
The document version.
DocumentType (string) --
The document type.
SchemaVersion (string) --
The schema version.
DocumentFormat (string) --
The document format, either JSON or YAML.
TargetType (string) --
The target type which defines the kinds of resources the document can run on. For example, /AWS::EC2::Instance. For a list of valid resource types, see AWS Resource Types Reference in the AWS CloudFormation User Guide .
Tags (list) --
The tags, or metadata, that have been applied to the document.
(dict) --
Metadata that you assign to your AWS resources. Tags enable you to categorize your resources in different ways, for example, by purpose, owner, or environment. In Systems Manager, you can apply tags to documents, managed instances, Maintenance Windows, Parameter Store parameters, and patch baselines.
Key (string) --
The name of the tag.
Value (string) --
The value of the tag.
NextToken (string) --
The token to use when requesting the next set of items. If there are no additional items to return, the string is empty.
{'DocumentDescription': {'DocumentType': ['Session']}}
The document you want to update.
See also: AWS API Documentation
Request Syntax
client.update_document( Content='string', Name='string', DocumentVersion='string', DocumentFormat='YAML'|'JSON', TargetType='string' )
string
[REQUIRED]
The content in a document that you want to update.
string
[REQUIRED]
The name of the document that you want to update.
string
The version of the document that you want to update.
string
Specify the document format for the new document version. Systems Manager supports JSON and YAML documents. JSON is the default format.
string
Specify a new target type for the document.
dict
Response Syntax
{ 'DocumentDescription': { 'Sha1': 'string', 'Hash': 'string', 'HashType': 'Sha256'|'Sha1', 'Name': 'string', 'Owner': 'string', 'CreatedDate': datetime(2015, 1, 1), 'Status': 'Creating'|'Active'|'Updating'|'Deleting', 'DocumentVersion': 'string', 'Description': 'string', 'Parameters': [ { 'Name': 'string', 'Type': 'String'|'StringList', 'Description': 'string', 'DefaultValue': 'string' }, ], 'PlatformTypes': [ 'Windows'|'Linux', ], 'DocumentType': 'Command'|'Policy'|'Automation'|'Session', 'SchemaVersion': 'string', 'LatestVersion': 'string', 'DefaultVersion': 'string', 'DocumentFormat': 'YAML'|'JSON', 'TargetType': 'string', 'Tags': [ { 'Key': 'string', 'Value': 'string' }, ] } }
Response Structure
(dict) --
DocumentDescription (dict) --
A description of the document that was updated.
Sha1 (string) --
The SHA1 hash of the document, which you can use for verification.
Hash (string) --
The Sha256 or Sha1 hash created by the system when the document was created.
Note
Sha1 hashes have been deprecated.
HashType (string) --
Sha256 or Sha1.
Note
Sha1 hashes have been deprecated.
Name (string) --
The name of the Systems Manager document.
Owner (string) --
The AWS user account that created the document.
CreatedDate (datetime) --
The date when the document was created.
Status (string) --
The status of the Systems Manager document.
DocumentVersion (string) --
The document version.
Description (string) --
A description of the document.
Parameters (list) --
A description of the parameters for a document.
(dict) --
Parameters specified in a System Manager document that execute on the server when the command is run.
Name (string) --
The name of the parameter.
Type (string) --
The type of parameter. The type can be either String or StringList.
Description (string) --
A description of what the parameter does, how to use it, the default value, and whether or not the parameter is optional.
DefaultValue (string) --
If specified, the default values for the parameters. Parameters without a default value are required. Parameters with a default value are optional.
PlatformTypes (list) --
The list of OS platforms compatible with this Systems Manager document.
(string) --
DocumentType (string) --
The type of document.
SchemaVersion (string) --
The schema version.
LatestVersion (string) --
The latest version of the document.
DefaultVersion (string) --
The default version.
DocumentFormat (string) --
The document format, either JSON or YAML.
TargetType (string) --
The target type which defines the kinds of resources the document can run on. For example, /AWS::EC2::Instance. For a list of valid resource types, see AWS Resource Types Reference in the AWS CloudFormation User Guide .
Tags (list) --
The tags, or metadata, that have been applied to the document.
(dict) --
Metadata that you assign to your AWS resources. Tags enable you to categorize your resources in different ways, for example, by purpose, owner, or environment. In Systems Manager, you can apply tags to documents, managed instances, Maintenance Windows, Parameter Store parameters, and patch baselines.
Key (string) --
The name of the tag.
Value (string) --
The value of the tag.