View a markdown version of this page

GetSoftwareV2 - AWS Security Hub CSPM

GetSoftwareV2

Returns a list of software packages installed on your resources. Each result identifies a package by name, version, and type, and includes the number of resources that contain that package.

You can use the Scopes parameter to define the data boundary for the query. Currently, Scopes supports AwsOrganizations. With AwsOrganizations, you can retrieve software from your entire organization or from specific organizational units. Only the delegated administrator account can use Scopes.

You can use the Filters parameter to refine results based on package and resource attributes. You can use Scopes and Filters independently or together. When both are provided, Scopes narrows the data set first, and then Filters refines results within that scoped data set.

To list the resources that contain a specific package, use GetSoftwareResourcesV2. To get counts of software grouped by a field, use GetSoftwareStatisticsV2.

This operation returns paginated results. To retrieve additional results, use the NextToken value from the previous response.

Request Syntax

POST /softwarev2 HTTP/1.1 Content-type: application/json { "Filters": { "CompositeFilters": [ { "NestedCompositeFilters": [ "SoftwareCompositeFilter" ], "Operator": "string", "StringFilters": [ { "FieldName": "string", "Filter": { "Comparison": "string", "Value": "string" } } ] } ], "CompositeOperator": "string" }, "MaxResults": number, "NextToken": "string", "Scopes": { "AwsOrganizations": [ { "OrganizationalUnitId": "string", "OrganizationId": "string" } ] }, "SortCriteria": [ { "Field": "string", "SortOrder": "string" } ] }

URI Request Parameters

The request does not use any URI parameters.

Request Body

The request accepts the following data in JSON format.

Filters

Filters software packages based on a set of criteria. You can nest composite filters up to three levels deep.

Type: SoftwareFilters object

Required: No

MaxResults

The maximum number of results to return. Valid values are 1–100. The default is 100.

Type: Integer

Valid Range: Minimum value of 1. Maximum value of 100.

Required: No

NextToken

The token required for pagination. On your first call, set the value of this parameter to NULL. For subsequent calls, to continue listing data, set the value of this parameter to the value returned in the previous response.

A token expires one hour after it's issued. If you change Filters or SortCriteria between calls, the token is no longer valid and the request fails with a ValidationException.

Type: String

Required: No

Scopes

Limits the results to software on resources from specific organizational units or from the delegated administrator's organization. Only the delegated administrator account can use this parameter. Other accounts receive an AccessDeniedException.

This parameter is optional. If you omit it, the delegated administrator sees software from all accounts across the entire organization. Other accounts see only software on their own resources.

You can specify up to 10 entries in Scopes.AwsOrganizations. If multiple entries are specified, the entries are combined using OR logic.

Type: SoftwareScopes object

Required: No

SortCriteria

The software attributes used to sort the list of returned software packages. You can't sort by ResourceCount.

Type: Array of SortCriterion objects

Required: No

Response Syntax

HTTP/1.1 200 Content-type: application/json { "NextToken": "string", "Software": [ { "PackageName": "string", "PackageType": "string", "PackageVersion": "string", "ResourceCount": number } ] }

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.

NextToken

The pagination token to use to request the next page of results. Otherwise, this parameter is null.

Type: String

Software

An array of software packages returned by the operation.

Type: Array of SoftwareResult objects

Errors

For information about the errors that are common to all actions, see Common Error Types.

AccessDeniedException

You don't have permission to perform the action specified in the request.

HTTP Status Code: 403

ConflictException

The request causes conflict with the current state of the service resource.

HTTP Status Code: 409

InternalServerException

The request has failed due to an internal failure of the service.

HTTP Status Code: 500

OrganizationalUnitNotFoundException

The request failed because one or more organizational units specified in the request don't exist within the caller's organization.

HTTP Status Code: 400

OrganizationNotFoundException

The request failed because one or more organizations specified in the request don't exist or don't belong to the caller's organization.

HTTP Status Code: 400

ResourceNotFoundException

The request was rejected because we can't find the specified resource.

HTTP Status Code: 404

ThrottlingException

The limit on the number of requests per second was exceeded.

HTTP Status Code: 429

ValidationException

The request has failed validation because it's missing required fields or has invalid inputs.

HTTP Status Code: 400

See Also

For more information about using this API in one of the language-specific AWS SDKs, see the following: