aws-sdk-marketplaceagreement 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,744 @@
1
+ # frozen_string_literal: true
2
+
3
+ # WARNING ABOUT GENERATED CODE
4
+ #
5
+ # This file is generated. See the contributing guide for more information:
6
+ # https://github.com/aws/aws-sdk-ruby/blob/version-3/CONTRIBUTING.md
7
+ #
8
+ # WARNING ABOUT GENERATED CODE
9
+
10
+ require 'seahorse/client/plugins/content_length.rb'
11
+ require 'aws-sdk-core/plugins/credentials_configuration.rb'
12
+ require 'aws-sdk-core/plugins/logging.rb'
13
+ require 'aws-sdk-core/plugins/param_converter.rb'
14
+ require 'aws-sdk-core/plugins/param_validator.rb'
15
+ require 'aws-sdk-core/plugins/user_agent.rb'
16
+ require 'aws-sdk-core/plugins/helpful_socket_errors.rb'
17
+ require 'aws-sdk-core/plugins/retry_errors.rb'
18
+ require 'aws-sdk-core/plugins/global_configuration.rb'
19
+ require 'aws-sdk-core/plugins/regional_endpoint.rb'
20
+ require 'aws-sdk-core/plugins/endpoint_discovery.rb'
21
+ require 'aws-sdk-core/plugins/endpoint_pattern.rb'
22
+ require 'aws-sdk-core/plugins/response_paging.rb'
23
+ require 'aws-sdk-core/plugins/stub_responses.rb'
24
+ require 'aws-sdk-core/plugins/idempotency_token.rb'
25
+ require 'aws-sdk-core/plugins/jsonvalue_converter.rb'
26
+ require 'aws-sdk-core/plugins/client_metrics_plugin.rb'
27
+ require 'aws-sdk-core/plugins/client_metrics_send_plugin.rb'
28
+ require 'aws-sdk-core/plugins/transfer_encoding.rb'
29
+ require 'aws-sdk-core/plugins/http_checksum.rb'
30
+ require 'aws-sdk-core/plugins/checksum_algorithm.rb'
31
+ require 'aws-sdk-core/plugins/request_compression.rb'
32
+ require 'aws-sdk-core/plugins/defaults_mode.rb'
33
+ require 'aws-sdk-core/plugins/recursion_detection.rb'
34
+ require 'aws-sdk-core/plugins/sign.rb'
35
+ require 'aws-sdk-core/plugins/protocols/json_rpc.rb'
36
+
37
+ Aws::Plugins::GlobalConfiguration.add_identifier(:marketplaceagreement)
38
+
39
+ module Aws::MarketplaceAgreement
40
+ # An API client for MarketplaceAgreement. To construct a client, you need to configure a `:region` and `:credentials`.
41
+ #
42
+ # client = Aws::MarketplaceAgreement::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 = :marketplaceagreement
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::JsonvalueConverter)
76
+ add_plugin(Aws::Plugins::ClientMetricsPlugin)
77
+ add_plugin(Aws::Plugins::ClientMetricsSendPlugin)
78
+ add_plugin(Aws::Plugins::TransferEncoding)
79
+ add_plugin(Aws::Plugins::HttpChecksum)
80
+ add_plugin(Aws::Plugins::ChecksumAlgorithm)
81
+ add_plugin(Aws::Plugins::RequestCompression)
82
+ add_plugin(Aws::Plugins::DefaultsMode)
83
+ add_plugin(Aws::Plugins::RecursionDetection)
84
+ add_plugin(Aws::Plugins::Sign)
85
+ add_plugin(Aws::Plugins::Protocols::JsonRpc)
86
+ add_plugin(Aws::MarketplaceAgreement::Plugins::Endpoints)
87
+
88
+ # @overload initialize(options)
89
+ # @param [Hash] options
90
+ # @option options [required, Aws::CredentialProvider] :credentials
91
+ # Your AWS credentials. This can be an instance of any one of the
92
+ # following classes:
93
+ #
94
+ # * `Aws::Credentials` - Used for configuring static, non-refreshing
95
+ # credentials.
96
+ #
97
+ # * `Aws::SharedCredentials` - Used for loading static credentials from a
98
+ # shared file, such as `~/.aws/config`.
99
+ #
100
+ # * `Aws::AssumeRoleCredentials` - Used when you need to assume a role.
101
+ #
102
+ # * `Aws::AssumeRoleWebIdentityCredentials` - Used when you need to
103
+ # assume a role after providing credentials via the web.
104
+ #
105
+ # * `Aws::SSOCredentials` - Used for loading credentials from AWS SSO using an
106
+ # access token generated from `aws login`.
107
+ #
108
+ # * `Aws::ProcessCredentials` - Used for loading credentials from a
109
+ # process that outputs to stdout.
110
+ #
111
+ # * `Aws::InstanceProfileCredentials` - Used for loading credentials
112
+ # from an EC2 IMDS on an EC2 instance.
113
+ #
114
+ # * `Aws::ECSCredentials` - Used for loading credentials from
115
+ # instances running in ECS.
116
+ #
117
+ # * `Aws::CognitoIdentityCredentials` - Used for loading credentials
118
+ # from the Cognito Identity service.
119
+ #
120
+ # When `:credentials` are not configured directly, the following
121
+ # locations will be searched for credentials:
122
+ #
123
+ # * `Aws.config[:credentials]`
124
+ # * The `:access_key_id`, `:secret_access_key`, and `:session_token` options.
125
+ # * ENV['AWS_ACCESS_KEY_ID'], ENV['AWS_SECRET_ACCESS_KEY']
126
+ # * `~/.aws/credentials`
127
+ # * `~/.aws/config`
128
+ # * EC2/ECS IMDS instance profile - When used by default, the timeouts
129
+ # are very aggressive. Construct and pass an instance of
130
+ # `Aws::InstanceProfileCredentails` or `Aws::ECSCredentials` to
131
+ # enable retries and extended timeouts. Instance profile credential
132
+ # fetching can be disabled by setting ENV['AWS_EC2_METADATA_DISABLED']
133
+ # to true.
134
+ #
135
+ # @option options [required, String] :region
136
+ # The AWS region to connect to. The configured `:region` is
137
+ # used to determine the service `:endpoint`. When not passed,
138
+ # a default `:region` is searched for in the following locations:
139
+ #
140
+ # * `Aws.config[:region]`
141
+ # * `ENV['AWS_REGION']`
142
+ # * `ENV['AMAZON_REGION']`
143
+ # * `ENV['AWS_DEFAULT_REGION']`
144
+ # * `~/.aws/credentials`
145
+ # * `~/.aws/config`
146
+ #
147
+ # @option options [String] :access_key_id
148
+ #
149
+ # @option options [Boolean] :active_endpoint_cache (false)
150
+ # When set to `true`, a thread polling for endpoints will be running in
151
+ # the background every 60 secs (default). Defaults to `false`.
152
+ #
153
+ # @option options [Boolean] :adaptive_retry_wait_to_fill (true)
154
+ # Used only in `adaptive` retry mode. When true, the request will sleep
155
+ # until there is sufficent client side capacity to retry the request.
156
+ # When false, the request will raise a `RetryCapacityNotAvailableError` and will
157
+ # not retry instead of sleeping.
158
+ #
159
+ # @option options [Boolean] :client_side_monitoring (false)
160
+ # When `true`, client-side metrics will be collected for all API requests from
161
+ # this client.
162
+ #
163
+ # @option options [String] :client_side_monitoring_client_id ("")
164
+ # Allows you to provide an identifier for this client which will be attached to
165
+ # all generated client side metrics. Defaults to an empty string.
166
+ #
167
+ # @option options [String] :client_side_monitoring_host ("127.0.0.1")
168
+ # Allows you to specify the DNS hostname or IPv4 or IPv6 address that the client
169
+ # side monitoring agent is running on, where client metrics will be published via UDP.
170
+ #
171
+ # @option options [Integer] :client_side_monitoring_port (31000)
172
+ # Required for publishing client metrics. The port that the client side monitoring
173
+ # agent is running on, where client metrics will be published via UDP.
174
+ #
175
+ # @option options [Aws::ClientSideMonitoring::Publisher] :client_side_monitoring_publisher (Aws::ClientSideMonitoring::Publisher)
176
+ # Allows you to provide a custom client-side monitoring publisher class. By default,
177
+ # will use the Client Side Monitoring Agent Publisher.
178
+ #
179
+ # @option options [Boolean] :convert_params (true)
180
+ # When `true`, an attempt is made to coerce request parameters into
181
+ # the required types.
182
+ #
183
+ # @option options [Boolean] :correct_clock_skew (true)
184
+ # Used only in `standard` and adaptive retry modes. Specifies whether to apply
185
+ # a clock skew correction and retry requests with skewed client clocks.
186
+ #
187
+ # @option options [String] :defaults_mode ("legacy")
188
+ # See {Aws::DefaultsModeConfiguration} for a list of the
189
+ # accepted modes and the configuration defaults that are included.
190
+ #
191
+ # @option options [Boolean] :disable_host_prefix_injection (false)
192
+ # Set to true to disable SDK automatically adding host prefix
193
+ # to default service endpoint when available.
194
+ #
195
+ # @option options [Boolean] :disable_request_compression (false)
196
+ # When set to 'true' the request body will not be compressed
197
+ # for supported operations.
198
+ #
199
+ # @option options [String] :endpoint
200
+ # The client endpoint is normally constructed from the `:region`
201
+ # option. You should only configure an `:endpoint` when connecting
202
+ # to test or custom endpoints. This should be a valid HTTP(S) URI.
203
+ #
204
+ # @option options [Integer] :endpoint_cache_max_entries (1000)
205
+ # Used for the maximum size limit of the LRU cache storing endpoints data
206
+ # for endpoint discovery enabled operations. Defaults to 1000.
207
+ #
208
+ # @option options [Integer] :endpoint_cache_max_threads (10)
209
+ # Used for the maximum threads in use for polling endpoints to be cached, defaults to 10.
210
+ #
211
+ # @option options [Integer] :endpoint_cache_poll_interval (60)
212
+ # When :endpoint_discovery and :active_endpoint_cache is enabled,
213
+ # Use this option to config the time interval in seconds for making
214
+ # requests fetching endpoints information. Defaults to 60 sec.
215
+ #
216
+ # @option options [Boolean] :endpoint_discovery (false)
217
+ # When set to `true`, endpoint discovery will be enabled for operations when available.
218
+ #
219
+ # @option options [Boolean] :ignore_configured_endpoint_urls
220
+ # Setting to true disables use of endpoint URLs provided via environment
221
+ # variables and the shared configuration file.
222
+ #
223
+ # @option options [Aws::Log::Formatter] :log_formatter (Aws::Log::Formatter.default)
224
+ # The log formatter.
225
+ #
226
+ # @option options [Symbol] :log_level (:info)
227
+ # The log level to send messages to the `:logger` at.
228
+ #
229
+ # @option options [Logger] :logger
230
+ # The Logger instance to send log messages to. If this option
231
+ # is not set, logging will be disabled.
232
+ #
233
+ # @option options [Integer] :max_attempts (3)
234
+ # An integer representing the maximum number attempts that will be made for
235
+ # a single request, including the initial attempt. For example,
236
+ # setting this value to 5 will result in a request being retried up to
237
+ # 4 times. Used in `standard` and `adaptive` retry modes.
238
+ #
239
+ # @option options [String] :profile ("default")
240
+ # Used when loading credentials from the shared credentials file
241
+ # at HOME/.aws/credentials. When not specified, 'default' is used.
242
+ #
243
+ # @option options [Integer] :request_min_compression_size_bytes (10240)
244
+ # The minimum size in bytes that triggers compression for request
245
+ # bodies. The value must be non-negative integer value between 0
246
+ # and 10485780 bytes inclusive.
247
+ #
248
+ # @option options [Proc] :retry_backoff
249
+ # A proc or lambda used for backoff. Defaults to 2**retries * retry_base_delay.
250
+ # This option is only used in the `legacy` retry mode.
251
+ #
252
+ # @option options [Float] :retry_base_delay (0.3)
253
+ # The base delay in seconds used by the default backoff function. This option
254
+ # is only used in the `legacy` retry mode.
255
+ #
256
+ # @option options [Symbol] :retry_jitter (:none)
257
+ # A delay randomiser function used by the default backoff function.
258
+ # Some predefined functions can be referenced by name - :none, :equal, :full,
259
+ # otherwise a Proc that takes and returns a number. This option is only used
260
+ # in the `legacy` retry mode.
261
+ #
262
+ # @see https://www.awsarchitectureblog.com/2015/03/backoff.html
263
+ #
264
+ # @option options [Integer] :retry_limit (3)
265
+ # The maximum number of times to retry failed requests. Only
266
+ # ~ 500 level server errors and certain ~ 400 level client errors
267
+ # are retried. Generally, these are throttling errors, data
268
+ # checksum errors, networking errors, timeout errors, auth errors,
269
+ # endpoint discovery, and errors from expired credentials.
270
+ # This option is only used in the `legacy` retry mode.
271
+ #
272
+ # @option options [Integer] :retry_max_delay (0)
273
+ # The maximum number of seconds to delay between retries (0 for no limit)
274
+ # used by the default backoff function. This option is only used in the
275
+ # `legacy` retry mode.
276
+ #
277
+ # @option options [String] :retry_mode ("legacy")
278
+ # Specifies which retry algorithm to use. Values are:
279
+ #
280
+ # * `legacy` - The pre-existing retry behavior. This is default value if
281
+ # no retry mode is provided.
282
+ #
283
+ # * `standard` - A standardized set of retry rules across the AWS SDKs.
284
+ # This includes support for retry quotas, which limit the number of
285
+ # unsuccessful retries a client can make.
286
+ #
287
+ # * `adaptive` - An experimental retry mode that includes all the
288
+ # functionality of `standard` mode along with automatic client side
289
+ # throttling. This is a provisional mode that may change behavior
290
+ # in the future.
291
+ #
292
+ #
293
+ # @option options [String] :sdk_ua_app_id
294
+ # A unique and opaque application ID that is appended to the
295
+ # User-Agent header as app/<sdk_ua_app_id>. It should have a
296
+ # maximum length of 50.
297
+ #
298
+ # @option options [String] :secret_access_key
299
+ #
300
+ # @option options [String] :session_token
301
+ #
302
+ # @option options [Boolean] :simple_json (false)
303
+ # Disables request parameter conversion, validation, and formatting.
304
+ # Also disable response data type conversions. This option is useful
305
+ # when you want to ensure the highest level of performance by
306
+ # avoiding overhead of walking request parameters and response data
307
+ # structures.
308
+ #
309
+ # When `:simple_json` is enabled, the request parameters hash must
310
+ # be formatted exactly as the DynamoDB API expects.
311
+ #
312
+ # @option options [Boolean] :stub_responses (false)
313
+ # Causes the client to return stubbed responses. By default
314
+ # fake responses are generated and returned. You can specify
315
+ # the response data to return or errors to raise by calling
316
+ # {ClientStubs#stub_responses}. See {ClientStubs} for more information.
317
+ #
318
+ # ** Please note ** When response stubbing is enabled, no HTTP
319
+ # requests are made, and retries are disabled.
320
+ #
321
+ # @option options [Aws::TokenProvider] :token_provider
322
+ # A Bearer Token Provider. This can be an instance of any one of the
323
+ # following classes:
324
+ #
325
+ # * `Aws::StaticTokenProvider` - Used for configuring static, non-refreshing
326
+ # tokens.
327
+ #
328
+ # * `Aws::SSOTokenProvider` - Used for loading tokens from AWS SSO using an
329
+ # access token generated from `aws login`.
330
+ #
331
+ # When `:token_provider` is not configured directly, the `Aws::TokenProviderChain`
332
+ # will be used to search for tokens configured for your profile in shared configuration files.
333
+ #
334
+ # @option options [Boolean] :use_dualstack_endpoint
335
+ # When set to `true`, dualstack enabled endpoints (with `.aws` TLD)
336
+ # will be used if available.
337
+ #
338
+ # @option options [Boolean] :use_fips_endpoint
339
+ # When set to `true`, fips compatible endpoints will be used if available.
340
+ # When a `fips` region is used, the region is normalized and this config
341
+ # is set to `true`.
342
+ #
343
+ # @option options [Boolean] :validate_params (true)
344
+ # When `true`, request parameters are validated before
345
+ # sending the request.
346
+ #
347
+ # @option options [Aws::MarketplaceAgreement::EndpointProvider] :endpoint_provider
348
+ # The endpoint provider used to resolve endpoints. Any object that responds to `#resolve_endpoint(parameters)` where `parameters` is a Struct similar to `Aws::MarketplaceAgreement::EndpointParameters`
349
+ #
350
+ # @option options [URI::HTTP,String] :http_proxy A proxy to send
351
+ # requests through. Formatted like 'http://proxy.com:123'.
352
+ #
353
+ # @option options [Float] :http_open_timeout (15) The number of
354
+ # seconds to wait when opening a HTTP session before raising a
355
+ # `Timeout::Error`.
356
+ #
357
+ # @option options [Float] :http_read_timeout (60) The default
358
+ # number of seconds to wait for response data. This value can
359
+ # safely be set per-request on the session.
360
+ #
361
+ # @option options [Float] :http_idle_timeout (5) The number of
362
+ # seconds a connection is allowed to sit idle before it is
363
+ # considered stale. Stale connections are closed and removed
364
+ # from the pool before making a request.
365
+ #
366
+ # @option options [Float] :http_continue_timeout (1) The number of
367
+ # seconds to wait for a 100-continue response before sending the
368
+ # request body. This option has no effect unless the request has
369
+ # "Expect" header set to "100-continue". Defaults to `nil` which
370
+ # disables this behaviour. This value can safely be set per
371
+ # request on the session.
372
+ #
373
+ # @option options [Float] :ssl_timeout (nil) Sets the SSL timeout
374
+ # in seconds.
375
+ #
376
+ # @option options [Boolean] :http_wire_trace (false) When `true`,
377
+ # HTTP debug output will be sent to the `:logger`.
378
+ #
379
+ # @option options [Boolean] :ssl_verify_peer (true) When `true`,
380
+ # SSL peer certificates are verified when establishing a
381
+ # connection.
382
+ #
383
+ # @option options [String] :ssl_ca_bundle Full path to the SSL
384
+ # certificate authority bundle file that should be used when
385
+ # verifying peer certificates. If you do not pass
386
+ # `:ssl_ca_bundle` or `:ssl_ca_directory` the the system default
387
+ # will be used if available.
388
+ #
389
+ # @option options [String] :ssl_ca_directory Full path of the
390
+ # directory that contains the unbundled SSL certificate
391
+ # authority files for verifying peer certificates. If you do
392
+ # not pass `:ssl_ca_bundle` or `:ssl_ca_directory` the the
393
+ # system default will be used if available.
394
+ #
395
+ def initialize(*args)
396
+ super
397
+ end
398
+
399
+ # @!group API Operations
400
+
401
+ # Provides details about an agreement, such as the proposer, acceptor,
402
+ # start date, and end date.
403
+ #
404
+ # @option params [required, String] :agreement_id
405
+ # The unique identifier of the agreement.
406
+ #
407
+ # @return [Types::DescribeAgreementOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
408
+ #
409
+ # * {Types::DescribeAgreementOutput#acceptance_time #acceptance_time} => Time
410
+ # * {Types::DescribeAgreementOutput#acceptor #acceptor} => Types::Acceptor
411
+ # * {Types::DescribeAgreementOutput#agreement_id #agreement_id} => String
412
+ # * {Types::DescribeAgreementOutput#agreement_type #agreement_type} => String
413
+ # * {Types::DescribeAgreementOutput#end_time #end_time} => Time
414
+ # * {Types::DescribeAgreementOutput#estimated_charges #estimated_charges} => Types::EstimatedCharges
415
+ # * {Types::DescribeAgreementOutput#proposal_summary #proposal_summary} => Types::ProposalSummary
416
+ # * {Types::DescribeAgreementOutput#proposer #proposer} => Types::Proposer
417
+ # * {Types::DescribeAgreementOutput#start_time #start_time} => Time
418
+ # * {Types::DescribeAgreementOutput#status #status} => String
419
+ #
420
+ # @example Request syntax with placeholder values
421
+ #
422
+ # resp = client.describe_agreement({
423
+ # agreement_id: "ResourceId", # required
424
+ # })
425
+ #
426
+ # @example Response structure
427
+ #
428
+ # resp.acceptance_time #=> Time
429
+ # resp.acceptor.account_id #=> String
430
+ # resp.agreement_id #=> String
431
+ # resp.agreement_type #=> String
432
+ # resp.end_time #=> Time
433
+ # resp.estimated_charges.agreement_value #=> String
434
+ # resp.estimated_charges.currency_code #=> String
435
+ # resp.proposal_summary.offer_id #=> String
436
+ # resp.proposal_summary.resources #=> Array
437
+ # resp.proposal_summary.resources[0].id #=> String
438
+ # resp.proposal_summary.resources[0].type #=> String
439
+ # resp.proposer.account_id #=> String
440
+ # resp.start_time #=> Time
441
+ # resp.status #=> String, one of "ACTIVE", "ARCHIVED", "CANCELLED", "EXPIRED", "RENEWED", "REPLACED", "ROLLED_BACK", "SUPERSEDED", "TERMINATED"
442
+ #
443
+ # @see http://docs.aws.amazon.com/goto/WebAPI/marketplace-agreement-2020-03-01/DescribeAgreement AWS API Documentation
444
+ #
445
+ # @overload describe_agreement(params = {})
446
+ # @param [Hash] params ({})
447
+ def describe_agreement(params = {}, options = {})
448
+ req = build_request(:describe_agreement, params)
449
+ req.send_request(options)
450
+ end
451
+
452
+ # Obtains details about the terms in an agreement that you participated
453
+ # in as proposer or acceptor.
454
+ #
455
+ # The details include:
456
+ #
457
+ # * `TermType` – The type of term, such as `LegalTerm`, `RenewalTerm`,
458
+ # or `ConfigurableUpfrontPricingTerm`.
459
+ #
460
+ # * `TermID` – The ID of the particular term, which is common between
461
+ # offer and agreement.
462
+ #
463
+ # * `TermPayload` – The key information contained in the term, such as
464
+ # the EULA for `LegalTerm` or pricing and dimensions for various
465
+ # pricing terms, such as `ConfigurableUpfrontPricingTerm` or
466
+ # `UsageBasedPricingTerm`.
467
+ # ^
468
+ #
469
+ # * `Configuration` – The buyer/acceptor's selection at the time of
470
+ # agreement creation, such as the number of units purchased for a
471
+ # dimension or setting the `EnableAutoRenew` flag.
472
+ #
473
+ # ^
474
+ #
475
+ # @option params [required, String] :agreement_id
476
+ # The unique identifier of the agreement.
477
+ #
478
+ # @option params [Integer] :max_results
479
+ # The maximum number of agreements to return in the response.
480
+ #
481
+ # @option params [String] :next_token
482
+ # A token to specify where to start pagination
483
+ #
484
+ # @return [Types::GetAgreementTermsOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
485
+ #
486
+ # * {Types::GetAgreementTermsOutput#accepted_terms #accepted_terms} => Array&lt;Types::AcceptedTerm&gt;
487
+ # * {Types::GetAgreementTermsOutput#next_token #next_token} => String
488
+ #
489
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
490
+ #
491
+ # @example Request syntax with placeholder values
492
+ #
493
+ # resp = client.get_agreement_terms({
494
+ # agreement_id: "ResourceId", # required
495
+ # max_results: 1,
496
+ # next_token: "NextToken",
497
+ # })
498
+ #
499
+ # @example Response structure
500
+ #
501
+ # resp.accepted_terms #=> Array
502
+ # resp.accepted_terms[0].byol_pricing_term.type #=> String
503
+ # resp.accepted_terms[0].configurable_upfront_pricing_term.configuration.dimensions #=> Array
504
+ # resp.accepted_terms[0].configurable_upfront_pricing_term.configuration.dimensions[0].dimension_key #=> String
505
+ # resp.accepted_terms[0].configurable_upfront_pricing_term.configuration.dimensions[0].dimension_value #=> Integer
506
+ # resp.accepted_terms[0].configurable_upfront_pricing_term.configuration.selector_value #=> String
507
+ # resp.accepted_terms[0].configurable_upfront_pricing_term.currency_code #=> String
508
+ # resp.accepted_terms[0].configurable_upfront_pricing_term.rate_cards #=> Array
509
+ # resp.accepted_terms[0].configurable_upfront_pricing_term.rate_cards[0].constraints.multiple_dimension_selection #=> String
510
+ # resp.accepted_terms[0].configurable_upfront_pricing_term.rate_cards[0].constraints.quantity_configuration #=> String
511
+ # resp.accepted_terms[0].configurable_upfront_pricing_term.rate_cards[0].rate_card #=> Array
512
+ # resp.accepted_terms[0].configurable_upfront_pricing_term.rate_cards[0].rate_card[0].dimension_key #=> String
513
+ # resp.accepted_terms[0].configurable_upfront_pricing_term.rate_cards[0].rate_card[0].price #=> String
514
+ # resp.accepted_terms[0].configurable_upfront_pricing_term.rate_cards[0].selector.type #=> String
515
+ # resp.accepted_terms[0].configurable_upfront_pricing_term.rate_cards[0].selector.value #=> String
516
+ # resp.accepted_terms[0].configurable_upfront_pricing_term.type #=> String
517
+ # resp.accepted_terms[0].fixed_upfront_pricing_term.currency_code #=> String
518
+ # resp.accepted_terms[0].fixed_upfront_pricing_term.duration #=> String
519
+ # resp.accepted_terms[0].fixed_upfront_pricing_term.grants #=> Array
520
+ # resp.accepted_terms[0].fixed_upfront_pricing_term.grants[0].dimension_key #=> String
521
+ # resp.accepted_terms[0].fixed_upfront_pricing_term.grants[0].max_quantity #=> Integer
522
+ # resp.accepted_terms[0].fixed_upfront_pricing_term.price #=> String
523
+ # resp.accepted_terms[0].fixed_upfront_pricing_term.type #=> String
524
+ # resp.accepted_terms[0].free_trial_pricing_term.duration #=> String
525
+ # resp.accepted_terms[0].free_trial_pricing_term.grants #=> Array
526
+ # resp.accepted_terms[0].free_trial_pricing_term.grants[0].dimension_key #=> String
527
+ # resp.accepted_terms[0].free_trial_pricing_term.grants[0].max_quantity #=> Integer
528
+ # resp.accepted_terms[0].free_trial_pricing_term.type #=> String
529
+ # resp.accepted_terms[0].legal_term.documents #=> Array
530
+ # resp.accepted_terms[0].legal_term.documents[0].type #=> String
531
+ # resp.accepted_terms[0].legal_term.documents[0].url #=> String
532
+ # resp.accepted_terms[0].legal_term.documents[0].version #=> String
533
+ # resp.accepted_terms[0].legal_term.type #=> String
534
+ # resp.accepted_terms[0].payment_schedule_term.currency_code #=> String
535
+ # resp.accepted_terms[0].payment_schedule_term.schedule #=> Array
536
+ # resp.accepted_terms[0].payment_schedule_term.schedule[0].charge_amount #=> String
537
+ # resp.accepted_terms[0].payment_schedule_term.schedule[0].charge_date #=> Time
538
+ # resp.accepted_terms[0].payment_schedule_term.type #=> String
539
+ # resp.accepted_terms[0].recurring_payment_term.billing_period #=> String
540
+ # resp.accepted_terms[0].recurring_payment_term.currency_code #=> String
541
+ # resp.accepted_terms[0].recurring_payment_term.price #=> String
542
+ # resp.accepted_terms[0].recurring_payment_term.type #=> String
543
+ # resp.accepted_terms[0].renewal_term.configuration.enable_auto_renew #=> Boolean
544
+ # resp.accepted_terms[0].renewal_term.type #=> String
545
+ # resp.accepted_terms[0].support_term.refund_policy #=> String
546
+ # resp.accepted_terms[0].support_term.type #=> String
547
+ # resp.accepted_terms[0].usage_based_pricing_term.currency_code #=> String
548
+ # resp.accepted_terms[0].usage_based_pricing_term.rate_cards #=> Array
549
+ # resp.accepted_terms[0].usage_based_pricing_term.rate_cards[0].rate_card #=> Array
550
+ # resp.accepted_terms[0].usage_based_pricing_term.rate_cards[0].rate_card[0].dimension_key #=> String
551
+ # resp.accepted_terms[0].usage_based_pricing_term.rate_cards[0].rate_card[0].price #=> String
552
+ # resp.accepted_terms[0].usage_based_pricing_term.type #=> String
553
+ # resp.accepted_terms[0].validity_term.agreement_duration #=> String
554
+ # resp.accepted_terms[0].validity_term.agreement_end_date #=> Time
555
+ # resp.accepted_terms[0].validity_term.agreement_start_date #=> Time
556
+ # resp.accepted_terms[0].validity_term.type #=> String
557
+ # resp.next_token #=> String
558
+ #
559
+ # @see http://docs.aws.amazon.com/goto/WebAPI/marketplace-agreement-2020-03-01/GetAgreementTerms AWS API Documentation
560
+ #
561
+ # @overload get_agreement_terms(params = {})
562
+ # @param [Hash] params ({})
563
+ def get_agreement_terms(params = {}, options = {})
564
+ req = build_request(:get_agreement_terms, params)
565
+ req.send_request(options)
566
+ end
567
+
568
+ # Searches across all agreements that a proposer or an acceptor has in
569
+ # AWS Marketplace. The search returns a list of agreements with basic
570
+ # agreement information.
571
+ #
572
+ # The following filter combinations are supported:
573
+ #
574
+ # * `PartyType` as `Proposer` + `AgreementType` + `ResourceIdentifier`
575
+ #
576
+ # * `PartyType` as `Proposer` + `AgreementType` + `OfferId`
577
+ #
578
+ # * `PartyType` as `Proposer` + `AgreementType` + `AcceptorAccountId`
579
+ #
580
+ # * `PartyType` as `Proposer` + `AgreementType` + `Status`
581
+ #
582
+ # * `PartyType` as `Proposer` + `AgreementType` + `ResourceIdentifier` +
583
+ # `Status`
584
+ #
585
+ # * `PartyType` as `Proposer` + `AgreementType` + `OfferId` + `Status`
586
+ #
587
+ # * `PartyType` as `Proposer` + `AgreementType` + `AcceptorAccountId` +
588
+ # `Status`
589
+ #
590
+ # * `PartyType` as `Proposer` + `AgreementType` + `ResourceType` +
591
+ # `Status`
592
+ #
593
+ # * `PartyType` as `Proposer` + `AgreementType` + `AcceptorAccountId` +
594
+ # `ResourceType` + `Status`
595
+ #
596
+ # * `PartyType` as `Proposer` + `AgreementType` + `AcceptorAccountId` +
597
+ # `OfferId`
598
+ #
599
+ # * `PartyType` as `Proposer` + `AgreementType` + `AcceptorAccountId` +
600
+ # `OfferId` + `Status`
601
+ #
602
+ # * `PartyType` as `Proposer` + `AgreementType` + `AcceptorAccountId` +
603
+ # `ResourceIdentifier`
604
+ #
605
+ # * `PartyType` as `Proposer` + `AgreementType` + `AcceptorAccountId` +
606
+ # `ResourceIdentifier` + `Status`
607
+ #
608
+ # * `PartyType` as `Proposer` + `AgreementType` + `AcceptorAccountId` +
609
+ # `ResourceType`
610
+ #
611
+ # @option params [String] :catalog
612
+ # The catalog in which the agreement was created.
613
+ #
614
+ # @option params [Array<Types::Filter>] :filters
615
+ # The filter name and value pair used to return a specific list of
616
+ # results.
617
+ #
618
+ # The following filters are supported:
619
+ #
620
+ # * `ResourceIdentifier` – The unique identifier of the resource.
621
+ #
622
+ # * `ResourceType` – Type of the resource, which is the product
623
+ # (`AmiProduct`, `ContainerProduct`, or `SaaSProduct`).
624
+ #
625
+ # * `PartyType` – The party type (either `Acceptor` or `Proposer`) of
626
+ # the caller. For agreements where the caller is the proposer, use the
627
+ # `Proposer` filter. For agreements where the caller is the acceptor,
628
+ # use the `Acceptor` filter.
629
+ #
630
+ # * `AcceptorAccountId` – The AWS account ID of the party accepting the
631
+ # agreement terms.
632
+ #
633
+ # * `OfferId` – The unique identifier of the offer in which the terms
634
+ # are registered in the agreement token.
635
+ #
636
+ # * `Status` – The current status of the agreement. Values include
637
+ # `ACTIVE`, `ARCHIVED`, `CANCELLED`, `EXPIRED`, `RENEWED`, `REPLACED`,
638
+ # and `TERMINATED`.
639
+ #
640
+ # * `BeforeEndTime` – A date used to filter agreements with a date
641
+ # before the `endTime` of an agreement.
642
+ #
643
+ # * `AfterEndTime` – A date used to filter agreements with a date after
644
+ # the `endTime` of an agreement.
645
+ #
646
+ # * `AgreementType` – The type of agreement. Values include
647
+ # `PurchaseAgreement` or `VendorInsightsAgreement`.
648
+ #
649
+ # @option params [Integer] :max_results
650
+ # The maximum number of agreements to return in the response.
651
+ #
652
+ # @option params [String] :next_token
653
+ # A token to specify where to start pagination.
654
+ #
655
+ # @option params [Types::Sort] :sort
656
+ # An object that contains the `SortBy` and `SortOrder` attributes.
657
+ #
658
+ # @return [Types::SearchAgreementsOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
659
+ #
660
+ # * {Types::SearchAgreementsOutput#agreement_view_summaries #agreement_view_summaries} => Array&lt;Types::AgreementViewSummary&gt;
661
+ # * {Types::SearchAgreementsOutput#next_token #next_token} => String
662
+ #
663
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
664
+ #
665
+ # @example Request syntax with placeholder values
666
+ #
667
+ # resp = client.search_agreements({
668
+ # catalog: "Catalog",
669
+ # filters: [
670
+ # {
671
+ # name: "FilterName",
672
+ # values: ["FilterValue"],
673
+ # },
674
+ # ],
675
+ # max_results: 1,
676
+ # next_token: "NextToken",
677
+ # sort: {
678
+ # sort_by: "SortBy",
679
+ # sort_order: "ASCENDING", # accepts ASCENDING, DESCENDING
680
+ # },
681
+ # })
682
+ #
683
+ # @example Response structure
684
+ #
685
+ # resp.agreement_view_summaries #=> Array
686
+ # resp.agreement_view_summaries[0].acceptance_time #=> Time
687
+ # resp.agreement_view_summaries[0].acceptor.account_id #=> String
688
+ # resp.agreement_view_summaries[0].agreement_id #=> String
689
+ # resp.agreement_view_summaries[0].agreement_type #=> String
690
+ # resp.agreement_view_summaries[0].end_time #=> Time
691
+ # resp.agreement_view_summaries[0].proposal_summary.offer_id #=> String
692
+ # resp.agreement_view_summaries[0].proposal_summary.resources #=> Array
693
+ # resp.agreement_view_summaries[0].proposal_summary.resources[0].id #=> String
694
+ # resp.agreement_view_summaries[0].proposal_summary.resources[0].type #=> String
695
+ # resp.agreement_view_summaries[0].proposer.account_id #=> String
696
+ # resp.agreement_view_summaries[0].start_time #=> Time
697
+ # resp.agreement_view_summaries[0].status #=> String, one of "ACTIVE", "ARCHIVED", "CANCELLED", "EXPIRED", "RENEWED", "REPLACED", "ROLLED_BACK", "SUPERSEDED", "TERMINATED"
698
+ # resp.next_token #=> String
699
+ #
700
+ # @see http://docs.aws.amazon.com/goto/WebAPI/marketplace-agreement-2020-03-01/SearchAgreements AWS API Documentation
701
+ #
702
+ # @overload search_agreements(params = {})
703
+ # @param [Hash] params ({})
704
+ def search_agreements(params = {}, options = {})
705
+ req = build_request(:search_agreements, params)
706
+ req.send_request(options)
707
+ end
708
+
709
+ # @!endgroup
710
+
711
+ # @param params ({})
712
+ # @api private
713
+ def build_request(operation_name, params = {})
714
+ handlers = @handlers.for(operation_name)
715
+ context = Seahorse::Client::RequestContext.new(
716
+ operation_name: operation_name,
717
+ operation: config.api.operation(operation_name),
718
+ client: self,
719
+ params: params,
720
+ config: config)
721
+ context[:gem_name] = 'aws-sdk-marketplaceagreement'
722
+ context[:gem_version] = '1.0.0'
723
+ Seahorse::Client::Request.new(handlers, context)
724
+ end
725
+
726
+ # @api private
727
+ # @deprecated
728
+ def waiter_names
729
+ []
730
+ end
731
+
732
+ class << self
733
+
734
+ # @api private
735
+ attr_reader :identifier
736
+
737
+ # @api private
738
+ def errors_module
739
+ Errors
740
+ end
741
+
742
+ end
743
+ end
744
+ end