aws-sdk-securityhub 1.173.0 → 1.174.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/CHANGELOG.md +5 -0
- data/VERSION +1 -1
- data/lib/aws-sdk-securityhub/client.rb +368 -1
- data/lib/aws-sdk-securityhub/client_api.rb +161 -0
- data/lib/aws-sdk-securityhub/types.rb +434 -0
- data/lib/aws-sdk-securityhub.rb +1 -1
- data/sig/client.rbs +82 -0
- data/sig/params.rbs +35 -0
- data/sig/types.rbs +97 -0
- metadata +3 -3
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 0ad419a0e02f48ea102bc6e8d0677769d3705a7328610bece86517148c2f928c
|
|
4
|
+
data.tar.gz: 93c9c20a0352cf528f9e5c1c2bb392e97eeb5f6eaff87dbbc25e84e464b6b7e7
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 757f469925c106fc166ab3d87e9d9f1694ad3af1c1537f4463fd7bf283a5d5002da6cfd38da996654e34edd2a274f26aa16da4f4e4e22602bf420d1926553425
|
|
7
|
+
data.tar.gz: 278d4d115e1ce6f56c81590b393d334f2cc05ebb09acdefb31cde4531767ef9c87a426ef6a7ceea757be24738a56e089fd6b1496f35202d3c27b9d7bacb9fced
|
data/CHANGELOG.md
CHANGED
|
@@ -1,6 +1,11 @@
|
|
|
1
1
|
Unreleased Changes
|
|
2
2
|
------------------
|
|
3
3
|
|
|
4
|
+
1.174.0 (2026-11-04)
|
|
5
|
+
------------------
|
|
6
|
+
|
|
7
|
+
* Feature - Release Software APIs- GetSoftwareV2, GetSoftwareStatisticsV2 and GetSoftwareResourcesV2 to list software packages with aggregated resource count, get aggregated software statistics, and find the resources that contain a specific software package.
|
|
8
|
+
|
|
4
9
|
1.173.0 (2026-10-29)
|
|
5
10
|
------------------
|
|
6
11
|
|
data/VERSION
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
1.
|
|
1
|
+
1.174.0
|
|
@@ -10022,6 +10022,373 @@ module Aws::SecurityHub
|
|
|
10022
10022
|
req.send_request(options)
|
|
10023
10023
|
end
|
|
10024
10024
|
|
|
10025
|
+
# Returns a list of resources that contain a specific software package.
|
|
10026
|
+
# You identify the package with `PackageName` and `PackageType`. To
|
|
10027
|
+
# narrow the results to one version of the package, include
|
|
10028
|
+
# `PackageVersion`.
|
|
10029
|
+
#
|
|
10030
|
+
# You can use the `Scopes` parameter to define the data boundary for the
|
|
10031
|
+
# query. Currently, `Scopes` supports `AwsOrganizations`, which lets you
|
|
10032
|
+
# retrieve resources from your entire organization or from specific
|
|
10033
|
+
# organizational units. Only the delegated administrator account can use
|
|
10034
|
+
# `Scopes`.
|
|
10035
|
+
#
|
|
10036
|
+
# You can use the `Filters` parameter to further refine results based on
|
|
10037
|
+
# resource attributes, such as `ResourceType` or `Region`.
|
|
10038
|
+
#
|
|
10039
|
+
# @option params [required, String] :package_name
|
|
10040
|
+
# The name of the software package, for example `openssl`. This value
|
|
10041
|
+
# must match the `PackageName` returned by `GetSoftwareV2`.
|
|
10042
|
+
#
|
|
10043
|
+
# @option params [required, String] :package_type
|
|
10044
|
+
# The type of the software package, for example `operating-system`,
|
|
10045
|
+
# `application`, or `library`. This value must match the `PackageType`
|
|
10046
|
+
# returned by `GetSoftwareV2`.
|
|
10047
|
+
#
|
|
10048
|
+
# @option params [String] :package_version
|
|
10049
|
+
# The version of the software package, for example `3.0.8`. If you omit
|
|
10050
|
+
# this value, the response includes resources that contain any version
|
|
10051
|
+
# of the package.
|
|
10052
|
+
#
|
|
10053
|
+
# @option params [Types::SoftwareFilters] :filters
|
|
10054
|
+
# Filters the returned resources based on a set of criteria. You can
|
|
10055
|
+
# nest composite filters up to three levels deep.
|
|
10056
|
+
#
|
|
10057
|
+
# @option params [Types::SoftwareScopes] :scopes
|
|
10058
|
+
# Limits the results to resources from specific organizational units or
|
|
10059
|
+
# from the delegated administrator's organization. Only the delegated
|
|
10060
|
+
# administrator account can use this parameter. Other accounts receive
|
|
10061
|
+
# an `AccessDeniedException`.
|
|
10062
|
+
#
|
|
10063
|
+
# This parameter is optional. If you omit it, the delegated
|
|
10064
|
+
# administrator sees resources from all accounts across the entire
|
|
10065
|
+
# organization. Other accounts see only their own resources.
|
|
10066
|
+
#
|
|
10067
|
+
# You can specify up to 10 entries in `Scopes.AwsOrganizations`. If
|
|
10068
|
+
# multiple entries are specified, the entries are combined using OR
|
|
10069
|
+
# logic.
|
|
10070
|
+
#
|
|
10071
|
+
# @option params [Array<Types::SortCriterion>] :sort_criteria
|
|
10072
|
+
# The resource attribute used to sort the list of returned resources,
|
|
10073
|
+
# for example `Region` or `ResourceType`. You can specify one sort
|
|
10074
|
+
# criterion.
|
|
10075
|
+
#
|
|
10076
|
+
# @option params [String] :next_token
|
|
10077
|
+
# The token required for pagination. On your first call, set the value
|
|
10078
|
+
# of this parameter to `NULL`. For subsequent calls, to continue listing
|
|
10079
|
+
# data, set the value of this parameter to the value returned in the
|
|
10080
|
+
# previous response.
|
|
10081
|
+
#
|
|
10082
|
+
# A token expires one hour after it's issued. If you change the request
|
|
10083
|
+
# parameters between calls, the token is no longer valid and the request
|
|
10084
|
+
# fails with a `ValidationException`.
|
|
10085
|
+
#
|
|
10086
|
+
# @option params [Integer] :max_results
|
|
10087
|
+
# The maximum number of results to return. Valid values are 1–100. The
|
|
10088
|
+
# default is 100.
|
|
10089
|
+
#
|
|
10090
|
+
# @return [Types::GetSoftwareResourcesV2Response] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
|
|
10091
|
+
#
|
|
10092
|
+
# * {Types::GetSoftwareResourcesV2Response#software_resources #software_resources} => Array<Types::SoftwareResourceResult>
|
|
10093
|
+
# * {Types::GetSoftwareResourcesV2Response#next_token #next_token} => String
|
|
10094
|
+
#
|
|
10095
|
+
# The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
|
|
10096
|
+
#
|
|
10097
|
+
# @example Request syntax with placeholder values
|
|
10098
|
+
#
|
|
10099
|
+
# resp = client.get_software_resources_v2({
|
|
10100
|
+
# package_name: "NonEmptyString", # required
|
|
10101
|
+
# package_type: "NonEmptyString", # required
|
|
10102
|
+
# package_version: "NonEmptyString",
|
|
10103
|
+
# filters: {
|
|
10104
|
+
# composite_filters: [
|
|
10105
|
+
# {
|
|
10106
|
+
# string_filters: [
|
|
10107
|
+
# {
|
|
10108
|
+
# field_name: "AccountId", # accepts AccountId, PackageName, PackageVersion, PackageType, Region, ResourceRegion, ResourceType, ResourceId, ResourceProvider, ResourceOwnerAccountId, ResourceOwnerOrgId, ResourceCloudPartition
|
|
10109
|
+
# filter: {
|
|
10110
|
+
# value: "NonEmptyString",
|
|
10111
|
+
# comparison: "EQUALS", # accepts EQUALS, PREFIX, NOT_EQUALS, PREFIX_NOT_EQUALS, CONTAINS, NOT_CONTAINS, CONTAINS_WORD
|
|
10112
|
+
# },
|
|
10113
|
+
# },
|
|
10114
|
+
# ],
|
|
10115
|
+
# nested_composite_filters: {
|
|
10116
|
+
# # recursive SoftwareCompositeFilterList
|
|
10117
|
+
# },
|
|
10118
|
+
# operator: "AND", # accepts AND, OR
|
|
10119
|
+
# },
|
|
10120
|
+
# ],
|
|
10121
|
+
# composite_operator: "AND", # accepts AND, OR
|
|
10122
|
+
# },
|
|
10123
|
+
# scopes: {
|
|
10124
|
+
# aws_organizations: [
|
|
10125
|
+
# {
|
|
10126
|
+
# organization_id: "NonEmptyString",
|
|
10127
|
+
# organizational_unit_id: "NonEmptyString",
|
|
10128
|
+
# },
|
|
10129
|
+
# ],
|
|
10130
|
+
# },
|
|
10131
|
+
# sort_criteria: [
|
|
10132
|
+
# {
|
|
10133
|
+
# field: "NonEmptyString",
|
|
10134
|
+
# sort_order: "asc", # accepts asc, desc
|
|
10135
|
+
# },
|
|
10136
|
+
# ],
|
|
10137
|
+
# next_token: "NextToken",
|
|
10138
|
+
# max_results: 1,
|
|
10139
|
+
# })
|
|
10140
|
+
#
|
|
10141
|
+
# @example Response structure
|
|
10142
|
+
#
|
|
10143
|
+
# resp.software_resources #=> Array
|
|
10144
|
+
# resp.software_resources[0].account_id #=> String
|
|
10145
|
+
# resp.software_resources[0].resource_type #=> String
|
|
10146
|
+
# resp.software_resources[0].region #=> String
|
|
10147
|
+
# resp.software_resources[0].resource_id #=> String
|
|
10148
|
+
# resp.software_resources[0].resource_provider #=> String
|
|
10149
|
+
# resp.software_resources[0].resource_owner_org_id #=> String
|
|
10150
|
+
# resp.software_resources[0].resource_owner_account_id #=> String
|
|
10151
|
+
# resp.software_resources[0].resource_cloud_partition #=> String
|
|
10152
|
+
# resp.software_resources[0].resource_region #=> String
|
|
10153
|
+
# resp.next_token #=> String
|
|
10154
|
+
#
|
|
10155
|
+
# @see http://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/GetSoftwareResourcesV2 AWS API Documentation
|
|
10156
|
+
#
|
|
10157
|
+
# @overload get_software_resources_v2(params = {})
|
|
10158
|
+
# @param [Hash] params ({})
|
|
10159
|
+
def get_software_resources_v2(params = {}, options = {})
|
|
10160
|
+
req = build_request(:get_software_resources_v2, params)
|
|
10161
|
+
req.send_request(options)
|
|
10162
|
+
end
|
|
10163
|
+
|
|
10164
|
+
# Retrieves aggregated counts of software packages installed on your
|
|
10165
|
+
# resources, grouped by a field that you specify. For example, you can
|
|
10166
|
+
# return the most common package types or the accounts with the most
|
|
10167
|
+
# installed packages.
|
|
10168
|
+
#
|
|
10169
|
+
# Each count is the number of package-to-resource pairs that match the
|
|
10170
|
+
# grouping value. A package installed on three resources contributes
|
|
10171
|
+
# three to the count.
|
|
10172
|
+
#
|
|
10173
|
+
# You can use the `Scopes` parameter to define the data boundary for the
|
|
10174
|
+
# query. Currently, `Scopes` supports `AwsOrganizations`, which lets you
|
|
10175
|
+
# aggregate software from your entire organization or from specific
|
|
10176
|
+
# organizational units. Only the delegated administrator account can use
|
|
10177
|
+
# `Scopes`.
|
|
10178
|
+
#
|
|
10179
|
+
# This operation doesn't paginate. Use `MaxStatisticResults` to control
|
|
10180
|
+
# how many grouping values are returned.
|
|
10181
|
+
#
|
|
10182
|
+
# @option params [required, Array<Types::SoftwareGroupByRule>] :group_by_rules
|
|
10183
|
+
# How software statistics should be aggregated and organized in the
|
|
10184
|
+
# response.
|
|
10185
|
+
#
|
|
10186
|
+
# @option params [Types::SoftwareScopes] :scopes
|
|
10187
|
+
# Limits the results to software on resources from specific
|
|
10188
|
+
# organizational units or from the delegated administrator's
|
|
10189
|
+
# organization. Only the delegated administrator account can use this
|
|
10190
|
+
# parameter. Other accounts receive an `AccessDeniedException`.
|
|
10191
|
+
#
|
|
10192
|
+
# This parameter is optional. If you omit it, the delegated
|
|
10193
|
+
# administrator sees statistics from all accounts across the entire
|
|
10194
|
+
# organization. Other accounts see only statistics for software on their
|
|
10195
|
+
# own resources.
|
|
10196
|
+
#
|
|
10197
|
+
# You can specify up to 10 entries in `Scopes.AwsOrganizations`. If
|
|
10198
|
+
# multiple entries are specified, the entries are combined using OR
|
|
10199
|
+
# logic.
|
|
10200
|
+
#
|
|
10201
|
+
# @option params [String] :sort_order
|
|
10202
|
+
# Sorts aggregated statistics by count. The default is descending, which
|
|
10203
|
+
# returns the values with the highest counts first.
|
|
10204
|
+
#
|
|
10205
|
+
# @option params [Integer] :max_statistic_results
|
|
10206
|
+
# The maximum number of grouping values to return. Valid values are
|
|
10207
|
+
# 1–400. The default is 400.
|
|
10208
|
+
#
|
|
10209
|
+
# @return [Types::GetSoftwareStatisticsV2Response] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
|
|
10210
|
+
#
|
|
10211
|
+
# * {Types::GetSoftwareStatisticsV2Response#group_by_results #group_by_results} => Array<Types::GroupByResult>
|
|
10212
|
+
#
|
|
10213
|
+
# @example Request syntax with placeholder values
|
|
10214
|
+
#
|
|
10215
|
+
# resp = client.get_software_statistics_v2({
|
|
10216
|
+
# group_by_rules: [ # required
|
|
10217
|
+
# {
|
|
10218
|
+
# group_by_field: "AccountId", # required, accepts AccountId, PackageName, PackageVersion, PackageType, Region, ResourceRegion, ResourceType, ResourceId, ResourceProvider, ResourceOwnerAccountId, ResourceOwnerOrgId, ResourceCloudPartition
|
|
10219
|
+
# filters: {
|
|
10220
|
+
# composite_filters: [
|
|
10221
|
+
# {
|
|
10222
|
+
# string_filters: [
|
|
10223
|
+
# {
|
|
10224
|
+
# field_name: "AccountId", # accepts AccountId, PackageName, PackageVersion, PackageType, Region, ResourceRegion, ResourceType, ResourceId, ResourceProvider, ResourceOwnerAccountId, ResourceOwnerOrgId, ResourceCloudPartition
|
|
10225
|
+
# filter: {
|
|
10226
|
+
# value: "NonEmptyString",
|
|
10227
|
+
# comparison: "EQUALS", # accepts EQUALS, PREFIX, NOT_EQUALS, PREFIX_NOT_EQUALS, CONTAINS, NOT_CONTAINS, CONTAINS_WORD
|
|
10228
|
+
# },
|
|
10229
|
+
# },
|
|
10230
|
+
# ],
|
|
10231
|
+
# nested_composite_filters: {
|
|
10232
|
+
# # recursive SoftwareCompositeFilterList
|
|
10233
|
+
# },
|
|
10234
|
+
# operator: "AND", # accepts AND, OR
|
|
10235
|
+
# },
|
|
10236
|
+
# ],
|
|
10237
|
+
# composite_operator: "AND", # accepts AND, OR
|
|
10238
|
+
# },
|
|
10239
|
+
# },
|
|
10240
|
+
# ],
|
|
10241
|
+
# scopes: {
|
|
10242
|
+
# aws_organizations: [
|
|
10243
|
+
# {
|
|
10244
|
+
# organization_id: "NonEmptyString",
|
|
10245
|
+
# organizational_unit_id: "NonEmptyString",
|
|
10246
|
+
# },
|
|
10247
|
+
# ],
|
|
10248
|
+
# },
|
|
10249
|
+
# sort_order: "asc", # accepts asc, desc
|
|
10250
|
+
# max_statistic_results: 1,
|
|
10251
|
+
# })
|
|
10252
|
+
#
|
|
10253
|
+
# @example Response structure
|
|
10254
|
+
#
|
|
10255
|
+
# resp.group_by_results #=> Array
|
|
10256
|
+
# resp.group_by_results[0].group_by_field #=> String
|
|
10257
|
+
# resp.group_by_results[0].group_by_values #=> Array
|
|
10258
|
+
# resp.group_by_results[0].group_by_values[0].field_value #=> String
|
|
10259
|
+
# resp.group_by_results[0].group_by_values[0].count #=> Integer
|
|
10260
|
+
#
|
|
10261
|
+
# @see http://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/GetSoftwareStatisticsV2 AWS API Documentation
|
|
10262
|
+
#
|
|
10263
|
+
# @overload get_software_statistics_v2(params = {})
|
|
10264
|
+
# @param [Hash] params ({})
|
|
10265
|
+
def get_software_statistics_v2(params = {}, options = {})
|
|
10266
|
+
req = build_request(:get_software_statistics_v2, params)
|
|
10267
|
+
req.send_request(options)
|
|
10268
|
+
end
|
|
10269
|
+
|
|
10270
|
+
# Returns a list of software packages installed on your resources. Each
|
|
10271
|
+
# result identifies a package by name, version, and type, and includes
|
|
10272
|
+
# the number of resources that contain that package.
|
|
10273
|
+
#
|
|
10274
|
+
# You can use the `Scopes` parameter to define the data boundary for the
|
|
10275
|
+
# query. Currently, `Scopes` supports `AwsOrganizations`, which lets you
|
|
10276
|
+
# retrieve software from your entire organization or from specific
|
|
10277
|
+
# organizational units. Only the delegated administrator account can use
|
|
10278
|
+
# `Scopes`.
|
|
10279
|
+
#
|
|
10280
|
+
# You can use the `Filters` parameter to refine results based on package
|
|
10281
|
+
# and resource attributes. You can use `Scopes` and `Filters`
|
|
10282
|
+
# independently or together. When both are provided, `Scopes` narrows
|
|
10283
|
+
# the data set first, and then `Filters` refines results within that
|
|
10284
|
+
# scoped data set.
|
|
10285
|
+
#
|
|
10286
|
+
# To list the resources that contain a specific package, use
|
|
10287
|
+
# `GetSoftwareResourcesV2`. To get counts of software grouped by a
|
|
10288
|
+
# field, use `GetSoftwareStatisticsV2`.
|
|
10289
|
+
#
|
|
10290
|
+
# @option params [Types::SoftwareFilters] :filters
|
|
10291
|
+
# Filters software packages based on a set of criteria. You can nest
|
|
10292
|
+
# composite filters up to three levels deep.
|
|
10293
|
+
#
|
|
10294
|
+
# @option params [Types::SoftwareScopes] :scopes
|
|
10295
|
+
# Limits the results to software on resources from specific
|
|
10296
|
+
# organizational units or from the delegated administrator's
|
|
10297
|
+
# organization. Only the delegated administrator account can use this
|
|
10298
|
+
# parameter. Other accounts receive an `AccessDeniedException`.
|
|
10299
|
+
#
|
|
10300
|
+
# This parameter is optional. If you omit it, the delegated
|
|
10301
|
+
# administrator sees software from all accounts across the entire
|
|
10302
|
+
# organization. Other accounts see only software on their own resources.
|
|
10303
|
+
#
|
|
10304
|
+
# You can specify up to 10 entries in `Scopes.AwsOrganizations`. If
|
|
10305
|
+
# multiple entries are specified, the entries are combined using OR
|
|
10306
|
+
# logic.
|
|
10307
|
+
#
|
|
10308
|
+
# @option params [Array<Types::SortCriterion>] :sort_criteria
|
|
10309
|
+
# The software attributes used to sort the list of returned software
|
|
10310
|
+
# packages. You can't sort by `ResourceCount`.
|
|
10311
|
+
#
|
|
10312
|
+
# @option params [String] :next_token
|
|
10313
|
+
# The token required for pagination. On your first call, set the value
|
|
10314
|
+
# of this parameter to `NULL`. For subsequent calls, to continue listing
|
|
10315
|
+
# data, set the value of this parameter to the value returned in the
|
|
10316
|
+
# previous response.
|
|
10317
|
+
#
|
|
10318
|
+
# A token expires one hour after it's issued. If you change `Filters`
|
|
10319
|
+
# or `SortCriteria` between calls, the token is no longer valid and the
|
|
10320
|
+
# request fails with a `ValidationException`.
|
|
10321
|
+
#
|
|
10322
|
+
# @option params [Integer] :max_results
|
|
10323
|
+
# The maximum number of results to return. Valid values are 1–100. The
|
|
10324
|
+
# default is 100.
|
|
10325
|
+
#
|
|
10326
|
+
# @return [Types::GetSoftwareV2Response] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
|
|
10327
|
+
#
|
|
10328
|
+
# * {Types::GetSoftwareV2Response#software #software} => Array<Types::SoftwareResult>
|
|
10329
|
+
# * {Types::GetSoftwareV2Response#next_token #next_token} => String
|
|
10330
|
+
#
|
|
10331
|
+
# The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
|
|
10332
|
+
#
|
|
10333
|
+
# @example Request syntax with placeholder values
|
|
10334
|
+
#
|
|
10335
|
+
# resp = client.get_software_v2({
|
|
10336
|
+
# filters: {
|
|
10337
|
+
# composite_filters: [
|
|
10338
|
+
# {
|
|
10339
|
+
# string_filters: [
|
|
10340
|
+
# {
|
|
10341
|
+
# field_name: "AccountId", # accepts AccountId, PackageName, PackageVersion, PackageType, Region, ResourceRegion, ResourceType, ResourceId, ResourceProvider, ResourceOwnerAccountId, ResourceOwnerOrgId, ResourceCloudPartition
|
|
10342
|
+
# filter: {
|
|
10343
|
+
# value: "NonEmptyString",
|
|
10344
|
+
# comparison: "EQUALS", # accepts EQUALS, PREFIX, NOT_EQUALS, PREFIX_NOT_EQUALS, CONTAINS, NOT_CONTAINS, CONTAINS_WORD
|
|
10345
|
+
# },
|
|
10346
|
+
# },
|
|
10347
|
+
# ],
|
|
10348
|
+
# nested_composite_filters: {
|
|
10349
|
+
# # recursive SoftwareCompositeFilterList
|
|
10350
|
+
# },
|
|
10351
|
+
# operator: "AND", # accepts AND, OR
|
|
10352
|
+
# },
|
|
10353
|
+
# ],
|
|
10354
|
+
# composite_operator: "AND", # accepts AND, OR
|
|
10355
|
+
# },
|
|
10356
|
+
# scopes: {
|
|
10357
|
+
# aws_organizations: [
|
|
10358
|
+
# {
|
|
10359
|
+
# organization_id: "NonEmptyString",
|
|
10360
|
+
# organizational_unit_id: "NonEmptyString",
|
|
10361
|
+
# },
|
|
10362
|
+
# ],
|
|
10363
|
+
# },
|
|
10364
|
+
# sort_criteria: [
|
|
10365
|
+
# {
|
|
10366
|
+
# field: "NonEmptyString",
|
|
10367
|
+
# sort_order: "asc", # accepts asc, desc
|
|
10368
|
+
# },
|
|
10369
|
+
# ],
|
|
10370
|
+
# next_token: "NextToken",
|
|
10371
|
+
# max_results: 1,
|
|
10372
|
+
# })
|
|
10373
|
+
#
|
|
10374
|
+
# @example Response structure
|
|
10375
|
+
#
|
|
10376
|
+
# resp.software #=> Array
|
|
10377
|
+
# resp.software[0].package_name #=> String
|
|
10378
|
+
# resp.software[0].package_version #=> String
|
|
10379
|
+
# resp.software[0].package_type #=> String
|
|
10380
|
+
# resp.software[0].resource_count #=> Integer
|
|
10381
|
+
# resp.next_token #=> String
|
|
10382
|
+
#
|
|
10383
|
+
# @see http://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/GetSoftwareV2 AWS API Documentation
|
|
10384
|
+
#
|
|
10385
|
+
# @overload get_software_v2(params = {})
|
|
10386
|
+
# @param [Hash] params ({})
|
|
10387
|
+
def get_software_v2(params = {}, options = {})
|
|
10388
|
+
req = build_request(:get_software_v2, params)
|
|
10389
|
+
req.send_request(options)
|
|
10390
|
+
end
|
|
10391
|
+
|
|
10025
10392
|
# <note markdown="1"> We recommend using Organizations instead of Security Hub CSPM
|
|
10026
10393
|
# invitations to manage your member accounts. For information, see
|
|
10027
10394
|
# [Managing Security Hub CSPM administrator and member accounts with
|
|
@@ -14687,7 +15054,7 @@ module Aws::SecurityHub
|
|
|
14687
15054
|
tracer: tracer
|
|
14688
15055
|
)
|
|
14689
15056
|
context[:gem_name] = 'aws-sdk-securityhub'
|
|
14690
|
-
context[:gem_version] = '1.
|
|
15057
|
+
context[:gem_version] = '1.174.0'
|
|
14691
15058
|
Seahorse::Client::Request.new(handlers, context)
|
|
14692
15059
|
end
|
|
14693
15060
|
|
|
@@ -1052,6 +1052,12 @@ module Aws::SecurityHub
|
|
|
1052
1052
|
GetResourcesV2Response = Shapes::StructureShape.new(name: 'GetResourcesV2Response')
|
|
1053
1053
|
GetSecurityControlDefinitionRequest = Shapes::StructureShape.new(name: 'GetSecurityControlDefinitionRequest')
|
|
1054
1054
|
GetSecurityControlDefinitionResponse = Shapes::StructureShape.new(name: 'GetSecurityControlDefinitionResponse')
|
|
1055
|
+
GetSoftwareResourcesV2Request = Shapes::StructureShape.new(name: 'GetSoftwareResourcesV2Request')
|
|
1056
|
+
GetSoftwareResourcesV2Response = Shapes::StructureShape.new(name: 'GetSoftwareResourcesV2Response')
|
|
1057
|
+
GetSoftwareStatisticsV2Request = Shapes::StructureShape.new(name: 'GetSoftwareStatisticsV2Request')
|
|
1058
|
+
GetSoftwareStatisticsV2Response = Shapes::StructureShape.new(name: 'GetSoftwareStatisticsV2Response')
|
|
1059
|
+
GetSoftwareV2Request = Shapes::StructureShape.new(name: 'GetSoftwareV2Request')
|
|
1060
|
+
GetSoftwareV2Response = Shapes::StructureShape.new(name: 'GetSoftwareV2Response')
|
|
1055
1061
|
GranularityField = Shapes::StringShape.new(name: 'GranularityField')
|
|
1056
1062
|
GroupByField = Shapes::StringShape.new(name: 'GroupByField')
|
|
1057
1063
|
GroupByResult = Shapes::StructureShape.new(name: 'GroupByResult')
|
|
@@ -1402,8 +1408,22 @@ module Aws::SecurityHub
|
|
|
1402
1408
|
Signal = Shapes::StructureShape.new(name: 'Signal')
|
|
1403
1409
|
SignalsList = Shapes::ListShape.new(name: 'SignalsList')
|
|
1404
1410
|
SizeBytes = Shapes::IntegerShape.new(name: 'SizeBytes')
|
|
1411
|
+
SoftwareCompositeFilter = Shapes::StructureShape.new(name: 'SoftwareCompositeFilter')
|
|
1412
|
+
SoftwareCompositeFilterList = Shapes::ListShape.new(name: 'SoftwareCompositeFilterList')
|
|
1413
|
+
SoftwareFilters = Shapes::StructureShape.new(name: 'SoftwareFilters')
|
|
1414
|
+
SoftwareGroupByField = Shapes::StringShape.new(name: 'SoftwareGroupByField')
|
|
1415
|
+
SoftwareGroupByRule = Shapes::StructureShape.new(name: 'SoftwareGroupByRule')
|
|
1416
|
+
SoftwareGroupByRules = Shapes::ListShape.new(name: 'SoftwareGroupByRules')
|
|
1417
|
+
SoftwareList = Shapes::ListShape.new(name: 'SoftwareList')
|
|
1405
1418
|
SoftwarePackage = Shapes::StructureShape.new(name: 'SoftwarePackage')
|
|
1406
1419
|
SoftwarePackageList = Shapes::ListShape.new(name: 'SoftwarePackageList')
|
|
1420
|
+
SoftwareResourceResult = Shapes::StructureShape.new(name: 'SoftwareResourceResult')
|
|
1421
|
+
SoftwareResourceResultList = Shapes::ListShape.new(name: 'SoftwareResourceResultList')
|
|
1422
|
+
SoftwareResult = Shapes::StructureShape.new(name: 'SoftwareResult')
|
|
1423
|
+
SoftwareScopes = Shapes::StructureShape.new(name: 'SoftwareScopes')
|
|
1424
|
+
SoftwareStringField = Shapes::StringShape.new(name: 'SoftwareStringField')
|
|
1425
|
+
SoftwareStringFilter = Shapes::StructureShape.new(name: 'SoftwareStringFilter')
|
|
1426
|
+
SoftwareStringFilterList = Shapes::ListShape.new(name: 'SoftwareStringFilterList')
|
|
1407
1427
|
SortCriteria = Shapes::ListShape.new(name: 'SortCriteria')
|
|
1408
1428
|
SortCriterion = Shapes::StructureShape.new(name: 'SortCriterion')
|
|
1409
1429
|
SortOrder = Shapes::StringShape.new(name: 'SortOrder')
|
|
@@ -6727,6 +6747,40 @@ module Aws::SecurityHub
|
|
|
6727
6747
|
GetSecurityControlDefinitionResponse.add_member(:security_control_definition, Shapes::ShapeRef.new(shape: SecurityControlDefinition, required: true, location_name: "SecurityControlDefinition"))
|
|
6728
6748
|
GetSecurityControlDefinitionResponse.struct_class = Types::GetSecurityControlDefinitionResponse
|
|
6729
6749
|
|
|
6750
|
+
GetSoftwareResourcesV2Request.add_member(:package_name, Shapes::ShapeRef.new(shape: NonEmptyString, required: true, location_name: "PackageName"))
|
|
6751
|
+
GetSoftwareResourcesV2Request.add_member(:package_type, Shapes::ShapeRef.new(shape: NonEmptyString, required: true, location_name: "PackageType"))
|
|
6752
|
+
GetSoftwareResourcesV2Request.add_member(:package_version, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "PackageVersion"))
|
|
6753
|
+
GetSoftwareResourcesV2Request.add_member(:filters, Shapes::ShapeRef.new(shape: SoftwareFilters, location_name: "Filters"))
|
|
6754
|
+
GetSoftwareResourcesV2Request.add_member(:scopes, Shapes::ShapeRef.new(shape: SoftwareScopes, location_name: "Scopes"))
|
|
6755
|
+
GetSoftwareResourcesV2Request.add_member(:sort_criteria, Shapes::ShapeRef.new(shape: SortCriteria, location_name: "SortCriteria"))
|
|
6756
|
+
GetSoftwareResourcesV2Request.add_member(:next_token, Shapes::ShapeRef.new(shape: NextToken, location_name: "NextToken"))
|
|
6757
|
+
GetSoftwareResourcesV2Request.add_member(:max_results, Shapes::ShapeRef.new(shape: MaxResults, location_name: "MaxResults"))
|
|
6758
|
+
GetSoftwareResourcesV2Request.struct_class = Types::GetSoftwareResourcesV2Request
|
|
6759
|
+
|
|
6760
|
+
GetSoftwareResourcesV2Response.add_member(:software_resources, Shapes::ShapeRef.new(shape: SoftwareResourceResultList, required: true, location_name: "SoftwareResources"))
|
|
6761
|
+
GetSoftwareResourcesV2Response.add_member(:next_token, Shapes::ShapeRef.new(shape: NextToken, location_name: "NextToken"))
|
|
6762
|
+
GetSoftwareResourcesV2Response.struct_class = Types::GetSoftwareResourcesV2Response
|
|
6763
|
+
|
|
6764
|
+
GetSoftwareStatisticsV2Request.add_member(:group_by_rules, Shapes::ShapeRef.new(shape: SoftwareGroupByRules, required: true, location_name: "GroupByRules"))
|
|
6765
|
+
GetSoftwareStatisticsV2Request.add_member(:scopes, Shapes::ShapeRef.new(shape: SoftwareScopes, location_name: "Scopes"))
|
|
6766
|
+
GetSoftwareStatisticsV2Request.add_member(:sort_order, Shapes::ShapeRef.new(shape: SortOrder, location_name: "SortOrder"))
|
|
6767
|
+
GetSoftwareStatisticsV2Request.add_member(:max_statistic_results, Shapes::ShapeRef.new(shape: MaxStatisticResults, location_name: "MaxStatisticResults"))
|
|
6768
|
+
GetSoftwareStatisticsV2Request.struct_class = Types::GetSoftwareStatisticsV2Request
|
|
6769
|
+
|
|
6770
|
+
GetSoftwareStatisticsV2Response.add_member(:group_by_results, Shapes::ShapeRef.new(shape: GroupByResults, required: true, location_name: "GroupByResults"))
|
|
6771
|
+
GetSoftwareStatisticsV2Response.struct_class = Types::GetSoftwareStatisticsV2Response
|
|
6772
|
+
|
|
6773
|
+
GetSoftwareV2Request.add_member(:filters, Shapes::ShapeRef.new(shape: SoftwareFilters, location_name: "Filters"))
|
|
6774
|
+
GetSoftwareV2Request.add_member(:scopes, Shapes::ShapeRef.new(shape: SoftwareScopes, location_name: "Scopes"))
|
|
6775
|
+
GetSoftwareV2Request.add_member(:sort_criteria, Shapes::ShapeRef.new(shape: SortCriteria, location_name: "SortCriteria"))
|
|
6776
|
+
GetSoftwareV2Request.add_member(:next_token, Shapes::ShapeRef.new(shape: NextToken, location_name: "NextToken"))
|
|
6777
|
+
GetSoftwareV2Request.add_member(:max_results, Shapes::ShapeRef.new(shape: MaxResults, location_name: "MaxResults"))
|
|
6778
|
+
GetSoftwareV2Request.struct_class = Types::GetSoftwareV2Request
|
|
6779
|
+
|
|
6780
|
+
GetSoftwareV2Response.add_member(:software, Shapes::ShapeRef.new(shape: SoftwareList, required: true, location_name: "Software"))
|
|
6781
|
+
GetSoftwareV2Response.add_member(:next_token, Shapes::ShapeRef.new(shape: NextToken, location_name: "NextToken"))
|
|
6782
|
+
GetSoftwareV2Response.struct_class = Types::GetSoftwareV2Response
|
|
6783
|
+
|
|
6730
6784
|
GroupByResult.add_member(:group_by_field, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "GroupByField"))
|
|
6731
6785
|
GroupByResult.add_member(:group_by_values, Shapes::ShapeRef.new(shape: GroupByValues, location_name: "GroupByValues"))
|
|
6732
6786
|
GroupByResult.struct_class = Types::GroupByResult
|
|
@@ -8103,6 +8157,25 @@ module Aws::SecurityHub
|
|
|
8103
8157
|
|
|
8104
8158
|
SignalsList.member = Shapes::ShapeRef.new(shape: Signal)
|
|
8105
8159
|
|
|
8160
|
+
SoftwareCompositeFilter.add_member(:string_filters, Shapes::ShapeRef.new(shape: SoftwareStringFilterList, location_name: "StringFilters"))
|
|
8161
|
+
SoftwareCompositeFilter.add_member(:nested_composite_filters, Shapes::ShapeRef.new(shape: SoftwareCompositeFilterList, location_name: "NestedCompositeFilters"))
|
|
8162
|
+
SoftwareCompositeFilter.add_member(:operator, Shapes::ShapeRef.new(shape: AllowedOperators, location_name: "Operator"))
|
|
8163
|
+
SoftwareCompositeFilter.struct_class = Types::SoftwareCompositeFilter
|
|
8164
|
+
|
|
8165
|
+
SoftwareCompositeFilterList.member = Shapes::ShapeRef.new(shape: SoftwareCompositeFilter)
|
|
8166
|
+
|
|
8167
|
+
SoftwareFilters.add_member(:composite_filters, Shapes::ShapeRef.new(shape: SoftwareCompositeFilterList, location_name: "CompositeFilters"))
|
|
8168
|
+
SoftwareFilters.add_member(:composite_operator, Shapes::ShapeRef.new(shape: AllowedOperators, location_name: "CompositeOperator"))
|
|
8169
|
+
SoftwareFilters.struct_class = Types::SoftwareFilters
|
|
8170
|
+
|
|
8171
|
+
SoftwareGroupByRule.add_member(:group_by_field, Shapes::ShapeRef.new(shape: SoftwareGroupByField, required: true, location_name: "GroupByField"))
|
|
8172
|
+
SoftwareGroupByRule.add_member(:filters, Shapes::ShapeRef.new(shape: SoftwareFilters, location_name: "Filters"))
|
|
8173
|
+
SoftwareGroupByRule.struct_class = Types::SoftwareGroupByRule
|
|
8174
|
+
|
|
8175
|
+
SoftwareGroupByRules.member = Shapes::ShapeRef.new(shape: SoftwareGroupByRule)
|
|
8176
|
+
|
|
8177
|
+
SoftwareList.member = Shapes::ShapeRef.new(shape: SoftwareResult)
|
|
8178
|
+
|
|
8106
8179
|
SoftwarePackage.add_member(:name, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "Name"))
|
|
8107
8180
|
SoftwarePackage.add_member(:version, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "Version"))
|
|
8108
8181
|
SoftwarePackage.add_member(:epoch, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "Epoch"))
|
|
@@ -8118,6 +8191,34 @@ module Aws::SecurityHub
|
|
|
8118
8191
|
|
|
8119
8192
|
SoftwarePackageList.member = Shapes::ShapeRef.new(shape: SoftwarePackage)
|
|
8120
8193
|
|
|
8194
|
+
SoftwareResourceResult.add_member(:account_id, Shapes::ShapeRef.new(shape: NonEmptyString, required: true, location_name: "AccountId"))
|
|
8195
|
+
SoftwareResourceResult.add_member(:resource_type, Shapes::ShapeRef.new(shape: NonEmptyString, required: true, location_name: "ResourceType"))
|
|
8196
|
+
SoftwareResourceResult.add_member(:region, Shapes::ShapeRef.new(shape: NonEmptyString, required: true, location_name: "Region"))
|
|
8197
|
+
SoftwareResourceResult.add_member(:resource_id, Shapes::ShapeRef.new(shape: NonEmptyString, required: true, location_name: "ResourceId"))
|
|
8198
|
+
SoftwareResourceResult.add_member(:resource_provider, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "ResourceProvider"))
|
|
8199
|
+
SoftwareResourceResult.add_member(:resource_owner_org_id, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "ResourceOwnerOrgId"))
|
|
8200
|
+
SoftwareResourceResult.add_member(:resource_owner_account_id, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "ResourceOwnerAccountId"))
|
|
8201
|
+
SoftwareResourceResult.add_member(:resource_cloud_partition, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "ResourceCloudPartition"))
|
|
8202
|
+
SoftwareResourceResult.add_member(:resource_region, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "ResourceRegion"))
|
|
8203
|
+
SoftwareResourceResult.struct_class = Types::SoftwareResourceResult
|
|
8204
|
+
|
|
8205
|
+
SoftwareResourceResultList.member = Shapes::ShapeRef.new(shape: SoftwareResourceResult)
|
|
8206
|
+
|
|
8207
|
+
SoftwareResult.add_member(:package_name, Shapes::ShapeRef.new(shape: NonEmptyString, required: true, location_name: "PackageName"))
|
|
8208
|
+
SoftwareResult.add_member(:package_version, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "PackageVersion"))
|
|
8209
|
+
SoftwareResult.add_member(:package_type, Shapes::ShapeRef.new(shape: NonEmptyString, required: true, location_name: "PackageType"))
|
|
8210
|
+
SoftwareResult.add_member(:resource_count, Shapes::ShapeRef.new(shape: Integer, required: true, location_name: "ResourceCount"))
|
|
8211
|
+
SoftwareResult.struct_class = Types::SoftwareResult
|
|
8212
|
+
|
|
8213
|
+
SoftwareScopes.add_member(:aws_organizations, Shapes::ShapeRef.new(shape: AwsOrganizationScopeList, location_name: "AwsOrganizations"))
|
|
8214
|
+
SoftwareScopes.struct_class = Types::SoftwareScopes
|
|
8215
|
+
|
|
8216
|
+
SoftwareStringFilter.add_member(:field_name, Shapes::ShapeRef.new(shape: SoftwareStringField, location_name: "FieldName"))
|
|
8217
|
+
SoftwareStringFilter.add_member(:filter, Shapes::ShapeRef.new(shape: StringFilter, location_name: "Filter"))
|
|
8218
|
+
SoftwareStringFilter.struct_class = Types::SoftwareStringFilter
|
|
8219
|
+
|
|
8220
|
+
SoftwareStringFilterList.member = Shapes::ShapeRef.new(shape: SoftwareStringFilter)
|
|
8221
|
+
|
|
8121
8222
|
SortCriteria.member = Shapes::ShapeRef.new(shape: SortCriterion)
|
|
8122
8223
|
|
|
8123
8224
|
SortCriterion.add_member(:field, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "Field"))
|
|
@@ -9832,6 +9933,66 @@ module Aws::SecurityHub
|
|
|
9832
9933
|
o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
|
|
9833
9934
|
end)
|
|
9834
9935
|
|
|
9936
|
+
api.add_operation(:get_software_resources_v2, Seahorse::Model::Operation.new.tap do |o|
|
|
9937
|
+
o.name = "GetSoftwareResourcesV2"
|
|
9938
|
+
o.http_method = "POST"
|
|
9939
|
+
o.http_request_uri = "/softwarev2/resources"
|
|
9940
|
+
o.input = Shapes::ShapeRef.new(shape: GetSoftwareResourcesV2Request)
|
|
9941
|
+
o.output = Shapes::ShapeRef.new(shape: GetSoftwareResourcesV2Response)
|
|
9942
|
+
o.errors << Shapes::ShapeRef.new(shape: InternalServerException)
|
|
9943
|
+
o.errors << Shapes::ShapeRef.new(shape: AccessDeniedException)
|
|
9944
|
+
o.errors << Shapes::ShapeRef.new(shape: ThrottlingException)
|
|
9945
|
+
o.errors << Shapes::ShapeRef.new(shape: ConflictException)
|
|
9946
|
+
o.errors << Shapes::ShapeRef.new(shape: ValidationException)
|
|
9947
|
+
o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
|
|
9948
|
+
o.errors << Shapes::ShapeRef.new(shape: OrganizationalUnitNotFoundException)
|
|
9949
|
+
o.errors << Shapes::ShapeRef.new(shape: OrganizationNotFoundException)
|
|
9950
|
+
o[:pager] = Aws::Pager.new(
|
|
9951
|
+
limit_key: "max_results",
|
|
9952
|
+
tokens: {
|
|
9953
|
+
"next_token" => "next_token"
|
|
9954
|
+
}
|
|
9955
|
+
)
|
|
9956
|
+
end)
|
|
9957
|
+
|
|
9958
|
+
api.add_operation(:get_software_statistics_v2, Seahorse::Model::Operation.new.tap do |o|
|
|
9959
|
+
o.name = "GetSoftwareStatisticsV2"
|
|
9960
|
+
o.http_method = "POST"
|
|
9961
|
+
o.http_request_uri = "/softwarev2/statistics"
|
|
9962
|
+
o.input = Shapes::ShapeRef.new(shape: GetSoftwareStatisticsV2Request)
|
|
9963
|
+
o.output = Shapes::ShapeRef.new(shape: GetSoftwareStatisticsV2Response)
|
|
9964
|
+
o.errors << Shapes::ShapeRef.new(shape: InternalServerException)
|
|
9965
|
+
o.errors << Shapes::ShapeRef.new(shape: AccessDeniedException)
|
|
9966
|
+
o.errors << Shapes::ShapeRef.new(shape: ThrottlingException)
|
|
9967
|
+
o.errors << Shapes::ShapeRef.new(shape: ConflictException)
|
|
9968
|
+
o.errors << Shapes::ShapeRef.new(shape: ValidationException)
|
|
9969
|
+
o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
|
|
9970
|
+
o.errors << Shapes::ShapeRef.new(shape: OrganizationalUnitNotFoundException)
|
|
9971
|
+
o.errors << Shapes::ShapeRef.new(shape: OrganizationNotFoundException)
|
|
9972
|
+
end)
|
|
9973
|
+
|
|
9974
|
+
api.add_operation(:get_software_v2, Seahorse::Model::Operation.new.tap do |o|
|
|
9975
|
+
o.name = "GetSoftwareV2"
|
|
9976
|
+
o.http_method = "POST"
|
|
9977
|
+
o.http_request_uri = "/softwarev2"
|
|
9978
|
+
o.input = Shapes::ShapeRef.new(shape: GetSoftwareV2Request)
|
|
9979
|
+
o.output = Shapes::ShapeRef.new(shape: GetSoftwareV2Response)
|
|
9980
|
+
o.errors << Shapes::ShapeRef.new(shape: InternalServerException)
|
|
9981
|
+
o.errors << Shapes::ShapeRef.new(shape: AccessDeniedException)
|
|
9982
|
+
o.errors << Shapes::ShapeRef.new(shape: ThrottlingException)
|
|
9983
|
+
o.errors << Shapes::ShapeRef.new(shape: ConflictException)
|
|
9984
|
+
o.errors << Shapes::ShapeRef.new(shape: ValidationException)
|
|
9985
|
+
o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
|
|
9986
|
+
o.errors << Shapes::ShapeRef.new(shape: OrganizationalUnitNotFoundException)
|
|
9987
|
+
o.errors << Shapes::ShapeRef.new(shape: OrganizationNotFoundException)
|
|
9988
|
+
o[:pager] = Aws::Pager.new(
|
|
9989
|
+
limit_key: "max_results",
|
|
9990
|
+
tokens: {
|
|
9991
|
+
"next_token" => "next_token"
|
|
9992
|
+
}
|
|
9993
|
+
)
|
|
9994
|
+
end)
|
|
9995
|
+
|
|
9835
9996
|
api.add_operation(:invite_members, Seahorse::Model::Operation.new.tap do |o|
|
|
9836
9997
|
o.name = "InviteMembers"
|
|
9837
9998
|
o.http_method = "POST"
|