aws-sdk-mailmanager 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,2841 @@
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/sign.rb'
36
+ require 'aws-sdk-core/plugins/protocols/json_rpc.rb'
37
+
38
+ Aws::Plugins::GlobalConfiguration.add_identifier(:mailmanager)
39
+
40
+ module Aws::MailManager
41
+ # An API client for MailManager. To construct a client, you need to configure a `:region` and `:credentials`.
42
+ #
43
+ # client = Aws::MailManager::Client.new(
44
+ # region: region_name,
45
+ # credentials: credentials,
46
+ # # ...
47
+ # )
48
+ #
49
+ # For details on configuring region and credentials see
50
+ # the [developer guide](/sdk-for-ruby/v3/developer-guide/setup-config.html).
51
+ #
52
+ # See {#initialize} for a full list of supported configuration options.
53
+ class Client < Seahorse::Client::Base
54
+
55
+ include Aws::ClientStubs
56
+
57
+ @identifier = :mailmanager
58
+
59
+ set_api(ClientApi::API)
60
+
61
+ add_plugin(Seahorse::Client::Plugins::ContentLength)
62
+ add_plugin(Aws::Plugins::CredentialsConfiguration)
63
+ add_plugin(Aws::Plugins::Logging)
64
+ add_plugin(Aws::Plugins::ParamConverter)
65
+ add_plugin(Aws::Plugins::ParamValidator)
66
+ add_plugin(Aws::Plugins::UserAgent)
67
+ add_plugin(Aws::Plugins::HelpfulSocketErrors)
68
+ add_plugin(Aws::Plugins::RetryErrors)
69
+ add_plugin(Aws::Plugins::GlobalConfiguration)
70
+ add_plugin(Aws::Plugins::RegionalEndpoint)
71
+ add_plugin(Aws::Plugins::EndpointDiscovery)
72
+ add_plugin(Aws::Plugins::EndpointPattern)
73
+ add_plugin(Aws::Plugins::ResponsePaging)
74
+ add_plugin(Aws::Plugins::StubResponses)
75
+ add_plugin(Aws::Plugins::IdempotencyToken)
76
+ add_plugin(Aws::Plugins::InvocationId)
77
+ add_plugin(Aws::Plugins::JsonvalueConverter)
78
+ add_plugin(Aws::Plugins::ClientMetricsPlugin)
79
+ add_plugin(Aws::Plugins::ClientMetricsSendPlugin)
80
+ add_plugin(Aws::Plugins::TransferEncoding)
81
+ add_plugin(Aws::Plugins::HttpChecksum)
82
+ add_plugin(Aws::Plugins::ChecksumAlgorithm)
83
+ add_plugin(Aws::Plugins::RequestCompression)
84
+ add_plugin(Aws::Plugins::DefaultsMode)
85
+ add_plugin(Aws::Plugins::RecursionDetection)
86
+ add_plugin(Aws::Plugins::Sign)
87
+ add_plugin(Aws::Plugins::Protocols::JsonRpc)
88
+ add_plugin(Aws::MailManager::Plugins::Endpoints)
89
+
90
+ # @overload initialize(options)
91
+ # @param [Hash] options
92
+ # @option options [required, Aws::CredentialProvider] :credentials
93
+ # Your AWS credentials. This can be an instance of any one of the
94
+ # following classes:
95
+ #
96
+ # * `Aws::Credentials` - Used for configuring static, non-refreshing
97
+ # credentials.
98
+ #
99
+ # * `Aws::SharedCredentials` - Used for loading static credentials from a
100
+ # shared file, such as `~/.aws/config`.
101
+ #
102
+ # * `Aws::AssumeRoleCredentials` - Used when you need to assume a role.
103
+ #
104
+ # * `Aws::AssumeRoleWebIdentityCredentials` - Used when you need to
105
+ # assume a role after providing credentials via the web.
106
+ #
107
+ # * `Aws::SSOCredentials` - Used for loading credentials from AWS SSO using an
108
+ # access token generated from `aws login`.
109
+ #
110
+ # * `Aws::ProcessCredentials` - Used for loading credentials from a
111
+ # process that outputs to stdout.
112
+ #
113
+ # * `Aws::InstanceProfileCredentials` - Used for loading credentials
114
+ # from an EC2 IMDS on an EC2 instance.
115
+ #
116
+ # * `Aws::ECSCredentials` - Used for loading credentials from
117
+ # instances running in ECS.
118
+ #
119
+ # * `Aws::CognitoIdentityCredentials` - Used for loading credentials
120
+ # from the Cognito Identity service.
121
+ #
122
+ # When `:credentials` are not configured directly, the following
123
+ # locations will be searched for credentials:
124
+ #
125
+ # * `Aws.config[:credentials]`
126
+ # * The `:access_key_id`, `:secret_access_key`, and `:session_token` options.
127
+ # * ENV['AWS_ACCESS_KEY_ID'], ENV['AWS_SECRET_ACCESS_KEY']
128
+ # * `~/.aws/credentials`
129
+ # * `~/.aws/config`
130
+ # * EC2/ECS IMDS instance profile - When used by default, the timeouts
131
+ # are very aggressive. Construct and pass an instance of
132
+ # `Aws::InstanceProfileCredentails` or `Aws::ECSCredentials` to
133
+ # enable retries and extended timeouts. Instance profile credential
134
+ # fetching can be disabled by setting ENV['AWS_EC2_METADATA_DISABLED']
135
+ # to true.
136
+ #
137
+ # @option options [required, String] :region
138
+ # The AWS region to connect to. The configured `:region` is
139
+ # used to determine the service `:endpoint`. When not passed,
140
+ # a default `:region` is searched for in the following locations:
141
+ #
142
+ # * `Aws.config[:region]`
143
+ # * `ENV['AWS_REGION']`
144
+ # * `ENV['AMAZON_REGION']`
145
+ # * `ENV['AWS_DEFAULT_REGION']`
146
+ # * `~/.aws/credentials`
147
+ # * `~/.aws/config`
148
+ #
149
+ # @option options [String] :access_key_id
150
+ #
151
+ # @option options [Boolean] :active_endpoint_cache (false)
152
+ # When set to `true`, a thread polling for endpoints will be running in
153
+ # the background every 60 secs (default). Defaults to `false`.
154
+ #
155
+ # @option options [Boolean] :adaptive_retry_wait_to_fill (true)
156
+ # Used only in `adaptive` retry mode. When true, the request will sleep
157
+ # until there is sufficent client side capacity to retry the request.
158
+ # When false, the request will raise a `RetryCapacityNotAvailableError` and will
159
+ # not retry instead of sleeping.
160
+ #
161
+ # @option options [Boolean] :client_side_monitoring (false)
162
+ # When `true`, client-side metrics will be collected for all API requests from
163
+ # this client.
164
+ #
165
+ # @option options [String] :client_side_monitoring_client_id ("")
166
+ # Allows you to provide an identifier for this client which will be attached to
167
+ # all generated client side metrics. Defaults to an empty string.
168
+ #
169
+ # @option options [String] :client_side_monitoring_host ("127.0.0.1")
170
+ # Allows you to specify the DNS hostname or IPv4 or IPv6 address that the client
171
+ # side monitoring agent is running on, where client metrics will be published via UDP.
172
+ #
173
+ # @option options [Integer] :client_side_monitoring_port (31000)
174
+ # Required for publishing client metrics. The port that the client side monitoring
175
+ # agent is running on, where client metrics will be published via UDP.
176
+ #
177
+ # @option options [Aws::ClientSideMonitoring::Publisher] :client_side_monitoring_publisher (Aws::ClientSideMonitoring::Publisher)
178
+ # Allows you to provide a custom client-side monitoring publisher class. By default,
179
+ # will use the Client Side Monitoring Agent Publisher.
180
+ #
181
+ # @option options [Boolean] :convert_params (true)
182
+ # When `true`, an attempt is made to coerce request parameters into
183
+ # the required types.
184
+ #
185
+ # @option options [Boolean] :correct_clock_skew (true)
186
+ # Used only in `standard` and adaptive retry modes. Specifies whether to apply
187
+ # a clock skew correction and retry requests with skewed client clocks.
188
+ #
189
+ # @option options [String] :defaults_mode ("legacy")
190
+ # See {Aws::DefaultsModeConfiguration} for a list of the
191
+ # accepted modes and the configuration defaults that are included.
192
+ #
193
+ # @option options [Boolean] :disable_host_prefix_injection (false)
194
+ # Set to true to disable SDK automatically adding host prefix
195
+ # to default service endpoint when available.
196
+ #
197
+ # @option options [Boolean] :disable_request_compression (false)
198
+ # When set to 'true' the request body will not be compressed
199
+ # for supported operations.
200
+ #
201
+ # @option options [String, URI::HTTPS, URI::HTTP] :endpoint
202
+ # Normally you should not configure the `:endpoint` option
203
+ # directly. This is normally constructed from the `:region`
204
+ # option. Configuring `:endpoint` is normally reserved for
205
+ # connecting to test or custom endpoints. The endpoint should
206
+ # be a URI formatted like:
207
+ #
208
+ # 'http://example.com'
209
+ # 'https://example.com'
210
+ # 'http://example.com:123'
211
+ #
212
+ #
213
+ # @option options [Integer] :endpoint_cache_max_entries (1000)
214
+ # Used for the maximum size limit of the LRU cache storing endpoints data
215
+ # for endpoint discovery enabled operations. Defaults to 1000.
216
+ #
217
+ # @option options [Integer] :endpoint_cache_max_threads (10)
218
+ # Used for the maximum threads in use for polling endpoints to be cached, defaults to 10.
219
+ #
220
+ # @option options [Integer] :endpoint_cache_poll_interval (60)
221
+ # When :endpoint_discovery and :active_endpoint_cache is enabled,
222
+ # Use this option to config the time interval in seconds for making
223
+ # requests fetching endpoints information. Defaults to 60 sec.
224
+ #
225
+ # @option options [Boolean] :endpoint_discovery (false)
226
+ # When set to `true`, endpoint discovery will be enabled for operations when available.
227
+ #
228
+ # @option options [Boolean] :ignore_configured_endpoint_urls
229
+ # Setting to true disables use of endpoint URLs provided via environment
230
+ # variables and the shared configuration file.
231
+ #
232
+ # @option options [Aws::Log::Formatter] :log_formatter (Aws::Log::Formatter.default)
233
+ # The log formatter.
234
+ #
235
+ # @option options [Symbol] :log_level (:info)
236
+ # The log level to send messages to the `:logger` at.
237
+ #
238
+ # @option options [Logger] :logger
239
+ # The Logger instance to send log messages to. If this option
240
+ # is not set, logging will be disabled.
241
+ #
242
+ # @option options [Integer] :max_attempts (3)
243
+ # An integer representing the maximum number attempts that will be made for
244
+ # a single request, including the initial attempt. For example,
245
+ # setting this value to 5 will result in a request being retried up to
246
+ # 4 times. Used in `standard` and `adaptive` retry modes.
247
+ #
248
+ # @option options [String] :profile ("default")
249
+ # Used when loading credentials from the shared credentials file
250
+ # at HOME/.aws/credentials. When not specified, 'default' is used.
251
+ #
252
+ # @option options [Integer] :request_min_compression_size_bytes (10240)
253
+ # The minimum size in bytes that triggers compression for request
254
+ # bodies. The value must be non-negative integer value between 0
255
+ # and 10485780 bytes inclusive.
256
+ #
257
+ # @option options [Proc] :retry_backoff
258
+ # A proc or lambda used for backoff. Defaults to 2**retries * retry_base_delay.
259
+ # This option is only used in the `legacy` retry mode.
260
+ #
261
+ # @option options [Float] :retry_base_delay (0.3)
262
+ # The base delay in seconds used by the default backoff function. This option
263
+ # is only used in the `legacy` retry mode.
264
+ #
265
+ # @option options [Symbol] :retry_jitter (:none)
266
+ # A delay randomiser function used by the default backoff function.
267
+ # Some predefined functions can be referenced by name - :none, :equal, :full,
268
+ # otherwise a Proc that takes and returns a number. This option is only used
269
+ # in the `legacy` retry mode.
270
+ #
271
+ # @see https://www.awsarchitectureblog.com/2015/03/backoff.html
272
+ #
273
+ # @option options [Integer] :retry_limit (3)
274
+ # The maximum number of times to retry failed requests. Only
275
+ # ~ 500 level server errors and certain ~ 400 level client errors
276
+ # are retried. Generally, these are throttling errors, data
277
+ # checksum errors, networking errors, timeout errors, auth errors,
278
+ # endpoint discovery, and errors from expired credentials.
279
+ # This option is only used in the `legacy` retry mode.
280
+ #
281
+ # @option options [Integer] :retry_max_delay (0)
282
+ # The maximum number of seconds to delay between retries (0 for no limit)
283
+ # used by the default backoff function. This option is only used in the
284
+ # `legacy` retry mode.
285
+ #
286
+ # @option options [String] :retry_mode ("legacy")
287
+ # Specifies which retry algorithm to use. Values are:
288
+ #
289
+ # * `legacy` - The pre-existing retry behavior. This is default value if
290
+ # no retry mode is provided.
291
+ #
292
+ # * `standard` - A standardized set of retry rules across the AWS SDKs.
293
+ # This includes support for retry quotas, which limit the number of
294
+ # unsuccessful retries a client can make.
295
+ #
296
+ # * `adaptive` - An experimental retry mode that includes all the
297
+ # functionality of `standard` mode along with automatic client side
298
+ # throttling. This is a provisional mode that may change behavior
299
+ # in the future.
300
+ #
301
+ #
302
+ # @option options [String] :sdk_ua_app_id
303
+ # A unique and opaque application ID that is appended to the
304
+ # User-Agent header as app/sdk_ua_app_id. It should have a
305
+ # maximum length of 50. This variable is sourced from environment
306
+ # variable AWS_SDK_UA_APP_ID or the shared config profile attribute sdk_ua_app_id.
307
+ #
308
+ # @option options [String] :secret_access_key
309
+ #
310
+ # @option options [String] :session_token
311
+ #
312
+ # @option options [Boolean] :simple_json (false)
313
+ # Disables request parameter conversion, validation, and formatting.
314
+ # Also disable response data type conversions. This option is useful
315
+ # when you want to ensure the highest level of performance by
316
+ # avoiding overhead of walking request parameters and response data
317
+ # structures.
318
+ #
319
+ # When `:simple_json` is enabled, the request parameters hash must
320
+ # be formatted exactly as the DynamoDB API expects.
321
+ #
322
+ # @option options [Boolean] :stub_responses (false)
323
+ # Causes the client to return stubbed responses. By default
324
+ # fake responses are generated and returned. You can specify
325
+ # the response data to return or errors to raise by calling
326
+ # {ClientStubs#stub_responses}. See {ClientStubs} for more information.
327
+ #
328
+ # ** Please note ** When response stubbing is enabled, no HTTP
329
+ # requests are made, and retries are disabled.
330
+ #
331
+ # @option options [Aws::TokenProvider] :token_provider
332
+ # A Bearer Token Provider. This can be an instance of any one of the
333
+ # following classes:
334
+ #
335
+ # * `Aws::StaticTokenProvider` - Used for configuring static, non-refreshing
336
+ # tokens.
337
+ #
338
+ # * `Aws::SSOTokenProvider` - Used for loading tokens from AWS SSO using an
339
+ # access token generated from `aws login`.
340
+ #
341
+ # When `:token_provider` is not configured directly, the `Aws::TokenProviderChain`
342
+ # will be used to search for tokens configured for your profile in shared configuration files.
343
+ #
344
+ # @option options [Boolean] :use_dualstack_endpoint
345
+ # When set to `true`, dualstack enabled endpoints (with `.aws` TLD)
346
+ # will be used if available.
347
+ #
348
+ # @option options [Boolean] :use_fips_endpoint
349
+ # When set to `true`, fips compatible endpoints will be used if available.
350
+ # When a `fips` region is used, the region is normalized and this config
351
+ # is set to `true`.
352
+ #
353
+ # @option options [Boolean] :validate_params (true)
354
+ # When `true`, request parameters are validated before
355
+ # sending the request.
356
+ #
357
+ # @option options [Aws::MailManager::EndpointProvider] :endpoint_provider
358
+ # The endpoint provider used to resolve endpoints. Any object that responds to `#resolve_endpoint(parameters)` where `parameters` is a Struct similar to `Aws::MailManager::EndpointParameters`
359
+ #
360
+ # @option options [Float] :http_continue_timeout (1)
361
+ # The number of seconds to wait for a 100-continue response before sending the
362
+ # request body. This option has no effect unless the request has "Expect"
363
+ # header set to "100-continue". Defaults to `nil` which disables this
364
+ # behaviour. This value can safely be set per request on the session.
365
+ #
366
+ # @option options [Float] :http_idle_timeout (5)
367
+ # The number of seconds a connection is allowed to sit idle before it
368
+ # is considered stale. Stale connections are closed and removed from the
369
+ # pool before making a request.
370
+ #
371
+ # @option options [Float] :http_open_timeout (15)
372
+ # The default number of seconds to wait for response data.
373
+ # This value can safely be set per-request on the session.
374
+ #
375
+ # @option options [URI::HTTP,String] :http_proxy
376
+ # A proxy to send requests through. Formatted like 'http://proxy.com:123'.
377
+ #
378
+ # @option options [Float] :http_read_timeout (60)
379
+ # The default number of seconds to wait for response data.
380
+ # This value can safely be set per-request on the session.
381
+ #
382
+ # @option options [Boolean] :http_wire_trace (false)
383
+ # When `true`, HTTP debug output will be sent to the `:logger`.
384
+ #
385
+ # @option options [Proc] :on_chunk_received
386
+ # When a Proc object is provided, it will be used as callback when each chunk
387
+ # of the response body is received. It provides three arguments: the chunk,
388
+ # the number of bytes received, and the total number of
389
+ # bytes in the response (or nil if the server did not send a `content-length`).
390
+ #
391
+ # @option options [Proc] :on_chunk_sent
392
+ # When a Proc object is provided, it will be used as callback when each chunk
393
+ # of the request body is sent. It provides three arguments: the chunk,
394
+ # the number of bytes read from the body, and the total number of
395
+ # bytes in the body.
396
+ #
397
+ # @option options [Boolean] :raise_response_errors (true)
398
+ # When `true`, response errors are raised.
399
+ #
400
+ # @option options [String] :ssl_ca_bundle
401
+ # Full path to the SSL certificate authority bundle file that should be used when
402
+ # verifying peer certificates. If you do not pass `:ssl_ca_bundle` or
403
+ # `:ssl_ca_directory` the the system default will be used if available.
404
+ #
405
+ # @option options [String] :ssl_ca_directory
406
+ # Full path of the directory that contains the unbundled SSL certificate
407
+ # authority files for verifying peer certificates. If you do
408
+ # not pass `:ssl_ca_bundle` or `:ssl_ca_directory` the the system
409
+ # default will be used if available.
410
+ #
411
+ # @option options [String] :ssl_ca_store
412
+ # Sets the X509::Store to verify peer certificate.
413
+ #
414
+ # @option options [Float] :ssl_timeout
415
+ # Sets the SSL timeout in seconds
416
+ #
417
+ # @option options [Boolean] :ssl_verify_peer (true)
418
+ # When `true`, SSL peer certificates are verified when establishing a connection.
419
+ #
420
+ def initialize(*args)
421
+ super
422
+ end
423
+
424
+ # @!group API Operations
425
+
426
+ # Creates an Add On instance for the subscription indicated in the
427
+ # request. The resulting Amazon Resource Name (ARN) can be used in a
428
+ # conditional statement for a rule set or traffic policy.
429
+ #
430
+ # @option params [required, String] :addon_subscription_id
431
+ # The unique ID of a previously created subscription that an Add On
432
+ # instance is created for. You can only have one instance per
433
+ # subscription.
434
+ #
435
+ # @option params [String] :client_token
436
+ # A unique token that Amazon SES uses to recognize subsequent retries of
437
+ # the same request.
438
+ #
439
+ # **A suitable default value is auto-generated.** You should normally
440
+ # not need to pass this option.**
441
+ #
442
+ # @option params [Array<Types::Tag>] :tags
443
+ # The tags used to organize, track, or control access for the resource.
444
+ # For example, \\\{ "tags": \\\{"key1":"value1",
445
+ # "key2":"value2"\\} \\}.
446
+ #
447
+ # @return [Types::CreateAddonInstanceResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
448
+ #
449
+ # * {Types::CreateAddonInstanceResponse#addon_instance_id #addon_instance_id} => String
450
+ #
451
+ # @example Request syntax with placeholder values
452
+ #
453
+ # resp = client.create_addon_instance({
454
+ # addon_subscription_id: "AddonSubscriptionId", # required
455
+ # client_token: "IdempotencyToken",
456
+ # tags: [
457
+ # {
458
+ # key: "TagKey", # required
459
+ # value: "TagValue", # required
460
+ # },
461
+ # ],
462
+ # })
463
+ #
464
+ # @example Response structure
465
+ #
466
+ # resp.addon_instance_id #=> String
467
+ #
468
+ # @see http://docs.aws.amazon.com/goto/WebAPI/mailmanager-2023-10-17/CreateAddonInstance AWS API Documentation
469
+ #
470
+ # @overload create_addon_instance(params = {})
471
+ # @param [Hash] params ({})
472
+ def create_addon_instance(params = {}, options = {})
473
+ req = build_request(:create_addon_instance, params)
474
+ req.send_request(options)
475
+ end
476
+
477
+ # Creates a subscription for an Add On representing the acceptance of
478
+ # its terms of use and additional pricing. The subscription can then be
479
+ # used to create an instance for use in rule sets or traffic policies.
480
+ #
481
+ # @option params [required, String] :addon_name
482
+ # The name of the Add On to subscribe to. You can only have one
483
+ # subscription for each Add On name.
484
+ #
485
+ # @option params [String] :client_token
486
+ # A unique token that Amazon SES uses to recognize subsequent retries of
487
+ # the same request.
488
+ #
489
+ # **A suitable default value is auto-generated.** You should normally
490
+ # not need to pass this option.**
491
+ #
492
+ # @option params [Array<Types::Tag>] :tags
493
+ # The tags used to organize, track, or control access for the resource.
494
+ # For example, \\\{ "tags": \\\{"key1":"value1",
495
+ # "key2":"value2"\\} \\}.
496
+ #
497
+ # @return [Types::CreateAddonSubscriptionResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
498
+ #
499
+ # * {Types::CreateAddonSubscriptionResponse#addon_subscription_id #addon_subscription_id} => String
500
+ #
501
+ # @example Request syntax with placeholder values
502
+ #
503
+ # resp = client.create_addon_subscription({
504
+ # addon_name: "AddonName", # required
505
+ # client_token: "IdempotencyToken",
506
+ # tags: [
507
+ # {
508
+ # key: "TagKey", # required
509
+ # value: "TagValue", # required
510
+ # },
511
+ # ],
512
+ # })
513
+ #
514
+ # @example Response structure
515
+ #
516
+ # resp.addon_subscription_id #=> String
517
+ #
518
+ # @see http://docs.aws.amazon.com/goto/WebAPI/mailmanager-2023-10-17/CreateAddonSubscription AWS API Documentation
519
+ #
520
+ # @overload create_addon_subscription(params = {})
521
+ # @param [Hash] params ({})
522
+ def create_addon_subscription(params = {}, options = {})
523
+ req = build_request(:create_addon_subscription, params)
524
+ req.send_request(options)
525
+ end
526
+
527
+ # Creates a new email archive resource for storing and retaining emails.
528
+ #
529
+ # @option params [required, String] :archive_name
530
+ # A unique name for the new archive.
531
+ #
532
+ # @option params [String] :client_token
533
+ # A unique token Amazon SES uses to recognize retries of this request.
534
+ #
535
+ # **A suitable default value is auto-generated.** You should normally
536
+ # not need to pass this option.**
537
+ #
538
+ # @option params [String] :kms_key_arn
539
+ # The Amazon Resource Name (ARN) of the KMS key for encrypting emails in
540
+ # the archive.
541
+ #
542
+ # @option params [Types::ArchiveRetention] :retention
543
+ # The period for retaining emails in the archive before automatic
544
+ # deletion.
545
+ #
546
+ # @option params [Array<Types::Tag>] :tags
547
+ # The tags used to organize, track, or control access for the resource.
548
+ # For example, \\\{ "tags": \\\{"key1":"value1",
549
+ # "key2":"value2"\\} \\}.
550
+ #
551
+ # @return [Types::CreateArchiveResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
552
+ #
553
+ # * {Types::CreateArchiveResponse#archive_id #archive_id} => String
554
+ #
555
+ # @example Request syntax with placeholder values
556
+ #
557
+ # resp = client.create_archive({
558
+ # archive_name: "ArchiveNameString", # required
559
+ # client_token: "IdempotencyToken",
560
+ # kms_key_arn: "KmsKeyArn",
561
+ # retention: {
562
+ # retention_period: "THREE_MONTHS", # accepts THREE_MONTHS, SIX_MONTHS, NINE_MONTHS, ONE_YEAR, EIGHTEEN_MONTHS, TWO_YEARS, THIRTY_MONTHS, THREE_YEARS, FOUR_YEARS, FIVE_YEARS, SIX_YEARS, SEVEN_YEARS, EIGHT_YEARS, NINE_YEARS, TEN_YEARS, PERMANENT
563
+ # },
564
+ # tags: [
565
+ # {
566
+ # key: "TagKey", # required
567
+ # value: "TagValue", # required
568
+ # },
569
+ # ],
570
+ # })
571
+ #
572
+ # @example Response structure
573
+ #
574
+ # resp.archive_id #=> String
575
+ #
576
+ # @see http://docs.aws.amazon.com/goto/WebAPI/mailmanager-2023-10-17/CreateArchive AWS API Documentation
577
+ #
578
+ # @overload create_archive(params = {})
579
+ # @param [Hash] params ({})
580
+ def create_archive(params = {}, options = {})
581
+ req = build_request(:create_archive, params)
582
+ req.send_request(options)
583
+ end
584
+
585
+ # Provision a new ingress endpoint resource.
586
+ #
587
+ # @option params [String] :client_token
588
+ # A unique token that Amazon SES uses to recognize subsequent retries of
589
+ # the same request.
590
+ #
591
+ # **A suitable default value is auto-generated.** You should normally
592
+ # not need to pass this option.**
593
+ #
594
+ # @option params [Types::IngressPointConfiguration] :ingress_point_configuration
595
+ # If you choose an Authenticated ingress endpoint, you must configure
596
+ # either an SMTP password or a secret ARN.
597
+ #
598
+ # @option params [required, String] :ingress_point_name
599
+ # A user friendly name for an ingress endpoint resource.
600
+ #
601
+ # @option params [required, String] :rule_set_id
602
+ # The identifier of an existing rule set that you attach to an ingress
603
+ # endpoint resource.
604
+ #
605
+ # @option params [Array<Types::Tag>] :tags
606
+ # The tags used to organize, track, or control access for the resource.
607
+ # For example, \\\{ "tags": \\\{"key1":"value1",
608
+ # "key2":"value2"\\} \\}.
609
+ #
610
+ # @option params [required, String] :traffic_policy_id
611
+ # The identifier of an existing traffic policy that you attach to an
612
+ # ingress endpoint resource.
613
+ #
614
+ # @option params [required, String] :type
615
+ # The type of the ingress endpoint to create.
616
+ #
617
+ # @return [Types::CreateIngressPointResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
618
+ #
619
+ # * {Types::CreateIngressPointResponse#ingress_point_id #ingress_point_id} => String
620
+ #
621
+ # @example Request syntax with placeholder values
622
+ #
623
+ # resp = client.create_ingress_point({
624
+ # client_token: "IdempotencyToken",
625
+ # ingress_point_configuration: {
626
+ # secret_arn: "SecretArn",
627
+ # smtp_password: "SmtpPassword",
628
+ # },
629
+ # ingress_point_name: "IngressPointName", # required
630
+ # rule_set_id: "RuleSetId", # required
631
+ # tags: [
632
+ # {
633
+ # key: "TagKey", # required
634
+ # value: "TagValue", # required
635
+ # },
636
+ # ],
637
+ # traffic_policy_id: "TrafficPolicyId", # required
638
+ # type: "OPEN", # required, accepts OPEN, AUTH
639
+ # })
640
+ #
641
+ # @example Response structure
642
+ #
643
+ # resp.ingress_point_id #=> String
644
+ #
645
+ # @see http://docs.aws.amazon.com/goto/WebAPI/mailmanager-2023-10-17/CreateIngressPoint AWS API Documentation
646
+ #
647
+ # @overload create_ingress_point(params = {})
648
+ # @param [Hash] params ({})
649
+ def create_ingress_point(params = {}, options = {})
650
+ req = build_request(:create_ingress_point, params)
651
+ req.send_request(options)
652
+ end
653
+
654
+ # Creates a relay resource which can be used in rules to relay incoming
655
+ # emails to defined relay destinations.
656
+ #
657
+ # @option params [required, Types::RelayAuthentication] :authentication
658
+ # Authentication for the relay destination server—specify the secretARN
659
+ # where the SMTP credentials are stored.
660
+ #
661
+ # @option params [String] :client_token
662
+ # A unique token that Amazon SES uses to recognize subsequent retries of
663
+ # the same request.
664
+ #
665
+ # **A suitable default value is auto-generated.** You should normally
666
+ # not need to pass this option.**
667
+ #
668
+ # @option params [required, String] :relay_name
669
+ # The unique name of the relay resource.
670
+ #
671
+ # @option params [required, String] :server_name
672
+ # The destination relay server address.
673
+ #
674
+ # @option params [required, Integer] :server_port
675
+ # The destination relay server port.
676
+ #
677
+ # @option params [Array<Types::Tag>] :tags
678
+ # The tags used to organize, track, or control access for the resource.
679
+ # For example, \\\{ "tags": \\\{"key1":"value1",
680
+ # "key2":"value2"\\} \\}.
681
+ #
682
+ # @return [Types::CreateRelayResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
683
+ #
684
+ # * {Types::CreateRelayResponse#relay_id #relay_id} => String
685
+ #
686
+ # @example Request syntax with placeholder values
687
+ #
688
+ # resp = client.create_relay({
689
+ # authentication: { # required
690
+ # no_authentication: {
691
+ # },
692
+ # secret_arn: "SecretArn",
693
+ # },
694
+ # client_token: "IdempotencyToken",
695
+ # relay_name: "RelayName", # required
696
+ # server_name: "RelayServerName", # required
697
+ # server_port: 1, # required
698
+ # tags: [
699
+ # {
700
+ # key: "TagKey", # required
701
+ # value: "TagValue", # required
702
+ # },
703
+ # ],
704
+ # })
705
+ #
706
+ # @example Response structure
707
+ #
708
+ # resp.relay_id #=> String
709
+ #
710
+ # @see http://docs.aws.amazon.com/goto/WebAPI/mailmanager-2023-10-17/CreateRelay AWS API Documentation
711
+ #
712
+ # @overload create_relay(params = {})
713
+ # @param [Hash] params ({})
714
+ def create_relay(params = {}, options = {})
715
+ req = build_request(:create_relay, params)
716
+ req.send_request(options)
717
+ end
718
+
719
+ # Provision a new rule set.
720
+ #
721
+ # @option params [String] :client_token
722
+ # A unique token that Amazon SES uses to recognize subsequent retries of
723
+ # the same request.
724
+ #
725
+ # **A suitable default value is auto-generated.** You should normally
726
+ # not need to pass this option.**
727
+ #
728
+ # @option params [required, String] :rule_set_name
729
+ # A user-friendly name for the rule set.
730
+ #
731
+ # @option params [required, Array<Types::Rule>] :rules
732
+ # Conditional rules that are evaluated for determining actions on email.
733
+ #
734
+ # @option params [Array<Types::Tag>] :tags
735
+ # The tags used to organize, track, or control access for the resource.
736
+ # For example, \\\{ "tags": \\\{"key1":"value1",
737
+ # "key2":"value2"\\} \\}.
738
+ #
739
+ # @return [Types::CreateRuleSetResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
740
+ #
741
+ # * {Types::CreateRuleSetResponse#rule_set_id #rule_set_id} => String
742
+ #
743
+ # @example Request syntax with placeholder values
744
+ #
745
+ # resp = client.create_rule_set({
746
+ # client_token: "IdempotencyToken",
747
+ # rule_set_name: "RuleSetName", # required
748
+ # rules: [ # required
749
+ # {
750
+ # actions: [ # required
751
+ # {
752
+ # add_header: {
753
+ # header_name: "HeaderName", # required
754
+ # header_value: "HeaderValue", # required
755
+ # },
756
+ # archive: {
757
+ # action_failure_policy: "CONTINUE", # accepts CONTINUE, DROP
758
+ # target_archive: "NameOrArn", # required
759
+ # },
760
+ # deliver_to_mailbox: {
761
+ # action_failure_policy: "CONTINUE", # accepts CONTINUE, DROP
762
+ # mailbox_arn: "NameOrArn", # required
763
+ # role_arn: "IamRoleArn", # required
764
+ # },
765
+ # drop: {
766
+ # },
767
+ # relay: {
768
+ # action_failure_policy: "CONTINUE", # accepts CONTINUE, DROP
769
+ # mail_from: "REPLACE", # accepts REPLACE, PRESERVE
770
+ # relay: "IdOrArn", # required
771
+ # },
772
+ # replace_recipient: {
773
+ # replace_with: ["EmailAddress"],
774
+ # },
775
+ # send: {
776
+ # action_failure_policy: "CONTINUE", # accepts CONTINUE, DROP
777
+ # role_arn: "IamRoleArn", # required
778
+ # },
779
+ # write_to_s3: {
780
+ # action_failure_policy: "CONTINUE", # accepts CONTINUE, DROP
781
+ # role_arn: "IamRoleArn", # required
782
+ # s3_bucket: "S3Bucket", # required
783
+ # s3_prefix: "S3Prefix",
784
+ # s3_sse_kms_key_id: "KmsKeyId",
785
+ # },
786
+ # },
787
+ # ],
788
+ # conditions: [
789
+ # {
790
+ # boolean_expression: {
791
+ # evaluate: { # required
792
+ # attribute: "READ_RECEIPT_REQUESTED", # accepts READ_RECEIPT_REQUESTED, TLS, TLS_WRAPPED
793
+ # },
794
+ # operator: "IS_TRUE", # required, accepts IS_TRUE, IS_FALSE
795
+ # },
796
+ # dmarc_expression: {
797
+ # operator: "EQUALS", # required, accepts EQUALS, NOT_EQUALS
798
+ # values: ["NONE"], # required, accepts NONE, QUARANTINE, REJECT
799
+ # },
800
+ # ip_expression: {
801
+ # evaluate: { # required
802
+ # attribute: "SOURCE_IP", # accepts SOURCE_IP
803
+ # },
804
+ # operator: "CIDR_MATCHES", # required, accepts CIDR_MATCHES, NOT_CIDR_MATCHES
805
+ # values: ["RuleIpStringValue"], # required
806
+ # },
807
+ # number_expression: {
808
+ # evaluate: { # required
809
+ # attribute: "MESSAGE_SIZE", # accepts MESSAGE_SIZE
810
+ # },
811
+ # operator: "EQUALS", # required, accepts EQUALS, NOT_EQUALS, LESS_THAN, GREATER_THAN, LESS_THAN_OR_EQUAL, GREATER_THAN_OR_EQUAL
812
+ # value: 1.0, # required
813
+ # },
814
+ # string_expression: {
815
+ # evaluate: { # required
816
+ # attribute: "MAIL_FROM", # accepts MAIL_FROM, HELO, RECIPIENT, SENDER, FROM, SUBJECT, TO, CC
817
+ # },
818
+ # operator: "EQUALS", # required, accepts EQUALS, NOT_EQUALS, STARTS_WITH, ENDS_WITH, CONTAINS
819
+ # values: ["RuleStringValue"], # required
820
+ # },
821
+ # verdict_expression: {
822
+ # evaluate: { # required
823
+ # analysis: {
824
+ # analyzer: "AnalyzerArn", # required
825
+ # result_field: "ResultField", # required
826
+ # },
827
+ # attribute: "SPF", # accepts SPF, DKIM
828
+ # },
829
+ # operator: "EQUALS", # required, accepts EQUALS, NOT_EQUALS
830
+ # values: ["PASS"], # required, accepts PASS, FAIL, GRAY, PROCESSING_FAILED
831
+ # },
832
+ # },
833
+ # ],
834
+ # name: "RuleName",
835
+ # unless: [
836
+ # {
837
+ # boolean_expression: {
838
+ # evaluate: { # required
839
+ # attribute: "READ_RECEIPT_REQUESTED", # accepts READ_RECEIPT_REQUESTED, TLS, TLS_WRAPPED
840
+ # },
841
+ # operator: "IS_TRUE", # required, accepts IS_TRUE, IS_FALSE
842
+ # },
843
+ # dmarc_expression: {
844
+ # operator: "EQUALS", # required, accepts EQUALS, NOT_EQUALS
845
+ # values: ["NONE"], # required, accepts NONE, QUARANTINE, REJECT
846
+ # },
847
+ # ip_expression: {
848
+ # evaluate: { # required
849
+ # attribute: "SOURCE_IP", # accepts SOURCE_IP
850
+ # },
851
+ # operator: "CIDR_MATCHES", # required, accepts CIDR_MATCHES, NOT_CIDR_MATCHES
852
+ # values: ["RuleIpStringValue"], # required
853
+ # },
854
+ # number_expression: {
855
+ # evaluate: { # required
856
+ # attribute: "MESSAGE_SIZE", # accepts MESSAGE_SIZE
857
+ # },
858
+ # operator: "EQUALS", # required, accepts EQUALS, NOT_EQUALS, LESS_THAN, GREATER_THAN, LESS_THAN_OR_EQUAL, GREATER_THAN_OR_EQUAL
859
+ # value: 1.0, # required
860
+ # },
861
+ # string_expression: {
862
+ # evaluate: { # required
863
+ # attribute: "MAIL_FROM", # accepts MAIL_FROM, HELO, RECIPIENT, SENDER, FROM, SUBJECT, TO, CC
864
+ # },
865
+ # operator: "EQUALS", # required, accepts EQUALS, NOT_EQUALS, STARTS_WITH, ENDS_WITH, CONTAINS
866
+ # values: ["RuleStringValue"], # required
867
+ # },
868
+ # verdict_expression: {
869
+ # evaluate: { # required
870
+ # analysis: {
871
+ # analyzer: "AnalyzerArn", # required
872
+ # result_field: "ResultField", # required
873
+ # },
874
+ # attribute: "SPF", # accepts SPF, DKIM
875
+ # },
876
+ # operator: "EQUALS", # required, accepts EQUALS, NOT_EQUALS
877
+ # values: ["PASS"], # required, accepts PASS, FAIL, GRAY, PROCESSING_FAILED
878
+ # },
879
+ # },
880
+ # ],
881
+ # },
882
+ # ],
883
+ # tags: [
884
+ # {
885
+ # key: "TagKey", # required
886
+ # value: "TagValue", # required
887
+ # },
888
+ # ],
889
+ # })
890
+ #
891
+ # @example Response structure
892
+ #
893
+ # resp.rule_set_id #=> String
894
+ #
895
+ # @see http://docs.aws.amazon.com/goto/WebAPI/mailmanager-2023-10-17/CreateRuleSet AWS API Documentation
896
+ #
897
+ # @overload create_rule_set(params = {})
898
+ # @param [Hash] params ({})
899
+ def create_rule_set(params = {}, options = {})
900
+ req = build_request(:create_rule_set, params)
901
+ req.send_request(options)
902
+ end
903
+
904
+ # Provision a new traffic policy resource.
905
+ #
906
+ # @option params [String] :client_token
907
+ # A unique token that Amazon SES uses to recognize subsequent retries of
908
+ # the same request.
909
+ #
910
+ # **A suitable default value is auto-generated.** You should normally
911
+ # not need to pass this option.**
912
+ #
913
+ # @option params [required, String] :default_action
914
+ # Default action instructs the traffic policy to either Allow or Deny
915
+ # (block) messages that fall outside of (or not addressed by) the
916
+ # conditions of your policy statements
917
+ #
918
+ # @option params [Integer] :max_message_size_bytes
919
+ # The maximum message size in bytes of email which is allowed in by this
920
+ # traffic policy—anything larger will be blocked.
921
+ #
922
+ # @option params [required, Array<Types::PolicyStatement>] :policy_statements
923
+ # Conditional statements for filtering email traffic.
924
+ #
925
+ # @option params [Array<Types::Tag>] :tags
926
+ # The tags used to organize, track, or control access for the resource.
927
+ # For example, \\\{ "tags": \\\{"key1":"value1",
928
+ # "key2":"value2"\\} \\}.
929
+ #
930
+ # @option params [required, String] :traffic_policy_name
931
+ # A user-friendly name for the traffic policy resource.
932
+ #
933
+ # @return [Types::CreateTrafficPolicyResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
934
+ #
935
+ # * {Types::CreateTrafficPolicyResponse#traffic_policy_id #traffic_policy_id} => String
936
+ #
937
+ # @example Request syntax with placeholder values
938
+ #
939
+ # resp = client.create_traffic_policy({
940
+ # client_token: "IdempotencyToken",
941
+ # default_action: "ALLOW", # required, accepts ALLOW, DENY
942
+ # max_message_size_bytes: 1,
943
+ # policy_statements: [ # required
944
+ # {
945
+ # action: "ALLOW", # required, accepts ALLOW, DENY
946
+ # conditions: [ # required
947
+ # {
948
+ # boolean_expression: {
949
+ # evaluate: { # required
950
+ # analysis: {
951
+ # analyzer: "AnalyzerArn", # required
952
+ # result_field: "ResultField", # required
953
+ # },
954
+ # },
955
+ # operator: "IS_TRUE", # required, accepts IS_TRUE, IS_FALSE
956
+ # },
957
+ # ip_expression: {
958
+ # evaluate: { # required
959
+ # attribute: "SENDER_IP", # accepts SENDER_IP
960
+ # },
961
+ # operator: "CIDR_MATCHES", # required, accepts CIDR_MATCHES, NOT_CIDR_MATCHES
962
+ # values: ["Ipv4Cidr"], # required
963
+ # },
964
+ # string_expression: {
965
+ # evaluate: { # required
966
+ # attribute: "RECIPIENT", # accepts RECIPIENT
967
+ # },
968
+ # operator: "EQUALS", # required, accepts EQUALS, NOT_EQUALS, STARTS_WITH, ENDS_WITH, CONTAINS
969
+ # values: ["String"], # required
970
+ # },
971
+ # tls_expression: {
972
+ # evaluate: { # required
973
+ # attribute: "TLS_PROTOCOL", # accepts TLS_PROTOCOL
974
+ # },
975
+ # operator: "MINIMUM_TLS_VERSION", # required, accepts MINIMUM_TLS_VERSION, IS
976
+ # value: "TLS1_2", # required, accepts TLS1_2, TLS1_3
977
+ # },
978
+ # },
979
+ # ],
980
+ # },
981
+ # ],
982
+ # tags: [
983
+ # {
984
+ # key: "TagKey", # required
985
+ # value: "TagValue", # required
986
+ # },
987
+ # ],
988
+ # traffic_policy_name: "TrafficPolicyName", # required
989
+ # })
990
+ #
991
+ # @example Response structure
992
+ #
993
+ # resp.traffic_policy_id #=> String
994
+ #
995
+ # @see http://docs.aws.amazon.com/goto/WebAPI/mailmanager-2023-10-17/CreateTrafficPolicy AWS API Documentation
996
+ #
997
+ # @overload create_traffic_policy(params = {})
998
+ # @param [Hash] params ({})
999
+ def create_traffic_policy(params = {}, options = {})
1000
+ req = build_request(:create_traffic_policy, params)
1001
+ req.send_request(options)
1002
+ end
1003
+
1004
+ # Deletes an Add On instance.
1005
+ #
1006
+ # @option params [required, String] :addon_instance_id
1007
+ # The Add On instance ID to delete.
1008
+ #
1009
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
1010
+ #
1011
+ # @example Request syntax with placeholder values
1012
+ #
1013
+ # resp = client.delete_addon_instance({
1014
+ # addon_instance_id: "AddonInstanceId", # required
1015
+ # })
1016
+ #
1017
+ # @see http://docs.aws.amazon.com/goto/WebAPI/mailmanager-2023-10-17/DeleteAddonInstance AWS API Documentation
1018
+ #
1019
+ # @overload delete_addon_instance(params = {})
1020
+ # @param [Hash] params ({})
1021
+ def delete_addon_instance(params = {}, options = {})
1022
+ req = build_request(:delete_addon_instance, params)
1023
+ req.send_request(options)
1024
+ end
1025
+
1026
+ # Deletes an Add On subscription.
1027
+ #
1028
+ # @option params [required, String] :addon_subscription_id
1029
+ # The Add On subscription ID to delete.
1030
+ #
1031
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
1032
+ #
1033
+ # @example Request syntax with placeholder values
1034
+ #
1035
+ # resp = client.delete_addon_subscription({
1036
+ # addon_subscription_id: "AddonSubscriptionId", # required
1037
+ # })
1038
+ #
1039
+ # @see http://docs.aws.amazon.com/goto/WebAPI/mailmanager-2023-10-17/DeleteAddonSubscription AWS API Documentation
1040
+ #
1041
+ # @overload delete_addon_subscription(params = {})
1042
+ # @param [Hash] params ({})
1043
+ def delete_addon_subscription(params = {}, options = {})
1044
+ req = build_request(:delete_addon_subscription, params)
1045
+ req.send_request(options)
1046
+ end
1047
+
1048
+ # Initiates deletion of an email archive. This changes the archive state
1049
+ # to pending deletion. In this state, no new emails can be added, and
1050
+ # existing archived emails become inaccessible (search, export,
1051
+ # download). The archive and all of its contents will be permanently
1052
+ # deleted 30 days after entering the pending deletion state, regardless
1053
+ # of the configured retention period.
1054
+ #
1055
+ # @option params [required, String] :archive_id
1056
+ # The identifier of the archive to delete.
1057
+ #
1058
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
1059
+ #
1060
+ # @example Request syntax with placeholder values
1061
+ #
1062
+ # resp = client.delete_archive({
1063
+ # archive_id: "ArchiveIdString", # required
1064
+ # })
1065
+ #
1066
+ # @see http://docs.aws.amazon.com/goto/WebAPI/mailmanager-2023-10-17/DeleteArchive AWS API Documentation
1067
+ #
1068
+ # @overload delete_archive(params = {})
1069
+ # @param [Hash] params ({})
1070
+ def delete_archive(params = {}, options = {})
1071
+ req = build_request(:delete_archive, params)
1072
+ req.send_request(options)
1073
+ end
1074
+
1075
+ # Delete an ingress endpoint resource.
1076
+ #
1077
+ # @option params [required, String] :ingress_point_id
1078
+ # The identifier of the ingress endpoint resource that you want to
1079
+ # delete.
1080
+ #
1081
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
1082
+ #
1083
+ # @example Request syntax with placeholder values
1084
+ #
1085
+ # resp = client.delete_ingress_point({
1086
+ # ingress_point_id: "IngressPointId", # required
1087
+ # })
1088
+ #
1089
+ # @see http://docs.aws.amazon.com/goto/WebAPI/mailmanager-2023-10-17/DeleteIngressPoint AWS API Documentation
1090
+ #
1091
+ # @overload delete_ingress_point(params = {})
1092
+ # @param [Hash] params ({})
1093
+ def delete_ingress_point(params = {}, options = {})
1094
+ req = build_request(:delete_ingress_point, params)
1095
+ req.send_request(options)
1096
+ end
1097
+
1098
+ # Deletes an existing relay resource.
1099
+ #
1100
+ # @option params [required, String] :relay_id
1101
+ # The unique relay identifier.
1102
+ #
1103
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
1104
+ #
1105
+ # @example Request syntax with placeholder values
1106
+ #
1107
+ # resp = client.delete_relay({
1108
+ # relay_id: "RelayId", # required
1109
+ # })
1110
+ #
1111
+ # @see http://docs.aws.amazon.com/goto/WebAPI/mailmanager-2023-10-17/DeleteRelay AWS API Documentation
1112
+ #
1113
+ # @overload delete_relay(params = {})
1114
+ # @param [Hash] params ({})
1115
+ def delete_relay(params = {}, options = {})
1116
+ req = build_request(:delete_relay, params)
1117
+ req.send_request(options)
1118
+ end
1119
+
1120
+ # Delete a rule set.
1121
+ #
1122
+ # @option params [required, String] :rule_set_id
1123
+ # The identifier of an existing rule set resource to delete.
1124
+ #
1125
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
1126
+ #
1127
+ # @example Request syntax with placeholder values
1128
+ #
1129
+ # resp = client.delete_rule_set({
1130
+ # rule_set_id: "RuleSetId", # required
1131
+ # })
1132
+ #
1133
+ # @see http://docs.aws.amazon.com/goto/WebAPI/mailmanager-2023-10-17/DeleteRuleSet AWS API Documentation
1134
+ #
1135
+ # @overload delete_rule_set(params = {})
1136
+ # @param [Hash] params ({})
1137
+ def delete_rule_set(params = {}, options = {})
1138
+ req = build_request(:delete_rule_set, params)
1139
+ req.send_request(options)
1140
+ end
1141
+
1142
+ # Delete a traffic policy resource.
1143
+ #
1144
+ # @option params [required, String] :traffic_policy_id
1145
+ # The identifier of the traffic policy that you want to delete.
1146
+ #
1147
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
1148
+ #
1149
+ # @example Request syntax with placeholder values
1150
+ #
1151
+ # resp = client.delete_traffic_policy({
1152
+ # traffic_policy_id: "TrafficPolicyId", # required
1153
+ # })
1154
+ #
1155
+ # @see http://docs.aws.amazon.com/goto/WebAPI/mailmanager-2023-10-17/DeleteTrafficPolicy AWS API Documentation
1156
+ #
1157
+ # @overload delete_traffic_policy(params = {})
1158
+ # @param [Hash] params ({})
1159
+ def delete_traffic_policy(params = {}, options = {})
1160
+ req = build_request(:delete_traffic_policy, params)
1161
+ req.send_request(options)
1162
+ end
1163
+
1164
+ # Gets detailed information about an Add On instance.
1165
+ #
1166
+ # @option params [required, String] :addon_instance_id
1167
+ # The Add On instance ID to retrieve information for.
1168
+ #
1169
+ # @return [Types::GetAddonInstanceResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1170
+ #
1171
+ # * {Types::GetAddonInstanceResponse#addon_instance_arn #addon_instance_arn} => String
1172
+ # * {Types::GetAddonInstanceResponse#addon_name #addon_name} => String
1173
+ # * {Types::GetAddonInstanceResponse#addon_subscription_id #addon_subscription_id} => String
1174
+ # * {Types::GetAddonInstanceResponse#created_timestamp #created_timestamp} => Time
1175
+ #
1176
+ # @example Request syntax with placeholder values
1177
+ #
1178
+ # resp = client.get_addon_instance({
1179
+ # addon_instance_id: "AddonInstanceId", # required
1180
+ # })
1181
+ #
1182
+ # @example Response structure
1183
+ #
1184
+ # resp.addon_instance_arn #=> String
1185
+ # resp.addon_name #=> String
1186
+ # resp.addon_subscription_id #=> String
1187
+ # resp.created_timestamp #=> Time
1188
+ #
1189
+ # @see http://docs.aws.amazon.com/goto/WebAPI/mailmanager-2023-10-17/GetAddonInstance AWS API Documentation
1190
+ #
1191
+ # @overload get_addon_instance(params = {})
1192
+ # @param [Hash] params ({})
1193
+ def get_addon_instance(params = {}, options = {})
1194
+ req = build_request(:get_addon_instance, params)
1195
+ req.send_request(options)
1196
+ end
1197
+
1198
+ # Gets detailed information about an Add On subscription.
1199
+ #
1200
+ # @option params [required, String] :addon_subscription_id
1201
+ # The Add On subscription ID to retrieve information for.
1202
+ #
1203
+ # @return [Types::GetAddonSubscriptionResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1204
+ #
1205
+ # * {Types::GetAddonSubscriptionResponse#addon_name #addon_name} => String
1206
+ # * {Types::GetAddonSubscriptionResponse#addon_subscription_arn #addon_subscription_arn} => String
1207
+ # * {Types::GetAddonSubscriptionResponse#created_timestamp #created_timestamp} => Time
1208
+ #
1209
+ # @example Request syntax with placeholder values
1210
+ #
1211
+ # resp = client.get_addon_subscription({
1212
+ # addon_subscription_id: "AddonSubscriptionId", # required
1213
+ # })
1214
+ #
1215
+ # @example Response structure
1216
+ #
1217
+ # resp.addon_name #=> String
1218
+ # resp.addon_subscription_arn #=> String
1219
+ # resp.created_timestamp #=> Time
1220
+ #
1221
+ # @see http://docs.aws.amazon.com/goto/WebAPI/mailmanager-2023-10-17/GetAddonSubscription AWS API Documentation
1222
+ #
1223
+ # @overload get_addon_subscription(params = {})
1224
+ # @param [Hash] params ({})
1225
+ def get_addon_subscription(params = {}, options = {})
1226
+ req = build_request(:get_addon_subscription, params)
1227
+ req.send_request(options)
1228
+ end
1229
+
1230
+ # Retrieves the full details and current state of a specified email
1231
+ # archive.
1232
+ #
1233
+ # @option params [required, String] :archive_id
1234
+ # The identifier of the archive to retrieve.
1235
+ #
1236
+ # @return [Types::GetArchiveResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1237
+ #
1238
+ # * {Types::GetArchiveResponse#archive_arn #archive_arn} => String
1239
+ # * {Types::GetArchiveResponse#archive_id #archive_id} => String
1240
+ # * {Types::GetArchiveResponse#archive_name #archive_name} => String
1241
+ # * {Types::GetArchiveResponse#archive_state #archive_state} => String
1242
+ # * {Types::GetArchiveResponse#created_timestamp #created_timestamp} => Time
1243
+ # * {Types::GetArchiveResponse#kms_key_arn #kms_key_arn} => String
1244
+ # * {Types::GetArchiveResponse#last_updated_timestamp #last_updated_timestamp} => Time
1245
+ # * {Types::GetArchiveResponse#retention #retention} => Types::ArchiveRetention
1246
+ #
1247
+ # @example Request syntax with placeholder values
1248
+ #
1249
+ # resp = client.get_archive({
1250
+ # archive_id: "ArchiveIdString", # required
1251
+ # })
1252
+ #
1253
+ # @example Response structure
1254
+ #
1255
+ # resp.archive_arn #=> String
1256
+ # resp.archive_id #=> String
1257
+ # resp.archive_name #=> String
1258
+ # resp.archive_state #=> String, one of "ACTIVE", "PENDING_DELETION"
1259
+ # resp.created_timestamp #=> Time
1260
+ # resp.kms_key_arn #=> String
1261
+ # resp.last_updated_timestamp #=> Time
1262
+ # resp.retention.retention_period #=> String, one of "THREE_MONTHS", "SIX_MONTHS", "NINE_MONTHS", "ONE_YEAR", "EIGHTEEN_MONTHS", "TWO_YEARS", "THIRTY_MONTHS", "THREE_YEARS", "FOUR_YEARS", "FIVE_YEARS", "SIX_YEARS", "SEVEN_YEARS", "EIGHT_YEARS", "NINE_YEARS", "TEN_YEARS", "PERMANENT"
1263
+ #
1264
+ # @see http://docs.aws.amazon.com/goto/WebAPI/mailmanager-2023-10-17/GetArchive AWS API Documentation
1265
+ #
1266
+ # @overload get_archive(params = {})
1267
+ # @param [Hash] params ({})
1268
+ def get_archive(params = {}, options = {})
1269
+ req = build_request(:get_archive, params)
1270
+ req.send_request(options)
1271
+ end
1272
+
1273
+ # Retrieves the details and current status of a specific email archive
1274
+ # export job.
1275
+ #
1276
+ # @option params [required, String] :export_id
1277
+ # The identifier of the export job to get details for.
1278
+ #
1279
+ # @return [Types::GetArchiveExportResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1280
+ #
1281
+ # * {Types::GetArchiveExportResponse#archive_id #archive_id} => String
1282
+ # * {Types::GetArchiveExportResponse#export_destination_configuration #export_destination_configuration} => Types::ExportDestinationConfiguration
1283
+ # * {Types::GetArchiveExportResponse#filters #filters} => Types::ArchiveFilters
1284
+ # * {Types::GetArchiveExportResponse#from_timestamp #from_timestamp} => Time
1285
+ # * {Types::GetArchiveExportResponse#max_results #max_results} => Integer
1286
+ # * {Types::GetArchiveExportResponse#status #status} => Types::ExportStatus
1287
+ # * {Types::GetArchiveExportResponse#to_timestamp #to_timestamp} => Time
1288
+ #
1289
+ # @example Request syntax with placeholder values
1290
+ #
1291
+ # resp = client.get_archive_export({
1292
+ # export_id: "ExportId", # required
1293
+ # })
1294
+ #
1295
+ # @example Response structure
1296
+ #
1297
+ # resp.archive_id #=> String
1298
+ # resp.export_destination_configuration.s3.s3_location #=> String
1299
+ # resp.filters.include #=> Array
1300
+ # resp.filters.include[0].boolean_expression.evaluate.attribute #=> String, one of "HAS_ATTACHMENTS"
1301
+ # resp.filters.include[0].boolean_expression.operator #=> String, one of "IS_TRUE", "IS_FALSE"
1302
+ # resp.filters.include[0].string_expression.evaluate.attribute #=> String, one of "TO", "FROM", "CC", "SUBJECT"
1303
+ # resp.filters.include[0].string_expression.operator #=> String, one of "CONTAINS"
1304
+ # resp.filters.include[0].string_expression.values #=> Array
1305
+ # resp.filters.include[0].string_expression.values[0] #=> String
1306
+ # resp.filters.unless #=> Array
1307
+ # resp.filters.unless[0].boolean_expression.evaluate.attribute #=> String, one of "HAS_ATTACHMENTS"
1308
+ # resp.filters.unless[0].boolean_expression.operator #=> String, one of "IS_TRUE", "IS_FALSE"
1309
+ # resp.filters.unless[0].string_expression.evaluate.attribute #=> String, one of "TO", "FROM", "CC", "SUBJECT"
1310
+ # resp.filters.unless[0].string_expression.operator #=> String, one of "CONTAINS"
1311
+ # resp.filters.unless[0].string_expression.values #=> Array
1312
+ # resp.filters.unless[0].string_expression.values[0] #=> String
1313
+ # resp.from_timestamp #=> Time
1314
+ # resp.max_results #=> Integer
1315
+ # resp.status.completion_timestamp #=> Time
1316
+ # resp.status.error_message #=> String
1317
+ # resp.status.state #=> String, one of "QUEUED", "PREPROCESSING", "PROCESSING", "COMPLETED", "FAILED", "CANCELLED"
1318
+ # resp.status.submission_timestamp #=> Time
1319
+ # resp.to_timestamp #=> Time
1320
+ #
1321
+ # @see http://docs.aws.amazon.com/goto/WebAPI/mailmanager-2023-10-17/GetArchiveExport AWS API Documentation
1322
+ #
1323
+ # @overload get_archive_export(params = {})
1324
+ # @param [Hash] params ({})
1325
+ def get_archive_export(params = {}, options = {})
1326
+ req = build_request(:get_archive_export, params)
1327
+ req.send_request(options)
1328
+ end
1329
+
1330
+ # Returns a pre-signed URL that provides temporary download access to
1331
+ # the specific email message stored in the archive.
1332
+ #
1333
+ # @option params [required, String] :archived_message_id
1334
+ # The unique identifier of the archived email message.
1335
+ #
1336
+ # @return [Types::GetArchiveMessageResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1337
+ #
1338
+ # * {Types::GetArchiveMessageResponse#message_download_link #message_download_link} => String
1339
+ #
1340
+ # @example Request syntax with placeholder values
1341
+ #
1342
+ # resp = client.get_archive_message({
1343
+ # archived_message_id: "ArchivedMessageId", # required
1344
+ # })
1345
+ #
1346
+ # @example Response structure
1347
+ #
1348
+ # resp.message_download_link #=> String
1349
+ #
1350
+ # @see http://docs.aws.amazon.com/goto/WebAPI/mailmanager-2023-10-17/GetArchiveMessage AWS API Documentation
1351
+ #
1352
+ # @overload get_archive_message(params = {})
1353
+ # @param [Hash] params ({})
1354
+ def get_archive_message(params = {}, options = {})
1355
+ req = build_request(:get_archive_message, params)
1356
+ req.send_request(options)
1357
+ end
1358
+
1359
+ # Returns the textual content of a specific email message stored in the
1360
+ # archive. Attachments are not included.
1361
+ #
1362
+ # @option params [required, String] :archived_message_id
1363
+ # The unique identifier of the archived email message.
1364
+ #
1365
+ # @return [Types::GetArchiveMessageContentResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1366
+ #
1367
+ # * {Types::GetArchiveMessageContentResponse#body #body} => Types::MessageBody
1368
+ #
1369
+ # @example Request syntax with placeholder values
1370
+ #
1371
+ # resp = client.get_archive_message_content({
1372
+ # archived_message_id: "ArchivedMessageId", # required
1373
+ # })
1374
+ #
1375
+ # @example Response structure
1376
+ #
1377
+ # resp.body.html #=> String
1378
+ # resp.body.message_malformed #=> Boolean
1379
+ # resp.body.text #=> String
1380
+ #
1381
+ # @see http://docs.aws.amazon.com/goto/WebAPI/mailmanager-2023-10-17/GetArchiveMessageContent AWS API Documentation
1382
+ #
1383
+ # @overload get_archive_message_content(params = {})
1384
+ # @param [Hash] params ({})
1385
+ def get_archive_message_content(params = {}, options = {})
1386
+ req = build_request(:get_archive_message_content, params)
1387
+ req.send_request(options)
1388
+ end
1389
+
1390
+ # Retrieves the details and current status of a specific email archive
1391
+ # search job.
1392
+ #
1393
+ # @option params [required, String] :search_id
1394
+ # The identifier of the search job to get details for.
1395
+ #
1396
+ # @return [Types::GetArchiveSearchResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1397
+ #
1398
+ # * {Types::GetArchiveSearchResponse#archive_id #archive_id} => String
1399
+ # * {Types::GetArchiveSearchResponse#filters #filters} => Types::ArchiveFilters
1400
+ # * {Types::GetArchiveSearchResponse#from_timestamp #from_timestamp} => Time
1401
+ # * {Types::GetArchiveSearchResponse#max_results #max_results} => Integer
1402
+ # * {Types::GetArchiveSearchResponse#status #status} => Types::SearchStatus
1403
+ # * {Types::GetArchiveSearchResponse#to_timestamp #to_timestamp} => Time
1404
+ #
1405
+ # @example Request syntax with placeholder values
1406
+ #
1407
+ # resp = client.get_archive_search({
1408
+ # search_id: "SearchId", # required
1409
+ # })
1410
+ #
1411
+ # @example Response structure
1412
+ #
1413
+ # resp.archive_id #=> String
1414
+ # resp.filters.include #=> Array
1415
+ # resp.filters.include[0].boolean_expression.evaluate.attribute #=> String, one of "HAS_ATTACHMENTS"
1416
+ # resp.filters.include[0].boolean_expression.operator #=> String, one of "IS_TRUE", "IS_FALSE"
1417
+ # resp.filters.include[0].string_expression.evaluate.attribute #=> String, one of "TO", "FROM", "CC", "SUBJECT"
1418
+ # resp.filters.include[0].string_expression.operator #=> String, one of "CONTAINS"
1419
+ # resp.filters.include[0].string_expression.values #=> Array
1420
+ # resp.filters.include[0].string_expression.values[0] #=> String
1421
+ # resp.filters.unless #=> Array
1422
+ # resp.filters.unless[0].boolean_expression.evaluate.attribute #=> String, one of "HAS_ATTACHMENTS"
1423
+ # resp.filters.unless[0].boolean_expression.operator #=> String, one of "IS_TRUE", "IS_FALSE"
1424
+ # resp.filters.unless[0].string_expression.evaluate.attribute #=> String, one of "TO", "FROM", "CC", "SUBJECT"
1425
+ # resp.filters.unless[0].string_expression.operator #=> String, one of "CONTAINS"
1426
+ # resp.filters.unless[0].string_expression.values #=> Array
1427
+ # resp.filters.unless[0].string_expression.values[0] #=> String
1428
+ # resp.from_timestamp #=> Time
1429
+ # resp.max_results #=> Integer
1430
+ # resp.status.completion_timestamp #=> Time
1431
+ # resp.status.error_message #=> String
1432
+ # resp.status.state #=> String, one of "QUEUED", "RUNNING", "COMPLETED", "FAILED", "CANCELLED"
1433
+ # resp.status.submission_timestamp #=> Time
1434
+ # resp.to_timestamp #=> Time
1435
+ #
1436
+ # @see http://docs.aws.amazon.com/goto/WebAPI/mailmanager-2023-10-17/GetArchiveSearch AWS API Documentation
1437
+ #
1438
+ # @overload get_archive_search(params = {})
1439
+ # @param [Hash] params ({})
1440
+ def get_archive_search(params = {}, options = {})
1441
+ req = build_request(:get_archive_search, params)
1442
+ req.send_request(options)
1443
+ end
1444
+
1445
+ # Returns the results of a completed email archive search job.
1446
+ #
1447
+ # @option params [required, String] :search_id
1448
+ # The identifier of the completed search job.
1449
+ #
1450
+ # @return [Types::GetArchiveSearchResultsResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1451
+ #
1452
+ # * {Types::GetArchiveSearchResultsResponse#rows #rows} => Array&lt;Types::Row&gt;
1453
+ #
1454
+ # @example Request syntax with placeholder values
1455
+ #
1456
+ # resp = client.get_archive_search_results({
1457
+ # search_id: "SearchId", # required
1458
+ # })
1459
+ #
1460
+ # @example Response structure
1461
+ #
1462
+ # resp.rows #=> Array
1463
+ # resp.rows[0].archived_message_id #=> String
1464
+ # resp.rows[0].cc #=> String
1465
+ # resp.rows[0].date #=> String
1466
+ # resp.rows[0].from #=> String
1467
+ # resp.rows[0].has_attachments #=> Boolean
1468
+ # resp.rows[0].in_reply_to #=> String
1469
+ # resp.rows[0].message_id #=> String
1470
+ # resp.rows[0].received_headers #=> Array
1471
+ # resp.rows[0].received_headers[0] #=> String
1472
+ # resp.rows[0].received_timestamp #=> Time
1473
+ # resp.rows[0].subject #=> String
1474
+ # resp.rows[0].to #=> String
1475
+ # resp.rows[0].x_mailer #=> String
1476
+ # resp.rows[0].x_original_mailer #=> String
1477
+ # resp.rows[0].x_priority #=> String
1478
+ #
1479
+ # @see http://docs.aws.amazon.com/goto/WebAPI/mailmanager-2023-10-17/GetArchiveSearchResults AWS API Documentation
1480
+ #
1481
+ # @overload get_archive_search_results(params = {})
1482
+ # @param [Hash] params ({})
1483
+ def get_archive_search_results(params = {}, options = {})
1484
+ req = build_request(:get_archive_search_results, params)
1485
+ req.send_request(options)
1486
+ end
1487
+
1488
+ # Fetch ingress endpoint resource attributes.
1489
+ #
1490
+ # @option params [required, String] :ingress_point_id
1491
+ # The identifier of an ingress endpoint.
1492
+ #
1493
+ # @return [Types::GetIngressPointResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1494
+ #
1495
+ # * {Types::GetIngressPointResponse#a_record #a_record} => String
1496
+ # * {Types::GetIngressPointResponse#created_timestamp #created_timestamp} => Time
1497
+ # * {Types::GetIngressPointResponse#ingress_point_arn #ingress_point_arn} => String
1498
+ # * {Types::GetIngressPointResponse#ingress_point_auth_configuration #ingress_point_auth_configuration} => Types::IngressPointAuthConfiguration
1499
+ # * {Types::GetIngressPointResponse#ingress_point_id #ingress_point_id} => String
1500
+ # * {Types::GetIngressPointResponse#ingress_point_name #ingress_point_name} => String
1501
+ # * {Types::GetIngressPointResponse#last_updated_timestamp #last_updated_timestamp} => Time
1502
+ # * {Types::GetIngressPointResponse#rule_set_id #rule_set_id} => String
1503
+ # * {Types::GetIngressPointResponse#status #status} => String
1504
+ # * {Types::GetIngressPointResponse#traffic_policy_id #traffic_policy_id} => String
1505
+ # * {Types::GetIngressPointResponse#type #type} => String
1506
+ #
1507
+ # @example Request syntax with placeholder values
1508
+ #
1509
+ # resp = client.get_ingress_point({
1510
+ # ingress_point_id: "IngressPointId", # required
1511
+ # })
1512
+ #
1513
+ # @example Response structure
1514
+ #
1515
+ # resp.a_record #=> String
1516
+ # resp.created_timestamp #=> Time
1517
+ # resp.ingress_point_arn #=> String
1518
+ # resp.ingress_point_auth_configuration.ingress_point_password_configuration.previous_smtp_password_expiry_timestamp #=> Time
1519
+ # resp.ingress_point_auth_configuration.ingress_point_password_configuration.previous_smtp_password_version #=> String
1520
+ # resp.ingress_point_auth_configuration.ingress_point_password_configuration.smtp_password_version #=> String
1521
+ # resp.ingress_point_auth_configuration.secret_arn #=> String
1522
+ # resp.ingress_point_id #=> String
1523
+ # resp.ingress_point_name #=> String
1524
+ # resp.last_updated_timestamp #=> Time
1525
+ # resp.rule_set_id #=> String
1526
+ # resp.status #=> String, one of "PROVISIONING", "DEPROVISIONING", "UPDATING", "ACTIVE", "CLOSED", "FAILED"
1527
+ # resp.traffic_policy_id #=> String
1528
+ # resp.type #=> String, one of "OPEN", "AUTH"
1529
+ #
1530
+ # @see http://docs.aws.amazon.com/goto/WebAPI/mailmanager-2023-10-17/GetIngressPoint AWS API Documentation
1531
+ #
1532
+ # @overload get_ingress_point(params = {})
1533
+ # @param [Hash] params ({})
1534
+ def get_ingress_point(params = {}, options = {})
1535
+ req = build_request(:get_ingress_point, params)
1536
+ req.send_request(options)
1537
+ end
1538
+
1539
+ # Fetch the relay resource and it's attributes.
1540
+ #
1541
+ # @option params [required, String] :relay_id
1542
+ # A unique relay identifier.
1543
+ #
1544
+ # @return [Types::GetRelayResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1545
+ #
1546
+ # * {Types::GetRelayResponse#authentication #authentication} => Types::RelayAuthentication
1547
+ # * {Types::GetRelayResponse#created_timestamp #created_timestamp} => Time
1548
+ # * {Types::GetRelayResponse#last_modified_timestamp #last_modified_timestamp} => Time
1549
+ # * {Types::GetRelayResponse#relay_arn #relay_arn} => String
1550
+ # * {Types::GetRelayResponse#relay_id #relay_id} => String
1551
+ # * {Types::GetRelayResponse#relay_name #relay_name} => String
1552
+ # * {Types::GetRelayResponse#server_name #server_name} => String
1553
+ # * {Types::GetRelayResponse#server_port #server_port} => Integer
1554
+ #
1555
+ # @example Request syntax with placeholder values
1556
+ #
1557
+ # resp = client.get_relay({
1558
+ # relay_id: "RelayId", # required
1559
+ # })
1560
+ #
1561
+ # @example Response structure
1562
+ #
1563
+ # resp.authentication.secret_arn #=> String
1564
+ # resp.created_timestamp #=> Time
1565
+ # resp.last_modified_timestamp #=> Time
1566
+ # resp.relay_arn #=> String
1567
+ # resp.relay_id #=> String
1568
+ # resp.relay_name #=> String
1569
+ # resp.server_name #=> String
1570
+ # resp.server_port #=> Integer
1571
+ #
1572
+ # @see http://docs.aws.amazon.com/goto/WebAPI/mailmanager-2023-10-17/GetRelay AWS API Documentation
1573
+ #
1574
+ # @overload get_relay(params = {})
1575
+ # @param [Hash] params ({})
1576
+ def get_relay(params = {}, options = {})
1577
+ req = build_request(:get_relay, params)
1578
+ req.send_request(options)
1579
+ end
1580
+
1581
+ # Fetch attributes of a rule set.
1582
+ #
1583
+ # @option params [required, String] :rule_set_id
1584
+ # The identifier of an existing rule set to be retrieved.
1585
+ #
1586
+ # @return [Types::GetRuleSetResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1587
+ #
1588
+ # * {Types::GetRuleSetResponse#created_date #created_date} => Time
1589
+ # * {Types::GetRuleSetResponse#last_modification_date #last_modification_date} => Time
1590
+ # * {Types::GetRuleSetResponse#rule_set_arn #rule_set_arn} => String
1591
+ # * {Types::GetRuleSetResponse#rule_set_id #rule_set_id} => String
1592
+ # * {Types::GetRuleSetResponse#rule_set_name #rule_set_name} => String
1593
+ # * {Types::GetRuleSetResponse#rules #rules} => Array&lt;Types::Rule&gt;
1594
+ #
1595
+ # @example Request syntax with placeholder values
1596
+ #
1597
+ # resp = client.get_rule_set({
1598
+ # rule_set_id: "RuleSetId", # required
1599
+ # })
1600
+ #
1601
+ # @example Response structure
1602
+ #
1603
+ # resp.created_date #=> Time
1604
+ # resp.last_modification_date #=> Time
1605
+ # resp.rule_set_arn #=> String
1606
+ # resp.rule_set_id #=> String
1607
+ # resp.rule_set_name #=> String
1608
+ # resp.rules #=> Array
1609
+ # resp.rules[0].actions #=> Array
1610
+ # resp.rules[0].actions[0].add_header.header_name #=> String
1611
+ # resp.rules[0].actions[0].add_header.header_value #=> String
1612
+ # resp.rules[0].actions[0].archive.action_failure_policy #=> String, one of "CONTINUE", "DROP"
1613
+ # resp.rules[0].actions[0].archive.target_archive #=> String
1614
+ # resp.rules[0].actions[0].deliver_to_mailbox.action_failure_policy #=> String, one of "CONTINUE", "DROP"
1615
+ # resp.rules[0].actions[0].deliver_to_mailbox.mailbox_arn #=> String
1616
+ # resp.rules[0].actions[0].deliver_to_mailbox.role_arn #=> String
1617
+ # resp.rules[0].actions[0].relay.action_failure_policy #=> String, one of "CONTINUE", "DROP"
1618
+ # resp.rules[0].actions[0].relay.mail_from #=> String, one of "REPLACE", "PRESERVE"
1619
+ # resp.rules[0].actions[0].relay.relay #=> String
1620
+ # resp.rules[0].actions[0].replace_recipient.replace_with #=> Array
1621
+ # resp.rules[0].actions[0].replace_recipient.replace_with[0] #=> String
1622
+ # resp.rules[0].actions[0].send.action_failure_policy #=> String, one of "CONTINUE", "DROP"
1623
+ # resp.rules[0].actions[0].send.role_arn #=> String
1624
+ # resp.rules[0].actions[0].write_to_s3.action_failure_policy #=> String, one of "CONTINUE", "DROP"
1625
+ # resp.rules[0].actions[0].write_to_s3.role_arn #=> String
1626
+ # resp.rules[0].actions[0].write_to_s3.s3_bucket #=> String
1627
+ # resp.rules[0].actions[0].write_to_s3.s3_prefix #=> String
1628
+ # resp.rules[0].actions[0].write_to_s3.s3_sse_kms_key_id #=> String
1629
+ # resp.rules[0].conditions #=> Array
1630
+ # resp.rules[0].conditions[0].boolean_expression.evaluate.attribute #=> String, one of "READ_RECEIPT_REQUESTED", "TLS", "TLS_WRAPPED"
1631
+ # resp.rules[0].conditions[0].boolean_expression.operator #=> String, one of "IS_TRUE", "IS_FALSE"
1632
+ # resp.rules[0].conditions[0].dmarc_expression.operator #=> String, one of "EQUALS", "NOT_EQUALS"
1633
+ # resp.rules[0].conditions[0].dmarc_expression.values #=> Array
1634
+ # resp.rules[0].conditions[0].dmarc_expression.values[0] #=> String, one of "NONE", "QUARANTINE", "REJECT"
1635
+ # resp.rules[0].conditions[0].ip_expression.evaluate.attribute #=> String, one of "SOURCE_IP"
1636
+ # resp.rules[0].conditions[0].ip_expression.operator #=> String, one of "CIDR_MATCHES", "NOT_CIDR_MATCHES"
1637
+ # resp.rules[0].conditions[0].ip_expression.values #=> Array
1638
+ # resp.rules[0].conditions[0].ip_expression.values[0] #=> String
1639
+ # resp.rules[0].conditions[0].number_expression.evaluate.attribute #=> String, one of "MESSAGE_SIZE"
1640
+ # resp.rules[0].conditions[0].number_expression.operator #=> String, one of "EQUALS", "NOT_EQUALS", "LESS_THAN", "GREATER_THAN", "LESS_THAN_OR_EQUAL", "GREATER_THAN_OR_EQUAL"
1641
+ # resp.rules[0].conditions[0].number_expression.value #=> Float
1642
+ # resp.rules[0].conditions[0].string_expression.evaluate.attribute #=> String, one of "MAIL_FROM", "HELO", "RECIPIENT", "SENDER", "FROM", "SUBJECT", "TO", "CC"
1643
+ # resp.rules[0].conditions[0].string_expression.operator #=> String, one of "EQUALS", "NOT_EQUALS", "STARTS_WITH", "ENDS_WITH", "CONTAINS"
1644
+ # resp.rules[0].conditions[0].string_expression.values #=> Array
1645
+ # resp.rules[0].conditions[0].string_expression.values[0] #=> String
1646
+ # resp.rules[0].conditions[0].verdict_expression.evaluate.analysis.analyzer #=> String
1647
+ # resp.rules[0].conditions[0].verdict_expression.evaluate.analysis.result_field #=> String
1648
+ # resp.rules[0].conditions[0].verdict_expression.evaluate.attribute #=> String, one of "SPF", "DKIM"
1649
+ # resp.rules[0].conditions[0].verdict_expression.operator #=> String, one of "EQUALS", "NOT_EQUALS"
1650
+ # resp.rules[0].conditions[0].verdict_expression.values #=> Array
1651
+ # resp.rules[0].conditions[0].verdict_expression.values[0] #=> String, one of "PASS", "FAIL", "GRAY", "PROCESSING_FAILED"
1652
+ # resp.rules[0].name #=> String
1653
+ # resp.rules[0].unless #=> Array
1654
+ # resp.rules[0].unless[0].boolean_expression.evaluate.attribute #=> String, one of "READ_RECEIPT_REQUESTED", "TLS", "TLS_WRAPPED"
1655
+ # resp.rules[0].unless[0].boolean_expression.operator #=> String, one of "IS_TRUE", "IS_FALSE"
1656
+ # resp.rules[0].unless[0].dmarc_expression.operator #=> String, one of "EQUALS", "NOT_EQUALS"
1657
+ # resp.rules[0].unless[0].dmarc_expression.values #=> Array
1658
+ # resp.rules[0].unless[0].dmarc_expression.values[0] #=> String, one of "NONE", "QUARANTINE", "REJECT"
1659
+ # resp.rules[0].unless[0].ip_expression.evaluate.attribute #=> String, one of "SOURCE_IP"
1660
+ # resp.rules[0].unless[0].ip_expression.operator #=> String, one of "CIDR_MATCHES", "NOT_CIDR_MATCHES"
1661
+ # resp.rules[0].unless[0].ip_expression.values #=> Array
1662
+ # resp.rules[0].unless[0].ip_expression.values[0] #=> String
1663
+ # resp.rules[0].unless[0].number_expression.evaluate.attribute #=> String, one of "MESSAGE_SIZE"
1664
+ # resp.rules[0].unless[0].number_expression.operator #=> String, one of "EQUALS", "NOT_EQUALS", "LESS_THAN", "GREATER_THAN", "LESS_THAN_OR_EQUAL", "GREATER_THAN_OR_EQUAL"
1665
+ # resp.rules[0].unless[0].number_expression.value #=> Float
1666
+ # resp.rules[0].unless[0].string_expression.evaluate.attribute #=> String, one of "MAIL_FROM", "HELO", "RECIPIENT", "SENDER", "FROM", "SUBJECT", "TO", "CC"
1667
+ # resp.rules[0].unless[0].string_expression.operator #=> String, one of "EQUALS", "NOT_EQUALS", "STARTS_WITH", "ENDS_WITH", "CONTAINS"
1668
+ # resp.rules[0].unless[0].string_expression.values #=> Array
1669
+ # resp.rules[0].unless[0].string_expression.values[0] #=> String
1670
+ # resp.rules[0].unless[0].verdict_expression.evaluate.analysis.analyzer #=> String
1671
+ # resp.rules[0].unless[0].verdict_expression.evaluate.analysis.result_field #=> String
1672
+ # resp.rules[0].unless[0].verdict_expression.evaluate.attribute #=> String, one of "SPF", "DKIM"
1673
+ # resp.rules[0].unless[0].verdict_expression.operator #=> String, one of "EQUALS", "NOT_EQUALS"
1674
+ # resp.rules[0].unless[0].verdict_expression.values #=> Array
1675
+ # resp.rules[0].unless[0].verdict_expression.values[0] #=> String, one of "PASS", "FAIL", "GRAY", "PROCESSING_FAILED"
1676
+ #
1677
+ # @see http://docs.aws.amazon.com/goto/WebAPI/mailmanager-2023-10-17/GetRuleSet AWS API Documentation
1678
+ #
1679
+ # @overload get_rule_set(params = {})
1680
+ # @param [Hash] params ({})
1681
+ def get_rule_set(params = {}, options = {})
1682
+ req = build_request(:get_rule_set, params)
1683
+ req.send_request(options)
1684
+ end
1685
+
1686
+ # Fetch attributes of a traffic policy resource.
1687
+ #
1688
+ # @option params [required, String] :traffic_policy_id
1689
+ # The identifier of the traffic policy resource.
1690
+ #
1691
+ # @return [Types::GetTrafficPolicyResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1692
+ #
1693
+ # * {Types::GetTrafficPolicyResponse#created_timestamp #created_timestamp} => Time
1694
+ # * {Types::GetTrafficPolicyResponse#default_action #default_action} => String
1695
+ # * {Types::GetTrafficPolicyResponse#last_updated_timestamp #last_updated_timestamp} => Time
1696
+ # * {Types::GetTrafficPolicyResponse#max_message_size_bytes #max_message_size_bytes} => Integer
1697
+ # * {Types::GetTrafficPolicyResponse#policy_statements #policy_statements} => Array&lt;Types::PolicyStatement&gt;
1698
+ # * {Types::GetTrafficPolicyResponse#traffic_policy_arn #traffic_policy_arn} => String
1699
+ # * {Types::GetTrafficPolicyResponse#traffic_policy_id #traffic_policy_id} => String
1700
+ # * {Types::GetTrafficPolicyResponse#traffic_policy_name #traffic_policy_name} => String
1701
+ #
1702
+ # @example Request syntax with placeholder values
1703
+ #
1704
+ # resp = client.get_traffic_policy({
1705
+ # traffic_policy_id: "TrafficPolicyId", # required
1706
+ # })
1707
+ #
1708
+ # @example Response structure
1709
+ #
1710
+ # resp.created_timestamp #=> Time
1711
+ # resp.default_action #=> String, one of "ALLOW", "DENY"
1712
+ # resp.last_updated_timestamp #=> Time
1713
+ # resp.max_message_size_bytes #=> Integer
1714
+ # resp.policy_statements #=> Array
1715
+ # resp.policy_statements[0].action #=> String, one of "ALLOW", "DENY"
1716
+ # resp.policy_statements[0].conditions #=> Array
1717
+ # resp.policy_statements[0].conditions[0].boolean_expression.evaluate.analysis.analyzer #=> String
1718
+ # resp.policy_statements[0].conditions[0].boolean_expression.evaluate.analysis.result_field #=> String
1719
+ # resp.policy_statements[0].conditions[0].boolean_expression.operator #=> String, one of "IS_TRUE", "IS_FALSE"
1720
+ # resp.policy_statements[0].conditions[0].ip_expression.evaluate.attribute #=> String, one of "SENDER_IP"
1721
+ # resp.policy_statements[0].conditions[0].ip_expression.operator #=> String, one of "CIDR_MATCHES", "NOT_CIDR_MATCHES"
1722
+ # resp.policy_statements[0].conditions[0].ip_expression.values #=> Array
1723
+ # resp.policy_statements[0].conditions[0].ip_expression.values[0] #=> String
1724
+ # resp.policy_statements[0].conditions[0].string_expression.evaluate.attribute #=> String, one of "RECIPIENT"
1725
+ # resp.policy_statements[0].conditions[0].string_expression.operator #=> String, one of "EQUALS", "NOT_EQUALS", "STARTS_WITH", "ENDS_WITH", "CONTAINS"
1726
+ # resp.policy_statements[0].conditions[0].string_expression.values #=> Array
1727
+ # resp.policy_statements[0].conditions[0].string_expression.values[0] #=> String
1728
+ # resp.policy_statements[0].conditions[0].tls_expression.evaluate.attribute #=> String, one of "TLS_PROTOCOL"
1729
+ # resp.policy_statements[0].conditions[0].tls_expression.operator #=> String, one of "MINIMUM_TLS_VERSION", "IS"
1730
+ # resp.policy_statements[0].conditions[0].tls_expression.value #=> String, one of "TLS1_2", "TLS1_3"
1731
+ # resp.traffic_policy_arn #=> String
1732
+ # resp.traffic_policy_id #=> String
1733
+ # resp.traffic_policy_name #=> String
1734
+ #
1735
+ # @see http://docs.aws.amazon.com/goto/WebAPI/mailmanager-2023-10-17/GetTrafficPolicy AWS API Documentation
1736
+ #
1737
+ # @overload get_traffic_policy(params = {})
1738
+ # @param [Hash] params ({})
1739
+ def get_traffic_policy(params = {}, options = {})
1740
+ req = build_request(:get_traffic_policy, params)
1741
+ req.send_request(options)
1742
+ end
1743
+
1744
+ # Lists all Add On instances in your account.
1745
+ #
1746
+ # @option params [String] :next_token
1747
+ # If you received a pagination token from a previous call to this API,
1748
+ # you can provide it here to continue paginating through the next page
1749
+ # of results.
1750
+ #
1751
+ # @option params [Integer] :page_size
1752
+ # The maximum number of ingress endpoint resources that are returned per
1753
+ # call. You can use NextToken to obtain further ingress endpoints.
1754
+ #
1755
+ # @return [Types::ListAddonInstancesResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1756
+ #
1757
+ # * {Types::ListAddonInstancesResponse#addon_instances #addon_instances} => Array&lt;Types::AddonInstance&gt;
1758
+ # * {Types::ListAddonInstancesResponse#next_token #next_token} => String
1759
+ #
1760
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
1761
+ #
1762
+ # @example Request syntax with placeholder values
1763
+ #
1764
+ # resp = client.list_addon_instances({
1765
+ # next_token: "PaginationToken",
1766
+ # page_size: 1,
1767
+ # })
1768
+ #
1769
+ # @example Response structure
1770
+ #
1771
+ # resp.addon_instances #=> Array
1772
+ # resp.addon_instances[0].addon_instance_arn #=> String
1773
+ # resp.addon_instances[0].addon_instance_id #=> String
1774
+ # resp.addon_instances[0].addon_name #=> String
1775
+ # resp.addon_instances[0].addon_subscription_id #=> String
1776
+ # resp.addon_instances[0].created_timestamp #=> Time
1777
+ # resp.next_token #=> String
1778
+ #
1779
+ # @see http://docs.aws.amazon.com/goto/WebAPI/mailmanager-2023-10-17/ListAddonInstances AWS API Documentation
1780
+ #
1781
+ # @overload list_addon_instances(params = {})
1782
+ # @param [Hash] params ({})
1783
+ def list_addon_instances(params = {}, options = {})
1784
+ req = build_request(:list_addon_instances, params)
1785
+ req.send_request(options)
1786
+ end
1787
+
1788
+ # Lists all Add On subscriptions in your account.
1789
+ #
1790
+ # @option params [String] :next_token
1791
+ # If you received a pagination token from a previous call to this API,
1792
+ # you can provide it here to continue paginating through the next page
1793
+ # of results.
1794
+ #
1795
+ # @option params [Integer] :page_size
1796
+ # The maximum number of ingress endpoint resources that are returned per
1797
+ # call. You can use NextToken to obtain further ingress endpoints.
1798
+ #
1799
+ # @return [Types::ListAddonSubscriptionsResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1800
+ #
1801
+ # * {Types::ListAddonSubscriptionsResponse#addon_subscriptions #addon_subscriptions} => Array&lt;Types::AddonSubscription&gt;
1802
+ # * {Types::ListAddonSubscriptionsResponse#next_token #next_token} => String
1803
+ #
1804
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
1805
+ #
1806
+ # @example Request syntax with placeholder values
1807
+ #
1808
+ # resp = client.list_addon_subscriptions({
1809
+ # next_token: "PaginationToken",
1810
+ # page_size: 1,
1811
+ # })
1812
+ #
1813
+ # @example Response structure
1814
+ #
1815
+ # resp.addon_subscriptions #=> Array
1816
+ # resp.addon_subscriptions[0].addon_name #=> String
1817
+ # resp.addon_subscriptions[0].addon_subscription_arn #=> String
1818
+ # resp.addon_subscriptions[0].addon_subscription_id #=> String
1819
+ # resp.addon_subscriptions[0].created_timestamp #=> Time
1820
+ # resp.next_token #=> String
1821
+ #
1822
+ # @see http://docs.aws.amazon.com/goto/WebAPI/mailmanager-2023-10-17/ListAddonSubscriptions AWS API Documentation
1823
+ #
1824
+ # @overload list_addon_subscriptions(params = {})
1825
+ # @param [Hash] params ({})
1826
+ def list_addon_subscriptions(params = {}, options = {})
1827
+ req = build_request(:list_addon_subscriptions, params)
1828
+ req.send_request(options)
1829
+ end
1830
+
1831
+ # Returns a list of email archive export jobs.
1832
+ #
1833
+ # @option params [required, String] :archive_id
1834
+ # The identifier of the archive.
1835
+ #
1836
+ # @option params [String] :next_token
1837
+ # If NextToken is returned, there are more results available. The value
1838
+ # of NextToken is a unique pagination token for each page. Make the call
1839
+ # again using the returned token to retrieve the next page.
1840
+ #
1841
+ # @option params [Integer] :page_size
1842
+ # The maximum number of archive export jobs that are returned per call.
1843
+ # You can use NextToken to obtain further pages of archives.
1844
+ #
1845
+ # @return [Types::ListArchiveExportsResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1846
+ #
1847
+ # * {Types::ListArchiveExportsResponse#exports #exports} => Array&lt;Types::ExportSummary&gt;
1848
+ # * {Types::ListArchiveExportsResponse#next_token #next_token} => String
1849
+ #
1850
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
1851
+ #
1852
+ # @example Request syntax with placeholder values
1853
+ #
1854
+ # resp = client.list_archive_exports({
1855
+ # archive_id: "ArchiveId", # required
1856
+ # next_token: "PaginationToken",
1857
+ # page_size: 1,
1858
+ # })
1859
+ #
1860
+ # @example Response structure
1861
+ #
1862
+ # resp.exports #=> Array
1863
+ # resp.exports[0].export_id #=> String
1864
+ # resp.exports[0].status.completion_timestamp #=> Time
1865
+ # resp.exports[0].status.error_message #=> String
1866
+ # resp.exports[0].status.state #=> String, one of "QUEUED", "PREPROCESSING", "PROCESSING", "COMPLETED", "FAILED", "CANCELLED"
1867
+ # resp.exports[0].status.submission_timestamp #=> Time
1868
+ # resp.next_token #=> String
1869
+ #
1870
+ # @see http://docs.aws.amazon.com/goto/WebAPI/mailmanager-2023-10-17/ListArchiveExports AWS API Documentation
1871
+ #
1872
+ # @overload list_archive_exports(params = {})
1873
+ # @param [Hash] params ({})
1874
+ def list_archive_exports(params = {}, options = {})
1875
+ req = build_request(:list_archive_exports, params)
1876
+ req.send_request(options)
1877
+ end
1878
+
1879
+ # Returns a list of email archive search jobs.
1880
+ #
1881
+ # @option params [required, String] :archive_id
1882
+ # The identifier of the archive.
1883
+ #
1884
+ # @option params [String] :next_token
1885
+ # If NextToken is returned, there are more results available. The value
1886
+ # of NextToken is a unique pagination token for each page. Make the call
1887
+ # again using the returned token to retrieve the next page.
1888
+ #
1889
+ # @option params [Integer] :page_size
1890
+ # The maximum number of archive search jobs that are returned per call.
1891
+ # You can use NextToken to obtain further pages of archives.
1892
+ #
1893
+ # @return [Types::ListArchiveSearchesResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1894
+ #
1895
+ # * {Types::ListArchiveSearchesResponse#next_token #next_token} => String
1896
+ # * {Types::ListArchiveSearchesResponse#searches #searches} => Array&lt;Types::SearchSummary&gt;
1897
+ #
1898
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
1899
+ #
1900
+ # @example Request syntax with placeholder values
1901
+ #
1902
+ # resp = client.list_archive_searches({
1903
+ # archive_id: "ArchiveId", # required
1904
+ # next_token: "PaginationToken",
1905
+ # page_size: 1,
1906
+ # })
1907
+ #
1908
+ # @example Response structure
1909
+ #
1910
+ # resp.next_token #=> String
1911
+ # resp.searches #=> Array
1912
+ # resp.searches[0].search_id #=> String
1913
+ # resp.searches[0].status.completion_timestamp #=> Time
1914
+ # resp.searches[0].status.error_message #=> String
1915
+ # resp.searches[0].status.state #=> String, one of "QUEUED", "RUNNING", "COMPLETED", "FAILED", "CANCELLED"
1916
+ # resp.searches[0].status.submission_timestamp #=> Time
1917
+ #
1918
+ # @see http://docs.aws.amazon.com/goto/WebAPI/mailmanager-2023-10-17/ListArchiveSearches AWS API Documentation
1919
+ #
1920
+ # @overload list_archive_searches(params = {})
1921
+ # @param [Hash] params ({})
1922
+ def list_archive_searches(params = {}, options = {})
1923
+ req = build_request(:list_archive_searches, params)
1924
+ req.send_request(options)
1925
+ end
1926
+
1927
+ # Returns a list of all email archives in your account.
1928
+ #
1929
+ # @option params [String] :next_token
1930
+ # If NextToken is returned, there are more results available. The value
1931
+ # of NextToken is a unique pagination token for each page. Make the call
1932
+ # again using the returned token to retrieve the next page.
1933
+ #
1934
+ # @option params [Integer] :page_size
1935
+ # The maximum number of archives that are returned per call. You can use
1936
+ # NextToken to obtain further pages of archives.
1937
+ #
1938
+ # @return [Types::ListArchivesResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1939
+ #
1940
+ # * {Types::ListArchivesResponse#archives #archives} => Array&lt;Types::Archive&gt;
1941
+ # * {Types::ListArchivesResponse#next_token #next_token} => String
1942
+ #
1943
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
1944
+ #
1945
+ # @example Request syntax with placeholder values
1946
+ #
1947
+ # resp = client.list_archives({
1948
+ # next_token: "PaginationToken",
1949
+ # page_size: 1,
1950
+ # })
1951
+ #
1952
+ # @example Response structure
1953
+ #
1954
+ # resp.archives #=> Array
1955
+ # resp.archives[0].archive_id #=> String
1956
+ # resp.archives[0].archive_name #=> String
1957
+ # resp.archives[0].archive_state #=> String, one of "ACTIVE", "PENDING_DELETION"
1958
+ # resp.archives[0].last_updated_timestamp #=> Time
1959
+ # resp.next_token #=> String
1960
+ #
1961
+ # @see http://docs.aws.amazon.com/goto/WebAPI/mailmanager-2023-10-17/ListArchives AWS API Documentation
1962
+ #
1963
+ # @overload list_archives(params = {})
1964
+ # @param [Hash] params ({})
1965
+ def list_archives(params = {}, options = {})
1966
+ req = build_request(:list_archives, params)
1967
+ req.send_request(options)
1968
+ end
1969
+
1970
+ # List all ingress endpoint resources.
1971
+ #
1972
+ # @option params [String] :next_token
1973
+ # If you received a pagination token from a previous call to this API,
1974
+ # you can provide it here to continue paginating through the next page
1975
+ # of results.
1976
+ #
1977
+ # @option params [Integer] :page_size
1978
+ # The maximum number of ingress endpoint resources that are returned per
1979
+ # call. You can use NextToken to obtain further ingress endpoints.
1980
+ #
1981
+ # @return [Types::ListIngressPointsResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1982
+ #
1983
+ # * {Types::ListIngressPointsResponse#ingress_points #ingress_points} => Array&lt;Types::IngressPoint&gt;
1984
+ # * {Types::ListIngressPointsResponse#next_token #next_token} => String
1985
+ #
1986
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
1987
+ #
1988
+ # @example Request syntax with placeholder values
1989
+ #
1990
+ # resp = client.list_ingress_points({
1991
+ # next_token: "PaginationToken",
1992
+ # page_size: 1,
1993
+ # })
1994
+ #
1995
+ # @example Response structure
1996
+ #
1997
+ # resp.ingress_points #=> Array
1998
+ # resp.ingress_points[0].a_record #=> String
1999
+ # resp.ingress_points[0].ingress_point_id #=> String
2000
+ # resp.ingress_points[0].ingress_point_name #=> String
2001
+ # resp.ingress_points[0].status #=> String, one of "PROVISIONING", "DEPROVISIONING", "UPDATING", "ACTIVE", "CLOSED", "FAILED"
2002
+ # resp.ingress_points[0].type #=> String, one of "OPEN", "AUTH"
2003
+ # resp.next_token #=> String
2004
+ #
2005
+ # @see http://docs.aws.amazon.com/goto/WebAPI/mailmanager-2023-10-17/ListIngressPoints AWS API Documentation
2006
+ #
2007
+ # @overload list_ingress_points(params = {})
2008
+ # @param [Hash] params ({})
2009
+ def list_ingress_points(params = {}, options = {})
2010
+ req = build_request(:list_ingress_points, params)
2011
+ req.send_request(options)
2012
+ end
2013
+
2014
+ # Lists all the existing relay resources.
2015
+ #
2016
+ # @option params [String] :next_token
2017
+ # If you received a pagination token from a previous call to this API,
2018
+ # you can provide it here to continue paginating through the next page
2019
+ # of results.
2020
+ #
2021
+ # @option params [Integer] :page_size
2022
+ # The number of relays to be returned in one request.
2023
+ #
2024
+ # @return [Types::ListRelaysResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2025
+ #
2026
+ # * {Types::ListRelaysResponse#next_token #next_token} => String
2027
+ # * {Types::ListRelaysResponse#relays #relays} => Array&lt;Types::Relay&gt;
2028
+ #
2029
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
2030
+ #
2031
+ # @example Request syntax with placeholder values
2032
+ #
2033
+ # resp = client.list_relays({
2034
+ # next_token: "PaginationToken",
2035
+ # page_size: 1,
2036
+ # })
2037
+ #
2038
+ # @example Response structure
2039
+ #
2040
+ # resp.next_token #=> String
2041
+ # resp.relays #=> Array
2042
+ # resp.relays[0].last_modified_timestamp #=> Time
2043
+ # resp.relays[0].relay_id #=> String
2044
+ # resp.relays[0].relay_name #=> String
2045
+ #
2046
+ # @see http://docs.aws.amazon.com/goto/WebAPI/mailmanager-2023-10-17/ListRelays AWS API Documentation
2047
+ #
2048
+ # @overload list_relays(params = {})
2049
+ # @param [Hash] params ({})
2050
+ def list_relays(params = {}, options = {})
2051
+ req = build_request(:list_relays, params)
2052
+ req.send_request(options)
2053
+ end
2054
+
2055
+ # List rule sets for this account.
2056
+ #
2057
+ # @option params [String] :next_token
2058
+ # If you received a pagination token from a previous call to this API,
2059
+ # you can provide it here to continue paginating through the next page
2060
+ # of results.
2061
+ #
2062
+ # @option params [Integer] :page_size
2063
+ # The maximum number of rule set resources that are returned per call.
2064
+ # You can use NextToken to obtain further rule sets.
2065
+ #
2066
+ # @return [Types::ListRuleSetsResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2067
+ #
2068
+ # * {Types::ListRuleSetsResponse#next_token #next_token} => String
2069
+ # * {Types::ListRuleSetsResponse#rule_sets #rule_sets} => Array&lt;Types::RuleSet&gt;
2070
+ #
2071
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
2072
+ #
2073
+ # @example Request syntax with placeholder values
2074
+ #
2075
+ # resp = client.list_rule_sets({
2076
+ # next_token: "PaginationToken",
2077
+ # page_size: 1,
2078
+ # })
2079
+ #
2080
+ # @example Response structure
2081
+ #
2082
+ # resp.next_token #=> String
2083
+ # resp.rule_sets #=> Array
2084
+ # resp.rule_sets[0].last_modification_date #=> Time
2085
+ # resp.rule_sets[0].rule_set_id #=> String
2086
+ # resp.rule_sets[0].rule_set_name #=> String
2087
+ #
2088
+ # @see http://docs.aws.amazon.com/goto/WebAPI/mailmanager-2023-10-17/ListRuleSets AWS API Documentation
2089
+ #
2090
+ # @overload list_rule_sets(params = {})
2091
+ # @param [Hash] params ({})
2092
+ def list_rule_sets(params = {}, options = {})
2093
+ req = build_request(:list_rule_sets, params)
2094
+ req.send_request(options)
2095
+ end
2096
+
2097
+ # Retrieves the list of tags (keys and values) assigned to the resource.
2098
+ #
2099
+ # @option params [required, String] :resource_arn
2100
+ # The Amazon Resource Name (ARN) of the resource to retrieve tags from.
2101
+ #
2102
+ # @return [Types::ListTagsForResourceResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2103
+ #
2104
+ # * {Types::ListTagsForResourceResponse#tags #tags} => Array&lt;Types::Tag&gt;
2105
+ #
2106
+ # @example Request syntax with placeholder values
2107
+ #
2108
+ # resp = client.list_tags_for_resource({
2109
+ # resource_arn: "TaggableResourceArn", # required
2110
+ # })
2111
+ #
2112
+ # @example Response structure
2113
+ #
2114
+ # resp.tags #=> Array
2115
+ # resp.tags[0].key #=> String
2116
+ # resp.tags[0].value #=> String
2117
+ #
2118
+ # @see http://docs.aws.amazon.com/goto/WebAPI/mailmanager-2023-10-17/ListTagsForResource AWS API Documentation
2119
+ #
2120
+ # @overload list_tags_for_resource(params = {})
2121
+ # @param [Hash] params ({})
2122
+ def list_tags_for_resource(params = {}, options = {})
2123
+ req = build_request(:list_tags_for_resource, params)
2124
+ req.send_request(options)
2125
+ end
2126
+
2127
+ # List traffic policy resources.
2128
+ #
2129
+ # @option params [String] :next_token
2130
+ # If you received a pagination token from a previous call to this API,
2131
+ # you can provide it here to continue paginating through the next page
2132
+ # of results.
2133
+ #
2134
+ # @option params [Integer] :page_size
2135
+ # The maximum number of traffic policy resources that are returned per
2136
+ # call. You can use NextToken to obtain further traffic policies.
2137
+ #
2138
+ # @return [Types::ListTrafficPoliciesResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2139
+ #
2140
+ # * {Types::ListTrafficPoliciesResponse#next_token #next_token} => String
2141
+ # * {Types::ListTrafficPoliciesResponse#traffic_policies #traffic_policies} => Array&lt;Types::TrafficPolicy&gt;
2142
+ #
2143
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
2144
+ #
2145
+ # @example Request syntax with placeholder values
2146
+ #
2147
+ # resp = client.list_traffic_policies({
2148
+ # next_token: "PaginationToken",
2149
+ # page_size: 1,
2150
+ # })
2151
+ #
2152
+ # @example Response structure
2153
+ #
2154
+ # resp.next_token #=> String
2155
+ # resp.traffic_policies #=> Array
2156
+ # resp.traffic_policies[0].default_action #=> String, one of "ALLOW", "DENY"
2157
+ # resp.traffic_policies[0].traffic_policy_id #=> String
2158
+ # resp.traffic_policies[0].traffic_policy_name #=> String
2159
+ #
2160
+ # @see http://docs.aws.amazon.com/goto/WebAPI/mailmanager-2023-10-17/ListTrafficPolicies AWS API Documentation
2161
+ #
2162
+ # @overload list_traffic_policies(params = {})
2163
+ # @param [Hash] params ({})
2164
+ def list_traffic_policies(params = {}, options = {})
2165
+ req = build_request(:list_traffic_policies, params)
2166
+ req.send_request(options)
2167
+ end
2168
+
2169
+ # Initiates an export of emails from the specified archive.
2170
+ #
2171
+ # @option params [required, String] :archive_id
2172
+ # The identifier of the archive to export emails from.
2173
+ #
2174
+ # @option params [required, Types::ExportDestinationConfiguration] :export_destination_configuration
2175
+ # Details on where to deliver the exported email data.
2176
+ #
2177
+ # @option params [Types::ArchiveFilters] :filters
2178
+ # Criteria to filter which emails are included in the export.
2179
+ #
2180
+ # @option params [required, Time,DateTime,Date,Integer,String] :from_timestamp
2181
+ # The start of the timestamp range to include emails from.
2182
+ #
2183
+ # @option params [Integer] :max_results
2184
+ # The maximum number of email items to include in the export.
2185
+ #
2186
+ # @option params [required, Time,DateTime,Date,Integer,String] :to_timestamp
2187
+ # The end of the timestamp range to include emails from.
2188
+ #
2189
+ # @return [Types::StartArchiveExportResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2190
+ #
2191
+ # * {Types::StartArchiveExportResponse#export_id #export_id} => String
2192
+ #
2193
+ # @example Request syntax with placeholder values
2194
+ #
2195
+ # resp = client.start_archive_export({
2196
+ # archive_id: "ArchiveId", # required
2197
+ # export_destination_configuration: { # required
2198
+ # s3: {
2199
+ # s3_location: "S3Location",
2200
+ # },
2201
+ # },
2202
+ # filters: {
2203
+ # include: [
2204
+ # {
2205
+ # boolean_expression: {
2206
+ # evaluate: { # required
2207
+ # attribute: "HAS_ATTACHMENTS", # accepts HAS_ATTACHMENTS
2208
+ # },
2209
+ # operator: "IS_TRUE", # required, accepts IS_TRUE, IS_FALSE
2210
+ # },
2211
+ # string_expression: {
2212
+ # evaluate: { # required
2213
+ # attribute: "TO", # accepts TO, FROM, CC, SUBJECT
2214
+ # },
2215
+ # operator: "CONTAINS", # required, accepts CONTAINS
2216
+ # values: ["String"], # required
2217
+ # },
2218
+ # },
2219
+ # ],
2220
+ # unless: [
2221
+ # {
2222
+ # boolean_expression: {
2223
+ # evaluate: { # required
2224
+ # attribute: "HAS_ATTACHMENTS", # accepts HAS_ATTACHMENTS
2225
+ # },
2226
+ # operator: "IS_TRUE", # required, accepts IS_TRUE, IS_FALSE
2227
+ # },
2228
+ # string_expression: {
2229
+ # evaluate: { # required
2230
+ # attribute: "TO", # accepts TO, FROM, CC, SUBJECT
2231
+ # },
2232
+ # operator: "CONTAINS", # required, accepts CONTAINS
2233
+ # values: ["String"], # required
2234
+ # },
2235
+ # },
2236
+ # ],
2237
+ # },
2238
+ # from_timestamp: Time.now, # required
2239
+ # max_results: 1,
2240
+ # to_timestamp: Time.now, # required
2241
+ # })
2242
+ #
2243
+ # @example Response structure
2244
+ #
2245
+ # resp.export_id #=> String
2246
+ #
2247
+ # @see http://docs.aws.amazon.com/goto/WebAPI/mailmanager-2023-10-17/StartArchiveExport AWS API Documentation
2248
+ #
2249
+ # @overload start_archive_export(params = {})
2250
+ # @param [Hash] params ({})
2251
+ def start_archive_export(params = {}, options = {})
2252
+ req = build_request(:start_archive_export, params)
2253
+ req.send_request(options)
2254
+ end
2255
+
2256
+ # Initiates a search across emails in the specified archive.
2257
+ #
2258
+ # @option params [required, String] :archive_id
2259
+ # The identifier of the archive to search emails in.
2260
+ #
2261
+ # @option params [Types::ArchiveFilters] :filters
2262
+ # Criteria to filter which emails are included in the search results.
2263
+ #
2264
+ # @option params [required, Time,DateTime,Date,Integer,String] :from_timestamp
2265
+ # The start timestamp of the range to search emails from.
2266
+ #
2267
+ # @option params [required, Integer] :max_results
2268
+ # The maximum number of search results to return.
2269
+ #
2270
+ # @option params [required, Time,DateTime,Date,Integer,String] :to_timestamp
2271
+ # The end timestamp of the range to search emails from.
2272
+ #
2273
+ # @return [Types::StartArchiveSearchResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2274
+ #
2275
+ # * {Types::StartArchiveSearchResponse#search_id #search_id} => String
2276
+ #
2277
+ # @example Request syntax with placeholder values
2278
+ #
2279
+ # resp = client.start_archive_search({
2280
+ # archive_id: "ArchiveId", # required
2281
+ # filters: {
2282
+ # include: [
2283
+ # {
2284
+ # boolean_expression: {
2285
+ # evaluate: { # required
2286
+ # attribute: "HAS_ATTACHMENTS", # accepts HAS_ATTACHMENTS
2287
+ # },
2288
+ # operator: "IS_TRUE", # required, accepts IS_TRUE, IS_FALSE
2289
+ # },
2290
+ # string_expression: {
2291
+ # evaluate: { # required
2292
+ # attribute: "TO", # accepts TO, FROM, CC, SUBJECT
2293
+ # },
2294
+ # operator: "CONTAINS", # required, accepts CONTAINS
2295
+ # values: ["String"], # required
2296
+ # },
2297
+ # },
2298
+ # ],
2299
+ # unless: [
2300
+ # {
2301
+ # boolean_expression: {
2302
+ # evaluate: { # required
2303
+ # attribute: "HAS_ATTACHMENTS", # accepts HAS_ATTACHMENTS
2304
+ # },
2305
+ # operator: "IS_TRUE", # required, accepts IS_TRUE, IS_FALSE
2306
+ # },
2307
+ # string_expression: {
2308
+ # evaluate: { # required
2309
+ # attribute: "TO", # accepts TO, FROM, CC, SUBJECT
2310
+ # },
2311
+ # operator: "CONTAINS", # required, accepts CONTAINS
2312
+ # values: ["String"], # required
2313
+ # },
2314
+ # },
2315
+ # ],
2316
+ # },
2317
+ # from_timestamp: Time.now, # required
2318
+ # max_results: 1, # required
2319
+ # to_timestamp: Time.now, # required
2320
+ # })
2321
+ #
2322
+ # @example Response structure
2323
+ #
2324
+ # resp.search_id #=> String
2325
+ #
2326
+ # @see http://docs.aws.amazon.com/goto/WebAPI/mailmanager-2023-10-17/StartArchiveSearch AWS API Documentation
2327
+ #
2328
+ # @overload start_archive_search(params = {})
2329
+ # @param [Hash] params ({})
2330
+ def start_archive_search(params = {}, options = {})
2331
+ req = build_request(:start_archive_search, params)
2332
+ req.send_request(options)
2333
+ end
2334
+
2335
+ # Stops an in-progress export of emails from an archive.
2336
+ #
2337
+ # @option params [required, String] :export_id
2338
+ # The identifier of the export job to stop.
2339
+ #
2340
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
2341
+ #
2342
+ # @example Request syntax with placeholder values
2343
+ #
2344
+ # resp = client.stop_archive_export({
2345
+ # export_id: "ExportId", # required
2346
+ # })
2347
+ #
2348
+ # @see http://docs.aws.amazon.com/goto/WebAPI/mailmanager-2023-10-17/StopArchiveExport AWS API Documentation
2349
+ #
2350
+ # @overload stop_archive_export(params = {})
2351
+ # @param [Hash] params ({})
2352
+ def stop_archive_export(params = {}, options = {})
2353
+ req = build_request(:stop_archive_export, params)
2354
+ req.send_request(options)
2355
+ end
2356
+
2357
+ # Stops an in-progress archive search job.
2358
+ #
2359
+ # @option params [required, String] :search_id
2360
+ # The identifier of the search job to stop.
2361
+ #
2362
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
2363
+ #
2364
+ # @example Request syntax with placeholder values
2365
+ #
2366
+ # resp = client.stop_archive_search({
2367
+ # search_id: "SearchId", # required
2368
+ # })
2369
+ #
2370
+ # @see http://docs.aws.amazon.com/goto/WebAPI/mailmanager-2023-10-17/StopArchiveSearch AWS API Documentation
2371
+ #
2372
+ # @overload stop_archive_search(params = {})
2373
+ # @param [Hash] params ({})
2374
+ def stop_archive_search(params = {}, options = {})
2375
+ req = build_request(:stop_archive_search, params)
2376
+ req.send_request(options)
2377
+ end
2378
+
2379
+ # Adds one or more tags (keys and values) to a specified resource.
2380
+ #
2381
+ # @option params [required, String] :resource_arn
2382
+ # The Amazon Resource Name (ARN) of the resource that you want to tag.
2383
+ #
2384
+ # @option params [required, Array<Types::Tag>] :tags
2385
+ # The tags used to organize, track, or control access for the resource.
2386
+ # For example, \\\{ "tags": \\\{"key1":"value1",
2387
+ # "key2":"value2"\\} \\}.
2388
+ #
2389
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
2390
+ #
2391
+ # @example Request syntax with placeholder values
2392
+ #
2393
+ # resp = client.tag_resource({
2394
+ # resource_arn: "TaggableResourceArn", # required
2395
+ # tags: [ # required
2396
+ # {
2397
+ # key: "TagKey", # required
2398
+ # value: "TagValue", # required
2399
+ # },
2400
+ # ],
2401
+ # })
2402
+ #
2403
+ # @see http://docs.aws.amazon.com/goto/WebAPI/mailmanager-2023-10-17/TagResource AWS API Documentation
2404
+ #
2405
+ # @overload tag_resource(params = {})
2406
+ # @param [Hash] params ({})
2407
+ def tag_resource(params = {}, options = {})
2408
+ req = build_request(:tag_resource, params)
2409
+ req.send_request(options)
2410
+ end
2411
+
2412
+ # Remove one or more tags (keys and values) from a specified resource.
2413
+ #
2414
+ # @option params [required, String] :resource_arn
2415
+ # The Amazon Resource Name (ARN) of the resource that you want to untag.
2416
+ #
2417
+ # @option params [required, Array<String>] :tag_keys
2418
+ # The keys of the key-value pairs for the tag or tags you want to remove
2419
+ # from the specified resource.
2420
+ #
2421
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
2422
+ #
2423
+ # @example Request syntax with placeholder values
2424
+ #
2425
+ # resp = client.untag_resource({
2426
+ # resource_arn: "TaggableResourceArn", # required
2427
+ # tag_keys: ["TagKey"], # required
2428
+ # })
2429
+ #
2430
+ # @see http://docs.aws.amazon.com/goto/WebAPI/mailmanager-2023-10-17/UntagResource AWS API Documentation
2431
+ #
2432
+ # @overload untag_resource(params = {})
2433
+ # @param [Hash] params ({})
2434
+ def untag_resource(params = {}, options = {})
2435
+ req = build_request(:untag_resource, params)
2436
+ req.send_request(options)
2437
+ end
2438
+
2439
+ # Updates the attributes of an existing email archive.
2440
+ #
2441
+ # @option params [required, String] :archive_id
2442
+ # The identifier of the archive to update.
2443
+ #
2444
+ # @option params [String] :archive_name
2445
+ # A new, unique name for the archive.
2446
+ #
2447
+ # @option params [Types::ArchiveRetention] :retention
2448
+ # A new retention period for emails in the archive.
2449
+ #
2450
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
2451
+ #
2452
+ # @example Request syntax with placeholder values
2453
+ #
2454
+ # resp = client.update_archive({
2455
+ # archive_id: "ArchiveIdString", # required
2456
+ # archive_name: "ArchiveNameString",
2457
+ # retention: {
2458
+ # retention_period: "THREE_MONTHS", # accepts THREE_MONTHS, SIX_MONTHS, NINE_MONTHS, ONE_YEAR, EIGHTEEN_MONTHS, TWO_YEARS, THIRTY_MONTHS, THREE_YEARS, FOUR_YEARS, FIVE_YEARS, SIX_YEARS, SEVEN_YEARS, EIGHT_YEARS, NINE_YEARS, TEN_YEARS, PERMANENT
2459
+ # },
2460
+ # })
2461
+ #
2462
+ # @see http://docs.aws.amazon.com/goto/WebAPI/mailmanager-2023-10-17/UpdateArchive AWS API Documentation
2463
+ #
2464
+ # @overload update_archive(params = {})
2465
+ # @param [Hash] params ({})
2466
+ def update_archive(params = {}, options = {})
2467
+ req = build_request(:update_archive, params)
2468
+ req.send_request(options)
2469
+ end
2470
+
2471
+ # Update attributes of a provisioned ingress endpoint resource.
2472
+ #
2473
+ # @option params [Types::IngressPointConfiguration] :ingress_point_configuration
2474
+ # If you choose an Authenticated ingress endpoint, you must configure
2475
+ # either an SMTP password or a secret ARN.
2476
+ #
2477
+ # @option params [required, String] :ingress_point_id
2478
+ # The identifier for the ingress endpoint you want to update.
2479
+ #
2480
+ # @option params [String] :ingress_point_name
2481
+ # A user friendly name for the ingress endpoint resource.
2482
+ #
2483
+ # @option params [String] :rule_set_id
2484
+ # The identifier of an existing rule set that you attach to an ingress
2485
+ # endpoint resource.
2486
+ #
2487
+ # @option params [String] :status_to_update
2488
+ # The update status of an ingress endpoint.
2489
+ #
2490
+ # @option params [String] :traffic_policy_id
2491
+ # The identifier of an existing traffic policy that you attach to an
2492
+ # ingress endpoint resource.
2493
+ #
2494
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
2495
+ #
2496
+ # @example Request syntax with placeholder values
2497
+ #
2498
+ # resp = client.update_ingress_point({
2499
+ # ingress_point_configuration: {
2500
+ # secret_arn: "SecretArn",
2501
+ # smtp_password: "SmtpPassword",
2502
+ # },
2503
+ # ingress_point_id: "IngressPointId", # required
2504
+ # ingress_point_name: "IngressPointName",
2505
+ # rule_set_id: "RuleSetId",
2506
+ # status_to_update: "ACTIVE", # accepts ACTIVE, CLOSED
2507
+ # traffic_policy_id: "TrafficPolicyId",
2508
+ # })
2509
+ #
2510
+ # @see http://docs.aws.amazon.com/goto/WebAPI/mailmanager-2023-10-17/UpdateIngressPoint AWS API Documentation
2511
+ #
2512
+ # @overload update_ingress_point(params = {})
2513
+ # @param [Hash] params ({})
2514
+ def update_ingress_point(params = {}, options = {})
2515
+ req = build_request(:update_ingress_point, params)
2516
+ req.send_request(options)
2517
+ end
2518
+
2519
+ # Updates the attributes of an existing relay resource.
2520
+ #
2521
+ # @option params [Types::RelayAuthentication] :authentication
2522
+ # Authentication for the relay destination server—specify the secretARN
2523
+ # where the SMTP credentials are stored.
2524
+ #
2525
+ # @option params [required, String] :relay_id
2526
+ # The unique relay identifier.
2527
+ #
2528
+ # @option params [String] :relay_name
2529
+ # The name of the relay resource.
2530
+ #
2531
+ # @option params [String] :server_name
2532
+ # The destination relay server address.
2533
+ #
2534
+ # @option params [Integer] :server_port
2535
+ # The destination relay server port.
2536
+ #
2537
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
2538
+ #
2539
+ # @example Request syntax with placeholder values
2540
+ #
2541
+ # resp = client.update_relay({
2542
+ # authentication: {
2543
+ # no_authentication: {
2544
+ # },
2545
+ # secret_arn: "SecretArn",
2546
+ # },
2547
+ # relay_id: "RelayId", # required
2548
+ # relay_name: "RelayName",
2549
+ # server_name: "RelayServerName",
2550
+ # server_port: 1,
2551
+ # })
2552
+ #
2553
+ # @see http://docs.aws.amazon.com/goto/WebAPI/mailmanager-2023-10-17/UpdateRelay AWS API Documentation
2554
+ #
2555
+ # @overload update_relay(params = {})
2556
+ # @param [Hash] params ({})
2557
+ def update_relay(params = {}, options = {})
2558
+ req = build_request(:update_relay, params)
2559
+ req.send_request(options)
2560
+ end
2561
+
2562
+ # &gt;Update attributes of an already provisioned rule set.
2563
+ #
2564
+ # @option params [required, String] :rule_set_id
2565
+ # The identifier of a rule set you want to update.
2566
+ #
2567
+ # @option params [String] :rule_set_name
2568
+ # A user-friendly name for the rule set resource.
2569
+ #
2570
+ # @option params [Array<Types::Rule>] :rules
2571
+ # A new set of rules to replace the current rules of the rule set—these
2572
+ # rules will override all the rules of the rule set.
2573
+ #
2574
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
2575
+ #
2576
+ # @example Request syntax with placeholder values
2577
+ #
2578
+ # resp = client.update_rule_set({
2579
+ # rule_set_id: "RuleSetId", # required
2580
+ # rule_set_name: "RuleSetName",
2581
+ # rules: [
2582
+ # {
2583
+ # actions: [ # required
2584
+ # {
2585
+ # add_header: {
2586
+ # header_name: "HeaderName", # required
2587
+ # header_value: "HeaderValue", # required
2588
+ # },
2589
+ # archive: {
2590
+ # action_failure_policy: "CONTINUE", # accepts CONTINUE, DROP
2591
+ # target_archive: "NameOrArn", # required
2592
+ # },
2593
+ # deliver_to_mailbox: {
2594
+ # action_failure_policy: "CONTINUE", # accepts CONTINUE, DROP
2595
+ # mailbox_arn: "NameOrArn", # required
2596
+ # role_arn: "IamRoleArn", # required
2597
+ # },
2598
+ # drop: {
2599
+ # },
2600
+ # relay: {
2601
+ # action_failure_policy: "CONTINUE", # accepts CONTINUE, DROP
2602
+ # mail_from: "REPLACE", # accepts REPLACE, PRESERVE
2603
+ # relay: "IdOrArn", # required
2604
+ # },
2605
+ # replace_recipient: {
2606
+ # replace_with: ["EmailAddress"],
2607
+ # },
2608
+ # send: {
2609
+ # action_failure_policy: "CONTINUE", # accepts CONTINUE, DROP
2610
+ # role_arn: "IamRoleArn", # required
2611
+ # },
2612
+ # write_to_s3: {
2613
+ # action_failure_policy: "CONTINUE", # accepts CONTINUE, DROP
2614
+ # role_arn: "IamRoleArn", # required
2615
+ # s3_bucket: "S3Bucket", # required
2616
+ # s3_prefix: "S3Prefix",
2617
+ # s3_sse_kms_key_id: "KmsKeyId",
2618
+ # },
2619
+ # },
2620
+ # ],
2621
+ # conditions: [
2622
+ # {
2623
+ # boolean_expression: {
2624
+ # evaluate: { # required
2625
+ # attribute: "READ_RECEIPT_REQUESTED", # accepts READ_RECEIPT_REQUESTED, TLS, TLS_WRAPPED
2626
+ # },
2627
+ # operator: "IS_TRUE", # required, accepts IS_TRUE, IS_FALSE
2628
+ # },
2629
+ # dmarc_expression: {
2630
+ # operator: "EQUALS", # required, accepts EQUALS, NOT_EQUALS
2631
+ # values: ["NONE"], # required, accepts NONE, QUARANTINE, REJECT
2632
+ # },
2633
+ # ip_expression: {
2634
+ # evaluate: { # required
2635
+ # attribute: "SOURCE_IP", # accepts SOURCE_IP
2636
+ # },
2637
+ # operator: "CIDR_MATCHES", # required, accepts CIDR_MATCHES, NOT_CIDR_MATCHES
2638
+ # values: ["RuleIpStringValue"], # required
2639
+ # },
2640
+ # number_expression: {
2641
+ # evaluate: { # required
2642
+ # attribute: "MESSAGE_SIZE", # accepts MESSAGE_SIZE
2643
+ # },
2644
+ # operator: "EQUALS", # required, accepts EQUALS, NOT_EQUALS, LESS_THAN, GREATER_THAN, LESS_THAN_OR_EQUAL, GREATER_THAN_OR_EQUAL
2645
+ # value: 1.0, # required
2646
+ # },
2647
+ # string_expression: {
2648
+ # evaluate: { # required
2649
+ # attribute: "MAIL_FROM", # accepts MAIL_FROM, HELO, RECIPIENT, SENDER, FROM, SUBJECT, TO, CC
2650
+ # },
2651
+ # operator: "EQUALS", # required, accepts EQUALS, NOT_EQUALS, STARTS_WITH, ENDS_WITH, CONTAINS
2652
+ # values: ["RuleStringValue"], # required
2653
+ # },
2654
+ # verdict_expression: {
2655
+ # evaluate: { # required
2656
+ # analysis: {
2657
+ # analyzer: "AnalyzerArn", # required
2658
+ # result_field: "ResultField", # required
2659
+ # },
2660
+ # attribute: "SPF", # accepts SPF, DKIM
2661
+ # },
2662
+ # operator: "EQUALS", # required, accepts EQUALS, NOT_EQUALS
2663
+ # values: ["PASS"], # required, accepts PASS, FAIL, GRAY, PROCESSING_FAILED
2664
+ # },
2665
+ # },
2666
+ # ],
2667
+ # name: "RuleName",
2668
+ # unless: [
2669
+ # {
2670
+ # boolean_expression: {
2671
+ # evaluate: { # required
2672
+ # attribute: "READ_RECEIPT_REQUESTED", # accepts READ_RECEIPT_REQUESTED, TLS, TLS_WRAPPED
2673
+ # },
2674
+ # operator: "IS_TRUE", # required, accepts IS_TRUE, IS_FALSE
2675
+ # },
2676
+ # dmarc_expression: {
2677
+ # operator: "EQUALS", # required, accepts EQUALS, NOT_EQUALS
2678
+ # values: ["NONE"], # required, accepts NONE, QUARANTINE, REJECT
2679
+ # },
2680
+ # ip_expression: {
2681
+ # evaluate: { # required
2682
+ # attribute: "SOURCE_IP", # accepts SOURCE_IP
2683
+ # },
2684
+ # operator: "CIDR_MATCHES", # required, accepts CIDR_MATCHES, NOT_CIDR_MATCHES
2685
+ # values: ["RuleIpStringValue"], # required
2686
+ # },
2687
+ # number_expression: {
2688
+ # evaluate: { # required
2689
+ # attribute: "MESSAGE_SIZE", # accepts MESSAGE_SIZE
2690
+ # },
2691
+ # operator: "EQUALS", # required, accepts EQUALS, NOT_EQUALS, LESS_THAN, GREATER_THAN, LESS_THAN_OR_EQUAL, GREATER_THAN_OR_EQUAL
2692
+ # value: 1.0, # required
2693
+ # },
2694
+ # string_expression: {
2695
+ # evaluate: { # required
2696
+ # attribute: "MAIL_FROM", # accepts MAIL_FROM, HELO, RECIPIENT, SENDER, FROM, SUBJECT, TO, CC
2697
+ # },
2698
+ # operator: "EQUALS", # required, accepts EQUALS, NOT_EQUALS, STARTS_WITH, ENDS_WITH, CONTAINS
2699
+ # values: ["RuleStringValue"], # required
2700
+ # },
2701
+ # verdict_expression: {
2702
+ # evaluate: { # required
2703
+ # analysis: {
2704
+ # analyzer: "AnalyzerArn", # required
2705
+ # result_field: "ResultField", # required
2706
+ # },
2707
+ # attribute: "SPF", # accepts SPF, DKIM
2708
+ # },
2709
+ # operator: "EQUALS", # required, accepts EQUALS, NOT_EQUALS
2710
+ # values: ["PASS"], # required, accepts PASS, FAIL, GRAY, PROCESSING_FAILED
2711
+ # },
2712
+ # },
2713
+ # ],
2714
+ # },
2715
+ # ],
2716
+ # })
2717
+ #
2718
+ # @see http://docs.aws.amazon.com/goto/WebAPI/mailmanager-2023-10-17/UpdateRuleSet AWS API Documentation
2719
+ #
2720
+ # @overload update_rule_set(params = {})
2721
+ # @param [Hash] params ({})
2722
+ def update_rule_set(params = {}, options = {})
2723
+ req = build_request(:update_rule_set, params)
2724
+ req.send_request(options)
2725
+ end
2726
+
2727
+ # Update attributes of an already provisioned traffic policy resource.
2728
+ #
2729
+ # @option params [String] :default_action
2730
+ # Default action instructs the traffic policy to either Allow or Deny
2731
+ # (block) messages that fall outside of (or not addressed by) the
2732
+ # conditions of your policy statements
2733
+ #
2734
+ # @option params [Integer] :max_message_size_bytes
2735
+ # The maximum message size in bytes of email which is allowed in by this
2736
+ # traffic policy—anything larger will be blocked.
2737
+ #
2738
+ # @option params [Array<Types::PolicyStatement>] :policy_statements
2739
+ # The list of conditions to be updated for filtering email traffic.
2740
+ #
2741
+ # @option params [required, String] :traffic_policy_id
2742
+ # The identifier of the traffic policy that you want to update.
2743
+ #
2744
+ # @option params [String] :traffic_policy_name
2745
+ # A user-friendly name for the traffic policy resource.
2746
+ #
2747
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
2748
+ #
2749
+ # @example Request syntax with placeholder values
2750
+ #
2751
+ # resp = client.update_traffic_policy({
2752
+ # default_action: "ALLOW", # accepts ALLOW, DENY
2753
+ # max_message_size_bytes: 1,
2754
+ # policy_statements: [
2755
+ # {
2756
+ # action: "ALLOW", # required, accepts ALLOW, DENY
2757
+ # conditions: [ # required
2758
+ # {
2759
+ # boolean_expression: {
2760
+ # evaluate: { # required
2761
+ # analysis: {
2762
+ # analyzer: "AnalyzerArn", # required
2763
+ # result_field: "ResultField", # required
2764
+ # },
2765
+ # },
2766
+ # operator: "IS_TRUE", # required, accepts IS_TRUE, IS_FALSE
2767
+ # },
2768
+ # ip_expression: {
2769
+ # evaluate: { # required
2770
+ # attribute: "SENDER_IP", # accepts SENDER_IP
2771
+ # },
2772
+ # operator: "CIDR_MATCHES", # required, accepts CIDR_MATCHES, NOT_CIDR_MATCHES
2773
+ # values: ["Ipv4Cidr"], # required
2774
+ # },
2775
+ # string_expression: {
2776
+ # evaluate: { # required
2777
+ # attribute: "RECIPIENT", # accepts RECIPIENT
2778
+ # },
2779
+ # operator: "EQUALS", # required, accepts EQUALS, NOT_EQUALS, STARTS_WITH, ENDS_WITH, CONTAINS
2780
+ # values: ["String"], # required
2781
+ # },
2782
+ # tls_expression: {
2783
+ # evaluate: { # required
2784
+ # attribute: "TLS_PROTOCOL", # accepts TLS_PROTOCOL
2785
+ # },
2786
+ # operator: "MINIMUM_TLS_VERSION", # required, accepts MINIMUM_TLS_VERSION, IS
2787
+ # value: "TLS1_2", # required, accepts TLS1_2, TLS1_3
2788
+ # },
2789
+ # },
2790
+ # ],
2791
+ # },
2792
+ # ],
2793
+ # traffic_policy_id: "TrafficPolicyId", # required
2794
+ # traffic_policy_name: "TrafficPolicyName",
2795
+ # })
2796
+ #
2797
+ # @see http://docs.aws.amazon.com/goto/WebAPI/mailmanager-2023-10-17/UpdateTrafficPolicy AWS API Documentation
2798
+ #
2799
+ # @overload update_traffic_policy(params = {})
2800
+ # @param [Hash] params ({})
2801
+ def update_traffic_policy(params = {}, options = {})
2802
+ req = build_request(:update_traffic_policy, params)
2803
+ req.send_request(options)
2804
+ end
2805
+
2806
+ # @!endgroup
2807
+
2808
+ # @param params ({})
2809
+ # @api private
2810
+ def build_request(operation_name, params = {})
2811
+ handlers = @handlers.for(operation_name)
2812
+ context = Seahorse::Client::RequestContext.new(
2813
+ operation_name: operation_name,
2814
+ operation: config.api.operation(operation_name),
2815
+ client: self,
2816
+ params: params,
2817
+ config: config)
2818
+ context[:gem_name] = 'aws-sdk-mailmanager'
2819
+ context[:gem_version] = '1.0.0'
2820
+ Seahorse::Client::Request.new(handlers, context)
2821
+ end
2822
+
2823
+ # @api private
2824
+ # @deprecated
2825
+ def waiter_names
2826
+ []
2827
+ end
2828
+
2829
+ class << self
2830
+
2831
+ # @api private
2832
+ attr_reader :identifier
2833
+
2834
+ # @api private
2835
+ def errors_module
2836
+ Errors
2837
+ end
2838
+
2839
+ end
2840
+ end
2841
+ end