aws-sdk-securityir 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 +7 -0
- data/CHANGELOG.md +8 -0
- data/LICENSE.txt +202 -0
- data/VERSION +1 -0
- data/lib/aws-sdk-securityir/client.rb +2093 -0
- data/lib/aws-sdk-securityir/client_api.rb +951 -0
- data/lib/aws-sdk-securityir/customizations.rb +0 -0
- data/lib/aws-sdk-securityir/endpoint_parameters.rb +59 -0
- data/lib/aws-sdk-securityir/endpoint_provider.rb +35 -0
- data/lib/aws-sdk-securityir/endpoints.rb +20 -0
- data/lib/aws-sdk-securityir/errors.rb +258 -0
- data/lib/aws-sdk-securityir/plugins/endpoints.rb +77 -0
- data/lib/aws-sdk-securityir/resource.rb +26 -0
- data/lib/aws-sdk-securityir/types.rb +1558 -0
- data/lib/aws-sdk-securityir/waiters.rb +15 -0
- data/lib/aws-sdk-securityir.rb +62 -0
- data/sig/client.rbs +456 -0
- data/sig/errors.rbs +55 -0
- data/sig/resource.rbs +82 -0
- data/sig/types.rbs +474 -0
- data/sig/waiters.rbs +13 -0
- metadata +100 -0
@@ -0,0 +1,2093 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
# WARNING ABOUT GENERATED CODE
|
4
|
+
#
|
5
|
+
# This file is generated. See the contributing guide for more information:
|
6
|
+
# https://github.com/aws/aws-sdk-ruby/blob/version-3/CONTRIBUTING.md
|
7
|
+
#
|
8
|
+
# WARNING ABOUT GENERATED CODE
|
9
|
+
|
10
|
+
require 'seahorse/client/plugins/content_length.rb'
|
11
|
+
require 'aws-sdk-core/plugins/credentials_configuration.rb'
|
12
|
+
require 'aws-sdk-core/plugins/logging.rb'
|
13
|
+
require 'aws-sdk-core/plugins/param_converter.rb'
|
14
|
+
require 'aws-sdk-core/plugins/param_validator.rb'
|
15
|
+
require 'aws-sdk-core/plugins/user_agent.rb'
|
16
|
+
require 'aws-sdk-core/plugins/helpful_socket_errors.rb'
|
17
|
+
require 'aws-sdk-core/plugins/retry_errors.rb'
|
18
|
+
require 'aws-sdk-core/plugins/global_configuration.rb'
|
19
|
+
require 'aws-sdk-core/plugins/regional_endpoint.rb'
|
20
|
+
require 'aws-sdk-core/plugins/endpoint_discovery.rb'
|
21
|
+
require 'aws-sdk-core/plugins/endpoint_pattern.rb'
|
22
|
+
require 'aws-sdk-core/plugins/response_paging.rb'
|
23
|
+
require 'aws-sdk-core/plugins/stub_responses.rb'
|
24
|
+
require 'aws-sdk-core/plugins/idempotency_token.rb'
|
25
|
+
require 'aws-sdk-core/plugins/invocation_id.rb'
|
26
|
+
require 'aws-sdk-core/plugins/jsonvalue_converter.rb'
|
27
|
+
require 'aws-sdk-core/plugins/client_metrics_plugin.rb'
|
28
|
+
require 'aws-sdk-core/plugins/client_metrics_send_plugin.rb'
|
29
|
+
require 'aws-sdk-core/plugins/transfer_encoding.rb'
|
30
|
+
require 'aws-sdk-core/plugins/http_checksum.rb'
|
31
|
+
require 'aws-sdk-core/plugins/checksum_algorithm.rb'
|
32
|
+
require 'aws-sdk-core/plugins/request_compression.rb'
|
33
|
+
require 'aws-sdk-core/plugins/defaults_mode.rb'
|
34
|
+
require 'aws-sdk-core/plugins/recursion_detection.rb'
|
35
|
+
require 'aws-sdk-core/plugins/telemetry.rb'
|
36
|
+
require 'aws-sdk-core/plugins/sign.rb'
|
37
|
+
require 'aws-sdk-core/plugins/protocols/rest_json.rb'
|
38
|
+
|
39
|
+
module Aws::SecurityIR
|
40
|
+
# An API client for SecurityIR. To construct a client, you need to configure a `:region` and `:credentials`.
|
41
|
+
#
|
42
|
+
# client = Aws::SecurityIR::Client.new(
|
43
|
+
# region: region_name,
|
44
|
+
# credentials: credentials,
|
45
|
+
# # ...
|
46
|
+
# )
|
47
|
+
#
|
48
|
+
# For details on configuring region and credentials see
|
49
|
+
# the [developer guide](/sdk-for-ruby/v3/developer-guide/setup-config.html).
|
50
|
+
#
|
51
|
+
# See {#initialize} for a full list of supported configuration options.
|
52
|
+
class Client < Seahorse::Client::Base
|
53
|
+
|
54
|
+
include Aws::ClientStubs
|
55
|
+
|
56
|
+
@identifier = :securityir
|
57
|
+
|
58
|
+
set_api(ClientApi::API)
|
59
|
+
|
60
|
+
add_plugin(Seahorse::Client::Plugins::ContentLength)
|
61
|
+
add_plugin(Aws::Plugins::CredentialsConfiguration)
|
62
|
+
add_plugin(Aws::Plugins::Logging)
|
63
|
+
add_plugin(Aws::Plugins::ParamConverter)
|
64
|
+
add_plugin(Aws::Plugins::ParamValidator)
|
65
|
+
add_plugin(Aws::Plugins::UserAgent)
|
66
|
+
add_plugin(Aws::Plugins::HelpfulSocketErrors)
|
67
|
+
add_plugin(Aws::Plugins::RetryErrors)
|
68
|
+
add_plugin(Aws::Plugins::GlobalConfiguration)
|
69
|
+
add_plugin(Aws::Plugins::RegionalEndpoint)
|
70
|
+
add_plugin(Aws::Plugins::EndpointDiscovery)
|
71
|
+
add_plugin(Aws::Plugins::EndpointPattern)
|
72
|
+
add_plugin(Aws::Plugins::ResponsePaging)
|
73
|
+
add_plugin(Aws::Plugins::StubResponses)
|
74
|
+
add_plugin(Aws::Plugins::IdempotencyToken)
|
75
|
+
add_plugin(Aws::Plugins::InvocationId)
|
76
|
+
add_plugin(Aws::Plugins::JsonvalueConverter)
|
77
|
+
add_plugin(Aws::Plugins::ClientMetricsPlugin)
|
78
|
+
add_plugin(Aws::Plugins::ClientMetricsSendPlugin)
|
79
|
+
add_plugin(Aws::Plugins::TransferEncoding)
|
80
|
+
add_plugin(Aws::Plugins::HttpChecksum)
|
81
|
+
add_plugin(Aws::Plugins::ChecksumAlgorithm)
|
82
|
+
add_plugin(Aws::Plugins::RequestCompression)
|
83
|
+
add_plugin(Aws::Plugins::DefaultsMode)
|
84
|
+
add_plugin(Aws::Plugins::RecursionDetection)
|
85
|
+
add_plugin(Aws::Plugins::Telemetry)
|
86
|
+
add_plugin(Aws::Plugins::Sign)
|
87
|
+
add_plugin(Aws::Plugins::Protocols::RestJson)
|
88
|
+
add_plugin(Aws::SecurityIR::Plugins::Endpoints)
|
89
|
+
|
90
|
+
# @overload initialize(options)
|
91
|
+
# @param [Hash] options
|
92
|
+
#
|
93
|
+
# @option options [Array<Seahorse::Client::Plugin>] :plugins ([]])
|
94
|
+
# A list of plugins to apply to the client. Each plugin is either a
|
95
|
+
# class name or an instance of a plugin class.
|
96
|
+
#
|
97
|
+
# @option options [required, Aws::CredentialProvider] :credentials
|
98
|
+
# Your AWS credentials. This can be an instance of any one of the
|
99
|
+
# following classes:
|
100
|
+
#
|
101
|
+
# * `Aws::Credentials` - Used for configuring static, non-refreshing
|
102
|
+
# credentials.
|
103
|
+
#
|
104
|
+
# * `Aws::SharedCredentials` - Used for loading static credentials from a
|
105
|
+
# shared file, such as `~/.aws/config`.
|
106
|
+
#
|
107
|
+
# * `Aws::AssumeRoleCredentials` - Used when you need to assume a role.
|
108
|
+
#
|
109
|
+
# * `Aws::AssumeRoleWebIdentityCredentials` - Used when you need to
|
110
|
+
# assume a role after providing credentials via the web.
|
111
|
+
#
|
112
|
+
# * `Aws::SSOCredentials` - Used for loading credentials from AWS SSO using an
|
113
|
+
# access token generated from `aws login`.
|
114
|
+
#
|
115
|
+
# * `Aws::ProcessCredentials` - Used for loading credentials from a
|
116
|
+
# process that outputs to stdout.
|
117
|
+
#
|
118
|
+
# * `Aws::InstanceProfileCredentials` - Used for loading credentials
|
119
|
+
# from an EC2 IMDS on an EC2 instance.
|
120
|
+
#
|
121
|
+
# * `Aws::ECSCredentials` - Used for loading credentials from
|
122
|
+
# instances running in ECS.
|
123
|
+
#
|
124
|
+
# * `Aws::CognitoIdentityCredentials` - Used for loading credentials
|
125
|
+
# from the Cognito Identity service.
|
126
|
+
#
|
127
|
+
# When `:credentials` are not configured directly, the following
|
128
|
+
# locations will be searched for credentials:
|
129
|
+
#
|
130
|
+
# * `Aws.config[:credentials]`
|
131
|
+
# * The `:access_key_id`, `:secret_access_key`, `:session_token`, and
|
132
|
+
# `:account_id` options.
|
133
|
+
# * ENV['AWS_ACCESS_KEY_ID'], ENV['AWS_SECRET_ACCESS_KEY'],
|
134
|
+
# ENV['AWS_SESSION_TOKEN'], and ENV['AWS_ACCOUNT_ID']
|
135
|
+
# * `~/.aws/credentials`
|
136
|
+
# * `~/.aws/config`
|
137
|
+
# * EC2/ECS IMDS instance profile - When used by default, the timeouts
|
138
|
+
# are very aggressive. Construct and pass an instance of
|
139
|
+
# `Aws::InstanceProfileCredentials` or `Aws::ECSCredentials` to
|
140
|
+
# enable retries and extended timeouts. Instance profile credential
|
141
|
+
# fetching can be disabled by setting ENV['AWS_EC2_METADATA_DISABLED']
|
142
|
+
# to true.
|
143
|
+
#
|
144
|
+
# @option options [required, String] :region
|
145
|
+
# The AWS region to connect to. The configured `:region` is
|
146
|
+
# used to determine the service `:endpoint`. When not passed,
|
147
|
+
# a default `:region` is searched for in the following locations:
|
148
|
+
#
|
149
|
+
# * `Aws.config[:region]`
|
150
|
+
# * `ENV['AWS_REGION']`
|
151
|
+
# * `ENV['AMAZON_REGION']`
|
152
|
+
# * `ENV['AWS_DEFAULT_REGION']`
|
153
|
+
# * `~/.aws/credentials`
|
154
|
+
# * `~/.aws/config`
|
155
|
+
#
|
156
|
+
# @option options [String] :access_key_id
|
157
|
+
#
|
158
|
+
# @option options [String] :account_id
|
159
|
+
#
|
160
|
+
# @option options [Boolean] :active_endpoint_cache (false)
|
161
|
+
# When set to `true`, a thread polling for endpoints will be running in
|
162
|
+
# the background every 60 secs (default). Defaults to `false`.
|
163
|
+
#
|
164
|
+
# @option options [Boolean] :adaptive_retry_wait_to_fill (true)
|
165
|
+
# Used only in `adaptive` retry mode. When true, the request will sleep
|
166
|
+
# until there is sufficent client side capacity to retry the request.
|
167
|
+
# When false, the request will raise a `RetryCapacityNotAvailableError` and will
|
168
|
+
# not retry instead of sleeping.
|
169
|
+
#
|
170
|
+
# @option options [Boolean] :client_side_monitoring (false)
|
171
|
+
# When `true`, client-side metrics will be collected for all API requests from
|
172
|
+
# this client.
|
173
|
+
#
|
174
|
+
# @option options [String] :client_side_monitoring_client_id ("")
|
175
|
+
# Allows you to provide an identifier for this client which will be attached to
|
176
|
+
# all generated client side metrics. Defaults to an empty string.
|
177
|
+
#
|
178
|
+
# @option options [String] :client_side_monitoring_host ("127.0.0.1")
|
179
|
+
# Allows you to specify the DNS hostname or IPv4 or IPv6 address that the client
|
180
|
+
# side monitoring agent is running on, where client metrics will be published via UDP.
|
181
|
+
#
|
182
|
+
# @option options [Integer] :client_side_monitoring_port (31000)
|
183
|
+
# Required for publishing client metrics. The port that the client side monitoring
|
184
|
+
# agent is running on, where client metrics will be published via UDP.
|
185
|
+
#
|
186
|
+
# @option options [Aws::ClientSideMonitoring::Publisher] :client_side_monitoring_publisher (Aws::ClientSideMonitoring::Publisher)
|
187
|
+
# Allows you to provide a custom client-side monitoring publisher class. By default,
|
188
|
+
# will use the Client Side Monitoring Agent Publisher.
|
189
|
+
#
|
190
|
+
# @option options [Boolean] :convert_params (true)
|
191
|
+
# When `true`, an attempt is made to coerce request parameters into
|
192
|
+
# the required types.
|
193
|
+
#
|
194
|
+
# @option options [Boolean] :correct_clock_skew (true)
|
195
|
+
# Used only in `standard` and adaptive retry modes. Specifies whether to apply
|
196
|
+
# a clock skew correction and retry requests with skewed client clocks.
|
197
|
+
#
|
198
|
+
# @option options [String] :defaults_mode ("legacy")
|
199
|
+
# See {Aws::DefaultsModeConfiguration} for a list of the
|
200
|
+
# accepted modes and the configuration defaults that are included.
|
201
|
+
#
|
202
|
+
# @option options [Boolean] :disable_host_prefix_injection (false)
|
203
|
+
# Set to true to disable SDK automatically adding host prefix
|
204
|
+
# to default service endpoint when available.
|
205
|
+
#
|
206
|
+
# @option options [Boolean] :disable_request_compression (false)
|
207
|
+
# When set to 'true' the request body will not be compressed
|
208
|
+
# for supported operations.
|
209
|
+
#
|
210
|
+
# @option options [String, URI::HTTPS, URI::HTTP] :endpoint
|
211
|
+
# Normally you should not configure the `:endpoint` option
|
212
|
+
# directly. This is normally constructed from the `:region`
|
213
|
+
# option. Configuring `:endpoint` is normally reserved for
|
214
|
+
# connecting to test or custom endpoints. The endpoint should
|
215
|
+
# be a URI formatted like:
|
216
|
+
#
|
217
|
+
# 'http://example.com'
|
218
|
+
# 'https://example.com'
|
219
|
+
# 'http://example.com:123'
|
220
|
+
#
|
221
|
+
# @option options [Integer] :endpoint_cache_max_entries (1000)
|
222
|
+
# Used for the maximum size limit of the LRU cache storing endpoints data
|
223
|
+
# for endpoint discovery enabled operations. Defaults to 1000.
|
224
|
+
#
|
225
|
+
# @option options [Integer] :endpoint_cache_max_threads (10)
|
226
|
+
# Used for the maximum threads in use for polling endpoints to be cached, defaults to 10.
|
227
|
+
#
|
228
|
+
# @option options [Integer] :endpoint_cache_poll_interval (60)
|
229
|
+
# When :endpoint_discovery and :active_endpoint_cache is enabled,
|
230
|
+
# Use this option to config the time interval in seconds for making
|
231
|
+
# requests fetching endpoints information. Defaults to 60 sec.
|
232
|
+
#
|
233
|
+
# @option options [Boolean] :endpoint_discovery (false)
|
234
|
+
# When set to `true`, endpoint discovery will be enabled for operations when available.
|
235
|
+
#
|
236
|
+
# @option options [Boolean] :ignore_configured_endpoint_urls
|
237
|
+
# Setting to true disables use of endpoint URLs provided via environment
|
238
|
+
# variables and the shared configuration file.
|
239
|
+
#
|
240
|
+
# @option options [Aws::Log::Formatter] :log_formatter (Aws::Log::Formatter.default)
|
241
|
+
# The log formatter.
|
242
|
+
#
|
243
|
+
# @option options [Symbol] :log_level (:info)
|
244
|
+
# The log level to send messages to the `:logger` at.
|
245
|
+
#
|
246
|
+
# @option options [Logger] :logger
|
247
|
+
# The Logger instance to send log messages to. If this option
|
248
|
+
# is not set, logging will be disabled.
|
249
|
+
#
|
250
|
+
# @option options [Integer] :max_attempts (3)
|
251
|
+
# An integer representing the maximum number attempts that will be made for
|
252
|
+
# a single request, including the initial attempt. For example,
|
253
|
+
# setting this value to 5 will result in a request being retried up to
|
254
|
+
# 4 times. Used in `standard` and `adaptive` retry modes.
|
255
|
+
#
|
256
|
+
# @option options [String] :profile ("default")
|
257
|
+
# Used when loading credentials from the shared credentials file
|
258
|
+
# at HOME/.aws/credentials. When not specified, 'default' is used.
|
259
|
+
#
|
260
|
+
# @option options [Integer] :request_min_compression_size_bytes (10240)
|
261
|
+
# The minimum size in bytes that triggers compression for request
|
262
|
+
# bodies. The value must be non-negative integer value between 0
|
263
|
+
# and 10485780 bytes inclusive.
|
264
|
+
#
|
265
|
+
# @option options [Proc] :retry_backoff
|
266
|
+
# A proc or lambda used for backoff. Defaults to 2**retries * retry_base_delay.
|
267
|
+
# This option is only used in the `legacy` retry mode.
|
268
|
+
#
|
269
|
+
# @option options [Float] :retry_base_delay (0.3)
|
270
|
+
# The base delay in seconds used by the default backoff function. This option
|
271
|
+
# is only used in the `legacy` retry mode.
|
272
|
+
#
|
273
|
+
# @option options [Symbol] :retry_jitter (:none)
|
274
|
+
# A delay randomiser function used by the default backoff function.
|
275
|
+
# Some predefined functions can be referenced by name - :none, :equal, :full,
|
276
|
+
# otherwise a Proc that takes and returns a number. This option is only used
|
277
|
+
# in the `legacy` retry mode.
|
278
|
+
#
|
279
|
+
# @see https://www.awsarchitectureblog.com/2015/03/backoff.html
|
280
|
+
#
|
281
|
+
# @option options [Integer] :retry_limit (3)
|
282
|
+
# The maximum number of times to retry failed requests. Only
|
283
|
+
# ~ 500 level server errors and certain ~ 400 level client errors
|
284
|
+
# are retried. Generally, these are throttling errors, data
|
285
|
+
# checksum errors, networking errors, timeout errors, auth errors,
|
286
|
+
# endpoint discovery, and errors from expired credentials.
|
287
|
+
# This option is only used in the `legacy` retry mode.
|
288
|
+
#
|
289
|
+
# @option options [Integer] :retry_max_delay (0)
|
290
|
+
# The maximum number of seconds to delay between retries (0 for no limit)
|
291
|
+
# used by the default backoff function. This option is only used in the
|
292
|
+
# `legacy` retry mode.
|
293
|
+
#
|
294
|
+
# @option options [String] :retry_mode ("legacy")
|
295
|
+
# Specifies which retry algorithm to use. Values are:
|
296
|
+
#
|
297
|
+
# * `legacy` - The pre-existing retry behavior. This is default value if
|
298
|
+
# no retry mode is provided.
|
299
|
+
#
|
300
|
+
# * `standard` - A standardized set of retry rules across the AWS SDKs.
|
301
|
+
# This includes support for retry quotas, which limit the number of
|
302
|
+
# unsuccessful retries a client can make.
|
303
|
+
#
|
304
|
+
# * `adaptive` - An experimental retry mode that includes all the
|
305
|
+
# functionality of `standard` mode along with automatic client side
|
306
|
+
# throttling. This is a provisional mode that may change behavior
|
307
|
+
# in the future.
|
308
|
+
#
|
309
|
+
# @option options [String] :sdk_ua_app_id
|
310
|
+
# A unique and opaque application ID that is appended to the
|
311
|
+
# User-Agent header as app/sdk_ua_app_id. It should have a
|
312
|
+
# maximum length of 50. This variable is sourced from environment
|
313
|
+
# variable AWS_SDK_UA_APP_ID or the shared config profile attribute sdk_ua_app_id.
|
314
|
+
#
|
315
|
+
# @option options [String] :secret_access_key
|
316
|
+
#
|
317
|
+
# @option options [String] :session_token
|
318
|
+
#
|
319
|
+
# @option options [Array] :sigv4a_signing_region_set
|
320
|
+
# A list of regions that should be signed with SigV4a signing. When
|
321
|
+
# not passed, a default `:sigv4a_signing_region_set` is searched for
|
322
|
+
# in the following locations:
|
323
|
+
#
|
324
|
+
# * `Aws.config[:sigv4a_signing_region_set]`
|
325
|
+
# * `ENV['AWS_SIGV4A_SIGNING_REGION_SET']`
|
326
|
+
# * `~/.aws/config`
|
327
|
+
#
|
328
|
+
# @option options [Boolean] :stub_responses (false)
|
329
|
+
# Causes the client to return stubbed responses. By default
|
330
|
+
# fake responses are generated and returned. You can specify
|
331
|
+
# the response data to return or errors to raise by calling
|
332
|
+
# {ClientStubs#stub_responses}. See {ClientStubs} for more information.
|
333
|
+
#
|
334
|
+
# ** Please note ** When response stubbing is enabled, no HTTP
|
335
|
+
# requests are made, and retries are disabled.
|
336
|
+
#
|
337
|
+
# @option options [Aws::Telemetry::TelemetryProviderBase] :telemetry_provider (Aws::Telemetry::NoOpTelemetryProvider)
|
338
|
+
# Allows you to provide a telemetry provider, which is used to
|
339
|
+
# emit telemetry data. By default, uses `NoOpTelemetryProvider` which
|
340
|
+
# will not record or emit any telemetry data. The SDK supports the
|
341
|
+
# following telemetry providers:
|
342
|
+
#
|
343
|
+
# * OpenTelemetry (OTel) - To use the OTel provider, install and require the
|
344
|
+
# `opentelemetry-sdk` gem and then, pass in an instance of a
|
345
|
+
# `Aws::Telemetry::OTelProvider` for telemetry provider.
|
346
|
+
#
|
347
|
+
# @option options [Aws::TokenProvider] :token_provider
|
348
|
+
# A Bearer Token Provider. This can be an instance of any one of the
|
349
|
+
# following classes:
|
350
|
+
#
|
351
|
+
# * `Aws::StaticTokenProvider` - Used for configuring static, non-refreshing
|
352
|
+
# tokens.
|
353
|
+
#
|
354
|
+
# * `Aws::SSOTokenProvider` - Used for loading tokens from AWS SSO using an
|
355
|
+
# access token generated from `aws login`.
|
356
|
+
#
|
357
|
+
# When `:token_provider` is not configured directly, the `Aws::TokenProviderChain`
|
358
|
+
# will be used to search for tokens configured for your profile in shared configuration files.
|
359
|
+
#
|
360
|
+
# @option options [Boolean] :use_dualstack_endpoint
|
361
|
+
# When set to `true`, dualstack enabled endpoints (with `.aws` TLD)
|
362
|
+
# will be used if available.
|
363
|
+
#
|
364
|
+
# @option options [Boolean] :use_fips_endpoint
|
365
|
+
# When set to `true`, fips compatible endpoints will be used if available.
|
366
|
+
# When a `fips` region is used, the region is normalized and this config
|
367
|
+
# is set to `true`.
|
368
|
+
#
|
369
|
+
# @option options [Boolean] :validate_params (true)
|
370
|
+
# When `true`, request parameters are validated before
|
371
|
+
# sending the request.
|
372
|
+
#
|
373
|
+
# @option options [Aws::SecurityIR::EndpointProvider] :endpoint_provider
|
374
|
+
# The endpoint provider used to resolve endpoints. Any object that responds to
|
375
|
+
# `#resolve_endpoint(parameters)` where `parameters` is a Struct similar to
|
376
|
+
# `Aws::SecurityIR::EndpointParameters`.
|
377
|
+
#
|
378
|
+
# @option options [Float] :http_continue_timeout (1)
|
379
|
+
# The number of seconds to wait for a 100-continue response before sending the
|
380
|
+
# request body. This option has no effect unless the request has "Expect"
|
381
|
+
# header set to "100-continue". Defaults to `nil` which disables this
|
382
|
+
# behaviour. This value can safely be set per request on the session.
|
383
|
+
#
|
384
|
+
# @option options [Float] :http_idle_timeout (5)
|
385
|
+
# The number of seconds a connection is allowed to sit idle before it
|
386
|
+
# is considered stale. Stale connections are closed and removed from the
|
387
|
+
# pool before making a request.
|
388
|
+
#
|
389
|
+
# @option options [Float] :http_open_timeout (15)
|
390
|
+
# The default number of seconds to wait for response data.
|
391
|
+
# This value can safely be set per-request on the session.
|
392
|
+
#
|
393
|
+
# @option options [URI::HTTP,String] :http_proxy
|
394
|
+
# A proxy to send requests through. Formatted like 'http://proxy.com:123'.
|
395
|
+
#
|
396
|
+
# @option options [Float] :http_read_timeout (60)
|
397
|
+
# The default number of seconds to wait for response data.
|
398
|
+
# This value can safely be set per-request on the session.
|
399
|
+
#
|
400
|
+
# @option options [Boolean] :http_wire_trace (false)
|
401
|
+
# When `true`, HTTP debug output will be sent to the `:logger`.
|
402
|
+
#
|
403
|
+
# @option options [Proc] :on_chunk_received
|
404
|
+
# When a Proc object is provided, it will be used as callback when each chunk
|
405
|
+
# of the response body is received. It provides three arguments: the chunk,
|
406
|
+
# the number of bytes received, and the total number of
|
407
|
+
# bytes in the response (or nil if the server did not send a `content-length`).
|
408
|
+
#
|
409
|
+
# @option options [Proc] :on_chunk_sent
|
410
|
+
# When a Proc object is provided, it will be used as callback when each chunk
|
411
|
+
# of the request body is sent. It provides three arguments: the chunk,
|
412
|
+
# the number of bytes read from the body, and the total number of
|
413
|
+
# bytes in the body.
|
414
|
+
#
|
415
|
+
# @option options [Boolean] :raise_response_errors (true)
|
416
|
+
# When `true`, response errors are raised.
|
417
|
+
#
|
418
|
+
# @option options [String] :ssl_ca_bundle
|
419
|
+
# Full path to the SSL certificate authority bundle file that should be used when
|
420
|
+
# verifying peer certificates. If you do not pass `:ssl_ca_bundle` or
|
421
|
+
# `:ssl_ca_directory` the the system default will be used if available.
|
422
|
+
#
|
423
|
+
# @option options [String] :ssl_ca_directory
|
424
|
+
# Full path of the directory that contains the unbundled SSL certificate
|
425
|
+
# authority files for verifying peer certificates. If you do
|
426
|
+
# not pass `:ssl_ca_bundle` or `:ssl_ca_directory` the the system
|
427
|
+
# default will be used if available.
|
428
|
+
#
|
429
|
+
# @option options [String] :ssl_ca_store
|
430
|
+
# Sets the X509::Store to verify peer certificate.
|
431
|
+
#
|
432
|
+
# @option options [OpenSSL::X509::Certificate] :ssl_cert
|
433
|
+
# Sets a client certificate when creating http connections.
|
434
|
+
#
|
435
|
+
# @option options [OpenSSL::PKey] :ssl_key
|
436
|
+
# Sets a client key when creating http connections.
|
437
|
+
#
|
438
|
+
# @option options [Float] :ssl_timeout
|
439
|
+
# Sets the SSL timeout in seconds
|
440
|
+
#
|
441
|
+
# @option options [Boolean] :ssl_verify_peer (true)
|
442
|
+
# When `true`, SSL peer certificates are verified when establishing a connection.
|
443
|
+
#
|
444
|
+
def initialize(*args)
|
445
|
+
super
|
446
|
+
end
|
447
|
+
|
448
|
+
# @!group API Operations
|
449
|
+
|
450
|
+
# Grants permission to view an existing membership.
|
451
|
+
#
|
452
|
+
# @option params [required, String] :membership_id
|
453
|
+
# Required element used in combination with BatchGetMemberAccountDetails
|
454
|
+
# to identify the membership ID to query.
|
455
|
+
#
|
456
|
+
# @option params [required, Array<String>] :account_ids
|
457
|
+
# Optional element to query the membership relationship status to a
|
458
|
+
# provided list of account IDs.
|
459
|
+
#
|
460
|
+
# @return [Types::BatchGetMemberAccountDetailsResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
|
461
|
+
#
|
462
|
+
# * {Types::BatchGetMemberAccountDetailsResponse#items #items} => Array<Types::GetMembershipAccountDetailItem>
|
463
|
+
# * {Types::BatchGetMemberAccountDetailsResponse#errors #errors} => Array<Types::GetMembershipAccountDetailError>
|
464
|
+
#
|
465
|
+
#
|
466
|
+
# @example Example: Invoke BatchGetMemberAccountDetails
|
467
|
+
#
|
468
|
+
# resp = client.batch_get_member_account_details({
|
469
|
+
# account_ids: [
|
470
|
+
# "123412341234",
|
471
|
+
# ],
|
472
|
+
# membership_id: "m-abcd1234efgh",
|
473
|
+
# })
|
474
|
+
#
|
475
|
+
# resp.to_h outputs the following:
|
476
|
+
# {
|
477
|
+
# items: [
|
478
|
+
# {
|
479
|
+
# account_id: "123412341234",
|
480
|
+
# relationship_status: "Associated",
|
481
|
+
# relationship_type: "Organization",
|
482
|
+
# },
|
483
|
+
# ],
|
484
|
+
# }
|
485
|
+
#
|
486
|
+
# @example Request syntax with placeholder values
|
487
|
+
#
|
488
|
+
# resp = client.batch_get_member_account_details({
|
489
|
+
# membership_id: "MembershipId", # required
|
490
|
+
# account_ids: ["AWSAccountId"], # required
|
491
|
+
# })
|
492
|
+
#
|
493
|
+
# @example Response structure
|
494
|
+
#
|
495
|
+
# resp.items #=> Array
|
496
|
+
# resp.items[0].account_id #=> String
|
497
|
+
# resp.items[0].relationship_status #=> String, one of "Associated", "Disassociated"
|
498
|
+
# resp.items[0].relationship_type #=> String, one of "Organization"
|
499
|
+
# resp.errors #=> Array
|
500
|
+
# resp.errors[0].account_id #=> String
|
501
|
+
# resp.errors[0].error #=> String
|
502
|
+
# resp.errors[0].message #=> String
|
503
|
+
#
|
504
|
+
# @see http://docs.aws.amazon.com/goto/WebAPI/security-ir-2018-05-10/BatchGetMemberAccountDetails AWS API Documentation
|
505
|
+
#
|
506
|
+
# @overload batch_get_member_account_details(params = {})
|
507
|
+
# @param [Hash] params ({})
|
508
|
+
def batch_get_member_account_details(params = {}, options = {})
|
509
|
+
req = build_request(:batch_get_member_account_details, params)
|
510
|
+
req.send_request(options)
|
511
|
+
end
|
512
|
+
|
513
|
+
# Grants permissions to cancel an existing membership.
|
514
|
+
#
|
515
|
+
# @option params [required, String] :membership_id
|
516
|
+
# Required element used in combination with CancelMembershipRequest to
|
517
|
+
# identify the membership ID to cancel.
|
518
|
+
#
|
519
|
+
# @return [Types::CancelMembershipResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
|
520
|
+
#
|
521
|
+
# * {Types::CancelMembershipResponse#membership_id #membership_id} => String
|
522
|
+
#
|
523
|
+
#
|
524
|
+
# @example Example: Invoke CancelMembership
|
525
|
+
#
|
526
|
+
# resp = client.cancel_membership({
|
527
|
+
# membership_id: "m-abcd1234efgh",
|
528
|
+
# })
|
529
|
+
#
|
530
|
+
# resp.to_h outputs the following:
|
531
|
+
# {
|
532
|
+
# membership_id: "m-abcd1234efgh",
|
533
|
+
# }
|
534
|
+
#
|
535
|
+
# @example Request syntax with placeholder values
|
536
|
+
#
|
537
|
+
# resp = client.cancel_membership({
|
538
|
+
# membership_id: "MembershipId", # required
|
539
|
+
# })
|
540
|
+
#
|
541
|
+
# @example Response structure
|
542
|
+
#
|
543
|
+
# resp.membership_id #=> String
|
544
|
+
#
|
545
|
+
# @see http://docs.aws.amazon.com/goto/WebAPI/security-ir-2018-05-10/CancelMembership AWS API Documentation
|
546
|
+
#
|
547
|
+
# @overload cancel_membership(params = {})
|
548
|
+
# @param [Hash] params ({})
|
549
|
+
def cancel_membership(params = {}, options = {})
|
550
|
+
req = build_request(:cancel_membership, params)
|
551
|
+
req.send_request(options)
|
552
|
+
end
|
553
|
+
|
554
|
+
# Grants permission to close an existing case.
|
555
|
+
#
|
556
|
+
# @option params [required, String] :case_id
|
557
|
+
# Required element used in combination with CloseCase to identify the
|
558
|
+
# case ID to close.
|
559
|
+
#
|
560
|
+
# @return [Types::CloseCaseResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
|
561
|
+
#
|
562
|
+
# * {Types::CloseCaseResponse#case_status #case_status} => String
|
563
|
+
# * {Types::CloseCaseResponse#closed_date #closed_date} => Time
|
564
|
+
#
|
565
|
+
#
|
566
|
+
# @example Example: Invoke CloseCase
|
567
|
+
#
|
568
|
+
# resp = client.close_case({
|
569
|
+
# case_id: "8403556009",
|
570
|
+
# })
|
571
|
+
#
|
572
|
+
# resp.to_h outputs the following:
|
573
|
+
# {
|
574
|
+
# case_status: "Closed",
|
575
|
+
# closed_date: Time.parse("2024-02-27T17:01:33.000Z"),
|
576
|
+
# }
|
577
|
+
#
|
578
|
+
# @example Request syntax with placeholder values
|
579
|
+
#
|
580
|
+
# resp = client.close_case({
|
581
|
+
# case_id: "CaseId", # required
|
582
|
+
# })
|
583
|
+
#
|
584
|
+
# @example Response structure
|
585
|
+
#
|
586
|
+
# resp.case_status #=> String, one of "Submitted", "Acknowledged", "Detection and Analysis", "Containment, Eradication and Recovery", "Post-incident Activities", "Ready to Close", "Closed"
|
587
|
+
# resp.closed_date #=> Time
|
588
|
+
#
|
589
|
+
# @see http://docs.aws.amazon.com/goto/WebAPI/security-ir-2018-05-10/CloseCase AWS API Documentation
|
590
|
+
#
|
591
|
+
# @overload close_case(params = {})
|
592
|
+
# @param [Hash] params ({})
|
593
|
+
def close_case(params = {}, options = {})
|
594
|
+
req = build_request(:close_case, params)
|
595
|
+
req.send_request(options)
|
596
|
+
end
|
597
|
+
|
598
|
+
# Grants permission to create a new case.
|
599
|
+
#
|
600
|
+
# @option params [String] :client_token
|
601
|
+
# Required element used in combination with CreateCase.
|
602
|
+
#
|
603
|
+
# **A suitable default value is auto-generated.** You should normally
|
604
|
+
# not need to pass this option.**
|
605
|
+
#
|
606
|
+
# @option params [required, String] :resolver_type
|
607
|
+
# Required element used in combination with CreateCase to identify the
|
608
|
+
# resolver type. Available resolvers include self-supported \|
|
609
|
+
# aws-supported.
|
610
|
+
#
|
611
|
+
# @option params [required, String] :title
|
612
|
+
# Required element used in combination with CreateCase to provide a
|
613
|
+
# title for the new case.
|
614
|
+
#
|
615
|
+
# @option params [required, String] :description
|
616
|
+
# Required element used in combination with CreateCase to provide a
|
617
|
+
# description for the new case.
|
618
|
+
#
|
619
|
+
# @option params [required, String] :engagement_type
|
620
|
+
# Required element used in combination with CreateCase to provide an
|
621
|
+
# engagement type for the new cases. Available engagement types include
|
622
|
+
# Security Incident \| Investigation
|
623
|
+
#
|
624
|
+
# @option params [required, Time,DateTime,Date,Integer,String] :reported_incident_start_date
|
625
|
+
# Required element used in combination with CreateCase to provide an
|
626
|
+
# initial start date for the unauthorized activity.
|
627
|
+
#
|
628
|
+
# @option params [required, Array<String>] :impacted_accounts
|
629
|
+
# Required element used in combination with CreateCase to provide a list
|
630
|
+
# of impacted accounts.
|
631
|
+
#
|
632
|
+
# @option params [required, Array<Types::Watcher>] :watchers
|
633
|
+
# Required element used in combination with CreateCase to provide a list
|
634
|
+
# of entities to receive notifications for case updates.
|
635
|
+
#
|
636
|
+
# @option params [Array<Types::ThreatActorIp>] :threat_actor_ip_addresses
|
637
|
+
# An optional element used in combination with CreateCase to provide a
|
638
|
+
# list of suspicious internet protocol addresses associated with
|
639
|
+
# unauthorized activity.
|
640
|
+
#
|
641
|
+
# @option params [Array<String>] :impacted_services
|
642
|
+
# An optional element used in combination with CreateCase to provide a
|
643
|
+
# list of services impacted.
|
644
|
+
#
|
645
|
+
# @option params [Array<Types::ImpactedAwsRegion>] :impacted_aws_regions
|
646
|
+
# An optional element used in combination with CreateCase to provide a
|
647
|
+
# list of impacted regions.
|
648
|
+
#
|
649
|
+
# @option params [Hash<String,String>] :tags
|
650
|
+
# An optional element used in combination with CreateCase to add
|
651
|
+
# customer specified tags to a case.
|
652
|
+
#
|
653
|
+
# @return [Types::CreateCaseResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
|
654
|
+
#
|
655
|
+
# * {Types::CreateCaseResponse#case_id #case_id} => String
|
656
|
+
#
|
657
|
+
#
|
658
|
+
# @example Example: Invoke CreateCase
|
659
|
+
#
|
660
|
+
# resp = client.create_case({
|
661
|
+
# description: "Case description",
|
662
|
+
# engagement_type: "Investigation",
|
663
|
+
# impacted_accounts: [
|
664
|
+
# "000000000000",
|
665
|
+
# "111111111111",
|
666
|
+
# ],
|
667
|
+
# impacted_aws_regions: [
|
668
|
+
# {
|
669
|
+
# region: "ap-southeast-1",
|
670
|
+
# },
|
671
|
+
# ],
|
672
|
+
# impacted_services: [
|
673
|
+
# "Amazon EC2",
|
674
|
+
# "Amazon EKS",
|
675
|
+
# ],
|
676
|
+
# reported_incident_start_date: Time.parse("2023-03-27T15:32:01.789Z"),
|
677
|
+
# resolver_type: "Self",
|
678
|
+
# threat_actor_ip_addresses: [
|
679
|
+
# {
|
680
|
+
# ip_address: "192.168.192.168",
|
681
|
+
# user_agent: "Browser",
|
682
|
+
# },
|
683
|
+
# ],
|
684
|
+
# title: "My sample case",
|
685
|
+
# watchers: [
|
686
|
+
# {
|
687
|
+
# name: "Alice",
|
688
|
+
# email: "alice@example.com",
|
689
|
+
# job_title: "CEO",
|
690
|
+
# },
|
691
|
+
# {
|
692
|
+
# name: "Bob",
|
693
|
+
# email: "bob@example.com",
|
694
|
+
# job_title: "CFO",
|
695
|
+
# },
|
696
|
+
# ],
|
697
|
+
# })
|
698
|
+
#
|
699
|
+
# @example Request syntax with placeholder values
|
700
|
+
#
|
701
|
+
# resp = client.create_case({
|
702
|
+
# client_token: "CreateCaseRequestClientTokenString",
|
703
|
+
# resolver_type: "AWS", # required, accepts AWS, Self
|
704
|
+
# title: "CaseTitle", # required
|
705
|
+
# description: "CaseDescription", # required
|
706
|
+
# engagement_type: "Security Incident", # required, accepts Security Incident, Investigation
|
707
|
+
# reported_incident_start_date: Time.now, # required
|
708
|
+
# impacted_accounts: ["AWSAccountId"], # required
|
709
|
+
# watchers: [ # required
|
710
|
+
# {
|
711
|
+
# email: "EmailAddress", # required
|
712
|
+
# name: "PersonName",
|
713
|
+
# job_title: "JobTitle",
|
714
|
+
# },
|
715
|
+
# ],
|
716
|
+
# threat_actor_ip_addresses: [
|
717
|
+
# {
|
718
|
+
# ip_address: "IPAddress", # required
|
719
|
+
# user_agent: "UserAgent",
|
720
|
+
# },
|
721
|
+
# ],
|
722
|
+
# impacted_services: ["AwsService"],
|
723
|
+
# impacted_aws_regions: [
|
724
|
+
# {
|
725
|
+
# region: "af-south-1", # required, accepts af-south-1, ap-east-1, ap-northeast-1, ap-northeast-2, ap-northeast-3, ap-south-1, ap-south-2, ap-southeast-1, ap-southeast-2, ap-southeast-3, ap-southeast-4, ap-southeast-5, ca-central-1, ca-west-1, cn-north-1, cn-northwest-1, eu-central-1, eu-central-2, eu-north-1, eu-south-1, eu-south-2, eu-west-1, eu-west-2, eu-west-3, il-central-1, me-central-1, me-south-1, sa-east-1, us-east-1, us-east-2, us-west-1, us-west-2
|
726
|
+
# },
|
727
|
+
# ],
|
728
|
+
# tags: {
|
729
|
+
# "TagKey" => "TagValue",
|
730
|
+
# },
|
731
|
+
# })
|
732
|
+
#
|
733
|
+
# @example Response structure
|
734
|
+
#
|
735
|
+
# resp.case_id #=> String
|
736
|
+
#
|
737
|
+
# @see http://docs.aws.amazon.com/goto/WebAPI/security-ir-2018-05-10/CreateCase AWS API Documentation
|
738
|
+
#
|
739
|
+
# @overload create_case(params = {})
|
740
|
+
# @param [Hash] params ({})
|
741
|
+
def create_case(params = {}, options = {})
|
742
|
+
req = build_request(:create_case, params)
|
743
|
+
req.send_request(options)
|
744
|
+
end
|
745
|
+
|
746
|
+
# Grants permission to add a comment to an existing case.
|
747
|
+
#
|
748
|
+
# @option params [required, String] :case_id
|
749
|
+
# Required element used in combination with CreateCaseComment to specify
|
750
|
+
# a case ID.
|
751
|
+
#
|
752
|
+
# @option params [String] :client_token
|
753
|
+
# An optional element used in combination with CreateCaseComment.
|
754
|
+
#
|
755
|
+
# **A suitable default value is auto-generated.** You should normally
|
756
|
+
# not need to pass this option.**
|
757
|
+
#
|
758
|
+
# @option params [required, String] :body
|
759
|
+
# Required element used in combination with CreateCaseComment to add
|
760
|
+
# content for the new comment.
|
761
|
+
#
|
762
|
+
# @return [Types::CreateCaseCommentResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
|
763
|
+
#
|
764
|
+
# * {Types::CreateCaseCommentResponse#comment_id #comment_id} => String
|
765
|
+
#
|
766
|
+
#
|
767
|
+
# @example Example: Invoke CreateCaseComment
|
768
|
+
#
|
769
|
+
# resp = client.create_case_comment({
|
770
|
+
# body: "Case comment body.",
|
771
|
+
# case_id: "8403556009",
|
772
|
+
# })
|
773
|
+
#
|
774
|
+
# resp.to_h outputs the following:
|
775
|
+
# {
|
776
|
+
# comment_id: "000000",
|
777
|
+
# }
|
778
|
+
#
|
779
|
+
# @example Request syntax with placeholder values
|
780
|
+
#
|
781
|
+
# resp = client.create_case_comment({
|
782
|
+
# case_id: "CaseId", # required
|
783
|
+
# client_token: "CreateCaseCommentRequestClientTokenString",
|
784
|
+
# body: "CommentBody", # required
|
785
|
+
# })
|
786
|
+
#
|
787
|
+
# @example Response structure
|
788
|
+
#
|
789
|
+
# resp.comment_id #=> String
|
790
|
+
#
|
791
|
+
# @see http://docs.aws.amazon.com/goto/WebAPI/security-ir-2018-05-10/CreateCaseComment AWS API Documentation
|
792
|
+
#
|
793
|
+
# @overload create_case_comment(params = {})
|
794
|
+
# @param [Hash] params ({})
|
795
|
+
def create_case_comment(params = {}, options = {})
|
796
|
+
req = build_request(:create_case_comment, params)
|
797
|
+
req.send_request(options)
|
798
|
+
end
|
799
|
+
|
800
|
+
# Grants permissions to create a new membership.
|
801
|
+
#
|
802
|
+
# @option params [String] :client_token
|
803
|
+
# An optional element used in combination with CreateMembership.
|
804
|
+
#
|
805
|
+
# **A suitable default value is auto-generated.** You should normally
|
806
|
+
# not need to pass this option.**
|
807
|
+
#
|
808
|
+
# @option params [required, String] :membership_name
|
809
|
+
# Required element use in combination with CreateMembership to create a
|
810
|
+
# name for the membership.
|
811
|
+
#
|
812
|
+
# @option params [required, Array<Types::IncidentResponder>] :incident_response_team
|
813
|
+
# Required element use in combination with CreateMembership to add
|
814
|
+
# customer incident response team members and trusted partners to the
|
815
|
+
# membership.
|
816
|
+
#
|
817
|
+
# @option params [Array<Types::OptInFeature>] :opt_in_features
|
818
|
+
# Optional element to enable the monitoring and investigation opt-in
|
819
|
+
# features for the service.
|
820
|
+
#
|
821
|
+
# @option params [Hash<String,String>] :tags
|
822
|
+
# Optional element for customer configured tags.
|
823
|
+
#
|
824
|
+
# @return [Types::CreateMembershipResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
|
825
|
+
#
|
826
|
+
# * {Types::CreateMembershipResponse#membership_id #membership_id} => String
|
827
|
+
#
|
828
|
+
#
|
829
|
+
# @example Example: Invoke CreateMembership
|
830
|
+
#
|
831
|
+
# resp = client.create_membership({
|
832
|
+
# incident_response_team: [
|
833
|
+
# {
|
834
|
+
# name: "Bob Jones",
|
835
|
+
# email: "bob.jones@gmail.com",
|
836
|
+
# job_title: "Security Responder",
|
837
|
+
# },
|
838
|
+
# {
|
839
|
+
# name: "Alice",
|
840
|
+
# email: "alice@example.com",
|
841
|
+
# job_title: "CEO",
|
842
|
+
# },
|
843
|
+
# ],
|
844
|
+
# membership_name: "Example Membership Name.",
|
845
|
+
# opt_in_features: [
|
846
|
+
# {
|
847
|
+
# feature_name: "Triage",
|
848
|
+
# is_enabled: true,
|
849
|
+
# },
|
850
|
+
# ],
|
851
|
+
# })
|
852
|
+
#
|
853
|
+
# resp.to_h outputs the following:
|
854
|
+
# {
|
855
|
+
# membership_id: "m-abcd1234efgh",
|
856
|
+
# }
|
857
|
+
#
|
858
|
+
# @example Request syntax with placeholder values
|
859
|
+
#
|
860
|
+
# resp = client.create_membership({
|
861
|
+
# client_token: "CreateMembershipRequestClientTokenString",
|
862
|
+
# membership_name: "MembershipName", # required
|
863
|
+
# incident_response_team: [ # required
|
864
|
+
# {
|
865
|
+
# name: "IncidentResponderName", # required
|
866
|
+
# job_title: "JobTitle", # required
|
867
|
+
# email: "EmailAddress", # required
|
868
|
+
# },
|
869
|
+
# ],
|
870
|
+
# opt_in_features: [
|
871
|
+
# {
|
872
|
+
# feature_name: "Triage", # required, accepts Triage
|
873
|
+
# is_enabled: false, # required
|
874
|
+
# },
|
875
|
+
# ],
|
876
|
+
# tags: {
|
877
|
+
# "TagKey" => "TagValue",
|
878
|
+
# },
|
879
|
+
# })
|
880
|
+
#
|
881
|
+
# @example Response structure
|
882
|
+
#
|
883
|
+
# resp.membership_id #=> String
|
884
|
+
#
|
885
|
+
# @see http://docs.aws.amazon.com/goto/WebAPI/security-ir-2018-05-10/CreateMembership AWS API Documentation
|
886
|
+
#
|
887
|
+
# @overload create_membership(params = {})
|
888
|
+
# @param [Hash] params ({})
|
889
|
+
def create_membership(params = {}, options = {})
|
890
|
+
req = build_request(:create_membership, params)
|
891
|
+
req.send_request(options)
|
892
|
+
end
|
893
|
+
|
894
|
+
# Grant permission to view a designated case.
|
895
|
+
#
|
896
|
+
# @option params [required, String] :case_id
|
897
|
+
# Required element for GetCase to identify the requested case ID.
|
898
|
+
#
|
899
|
+
# @return [Types::GetCaseResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
|
900
|
+
#
|
901
|
+
# * {Types::GetCaseResponse#title #title} => String
|
902
|
+
# * {Types::GetCaseResponse#case_arn #case_arn} => String
|
903
|
+
# * {Types::GetCaseResponse#description #description} => String
|
904
|
+
# * {Types::GetCaseResponse#case_status #case_status} => String
|
905
|
+
# * {Types::GetCaseResponse#engagement_type #engagement_type} => String
|
906
|
+
# * {Types::GetCaseResponse#reported_incident_start_date #reported_incident_start_date} => Time
|
907
|
+
# * {Types::GetCaseResponse#actual_incident_start_date #actual_incident_start_date} => Time
|
908
|
+
# * {Types::GetCaseResponse#impacted_aws_regions #impacted_aws_regions} => Array<Types::ImpactedAwsRegion>
|
909
|
+
# * {Types::GetCaseResponse#threat_actor_ip_addresses #threat_actor_ip_addresses} => Array<Types::ThreatActorIp>
|
910
|
+
# * {Types::GetCaseResponse#pending_action #pending_action} => String
|
911
|
+
# * {Types::GetCaseResponse#impacted_accounts #impacted_accounts} => Array<String>
|
912
|
+
# * {Types::GetCaseResponse#watchers #watchers} => Array<Types::Watcher>
|
913
|
+
# * {Types::GetCaseResponse#created_date #created_date} => Time
|
914
|
+
# * {Types::GetCaseResponse#last_updated_date #last_updated_date} => Time
|
915
|
+
# * {Types::GetCaseResponse#closure_code #closure_code} => String
|
916
|
+
# * {Types::GetCaseResponse#resolver_type #resolver_type} => String
|
917
|
+
# * {Types::GetCaseResponse#impacted_services #impacted_services} => Array<String>
|
918
|
+
# * {Types::GetCaseResponse#case_attachments #case_attachments} => Array<Types::CaseAttachmentAttributes>
|
919
|
+
# * {Types::GetCaseResponse#closed_date #closed_date} => Time
|
920
|
+
#
|
921
|
+
#
|
922
|
+
# @example Example: Invoke GetCase
|
923
|
+
#
|
924
|
+
# resp = client.get_case({
|
925
|
+
# case_id: "8403556009",
|
926
|
+
# })
|
927
|
+
#
|
928
|
+
# resp.to_h outputs the following:
|
929
|
+
# {
|
930
|
+
# actual_incident_start_date: Time.parse("2023-03-27T15:32:01.789Z"),
|
931
|
+
# case_arn: "arn:aws:security-ir:us-west-1:123456789012:case/1234567890",
|
932
|
+
# case_status: "Submitted",
|
933
|
+
# created_date: Time.parse("2023-01-27T15:32:01.789Z"),
|
934
|
+
# description: "Case description",
|
935
|
+
# engagement_type: "Investigation",
|
936
|
+
# impacted_accounts: [
|
937
|
+
# "000000000000",
|
938
|
+
# "111111111111",
|
939
|
+
# ],
|
940
|
+
# impacted_aws_regions: [
|
941
|
+
# {
|
942
|
+
# region: "ap-southeast-1",
|
943
|
+
# },
|
944
|
+
# ],
|
945
|
+
# impacted_services: [
|
946
|
+
# "Amazon EC2",
|
947
|
+
# "Amazon EKS",
|
948
|
+
# ],
|
949
|
+
# last_updated_date: Time.parse("2023-02-27T15:32:01.789Z"),
|
950
|
+
# pending_action: "Customer",
|
951
|
+
# reported_incident_start_date: Time.parse("2023-03-27T15:32:01.789Z"),
|
952
|
+
# resolver_type: "Self",
|
953
|
+
# threat_actor_ip_addresses: [
|
954
|
+
# {
|
955
|
+
# ip_address: "192.168.192.168",
|
956
|
+
# user_agent: "Browser",
|
957
|
+
# },
|
958
|
+
# ],
|
959
|
+
# title: "My sample case",
|
960
|
+
# watchers: [
|
961
|
+
# {
|
962
|
+
# name: "Alice",
|
963
|
+
# email: "alice@example.com",
|
964
|
+
# job_title: "CEO",
|
965
|
+
# },
|
966
|
+
# {
|
967
|
+
# name: "Bob",
|
968
|
+
# email: "bob@example.com",
|
969
|
+
# job_title: "CFO",
|
970
|
+
# },
|
971
|
+
# ],
|
972
|
+
# }
|
973
|
+
#
|
974
|
+
# @example Request syntax with placeholder values
|
975
|
+
#
|
976
|
+
# resp = client.get_case({
|
977
|
+
# case_id: "CaseId", # required
|
978
|
+
# })
|
979
|
+
#
|
980
|
+
# @example Response structure
|
981
|
+
#
|
982
|
+
# resp.title #=> String
|
983
|
+
# resp.case_arn #=> String
|
984
|
+
# resp.description #=> String
|
985
|
+
# resp.case_status #=> String, one of "Submitted", "Acknowledged", "Detection and Analysis", "Containment, Eradication and Recovery", "Post-incident Activities", "Ready to Close", "Closed"
|
986
|
+
# resp.engagement_type #=> String, one of "Security Incident", "Investigation"
|
987
|
+
# resp.reported_incident_start_date #=> Time
|
988
|
+
# resp.actual_incident_start_date #=> Time
|
989
|
+
# resp.impacted_aws_regions #=> Array
|
990
|
+
# resp.impacted_aws_regions[0].region #=> String, one of "af-south-1", "ap-east-1", "ap-northeast-1", "ap-northeast-2", "ap-northeast-3", "ap-south-1", "ap-south-2", "ap-southeast-1", "ap-southeast-2", "ap-southeast-3", "ap-southeast-4", "ap-southeast-5", "ca-central-1", "ca-west-1", "cn-north-1", "cn-northwest-1", "eu-central-1", "eu-central-2", "eu-north-1", "eu-south-1", "eu-south-2", "eu-west-1", "eu-west-2", "eu-west-3", "il-central-1", "me-central-1", "me-south-1", "sa-east-1", "us-east-1", "us-east-2", "us-west-1", "us-west-2"
|
991
|
+
# resp.threat_actor_ip_addresses #=> Array
|
992
|
+
# resp.threat_actor_ip_addresses[0].ip_address #=> String
|
993
|
+
# resp.threat_actor_ip_addresses[0].user_agent #=> String
|
994
|
+
# resp.pending_action #=> String, one of "Customer", "None"
|
995
|
+
# resp.impacted_accounts #=> Array
|
996
|
+
# resp.impacted_accounts[0] #=> String
|
997
|
+
# resp.watchers #=> Array
|
998
|
+
# resp.watchers[0].email #=> String
|
999
|
+
# resp.watchers[0].name #=> String
|
1000
|
+
# resp.watchers[0].job_title #=> String
|
1001
|
+
# resp.created_date #=> Time
|
1002
|
+
# resp.last_updated_date #=> Time
|
1003
|
+
# resp.closure_code #=> String, one of "Investigation Completed", "Not Resolved", "False Positive", "Duplicate"
|
1004
|
+
# resp.resolver_type #=> String, one of "AWS", "Self"
|
1005
|
+
# resp.impacted_services #=> Array
|
1006
|
+
# resp.impacted_services[0] #=> String
|
1007
|
+
# resp.case_attachments #=> Array
|
1008
|
+
# resp.case_attachments[0].attachment_id #=> String
|
1009
|
+
# resp.case_attachments[0].file_name #=> String
|
1010
|
+
# resp.case_attachments[0].attachment_status #=> String, one of "Verified", "Failed", "Pending"
|
1011
|
+
# resp.case_attachments[0].creator #=> String
|
1012
|
+
# resp.case_attachments[0].created_date #=> Time
|
1013
|
+
# resp.closed_date #=> Time
|
1014
|
+
#
|
1015
|
+
# @see http://docs.aws.amazon.com/goto/WebAPI/security-ir-2018-05-10/GetCase AWS API Documentation
|
1016
|
+
#
|
1017
|
+
# @overload get_case(params = {})
|
1018
|
+
# @param [Hash] params ({})
|
1019
|
+
def get_case(params = {}, options = {})
|
1020
|
+
req = build_request(:get_case, params)
|
1021
|
+
req.send_request(options)
|
1022
|
+
end
|
1023
|
+
|
1024
|
+
# Grants permission to obtain an Amazon S3 presigned URL to download an
|
1025
|
+
# attachment.
|
1026
|
+
#
|
1027
|
+
# @option params [required, String] :case_id
|
1028
|
+
# Required element for GetCaseAttachmentDownloadUrl to identify the case
|
1029
|
+
# ID for downloading an attachment from.
|
1030
|
+
#
|
1031
|
+
# @option params [required, String] :attachment_id
|
1032
|
+
# Required element for GetCaseAttachmentDownloadUrl to identify the
|
1033
|
+
# attachment ID for downloading an attachment.
|
1034
|
+
#
|
1035
|
+
# @return [Types::GetCaseAttachmentDownloadUrlResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
|
1036
|
+
#
|
1037
|
+
# * {Types::GetCaseAttachmentDownloadUrlResponse#attachment_presigned_url #attachment_presigned_url} => String
|
1038
|
+
#
|
1039
|
+
#
|
1040
|
+
# @example Example: Invoke GetCaseAttachmentDownloadUrl
|
1041
|
+
#
|
1042
|
+
# resp = client.get_case_attachment_download_url({
|
1043
|
+
# attachment_id: "3C5A6B89-1DEF-4C2D-A5B6-123456789ABC",
|
1044
|
+
# case_id: "8403556009",
|
1045
|
+
# })
|
1046
|
+
#
|
1047
|
+
# resp.to_h outputs the following:
|
1048
|
+
# {
|
1049
|
+
# attachment_presigned_url: "https://presignedurl.com",
|
1050
|
+
# }
|
1051
|
+
#
|
1052
|
+
# @example Request syntax with placeholder values
|
1053
|
+
#
|
1054
|
+
# resp = client.get_case_attachment_download_url({
|
1055
|
+
# case_id: "CaseId", # required
|
1056
|
+
# attachment_id: "AttachmentId", # required
|
1057
|
+
# })
|
1058
|
+
#
|
1059
|
+
# @example Response structure
|
1060
|
+
#
|
1061
|
+
# resp.attachment_presigned_url #=> String
|
1062
|
+
#
|
1063
|
+
# @see http://docs.aws.amazon.com/goto/WebAPI/security-ir-2018-05-10/GetCaseAttachmentDownloadUrl AWS API Documentation
|
1064
|
+
#
|
1065
|
+
# @overload get_case_attachment_download_url(params = {})
|
1066
|
+
# @param [Hash] params ({})
|
1067
|
+
def get_case_attachment_download_url(params = {}, options = {})
|
1068
|
+
req = build_request(:get_case_attachment_download_url, params)
|
1069
|
+
req.send_request(options)
|
1070
|
+
end
|
1071
|
+
|
1072
|
+
# Grants permission to upload an attachment to a case.
|
1073
|
+
#
|
1074
|
+
# @option params [required, String] :case_id
|
1075
|
+
# Required element for GetCaseAttachmentUploadUrl to identify the case
|
1076
|
+
# ID for uploading an attachment to.
|
1077
|
+
#
|
1078
|
+
# @option params [required, String] :file_name
|
1079
|
+
# Required element for GetCaseAttachmentUploadUrl to identify the file
|
1080
|
+
# name of the attachment to upload.
|
1081
|
+
#
|
1082
|
+
# @option params [required, Integer] :content_length
|
1083
|
+
# Required element for GetCaseAttachmentUploadUrl to identify the size
|
1084
|
+
# od the file attachment.
|
1085
|
+
#
|
1086
|
+
# @option params [String] :client_token
|
1087
|
+
# Optional element for customer provided token.
|
1088
|
+
#
|
1089
|
+
# **A suitable default value is auto-generated.** You should normally
|
1090
|
+
# not need to pass this option.**
|
1091
|
+
#
|
1092
|
+
# @return [Types::GetCaseAttachmentUploadUrlResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
|
1093
|
+
#
|
1094
|
+
# * {Types::GetCaseAttachmentUploadUrlResponse#attachment_presigned_url #attachment_presigned_url} => String
|
1095
|
+
#
|
1096
|
+
#
|
1097
|
+
# @example Example: Invoke GetCaseAttachmentUploadUrl
|
1098
|
+
#
|
1099
|
+
# resp = client.get_case_attachment_upload_url({
|
1100
|
+
# case_id: "8403556009",
|
1101
|
+
# content_length: 1500,
|
1102
|
+
# file_name: "TestFileName",
|
1103
|
+
# })
|
1104
|
+
#
|
1105
|
+
# resp.to_h outputs the following:
|
1106
|
+
# {
|
1107
|
+
# attachment_presigned_url: "https://presignedurl.com",
|
1108
|
+
# }
|
1109
|
+
#
|
1110
|
+
# @example Request syntax with placeholder values
|
1111
|
+
#
|
1112
|
+
# resp = client.get_case_attachment_upload_url({
|
1113
|
+
# case_id: "CaseId", # required
|
1114
|
+
# file_name: "FileName", # required
|
1115
|
+
# content_length: 1, # required
|
1116
|
+
# client_token: "GetCaseAttachmentUploadUrlRequestClientTokenString",
|
1117
|
+
# })
|
1118
|
+
#
|
1119
|
+
# @example Response structure
|
1120
|
+
#
|
1121
|
+
# resp.attachment_presigned_url #=> String
|
1122
|
+
#
|
1123
|
+
# @see http://docs.aws.amazon.com/goto/WebAPI/security-ir-2018-05-10/GetCaseAttachmentUploadUrl AWS API Documentation
|
1124
|
+
#
|
1125
|
+
# @overload get_case_attachment_upload_url(params = {})
|
1126
|
+
# @param [Hash] params ({})
|
1127
|
+
def get_case_attachment_upload_url(params = {}, options = {})
|
1128
|
+
req = build_request(:get_case_attachment_upload_url, params)
|
1129
|
+
req.send_request(options)
|
1130
|
+
end
|
1131
|
+
|
1132
|
+
# Grants permission to get details of a designated service membership.
|
1133
|
+
#
|
1134
|
+
# @option params [required, String] :membership_id
|
1135
|
+
# Required element for GetMembership to identify the membership ID to
|
1136
|
+
# query.
|
1137
|
+
#
|
1138
|
+
# @return [Types::GetMembershipResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
|
1139
|
+
#
|
1140
|
+
# * {Types::GetMembershipResponse#membership_id #membership_id} => String
|
1141
|
+
# * {Types::GetMembershipResponse#account_id #account_id} => String
|
1142
|
+
# * {Types::GetMembershipResponse#region #region} => String
|
1143
|
+
# * {Types::GetMembershipResponse#membership_name #membership_name} => String
|
1144
|
+
# * {Types::GetMembershipResponse#membership_arn #membership_arn} => String
|
1145
|
+
# * {Types::GetMembershipResponse#membership_status #membership_status} => String
|
1146
|
+
# * {Types::GetMembershipResponse#membership_activation_timestamp #membership_activation_timestamp} => Time
|
1147
|
+
# * {Types::GetMembershipResponse#membership_deactivation_timestamp #membership_deactivation_timestamp} => Time
|
1148
|
+
# * {Types::GetMembershipResponse#customer_type #customer_type} => String
|
1149
|
+
# * {Types::GetMembershipResponse#number_of_accounts_covered #number_of_accounts_covered} => Integer
|
1150
|
+
# * {Types::GetMembershipResponse#incident_response_team #incident_response_team} => Array<Types::IncidentResponder>
|
1151
|
+
# * {Types::GetMembershipResponse#opt_in_features #opt_in_features} => Array<Types::OptInFeature>
|
1152
|
+
#
|
1153
|
+
#
|
1154
|
+
# @example Example: Invoke GetMembership
|
1155
|
+
#
|
1156
|
+
# resp = client.get_membership({
|
1157
|
+
# membership_id: "m-abcd1234efgh",
|
1158
|
+
# })
|
1159
|
+
#
|
1160
|
+
# resp.to_h outputs the following:
|
1161
|
+
# {
|
1162
|
+
# account_id: "123412341234",
|
1163
|
+
# customer_type: "Standalone",
|
1164
|
+
# incident_response_team: [
|
1165
|
+
# {
|
1166
|
+
# name: "Bob Jones",
|
1167
|
+
# email: "bob.jones@gmail.com",
|
1168
|
+
# job_title: "Security Responder",
|
1169
|
+
# },
|
1170
|
+
# {
|
1171
|
+
# name: "Alice",
|
1172
|
+
# email: "alice@example.com",
|
1173
|
+
# job_title: "CEO",
|
1174
|
+
# },
|
1175
|
+
# ],
|
1176
|
+
# membership_activation_timestamp: Time.parse("2023-03-27T15:32:01.789Z"),
|
1177
|
+
# membership_arn: "arn:aws:security-ir:us-west-1:123456789012:membership/m-abcd1234efgh",
|
1178
|
+
# membership_deactivation_timestamp: Time.parse("2023-04-27T15:32:01.789Z"),
|
1179
|
+
# membership_id: "m-abcd1234efgh",
|
1180
|
+
# membership_name: "Example Membership",
|
1181
|
+
# membership_status: "Active",
|
1182
|
+
# number_of_accounts_covered: 50,
|
1183
|
+
# opt_in_features: [
|
1184
|
+
# {
|
1185
|
+
# feature_name: "Triage",
|
1186
|
+
# is_enabled: true,
|
1187
|
+
# },
|
1188
|
+
# ],
|
1189
|
+
# region: "af-south-1",
|
1190
|
+
# }
|
1191
|
+
#
|
1192
|
+
# @example Request syntax with placeholder values
|
1193
|
+
#
|
1194
|
+
# resp = client.get_membership({
|
1195
|
+
# membership_id: "MembershipId", # required
|
1196
|
+
# })
|
1197
|
+
#
|
1198
|
+
# @example Response structure
|
1199
|
+
#
|
1200
|
+
# resp.membership_id #=> String
|
1201
|
+
# resp.account_id #=> String
|
1202
|
+
# resp.region #=> String, one of "af-south-1", "ap-east-1", "ap-northeast-1", "ap-northeast-2", "ap-northeast-3", "ap-south-1", "ap-south-2", "ap-southeast-1", "ap-southeast-2", "ap-southeast-3", "ap-southeast-4", "ap-southeast-5", "ca-central-1", "ca-west-1", "cn-north-1", "cn-northwest-1", "eu-central-1", "eu-central-2", "eu-north-1", "eu-south-1", "eu-south-2", "eu-west-1", "eu-west-2", "eu-west-3", "il-central-1", "me-central-1", "me-south-1", "sa-east-1", "us-east-1", "us-east-2", "us-west-1", "us-west-2"
|
1203
|
+
# resp.membership_name #=> String
|
1204
|
+
# resp.membership_arn #=> String
|
1205
|
+
# resp.membership_status #=> String, one of "Active", "Cancelled", "Terminated"
|
1206
|
+
# resp.membership_activation_timestamp #=> Time
|
1207
|
+
# resp.membership_deactivation_timestamp #=> Time
|
1208
|
+
# resp.customer_type #=> String, one of "Standalone", "Organization"
|
1209
|
+
# resp.number_of_accounts_covered #=> Integer
|
1210
|
+
# resp.incident_response_team #=> Array
|
1211
|
+
# resp.incident_response_team[0].name #=> String
|
1212
|
+
# resp.incident_response_team[0].job_title #=> String
|
1213
|
+
# resp.incident_response_team[0].email #=> String
|
1214
|
+
# resp.opt_in_features #=> Array
|
1215
|
+
# resp.opt_in_features[0].feature_name #=> String, one of "Triage"
|
1216
|
+
# resp.opt_in_features[0].is_enabled #=> Boolean
|
1217
|
+
#
|
1218
|
+
# @see http://docs.aws.amazon.com/goto/WebAPI/security-ir-2018-05-10/GetMembership AWS API Documentation
|
1219
|
+
#
|
1220
|
+
# @overload get_membership(params = {})
|
1221
|
+
# @param [Hash] params ({})
|
1222
|
+
def get_membership(params = {}, options = {})
|
1223
|
+
req = build_request(:get_membership, params)
|
1224
|
+
req.send_request(options)
|
1225
|
+
end
|
1226
|
+
|
1227
|
+
# Grants permissions to view the aidt log for edits made to a designated
|
1228
|
+
# case.
|
1229
|
+
#
|
1230
|
+
# @option params [String] :next_token
|
1231
|
+
# Optional element for a customer provided token.
|
1232
|
+
#
|
1233
|
+
# @option params [Integer] :max_results
|
1234
|
+
# Optional element to identify how many results to obtain. There is a
|
1235
|
+
# maximum value of 25.
|
1236
|
+
#
|
1237
|
+
# @option params [required, String] :case_id
|
1238
|
+
# Required element used with ListCaseEdits to identify the case to
|
1239
|
+
# query.
|
1240
|
+
#
|
1241
|
+
# @return [Types::ListCaseEditsResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
|
1242
|
+
#
|
1243
|
+
# * {Types::ListCaseEditsResponse#next_token #next_token} => String
|
1244
|
+
# * {Types::ListCaseEditsResponse#items #items} => Array<Types::CaseEditItem>
|
1245
|
+
# * {Types::ListCaseEditsResponse#total #total} => Integer
|
1246
|
+
#
|
1247
|
+
# The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
|
1248
|
+
#
|
1249
|
+
#
|
1250
|
+
# @example Example: Invoke ListCaseEdits
|
1251
|
+
#
|
1252
|
+
# resp = client.list_case_edits({
|
1253
|
+
# case_id: "8403556009",
|
1254
|
+
# })
|
1255
|
+
#
|
1256
|
+
# resp.to_h outputs the following:
|
1257
|
+
# {
|
1258
|
+
# items: [
|
1259
|
+
# {
|
1260
|
+
# action: "Add comment",
|
1261
|
+
# event_timestamp: Time.parse("2023-03-27T15:32:01.789Z"),
|
1262
|
+
# message: "Added comment to ask question to responder.",
|
1263
|
+
# principal: "00000000000",
|
1264
|
+
# },
|
1265
|
+
# ],
|
1266
|
+
# total: 1,
|
1267
|
+
# }
|
1268
|
+
#
|
1269
|
+
# @example Request syntax with placeholder values
|
1270
|
+
#
|
1271
|
+
# resp = client.list_case_edits({
|
1272
|
+
# next_token: "ListCaseEditsRequestNextTokenString",
|
1273
|
+
# max_results: 1,
|
1274
|
+
# case_id: "CaseId", # required
|
1275
|
+
# })
|
1276
|
+
#
|
1277
|
+
# @example Response structure
|
1278
|
+
#
|
1279
|
+
# resp.next_token #=> String
|
1280
|
+
# resp.items #=> Array
|
1281
|
+
# resp.items[0].event_timestamp #=> Time
|
1282
|
+
# resp.items[0].principal #=> String
|
1283
|
+
# resp.items[0].action #=> String
|
1284
|
+
# resp.items[0].message #=> String
|
1285
|
+
# resp.total #=> Integer
|
1286
|
+
#
|
1287
|
+
# @see http://docs.aws.amazon.com/goto/WebAPI/security-ir-2018-05-10/ListCaseEdits AWS API Documentation
|
1288
|
+
#
|
1289
|
+
# @overload list_case_edits(params = {})
|
1290
|
+
# @param [Hash] params ({})
|
1291
|
+
def list_case_edits(params = {}, options = {})
|
1292
|
+
req = build_request(:list_case_edits, params)
|
1293
|
+
req.send_request(options)
|
1294
|
+
end
|
1295
|
+
|
1296
|
+
# Grants permission to list all cases the requester has access to.
|
1297
|
+
#
|
1298
|
+
# @option params [String] :next_token
|
1299
|
+
# Optional element.
|
1300
|
+
#
|
1301
|
+
# @option params [Integer] :max_results
|
1302
|
+
# Optional element for ListCases to limit the number of responses.
|
1303
|
+
#
|
1304
|
+
# @return [Types::ListCasesResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
|
1305
|
+
#
|
1306
|
+
# * {Types::ListCasesResponse#next_token #next_token} => String
|
1307
|
+
# * {Types::ListCasesResponse#items #items} => Array<Types::ListCasesItem>
|
1308
|
+
# * {Types::ListCasesResponse#total #total} => Integer
|
1309
|
+
#
|
1310
|
+
# The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
|
1311
|
+
#
|
1312
|
+
#
|
1313
|
+
# @example Example: Invoke ListCases
|
1314
|
+
#
|
1315
|
+
# resp = client.list_cases({
|
1316
|
+
# max_results: 10,
|
1317
|
+
# })
|
1318
|
+
#
|
1319
|
+
# resp.to_h outputs the following:
|
1320
|
+
# {
|
1321
|
+
# items: [
|
1322
|
+
# {
|
1323
|
+
# case_arn: "arn:aws:security-ir:us-west-1:123456789012:case/1234567890",
|
1324
|
+
# case_id: "8403556009",
|
1325
|
+
# case_status: "Acknowledged",
|
1326
|
+
# created_date: Time.parse("2023-01-27T15:32:01.789Z"),
|
1327
|
+
# engagement_type: "Security Incident",
|
1328
|
+
# last_updated_date: Time.parse("2023-03-27T15:32:01.789Z"),
|
1329
|
+
# pending_action: "None",
|
1330
|
+
# resolver_type: "Self",
|
1331
|
+
# title: "Example case title",
|
1332
|
+
# },
|
1333
|
+
# ],
|
1334
|
+
# total: 1,
|
1335
|
+
# }
|
1336
|
+
#
|
1337
|
+
# @example Request syntax with placeholder values
|
1338
|
+
#
|
1339
|
+
# resp = client.list_cases({
|
1340
|
+
# next_token: "ListCasesRequestNextTokenString",
|
1341
|
+
# max_results: 1,
|
1342
|
+
# })
|
1343
|
+
#
|
1344
|
+
# @example Response structure
|
1345
|
+
#
|
1346
|
+
# resp.next_token #=> String
|
1347
|
+
# resp.items #=> Array
|
1348
|
+
# resp.items[0].case_id #=> String
|
1349
|
+
# resp.items[0].last_updated_date #=> Time
|
1350
|
+
# resp.items[0].title #=> String
|
1351
|
+
# resp.items[0].case_arn #=> String
|
1352
|
+
# resp.items[0].engagement_type #=> String, one of "Security Incident", "Investigation"
|
1353
|
+
# resp.items[0].case_status #=> String, one of "Submitted", "Acknowledged", "Detection and Analysis", "Containment, Eradication and Recovery", "Post-incident Activities", "Ready to Close", "Closed"
|
1354
|
+
# resp.items[0].created_date #=> Time
|
1355
|
+
# resp.items[0].closed_date #=> Time
|
1356
|
+
# resp.items[0].resolver_type #=> String, one of "AWS", "Self"
|
1357
|
+
# resp.items[0].pending_action #=> String, one of "Customer", "None"
|
1358
|
+
# resp.total #=> Integer
|
1359
|
+
#
|
1360
|
+
# @see http://docs.aws.amazon.com/goto/WebAPI/security-ir-2018-05-10/ListCases AWS API Documentation
|
1361
|
+
#
|
1362
|
+
# @overload list_cases(params = {})
|
1363
|
+
# @param [Hash] params ({})
|
1364
|
+
def list_cases(params = {}, options = {})
|
1365
|
+
req = build_request(:list_cases, params)
|
1366
|
+
req.send_request(options)
|
1367
|
+
end
|
1368
|
+
|
1369
|
+
# Grants permissions to list and view comments for a designated case.
|
1370
|
+
#
|
1371
|
+
# @option params [String] :next_token
|
1372
|
+
# Optional element.
|
1373
|
+
#
|
1374
|
+
# @option params [Integer] :max_results
|
1375
|
+
# Optional element for ListComments to limit the number of responses.
|
1376
|
+
#
|
1377
|
+
# @option params [required, String] :case_id
|
1378
|
+
# Required element for ListComments to designate the case to query.
|
1379
|
+
#
|
1380
|
+
# @return [Types::ListCommentsResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
|
1381
|
+
#
|
1382
|
+
# * {Types::ListCommentsResponse#next_token #next_token} => String
|
1383
|
+
# * {Types::ListCommentsResponse#items #items} => Array<Types::ListCommentsItem>
|
1384
|
+
# * {Types::ListCommentsResponse#total #total} => Integer
|
1385
|
+
#
|
1386
|
+
# The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
|
1387
|
+
#
|
1388
|
+
#
|
1389
|
+
# @example Example: Invoke ListComments
|
1390
|
+
#
|
1391
|
+
# resp = client.list_comments({
|
1392
|
+
# case_id: "8403556009",
|
1393
|
+
# })
|
1394
|
+
#
|
1395
|
+
# resp.to_h outputs the following:
|
1396
|
+
# {
|
1397
|
+
# items: [
|
1398
|
+
# {
|
1399
|
+
# body: "Case comment body.",
|
1400
|
+
# comment_id: "000000",
|
1401
|
+
# },
|
1402
|
+
# ],
|
1403
|
+
# total: 1,
|
1404
|
+
# }
|
1405
|
+
#
|
1406
|
+
# @example Request syntax with placeholder values
|
1407
|
+
#
|
1408
|
+
# resp = client.list_comments({
|
1409
|
+
# next_token: "ListCommentsRequestNextTokenString",
|
1410
|
+
# max_results: 1,
|
1411
|
+
# case_id: "CaseId", # required
|
1412
|
+
# })
|
1413
|
+
#
|
1414
|
+
# @example Response structure
|
1415
|
+
#
|
1416
|
+
# resp.next_token #=> String
|
1417
|
+
# resp.items #=> Array
|
1418
|
+
# resp.items[0].comment_id #=> String
|
1419
|
+
# resp.items[0].created_date #=> Time
|
1420
|
+
# resp.items[0].last_updated_date #=> Time
|
1421
|
+
# resp.items[0].creator #=> String
|
1422
|
+
# resp.items[0].last_updated_by #=> String
|
1423
|
+
# resp.items[0].body #=> String
|
1424
|
+
# resp.total #=> Integer
|
1425
|
+
#
|
1426
|
+
# @see http://docs.aws.amazon.com/goto/WebAPI/security-ir-2018-05-10/ListComments AWS API Documentation
|
1427
|
+
#
|
1428
|
+
# @overload list_comments(params = {})
|
1429
|
+
# @param [Hash] params ({})
|
1430
|
+
def list_comments(params = {}, options = {})
|
1431
|
+
req = build_request(:list_comments, params)
|
1432
|
+
req.send_request(options)
|
1433
|
+
end
|
1434
|
+
|
1435
|
+
# Grants permission to query the memberships a principal has access to.
|
1436
|
+
#
|
1437
|
+
# @option params [String] :next_token
|
1438
|
+
# Optional element.
|
1439
|
+
#
|
1440
|
+
# @option params [Integer] :max_results
|
1441
|
+
# Request element for ListMemberships to limit the number of responses.
|
1442
|
+
#
|
1443
|
+
# @return [Types::ListMembershipsResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
|
1444
|
+
#
|
1445
|
+
# * {Types::ListMembershipsResponse#next_token #next_token} => String
|
1446
|
+
# * {Types::ListMembershipsResponse#items #items} => Array<Types::ListMembershipItem>
|
1447
|
+
#
|
1448
|
+
# The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
|
1449
|
+
#
|
1450
|
+
#
|
1451
|
+
# @example Example: Invoke ListMemberships
|
1452
|
+
#
|
1453
|
+
# resp = client.list_memberships({
|
1454
|
+
# max_results: 10,
|
1455
|
+
# })
|
1456
|
+
#
|
1457
|
+
# resp.to_h outputs the following:
|
1458
|
+
# {
|
1459
|
+
# items: [
|
1460
|
+
# {
|
1461
|
+
# account_id: "123123123123",
|
1462
|
+
# membership_arn: "arn:aws:security-ir:us-west-1:123456789012:membership/m-abcd1234efgh",
|
1463
|
+
# membership_id: "m-abcd1234efgh",
|
1464
|
+
# membership_status: "Cancelled",
|
1465
|
+
# region: "af-south-1",
|
1466
|
+
# },
|
1467
|
+
# ],
|
1468
|
+
# }
|
1469
|
+
#
|
1470
|
+
# @example Request syntax with placeholder values
|
1471
|
+
#
|
1472
|
+
# resp = client.list_memberships({
|
1473
|
+
# next_token: "ListMembershipsRequestNextTokenString",
|
1474
|
+
# max_results: 1,
|
1475
|
+
# })
|
1476
|
+
#
|
1477
|
+
# @example Response structure
|
1478
|
+
#
|
1479
|
+
# resp.next_token #=> String
|
1480
|
+
# resp.items #=> Array
|
1481
|
+
# resp.items[0].membership_id #=> String
|
1482
|
+
# resp.items[0].account_id #=> String
|
1483
|
+
# resp.items[0].region #=> String, one of "af-south-1", "ap-east-1", "ap-northeast-1", "ap-northeast-2", "ap-northeast-3", "ap-south-1", "ap-south-2", "ap-southeast-1", "ap-southeast-2", "ap-southeast-3", "ap-southeast-4", "ap-southeast-5", "ca-central-1", "ca-west-1", "cn-north-1", "cn-northwest-1", "eu-central-1", "eu-central-2", "eu-north-1", "eu-south-1", "eu-south-2", "eu-west-1", "eu-west-2", "eu-west-3", "il-central-1", "me-central-1", "me-south-1", "sa-east-1", "us-east-1", "us-east-2", "us-west-1", "us-west-2"
|
1484
|
+
# resp.items[0].membership_arn #=> String
|
1485
|
+
# resp.items[0].membership_status #=> String, one of "Active", "Cancelled", "Terminated"
|
1486
|
+
#
|
1487
|
+
# @see http://docs.aws.amazon.com/goto/WebAPI/security-ir-2018-05-10/ListMemberships AWS API Documentation
|
1488
|
+
#
|
1489
|
+
# @overload list_memberships(params = {})
|
1490
|
+
# @param [Hash] params ({})
|
1491
|
+
def list_memberships(params = {}, options = {})
|
1492
|
+
req = build_request(:list_memberships, params)
|
1493
|
+
req.send_request(options)
|
1494
|
+
end
|
1495
|
+
|
1496
|
+
# Grants permission to view currently configured tags on a resource.
|
1497
|
+
#
|
1498
|
+
# @option params [required, String] :resource_arn
|
1499
|
+
# Required element for ListTagsForResource to provide the ARN to
|
1500
|
+
# identify a specific resource.
|
1501
|
+
#
|
1502
|
+
# @return [Types::ListTagsForResourceOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
|
1503
|
+
#
|
1504
|
+
# * {Types::ListTagsForResourceOutput#tags #tags} => Hash<String,String>
|
1505
|
+
#
|
1506
|
+
#
|
1507
|
+
# @example Example: Invoke ListTagsForResource
|
1508
|
+
#
|
1509
|
+
# resp = client.list_tags_for_resource({
|
1510
|
+
# resource_arn: "arn:aws:security-ir:us-west-1:123456789012:membership/m-abcd1234efgh",
|
1511
|
+
# })
|
1512
|
+
#
|
1513
|
+
# resp.to_h outputs the following:
|
1514
|
+
# {
|
1515
|
+
# tags: {
|
1516
|
+
# "key" => "example-tag-key",
|
1517
|
+
# "value" => "example-tag-value",
|
1518
|
+
# },
|
1519
|
+
# }
|
1520
|
+
#
|
1521
|
+
# @example Request syntax with placeholder values
|
1522
|
+
#
|
1523
|
+
# resp = client.list_tags_for_resource({
|
1524
|
+
# resource_arn: "Arn", # required
|
1525
|
+
# })
|
1526
|
+
#
|
1527
|
+
# @example Response structure
|
1528
|
+
#
|
1529
|
+
# resp.tags #=> Hash
|
1530
|
+
# resp.tags["TagKey"] #=> String
|
1531
|
+
#
|
1532
|
+
# @see http://docs.aws.amazon.com/goto/WebAPI/security-ir-2018-05-10/ListTagsForResource AWS API Documentation
|
1533
|
+
#
|
1534
|
+
# @overload list_tags_for_resource(params = {})
|
1535
|
+
# @param [Hash] params ({})
|
1536
|
+
def list_tags_for_resource(params = {}, options = {})
|
1537
|
+
req = build_request(:list_tags_for_resource, params)
|
1538
|
+
req.send_request(options)
|
1539
|
+
end
|
1540
|
+
|
1541
|
+
# Grants permission to add a tag(s) to a designated resource.
|
1542
|
+
#
|
1543
|
+
# @option params [required, String] :resource_arn
|
1544
|
+
# Required element for TagResource to identify the ARN for the resource
|
1545
|
+
# to add a tag to.
|
1546
|
+
#
|
1547
|
+
# @option params [required, Hash<String,String>] :tags
|
1548
|
+
# Required element for ListTagsForResource to provide the content for a
|
1549
|
+
# tag.
|
1550
|
+
#
|
1551
|
+
# @return [Struct] Returns an empty {Seahorse::Client::Response response}.
|
1552
|
+
#
|
1553
|
+
#
|
1554
|
+
# @example Example: Invoke TagResource
|
1555
|
+
#
|
1556
|
+
# resp = client.tag_resource({
|
1557
|
+
# resource_arn: "arn:aws:security-ir:us-west-1:123456789012:membership/m-abcd1234efgh",
|
1558
|
+
# tags: {
|
1559
|
+
# "key" => "example-tag-key",
|
1560
|
+
# "value" => "example-tag-value",
|
1561
|
+
# },
|
1562
|
+
# })
|
1563
|
+
#
|
1564
|
+
# resp.to_h outputs the following:
|
1565
|
+
# {
|
1566
|
+
# }
|
1567
|
+
#
|
1568
|
+
# @example Request syntax with placeholder values
|
1569
|
+
#
|
1570
|
+
# resp = client.tag_resource({
|
1571
|
+
# resource_arn: "Arn", # required
|
1572
|
+
# tags: { # required
|
1573
|
+
# "TagKey" => "TagValue",
|
1574
|
+
# },
|
1575
|
+
# })
|
1576
|
+
#
|
1577
|
+
# @see http://docs.aws.amazon.com/goto/WebAPI/security-ir-2018-05-10/TagResource AWS API Documentation
|
1578
|
+
#
|
1579
|
+
# @overload tag_resource(params = {})
|
1580
|
+
# @param [Hash] params ({})
|
1581
|
+
def tag_resource(params = {}, options = {})
|
1582
|
+
req = build_request(:tag_resource, params)
|
1583
|
+
req.send_request(options)
|
1584
|
+
end
|
1585
|
+
|
1586
|
+
# Grants permission to remove a tag(s) from a designate resource.
|
1587
|
+
#
|
1588
|
+
# @option params [required, String] :resource_arn
|
1589
|
+
# Required element for UnTagResource to identify the ARN for the
|
1590
|
+
# resource to remove a tag from.
|
1591
|
+
#
|
1592
|
+
# @option params [required, Array<String>] :tag_keys
|
1593
|
+
# Required element for UnTagResource to identify tag to remove.
|
1594
|
+
#
|
1595
|
+
# @return [Struct] Returns an empty {Seahorse::Client::Response response}.
|
1596
|
+
#
|
1597
|
+
#
|
1598
|
+
# @example Example: Invoke UntagResource
|
1599
|
+
#
|
1600
|
+
# resp = client.untag_resource({
|
1601
|
+
# resource_arn: "arn:aws:security-ir:us-west-1:123456789012:membership/m-abcd1234efgh",
|
1602
|
+
# tag_keys: [
|
1603
|
+
# "example-tag-key",
|
1604
|
+
# ],
|
1605
|
+
# })
|
1606
|
+
#
|
1607
|
+
# @example Request syntax with placeholder values
|
1608
|
+
#
|
1609
|
+
# resp = client.untag_resource({
|
1610
|
+
# resource_arn: "Arn", # required
|
1611
|
+
# tag_keys: ["TagKey"], # required
|
1612
|
+
# })
|
1613
|
+
#
|
1614
|
+
# @see http://docs.aws.amazon.com/goto/WebAPI/security-ir-2018-05-10/UntagResource AWS API Documentation
|
1615
|
+
#
|
1616
|
+
# @overload untag_resource(params = {})
|
1617
|
+
# @param [Hash] params ({})
|
1618
|
+
def untag_resource(params = {}, options = {})
|
1619
|
+
req = build_request(:untag_resource, params)
|
1620
|
+
req.send_request(options)
|
1621
|
+
end
|
1622
|
+
|
1623
|
+
# Grants permission to update an existing case.
|
1624
|
+
#
|
1625
|
+
# @option params [required, String] :case_id
|
1626
|
+
# Required element for UpdateCase to identify the case ID for updates.
|
1627
|
+
#
|
1628
|
+
# @option params [String] :title
|
1629
|
+
# Optional element for UpdateCase to provide content for the title
|
1630
|
+
# field.
|
1631
|
+
#
|
1632
|
+
# @option params [String] :description
|
1633
|
+
# Optional element for UpdateCase to provide content for the description
|
1634
|
+
# field.
|
1635
|
+
#
|
1636
|
+
# @option params [Time,DateTime,Date,Integer,String] :reported_incident_start_date
|
1637
|
+
# Optional element for UpdateCase to provide content for the customer
|
1638
|
+
# reported incident start date field.
|
1639
|
+
#
|
1640
|
+
# @option params [Time,DateTime,Date,Integer,String] :actual_incident_start_date
|
1641
|
+
# Optional element for UpdateCase to provide content for the incident
|
1642
|
+
# start date field.
|
1643
|
+
#
|
1644
|
+
# @option params [String] :engagement_type
|
1645
|
+
# Optional element for UpdateCase to provide content for the engagement
|
1646
|
+
# type field. `Available engagement types include Security Incident |
|
1647
|
+
# Investigation`.
|
1648
|
+
#
|
1649
|
+
# @option params [Array<Types::Watcher>] :watchers_to_add
|
1650
|
+
# Optional element for UpdateCase to provide content to add additional
|
1651
|
+
# watchers to a case.
|
1652
|
+
#
|
1653
|
+
# @option params [Array<Types::Watcher>] :watchers_to_delete
|
1654
|
+
# Optional element for UpdateCase to provide content to remove existing
|
1655
|
+
# watchers from a case.
|
1656
|
+
#
|
1657
|
+
# @option params [Array<Types::ThreatActorIp>] :threat_actor_ip_addresses_to_add
|
1658
|
+
# Optional element for UpdateCase to provide content to add additional
|
1659
|
+
# suspicious IP addresses related to a case.
|
1660
|
+
#
|
1661
|
+
# @option params [Array<Types::ThreatActorIp>] :threat_actor_ip_addresses_to_delete
|
1662
|
+
# Optional element for UpdateCase to provide content to remove
|
1663
|
+
# suspicious IP addresses from a case.
|
1664
|
+
#
|
1665
|
+
# @option params [Array<String>] :impacted_services_to_add
|
1666
|
+
# Optional element for UpdateCase to provide content to add services
|
1667
|
+
# impacted.
|
1668
|
+
#
|
1669
|
+
# @option params [Array<String>] :impacted_services_to_delete
|
1670
|
+
# Optional element for UpdateCase to provide content to remove services
|
1671
|
+
# impacted.
|
1672
|
+
#
|
1673
|
+
# @option params [Array<Types::ImpactedAwsRegion>] :impacted_aws_regions_to_add
|
1674
|
+
# Optional element for UpdateCase to provide content to add regions
|
1675
|
+
# impacted.
|
1676
|
+
#
|
1677
|
+
# @option params [Array<Types::ImpactedAwsRegion>] :impacted_aws_regions_to_delete
|
1678
|
+
# Optional element for UpdateCase to provide content to remove regions
|
1679
|
+
# impacted.
|
1680
|
+
#
|
1681
|
+
# @option params [Array<String>] :impacted_accounts_to_add
|
1682
|
+
# Optional element for UpdateCase to provide content to add accounts
|
1683
|
+
# impacted.
|
1684
|
+
#
|
1685
|
+
# @option params [Array<String>] :impacted_accounts_to_delete
|
1686
|
+
# Optional element for UpdateCase to provide content to add accounts
|
1687
|
+
# impacted.
|
1688
|
+
#
|
1689
|
+
# @return [Struct] Returns an empty {Seahorse::Client::Response response}.
|
1690
|
+
#
|
1691
|
+
#
|
1692
|
+
# @example Example: Invoke UpdateCase
|
1693
|
+
#
|
1694
|
+
# resp = client.update_case({
|
1695
|
+
# actual_incident_start_date: Time.parse("2023-03-25T15:32:01.789Z"),
|
1696
|
+
# case_id: "8403556009",
|
1697
|
+
# description: "Case description",
|
1698
|
+
# engagement_type: "Investigation",
|
1699
|
+
# impacted_accounts_to_add: [
|
1700
|
+
# "000000000000",
|
1701
|
+
# ],
|
1702
|
+
# impacted_accounts_to_delete: [
|
1703
|
+
# "111111111111",
|
1704
|
+
# ],
|
1705
|
+
# impacted_aws_regions_to_add: [
|
1706
|
+
# {
|
1707
|
+
# region: "ap-southeast-1",
|
1708
|
+
# },
|
1709
|
+
# ],
|
1710
|
+
# impacted_aws_regions_to_delete: [
|
1711
|
+
# {
|
1712
|
+
# region: "us-east-1",
|
1713
|
+
# },
|
1714
|
+
# ],
|
1715
|
+
# impacted_services_to_add: [
|
1716
|
+
# "Amazon EC2",
|
1717
|
+
# ],
|
1718
|
+
# impacted_services_to_delete: [
|
1719
|
+
# "Amazon EKS",
|
1720
|
+
# ],
|
1721
|
+
# reported_incident_start_date: Time.parse("2023-03-27T15:32:01.789Z"),
|
1722
|
+
# threat_actor_ip_addresses_to_add: [
|
1723
|
+
# {
|
1724
|
+
# ip_address: "190.160.190.160",
|
1725
|
+
# user_agent: "Browser",
|
1726
|
+
# },
|
1727
|
+
# ],
|
1728
|
+
# threat_actor_ip_addresses_to_delete: [
|
1729
|
+
# {
|
1730
|
+
# ip_address: "192.168.192.168",
|
1731
|
+
# user_agent: "Browser",
|
1732
|
+
# },
|
1733
|
+
# ],
|
1734
|
+
# title: "My sample case",
|
1735
|
+
# watchers_to_add: [
|
1736
|
+
# {
|
1737
|
+
# name: "Same",
|
1738
|
+
# email: "Sam@example.com",
|
1739
|
+
# job_title: "CEO",
|
1740
|
+
# },
|
1741
|
+
# ],
|
1742
|
+
# watchers_to_delete: [
|
1743
|
+
# {
|
1744
|
+
# name: "Bob",
|
1745
|
+
# email: "bob@example.com",
|
1746
|
+
# job_title: "CFO",
|
1747
|
+
# },
|
1748
|
+
# ],
|
1749
|
+
# })
|
1750
|
+
#
|
1751
|
+
# resp.to_h outputs the following:
|
1752
|
+
# {
|
1753
|
+
# }
|
1754
|
+
#
|
1755
|
+
# @example Request syntax with placeholder values
|
1756
|
+
#
|
1757
|
+
# resp = client.update_case({
|
1758
|
+
# case_id: "CaseId", # required
|
1759
|
+
# title: "CaseTitle",
|
1760
|
+
# description: "CaseDescription",
|
1761
|
+
# reported_incident_start_date: Time.now,
|
1762
|
+
# actual_incident_start_date: Time.now,
|
1763
|
+
# engagement_type: "Security Incident", # accepts Security Incident, Investigation
|
1764
|
+
# watchers_to_add: [
|
1765
|
+
# {
|
1766
|
+
# email: "EmailAddress", # required
|
1767
|
+
# name: "PersonName",
|
1768
|
+
# job_title: "JobTitle",
|
1769
|
+
# },
|
1770
|
+
# ],
|
1771
|
+
# watchers_to_delete: [
|
1772
|
+
# {
|
1773
|
+
# email: "EmailAddress", # required
|
1774
|
+
# name: "PersonName",
|
1775
|
+
# job_title: "JobTitle",
|
1776
|
+
# },
|
1777
|
+
# ],
|
1778
|
+
# threat_actor_ip_addresses_to_add: [
|
1779
|
+
# {
|
1780
|
+
# ip_address: "IPAddress", # required
|
1781
|
+
# user_agent: "UserAgent",
|
1782
|
+
# },
|
1783
|
+
# ],
|
1784
|
+
# threat_actor_ip_addresses_to_delete: [
|
1785
|
+
# {
|
1786
|
+
# ip_address: "IPAddress", # required
|
1787
|
+
# user_agent: "UserAgent",
|
1788
|
+
# },
|
1789
|
+
# ],
|
1790
|
+
# impacted_services_to_add: ["AwsService"],
|
1791
|
+
# impacted_services_to_delete: ["AwsService"],
|
1792
|
+
# impacted_aws_regions_to_add: [
|
1793
|
+
# {
|
1794
|
+
# region: "af-south-1", # required, accepts af-south-1, ap-east-1, ap-northeast-1, ap-northeast-2, ap-northeast-3, ap-south-1, ap-south-2, ap-southeast-1, ap-southeast-2, ap-southeast-3, ap-southeast-4, ap-southeast-5, ca-central-1, ca-west-1, cn-north-1, cn-northwest-1, eu-central-1, eu-central-2, eu-north-1, eu-south-1, eu-south-2, eu-west-1, eu-west-2, eu-west-3, il-central-1, me-central-1, me-south-1, sa-east-1, us-east-1, us-east-2, us-west-1, us-west-2
|
1795
|
+
# },
|
1796
|
+
# ],
|
1797
|
+
# impacted_aws_regions_to_delete: [
|
1798
|
+
# {
|
1799
|
+
# region: "af-south-1", # required, accepts af-south-1, ap-east-1, ap-northeast-1, ap-northeast-2, ap-northeast-3, ap-south-1, ap-south-2, ap-southeast-1, ap-southeast-2, ap-southeast-3, ap-southeast-4, ap-southeast-5, ca-central-1, ca-west-1, cn-north-1, cn-northwest-1, eu-central-1, eu-central-2, eu-north-1, eu-south-1, eu-south-2, eu-west-1, eu-west-2, eu-west-3, il-central-1, me-central-1, me-south-1, sa-east-1, us-east-1, us-east-2, us-west-1, us-west-2
|
1800
|
+
# },
|
1801
|
+
# ],
|
1802
|
+
# impacted_accounts_to_add: ["AWSAccountId"],
|
1803
|
+
# impacted_accounts_to_delete: ["AWSAccountId"],
|
1804
|
+
# })
|
1805
|
+
#
|
1806
|
+
# @see http://docs.aws.amazon.com/goto/WebAPI/security-ir-2018-05-10/UpdateCase AWS API Documentation
|
1807
|
+
#
|
1808
|
+
# @overload update_case(params = {})
|
1809
|
+
# @param [Hash] params ({})
|
1810
|
+
def update_case(params = {}, options = {})
|
1811
|
+
req = build_request(:update_case, params)
|
1812
|
+
req.send_request(options)
|
1813
|
+
end
|
1814
|
+
|
1815
|
+
# Grants permission to update an existing case comment.
|
1816
|
+
#
|
1817
|
+
# @option params [required, String] :case_id
|
1818
|
+
# Required element for UpdateCaseComment to identify the case ID
|
1819
|
+
# containing the comment to be updated.
|
1820
|
+
#
|
1821
|
+
# @option params [required, String] :comment_id
|
1822
|
+
# Required element for UpdateCaseComment to identify the case ID to be
|
1823
|
+
# updated.
|
1824
|
+
#
|
1825
|
+
# @option params [required, String] :body
|
1826
|
+
# Required element for UpdateCaseComment to identify the content for the
|
1827
|
+
# comment to be updated.
|
1828
|
+
#
|
1829
|
+
# @return [Types::UpdateCaseCommentResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
|
1830
|
+
#
|
1831
|
+
# * {Types::UpdateCaseCommentResponse#comment_id #comment_id} => String
|
1832
|
+
# * {Types::UpdateCaseCommentResponse#body #body} => String
|
1833
|
+
#
|
1834
|
+
#
|
1835
|
+
# @example Example: Invoke UpdateCaseComment
|
1836
|
+
#
|
1837
|
+
# resp = client.update_case_comment({
|
1838
|
+
# body: "Updated case comment.",
|
1839
|
+
# case_id: "8403556009",
|
1840
|
+
# comment_id: "000000",
|
1841
|
+
# })
|
1842
|
+
#
|
1843
|
+
# resp.to_h outputs the following:
|
1844
|
+
# {
|
1845
|
+
# body: "Updated case comment.",
|
1846
|
+
# comment_id: "000000",
|
1847
|
+
# }
|
1848
|
+
#
|
1849
|
+
# @example Request syntax with placeholder values
|
1850
|
+
#
|
1851
|
+
# resp = client.update_case_comment({
|
1852
|
+
# case_id: "CaseId", # required
|
1853
|
+
# comment_id: "CommentId", # required
|
1854
|
+
# body: "CommentBody", # required
|
1855
|
+
# })
|
1856
|
+
#
|
1857
|
+
# @example Response structure
|
1858
|
+
#
|
1859
|
+
# resp.comment_id #=> String
|
1860
|
+
# resp.body #=> String
|
1861
|
+
#
|
1862
|
+
# @see http://docs.aws.amazon.com/goto/WebAPI/security-ir-2018-05-10/UpdateCaseComment AWS API Documentation
|
1863
|
+
#
|
1864
|
+
# @overload update_case_comment(params = {})
|
1865
|
+
# @param [Hash] params ({})
|
1866
|
+
def update_case_comment(params = {}, options = {})
|
1867
|
+
req = build_request(:update_case_comment, params)
|
1868
|
+
req.send_request(options)
|
1869
|
+
end
|
1870
|
+
|
1871
|
+
# Grants permission to update the status for a designated cases. Options
|
1872
|
+
# include `Submitted | Detection and Analysis | Eradication, Containment
|
1873
|
+
# and Recovery | Post-Incident Activities | Closed`.
|
1874
|
+
#
|
1875
|
+
# @option params [required, String] :case_id
|
1876
|
+
# Required element for UpdateCaseStatus to identify the case to update.
|
1877
|
+
#
|
1878
|
+
# @option params [required, String] :case_status
|
1879
|
+
# Required element for UpdateCaseStatus to identify the status for a
|
1880
|
+
# case. Options include `Submitted | Detection and Analysis |
|
1881
|
+
# Containment, Eradication and Recovery | Post-incident Activities`.
|
1882
|
+
#
|
1883
|
+
# @return [Types::UpdateCaseStatusResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
|
1884
|
+
#
|
1885
|
+
# * {Types::UpdateCaseStatusResponse#case_status #case_status} => String
|
1886
|
+
#
|
1887
|
+
#
|
1888
|
+
# @example Example: Invoke UpdateCaseStatus
|
1889
|
+
#
|
1890
|
+
# resp = client.update_case_status({
|
1891
|
+
# case_id: "8403556009",
|
1892
|
+
# case_status: "Post-incident Activities",
|
1893
|
+
# })
|
1894
|
+
#
|
1895
|
+
# resp.to_h outputs the following:
|
1896
|
+
# {
|
1897
|
+
# case_status: "Post-incident Activities",
|
1898
|
+
# }
|
1899
|
+
#
|
1900
|
+
# @example Request syntax with placeholder values
|
1901
|
+
#
|
1902
|
+
# resp = client.update_case_status({
|
1903
|
+
# case_id: "CaseId", # required
|
1904
|
+
# case_status: "Submitted", # required, accepts Submitted, Detection and Analysis, Containment, Eradication and Recovery, Post-incident Activities
|
1905
|
+
# })
|
1906
|
+
#
|
1907
|
+
# @example Response structure
|
1908
|
+
#
|
1909
|
+
# resp.case_status #=> String, one of "Submitted", "Detection and Analysis", "Containment, Eradication and Recovery", "Post-incident Activities"
|
1910
|
+
#
|
1911
|
+
# @see http://docs.aws.amazon.com/goto/WebAPI/security-ir-2018-05-10/UpdateCaseStatus AWS API Documentation
|
1912
|
+
#
|
1913
|
+
# @overload update_case_status(params = {})
|
1914
|
+
# @param [Hash] params ({})
|
1915
|
+
def update_case_status(params = {}, options = {})
|
1916
|
+
req = build_request(:update_case_status, params)
|
1917
|
+
req.send_request(options)
|
1918
|
+
end
|
1919
|
+
|
1920
|
+
# Grants access to UpdateMembership to change membership configuration.
|
1921
|
+
#
|
1922
|
+
# @option params [required, String] :membership_id
|
1923
|
+
# Required element for UpdateMembership to identify the membership to
|
1924
|
+
# update.
|
1925
|
+
#
|
1926
|
+
# @option params [String] :membership_name
|
1927
|
+
# Optional element for UpdateMembership to update the membership name.
|
1928
|
+
#
|
1929
|
+
# @option params [Array<Types::IncidentResponder>] :incident_response_team
|
1930
|
+
# Optional element for UpdateMembership to update the membership name.
|
1931
|
+
#
|
1932
|
+
# @option params [Array<Types::OptInFeature>] :opt_in_features
|
1933
|
+
# Optional element for UpdateMembership to enable or disable opt-in
|
1934
|
+
# features for the service.
|
1935
|
+
#
|
1936
|
+
# @return [Struct] Returns an empty {Seahorse::Client::Response response}.
|
1937
|
+
#
|
1938
|
+
#
|
1939
|
+
# @example Example: Invoke UpdateMembership
|
1940
|
+
#
|
1941
|
+
# resp = client.update_membership({
|
1942
|
+
# incident_response_team: [
|
1943
|
+
# {
|
1944
|
+
# name: "Bob Jones",
|
1945
|
+
# email: "bob.jones@gmail.com",
|
1946
|
+
# job_title: "Security Responder",
|
1947
|
+
# },
|
1948
|
+
# {
|
1949
|
+
# name: "Alice",
|
1950
|
+
# email: "alice@example.com",
|
1951
|
+
# job_title: "CEO",
|
1952
|
+
# },
|
1953
|
+
# ],
|
1954
|
+
# membership_id: "m-abcd1234efgh",
|
1955
|
+
# membership_name: "New membership name",
|
1956
|
+
# opt_in_features: [
|
1957
|
+
# {
|
1958
|
+
# feature_name: "Triage",
|
1959
|
+
# is_enabled: true,
|
1960
|
+
# },
|
1961
|
+
# ],
|
1962
|
+
# })
|
1963
|
+
#
|
1964
|
+
# resp.to_h outputs the following:
|
1965
|
+
# {
|
1966
|
+
# }
|
1967
|
+
#
|
1968
|
+
# @example Request syntax with placeholder values
|
1969
|
+
#
|
1970
|
+
# resp = client.update_membership({
|
1971
|
+
# membership_id: "MembershipId", # required
|
1972
|
+
# membership_name: "MembershipName",
|
1973
|
+
# incident_response_team: [
|
1974
|
+
# {
|
1975
|
+
# name: "IncidentResponderName", # required
|
1976
|
+
# job_title: "JobTitle", # required
|
1977
|
+
# email: "EmailAddress", # required
|
1978
|
+
# },
|
1979
|
+
# ],
|
1980
|
+
# opt_in_features: [
|
1981
|
+
# {
|
1982
|
+
# feature_name: "Triage", # required, accepts Triage
|
1983
|
+
# is_enabled: false, # required
|
1984
|
+
# },
|
1985
|
+
# ],
|
1986
|
+
# })
|
1987
|
+
#
|
1988
|
+
# @see http://docs.aws.amazon.com/goto/WebAPI/security-ir-2018-05-10/UpdateMembership AWS API Documentation
|
1989
|
+
#
|
1990
|
+
# @overload update_membership(params = {})
|
1991
|
+
# @param [Hash] params ({})
|
1992
|
+
def update_membership(params = {}, options = {})
|
1993
|
+
req = build_request(:update_membership, params)
|
1994
|
+
req.send_request(options)
|
1995
|
+
end
|
1996
|
+
|
1997
|
+
# Grants permission to update the resolver type for a case.
|
1998
|
+
#
|
1999
|
+
# This is a one-way action and cannot be reversed.
|
2000
|
+
#
|
2001
|
+
# Options include self-supported > AWS-supported.
|
2002
|
+
#
|
2003
|
+
# @option params [required, String] :case_id
|
2004
|
+
# Required element for UpdateResolverType to identify the case to
|
2005
|
+
# update.
|
2006
|
+
#
|
2007
|
+
# @option params [required, String] :resolver_type
|
2008
|
+
# Required element for UpdateResolverType to identify the new resolver.
|
2009
|
+
#
|
2010
|
+
# @return [Types::UpdateResolverTypeResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
|
2011
|
+
#
|
2012
|
+
# * {Types::UpdateResolverTypeResponse#case_id #case_id} => String
|
2013
|
+
# * {Types::UpdateResolverTypeResponse#case_status #case_status} => String
|
2014
|
+
# * {Types::UpdateResolverTypeResponse#resolver_type #resolver_type} => String
|
2015
|
+
#
|
2016
|
+
#
|
2017
|
+
# @example Example: Invoke UpdateResolverType
|
2018
|
+
#
|
2019
|
+
# resp = client.update_resolver_type({
|
2020
|
+
# case_id: "8403556009",
|
2021
|
+
# resolver_type: "AWS",
|
2022
|
+
# })
|
2023
|
+
#
|
2024
|
+
# resp.to_h outputs the following:
|
2025
|
+
# {
|
2026
|
+
# case_id: "8403556009",
|
2027
|
+
# case_status: "Detection and Analysis",
|
2028
|
+
# resolver_type: "AWS",
|
2029
|
+
# }
|
2030
|
+
#
|
2031
|
+
# @example Request syntax with placeholder values
|
2032
|
+
#
|
2033
|
+
# resp = client.update_resolver_type({
|
2034
|
+
# case_id: "CaseId", # required
|
2035
|
+
# resolver_type: "AWS", # required, accepts AWS, Self
|
2036
|
+
# })
|
2037
|
+
#
|
2038
|
+
# @example Response structure
|
2039
|
+
#
|
2040
|
+
# resp.case_id #=> String
|
2041
|
+
# resp.case_status #=> String, one of "Submitted", "Acknowledged", "Detection and Analysis", "Containment, Eradication and Recovery", "Post-incident Activities", "Ready to Close", "Closed"
|
2042
|
+
# resp.resolver_type #=> String, one of "AWS", "Self"
|
2043
|
+
#
|
2044
|
+
# @see http://docs.aws.amazon.com/goto/WebAPI/security-ir-2018-05-10/UpdateResolverType AWS API Documentation
|
2045
|
+
#
|
2046
|
+
# @overload update_resolver_type(params = {})
|
2047
|
+
# @param [Hash] params ({})
|
2048
|
+
def update_resolver_type(params = {}, options = {})
|
2049
|
+
req = build_request(:update_resolver_type, params)
|
2050
|
+
req.send_request(options)
|
2051
|
+
end
|
2052
|
+
|
2053
|
+
# @!endgroup
|
2054
|
+
|
2055
|
+
# @param params ({})
|
2056
|
+
# @api private
|
2057
|
+
def build_request(operation_name, params = {})
|
2058
|
+
handlers = @handlers.for(operation_name)
|
2059
|
+
tracer = config.telemetry_provider.tracer_provider.tracer(
|
2060
|
+
Aws::Telemetry.module_to_tracer_name('Aws::SecurityIR')
|
2061
|
+
)
|
2062
|
+
context = Seahorse::Client::RequestContext.new(
|
2063
|
+
operation_name: operation_name,
|
2064
|
+
operation: config.api.operation(operation_name),
|
2065
|
+
client: self,
|
2066
|
+
params: params,
|
2067
|
+
config: config,
|
2068
|
+
tracer: tracer
|
2069
|
+
)
|
2070
|
+
context[:gem_name] = 'aws-sdk-securityir'
|
2071
|
+
context[:gem_version] = '1.0.0'
|
2072
|
+
Seahorse::Client::Request.new(handlers, context)
|
2073
|
+
end
|
2074
|
+
|
2075
|
+
# @api private
|
2076
|
+
# @deprecated
|
2077
|
+
def waiter_names
|
2078
|
+
[]
|
2079
|
+
end
|
2080
|
+
|
2081
|
+
class << self
|
2082
|
+
|
2083
|
+
# @api private
|
2084
|
+
attr_reader :identifier
|
2085
|
+
|
2086
|
+
# @api private
|
2087
|
+
def errors_module
|
2088
|
+
Errors
|
2089
|
+
end
|
2090
|
+
|
2091
|
+
end
|
2092
|
+
end
|
2093
|
+
end
|