aws-sdk-partnercentralbenefits 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,1511 @@
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'
11
+ require 'aws-sdk-core/plugins/credentials_configuration'
12
+ require 'aws-sdk-core/plugins/logging'
13
+ require 'aws-sdk-core/plugins/param_converter'
14
+ require 'aws-sdk-core/plugins/param_validator'
15
+ require 'aws-sdk-core/plugins/user_agent'
16
+ require 'aws-sdk-core/plugins/helpful_socket_errors'
17
+ require 'aws-sdk-core/plugins/retry_errors'
18
+ require 'aws-sdk-core/plugins/global_configuration'
19
+ require 'aws-sdk-core/plugins/regional_endpoint'
20
+ require 'aws-sdk-core/plugins/endpoint_discovery'
21
+ require 'aws-sdk-core/plugins/endpoint_pattern'
22
+ require 'aws-sdk-core/plugins/response_paging'
23
+ require 'aws-sdk-core/plugins/stub_responses'
24
+ require 'aws-sdk-core/plugins/idempotency_token'
25
+ require 'aws-sdk-core/plugins/invocation_id'
26
+ require 'aws-sdk-core/plugins/jsonvalue_converter'
27
+ require 'aws-sdk-core/plugins/client_metrics_plugin'
28
+ require 'aws-sdk-core/plugins/client_metrics_send_plugin'
29
+ require 'aws-sdk-core/plugins/transfer_encoding'
30
+ require 'aws-sdk-core/plugins/http_checksum'
31
+ require 'aws-sdk-core/plugins/checksum_algorithm'
32
+ require 'aws-sdk-core/plugins/request_compression'
33
+ require 'aws-sdk-core/plugins/defaults_mode'
34
+ require 'aws-sdk-core/plugins/recursion_detection'
35
+ require 'aws-sdk-core/plugins/telemetry'
36
+ require 'aws-sdk-core/plugins/sign'
37
+ require 'aws-sdk-core/plugins/protocols/json_rpc'
38
+
39
+ module Aws::PartnerCentralBenefits
40
+ # An API client for PartnerCentralBenefits. To construct a client, you need to configure a `:region` and `:credentials`.
41
+ #
42
+ # client = Aws::PartnerCentralBenefits::Client.new(
43
+ # region: region_name,
44
+ # credentials: credentials,
45
+ # # ...
46
+ # )
47
+ #
48
+ # For details on configuring region and credentials see
49
+ # the [developer guide](/sdk-for-ruby/v3/developer-guide/setup-config.html).
50
+ #
51
+ # See {#initialize} for a full list of supported configuration options.
52
+ class Client < Seahorse::Client::Base
53
+
54
+ include Aws::ClientStubs
55
+
56
+ @identifier = :partnercentralbenefits
57
+
58
+ set_api(ClientApi::API)
59
+
60
+ add_plugin(Seahorse::Client::Plugins::ContentLength)
61
+ add_plugin(Aws::Plugins::CredentialsConfiguration)
62
+ add_plugin(Aws::Plugins::Logging)
63
+ add_plugin(Aws::Plugins::ParamConverter)
64
+ add_plugin(Aws::Plugins::ParamValidator)
65
+ add_plugin(Aws::Plugins::UserAgent)
66
+ add_plugin(Aws::Plugins::HelpfulSocketErrors)
67
+ add_plugin(Aws::Plugins::RetryErrors)
68
+ add_plugin(Aws::Plugins::GlobalConfiguration)
69
+ add_plugin(Aws::Plugins::RegionalEndpoint)
70
+ add_plugin(Aws::Plugins::EndpointDiscovery)
71
+ add_plugin(Aws::Plugins::EndpointPattern)
72
+ add_plugin(Aws::Plugins::ResponsePaging)
73
+ add_plugin(Aws::Plugins::StubResponses)
74
+ add_plugin(Aws::Plugins::IdempotencyToken)
75
+ add_plugin(Aws::Plugins::InvocationId)
76
+ add_plugin(Aws::Plugins::JsonvalueConverter)
77
+ add_plugin(Aws::Plugins::ClientMetricsPlugin)
78
+ add_plugin(Aws::Plugins::ClientMetricsSendPlugin)
79
+ add_plugin(Aws::Plugins::TransferEncoding)
80
+ add_plugin(Aws::Plugins::HttpChecksum)
81
+ add_plugin(Aws::Plugins::ChecksumAlgorithm)
82
+ add_plugin(Aws::Plugins::RequestCompression)
83
+ add_plugin(Aws::Plugins::DefaultsMode)
84
+ add_plugin(Aws::Plugins::RecursionDetection)
85
+ add_plugin(Aws::Plugins::Telemetry)
86
+ add_plugin(Aws::Plugins::Sign)
87
+ add_plugin(Aws::Plugins::Protocols::JsonRpc)
88
+ add_plugin(Aws::PartnerCentralBenefits::Plugins::Endpoints)
89
+
90
+ # @overload initialize(options)
91
+ # @param [Hash] options
92
+ #
93
+ # @option options [Array<Seahorse::Client::Plugin>] :plugins ([]])
94
+ # A list of plugins to apply to the client. Each plugin is either a
95
+ # class name or an instance of a plugin class.
96
+ #
97
+ # @option options [required, Aws::CredentialProvider] :credentials
98
+ # Your AWS credentials used for authentication. This can be any class that includes and implements
99
+ # `Aws::CredentialProvider`, or instance of any one of the following classes:
100
+ #
101
+ # * `Aws::Credentials` - Used for configuring static, non-refreshing
102
+ # credentials.
103
+ #
104
+ # * `Aws::SharedCredentials` - Used for loading static credentials from a
105
+ # shared file, such as `~/.aws/config`.
106
+ #
107
+ # * `Aws::AssumeRoleCredentials` - Used when you need to assume a role.
108
+ #
109
+ # * `Aws::AssumeRoleWebIdentityCredentials` - Used when you need to
110
+ # assume a role after providing credentials via the web.
111
+ #
112
+ # * `Aws::SSOCredentials` - Used for loading credentials from AWS SSO using an
113
+ # access token generated from `aws login`.
114
+ #
115
+ # * `Aws::ProcessCredentials` - Used for loading credentials from a
116
+ # process that outputs to stdout.
117
+ #
118
+ # * `Aws::InstanceProfileCredentials` - Used for loading credentials
119
+ # from an EC2 IMDS on an EC2 instance.
120
+ #
121
+ # * `Aws::ECSCredentials` - Used for loading credentials from
122
+ # instances running in ECS.
123
+ #
124
+ # * `Aws::CognitoIdentityCredentials` - Used for loading credentials
125
+ # from the Cognito Identity service.
126
+ #
127
+ # When `:credentials` are not configured directly, the following locations will be searched for credentials:
128
+ #
129
+ # * `Aws.config[:credentials]`
130
+ #
131
+ # * The `:access_key_id`, `:secret_access_key`, `:session_token`, and
132
+ # `:account_id` options.
133
+ #
134
+ # * `ENV['AWS_ACCESS_KEY_ID']`, `ENV['AWS_SECRET_ACCESS_KEY']`,
135
+ # `ENV['AWS_SESSION_TOKEN']`, and `ENV['AWS_ACCOUNT_ID']`.
136
+ #
137
+ # * `~/.aws/credentials`
138
+ #
139
+ # * `~/.aws/config`
140
+ #
141
+ # * EC2/ECS IMDS instance profile - When used by default, the timeouts are very aggressive.
142
+ # Construct and pass an instance of `Aws::InstanceProfileCredentials` or `Aws::ECSCredentials` to
143
+ # enable retries and extended timeouts. Instance profile credential fetching can be disabled by
144
+ # setting `ENV['AWS_EC2_METADATA_DISABLED']` to `true`.
145
+ #
146
+ # @option options [required, String] :region
147
+ # The AWS region to connect to. The configured `:region` is
148
+ # used to determine the service `:endpoint`. When not passed,
149
+ # a default `:region` is searched for in the following locations:
150
+ #
151
+ # * `Aws.config[:region]`
152
+ # * `ENV['AWS_REGION']`
153
+ # * `ENV['AMAZON_REGION']`
154
+ # * `ENV['AWS_DEFAULT_REGION']`
155
+ # * `~/.aws/credentials`
156
+ # * `~/.aws/config`
157
+ #
158
+ # @option options [String] :access_key_id
159
+ #
160
+ # @option options [String] :account_id
161
+ #
162
+ # @option options [Boolean] :active_endpoint_cache (false)
163
+ # When set to `true`, a thread polling for endpoints will be running in
164
+ # the background every 60 secs (default). Defaults to `false`.
165
+ #
166
+ # @option options [Boolean] :adaptive_retry_wait_to_fill (true)
167
+ # Used only in `adaptive` retry mode. When true, the request will sleep
168
+ # until there is sufficent client side capacity to retry the request.
169
+ # When false, the request will raise a `RetryCapacityNotAvailableError` and will
170
+ # not retry instead of sleeping.
171
+ #
172
+ # @option options [Array<String>] :auth_scheme_preference
173
+ # A list of preferred authentication schemes to use when making a request. Supported values are:
174
+ # `sigv4`, `sigv4a`, `httpBearerAuth`, and `noAuth`. When set using `ENV['AWS_AUTH_SCHEME_PREFERENCE']` or in
175
+ # shared config as `auth_scheme_preference`, the value should be a comma-separated list.
176
+ #
177
+ # @option options [Boolean] :client_side_monitoring (false)
178
+ # When `true`, client-side metrics will be collected for all API requests from
179
+ # this client.
180
+ #
181
+ # @option options [String] :client_side_monitoring_client_id ("")
182
+ # Allows you to provide an identifier for this client which will be attached to
183
+ # all generated client side metrics. Defaults to an empty string.
184
+ #
185
+ # @option options [String] :client_side_monitoring_host ("127.0.0.1")
186
+ # Allows you to specify the DNS hostname or IPv4 or IPv6 address that the client
187
+ # side monitoring agent is running on, where client metrics will be published via UDP.
188
+ #
189
+ # @option options [Integer] :client_side_monitoring_port (31000)
190
+ # Required for publishing client metrics. The port that the client side monitoring
191
+ # agent is running on, where client metrics will be published via UDP.
192
+ #
193
+ # @option options [Aws::ClientSideMonitoring::Publisher] :client_side_monitoring_publisher (Aws::ClientSideMonitoring::Publisher)
194
+ # Allows you to provide a custom client-side monitoring publisher class. By default,
195
+ # will use the Client Side Monitoring Agent Publisher.
196
+ #
197
+ # @option options [Boolean] :convert_params (true)
198
+ # When `true`, an attempt is made to coerce request parameters into
199
+ # the required types.
200
+ #
201
+ # @option options [Boolean] :correct_clock_skew (true)
202
+ # Used only in `standard` and adaptive retry modes. Specifies whether to apply
203
+ # a clock skew correction and retry requests with skewed client clocks.
204
+ #
205
+ # @option options [String] :defaults_mode ("legacy")
206
+ # See {Aws::DefaultsModeConfiguration} for a list of the
207
+ # accepted modes and the configuration defaults that are included.
208
+ #
209
+ # @option options [Boolean] :disable_host_prefix_injection (false)
210
+ # When `true`, the SDK will not prepend the modeled host prefix to the endpoint.
211
+ #
212
+ # @option options [Boolean] :disable_request_compression (false)
213
+ # When set to 'true' the request body will not be compressed
214
+ # for supported operations.
215
+ #
216
+ # @option options [String, URI::HTTPS, URI::HTTP] :endpoint
217
+ # Normally you should not configure the `:endpoint` option
218
+ # directly. This is normally constructed from the `:region`
219
+ # option. Configuring `:endpoint` is normally reserved for
220
+ # connecting to test or custom endpoints. The endpoint should
221
+ # be a URI formatted like:
222
+ #
223
+ # 'http://example.com'
224
+ # 'https://example.com'
225
+ # 'http://example.com:123'
226
+ #
227
+ # @option options [Integer] :endpoint_cache_max_entries (1000)
228
+ # Used for the maximum size limit of the LRU cache storing endpoints data
229
+ # for endpoint discovery enabled operations. Defaults to 1000.
230
+ #
231
+ # @option options [Integer] :endpoint_cache_max_threads (10)
232
+ # Used for the maximum threads in use for polling endpoints to be cached, defaults to 10.
233
+ #
234
+ # @option options [Integer] :endpoint_cache_poll_interval (60)
235
+ # When :endpoint_discovery and :active_endpoint_cache is enabled,
236
+ # Use this option to config the time interval in seconds for making
237
+ # requests fetching endpoints information. Defaults to 60 sec.
238
+ #
239
+ # @option options [Boolean] :endpoint_discovery (false)
240
+ # When set to `true`, endpoint discovery will be enabled for operations when available.
241
+ #
242
+ # @option options [Boolean] :ignore_configured_endpoint_urls
243
+ # Setting to true disables use of endpoint URLs provided via environment
244
+ # variables and the shared configuration file.
245
+ #
246
+ # @option options [Aws::Log::Formatter] :log_formatter (Aws::Log::Formatter.default)
247
+ # The log formatter.
248
+ #
249
+ # @option options [Symbol] :log_level (:info)
250
+ # The log level to send messages to the `:logger` at.
251
+ #
252
+ # @option options [Logger] :logger
253
+ # The Logger instance to send log messages to. If this option
254
+ # is not set, logging will be disabled.
255
+ #
256
+ # @option options [Integer] :max_attempts (3)
257
+ # An integer representing the maximum number attempts that will be made for
258
+ # a single request, including the initial attempt. For example,
259
+ # setting this value to 5 will result in a request being retried up to
260
+ # 4 times. Used in `standard` and `adaptive` retry modes.
261
+ #
262
+ # @option options [String] :profile ("default")
263
+ # Used when loading credentials from the shared credentials file at `HOME/.aws/credentials`.
264
+ # When not specified, 'default' is used.
265
+ #
266
+ # @option options [String] :request_checksum_calculation ("when_supported")
267
+ # Determines when a checksum will be calculated for request payloads. Values are:
268
+ #
269
+ # * `when_supported` - (default) When set, a checksum will be
270
+ # calculated for all request payloads of operations modeled with the
271
+ # `httpChecksum` trait where `requestChecksumRequired` is `true` and/or a
272
+ # `requestAlgorithmMember` is modeled.
273
+ # * `when_required` - When set, a checksum will only be calculated for
274
+ # request payloads of operations modeled with the `httpChecksum` trait where
275
+ # `requestChecksumRequired` is `true` or where a `requestAlgorithmMember`
276
+ # is modeled and supplied.
277
+ #
278
+ # @option options [Integer] :request_min_compression_size_bytes (10240)
279
+ # The minimum size in bytes that triggers compression for request
280
+ # bodies. The value must be non-negative integer value between 0
281
+ # and 10485780 bytes inclusive.
282
+ #
283
+ # @option options [String] :response_checksum_validation ("when_supported")
284
+ # Determines when checksum validation will be performed on response payloads. Values are:
285
+ #
286
+ # * `when_supported` - (default) When set, checksum validation is performed on all
287
+ # response payloads of operations modeled with the `httpChecksum` trait where
288
+ # `responseAlgorithms` is modeled, except when no modeled checksum algorithms
289
+ # are supported.
290
+ # * `when_required` - When set, checksum validation is not performed on
291
+ # response payloads of operations unless the checksum algorithm is supported and
292
+ # the `requestValidationModeMember` member is set to `ENABLED`.
293
+ #
294
+ # @option options [Proc] :retry_backoff
295
+ # A proc or lambda used for backoff. Defaults to 2**retries * retry_base_delay.
296
+ # This option is only used in the `legacy` retry mode.
297
+ #
298
+ # @option options [Float] :retry_base_delay (0.3)
299
+ # The base delay in seconds used by the default backoff function. This option
300
+ # is only used in the `legacy` retry mode.
301
+ #
302
+ # @option options [Symbol] :retry_jitter (:none)
303
+ # A delay randomiser function used by the default backoff function.
304
+ # Some predefined functions can be referenced by name - :none, :equal, :full,
305
+ # otherwise a Proc that takes and returns a number. This option is only used
306
+ # in the `legacy` retry mode.
307
+ #
308
+ # @see https://www.awsarchitectureblog.com/2015/03/backoff.html
309
+ #
310
+ # @option options [Integer] :retry_limit (3)
311
+ # The maximum number of times to retry failed requests. Only
312
+ # ~ 500 level server errors and certain ~ 400 level client errors
313
+ # are retried. Generally, these are throttling errors, data
314
+ # checksum errors, networking errors, timeout errors, auth errors,
315
+ # endpoint discovery, and errors from expired credentials.
316
+ # This option is only used in the `legacy` retry mode.
317
+ #
318
+ # @option options [Integer] :retry_max_delay (0)
319
+ # The maximum number of seconds to delay between retries (0 for no limit)
320
+ # used by the default backoff function. This option is only used in the
321
+ # `legacy` retry mode.
322
+ #
323
+ # @option options [String] :retry_mode ("legacy")
324
+ # Specifies which retry algorithm to use. Values are:
325
+ #
326
+ # * `legacy` - The pre-existing retry behavior. This is default value if
327
+ # no retry mode is provided.
328
+ #
329
+ # * `standard` - A standardized set of retry rules across the AWS SDKs.
330
+ # This includes support for retry quotas, which limit the number of
331
+ # unsuccessful retries a client can make.
332
+ #
333
+ # * `adaptive` - An experimental retry mode that includes all the
334
+ # functionality of `standard` mode along with automatic client side
335
+ # throttling. This is a provisional mode that may change behavior
336
+ # in the future.
337
+ #
338
+ # @option options [String] :sdk_ua_app_id
339
+ # A unique and opaque application ID that is appended to the
340
+ # User-Agent header as app/sdk_ua_app_id. It should have a
341
+ # maximum length of 50. This variable is sourced from environment
342
+ # variable AWS_SDK_UA_APP_ID or the shared config profile attribute sdk_ua_app_id.
343
+ #
344
+ # @option options [String] :secret_access_key
345
+ #
346
+ # @option options [String] :session_token
347
+ #
348
+ # @option options [Array] :sigv4a_signing_region_set
349
+ # A list of regions that should be signed with SigV4a signing. When
350
+ # not passed, a default `:sigv4a_signing_region_set` is searched for
351
+ # in the following locations:
352
+ #
353
+ # * `Aws.config[:sigv4a_signing_region_set]`
354
+ # * `ENV['AWS_SIGV4A_SIGNING_REGION_SET']`
355
+ # * `~/.aws/config`
356
+ #
357
+ # @option options [Boolean] :simple_json (false)
358
+ # Disables request parameter conversion, validation, and formatting.
359
+ # Also disables response data type conversions. The request parameters
360
+ # hash must be formatted exactly as the API expects.This option is useful
361
+ # when you want to ensure the highest level of performance by avoiding
362
+ # overhead of walking request parameters and response data structures.
363
+ #
364
+ # @option options [Boolean] :stub_responses (false)
365
+ # Causes the client to return stubbed responses. By default
366
+ # fake responses are generated and returned. You can specify
367
+ # the response data to return or errors to raise by calling
368
+ # {ClientStubs#stub_responses}. See {ClientStubs} for more information.
369
+ #
370
+ # ** Please note ** When response stubbing is enabled, no HTTP
371
+ # requests are made, and retries are disabled.
372
+ #
373
+ # @option options [Aws::Telemetry::TelemetryProviderBase] :telemetry_provider (Aws::Telemetry::NoOpTelemetryProvider)
374
+ # Allows you to provide a telemetry provider, which is used to
375
+ # emit telemetry data. By default, uses `NoOpTelemetryProvider` which
376
+ # will not record or emit any telemetry data. The SDK supports the
377
+ # following telemetry providers:
378
+ #
379
+ # * OpenTelemetry (OTel) - To use the OTel provider, install and require the
380
+ # `opentelemetry-sdk` gem and then, pass in an instance of a
381
+ # `Aws::Telemetry::OTelProvider` for telemetry provider.
382
+ #
383
+ # @option options [Aws::TokenProvider] :token_provider
384
+ # Your Bearer token used for authentication. This can be any class that includes and implements
385
+ # `Aws::TokenProvider`, or instance of any one of the following classes:
386
+ #
387
+ # * `Aws::StaticTokenProvider` - Used for configuring static, non-refreshing
388
+ # tokens.
389
+ #
390
+ # * `Aws::SSOTokenProvider` - Used for loading tokens from AWS SSO using an
391
+ # access token generated from `aws login`.
392
+ #
393
+ # When `:token_provider` is not configured directly, the `Aws::TokenProviderChain`
394
+ # will be used to search for tokens configured for your profile in shared configuration files.
395
+ #
396
+ # @option options [Boolean] :use_dualstack_endpoint
397
+ # When set to `true`, dualstack enabled endpoints (with `.aws` TLD)
398
+ # will be used if available.
399
+ #
400
+ # @option options [Boolean] :use_fips_endpoint
401
+ # When set to `true`, fips compatible endpoints will be used if available.
402
+ # When a `fips` region is used, the region is normalized and this config
403
+ # is set to `true`.
404
+ #
405
+ # @option options [Boolean] :validate_params (true)
406
+ # When `true`, request parameters are validated before
407
+ # sending the request.
408
+ #
409
+ # @option options [Aws::PartnerCentralBenefits::EndpointProvider] :endpoint_provider
410
+ # The endpoint provider used to resolve endpoints. Any object that responds to
411
+ # `#resolve_endpoint(parameters)` where `parameters` is a Struct similar to
412
+ # `Aws::PartnerCentralBenefits::EndpointParameters`.
413
+ #
414
+ # @option options [Float] :http_continue_timeout (1)
415
+ # The number of seconds to wait for a 100-continue response before sending the
416
+ # request body. This option has no effect unless the request has "Expect"
417
+ # header set to "100-continue". Defaults to `nil` which disables this
418
+ # behaviour. This value can safely be set per request on the session.
419
+ #
420
+ # @option options [Float] :http_idle_timeout (5)
421
+ # The number of seconds a connection is allowed to sit idle before it
422
+ # is considered stale. Stale connections are closed and removed from the
423
+ # pool before making a request.
424
+ #
425
+ # @option options [Float] :http_open_timeout (15)
426
+ # The default number of seconds to wait for response data.
427
+ # This value can safely be set per-request on the session.
428
+ #
429
+ # @option options [URI::HTTP,String] :http_proxy
430
+ # A proxy to send requests through. Formatted like 'http://proxy.com:123'.
431
+ #
432
+ # @option options [Float] :http_read_timeout (60)
433
+ # The default number of seconds to wait for response data.
434
+ # This value can safely be set per-request on the session.
435
+ #
436
+ # @option options [Boolean] :http_wire_trace (false)
437
+ # When `true`, HTTP debug output will be sent to the `:logger`.
438
+ #
439
+ # @option options [Proc] :on_chunk_received
440
+ # When a Proc object is provided, it will be used as callback when each chunk
441
+ # of the response body is received. It provides three arguments: the chunk,
442
+ # the number of bytes received, and the total number of
443
+ # bytes in the response (or nil if the server did not send a `content-length`).
444
+ #
445
+ # @option options [Proc] :on_chunk_sent
446
+ # When a Proc object is provided, it will be used as callback when each chunk
447
+ # of the request body is sent. It provides three arguments: the chunk,
448
+ # the number of bytes read from the body, and the total number of
449
+ # bytes in the body.
450
+ #
451
+ # @option options [Boolean] :raise_response_errors (true)
452
+ # When `true`, response errors are raised.
453
+ #
454
+ # @option options [String] :ssl_ca_bundle
455
+ # Full path to the SSL certificate authority bundle file that should be used when
456
+ # verifying peer certificates. If you do not pass `:ssl_ca_bundle` or
457
+ # `:ssl_ca_directory` the the system default will be used if available.
458
+ #
459
+ # @option options [String] :ssl_ca_directory
460
+ # Full path of the directory that contains the unbundled SSL certificate
461
+ # authority files for verifying peer certificates. If you do
462
+ # not pass `:ssl_ca_bundle` or `:ssl_ca_directory` the the system
463
+ # default will be used if available.
464
+ #
465
+ # @option options [String] :ssl_ca_store
466
+ # Sets the X509::Store to verify peer certificate.
467
+ #
468
+ # @option options [OpenSSL::X509::Certificate] :ssl_cert
469
+ # Sets a client certificate when creating http connections.
470
+ #
471
+ # @option options [OpenSSL::PKey] :ssl_key
472
+ # Sets a client key when creating http connections.
473
+ #
474
+ # @option options [Float] :ssl_timeout
475
+ # Sets the SSL timeout in seconds
476
+ #
477
+ # @option options [Boolean] :ssl_verify_peer (true)
478
+ # When `true`, SSL peer certificates are verified when establishing a connection.
479
+ #
480
+ def initialize(*args)
481
+ super
482
+ end
483
+
484
+ # @!group API Operations
485
+
486
+ # Modifies an existing benefit application by applying amendments to
487
+ # specific fields while maintaining revision control.
488
+ #
489
+ # @option params [required, String] :catalog
490
+ # The catalog identifier that specifies which benefit catalog the
491
+ # application belongs to.
492
+ #
493
+ # @option params [required, String] :client_token
494
+ # A unique, case-sensitive identifier to ensure idempotent processing of
495
+ # the amendment request.
496
+ #
497
+ # @option params [required, String] :revision
498
+ # The current revision number of the benefit application to ensure
499
+ # optimistic concurrency control.
500
+ #
501
+ # @option params [required, String] :identifier
502
+ # The unique identifier of the benefit application to be amended.
503
+ #
504
+ # @option params [required, String] :amendment_reason
505
+ # A descriptive reason explaining why the benefit application is being
506
+ # amended.
507
+ #
508
+ # @option params [required, Array<Types::Amendment>] :amendments
509
+ # A list of specific field amendments to apply to the benefit
510
+ # application.
511
+ #
512
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
513
+ #
514
+ # @example Request syntax with placeholder values
515
+ #
516
+ # resp = client.amend_benefit_application({
517
+ # catalog: "CatalogName", # required
518
+ # client_token: "AmendBenefitApplicationInputClientTokenString", # required
519
+ # revision: "String", # required
520
+ # identifier: "BenefitApplicationIdentifier", # required
521
+ # amendment_reason: "AmendBenefitApplicationInputAmendmentReasonString", # required
522
+ # amendments: [ # required
523
+ # {
524
+ # field_path: "String", # required
525
+ # new_value: "String", # required
526
+ # },
527
+ # ],
528
+ # })
529
+ #
530
+ # @see http://docs.aws.amazon.com/goto/WebAPI/partnercentral-benefits-2018-05-10/AmendBenefitApplication AWS API Documentation
531
+ #
532
+ # @overload amend_benefit_application(params = {})
533
+ # @param [Hash] params ({})
534
+ def amend_benefit_application(params = {}, options = {})
535
+ req = build_request(:amend_benefit_application, params)
536
+ req.send_request(options)
537
+ end
538
+
539
+ # Links an AWS resource to an existing benefit application for tracking
540
+ # and management purposes.
541
+ #
542
+ # @option params [required, String] :catalog
543
+ # The catalog identifier that specifies which benefit catalog the
544
+ # application belongs to.
545
+ #
546
+ # @option params [required, String] :benefit_application_identifier
547
+ # The unique identifier of the benefit application to associate the
548
+ # resource with.
549
+ #
550
+ # @option params [required, String] :resource_arn
551
+ # The Amazon Resource Name (ARN) of the AWS resource to associate with
552
+ # the benefit application.
553
+ #
554
+ # @return [Types::AssociateBenefitApplicationResourceOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
555
+ #
556
+ # * {Types::AssociateBenefitApplicationResourceOutput#id #id} => String
557
+ # * {Types::AssociateBenefitApplicationResourceOutput#arn #arn} => String
558
+ # * {Types::AssociateBenefitApplicationResourceOutput#revision #revision} => String
559
+ #
560
+ # @example Request syntax with placeholder values
561
+ #
562
+ # resp = client.associate_benefit_application_resource({
563
+ # catalog: "CatalogName", # required
564
+ # benefit_application_identifier: "BenefitApplicationIdentifier", # required
565
+ # resource_arn: "AssociateBenefitApplicationResourceInputResourceArnString", # required
566
+ # })
567
+ #
568
+ # @example Response structure
569
+ #
570
+ # resp.id #=> String
571
+ # resp.arn #=> String
572
+ # resp.revision #=> String
573
+ #
574
+ # @see http://docs.aws.amazon.com/goto/WebAPI/partnercentral-benefits-2018-05-10/AssociateBenefitApplicationResource AWS API Documentation
575
+ #
576
+ # @overload associate_benefit_application_resource(params = {})
577
+ # @param [Hash] params ({})
578
+ def associate_benefit_application_resource(params = {}, options = {})
579
+ req = build_request(:associate_benefit_application_resource, params)
580
+ req.send_request(options)
581
+ end
582
+
583
+ # Cancels a benefit application that is currently in progress,
584
+ # preventing further processing.
585
+ #
586
+ # @option params [required, String] :catalog
587
+ # The catalog identifier that specifies which benefit catalog the
588
+ # application belongs to.
589
+ #
590
+ # @option params [required, String] :client_token
591
+ # A unique, case-sensitive identifier to ensure idempotent processing of
592
+ # the cancellation request.
593
+ #
594
+ # @option params [required, String] :identifier
595
+ # The unique identifier of the benefit application to cancel.
596
+ #
597
+ # @option params [String] :reason
598
+ # A descriptive reason explaining why the benefit application is being
599
+ # cancelled.
600
+ #
601
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
602
+ #
603
+ # @example Request syntax with placeholder values
604
+ #
605
+ # resp = client.cancel_benefit_application({
606
+ # catalog: "CatalogName", # required
607
+ # client_token: "CancelBenefitApplicationInputClientTokenString", # required
608
+ # identifier: "BenefitApplicationIdentifier", # required
609
+ # reason: "CancelBenefitApplicationInputReasonString",
610
+ # })
611
+ #
612
+ # @see http://docs.aws.amazon.com/goto/WebAPI/partnercentral-benefits-2018-05-10/CancelBenefitApplication AWS API Documentation
613
+ #
614
+ # @overload cancel_benefit_application(params = {})
615
+ # @param [Hash] params ({})
616
+ def cancel_benefit_application(params = {}, options = {})
617
+ req = build_request(:cancel_benefit_application, params)
618
+ req.send_request(options)
619
+ end
620
+
621
+ # Creates a new benefit application for a partner to request access to
622
+ # AWS benefits and programs.
623
+ #
624
+ # @option params [required, String] :catalog
625
+ # The catalog identifier that specifies which benefit catalog to create
626
+ # the application in.
627
+ #
628
+ # @option params [required, String] :client_token
629
+ # A unique, case-sensitive identifier to ensure idempotent processing of
630
+ # the creation request.
631
+ #
632
+ # @option params [String] :name
633
+ # A human-readable name for the benefit application.
634
+ #
635
+ # @option params [String] :description
636
+ # A detailed description of the benefit application and its intended
637
+ # use.
638
+ #
639
+ # @option params [required, String] :benefit_identifier
640
+ # The unique identifier of the benefit being requested in this
641
+ # application.
642
+ #
643
+ # @option params [Array<String>] :fulfillment_types
644
+ # The types of fulfillment requested for this benefit application (e.g.,
645
+ # credits, access, disbursement).
646
+ #
647
+ # @option params [Hash,Array,String,Numeric,Boolean] :benefit_application_details
648
+ # Detailed information and requirements specific to the benefit being
649
+ # requested.
650
+ #
651
+ # Document type used to carry open content
652
+ # (Hash,Array,String,Numeric,Boolean). A document type value is
653
+ # serialized using the same format as its surroundings and requires no
654
+ # additional encoding or escaping.
655
+ #
656
+ # @option params [Array<Types::Tag>] :tags
657
+ # Key-value pairs to categorize and organize the benefit application.
658
+ #
659
+ # @option params [Array<String>] :associated_resources
660
+ # AWS resources that are associated with this benefit application.
661
+ #
662
+ # @option params [Array<Types::Contact>] :partner_contacts
663
+ # Contact information for partner representatives responsible for this
664
+ # benefit application.
665
+ #
666
+ # @option params [Array<Types::FileInput>] :file_details
667
+ # Supporting documents and files attached to the benefit application.
668
+ #
669
+ # @return [Types::CreateBenefitApplicationOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
670
+ #
671
+ # * {Types::CreateBenefitApplicationOutput#id #id} => String
672
+ # * {Types::CreateBenefitApplicationOutput#arn #arn} => String
673
+ # * {Types::CreateBenefitApplicationOutput#revision #revision} => String
674
+ #
675
+ # @example Request syntax with placeholder values
676
+ #
677
+ # resp = client.create_benefit_application({
678
+ # catalog: "CatalogName", # required
679
+ # client_token: "CreateBenefitApplicationInputClientTokenString", # required
680
+ # name: "BenefitApplicationName",
681
+ # description: "BenefitApplicationDescription",
682
+ # benefit_identifier: "CreateBenefitApplicationInputBenefitIdentifierString", # required
683
+ # fulfillment_types: ["CREDITS"], # accepts CREDITS, CASH, ACCESS
684
+ # benefit_application_details: {
685
+ # },
686
+ # tags: [
687
+ # {
688
+ # key: "TagKey", # required
689
+ # value: "TagValue", # required
690
+ # },
691
+ # ],
692
+ # associated_resources: ["Arn"],
693
+ # partner_contacts: [
694
+ # {
695
+ # email: "ContactEmail",
696
+ # first_name: "ContactFirstName",
697
+ # last_name: "ContactLastName",
698
+ # business_title: "ContactBusinessTitleString",
699
+ # phone: "ContactPhone",
700
+ # },
701
+ # ],
702
+ # file_details: [
703
+ # {
704
+ # file_uri: "FileURI", # required
705
+ # business_use_case: "String",
706
+ # },
707
+ # ],
708
+ # })
709
+ #
710
+ # @example Response structure
711
+ #
712
+ # resp.id #=> String
713
+ # resp.arn #=> String
714
+ # resp.revision #=> String
715
+ #
716
+ # @see http://docs.aws.amazon.com/goto/WebAPI/partnercentral-benefits-2018-05-10/CreateBenefitApplication AWS API Documentation
717
+ #
718
+ # @overload create_benefit_application(params = {})
719
+ # @param [Hash] params ({})
720
+ def create_benefit_application(params = {}, options = {})
721
+ req = build_request(:create_benefit_application, params)
722
+ req.send_request(options)
723
+ end
724
+
725
+ # Removes the association between an AWS resource and a benefit
726
+ # application.
727
+ #
728
+ # @option params [required, String] :catalog
729
+ # The catalog identifier that specifies which benefit catalog the
730
+ # application belongs to.
731
+ #
732
+ # @option params [required, String] :benefit_application_identifier
733
+ # The unique identifier of the benefit application to disassociate the
734
+ # resource from.
735
+ #
736
+ # @option params [required, String] :resource_arn
737
+ # The Amazon Resource Name (ARN) of the AWS resource to disassociate
738
+ # from the benefit application.
739
+ #
740
+ # @return [Types::DisassociateBenefitApplicationResourceOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
741
+ #
742
+ # * {Types::DisassociateBenefitApplicationResourceOutput#id #id} => String
743
+ # * {Types::DisassociateBenefitApplicationResourceOutput#arn #arn} => String
744
+ # * {Types::DisassociateBenefitApplicationResourceOutput#revision #revision} => String
745
+ #
746
+ # @example Request syntax with placeholder values
747
+ #
748
+ # resp = client.disassociate_benefit_application_resource({
749
+ # catalog: "CatalogName", # required
750
+ # benefit_application_identifier: "BenefitApplicationIdentifier", # required
751
+ # resource_arn: "DisassociateBenefitApplicationResourceInputResourceArnString", # required
752
+ # })
753
+ #
754
+ # @example Response structure
755
+ #
756
+ # resp.id #=> String
757
+ # resp.arn #=> String
758
+ # resp.revision #=> String
759
+ #
760
+ # @see http://docs.aws.amazon.com/goto/WebAPI/partnercentral-benefits-2018-05-10/DisassociateBenefitApplicationResource AWS API Documentation
761
+ #
762
+ # @overload disassociate_benefit_application_resource(params = {})
763
+ # @param [Hash] params ({})
764
+ def disassociate_benefit_application_resource(params = {}, options = {})
765
+ req = build_request(:disassociate_benefit_application_resource, params)
766
+ req.send_request(options)
767
+ end
768
+
769
+ # Retrieves detailed information about a specific benefit available in
770
+ # the partner catalog.
771
+ #
772
+ # @option params [required, String] :catalog
773
+ # The catalog identifier that specifies which benefit catalog to query.
774
+ #
775
+ # @option params [required, String] :identifier
776
+ # The unique identifier of the benefit to retrieve.
777
+ #
778
+ # @return [Types::GetBenefitOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
779
+ #
780
+ # * {Types::GetBenefitOutput#id #id} => String
781
+ # * {Types::GetBenefitOutput#catalog #catalog} => String
782
+ # * {Types::GetBenefitOutput#arn #arn} => String
783
+ # * {Types::GetBenefitOutput#name #name} => String
784
+ # * {Types::GetBenefitOutput#description #description} => String
785
+ # * {Types::GetBenefitOutput#programs #programs} => Array&lt;String&gt;
786
+ # * {Types::GetBenefitOutput#fulfillment_types #fulfillment_types} => Array&lt;String&gt;
787
+ # * {Types::GetBenefitOutput#benefit_request_schema #benefit_request_schema} => Hash,Array,String,Numeric,Boolean
788
+ # * {Types::GetBenefitOutput#status #status} => String
789
+ #
790
+ # @example Request syntax with placeholder values
791
+ #
792
+ # resp = client.get_benefit({
793
+ # catalog: "CatalogName", # required
794
+ # identifier: "GetBenefitInputIdentifierString", # required
795
+ # })
796
+ #
797
+ # @example Response structure
798
+ #
799
+ # resp.id #=> String
800
+ # resp.catalog #=> String
801
+ # resp.arn #=> String
802
+ # resp.name #=> String
803
+ # resp.description #=> String
804
+ # resp.programs #=> Array
805
+ # resp.programs[0] #=> String
806
+ # resp.fulfillment_types #=> Array
807
+ # resp.fulfillment_types[0] #=> String, one of "CREDITS", "CASH", "ACCESS"
808
+ # resp.status #=> String, one of "ACTIVE", "INACTIVE"
809
+ #
810
+ # @see http://docs.aws.amazon.com/goto/WebAPI/partnercentral-benefits-2018-05-10/GetBenefit AWS API Documentation
811
+ #
812
+ # @overload get_benefit(params = {})
813
+ # @param [Hash] params ({})
814
+ def get_benefit(params = {}, options = {})
815
+ req = build_request(:get_benefit, params)
816
+ req.send_request(options)
817
+ end
818
+
819
+ # Retrieves detailed information about a specific benefit allocation
820
+ # that has been granted to a partner.
821
+ #
822
+ # @option params [required, String] :catalog
823
+ # The catalog identifier that specifies which benefit catalog to query.
824
+ #
825
+ # @option params [required, String] :identifier
826
+ # The unique identifier of the benefit allocation to retrieve.
827
+ #
828
+ # @return [Types::GetBenefitAllocationOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
829
+ #
830
+ # * {Types::GetBenefitAllocationOutput#id #id} => String
831
+ # * {Types::GetBenefitAllocationOutput#catalog #catalog} => String
832
+ # * {Types::GetBenefitAllocationOutput#arn #arn} => String
833
+ # * {Types::GetBenefitAllocationOutput#name #name} => String
834
+ # * {Types::GetBenefitAllocationOutput#description #description} => String
835
+ # * {Types::GetBenefitAllocationOutput#status #status} => String
836
+ # * {Types::GetBenefitAllocationOutput#status_reason #status_reason} => String
837
+ # * {Types::GetBenefitAllocationOutput#benefit_application_id #benefit_application_id} => String
838
+ # * {Types::GetBenefitAllocationOutput#benefit_id #benefit_id} => String
839
+ # * {Types::GetBenefitAllocationOutput#fulfillment_type #fulfillment_type} => String
840
+ # * {Types::GetBenefitAllocationOutput#applicable_benefit_ids #applicable_benefit_ids} => Array&lt;String&gt;
841
+ # * {Types::GetBenefitAllocationOutput#fulfillment_detail #fulfillment_detail} => Types::FulfillmentDetails
842
+ # * {Types::GetBenefitAllocationOutput#created_at #created_at} => Time
843
+ # * {Types::GetBenefitAllocationOutput#updated_at #updated_at} => Time
844
+ # * {Types::GetBenefitAllocationOutput#starts_at #starts_at} => Time
845
+ # * {Types::GetBenefitAllocationOutput#expires_at #expires_at} => Time
846
+ #
847
+ # @example Request syntax with placeholder values
848
+ #
849
+ # resp = client.get_benefit_allocation({
850
+ # catalog: "CatalogName", # required
851
+ # identifier: "BenefitAllocationIdentifier", # required
852
+ # })
853
+ #
854
+ # @example Response structure
855
+ #
856
+ # resp.id #=> String
857
+ # resp.catalog #=> String
858
+ # resp.arn #=> String
859
+ # resp.name #=> String
860
+ # resp.description #=> String
861
+ # resp.status #=> String, one of "ACTIVE", "INACTIVE", "FULFILLED"
862
+ # resp.status_reason #=> String
863
+ # resp.benefit_application_id #=> String
864
+ # resp.benefit_id #=> String
865
+ # resp.fulfillment_type #=> String, one of "CREDITS", "CASH", "ACCESS"
866
+ # resp.applicable_benefit_ids #=> Array
867
+ # resp.applicable_benefit_ids[0] #=> String
868
+ # resp.fulfillment_detail.disbursement_details.disbursed_amount.amount #=> String
869
+ # resp.fulfillment_detail.disbursement_details.disbursed_amount.currency_code #=> String, one of "AED", "AMD", "ARS", "AUD", "AWG", "AZN", "BBD", "BDT", "BGN", "BMD", "BND", "BOB", "BRL", "BSD", "BYR", "BZD", "CAD", "CHF", "CLP", "CNY", "COP", "CRC", "CZK", "DKK", "DOP", "EEK", "EGP", "EUR", "GBP", "GEL", "GHS", "GTQ", "GYD", "HKD", "HNL", "HRK", "HTG", "HUF", "IDR", "ILS", "INR", "ISK", "JMD", "JPY", "KES", "KHR", "KRW", "KYD", "KZT", "LBP", "LKR", "LTL", "LVL", "MAD", "MNT", "MOP", "MUR", "MVR", "MXN", "MYR", "NAD", "NGN", "NIO", "NOK", "NZD", "PAB", "PEN", "PHP", "PKR", "PLN", "PYG", "QAR", "RON", "RUB", "SAR", "SEK", "SGD", "SIT", "SKK", "THB", "TND", "TRY", "TTD", "TWD", "TZS", "UAH", "USD", "UYU", "UZS", "VND", "XAF", "XCD", "XOF", "XPF", "ZAR"
870
+ # resp.fulfillment_detail.disbursement_details.issuance_details.issuance_id #=> String
871
+ # resp.fulfillment_detail.disbursement_details.issuance_details.issuance_amount.amount #=> String
872
+ # resp.fulfillment_detail.disbursement_details.issuance_details.issuance_amount.currency_code #=> String, one of "AED", "AMD", "ARS", "AUD", "AWG", "AZN", "BBD", "BDT", "BGN", "BMD", "BND", "BOB", "BRL", "BSD", "BYR", "BZD", "CAD", "CHF", "CLP", "CNY", "COP", "CRC", "CZK", "DKK", "DOP", "EEK", "EGP", "EUR", "GBP", "GEL", "GHS", "GTQ", "GYD", "HKD", "HNL", "HRK", "HTG", "HUF", "IDR", "ILS", "INR", "ISK", "JMD", "JPY", "KES", "KHR", "KRW", "KYD", "KZT", "LBP", "LKR", "LTL", "LVL", "MAD", "MNT", "MOP", "MUR", "MVR", "MXN", "MYR", "NAD", "NGN", "NIO", "NOK", "NZD", "PAB", "PEN", "PHP", "PKR", "PLN", "PYG", "QAR", "RON", "RUB", "SAR", "SEK", "SGD", "SIT", "SKK", "THB", "TND", "TRY", "TTD", "TWD", "TZS", "UAH", "USD", "UYU", "UZS", "VND", "XAF", "XCD", "XOF", "XPF", "ZAR"
873
+ # resp.fulfillment_detail.disbursement_details.issuance_details.issued_at #=> Time
874
+ # resp.fulfillment_detail.consumable_details.allocated_amount.amount #=> String
875
+ # resp.fulfillment_detail.consumable_details.allocated_amount.currency_code #=> String, one of "AED", "AMD", "ARS", "AUD", "AWG", "AZN", "BBD", "BDT", "BGN", "BMD", "BND", "BOB", "BRL", "BSD", "BYR", "BZD", "CAD", "CHF", "CLP", "CNY", "COP", "CRC", "CZK", "DKK", "DOP", "EEK", "EGP", "EUR", "GBP", "GEL", "GHS", "GTQ", "GYD", "HKD", "HNL", "HRK", "HTG", "HUF", "IDR", "ILS", "INR", "ISK", "JMD", "JPY", "KES", "KHR", "KRW", "KYD", "KZT", "LBP", "LKR", "LTL", "LVL", "MAD", "MNT", "MOP", "MUR", "MVR", "MXN", "MYR", "NAD", "NGN", "NIO", "NOK", "NZD", "PAB", "PEN", "PHP", "PKR", "PLN", "PYG", "QAR", "RON", "RUB", "SAR", "SEK", "SGD", "SIT", "SKK", "THB", "TND", "TRY", "TTD", "TWD", "TZS", "UAH", "USD", "UYU", "UZS", "VND", "XAF", "XCD", "XOF", "XPF", "ZAR"
876
+ # resp.fulfillment_detail.consumable_details.remaining_amount.amount #=> String
877
+ # resp.fulfillment_detail.consumable_details.remaining_amount.currency_code #=> String, one of "AED", "AMD", "ARS", "AUD", "AWG", "AZN", "BBD", "BDT", "BGN", "BMD", "BND", "BOB", "BRL", "BSD", "BYR", "BZD", "CAD", "CHF", "CLP", "CNY", "COP", "CRC", "CZK", "DKK", "DOP", "EEK", "EGP", "EUR", "GBP", "GEL", "GHS", "GTQ", "GYD", "HKD", "HNL", "HRK", "HTG", "HUF", "IDR", "ILS", "INR", "ISK", "JMD", "JPY", "KES", "KHR", "KRW", "KYD", "KZT", "LBP", "LKR", "LTL", "LVL", "MAD", "MNT", "MOP", "MUR", "MVR", "MXN", "MYR", "NAD", "NGN", "NIO", "NOK", "NZD", "PAB", "PEN", "PHP", "PKR", "PLN", "PYG", "QAR", "RON", "RUB", "SAR", "SEK", "SGD", "SIT", "SKK", "THB", "TND", "TRY", "TTD", "TWD", "TZS", "UAH", "USD", "UYU", "UZS", "VND", "XAF", "XCD", "XOF", "XPF", "ZAR"
878
+ # resp.fulfillment_detail.consumable_details.utilized_amount.amount #=> String
879
+ # resp.fulfillment_detail.consumable_details.utilized_amount.currency_code #=> String, one of "AED", "AMD", "ARS", "AUD", "AWG", "AZN", "BBD", "BDT", "BGN", "BMD", "BND", "BOB", "BRL", "BSD", "BYR", "BZD", "CAD", "CHF", "CLP", "CNY", "COP", "CRC", "CZK", "DKK", "DOP", "EEK", "EGP", "EUR", "GBP", "GEL", "GHS", "GTQ", "GYD", "HKD", "HNL", "HRK", "HTG", "HUF", "IDR", "ILS", "INR", "ISK", "JMD", "JPY", "KES", "KHR", "KRW", "KYD", "KZT", "LBP", "LKR", "LTL", "LVL", "MAD", "MNT", "MOP", "MUR", "MVR", "MXN", "MYR", "NAD", "NGN", "NIO", "NOK", "NZD", "PAB", "PEN", "PHP", "PKR", "PLN", "PYG", "QAR", "RON", "RUB", "SAR", "SEK", "SGD", "SIT", "SKK", "THB", "TND", "TRY", "TTD", "TWD", "TZS", "UAH", "USD", "UYU", "UZS", "VND", "XAF", "XCD", "XOF", "XPF", "ZAR"
880
+ # resp.fulfillment_detail.consumable_details.issuance_details.issuance_id #=> String
881
+ # resp.fulfillment_detail.consumable_details.issuance_details.issuance_amount.amount #=> String
882
+ # resp.fulfillment_detail.consumable_details.issuance_details.issuance_amount.currency_code #=> String, one of "AED", "AMD", "ARS", "AUD", "AWG", "AZN", "BBD", "BDT", "BGN", "BMD", "BND", "BOB", "BRL", "BSD", "BYR", "BZD", "CAD", "CHF", "CLP", "CNY", "COP", "CRC", "CZK", "DKK", "DOP", "EEK", "EGP", "EUR", "GBP", "GEL", "GHS", "GTQ", "GYD", "HKD", "HNL", "HRK", "HTG", "HUF", "IDR", "ILS", "INR", "ISK", "JMD", "JPY", "KES", "KHR", "KRW", "KYD", "KZT", "LBP", "LKR", "LTL", "LVL", "MAD", "MNT", "MOP", "MUR", "MVR", "MXN", "MYR", "NAD", "NGN", "NIO", "NOK", "NZD", "PAB", "PEN", "PHP", "PKR", "PLN", "PYG", "QAR", "RON", "RUB", "SAR", "SEK", "SGD", "SIT", "SKK", "THB", "TND", "TRY", "TTD", "TWD", "TZS", "UAH", "USD", "UYU", "UZS", "VND", "XAF", "XCD", "XOF", "XPF", "ZAR"
883
+ # resp.fulfillment_detail.consumable_details.issuance_details.issued_at #=> Time
884
+ # resp.fulfillment_detail.credit_details.allocated_amount.amount #=> String
885
+ # resp.fulfillment_detail.credit_details.allocated_amount.currency_code #=> String, one of "AED", "AMD", "ARS", "AUD", "AWG", "AZN", "BBD", "BDT", "BGN", "BMD", "BND", "BOB", "BRL", "BSD", "BYR", "BZD", "CAD", "CHF", "CLP", "CNY", "COP", "CRC", "CZK", "DKK", "DOP", "EEK", "EGP", "EUR", "GBP", "GEL", "GHS", "GTQ", "GYD", "HKD", "HNL", "HRK", "HTG", "HUF", "IDR", "ILS", "INR", "ISK", "JMD", "JPY", "KES", "KHR", "KRW", "KYD", "KZT", "LBP", "LKR", "LTL", "LVL", "MAD", "MNT", "MOP", "MUR", "MVR", "MXN", "MYR", "NAD", "NGN", "NIO", "NOK", "NZD", "PAB", "PEN", "PHP", "PKR", "PLN", "PYG", "QAR", "RON", "RUB", "SAR", "SEK", "SGD", "SIT", "SKK", "THB", "TND", "TRY", "TTD", "TWD", "TZS", "UAH", "USD", "UYU", "UZS", "VND", "XAF", "XCD", "XOF", "XPF", "ZAR"
886
+ # resp.fulfillment_detail.credit_details.issued_amount.amount #=> String
887
+ # resp.fulfillment_detail.credit_details.issued_amount.currency_code #=> String, one of "AED", "AMD", "ARS", "AUD", "AWG", "AZN", "BBD", "BDT", "BGN", "BMD", "BND", "BOB", "BRL", "BSD", "BYR", "BZD", "CAD", "CHF", "CLP", "CNY", "COP", "CRC", "CZK", "DKK", "DOP", "EEK", "EGP", "EUR", "GBP", "GEL", "GHS", "GTQ", "GYD", "HKD", "HNL", "HRK", "HTG", "HUF", "IDR", "ILS", "INR", "ISK", "JMD", "JPY", "KES", "KHR", "KRW", "KYD", "KZT", "LBP", "LKR", "LTL", "LVL", "MAD", "MNT", "MOP", "MUR", "MVR", "MXN", "MYR", "NAD", "NGN", "NIO", "NOK", "NZD", "PAB", "PEN", "PHP", "PKR", "PLN", "PYG", "QAR", "RON", "RUB", "SAR", "SEK", "SGD", "SIT", "SKK", "THB", "TND", "TRY", "TTD", "TWD", "TZS", "UAH", "USD", "UYU", "UZS", "VND", "XAF", "XCD", "XOF", "XPF", "ZAR"
888
+ # resp.fulfillment_detail.credit_details.codes #=> Array
889
+ # resp.fulfillment_detail.credit_details.codes[0].aws_account_id #=> String
890
+ # resp.fulfillment_detail.credit_details.codes[0].value.amount #=> String
891
+ # resp.fulfillment_detail.credit_details.codes[0].value.currency_code #=> String, one of "AED", "AMD", "ARS", "AUD", "AWG", "AZN", "BBD", "BDT", "BGN", "BMD", "BND", "BOB", "BRL", "BSD", "BYR", "BZD", "CAD", "CHF", "CLP", "CNY", "COP", "CRC", "CZK", "DKK", "DOP", "EEK", "EGP", "EUR", "GBP", "GEL", "GHS", "GTQ", "GYD", "HKD", "HNL", "HRK", "HTG", "HUF", "IDR", "ILS", "INR", "ISK", "JMD", "JPY", "KES", "KHR", "KRW", "KYD", "KZT", "LBP", "LKR", "LTL", "LVL", "MAD", "MNT", "MOP", "MUR", "MVR", "MXN", "MYR", "NAD", "NGN", "NIO", "NOK", "NZD", "PAB", "PEN", "PHP", "PKR", "PLN", "PYG", "QAR", "RON", "RUB", "SAR", "SEK", "SGD", "SIT", "SKK", "THB", "TND", "TRY", "TTD", "TWD", "TZS", "UAH", "USD", "UYU", "UZS", "VND", "XAF", "XCD", "XOF", "XPF", "ZAR"
892
+ # resp.fulfillment_detail.credit_details.codes[0].aws_credit_code #=> String
893
+ # resp.fulfillment_detail.credit_details.codes[0].status #=> String, one of "ACTIVE", "INACTIVE", "FULFILLED"
894
+ # resp.fulfillment_detail.credit_details.codes[0].issued_at #=> Time
895
+ # resp.fulfillment_detail.credit_details.codes[0].expires_at #=> Time
896
+ # resp.fulfillment_detail.access_details.description #=> String
897
+ # resp.created_at #=> Time
898
+ # resp.updated_at #=> Time
899
+ # resp.starts_at #=> Time
900
+ # resp.expires_at #=> Time
901
+ #
902
+ # @see http://docs.aws.amazon.com/goto/WebAPI/partnercentral-benefits-2018-05-10/GetBenefitAllocation AWS API Documentation
903
+ #
904
+ # @overload get_benefit_allocation(params = {})
905
+ # @param [Hash] params ({})
906
+ def get_benefit_allocation(params = {}, options = {})
907
+ req = build_request(:get_benefit_allocation, params)
908
+ req.send_request(options)
909
+ end
910
+
911
+ # Retrieves detailed information about a specific benefit application.
912
+ #
913
+ # @option params [required, String] :catalog
914
+ # The catalog identifier that specifies which benefit catalog to query.
915
+ #
916
+ # @option params [required, String] :identifier
917
+ # The unique identifier of the benefit application to retrieve.
918
+ #
919
+ # @return [Types::GetBenefitApplicationOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
920
+ #
921
+ # * {Types::GetBenefitApplicationOutput#id #id} => String
922
+ # * {Types::GetBenefitApplicationOutput#arn #arn} => String
923
+ # * {Types::GetBenefitApplicationOutput#catalog #catalog} => String
924
+ # * {Types::GetBenefitApplicationOutput#benefit_id #benefit_id} => String
925
+ # * {Types::GetBenefitApplicationOutput#name #name} => String
926
+ # * {Types::GetBenefitApplicationOutput#description #description} => String
927
+ # * {Types::GetBenefitApplicationOutput#fulfillment_types #fulfillment_types} => Array&lt;String&gt;
928
+ # * {Types::GetBenefitApplicationOutput#benefit_application_details #benefit_application_details} => Hash,Array,String,Numeric,Boolean
929
+ # * {Types::GetBenefitApplicationOutput#programs #programs} => Array&lt;String&gt;
930
+ # * {Types::GetBenefitApplicationOutput#status #status} => String
931
+ # * {Types::GetBenefitApplicationOutput#stage #stage} => String
932
+ # * {Types::GetBenefitApplicationOutput#status_reason #status_reason} => String
933
+ # * {Types::GetBenefitApplicationOutput#status_reason_code #status_reason_code} => String
934
+ # * {Types::GetBenefitApplicationOutput#status_reason_codes #status_reason_codes} => Array&lt;String&gt;
935
+ # * {Types::GetBenefitApplicationOutput#created_at #created_at} => Time
936
+ # * {Types::GetBenefitApplicationOutput#updated_at #updated_at} => Time
937
+ # * {Types::GetBenefitApplicationOutput#revision #revision} => String
938
+ # * {Types::GetBenefitApplicationOutput#associated_resources #associated_resources} => Array&lt;String&gt;
939
+ # * {Types::GetBenefitApplicationOutput#partner_contacts #partner_contacts} => Array&lt;Types::Contact&gt;
940
+ # * {Types::GetBenefitApplicationOutput#file_details #file_details} => Array&lt;Types::FileDetail&gt;
941
+ #
942
+ # @example Request syntax with placeholder values
943
+ #
944
+ # resp = client.get_benefit_application({
945
+ # catalog: "CatalogName", # required
946
+ # identifier: "BenefitApplicationIdentifier", # required
947
+ # })
948
+ #
949
+ # @example Response structure
950
+ #
951
+ # resp.id #=> String
952
+ # resp.arn #=> String
953
+ # resp.catalog #=> String
954
+ # resp.benefit_id #=> String
955
+ # resp.name #=> String
956
+ # resp.description #=> String
957
+ # resp.fulfillment_types #=> Array
958
+ # resp.fulfillment_types[0] #=> String, one of "CREDITS", "CASH", "ACCESS"
959
+ # resp.programs #=> Array
960
+ # resp.programs[0] #=> String
961
+ # resp.status #=> String, one of "PENDING_SUBMISSION", "IN_REVIEW", "ACTION_REQUIRED", "APPROVED", "REJECTED", "CANCELED"
962
+ # resp.stage #=> String
963
+ # resp.status_reason #=> String
964
+ # resp.status_reason_code #=> String
965
+ # resp.status_reason_codes #=> Array
966
+ # resp.status_reason_codes[0] #=> String
967
+ # resp.created_at #=> Time
968
+ # resp.updated_at #=> Time
969
+ # resp.revision #=> String
970
+ # resp.associated_resources #=> Array
971
+ # resp.associated_resources[0] #=> String
972
+ # resp.partner_contacts #=> Array
973
+ # resp.partner_contacts[0].email #=> String
974
+ # resp.partner_contacts[0].first_name #=> String
975
+ # resp.partner_contacts[0].last_name #=> String
976
+ # resp.partner_contacts[0].business_title #=> String
977
+ # resp.partner_contacts[0].phone #=> String
978
+ # resp.file_details #=> Array
979
+ # resp.file_details[0].file_uri #=> String
980
+ # resp.file_details[0].business_use_case #=> String
981
+ # resp.file_details[0].file_name #=> String
982
+ # resp.file_details[0].file_status #=> String
983
+ # resp.file_details[0].file_status_reason #=> String
984
+ # resp.file_details[0].file_type #=> String, one of "application/msword", "application/vnd.openxmlformats-officedocument.wordprocessingml.document", "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet", "application/vnd.openxmlformats-officedocument.presentationml.presentation", "application/pdf", "image/png", "image/jpeg", "image/svg+xml", "text/csv"
985
+ # resp.file_details[0].created_by #=> String
986
+ # resp.file_details[0].created_at #=> Time
987
+ #
988
+ # @see http://docs.aws.amazon.com/goto/WebAPI/partnercentral-benefits-2018-05-10/GetBenefitApplication AWS API Documentation
989
+ #
990
+ # @overload get_benefit_application(params = {})
991
+ # @param [Hash] params ({})
992
+ def get_benefit_application(params = {}, options = {})
993
+ req = build_request(:get_benefit_application, params)
994
+ req.send_request(options)
995
+ end
996
+
997
+ # Retrieves a paginated list of benefit allocations based on specified
998
+ # filter criteria.
999
+ #
1000
+ # @option params [required, String] :catalog
1001
+ # The catalog identifier to filter benefit allocations by catalog.
1002
+ #
1003
+ # @option params [Array<String>] :fulfillment_types
1004
+ # Filter benefit allocations by specific fulfillment types.
1005
+ #
1006
+ # @option params [Array<String>] :benefit_identifiers
1007
+ # Filter benefit allocations by specific benefit identifiers.
1008
+ #
1009
+ # @option params [Array<String>] :benefit_application_identifiers
1010
+ # Filter benefit allocations by specific benefit application
1011
+ # identifiers.
1012
+ #
1013
+ # @option params [Array<String>] :status
1014
+ # Filter benefit allocations by their current status.
1015
+ #
1016
+ # @option params [Integer] :max_results
1017
+ # The maximum number of benefit allocations to return in a single
1018
+ # response.
1019
+ #
1020
+ # @option params [String] :next_token
1021
+ # A pagination token to retrieve the next set of results from a previous
1022
+ # request.
1023
+ #
1024
+ # @return [Types::ListBenefitAllocationsOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1025
+ #
1026
+ # * {Types::ListBenefitAllocationsOutput#benefit_allocation_summaries #benefit_allocation_summaries} => Array&lt;Types::BenefitAllocationSummary&gt;
1027
+ # * {Types::ListBenefitAllocationsOutput#next_token #next_token} => String
1028
+ #
1029
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
1030
+ #
1031
+ # @example Request syntax with placeholder values
1032
+ #
1033
+ # resp = client.list_benefit_allocations({
1034
+ # catalog: "CatalogName", # required
1035
+ # fulfillment_types: ["CREDITS"], # accepts CREDITS, CASH, ACCESS
1036
+ # benefit_identifiers: ["BenefitId"],
1037
+ # benefit_application_identifiers: ["BenefitApplicationIdentifier"],
1038
+ # status: ["ACTIVE"], # accepts ACTIVE, INACTIVE, FULFILLED
1039
+ # max_results: 1,
1040
+ # next_token: "ListBenefitAllocationsInputNextTokenString",
1041
+ # })
1042
+ #
1043
+ # @example Response structure
1044
+ #
1045
+ # resp.benefit_allocation_summaries #=> Array
1046
+ # resp.benefit_allocation_summaries[0].id #=> String
1047
+ # resp.benefit_allocation_summaries[0].catalog #=> String
1048
+ # resp.benefit_allocation_summaries[0].arn #=> String
1049
+ # resp.benefit_allocation_summaries[0].status #=> String, one of "ACTIVE", "INACTIVE", "FULFILLED"
1050
+ # resp.benefit_allocation_summaries[0].status_reason #=> String
1051
+ # resp.benefit_allocation_summaries[0].name #=> String
1052
+ # resp.benefit_allocation_summaries[0].benefit_id #=> String
1053
+ # resp.benefit_allocation_summaries[0].benefit_application_id #=> String
1054
+ # resp.benefit_allocation_summaries[0].fulfillment_types #=> Array
1055
+ # resp.benefit_allocation_summaries[0].fulfillment_types[0] #=> String, one of "CREDITS", "CASH", "ACCESS"
1056
+ # resp.benefit_allocation_summaries[0].created_at #=> Time
1057
+ # resp.benefit_allocation_summaries[0].expires_at #=> Time
1058
+ # resp.benefit_allocation_summaries[0].applicable_benefit_ids #=> Array
1059
+ # resp.benefit_allocation_summaries[0].applicable_benefit_ids[0] #=> String
1060
+ # resp.next_token #=> String
1061
+ #
1062
+ # @see http://docs.aws.amazon.com/goto/WebAPI/partnercentral-benefits-2018-05-10/ListBenefitAllocations AWS API Documentation
1063
+ #
1064
+ # @overload list_benefit_allocations(params = {})
1065
+ # @param [Hash] params ({})
1066
+ def list_benefit_allocations(params = {}, options = {})
1067
+ req = build_request(:list_benefit_allocations, params)
1068
+ req.send_request(options)
1069
+ end
1070
+
1071
+ # Retrieves a paginated list of benefit applications based on specified
1072
+ # filter criteria.
1073
+ #
1074
+ # @option params [required, String] :catalog
1075
+ # The catalog identifier to filter benefit applications by catalog.
1076
+ #
1077
+ # @option params [Array<String>] :programs
1078
+ # Filter benefit applications by specific AWS partner programs.
1079
+ #
1080
+ # @option params [Array<String>] :fulfillment_types
1081
+ # Filter benefit applications by specific fulfillment types.
1082
+ #
1083
+ # @option params [Array<String>] :benefit_identifiers
1084
+ # Filter benefit applications by specific benefit identifiers.
1085
+ #
1086
+ # @option params [Array<String>] :status
1087
+ # Filter benefit applications by their current processing status.
1088
+ #
1089
+ # @option params [Array<String>] :stages
1090
+ # Filter benefit applications by their current processing stage.
1091
+ #
1092
+ # @option params [Array<Types::AssociatedResource>] :associated_resources
1093
+ # Filter benefit applications by associated AWS resources.
1094
+ #
1095
+ # @option params [Array<String>] :associated_resource_arns
1096
+ # Filter benefit applications by specific AWS resource ARNs.
1097
+ #
1098
+ # @option params [Integer] :max_results
1099
+ # The maximum number of benefit applications to return in a single
1100
+ # response.
1101
+ #
1102
+ # @option params [String] :next_token
1103
+ # A pagination token to retrieve the next set of results from a previous
1104
+ # request.
1105
+ #
1106
+ # @return [Types::ListBenefitApplicationsOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1107
+ #
1108
+ # * {Types::ListBenefitApplicationsOutput#benefit_application_summaries #benefit_application_summaries} => Array&lt;Types::BenefitApplicationSummary&gt;
1109
+ # * {Types::ListBenefitApplicationsOutput#next_token #next_token} => String
1110
+ #
1111
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
1112
+ #
1113
+ # @example Request syntax with placeholder values
1114
+ #
1115
+ # resp = client.list_benefit_applications({
1116
+ # catalog: "CatalogName", # required
1117
+ # programs: ["Program"],
1118
+ # fulfillment_types: ["CREDITS"], # accepts CREDITS, CASH, ACCESS
1119
+ # benefit_identifiers: ["BenefitId"],
1120
+ # status: ["PENDING_SUBMISSION"], # accepts PENDING_SUBMISSION, IN_REVIEW, ACTION_REQUIRED, APPROVED, REJECTED, CANCELED
1121
+ # stages: ["BenefitApplicationStage"],
1122
+ # associated_resources: [
1123
+ # {
1124
+ # resource_type: "OPPORTUNITY", # accepts OPPORTUNITY, BENEFIT_ALLOCATION
1125
+ # resource_identifier: "String",
1126
+ # resource_arn: "Arn",
1127
+ # },
1128
+ # ],
1129
+ # associated_resource_arns: ["Arn"],
1130
+ # max_results: 1,
1131
+ # next_token: "ListBenefitApplicationsInputNextTokenString",
1132
+ # })
1133
+ #
1134
+ # @example Response structure
1135
+ #
1136
+ # resp.benefit_application_summaries #=> Array
1137
+ # resp.benefit_application_summaries[0].catalog #=> String
1138
+ # resp.benefit_application_summaries[0].name #=> String
1139
+ # resp.benefit_application_summaries[0].id #=> String
1140
+ # resp.benefit_application_summaries[0].arn #=> String
1141
+ # resp.benefit_application_summaries[0].benefit_id #=> String
1142
+ # resp.benefit_application_summaries[0].programs #=> Array
1143
+ # resp.benefit_application_summaries[0].programs[0] #=> String
1144
+ # resp.benefit_application_summaries[0].fulfillment_types #=> Array
1145
+ # resp.benefit_application_summaries[0].fulfillment_types[0] #=> String, one of "CREDITS", "CASH", "ACCESS"
1146
+ # resp.benefit_application_summaries[0].status #=> String, one of "PENDING_SUBMISSION", "IN_REVIEW", "ACTION_REQUIRED", "APPROVED", "REJECTED", "CANCELED"
1147
+ # resp.benefit_application_summaries[0].stage #=> String
1148
+ # resp.benefit_application_summaries[0].created_at #=> Time
1149
+ # resp.benefit_application_summaries[0].updated_at #=> Time
1150
+ # resp.benefit_application_summaries[0].benefit_application_details #=> Hash
1151
+ # resp.benefit_application_summaries[0].benefit_application_details["String"] #=> String
1152
+ # resp.benefit_application_summaries[0].associated_resources #=> Array
1153
+ # resp.benefit_application_summaries[0].associated_resources[0] #=> String
1154
+ # resp.next_token #=> String
1155
+ #
1156
+ # @see http://docs.aws.amazon.com/goto/WebAPI/partnercentral-benefits-2018-05-10/ListBenefitApplications AWS API Documentation
1157
+ #
1158
+ # @overload list_benefit_applications(params = {})
1159
+ # @param [Hash] params ({})
1160
+ def list_benefit_applications(params = {}, options = {})
1161
+ req = build_request(:list_benefit_applications, params)
1162
+ req.send_request(options)
1163
+ end
1164
+
1165
+ # Retrieves a paginated list of available benefits based on specified
1166
+ # filter criteria.
1167
+ #
1168
+ # @option params [required, String] :catalog
1169
+ # The catalog identifier to filter benefits by catalog.
1170
+ #
1171
+ # @option params [Array<String>] :programs
1172
+ # Filter benefits by specific AWS partner programs.
1173
+ #
1174
+ # @option params [Array<String>] :fulfillment_types
1175
+ # Filter benefits by specific fulfillment types.
1176
+ #
1177
+ # @option params [Array<String>] :status
1178
+ # Filter benefits by their current status.
1179
+ #
1180
+ # @option params [Integer] :max_results
1181
+ # The maximum number of benefits to return in a single response.
1182
+ #
1183
+ # @option params [String] :next_token
1184
+ # A pagination token to retrieve the next set of results from a previous
1185
+ # request.
1186
+ #
1187
+ # @return [Types::ListBenefitsOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1188
+ #
1189
+ # * {Types::ListBenefitsOutput#benefit_summaries #benefit_summaries} => Array&lt;Types::BenefitSummary&gt;
1190
+ # * {Types::ListBenefitsOutput#next_token #next_token} => String
1191
+ #
1192
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
1193
+ #
1194
+ # @example Request syntax with placeholder values
1195
+ #
1196
+ # resp = client.list_benefits({
1197
+ # catalog: "CatalogName", # required
1198
+ # programs: ["Program"],
1199
+ # fulfillment_types: ["CREDITS"], # accepts CREDITS, CASH, ACCESS
1200
+ # status: ["ACTIVE"], # accepts ACTIVE, INACTIVE
1201
+ # max_results: 1,
1202
+ # next_token: "ListBenefitsInputNextTokenString",
1203
+ # })
1204
+ #
1205
+ # @example Response structure
1206
+ #
1207
+ # resp.benefit_summaries #=> Array
1208
+ # resp.benefit_summaries[0].id #=> String
1209
+ # resp.benefit_summaries[0].catalog #=> String
1210
+ # resp.benefit_summaries[0].arn #=> String
1211
+ # resp.benefit_summaries[0].name #=> String
1212
+ # resp.benefit_summaries[0].description #=> String
1213
+ # resp.benefit_summaries[0].programs #=> Array
1214
+ # resp.benefit_summaries[0].programs[0] #=> String
1215
+ # resp.benefit_summaries[0].fulfillment_types #=> Array
1216
+ # resp.benefit_summaries[0].fulfillment_types[0] #=> String, one of "CREDITS", "CASH", "ACCESS"
1217
+ # resp.benefit_summaries[0].status #=> String, one of "ACTIVE", "INACTIVE"
1218
+ # resp.next_token #=> String
1219
+ #
1220
+ # @see http://docs.aws.amazon.com/goto/WebAPI/partnercentral-benefits-2018-05-10/ListBenefits AWS API Documentation
1221
+ #
1222
+ # @overload list_benefits(params = {})
1223
+ # @param [Hash] params ({})
1224
+ def list_benefits(params = {}, options = {})
1225
+ req = build_request(:list_benefits, params)
1226
+ req.send_request(options)
1227
+ end
1228
+
1229
+ # Retrieves all tags associated with a specific resource.
1230
+ #
1231
+ # @option params [required, String] :resource_arn
1232
+ # The Amazon Resource Name (ARN) of the resource to list tags for.
1233
+ #
1234
+ # @return [Types::ListTagsForResourceResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1235
+ #
1236
+ # * {Types::ListTagsForResourceResponse#tags #tags} => Array&lt;Types::Tag&gt;
1237
+ #
1238
+ # @example Request syntax with placeholder values
1239
+ #
1240
+ # resp = client.list_tags_for_resource({
1241
+ # resource_arn: "TaggableResourceArn", # required
1242
+ # })
1243
+ #
1244
+ # @example Response structure
1245
+ #
1246
+ # resp.tags #=> Array
1247
+ # resp.tags[0].key #=> String
1248
+ # resp.tags[0].value #=> String
1249
+ #
1250
+ # @see http://docs.aws.amazon.com/goto/WebAPI/partnercentral-benefits-2018-05-10/ListTagsForResource AWS API Documentation
1251
+ #
1252
+ # @overload list_tags_for_resource(params = {})
1253
+ # @param [Hash] params ({})
1254
+ def list_tags_for_resource(params = {}, options = {})
1255
+ req = build_request(:list_tags_for_resource, params)
1256
+ req.send_request(options)
1257
+ end
1258
+
1259
+ # Recalls a submitted benefit application, returning it to draft status
1260
+ # for further modifications.
1261
+ #
1262
+ # @option params [required, String] :catalog
1263
+ # The catalog identifier that specifies which benefit catalog the
1264
+ # application belongs to.
1265
+ #
1266
+ # @option params [String] :client_token
1267
+ # A unique, case-sensitive identifier to ensure idempotent processing of
1268
+ # the recall request.
1269
+ #
1270
+ # @option params [required, String] :identifier
1271
+ # The unique identifier of the benefit application to recall.
1272
+ #
1273
+ # @option params [required, String] :reason
1274
+ # A descriptive reason explaining why the benefit application is being
1275
+ # recalled.
1276
+ #
1277
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
1278
+ #
1279
+ # @example Request syntax with placeholder values
1280
+ #
1281
+ # resp = client.recall_benefit_application({
1282
+ # catalog: "CatalogName", # required
1283
+ # client_token: "String",
1284
+ # identifier: "BenefitApplicationIdentifier", # required
1285
+ # reason: "String", # required
1286
+ # })
1287
+ #
1288
+ # @see http://docs.aws.amazon.com/goto/WebAPI/partnercentral-benefits-2018-05-10/RecallBenefitApplication AWS API Documentation
1289
+ #
1290
+ # @overload recall_benefit_application(params = {})
1291
+ # @param [Hash] params ({})
1292
+ def recall_benefit_application(params = {}, options = {})
1293
+ req = build_request(:recall_benefit_application, params)
1294
+ req.send_request(options)
1295
+ end
1296
+
1297
+ # Submits a benefit application for review and processing by AWS.
1298
+ #
1299
+ # @option params [required, String] :catalog
1300
+ # The catalog identifier that specifies which benefit catalog the
1301
+ # application belongs to.
1302
+ #
1303
+ # @option params [required, String] :identifier
1304
+ # The unique identifier of the benefit application to submit.
1305
+ #
1306
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
1307
+ #
1308
+ # @example Request syntax with placeholder values
1309
+ #
1310
+ # resp = client.submit_benefit_application({
1311
+ # catalog: "CatalogName", # required
1312
+ # identifier: "BenefitApplicationIdentifier", # required
1313
+ # })
1314
+ #
1315
+ # @see http://docs.aws.amazon.com/goto/WebAPI/partnercentral-benefits-2018-05-10/SubmitBenefitApplication AWS API Documentation
1316
+ #
1317
+ # @overload submit_benefit_application(params = {})
1318
+ # @param [Hash] params ({})
1319
+ def submit_benefit_application(params = {}, options = {})
1320
+ req = build_request(:submit_benefit_application, params)
1321
+ req.send_request(options)
1322
+ end
1323
+
1324
+ # Adds or updates tags for a specified resource.
1325
+ #
1326
+ # @option params [required, String] :resource_arn
1327
+ # The Amazon Resource Name (ARN) of the resource to add tags to.
1328
+ #
1329
+ # @option params [required, Array<Types::Tag>] :tags
1330
+ # A list of key-value pairs to add as tags to the resource.
1331
+ #
1332
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
1333
+ #
1334
+ # @example Request syntax with placeholder values
1335
+ #
1336
+ # resp = client.tag_resource({
1337
+ # resource_arn: "TaggableResourceArn", # required
1338
+ # tags: [ # required
1339
+ # {
1340
+ # key: "TagKey", # required
1341
+ # value: "TagValue", # required
1342
+ # },
1343
+ # ],
1344
+ # })
1345
+ #
1346
+ # @see http://docs.aws.amazon.com/goto/WebAPI/partnercentral-benefits-2018-05-10/TagResource AWS API Documentation
1347
+ #
1348
+ # @overload tag_resource(params = {})
1349
+ # @param [Hash] params ({})
1350
+ def tag_resource(params = {}, options = {})
1351
+ req = build_request(:tag_resource, params)
1352
+ req.send_request(options)
1353
+ end
1354
+
1355
+ # Removes specified tags from a resource.
1356
+ #
1357
+ # @option params [required, String] :resource_arn
1358
+ # The Amazon Resource Name (ARN) of the resource to remove tags from.
1359
+ #
1360
+ # @option params [required, Array<String>] :tag_keys
1361
+ # A list of tag keys to remove from the resource.
1362
+ #
1363
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
1364
+ #
1365
+ # @example Request syntax with placeholder values
1366
+ #
1367
+ # resp = client.untag_resource({
1368
+ # resource_arn: "TaggableResourceArn", # required
1369
+ # tag_keys: ["TagKey"], # required
1370
+ # })
1371
+ #
1372
+ # @see http://docs.aws.amazon.com/goto/WebAPI/partnercentral-benefits-2018-05-10/UntagResource AWS API Documentation
1373
+ #
1374
+ # @overload untag_resource(params = {})
1375
+ # @param [Hash] params ({})
1376
+ def untag_resource(params = {}, options = {})
1377
+ req = build_request(:untag_resource, params)
1378
+ req.send_request(options)
1379
+ end
1380
+
1381
+ # Updates an existing benefit application with new information while
1382
+ # maintaining revision control.
1383
+ #
1384
+ # @option params [required, String] :catalog
1385
+ # The catalog identifier that specifies which benefit catalog the
1386
+ # application belongs to.
1387
+ #
1388
+ # @option params [required, String] :client_token
1389
+ # A unique, case-sensitive identifier to ensure idempotent processing of
1390
+ # the update request.
1391
+ #
1392
+ # @option params [String] :name
1393
+ # The updated human-readable name for the benefit application.
1394
+ #
1395
+ # @option params [String] :description
1396
+ # The updated detailed description of the benefit application.
1397
+ #
1398
+ # @option params [required, String] :identifier
1399
+ # The unique identifier of the benefit application to update.
1400
+ #
1401
+ # @option params [required, String] :revision
1402
+ # The current revision number of the benefit application to ensure
1403
+ # optimistic concurrency control.
1404
+ #
1405
+ # @option params [Hash,Array,String,Numeric,Boolean] :benefit_application_details
1406
+ # Updated detailed information and requirements specific to the benefit
1407
+ # being requested.
1408
+ #
1409
+ # Document type used to carry open content
1410
+ # (Hash,Array,String,Numeric,Boolean). A document type value is
1411
+ # serialized using the same format as its surroundings and requires no
1412
+ # additional encoding or escaping.
1413
+ #
1414
+ # @option params [Array<Types::Contact>] :partner_contacts
1415
+ # Updated contact information for partner representatives responsible
1416
+ # for this benefit application.
1417
+ #
1418
+ # @option params [Array<Types::FileInput>] :file_details
1419
+ # Updated supporting documents and files attached to the benefit
1420
+ # application.
1421
+ #
1422
+ # @return [Types::UpdateBenefitApplicationOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1423
+ #
1424
+ # * {Types::UpdateBenefitApplicationOutput#id #id} => String
1425
+ # * {Types::UpdateBenefitApplicationOutput#arn #arn} => String
1426
+ # * {Types::UpdateBenefitApplicationOutput#revision #revision} => String
1427
+ #
1428
+ # @example Request syntax with placeholder values
1429
+ #
1430
+ # resp = client.update_benefit_application({
1431
+ # catalog: "CatalogName", # required
1432
+ # client_token: "UpdateBenefitApplicationInputClientTokenString", # required
1433
+ # name: "BenefitApplicationName",
1434
+ # description: "BenefitApplicationDescription",
1435
+ # identifier: "BenefitApplicationIdentifier", # required
1436
+ # revision: "String", # required
1437
+ # benefit_application_details: {
1438
+ # },
1439
+ # partner_contacts: [
1440
+ # {
1441
+ # email: "ContactEmail",
1442
+ # first_name: "ContactFirstName",
1443
+ # last_name: "ContactLastName",
1444
+ # business_title: "ContactBusinessTitleString",
1445
+ # phone: "ContactPhone",
1446
+ # },
1447
+ # ],
1448
+ # file_details: [
1449
+ # {
1450
+ # file_uri: "FileURI", # required
1451
+ # business_use_case: "String",
1452
+ # },
1453
+ # ],
1454
+ # })
1455
+ #
1456
+ # @example Response structure
1457
+ #
1458
+ # resp.id #=> String
1459
+ # resp.arn #=> String
1460
+ # resp.revision #=> String
1461
+ #
1462
+ # @see http://docs.aws.amazon.com/goto/WebAPI/partnercentral-benefits-2018-05-10/UpdateBenefitApplication AWS API Documentation
1463
+ #
1464
+ # @overload update_benefit_application(params = {})
1465
+ # @param [Hash] params ({})
1466
+ def update_benefit_application(params = {}, options = {})
1467
+ req = build_request(:update_benefit_application, params)
1468
+ req.send_request(options)
1469
+ end
1470
+
1471
+ # @!endgroup
1472
+
1473
+ # @param params ({})
1474
+ # @api private
1475
+ def build_request(operation_name, params = {})
1476
+ handlers = @handlers.for(operation_name)
1477
+ tracer = config.telemetry_provider.tracer_provider.tracer(
1478
+ Aws::Telemetry.module_to_tracer_name('Aws::PartnerCentralBenefits')
1479
+ )
1480
+ context = Seahorse::Client::RequestContext.new(
1481
+ operation_name: operation_name,
1482
+ operation: config.api.operation(operation_name),
1483
+ client: self,
1484
+ params: params,
1485
+ config: config,
1486
+ tracer: tracer
1487
+ )
1488
+ context[:gem_name] = 'aws-sdk-partnercentralbenefits'
1489
+ context[:gem_version] = '1.0.0'
1490
+ Seahorse::Client::Request.new(handlers, context)
1491
+ end
1492
+
1493
+ # @api private
1494
+ # @deprecated
1495
+ def waiter_names
1496
+ []
1497
+ end
1498
+
1499
+ class << self
1500
+
1501
+ # @api private
1502
+ attr_reader :identifier
1503
+
1504
+ # @api private
1505
+ def errors_module
1506
+ Errors
1507
+ end
1508
+
1509
+ end
1510
+ end
1511
+ end