aws-sdk-securityhub 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.
checksums.yaml ADDED
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA1:
3
+ metadata.gz: 6dfae875ffcf4a628dcf09281d66614e2f7088cc
4
+ data.tar.gz: 4eb93a65dac9dc0907754d4957ad3e2d5c1410c3
5
+ SHA512:
6
+ metadata.gz: bb8798c49a6f618143cf1e1026ca9c0538d3f3dab8187338f5abba0c9027be035219697b216cef2bf7e67fd081b130b5de75b7259076687a445dce89640c11a0
7
+ data.tar.gz: d434b77bc638126b5057305167400cbabd1ce7b8b243a070856eec671925b7b490a18d091562f8422696012de99d222c5b34da06631cc86de9cde78d1ef636c4
@@ -0,0 +1,3900 @@
1
+ # WARNING ABOUT GENERATED CODE
2
+ #
3
+ # This file is generated. See the contributing guide for more information:
4
+ # https://github.com/aws/aws-sdk-ruby/blob/master/CONTRIBUTING.md
5
+ #
6
+ # WARNING ABOUT GENERATED CODE
7
+
8
+ require 'seahorse/client/plugins/content_length.rb'
9
+ require 'aws-sdk-core/plugins/credentials_configuration.rb'
10
+ require 'aws-sdk-core/plugins/logging.rb'
11
+ require 'aws-sdk-core/plugins/param_converter.rb'
12
+ require 'aws-sdk-core/plugins/param_validator.rb'
13
+ require 'aws-sdk-core/plugins/user_agent.rb'
14
+ require 'aws-sdk-core/plugins/helpful_socket_errors.rb'
15
+ require 'aws-sdk-core/plugins/retry_errors.rb'
16
+ require 'aws-sdk-core/plugins/global_configuration.rb'
17
+ require 'aws-sdk-core/plugins/regional_endpoint.rb'
18
+ require 'aws-sdk-core/plugins/endpoint_discovery.rb'
19
+ require 'aws-sdk-core/plugins/endpoint_pattern.rb'
20
+ require 'aws-sdk-core/plugins/response_paging.rb'
21
+ require 'aws-sdk-core/plugins/stub_responses.rb'
22
+ require 'aws-sdk-core/plugins/idempotency_token.rb'
23
+ require 'aws-sdk-core/plugins/jsonvalue_converter.rb'
24
+ require 'aws-sdk-core/plugins/client_metrics_plugin.rb'
25
+ require 'aws-sdk-core/plugins/client_metrics_send_plugin.rb'
26
+ require 'aws-sdk-core/plugins/signature_v4.rb'
27
+ require 'aws-sdk-core/plugins/protocols/rest_json.rb'
28
+
29
+ Aws::Plugins::GlobalConfiguration.add_identifier(:securityhub)
30
+
31
+ module Aws::SecurityHub
32
+ class Client < Seahorse::Client::Base
33
+
34
+ include Aws::ClientStubs
35
+
36
+ @identifier = :securityhub
37
+
38
+ set_api(ClientApi::API)
39
+
40
+ add_plugin(Seahorse::Client::Plugins::ContentLength)
41
+ add_plugin(Aws::Plugins::CredentialsConfiguration)
42
+ add_plugin(Aws::Plugins::Logging)
43
+ add_plugin(Aws::Plugins::ParamConverter)
44
+ add_plugin(Aws::Plugins::ParamValidator)
45
+ add_plugin(Aws::Plugins::UserAgent)
46
+ add_plugin(Aws::Plugins::HelpfulSocketErrors)
47
+ add_plugin(Aws::Plugins::RetryErrors)
48
+ add_plugin(Aws::Plugins::GlobalConfiguration)
49
+ add_plugin(Aws::Plugins::RegionalEndpoint)
50
+ add_plugin(Aws::Plugins::EndpointDiscovery)
51
+ add_plugin(Aws::Plugins::EndpointPattern)
52
+ add_plugin(Aws::Plugins::ResponsePaging)
53
+ add_plugin(Aws::Plugins::StubResponses)
54
+ add_plugin(Aws::Plugins::IdempotencyToken)
55
+ add_plugin(Aws::Plugins::JsonvalueConverter)
56
+ add_plugin(Aws::Plugins::ClientMetricsPlugin)
57
+ add_plugin(Aws::Plugins::ClientMetricsSendPlugin)
58
+ add_plugin(Aws::Plugins::SignatureV4)
59
+ add_plugin(Aws::Plugins::Protocols::RestJson)
60
+
61
+ # @overload initialize(options)
62
+ # @param [Hash] options
63
+ # @option options [required, Aws::CredentialProvider] :credentials
64
+ # Your AWS credentials. This can be an instance of any one of the
65
+ # following classes:
66
+ #
67
+ # * `Aws::Credentials` - Used for configuring static, non-refreshing
68
+ # credentials.
69
+ #
70
+ # * `Aws::InstanceProfileCredentials` - Used for loading credentials
71
+ # from an EC2 IMDS on an EC2 instance.
72
+ #
73
+ # * `Aws::SharedCredentials` - Used for loading credentials from a
74
+ # shared file, such as `~/.aws/config`.
75
+ #
76
+ # * `Aws::AssumeRoleCredentials` - Used when you need to assume a role.
77
+ #
78
+ # When `:credentials` are not configured directly, the following
79
+ # locations will be searched for credentials:
80
+ #
81
+ # * `Aws.config[:credentials]`
82
+ # * The `:access_key_id`, `:secret_access_key`, and `:session_token` options.
83
+ # * ENV['AWS_ACCESS_KEY_ID'], ENV['AWS_SECRET_ACCESS_KEY']
84
+ # * `~/.aws/credentials`
85
+ # * `~/.aws/config`
86
+ # * EC2 IMDS instance profile - When used by default, the timeouts are
87
+ # very aggressive. Construct and pass an instance of
88
+ # `Aws::InstanceProfileCredentails` to enable retries and extended
89
+ # timeouts.
90
+ #
91
+ # @option options [required, String] :region
92
+ # The AWS region to connect to. The configured `:region` is
93
+ # used to determine the service `:endpoint`. When not passed,
94
+ # a default `:region` is search for in the following locations:
95
+ #
96
+ # * `Aws.config[:region]`
97
+ # * `ENV['AWS_REGION']`
98
+ # * `ENV['AMAZON_REGION']`
99
+ # * `ENV['AWS_DEFAULT_REGION']`
100
+ # * `~/.aws/credentials`
101
+ # * `~/.aws/config`
102
+ #
103
+ # @option options [String] :access_key_id
104
+ #
105
+ # @option options [Boolean] :active_endpoint_cache (false)
106
+ # When set to `true`, a thread polling for endpoints will be running in
107
+ # the background every 60 secs (default). Defaults to `false`.
108
+ #
109
+ # @option options [Boolean] :client_side_monitoring (false)
110
+ # When `true`, client-side metrics will be collected for all API requests from
111
+ # this client.
112
+ #
113
+ # @option options [String] :client_side_monitoring_client_id ("")
114
+ # Allows you to provide an identifier for this client which will be attached to
115
+ # all generated client side metrics. Defaults to an empty string.
116
+ #
117
+ # @option options [Integer] :client_side_monitoring_port (31000)
118
+ # Required for publishing client metrics. The port that the client side monitoring
119
+ # agent is running on, where client metrics will be published via UDP.
120
+ #
121
+ # @option options [Aws::ClientSideMonitoring::Publisher] :client_side_monitoring_publisher (Aws::ClientSideMonitoring::Publisher)
122
+ # Allows you to provide a custom client-side monitoring publisher class. By default,
123
+ # will use the Client Side Monitoring Agent Publisher.
124
+ #
125
+ # @option options [Boolean] :convert_params (true)
126
+ # When `true`, an attempt is made to coerce request parameters into
127
+ # the required types.
128
+ #
129
+ # @option options [Boolean] :disable_host_prefix_injection (false)
130
+ # Set to true to disable SDK automatically adding host prefix
131
+ # to default service endpoint when available.
132
+ #
133
+ # @option options [String] :endpoint
134
+ # The client endpoint is normally constructed from the `:region`
135
+ # option. You should only configure an `:endpoint` when connecting
136
+ # to test endpoints. This should be avalid HTTP(S) URI.
137
+ #
138
+ # @option options [Integer] :endpoint_cache_max_entries (1000)
139
+ # Used for the maximum size limit of the LRU cache storing endpoints data
140
+ # for endpoint discovery enabled operations. Defaults to 1000.
141
+ #
142
+ # @option options [Integer] :endpoint_cache_max_threads (10)
143
+ # Used for the maximum threads in use for polling endpoints to be cached, defaults to 10.
144
+ #
145
+ # @option options [Integer] :endpoint_cache_poll_interval (60)
146
+ # When :endpoint_discovery and :active_endpoint_cache is enabled,
147
+ # Use this option to config the time interval in seconds for making
148
+ # requests fetching endpoints information. Defaults to 60 sec.
149
+ #
150
+ # @option options [Boolean] :endpoint_discovery (false)
151
+ # When set to `true`, endpoint discovery will be enabled for operations when available. Defaults to `false`.
152
+ #
153
+ # @option options [Aws::Log::Formatter] :log_formatter (Aws::Log::Formatter.default)
154
+ # The log formatter.
155
+ #
156
+ # @option options [Symbol] :log_level (:info)
157
+ # The log level to send messages to the `:logger` at.
158
+ #
159
+ # @option options [Logger] :logger
160
+ # The Logger instance to send log messages to. If this option
161
+ # is not set, logging will be disabled.
162
+ #
163
+ # @option options [String] :profile ("default")
164
+ # Used when loading credentials from the shared credentials file
165
+ # at HOME/.aws/credentials. When not specified, 'default' is used.
166
+ #
167
+ # @option options [Float] :retry_base_delay (0.3)
168
+ # The base delay in seconds used by the default backoff function.
169
+ #
170
+ # @option options [Symbol] :retry_jitter (:none)
171
+ # A delay randomiser function used by the default backoff function. Some predefined functions can be referenced by name - :none, :equal, :full, otherwise a Proc that takes and returns a number.
172
+ #
173
+ # @see https://www.awsarchitectureblog.com/2015/03/backoff.html
174
+ #
175
+ # @option options [Integer] :retry_limit (3)
176
+ # The maximum number of times to retry failed requests. Only
177
+ # ~ 500 level server errors and certain ~ 400 level client errors
178
+ # are retried. Generally, these are throttling errors, data
179
+ # checksum errors, networking errors, timeout errors and auth
180
+ # errors from expired credentials.
181
+ #
182
+ # @option options [Integer] :retry_max_delay (0)
183
+ # The maximum number of seconds to delay between retries (0 for no limit) used by the default backoff function.
184
+ #
185
+ # @option options [String] :secret_access_key
186
+ #
187
+ # @option options [String] :session_token
188
+ #
189
+ # @option options [Boolean] :stub_responses (false)
190
+ # Causes the client to return stubbed responses. By default
191
+ # fake responses are generated and returned. You can specify
192
+ # the response data to return or errors to raise by calling
193
+ # {ClientStubs#stub_responses}. See {ClientStubs} for more information.
194
+ #
195
+ # ** Please note ** When response stubbing is enabled, no HTTP
196
+ # requests are made, and retries are disabled.
197
+ #
198
+ # @option options [Boolean] :validate_params (true)
199
+ # When `true`, request parameters are validated before
200
+ # sending the request.
201
+ #
202
+ def initialize(*args)
203
+ super
204
+ end
205
+
206
+ # @!group API Operations
207
+
208
+ # Accepts the invitation to be monitored by a master SecurityHub
209
+ # account.
210
+ #
211
+ # @option params [String] :master_id
212
+ # The account ID of the master Security Hub account whose invitation
213
+ # you're accepting.
214
+ #
215
+ # @option params [String] :invitation_id
216
+ # The ID of the invitation that is sent to the AWS account by the
217
+ # Security Hub master account.
218
+ #
219
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
220
+ #
221
+ # @example Request syntax with placeholder values
222
+ #
223
+ # resp = client.accept_invitation({
224
+ # master_id: "NonEmptyString",
225
+ # invitation_id: "NonEmptyString",
226
+ # })
227
+ #
228
+ # @see http://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/AcceptInvitation AWS API Documentation
229
+ #
230
+ # @overload accept_invitation(params = {})
231
+ # @param [Hash] params ({})
232
+ def accept_invitation(params = {}, options = {})
233
+ req = build_request(:accept_invitation, params)
234
+ req.send_request(options)
235
+ end
236
+
237
+ # Disables the standards specified by the standards subscription ARNs.
238
+ # In the context of Security Hub, supported standards (for example, CIS
239
+ # AWS Foundations) are automated and continuous checks that help
240
+ # determine your compliance status against security industry (including
241
+ # AWS) best practices.
242
+ #
243
+ # @option params [required, Array<String>] :standards_subscription_arns
244
+ # The ARNS of the standards subscriptions that you want to disable.
245
+ #
246
+ # @return [Types::BatchDisableStandardsResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
247
+ #
248
+ # * {Types::BatchDisableStandardsResponse#standards_subscriptions #standards_subscriptions} => Array&lt;Types::StandardsSubscription&gt;
249
+ #
250
+ # @example Request syntax with placeholder values
251
+ #
252
+ # resp = client.batch_disable_standards({
253
+ # standards_subscription_arns: ["NonEmptyString"], # required
254
+ # })
255
+ #
256
+ # @example Response structure
257
+ #
258
+ # resp.standards_subscriptions #=> Array
259
+ # resp.standards_subscriptions[0].standards_subscription_arn #=> String
260
+ # resp.standards_subscriptions[0].standards_arn #=> String
261
+ # resp.standards_subscriptions[0].standards_input #=> Hash
262
+ # resp.standards_subscriptions[0].standards_input["NonEmptyString"] #=> String
263
+ # resp.standards_subscriptions[0].standards_status #=> String, one of "PENDING", "READY", "FAILED", "DELETING"
264
+ #
265
+ # @see http://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/BatchDisableStandards AWS API Documentation
266
+ #
267
+ # @overload batch_disable_standards(params = {})
268
+ # @param [Hash] params ({})
269
+ def batch_disable_standards(params = {}, options = {})
270
+ req = build_request(:batch_disable_standards, params)
271
+ req.send_request(options)
272
+ end
273
+
274
+ # Enables the standards specified by the standards ARNs. In the context
275
+ # of Security Hub, supported standards (for example, CIS AWS
276
+ # Foundations) are automated and continuous checks that help determine
277
+ # your compliance status against security industry (including AWS) best
278
+ # practices.
279
+ #
280
+ # @option params [required, Array<Types::StandardsSubscriptionRequest>] :standards_subscription_requests
281
+ # The list of standards that you want to enable.
282
+ #
283
+ # @return [Types::BatchEnableStandardsResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
284
+ #
285
+ # * {Types::BatchEnableStandardsResponse#standards_subscriptions #standards_subscriptions} => Array&lt;Types::StandardsSubscription&gt;
286
+ #
287
+ # @example Request syntax with placeholder values
288
+ #
289
+ # resp = client.batch_enable_standards({
290
+ # standards_subscription_requests: [ # required
291
+ # {
292
+ # standards_arn: "NonEmptyString", # required
293
+ # standards_input: {
294
+ # "NonEmptyString" => "NonEmptyString",
295
+ # },
296
+ # },
297
+ # ],
298
+ # })
299
+ #
300
+ # @example Response structure
301
+ #
302
+ # resp.standards_subscriptions #=> Array
303
+ # resp.standards_subscriptions[0].standards_subscription_arn #=> String
304
+ # resp.standards_subscriptions[0].standards_arn #=> String
305
+ # resp.standards_subscriptions[0].standards_input #=> Hash
306
+ # resp.standards_subscriptions[0].standards_input["NonEmptyString"] #=> String
307
+ # resp.standards_subscriptions[0].standards_status #=> String, one of "PENDING", "READY", "FAILED", "DELETING"
308
+ #
309
+ # @see http://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/BatchEnableStandards AWS API Documentation
310
+ #
311
+ # @overload batch_enable_standards(params = {})
312
+ # @param [Hash] params ({})
313
+ def batch_enable_standards(params = {}, options = {})
314
+ req = build_request(:batch_enable_standards, params)
315
+ req.send_request(options)
316
+ end
317
+
318
+ # Imports security findings that are generated by the integrated
319
+ # third-party products into Security Hub.
320
+ #
321
+ # @option params [required, Array<Types::AwsSecurityFinding>] :findings
322
+ # A list of findings that you want to import. Must be submitted in the
323
+ # AWSSecurityFinding format.
324
+ #
325
+ # @return [Types::BatchImportFindingsResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
326
+ #
327
+ # * {Types::BatchImportFindingsResponse#failed_count #failed_count} => Integer
328
+ # * {Types::BatchImportFindingsResponse#success_count #success_count} => Integer
329
+ # * {Types::BatchImportFindingsResponse#failed_findings #failed_findings} => Array&lt;Types::ImportFindingsError&gt;
330
+ #
331
+ # @example Request syntax with placeholder values
332
+ #
333
+ # resp = client.batch_import_findings({
334
+ # findings: [ # required
335
+ # {
336
+ # schema_version: "NonEmptyString", # required
337
+ # id: "NonEmptyString", # required
338
+ # product_arn: "NonEmptyString", # required
339
+ # generator_id: "NonEmptyString", # required
340
+ # aws_account_id: "NonEmptyString", # required
341
+ # types: ["NonEmptyString"], # required
342
+ # first_observed_at: "NonEmptyString",
343
+ # last_observed_at: "NonEmptyString",
344
+ # created_at: "NonEmptyString", # required
345
+ # updated_at: "NonEmptyString", # required
346
+ # severity: { # required
347
+ # product: 1.0,
348
+ # normalized: 1, # required
349
+ # },
350
+ # confidence: 1,
351
+ # criticality: 1,
352
+ # title: "NonEmptyString",
353
+ # description: "NonEmptyString",
354
+ # remediation: {
355
+ # recommendation: {
356
+ # text: "NonEmptyString",
357
+ # url: "NonEmptyString",
358
+ # },
359
+ # },
360
+ # source_url: "NonEmptyString",
361
+ # product_fields: {
362
+ # "NonEmptyString" => "NonEmptyString",
363
+ # },
364
+ # user_defined_fields: {
365
+ # "NonEmptyString" => "NonEmptyString",
366
+ # },
367
+ # malware: [
368
+ # {
369
+ # name: "NonEmptyString", # required
370
+ # type: "ADWARE", # accepts ADWARE, BLENDED_THREAT, BOTNET_AGENT, COIN_MINER, EXPLOIT_KIT, KEYLOGGER, MACRO, POTENTIALLY_UNWANTED, SPYWARE, RANSOMWARE, REMOTE_ACCESS, ROOTKIT, TROJAN, VIRUS, WORM
371
+ # path: "NonEmptyString",
372
+ # state: "OBSERVED", # accepts OBSERVED, REMOVAL_FAILED, REMOVED
373
+ # },
374
+ # ],
375
+ # network: {
376
+ # direction: "IN", # accepts IN, OUT
377
+ # protocol: "NonEmptyString",
378
+ # source_ip_v4: "NonEmptyString",
379
+ # source_ip_v6: "NonEmptyString",
380
+ # source_port: 1,
381
+ # source_domain: "NonEmptyString",
382
+ # source_mac: "NonEmptyString",
383
+ # destination_ip_v4: "NonEmptyString",
384
+ # destination_ip_v6: "NonEmptyString",
385
+ # destination_port: 1,
386
+ # destination_domain: "NonEmptyString",
387
+ # },
388
+ # process: {
389
+ # name: "NonEmptyString",
390
+ # path: "NonEmptyString",
391
+ # pid: 1,
392
+ # parent_pid: 1,
393
+ # launched_at: "NonEmptyString",
394
+ # terminated_at: "NonEmptyString",
395
+ # },
396
+ # threat_intel_indicators: [
397
+ # {
398
+ # type: "DOMAIN", # accepts DOMAIN, EMAIL_ADDRESS, HASH_MD5, HASH_SHA1, HASH_SHA256, HASH_SHA512, IPV4_ADDRESS, IPV6_ADDRESS, MUTEX, PROCESS, URL
399
+ # value: "NonEmptyString",
400
+ # category: "BACKDOOR", # accepts BACKDOOR, CARD_STEALER, COMMAND_AND_CONTROL, DROP_SITE, EXPLOIT_SITE, KEYLOGGER
401
+ # last_observed_at: "NonEmptyString",
402
+ # source: "NonEmptyString",
403
+ # source_url: "NonEmptyString",
404
+ # },
405
+ # ],
406
+ # resources: [ # required
407
+ # {
408
+ # type: "NonEmptyString", # required
409
+ # id: "NonEmptyString", # required
410
+ # partition: "aws", # accepts aws, aws-cn, aws-us-gov
411
+ # region: "NonEmptyString",
412
+ # tags: {
413
+ # "NonEmptyString" => "NonEmptyString",
414
+ # },
415
+ # details: {
416
+ # aws_ec2_instance: {
417
+ # type: "NonEmptyString",
418
+ # image_id: "NonEmptyString",
419
+ # ip_v4_addresses: ["NonEmptyString"],
420
+ # ip_v6_addresses: ["NonEmptyString"],
421
+ # key_name: "NonEmptyString",
422
+ # iam_instance_profile_arn: "NonEmptyString",
423
+ # vpc_id: "NonEmptyString",
424
+ # subnet_id: "NonEmptyString",
425
+ # launched_at: "NonEmptyString",
426
+ # },
427
+ # aws_s3_bucket: {
428
+ # owner_id: "NonEmptyString",
429
+ # owner_name: "NonEmptyString",
430
+ # },
431
+ # aws_iam_access_key: {
432
+ # user_name: "NonEmptyString",
433
+ # status: "Active", # accepts Active, Inactive
434
+ # created_at: "NonEmptyString",
435
+ # },
436
+ # container: {
437
+ # name: "NonEmptyString",
438
+ # image_id: "NonEmptyString",
439
+ # image_name: "NonEmptyString",
440
+ # launched_at: "NonEmptyString",
441
+ # },
442
+ # other: {
443
+ # "NonEmptyString" => "NonEmptyString",
444
+ # },
445
+ # },
446
+ # },
447
+ # ],
448
+ # compliance: {
449
+ # status: "PASSED", # accepts PASSED, WARNING, FAILED, NOT_AVAILABLE
450
+ # },
451
+ # verification_state: "UNKNOWN", # accepts UNKNOWN, TRUE_POSITIVE, FALSE_POSITIVE, BENIGN_POSITIVE
452
+ # workflow_state: "NEW", # accepts NEW, ASSIGNED, IN_PROGRESS, DEFERRED, RESOLVED
453
+ # record_state: "ACTIVE", # accepts ACTIVE, ARCHIVED
454
+ # related_findings: [
455
+ # {
456
+ # product_arn: "NonEmptyString", # required
457
+ # id: "NonEmptyString", # required
458
+ # },
459
+ # ],
460
+ # note: {
461
+ # text: "NonEmptyString", # required
462
+ # updated_by: "NonEmptyString", # required
463
+ # updated_at: "NonEmptyString", # required
464
+ # },
465
+ # },
466
+ # ],
467
+ # })
468
+ #
469
+ # @example Response structure
470
+ #
471
+ # resp.failed_count #=> Integer
472
+ # resp.success_count #=> Integer
473
+ # resp.failed_findings #=> Array
474
+ # resp.failed_findings[0].id #=> String
475
+ # resp.failed_findings[0].error_code #=> String
476
+ # resp.failed_findings[0].error_message #=> String
477
+ #
478
+ # @see http://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/BatchImportFindings AWS API Documentation
479
+ #
480
+ # @overload batch_import_findings(params = {})
481
+ # @param [Hash] params ({})
482
+ def batch_import_findings(params = {}, options = {})
483
+ req = build_request(:batch_import_findings, params)
484
+ req.send_request(options)
485
+ end
486
+
487
+ # Creates an insight, which is a consolidation of findings that
488
+ # identifies a security area that requires attention or intervention.
489
+ #
490
+ # @option params [required, String] :name
491
+ # The user-defined name that identifies the insight that you want to
492
+ # create.
493
+ #
494
+ # @option params [required, Types::AwsSecurityFindingFilters] :filters
495
+ # A collection of attributes that are applied to all active Security
496
+ # Hub-aggregated findings and that result in a subset of findings that
497
+ # are included in this insight.
498
+ #
499
+ # @option params [required, String] :group_by_attribute
500
+ # The attribute by which the insight's findings are grouped. This
501
+ # attribute is used as a findings aggregator for the purposes of viewing
502
+ # and managing multiple related findings under a single operand.
503
+ #
504
+ # @return [Types::CreateInsightResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
505
+ #
506
+ # * {Types::CreateInsightResponse#insight_arn #insight_arn} => String
507
+ #
508
+ # @example Request syntax with placeholder values
509
+ #
510
+ # resp = client.create_insight({
511
+ # name: "NonEmptyString", # required
512
+ # filters: { # required
513
+ # product_arn: [
514
+ # {
515
+ # value: "NonEmptyString",
516
+ # comparison: "EQUALS", # accepts EQUALS, CONTAINS, PREFIX
517
+ # },
518
+ # ],
519
+ # aws_account_id: [
520
+ # {
521
+ # value: "NonEmptyString",
522
+ # comparison: "EQUALS", # accepts EQUALS, CONTAINS, PREFIX
523
+ # },
524
+ # ],
525
+ # id: [
526
+ # {
527
+ # value: "NonEmptyString",
528
+ # comparison: "EQUALS", # accepts EQUALS, CONTAINS, PREFIX
529
+ # },
530
+ # ],
531
+ # generator_id: [
532
+ # {
533
+ # value: "NonEmptyString",
534
+ # comparison: "EQUALS", # accepts EQUALS, CONTAINS, PREFIX
535
+ # },
536
+ # ],
537
+ # type: [
538
+ # {
539
+ # value: "NonEmptyString",
540
+ # comparison: "EQUALS", # accepts EQUALS, CONTAINS, PREFIX
541
+ # },
542
+ # ],
543
+ # first_observed_at: [
544
+ # {
545
+ # start: "NonEmptyString",
546
+ # end: "NonEmptyString",
547
+ # date_range: {
548
+ # value: 1,
549
+ # unit: "DAYS", # accepts DAYS
550
+ # },
551
+ # },
552
+ # ],
553
+ # last_observed_at: [
554
+ # {
555
+ # start: "NonEmptyString",
556
+ # end: "NonEmptyString",
557
+ # date_range: {
558
+ # value: 1,
559
+ # unit: "DAYS", # accepts DAYS
560
+ # },
561
+ # },
562
+ # ],
563
+ # created_at: [
564
+ # {
565
+ # start: "NonEmptyString",
566
+ # end: "NonEmptyString",
567
+ # date_range: {
568
+ # value: 1,
569
+ # unit: "DAYS", # accepts DAYS
570
+ # },
571
+ # },
572
+ # ],
573
+ # updated_at: [
574
+ # {
575
+ # start: "NonEmptyString",
576
+ # end: "NonEmptyString",
577
+ # date_range: {
578
+ # value: 1,
579
+ # unit: "DAYS", # accepts DAYS
580
+ # },
581
+ # },
582
+ # ],
583
+ # severity_product: [
584
+ # {
585
+ # gte: 1.0,
586
+ # lte: 1.0,
587
+ # eq: 1.0,
588
+ # },
589
+ # ],
590
+ # severity_normalized: [
591
+ # {
592
+ # gte: 1.0,
593
+ # lte: 1.0,
594
+ # eq: 1.0,
595
+ # },
596
+ # ],
597
+ # severity_label: [
598
+ # {
599
+ # value: "NonEmptyString",
600
+ # comparison: "EQUALS", # accepts EQUALS, CONTAINS, PREFIX
601
+ # },
602
+ # ],
603
+ # confidence: [
604
+ # {
605
+ # gte: 1.0,
606
+ # lte: 1.0,
607
+ # eq: 1.0,
608
+ # },
609
+ # ],
610
+ # criticality: [
611
+ # {
612
+ # gte: 1.0,
613
+ # lte: 1.0,
614
+ # eq: 1.0,
615
+ # },
616
+ # ],
617
+ # title: [
618
+ # {
619
+ # value: "NonEmptyString",
620
+ # comparison: "EQUALS", # accepts EQUALS, CONTAINS, PREFIX
621
+ # },
622
+ # ],
623
+ # description: [
624
+ # {
625
+ # value: "NonEmptyString",
626
+ # comparison: "EQUALS", # accepts EQUALS, CONTAINS, PREFIX
627
+ # },
628
+ # ],
629
+ # recommendation_text: [
630
+ # {
631
+ # value: "NonEmptyString",
632
+ # comparison: "EQUALS", # accepts EQUALS, CONTAINS, PREFIX
633
+ # },
634
+ # ],
635
+ # source_url: [
636
+ # {
637
+ # value: "NonEmptyString",
638
+ # comparison: "EQUALS", # accepts EQUALS, CONTAINS, PREFIX
639
+ # },
640
+ # ],
641
+ # product_fields: [
642
+ # {
643
+ # key: "NonEmptyString",
644
+ # value: "NonEmptyString",
645
+ # comparison: "CONTAINS", # accepts CONTAINS
646
+ # },
647
+ # ],
648
+ # product_name: [
649
+ # {
650
+ # value: "NonEmptyString",
651
+ # comparison: "EQUALS", # accepts EQUALS, CONTAINS, PREFIX
652
+ # },
653
+ # ],
654
+ # company_name: [
655
+ # {
656
+ # value: "NonEmptyString",
657
+ # comparison: "EQUALS", # accepts EQUALS, CONTAINS, PREFIX
658
+ # },
659
+ # ],
660
+ # user_defined_fields: [
661
+ # {
662
+ # key: "NonEmptyString",
663
+ # value: "NonEmptyString",
664
+ # comparison: "CONTAINS", # accepts CONTAINS
665
+ # },
666
+ # ],
667
+ # malware_name: [
668
+ # {
669
+ # value: "NonEmptyString",
670
+ # comparison: "EQUALS", # accepts EQUALS, CONTAINS, PREFIX
671
+ # },
672
+ # ],
673
+ # malware_type: [
674
+ # {
675
+ # value: "NonEmptyString",
676
+ # comparison: "EQUALS", # accepts EQUALS, CONTAINS, PREFIX
677
+ # },
678
+ # ],
679
+ # malware_path: [
680
+ # {
681
+ # value: "NonEmptyString",
682
+ # comparison: "EQUALS", # accepts EQUALS, CONTAINS, PREFIX
683
+ # },
684
+ # ],
685
+ # malware_state: [
686
+ # {
687
+ # value: "NonEmptyString",
688
+ # comparison: "EQUALS", # accepts EQUALS, CONTAINS, PREFIX
689
+ # },
690
+ # ],
691
+ # network_direction: [
692
+ # {
693
+ # value: "NonEmptyString",
694
+ # comparison: "EQUALS", # accepts EQUALS, CONTAINS, PREFIX
695
+ # },
696
+ # ],
697
+ # network_protocol: [
698
+ # {
699
+ # value: "NonEmptyString",
700
+ # comparison: "EQUALS", # accepts EQUALS, CONTAINS, PREFIX
701
+ # },
702
+ # ],
703
+ # network_source_ip_v4: [
704
+ # {
705
+ # cidr: "NonEmptyString",
706
+ # },
707
+ # ],
708
+ # network_source_ip_v6: [
709
+ # {
710
+ # cidr: "NonEmptyString",
711
+ # },
712
+ # ],
713
+ # network_source_port: [
714
+ # {
715
+ # gte: 1.0,
716
+ # lte: 1.0,
717
+ # eq: 1.0,
718
+ # },
719
+ # ],
720
+ # network_source_domain: [
721
+ # {
722
+ # value: "NonEmptyString",
723
+ # comparison: "EQUALS", # accepts EQUALS, CONTAINS, PREFIX
724
+ # },
725
+ # ],
726
+ # network_source_mac: [
727
+ # {
728
+ # value: "NonEmptyString",
729
+ # comparison: "EQUALS", # accepts EQUALS, CONTAINS, PREFIX
730
+ # },
731
+ # ],
732
+ # network_destination_ip_v4: [
733
+ # {
734
+ # cidr: "NonEmptyString",
735
+ # },
736
+ # ],
737
+ # network_destination_ip_v6: [
738
+ # {
739
+ # cidr: "NonEmptyString",
740
+ # },
741
+ # ],
742
+ # network_destination_port: [
743
+ # {
744
+ # gte: 1.0,
745
+ # lte: 1.0,
746
+ # eq: 1.0,
747
+ # },
748
+ # ],
749
+ # network_destination_domain: [
750
+ # {
751
+ # value: "NonEmptyString",
752
+ # comparison: "EQUALS", # accepts EQUALS, CONTAINS, PREFIX
753
+ # },
754
+ # ],
755
+ # process_name: [
756
+ # {
757
+ # value: "NonEmptyString",
758
+ # comparison: "EQUALS", # accepts EQUALS, CONTAINS, PREFIX
759
+ # },
760
+ # ],
761
+ # process_path: [
762
+ # {
763
+ # value: "NonEmptyString",
764
+ # comparison: "EQUALS", # accepts EQUALS, CONTAINS, PREFIX
765
+ # },
766
+ # ],
767
+ # process_pid: [
768
+ # {
769
+ # gte: 1.0,
770
+ # lte: 1.0,
771
+ # eq: 1.0,
772
+ # },
773
+ # ],
774
+ # process_parent_pid: [
775
+ # {
776
+ # gte: 1.0,
777
+ # lte: 1.0,
778
+ # eq: 1.0,
779
+ # },
780
+ # ],
781
+ # process_launched_at: [
782
+ # {
783
+ # start: "NonEmptyString",
784
+ # end: "NonEmptyString",
785
+ # date_range: {
786
+ # value: 1,
787
+ # unit: "DAYS", # accepts DAYS
788
+ # },
789
+ # },
790
+ # ],
791
+ # process_terminated_at: [
792
+ # {
793
+ # start: "NonEmptyString",
794
+ # end: "NonEmptyString",
795
+ # date_range: {
796
+ # value: 1,
797
+ # unit: "DAYS", # accepts DAYS
798
+ # },
799
+ # },
800
+ # ],
801
+ # threat_intel_indicator_type: [
802
+ # {
803
+ # value: "NonEmptyString",
804
+ # comparison: "EQUALS", # accepts EQUALS, CONTAINS, PREFIX
805
+ # },
806
+ # ],
807
+ # threat_intel_indicator_value: [
808
+ # {
809
+ # value: "NonEmptyString",
810
+ # comparison: "EQUALS", # accepts EQUALS, CONTAINS, PREFIX
811
+ # },
812
+ # ],
813
+ # threat_intel_indicator_category: [
814
+ # {
815
+ # value: "NonEmptyString",
816
+ # comparison: "EQUALS", # accepts EQUALS, CONTAINS, PREFIX
817
+ # },
818
+ # ],
819
+ # threat_intel_indicator_last_observed_at: [
820
+ # {
821
+ # start: "NonEmptyString",
822
+ # end: "NonEmptyString",
823
+ # date_range: {
824
+ # value: 1,
825
+ # unit: "DAYS", # accepts DAYS
826
+ # },
827
+ # },
828
+ # ],
829
+ # threat_intel_indicator_source: [
830
+ # {
831
+ # value: "NonEmptyString",
832
+ # comparison: "EQUALS", # accepts EQUALS, CONTAINS, PREFIX
833
+ # },
834
+ # ],
835
+ # threat_intel_indicator_source_url: [
836
+ # {
837
+ # value: "NonEmptyString",
838
+ # comparison: "EQUALS", # accepts EQUALS, CONTAINS, PREFIX
839
+ # },
840
+ # ],
841
+ # resource_type: [
842
+ # {
843
+ # value: "NonEmptyString",
844
+ # comparison: "EQUALS", # accepts EQUALS, CONTAINS, PREFIX
845
+ # },
846
+ # ],
847
+ # resource_id: [
848
+ # {
849
+ # value: "NonEmptyString",
850
+ # comparison: "EQUALS", # accepts EQUALS, CONTAINS, PREFIX
851
+ # },
852
+ # ],
853
+ # resource_partition: [
854
+ # {
855
+ # value: "NonEmptyString",
856
+ # comparison: "EQUALS", # accepts EQUALS, CONTAINS, PREFIX
857
+ # },
858
+ # ],
859
+ # resource_region: [
860
+ # {
861
+ # value: "NonEmptyString",
862
+ # comparison: "EQUALS", # accepts EQUALS, CONTAINS, PREFIX
863
+ # },
864
+ # ],
865
+ # resource_tags: [
866
+ # {
867
+ # key: "NonEmptyString",
868
+ # value: "NonEmptyString",
869
+ # comparison: "CONTAINS", # accepts CONTAINS
870
+ # },
871
+ # ],
872
+ # resource_aws_ec2_instance_type: [
873
+ # {
874
+ # value: "NonEmptyString",
875
+ # comparison: "EQUALS", # accepts EQUALS, CONTAINS, PREFIX
876
+ # },
877
+ # ],
878
+ # resource_aws_ec2_instance_image_id: [
879
+ # {
880
+ # value: "NonEmptyString",
881
+ # comparison: "EQUALS", # accepts EQUALS, CONTAINS, PREFIX
882
+ # },
883
+ # ],
884
+ # resource_aws_ec2_instance_ip_v4_addresses: [
885
+ # {
886
+ # cidr: "NonEmptyString",
887
+ # },
888
+ # ],
889
+ # resource_aws_ec2_instance_ip_v6_addresses: [
890
+ # {
891
+ # cidr: "NonEmptyString",
892
+ # },
893
+ # ],
894
+ # resource_aws_ec2_instance_key_name: [
895
+ # {
896
+ # value: "NonEmptyString",
897
+ # comparison: "EQUALS", # accepts EQUALS, CONTAINS, PREFIX
898
+ # },
899
+ # ],
900
+ # resource_aws_ec2_instance_iam_instance_profile_arn: [
901
+ # {
902
+ # value: "NonEmptyString",
903
+ # comparison: "EQUALS", # accepts EQUALS, CONTAINS, PREFIX
904
+ # },
905
+ # ],
906
+ # resource_aws_ec2_instance_vpc_id: [
907
+ # {
908
+ # value: "NonEmptyString",
909
+ # comparison: "EQUALS", # accepts EQUALS, CONTAINS, PREFIX
910
+ # },
911
+ # ],
912
+ # resource_aws_ec2_instance_subnet_id: [
913
+ # {
914
+ # value: "NonEmptyString",
915
+ # comparison: "EQUALS", # accepts EQUALS, CONTAINS, PREFIX
916
+ # },
917
+ # ],
918
+ # resource_aws_ec2_instance_launched_at: [
919
+ # {
920
+ # start: "NonEmptyString",
921
+ # end: "NonEmptyString",
922
+ # date_range: {
923
+ # value: 1,
924
+ # unit: "DAYS", # accepts DAYS
925
+ # },
926
+ # },
927
+ # ],
928
+ # resource_aws_s3_bucket_owner_id: [
929
+ # {
930
+ # value: "NonEmptyString",
931
+ # comparison: "EQUALS", # accepts EQUALS, CONTAINS, PREFIX
932
+ # },
933
+ # ],
934
+ # resource_aws_s3_bucket_owner_name: [
935
+ # {
936
+ # value: "NonEmptyString",
937
+ # comparison: "EQUALS", # accepts EQUALS, CONTAINS, PREFIX
938
+ # },
939
+ # ],
940
+ # resource_aws_iam_access_key_user_name: [
941
+ # {
942
+ # value: "NonEmptyString",
943
+ # comparison: "EQUALS", # accepts EQUALS, CONTAINS, PREFIX
944
+ # },
945
+ # ],
946
+ # resource_aws_iam_access_key_status: [
947
+ # {
948
+ # value: "NonEmptyString",
949
+ # comparison: "EQUALS", # accepts EQUALS, CONTAINS, PREFIX
950
+ # },
951
+ # ],
952
+ # resource_aws_iam_access_key_created_at: [
953
+ # {
954
+ # start: "NonEmptyString",
955
+ # end: "NonEmptyString",
956
+ # date_range: {
957
+ # value: 1,
958
+ # unit: "DAYS", # accepts DAYS
959
+ # },
960
+ # },
961
+ # ],
962
+ # resource_container_name: [
963
+ # {
964
+ # value: "NonEmptyString",
965
+ # comparison: "EQUALS", # accepts EQUALS, CONTAINS, PREFIX
966
+ # },
967
+ # ],
968
+ # resource_container_image_id: [
969
+ # {
970
+ # value: "NonEmptyString",
971
+ # comparison: "EQUALS", # accepts EQUALS, CONTAINS, PREFIX
972
+ # },
973
+ # ],
974
+ # resource_container_image_name: [
975
+ # {
976
+ # value: "NonEmptyString",
977
+ # comparison: "EQUALS", # accepts EQUALS, CONTAINS, PREFIX
978
+ # },
979
+ # ],
980
+ # resource_container_launched_at: [
981
+ # {
982
+ # start: "NonEmptyString",
983
+ # end: "NonEmptyString",
984
+ # date_range: {
985
+ # value: 1,
986
+ # unit: "DAYS", # accepts DAYS
987
+ # },
988
+ # },
989
+ # ],
990
+ # resource_details_other: [
991
+ # {
992
+ # key: "NonEmptyString",
993
+ # value: "NonEmptyString",
994
+ # comparison: "CONTAINS", # accepts CONTAINS
995
+ # },
996
+ # ],
997
+ # compliance_status: [
998
+ # {
999
+ # value: "NonEmptyString",
1000
+ # comparison: "EQUALS", # accepts EQUALS, CONTAINS, PREFIX
1001
+ # },
1002
+ # ],
1003
+ # verification_state: [
1004
+ # {
1005
+ # value: "NonEmptyString",
1006
+ # comparison: "EQUALS", # accepts EQUALS, CONTAINS, PREFIX
1007
+ # },
1008
+ # ],
1009
+ # workflow_state: [
1010
+ # {
1011
+ # value: "NonEmptyString",
1012
+ # comparison: "EQUALS", # accepts EQUALS, CONTAINS, PREFIX
1013
+ # },
1014
+ # ],
1015
+ # record_state: [
1016
+ # {
1017
+ # value: "NonEmptyString",
1018
+ # comparison: "EQUALS", # accepts EQUALS, CONTAINS, PREFIX
1019
+ # },
1020
+ # ],
1021
+ # related_findings_product_arn: [
1022
+ # {
1023
+ # value: "NonEmptyString",
1024
+ # comparison: "EQUALS", # accepts EQUALS, CONTAINS, PREFIX
1025
+ # },
1026
+ # ],
1027
+ # related_findings_id: [
1028
+ # {
1029
+ # value: "NonEmptyString",
1030
+ # comparison: "EQUALS", # accepts EQUALS, CONTAINS, PREFIX
1031
+ # },
1032
+ # ],
1033
+ # note_text: [
1034
+ # {
1035
+ # value: "NonEmptyString",
1036
+ # comparison: "EQUALS", # accepts EQUALS, CONTAINS, PREFIX
1037
+ # },
1038
+ # ],
1039
+ # note_updated_at: [
1040
+ # {
1041
+ # start: "NonEmptyString",
1042
+ # end: "NonEmptyString",
1043
+ # date_range: {
1044
+ # value: 1,
1045
+ # unit: "DAYS", # accepts DAYS
1046
+ # },
1047
+ # },
1048
+ # ],
1049
+ # note_updated_by: [
1050
+ # {
1051
+ # value: "NonEmptyString",
1052
+ # comparison: "EQUALS", # accepts EQUALS, CONTAINS, PREFIX
1053
+ # },
1054
+ # ],
1055
+ # keyword: [
1056
+ # {
1057
+ # value: "NonEmptyString",
1058
+ # },
1059
+ # ],
1060
+ # },
1061
+ # group_by_attribute: "NonEmptyString", # required
1062
+ # })
1063
+ #
1064
+ # @example Response structure
1065
+ #
1066
+ # resp.insight_arn #=> String
1067
+ #
1068
+ # @see http://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/CreateInsight AWS API Documentation
1069
+ #
1070
+ # @overload create_insight(params = {})
1071
+ # @param [Hash] params ({})
1072
+ def create_insight(params = {}, options = {})
1073
+ req = build_request(:create_insight, params)
1074
+ req.send_request(options)
1075
+ end
1076
+
1077
+ # Creates member Security Hub accounts in the current AWS account (which
1078
+ # becomes the master Security Hub account) that has Security Hub
1079
+ # enabled.
1080
+ #
1081
+ # @option params [Array<Types::AccountDetails>] :account_details
1082
+ # A list of account ID and email address pairs of the accounts that you
1083
+ # want to associate with the master Security Hub account.
1084
+ #
1085
+ # @return [Types::CreateMembersResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1086
+ #
1087
+ # * {Types::CreateMembersResponse#unprocessed_accounts #unprocessed_accounts} => Array&lt;Types::Result&gt;
1088
+ #
1089
+ # @example Request syntax with placeholder values
1090
+ #
1091
+ # resp = client.create_members({
1092
+ # account_details: [
1093
+ # {
1094
+ # account_id: "AccountId",
1095
+ # email: "NonEmptyString",
1096
+ # },
1097
+ # ],
1098
+ # })
1099
+ #
1100
+ # @example Response structure
1101
+ #
1102
+ # resp.unprocessed_accounts #=> Array
1103
+ # resp.unprocessed_accounts[0].account_id #=> String
1104
+ # resp.unprocessed_accounts[0].processing_result #=> String
1105
+ #
1106
+ # @see http://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/CreateMembers AWS API Documentation
1107
+ #
1108
+ # @overload create_members(params = {})
1109
+ # @param [Hash] params ({})
1110
+ def create_members(params = {}, options = {})
1111
+ req = build_request(:create_members, params)
1112
+ req.send_request(options)
1113
+ end
1114
+
1115
+ # Declines invitations that are sent to this AWS account (invitee) by
1116
+ # the AWS accounts (inviters) that are specified by the account IDs.
1117
+ #
1118
+ # @option params [Array<String>] :account_ids
1119
+ # A list of account IDs specifying accounts whose invitations to
1120
+ # Security Hub you want to decline.
1121
+ #
1122
+ # @return [Types::DeclineInvitationsResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1123
+ #
1124
+ # * {Types::DeclineInvitationsResponse#unprocessed_accounts #unprocessed_accounts} => Array&lt;Types::Result&gt;
1125
+ #
1126
+ # @example Request syntax with placeholder values
1127
+ #
1128
+ # resp = client.decline_invitations({
1129
+ # account_ids: ["NonEmptyString"],
1130
+ # })
1131
+ #
1132
+ # @example Response structure
1133
+ #
1134
+ # resp.unprocessed_accounts #=> Array
1135
+ # resp.unprocessed_accounts[0].account_id #=> String
1136
+ # resp.unprocessed_accounts[0].processing_result #=> String
1137
+ #
1138
+ # @see http://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/DeclineInvitations AWS API Documentation
1139
+ #
1140
+ # @overload decline_invitations(params = {})
1141
+ # @param [Hash] params ({})
1142
+ def decline_invitations(params = {}, options = {})
1143
+ req = build_request(:decline_invitations, params)
1144
+ req.send_request(options)
1145
+ end
1146
+
1147
+ # Deletes an insight that is specified by the insight ARN.
1148
+ #
1149
+ # @option params [required, String] :insight_arn
1150
+ # The ARN of the insight that you want to delete.
1151
+ #
1152
+ # @return [Types::DeleteInsightResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1153
+ #
1154
+ # * {Types::DeleteInsightResponse#insight_arn #insight_arn} => String
1155
+ #
1156
+ # @example Request syntax with placeholder values
1157
+ #
1158
+ # resp = client.delete_insight({
1159
+ # insight_arn: "NonEmptyString", # required
1160
+ # })
1161
+ #
1162
+ # @example Response structure
1163
+ #
1164
+ # resp.insight_arn #=> String
1165
+ #
1166
+ # @see http://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/DeleteInsight AWS API Documentation
1167
+ #
1168
+ # @overload delete_insight(params = {})
1169
+ # @param [Hash] params ({})
1170
+ def delete_insight(params = {}, options = {})
1171
+ req = build_request(:delete_insight, params)
1172
+ req.send_request(options)
1173
+ end
1174
+
1175
+ # Deletes invitations that are sent to this AWS account (invitee) by the
1176
+ # AWS accounts (inviters) that are specified by their account IDs.
1177
+ #
1178
+ # @option params [Array<String>] :account_ids
1179
+ # A list of account IDs specifying accounts whose invitations to
1180
+ # Security Hub you want to delete.
1181
+ #
1182
+ # @return [Types::DeleteInvitationsResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1183
+ #
1184
+ # * {Types::DeleteInvitationsResponse#unprocessed_accounts #unprocessed_accounts} => Array&lt;Types::Result&gt;
1185
+ #
1186
+ # @example Request syntax with placeholder values
1187
+ #
1188
+ # resp = client.delete_invitations({
1189
+ # account_ids: ["NonEmptyString"],
1190
+ # })
1191
+ #
1192
+ # @example Response structure
1193
+ #
1194
+ # resp.unprocessed_accounts #=> Array
1195
+ # resp.unprocessed_accounts[0].account_id #=> String
1196
+ # resp.unprocessed_accounts[0].processing_result #=> String
1197
+ #
1198
+ # @see http://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/DeleteInvitations AWS API Documentation
1199
+ #
1200
+ # @overload delete_invitations(params = {})
1201
+ # @param [Hash] params ({})
1202
+ def delete_invitations(params = {}, options = {})
1203
+ req = build_request(:delete_invitations, params)
1204
+ req.send_request(options)
1205
+ end
1206
+
1207
+ # Deletes the Security Hub member accounts that are specified by the
1208
+ # account IDs.
1209
+ #
1210
+ # @option params [Array<String>] :account_ids
1211
+ # A list of account IDs of the Security Hub member accounts that you
1212
+ # want to delete.
1213
+ #
1214
+ # @return [Types::DeleteMembersResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1215
+ #
1216
+ # * {Types::DeleteMembersResponse#unprocessed_accounts #unprocessed_accounts} => Array&lt;Types::Result&gt;
1217
+ #
1218
+ # @example Request syntax with placeholder values
1219
+ #
1220
+ # resp = client.delete_members({
1221
+ # account_ids: ["NonEmptyString"],
1222
+ # })
1223
+ #
1224
+ # @example Response structure
1225
+ #
1226
+ # resp.unprocessed_accounts #=> Array
1227
+ # resp.unprocessed_accounts[0].account_id #=> String
1228
+ # resp.unprocessed_accounts[0].processing_result #=> String
1229
+ #
1230
+ # @see http://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/DeleteMembers AWS API Documentation
1231
+ #
1232
+ # @overload delete_members(params = {})
1233
+ # @param [Hash] params ({})
1234
+ def delete_members(params = {}, options = {})
1235
+ req = build_request(:delete_members, params)
1236
+ req.send_request(options)
1237
+ end
1238
+
1239
+ # Stops you from being able to import findings generated by integrated
1240
+ # third-party providers into Security Hub.
1241
+ #
1242
+ # @option params [required, String] :product_subscription_arn
1243
+ # The ARN of a resource that represents your subscription to a supported
1244
+ # product.
1245
+ #
1246
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
1247
+ #
1248
+ # @example Request syntax with placeholder values
1249
+ #
1250
+ # resp = client.disable_import_findings_for_product({
1251
+ # product_subscription_arn: "NonEmptyString", # required
1252
+ # })
1253
+ #
1254
+ # @see http://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/DisableImportFindingsForProduct AWS API Documentation
1255
+ #
1256
+ # @overload disable_import_findings_for_product(params = {})
1257
+ # @param [Hash] params ({})
1258
+ def disable_import_findings_for_product(params = {}, options = {})
1259
+ req = build_request(:disable_import_findings_for_product, params)
1260
+ req.send_request(options)
1261
+ end
1262
+
1263
+ # Disables the AWS Security Hub Service.
1264
+ #
1265
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
1266
+ #
1267
+ # @see http://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/DisableSecurityHub AWS API Documentation
1268
+ #
1269
+ # @overload disable_security_hub(params = {})
1270
+ # @param [Hash] params ({})
1271
+ def disable_security_hub(params = {}, options = {})
1272
+ req = build_request(:disable_security_hub, params)
1273
+ req.send_request(options)
1274
+ end
1275
+
1276
+ # Disassociates the current Security Hub member account from its master
1277
+ # account.
1278
+ #
1279
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
1280
+ #
1281
+ # @see http://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/DisassociateFromMasterAccount AWS API Documentation
1282
+ #
1283
+ # @overload disassociate_from_master_account(params = {})
1284
+ # @param [Hash] params ({})
1285
+ def disassociate_from_master_account(params = {}, options = {})
1286
+ req = build_request(:disassociate_from_master_account, params)
1287
+ req.send_request(options)
1288
+ end
1289
+
1290
+ # Disassociates the Security Hub member accounts that are specified by
1291
+ # the account IDs from their master account.
1292
+ #
1293
+ # @option params [Array<String>] :account_ids
1294
+ # The account IDs of the member accounts that you want to disassociate
1295
+ # from the master account.
1296
+ #
1297
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
1298
+ #
1299
+ # @example Request syntax with placeholder values
1300
+ #
1301
+ # resp = client.disassociate_members({
1302
+ # account_ids: ["NonEmptyString"],
1303
+ # })
1304
+ #
1305
+ # @see http://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/DisassociateMembers AWS API Documentation
1306
+ #
1307
+ # @overload disassociate_members(params = {})
1308
+ # @param [Hash] params ({})
1309
+ def disassociate_members(params = {}, options = {})
1310
+ req = build_request(:disassociate_members, params)
1311
+ req.send_request(options)
1312
+ end
1313
+
1314
+ # Enables you to import findings generated by integrated third-party
1315
+ # providers into Security Hub.
1316
+ #
1317
+ # @option params [required, String] :product_arn
1318
+ # The ARN of the product that generates findings that you want to import
1319
+ # into Security Hub.
1320
+ #
1321
+ # @return [Types::EnableImportFindingsForProductResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1322
+ #
1323
+ # * {Types::EnableImportFindingsForProductResponse#product_subscription_arn #product_subscription_arn} => String
1324
+ #
1325
+ # @example Request syntax with placeholder values
1326
+ #
1327
+ # resp = client.enable_import_findings_for_product({
1328
+ # product_arn: "NonEmptyString", # required
1329
+ # })
1330
+ #
1331
+ # @example Response structure
1332
+ #
1333
+ # resp.product_subscription_arn #=> String
1334
+ #
1335
+ # @see http://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/EnableImportFindingsForProduct AWS API Documentation
1336
+ #
1337
+ # @overload enable_import_findings_for_product(params = {})
1338
+ # @param [Hash] params ({})
1339
+ def enable_import_findings_for_product(params = {}, options = {})
1340
+ req = build_request(:enable_import_findings_for_product, params)
1341
+ req.send_request(options)
1342
+ end
1343
+
1344
+ # Enables the AWS Security Hub service.
1345
+ #
1346
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
1347
+ #
1348
+ # @see http://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/EnableSecurityHub AWS API Documentation
1349
+ #
1350
+ # @overload enable_security_hub(params = {})
1351
+ # @param [Hash] params ({})
1352
+ def enable_security_hub(params = {}, options = {})
1353
+ req = build_request(:enable_security_hub, params)
1354
+ req.send_request(options)
1355
+ end
1356
+
1357
+ # Lists and describes enabled standards.
1358
+ #
1359
+ # @option params [Array<String>] :standards_subscription_arns
1360
+ # The list of standards subscription ARNS that you want to list and
1361
+ # describe.
1362
+ #
1363
+ # @option params [String] :next_token
1364
+ # Paginates results. Set the value of this parameter to NULL on your
1365
+ # first call to the GetEnabledStandards operation. For subsequent calls
1366
+ # to the operation, fill nextToken in the request with the value of
1367
+ # nextToken from the previous response to continue listing data.
1368
+ #
1369
+ # @option params [Integer] :max_results
1370
+ # Indicates the maximum number of items that you want in the response.
1371
+ #
1372
+ # @return [Types::GetEnabledStandardsResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1373
+ #
1374
+ # * {Types::GetEnabledStandardsResponse#standards_subscriptions #standards_subscriptions} => Array&lt;Types::StandardsSubscription&gt;
1375
+ # * {Types::GetEnabledStandardsResponse#next_token #next_token} => String
1376
+ #
1377
+ # @example Request syntax with placeholder values
1378
+ #
1379
+ # resp = client.get_enabled_standards({
1380
+ # standards_subscription_arns: ["NonEmptyString"],
1381
+ # next_token: "NextToken",
1382
+ # max_results: 1,
1383
+ # })
1384
+ #
1385
+ # @example Response structure
1386
+ #
1387
+ # resp.standards_subscriptions #=> Array
1388
+ # resp.standards_subscriptions[0].standards_subscription_arn #=> String
1389
+ # resp.standards_subscriptions[0].standards_arn #=> String
1390
+ # resp.standards_subscriptions[0].standards_input #=> Hash
1391
+ # resp.standards_subscriptions[0].standards_input["NonEmptyString"] #=> String
1392
+ # resp.standards_subscriptions[0].standards_status #=> String, one of "PENDING", "READY", "FAILED", "DELETING"
1393
+ # resp.next_token #=> String
1394
+ #
1395
+ # @see http://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/GetEnabledStandards AWS API Documentation
1396
+ #
1397
+ # @overload get_enabled_standards(params = {})
1398
+ # @param [Hash] params ({})
1399
+ def get_enabled_standards(params = {}, options = {})
1400
+ req = build_request(:get_enabled_standards, params)
1401
+ req.send_request(options)
1402
+ end
1403
+
1404
+ # Lists and describes Security Hub-aggregated findings that are
1405
+ # specified by filter attributes.
1406
+ #
1407
+ # @option params [Types::AwsSecurityFindingFilters] :filters
1408
+ # A collection of attributes that is use for querying findings.
1409
+ #
1410
+ # @option params [Array<Types::SortCriterion>] :sort_criteria
1411
+ # A collection of attributes used for sorting findings.
1412
+ #
1413
+ # @option params [String] :next_token
1414
+ # Paginates results. Set the value of this parameter to NULL on your
1415
+ # first call to the GetFindings operation. For subsequent calls to the
1416
+ # operation, fill nextToken in the request with the value of nextToken
1417
+ # from the previous response to continue listing data.
1418
+ #
1419
+ # @option params [Integer] :max_results
1420
+ # Indicates the maximum number of items that you want in the response.
1421
+ #
1422
+ # @return [Types::GetFindingsResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1423
+ #
1424
+ # * {Types::GetFindingsResponse#findings #findings} => Array&lt;Types::AwsSecurityFinding&gt;
1425
+ # * {Types::GetFindingsResponse#next_token #next_token} => String
1426
+ #
1427
+ # @example Request syntax with placeholder values
1428
+ #
1429
+ # resp = client.get_findings({
1430
+ # filters: {
1431
+ # product_arn: [
1432
+ # {
1433
+ # value: "NonEmptyString",
1434
+ # comparison: "EQUALS", # accepts EQUALS, CONTAINS, PREFIX
1435
+ # },
1436
+ # ],
1437
+ # aws_account_id: [
1438
+ # {
1439
+ # value: "NonEmptyString",
1440
+ # comparison: "EQUALS", # accepts EQUALS, CONTAINS, PREFIX
1441
+ # },
1442
+ # ],
1443
+ # id: [
1444
+ # {
1445
+ # value: "NonEmptyString",
1446
+ # comparison: "EQUALS", # accepts EQUALS, CONTAINS, PREFIX
1447
+ # },
1448
+ # ],
1449
+ # generator_id: [
1450
+ # {
1451
+ # value: "NonEmptyString",
1452
+ # comparison: "EQUALS", # accepts EQUALS, CONTAINS, PREFIX
1453
+ # },
1454
+ # ],
1455
+ # type: [
1456
+ # {
1457
+ # value: "NonEmptyString",
1458
+ # comparison: "EQUALS", # accepts EQUALS, CONTAINS, PREFIX
1459
+ # },
1460
+ # ],
1461
+ # first_observed_at: [
1462
+ # {
1463
+ # start: "NonEmptyString",
1464
+ # end: "NonEmptyString",
1465
+ # date_range: {
1466
+ # value: 1,
1467
+ # unit: "DAYS", # accepts DAYS
1468
+ # },
1469
+ # },
1470
+ # ],
1471
+ # last_observed_at: [
1472
+ # {
1473
+ # start: "NonEmptyString",
1474
+ # end: "NonEmptyString",
1475
+ # date_range: {
1476
+ # value: 1,
1477
+ # unit: "DAYS", # accepts DAYS
1478
+ # },
1479
+ # },
1480
+ # ],
1481
+ # created_at: [
1482
+ # {
1483
+ # start: "NonEmptyString",
1484
+ # end: "NonEmptyString",
1485
+ # date_range: {
1486
+ # value: 1,
1487
+ # unit: "DAYS", # accepts DAYS
1488
+ # },
1489
+ # },
1490
+ # ],
1491
+ # updated_at: [
1492
+ # {
1493
+ # start: "NonEmptyString",
1494
+ # end: "NonEmptyString",
1495
+ # date_range: {
1496
+ # value: 1,
1497
+ # unit: "DAYS", # accepts DAYS
1498
+ # },
1499
+ # },
1500
+ # ],
1501
+ # severity_product: [
1502
+ # {
1503
+ # gte: 1.0,
1504
+ # lte: 1.0,
1505
+ # eq: 1.0,
1506
+ # },
1507
+ # ],
1508
+ # severity_normalized: [
1509
+ # {
1510
+ # gte: 1.0,
1511
+ # lte: 1.0,
1512
+ # eq: 1.0,
1513
+ # },
1514
+ # ],
1515
+ # severity_label: [
1516
+ # {
1517
+ # value: "NonEmptyString",
1518
+ # comparison: "EQUALS", # accepts EQUALS, CONTAINS, PREFIX
1519
+ # },
1520
+ # ],
1521
+ # confidence: [
1522
+ # {
1523
+ # gte: 1.0,
1524
+ # lte: 1.0,
1525
+ # eq: 1.0,
1526
+ # },
1527
+ # ],
1528
+ # criticality: [
1529
+ # {
1530
+ # gte: 1.0,
1531
+ # lte: 1.0,
1532
+ # eq: 1.0,
1533
+ # },
1534
+ # ],
1535
+ # title: [
1536
+ # {
1537
+ # value: "NonEmptyString",
1538
+ # comparison: "EQUALS", # accepts EQUALS, CONTAINS, PREFIX
1539
+ # },
1540
+ # ],
1541
+ # description: [
1542
+ # {
1543
+ # value: "NonEmptyString",
1544
+ # comparison: "EQUALS", # accepts EQUALS, CONTAINS, PREFIX
1545
+ # },
1546
+ # ],
1547
+ # recommendation_text: [
1548
+ # {
1549
+ # value: "NonEmptyString",
1550
+ # comparison: "EQUALS", # accepts EQUALS, CONTAINS, PREFIX
1551
+ # },
1552
+ # ],
1553
+ # source_url: [
1554
+ # {
1555
+ # value: "NonEmptyString",
1556
+ # comparison: "EQUALS", # accepts EQUALS, CONTAINS, PREFIX
1557
+ # },
1558
+ # ],
1559
+ # product_fields: [
1560
+ # {
1561
+ # key: "NonEmptyString",
1562
+ # value: "NonEmptyString",
1563
+ # comparison: "CONTAINS", # accepts CONTAINS
1564
+ # },
1565
+ # ],
1566
+ # product_name: [
1567
+ # {
1568
+ # value: "NonEmptyString",
1569
+ # comparison: "EQUALS", # accepts EQUALS, CONTAINS, PREFIX
1570
+ # },
1571
+ # ],
1572
+ # company_name: [
1573
+ # {
1574
+ # value: "NonEmptyString",
1575
+ # comparison: "EQUALS", # accepts EQUALS, CONTAINS, PREFIX
1576
+ # },
1577
+ # ],
1578
+ # user_defined_fields: [
1579
+ # {
1580
+ # key: "NonEmptyString",
1581
+ # value: "NonEmptyString",
1582
+ # comparison: "CONTAINS", # accepts CONTAINS
1583
+ # },
1584
+ # ],
1585
+ # malware_name: [
1586
+ # {
1587
+ # value: "NonEmptyString",
1588
+ # comparison: "EQUALS", # accepts EQUALS, CONTAINS, PREFIX
1589
+ # },
1590
+ # ],
1591
+ # malware_type: [
1592
+ # {
1593
+ # value: "NonEmptyString",
1594
+ # comparison: "EQUALS", # accepts EQUALS, CONTAINS, PREFIX
1595
+ # },
1596
+ # ],
1597
+ # malware_path: [
1598
+ # {
1599
+ # value: "NonEmptyString",
1600
+ # comparison: "EQUALS", # accepts EQUALS, CONTAINS, PREFIX
1601
+ # },
1602
+ # ],
1603
+ # malware_state: [
1604
+ # {
1605
+ # value: "NonEmptyString",
1606
+ # comparison: "EQUALS", # accepts EQUALS, CONTAINS, PREFIX
1607
+ # },
1608
+ # ],
1609
+ # network_direction: [
1610
+ # {
1611
+ # value: "NonEmptyString",
1612
+ # comparison: "EQUALS", # accepts EQUALS, CONTAINS, PREFIX
1613
+ # },
1614
+ # ],
1615
+ # network_protocol: [
1616
+ # {
1617
+ # value: "NonEmptyString",
1618
+ # comparison: "EQUALS", # accepts EQUALS, CONTAINS, PREFIX
1619
+ # },
1620
+ # ],
1621
+ # network_source_ip_v4: [
1622
+ # {
1623
+ # cidr: "NonEmptyString",
1624
+ # },
1625
+ # ],
1626
+ # network_source_ip_v6: [
1627
+ # {
1628
+ # cidr: "NonEmptyString",
1629
+ # },
1630
+ # ],
1631
+ # network_source_port: [
1632
+ # {
1633
+ # gte: 1.0,
1634
+ # lte: 1.0,
1635
+ # eq: 1.0,
1636
+ # },
1637
+ # ],
1638
+ # network_source_domain: [
1639
+ # {
1640
+ # value: "NonEmptyString",
1641
+ # comparison: "EQUALS", # accepts EQUALS, CONTAINS, PREFIX
1642
+ # },
1643
+ # ],
1644
+ # network_source_mac: [
1645
+ # {
1646
+ # value: "NonEmptyString",
1647
+ # comparison: "EQUALS", # accepts EQUALS, CONTAINS, PREFIX
1648
+ # },
1649
+ # ],
1650
+ # network_destination_ip_v4: [
1651
+ # {
1652
+ # cidr: "NonEmptyString",
1653
+ # },
1654
+ # ],
1655
+ # network_destination_ip_v6: [
1656
+ # {
1657
+ # cidr: "NonEmptyString",
1658
+ # },
1659
+ # ],
1660
+ # network_destination_port: [
1661
+ # {
1662
+ # gte: 1.0,
1663
+ # lte: 1.0,
1664
+ # eq: 1.0,
1665
+ # },
1666
+ # ],
1667
+ # network_destination_domain: [
1668
+ # {
1669
+ # value: "NonEmptyString",
1670
+ # comparison: "EQUALS", # accepts EQUALS, CONTAINS, PREFIX
1671
+ # },
1672
+ # ],
1673
+ # process_name: [
1674
+ # {
1675
+ # value: "NonEmptyString",
1676
+ # comparison: "EQUALS", # accepts EQUALS, CONTAINS, PREFIX
1677
+ # },
1678
+ # ],
1679
+ # process_path: [
1680
+ # {
1681
+ # value: "NonEmptyString",
1682
+ # comparison: "EQUALS", # accepts EQUALS, CONTAINS, PREFIX
1683
+ # },
1684
+ # ],
1685
+ # process_pid: [
1686
+ # {
1687
+ # gte: 1.0,
1688
+ # lte: 1.0,
1689
+ # eq: 1.0,
1690
+ # },
1691
+ # ],
1692
+ # process_parent_pid: [
1693
+ # {
1694
+ # gte: 1.0,
1695
+ # lte: 1.0,
1696
+ # eq: 1.0,
1697
+ # },
1698
+ # ],
1699
+ # process_launched_at: [
1700
+ # {
1701
+ # start: "NonEmptyString",
1702
+ # end: "NonEmptyString",
1703
+ # date_range: {
1704
+ # value: 1,
1705
+ # unit: "DAYS", # accepts DAYS
1706
+ # },
1707
+ # },
1708
+ # ],
1709
+ # process_terminated_at: [
1710
+ # {
1711
+ # start: "NonEmptyString",
1712
+ # end: "NonEmptyString",
1713
+ # date_range: {
1714
+ # value: 1,
1715
+ # unit: "DAYS", # accepts DAYS
1716
+ # },
1717
+ # },
1718
+ # ],
1719
+ # threat_intel_indicator_type: [
1720
+ # {
1721
+ # value: "NonEmptyString",
1722
+ # comparison: "EQUALS", # accepts EQUALS, CONTAINS, PREFIX
1723
+ # },
1724
+ # ],
1725
+ # threat_intel_indicator_value: [
1726
+ # {
1727
+ # value: "NonEmptyString",
1728
+ # comparison: "EQUALS", # accepts EQUALS, CONTAINS, PREFIX
1729
+ # },
1730
+ # ],
1731
+ # threat_intel_indicator_category: [
1732
+ # {
1733
+ # value: "NonEmptyString",
1734
+ # comparison: "EQUALS", # accepts EQUALS, CONTAINS, PREFIX
1735
+ # },
1736
+ # ],
1737
+ # threat_intel_indicator_last_observed_at: [
1738
+ # {
1739
+ # start: "NonEmptyString",
1740
+ # end: "NonEmptyString",
1741
+ # date_range: {
1742
+ # value: 1,
1743
+ # unit: "DAYS", # accepts DAYS
1744
+ # },
1745
+ # },
1746
+ # ],
1747
+ # threat_intel_indicator_source: [
1748
+ # {
1749
+ # value: "NonEmptyString",
1750
+ # comparison: "EQUALS", # accepts EQUALS, CONTAINS, PREFIX
1751
+ # },
1752
+ # ],
1753
+ # threat_intel_indicator_source_url: [
1754
+ # {
1755
+ # value: "NonEmptyString",
1756
+ # comparison: "EQUALS", # accepts EQUALS, CONTAINS, PREFIX
1757
+ # },
1758
+ # ],
1759
+ # resource_type: [
1760
+ # {
1761
+ # value: "NonEmptyString",
1762
+ # comparison: "EQUALS", # accepts EQUALS, CONTAINS, PREFIX
1763
+ # },
1764
+ # ],
1765
+ # resource_id: [
1766
+ # {
1767
+ # value: "NonEmptyString",
1768
+ # comparison: "EQUALS", # accepts EQUALS, CONTAINS, PREFIX
1769
+ # },
1770
+ # ],
1771
+ # resource_partition: [
1772
+ # {
1773
+ # value: "NonEmptyString",
1774
+ # comparison: "EQUALS", # accepts EQUALS, CONTAINS, PREFIX
1775
+ # },
1776
+ # ],
1777
+ # resource_region: [
1778
+ # {
1779
+ # value: "NonEmptyString",
1780
+ # comparison: "EQUALS", # accepts EQUALS, CONTAINS, PREFIX
1781
+ # },
1782
+ # ],
1783
+ # resource_tags: [
1784
+ # {
1785
+ # key: "NonEmptyString",
1786
+ # value: "NonEmptyString",
1787
+ # comparison: "CONTAINS", # accepts CONTAINS
1788
+ # },
1789
+ # ],
1790
+ # resource_aws_ec2_instance_type: [
1791
+ # {
1792
+ # value: "NonEmptyString",
1793
+ # comparison: "EQUALS", # accepts EQUALS, CONTAINS, PREFIX
1794
+ # },
1795
+ # ],
1796
+ # resource_aws_ec2_instance_image_id: [
1797
+ # {
1798
+ # value: "NonEmptyString",
1799
+ # comparison: "EQUALS", # accepts EQUALS, CONTAINS, PREFIX
1800
+ # },
1801
+ # ],
1802
+ # resource_aws_ec2_instance_ip_v4_addresses: [
1803
+ # {
1804
+ # cidr: "NonEmptyString",
1805
+ # },
1806
+ # ],
1807
+ # resource_aws_ec2_instance_ip_v6_addresses: [
1808
+ # {
1809
+ # cidr: "NonEmptyString",
1810
+ # },
1811
+ # ],
1812
+ # resource_aws_ec2_instance_key_name: [
1813
+ # {
1814
+ # value: "NonEmptyString",
1815
+ # comparison: "EQUALS", # accepts EQUALS, CONTAINS, PREFIX
1816
+ # },
1817
+ # ],
1818
+ # resource_aws_ec2_instance_iam_instance_profile_arn: [
1819
+ # {
1820
+ # value: "NonEmptyString",
1821
+ # comparison: "EQUALS", # accepts EQUALS, CONTAINS, PREFIX
1822
+ # },
1823
+ # ],
1824
+ # resource_aws_ec2_instance_vpc_id: [
1825
+ # {
1826
+ # value: "NonEmptyString",
1827
+ # comparison: "EQUALS", # accepts EQUALS, CONTAINS, PREFIX
1828
+ # },
1829
+ # ],
1830
+ # resource_aws_ec2_instance_subnet_id: [
1831
+ # {
1832
+ # value: "NonEmptyString",
1833
+ # comparison: "EQUALS", # accepts EQUALS, CONTAINS, PREFIX
1834
+ # },
1835
+ # ],
1836
+ # resource_aws_ec2_instance_launched_at: [
1837
+ # {
1838
+ # start: "NonEmptyString",
1839
+ # end: "NonEmptyString",
1840
+ # date_range: {
1841
+ # value: 1,
1842
+ # unit: "DAYS", # accepts DAYS
1843
+ # },
1844
+ # },
1845
+ # ],
1846
+ # resource_aws_s3_bucket_owner_id: [
1847
+ # {
1848
+ # value: "NonEmptyString",
1849
+ # comparison: "EQUALS", # accepts EQUALS, CONTAINS, PREFIX
1850
+ # },
1851
+ # ],
1852
+ # resource_aws_s3_bucket_owner_name: [
1853
+ # {
1854
+ # value: "NonEmptyString",
1855
+ # comparison: "EQUALS", # accepts EQUALS, CONTAINS, PREFIX
1856
+ # },
1857
+ # ],
1858
+ # resource_aws_iam_access_key_user_name: [
1859
+ # {
1860
+ # value: "NonEmptyString",
1861
+ # comparison: "EQUALS", # accepts EQUALS, CONTAINS, PREFIX
1862
+ # },
1863
+ # ],
1864
+ # resource_aws_iam_access_key_status: [
1865
+ # {
1866
+ # value: "NonEmptyString",
1867
+ # comparison: "EQUALS", # accepts EQUALS, CONTAINS, PREFIX
1868
+ # },
1869
+ # ],
1870
+ # resource_aws_iam_access_key_created_at: [
1871
+ # {
1872
+ # start: "NonEmptyString",
1873
+ # end: "NonEmptyString",
1874
+ # date_range: {
1875
+ # value: 1,
1876
+ # unit: "DAYS", # accepts DAYS
1877
+ # },
1878
+ # },
1879
+ # ],
1880
+ # resource_container_name: [
1881
+ # {
1882
+ # value: "NonEmptyString",
1883
+ # comparison: "EQUALS", # accepts EQUALS, CONTAINS, PREFIX
1884
+ # },
1885
+ # ],
1886
+ # resource_container_image_id: [
1887
+ # {
1888
+ # value: "NonEmptyString",
1889
+ # comparison: "EQUALS", # accepts EQUALS, CONTAINS, PREFIX
1890
+ # },
1891
+ # ],
1892
+ # resource_container_image_name: [
1893
+ # {
1894
+ # value: "NonEmptyString",
1895
+ # comparison: "EQUALS", # accepts EQUALS, CONTAINS, PREFIX
1896
+ # },
1897
+ # ],
1898
+ # resource_container_launched_at: [
1899
+ # {
1900
+ # start: "NonEmptyString",
1901
+ # end: "NonEmptyString",
1902
+ # date_range: {
1903
+ # value: 1,
1904
+ # unit: "DAYS", # accepts DAYS
1905
+ # },
1906
+ # },
1907
+ # ],
1908
+ # resource_details_other: [
1909
+ # {
1910
+ # key: "NonEmptyString",
1911
+ # value: "NonEmptyString",
1912
+ # comparison: "CONTAINS", # accepts CONTAINS
1913
+ # },
1914
+ # ],
1915
+ # compliance_status: [
1916
+ # {
1917
+ # value: "NonEmptyString",
1918
+ # comparison: "EQUALS", # accepts EQUALS, CONTAINS, PREFIX
1919
+ # },
1920
+ # ],
1921
+ # verification_state: [
1922
+ # {
1923
+ # value: "NonEmptyString",
1924
+ # comparison: "EQUALS", # accepts EQUALS, CONTAINS, PREFIX
1925
+ # },
1926
+ # ],
1927
+ # workflow_state: [
1928
+ # {
1929
+ # value: "NonEmptyString",
1930
+ # comparison: "EQUALS", # accepts EQUALS, CONTAINS, PREFIX
1931
+ # },
1932
+ # ],
1933
+ # record_state: [
1934
+ # {
1935
+ # value: "NonEmptyString",
1936
+ # comparison: "EQUALS", # accepts EQUALS, CONTAINS, PREFIX
1937
+ # },
1938
+ # ],
1939
+ # related_findings_product_arn: [
1940
+ # {
1941
+ # value: "NonEmptyString",
1942
+ # comparison: "EQUALS", # accepts EQUALS, CONTAINS, PREFIX
1943
+ # },
1944
+ # ],
1945
+ # related_findings_id: [
1946
+ # {
1947
+ # value: "NonEmptyString",
1948
+ # comparison: "EQUALS", # accepts EQUALS, CONTAINS, PREFIX
1949
+ # },
1950
+ # ],
1951
+ # note_text: [
1952
+ # {
1953
+ # value: "NonEmptyString",
1954
+ # comparison: "EQUALS", # accepts EQUALS, CONTAINS, PREFIX
1955
+ # },
1956
+ # ],
1957
+ # note_updated_at: [
1958
+ # {
1959
+ # start: "NonEmptyString",
1960
+ # end: "NonEmptyString",
1961
+ # date_range: {
1962
+ # value: 1,
1963
+ # unit: "DAYS", # accepts DAYS
1964
+ # },
1965
+ # },
1966
+ # ],
1967
+ # note_updated_by: [
1968
+ # {
1969
+ # value: "NonEmptyString",
1970
+ # comparison: "EQUALS", # accepts EQUALS, CONTAINS, PREFIX
1971
+ # },
1972
+ # ],
1973
+ # keyword: [
1974
+ # {
1975
+ # value: "NonEmptyString",
1976
+ # },
1977
+ # ],
1978
+ # },
1979
+ # sort_criteria: [
1980
+ # {
1981
+ # field: "NonEmptyString",
1982
+ # sort_order: "asc", # accepts asc, desc
1983
+ # },
1984
+ # ],
1985
+ # next_token: "NextToken",
1986
+ # max_results: 1,
1987
+ # })
1988
+ #
1989
+ # @example Response structure
1990
+ #
1991
+ # resp.findings #=> Array
1992
+ # resp.findings[0].schema_version #=> String
1993
+ # resp.findings[0].id #=> String
1994
+ # resp.findings[0].product_arn #=> String
1995
+ # resp.findings[0].generator_id #=> String
1996
+ # resp.findings[0].aws_account_id #=> String
1997
+ # resp.findings[0].types #=> Array
1998
+ # resp.findings[0].types[0] #=> String
1999
+ # resp.findings[0].first_observed_at #=> String
2000
+ # resp.findings[0].last_observed_at #=> String
2001
+ # resp.findings[0].created_at #=> String
2002
+ # resp.findings[0].updated_at #=> String
2003
+ # resp.findings[0].severity.product #=> Float
2004
+ # resp.findings[0].severity.normalized #=> Integer
2005
+ # resp.findings[0].confidence #=> Integer
2006
+ # resp.findings[0].criticality #=> Integer
2007
+ # resp.findings[0].title #=> String
2008
+ # resp.findings[0].description #=> String
2009
+ # resp.findings[0].remediation.recommendation.text #=> String
2010
+ # resp.findings[0].remediation.recommendation.url #=> String
2011
+ # resp.findings[0].source_url #=> String
2012
+ # resp.findings[0].product_fields #=> Hash
2013
+ # resp.findings[0].product_fields["NonEmptyString"] #=> String
2014
+ # resp.findings[0].user_defined_fields #=> Hash
2015
+ # resp.findings[0].user_defined_fields["NonEmptyString"] #=> String
2016
+ # resp.findings[0].malware #=> Array
2017
+ # resp.findings[0].malware[0].name #=> String
2018
+ # resp.findings[0].malware[0].type #=> String, one of "ADWARE", "BLENDED_THREAT", "BOTNET_AGENT", "COIN_MINER", "EXPLOIT_KIT", "KEYLOGGER", "MACRO", "POTENTIALLY_UNWANTED", "SPYWARE", "RANSOMWARE", "REMOTE_ACCESS", "ROOTKIT", "TROJAN", "VIRUS", "WORM"
2019
+ # resp.findings[0].malware[0].path #=> String
2020
+ # resp.findings[0].malware[0].state #=> String, one of "OBSERVED", "REMOVAL_FAILED", "REMOVED"
2021
+ # resp.findings[0].network.direction #=> String, one of "IN", "OUT"
2022
+ # resp.findings[0].network.protocol #=> String
2023
+ # resp.findings[0].network.source_ip_v4 #=> String
2024
+ # resp.findings[0].network.source_ip_v6 #=> String
2025
+ # resp.findings[0].network.source_port #=> Integer
2026
+ # resp.findings[0].network.source_domain #=> String
2027
+ # resp.findings[0].network.source_mac #=> String
2028
+ # resp.findings[0].network.destination_ip_v4 #=> String
2029
+ # resp.findings[0].network.destination_ip_v6 #=> String
2030
+ # resp.findings[0].network.destination_port #=> Integer
2031
+ # resp.findings[0].network.destination_domain #=> String
2032
+ # resp.findings[0].process.name #=> String
2033
+ # resp.findings[0].process.path #=> String
2034
+ # resp.findings[0].process.pid #=> Integer
2035
+ # resp.findings[0].process.parent_pid #=> Integer
2036
+ # resp.findings[0].process.launched_at #=> String
2037
+ # resp.findings[0].process.terminated_at #=> String
2038
+ # resp.findings[0].threat_intel_indicators #=> Array
2039
+ # resp.findings[0].threat_intel_indicators[0].type #=> String, one of "DOMAIN", "EMAIL_ADDRESS", "HASH_MD5", "HASH_SHA1", "HASH_SHA256", "HASH_SHA512", "IPV4_ADDRESS", "IPV6_ADDRESS", "MUTEX", "PROCESS", "URL"
2040
+ # resp.findings[0].threat_intel_indicators[0].value #=> String
2041
+ # resp.findings[0].threat_intel_indicators[0].category #=> String, one of "BACKDOOR", "CARD_STEALER", "COMMAND_AND_CONTROL", "DROP_SITE", "EXPLOIT_SITE", "KEYLOGGER"
2042
+ # resp.findings[0].threat_intel_indicators[0].last_observed_at #=> String
2043
+ # resp.findings[0].threat_intel_indicators[0].source #=> String
2044
+ # resp.findings[0].threat_intel_indicators[0].source_url #=> String
2045
+ # resp.findings[0].resources #=> Array
2046
+ # resp.findings[0].resources[0].type #=> String
2047
+ # resp.findings[0].resources[0].id #=> String
2048
+ # resp.findings[0].resources[0].partition #=> String, one of "aws", "aws-cn", "aws-us-gov"
2049
+ # resp.findings[0].resources[0].region #=> String
2050
+ # resp.findings[0].resources[0].tags #=> Hash
2051
+ # resp.findings[0].resources[0].tags["NonEmptyString"] #=> String
2052
+ # resp.findings[0].resources[0].details.aws_ec2_instance.type #=> String
2053
+ # resp.findings[0].resources[0].details.aws_ec2_instance.image_id #=> String
2054
+ # resp.findings[0].resources[0].details.aws_ec2_instance.ip_v4_addresses #=> Array
2055
+ # resp.findings[0].resources[0].details.aws_ec2_instance.ip_v4_addresses[0] #=> String
2056
+ # resp.findings[0].resources[0].details.aws_ec2_instance.ip_v6_addresses #=> Array
2057
+ # resp.findings[0].resources[0].details.aws_ec2_instance.ip_v6_addresses[0] #=> String
2058
+ # resp.findings[0].resources[0].details.aws_ec2_instance.key_name #=> String
2059
+ # resp.findings[0].resources[0].details.aws_ec2_instance.iam_instance_profile_arn #=> String
2060
+ # resp.findings[0].resources[0].details.aws_ec2_instance.vpc_id #=> String
2061
+ # resp.findings[0].resources[0].details.aws_ec2_instance.subnet_id #=> String
2062
+ # resp.findings[0].resources[0].details.aws_ec2_instance.launched_at #=> String
2063
+ # resp.findings[0].resources[0].details.aws_s3_bucket.owner_id #=> String
2064
+ # resp.findings[0].resources[0].details.aws_s3_bucket.owner_name #=> String
2065
+ # resp.findings[0].resources[0].details.aws_iam_access_key.user_name #=> String
2066
+ # resp.findings[0].resources[0].details.aws_iam_access_key.status #=> String, one of "Active", "Inactive"
2067
+ # resp.findings[0].resources[0].details.aws_iam_access_key.created_at #=> String
2068
+ # resp.findings[0].resources[0].details.container.name #=> String
2069
+ # resp.findings[0].resources[0].details.container.image_id #=> String
2070
+ # resp.findings[0].resources[0].details.container.image_name #=> String
2071
+ # resp.findings[0].resources[0].details.container.launched_at #=> String
2072
+ # resp.findings[0].resources[0].details.other #=> Hash
2073
+ # resp.findings[0].resources[0].details.other["NonEmptyString"] #=> String
2074
+ # resp.findings[0].compliance.status #=> String, one of "PASSED", "WARNING", "FAILED", "NOT_AVAILABLE"
2075
+ # resp.findings[0].verification_state #=> String, one of "UNKNOWN", "TRUE_POSITIVE", "FALSE_POSITIVE", "BENIGN_POSITIVE"
2076
+ # resp.findings[0].workflow_state #=> String, one of "NEW", "ASSIGNED", "IN_PROGRESS", "DEFERRED", "RESOLVED"
2077
+ # resp.findings[0].record_state #=> String, one of "ACTIVE", "ARCHIVED"
2078
+ # resp.findings[0].related_findings #=> Array
2079
+ # resp.findings[0].related_findings[0].product_arn #=> String
2080
+ # resp.findings[0].related_findings[0].id #=> String
2081
+ # resp.findings[0].note.text #=> String
2082
+ # resp.findings[0].note.updated_by #=> String
2083
+ # resp.findings[0].note.updated_at #=> String
2084
+ # resp.next_token #=> String
2085
+ #
2086
+ # @see http://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/GetFindings AWS API Documentation
2087
+ #
2088
+ # @overload get_findings(params = {})
2089
+ # @param [Hash] params ({})
2090
+ def get_findings(params = {}, options = {})
2091
+ req = build_request(:get_findings, params)
2092
+ req.send_request(options)
2093
+ end
2094
+
2095
+ # Lists the results of the Security Hub insight specified by the insight
2096
+ # ARN.
2097
+ #
2098
+ # @option params [required, String] :insight_arn
2099
+ # The ARN of the insight whose results you want to see.
2100
+ #
2101
+ # @return [Types::GetInsightResultsResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2102
+ #
2103
+ # * {Types::GetInsightResultsResponse#insight_results #insight_results} => Types::InsightResults
2104
+ #
2105
+ # @example Request syntax with placeholder values
2106
+ #
2107
+ # resp = client.get_insight_results({
2108
+ # insight_arn: "NonEmptyString", # required
2109
+ # })
2110
+ #
2111
+ # @example Response structure
2112
+ #
2113
+ # resp.insight_results.insight_arn #=> String
2114
+ # resp.insight_results.group_by_attribute #=> String
2115
+ # resp.insight_results.result_values #=> Array
2116
+ # resp.insight_results.result_values[0].group_by_attribute_value #=> String
2117
+ # resp.insight_results.result_values[0].count #=> Integer
2118
+ #
2119
+ # @see http://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/GetInsightResults AWS API Documentation
2120
+ #
2121
+ # @overload get_insight_results(params = {})
2122
+ # @param [Hash] params ({})
2123
+ def get_insight_results(params = {}, options = {})
2124
+ req = build_request(:get_insight_results, params)
2125
+ req.send_request(options)
2126
+ end
2127
+
2128
+ # Lists and describes insights that are specified by insight ARNs.
2129
+ #
2130
+ # @option params [Array<String>] :insight_arns
2131
+ # The ARNS of the insights that you want to describe.
2132
+ #
2133
+ # @option params [String] :next_token
2134
+ # Paginates results. Set the value of this parameter to NULL on your
2135
+ # first call to the GetInsights operation. For subsequent calls to the
2136
+ # operation, fill nextToken in the request with the value of nextToken
2137
+ # from the previous response to continue listing data.
2138
+ #
2139
+ # @option params [Integer] :max_results
2140
+ # Indicates the maximum number of items that you want in the response.
2141
+ #
2142
+ # @return [Types::GetInsightsResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2143
+ #
2144
+ # * {Types::GetInsightsResponse#insights #insights} => Array&lt;Types::Insight&gt;
2145
+ # * {Types::GetInsightsResponse#next_token #next_token} => String
2146
+ #
2147
+ # @example Request syntax with placeholder values
2148
+ #
2149
+ # resp = client.get_insights({
2150
+ # insight_arns: ["NonEmptyString"],
2151
+ # next_token: "NextToken",
2152
+ # max_results: 1,
2153
+ # })
2154
+ #
2155
+ # @example Response structure
2156
+ #
2157
+ # resp.insights #=> Array
2158
+ # resp.insights[0].insight_arn #=> String
2159
+ # resp.insights[0].name #=> String
2160
+ # resp.insights[0].filters.product_arn #=> Array
2161
+ # resp.insights[0].filters.product_arn[0].value #=> String
2162
+ # resp.insights[0].filters.product_arn[0].comparison #=> String, one of "EQUALS", "CONTAINS", "PREFIX"
2163
+ # resp.insights[0].filters.aws_account_id #=> Array
2164
+ # resp.insights[0].filters.aws_account_id[0].value #=> String
2165
+ # resp.insights[0].filters.aws_account_id[0].comparison #=> String, one of "EQUALS", "CONTAINS", "PREFIX"
2166
+ # resp.insights[0].filters.id #=> Array
2167
+ # resp.insights[0].filters.id[0].value #=> String
2168
+ # resp.insights[0].filters.id[0].comparison #=> String, one of "EQUALS", "CONTAINS", "PREFIX"
2169
+ # resp.insights[0].filters.generator_id #=> Array
2170
+ # resp.insights[0].filters.generator_id[0].value #=> String
2171
+ # resp.insights[0].filters.generator_id[0].comparison #=> String, one of "EQUALS", "CONTAINS", "PREFIX"
2172
+ # resp.insights[0].filters.type #=> Array
2173
+ # resp.insights[0].filters.type[0].value #=> String
2174
+ # resp.insights[0].filters.type[0].comparison #=> String, one of "EQUALS", "CONTAINS", "PREFIX"
2175
+ # resp.insights[0].filters.first_observed_at #=> Array
2176
+ # resp.insights[0].filters.first_observed_at[0].start #=> String
2177
+ # resp.insights[0].filters.first_observed_at[0].end #=> String
2178
+ # resp.insights[0].filters.first_observed_at[0].date_range.value #=> Integer
2179
+ # resp.insights[0].filters.first_observed_at[0].date_range.unit #=> String, one of "DAYS"
2180
+ # resp.insights[0].filters.last_observed_at #=> Array
2181
+ # resp.insights[0].filters.last_observed_at[0].start #=> String
2182
+ # resp.insights[0].filters.last_observed_at[0].end #=> String
2183
+ # resp.insights[0].filters.last_observed_at[0].date_range.value #=> Integer
2184
+ # resp.insights[0].filters.last_observed_at[0].date_range.unit #=> String, one of "DAYS"
2185
+ # resp.insights[0].filters.created_at #=> Array
2186
+ # resp.insights[0].filters.created_at[0].start #=> String
2187
+ # resp.insights[0].filters.created_at[0].end #=> String
2188
+ # resp.insights[0].filters.created_at[0].date_range.value #=> Integer
2189
+ # resp.insights[0].filters.created_at[0].date_range.unit #=> String, one of "DAYS"
2190
+ # resp.insights[0].filters.updated_at #=> Array
2191
+ # resp.insights[0].filters.updated_at[0].start #=> String
2192
+ # resp.insights[0].filters.updated_at[0].end #=> String
2193
+ # resp.insights[0].filters.updated_at[0].date_range.value #=> Integer
2194
+ # resp.insights[0].filters.updated_at[0].date_range.unit #=> String, one of "DAYS"
2195
+ # resp.insights[0].filters.severity_product #=> Array
2196
+ # resp.insights[0].filters.severity_product[0].gte #=> Float
2197
+ # resp.insights[0].filters.severity_product[0].lte #=> Float
2198
+ # resp.insights[0].filters.severity_product[0].eq #=> Float
2199
+ # resp.insights[0].filters.severity_normalized #=> Array
2200
+ # resp.insights[0].filters.severity_normalized[0].gte #=> Float
2201
+ # resp.insights[0].filters.severity_normalized[0].lte #=> Float
2202
+ # resp.insights[0].filters.severity_normalized[0].eq #=> Float
2203
+ # resp.insights[0].filters.severity_label #=> Array
2204
+ # resp.insights[0].filters.severity_label[0].value #=> String
2205
+ # resp.insights[0].filters.severity_label[0].comparison #=> String, one of "EQUALS", "CONTAINS", "PREFIX"
2206
+ # resp.insights[0].filters.confidence #=> Array
2207
+ # resp.insights[0].filters.confidence[0].gte #=> Float
2208
+ # resp.insights[0].filters.confidence[0].lte #=> Float
2209
+ # resp.insights[0].filters.confidence[0].eq #=> Float
2210
+ # resp.insights[0].filters.criticality #=> Array
2211
+ # resp.insights[0].filters.criticality[0].gte #=> Float
2212
+ # resp.insights[0].filters.criticality[0].lte #=> Float
2213
+ # resp.insights[0].filters.criticality[0].eq #=> Float
2214
+ # resp.insights[0].filters.title #=> Array
2215
+ # resp.insights[0].filters.title[0].value #=> String
2216
+ # resp.insights[0].filters.title[0].comparison #=> String, one of "EQUALS", "CONTAINS", "PREFIX"
2217
+ # resp.insights[0].filters.description #=> Array
2218
+ # resp.insights[0].filters.description[0].value #=> String
2219
+ # resp.insights[0].filters.description[0].comparison #=> String, one of "EQUALS", "CONTAINS", "PREFIX"
2220
+ # resp.insights[0].filters.recommendation_text #=> Array
2221
+ # resp.insights[0].filters.recommendation_text[0].value #=> String
2222
+ # resp.insights[0].filters.recommendation_text[0].comparison #=> String, one of "EQUALS", "CONTAINS", "PREFIX"
2223
+ # resp.insights[0].filters.source_url #=> Array
2224
+ # resp.insights[0].filters.source_url[0].value #=> String
2225
+ # resp.insights[0].filters.source_url[0].comparison #=> String, one of "EQUALS", "CONTAINS", "PREFIX"
2226
+ # resp.insights[0].filters.product_fields #=> Array
2227
+ # resp.insights[0].filters.product_fields[0].key #=> String
2228
+ # resp.insights[0].filters.product_fields[0].value #=> String
2229
+ # resp.insights[0].filters.product_fields[0].comparison #=> String, one of "CONTAINS"
2230
+ # resp.insights[0].filters.product_name #=> Array
2231
+ # resp.insights[0].filters.product_name[0].value #=> String
2232
+ # resp.insights[0].filters.product_name[0].comparison #=> String, one of "EQUALS", "CONTAINS", "PREFIX"
2233
+ # resp.insights[0].filters.company_name #=> Array
2234
+ # resp.insights[0].filters.company_name[0].value #=> String
2235
+ # resp.insights[0].filters.company_name[0].comparison #=> String, one of "EQUALS", "CONTAINS", "PREFIX"
2236
+ # resp.insights[0].filters.user_defined_fields #=> Array
2237
+ # resp.insights[0].filters.user_defined_fields[0].key #=> String
2238
+ # resp.insights[0].filters.user_defined_fields[0].value #=> String
2239
+ # resp.insights[0].filters.user_defined_fields[0].comparison #=> String, one of "CONTAINS"
2240
+ # resp.insights[0].filters.malware_name #=> Array
2241
+ # resp.insights[0].filters.malware_name[0].value #=> String
2242
+ # resp.insights[0].filters.malware_name[0].comparison #=> String, one of "EQUALS", "CONTAINS", "PREFIX"
2243
+ # resp.insights[0].filters.malware_type #=> Array
2244
+ # resp.insights[0].filters.malware_type[0].value #=> String
2245
+ # resp.insights[0].filters.malware_type[0].comparison #=> String, one of "EQUALS", "CONTAINS", "PREFIX"
2246
+ # resp.insights[0].filters.malware_path #=> Array
2247
+ # resp.insights[0].filters.malware_path[0].value #=> String
2248
+ # resp.insights[0].filters.malware_path[0].comparison #=> String, one of "EQUALS", "CONTAINS", "PREFIX"
2249
+ # resp.insights[0].filters.malware_state #=> Array
2250
+ # resp.insights[0].filters.malware_state[0].value #=> String
2251
+ # resp.insights[0].filters.malware_state[0].comparison #=> String, one of "EQUALS", "CONTAINS", "PREFIX"
2252
+ # resp.insights[0].filters.network_direction #=> Array
2253
+ # resp.insights[0].filters.network_direction[0].value #=> String
2254
+ # resp.insights[0].filters.network_direction[0].comparison #=> String, one of "EQUALS", "CONTAINS", "PREFIX"
2255
+ # resp.insights[0].filters.network_protocol #=> Array
2256
+ # resp.insights[0].filters.network_protocol[0].value #=> String
2257
+ # resp.insights[0].filters.network_protocol[0].comparison #=> String, one of "EQUALS", "CONTAINS", "PREFIX"
2258
+ # resp.insights[0].filters.network_source_ip_v4 #=> Array
2259
+ # resp.insights[0].filters.network_source_ip_v4[0].cidr #=> String
2260
+ # resp.insights[0].filters.network_source_ip_v6 #=> Array
2261
+ # resp.insights[0].filters.network_source_ip_v6[0].cidr #=> String
2262
+ # resp.insights[0].filters.network_source_port #=> Array
2263
+ # resp.insights[0].filters.network_source_port[0].gte #=> Float
2264
+ # resp.insights[0].filters.network_source_port[0].lte #=> Float
2265
+ # resp.insights[0].filters.network_source_port[0].eq #=> Float
2266
+ # resp.insights[0].filters.network_source_domain #=> Array
2267
+ # resp.insights[0].filters.network_source_domain[0].value #=> String
2268
+ # resp.insights[0].filters.network_source_domain[0].comparison #=> String, one of "EQUALS", "CONTAINS", "PREFIX"
2269
+ # resp.insights[0].filters.network_source_mac #=> Array
2270
+ # resp.insights[0].filters.network_source_mac[0].value #=> String
2271
+ # resp.insights[0].filters.network_source_mac[0].comparison #=> String, one of "EQUALS", "CONTAINS", "PREFIX"
2272
+ # resp.insights[0].filters.network_destination_ip_v4 #=> Array
2273
+ # resp.insights[0].filters.network_destination_ip_v4[0].cidr #=> String
2274
+ # resp.insights[0].filters.network_destination_ip_v6 #=> Array
2275
+ # resp.insights[0].filters.network_destination_ip_v6[0].cidr #=> String
2276
+ # resp.insights[0].filters.network_destination_port #=> Array
2277
+ # resp.insights[0].filters.network_destination_port[0].gte #=> Float
2278
+ # resp.insights[0].filters.network_destination_port[0].lte #=> Float
2279
+ # resp.insights[0].filters.network_destination_port[0].eq #=> Float
2280
+ # resp.insights[0].filters.network_destination_domain #=> Array
2281
+ # resp.insights[0].filters.network_destination_domain[0].value #=> String
2282
+ # resp.insights[0].filters.network_destination_domain[0].comparison #=> String, one of "EQUALS", "CONTAINS", "PREFIX"
2283
+ # resp.insights[0].filters.process_name #=> Array
2284
+ # resp.insights[0].filters.process_name[0].value #=> String
2285
+ # resp.insights[0].filters.process_name[0].comparison #=> String, one of "EQUALS", "CONTAINS", "PREFIX"
2286
+ # resp.insights[0].filters.process_path #=> Array
2287
+ # resp.insights[0].filters.process_path[0].value #=> String
2288
+ # resp.insights[0].filters.process_path[0].comparison #=> String, one of "EQUALS", "CONTAINS", "PREFIX"
2289
+ # resp.insights[0].filters.process_pid #=> Array
2290
+ # resp.insights[0].filters.process_pid[0].gte #=> Float
2291
+ # resp.insights[0].filters.process_pid[0].lte #=> Float
2292
+ # resp.insights[0].filters.process_pid[0].eq #=> Float
2293
+ # resp.insights[0].filters.process_parent_pid #=> Array
2294
+ # resp.insights[0].filters.process_parent_pid[0].gte #=> Float
2295
+ # resp.insights[0].filters.process_parent_pid[0].lte #=> Float
2296
+ # resp.insights[0].filters.process_parent_pid[0].eq #=> Float
2297
+ # resp.insights[0].filters.process_launched_at #=> Array
2298
+ # resp.insights[0].filters.process_launched_at[0].start #=> String
2299
+ # resp.insights[0].filters.process_launched_at[0].end #=> String
2300
+ # resp.insights[0].filters.process_launched_at[0].date_range.value #=> Integer
2301
+ # resp.insights[0].filters.process_launched_at[0].date_range.unit #=> String, one of "DAYS"
2302
+ # resp.insights[0].filters.process_terminated_at #=> Array
2303
+ # resp.insights[0].filters.process_terminated_at[0].start #=> String
2304
+ # resp.insights[0].filters.process_terminated_at[0].end #=> String
2305
+ # resp.insights[0].filters.process_terminated_at[0].date_range.value #=> Integer
2306
+ # resp.insights[0].filters.process_terminated_at[0].date_range.unit #=> String, one of "DAYS"
2307
+ # resp.insights[0].filters.threat_intel_indicator_type #=> Array
2308
+ # resp.insights[0].filters.threat_intel_indicator_type[0].value #=> String
2309
+ # resp.insights[0].filters.threat_intel_indicator_type[0].comparison #=> String, one of "EQUALS", "CONTAINS", "PREFIX"
2310
+ # resp.insights[0].filters.threat_intel_indicator_value #=> Array
2311
+ # resp.insights[0].filters.threat_intel_indicator_value[0].value #=> String
2312
+ # resp.insights[0].filters.threat_intel_indicator_value[0].comparison #=> String, one of "EQUALS", "CONTAINS", "PREFIX"
2313
+ # resp.insights[0].filters.threat_intel_indicator_category #=> Array
2314
+ # resp.insights[0].filters.threat_intel_indicator_category[0].value #=> String
2315
+ # resp.insights[0].filters.threat_intel_indicator_category[0].comparison #=> String, one of "EQUALS", "CONTAINS", "PREFIX"
2316
+ # resp.insights[0].filters.threat_intel_indicator_last_observed_at #=> Array
2317
+ # resp.insights[0].filters.threat_intel_indicator_last_observed_at[0].start #=> String
2318
+ # resp.insights[0].filters.threat_intel_indicator_last_observed_at[0].end #=> String
2319
+ # resp.insights[0].filters.threat_intel_indicator_last_observed_at[0].date_range.value #=> Integer
2320
+ # resp.insights[0].filters.threat_intel_indicator_last_observed_at[0].date_range.unit #=> String, one of "DAYS"
2321
+ # resp.insights[0].filters.threat_intel_indicator_source #=> Array
2322
+ # resp.insights[0].filters.threat_intel_indicator_source[0].value #=> String
2323
+ # resp.insights[0].filters.threat_intel_indicator_source[0].comparison #=> String, one of "EQUALS", "CONTAINS", "PREFIX"
2324
+ # resp.insights[0].filters.threat_intel_indicator_source_url #=> Array
2325
+ # resp.insights[0].filters.threat_intel_indicator_source_url[0].value #=> String
2326
+ # resp.insights[0].filters.threat_intel_indicator_source_url[0].comparison #=> String, one of "EQUALS", "CONTAINS", "PREFIX"
2327
+ # resp.insights[0].filters.resource_type #=> Array
2328
+ # resp.insights[0].filters.resource_type[0].value #=> String
2329
+ # resp.insights[0].filters.resource_type[0].comparison #=> String, one of "EQUALS", "CONTAINS", "PREFIX"
2330
+ # resp.insights[0].filters.resource_id #=> Array
2331
+ # resp.insights[0].filters.resource_id[0].value #=> String
2332
+ # resp.insights[0].filters.resource_id[0].comparison #=> String, one of "EQUALS", "CONTAINS", "PREFIX"
2333
+ # resp.insights[0].filters.resource_partition #=> Array
2334
+ # resp.insights[0].filters.resource_partition[0].value #=> String
2335
+ # resp.insights[0].filters.resource_partition[0].comparison #=> String, one of "EQUALS", "CONTAINS", "PREFIX"
2336
+ # resp.insights[0].filters.resource_region #=> Array
2337
+ # resp.insights[0].filters.resource_region[0].value #=> String
2338
+ # resp.insights[0].filters.resource_region[0].comparison #=> String, one of "EQUALS", "CONTAINS", "PREFIX"
2339
+ # resp.insights[0].filters.resource_tags #=> Array
2340
+ # resp.insights[0].filters.resource_tags[0].key #=> String
2341
+ # resp.insights[0].filters.resource_tags[0].value #=> String
2342
+ # resp.insights[0].filters.resource_tags[0].comparison #=> String, one of "CONTAINS"
2343
+ # resp.insights[0].filters.resource_aws_ec2_instance_type #=> Array
2344
+ # resp.insights[0].filters.resource_aws_ec2_instance_type[0].value #=> String
2345
+ # resp.insights[0].filters.resource_aws_ec2_instance_type[0].comparison #=> String, one of "EQUALS", "CONTAINS", "PREFIX"
2346
+ # resp.insights[0].filters.resource_aws_ec2_instance_image_id #=> Array
2347
+ # resp.insights[0].filters.resource_aws_ec2_instance_image_id[0].value #=> String
2348
+ # resp.insights[0].filters.resource_aws_ec2_instance_image_id[0].comparison #=> String, one of "EQUALS", "CONTAINS", "PREFIX"
2349
+ # resp.insights[0].filters.resource_aws_ec2_instance_ip_v4_addresses #=> Array
2350
+ # resp.insights[0].filters.resource_aws_ec2_instance_ip_v4_addresses[0].cidr #=> String
2351
+ # resp.insights[0].filters.resource_aws_ec2_instance_ip_v6_addresses #=> Array
2352
+ # resp.insights[0].filters.resource_aws_ec2_instance_ip_v6_addresses[0].cidr #=> String
2353
+ # resp.insights[0].filters.resource_aws_ec2_instance_key_name #=> Array
2354
+ # resp.insights[0].filters.resource_aws_ec2_instance_key_name[0].value #=> String
2355
+ # resp.insights[0].filters.resource_aws_ec2_instance_key_name[0].comparison #=> String, one of "EQUALS", "CONTAINS", "PREFIX"
2356
+ # resp.insights[0].filters.resource_aws_ec2_instance_iam_instance_profile_arn #=> Array
2357
+ # resp.insights[0].filters.resource_aws_ec2_instance_iam_instance_profile_arn[0].value #=> String
2358
+ # resp.insights[0].filters.resource_aws_ec2_instance_iam_instance_profile_arn[0].comparison #=> String, one of "EQUALS", "CONTAINS", "PREFIX"
2359
+ # resp.insights[0].filters.resource_aws_ec2_instance_vpc_id #=> Array
2360
+ # resp.insights[0].filters.resource_aws_ec2_instance_vpc_id[0].value #=> String
2361
+ # resp.insights[0].filters.resource_aws_ec2_instance_vpc_id[0].comparison #=> String, one of "EQUALS", "CONTAINS", "PREFIX"
2362
+ # resp.insights[0].filters.resource_aws_ec2_instance_subnet_id #=> Array
2363
+ # resp.insights[0].filters.resource_aws_ec2_instance_subnet_id[0].value #=> String
2364
+ # resp.insights[0].filters.resource_aws_ec2_instance_subnet_id[0].comparison #=> String, one of "EQUALS", "CONTAINS", "PREFIX"
2365
+ # resp.insights[0].filters.resource_aws_ec2_instance_launched_at #=> Array
2366
+ # resp.insights[0].filters.resource_aws_ec2_instance_launched_at[0].start #=> String
2367
+ # resp.insights[0].filters.resource_aws_ec2_instance_launched_at[0].end #=> String
2368
+ # resp.insights[0].filters.resource_aws_ec2_instance_launched_at[0].date_range.value #=> Integer
2369
+ # resp.insights[0].filters.resource_aws_ec2_instance_launched_at[0].date_range.unit #=> String, one of "DAYS"
2370
+ # resp.insights[0].filters.resource_aws_s3_bucket_owner_id #=> Array
2371
+ # resp.insights[0].filters.resource_aws_s3_bucket_owner_id[0].value #=> String
2372
+ # resp.insights[0].filters.resource_aws_s3_bucket_owner_id[0].comparison #=> String, one of "EQUALS", "CONTAINS", "PREFIX"
2373
+ # resp.insights[0].filters.resource_aws_s3_bucket_owner_name #=> Array
2374
+ # resp.insights[0].filters.resource_aws_s3_bucket_owner_name[0].value #=> String
2375
+ # resp.insights[0].filters.resource_aws_s3_bucket_owner_name[0].comparison #=> String, one of "EQUALS", "CONTAINS", "PREFIX"
2376
+ # resp.insights[0].filters.resource_aws_iam_access_key_user_name #=> Array
2377
+ # resp.insights[0].filters.resource_aws_iam_access_key_user_name[0].value #=> String
2378
+ # resp.insights[0].filters.resource_aws_iam_access_key_user_name[0].comparison #=> String, one of "EQUALS", "CONTAINS", "PREFIX"
2379
+ # resp.insights[0].filters.resource_aws_iam_access_key_status #=> Array
2380
+ # resp.insights[0].filters.resource_aws_iam_access_key_status[0].value #=> String
2381
+ # resp.insights[0].filters.resource_aws_iam_access_key_status[0].comparison #=> String, one of "EQUALS", "CONTAINS", "PREFIX"
2382
+ # resp.insights[0].filters.resource_aws_iam_access_key_created_at #=> Array
2383
+ # resp.insights[0].filters.resource_aws_iam_access_key_created_at[0].start #=> String
2384
+ # resp.insights[0].filters.resource_aws_iam_access_key_created_at[0].end #=> String
2385
+ # resp.insights[0].filters.resource_aws_iam_access_key_created_at[0].date_range.value #=> Integer
2386
+ # resp.insights[0].filters.resource_aws_iam_access_key_created_at[0].date_range.unit #=> String, one of "DAYS"
2387
+ # resp.insights[0].filters.resource_container_name #=> Array
2388
+ # resp.insights[0].filters.resource_container_name[0].value #=> String
2389
+ # resp.insights[0].filters.resource_container_name[0].comparison #=> String, one of "EQUALS", "CONTAINS", "PREFIX"
2390
+ # resp.insights[0].filters.resource_container_image_id #=> Array
2391
+ # resp.insights[0].filters.resource_container_image_id[0].value #=> String
2392
+ # resp.insights[0].filters.resource_container_image_id[0].comparison #=> String, one of "EQUALS", "CONTAINS", "PREFIX"
2393
+ # resp.insights[0].filters.resource_container_image_name #=> Array
2394
+ # resp.insights[0].filters.resource_container_image_name[0].value #=> String
2395
+ # resp.insights[0].filters.resource_container_image_name[0].comparison #=> String, one of "EQUALS", "CONTAINS", "PREFIX"
2396
+ # resp.insights[0].filters.resource_container_launched_at #=> Array
2397
+ # resp.insights[0].filters.resource_container_launched_at[0].start #=> String
2398
+ # resp.insights[0].filters.resource_container_launched_at[0].end #=> String
2399
+ # resp.insights[0].filters.resource_container_launched_at[0].date_range.value #=> Integer
2400
+ # resp.insights[0].filters.resource_container_launched_at[0].date_range.unit #=> String, one of "DAYS"
2401
+ # resp.insights[0].filters.resource_details_other #=> Array
2402
+ # resp.insights[0].filters.resource_details_other[0].key #=> String
2403
+ # resp.insights[0].filters.resource_details_other[0].value #=> String
2404
+ # resp.insights[0].filters.resource_details_other[0].comparison #=> String, one of "CONTAINS"
2405
+ # resp.insights[0].filters.compliance_status #=> Array
2406
+ # resp.insights[0].filters.compliance_status[0].value #=> String
2407
+ # resp.insights[0].filters.compliance_status[0].comparison #=> String, one of "EQUALS", "CONTAINS", "PREFIX"
2408
+ # resp.insights[0].filters.verification_state #=> Array
2409
+ # resp.insights[0].filters.verification_state[0].value #=> String
2410
+ # resp.insights[0].filters.verification_state[0].comparison #=> String, one of "EQUALS", "CONTAINS", "PREFIX"
2411
+ # resp.insights[0].filters.workflow_state #=> Array
2412
+ # resp.insights[0].filters.workflow_state[0].value #=> String
2413
+ # resp.insights[0].filters.workflow_state[0].comparison #=> String, one of "EQUALS", "CONTAINS", "PREFIX"
2414
+ # resp.insights[0].filters.record_state #=> Array
2415
+ # resp.insights[0].filters.record_state[0].value #=> String
2416
+ # resp.insights[0].filters.record_state[0].comparison #=> String, one of "EQUALS", "CONTAINS", "PREFIX"
2417
+ # resp.insights[0].filters.related_findings_product_arn #=> Array
2418
+ # resp.insights[0].filters.related_findings_product_arn[0].value #=> String
2419
+ # resp.insights[0].filters.related_findings_product_arn[0].comparison #=> String, one of "EQUALS", "CONTAINS", "PREFIX"
2420
+ # resp.insights[0].filters.related_findings_id #=> Array
2421
+ # resp.insights[0].filters.related_findings_id[0].value #=> String
2422
+ # resp.insights[0].filters.related_findings_id[0].comparison #=> String, one of "EQUALS", "CONTAINS", "PREFIX"
2423
+ # resp.insights[0].filters.note_text #=> Array
2424
+ # resp.insights[0].filters.note_text[0].value #=> String
2425
+ # resp.insights[0].filters.note_text[0].comparison #=> String, one of "EQUALS", "CONTAINS", "PREFIX"
2426
+ # resp.insights[0].filters.note_updated_at #=> Array
2427
+ # resp.insights[0].filters.note_updated_at[0].start #=> String
2428
+ # resp.insights[0].filters.note_updated_at[0].end #=> String
2429
+ # resp.insights[0].filters.note_updated_at[0].date_range.value #=> Integer
2430
+ # resp.insights[0].filters.note_updated_at[0].date_range.unit #=> String, one of "DAYS"
2431
+ # resp.insights[0].filters.note_updated_by #=> Array
2432
+ # resp.insights[0].filters.note_updated_by[0].value #=> String
2433
+ # resp.insights[0].filters.note_updated_by[0].comparison #=> String, one of "EQUALS", "CONTAINS", "PREFIX"
2434
+ # resp.insights[0].filters.keyword #=> Array
2435
+ # resp.insights[0].filters.keyword[0].value #=> String
2436
+ # resp.insights[0].group_by_attribute #=> String
2437
+ # resp.next_token #=> String
2438
+ #
2439
+ # @see http://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/GetInsights AWS API Documentation
2440
+ #
2441
+ # @overload get_insights(params = {})
2442
+ # @param [Hash] params ({})
2443
+ def get_insights(params = {}, options = {})
2444
+ req = build_request(:get_insights, params)
2445
+ req.send_request(options)
2446
+ end
2447
+
2448
+ # Returns the count of all Security Hub membership invitations that were
2449
+ # sent to the current member account, not including the currently
2450
+ # accepted invitation.
2451
+ #
2452
+ # @return [Types::GetInvitationsCountResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2453
+ #
2454
+ # * {Types::GetInvitationsCountResponse#invitations_count #invitations_count} => Integer
2455
+ #
2456
+ # @example Response structure
2457
+ #
2458
+ # resp.invitations_count #=> Integer
2459
+ #
2460
+ # @see http://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/GetInvitationsCount AWS API Documentation
2461
+ #
2462
+ # @overload get_invitations_count(params = {})
2463
+ # @param [Hash] params ({})
2464
+ def get_invitations_count(params = {}, options = {})
2465
+ req = build_request(:get_invitations_count, params)
2466
+ req.send_request(options)
2467
+ end
2468
+
2469
+ # Provides the details for the Security Hub master account to the
2470
+ # current member account.
2471
+ #
2472
+ # @return [Types::GetMasterAccountResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2473
+ #
2474
+ # * {Types::GetMasterAccountResponse#master #master} => Types::Invitation
2475
+ #
2476
+ # @example Response structure
2477
+ #
2478
+ # resp.master.account_id #=> String
2479
+ # resp.master.invitation_id #=> String
2480
+ # resp.master.invited_at #=> Time
2481
+ # resp.master.member_status #=> String
2482
+ #
2483
+ # @see http://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/GetMasterAccount AWS API Documentation
2484
+ #
2485
+ # @overload get_master_account(params = {})
2486
+ # @param [Hash] params ({})
2487
+ def get_master_account(params = {}, options = {})
2488
+ req = build_request(:get_master_account, params)
2489
+ req.send_request(options)
2490
+ end
2491
+
2492
+ # Returns the details on the Security Hub member accounts that are
2493
+ # specified by the account IDs.
2494
+ #
2495
+ # @option params [required, Array<String>] :account_ids
2496
+ # A list of account IDs for the Security Hub member accounts on which
2497
+ # you want to return the details.
2498
+ #
2499
+ # @return [Types::GetMembersResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2500
+ #
2501
+ # * {Types::GetMembersResponse#members #members} => Array&lt;Types::Member&gt;
2502
+ # * {Types::GetMembersResponse#unprocessed_accounts #unprocessed_accounts} => Array&lt;Types::Result&gt;
2503
+ #
2504
+ # @example Request syntax with placeholder values
2505
+ #
2506
+ # resp = client.get_members({
2507
+ # account_ids: ["NonEmptyString"], # required
2508
+ # })
2509
+ #
2510
+ # @example Response structure
2511
+ #
2512
+ # resp.members #=> Array
2513
+ # resp.members[0].account_id #=> String
2514
+ # resp.members[0].email #=> String
2515
+ # resp.members[0].master_id #=> String
2516
+ # resp.members[0].member_status #=> String
2517
+ # resp.members[0].invited_at #=> Time
2518
+ # resp.members[0].updated_at #=> Time
2519
+ # resp.unprocessed_accounts #=> Array
2520
+ # resp.unprocessed_accounts[0].account_id #=> String
2521
+ # resp.unprocessed_accounts[0].processing_result #=> String
2522
+ #
2523
+ # @see http://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/GetMembers AWS API Documentation
2524
+ #
2525
+ # @overload get_members(params = {})
2526
+ # @param [Hash] params ({})
2527
+ def get_members(params = {}, options = {})
2528
+ req = build_request(:get_members, params)
2529
+ req.send_request(options)
2530
+ end
2531
+
2532
+ # Invites other AWS accounts to enable Security Hub and become Security
2533
+ # Hub member accounts. When an account accepts the invitation and
2534
+ # becomes a member account, the master account can view Security Hub
2535
+ # findings of the member account.
2536
+ #
2537
+ # @option params [Array<String>] :account_ids
2538
+ # A list of IDs of the AWS accounts that you want to invite to Security
2539
+ # Hub as members.
2540
+ #
2541
+ # @return [Types::InviteMembersResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2542
+ #
2543
+ # * {Types::InviteMembersResponse#unprocessed_accounts #unprocessed_accounts} => Array&lt;Types::Result&gt;
2544
+ #
2545
+ # @example Request syntax with placeholder values
2546
+ #
2547
+ # resp = client.invite_members({
2548
+ # account_ids: ["NonEmptyString"],
2549
+ # })
2550
+ #
2551
+ # @example Response structure
2552
+ #
2553
+ # resp.unprocessed_accounts #=> Array
2554
+ # resp.unprocessed_accounts[0].account_id #=> String
2555
+ # resp.unprocessed_accounts[0].processing_result #=> String
2556
+ #
2557
+ # @see http://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/InviteMembers AWS API Documentation
2558
+ #
2559
+ # @overload invite_members(params = {})
2560
+ # @param [Hash] params ({})
2561
+ def invite_members(params = {}, options = {})
2562
+ req = build_request(:invite_members, params)
2563
+ req.send_request(options)
2564
+ end
2565
+
2566
+ # Lists all Security Hub-integrated third-party findings providers.
2567
+ #
2568
+ # @option params [String] :next_token
2569
+ # Paginates results. Set the value of this parameter to NULL on your
2570
+ # first call to the ListEnabledProductsForImport operation. For
2571
+ # subsequent calls to the operation, fill nextToken in the request with
2572
+ # the value of NextToken from the previous response to continue listing
2573
+ # data.
2574
+ #
2575
+ # @option params [Integer] :max_results
2576
+ # Indicates the maximum number of items that you want in the response.
2577
+ #
2578
+ # @return [Types::ListEnabledProductsForImportResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2579
+ #
2580
+ # * {Types::ListEnabledProductsForImportResponse#product_subscriptions #product_subscriptions} => Array&lt;String&gt;
2581
+ # * {Types::ListEnabledProductsForImportResponse#next_token #next_token} => String
2582
+ #
2583
+ # @example Request syntax with placeholder values
2584
+ #
2585
+ # resp = client.list_enabled_products_for_import({
2586
+ # next_token: "NextToken",
2587
+ # max_results: 1,
2588
+ # })
2589
+ #
2590
+ # @example Response structure
2591
+ #
2592
+ # resp.product_subscriptions #=> Array
2593
+ # resp.product_subscriptions[0] #=> String
2594
+ # resp.next_token #=> String
2595
+ #
2596
+ # @see http://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/ListEnabledProductsForImport AWS API Documentation
2597
+ #
2598
+ # @overload list_enabled_products_for_import(params = {})
2599
+ # @param [Hash] params ({})
2600
+ def list_enabled_products_for_import(params = {}, options = {})
2601
+ req = build_request(:list_enabled_products_for_import, params)
2602
+ req.send_request(options)
2603
+ end
2604
+
2605
+ # Lists all Security Hub membership invitations that were sent to the
2606
+ # current AWS account.
2607
+ #
2608
+ # @option params [Integer] :max_results
2609
+ # Indicates the maximum number of items that you want in the response.
2610
+ #
2611
+ # @option params [String] :next_token
2612
+ # Paginates results. Set the value of this parameter to NULL on your
2613
+ # first call to the ListInvitations operation. For subsequent calls to
2614
+ # the operation, fill nextToken in the request with the value of
2615
+ # NextToken from the previous response to continue listing data.
2616
+ #
2617
+ # @return [Types::ListInvitationsResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2618
+ #
2619
+ # * {Types::ListInvitationsResponse#invitations #invitations} => Array&lt;Types::Invitation&gt;
2620
+ # * {Types::ListInvitationsResponse#next_token #next_token} => String
2621
+ #
2622
+ # @example Request syntax with placeholder values
2623
+ #
2624
+ # resp = client.list_invitations({
2625
+ # max_results: 1,
2626
+ # next_token: "NextToken",
2627
+ # })
2628
+ #
2629
+ # @example Response structure
2630
+ #
2631
+ # resp.invitations #=> Array
2632
+ # resp.invitations[0].account_id #=> String
2633
+ # resp.invitations[0].invitation_id #=> String
2634
+ # resp.invitations[0].invited_at #=> Time
2635
+ # resp.invitations[0].member_status #=> String
2636
+ # resp.next_token #=> String
2637
+ #
2638
+ # @see http://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/ListInvitations AWS API Documentation
2639
+ #
2640
+ # @overload list_invitations(params = {})
2641
+ # @param [Hash] params ({})
2642
+ def list_invitations(params = {}, options = {})
2643
+ req = build_request(:list_invitations, params)
2644
+ req.send_request(options)
2645
+ end
2646
+
2647
+ # Lists details about all member accounts for the current Security Hub
2648
+ # master account.
2649
+ #
2650
+ # @option params [Boolean] :only_associated
2651
+ # Specifies what member accounts the response includes based on their
2652
+ # relationship status with the master account. The default value is
2653
+ # TRUE. If onlyAssociated is set to TRUE, the response includes member
2654
+ # accounts whose relationship status with the master is set to ENABLED
2655
+ # or DISABLED. If onlyAssociated is set to FALSE, the response includes
2656
+ # all existing member accounts.
2657
+ #
2658
+ # @option params [Integer] :max_results
2659
+ # Indicates the maximum number of items that you want in the response.
2660
+ #
2661
+ # @option params [String] :next_token
2662
+ # Paginates results. Set the value of this parameter to NULL on your
2663
+ # first call to the ListMembers operation. For subsequent calls to the
2664
+ # operation, fill nextToken in the request with the value of NextToken
2665
+ # from the previous response to continue listing data.
2666
+ #
2667
+ # @return [Types::ListMembersResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2668
+ #
2669
+ # * {Types::ListMembersResponse#members #members} => Array&lt;Types::Member&gt;
2670
+ # * {Types::ListMembersResponse#next_token #next_token} => String
2671
+ #
2672
+ # @example Request syntax with placeholder values
2673
+ #
2674
+ # resp = client.list_members({
2675
+ # only_associated: false,
2676
+ # max_results: 1,
2677
+ # next_token: "NextToken",
2678
+ # })
2679
+ #
2680
+ # @example Response structure
2681
+ #
2682
+ # resp.members #=> Array
2683
+ # resp.members[0].account_id #=> String
2684
+ # resp.members[0].email #=> String
2685
+ # resp.members[0].master_id #=> String
2686
+ # resp.members[0].member_status #=> String
2687
+ # resp.members[0].invited_at #=> Time
2688
+ # resp.members[0].updated_at #=> Time
2689
+ # resp.next_token #=> String
2690
+ #
2691
+ # @see http://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/ListMembers AWS API Documentation
2692
+ #
2693
+ # @overload list_members(params = {})
2694
+ # @param [Hash] params ({})
2695
+ def list_members(params = {}, options = {})
2696
+ req = build_request(:list_members, params)
2697
+ req.send_request(options)
2698
+ end
2699
+
2700
+ # Updates the AWS Security Hub-aggregated findings specified by the
2701
+ # filter attributes.
2702
+ #
2703
+ # @option params [required, Types::AwsSecurityFindingFilters] :filters
2704
+ # A collection of attributes that specify what findings you want to
2705
+ # update.
2706
+ #
2707
+ # @option params [Types::NoteUpdate] :note
2708
+ # The updated note for the finding.
2709
+ #
2710
+ # @option params [String] :record_state
2711
+ # The updated record state for the finding.
2712
+ #
2713
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
2714
+ #
2715
+ # @example Request syntax with placeholder values
2716
+ #
2717
+ # resp = client.update_findings({
2718
+ # filters: { # required
2719
+ # product_arn: [
2720
+ # {
2721
+ # value: "NonEmptyString",
2722
+ # comparison: "EQUALS", # accepts EQUALS, CONTAINS, PREFIX
2723
+ # },
2724
+ # ],
2725
+ # aws_account_id: [
2726
+ # {
2727
+ # value: "NonEmptyString",
2728
+ # comparison: "EQUALS", # accepts EQUALS, CONTAINS, PREFIX
2729
+ # },
2730
+ # ],
2731
+ # id: [
2732
+ # {
2733
+ # value: "NonEmptyString",
2734
+ # comparison: "EQUALS", # accepts EQUALS, CONTAINS, PREFIX
2735
+ # },
2736
+ # ],
2737
+ # generator_id: [
2738
+ # {
2739
+ # value: "NonEmptyString",
2740
+ # comparison: "EQUALS", # accepts EQUALS, CONTAINS, PREFIX
2741
+ # },
2742
+ # ],
2743
+ # type: [
2744
+ # {
2745
+ # value: "NonEmptyString",
2746
+ # comparison: "EQUALS", # accepts EQUALS, CONTAINS, PREFIX
2747
+ # },
2748
+ # ],
2749
+ # first_observed_at: [
2750
+ # {
2751
+ # start: "NonEmptyString",
2752
+ # end: "NonEmptyString",
2753
+ # date_range: {
2754
+ # value: 1,
2755
+ # unit: "DAYS", # accepts DAYS
2756
+ # },
2757
+ # },
2758
+ # ],
2759
+ # last_observed_at: [
2760
+ # {
2761
+ # start: "NonEmptyString",
2762
+ # end: "NonEmptyString",
2763
+ # date_range: {
2764
+ # value: 1,
2765
+ # unit: "DAYS", # accepts DAYS
2766
+ # },
2767
+ # },
2768
+ # ],
2769
+ # created_at: [
2770
+ # {
2771
+ # start: "NonEmptyString",
2772
+ # end: "NonEmptyString",
2773
+ # date_range: {
2774
+ # value: 1,
2775
+ # unit: "DAYS", # accepts DAYS
2776
+ # },
2777
+ # },
2778
+ # ],
2779
+ # updated_at: [
2780
+ # {
2781
+ # start: "NonEmptyString",
2782
+ # end: "NonEmptyString",
2783
+ # date_range: {
2784
+ # value: 1,
2785
+ # unit: "DAYS", # accepts DAYS
2786
+ # },
2787
+ # },
2788
+ # ],
2789
+ # severity_product: [
2790
+ # {
2791
+ # gte: 1.0,
2792
+ # lte: 1.0,
2793
+ # eq: 1.0,
2794
+ # },
2795
+ # ],
2796
+ # severity_normalized: [
2797
+ # {
2798
+ # gte: 1.0,
2799
+ # lte: 1.0,
2800
+ # eq: 1.0,
2801
+ # },
2802
+ # ],
2803
+ # severity_label: [
2804
+ # {
2805
+ # value: "NonEmptyString",
2806
+ # comparison: "EQUALS", # accepts EQUALS, CONTAINS, PREFIX
2807
+ # },
2808
+ # ],
2809
+ # confidence: [
2810
+ # {
2811
+ # gte: 1.0,
2812
+ # lte: 1.0,
2813
+ # eq: 1.0,
2814
+ # },
2815
+ # ],
2816
+ # criticality: [
2817
+ # {
2818
+ # gte: 1.0,
2819
+ # lte: 1.0,
2820
+ # eq: 1.0,
2821
+ # },
2822
+ # ],
2823
+ # title: [
2824
+ # {
2825
+ # value: "NonEmptyString",
2826
+ # comparison: "EQUALS", # accepts EQUALS, CONTAINS, PREFIX
2827
+ # },
2828
+ # ],
2829
+ # description: [
2830
+ # {
2831
+ # value: "NonEmptyString",
2832
+ # comparison: "EQUALS", # accepts EQUALS, CONTAINS, PREFIX
2833
+ # },
2834
+ # ],
2835
+ # recommendation_text: [
2836
+ # {
2837
+ # value: "NonEmptyString",
2838
+ # comparison: "EQUALS", # accepts EQUALS, CONTAINS, PREFIX
2839
+ # },
2840
+ # ],
2841
+ # source_url: [
2842
+ # {
2843
+ # value: "NonEmptyString",
2844
+ # comparison: "EQUALS", # accepts EQUALS, CONTAINS, PREFIX
2845
+ # },
2846
+ # ],
2847
+ # product_fields: [
2848
+ # {
2849
+ # key: "NonEmptyString",
2850
+ # value: "NonEmptyString",
2851
+ # comparison: "CONTAINS", # accepts CONTAINS
2852
+ # },
2853
+ # ],
2854
+ # product_name: [
2855
+ # {
2856
+ # value: "NonEmptyString",
2857
+ # comparison: "EQUALS", # accepts EQUALS, CONTAINS, PREFIX
2858
+ # },
2859
+ # ],
2860
+ # company_name: [
2861
+ # {
2862
+ # value: "NonEmptyString",
2863
+ # comparison: "EQUALS", # accepts EQUALS, CONTAINS, PREFIX
2864
+ # },
2865
+ # ],
2866
+ # user_defined_fields: [
2867
+ # {
2868
+ # key: "NonEmptyString",
2869
+ # value: "NonEmptyString",
2870
+ # comparison: "CONTAINS", # accepts CONTAINS
2871
+ # },
2872
+ # ],
2873
+ # malware_name: [
2874
+ # {
2875
+ # value: "NonEmptyString",
2876
+ # comparison: "EQUALS", # accepts EQUALS, CONTAINS, PREFIX
2877
+ # },
2878
+ # ],
2879
+ # malware_type: [
2880
+ # {
2881
+ # value: "NonEmptyString",
2882
+ # comparison: "EQUALS", # accepts EQUALS, CONTAINS, PREFIX
2883
+ # },
2884
+ # ],
2885
+ # malware_path: [
2886
+ # {
2887
+ # value: "NonEmptyString",
2888
+ # comparison: "EQUALS", # accepts EQUALS, CONTAINS, PREFIX
2889
+ # },
2890
+ # ],
2891
+ # malware_state: [
2892
+ # {
2893
+ # value: "NonEmptyString",
2894
+ # comparison: "EQUALS", # accepts EQUALS, CONTAINS, PREFIX
2895
+ # },
2896
+ # ],
2897
+ # network_direction: [
2898
+ # {
2899
+ # value: "NonEmptyString",
2900
+ # comparison: "EQUALS", # accepts EQUALS, CONTAINS, PREFIX
2901
+ # },
2902
+ # ],
2903
+ # network_protocol: [
2904
+ # {
2905
+ # value: "NonEmptyString",
2906
+ # comparison: "EQUALS", # accepts EQUALS, CONTAINS, PREFIX
2907
+ # },
2908
+ # ],
2909
+ # network_source_ip_v4: [
2910
+ # {
2911
+ # cidr: "NonEmptyString",
2912
+ # },
2913
+ # ],
2914
+ # network_source_ip_v6: [
2915
+ # {
2916
+ # cidr: "NonEmptyString",
2917
+ # },
2918
+ # ],
2919
+ # network_source_port: [
2920
+ # {
2921
+ # gte: 1.0,
2922
+ # lte: 1.0,
2923
+ # eq: 1.0,
2924
+ # },
2925
+ # ],
2926
+ # network_source_domain: [
2927
+ # {
2928
+ # value: "NonEmptyString",
2929
+ # comparison: "EQUALS", # accepts EQUALS, CONTAINS, PREFIX
2930
+ # },
2931
+ # ],
2932
+ # network_source_mac: [
2933
+ # {
2934
+ # value: "NonEmptyString",
2935
+ # comparison: "EQUALS", # accepts EQUALS, CONTAINS, PREFIX
2936
+ # },
2937
+ # ],
2938
+ # network_destination_ip_v4: [
2939
+ # {
2940
+ # cidr: "NonEmptyString",
2941
+ # },
2942
+ # ],
2943
+ # network_destination_ip_v6: [
2944
+ # {
2945
+ # cidr: "NonEmptyString",
2946
+ # },
2947
+ # ],
2948
+ # network_destination_port: [
2949
+ # {
2950
+ # gte: 1.0,
2951
+ # lte: 1.0,
2952
+ # eq: 1.0,
2953
+ # },
2954
+ # ],
2955
+ # network_destination_domain: [
2956
+ # {
2957
+ # value: "NonEmptyString",
2958
+ # comparison: "EQUALS", # accepts EQUALS, CONTAINS, PREFIX
2959
+ # },
2960
+ # ],
2961
+ # process_name: [
2962
+ # {
2963
+ # value: "NonEmptyString",
2964
+ # comparison: "EQUALS", # accepts EQUALS, CONTAINS, PREFIX
2965
+ # },
2966
+ # ],
2967
+ # process_path: [
2968
+ # {
2969
+ # value: "NonEmptyString",
2970
+ # comparison: "EQUALS", # accepts EQUALS, CONTAINS, PREFIX
2971
+ # },
2972
+ # ],
2973
+ # process_pid: [
2974
+ # {
2975
+ # gte: 1.0,
2976
+ # lte: 1.0,
2977
+ # eq: 1.0,
2978
+ # },
2979
+ # ],
2980
+ # process_parent_pid: [
2981
+ # {
2982
+ # gte: 1.0,
2983
+ # lte: 1.0,
2984
+ # eq: 1.0,
2985
+ # },
2986
+ # ],
2987
+ # process_launched_at: [
2988
+ # {
2989
+ # start: "NonEmptyString",
2990
+ # end: "NonEmptyString",
2991
+ # date_range: {
2992
+ # value: 1,
2993
+ # unit: "DAYS", # accepts DAYS
2994
+ # },
2995
+ # },
2996
+ # ],
2997
+ # process_terminated_at: [
2998
+ # {
2999
+ # start: "NonEmptyString",
3000
+ # end: "NonEmptyString",
3001
+ # date_range: {
3002
+ # value: 1,
3003
+ # unit: "DAYS", # accepts DAYS
3004
+ # },
3005
+ # },
3006
+ # ],
3007
+ # threat_intel_indicator_type: [
3008
+ # {
3009
+ # value: "NonEmptyString",
3010
+ # comparison: "EQUALS", # accepts EQUALS, CONTAINS, PREFIX
3011
+ # },
3012
+ # ],
3013
+ # threat_intel_indicator_value: [
3014
+ # {
3015
+ # value: "NonEmptyString",
3016
+ # comparison: "EQUALS", # accepts EQUALS, CONTAINS, PREFIX
3017
+ # },
3018
+ # ],
3019
+ # threat_intel_indicator_category: [
3020
+ # {
3021
+ # value: "NonEmptyString",
3022
+ # comparison: "EQUALS", # accepts EQUALS, CONTAINS, PREFIX
3023
+ # },
3024
+ # ],
3025
+ # threat_intel_indicator_last_observed_at: [
3026
+ # {
3027
+ # start: "NonEmptyString",
3028
+ # end: "NonEmptyString",
3029
+ # date_range: {
3030
+ # value: 1,
3031
+ # unit: "DAYS", # accepts DAYS
3032
+ # },
3033
+ # },
3034
+ # ],
3035
+ # threat_intel_indicator_source: [
3036
+ # {
3037
+ # value: "NonEmptyString",
3038
+ # comparison: "EQUALS", # accepts EQUALS, CONTAINS, PREFIX
3039
+ # },
3040
+ # ],
3041
+ # threat_intel_indicator_source_url: [
3042
+ # {
3043
+ # value: "NonEmptyString",
3044
+ # comparison: "EQUALS", # accepts EQUALS, CONTAINS, PREFIX
3045
+ # },
3046
+ # ],
3047
+ # resource_type: [
3048
+ # {
3049
+ # value: "NonEmptyString",
3050
+ # comparison: "EQUALS", # accepts EQUALS, CONTAINS, PREFIX
3051
+ # },
3052
+ # ],
3053
+ # resource_id: [
3054
+ # {
3055
+ # value: "NonEmptyString",
3056
+ # comparison: "EQUALS", # accepts EQUALS, CONTAINS, PREFIX
3057
+ # },
3058
+ # ],
3059
+ # resource_partition: [
3060
+ # {
3061
+ # value: "NonEmptyString",
3062
+ # comparison: "EQUALS", # accepts EQUALS, CONTAINS, PREFIX
3063
+ # },
3064
+ # ],
3065
+ # resource_region: [
3066
+ # {
3067
+ # value: "NonEmptyString",
3068
+ # comparison: "EQUALS", # accepts EQUALS, CONTAINS, PREFIX
3069
+ # },
3070
+ # ],
3071
+ # resource_tags: [
3072
+ # {
3073
+ # key: "NonEmptyString",
3074
+ # value: "NonEmptyString",
3075
+ # comparison: "CONTAINS", # accepts CONTAINS
3076
+ # },
3077
+ # ],
3078
+ # resource_aws_ec2_instance_type: [
3079
+ # {
3080
+ # value: "NonEmptyString",
3081
+ # comparison: "EQUALS", # accepts EQUALS, CONTAINS, PREFIX
3082
+ # },
3083
+ # ],
3084
+ # resource_aws_ec2_instance_image_id: [
3085
+ # {
3086
+ # value: "NonEmptyString",
3087
+ # comparison: "EQUALS", # accepts EQUALS, CONTAINS, PREFIX
3088
+ # },
3089
+ # ],
3090
+ # resource_aws_ec2_instance_ip_v4_addresses: [
3091
+ # {
3092
+ # cidr: "NonEmptyString",
3093
+ # },
3094
+ # ],
3095
+ # resource_aws_ec2_instance_ip_v6_addresses: [
3096
+ # {
3097
+ # cidr: "NonEmptyString",
3098
+ # },
3099
+ # ],
3100
+ # resource_aws_ec2_instance_key_name: [
3101
+ # {
3102
+ # value: "NonEmptyString",
3103
+ # comparison: "EQUALS", # accepts EQUALS, CONTAINS, PREFIX
3104
+ # },
3105
+ # ],
3106
+ # resource_aws_ec2_instance_iam_instance_profile_arn: [
3107
+ # {
3108
+ # value: "NonEmptyString",
3109
+ # comparison: "EQUALS", # accepts EQUALS, CONTAINS, PREFIX
3110
+ # },
3111
+ # ],
3112
+ # resource_aws_ec2_instance_vpc_id: [
3113
+ # {
3114
+ # value: "NonEmptyString",
3115
+ # comparison: "EQUALS", # accepts EQUALS, CONTAINS, PREFIX
3116
+ # },
3117
+ # ],
3118
+ # resource_aws_ec2_instance_subnet_id: [
3119
+ # {
3120
+ # value: "NonEmptyString",
3121
+ # comparison: "EQUALS", # accepts EQUALS, CONTAINS, PREFIX
3122
+ # },
3123
+ # ],
3124
+ # resource_aws_ec2_instance_launched_at: [
3125
+ # {
3126
+ # start: "NonEmptyString",
3127
+ # end: "NonEmptyString",
3128
+ # date_range: {
3129
+ # value: 1,
3130
+ # unit: "DAYS", # accepts DAYS
3131
+ # },
3132
+ # },
3133
+ # ],
3134
+ # resource_aws_s3_bucket_owner_id: [
3135
+ # {
3136
+ # value: "NonEmptyString",
3137
+ # comparison: "EQUALS", # accepts EQUALS, CONTAINS, PREFIX
3138
+ # },
3139
+ # ],
3140
+ # resource_aws_s3_bucket_owner_name: [
3141
+ # {
3142
+ # value: "NonEmptyString",
3143
+ # comparison: "EQUALS", # accepts EQUALS, CONTAINS, PREFIX
3144
+ # },
3145
+ # ],
3146
+ # resource_aws_iam_access_key_user_name: [
3147
+ # {
3148
+ # value: "NonEmptyString",
3149
+ # comparison: "EQUALS", # accepts EQUALS, CONTAINS, PREFIX
3150
+ # },
3151
+ # ],
3152
+ # resource_aws_iam_access_key_status: [
3153
+ # {
3154
+ # value: "NonEmptyString",
3155
+ # comparison: "EQUALS", # accepts EQUALS, CONTAINS, PREFIX
3156
+ # },
3157
+ # ],
3158
+ # resource_aws_iam_access_key_created_at: [
3159
+ # {
3160
+ # start: "NonEmptyString",
3161
+ # end: "NonEmptyString",
3162
+ # date_range: {
3163
+ # value: 1,
3164
+ # unit: "DAYS", # accepts DAYS
3165
+ # },
3166
+ # },
3167
+ # ],
3168
+ # resource_container_name: [
3169
+ # {
3170
+ # value: "NonEmptyString",
3171
+ # comparison: "EQUALS", # accepts EQUALS, CONTAINS, PREFIX
3172
+ # },
3173
+ # ],
3174
+ # resource_container_image_id: [
3175
+ # {
3176
+ # value: "NonEmptyString",
3177
+ # comparison: "EQUALS", # accepts EQUALS, CONTAINS, PREFIX
3178
+ # },
3179
+ # ],
3180
+ # resource_container_image_name: [
3181
+ # {
3182
+ # value: "NonEmptyString",
3183
+ # comparison: "EQUALS", # accepts EQUALS, CONTAINS, PREFIX
3184
+ # },
3185
+ # ],
3186
+ # resource_container_launched_at: [
3187
+ # {
3188
+ # start: "NonEmptyString",
3189
+ # end: "NonEmptyString",
3190
+ # date_range: {
3191
+ # value: 1,
3192
+ # unit: "DAYS", # accepts DAYS
3193
+ # },
3194
+ # },
3195
+ # ],
3196
+ # resource_details_other: [
3197
+ # {
3198
+ # key: "NonEmptyString",
3199
+ # value: "NonEmptyString",
3200
+ # comparison: "CONTAINS", # accepts CONTAINS
3201
+ # },
3202
+ # ],
3203
+ # compliance_status: [
3204
+ # {
3205
+ # value: "NonEmptyString",
3206
+ # comparison: "EQUALS", # accepts EQUALS, CONTAINS, PREFIX
3207
+ # },
3208
+ # ],
3209
+ # verification_state: [
3210
+ # {
3211
+ # value: "NonEmptyString",
3212
+ # comparison: "EQUALS", # accepts EQUALS, CONTAINS, PREFIX
3213
+ # },
3214
+ # ],
3215
+ # workflow_state: [
3216
+ # {
3217
+ # value: "NonEmptyString",
3218
+ # comparison: "EQUALS", # accepts EQUALS, CONTAINS, PREFIX
3219
+ # },
3220
+ # ],
3221
+ # record_state: [
3222
+ # {
3223
+ # value: "NonEmptyString",
3224
+ # comparison: "EQUALS", # accepts EQUALS, CONTAINS, PREFIX
3225
+ # },
3226
+ # ],
3227
+ # related_findings_product_arn: [
3228
+ # {
3229
+ # value: "NonEmptyString",
3230
+ # comparison: "EQUALS", # accepts EQUALS, CONTAINS, PREFIX
3231
+ # },
3232
+ # ],
3233
+ # related_findings_id: [
3234
+ # {
3235
+ # value: "NonEmptyString",
3236
+ # comparison: "EQUALS", # accepts EQUALS, CONTAINS, PREFIX
3237
+ # },
3238
+ # ],
3239
+ # note_text: [
3240
+ # {
3241
+ # value: "NonEmptyString",
3242
+ # comparison: "EQUALS", # accepts EQUALS, CONTAINS, PREFIX
3243
+ # },
3244
+ # ],
3245
+ # note_updated_at: [
3246
+ # {
3247
+ # start: "NonEmptyString",
3248
+ # end: "NonEmptyString",
3249
+ # date_range: {
3250
+ # value: 1,
3251
+ # unit: "DAYS", # accepts DAYS
3252
+ # },
3253
+ # },
3254
+ # ],
3255
+ # note_updated_by: [
3256
+ # {
3257
+ # value: "NonEmptyString",
3258
+ # comparison: "EQUALS", # accepts EQUALS, CONTAINS, PREFIX
3259
+ # },
3260
+ # ],
3261
+ # keyword: [
3262
+ # {
3263
+ # value: "NonEmptyString",
3264
+ # },
3265
+ # ],
3266
+ # },
3267
+ # note: {
3268
+ # text: "NonEmptyString", # required
3269
+ # updated_by: "NonEmptyString", # required
3270
+ # },
3271
+ # record_state: "ACTIVE", # accepts ACTIVE, ARCHIVED
3272
+ # })
3273
+ #
3274
+ # @see http://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/UpdateFindings AWS API Documentation
3275
+ #
3276
+ # @overload update_findings(params = {})
3277
+ # @param [Hash] params ({})
3278
+ def update_findings(params = {}, options = {})
3279
+ req = build_request(:update_findings, params)
3280
+ req.send_request(options)
3281
+ end
3282
+
3283
+ # Updates the AWS Security Hub insight specified by the insight ARN.
3284
+ #
3285
+ # @option params [required, String] :insight_arn
3286
+ # The ARN of the insight that you want to update.
3287
+ #
3288
+ # @option params [String] :name
3289
+ # The updated name for the insight.
3290
+ #
3291
+ # @option params [Types::AwsSecurityFindingFilters] :filters
3292
+ # The updated filters that define this insight.
3293
+ #
3294
+ # @option params [String] :group_by_attribute
3295
+ # The updated GroupBy attribute that defines this insight.
3296
+ #
3297
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
3298
+ #
3299
+ # @example Request syntax with placeholder values
3300
+ #
3301
+ # resp = client.update_insight({
3302
+ # insight_arn: "NonEmptyString", # required
3303
+ # name: "NonEmptyString",
3304
+ # filters: {
3305
+ # product_arn: [
3306
+ # {
3307
+ # value: "NonEmptyString",
3308
+ # comparison: "EQUALS", # accepts EQUALS, CONTAINS, PREFIX
3309
+ # },
3310
+ # ],
3311
+ # aws_account_id: [
3312
+ # {
3313
+ # value: "NonEmptyString",
3314
+ # comparison: "EQUALS", # accepts EQUALS, CONTAINS, PREFIX
3315
+ # },
3316
+ # ],
3317
+ # id: [
3318
+ # {
3319
+ # value: "NonEmptyString",
3320
+ # comparison: "EQUALS", # accepts EQUALS, CONTAINS, PREFIX
3321
+ # },
3322
+ # ],
3323
+ # generator_id: [
3324
+ # {
3325
+ # value: "NonEmptyString",
3326
+ # comparison: "EQUALS", # accepts EQUALS, CONTAINS, PREFIX
3327
+ # },
3328
+ # ],
3329
+ # type: [
3330
+ # {
3331
+ # value: "NonEmptyString",
3332
+ # comparison: "EQUALS", # accepts EQUALS, CONTAINS, PREFIX
3333
+ # },
3334
+ # ],
3335
+ # first_observed_at: [
3336
+ # {
3337
+ # start: "NonEmptyString",
3338
+ # end: "NonEmptyString",
3339
+ # date_range: {
3340
+ # value: 1,
3341
+ # unit: "DAYS", # accepts DAYS
3342
+ # },
3343
+ # },
3344
+ # ],
3345
+ # last_observed_at: [
3346
+ # {
3347
+ # start: "NonEmptyString",
3348
+ # end: "NonEmptyString",
3349
+ # date_range: {
3350
+ # value: 1,
3351
+ # unit: "DAYS", # accepts DAYS
3352
+ # },
3353
+ # },
3354
+ # ],
3355
+ # created_at: [
3356
+ # {
3357
+ # start: "NonEmptyString",
3358
+ # end: "NonEmptyString",
3359
+ # date_range: {
3360
+ # value: 1,
3361
+ # unit: "DAYS", # accepts DAYS
3362
+ # },
3363
+ # },
3364
+ # ],
3365
+ # updated_at: [
3366
+ # {
3367
+ # start: "NonEmptyString",
3368
+ # end: "NonEmptyString",
3369
+ # date_range: {
3370
+ # value: 1,
3371
+ # unit: "DAYS", # accepts DAYS
3372
+ # },
3373
+ # },
3374
+ # ],
3375
+ # severity_product: [
3376
+ # {
3377
+ # gte: 1.0,
3378
+ # lte: 1.0,
3379
+ # eq: 1.0,
3380
+ # },
3381
+ # ],
3382
+ # severity_normalized: [
3383
+ # {
3384
+ # gte: 1.0,
3385
+ # lte: 1.0,
3386
+ # eq: 1.0,
3387
+ # },
3388
+ # ],
3389
+ # severity_label: [
3390
+ # {
3391
+ # value: "NonEmptyString",
3392
+ # comparison: "EQUALS", # accepts EQUALS, CONTAINS, PREFIX
3393
+ # },
3394
+ # ],
3395
+ # confidence: [
3396
+ # {
3397
+ # gte: 1.0,
3398
+ # lte: 1.0,
3399
+ # eq: 1.0,
3400
+ # },
3401
+ # ],
3402
+ # criticality: [
3403
+ # {
3404
+ # gte: 1.0,
3405
+ # lte: 1.0,
3406
+ # eq: 1.0,
3407
+ # },
3408
+ # ],
3409
+ # title: [
3410
+ # {
3411
+ # value: "NonEmptyString",
3412
+ # comparison: "EQUALS", # accepts EQUALS, CONTAINS, PREFIX
3413
+ # },
3414
+ # ],
3415
+ # description: [
3416
+ # {
3417
+ # value: "NonEmptyString",
3418
+ # comparison: "EQUALS", # accepts EQUALS, CONTAINS, PREFIX
3419
+ # },
3420
+ # ],
3421
+ # recommendation_text: [
3422
+ # {
3423
+ # value: "NonEmptyString",
3424
+ # comparison: "EQUALS", # accepts EQUALS, CONTAINS, PREFIX
3425
+ # },
3426
+ # ],
3427
+ # source_url: [
3428
+ # {
3429
+ # value: "NonEmptyString",
3430
+ # comparison: "EQUALS", # accepts EQUALS, CONTAINS, PREFIX
3431
+ # },
3432
+ # ],
3433
+ # product_fields: [
3434
+ # {
3435
+ # key: "NonEmptyString",
3436
+ # value: "NonEmptyString",
3437
+ # comparison: "CONTAINS", # accepts CONTAINS
3438
+ # },
3439
+ # ],
3440
+ # product_name: [
3441
+ # {
3442
+ # value: "NonEmptyString",
3443
+ # comparison: "EQUALS", # accepts EQUALS, CONTAINS, PREFIX
3444
+ # },
3445
+ # ],
3446
+ # company_name: [
3447
+ # {
3448
+ # value: "NonEmptyString",
3449
+ # comparison: "EQUALS", # accepts EQUALS, CONTAINS, PREFIX
3450
+ # },
3451
+ # ],
3452
+ # user_defined_fields: [
3453
+ # {
3454
+ # key: "NonEmptyString",
3455
+ # value: "NonEmptyString",
3456
+ # comparison: "CONTAINS", # accepts CONTAINS
3457
+ # },
3458
+ # ],
3459
+ # malware_name: [
3460
+ # {
3461
+ # value: "NonEmptyString",
3462
+ # comparison: "EQUALS", # accepts EQUALS, CONTAINS, PREFIX
3463
+ # },
3464
+ # ],
3465
+ # malware_type: [
3466
+ # {
3467
+ # value: "NonEmptyString",
3468
+ # comparison: "EQUALS", # accepts EQUALS, CONTAINS, PREFIX
3469
+ # },
3470
+ # ],
3471
+ # malware_path: [
3472
+ # {
3473
+ # value: "NonEmptyString",
3474
+ # comparison: "EQUALS", # accepts EQUALS, CONTAINS, PREFIX
3475
+ # },
3476
+ # ],
3477
+ # malware_state: [
3478
+ # {
3479
+ # value: "NonEmptyString",
3480
+ # comparison: "EQUALS", # accepts EQUALS, CONTAINS, PREFIX
3481
+ # },
3482
+ # ],
3483
+ # network_direction: [
3484
+ # {
3485
+ # value: "NonEmptyString",
3486
+ # comparison: "EQUALS", # accepts EQUALS, CONTAINS, PREFIX
3487
+ # },
3488
+ # ],
3489
+ # network_protocol: [
3490
+ # {
3491
+ # value: "NonEmptyString",
3492
+ # comparison: "EQUALS", # accepts EQUALS, CONTAINS, PREFIX
3493
+ # },
3494
+ # ],
3495
+ # network_source_ip_v4: [
3496
+ # {
3497
+ # cidr: "NonEmptyString",
3498
+ # },
3499
+ # ],
3500
+ # network_source_ip_v6: [
3501
+ # {
3502
+ # cidr: "NonEmptyString",
3503
+ # },
3504
+ # ],
3505
+ # network_source_port: [
3506
+ # {
3507
+ # gte: 1.0,
3508
+ # lte: 1.0,
3509
+ # eq: 1.0,
3510
+ # },
3511
+ # ],
3512
+ # network_source_domain: [
3513
+ # {
3514
+ # value: "NonEmptyString",
3515
+ # comparison: "EQUALS", # accepts EQUALS, CONTAINS, PREFIX
3516
+ # },
3517
+ # ],
3518
+ # network_source_mac: [
3519
+ # {
3520
+ # value: "NonEmptyString",
3521
+ # comparison: "EQUALS", # accepts EQUALS, CONTAINS, PREFIX
3522
+ # },
3523
+ # ],
3524
+ # network_destination_ip_v4: [
3525
+ # {
3526
+ # cidr: "NonEmptyString",
3527
+ # },
3528
+ # ],
3529
+ # network_destination_ip_v6: [
3530
+ # {
3531
+ # cidr: "NonEmptyString",
3532
+ # },
3533
+ # ],
3534
+ # network_destination_port: [
3535
+ # {
3536
+ # gte: 1.0,
3537
+ # lte: 1.0,
3538
+ # eq: 1.0,
3539
+ # },
3540
+ # ],
3541
+ # network_destination_domain: [
3542
+ # {
3543
+ # value: "NonEmptyString",
3544
+ # comparison: "EQUALS", # accepts EQUALS, CONTAINS, PREFIX
3545
+ # },
3546
+ # ],
3547
+ # process_name: [
3548
+ # {
3549
+ # value: "NonEmptyString",
3550
+ # comparison: "EQUALS", # accepts EQUALS, CONTAINS, PREFIX
3551
+ # },
3552
+ # ],
3553
+ # process_path: [
3554
+ # {
3555
+ # value: "NonEmptyString",
3556
+ # comparison: "EQUALS", # accepts EQUALS, CONTAINS, PREFIX
3557
+ # },
3558
+ # ],
3559
+ # process_pid: [
3560
+ # {
3561
+ # gte: 1.0,
3562
+ # lte: 1.0,
3563
+ # eq: 1.0,
3564
+ # },
3565
+ # ],
3566
+ # process_parent_pid: [
3567
+ # {
3568
+ # gte: 1.0,
3569
+ # lte: 1.0,
3570
+ # eq: 1.0,
3571
+ # },
3572
+ # ],
3573
+ # process_launched_at: [
3574
+ # {
3575
+ # start: "NonEmptyString",
3576
+ # end: "NonEmptyString",
3577
+ # date_range: {
3578
+ # value: 1,
3579
+ # unit: "DAYS", # accepts DAYS
3580
+ # },
3581
+ # },
3582
+ # ],
3583
+ # process_terminated_at: [
3584
+ # {
3585
+ # start: "NonEmptyString",
3586
+ # end: "NonEmptyString",
3587
+ # date_range: {
3588
+ # value: 1,
3589
+ # unit: "DAYS", # accepts DAYS
3590
+ # },
3591
+ # },
3592
+ # ],
3593
+ # threat_intel_indicator_type: [
3594
+ # {
3595
+ # value: "NonEmptyString",
3596
+ # comparison: "EQUALS", # accepts EQUALS, CONTAINS, PREFIX
3597
+ # },
3598
+ # ],
3599
+ # threat_intel_indicator_value: [
3600
+ # {
3601
+ # value: "NonEmptyString",
3602
+ # comparison: "EQUALS", # accepts EQUALS, CONTAINS, PREFIX
3603
+ # },
3604
+ # ],
3605
+ # threat_intel_indicator_category: [
3606
+ # {
3607
+ # value: "NonEmptyString",
3608
+ # comparison: "EQUALS", # accepts EQUALS, CONTAINS, PREFIX
3609
+ # },
3610
+ # ],
3611
+ # threat_intel_indicator_last_observed_at: [
3612
+ # {
3613
+ # start: "NonEmptyString",
3614
+ # end: "NonEmptyString",
3615
+ # date_range: {
3616
+ # value: 1,
3617
+ # unit: "DAYS", # accepts DAYS
3618
+ # },
3619
+ # },
3620
+ # ],
3621
+ # threat_intel_indicator_source: [
3622
+ # {
3623
+ # value: "NonEmptyString",
3624
+ # comparison: "EQUALS", # accepts EQUALS, CONTAINS, PREFIX
3625
+ # },
3626
+ # ],
3627
+ # threat_intel_indicator_source_url: [
3628
+ # {
3629
+ # value: "NonEmptyString",
3630
+ # comparison: "EQUALS", # accepts EQUALS, CONTAINS, PREFIX
3631
+ # },
3632
+ # ],
3633
+ # resource_type: [
3634
+ # {
3635
+ # value: "NonEmptyString",
3636
+ # comparison: "EQUALS", # accepts EQUALS, CONTAINS, PREFIX
3637
+ # },
3638
+ # ],
3639
+ # resource_id: [
3640
+ # {
3641
+ # value: "NonEmptyString",
3642
+ # comparison: "EQUALS", # accepts EQUALS, CONTAINS, PREFIX
3643
+ # },
3644
+ # ],
3645
+ # resource_partition: [
3646
+ # {
3647
+ # value: "NonEmptyString",
3648
+ # comparison: "EQUALS", # accepts EQUALS, CONTAINS, PREFIX
3649
+ # },
3650
+ # ],
3651
+ # resource_region: [
3652
+ # {
3653
+ # value: "NonEmptyString",
3654
+ # comparison: "EQUALS", # accepts EQUALS, CONTAINS, PREFIX
3655
+ # },
3656
+ # ],
3657
+ # resource_tags: [
3658
+ # {
3659
+ # key: "NonEmptyString",
3660
+ # value: "NonEmptyString",
3661
+ # comparison: "CONTAINS", # accepts CONTAINS
3662
+ # },
3663
+ # ],
3664
+ # resource_aws_ec2_instance_type: [
3665
+ # {
3666
+ # value: "NonEmptyString",
3667
+ # comparison: "EQUALS", # accepts EQUALS, CONTAINS, PREFIX
3668
+ # },
3669
+ # ],
3670
+ # resource_aws_ec2_instance_image_id: [
3671
+ # {
3672
+ # value: "NonEmptyString",
3673
+ # comparison: "EQUALS", # accepts EQUALS, CONTAINS, PREFIX
3674
+ # },
3675
+ # ],
3676
+ # resource_aws_ec2_instance_ip_v4_addresses: [
3677
+ # {
3678
+ # cidr: "NonEmptyString",
3679
+ # },
3680
+ # ],
3681
+ # resource_aws_ec2_instance_ip_v6_addresses: [
3682
+ # {
3683
+ # cidr: "NonEmptyString",
3684
+ # },
3685
+ # ],
3686
+ # resource_aws_ec2_instance_key_name: [
3687
+ # {
3688
+ # value: "NonEmptyString",
3689
+ # comparison: "EQUALS", # accepts EQUALS, CONTAINS, PREFIX
3690
+ # },
3691
+ # ],
3692
+ # resource_aws_ec2_instance_iam_instance_profile_arn: [
3693
+ # {
3694
+ # value: "NonEmptyString",
3695
+ # comparison: "EQUALS", # accepts EQUALS, CONTAINS, PREFIX
3696
+ # },
3697
+ # ],
3698
+ # resource_aws_ec2_instance_vpc_id: [
3699
+ # {
3700
+ # value: "NonEmptyString",
3701
+ # comparison: "EQUALS", # accepts EQUALS, CONTAINS, PREFIX
3702
+ # },
3703
+ # ],
3704
+ # resource_aws_ec2_instance_subnet_id: [
3705
+ # {
3706
+ # value: "NonEmptyString",
3707
+ # comparison: "EQUALS", # accepts EQUALS, CONTAINS, PREFIX
3708
+ # },
3709
+ # ],
3710
+ # resource_aws_ec2_instance_launched_at: [
3711
+ # {
3712
+ # start: "NonEmptyString",
3713
+ # end: "NonEmptyString",
3714
+ # date_range: {
3715
+ # value: 1,
3716
+ # unit: "DAYS", # accepts DAYS
3717
+ # },
3718
+ # },
3719
+ # ],
3720
+ # resource_aws_s3_bucket_owner_id: [
3721
+ # {
3722
+ # value: "NonEmptyString",
3723
+ # comparison: "EQUALS", # accepts EQUALS, CONTAINS, PREFIX
3724
+ # },
3725
+ # ],
3726
+ # resource_aws_s3_bucket_owner_name: [
3727
+ # {
3728
+ # value: "NonEmptyString",
3729
+ # comparison: "EQUALS", # accepts EQUALS, CONTAINS, PREFIX
3730
+ # },
3731
+ # ],
3732
+ # resource_aws_iam_access_key_user_name: [
3733
+ # {
3734
+ # value: "NonEmptyString",
3735
+ # comparison: "EQUALS", # accepts EQUALS, CONTAINS, PREFIX
3736
+ # },
3737
+ # ],
3738
+ # resource_aws_iam_access_key_status: [
3739
+ # {
3740
+ # value: "NonEmptyString",
3741
+ # comparison: "EQUALS", # accepts EQUALS, CONTAINS, PREFIX
3742
+ # },
3743
+ # ],
3744
+ # resource_aws_iam_access_key_created_at: [
3745
+ # {
3746
+ # start: "NonEmptyString",
3747
+ # end: "NonEmptyString",
3748
+ # date_range: {
3749
+ # value: 1,
3750
+ # unit: "DAYS", # accepts DAYS
3751
+ # },
3752
+ # },
3753
+ # ],
3754
+ # resource_container_name: [
3755
+ # {
3756
+ # value: "NonEmptyString",
3757
+ # comparison: "EQUALS", # accepts EQUALS, CONTAINS, PREFIX
3758
+ # },
3759
+ # ],
3760
+ # resource_container_image_id: [
3761
+ # {
3762
+ # value: "NonEmptyString",
3763
+ # comparison: "EQUALS", # accepts EQUALS, CONTAINS, PREFIX
3764
+ # },
3765
+ # ],
3766
+ # resource_container_image_name: [
3767
+ # {
3768
+ # value: "NonEmptyString",
3769
+ # comparison: "EQUALS", # accepts EQUALS, CONTAINS, PREFIX
3770
+ # },
3771
+ # ],
3772
+ # resource_container_launched_at: [
3773
+ # {
3774
+ # start: "NonEmptyString",
3775
+ # end: "NonEmptyString",
3776
+ # date_range: {
3777
+ # value: 1,
3778
+ # unit: "DAYS", # accepts DAYS
3779
+ # },
3780
+ # },
3781
+ # ],
3782
+ # resource_details_other: [
3783
+ # {
3784
+ # key: "NonEmptyString",
3785
+ # value: "NonEmptyString",
3786
+ # comparison: "CONTAINS", # accepts CONTAINS
3787
+ # },
3788
+ # ],
3789
+ # compliance_status: [
3790
+ # {
3791
+ # value: "NonEmptyString",
3792
+ # comparison: "EQUALS", # accepts EQUALS, CONTAINS, PREFIX
3793
+ # },
3794
+ # ],
3795
+ # verification_state: [
3796
+ # {
3797
+ # value: "NonEmptyString",
3798
+ # comparison: "EQUALS", # accepts EQUALS, CONTAINS, PREFIX
3799
+ # },
3800
+ # ],
3801
+ # workflow_state: [
3802
+ # {
3803
+ # value: "NonEmptyString",
3804
+ # comparison: "EQUALS", # accepts EQUALS, CONTAINS, PREFIX
3805
+ # },
3806
+ # ],
3807
+ # record_state: [
3808
+ # {
3809
+ # value: "NonEmptyString",
3810
+ # comparison: "EQUALS", # accepts EQUALS, CONTAINS, PREFIX
3811
+ # },
3812
+ # ],
3813
+ # related_findings_product_arn: [
3814
+ # {
3815
+ # value: "NonEmptyString",
3816
+ # comparison: "EQUALS", # accepts EQUALS, CONTAINS, PREFIX
3817
+ # },
3818
+ # ],
3819
+ # related_findings_id: [
3820
+ # {
3821
+ # value: "NonEmptyString",
3822
+ # comparison: "EQUALS", # accepts EQUALS, CONTAINS, PREFIX
3823
+ # },
3824
+ # ],
3825
+ # note_text: [
3826
+ # {
3827
+ # value: "NonEmptyString",
3828
+ # comparison: "EQUALS", # accepts EQUALS, CONTAINS, PREFIX
3829
+ # },
3830
+ # ],
3831
+ # note_updated_at: [
3832
+ # {
3833
+ # start: "NonEmptyString",
3834
+ # end: "NonEmptyString",
3835
+ # date_range: {
3836
+ # value: 1,
3837
+ # unit: "DAYS", # accepts DAYS
3838
+ # },
3839
+ # },
3840
+ # ],
3841
+ # note_updated_by: [
3842
+ # {
3843
+ # value: "NonEmptyString",
3844
+ # comparison: "EQUALS", # accepts EQUALS, CONTAINS, PREFIX
3845
+ # },
3846
+ # ],
3847
+ # keyword: [
3848
+ # {
3849
+ # value: "NonEmptyString",
3850
+ # },
3851
+ # ],
3852
+ # },
3853
+ # group_by_attribute: "NonEmptyString",
3854
+ # })
3855
+ #
3856
+ # @see http://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/UpdateInsight AWS API Documentation
3857
+ #
3858
+ # @overload update_insight(params = {})
3859
+ # @param [Hash] params ({})
3860
+ def update_insight(params = {}, options = {})
3861
+ req = build_request(:update_insight, params)
3862
+ req.send_request(options)
3863
+ end
3864
+
3865
+ # @!endgroup
3866
+
3867
+ # @param params ({})
3868
+ # @api private
3869
+ def build_request(operation_name, params = {})
3870
+ handlers = @handlers.for(operation_name)
3871
+ context = Seahorse::Client::RequestContext.new(
3872
+ operation_name: operation_name,
3873
+ operation: config.api.operation(operation_name),
3874
+ client: self,
3875
+ params: params,
3876
+ config: config)
3877
+ context[:gem_name] = 'aws-sdk-securityhub'
3878
+ context[:gem_version] = '1.0.0'
3879
+ Seahorse::Client::Request.new(handlers, context)
3880
+ end
3881
+
3882
+ # @api private
3883
+ # @deprecated
3884
+ def waiter_names
3885
+ []
3886
+ end
3887
+
3888
+ class << self
3889
+
3890
+ # @api private
3891
+ attr_reader :identifier
3892
+
3893
+ # @api private
3894
+ def errors_module
3895
+ Errors
3896
+ end
3897
+
3898
+ end
3899
+ end
3900
+ end