2021/11/15 - Amazon Simple Systems Manager (SSM) - 2 updated api methods
Changes Adds support for Session Reason and Max Session Duration for Systems Manager Session Manager.
{'Sessions': {'MaxSessionDuration': 'string', 'Reason': 'string'}}
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'|'SessionId', '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 Amazon Web Services 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
SessionId: Specify a session ID to return details about the session.
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', 'Reason': 'string', 'Details': 'string', 'OutputUrl': { 'S3OutputUrl': 'string', 'CloudWatchOutputUrl': 'string' }, 'MaxSessionDuration': '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 Amazon Web Services user account that started the session.
Reason (string) --
The reason for connecting to the instance.
Details (string) --
Reserved for future use.
OutputUrl (dict) --
Reserved for future use.
S3OutputUrl (string) --
Reserved for future use.
CloudWatchOutputUrl (string) --
Reserved for future use.
MaxSessionDuration (string) --
The maximum duration of a session before it terminates.
NextToken (string) --
The token for the next set of items to return. (You received this token from a previous call.)
{'Reason': 'string'}
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.
See also: AWS API Documentation
Request Syntax
client.start_session( Target='string', DocumentName='string', Reason='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. You can call the GetDocument API to verify the document exists before attempting to start a session. If no document name is provided, a shell to the instance is launched by default.
string
The reason for connecting to the instance. This value is included in the details for the Amazon CloudWatch Events event created when you start the session.
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://ssmmessages.**region**.amazonaws.com/v1/data-channel/**session-id**?stream=(input|output)
region represents the Region identifier for an Amazon Web Services Region supported by Amazon Web Services 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 Systems Manager service endpoints in the Amazon Web Services General Reference.
session-id represents the ID of a Session Manager session, such as 1a2b3c4dEXAMPLE.