Amazon Simple Systems Manager (SSM)

2021/11/29 - Amazon Simple Systems Manager (SSM) - 5 updated api methods

Changes  Added two new attributes to DescribeInstanceInformation called SourceId and SourceType along with new string filters SourceIds and SourceTypes to filter instance records.

CreateDocument (updated) Link ¶
Changes (response)
{'DocumentDescription': {'PlatformTypes': {'MacOS'}}}

Creates a Amazon Web Services Systems Manager (SSM document). An SSM document defines the actions that Systems Manager performs on your managed nodes. For more information about SSM documents, including information about supported schemas, features, and syntax, see Amazon Web Services Systems Manager Documents in the Amazon Web Services Systems Manager User Guide.

See also: AWS API Documentation

Request Syntax

client.create_document(
    Content='string',
    Requires=[
        {
            'Name': 'string',
            'Version': 'string'
        },
    ],
    Attachments=[
        {
            'Key': 'SourceUrl'|'S3FileUrl'|'AttachmentReference',
            'Values': [
                'string',
            ],
            'Name': 'string'
        },
    ],
    Name='string',
    DisplayName='string',
    VersionName='string',
    DocumentType='Command'|'Policy'|'Automation'|'Session'|'Package'|'ApplicationConfiguration'|'ApplicationConfigurationSchema'|'DeploymentStrategy'|'ChangeCalendar'|'Automation.ChangeTemplate'|'ProblemAnalysis'|'ProblemAnalysisTemplate',
    DocumentFormat='YAML'|'JSON'|'TEXT',
    TargetType='string',
    Tags=[
        {
            'Key': 'string',
            'Value': 'string'
        },
    ]
)
type Content:

string

param Content:

[REQUIRED]

The content for the new SSM document in JSON or YAML format. We recommend storing the contents for your new document in an external JSON or YAML file and referencing the file in a command.

For examples, see the following topics in the Amazon Web Services Systems Manager User Guide.

type Requires:

list

param Requires:

A list of SSM documents required by a document. This parameter is used exclusively by AppConfig. When a user creates an AppConfig configuration in an SSM document, the user must also specify a required document for validation purposes. In this case, an ApplicationConfiguration document requires an ApplicationConfigurationSchema document for validation purposes. For more information, see What is AppConfig? in the AppConfig User Guide.

  • (dict) --

    An SSM document required by the current document.

    • Name (string) -- [REQUIRED]

      The name of the required SSM document. The name can be an Amazon Resource Name (ARN).

    • Version (string) --

      The document version required by the current document.

type Attachments:

list

param Attachments:

A list of key-value pairs that describe attachments to a version of a document.

  • (dict) --

    Identifying information about a document attachment, including the file name and a key-value pair that identifies the location of an attachment to a document.

    • Key (string) --

      The key of a key-value pair that identifies the location of an attachment to a document.

    • Values (list) --

      The value of a key-value pair that identifies the location of an attachment to a document. The format for Value depends on the type of key you specify.

      • For the key SourceUrl, the value is an S3 bucket location. For example: "Values": [ "s3://doc-example-bucket/my-folder" ]

      • For the key S3FileUrl, the value is a file in an S3 bucket. For example: "Values": [ "s3://doc-example-bucket/my-folder/my-file.py" ]

      • For the key AttachmentReference, the value is constructed from the name of another SSM document in your account, a version number of that document, and a file attached to that document version that you want to reuse. For example: "Values": [ "MyOtherDocument/3/my-other-file.py" ] However, if the SSM document is shared with you from another account, the full SSM document ARN must be specified instead of the document name only. For example: "Values": [ "arn:aws:ssm:us-east-2:111122223333:document/OtherAccountDocument/3/their-file.py" ]

      • (string) --

    • Name (string) --

      The name of the document attachment file.

type Name:

string

param Name:

[REQUIRED]

A name for the SSM document.

type DisplayName:

string

param DisplayName:

An optional field where you can specify a friendly name for the SSM document. This value can differ for each version of the document. You can update this value at a later time using the UpdateDocument operation.

type VersionName:

string

param VersionName:

An optional field specifying the version of the artifact you are creating with the document. For example, "Release 12, Update 6". This value is unique across all versions of a document, and can't be changed.

type DocumentType:

string

param DocumentType:

The type of document to create.

type DocumentFormat:

string

param DocumentFormat:

Specify the document format for the request. The document format can be JSON, YAML, or TEXT. JSON is the default format.

type TargetType:

string

param TargetType:

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 Amazon Web Services resource and property types reference in the CloudFormation User Guide.

type Tags:

list

param Tags:

Optional metadata that you assign to a resource. Tags enable you to categorize a resource in different ways, such as by purpose, owner, or environment. For example, you might want to tag an SSM document to identify the types of targets or the environment where it will run. In this case, you could specify the following key-value pairs:

  • Key=OS,Value=Windows

  • Key=Environment,Value=Production

  • (dict) --

    Metadata that you assign to your Amazon Web Services resources. Tags enable you to categorize your resources in different ways, for example, by purpose, owner, or environment. In Amazon Web Services Systems Manager, you can apply tags to Systems Manager documents (SSM documents), managed nodes, maintenance windows, parameters, patch baselines, OpsItems, and OpsMetadata.

    • Key (string) -- [REQUIRED]

      The name of the tag.

    • Value (string) -- [REQUIRED]

      The value of the tag.

rtype:

dict

returns:

Response Syntax

{
    'DocumentDescription': {
        'Sha1': 'string',
        'Hash': 'string',
        'HashType': 'Sha256'|'Sha1',
        'Name': 'string',
        'DisplayName': 'string',
        'VersionName': 'string',
        'Owner': 'string',
        'CreatedDate': datetime(2015, 1, 1),
        'Status': 'Creating'|'Active'|'Updating'|'Deleting'|'Failed',
        'StatusInformation': 'string',
        'DocumentVersion': 'string',
        'Description': 'string',
        'Parameters': [
            {
                'Name': 'string',
                'Type': 'String'|'StringList',
                'Description': 'string',
                'DefaultValue': 'string'
            },
        ],
        'PlatformTypes': [
            'Windows'|'Linux'|'MacOS',
        ],
        'DocumentType': 'Command'|'Policy'|'Automation'|'Session'|'Package'|'ApplicationConfiguration'|'ApplicationConfigurationSchema'|'DeploymentStrategy'|'ChangeCalendar'|'Automation.ChangeTemplate'|'ProblemAnalysis'|'ProblemAnalysisTemplate',
        'SchemaVersion': 'string',
        'LatestVersion': 'string',
        'DefaultVersion': 'string',
        'DocumentFormat': 'YAML'|'JSON'|'TEXT',
        'TargetType': 'string',
        'Tags': [
            {
                'Key': 'string',
                'Value': 'string'
            },
        ],
        'AttachmentsInformation': [
            {
                'Name': 'string'
            },
        ],
        'Requires': [
            {
                'Name': 'string',
                'Version': 'string'
            },
        ],
        'Author': 'string',
        'ReviewInformation': [
            {
                'ReviewedTime': datetime(2015, 1, 1),
                'Status': 'APPROVED'|'NOT_REVIEWED'|'PENDING'|'REJECTED',
                'Reviewer': 'string'
            },
        ],
        'ApprovedVersion': 'string',
        'PendingReviewVersion': 'string',
        'ReviewStatus': 'APPROVED'|'NOT_REVIEWED'|'PENDING'|'REJECTED'
    }
}

Response Structure

  • (dict) --

    • DocumentDescription (dict) --

      Information about the SSM 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.

      • HashType (string) --

        The hash type of the document. Valid values include Sha256 or Sha1.

      • Name (string) --

        The name of the SSM document.

      • DisplayName (string) --

        The friendly name of the SSM document. This value can differ for each version of the document. If you want to update this value, see UpdateDocument.

      • VersionName (string) --

        The version of the artifact associated with the document.

      • Owner (string) --

        The Amazon Web Services user account that created the document.

      • CreatedDate (datetime) --

        The date when the document was created.

      • Status (string) --

        The status of the SSM document.

      • StatusInformation (string) --

        A message returned by Amazon Web Services Systems Manager that explains the Status value. For example, a Failed status might be explained by the StatusInformation message, "The specified S3 bucket doesn't exist. Verify that the URL of the S3 bucket is correct."

      • 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 run 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 SSM 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 Amazon Web Services resource and property types reference in the CloudFormation User Guide.

      • Tags (list) --

        The tags, or metadata, that have been applied to the document.

        • (dict) --

          Metadata that you assign to your Amazon Web Services resources. Tags enable you to categorize your resources in different ways, for example, by purpose, owner, or environment. In Amazon Web Services Systems Manager, you can apply tags to Systems Manager documents (SSM documents), managed nodes, maintenance windows, parameters, patch baselines, OpsItems, and OpsMetadata.

          • Key (string) --

            The name of the tag.

          • Value (string) --

            The value of the tag.

      • AttachmentsInformation (list) --

        Details about the document attachments, including names, locations, sizes, and so on.

        • (dict) --

          An attribute of an attachment, such as the attachment name.

          • Name (string) --

            The name of the attachment.

      • Requires (list) --

        A list of SSM documents required by a document. For example, an ApplicationConfiguration document requires an ApplicationConfigurationSchema document.

        • (dict) --

          An SSM document required by the current document.

          • Name (string) --

            The name of the required SSM document. The name can be an Amazon Resource Name (ARN).

          • Version (string) --

            The document version required by the current document.

      • Author (string) --

        The user in your organization who created the document.

      • ReviewInformation (list) --

        Details about the review of a document.

        • (dict) --

          Information about the result of a document review request.

          • ReviewedTime (datetime) --

            The time that the reviewer took action on the document review request.

          • Status (string) --

            The current status of the document review request.

          • Reviewer (string) --

            The reviewer assigned to take action on the document review request.

      • ApprovedVersion (string) --

        The version of the document currently approved for use in the organization.

      • PendingReviewVersion (string) --

        The version of the document that is currently under review.

      • ReviewStatus (string) --

        The current status of the review.

DescribeDocument (updated) Link ¶
Changes (response)
{'Document': {'PlatformTypes': {'MacOS'}}}

Describes the specified Amazon Web Services Systems Manager document (SSM document).

See also: AWS API Documentation

Request Syntax

client.describe_document(
    Name='string',
    DocumentVersion='string',
    VersionName='string'
)
type Name:

string

param Name:

[REQUIRED]

The name of the SSM document.

type DocumentVersion:

string

param DocumentVersion:

The document version for which you want information. Can be a specific version or the default version.

type VersionName:

string

param VersionName:

An optional field specifying the version of the artifact associated with the document. For example, "Release 12, Update 6". This value is unique across all versions of a document, and can't be changed.

rtype:

dict

returns:

Response Syntax

{
    'Document': {
        'Sha1': 'string',
        'Hash': 'string',
        'HashType': 'Sha256'|'Sha1',
        'Name': 'string',
        'DisplayName': 'string',
        'VersionName': 'string',
        'Owner': 'string',
        'CreatedDate': datetime(2015, 1, 1),
        'Status': 'Creating'|'Active'|'Updating'|'Deleting'|'Failed',
        'StatusInformation': 'string',
        'DocumentVersion': 'string',
        'Description': 'string',
        'Parameters': [
            {
                'Name': 'string',
                'Type': 'String'|'StringList',
                'Description': 'string',
                'DefaultValue': 'string'
            },
        ],
        'PlatformTypes': [
            'Windows'|'Linux'|'MacOS',
        ],
        'DocumentType': 'Command'|'Policy'|'Automation'|'Session'|'Package'|'ApplicationConfiguration'|'ApplicationConfigurationSchema'|'DeploymentStrategy'|'ChangeCalendar'|'Automation.ChangeTemplate'|'ProblemAnalysis'|'ProblemAnalysisTemplate',
        'SchemaVersion': 'string',
        'LatestVersion': 'string',
        'DefaultVersion': 'string',
        'DocumentFormat': 'YAML'|'JSON'|'TEXT',
        'TargetType': 'string',
        'Tags': [
            {
                'Key': 'string',
                'Value': 'string'
            },
        ],
        'AttachmentsInformation': [
            {
                'Name': 'string'
            },
        ],
        'Requires': [
            {
                'Name': 'string',
                'Version': 'string'
            },
        ],
        'Author': 'string',
        'ReviewInformation': [
            {
                'ReviewedTime': datetime(2015, 1, 1),
                'Status': 'APPROVED'|'NOT_REVIEWED'|'PENDING'|'REJECTED',
                'Reviewer': 'string'
            },
        ],
        'ApprovedVersion': 'string',
        'PendingReviewVersion': 'string',
        'ReviewStatus': 'APPROVED'|'NOT_REVIEWED'|'PENDING'|'REJECTED'
    }
}

Response Structure

  • (dict) --

    • Document (dict) --

      Information about the SSM 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.

      • HashType (string) --

        The hash type of the document. Valid values include Sha256 or Sha1.

      • Name (string) --

        The name of the SSM document.

      • DisplayName (string) --

        The friendly name of the SSM document. This value can differ for each version of the document. If you want to update this value, see UpdateDocument.

      • VersionName (string) --

        The version of the artifact associated with the document.

      • Owner (string) --

        The Amazon Web Services user account that created the document.

      • CreatedDate (datetime) --

        The date when the document was created.

      • Status (string) --

        The status of the SSM document.

      • StatusInformation (string) --

        A message returned by Amazon Web Services Systems Manager that explains the Status value. For example, a Failed status might be explained by the StatusInformation message, "The specified S3 bucket doesn't exist. Verify that the URL of the S3 bucket is correct."

      • 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 run 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 SSM 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 Amazon Web Services resource and property types reference in the CloudFormation User Guide.

      • Tags (list) --

        The tags, or metadata, that have been applied to the document.

        • (dict) --

          Metadata that you assign to your Amazon Web Services resources. Tags enable you to categorize your resources in different ways, for example, by purpose, owner, or environment. In Amazon Web Services Systems Manager, you can apply tags to Systems Manager documents (SSM documents), managed nodes, maintenance windows, parameters, patch baselines, OpsItems, and OpsMetadata.

          • Key (string) --

            The name of the tag.

          • Value (string) --

            The value of the tag.

      • AttachmentsInformation (list) --

        Details about the document attachments, including names, locations, sizes, and so on.

        • (dict) --

          An attribute of an attachment, such as the attachment name.

          • Name (string) --

            The name of the attachment.

      • Requires (list) --

        A list of SSM documents required by a document. For example, an ApplicationConfiguration document requires an ApplicationConfigurationSchema document.

        • (dict) --

          An SSM document required by the current document.

          • Name (string) --

            The name of the required SSM document. The name can be an Amazon Resource Name (ARN).

          • Version (string) --

            The document version required by the current document.

      • Author (string) --

        The user in your organization who created the document.

      • ReviewInformation (list) --

        Details about the review of a document.

        • (dict) --

          Information about the result of a document review request.

          • ReviewedTime (datetime) --

            The time that the reviewer took action on the document review request.

          • Status (string) --

            The current status of the document review request.

          • Reviewer (string) --

            The reviewer assigned to take action on the document review request.

      • ApprovedVersion (string) --

        The version of the document currently approved for use in the organization.

      • PendingReviewVersion (string) --

        The version of the document that is currently under review.

      • ReviewStatus (string) --

        The current status of the review.

DescribeInstanceInformation (updated) Link ¶
Changes (response)
{'InstanceInformationList': {'PlatformType': {'MacOS'},
                             'SourceId': 'string',
                             'SourceType': 'AWS::EC2::Instance | '
                                           'AWS::IoT::Thing | '
                                           'AWS::SSM::ManagedInstance'}}

Describes one or more of your managed nodes, including information about the operating system platform, the version of SSM Agent installed on the managed node, node status, and so on.

If you specify one or more managed node IDs, it returns information for those managed nodes. If you don't specify node IDs, it returns information for all your managed nodes. If you specify a node ID that isn't valid or a node that you don't own, you receive an error.

See also: AWS API Documentation

Request Syntax

client.describe_instance_information(
    InstanceInformationFilterList=[
        {
            'key': 'InstanceIds'|'AgentVersion'|'PingStatus'|'PlatformTypes'|'ActivationIds'|'IamRole'|'ResourceType'|'AssociationStatus',
            'valueSet': [
                'string',
            ]
        },
    ],
    Filters=[
        {
            'Key': 'string',
            'Values': [
                'string',
            ]
        },
    ],
    MaxResults=123,
    NextToken='string'
)
type InstanceInformationFilterList:

list

param InstanceInformationFilterList:

This is a legacy method. We recommend that you don't use this method. Instead, use the Filters data type. Filters enables you to return node information by filtering based on tags applied to managed nodes.

  • (dict) --

    Describes a filter for a specific list of managed nodes. You can filter node information by using tags. You specify tags by using a key-value mapping.

    Use this operation instead of the DescribeInstanceInformationRequest$InstanceInformationFilterList method. The InstanceInformationFilterList method is a legacy method and doesn't support tags.

    • key (string) -- [REQUIRED]

      The name of the filter.

    • valueSet (list) -- [REQUIRED]

      The filter values.

      • (string) --

type Filters:

list

param Filters:

One or more filters. Use a filter to return a more specific list of managed nodes. You can filter based on tags applied to EC2 instances. Use this Filters data type instead of InstanceInformationFilterList, which is deprecated.

  • (dict) --

    The filters to describe or get information about your managed nodes.

    • Key (string) -- [REQUIRED]

      The filter key name to describe your managed nodes. For example:

      "InstanceIds"|"AgentVersion"|"PingStatus"|"PlatformTypes"|"ActivationIds"|"IamRole"|"ResourceType"|"AssociationStatus"|"Tag Key"

    • Values (list) -- [REQUIRED]

      The filter values.

      • (string) --

type MaxResults:

integer

param MaxResults:

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.

type NextToken:

string

param NextToken:

The token for the next set of items to return. (You received this token from a previous call.)

rtype:

dict

returns:

Response Syntax

{
    'InstanceInformationList': [
        {
            'InstanceId': 'string',
            'PingStatus': 'Online'|'ConnectionLost'|'Inactive',
            'LastPingDateTime': datetime(2015, 1, 1),
            'AgentVersion': 'string',
            'IsLatestVersion': True|False,
            'PlatformType': 'Windows'|'Linux'|'MacOS',
            'PlatformName': 'string',
            'PlatformVersion': 'string',
            'ActivationId': 'string',
            'IamRole': 'string',
            'RegistrationDate': datetime(2015, 1, 1),
            'ResourceType': 'ManagedInstance'|'Document'|'EC2Instance',
            'Name': 'string',
            'IPAddress': 'string',
            'ComputerName': 'string',
            'AssociationStatus': 'string',
            'LastAssociationExecutionDate': datetime(2015, 1, 1),
            'LastSuccessfulAssociationExecutionDate': datetime(2015, 1, 1),
            'AssociationOverview': {
                'DetailedStatus': 'string',
                'InstanceAssociationStatusAggregatedCount': {
                    'string': 123
                }
            },
            'SourceId': 'string',
            'SourceType': 'AWS::EC2::Instance'|'AWS::IoT::Thing'|'AWS::SSM::ManagedInstance'
        },
    ],
    'NextToken': 'string'
}

Response Structure

  • (dict) --

    • InstanceInformationList (list) --

      The managed node information list.

      • (dict) --

        Describes a filter for a specific list of managed nodes.

        • InstanceId (string) --

          The managed node ID.

        • PingStatus (string) --

          Connection status of SSM Agent.

        • LastPingDateTime (datetime) --

          The date and time when the agent last pinged the Systems Manager service.

        • AgentVersion (string) --

          The version of SSM Agent running on your Linux managed node.

        • IsLatestVersion (boolean) --

          Indicates whether the latest version of SSM Agent is running on your Linux managed node. This field doesn't indicate whether or not the latest version is installed on Windows managed nodes, because some older versions of Windows Server use the EC2Config service to process Systems Manager requests.

        • PlatformType (string) --

          The operating system platform type.

        • PlatformName (string) --

          The name of the operating system platform running on your managed node.

        • PlatformVersion (string) --

          The version of the OS platform running on your managed node.

        • ActivationId (string) --

          The activation ID created by Amazon Web Services Systems Manager when the server or virtual machine (VM) was registered.

        • IamRole (string) --

          The Identity and Access Management (IAM) role assigned to the on-premises Systems Manager managed node. This call doesn't return the IAM role for Amazon Elastic Compute Cloud (Amazon EC2) instances. To retrieve the IAM role for an EC2 instance, use the Amazon EC2 DescribeInstances operation. For information, see DescribeInstances in the Amazon EC2 API Reference or describe-instances in the Amazon Web Services CLI Command Reference.

        • RegistrationDate (datetime) --

          The date the server or VM was registered with Amazon Web Services as a managed node.

        • ResourceType (string) --

          The type of instance. Instances are either EC2 instances or managed instances.

        • Name (string) --

          The name assigned to an on-premises server, edge device, or virtual machine (VM) when it is activated as a Systems Manager managed node. The name is specified as the DefaultInstanceName property using the CreateActivation command. It is applied to the managed node by specifying the Activation Code and Activation ID when you install SSM Agent on the node, as explained in Install SSM Agent for a hybrid environment (Linux) and Install SSM Agent for a hybrid environment (Windows). To retrieve the Name tag of an EC2 instance, use the Amazon EC2 DescribeInstances operation. For information, see DescribeInstances in the Amazon EC2 API Reference or describe-instances in the Amazon Web Services CLI Command Reference.

        • IPAddress (string) --

          The IP address of the managed node.

        • ComputerName (string) --

          The fully qualified host name of the managed node.

        • AssociationStatus (string) --

          The status of the association.

        • LastAssociationExecutionDate (datetime) --

          The date the association was last run.

        • LastSuccessfulAssociationExecutionDate (datetime) --

          The last date the association was successfully run.

        • AssociationOverview (dict) --

          Information about the association.

          • DetailedStatus (string) --

            Detailed status information about the aggregated associations.

          • InstanceAssociationStatusAggregatedCount (dict) --

            The number of associations for the managed node(s).

            • (string) --

              • (integer) --

        • SourceId (string) --

          The ID of the source resource. For IoT Greengrass devices, SourceId is the Thing name.

        • SourceType (string) --

          The type of the source resource. For IoT Greengrass devices, SourceType is AWS::IoT::Thing.

    • 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.

ListDocuments (updated) Link ¶
Changes (response)
{'DocumentIdentifiers': {'PlatformTypes': {'MacOS'}}}

Returns all Systems Manager (SSM) documents in the current Amazon Web Services account and Amazon Web Services Region. You can limit the results of this request by using a filter.

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'
)
type DocumentFilterList:

list

param DocumentFilterList:

This data type is deprecated. Instead, use Filters.

  • (dict) --

    This data type is deprecated. Instead, use DocumentKeyValuesFilter.

    • key (string) -- [REQUIRED]

      The name of the filter.

    • value (string) -- [REQUIRED]

      The value of the filter.

type Filters:

list

param Filters:

One or more DocumentKeyValuesFilter objects. Use a filter to return a more specific list of results. For keys, you can specify one or more key-value pair tags that have been applied to a document. Other valid keys include Owner, Name, PlatformTypes, DocumentType, and TargetType. For example, to return documents you own use Key=Owner,Values=Self. To specify a custom key-value pair, use the format Key=tag:tagName,Values=valueName.

  • (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.

    You can also use Amazon Web Services-provided keys, some of which have specific allowed values. These keys and their associated values are as follows:

    DocumentType

    • ApplicationConfiguration

    • ApplicationConfigurationSchema

    • Automation

    • ChangeCalendar

    • Command

    • DeploymentStrategy

    • Package

    • Policy

    • Session

      Owner

    Note that only one Owner can be specified in a request. For example: Key=Owner,Values=Self.

    • Amazon

    • Private

    • Public

    • Self

    • ThirdParty

      PlatformTypes

    • Linux

    • Windows

    Name is another Amazon Web Services-provided key. If you use Name as a key, you can use a name prefix to return a list of documents. For example, in the Amazon Web Services 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

    You can also use the TargetType Amazon Web Services-provided key. For a list of valid resource type values that can be used with this key, see Amazon Web Services resource and property types reference in the CloudFormation User Guide.

    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-value pair, use the format Key=tag:tagName,Values=valueName.

    For example, if you created a key called region and are using the Amazon Web Services 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) --

type MaxResults:

integer

param MaxResults:

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.

type NextToken:

string

param NextToken:

The token for the next set of items to return. (You received this token from a previous call.)

rtype:

dict

returns:

Response Syntax

{
    'DocumentIdentifiers': [
        {
            'Name': 'string',
            'CreatedDate': datetime(2015, 1, 1),
            'DisplayName': 'string',
            'Owner': 'string',
            'VersionName': 'string',
            'PlatformTypes': [
                'Windows'|'Linux'|'MacOS',
            ],
            'DocumentVersion': 'string',
            'DocumentType': 'Command'|'Policy'|'Automation'|'Session'|'Package'|'ApplicationConfiguration'|'ApplicationConfigurationSchema'|'DeploymentStrategy'|'ChangeCalendar'|'Automation.ChangeTemplate'|'ProblemAnalysis'|'ProblemAnalysisTemplate',
            'SchemaVersion': 'string',
            'DocumentFormat': 'YAML'|'JSON'|'TEXT',
            'TargetType': 'string',
            'Tags': [
                {
                    'Key': 'string',
                    'Value': 'string'
                },
            ],
            'Requires': [
                {
                    'Name': 'string',
                    'Version': 'string'
                },
            ],
            'ReviewStatus': 'APPROVED'|'NOT_REVIEWED'|'PENDING'|'REJECTED',
            'Author': 'string'
        },
    ],
    'NextToken': 'string'
}

Response Structure

  • (dict) --

    • DocumentIdentifiers (list) --

      The names of the SSM documents.

      • (dict) --

        Describes the name of a SSM document.

        • Name (string) --

          The name of the SSM document.

        • CreatedDate (datetime) --

          The date the SSM document was created.

        • DisplayName (string) --

          An optional field where you can specify a friendly name for the SSM document. This value can differ for each version of the document. If you want to update this value, see UpdateDocument.

        • Owner (string) --

          The Amazon Web Services user account that created the document.

        • VersionName (string) --

          An optional field specifying the version of the artifact associated with the document. For example, "Release 12, Update 6". This value is unique across all versions of a document, and can't be changed.

        • 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 Amazon Web Services resource and property types reference in the CloudFormation User Guide.

        • Tags (list) --

          The tags, or metadata, that have been applied to the document.

          • (dict) --

            Metadata that you assign to your Amazon Web Services resources. Tags enable you to categorize your resources in different ways, for example, by purpose, owner, or environment. In Amazon Web Services Systems Manager, you can apply tags to Systems Manager documents (SSM documents), managed nodes, maintenance windows, parameters, patch baselines, OpsItems, and OpsMetadata.

            • Key (string) --

              The name of the tag.

            • Value (string) --

              The value of the tag.

        • Requires (list) --

          A list of SSM documents required by a document. For example, an ApplicationConfiguration document requires an ApplicationConfigurationSchema document.

          • (dict) --

            An SSM document required by the current document.

            • Name (string) --

              The name of the required SSM document. The name can be an Amazon Resource Name (ARN).

            • Version (string) --

              The document version required by the current document.

        • ReviewStatus (string) --

          The current status of a document review.

        • Author (string) --

          The user in your organization who created the document.

    • 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.

UpdateDocument (updated) Link ¶
Changes (response)
{'DocumentDescription': {'PlatformTypes': {'MacOS'}}}

Updates one or more values for an SSM document.

See also: AWS API Documentation

Request Syntax

client.update_document(
    Content='string',
    Attachments=[
        {
            'Key': 'SourceUrl'|'S3FileUrl'|'AttachmentReference',
            'Values': [
                'string',
            ],
            'Name': 'string'
        },
    ],
    Name='string',
    DisplayName='string',
    VersionName='string',
    DocumentVersion='string',
    DocumentFormat='YAML'|'JSON'|'TEXT',
    TargetType='string'
)
type Content:

string

param Content:

[REQUIRED]

A valid JSON or YAML string.

type Attachments:

list

param Attachments:

A list of key-value pairs that describe attachments to a version of a document.

  • (dict) --

    Identifying information about a document attachment, including the file name and a key-value pair that identifies the location of an attachment to a document.

    • Key (string) --

      The key of a key-value pair that identifies the location of an attachment to a document.

    • Values (list) --

      The value of a key-value pair that identifies the location of an attachment to a document. The format for Value depends on the type of key you specify.

      • For the key SourceUrl, the value is an S3 bucket location. For example: "Values": [ "s3://doc-example-bucket/my-folder" ]

      • For the key S3FileUrl, the value is a file in an S3 bucket. For example: "Values": [ "s3://doc-example-bucket/my-folder/my-file.py" ]

      • For the key AttachmentReference, the value is constructed from the name of another SSM document in your account, a version number of that document, and a file attached to that document version that you want to reuse. For example: "Values": [ "MyOtherDocument/3/my-other-file.py" ] However, if the SSM document is shared with you from another account, the full SSM document ARN must be specified instead of the document name only. For example: "Values": [ "arn:aws:ssm:us-east-2:111122223333:document/OtherAccountDocument/3/their-file.py" ]

      • (string) --

    • Name (string) --

      The name of the document attachment file.

type Name:

string

param Name:

[REQUIRED]

The name of the SSM document that you want to update.

type DisplayName:

string

param DisplayName:

The friendly name of the SSM document that you want to update. This value can differ for each version of the document. If you don't specify a value for this parameter in your request, the existing value is applied to the new document version.

type VersionName:

string

param VersionName:

An optional field specifying the version of the artifact you are updating with the document. For example, "Release 12, Update 6". This value is unique across all versions of a document, and can't be changed.

type DocumentVersion:

string

param DocumentVersion:

The version of the document that you want to update. Currently, Systems Manager supports updating only the latest version of the document. You can specify the version number of the latest version or use the $LATEST variable.

type DocumentFormat:

string

param DocumentFormat:

Specify the document format for the new document version. Systems Manager supports JSON and YAML documents. JSON is the default format.

type TargetType:

string

param TargetType:

Specify a new target type for the document.

rtype:

dict

returns:

Response Syntax

{
    'DocumentDescription': {
        'Sha1': 'string',
        'Hash': 'string',
        'HashType': 'Sha256'|'Sha1',
        'Name': 'string',
        'DisplayName': 'string',
        'VersionName': 'string',
        'Owner': 'string',
        'CreatedDate': datetime(2015, 1, 1),
        'Status': 'Creating'|'Active'|'Updating'|'Deleting'|'Failed',
        'StatusInformation': 'string',
        'DocumentVersion': 'string',
        'Description': 'string',
        'Parameters': [
            {
                'Name': 'string',
                'Type': 'String'|'StringList',
                'Description': 'string',
                'DefaultValue': 'string'
            },
        ],
        'PlatformTypes': [
            'Windows'|'Linux'|'MacOS',
        ],
        'DocumentType': 'Command'|'Policy'|'Automation'|'Session'|'Package'|'ApplicationConfiguration'|'ApplicationConfigurationSchema'|'DeploymentStrategy'|'ChangeCalendar'|'Automation.ChangeTemplate'|'ProblemAnalysis'|'ProblemAnalysisTemplate',
        'SchemaVersion': 'string',
        'LatestVersion': 'string',
        'DefaultVersion': 'string',
        'DocumentFormat': 'YAML'|'JSON'|'TEXT',
        'TargetType': 'string',
        'Tags': [
            {
                'Key': 'string',
                'Value': 'string'
            },
        ],
        'AttachmentsInformation': [
            {
                'Name': 'string'
            },
        ],
        'Requires': [
            {
                'Name': 'string',
                'Version': 'string'
            },
        ],
        'Author': 'string',
        'ReviewInformation': [
            {
                'ReviewedTime': datetime(2015, 1, 1),
                'Status': 'APPROVED'|'NOT_REVIEWED'|'PENDING'|'REJECTED',
                'Reviewer': 'string'
            },
        ],
        'ApprovedVersion': 'string',
        'PendingReviewVersion': 'string',
        'ReviewStatus': 'APPROVED'|'NOT_REVIEWED'|'PENDING'|'REJECTED'
    }
}

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.

      • HashType (string) --

        The hash type of the document. Valid values include Sha256 or Sha1.

      • Name (string) --

        The name of the SSM document.

      • DisplayName (string) --

        The friendly name of the SSM document. This value can differ for each version of the document. If you want to update this value, see UpdateDocument.

      • VersionName (string) --

        The version of the artifact associated with the document.

      • Owner (string) --

        The Amazon Web Services user account that created the document.

      • CreatedDate (datetime) --

        The date when the document was created.

      • Status (string) --

        The status of the SSM document.

      • StatusInformation (string) --

        A message returned by Amazon Web Services Systems Manager that explains the Status value. For example, a Failed status might be explained by the StatusInformation message, "The specified S3 bucket doesn't exist. Verify that the URL of the S3 bucket is correct."

      • 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 run 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 SSM 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 Amazon Web Services resource and property types reference in the CloudFormation User Guide.

      • Tags (list) --

        The tags, or metadata, that have been applied to the document.

        • (dict) --

          Metadata that you assign to your Amazon Web Services resources. Tags enable you to categorize your resources in different ways, for example, by purpose, owner, or environment. In Amazon Web Services Systems Manager, you can apply tags to Systems Manager documents (SSM documents), managed nodes, maintenance windows, parameters, patch baselines, OpsItems, and OpsMetadata.

          • Key (string) --

            The name of the tag.

          • Value (string) --

            The value of the tag.

      • AttachmentsInformation (list) --

        Details about the document attachments, including names, locations, sizes, and so on.

        • (dict) --

          An attribute of an attachment, such as the attachment name.

          • Name (string) --

            The name of the attachment.

      • Requires (list) --

        A list of SSM documents required by a document. For example, an ApplicationConfiguration document requires an ApplicationConfigurationSchema document.

        • (dict) --

          An SSM document required by the current document.

          • Name (string) --

            The name of the required SSM document. The name can be an Amazon Resource Name (ARN).

          • Version (string) --

            The document version required by the current document.

      • Author (string) --

        The user in your organization who created the document.

      • ReviewInformation (list) --

        Details about the review of a document.

        • (dict) --

          Information about the result of a document review request.

          • ReviewedTime (datetime) --

            The time that the reviewer took action on the document review request.

          • Status (string) --

            The current status of the document review request.

          • Reviewer (string) --

            The reviewer assigned to take action on the document review request.

      • ApprovedVersion (string) --

        The version of the document currently approved for use in the organization.

      • PendingReviewVersion (string) --

        The version of the document that is currently under review.

      • ReviewStatus (string) --

        The current status of the review.