[ aws . ssm ]



Retrieves the high-level patch state for the instances in the specified patch group.

See also: AWS API Documentation

See ‘aws help’ for descriptions of global parameters.

describe-instance-patch-states-for-patch-group is a paginated operation. Multiple API calls may be issued in order to retrieve the entire data set of results. You can disable pagination by providing the --no-paginate argument. When using --output text and the --query argument on a paginated response, the --query argument must extract data from the results of the following query expressions: InstancePatchStates


--patch-group <value>
[--filters <value>]
[--cli-input-json | --cli-input-yaml]
[--starting-token <value>]
[--page-size <value>]
[--max-items <value>]
[--generate-cli-skeleton <value>]


--patch-group (string)

The name of the patch group for which the patch state information should be retrieved.

--filters (list)

Each entry in the array is a structure containing:

Key (string between 1 and 200 characters)

Values (array containing a single string)

Type (string “Equal”, “NotEqual”, “LessThan”, “GreaterThan”)


Defines a filter used in DescribeInstancePatchStatesForPatchGroup used to scope down the information returned by the API.

Key -> (string)

The key for the filter. Supported values are FailedCount, InstalledCount, InstalledOtherCount, MissingCount and NotApplicableCount.

Values -> (list)

The value for the filter, must be an integer greater than or equal to 0.


Type -> (string)

The type of comparison that should be performed for the value: Equal, NotEqual, LessThan or GreaterThan.

Shorthand Syntax:

Key=string,Values=string,string,Type=string ...

JSON Syntax:

    "Key": "string",
    "Values": ["string", ...],
    "Type": "Equal"|"NotEqual"|"LessThan"|"GreaterThan"

--cli-input-json | --cli-input-yaml (string) Reads arguments from the JSON string provided. The JSON string follows the format provided by --generate-cli-skeleton. If other arguments are provided on the command line, those values will override the JSON-provided values. It is not possible to pass arbitrary binary values using a JSON-provided value as the string will be taken literally. This may not be specified along with --cli-input-yaml.

--starting-token (string)

A token to specify where to start paginating. This is the NextToken from a previously truncated response.

For usage examples, see Pagination in the AWS Command Line Interface User Guide .

--page-size (integer)

The size of each page to get in the AWS service call. This does not affect the number of items returned in the command’s output. Setting a smaller page size results in more calls to the AWS service, retrieving fewer items in each call. This can help prevent the AWS service calls from timing out.

For usage examples, see Pagination in the AWS Command Line Interface User Guide .

--max-items (integer)

The total number of items to return in the command’s output. If the total number of items available is more than the value specified, a NextToken is provided in the command’s output. To resume pagination, provide the NextToken value in the starting-token argument of a subsequent command. Do not use the NextToken response element directly outside of the AWS CLI.

For usage examples, see Pagination in the AWS Command Line Interface User Guide .

--generate-cli-skeleton (string) Prints a JSON skeleton to standard output without sending an API request. If provided with no value or the value input, prints a sample input JSON that can be used as an argument for --cli-input-json. Similarly, if provided yaml-input it will print a sample input YAML that can be used with --cli-input-yaml. If provided with the value output, it validates the command inputs and returns a sample output JSON for that command.

See ‘aws help’ for descriptions of global parameters.


To get the instance states for a patch group

The following describe-instance-patch-states-for-patch-group example retrieves details about the patch summary states per-instance for the specified patch group.

aws ssm describe-instance-patch-states-for-patch-group \
    --patch-group "Production"


    "InstancePatchStates": [
            "InstanceId": "i-1234567890abcdef0",
            "PatchGroup": "Production",
            "BaselineId": "pb-0713accee01234567",
            "SnapshotId": "521c3536-930c-4aa9-950e-01234567abcd",
            "OwnerInformation": "",
            "InstalledCount": 1,
            "InstalledOtherCount": 13,
            "InstalledRejectedCount": 0,
            "MissingCount": 3,
            "FailedCount": 0,
            "NotApplicableCount": 11,
            "OperationStartTime": 1550244665.723,
            "OperationEndTime": 1550244826.241,
            "Operation": "Scan"
            "InstanceId": "i-0987654321abcdef0",
            "PatchGroup": "Production",
            "BaselineId": "pb-0713accee01234567",
            "SnapshotId": "521c3536-930c-4aa9-950e-01234567abcd",
            "OwnerInformation": "",
            "InstalledCount": 1,
            "InstalledOtherCount": 7,
            "InstalledRejectedCount": 0,
            "MissingCount": 1,
            "FailedCount": 0,
            "NotApplicableCount": 13,
            "OperationStartTime": 1550245130.069,
            "OperationEndTime": 1550245143.043,
            "Operation": "Scan"

For more information, see About Patch Compliance States in the AWS Systems Manager User Guide.


InstancePatchStates -> (list)

The high-level patch state for the requested instances.


Defines the high-level patch compliance state for a managed instance, providing information about the number of installed, missing, not applicable, and failed patches along with metadata about the operation when this information was gathered for the instance.

InstanceId -> (string)

The ID of the managed instance the high-level patch compliance information was collected for.

PatchGroup -> (string)

The name of the patch group the managed instance belongs to.

BaselineId -> (string)

The ID of the patch baseline used to patch the instance.

SnapshotId -> (string)

The ID of the patch baseline snapshot used during the patching operation when this compliance data was collected.

InstallOverrideList -> (string)

An https URL or an Amazon S3 path-style URL to a list of patches to be installed. This patch installation list, which you maintain in an S3 bucket in YAML format and specify in the SSM document AWS-RunPatchBaseline , overrides the patches specified by the default patch baseline.

For more information about the InstallOverrideList parameter, see About the SSM document AWS-RunPatchBaseline in the AWS Systems Manager User Guide .

OwnerInformation -> (string)

Placeholder information. This field will always be empty in the current release of the service.

InstalledCount -> (integer)

The number of patches from the patch baseline that are installed on the instance.

InstalledOtherCount -> (integer)

The number of patches not specified in the patch baseline that are installed on the instance.

InstalledPendingRebootCount -> (integer)

The number of patches installed by Patch Manager since the last time the instance was rebooted.

InstalledRejectedCount -> (integer)

The number of patches installed on an instance that are specified in a RejectedPatches list. Patches with a status of InstalledRejected were typically installed before they were added to a RejectedPatches list.


If ALLOW_AS_DEPENDENCY is the specified option for RejectedPatchesAction , the value of InstalledRejectedCount will always be 0 (zero).

MissingCount -> (integer)

The number of patches from the patch baseline that are applicable for the instance but aren’t currently installed.

FailedCount -> (integer)

The number of patches from the patch baseline that were attempted to be installed during the last patching operation, but failed to install.

UnreportedNotApplicableCount -> (integer)

The number of patches beyond the supported limit of NotApplicableCount that are not reported by name to Systems Manager Inventory.

NotApplicableCount -> (integer)

The number of patches from the patch baseline that aren’t applicable for the instance and therefore aren’t installed on the instance. This number may be truncated if the list of patch names is very large. The number of patches beyond this limit are reported in UnreportedNotApplicableCount .

OperationStartTime -> (timestamp)

The time the most recent patching operation was started on the instance.

OperationEndTime -> (timestamp)

The time the most recent patching operation completed on the instance.

Operation -> (string)

The type of patching operation that was performed: SCAN (assess patch compliance state) or INSTALL (install missing patches).

LastNoRebootInstallOperationTime -> (timestamp)

The time of the last attempt to patch the instance with NoReboot specified as the reboot option.

RebootOption -> (string)

Indicates the reboot option specified in the patch baseline.


Reboot options apply to Install operations only. Reboots are not attempted for Patch Manager Scan operations.

  • RebootIfNeeded : Patch Manager tries to reboot the instance if it installed any patches, or if any patches are detected with a status of InstalledPendingReboot .

  • NoReboot : Patch Manager attempts to install missing packages without trying to reboot the system. Patches installed with this option are assigned a status of InstalledPendingReboot . These patches might not be in effect until a reboot is performed.

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.