GetInventory
Query inventory information. This includes managed node status, such as Stopped
   or Terminated.
Request Syntax
{
   "Aggregators": [ 
      { 
         "Aggregators": [ 
            "InventoryAggregator"
         ],
         "Expression": "string",
         "Groups": [ 
            { 
               "Filters": [ 
                  { 
                     "Key": "string",
                     "Type": "string",
                     "Values": [ "string" ]
                  }
               ],
               "Name": "string"
            }
         ]
      }
   ],
   "Filters": [ 
      { 
         "Key": "string",
         "Type": "string",
         "Values": [ "string" ]
      }
   ],
   "MaxResults": number,
   "NextToken": "string",
   "ResultAttributes": [ 
      { 
         "TypeName": "string"
      }
   ]
}
    
      Request Parameters
For information about the parameters that are common to all actions, see Common Parameters.
The request accepts the following data in JSON format.
- Aggregators
 - 
               
Returns counts of inventory types based on one or more expressions. For example, if you aggregate by using an expression that uses the
AWS:InstanceInformation.PlatformTypetype, you can see a count of how many Windows and Linux managed nodes exist in your inventoried fleet.Type: Array of InventoryAggregator objects
Array Members: Minimum number of 1 item. Maximum number of 10 items.
Required: No
 - Filters
 - 
               
One or more filters. Use a filter to return a more specific list of results.
Type: Array of InventoryFilter objects
Array Members: Minimum number of 1 item. Maximum number of 5 items.
Required: No
 - 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: Integer
Valid Range: Minimum value of 1. Maximum value of 50.
Required: No
 - NextToken
 - 
               
The token for the next set of items to return. (You received this token from a previous call.)
Type: String
Required: No
 - ResultAttributes
 - 
               
The list of inventory item types to return.
Type: Array of ResultAttribute objects
Array Members: Fixed number of 1 item.
Required: No
 
Response Syntax
{
   "Entities": [ 
      { 
         "Data": { 
            "string" : { 
               "CaptureTime": "string",
               "Content": [ 
                  { 
                     "string" : "string" 
                  }
               ],
               "ContentHash": "string",
               "SchemaVersion": "string",
               "TypeName": "string"
            }
         },
         "Id": "string"
      }
   ],
   "NextToken": "string"
}
    
      Response Elements
If the action is successful, the service sends back an HTTP 200 response.
The following data is returned in JSON format by the service.
- Entities
 - 
               
Collection of inventory entities such as a collection of managed node inventory.
Type: Array of InventoryResultEntity objects
 - NextToken
 - 
               
The token to use when requesting the next set of items. If there are no additional items to return, the string is empty.
Type: String
 
Errors
For information about the errors that are common to all actions, see Common Errors.
- InternalServerError
 - 
               
An error occurred on the server side.
HTTP Status Code: 500
 - InvalidAggregatorException
 - 
               
The specified aggregator isn't valid for the group type. Verify that the aggregator you provided is supported.
HTTP Status Code: 400
 - InvalidFilter
 - 
               
The filter name isn't valid. Verify that you entered the correct name and try again.
HTTP Status Code: 400
 - InvalidInventoryGroupException
 - 
               
The specified inventory group isn't valid.
HTTP Status Code: 400
 - InvalidNextToken
 - 
               
The specified token isn't valid.
HTTP Status Code: 400
 - InvalidResultAttributeException
 - 
               
The specified inventory item result attribute isn't valid.
HTTP Status Code: 400
 - InvalidTypeNameException
 - 
               
The parameter type name isn't valid.
HTTP Status Code: 400
 
Examples
Example
This example illustrates one usage of GetInventory.
Sample Request
POST / HTTP/1.1
Host: ssm.us-east-2.amazonaws.com
Accept-Encoding: identity
X-Amz-Target: AmazonSSM.GetInventory
Content-Type: application/x-amz-json-1.1
User-Agent: aws-cli/1.17.12 Python/3.6.8 Darwin/18.7.0 botocore/1.14.12
X-Amz-Date: 20240330T145054Z
Authorization: AWS4-HMAC-SHA256 Credential=AKIAIOSFODNN7EXAMPLE/20240330/us-east-2/ssm/aws4_request, 
SignedHeaders=content-type;host;x-amz-date;x-amz-target, Signature=39c3b3042cd2aEXAMPLE
Content-Length: 2
          
          
            Sample Response
{
    "Entities": [
        {
            "Data": {
                "Id": "i-04bf6ad63bEXAMPLE",
                "AWS:InstanceInformation": {
                    "TypeName": "AWS:InstanceInformation",
                    "SchemaVersion": "1.0",
                    "CaptureTime": "2024-03-30T14:00:57Z",
                    "Content": [
                        {
                            "AgentType": "amazon-ssm-agent",
                            "AgentVersion": "2.3.930.0",
                            "ComputerName": "EC2AMAZ-EXAMPLE.WORKGROUP",
                            "InstanceId": "i-04bf6ad63bEXAMPLE",
                            "InstanceStatus": "Stopped",
                            "IpAddress": "172.16.0.4",
                            "PlatformName": "Microsoft Windows Server 2016 Datacenter",
                            "PlatformType": "Windows",
                            "PlatformVersion": "10.0.14393",
                            "ResourceType": "EC2Instance"
                        }
                    ]
                }
            }
        }
    ]
}
          
       
    
      See Also
For more information about using this API in one of the language-specific AWS SDKs, see the following: