aws-sdk-inspector2 1.0.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.
@@ -0,0 +1,3029 @@
1
+ # frozen_string_literal: true
2
+
3
+ # WARNING ABOUT GENERATED CODE
4
+ #
5
+ # This file is generated. See the contributing guide for more information:
6
+ # https://github.com/aws/aws-sdk-ruby/blob/version-3/CONTRIBUTING.md
7
+ #
8
+ # WARNING ABOUT GENERATED CODE
9
+
10
+ require 'seahorse/client/plugins/content_length.rb'
11
+ require 'aws-sdk-core/plugins/credentials_configuration.rb'
12
+ require 'aws-sdk-core/plugins/logging.rb'
13
+ require 'aws-sdk-core/plugins/param_converter.rb'
14
+ require 'aws-sdk-core/plugins/param_validator.rb'
15
+ require 'aws-sdk-core/plugins/user_agent.rb'
16
+ require 'aws-sdk-core/plugins/helpful_socket_errors.rb'
17
+ require 'aws-sdk-core/plugins/retry_errors.rb'
18
+ require 'aws-sdk-core/plugins/global_configuration.rb'
19
+ require 'aws-sdk-core/plugins/regional_endpoint.rb'
20
+ require 'aws-sdk-core/plugins/endpoint_discovery.rb'
21
+ require 'aws-sdk-core/plugins/endpoint_pattern.rb'
22
+ require 'aws-sdk-core/plugins/response_paging.rb'
23
+ require 'aws-sdk-core/plugins/stub_responses.rb'
24
+ require 'aws-sdk-core/plugins/idempotency_token.rb'
25
+ require 'aws-sdk-core/plugins/jsonvalue_converter.rb'
26
+ require 'aws-sdk-core/plugins/client_metrics_plugin.rb'
27
+ require 'aws-sdk-core/plugins/client_metrics_send_plugin.rb'
28
+ require 'aws-sdk-core/plugins/transfer_encoding.rb'
29
+ require 'aws-sdk-core/plugins/http_checksum.rb'
30
+ require 'aws-sdk-core/plugins/signature_v4.rb'
31
+ require 'aws-sdk-core/plugins/protocols/rest_json.rb'
32
+
33
+ Aws::Plugins::GlobalConfiguration.add_identifier(:inspector2)
34
+
35
+ module Aws::Inspector2
36
+ # An API client for Inspector2. To construct a client, you need to configure a `:region` and `:credentials`.
37
+ #
38
+ # client = Aws::Inspector2::Client.new(
39
+ # region: region_name,
40
+ # credentials: credentials,
41
+ # # ...
42
+ # )
43
+ #
44
+ # For details on configuring region and credentials see
45
+ # the [developer guide](/sdk-for-ruby/v3/developer-guide/setup-config.html).
46
+ #
47
+ # See {#initialize} for a full list of supported configuration options.
48
+ class Client < Seahorse::Client::Base
49
+
50
+ include Aws::ClientStubs
51
+
52
+ @identifier = :inspector2
53
+
54
+ set_api(ClientApi::API)
55
+
56
+ add_plugin(Seahorse::Client::Plugins::ContentLength)
57
+ add_plugin(Aws::Plugins::CredentialsConfiguration)
58
+ add_plugin(Aws::Plugins::Logging)
59
+ add_plugin(Aws::Plugins::ParamConverter)
60
+ add_plugin(Aws::Plugins::ParamValidator)
61
+ add_plugin(Aws::Plugins::UserAgent)
62
+ add_plugin(Aws::Plugins::HelpfulSocketErrors)
63
+ add_plugin(Aws::Plugins::RetryErrors)
64
+ add_plugin(Aws::Plugins::GlobalConfiguration)
65
+ add_plugin(Aws::Plugins::RegionalEndpoint)
66
+ add_plugin(Aws::Plugins::EndpointDiscovery)
67
+ add_plugin(Aws::Plugins::EndpointPattern)
68
+ add_plugin(Aws::Plugins::ResponsePaging)
69
+ add_plugin(Aws::Plugins::StubResponses)
70
+ add_plugin(Aws::Plugins::IdempotencyToken)
71
+ add_plugin(Aws::Plugins::JsonvalueConverter)
72
+ add_plugin(Aws::Plugins::ClientMetricsPlugin)
73
+ add_plugin(Aws::Plugins::ClientMetricsSendPlugin)
74
+ add_plugin(Aws::Plugins::TransferEncoding)
75
+ add_plugin(Aws::Plugins::HttpChecksum)
76
+ add_plugin(Aws::Plugins::SignatureV4)
77
+ add_plugin(Aws::Plugins::Protocols::RestJson)
78
+
79
+ # @overload initialize(options)
80
+ # @param [Hash] options
81
+ # @option options [required, Aws::CredentialProvider] :credentials
82
+ # Your AWS credentials. This can be an instance of any one of the
83
+ # following classes:
84
+ #
85
+ # * `Aws::Credentials` - Used for configuring static, non-refreshing
86
+ # credentials.
87
+ #
88
+ # * `Aws::SharedCredentials` - Used for loading static credentials from a
89
+ # shared file, such as `~/.aws/config`.
90
+ #
91
+ # * `Aws::AssumeRoleCredentials` - Used when you need to assume a role.
92
+ #
93
+ # * `Aws::AssumeRoleWebIdentityCredentials` - Used when you need to
94
+ # assume a role after providing credentials via the web.
95
+ #
96
+ # * `Aws::SSOCredentials` - Used for loading credentials from AWS SSO using an
97
+ # access token generated from `aws login`.
98
+ #
99
+ # * `Aws::ProcessCredentials` - Used for loading credentials from a
100
+ # process that outputs to stdout.
101
+ #
102
+ # * `Aws::InstanceProfileCredentials` - Used for loading credentials
103
+ # from an EC2 IMDS on an EC2 instance.
104
+ #
105
+ # * `Aws::ECSCredentials` - Used for loading credentials from
106
+ # instances running in ECS.
107
+ #
108
+ # * `Aws::CognitoIdentityCredentials` - Used for loading credentials
109
+ # from the Cognito Identity service.
110
+ #
111
+ # When `:credentials` are not configured directly, the following
112
+ # locations will be searched for credentials:
113
+ #
114
+ # * `Aws.config[:credentials]`
115
+ # * The `:access_key_id`, `:secret_access_key`, and `:session_token` options.
116
+ # * ENV['AWS_ACCESS_KEY_ID'], ENV['AWS_SECRET_ACCESS_KEY']
117
+ # * `~/.aws/credentials`
118
+ # * `~/.aws/config`
119
+ # * EC2/ECS IMDS instance profile - When used by default, the timeouts
120
+ # are very aggressive. Construct and pass an instance of
121
+ # `Aws::InstanceProfileCredentails` or `Aws::ECSCredentials` to
122
+ # enable retries and extended timeouts.
123
+ #
124
+ # @option options [required, String] :region
125
+ # The AWS region to connect to. The configured `:region` is
126
+ # used to determine the service `:endpoint`. When not passed,
127
+ # a default `:region` is searched for in the following locations:
128
+ #
129
+ # * `Aws.config[:region]`
130
+ # * `ENV['AWS_REGION']`
131
+ # * `ENV['AMAZON_REGION']`
132
+ # * `ENV['AWS_DEFAULT_REGION']`
133
+ # * `~/.aws/credentials`
134
+ # * `~/.aws/config`
135
+ #
136
+ # @option options [String] :access_key_id
137
+ #
138
+ # @option options [Boolean] :active_endpoint_cache (false)
139
+ # When set to `true`, a thread polling for endpoints will be running in
140
+ # the background every 60 secs (default). Defaults to `false`.
141
+ #
142
+ # @option options [Boolean] :adaptive_retry_wait_to_fill (true)
143
+ # Used only in `adaptive` retry mode. When true, the request will sleep
144
+ # until there is sufficent client side capacity to retry the request.
145
+ # When false, the request will raise a `RetryCapacityNotAvailableError` and will
146
+ # not retry instead of sleeping.
147
+ #
148
+ # @option options [Boolean] :client_side_monitoring (false)
149
+ # When `true`, client-side metrics will be collected for all API requests from
150
+ # this client.
151
+ #
152
+ # @option options [String] :client_side_monitoring_client_id ("")
153
+ # Allows you to provide an identifier for this client which will be attached to
154
+ # all generated client side metrics. Defaults to an empty string.
155
+ #
156
+ # @option options [String] :client_side_monitoring_host ("127.0.0.1")
157
+ # Allows you to specify the DNS hostname or IPv4 or IPv6 address that the client
158
+ # side monitoring agent is running on, where client metrics will be published via UDP.
159
+ #
160
+ # @option options [Integer] :client_side_monitoring_port (31000)
161
+ # Required for publishing client metrics. The port that the client side monitoring
162
+ # agent is running on, where client metrics will be published via UDP.
163
+ #
164
+ # @option options [Aws::ClientSideMonitoring::Publisher] :client_side_monitoring_publisher (Aws::ClientSideMonitoring::Publisher)
165
+ # Allows you to provide a custom client-side monitoring publisher class. By default,
166
+ # will use the Client Side Monitoring Agent Publisher.
167
+ #
168
+ # @option options [Boolean] :convert_params (true)
169
+ # When `true`, an attempt is made to coerce request parameters into
170
+ # the required types.
171
+ #
172
+ # @option options [Boolean] :correct_clock_skew (true)
173
+ # Used only in `standard` and adaptive retry modes. Specifies whether to apply
174
+ # a clock skew correction and retry requests with skewed client clocks.
175
+ #
176
+ # @option options [Boolean] :disable_host_prefix_injection (false)
177
+ # Set to true to disable SDK automatically adding host prefix
178
+ # to default service endpoint when available.
179
+ #
180
+ # @option options [String] :endpoint
181
+ # The client endpoint is normally constructed from the `:region`
182
+ # option. You should only configure an `:endpoint` when connecting
183
+ # to test or custom endpoints. This should be a valid HTTP(S) URI.
184
+ #
185
+ # @option options [Integer] :endpoint_cache_max_entries (1000)
186
+ # Used for the maximum size limit of the LRU cache storing endpoints data
187
+ # for endpoint discovery enabled operations. Defaults to 1000.
188
+ #
189
+ # @option options [Integer] :endpoint_cache_max_threads (10)
190
+ # Used for the maximum threads in use for polling endpoints to be cached, defaults to 10.
191
+ #
192
+ # @option options [Integer] :endpoint_cache_poll_interval (60)
193
+ # When :endpoint_discovery and :active_endpoint_cache is enabled,
194
+ # Use this option to config the time interval in seconds for making
195
+ # requests fetching endpoints information. Defaults to 60 sec.
196
+ #
197
+ # @option options [Boolean] :endpoint_discovery (false)
198
+ # When set to `true`, endpoint discovery will be enabled for operations when available.
199
+ #
200
+ # @option options [Aws::Log::Formatter] :log_formatter (Aws::Log::Formatter.default)
201
+ # The log formatter.
202
+ #
203
+ # @option options [Symbol] :log_level (:info)
204
+ # The log level to send messages to the `:logger` at.
205
+ #
206
+ # @option options [Logger] :logger
207
+ # The Logger instance to send log messages to. If this option
208
+ # is not set, logging will be disabled.
209
+ #
210
+ # @option options [Integer] :max_attempts (3)
211
+ # An integer representing the maximum number attempts that will be made for
212
+ # a single request, including the initial attempt. For example,
213
+ # setting this value to 5 will result in a request being retried up to
214
+ # 4 times. Used in `standard` and `adaptive` retry modes.
215
+ #
216
+ # @option options [String] :profile ("default")
217
+ # Used when loading credentials from the shared credentials file
218
+ # at HOME/.aws/credentials. When not specified, 'default' is used.
219
+ #
220
+ # @option options [Proc] :retry_backoff
221
+ # A proc or lambda used for backoff. Defaults to 2**retries * retry_base_delay.
222
+ # This option is only used in the `legacy` retry mode.
223
+ #
224
+ # @option options [Float] :retry_base_delay (0.3)
225
+ # The base delay in seconds used by the default backoff function. This option
226
+ # is only used in the `legacy` retry mode.
227
+ #
228
+ # @option options [Symbol] :retry_jitter (:none)
229
+ # A delay randomiser function used by the default backoff function.
230
+ # Some predefined functions can be referenced by name - :none, :equal, :full,
231
+ # otherwise a Proc that takes and returns a number. This option is only used
232
+ # in the `legacy` retry mode.
233
+ #
234
+ # @see https://www.awsarchitectureblog.com/2015/03/backoff.html
235
+ #
236
+ # @option options [Integer] :retry_limit (3)
237
+ # The maximum number of times to retry failed requests. Only
238
+ # ~ 500 level server errors and certain ~ 400 level client errors
239
+ # are retried. Generally, these are throttling errors, data
240
+ # checksum errors, networking errors, timeout errors, auth errors,
241
+ # endpoint discovery, and errors from expired credentials.
242
+ # This option is only used in the `legacy` retry mode.
243
+ #
244
+ # @option options [Integer] :retry_max_delay (0)
245
+ # The maximum number of seconds to delay between retries (0 for no limit)
246
+ # used by the default backoff function. This option is only used in the
247
+ # `legacy` retry mode.
248
+ #
249
+ # @option options [String] :retry_mode ("legacy")
250
+ # Specifies which retry algorithm to use. Values are:
251
+ #
252
+ # * `legacy` - The pre-existing retry behavior. This is default value if
253
+ # no retry mode is provided.
254
+ #
255
+ # * `standard` - A standardized set of retry rules across the AWS SDKs.
256
+ # This includes support for retry quotas, which limit the number of
257
+ # unsuccessful retries a client can make.
258
+ #
259
+ # * `adaptive` - An experimental retry mode that includes all the
260
+ # functionality of `standard` mode along with automatic client side
261
+ # throttling. This is a provisional mode that may change behavior
262
+ # in the future.
263
+ #
264
+ #
265
+ # @option options [String] :secret_access_key
266
+ #
267
+ # @option options [String] :session_token
268
+ #
269
+ # @option options [Boolean] :stub_responses (false)
270
+ # Causes the client to return stubbed responses. By default
271
+ # fake responses are generated and returned. You can specify
272
+ # the response data to return or errors to raise by calling
273
+ # {ClientStubs#stub_responses}. See {ClientStubs} for more information.
274
+ #
275
+ # ** Please note ** When response stubbing is enabled, no HTTP
276
+ # requests are made, and retries are disabled.
277
+ #
278
+ # @option options [Boolean] :use_dualstack_endpoint
279
+ # When set to `true`, dualstack enabled endpoints (with `.aws` TLD)
280
+ # will be used if available.
281
+ #
282
+ # @option options [Boolean] :use_fips_endpoint
283
+ # When set to `true`, fips compatible endpoints will be used if available.
284
+ # When a `fips` region is used, the region is normalized and this config
285
+ # is set to `true`.
286
+ #
287
+ # @option options [Boolean] :validate_params (true)
288
+ # When `true`, request parameters are validated before
289
+ # sending the request.
290
+ #
291
+ # @option options [URI::HTTP,String] :http_proxy A proxy to send
292
+ # requests through. Formatted like 'http://proxy.com:123'.
293
+ #
294
+ # @option options [Float] :http_open_timeout (15) The number of
295
+ # seconds to wait when opening a HTTP session before raising a
296
+ # `Timeout::Error`.
297
+ #
298
+ # @option options [Integer] :http_read_timeout (60) The default
299
+ # number of seconds to wait for response data. This value can
300
+ # safely be set per-request on the session.
301
+ #
302
+ # @option options [Float] :http_idle_timeout (5) The number of
303
+ # seconds a connection is allowed to sit idle before it is
304
+ # considered stale. Stale connections are closed and removed
305
+ # from the pool before making a request.
306
+ #
307
+ # @option options [Float] :http_continue_timeout (1) The number of
308
+ # seconds to wait for a 100-continue response before sending the
309
+ # request body. This option has no effect unless the request has
310
+ # "Expect" header set to "100-continue". Defaults to `nil` which
311
+ # disables this behaviour. This value can safely be set per
312
+ # request on the session.
313
+ #
314
+ # @option options [Boolean] :http_wire_trace (false) When `true`,
315
+ # HTTP debug output will be sent to the `:logger`.
316
+ #
317
+ # @option options [Boolean] :ssl_verify_peer (true) When `true`,
318
+ # SSL peer certificates are verified when establishing a
319
+ # connection.
320
+ #
321
+ # @option options [String] :ssl_ca_bundle Full path to the SSL
322
+ # certificate authority bundle file that should be used when
323
+ # verifying peer certificates. If you do not pass
324
+ # `:ssl_ca_bundle` or `:ssl_ca_directory` the the system default
325
+ # will be used if available.
326
+ #
327
+ # @option options [String] :ssl_ca_directory Full path of the
328
+ # directory that contains the unbundled SSL certificate
329
+ # authority files for verifying peer certificates. If you do
330
+ # not pass `:ssl_ca_bundle` or `:ssl_ca_directory` the the
331
+ # system default will be used if available.
332
+ #
333
+ def initialize(*args)
334
+ super
335
+ end
336
+
337
+ # @!group API Operations
338
+
339
+ # Associates an Amazon Web Services account with an Amazon Inspector
340
+ # delegated administrator.
341
+ #
342
+ # @option params [required, String] :account_id
343
+ # The Amazon Web Services account ID of the member account to be
344
+ # associated.
345
+ #
346
+ # @return [Types::AssociateMemberResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
347
+ #
348
+ # * {Types::AssociateMemberResponse#account_id #account_id} => String
349
+ #
350
+ # @example Request syntax with placeholder values
351
+ #
352
+ # resp = client.associate_member({
353
+ # account_id: "AccountId", # required
354
+ # })
355
+ #
356
+ # @example Response structure
357
+ #
358
+ # resp.account_id #=> String
359
+ #
360
+ # @see http://docs.aws.amazon.com/goto/WebAPI/inspector2-2020-06-08/AssociateMember AWS API Documentation
361
+ #
362
+ # @overload associate_member(params = {})
363
+ # @param [Hash] params ({})
364
+ def associate_member(params = {}, options = {})
365
+ req = build_request(:associate_member, params)
366
+ req.send_request(options)
367
+ end
368
+
369
+ # Retrieves the Amazon Inspector status of multiple Amazon Web Services
370
+ # accounts within your environment.
371
+ #
372
+ # @option params [Array<String>] :account_ids
373
+ # The 12-digit Amazon Web Services account IDs of the accounts to
374
+ # retrieve Amazon Inspector status for.
375
+ #
376
+ # @return [Types::BatchGetAccountStatusResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
377
+ #
378
+ # * {Types::BatchGetAccountStatusResponse#accounts #accounts} => Array&lt;Types::AccountState&gt;
379
+ # * {Types::BatchGetAccountStatusResponse#failed_accounts #failed_accounts} => Array&lt;Types::FailedAccount&gt;
380
+ #
381
+ # @example Request syntax with placeholder values
382
+ #
383
+ # resp = client.batch_get_account_status({
384
+ # account_ids: ["AccountId"],
385
+ # })
386
+ #
387
+ # @example Response structure
388
+ #
389
+ # resp.accounts #=> Array
390
+ # resp.accounts[0].account_id #=> String
391
+ # resp.accounts[0].resource_state.ec2.error_code #=> String, one of "ALREADY_ENABLED", "ENABLE_IN_PROGRESS", "DISABLE_IN_PROGRESS", "SUSPEND_IN_PROGRESS", "RESOURCE_NOT_FOUND", "ACCESS_DENIED", "INTERNAL_ERROR", "SSM_UNAVAILABLE", "SSM_THROTTLED", "EVENTBRIDGE_UNAVAILABLE", "EVENTBRIDGE_THROTTLED", "RESOURCE_SCAN_NOT_DISABLED", "DISASSOCIATE_ALL_MEMBERS"
392
+ # resp.accounts[0].resource_state.ec2.error_message #=> String
393
+ # resp.accounts[0].resource_state.ec2.status #=> String, one of "ENABLING", "ENABLED", "DISABLING", "DISABLED", "SUSPENDING", "SUSPENDED"
394
+ # resp.accounts[0].resource_state.ecr.error_code #=> String, one of "ALREADY_ENABLED", "ENABLE_IN_PROGRESS", "DISABLE_IN_PROGRESS", "SUSPEND_IN_PROGRESS", "RESOURCE_NOT_FOUND", "ACCESS_DENIED", "INTERNAL_ERROR", "SSM_UNAVAILABLE", "SSM_THROTTLED", "EVENTBRIDGE_UNAVAILABLE", "EVENTBRIDGE_THROTTLED", "RESOURCE_SCAN_NOT_DISABLED", "DISASSOCIATE_ALL_MEMBERS"
395
+ # resp.accounts[0].resource_state.ecr.error_message #=> String
396
+ # resp.accounts[0].resource_state.ecr.status #=> String, one of "ENABLING", "ENABLED", "DISABLING", "DISABLED", "SUSPENDING", "SUSPENDED"
397
+ # resp.accounts[0].state.error_code #=> String, one of "ALREADY_ENABLED", "ENABLE_IN_PROGRESS", "DISABLE_IN_PROGRESS", "SUSPEND_IN_PROGRESS", "RESOURCE_NOT_FOUND", "ACCESS_DENIED", "INTERNAL_ERROR", "SSM_UNAVAILABLE", "SSM_THROTTLED", "EVENTBRIDGE_UNAVAILABLE", "EVENTBRIDGE_THROTTLED", "RESOURCE_SCAN_NOT_DISABLED", "DISASSOCIATE_ALL_MEMBERS"
398
+ # resp.accounts[0].state.error_message #=> String
399
+ # resp.accounts[0].state.status #=> String, one of "ENABLING", "ENABLED", "DISABLING", "DISABLED", "SUSPENDING", "SUSPENDED"
400
+ # resp.failed_accounts #=> Array
401
+ # resp.failed_accounts[0].account_id #=> String
402
+ # resp.failed_accounts[0].error_code #=> String, one of "ALREADY_ENABLED", "ENABLE_IN_PROGRESS", "DISABLE_IN_PROGRESS", "SUSPEND_IN_PROGRESS", "RESOURCE_NOT_FOUND", "ACCESS_DENIED", "INTERNAL_ERROR", "SSM_UNAVAILABLE", "SSM_THROTTLED", "EVENTBRIDGE_UNAVAILABLE", "EVENTBRIDGE_THROTTLED", "RESOURCE_SCAN_NOT_DISABLED", "DISASSOCIATE_ALL_MEMBERS"
403
+ # resp.failed_accounts[0].error_message #=> String
404
+ # resp.failed_accounts[0].resource_status.ec2 #=> String, one of "ENABLING", "ENABLED", "DISABLING", "DISABLED", "SUSPENDING", "SUSPENDED"
405
+ # resp.failed_accounts[0].resource_status.ecr #=> String, one of "ENABLING", "ENABLED", "DISABLING", "DISABLED", "SUSPENDING", "SUSPENDED"
406
+ # resp.failed_accounts[0].status #=> String, one of "ENABLING", "ENABLED", "DISABLING", "DISABLED", "SUSPENDING", "SUSPENDED"
407
+ #
408
+ # @see http://docs.aws.amazon.com/goto/WebAPI/inspector2-2020-06-08/BatchGetAccountStatus AWS API Documentation
409
+ #
410
+ # @overload batch_get_account_status(params = {})
411
+ # @param [Hash] params ({})
412
+ def batch_get_account_status(params = {}, options = {})
413
+ req = build_request(:batch_get_account_status, params)
414
+ req.send_request(options)
415
+ end
416
+
417
+ # Gets free trial status for multiple Amazon Web Services accounts.
418
+ #
419
+ # @option params [required, Array<String>] :account_ids
420
+ # The account IDs to get free trial status for.
421
+ #
422
+ # @return [Types::BatchGetFreeTrialInfoResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
423
+ #
424
+ # * {Types::BatchGetFreeTrialInfoResponse#accounts #accounts} => Array&lt;Types::FreeTrialAccountInfo&gt;
425
+ # * {Types::BatchGetFreeTrialInfoResponse#failed_accounts #failed_accounts} => Array&lt;Types::FreeTrialInfoError&gt;
426
+ #
427
+ # @example Request syntax with placeholder values
428
+ #
429
+ # resp = client.batch_get_free_trial_info({
430
+ # account_ids: ["MeteringAccountId"], # required
431
+ # })
432
+ #
433
+ # @example Response structure
434
+ #
435
+ # resp.accounts #=> Array
436
+ # resp.accounts[0].account_id #=> String
437
+ # resp.accounts[0].free_trial_info #=> Array
438
+ # resp.accounts[0].free_trial_info[0].end #=> Time
439
+ # resp.accounts[0].free_trial_info[0].start #=> Time
440
+ # resp.accounts[0].free_trial_info[0].status #=> String, one of "ACTIVE", "INACTIVE"
441
+ # resp.accounts[0].free_trial_info[0].type #=> String, one of "EC2", "ECR"
442
+ # resp.failed_accounts #=> Array
443
+ # resp.failed_accounts[0].account_id #=> String
444
+ # resp.failed_accounts[0].code #=> String, one of "ACCESS_DENIED", "INTERNAL_ERROR"
445
+ # resp.failed_accounts[0].message #=> String
446
+ #
447
+ # @see http://docs.aws.amazon.com/goto/WebAPI/inspector2-2020-06-08/BatchGetFreeTrialInfo AWS API Documentation
448
+ #
449
+ # @overload batch_get_free_trial_info(params = {})
450
+ # @param [Hash] params ({})
451
+ def batch_get_free_trial_info(params = {}, options = {})
452
+ req = build_request(:batch_get_free_trial_info, params)
453
+ req.send_request(options)
454
+ end
455
+
456
+ # Cancels the given findings report.
457
+ #
458
+ # @option params [required, String] :report_id
459
+ # The ID of the report to be canceled.
460
+ #
461
+ # @return [Types::CancelFindingsReportResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
462
+ #
463
+ # * {Types::CancelFindingsReportResponse#report_id #report_id} => String
464
+ #
465
+ # @example Request syntax with placeholder values
466
+ #
467
+ # resp = client.cancel_findings_report({
468
+ # report_id: "ReportId", # required
469
+ # })
470
+ #
471
+ # @example Response structure
472
+ #
473
+ # resp.report_id #=> String
474
+ #
475
+ # @see http://docs.aws.amazon.com/goto/WebAPI/inspector2-2020-06-08/CancelFindingsReport AWS API Documentation
476
+ #
477
+ # @overload cancel_findings_report(params = {})
478
+ # @param [Hash] params ({})
479
+ def cancel_findings_report(params = {}, options = {})
480
+ req = build_request(:cancel_findings_report, params)
481
+ req.send_request(options)
482
+ end
483
+
484
+ # Creates a filter resource using specified filter criteria.
485
+ #
486
+ # @option params [required, String] :action
487
+ # Defines the action that is to be applied to the findings that match
488
+ # the filter.
489
+ #
490
+ # @option params [String] :description
491
+ # A description of the filter.
492
+ #
493
+ # @option params [required, Types::FilterCriteria] :filter_criteria
494
+ # Defines the criteria to be used in the filter for querying findings.
495
+ #
496
+ # @option params [required, String] :name
497
+ # The name of the filter. Minimum length of 3. Maximum length of 64.
498
+ # Valid characters include alphanumeric characters, dot (.), underscore
499
+ # (\_), and dash (-). Spaces are not allowed.
500
+ #
501
+ # @option params [Hash<String,String>] :tags
502
+ # A list of tags for the filter.
503
+ #
504
+ # @return [Types::CreateFilterResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
505
+ #
506
+ # * {Types::CreateFilterResponse#arn #arn} => String
507
+ #
508
+ # @example Request syntax with placeholder values
509
+ #
510
+ # resp = client.create_filter({
511
+ # action: "NONE", # required, accepts NONE, SUPPRESS
512
+ # description: "FilterDescription",
513
+ # filter_criteria: { # required
514
+ # aws_account_id: [
515
+ # {
516
+ # comparison: "EQUALS", # required, accepts EQUALS, PREFIX, NOT_EQUALS
517
+ # value: "StringInput", # required
518
+ # },
519
+ # ],
520
+ # component_id: [
521
+ # {
522
+ # comparison: "EQUALS", # required, accepts EQUALS, PREFIX, NOT_EQUALS
523
+ # value: "StringInput", # required
524
+ # },
525
+ # ],
526
+ # component_type: [
527
+ # {
528
+ # comparison: "EQUALS", # required, accepts EQUALS, PREFIX, NOT_EQUALS
529
+ # value: "StringInput", # required
530
+ # },
531
+ # ],
532
+ # ec2_instance_image_id: [
533
+ # {
534
+ # comparison: "EQUALS", # required, accepts EQUALS, PREFIX, NOT_EQUALS
535
+ # value: "StringInput", # required
536
+ # },
537
+ # ],
538
+ # ec2_instance_subnet_id: [
539
+ # {
540
+ # comparison: "EQUALS", # required, accepts EQUALS, PREFIX, NOT_EQUALS
541
+ # value: "StringInput", # required
542
+ # },
543
+ # ],
544
+ # ec2_instance_vpc_id: [
545
+ # {
546
+ # comparison: "EQUALS", # required, accepts EQUALS, PREFIX, NOT_EQUALS
547
+ # value: "StringInput", # required
548
+ # },
549
+ # ],
550
+ # ecr_image_architecture: [
551
+ # {
552
+ # comparison: "EQUALS", # required, accepts EQUALS, PREFIX, NOT_EQUALS
553
+ # value: "StringInput", # required
554
+ # },
555
+ # ],
556
+ # ecr_image_hash: [
557
+ # {
558
+ # comparison: "EQUALS", # required, accepts EQUALS, PREFIX, NOT_EQUALS
559
+ # value: "StringInput", # required
560
+ # },
561
+ # ],
562
+ # ecr_image_pushed_at: [
563
+ # {
564
+ # end_inclusive: Time.now,
565
+ # start_inclusive: Time.now,
566
+ # },
567
+ # ],
568
+ # ecr_image_registry: [
569
+ # {
570
+ # comparison: "EQUALS", # required, accepts EQUALS, PREFIX, NOT_EQUALS
571
+ # value: "StringInput", # required
572
+ # },
573
+ # ],
574
+ # ecr_image_repository_name: [
575
+ # {
576
+ # comparison: "EQUALS", # required, accepts EQUALS, PREFIX, NOT_EQUALS
577
+ # value: "StringInput", # required
578
+ # },
579
+ # ],
580
+ # ecr_image_tags: [
581
+ # {
582
+ # comparison: "EQUALS", # required, accepts EQUALS, PREFIX, NOT_EQUALS
583
+ # value: "StringInput", # required
584
+ # },
585
+ # ],
586
+ # finding_arn: [
587
+ # {
588
+ # comparison: "EQUALS", # required, accepts EQUALS, PREFIX, NOT_EQUALS
589
+ # value: "StringInput", # required
590
+ # },
591
+ # ],
592
+ # finding_status: [
593
+ # {
594
+ # comparison: "EQUALS", # required, accepts EQUALS, PREFIX, NOT_EQUALS
595
+ # value: "StringInput", # required
596
+ # },
597
+ # ],
598
+ # finding_type: [
599
+ # {
600
+ # comparison: "EQUALS", # required, accepts EQUALS, PREFIX, NOT_EQUALS
601
+ # value: "StringInput", # required
602
+ # },
603
+ # ],
604
+ # first_observed_at: [
605
+ # {
606
+ # end_inclusive: Time.now,
607
+ # start_inclusive: Time.now,
608
+ # },
609
+ # ],
610
+ # inspector_score: [
611
+ # {
612
+ # lower_inclusive: 1.0,
613
+ # upper_inclusive: 1.0,
614
+ # },
615
+ # ],
616
+ # last_observed_at: [
617
+ # {
618
+ # end_inclusive: Time.now,
619
+ # start_inclusive: Time.now,
620
+ # },
621
+ # ],
622
+ # network_protocol: [
623
+ # {
624
+ # comparison: "EQUALS", # required, accepts EQUALS, PREFIX, NOT_EQUALS
625
+ # value: "StringInput", # required
626
+ # },
627
+ # ],
628
+ # port_range: [
629
+ # {
630
+ # begin_inclusive: 1,
631
+ # end_inclusive: 1,
632
+ # },
633
+ # ],
634
+ # related_vulnerabilities: [
635
+ # {
636
+ # comparison: "EQUALS", # required, accepts EQUALS, PREFIX, NOT_EQUALS
637
+ # value: "StringInput", # required
638
+ # },
639
+ # ],
640
+ # resource_id: [
641
+ # {
642
+ # comparison: "EQUALS", # required, accepts EQUALS, PREFIX, NOT_EQUALS
643
+ # value: "StringInput", # required
644
+ # },
645
+ # ],
646
+ # resource_tags: [
647
+ # {
648
+ # comparison: "EQUALS", # required, accepts EQUALS
649
+ # key: "MapKey", # required
650
+ # value: "MapValue",
651
+ # },
652
+ # ],
653
+ # resource_type: [
654
+ # {
655
+ # comparison: "EQUALS", # required, accepts EQUALS, PREFIX, NOT_EQUALS
656
+ # value: "StringInput", # required
657
+ # },
658
+ # ],
659
+ # severity: [
660
+ # {
661
+ # comparison: "EQUALS", # required, accepts EQUALS, PREFIX, NOT_EQUALS
662
+ # value: "StringInput", # required
663
+ # },
664
+ # ],
665
+ # title: [
666
+ # {
667
+ # comparison: "EQUALS", # required, accepts EQUALS, PREFIX, NOT_EQUALS
668
+ # value: "StringInput", # required
669
+ # },
670
+ # ],
671
+ # updated_at: [
672
+ # {
673
+ # end_inclusive: Time.now,
674
+ # start_inclusive: Time.now,
675
+ # },
676
+ # ],
677
+ # vendor_severity: [
678
+ # {
679
+ # comparison: "EQUALS", # required, accepts EQUALS, PREFIX, NOT_EQUALS
680
+ # value: "StringInput", # required
681
+ # },
682
+ # ],
683
+ # vulnerability_id: [
684
+ # {
685
+ # comparison: "EQUALS", # required, accepts EQUALS, PREFIX, NOT_EQUALS
686
+ # value: "StringInput", # required
687
+ # },
688
+ # ],
689
+ # vulnerability_source: [
690
+ # {
691
+ # comparison: "EQUALS", # required, accepts EQUALS, PREFIX, NOT_EQUALS
692
+ # value: "StringInput", # required
693
+ # },
694
+ # ],
695
+ # vulnerable_packages: [
696
+ # {
697
+ # architecture: {
698
+ # comparison: "EQUALS", # required, accepts EQUALS, PREFIX, NOT_EQUALS
699
+ # value: "StringInput", # required
700
+ # },
701
+ # epoch: {
702
+ # lower_inclusive: 1.0,
703
+ # upper_inclusive: 1.0,
704
+ # },
705
+ # name: {
706
+ # comparison: "EQUALS", # required, accepts EQUALS, PREFIX, NOT_EQUALS
707
+ # value: "StringInput", # required
708
+ # },
709
+ # release: {
710
+ # comparison: "EQUALS", # required, accepts EQUALS, PREFIX, NOT_EQUALS
711
+ # value: "StringInput", # required
712
+ # },
713
+ # source_layer_hash: {
714
+ # comparison: "EQUALS", # required, accepts EQUALS, PREFIX, NOT_EQUALS
715
+ # value: "StringInput", # required
716
+ # },
717
+ # version: {
718
+ # comparison: "EQUALS", # required, accepts EQUALS, PREFIX, NOT_EQUALS
719
+ # value: "StringInput", # required
720
+ # },
721
+ # },
722
+ # ],
723
+ # },
724
+ # name: "FilterName", # required
725
+ # tags: {
726
+ # "MapKey" => "MapValue",
727
+ # },
728
+ # })
729
+ #
730
+ # @example Response structure
731
+ #
732
+ # resp.arn #=> String
733
+ #
734
+ # @see http://docs.aws.amazon.com/goto/WebAPI/inspector2-2020-06-08/CreateFilter AWS API Documentation
735
+ #
736
+ # @overload create_filter(params = {})
737
+ # @param [Hash] params ({})
738
+ def create_filter(params = {}, options = {})
739
+ req = build_request(:create_filter, params)
740
+ req.send_request(options)
741
+ end
742
+
743
+ # Creates a finding report.
744
+ #
745
+ # @option params [Types::FilterCriteria] :filter_criteria
746
+ # The filter criteria to apply to the results of the finding report.
747
+ #
748
+ # @option params [required, String] :report_format
749
+ # The format to generate the report in.
750
+ #
751
+ # @option params [required, Types::Destination] :s3_destination
752
+ # The Amazon S3 export destination for the report.
753
+ #
754
+ # @return [Types::CreateFindingsReportResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
755
+ #
756
+ # * {Types::CreateFindingsReportResponse#report_id #report_id} => String
757
+ #
758
+ # @example Request syntax with placeholder values
759
+ #
760
+ # resp = client.create_findings_report({
761
+ # filter_criteria: {
762
+ # aws_account_id: [
763
+ # {
764
+ # comparison: "EQUALS", # required, accepts EQUALS, PREFIX, NOT_EQUALS
765
+ # value: "StringInput", # required
766
+ # },
767
+ # ],
768
+ # component_id: [
769
+ # {
770
+ # comparison: "EQUALS", # required, accepts EQUALS, PREFIX, NOT_EQUALS
771
+ # value: "StringInput", # required
772
+ # },
773
+ # ],
774
+ # component_type: [
775
+ # {
776
+ # comparison: "EQUALS", # required, accepts EQUALS, PREFIX, NOT_EQUALS
777
+ # value: "StringInput", # required
778
+ # },
779
+ # ],
780
+ # ec2_instance_image_id: [
781
+ # {
782
+ # comparison: "EQUALS", # required, accepts EQUALS, PREFIX, NOT_EQUALS
783
+ # value: "StringInput", # required
784
+ # },
785
+ # ],
786
+ # ec2_instance_subnet_id: [
787
+ # {
788
+ # comparison: "EQUALS", # required, accepts EQUALS, PREFIX, NOT_EQUALS
789
+ # value: "StringInput", # required
790
+ # },
791
+ # ],
792
+ # ec2_instance_vpc_id: [
793
+ # {
794
+ # comparison: "EQUALS", # required, accepts EQUALS, PREFIX, NOT_EQUALS
795
+ # value: "StringInput", # required
796
+ # },
797
+ # ],
798
+ # ecr_image_architecture: [
799
+ # {
800
+ # comparison: "EQUALS", # required, accepts EQUALS, PREFIX, NOT_EQUALS
801
+ # value: "StringInput", # required
802
+ # },
803
+ # ],
804
+ # ecr_image_hash: [
805
+ # {
806
+ # comparison: "EQUALS", # required, accepts EQUALS, PREFIX, NOT_EQUALS
807
+ # value: "StringInput", # required
808
+ # },
809
+ # ],
810
+ # ecr_image_pushed_at: [
811
+ # {
812
+ # end_inclusive: Time.now,
813
+ # start_inclusive: Time.now,
814
+ # },
815
+ # ],
816
+ # ecr_image_registry: [
817
+ # {
818
+ # comparison: "EQUALS", # required, accepts EQUALS, PREFIX, NOT_EQUALS
819
+ # value: "StringInput", # required
820
+ # },
821
+ # ],
822
+ # ecr_image_repository_name: [
823
+ # {
824
+ # comparison: "EQUALS", # required, accepts EQUALS, PREFIX, NOT_EQUALS
825
+ # value: "StringInput", # required
826
+ # },
827
+ # ],
828
+ # ecr_image_tags: [
829
+ # {
830
+ # comparison: "EQUALS", # required, accepts EQUALS, PREFIX, NOT_EQUALS
831
+ # value: "StringInput", # required
832
+ # },
833
+ # ],
834
+ # finding_arn: [
835
+ # {
836
+ # comparison: "EQUALS", # required, accepts EQUALS, PREFIX, NOT_EQUALS
837
+ # value: "StringInput", # required
838
+ # },
839
+ # ],
840
+ # finding_status: [
841
+ # {
842
+ # comparison: "EQUALS", # required, accepts EQUALS, PREFIX, NOT_EQUALS
843
+ # value: "StringInput", # required
844
+ # },
845
+ # ],
846
+ # finding_type: [
847
+ # {
848
+ # comparison: "EQUALS", # required, accepts EQUALS, PREFIX, NOT_EQUALS
849
+ # value: "StringInput", # required
850
+ # },
851
+ # ],
852
+ # first_observed_at: [
853
+ # {
854
+ # end_inclusive: Time.now,
855
+ # start_inclusive: Time.now,
856
+ # },
857
+ # ],
858
+ # inspector_score: [
859
+ # {
860
+ # lower_inclusive: 1.0,
861
+ # upper_inclusive: 1.0,
862
+ # },
863
+ # ],
864
+ # last_observed_at: [
865
+ # {
866
+ # end_inclusive: Time.now,
867
+ # start_inclusive: Time.now,
868
+ # },
869
+ # ],
870
+ # network_protocol: [
871
+ # {
872
+ # comparison: "EQUALS", # required, accepts EQUALS, PREFIX, NOT_EQUALS
873
+ # value: "StringInput", # required
874
+ # },
875
+ # ],
876
+ # port_range: [
877
+ # {
878
+ # begin_inclusive: 1,
879
+ # end_inclusive: 1,
880
+ # },
881
+ # ],
882
+ # related_vulnerabilities: [
883
+ # {
884
+ # comparison: "EQUALS", # required, accepts EQUALS, PREFIX, NOT_EQUALS
885
+ # value: "StringInput", # required
886
+ # },
887
+ # ],
888
+ # resource_id: [
889
+ # {
890
+ # comparison: "EQUALS", # required, accepts EQUALS, PREFIX, NOT_EQUALS
891
+ # value: "StringInput", # required
892
+ # },
893
+ # ],
894
+ # resource_tags: [
895
+ # {
896
+ # comparison: "EQUALS", # required, accepts EQUALS
897
+ # key: "MapKey", # required
898
+ # value: "MapValue",
899
+ # },
900
+ # ],
901
+ # resource_type: [
902
+ # {
903
+ # comparison: "EQUALS", # required, accepts EQUALS, PREFIX, NOT_EQUALS
904
+ # value: "StringInput", # required
905
+ # },
906
+ # ],
907
+ # severity: [
908
+ # {
909
+ # comparison: "EQUALS", # required, accepts EQUALS, PREFIX, NOT_EQUALS
910
+ # value: "StringInput", # required
911
+ # },
912
+ # ],
913
+ # title: [
914
+ # {
915
+ # comparison: "EQUALS", # required, accepts EQUALS, PREFIX, NOT_EQUALS
916
+ # value: "StringInput", # required
917
+ # },
918
+ # ],
919
+ # updated_at: [
920
+ # {
921
+ # end_inclusive: Time.now,
922
+ # start_inclusive: Time.now,
923
+ # },
924
+ # ],
925
+ # vendor_severity: [
926
+ # {
927
+ # comparison: "EQUALS", # required, accepts EQUALS, PREFIX, NOT_EQUALS
928
+ # value: "StringInput", # required
929
+ # },
930
+ # ],
931
+ # vulnerability_id: [
932
+ # {
933
+ # comparison: "EQUALS", # required, accepts EQUALS, PREFIX, NOT_EQUALS
934
+ # value: "StringInput", # required
935
+ # },
936
+ # ],
937
+ # vulnerability_source: [
938
+ # {
939
+ # comparison: "EQUALS", # required, accepts EQUALS, PREFIX, NOT_EQUALS
940
+ # value: "StringInput", # required
941
+ # },
942
+ # ],
943
+ # vulnerable_packages: [
944
+ # {
945
+ # architecture: {
946
+ # comparison: "EQUALS", # required, accepts EQUALS, PREFIX, NOT_EQUALS
947
+ # value: "StringInput", # required
948
+ # },
949
+ # epoch: {
950
+ # lower_inclusive: 1.0,
951
+ # upper_inclusive: 1.0,
952
+ # },
953
+ # name: {
954
+ # comparison: "EQUALS", # required, accepts EQUALS, PREFIX, NOT_EQUALS
955
+ # value: "StringInput", # required
956
+ # },
957
+ # release: {
958
+ # comparison: "EQUALS", # required, accepts EQUALS, PREFIX, NOT_EQUALS
959
+ # value: "StringInput", # required
960
+ # },
961
+ # source_layer_hash: {
962
+ # comparison: "EQUALS", # required, accepts EQUALS, PREFIX, NOT_EQUALS
963
+ # value: "StringInput", # required
964
+ # },
965
+ # version: {
966
+ # comparison: "EQUALS", # required, accepts EQUALS, PREFIX, NOT_EQUALS
967
+ # value: "StringInput", # required
968
+ # },
969
+ # },
970
+ # ],
971
+ # },
972
+ # report_format: "CSV", # required, accepts CSV, JSON
973
+ # s3_destination: { # required
974
+ # bucket_name: "String", # required
975
+ # key_prefix: "String",
976
+ # kms_key_arn: "String", # required
977
+ # },
978
+ # })
979
+ #
980
+ # @example Response structure
981
+ #
982
+ # resp.report_id #=> String
983
+ #
984
+ # @see http://docs.aws.amazon.com/goto/WebAPI/inspector2-2020-06-08/CreateFindingsReport AWS API Documentation
985
+ #
986
+ # @overload create_findings_report(params = {})
987
+ # @param [Hash] params ({})
988
+ def create_findings_report(params = {}, options = {})
989
+ req = build_request(:create_findings_report, params)
990
+ req.send_request(options)
991
+ end
992
+
993
+ # Deletes a filter resource.
994
+ #
995
+ # @option params [required, String] :arn
996
+ # The Amazon Resource Number (ARN) of the filter to be deleted.
997
+ #
998
+ # @return [Types::DeleteFilterResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
999
+ #
1000
+ # * {Types::DeleteFilterResponse#arn #arn} => String
1001
+ #
1002
+ # @example Request syntax with placeholder values
1003
+ #
1004
+ # resp = client.delete_filter({
1005
+ # arn: "FilterArn", # required
1006
+ # })
1007
+ #
1008
+ # @example Response structure
1009
+ #
1010
+ # resp.arn #=> String
1011
+ #
1012
+ # @see http://docs.aws.amazon.com/goto/WebAPI/inspector2-2020-06-08/DeleteFilter AWS API Documentation
1013
+ #
1014
+ # @overload delete_filter(params = {})
1015
+ # @param [Hash] params ({})
1016
+ def delete_filter(params = {}, options = {})
1017
+ req = build_request(:delete_filter, params)
1018
+ req.send_request(options)
1019
+ end
1020
+
1021
+ # Describe Amazon Inspector configuration settings for an Amazon Web
1022
+ # Services organization
1023
+ #
1024
+ # @return [Types::DescribeOrganizationConfigurationResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1025
+ #
1026
+ # * {Types::DescribeOrganizationConfigurationResponse#auto_enable #auto_enable} => Types::AutoEnable
1027
+ # * {Types::DescribeOrganizationConfigurationResponse#max_account_limit_reached #max_account_limit_reached} => Boolean
1028
+ #
1029
+ # @example Response structure
1030
+ #
1031
+ # resp.auto_enable.ec2 #=> Boolean
1032
+ # resp.auto_enable.ecr #=> Boolean
1033
+ # resp.max_account_limit_reached #=> Boolean
1034
+ #
1035
+ # @see http://docs.aws.amazon.com/goto/WebAPI/inspector2-2020-06-08/DescribeOrganizationConfiguration AWS API Documentation
1036
+ #
1037
+ # @overload describe_organization_configuration(params = {})
1038
+ # @param [Hash] params ({})
1039
+ def describe_organization_configuration(params = {}, options = {})
1040
+ req = build_request(:describe_organization_configuration, params)
1041
+ req.send_request(options)
1042
+ end
1043
+
1044
+ # Disables Amazon Inspector scans for one or more Amazon Web Services
1045
+ # accounts. Disabling all scan types in an account disables the Amazon
1046
+ # Inspector service.
1047
+ #
1048
+ # @option params [Array<String>] :account_ids
1049
+ # An array of account IDs you want to disable Amazon Inspector scans
1050
+ # for.
1051
+ #
1052
+ # @option params [Array<String>] :resource_types
1053
+ # The resource scan types you want to disable.
1054
+ #
1055
+ # @return [Types::DisableResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1056
+ #
1057
+ # * {Types::DisableResponse#accounts #accounts} => Array&lt;Types::Account&gt;
1058
+ # * {Types::DisableResponse#failed_accounts #failed_accounts} => Array&lt;Types::FailedAccount&gt;
1059
+ #
1060
+ # @example Request syntax with placeholder values
1061
+ #
1062
+ # resp = client.disable({
1063
+ # account_ids: ["AccountId"],
1064
+ # resource_types: ["EC2"], # accepts EC2, ECR
1065
+ # })
1066
+ #
1067
+ # @example Response structure
1068
+ #
1069
+ # resp.accounts #=> Array
1070
+ # resp.accounts[0].account_id #=> String
1071
+ # resp.accounts[0].resource_status.ec2 #=> String, one of "ENABLING", "ENABLED", "DISABLING", "DISABLED", "SUSPENDING", "SUSPENDED"
1072
+ # resp.accounts[0].resource_status.ecr #=> String, one of "ENABLING", "ENABLED", "DISABLING", "DISABLED", "SUSPENDING", "SUSPENDED"
1073
+ # resp.accounts[0].status #=> String, one of "ENABLING", "ENABLED", "DISABLING", "DISABLED", "SUSPENDING", "SUSPENDED"
1074
+ # resp.failed_accounts #=> Array
1075
+ # resp.failed_accounts[0].account_id #=> String
1076
+ # resp.failed_accounts[0].error_code #=> String, one of "ALREADY_ENABLED", "ENABLE_IN_PROGRESS", "DISABLE_IN_PROGRESS", "SUSPEND_IN_PROGRESS", "RESOURCE_NOT_FOUND", "ACCESS_DENIED", "INTERNAL_ERROR", "SSM_UNAVAILABLE", "SSM_THROTTLED", "EVENTBRIDGE_UNAVAILABLE", "EVENTBRIDGE_THROTTLED", "RESOURCE_SCAN_NOT_DISABLED", "DISASSOCIATE_ALL_MEMBERS"
1077
+ # resp.failed_accounts[0].error_message #=> String
1078
+ # resp.failed_accounts[0].resource_status.ec2 #=> String, one of "ENABLING", "ENABLED", "DISABLING", "DISABLED", "SUSPENDING", "SUSPENDED"
1079
+ # resp.failed_accounts[0].resource_status.ecr #=> String, one of "ENABLING", "ENABLED", "DISABLING", "DISABLED", "SUSPENDING", "SUSPENDED"
1080
+ # resp.failed_accounts[0].status #=> String, one of "ENABLING", "ENABLED", "DISABLING", "DISABLED", "SUSPENDING", "SUSPENDED"
1081
+ #
1082
+ # @see http://docs.aws.amazon.com/goto/WebAPI/inspector2-2020-06-08/Disable AWS API Documentation
1083
+ #
1084
+ # @overload disable(params = {})
1085
+ # @param [Hash] params ({})
1086
+ def disable(params = {}, options = {})
1087
+ req = build_request(:disable, params)
1088
+ req.send_request(options)
1089
+ end
1090
+
1091
+ # Disables the Amazon Inspector delegated administrator for your
1092
+ # organization.
1093
+ #
1094
+ # @option params [required, String] :delegated_admin_account_id
1095
+ # The Amazon Web Services account ID of the current Amazon Inspector
1096
+ # delegated administrator.
1097
+ #
1098
+ # @return [Types::DisableDelegatedAdminAccountResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1099
+ #
1100
+ # * {Types::DisableDelegatedAdminAccountResponse#delegated_admin_account_id #delegated_admin_account_id} => String
1101
+ #
1102
+ # @example Request syntax with placeholder values
1103
+ #
1104
+ # resp = client.disable_delegated_admin_account({
1105
+ # delegated_admin_account_id: "AccountId", # required
1106
+ # })
1107
+ #
1108
+ # @example Response structure
1109
+ #
1110
+ # resp.delegated_admin_account_id #=> String
1111
+ #
1112
+ # @see http://docs.aws.amazon.com/goto/WebAPI/inspector2-2020-06-08/DisableDelegatedAdminAccount AWS API Documentation
1113
+ #
1114
+ # @overload disable_delegated_admin_account(params = {})
1115
+ # @param [Hash] params ({})
1116
+ def disable_delegated_admin_account(params = {}, options = {})
1117
+ req = build_request(:disable_delegated_admin_account, params)
1118
+ req.send_request(options)
1119
+ end
1120
+
1121
+ # Disassociates a member account from an Amazon Inspector delegated
1122
+ # administrator.
1123
+ #
1124
+ # @option params [required, String] :account_id
1125
+ # The Amazon Web Services account ID of the member account to
1126
+ # disassociate.
1127
+ #
1128
+ # @return [Types::DisassociateMemberResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1129
+ #
1130
+ # * {Types::DisassociateMemberResponse#account_id #account_id} => String
1131
+ #
1132
+ # @example Request syntax with placeholder values
1133
+ #
1134
+ # resp = client.disassociate_member({
1135
+ # account_id: "AccountId", # required
1136
+ # })
1137
+ #
1138
+ # @example Response structure
1139
+ #
1140
+ # resp.account_id #=> String
1141
+ #
1142
+ # @see http://docs.aws.amazon.com/goto/WebAPI/inspector2-2020-06-08/DisassociateMember AWS API Documentation
1143
+ #
1144
+ # @overload disassociate_member(params = {})
1145
+ # @param [Hash] params ({})
1146
+ def disassociate_member(params = {}, options = {})
1147
+ req = build_request(:disassociate_member, params)
1148
+ req.send_request(options)
1149
+ end
1150
+
1151
+ # Enables Amazon Inspector scans for one or more Amazon Web Services
1152
+ # accounts.
1153
+ #
1154
+ # @option params [Array<String>] :account_ids
1155
+ # A list of account IDs you want to enable Amazon Inspector scans for.
1156
+ #
1157
+ # @option params [String] :client_token
1158
+ # The idempotency token for the request.
1159
+ #
1160
+ # **A suitable default value is auto-generated.** You should normally
1161
+ # not need to pass this option.**
1162
+ #
1163
+ # @option params [required, Array<String>] :resource_types
1164
+ # The resource scan types you want to enable.
1165
+ #
1166
+ # @return [Types::EnableResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1167
+ #
1168
+ # * {Types::EnableResponse#accounts #accounts} => Array&lt;Types::Account&gt;
1169
+ # * {Types::EnableResponse#failed_accounts #failed_accounts} => Array&lt;Types::FailedAccount&gt;
1170
+ #
1171
+ # @example Request syntax with placeholder values
1172
+ #
1173
+ # resp = client.enable({
1174
+ # account_ids: ["AccountId"],
1175
+ # client_token: "ClientToken",
1176
+ # resource_types: ["EC2"], # required, accepts EC2, ECR
1177
+ # })
1178
+ #
1179
+ # @example Response structure
1180
+ #
1181
+ # resp.accounts #=> Array
1182
+ # resp.accounts[0].account_id #=> String
1183
+ # resp.accounts[0].resource_status.ec2 #=> String, one of "ENABLING", "ENABLED", "DISABLING", "DISABLED", "SUSPENDING", "SUSPENDED"
1184
+ # resp.accounts[0].resource_status.ecr #=> String, one of "ENABLING", "ENABLED", "DISABLING", "DISABLED", "SUSPENDING", "SUSPENDED"
1185
+ # resp.accounts[0].status #=> String, one of "ENABLING", "ENABLED", "DISABLING", "DISABLED", "SUSPENDING", "SUSPENDED"
1186
+ # resp.failed_accounts #=> Array
1187
+ # resp.failed_accounts[0].account_id #=> String
1188
+ # resp.failed_accounts[0].error_code #=> String, one of "ALREADY_ENABLED", "ENABLE_IN_PROGRESS", "DISABLE_IN_PROGRESS", "SUSPEND_IN_PROGRESS", "RESOURCE_NOT_FOUND", "ACCESS_DENIED", "INTERNAL_ERROR", "SSM_UNAVAILABLE", "SSM_THROTTLED", "EVENTBRIDGE_UNAVAILABLE", "EVENTBRIDGE_THROTTLED", "RESOURCE_SCAN_NOT_DISABLED", "DISASSOCIATE_ALL_MEMBERS"
1189
+ # resp.failed_accounts[0].error_message #=> String
1190
+ # resp.failed_accounts[0].resource_status.ec2 #=> String, one of "ENABLING", "ENABLED", "DISABLING", "DISABLED", "SUSPENDING", "SUSPENDED"
1191
+ # resp.failed_accounts[0].resource_status.ecr #=> String, one of "ENABLING", "ENABLED", "DISABLING", "DISABLED", "SUSPENDING", "SUSPENDED"
1192
+ # resp.failed_accounts[0].status #=> String, one of "ENABLING", "ENABLED", "DISABLING", "DISABLED", "SUSPENDING", "SUSPENDED"
1193
+ #
1194
+ # @see http://docs.aws.amazon.com/goto/WebAPI/inspector2-2020-06-08/Enable AWS API Documentation
1195
+ #
1196
+ # @overload enable(params = {})
1197
+ # @param [Hash] params ({})
1198
+ def enable(params = {}, options = {})
1199
+ req = build_request(:enable, params)
1200
+ req.send_request(options)
1201
+ end
1202
+
1203
+ # Enables the Amazon Inspector delegated administrator for your
1204
+ # Organizations organization.
1205
+ #
1206
+ # @option params [String] :client_token
1207
+ # The idempotency token for the request.
1208
+ #
1209
+ # **A suitable default value is auto-generated.** You should normally
1210
+ # not need to pass this option.**
1211
+ #
1212
+ # @option params [required, String] :delegated_admin_account_id
1213
+ # The Amazon Web Services account ID of the Amazon Inspector delegated
1214
+ # administrator.
1215
+ #
1216
+ # @return [Types::EnableDelegatedAdminAccountResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1217
+ #
1218
+ # * {Types::EnableDelegatedAdminAccountResponse#delegated_admin_account_id #delegated_admin_account_id} => String
1219
+ #
1220
+ # @example Request syntax with placeholder values
1221
+ #
1222
+ # resp = client.enable_delegated_admin_account({
1223
+ # client_token: "ClientToken",
1224
+ # delegated_admin_account_id: "AccountId", # required
1225
+ # })
1226
+ #
1227
+ # @example Response structure
1228
+ #
1229
+ # resp.delegated_admin_account_id #=> String
1230
+ #
1231
+ # @see http://docs.aws.amazon.com/goto/WebAPI/inspector2-2020-06-08/EnableDelegatedAdminAccount AWS API Documentation
1232
+ #
1233
+ # @overload enable_delegated_admin_account(params = {})
1234
+ # @param [Hash] params ({})
1235
+ def enable_delegated_admin_account(params = {}, options = {})
1236
+ req = build_request(:enable_delegated_admin_account, params)
1237
+ req.send_request(options)
1238
+ end
1239
+
1240
+ # Retrieves information about the Amazon Inspector delegated
1241
+ # administrator for your organization.
1242
+ #
1243
+ # @return [Types::GetDelegatedAdminAccountResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1244
+ #
1245
+ # * {Types::GetDelegatedAdminAccountResponse#delegated_admin #delegated_admin} => Types::DelegatedAdmin
1246
+ #
1247
+ # @example Response structure
1248
+ #
1249
+ # resp.delegated_admin.account_id #=> String
1250
+ # resp.delegated_admin.relationship_status #=> String, one of "CREATED", "INVITED", "DISABLED", "ENABLED", "REMOVED", "RESIGNED", "DELETED", "EMAIL_VERIFICATION_IN_PROGRESS", "EMAIL_VERIFICATION_FAILED", "REGION_DISABLED", "ACCOUNT_SUSPENDED", "CANNOT_CREATE_DETECTOR_IN_ORG_MASTER"
1251
+ #
1252
+ # @see http://docs.aws.amazon.com/goto/WebAPI/inspector2-2020-06-08/GetDelegatedAdminAccount AWS API Documentation
1253
+ #
1254
+ # @overload get_delegated_admin_account(params = {})
1255
+ # @param [Hash] params ({})
1256
+ def get_delegated_admin_account(params = {}, options = {})
1257
+ req = build_request(:get_delegated_admin_account, params)
1258
+ req.send_request(options)
1259
+ end
1260
+
1261
+ # Gets the status of a findings report.
1262
+ #
1263
+ # @option params [String] :report_id
1264
+ # The ID of the report to retrieve the status of.
1265
+ #
1266
+ # @return [Types::GetFindingsReportStatusResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1267
+ #
1268
+ # * {Types::GetFindingsReportStatusResponse#destination #destination} => Types::Destination
1269
+ # * {Types::GetFindingsReportStatusResponse#error_code #error_code} => String
1270
+ # * {Types::GetFindingsReportStatusResponse#error_message #error_message} => String
1271
+ # * {Types::GetFindingsReportStatusResponse#filter_criteria #filter_criteria} => Types::FilterCriteria
1272
+ # * {Types::GetFindingsReportStatusResponse#report_id #report_id} => String
1273
+ # * {Types::GetFindingsReportStatusResponse#status #status} => String
1274
+ #
1275
+ # @example Request syntax with placeholder values
1276
+ #
1277
+ # resp = client.get_findings_report_status({
1278
+ # report_id: "ReportId",
1279
+ # })
1280
+ #
1281
+ # @example Response structure
1282
+ #
1283
+ # resp.destination.bucket_name #=> String
1284
+ # resp.destination.key_prefix #=> String
1285
+ # resp.destination.kms_key_arn #=> String
1286
+ # resp.error_code #=> String, one of "INTERNAL_ERROR", "INVALID_PERMISSIONS"
1287
+ # resp.error_message #=> String
1288
+ # resp.filter_criteria.aws_account_id #=> Array
1289
+ # resp.filter_criteria.aws_account_id[0].comparison #=> String, one of "EQUALS", "PREFIX", "NOT_EQUALS"
1290
+ # resp.filter_criteria.aws_account_id[0].value #=> String
1291
+ # resp.filter_criteria.component_id #=> Array
1292
+ # resp.filter_criteria.component_id[0].comparison #=> String, one of "EQUALS", "PREFIX", "NOT_EQUALS"
1293
+ # resp.filter_criteria.component_id[0].value #=> String
1294
+ # resp.filter_criteria.component_type #=> Array
1295
+ # resp.filter_criteria.component_type[0].comparison #=> String, one of "EQUALS", "PREFIX", "NOT_EQUALS"
1296
+ # resp.filter_criteria.component_type[0].value #=> String
1297
+ # resp.filter_criteria.ec2_instance_image_id #=> Array
1298
+ # resp.filter_criteria.ec2_instance_image_id[0].comparison #=> String, one of "EQUALS", "PREFIX", "NOT_EQUALS"
1299
+ # resp.filter_criteria.ec2_instance_image_id[0].value #=> String
1300
+ # resp.filter_criteria.ec2_instance_subnet_id #=> Array
1301
+ # resp.filter_criteria.ec2_instance_subnet_id[0].comparison #=> String, one of "EQUALS", "PREFIX", "NOT_EQUALS"
1302
+ # resp.filter_criteria.ec2_instance_subnet_id[0].value #=> String
1303
+ # resp.filter_criteria.ec2_instance_vpc_id #=> Array
1304
+ # resp.filter_criteria.ec2_instance_vpc_id[0].comparison #=> String, one of "EQUALS", "PREFIX", "NOT_EQUALS"
1305
+ # resp.filter_criteria.ec2_instance_vpc_id[0].value #=> String
1306
+ # resp.filter_criteria.ecr_image_architecture #=> Array
1307
+ # resp.filter_criteria.ecr_image_architecture[0].comparison #=> String, one of "EQUALS", "PREFIX", "NOT_EQUALS"
1308
+ # resp.filter_criteria.ecr_image_architecture[0].value #=> String
1309
+ # resp.filter_criteria.ecr_image_hash #=> Array
1310
+ # resp.filter_criteria.ecr_image_hash[0].comparison #=> String, one of "EQUALS", "PREFIX", "NOT_EQUALS"
1311
+ # resp.filter_criteria.ecr_image_hash[0].value #=> String
1312
+ # resp.filter_criteria.ecr_image_pushed_at #=> Array
1313
+ # resp.filter_criteria.ecr_image_pushed_at[0].end_inclusive #=> Time
1314
+ # resp.filter_criteria.ecr_image_pushed_at[0].start_inclusive #=> Time
1315
+ # resp.filter_criteria.ecr_image_registry #=> Array
1316
+ # resp.filter_criteria.ecr_image_registry[0].comparison #=> String, one of "EQUALS", "PREFIX", "NOT_EQUALS"
1317
+ # resp.filter_criteria.ecr_image_registry[0].value #=> String
1318
+ # resp.filter_criteria.ecr_image_repository_name #=> Array
1319
+ # resp.filter_criteria.ecr_image_repository_name[0].comparison #=> String, one of "EQUALS", "PREFIX", "NOT_EQUALS"
1320
+ # resp.filter_criteria.ecr_image_repository_name[0].value #=> String
1321
+ # resp.filter_criteria.ecr_image_tags #=> Array
1322
+ # resp.filter_criteria.ecr_image_tags[0].comparison #=> String, one of "EQUALS", "PREFIX", "NOT_EQUALS"
1323
+ # resp.filter_criteria.ecr_image_tags[0].value #=> String
1324
+ # resp.filter_criteria.finding_arn #=> Array
1325
+ # resp.filter_criteria.finding_arn[0].comparison #=> String, one of "EQUALS", "PREFIX", "NOT_EQUALS"
1326
+ # resp.filter_criteria.finding_arn[0].value #=> String
1327
+ # resp.filter_criteria.finding_status #=> Array
1328
+ # resp.filter_criteria.finding_status[0].comparison #=> String, one of "EQUALS", "PREFIX", "NOT_EQUALS"
1329
+ # resp.filter_criteria.finding_status[0].value #=> String
1330
+ # resp.filter_criteria.finding_type #=> Array
1331
+ # resp.filter_criteria.finding_type[0].comparison #=> String, one of "EQUALS", "PREFIX", "NOT_EQUALS"
1332
+ # resp.filter_criteria.finding_type[0].value #=> String
1333
+ # resp.filter_criteria.first_observed_at #=> Array
1334
+ # resp.filter_criteria.first_observed_at[0].end_inclusive #=> Time
1335
+ # resp.filter_criteria.first_observed_at[0].start_inclusive #=> Time
1336
+ # resp.filter_criteria.inspector_score #=> Array
1337
+ # resp.filter_criteria.inspector_score[0].lower_inclusive #=> Float
1338
+ # resp.filter_criteria.inspector_score[0].upper_inclusive #=> Float
1339
+ # resp.filter_criteria.last_observed_at #=> Array
1340
+ # resp.filter_criteria.last_observed_at[0].end_inclusive #=> Time
1341
+ # resp.filter_criteria.last_observed_at[0].start_inclusive #=> Time
1342
+ # resp.filter_criteria.network_protocol #=> Array
1343
+ # resp.filter_criteria.network_protocol[0].comparison #=> String, one of "EQUALS", "PREFIX", "NOT_EQUALS"
1344
+ # resp.filter_criteria.network_protocol[0].value #=> String
1345
+ # resp.filter_criteria.port_range #=> Array
1346
+ # resp.filter_criteria.port_range[0].begin_inclusive #=> Integer
1347
+ # resp.filter_criteria.port_range[0].end_inclusive #=> Integer
1348
+ # resp.filter_criteria.related_vulnerabilities #=> Array
1349
+ # resp.filter_criteria.related_vulnerabilities[0].comparison #=> String, one of "EQUALS", "PREFIX", "NOT_EQUALS"
1350
+ # resp.filter_criteria.related_vulnerabilities[0].value #=> String
1351
+ # resp.filter_criteria.resource_id #=> Array
1352
+ # resp.filter_criteria.resource_id[0].comparison #=> String, one of "EQUALS", "PREFIX", "NOT_EQUALS"
1353
+ # resp.filter_criteria.resource_id[0].value #=> String
1354
+ # resp.filter_criteria.resource_tags #=> Array
1355
+ # resp.filter_criteria.resource_tags[0].comparison #=> String, one of "EQUALS"
1356
+ # resp.filter_criteria.resource_tags[0].key #=> String
1357
+ # resp.filter_criteria.resource_tags[0].value #=> String
1358
+ # resp.filter_criteria.resource_type #=> Array
1359
+ # resp.filter_criteria.resource_type[0].comparison #=> String, one of "EQUALS", "PREFIX", "NOT_EQUALS"
1360
+ # resp.filter_criteria.resource_type[0].value #=> String
1361
+ # resp.filter_criteria.severity #=> Array
1362
+ # resp.filter_criteria.severity[0].comparison #=> String, one of "EQUALS", "PREFIX", "NOT_EQUALS"
1363
+ # resp.filter_criteria.severity[0].value #=> String
1364
+ # resp.filter_criteria.title #=> Array
1365
+ # resp.filter_criteria.title[0].comparison #=> String, one of "EQUALS", "PREFIX", "NOT_EQUALS"
1366
+ # resp.filter_criteria.title[0].value #=> String
1367
+ # resp.filter_criteria.updated_at #=> Array
1368
+ # resp.filter_criteria.updated_at[0].end_inclusive #=> Time
1369
+ # resp.filter_criteria.updated_at[0].start_inclusive #=> Time
1370
+ # resp.filter_criteria.vendor_severity #=> Array
1371
+ # resp.filter_criteria.vendor_severity[0].comparison #=> String, one of "EQUALS", "PREFIX", "NOT_EQUALS"
1372
+ # resp.filter_criteria.vendor_severity[0].value #=> String
1373
+ # resp.filter_criteria.vulnerability_id #=> Array
1374
+ # resp.filter_criteria.vulnerability_id[0].comparison #=> String, one of "EQUALS", "PREFIX", "NOT_EQUALS"
1375
+ # resp.filter_criteria.vulnerability_id[0].value #=> String
1376
+ # resp.filter_criteria.vulnerability_source #=> Array
1377
+ # resp.filter_criteria.vulnerability_source[0].comparison #=> String, one of "EQUALS", "PREFIX", "NOT_EQUALS"
1378
+ # resp.filter_criteria.vulnerability_source[0].value #=> String
1379
+ # resp.filter_criteria.vulnerable_packages #=> Array
1380
+ # resp.filter_criteria.vulnerable_packages[0].architecture.comparison #=> String, one of "EQUALS", "PREFIX", "NOT_EQUALS"
1381
+ # resp.filter_criteria.vulnerable_packages[0].architecture.value #=> String
1382
+ # resp.filter_criteria.vulnerable_packages[0].epoch.lower_inclusive #=> Float
1383
+ # resp.filter_criteria.vulnerable_packages[0].epoch.upper_inclusive #=> Float
1384
+ # resp.filter_criteria.vulnerable_packages[0].name.comparison #=> String, one of "EQUALS", "PREFIX", "NOT_EQUALS"
1385
+ # resp.filter_criteria.vulnerable_packages[0].name.value #=> String
1386
+ # resp.filter_criteria.vulnerable_packages[0].release.comparison #=> String, one of "EQUALS", "PREFIX", "NOT_EQUALS"
1387
+ # resp.filter_criteria.vulnerable_packages[0].release.value #=> String
1388
+ # resp.filter_criteria.vulnerable_packages[0].source_layer_hash.comparison #=> String, one of "EQUALS", "PREFIX", "NOT_EQUALS"
1389
+ # resp.filter_criteria.vulnerable_packages[0].source_layer_hash.value #=> String
1390
+ # resp.filter_criteria.vulnerable_packages[0].version.comparison #=> String, one of "EQUALS", "PREFIX", "NOT_EQUALS"
1391
+ # resp.filter_criteria.vulnerable_packages[0].version.value #=> String
1392
+ # resp.report_id #=> String
1393
+ # resp.status #=> String, one of "SUCCEEDED", "IN_PROGRESS", "CANCELLED", "FAILED"
1394
+ #
1395
+ # @see http://docs.aws.amazon.com/goto/WebAPI/inspector2-2020-06-08/GetFindingsReportStatus AWS API Documentation
1396
+ #
1397
+ # @overload get_findings_report_status(params = {})
1398
+ # @param [Hash] params ({})
1399
+ def get_findings_report_status(params = {}, options = {})
1400
+ req = build_request(:get_findings_report_status, params)
1401
+ req.send_request(options)
1402
+ end
1403
+
1404
+ # Gets member information for your organization.
1405
+ #
1406
+ # @option params [required, String] :account_id
1407
+ # The Amazon Web Services account ID of the member account to retrieve
1408
+ # information on.
1409
+ #
1410
+ # @return [Types::GetMemberResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1411
+ #
1412
+ # * {Types::GetMemberResponse#member #member} => Types::Member
1413
+ #
1414
+ # @example Request syntax with placeholder values
1415
+ #
1416
+ # resp = client.get_member({
1417
+ # account_id: "AccountId", # required
1418
+ # })
1419
+ #
1420
+ # @example Response structure
1421
+ #
1422
+ # resp.member.account_id #=> String
1423
+ # resp.member.delegated_admin_account_id #=> String
1424
+ # resp.member.relationship_status #=> String, one of "CREATED", "INVITED", "DISABLED", "ENABLED", "REMOVED", "RESIGNED", "DELETED", "EMAIL_VERIFICATION_IN_PROGRESS", "EMAIL_VERIFICATION_FAILED", "REGION_DISABLED", "ACCOUNT_SUSPENDED", "CANNOT_CREATE_DETECTOR_IN_ORG_MASTER"
1425
+ # resp.member.updated_at #=> Time
1426
+ #
1427
+ # @see http://docs.aws.amazon.com/goto/WebAPI/inspector2-2020-06-08/GetMember AWS API Documentation
1428
+ #
1429
+ # @overload get_member(params = {})
1430
+ # @param [Hash] params ({})
1431
+ def get_member(params = {}, options = {})
1432
+ req = build_request(:get_member, params)
1433
+ req.send_request(options)
1434
+ end
1435
+
1436
+ # Lists the permissions an account has to configure Amazon Inspector.
1437
+ #
1438
+ # @option params [Integer] :max_results
1439
+ # The maximum number of results to return in the response.
1440
+ #
1441
+ # @option params [String] :next_token
1442
+ # A token to use for paginating results that are returned in the
1443
+ # response. Set the value of this parameter to null for the first
1444
+ # request to a list action. For subsequent calls, use the `NextToken`
1445
+ # value returned from the previous request to continue listing results
1446
+ # after the first page.
1447
+ #
1448
+ # @option params [String] :service
1449
+ # The service scan type to check permissions for.
1450
+ #
1451
+ # @return [Types::ListAccountPermissionsResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1452
+ #
1453
+ # * {Types::ListAccountPermissionsResponse#next_token #next_token} => String
1454
+ # * {Types::ListAccountPermissionsResponse#permissions #permissions} => Array&lt;Types::Permission&gt;
1455
+ #
1456
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
1457
+ #
1458
+ # @example Request syntax with placeholder values
1459
+ #
1460
+ # resp = client.list_account_permissions({
1461
+ # max_results: 1,
1462
+ # next_token: "NextToken",
1463
+ # service: "EC2", # accepts EC2, ECR
1464
+ # })
1465
+ #
1466
+ # @example Response structure
1467
+ #
1468
+ # resp.next_token #=> String
1469
+ # resp.permissions #=> Array
1470
+ # resp.permissions[0].operation #=> String, one of "ENABLE_SCANNING", "DISABLE_SCANNING", "ENABLE_REPOSITORY", "DISABLE_REPOSITORY"
1471
+ # resp.permissions[0].service #=> String, one of "EC2", "ECR"
1472
+ #
1473
+ # @see http://docs.aws.amazon.com/goto/WebAPI/inspector2-2020-06-08/ListAccountPermissions AWS API Documentation
1474
+ #
1475
+ # @overload list_account_permissions(params = {})
1476
+ # @param [Hash] params ({})
1477
+ def list_account_permissions(params = {}, options = {})
1478
+ req = build_request(:list_account_permissions, params)
1479
+ req.send_request(options)
1480
+ end
1481
+
1482
+ # Lists coverage details for you environment.
1483
+ #
1484
+ # @option params [Types::CoverageFilterCriteria] :filter_criteria
1485
+ # An object that contains details on the filters to apply to the
1486
+ # coverage data for your environment.
1487
+ #
1488
+ # @option params [Integer] :max_results
1489
+ # The maximum number of results to return in the response.
1490
+ #
1491
+ # @option params [String] :next_token
1492
+ # A token to use for paginating results that are returned in the
1493
+ # response. Set the value of this parameter to null for the first
1494
+ # request to a list action. For subsequent calls, use the `NextToken`
1495
+ # value returned from the previous request to continue listing results
1496
+ # after the first page.
1497
+ #
1498
+ # @return [Types::ListCoverageResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1499
+ #
1500
+ # * {Types::ListCoverageResponse#covered_resources #covered_resources} => Array&lt;Types::CoveredResource&gt;
1501
+ # * {Types::ListCoverageResponse#next_token #next_token} => String
1502
+ #
1503
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
1504
+ #
1505
+ # @example Request syntax with placeholder values
1506
+ #
1507
+ # resp = client.list_coverage({
1508
+ # filter_criteria: {
1509
+ # account_id: [
1510
+ # {
1511
+ # comparison: "EQUALS", # required, accepts EQUALS, NOT_EQUALS
1512
+ # value: "CoverageStringInput", # required
1513
+ # },
1514
+ # ],
1515
+ # ec2_instance_tags: [
1516
+ # {
1517
+ # comparison: "EQUALS", # required, accepts EQUALS
1518
+ # key: "NonEmptyString", # required
1519
+ # value: "NonEmptyString",
1520
+ # },
1521
+ # ],
1522
+ # ecr_image_tags: [
1523
+ # {
1524
+ # comparison: "EQUALS", # required, accepts EQUALS, NOT_EQUALS
1525
+ # value: "CoverageStringInput", # required
1526
+ # },
1527
+ # ],
1528
+ # ecr_repository_name: [
1529
+ # {
1530
+ # comparison: "EQUALS", # required, accepts EQUALS, NOT_EQUALS
1531
+ # value: "CoverageStringInput", # required
1532
+ # },
1533
+ # ],
1534
+ # resource_id: [
1535
+ # {
1536
+ # comparison: "EQUALS", # required, accepts EQUALS, NOT_EQUALS
1537
+ # value: "CoverageStringInput", # required
1538
+ # },
1539
+ # ],
1540
+ # resource_type: [
1541
+ # {
1542
+ # comparison: "EQUALS", # required, accepts EQUALS, NOT_EQUALS
1543
+ # value: "CoverageStringInput", # required
1544
+ # },
1545
+ # ],
1546
+ # scan_status_code: [
1547
+ # {
1548
+ # comparison: "EQUALS", # required, accepts EQUALS, NOT_EQUALS
1549
+ # value: "CoverageStringInput", # required
1550
+ # },
1551
+ # ],
1552
+ # scan_status_reason: [
1553
+ # {
1554
+ # comparison: "EQUALS", # required, accepts EQUALS, NOT_EQUALS
1555
+ # value: "CoverageStringInput", # required
1556
+ # },
1557
+ # ],
1558
+ # scan_type: [
1559
+ # {
1560
+ # comparison: "EQUALS", # required, accepts EQUALS, NOT_EQUALS
1561
+ # value: "CoverageStringInput", # required
1562
+ # },
1563
+ # ],
1564
+ # },
1565
+ # max_results: 1,
1566
+ # next_token: "NextToken",
1567
+ # })
1568
+ #
1569
+ # @example Response structure
1570
+ #
1571
+ # resp.covered_resources #=> Array
1572
+ # resp.covered_resources[0].account_id #=> String
1573
+ # resp.covered_resources[0].resource_id #=> String
1574
+ # resp.covered_resources[0].resource_metadata.ec2.ami_id #=> String
1575
+ # resp.covered_resources[0].resource_metadata.ec2.platform #=> String, one of "WINDOWS", "LINUX", "UNKNOWN"
1576
+ # resp.covered_resources[0].resource_metadata.ec2.tags #=> Hash
1577
+ # resp.covered_resources[0].resource_metadata.ec2.tags["MapKey"] #=> String
1578
+ # resp.covered_resources[0].resource_metadata.ecr_image.tags #=> Array
1579
+ # resp.covered_resources[0].resource_metadata.ecr_image.tags[0] #=> String
1580
+ # resp.covered_resources[0].resource_metadata.ecr_repository.name #=> String
1581
+ # resp.covered_resources[0].resource_metadata.ecr_repository.scan_frequency #=> String, one of "MANUAL", "SCAN_ON_PUSH", "CONTINUOUS_SCAN"
1582
+ # resp.covered_resources[0].resource_type #=> String, one of "AWS_EC2_INSTANCE", "AWS_ECR_CONTAINER_IMAGE", "AWS_ECR_REPOSITORY"
1583
+ # resp.covered_resources[0].scan_status.reason #=> String, one of "PENDING_INITIAL_SCAN", "ACCESS_DENIED", "INTERNAL_ERROR", "UNMANAGED_EC2_INSTANCE", "UNSUPPORTED_OS", "SCAN_ELIGIBILITY_EXPIRED", "RESOURCE_TERMINATED", "SUCCESSFUL", "NO_RESOURCES_FOUND", "IMAGE_SIZE_EXCEEDED", "SCAN_FREQUENCY_MANUAL", "SCAN_FREQUENCY_SCAN_ON_PUSH", "EC2_INSTANCE_STOPPED"
1584
+ # resp.covered_resources[0].scan_status.status_code #=> String, one of "ACTIVE", "INACTIVE"
1585
+ # resp.covered_resources[0].scan_type #=> String, one of "NETWORK", "PACKAGE"
1586
+ # resp.next_token #=> String
1587
+ #
1588
+ # @see http://docs.aws.amazon.com/goto/WebAPI/inspector2-2020-06-08/ListCoverage AWS API Documentation
1589
+ #
1590
+ # @overload list_coverage(params = {})
1591
+ # @param [Hash] params ({})
1592
+ def list_coverage(params = {}, options = {})
1593
+ req = build_request(:list_coverage, params)
1594
+ req.send_request(options)
1595
+ end
1596
+
1597
+ # Lists Amazon Inspector coverage statistics for your environment.
1598
+ #
1599
+ # @option params [Types::CoverageFilterCriteria] :filter_criteria
1600
+ # An object that contains details on the filters to apply to the
1601
+ # coverage data for your environment.
1602
+ #
1603
+ # @option params [String] :group_by
1604
+ # The value to group the results by.
1605
+ #
1606
+ # @option params [String] :next_token
1607
+ # A token to use for paginating results that are returned in the
1608
+ # response. Set the value of this parameter to null for the first
1609
+ # request to a list action. For subsequent calls, use the `NextToken`
1610
+ # value returned from the previous request to continue listing results
1611
+ # after the first page.
1612
+ #
1613
+ # @return [Types::ListCoverageStatisticsResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1614
+ #
1615
+ # * {Types::ListCoverageStatisticsResponse#counts_by_group #counts_by_group} => Array&lt;Types::Counts&gt;
1616
+ # * {Types::ListCoverageStatisticsResponse#next_token #next_token} => String
1617
+ # * {Types::ListCoverageStatisticsResponse#total_counts #total_counts} => Integer
1618
+ #
1619
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
1620
+ #
1621
+ # @example Request syntax with placeholder values
1622
+ #
1623
+ # resp = client.list_coverage_statistics({
1624
+ # filter_criteria: {
1625
+ # account_id: [
1626
+ # {
1627
+ # comparison: "EQUALS", # required, accepts EQUALS, NOT_EQUALS
1628
+ # value: "CoverageStringInput", # required
1629
+ # },
1630
+ # ],
1631
+ # ec2_instance_tags: [
1632
+ # {
1633
+ # comparison: "EQUALS", # required, accepts EQUALS
1634
+ # key: "NonEmptyString", # required
1635
+ # value: "NonEmptyString",
1636
+ # },
1637
+ # ],
1638
+ # ecr_image_tags: [
1639
+ # {
1640
+ # comparison: "EQUALS", # required, accepts EQUALS, NOT_EQUALS
1641
+ # value: "CoverageStringInput", # required
1642
+ # },
1643
+ # ],
1644
+ # ecr_repository_name: [
1645
+ # {
1646
+ # comparison: "EQUALS", # required, accepts EQUALS, NOT_EQUALS
1647
+ # value: "CoverageStringInput", # required
1648
+ # },
1649
+ # ],
1650
+ # resource_id: [
1651
+ # {
1652
+ # comparison: "EQUALS", # required, accepts EQUALS, NOT_EQUALS
1653
+ # value: "CoverageStringInput", # required
1654
+ # },
1655
+ # ],
1656
+ # resource_type: [
1657
+ # {
1658
+ # comparison: "EQUALS", # required, accepts EQUALS, NOT_EQUALS
1659
+ # value: "CoverageStringInput", # required
1660
+ # },
1661
+ # ],
1662
+ # scan_status_code: [
1663
+ # {
1664
+ # comparison: "EQUALS", # required, accepts EQUALS, NOT_EQUALS
1665
+ # value: "CoverageStringInput", # required
1666
+ # },
1667
+ # ],
1668
+ # scan_status_reason: [
1669
+ # {
1670
+ # comparison: "EQUALS", # required, accepts EQUALS, NOT_EQUALS
1671
+ # value: "CoverageStringInput", # required
1672
+ # },
1673
+ # ],
1674
+ # scan_type: [
1675
+ # {
1676
+ # comparison: "EQUALS", # required, accepts EQUALS, NOT_EQUALS
1677
+ # value: "CoverageStringInput", # required
1678
+ # },
1679
+ # ],
1680
+ # },
1681
+ # group_by: "SCAN_STATUS_CODE", # accepts SCAN_STATUS_CODE, SCAN_STATUS_REASON, ACCOUNT_ID, RESOURCE_TYPE, ECR_REPOSITORY_NAME
1682
+ # next_token: "NextToken",
1683
+ # })
1684
+ #
1685
+ # @example Response structure
1686
+ #
1687
+ # resp.counts_by_group #=> Array
1688
+ # resp.counts_by_group[0].count #=> Integer
1689
+ # resp.counts_by_group[0].group_key #=> String, one of "SCAN_STATUS_CODE", "SCAN_STATUS_REASON", "ACCOUNT_ID", "RESOURCE_TYPE", "ECR_REPOSITORY_NAME"
1690
+ # resp.next_token #=> String
1691
+ # resp.total_counts #=> Integer
1692
+ #
1693
+ # @see http://docs.aws.amazon.com/goto/WebAPI/inspector2-2020-06-08/ListCoverageStatistics AWS API Documentation
1694
+ #
1695
+ # @overload list_coverage_statistics(params = {})
1696
+ # @param [Hash] params ({})
1697
+ def list_coverage_statistics(params = {}, options = {})
1698
+ req = build_request(:list_coverage_statistics, params)
1699
+ req.send_request(options)
1700
+ end
1701
+
1702
+ # Lists information about the Amazon Inspector delegated administrator
1703
+ # of your organization.
1704
+ #
1705
+ # @option params [Integer] :max_results
1706
+ # The maximum number of results to return in the response.
1707
+ #
1708
+ # @option params [String] :next_token
1709
+ # A token to use for paginating results that are returned in the
1710
+ # response. Set the value of this parameter to null for the first
1711
+ # request to a list action. For subsequent calls, use the `NextToken`
1712
+ # value returned from the previous request to continue listing results
1713
+ # after the first page.
1714
+ #
1715
+ # @return [Types::ListDelegatedAdminAccountsResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1716
+ #
1717
+ # * {Types::ListDelegatedAdminAccountsResponse#delegated_admin_accounts #delegated_admin_accounts} => Array&lt;Types::DelegatedAdminAccount&gt;
1718
+ # * {Types::ListDelegatedAdminAccountsResponse#next_token #next_token} => String
1719
+ #
1720
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
1721
+ #
1722
+ # @example Request syntax with placeholder values
1723
+ #
1724
+ # resp = client.list_delegated_admin_accounts({
1725
+ # max_results: 1,
1726
+ # next_token: "NextToken",
1727
+ # })
1728
+ #
1729
+ # @example Response structure
1730
+ #
1731
+ # resp.delegated_admin_accounts #=> Array
1732
+ # resp.delegated_admin_accounts[0].account_id #=> String
1733
+ # resp.delegated_admin_accounts[0].status #=> String, one of "ENABLED", "DISABLE_IN_PROGRESS"
1734
+ # resp.next_token #=> String
1735
+ #
1736
+ # @see http://docs.aws.amazon.com/goto/WebAPI/inspector2-2020-06-08/ListDelegatedAdminAccounts AWS API Documentation
1737
+ #
1738
+ # @overload list_delegated_admin_accounts(params = {})
1739
+ # @param [Hash] params ({})
1740
+ def list_delegated_admin_accounts(params = {}, options = {})
1741
+ req = build_request(:list_delegated_admin_accounts, params)
1742
+ req.send_request(options)
1743
+ end
1744
+
1745
+ # Lists the filters associated with your account.
1746
+ #
1747
+ # @option params [String] :action
1748
+ # The action the filter applies to matched findings.
1749
+ #
1750
+ # @option params [Array<String>] :arns
1751
+ # The Amazon resource number (ARN) of the filter.
1752
+ #
1753
+ # @option params [Integer] :max_results
1754
+ # The maximum number of results to return in the response.
1755
+ #
1756
+ # @option params [String] :next_token
1757
+ # A token to use for paginating results that are returned in the
1758
+ # response. Set the value of this parameter to null for the first
1759
+ # request to a list action. For subsequent calls, use the `NextToken`
1760
+ # value returned from the previous request to continue listing results
1761
+ # after the first page.
1762
+ #
1763
+ # @return [Types::ListFiltersResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1764
+ #
1765
+ # * {Types::ListFiltersResponse#filters #filters} => Array&lt;Types::Filter&gt;
1766
+ # * {Types::ListFiltersResponse#next_token #next_token} => String
1767
+ #
1768
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
1769
+ #
1770
+ # @example Request syntax with placeholder values
1771
+ #
1772
+ # resp = client.list_filters({
1773
+ # action: "NONE", # accepts NONE, SUPPRESS
1774
+ # arns: ["FilterArn"],
1775
+ # max_results: 1,
1776
+ # next_token: "NextToken",
1777
+ # })
1778
+ #
1779
+ # @example Response structure
1780
+ #
1781
+ # resp.filters #=> Array
1782
+ # resp.filters[0].action #=> String, one of "NONE", "SUPPRESS"
1783
+ # resp.filters[0].arn #=> String
1784
+ # resp.filters[0].created_at #=> Time
1785
+ # resp.filters[0].criteria.aws_account_id #=> Array
1786
+ # resp.filters[0].criteria.aws_account_id[0].comparison #=> String, one of "EQUALS", "PREFIX", "NOT_EQUALS"
1787
+ # resp.filters[0].criteria.aws_account_id[0].value #=> String
1788
+ # resp.filters[0].criteria.component_id #=> Array
1789
+ # resp.filters[0].criteria.component_id[0].comparison #=> String, one of "EQUALS", "PREFIX", "NOT_EQUALS"
1790
+ # resp.filters[0].criteria.component_id[0].value #=> String
1791
+ # resp.filters[0].criteria.component_type #=> Array
1792
+ # resp.filters[0].criteria.component_type[0].comparison #=> String, one of "EQUALS", "PREFIX", "NOT_EQUALS"
1793
+ # resp.filters[0].criteria.component_type[0].value #=> String
1794
+ # resp.filters[0].criteria.ec2_instance_image_id #=> Array
1795
+ # resp.filters[0].criteria.ec2_instance_image_id[0].comparison #=> String, one of "EQUALS", "PREFIX", "NOT_EQUALS"
1796
+ # resp.filters[0].criteria.ec2_instance_image_id[0].value #=> String
1797
+ # resp.filters[0].criteria.ec2_instance_subnet_id #=> Array
1798
+ # resp.filters[0].criteria.ec2_instance_subnet_id[0].comparison #=> String, one of "EQUALS", "PREFIX", "NOT_EQUALS"
1799
+ # resp.filters[0].criteria.ec2_instance_subnet_id[0].value #=> String
1800
+ # resp.filters[0].criteria.ec2_instance_vpc_id #=> Array
1801
+ # resp.filters[0].criteria.ec2_instance_vpc_id[0].comparison #=> String, one of "EQUALS", "PREFIX", "NOT_EQUALS"
1802
+ # resp.filters[0].criteria.ec2_instance_vpc_id[0].value #=> String
1803
+ # resp.filters[0].criteria.ecr_image_architecture #=> Array
1804
+ # resp.filters[0].criteria.ecr_image_architecture[0].comparison #=> String, one of "EQUALS", "PREFIX", "NOT_EQUALS"
1805
+ # resp.filters[0].criteria.ecr_image_architecture[0].value #=> String
1806
+ # resp.filters[0].criteria.ecr_image_hash #=> Array
1807
+ # resp.filters[0].criteria.ecr_image_hash[0].comparison #=> String, one of "EQUALS", "PREFIX", "NOT_EQUALS"
1808
+ # resp.filters[0].criteria.ecr_image_hash[0].value #=> String
1809
+ # resp.filters[0].criteria.ecr_image_pushed_at #=> Array
1810
+ # resp.filters[0].criteria.ecr_image_pushed_at[0].end_inclusive #=> Time
1811
+ # resp.filters[0].criteria.ecr_image_pushed_at[0].start_inclusive #=> Time
1812
+ # resp.filters[0].criteria.ecr_image_registry #=> Array
1813
+ # resp.filters[0].criteria.ecr_image_registry[0].comparison #=> String, one of "EQUALS", "PREFIX", "NOT_EQUALS"
1814
+ # resp.filters[0].criteria.ecr_image_registry[0].value #=> String
1815
+ # resp.filters[0].criteria.ecr_image_repository_name #=> Array
1816
+ # resp.filters[0].criteria.ecr_image_repository_name[0].comparison #=> String, one of "EQUALS", "PREFIX", "NOT_EQUALS"
1817
+ # resp.filters[0].criteria.ecr_image_repository_name[0].value #=> String
1818
+ # resp.filters[0].criteria.ecr_image_tags #=> Array
1819
+ # resp.filters[0].criteria.ecr_image_tags[0].comparison #=> String, one of "EQUALS", "PREFIX", "NOT_EQUALS"
1820
+ # resp.filters[0].criteria.ecr_image_tags[0].value #=> String
1821
+ # resp.filters[0].criteria.finding_arn #=> Array
1822
+ # resp.filters[0].criteria.finding_arn[0].comparison #=> String, one of "EQUALS", "PREFIX", "NOT_EQUALS"
1823
+ # resp.filters[0].criteria.finding_arn[0].value #=> String
1824
+ # resp.filters[0].criteria.finding_status #=> Array
1825
+ # resp.filters[0].criteria.finding_status[0].comparison #=> String, one of "EQUALS", "PREFIX", "NOT_EQUALS"
1826
+ # resp.filters[0].criteria.finding_status[0].value #=> String
1827
+ # resp.filters[0].criteria.finding_type #=> Array
1828
+ # resp.filters[0].criteria.finding_type[0].comparison #=> String, one of "EQUALS", "PREFIX", "NOT_EQUALS"
1829
+ # resp.filters[0].criteria.finding_type[0].value #=> String
1830
+ # resp.filters[0].criteria.first_observed_at #=> Array
1831
+ # resp.filters[0].criteria.first_observed_at[0].end_inclusive #=> Time
1832
+ # resp.filters[0].criteria.first_observed_at[0].start_inclusive #=> Time
1833
+ # resp.filters[0].criteria.inspector_score #=> Array
1834
+ # resp.filters[0].criteria.inspector_score[0].lower_inclusive #=> Float
1835
+ # resp.filters[0].criteria.inspector_score[0].upper_inclusive #=> Float
1836
+ # resp.filters[0].criteria.last_observed_at #=> Array
1837
+ # resp.filters[0].criteria.last_observed_at[0].end_inclusive #=> Time
1838
+ # resp.filters[0].criteria.last_observed_at[0].start_inclusive #=> Time
1839
+ # resp.filters[0].criteria.network_protocol #=> Array
1840
+ # resp.filters[0].criteria.network_protocol[0].comparison #=> String, one of "EQUALS", "PREFIX", "NOT_EQUALS"
1841
+ # resp.filters[0].criteria.network_protocol[0].value #=> String
1842
+ # resp.filters[0].criteria.port_range #=> Array
1843
+ # resp.filters[0].criteria.port_range[0].begin_inclusive #=> Integer
1844
+ # resp.filters[0].criteria.port_range[0].end_inclusive #=> Integer
1845
+ # resp.filters[0].criteria.related_vulnerabilities #=> Array
1846
+ # resp.filters[0].criteria.related_vulnerabilities[0].comparison #=> String, one of "EQUALS", "PREFIX", "NOT_EQUALS"
1847
+ # resp.filters[0].criteria.related_vulnerabilities[0].value #=> String
1848
+ # resp.filters[0].criteria.resource_id #=> Array
1849
+ # resp.filters[0].criteria.resource_id[0].comparison #=> String, one of "EQUALS", "PREFIX", "NOT_EQUALS"
1850
+ # resp.filters[0].criteria.resource_id[0].value #=> String
1851
+ # resp.filters[0].criteria.resource_tags #=> Array
1852
+ # resp.filters[0].criteria.resource_tags[0].comparison #=> String, one of "EQUALS"
1853
+ # resp.filters[0].criteria.resource_tags[0].key #=> String
1854
+ # resp.filters[0].criteria.resource_tags[0].value #=> String
1855
+ # resp.filters[0].criteria.resource_type #=> Array
1856
+ # resp.filters[0].criteria.resource_type[0].comparison #=> String, one of "EQUALS", "PREFIX", "NOT_EQUALS"
1857
+ # resp.filters[0].criteria.resource_type[0].value #=> String
1858
+ # resp.filters[0].criteria.severity #=> Array
1859
+ # resp.filters[0].criteria.severity[0].comparison #=> String, one of "EQUALS", "PREFIX", "NOT_EQUALS"
1860
+ # resp.filters[0].criteria.severity[0].value #=> String
1861
+ # resp.filters[0].criteria.title #=> Array
1862
+ # resp.filters[0].criteria.title[0].comparison #=> String, one of "EQUALS", "PREFIX", "NOT_EQUALS"
1863
+ # resp.filters[0].criteria.title[0].value #=> String
1864
+ # resp.filters[0].criteria.updated_at #=> Array
1865
+ # resp.filters[0].criteria.updated_at[0].end_inclusive #=> Time
1866
+ # resp.filters[0].criteria.updated_at[0].start_inclusive #=> Time
1867
+ # resp.filters[0].criteria.vendor_severity #=> Array
1868
+ # resp.filters[0].criteria.vendor_severity[0].comparison #=> String, one of "EQUALS", "PREFIX", "NOT_EQUALS"
1869
+ # resp.filters[0].criteria.vendor_severity[0].value #=> String
1870
+ # resp.filters[0].criteria.vulnerability_id #=> Array
1871
+ # resp.filters[0].criteria.vulnerability_id[0].comparison #=> String, one of "EQUALS", "PREFIX", "NOT_EQUALS"
1872
+ # resp.filters[0].criteria.vulnerability_id[0].value #=> String
1873
+ # resp.filters[0].criteria.vulnerability_source #=> Array
1874
+ # resp.filters[0].criteria.vulnerability_source[0].comparison #=> String, one of "EQUALS", "PREFIX", "NOT_EQUALS"
1875
+ # resp.filters[0].criteria.vulnerability_source[0].value #=> String
1876
+ # resp.filters[0].criteria.vulnerable_packages #=> Array
1877
+ # resp.filters[0].criteria.vulnerable_packages[0].architecture.comparison #=> String, one of "EQUALS", "PREFIX", "NOT_EQUALS"
1878
+ # resp.filters[0].criteria.vulnerable_packages[0].architecture.value #=> String
1879
+ # resp.filters[0].criteria.vulnerable_packages[0].epoch.lower_inclusive #=> Float
1880
+ # resp.filters[0].criteria.vulnerable_packages[0].epoch.upper_inclusive #=> Float
1881
+ # resp.filters[0].criteria.vulnerable_packages[0].name.comparison #=> String, one of "EQUALS", "PREFIX", "NOT_EQUALS"
1882
+ # resp.filters[0].criteria.vulnerable_packages[0].name.value #=> String
1883
+ # resp.filters[0].criteria.vulnerable_packages[0].release.comparison #=> String, one of "EQUALS", "PREFIX", "NOT_EQUALS"
1884
+ # resp.filters[0].criteria.vulnerable_packages[0].release.value #=> String
1885
+ # resp.filters[0].criteria.vulnerable_packages[0].source_layer_hash.comparison #=> String, one of "EQUALS", "PREFIX", "NOT_EQUALS"
1886
+ # resp.filters[0].criteria.vulnerable_packages[0].source_layer_hash.value #=> String
1887
+ # resp.filters[0].criteria.vulnerable_packages[0].version.comparison #=> String, one of "EQUALS", "PREFIX", "NOT_EQUALS"
1888
+ # resp.filters[0].criteria.vulnerable_packages[0].version.value #=> String
1889
+ # resp.filters[0].description #=> String
1890
+ # resp.filters[0].name #=> String
1891
+ # resp.filters[0].owner_id #=> String
1892
+ # resp.filters[0].reason #=> String
1893
+ # resp.filters[0].tags #=> Hash
1894
+ # resp.filters[0].tags["MapKey"] #=> String
1895
+ # resp.filters[0].updated_at #=> Time
1896
+ # resp.next_token #=> String
1897
+ #
1898
+ # @see http://docs.aws.amazon.com/goto/WebAPI/inspector2-2020-06-08/ListFilters AWS API Documentation
1899
+ #
1900
+ # @overload list_filters(params = {})
1901
+ # @param [Hash] params ({})
1902
+ def list_filters(params = {}, options = {})
1903
+ req = build_request(:list_filters, params)
1904
+ req.send_request(options)
1905
+ end
1906
+
1907
+ # Lists aggregated finding data for your environment based on specific
1908
+ # criteria.
1909
+ #
1910
+ # @option params [Array<Types::StringFilter>] :account_ids
1911
+ # The Amazon Web Services account IDs to retrieve finding aggregation
1912
+ # data for.
1913
+ #
1914
+ # @option params [Types::AggregationRequest] :aggregation_request
1915
+ # Details of the aggregation request that is used to filter your
1916
+ # aggregation results.
1917
+ #
1918
+ # @option params [required, String] :aggregation_type
1919
+ # The type of the aggregation request.
1920
+ #
1921
+ # @option params [Integer] :max_results
1922
+ # The maximum number of results to return in the response.
1923
+ #
1924
+ # @option params [String] :next_token
1925
+ # A token to use for paginating results that are returned in the
1926
+ # response. Set the value of this parameter to null for the first
1927
+ # request to a list action. For subsequent calls, use the `NextToken`
1928
+ # value returned from the previous request to continue listing results
1929
+ # after the first page.
1930
+ #
1931
+ # @return [Types::ListFindingAggregationsResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1932
+ #
1933
+ # * {Types::ListFindingAggregationsResponse#aggregation_type #aggregation_type} => String
1934
+ # * {Types::ListFindingAggregationsResponse#next_token #next_token} => String
1935
+ # * {Types::ListFindingAggregationsResponse#responses #responses} => Array&lt;Types::AggregationResponse&gt;
1936
+ #
1937
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
1938
+ #
1939
+ # @example Request syntax with placeholder values
1940
+ #
1941
+ # resp = client.list_finding_aggregations({
1942
+ # account_ids: [
1943
+ # {
1944
+ # comparison: "EQUALS", # required, accepts EQUALS, PREFIX, NOT_EQUALS
1945
+ # value: "StringInput", # required
1946
+ # },
1947
+ # ],
1948
+ # aggregation_request: {
1949
+ # account_aggregation: {
1950
+ # finding_type: "NETWORK_REACHABILITY", # accepts NETWORK_REACHABILITY, PACKAGE_VULNERABILITY
1951
+ # resource_type: "AWS_EC2_INSTANCE", # accepts AWS_EC2_INSTANCE, AWS_ECR_CONTAINER_IMAGE
1952
+ # sort_by: "CRITICAL", # accepts CRITICAL, HIGH, ALL
1953
+ # sort_order: "ASC", # accepts ASC, DESC
1954
+ # },
1955
+ # ami_aggregation: {
1956
+ # amis: [
1957
+ # {
1958
+ # comparison: "EQUALS", # required, accepts EQUALS, PREFIX, NOT_EQUALS
1959
+ # value: "StringInput", # required
1960
+ # },
1961
+ # ],
1962
+ # sort_by: "CRITICAL", # accepts CRITICAL, HIGH, ALL, AFFECTED_INSTANCES
1963
+ # sort_order: "ASC", # accepts ASC, DESC
1964
+ # },
1965
+ # aws_ecr_container_aggregation: {
1966
+ # architectures: [
1967
+ # {
1968
+ # comparison: "EQUALS", # required, accepts EQUALS, PREFIX, NOT_EQUALS
1969
+ # value: "StringInput", # required
1970
+ # },
1971
+ # ],
1972
+ # image_shas: [
1973
+ # {
1974
+ # comparison: "EQUALS", # required, accepts EQUALS, PREFIX, NOT_EQUALS
1975
+ # value: "StringInput", # required
1976
+ # },
1977
+ # ],
1978
+ # image_tags: [
1979
+ # {
1980
+ # comparison: "EQUALS", # required, accepts EQUALS, PREFIX, NOT_EQUALS
1981
+ # value: "StringInput", # required
1982
+ # },
1983
+ # ],
1984
+ # repositories: [
1985
+ # {
1986
+ # comparison: "EQUALS", # required, accepts EQUALS, PREFIX, NOT_EQUALS
1987
+ # value: "StringInput", # required
1988
+ # },
1989
+ # ],
1990
+ # resource_ids: [
1991
+ # {
1992
+ # comparison: "EQUALS", # required, accepts EQUALS, PREFIX, NOT_EQUALS
1993
+ # value: "StringInput", # required
1994
+ # },
1995
+ # ],
1996
+ # sort_by: "CRITICAL", # accepts CRITICAL, HIGH, ALL
1997
+ # sort_order: "ASC", # accepts ASC, DESC
1998
+ # },
1999
+ # ec2_instance_aggregation: {
2000
+ # amis: [
2001
+ # {
2002
+ # comparison: "EQUALS", # required, accepts EQUALS, PREFIX, NOT_EQUALS
2003
+ # value: "StringInput", # required
2004
+ # },
2005
+ # ],
2006
+ # instance_ids: [
2007
+ # {
2008
+ # comparison: "EQUALS", # required, accepts EQUALS, PREFIX, NOT_EQUALS
2009
+ # value: "StringInput", # required
2010
+ # },
2011
+ # ],
2012
+ # instance_tags: [
2013
+ # {
2014
+ # comparison: "EQUALS", # required, accepts EQUALS
2015
+ # key: "MapKey", # required
2016
+ # value: "MapValue",
2017
+ # },
2018
+ # ],
2019
+ # operating_systems: [
2020
+ # {
2021
+ # comparison: "EQUALS", # required, accepts EQUALS, PREFIX, NOT_EQUALS
2022
+ # value: "StringInput", # required
2023
+ # },
2024
+ # ],
2025
+ # sort_by: "NETWORK_FINDINGS", # accepts NETWORK_FINDINGS, CRITICAL, HIGH, ALL
2026
+ # sort_order: "ASC", # accepts ASC, DESC
2027
+ # },
2028
+ # finding_type_aggregation: {
2029
+ # finding_type: "NETWORK_REACHABILITY", # accepts NETWORK_REACHABILITY, PACKAGE_VULNERABILITY
2030
+ # resource_type: "AWS_EC2_INSTANCE", # accepts AWS_EC2_INSTANCE, AWS_ECR_CONTAINER_IMAGE
2031
+ # sort_by: "CRITICAL", # accepts CRITICAL, HIGH, ALL
2032
+ # sort_order: "ASC", # accepts ASC, DESC
2033
+ # },
2034
+ # image_layer_aggregation: {
2035
+ # layer_hashes: [
2036
+ # {
2037
+ # comparison: "EQUALS", # required, accepts EQUALS, PREFIX, NOT_EQUALS
2038
+ # value: "StringInput", # required
2039
+ # },
2040
+ # ],
2041
+ # repositories: [
2042
+ # {
2043
+ # comparison: "EQUALS", # required, accepts EQUALS, PREFIX, NOT_EQUALS
2044
+ # value: "StringInput", # required
2045
+ # },
2046
+ # ],
2047
+ # resource_ids: [
2048
+ # {
2049
+ # comparison: "EQUALS", # required, accepts EQUALS, PREFIX, NOT_EQUALS
2050
+ # value: "StringInput", # required
2051
+ # },
2052
+ # ],
2053
+ # sort_by: "CRITICAL", # accepts CRITICAL, HIGH, ALL
2054
+ # sort_order: "ASC", # accepts ASC, DESC
2055
+ # },
2056
+ # package_aggregation: {
2057
+ # package_names: [
2058
+ # {
2059
+ # comparison: "EQUALS", # required, accepts EQUALS, PREFIX, NOT_EQUALS
2060
+ # value: "StringInput", # required
2061
+ # },
2062
+ # ],
2063
+ # sort_by: "CRITICAL", # accepts CRITICAL, HIGH, ALL
2064
+ # sort_order: "ASC", # accepts ASC, DESC
2065
+ # },
2066
+ # repository_aggregation: {
2067
+ # repositories: [
2068
+ # {
2069
+ # comparison: "EQUALS", # required, accepts EQUALS, PREFIX, NOT_EQUALS
2070
+ # value: "StringInput", # required
2071
+ # },
2072
+ # ],
2073
+ # sort_by: "CRITICAL", # accepts CRITICAL, HIGH, ALL, AFFECTED_IMAGES
2074
+ # sort_order: "ASC", # accepts ASC, DESC
2075
+ # },
2076
+ # title_aggregation: {
2077
+ # resource_type: "AWS_EC2_INSTANCE", # accepts AWS_EC2_INSTANCE, AWS_ECR_CONTAINER_IMAGE
2078
+ # sort_by: "CRITICAL", # accepts CRITICAL, HIGH, ALL
2079
+ # sort_order: "ASC", # accepts ASC, DESC
2080
+ # titles: [
2081
+ # {
2082
+ # comparison: "EQUALS", # required, accepts EQUALS, PREFIX, NOT_EQUALS
2083
+ # value: "StringInput", # required
2084
+ # },
2085
+ # ],
2086
+ # vulnerability_ids: [
2087
+ # {
2088
+ # comparison: "EQUALS", # required, accepts EQUALS, PREFIX, NOT_EQUALS
2089
+ # value: "StringInput", # required
2090
+ # },
2091
+ # ],
2092
+ # },
2093
+ # },
2094
+ # aggregation_type: "FINDING_TYPE", # required, accepts FINDING_TYPE, PACKAGE, TITLE, REPOSITORY, AMI, AWS_EC2_INSTANCE, AWS_ECR_CONTAINER, IMAGE_LAYER, ACCOUNT
2095
+ # max_results: 1,
2096
+ # next_token: "NextToken",
2097
+ # })
2098
+ #
2099
+ # @example Response structure
2100
+ #
2101
+ # resp.aggregation_type #=> String, one of "FINDING_TYPE", "PACKAGE", "TITLE", "REPOSITORY", "AMI", "AWS_EC2_INSTANCE", "AWS_ECR_CONTAINER", "IMAGE_LAYER", "ACCOUNT"
2102
+ # resp.next_token #=> String
2103
+ # resp.responses #=> Array
2104
+ # resp.responses[0].account_aggregation.account_id #=> String
2105
+ # resp.responses[0].account_aggregation.severity_counts.all #=> Integer
2106
+ # resp.responses[0].account_aggregation.severity_counts.critical #=> Integer
2107
+ # resp.responses[0].account_aggregation.severity_counts.high #=> Integer
2108
+ # resp.responses[0].account_aggregation.severity_counts.medium #=> Integer
2109
+ # resp.responses[0].ami_aggregation.account_id #=> String
2110
+ # resp.responses[0].ami_aggregation.affected_instances #=> Integer
2111
+ # resp.responses[0].ami_aggregation.ami #=> String
2112
+ # resp.responses[0].ami_aggregation.severity_counts.all #=> Integer
2113
+ # resp.responses[0].ami_aggregation.severity_counts.critical #=> Integer
2114
+ # resp.responses[0].ami_aggregation.severity_counts.high #=> Integer
2115
+ # resp.responses[0].ami_aggregation.severity_counts.medium #=> Integer
2116
+ # resp.responses[0].aws_ecr_container_aggregation.account_id #=> String
2117
+ # resp.responses[0].aws_ecr_container_aggregation.architecture #=> String
2118
+ # resp.responses[0].aws_ecr_container_aggregation.image_sha #=> String
2119
+ # resp.responses[0].aws_ecr_container_aggregation.image_tags #=> Array
2120
+ # resp.responses[0].aws_ecr_container_aggregation.image_tags[0] #=> String
2121
+ # resp.responses[0].aws_ecr_container_aggregation.repository #=> String
2122
+ # resp.responses[0].aws_ecr_container_aggregation.resource_id #=> String
2123
+ # resp.responses[0].aws_ecr_container_aggregation.severity_counts.all #=> Integer
2124
+ # resp.responses[0].aws_ecr_container_aggregation.severity_counts.critical #=> Integer
2125
+ # resp.responses[0].aws_ecr_container_aggregation.severity_counts.high #=> Integer
2126
+ # resp.responses[0].aws_ecr_container_aggregation.severity_counts.medium #=> Integer
2127
+ # resp.responses[0].ec2_instance_aggregation.account_id #=> String
2128
+ # resp.responses[0].ec2_instance_aggregation.ami #=> String
2129
+ # resp.responses[0].ec2_instance_aggregation.instance_id #=> String
2130
+ # resp.responses[0].ec2_instance_aggregation.instance_tags #=> Hash
2131
+ # resp.responses[0].ec2_instance_aggregation.instance_tags["MapKey"] #=> String
2132
+ # resp.responses[0].ec2_instance_aggregation.network_findings #=> Integer
2133
+ # resp.responses[0].ec2_instance_aggregation.operating_system #=> String
2134
+ # resp.responses[0].ec2_instance_aggregation.severity_counts.all #=> Integer
2135
+ # resp.responses[0].ec2_instance_aggregation.severity_counts.critical #=> Integer
2136
+ # resp.responses[0].ec2_instance_aggregation.severity_counts.high #=> Integer
2137
+ # resp.responses[0].ec2_instance_aggregation.severity_counts.medium #=> Integer
2138
+ # resp.responses[0].finding_type_aggregation.account_id #=> String
2139
+ # resp.responses[0].finding_type_aggregation.severity_counts.all #=> Integer
2140
+ # resp.responses[0].finding_type_aggregation.severity_counts.critical #=> Integer
2141
+ # resp.responses[0].finding_type_aggregation.severity_counts.high #=> Integer
2142
+ # resp.responses[0].finding_type_aggregation.severity_counts.medium #=> Integer
2143
+ # resp.responses[0].image_layer_aggregation.account_id #=> String
2144
+ # resp.responses[0].image_layer_aggregation.layer_hash #=> String
2145
+ # resp.responses[0].image_layer_aggregation.repository #=> String
2146
+ # resp.responses[0].image_layer_aggregation.resource_id #=> String
2147
+ # resp.responses[0].image_layer_aggregation.severity_counts.all #=> Integer
2148
+ # resp.responses[0].image_layer_aggregation.severity_counts.critical #=> Integer
2149
+ # resp.responses[0].image_layer_aggregation.severity_counts.high #=> Integer
2150
+ # resp.responses[0].image_layer_aggregation.severity_counts.medium #=> Integer
2151
+ # resp.responses[0].package_aggregation.account_id #=> String
2152
+ # resp.responses[0].package_aggregation.package_name #=> String
2153
+ # resp.responses[0].package_aggregation.severity_counts.all #=> Integer
2154
+ # resp.responses[0].package_aggregation.severity_counts.critical #=> Integer
2155
+ # resp.responses[0].package_aggregation.severity_counts.high #=> Integer
2156
+ # resp.responses[0].package_aggregation.severity_counts.medium #=> Integer
2157
+ # resp.responses[0].repository_aggregation.account_id #=> String
2158
+ # resp.responses[0].repository_aggregation.affected_images #=> Integer
2159
+ # resp.responses[0].repository_aggregation.repository #=> String
2160
+ # resp.responses[0].repository_aggregation.severity_counts.all #=> Integer
2161
+ # resp.responses[0].repository_aggregation.severity_counts.critical #=> Integer
2162
+ # resp.responses[0].repository_aggregation.severity_counts.high #=> Integer
2163
+ # resp.responses[0].repository_aggregation.severity_counts.medium #=> Integer
2164
+ # resp.responses[0].title_aggregation.account_id #=> String
2165
+ # resp.responses[0].title_aggregation.severity_counts.all #=> Integer
2166
+ # resp.responses[0].title_aggregation.severity_counts.critical #=> Integer
2167
+ # resp.responses[0].title_aggregation.severity_counts.high #=> Integer
2168
+ # resp.responses[0].title_aggregation.severity_counts.medium #=> Integer
2169
+ # resp.responses[0].title_aggregation.title #=> String
2170
+ # resp.responses[0].title_aggregation.vulnerability_id #=> String
2171
+ #
2172
+ # @see http://docs.aws.amazon.com/goto/WebAPI/inspector2-2020-06-08/ListFindingAggregations AWS API Documentation
2173
+ #
2174
+ # @overload list_finding_aggregations(params = {})
2175
+ # @param [Hash] params ({})
2176
+ def list_finding_aggregations(params = {}, options = {})
2177
+ req = build_request(:list_finding_aggregations, params)
2178
+ req.send_request(options)
2179
+ end
2180
+
2181
+ # Lists findings for your environment.
2182
+ #
2183
+ # @option params [Types::FilterCriteria] :filter_criteria
2184
+ # Details on the filters to apply to your finding results.
2185
+ #
2186
+ # @option params [Integer] :max_results
2187
+ # The maximum number of results to return in the response.
2188
+ #
2189
+ # @option params [String] :next_token
2190
+ # A token to use for paginating results that are returned in the
2191
+ # response. Set the value of this parameter to null for the first
2192
+ # request to a list action. For subsequent calls, use the `NextToken`
2193
+ # value returned from the previous request to continue listing results
2194
+ # after the first page.
2195
+ #
2196
+ # @option params [Types::SortCriteria] :sort_criteria
2197
+ # Details on the sort criteria to apply to your finding results.
2198
+ #
2199
+ # @return [Types::ListFindingsResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2200
+ #
2201
+ # * {Types::ListFindingsResponse#findings #findings} => Array&lt;Types::Finding&gt;
2202
+ # * {Types::ListFindingsResponse#next_token #next_token} => String
2203
+ #
2204
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
2205
+ #
2206
+ # @example Request syntax with placeholder values
2207
+ #
2208
+ # resp = client.list_findings({
2209
+ # filter_criteria: {
2210
+ # aws_account_id: [
2211
+ # {
2212
+ # comparison: "EQUALS", # required, accepts EQUALS, PREFIX, NOT_EQUALS
2213
+ # value: "StringInput", # required
2214
+ # },
2215
+ # ],
2216
+ # component_id: [
2217
+ # {
2218
+ # comparison: "EQUALS", # required, accepts EQUALS, PREFIX, NOT_EQUALS
2219
+ # value: "StringInput", # required
2220
+ # },
2221
+ # ],
2222
+ # component_type: [
2223
+ # {
2224
+ # comparison: "EQUALS", # required, accepts EQUALS, PREFIX, NOT_EQUALS
2225
+ # value: "StringInput", # required
2226
+ # },
2227
+ # ],
2228
+ # ec2_instance_image_id: [
2229
+ # {
2230
+ # comparison: "EQUALS", # required, accepts EQUALS, PREFIX, NOT_EQUALS
2231
+ # value: "StringInput", # required
2232
+ # },
2233
+ # ],
2234
+ # ec2_instance_subnet_id: [
2235
+ # {
2236
+ # comparison: "EQUALS", # required, accepts EQUALS, PREFIX, NOT_EQUALS
2237
+ # value: "StringInput", # required
2238
+ # },
2239
+ # ],
2240
+ # ec2_instance_vpc_id: [
2241
+ # {
2242
+ # comparison: "EQUALS", # required, accepts EQUALS, PREFIX, NOT_EQUALS
2243
+ # value: "StringInput", # required
2244
+ # },
2245
+ # ],
2246
+ # ecr_image_architecture: [
2247
+ # {
2248
+ # comparison: "EQUALS", # required, accepts EQUALS, PREFIX, NOT_EQUALS
2249
+ # value: "StringInput", # required
2250
+ # },
2251
+ # ],
2252
+ # ecr_image_hash: [
2253
+ # {
2254
+ # comparison: "EQUALS", # required, accepts EQUALS, PREFIX, NOT_EQUALS
2255
+ # value: "StringInput", # required
2256
+ # },
2257
+ # ],
2258
+ # ecr_image_pushed_at: [
2259
+ # {
2260
+ # end_inclusive: Time.now,
2261
+ # start_inclusive: Time.now,
2262
+ # },
2263
+ # ],
2264
+ # ecr_image_registry: [
2265
+ # {
2266
+ # comparison: "EQUALS", # required, accepts EQUALS, PREFIX, NOT_EQUALS
2267
+ # value: "StringInput", # required
2268
+ # },
2269
+ # ],
2270
+ # ecr_image_repository_name: [
2271
+ # {
2272
+ # comparison: "EQUALS", # required, accepts EQUALS, PREFIX, NOT_EQUALS
2273
+ # value: "StringInput", # required
2274
+ # },
2275
+ # ],
2276
+ # ecr_image_tags: [
2277
+ # {
2278
+ # comparison: "EQUALS", # required, accepts EQUALS, PREFIX, NOT_EQUALS
2279
+ # value: "StringInput", # required
2280
+ # },
2281
+ # ],
2282
+ # finding_arn: [
2283
+ # {
2284
+ # comparison: "EQUALS", # required, accepts EQUALS, PREFIX, NOT_EQUALS
2285
+ # value: "StringInput", # required
2286
+ # },
2287
+ # ],
2288
+ # finding_status: [
2289
+ # {
2290
+ # comparison: "EQUALS", # required, accepts EQUALS, PREFIX, NOT_EQUALS
2291
+ # value: "StringInput", # required
2292
+ # },
2293
+ # ],
2294
+ # finding_type: [
2295
+ # {
2296
+ # comparison: "EQUALS", # required, accepts EQUALS, PREFIX, NOT_EQUALS
2297
+ # value: "StringInput", # required
2298
+ # },
2299
+ # ],
2300
+ # first_observed_at: [
2301
+ # {
2302
+ # end_inclusive: Time.now,
2303
+ # start_inclusive: Time.now,
2304
+ # },
2305
+ # ],
2306
+ # inspector_score: [
2307
+ # {
2308
+ # lower_inclusive: 1.0,
2309
+ # upper_inclusive: 1.0,
2310
+ # },
2311
+ # ],
2312
+ # last_observed_at: [
2313
+ # {
2314
+ # end_inclusive: Time.now,
2315
+ # start_inclusive: Time.now,
2316
+ # },
2317
+ # ],
2318
+ # network_protocol: [
2319
+ # {
2320
+ # comparison: "EQUALS", # required, accepts EQUALS, PREFIX, NOT_EQUALS
2321
+ # value: "StringInput", # required
2322
+ # },
2323
+ # ],
2324
+ # port_range: [
2325
+ # {
2326
+ # begin_inclusive: 1,
2327
+ # end_inclusive: 1,
2328
+ # },
2329
+ # ],
2330
+ # related_vulnerabilities: [
2331
+ # {
2332
+ # comparison: "EQUALS", # required, accepts EQUALS, PREFIX, NOT_EQUALS
2333
+ # value: "StringInput", # required
2334
+ # },
2335
+ # ],
2336
+ # resource_id: [
2337
+ # {
2338
+ # comparison: "EQUALS", # required, accepts EQUALS, PREFIX, NOT_EQUALS
2339
+ # value: "StringInput", # required
2340
+ # },
2341
+ # ],
2342
+ # resource_tags: [
2343
+ # {
2344
+ # comparison: "EQUALS", # required, accepts EQUALS
2345
+ # key: "MapKey", # required
2346
+ # value: "MapValue",
2347
+ # },
2348
+ # ],
2349
+ # resource_type: [
2350
+ # {
2351
+ # comparison: "EQUALS", # required, accepts EQUALS, PREFIX, NOT_EQUALS
2352
+ # value: "StringInput", # required
2353
+ # },
2354
+ # ],
2355
+ # severity: [
2356
+ # {
2357
+ # comparison: "EQUALS", # required, accepts EQUALS, PREFIX, NOT_EQUALS
2358
+ # value: "StringInput", # required
2359
+ # },
2360
+ # ],
2361
+ # title: [
2362
+ # {
2363
+ # comparison: "EQUALS", # required, accepts EQUALS, PREFIX, NOT_EQUALS
2364
+ # value: "StringInput", # required
2365
+ # },
2366
+ # ],
2367
+ # updated_at: [
2368
+ # {
2369
+ # end_inclusive: Time.now,
2370
+ # start_inclusive: Time.now,
2371
+ # },
2372
+ # ],
2373
+ # vendor_severity: [
2374
+ # {
2375
+ # comparison: "EQUALS", # required, accepts EQUALS, PREFIX, NOT_EQUALS
2376
+ # value: "StringInput", # required
2377
+ # },
2378
+ # ],
2379
+ # vulnerability_id: [
2380
+ # {
2381
+ # comparison: "EQUALS", # required, accepts EQUALS, PREFIX, NOT_EQUALS
2382
+ # value: "StringInput", # required
2383
+ # },
2384
+ # ],
2385
+ # vulnerability_source: [
2386
+ # {
2387
+ # comparison: "EQUALS", # required, accepts EQUALS, PREFIX, NOT_EQUALS
2388
+ # value: "StringInput", # required
2389
+ # },
2390
+ # ],
2391
+ # vulnerable_packages: [
2392
+ # {
2393
+ # architecture: {
2394
+ # comparison: "EQUALS", # required, accepts EQUALS, PREFIX, NOT_EQUALS
2395
+ # value: "StringInput", # required
2396
+ # },
2397
+ # epoch: {
2398
+ # lower_inclusive: 1.0,
2399
+ # upper_inclusive: 1.0,
2400
+ # },
2401
+ # name: {
2402
+ # comparison: "EQUALS", # required, accepts EQUALS, PREFIX, NOT_EQUALS
2403
+ # value: "StringInput", # required
2404
+ # },
2405
+ # release: {
2406
+ # comparison: "EQUALS", # required, accepts EQUALS, PREFIX, NOT_EQUALS
2407
+ # value: "StringInput", # required
2408
+ # },
2409
+ # source_layer_hash: {
2410
+ # comparison: "EQUALS", # required, accepts EQUALS, PREFIX, NOT_EQUALS
2411
+ # value: "StringInput", # required
2412
+ # },
2413
+ # version: {
2414
+ # comparison: "EQUALS", # required, accepts EQUALS, PREFIX, NOT_EQUALS
2415
+ # value: "StringInput", # required
2416
+ # },
2417
+ # },
2418
+ # ],
2419
+ # },
2420
+ # max_results: 1,
2421
+ # next_token: "NextToken",
2422
+ # sort_criteria: {
2423
+ # field: "AWS_ACCOUNT_ID", # required, accepts AWS_ACCOUNT_ID, FINDING_TYPE, SEVERITY, FIRST_OBSERVED_AT, LAST_OBSERVED_AT, FINDING_STATUS, RESOURCE_TYPE, ECR_IMAGE_PUSHED_AT, ECR_IMAGE_REPOSITORY_NAME, ECR_IMAGE_REGISTRY, NETWORK_PROTOCOL, COMPONENT_TYPE, VULNERABILITY_ID, VULNERABILITY_SOURCE, INSPECTOR_SCORE, VENDOR_SEVERITY
2424
+ # sort_order: "ASC", # required, accepts ASC, DESC
2425
+ # },
2426
+ # })
2427
+ #
2428
+ # @example Response structure
2429
+ #
2430
+ # resp.findings #=> Array
2431
+ # resp.findings[0].aws_account_id #=> String
2432
+ # resp.findings[0].description #=> String
2433
+ # resp.findings[0].finding_arn #=> String
2434
+ # resp.findings[0].first_observed_at #=> Time
2435
+ # resp.findings[0].inspector_score #=> Float
2436
+ # resp.findings[0].inspector_score_details.adjusted_cvss.adjustments #=> Array
2437
+ # resp.findings[0].inspector_score_details.adjusted_cvss.adjustments[0].metric #=> String
2438
+ # resp.findings[0].inspector_score_details.adjusted_cvss.adjustments[0].reason #=> String
2439
+ # resp.findings[0].inspector_score_details.adjusted_cvss.cvss_source #=> String
2440
+ # resp.findings[0].inspector_score_details.adjusted_cvss.score #=> Float
2441
+ # resp.findings[0].inspector_score_details.adjusted_cvss.score_source #=> String
2442
+ # resp.findings[0].inspector_score_details.adjusted_cvss.scoring_vector #=> String
2443
+ # resp.findings[0].inspector_score_details.adjusted_cvss.version #=> String
2444
+ # resp.findings[0].last_observed_at #=> Time
2445
+ # resp.findings[0].network_reachability_details.network_path.steps #=> Array
2446
+ # resp.findings[0].network_reachability_details.network_path.steps[0].component_id #=> String
2447
+ # resp.findings[0].network_reachability_details.network_path.steps[0].component_type #=> String
2448
+ # resp.findings[0].network_reachability_details.open_port_range.begin #=> Integer
2449
+ # resp.findings[0].network_reachability_details.open_port_range.end #=> Integer
2450
+ # resp.findings[0].network_reachability_details.protocol #=> String, one of "TCP", "UDP"
2451
+ # resp.findings[0].package_vulnerability_details.cvss #=> Array
2452
+ # resp.findings[0].package_vulnerability_details.cvss[0].base_score #=> Float
2453
+ # resp.findings[0].package_vulnerability_details.cvss[0].scoring_vector #=> String
2454
+ # resp.findings[0].package_vulnerability_details.cvss[0].source #=> String
2455
+ # resp.findings[0].package_vulnerability_details.cvss[0].version #=> String
2456
+ # resp.findings[0].package_vulnerability_details.reference_urls #=> Array
2457
+ # resp.findings[0].package_vulnerability_details.reference_urls[0] #=> String
2458
+ # resp.findings[0].package_vulnerability_details.related_vulnerabilities #=> Array
2459
+ # resp.findings[0].package_vulnerability_details.related_vulnerabilities[0] #=> String
2460
+ # resp.findings[0].package_vulnerability_details.source #=> String
2461
+ # resp.findings[0].package_vulnerability_details.source_url #=> String
2462
+ # resp.findings[0].package_vulnerability_details.vendor_created_at #=> Time
2463
+ # resp.findings[0].package_vulnerability_details.vendor_severity #=> String
2464
+ # resp.findings[0].package_vulnerability_details.vendor_updated_at #=> Time
2465
+ # resp.findings[0].package_vulnerability_details.vulnerability_id #=> String
2466
+ # resp.findings[0].package_vulnerability_details.vulnerable_packages #=> Array
2467
+ # resp.findings[0].package_vulnerability_details.vulnerable_packages[0].arch #=> String
2468
+ # resp.findings[0].package_vulnerability_details.vulnerable_packages[0].epoch #=> Integer
2469
+ # resp.findings[0].package_vulnerability_details.vulnerable_packages[0].file_path #=> String
2470
+ # resp.findings[0].package_vulnerability_details.vulnerable_packages[0].fixed_in_version #=> String
2471
+ # resp.findings[0].package_vulnerability_details.vulnerable_packages[0].name #=> String
2472
+ # resp.findings[0].package_vulnerability_details.vulnerable_packages[0].package_manager #=> String, one of "BUNDLER", "CARGO", "COMPOSER", "NPM", "NUGET", "PIPENV", "POETRY", "YARN", "GOBINARY", "GOMOD", "JAR", "OS"
2473
+ # resp.findings[0].package_vulnerability_details.vulnerable_packages[0].release #=> String
2474
+ # resp.findings[0].package_vulnerability_details.vulnerable_packages[0].source_layer_hash #=> String
2475
+ # resp.findings[0].package_vulnerability_details.vulnerable_packages[0].version #=> String
2476
+ # resp.findings[0].remediation.recommendation.url #=> String
2477
+ # resp.findings[0].remediation.recommendation.text #=> String
2478
+ # resp.findings[0].resources #=> Array
2479
+ # resp.findings[0].resources[0].details.aws_ec2_instance.iam_instance_profile_arn #=> String
2480
+ # resp.findings[0].resources[0].details.aws_ec2_instance.image_id #=> String
2481
+ # resp.findings[0].resources[0].details.aws_ec2_instance.ip_v4_addresses #=> Array
2482
+ # resp.findings[0].resources[0].details.aws_ec2_instance.ip_v4_addresses[0] #=> String
2483
+ # resp.findings[0].resources[0].details.aws_ec2_instance.ip_v6_addresses #=> Array
2484
+ # resp.findings[0].resources[0].details.aws_ec2_instance.ip_v6_addresses[0] #=> String
2485
+ # resp.findings[0].resources[0].details.aws_ec2_instance.key_name #=> String
2486
+ # resp.findings[0].resources[0].details.aws_ec2_instance.launched_at #=> Time
2487
+ # resp.findings[0].resources[0].details.aws_ec2_instance.platform #=> String
2488
+ # resp.findings[0].resources[0].details.aws_ec2_instance.subnet_id #=> String
2489
+ # resp.findings[0].resources[0].details.aws_ec2_instance.type #=> String
2490
+ # resp.findings[0].resources[0].details.aws_ec2_instance.vpc_id #=> String
2491
+ # resp.findings[0].resources[0].details.aws_ecr_container_image.architecture #=> String
2492
+ # resp.findings[0].resources[0].details.aws_ecr_container_image.author #=> String
2493
+ # resp.findings[0].resources[0].details.aws_ecr_container_image.image_hash #=> String
2494
+ # resp.findings[0].resources[0].details.aws_ecr_container_image.image_tags #=> Array
2495
+ # resp.findings[0].resources[0].details.aws_ecr_container_image.image_tags[0] #=> String
2496
+ # resp.findings[0].resources[0].details.aws_ecr_container_image.platform #=> String
2497
+ # resp.findings[0].resources[0].details.aws_ecr_container_image.pushed_at #=> Time
2498
+ # resp.findings[0].resources[0].details.aws_ecr_container_image.registry #=> String
2499
+ # resp.findings[0].resources[0].details.aws_ecr_container_image.repository_name #=> String
2500
+ # resp.findings[0].resources[0].id #=> String
2501
+ # resp.findings[0].resources[0].partition #=> String
2502
+ # resp.findings[0].resources[0].region #=> String
2503
+ # resp.findings[0].resources[0].tags #=> Hash
2504
+ # resp.findings[0].resources[0].tags["MapKey"] #=> String
2505
+ # resp.findings[0].resources[0].type #=> String, one of "AWS_EC2_INSTANCE", "AWS_ECR_CONTAINER_IMAGE", "AWS_ECR_REPOSITORY"
2506
+ # resp.findings[0].severity #=> String, one of "INFORMATIONAL", "LOW", "MEDIUM", "HIGH", "CRITICAL", "UNTRIAGED"
2507
+ # resp.findings[0].status #=> String, one of "ACTIVE", "SUPPRESSED", "CLOSED"
2508
+ # resp.findings[0].title #=> String
2509
+ # resp.findings[0].type #=> String, one of "NETWORK_REACHABILITY", "PACKAGE_VULNERABILITY"
2510
+ # resp.findings[0].updated_at #=> Time
2511
+ # resp.next_token #=> String
2512
+ #
2513
+ # @see http://docs.aws.amazon.com/goto/WebAPI/inspector2-2020-06-08/ListFindings AWS API Documentation
2514
+ #
2515
+ # @overload list_findings(params = {})
2516
+ # @param [Hash] params ({})
2517
+ def list_findings(params = {}, options = {})
2518
+ req = build_request(:list_findings, params)
2519
+ req.send_request(options)
2520
+ end
2521
+
2522
+ # List members associated with the Amazon Inspector delegated
2523
+ # administrator for your organization.
2524
+ #
2525
+ # @option params [Integer] :max_results
2526
+ # The maximum number of results to return in the response.
2527
+ #
2528
+ # @option params [String] :next_token
2529
+ # A token to use for paginating results that are returned in the
2530
+ # response. Set the value of this parameter to null for the first
2531
+ # request to a list action. For subsequent calls, use the `NextToken`
2532
+ # value returned from the previous request to continue listing results
2533
+ # after the first page.
2534
+ #
2535
+ # @option params [Boolean] :only_associated
2536
+ # Specifies whether to list only currently associated members if `True`
2537
+ # or to list all members within the organization if `False`.
2538
+ #
2539
+ # @return [Types::ListMembersResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2540
+ #
2541
+ # * {Types::ListMembersResponse#members #members} => Array&lt;Types::Member&gt;
2542
+ # * {Types::ListMembersResponse#next_token #next_token} => String
2543
+ #
2544
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
2545
+ #
2546
+ # @example Request syntax with placeholder values
2547
+ #
2548
+ # resp = client.list_members({
2549
+ # max_results: 1,
2550
+ # next_token: "NextToken",
2551
+ # only_associated: false,
2552
+ # })
2553
+ #
2554
+ # @example Response structure
2555
+ #
2556
+ # resp.members #=> Array
2557
+ # resp.members[0].account_id #=> String
2558
+ # resp.members[0].delegated_admin_account_id #=> String
2559
+ # resp.members[0].relationship_status #=> String, one of "CREATED", "INVITED", "DISABLED", "ENABLED", "REMOVED", "RESIGNED", "DELETED", "EMAIL_VERIFICATION_IN_PROGRESS", "EMAIL_VERIFICATION_FAILED", "REGION_DISABLED", "ACCOUNT_SUSPENDED", "CANNOT_CREATE_DETECTOR_IN_ORG_MASTER"
2560
+ # resp.members[0].updated_at #=> Time
2561
+ # resp.next_token #=> String
2562
+ #
2563
+ # @see http://docs.aws.amazon.com/goto/WebAPI/inspector2-2020-06-08/ListMembers AWS API Documentation
2564
+ #
2565
+ # @overload list_members(params = {})
2566
+ # @param [Hash] params ({})
2567
+ def list_members(params = {}, options = {})
2568
+ req = build_request(:list_members, params)
2569
+ req.send_request(options)
2570
+ end
2571
+
2572
+ # Lists all tags attached to a given resource.
2573
+ #
2574
+ # @option params [required, String] :resource_arn
2575
+ # The Amazon resource number (ARN) of the resource to list tags of.
2576
+ #
2577
+ # @return [Types::ListTagsForResourceResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2578
+ #
2579
+ # * {Types::ListTagsForResourceResponse#tags #tags} => Hash&lt;String,String&gt;
2580
+ #
2581
+ # @example Request syntax with placeholder values
2582
+ #
2583
+ # resp = client.list_tags_for_resource({
2584
+ # resource_arn: "Arn", # required
2585
+ # })
2586
+ #
2587
+ # @example Response structure
2588
+ #
2589
+ # resp.tags #=> Hash
2590
+ # resp.tags["MapKey"] #=> String
2591
+ #
2592
+ # @see http://docs.aws.amazon.com/goto/WebAPI/inspector2-2020-06-08/ListTagsForResource AWS API Documentation
2593
+ #
2594
+ # @overload list_tags_for_resource(params = {})
2595
+ # @param [Hash] params ({})
2596
+ def list_tags_for_resource(params = {}, options = {})
2597
+ req = build_request(:list_tags_for_resource, params)
2598
+ req.send_request(options)
2599
+ end
2600
+
2601
+ # Lists the Amazon Inspector usage totals over the last 30 days.
2602
+ #
2603
+ # @option params [Array<String>] :account_ids
2604
+ # The Amazon Web Services account IDs to retrieve usage totals for.
2605
+ #
2606
+ # @option params [Integer] :max_results
2607
+ # The maximum number of results to return in the response.
2608
+ #
2609
+ # @option params [String] :next_token
2610
+ # A token to use for paginating results that are returned in the
2611
+ # response. Set the value of this parameter to null for the first
2612
+ # request to a list action. For subsequent calls, use the `NextToken`
2613
+ # value returned from the previous request to continue listing results
2614
+ # after the first page.
2615
+ #
2616
+ # @return [Types::ListUsageTotalsResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2617
+ #
2618
+ # * {Types::ListUsageTotalsResponse#next_token #next_token} => String
2619
+ # * {Types::ListUsageTotalsResponse#totals #totals} => Array&lt;Types::UsageTotal&gt;
2620
+ #
2621
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
2622
+ #
2623
+ # @example Request syntax with placeholder values
2624
+ #
2625
+ # resp = client.list_usage_totals({
2626
+ # account_ids: ["UsageAccountId"],
2627
+ # max_results: 1,
2628
+ # next_token: "ListUsageTotalsNextToken",
2629
+ # })
2630
+ #
2631
+ # @example Response structure
2632
+ #
2633
+ # resp.next_token #=> String
2634
+ # resp.totals #=> Array
2635
+ # resp.totals[0].account_id #=> String
2636
+ # resp.totals[0].usage #=> Array
2637
+ # resp.totals[0].usage[0].currency #=> String, one of "USD"
2638
+ # resp.totals[0].usage[0].estimated_monthly_cost #=> Float
2639
+ # resp.totals[0].usage[0].total #=> Float
2640
+ # resp.totals[0].usage[0].type #=> String, one of "EC2_INSTANCE_HOURS", "ECR_INITIAL_SCAN", "ECR_RESCAN"
2641
+ #
2642
+ # @see http://docs.aws.amazon.com/goto/WebAPI/inspector2-2020-06-08/ListUsageTotals AWS API Documentation
2643
+ #
2644
+ # @overload list_usage_totals(params = {})
2645
+ # @param [Hash] params ({})
2646
+ def list_usage_totals(params = {}, options = {})
2647
+ req = build_request(:list_usage_totals, params)
2648
+ req.send_request(options)
2649
+ end
2650
+
2651
+ # Adds tags to a resource.
2652
+ #
2653
+ # @option params [required, String] :resource_arn
2654
+ # The Amazon Resource Name (ARN) of the resource to apply a tag to.
2655
+ #
2656
+ # @option params [required, Hash<String,String>] :tags
2657
+ # The tags to be added to a resource.
2658
+ #
2659
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
2660
+ #
2661
+ # @example Request syntax with placeholder values
2662
+ #
2663
+ # resp = client.tag_resource({
2664
+ # resource_arn: "Arn", # required
2665
+ # tags: { # required
2666
+ # "MapKey" => "MapValue",
2667
+ # },
2668
+ # })
2669
+ #
2670
+ # @see http://docs.aws.amazon.com/goto/WebAPI/inspector2-2020-06-08/TagResource AWS API Documentation
2671
+ #
2672
+ # @overload tag_resource(params = {})
2673
+ # @param [Hash] params ({})
2674
+ def tag_resource(params = {}, options = {})
2675
+ req = build_request(:tag_resource, params)
2676
+ req.send_request(options)
2677
+ end
2678
+
2679
+ # Removes tags from a resource.
2680
+ #
2681
+ # @option params [required, String] :resource_arn
2682
+ # The Amazon Resource Name (ARN) for the resource to remove tags from.
2683
+ #
2684
+ # @option params [required, Array<String>] :tag_keys
2685
+ # The tag keys to remove from the resource.
2686
+ #
2687
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
2688
+ #
2689
+ # @example Request syntax with placeholder values
2690
+ #
2691
+ # resp = client.untag_resource({
2692
+ # resource_arn: "Arn", # required
2693
+ # tag_keys: ["TagKey"], # required
2694
+ # })
2695
+ #
2696
+ # @see http://docs.aws.amazon.com/goto/WebAPI/inspector2-2020-06-08/UntagResource AWS API Documentation
2697
+ #
2698
+ # @overload untag_resource(params = {})
2699
+ # @param [Hash] params ({})
2700
+ def untag_resource(params = {}, options = {})
2701
+ req = build_request(:untag_resource, params)
2702
+ req.send_request(options)
2703
+ end
2704
+
2705
+ # Specifies the action that is to be applied to the findings that match
2706
+ # the filter.
2707
+ #
2708
+ # @option params [String] :action
2709
+ # Specifies the action that is to be applied to the findings that match
2710
+ # the filter.
2711
+ #
2712
+ # @option params [String] :description
2713
+ # A description of the filter.
2714
+ #
2715
+ # @option params [required, String] :filter_arn
2716
+ # The Amazon Resource Number (ARN) of the filter to update.
2717
+ #
2718
+ # @option params [Types::FilterCriteria] :filter_criteria
2719
+ # Defines the criteria to be update in the filter.
2720
+ #
2721
+ # @option params [String] :name
2722
+ # The name of the filter.
2723
+ #
2724
+ # @return [Types::UpdateFilterResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2725
+ #
2726
+ # * {Types::UpdateFilterResponse#arn #arn} => String
2727
+ #
2728
+ # @example Request syntax with placeholder values
2729
+ #
2730
+ # resp = client.update_filter({
2731
+ # action: "NONE", # accepts NONE, SUPPRESS
2732
+ # description: "FilterDescription",
2733
+ # filter_arn: "FilterArn", # required
2734
+ # filter_criteria: {
2735
+ # aws_account_id: [
2736
+ # {
2737
+ # comparison: "EQUALS", # required, accepts EQUALS, PREFIX, NOT_EQUALS
2738
+ # value: "StringInput", # required
2739
+ # },
2740
+ # ],
2741
+ # component_id: [
2742
+ # {
2743
+ # comparison: "EQUALS", # required, accepts EQUALS, PREFIX, NOT_EQUALS
2744
+ # value: "StringInput", # required
2745
+ # },
2746
+ # ],
2747
+ # component_type: [
2748
+ # {
2749
+ # comparison: "EQUALS", # required, accepts EQUALS, PREFIX, NOT_EQUALS
2750
+ # value: "StringInput", # required
2751
+ # },
2752
+ # ],
2753
+ # ec2_instance_image_id: [
2754
+ # {
2755
+ # comparison: "EQUALS", # required, accepts EQUALS, PREFIX, NOT_EQUALS
2756
+ # value: "StringInput", # required
2757
+ # },
2758
+ # ],
2759
+ # ec2_instance_subnet_id: [
2760
+ # {
2761
+ # comparison: "EQUALS", # required, accepts EQUALS, PREFIX, NOT_EQUALS
2762
+ # value: "StringInput", # required
2763
+ # },
2764
+ # ],
2765
+ # ec2_instance_vpc_id: [
2766
+ # {
2767
+ # comparison: "EQUALS", # required, accepts EQUALS, PREFIX, NOT_EQUALS
2768
+ # value: "StringInput", # required
2769
+ # },
2770
+ # ],
2771
+ # ecr_image_architecture: [
2772
+ # {
2773
+ # comparison: "EQUALS", # required, accepts EQUALS, PREFIX, NOT_EQUALS
2774
+ # value: "StringInput", # required
2775
+ # },
2776
+ # ],
2777
+ # ecr_image_hash: [
2778
+ # {
2779
+ # comparison: "EQUALS", # required, accepts EQUALS, PREFIX, NOT_EQUALS
2780
+ # value: "StringInput", # required
2781
+ # },
2782
+ # ],
2783
+ # ecr_image_pushed_at: [
2784
+ # {
2785
+ # end_inclusive: Time.now,
2786
+ # start_inclusive: Time.now,
2787
+ # },
2788
+ # ],
2789
+ # ecr_image_registry: [
2790
+ # {
2791
+ # comparison: "EQUALS", # required, accepts EQUALS, PREFIX, NOT_EQUALS
2792
+ # value: "StringInput", # required
2793
+ # },
2794
+ # ],
2795
+ # ecr_image_repository_name: [
2796
+ # {
2797
+ # comparison: "EQUALS", # required, accepts EQUALS, PREFIX, NOT_EQUALS
2798
+ # value: "StringInput", # required
2799
+ # },
2800
+ # ],
2801
+ # ecr_image_tags: [
2802
+ # {
2803
+ # comparison: "EQUALS", # required, accepts EQUALS, PREFIX, NOT_EQUALS
2804
+ # value: "StringInput", # required
2805
+ # },
2806
+ # ],
2807
+ # finding_arn: [
2808
+ # {
2809
+ # comparison: "EQUALS", # required, accepts EQUALS, PREFIX, NOT_EQUALS
2810
+ # value: "StringInput", # required
2811
+ # },
2812
+ # ],
2813
+ # finding_status: [
2814
+ # {
2815
+ # comparison: "EQUALS", # required, accepts EQUALS, PREFIX, NOT_EQUALS
2816
+ # value: "StringInput", # required
2817
+ # },
2818
+ # ],
2819
+ # finding_type: [
2820
+ # {
2821
+ # comparison: "EQUALS", # required, accepts EQUALS, PREFIX, NOT_EQUALS
2822
+ # value: "StringInput", # required
2823
+ # },
2824
+ # ],
2825
+ # first_observed_at: [
2826
+ # {
2827
+ # end_inclusive: Time.now,
2828
+ # start_inclusive: Time.now,
2829
+ # },
2830
+ # ],
2831
+ # inspector_score: [
2832
+ # {
2833
+ # lower_inclusive: 1.0,
2834
+ # upper_inclusive: 1.0,
2835
+ # },
2836
+ # ],
2837
+ # last_observed_at: [
2838
+ # {
2839
+ # end_inclusive: Time.now,
2840
+ # start_inclusive: Time.now,
2841
+ # },
2842
+ # ],
2843
+ # network_protocol: [
2844
+ # {
2845
+ # comparison: "EQUALS", # required, accepts EQUALS, PREFIX, NOT_EQUALS
2846
+ # value: "StringInput", # required
2847
+ # },
2848
+ # ],
2849
+ # port_range: [
2850
+ # {
2851
+ # begin_inclusive: 1,
2852
+ # end_inclusive: 1,
2853
+ # },
2854
+ # ],
2855
+ # related_vulnerabilities: [
2856
+ # {
2857
+ # comparison: "EQUALS", # required, accepts EQUALS, PREFIX, NOT_EQUALS
2858
+ # value: "StringInput", # required
2859
+ # },
2860
+ # ],
2861
+ # resource_id: [
2862
+ # {
2863
+ # comparison: "EQUALS", # required, accepts EQUALS, PREFIX, NOT_EQUALS
2864
+ # value: "StringInput", # required
2865
+ # },
2866
+ # ],
2867
+ # resource_tags: [
2868
+ # {
2869
+ # comparison: "EQUALS", # required, accepts EQUALS
2870
+ # key: "MapKey", # required
2871
+ # value: "MapValue",
2872
+ # },
2873
+ # ],
2874
+ # resource_type: [
2875
+ # {
2876
+ # comparison: "EQUALS", # required, accepts EQUALS, PREFIX, NOT_EQUALS
2877
+ # value: "StringInput", # required
2878
+ # },
2879
+ # ],
2880
+ # severity: [
2881
+ # {
2882
+ # comparison: "EQUALS", # required, accepts EQUALS, PREFIX, NOT_EQUALS
2883
+ # value: "StringInput", # required
2884
+ # },
2885
+ # ],
2886
+ # title: [
2887
+ # {
2888
+ # comparison: "EQUALS", # required, accepts EQUALS, PREFIX, NOT_EQUALS
2889
+ # value: "StringInput", # required
2890
+ # },
2891
+ # ],
2892
+ # updated_at: [
2893
+ # {
2894
+ # end_inclusive: Time.now,
2895
+ # start_inclusive: Time.now,
2896
+ # },
2897
+ # ],
2898
+ # vendor_severity: [
2899
+ # {
2900
+ # comparison: "EQUALS", # required, accepts EQUALS, PREFIX, NOT_EQUALS
2901
+ # value: "StringInput", # required
2902
+ # },
2903
+ # ],
2904
+ # vulnerability_id: [
2905
+ # {
2906
+ # comparison: "EQUALS", # required, accepts EQUALS, PREFIX, NOT_EQUALS
2907
+ # value: "StringInput", # required
2908
+ # },
2909
+ # ],
2910
+ # vulnerability_source: [
2911
+ # {
2912
+ # comparison: "EQUALS", # required, accepts EQUALS, PREFIX, NOT_EQUALS
2913
+ # value: "StringInput", # required
2914
+ # },
2915
+ # ],
2916
+ # vulnerable_packages: [
2917
+ # {
2918
+ # architecture: {
2919
+ # comparison: "EQUALS", # required, accepts EQUALS, PREFIX, NOT_EQUALS
2920
+ # value: "StringInput", # required
2921
+ # },
2922
+ # epoch: {
2923
+ # lower_inclusive: 1.0,
2924
+ # upper_inclusive: 1.0,
2925
+ # },
2926
+ # name: {
2927
+ # comparison: "EQUALS", # required, accepts EQUALS, PREFIX, NOT_EQUALS
2928
+ # value: "StringInput", # required
2929
+ # },
2930
+ # release: {
2931
+ # comparison: "EQUALS", # required, accepts EQUALS, PREFIX, NOT_EQUALS
2932
+ # value: "StringInput", # required
2933
+ # },
2934
+ # source_layer_hash: {
2935
+ # comparison: "EQUALS", # required, accepts EQUALS, PREFIX, NOT_EQUALS
2936
+ # value: "StringInput", # required
2937
+ # },
2938
+ # version: {
2939
+ # comparison: "EQUALS", # required, accepts EQUALS, PREFIX, NOT_EQUALS
2940
+ # value: "StringInput", # required
2941
+ # },
2942
+ # },
2943
+ # ],
2944
+ # },
2945
+ # name: "FilterName",
2946
+ # })
2947
+ #
2948
+ # @example Response structure
2949
+ #
2950
+ # resp.arn #=> String
2951
+ #
2952
+ # @see http://docs.aws.amazon.com/goto/WebAPI/inspector2-2020-06-08/UpdateFilter AWS API Documentation
2953
+ #
2954
+ # @overload update_filter(params = {})
2955
+ # @param [Hash] params ({})
2956
+ def update_filter(params = {}, options = {})
2957
+ req = build_request(:update_filter, params)
2958
+ req.send_request(options)
2959
+ end
2960
+
2961
+ # Updates the configurations for your Amazon Inspector organization.
2962
+ #
2963
+ # @option params [required, Types::AutoEnable] :auto_enable
2964
+ # Defines which scan types are enabled automatically for new members of
2965
+ # your Amazon Inspector organization.
2966
+ #
2967
+ # @return [Types::UpdateOrganizationConfigurationResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2968
+ #
2969
+ # * {Types::UpdateOrganizationConfigurationResponse#auto_enable #auto_enable} => Types::AutoEnable
2970
+ #
2971
+ # @example Request syntax with placeholder values
2972
+ #
2973
+ # resp = client.update_organization_configuration({
2974
+ # auto_enable: { # required
2975
+ # ec2: false, # required
2976
+ # ecr: false, # required
2977
+ # },
2978
+ # })
2979
+ #
2980
+ # @example Response structure
2981
+ #
2982
+ # resp.auto_enable.ec2 #=> Boolean
2983
+ # resp.auto_enable.ecr #=> Boolean
2984
+ #
2985
+ # @see http://docs.aws.amazon.com/goto/WebAPI/inspector2-2020-06-08/UpdateOrganizationConfiguration AWS API Documentation
2986
+ #
2987
+ # @overload update_organization_configuration(params = {})
2988
+ # @param [Hash] params ({})
2989
+ def update_organization_configuration(params = {}, options = {})
2990
+ req = build_request(:update_organization_configuration, params)
2991
+ req.send_request(options)
2992
+ end
2993
+
2994
+ # @!endgroup
2995
+
2996
+ # @param params ({})
2997
+ # @api private
2998
+ def build_request(operation_name, params = {})
2999
+ handlers = @handlers.for(operation_name)
3000
+ context = Seahorse::Client::RequestContext.new(
3001
+ operation_name: operation_name,
3002
+ operation: config.api.operation(operation_name),
3003
+ client: self,
3004
+ params: params,
3005
+ config: config)
3006
+ context[:gem_name] = 'aws-sdk-inspector2'
3007
+ context[:gem_version] = '1.0.0'
3008
+ Seahorse::Client::Request.new(handlers, context)
3009
+ end
3010
+
3011
+ # @api private
3012
+ # @deprecated
3013
+ def waiter_names
3014
+ []
3015
+ end
3016
+
3017
+ class << self
3018
+
3019
+ # @api private
3020
+ attr_reader :identifier
3021
+
3022
+ # @api private
3023
+ def errors_module
3024
+ Errors
3025
+ end
3026
+
3027
+ end
3028
+ end
3029
+ end