aws-sdk-servicecatalog 1.0.0.rc1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml ADDED
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA1:
3
+ metadata.gz: c6c0e9d5b5542344730437fa6a97b2d5ee6ca0f7
4
+ data.tar.gz: 86f878ad42be17225be0b7569bf319eea8d41808
5
+ SHA512:
6
+ metadata.gz: db74a428bfdbe305e45b4f3904773afce6c654ab3faa3ae7674a6aa07e7b196e29ad289815b365b8c30770d16b2b0368fc2653c7a8b44a290dd89708aefda773
7
+ data.tar.gz: f36a296684bad721deee4e37604630d5e7c3e2dcfad7b8367619b0c3148106f2b2b818e702766ff46d34d0f77d39a4d4d47a69ead016f4fe7bc4bb164e252d0f
@@ -0,0 +1,47 @@
1
+ # WARNING ABOUT GENERATED CODE
2
+ #
3
+ # This file is generated. See the contributing for info on making contributions:
4
+ # https://github.com/aws/aws-sdk-ruby/blob/master/CONTRIBUTING.md
5
+ #
6
+ # WARNING ABOUT GENERATED CODE
7
+
8
+ require 'aws-sdk-core'
9
+ require 'aws-sigv4'
10
+
11
+ require_relative 'aws-sdk-servicecatalog/types'
12
+ require_relative 'aws-sdk-servicecatalog/client_api'
13
+ require_relative 'aws-sdk-servicecatalog/client'
14
+ require_relative 'aws-sdk-servicecatalog/errors'
15
+ require_relative 'aws-sdk-servicecatalog/resource'
16
+ require_relative 'aws-sdk-servicecatalog/customizations'
17
+
18
+ # This module provides support for AWS Service Catalog. This module is available in the
19
+ # `aws-sdk-servicecatalog` gem.
20
+ #
21
+ # # Client
22
+ #
23
+ # The {Client} class provides one method for each API operation. Operation
24
+ # methods each accept a hash of request parameters and return a response
25
+ # structure.
26
+ #
27
+ # See {Client} for more information.
28
+ #
29
+ # # Errors
30
+ #
31
+ # Errors returned from AWS Service Catalog all
32
+ # extend {Errors::ServiceError}.
33
+ #
34
+ # begin
35
+ # # do stuff
36
+ # rescue Aws::ServiceCatalog::Errors::ServiceError
37
+ # # rescues all service API errors
38
+ # end
39
+ #
40
+ # See {Errors} for more information.
41
+ #
42
+ # @service
43
+ module Aws::ServiceCatalog
44
+
45
+ GEM_VERSION = '1.0.0.rc1'
46
+
47
+ end
@@ -0,0 +1,2425 @@
1
+ # WARNING ABOUT GENERATED CODE
2
+ #
3
+ # This file is generated. See the contributing for info on making contributions:
4
+ # https://github.com/aws/aws-sdk-ruby/blob/master/CONTRIBUTING.md
5
+ #
6
+ # WARNING ABOUT GENERATED CODE
7
+
8
+ require 'seahorse/client/plugins/content_length.rb'
9
+ require 'aws-sdk-core/plugins/credentials_configuration.rb'
10
+ require 'aws-sdk-core/plugins/logging.rb'
11
+ require 'aws-sdk-core/plugins/param_converter.rb'
12
+ require 'aws-sdk-core/plugins/param_validator.rb'
13
+ require 'aws-sdk-core/plugins/user_agent.rb'
14
+ require 'aws-sdk-core/plugins/helpful_socket_errors.rb'
15
+ require 'aws-sdk-core/plugins/retry_errors.rb'
16
+ require 'aws-sdk-core/plugins/global_configuration.rb'
17
+ require 'aws-sdk-core/plugins/regional_endpoint.rb'
18
+ require 'aws-sdk-core/plugins/response_paging.rb'
19
+ require 'aws-sdk-core/plugins/stub_responses.rb'
20
+ require 'aws-sdk-core/plugins/idempotency_token.rb'
21
+ require 'aws-sdk-core/plugins/signature_v4.rb'
22
+ require 'aws-sdk-core/plugins/protocols/json_rpc.rb'
23
+
24
+ Aws::Plugins::GlobalConfiguration.add_identifier(:servicecatalog)
25
+
26
+ module Aws
27
+ module ServiceCatalog
28
+ class Client < Seahorse::Client::Base
29
+
30
+ include Aws::ClientStubs
31
+
32
+ @identifier = :servicecatalog
33
+
34
+ set_api(ClientApi::API)
35
+
36
+ add_plugin(Seahorse::Client::Plugins::ContentLength)
37
+ add_plugin(Aws::Plugins::CredentialsConfiguration)
38
+ add_plugin(Aws::Plugins::Logging)
39
+ add_plugin(Aws::Plugins::ParamConverter)
40
+ add_plugin(Aws::Plugins::ParamValidator)
41
+ add_plugin(Aws::Plugins::UserAgent)
42
+ add_plugin(Aws::Plugins::HelpfulSocketErrors)
43
+ add_plugin(Aws::Plugins::RetryErrors)
44
+ add_plugin(Aws::Plugins::GlobalConfiguration)
45
+ add_plugin(Aws::Plugins::RegionalEndpoint)
46
+ add_plugin(Aws::Plugins::ResponsePaging)
47
+ add_plugin(Aws::Plugins::StubResponses)
48
+ add_plugin(Aws::Plugins::IdempotencyToken)
49
+ add_plugin(Aws::Plugins::SignatureV4)
50
+ add_plugin(Aws::Plugins::Protocols::JsonRpc)
51
+
52
+ # @option options [required, Aws::CredentialProvider] :credentials
53
+ # Your AWS credentials. This can be an instance of any one of the
54
+ # following classes:
55
+ #
56
+ # * `Aws::Credentials` - Used for configuring static, non-refreshing
57
+ # credentials.
58
+ #
59
+ # * `Aws::InstanceProfileCredentials` - Used for loading credentials
60
+ # from an EC2 IMDS on an EC2 instance.
61
+ #
62
+ # * `Aws::SharedCredentials` - Used for loading credentials from a
63
+ # shared file, such as `~/.aws/config`.
64
+ #
65
+ # * `Aws::AssumeRoleCredentials` - Used when you need to assume a role.
66
+ #
67
+ # When `:credentials` are not configured directly, the following
68
+ # locations will be searched for credentials:
69
+ #
70
+ # * `Aws.config[:credentials]`
71
+ # * The `:access_key_id`, `:secret_access_key`, and `:session_token` options.
72
+ # * ENV['AWS_ACCESS_KEY_ID'], ENV['AWS_SECRET_ACCESS_KEY']
73
+ # * `~/.aws/credentials`
74
+ # * `~/.aws/config`
75
+ # * EC2 IMDS instance profile - When used by default, the timeouts are
76
+ # very aggressive. Construct and pass an instance of
77
+ # `Aws::InstanceProfileCredentails` to enable retries and extended
78
+ # timeouts.
79
+ # @option options [required, String] :region
80
+ # The AWS region to connect to. The configured `:region` is
81
+ # used to determine the service `:endpoint`. When not passed,
82
+ # a default `:region` is search for in the following locations:
83
+ #
84
+ # * `Aws.config[:region]`
85
+ # * `ENV['AWS_REGION']`
86
+ # * `ENV['AMAZON_REGION']`
87
+ # * `ENV['AWS_DEFAULT_REGION']`
88
+ # * `~/.aws/credentials`
89
+ # * `~/.aws/config`
90
+ # @option options [String] :access_key_id
91
+ # @option options [Boolean] :convert_params (true)
92
+ # When `true`, an attempt is made to coerce request parameters into
93
+ # the required types.
94
+ # @option options [String] :endpoint
95
+ # The client endpoint is normally constructed from the `:region`
96
+ # option. You should only configure an `:endpoint` when connecting
97
+ # to test endpoints. This should be avalid HTTP(S) URI.
98
+ # @option options [Aws::Log::Formatter] :log_formatter (Aws::Log::Formatter.default)
99
+ # The log formatter.
100
+ # @option options [Symbol] :log_level (:info)
101
+ # The log level to send messages to the `:logger` at.
102
+ # @option options [Logger] :logger
103
+ # The Logger instance to send log messages to. If this option
104
+ # is not set, logging will be disabled.
105
+ # @option options [String] :profile ("default")
106
+ # Used when loading credentials from the shared credentials file
107
+ # at HOME/.aws/credentials. When not specified, 'default' is used.
108
+ # @option options [Integer] :retry_limit (3)
109
+ # The maximum number of times to retry failed requests. Only
110
+ # ~ 500 level server errors and certain ~ 400 level client errors
111
+ # are retried. Generally, these are throttling errors, data
112
+ # checksum errors, networking errors, timeout errors and auth
113
+ # errors from expired credentials.
114
+ # @option options [String] :secret_access_key
115
+ # @option options [String] :session_token
116
+ # @option options [Boolean] :simple_json (false)
117
+ # Disables request parameter conversion, validation, and formatting.
118
+ # Also disable response data type conversions. This option is useful
119
+ # when you want to ensure the highest level of performance by
120
+ # avoiding overhead of walking request parameters and response data
121
+ # structures.
122
+ #
123
+ # When `:simple_json` is enabled, the request parameters hash must
124
+ # be formatted exactly as the DynamoDB API expects.
125
+ # @option options [Boolean] :stub_responses (false)
126
+ # Causes the client to return stubbed responses. By default
127
+ # fake responses are generated and returned. You can specify
128
+ # the response data to return or errors to raise by calling
129
+ # {ClientStubs#stub_responses}. See {ClientStubs} for more information.
130
+ #
131
+ # ** Please note ** When response stubbing is enabled, no HTTP
132
+ # requests are made, and retries are disabled.
133
+ # @option options [Boolean] :validate_params (true)
134
+ # When `true`, request parameters are validated before
135
+ # sending the request.
136
+ def initialize(*args)
137
+ super
138
+ end
139
+
140
+ # @!group API Operations
141
+
142
+ # Accepts an offer to share a portfolio.
143
+ # @option params [String] :accept_language
144
+ # The language code to use for this operation. Supported language codes
145
+ # are as follows:
146
+ #
147
+ # "en" (English)
148
+ #
149
+ # "jp" (Japanese)
150
+ #
151
+ # "zh" (Chinese)
152
+ #
153
+ # If no code is specified, "en" is used as the default.
154
+ # @option params [required, String] :portfolio_id
155
+ # The portfolio identifier.
156
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
157
+ #
158
+ # @example Request syntax with placeholder values
159
+ # resp = client.accept_portfolio_share({
160
+ # accept_language: "AcceptLanguage",
161
+ # portfolio_id: "Id", # required
162
+ # })
163
+ # @overload accept_portfolio_share(params = {})
164
+ # @param [Hash] params ({})
165
+ def accept_portfolio_share(params = {}, options = {})
166
+ req = build_request(:accept_portfolio_share, params)
167
+ req.send_request(options)
168
+ end
169
+
170
+ # Associates the specified principal ARN with the specified portfolio.
171
+ # @option params [String] :accept_language
172
+ # The language code to use for this operation. Supported language codes
173
+ # are as follows:
174
+ #
175
+ # "en" (English)
176
+ #
177
+ # "jp" (Japanese)
178
+ #
179
+ # "zh" (Chinese)
180
+ #
181
+ # If no code is specified, "en" is used as the default.
182
+ # @option params [required, String] :portfolio_id
183
+ # The portfolio identifier.
184
+ # @option params [required, String] :principal_arn
185
+ # The ARN representing the principal (IAM user, role, or group).
186
+ # @option params [required, String] :principal_type
187
+ # The principal type. Must be `IAM`
188
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
189
+ #
190
+ # @example Request syntax with placeholder values
191
+ # resp = client.associate_principal_with_portfolio({
192
+ # accept_language: "AcceptLanguage",
193
+ # portfolio_id: "Id", # required
194
+ # principal_arn: "PrincipalARN", # required
195
+ # principal_type: "IAM", # required, accepts IAM
196
+ # })
197
+ # @overload associate_principal_with_portfolio(params = {})
198
+ # @param [Hash] params ({})
199
+ def associate_principal_with_portfolio(params = {}, options = {})
200
+ req = build_request(:associate_principal_with_portfolio, params)
201
+ req.send_request(options)
202
+ end
203
+
204
+ # Associates a product with a portfolio.
205
+ # @option params [String] :accept_language
206
+ # The language code to use for this operation. Supported language codes
207
+ # are as follows:
208
+ #
209
+ # "en" (English)
210
+ #
211
+ # "jp" (Japanese)
212
+ #
213
+ # "zh" (Chinese)
214
+ #
215
+ # If no code is specified, "en" is used as the default.
216
+ # @option params [required, String] :product_id
217
+ # The product identifier.
218
+ # @option params [required, String] :portfolio_id
219
+ # The portfolio identifier.
220
+ # @option params [String] :source_portfolio_id
221
+ # The identifier of the source portfolio to use with this association.
222
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
223
+ #
224
+ # @example Request syntax with placeholder values
225
+ # resp = client.associate_product_with_portfolio({
226
+ # accept_language: "AcceptLanguage",
227
+ # product_id: "Id", # required
228
+ # portfolio_id: "Id", # required
229
+ # source_portfolio_id: "Id",
230
+ # })
231
+ # @overload associate_product_with_portfolio(params = {})
232
+ # @param [Hash] params ({})
233
+ def associate_product_with_portfolio(params = {}, options = {})
234
+ req = build_request(:associate_product_with_portfolio, params)
235
+ req.send_request(options)
236
+ end
237
+
238
+ # Creates a new constraint.
239
+ # @option params [String] :accept_language
240
+ # The language code to use for this operation. Supported language codes
241
+ # are as follows:
242
+ #
243
+ # "en" (English)
244
+ #
245
+ # "jp" (Japanese)
246
+ #
247
+ # "zh" (Chinese)
248
+ #
249
+ # If no code is specified, "en" is used as the default.
250
+ # @option params [required, String] :portfolio_id
251
+ # The portfolio identifier.
252
+ # @option params [required, String] :product_id
253
+ # The product identifier.
254
+ # @option params [required, String] :parameters
255
+ # The constraint parameters.
256
+ # @option params [required, String] :type
257
+ # The type of the constraint.
258
+ # @option params [String] :description
259
+ # The text description of the constraint.
260
+ # @option params [required, String] :idempotency_token
261
+ # A token to disambiguate duplicate requests. You can create multiple
262
+ # resources using the same input in multiple requests, provided that you
263
+ # also specify a different idempotency token for each request.
264
+ #
265
+ # **A suitable default value is auto-generated.** You should
266
+ # normally not need to pass this option.
267
+ # @return [Types::CreateConstraintOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
268
+ #
269
+ # * {Types::CreateConstraintOutput#constraint_detail #ConstraintDetail} => Types::ConstraintDetail
270
+ # * {Types::CreateConstraintOutput#constraint_parameters #ConstraintParameters} => String
271
+ # * {Types::CreateConstraintOutput#status #Status} => String
272
+ #
273
+ # @example Request syntax with placeholder values
274
+ # resp = client.create_constraint({
275
+ # accept_language: "AcceptLanguage",
276
+ # portfolio_id: "Id", # required
277
+ # product_id: "Id", # required
278
+ # parameters: "ConstraintParameters", # required
279
+ # type: "ConstraintType", # required
280
+ # description: "ConstraintDescription",
281
+ # idempotency_token: "IdempotencyToken", # required
282
+ # })
283
+ #
284
+ # @example Response structure
285
+ # resp.constraint_detail.constraint_id #=> String
286
+ # resp.constraint_detail.type #=> String
287
+ # resp.constraint_detail.description #=> String
288
+ # resp.constraint_detail.owner #=> String
289
+ # resp.constraint_parameters #=> String
290
+ # resp.status #=> String, one of "AVAILABLE", "CREATING", "FAILED"
291
+ # @overload create_constraint(params = {})
292
+ # @param [Hash] params ({})
293
+ def create_constraint(params = {}, options = {})
294
+ req = build_request(:create_constraint, params)
295
+ req.send_request(options)
296
+ end
297
+
298
+ # Creates a new portfolio.
299
+ # @option params [String] :accept_language
300
+ # The language code to use for this operation. Supported language codes
301
+ # are as follows:
302
+ #
303
+ # "en" (English)
304
+ #
305
+ # "jp" (Japanese)
306
+ #
307
+ # "zh" (Chinese)
308
+ #
309
+ # If no code is specified, "en" is used as the default.
310
+ # @option params [required, String] :display_name
311
+ # The name to use for display purposes.
312
+ # @option params [String] :description
313
+ # The text description of the portfolio.
314
+ # @option params [required, String] :provider_name
315
+ # The name of the portfolio provider.
316
+ # @option params [Array<Types::Tag>] :tags
317
+ # Tags to associate with the new portfolio.
318
+ # @option params [required, String] :idempotency_token
319
+ # A token to disambiguate duplicate requests. You can create multiple
320
+ # resources using the same input in multiple requests, provided that you
321
+ # also specify a different idempotency token for each request.
322
+ #
323
+ # **A suitable default value is auto-generated.** You should
324
+ # normally not need to pass this option.
325
+ # @return [Types::CreatePortfolioOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
326
+ #
327
+ # * {Types::CreatePortfolioOutput#portfolio_detail #PortfolioDetail} => Types::PortfolioDetail
328
+ # * {Types::CreatePortfolioOutput#tags #Tags} => Array&lt;Types::Tag&gt;
329
+ #
330
+ # @example Request syntax with placeholder values
331
+ # resp = client.create_portfolio({
332
+ # accept_language: "AcceptLanguage",
333
+ # display_name: "PortfolioDisplayName", # required
334
+ # description: "PortfolioDescription",
335
+ # provider_name: "ProviderName", # required
336
+ # tags: [
337
+ # {
338
+ # key: "TagKey", # required
339
+ # value: "TagValue", # required
340
+ # },
341
+ # ],
342
+ # idempotency_token: "IdempotencyToken", # required
343
+ # })
344
+ #
345
+ # @example Response structure
346
+ # resp.portfolio_detail.id #=> String
347
+ # resp.portfolio_detail.arn #=> String
348
+ # resp.portfolio_detail.display_name #=> String
349
+ # resp.portfolio_detail.description #=> String
350
+ # resp.portfolio_detail.created_time #=> Time
351
+ # resp.portfolio_detail.provider_name #=> String
352
+ # resp.tags #=> Array
353
+ # resp.tags[0].key #=> String
354
+ # resp.tags[0].value #=> String
355
+ # @overload create_portfolio(params = {})
356
+ # @param [Hash] params ({})
357
+ def create_portfolio(params = {}, options = {})
358
+ req = build_request(:create_portfolio, params)
359
+ req.send_request(options)
360
+ end
361
+
362
+ # Creates a new portfolio share.
363
+ # @option params [String] :accept_language
364
+ # The language code to use for this operation. Supported language codes
365
+ # are as follows:
366
+ #
367
+ # "en" (English)
368
+ #
369
+ # "jp" (Japanese)
370
+ #
371
+ # "zh" (Chinese)
372
+ #
373
+ # If no code is specified, "en" is used as the default.
374
+ # @option params [required, String] :portfolio_id
375
+ # The portfolio identifier.
376
+ # @option params [required, String] :account_id
377
+ # The account ID with which to share the portfolio.
378
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
379
+ #
380
+ # @example Request syntax with placeholder values
381
+ # resp = client.create_portfolio_share({
382
+ # accept_language: "AcceptLanguage",
383
+ # portfolio_id: "Id", # required
384
+ # account_id: "AccountId", # required
385
+ # })
386
+ # @overload create_portfolio_share(params = {})
387
+ # @param [Hash] params ({})
388
+ def create_portfolio_share(params = {}, options = {})
389
+ req = build_request(:create_portfolio_share, params)
390
+ req.send_request(options)
391
+ end
392
+
393
+ # Creates a new product.
394
+ # @option params [String] :accept_language
395
+ # The language code to use for this operation. Supported language codes
396
+ # are as follows:
397
+ #
398
+ # "en" (English)
399
+ #
400
+ # "jp" (Japanese)
401
+ #
402
+ # "zh" (Chinese)
403
+ #
404
+ # If no code is specified, "en" is used as the default.
405
+ # @option params [required, String] :name
406
+ # The name of the product.
407
+ # @option params [required, String] :owner
408
+ # The owner of the product.
409
+ # @option params [String] :description
410
+ # The text description of the product.
411
+ # @option params [String] :distributor
412
+ # The distributor of the product.
413
+ # @option params [String] :support_description
414
+ # Support information about the product.
415
+ # @option params [String] :support_email
416
+ # Contact email for product support.
417
+ # @option params [String] :support_url
418
+ # Contact URL for product support.
419
+ # @option params [required, String] :product_type
420
+ # The type of the product to create.
421
+ # @option params [Array<Types::Tag>] :tags
422
+ # Tags to associate with the new product.
423
+ # @option params [required, Types::ProvisioningArtifactProperties] :provisioning_artifact_parameters
424
+ # Parameters for the provisioning artifact.
425
+ # @option params [required, String] :idempotency_token
426
+ # A token to disambiguate duplicate requests. You can create multiple
427
+ # resources using the same input in multiple requests, provided that you
428
+ # also specify a different idempotency token for each request.
429
+ #
430
+ # **A suitable default value is auto-generated.** You should
431
+ # normally not need to pass this option.
432
+ # @return [Types::CreateProductOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
433
+ #
434
+ # * {Types::CreateProductOutput#product_view_detail #ProductViewDetail} => Types::ProductViewDetail
435
+ # * {Types::CreateProductOutput#provisioning_artifact_detail #ProvisioningArtifactDetail} => Types::ProvisioningArtifactDetail
436
+ # * {Types::CreateProductOutput#tags #Tags} => Array&lt;Types::Tag&gt;
437
+ #
438
+ # @example Request syntax with placeholder values
439
+ # resp = client.create_product({
440
+ # accept_language: "AcceptLanguage",
441
+ # name: "ProductViewName", # required
442
+ # owner: "ProductViewOwner", # required
443
+ # description: "ProductViewShortDescription",
444
+ # distributor: "ProductViewOwner",
445
+ # support_description: "SupportDescription",
446
+ # support_email: "SupportEmail",
447
+ # support_url: "SupportUrl",
448
+ # product_type: "CLOUD_FORMATION_TEMPLATE", # required, accepts CLOUD_FORMATION_TEMPLATE
449
+ # tags: [
450
+ # {
451
+ # key: "TagKey", # required
452
+ # value: "TagValue", # required
453
+ # },
454
+ # ],
455
+ # provisioning_artifact_parameters: { # required
456
+ # name: "ProvisioningArtifactName",
457
+ # description: "ProvisioningArtifactDescription",
458
+ # info: { # required
459
+ # "ProvisioningArtifactInfoKey" => "ProvisioningArtifactInfoValue",
460
+ # },
461
+ # type: "CLOUD_FORMATION_TEMPLATE", # accepts CLOUD_FORMATION_TEMPLATE
462
+ # },
463
+ # idempotency_token: "IdempotencyToken", # required
464
+ # })
465
+ #
466
+ # @example Response structure
467
+ # resp.product_view_detail.product_view_summary.id #=> String
468
+ # resp.product_view_detail.product_view_summary.product_id #=> String
469
+ # resp.product_view_detail.product_view_summary.name #=> String
470
+ # resp.product_view_detail.product_view_summary.owner #=> String
471
+ # resp.product_view_detail.product_view_summary.short_description #=> String
472
+ # resp.product_view_detail.product_view_summary.type #=> String, one of "CLOUD_FORMATION_TEMPLATE"
473
+ # resp.product_view_detail.product_view_summary.distributor #=> String
474
+ # resp.product_view_detail.product_view_summary.has_default_path #=> Boolean
475
+ # resp.product_view_detail.product_view_summary.support_email #=> String
476
+ # resp.product_view_detail.product_view_summary.support_description #=> String
477
+ # resp.product_view_detail.product_view_summary.support_url #=> String
478
+ # resp.product_view_detail.status #=> String, one of "AVAILABLE", "CREATING", "FAILED"
479
+ # resp.product_view_detail.product_arn #=> String
480
+ # resp.product_view_detail.created_time #=> Time
481
+ # resp.provisioning_artifact_detail.id #=> String
482
+ # resp.provisioning_artifact_detail.name #=> String
483
+ # resp.provisioning_artifact_detail.description #=> String
484
+ # resp.provisioning_artifact_detail.type #=> String, one of "CLOUD_FORMATION_TEMPLATE"
485
+ # resp.provisioning_artifact_detail.created_time #=> Time
486
+ # resp.tags #=> Array
487
+ # resp.tags[0].key #=> String
488
+ # resp.tags[0].value #=> String
489
+ # @overload create_product(params = {})
490
+ # @param [Hash] params ({})
491
+ def create_product(params = {}, options = {})
492
+ req = build_request(:create_product, params)
493
+ req.send_request(options)
494
+ end
495
+
496
+ # Create a new provisioning artifact for the specified product. This
497
+ # operation will not work with a product that has been shared with you.
498
+ # @option params [String] :accept_language
499
+ # The language code to use for this operation. Supported language codes
500
+ # are as follows:
501
+ #
502
+ # "en" (English)
503
+ #
504
+ # "jp" (Japanese)
505
+ #
506
+ # "zh" (Chinese)
507
+ #
508
+ # If no code is specified, "en" is used as the default.
509
+ # @option params [required, String] :product_id
510
+ # The product identifier.
511
+ # @option params [required, Types::ProvisioningArtifactProperties] :parameters
512
+ # The parameters to use when creating the new provisioning artifact.
513
+ # @option params [required, String] :idempotency_token
514
+ # A token to disambiguate duplicate requests. You can create multiple
515
+ # resources using the same input in multiple requests, provided that you
516
+ # also specify a different idempotency token for each request.
517
+ #
518
+ # **A suitable default value is auto-generated.** You should
519
+ # normally not need to pass this option.
520
+ # @return [Types::CreateProvisioningArtifactOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
521
+ #
522
+ # * {Types::CreateProvisioningArtifactOutput#provisioning_artifact_detail #ProvisioningArtifactDetail} => Types::ProvisioningArtifactDetail
523
+ # * {Types::CreateProvisioningArtifactOutput#info #Info} => Hash&lt;String,String&gt;
524
+ # * {Types::CreateProvisioningArtifactOutput#status #Status} => String
525
+ #
526
+ # @example Request syntax with placeholder values
527
+ # resp = client.create_provisioning_artifact({
528
+ # accept_language: "AcceptLanguage",
529
+ # product_id: "Id", # required
530
+ # parameters: { # required
531
+ # name: "ProvisioningArtifactName",
532
+ # description: "ProvisioningArtifactDescription",
533
+ # info: { # required
534
+ # "ProvisioningArtifactInfoKey" => "ProvisioningArtifactInfoValue",
535
+ # },
536
+ # type: "CLOUD_FORMATION_TEMPLATE", # accepts CLOUD_FORMATION_TEMPLATE
537
+ # },
538
+ # idempotency_token: "IdempotencyToken", # required
539
+ # })
540
+ #
541
+ # @example Response structure
542
+ # resp.provisioning_artifact_detail.id #=> String
543
+ # resp.provisioning_artifact_detail.name #=> String
544
+ # resp.provisioning_artifact_detail.description #=> String
545
+ # resp.provisioning_artifact_detail.type #=> String, one of "CLOUD_FORMATION_TEMPLATE"
546
+ # resp.provisioning_artifact_detail.created_time #=> Time
547
+ # resp.info #=> Hash
548
+ # resp.info["ProvisioningArtifactInfoKey"] #=> String
549
+ # resp.status #=> String, one of "AVAILABLE", "CREATING", "FAILED"
550
+ # @overload create_provisioning_artifact(params = {})
551
+ # @param [Hash] params ({})
552
+ def create_provisioning_artifact(params = {}, options = {})
553
+ req = build_request(:create_provisioning_artifact, params)
554
+ req.send_request(options)
555
+ end
556
+
557
+ # Deletes the specified constraint.
558
+ # @option params [String] :accept_language
559
+ # The language code to use for this operation. Supported language codes
560
+ # are as follows:
561
+ #
562
+ # "en" (English)
563
+ #
564
+ # "jp" (Japanese)
565
+ #
566
+ # "zh" (Chinese)
567
+ #
568
+ # If no code is specified, "en" is used as the default.
569
+ # @option params [required, String] :id
570
+ # The identifier of the constraint to delete.
571
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
572
+ #
573
+ # @example Request syntax with placeholder values
574
+ # resp = client.delete_constraint({
575
+ # accept_language: "AcceptLanguage",
576
+ # id: "Id", # required
577
+ # })
578
+ # @overload delete_constraint(params = {})
579
+ # @param [Hash] params ({})
580
+ def delete_constraint(params = {}, options = {})
581
+ req = build_request(:delete_constraint, params)
582
+ req.send_request(options)
583
+ end
584
+
585
+ # Deletes the specified portfolio. This operation will not work with a
586
+ # portfolio that has been shared with you or if it has products, users,
587
+ # constraints, or shared accounts associated with it.
588
+ # @option params [String] :accept_language
589
+ # The language code to use for this operation. Supported language codes
590
+ # are as follows:
591
+ #
592
+ # "en" (English)
593
+ #
594
+ # "jp" (Japanese)
595
+ #
596
+ # "zh" (Chinese)
597
+ #
598
+ # If no code is specified, "en" is used as the default.
599
+ # @option params [required, String] :id
600
+ # The identifier of the portfolio for the delete request.
601
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
602
+ #
603
+ # @example Request syntax with placeholder values
604
+ # resp = client.delete_portfolio({
605
+ # accept_language: "AcceptLanguage",
606
+ # id: "Id", # required
607
+ # })
608
+ # @overload delete_portfolio(params = {})
609
+ # @param [Hash] params ({})
610
+ def delete_portfolio(params = {}, options = {})
611
+ req = build_request(:delete_portfolio, params)
612
+ req.send_request(options)
613
+ end
614
+
615
+ # Deletes the specified portfolio share.
616
+ # @option params [String] :accept_language
617
+ # The language code to use for this operation. Supported language codes
618
+ # are as follows:
619
+ #
620
+ # "en" (English)
621
+ #
622
+ # "jp" (Japanese)
623
+ #
624
+ # "zh" (Chinese)
625
+ #
626
+ # If no code is specified, "en" is used as the default.
627
+ # @option params [required, String] :portfolio_id
628
+ # The portfolio identifier.
629
+ # @option params [required, String] :account_id
630
+ # The account ID associated with the share to delete.
631
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
632
+ #
633
+ # @example Request syntax with placeholder values
634
+ # resp = client.delete_portfolio_share({
635
+ # accept_language: "AcceptLanguage",
636
+ # portfolio_id: "Id", # required
637
+ # account_id: "AccountId", # required
638
+ # })
639
+ # @overload delete_portfolio_share(params = {})
640
+ # @param [Hash] params ({})
641
+ def delete_portfolio_share(params = {}, options = {})
642
+ req = build_request(:delete_portfolio_share, params)
643
+ req.send_request(options)
644
+ end
645
+
646
+ # Deletes the specified product. This operation will not work with a
647
+ # product that has been shared with you or is associated with a
648
+ # portfolio.
649
+ # @option params [String] :accept_language
650
+ # The language code to use for this operation. Supported language codes
651
+ # are as follows:
652
+ #
653
+ # "en" (English)
654
+ #
655
+ # "jp" (Japanese)
656
+ #
657
+ # "zh" (Chinese)
658
+ #
659
+ # If no code is specified, "en" is used as the default.
660
+ # @option params [required, String] :id
661
+ # The identifier of the product for the delete request.
662
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
663
+ #
664
+ # @example Request syntax with placeholder values
665
+ # resp = client.delete_product({
666
+ # accept_language: "AcceptLanguage",
667
+ # id: "Id", # required
668
+ # })
669
+ # @overload delete_product(params = {})
670
+ # @param [Hash] params ({})
671
+ def delete_product(params = {}, options = {})
672
+ req = build_request(:delete_product, params)
673
+ req.send_request(options)
674
+ end
675
+
676
+ # Deletes the specified provisioning artifact. This operation will not
677
+ # work on a provisioning artifact associated with a product that has
678
+ # been shared with you, or on the last provisioning artifact associated
679
+ # with a product (a product must have at least one provisioning
680
+ # artifact).
681
+ # @option params [String] :accept_language
682
+ # The language code to use for this operation. Supported language codes
683
+ # are as follows:
684
+ #
685
+ # "en" (English)
686
+ #
687
+ # "jp" (Japanese)
688
+ #
689
+ # "zh" (Chinese)
690
+ #
691
+ # If no code is specified, "en" is used as the default.
692
+ # @option params [required, String] :product_id
693
+ # The product identifier.
694
+ # @option params [required, String] :provisioning_artifact_id
695
+ # The identifier of the provisioning artifact for the delete request.
696
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
697
+ #
698
+ # @example Request syntax with placeholder values
699
+ # resp = client.delete_provisioning_artifact({
700
+ # accept_language: "AcceptLanguage",
701
+ # product_id: "Id", # required
702
+ # provisioning_artifact_id: "Id", # required
703
+ # })
704
+ # @overload delete_provisioning_artifact(params = {})
705
+ # @param [Hash] params ({})
706
+ def delete_provisioning_artifact(params = {}, options = {})
707
+ req = build_request(:delete_provisioning_artifact, params)
708
+ req.send_request(options)
709
+ end
710
+
711
+ # Retrieves detailed information for a specified constraint.
712
+ # @option params [String] :accept_language
713
+ # The language code to use for this operation. Supported language codes
714
+ # are as follows:
715
+ #
716
+ # "en" (English)
717
+ #
718
+ # "jp" (Japanese)
719
+ #
720
+ # "zh" (Chinese)
721
+ #
722
+ # If no code is specified, "en" is used as the default.
723
+ # @option params [required, String] :id
724
+ # The identifier of the constraint.
725
+ # @return [Types::DescribeConstraintOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
726
+ #
727
+ # * {Types::DescribeConstraintOutput#constraint_detail #ConstraintDetail} => Types::ConstraintDetail
728
+ # * {Types::DescribeConstraintOutput#constraint_parameters #ConstraintParameters} => String
729
+ # * {Types::DescribeConstraintOutput#status #Status} => String
730
+ #
731
+ # @example Request syntax with placeholder values
732
+ # resp = client.describe_constraint({
733
+ # accept_language: "AcceptLanguage",
734
+ # id: "Id", # required
735
+ # })
736
+ #
737
+ # @example Response structure
738
+ # resp.constraint_detail.constraint_id #=> String
739
+ # resp.constraint_detail.type #=> String
740
+ # resp.constraint_detail.description #=> String
741
+ # resp.constraint_detail.owner #=> String
742
+ # resp.constraint_parameters #=> String
743
+ # resp.status #=> String, one of "AVAILABLE", "CREATING", "FAILED"
744
+ # @overload describe_constraint(params = {})
745
+ # @param [Hash] params ({})
746
+ def describe_constraint(params = {}, options = {})
747
+ req = build_request(:describe_constraint, params)
748
+ req.send_request(options)
749
+ end
750
+
751
+ # Retrieves detailed information and any tags associated with the
752
+ # specified portfolio.
753
+ # @option params [String] :accept_language
754
+ # The language code to use for this operation. Supported language codes
755
+ # are as follows:
756
+ #
757
+ # "en" (English)
758
+ #
759
+ # "jp" (Japanese)
760
+ #
761
+ # "zh" (Chinese)
762
+ #
763
+ # If no code is specified, "en" is used as the default.
764
+ # @option params [required, String] :id
765
+ # The identifier of the portfolio for which to retrieve information.
766
+ # @return [Types::DescribePortfolioOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
767
+ #
768
+ # * {Types::DescribePortfolioOutput#portfolio_detail #PortfolioDetail} => Types::PortfolioDetail
769
+ # * {Types::DescribePortfolioOutput#tags #Tags} => Array&lt;Types::Tag&gt;
770
+ #
771
+ # @example Request syntax with placeholder values
772
+ # resp = client.describe_portfolio({
773
+ # accept_language: "AcceptLanguage",
774
+ # id: "Id", # required
775
+ # })
776
+ #
777
+ # @example Response structure
778
+ # resp.portfolio_detail.id #=> String
779
+ # resp.portfolio_detail.arn #=> String
780
+ # resp.portfolio_detail.display_name #=> String
781
+ # resp.portfolio_detail.description #=> String
782
+ # resp.portfolio_detail.created_time #=> Time
783
+ # resp.portfolio_detail.provider_name #=> String
784
+ # resp.tags #=> Array
785
+ # resp.tags[0].key #=> String
786
+ # resp.tags[0].value #=> String
787
+ # @overload describe_portfolio(params = {})
788
+ # @param [Hash] params ({})
789
+ def describe_portfolio(params = {}, options = {})
790
+ req = build_request(:describe_portfolio, params)
791
+ req.send_request(options)
792
+ end
793
+
794
+ # Retrieves information about a specified product.
795
+ #
796
+ # This operation is functionally identical to DescribeProductView except
797
+ # that it takes as input `ProductId` instead of `ProductViewId`.
798
+ # @option params [String] :accept_language
799
+ # The language code to use for this operation. Supported language codes
800
+ # are as follows:
801
+ #
802
+ # "en" (English)
803
+ #
804
+ # "jp" (Japanese)
805
+ #
806
+ # "zh" (Chinese)
807
+ #
808
+ # If no code is specified, "en" is used as the default.
809
+ # @option params [required, String] :id
810
+ # The `ProductId` of the product to describe.
811
+ # @return [Types::DescribeProductOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
812
+ #
813
+ # * {Types::DescribeProductOutput#product_view_summary #ProductViewSummary} => Types::ProductViewSummary
814
+ # * {Types::DescribeProductOutput#provisioning_artifacts #ProvisioningArtifacts} => Array&lt;Types::ProvisioningArtifact&gt;
815
+ #
816
+ # @example Request syntax with placeholder values
817
+ # resp = client.describe_product({
818
+ # accept_language: "AcceptLanguage",
819
+ # id: "Id", # required
820
+ # })
821
+ #
822
+ # @example Response structure
823
+ # resp.product_view_summary.id #=> String
824
+ # resp.product_view_summary.product_id #=> String
825
+ # resp.product_view_summary.name #=> String
826
+ # resp.product_view_summary.owner #=> String
827
+ # resp.product_view_summary.short_description #=> String
828
+ # resp.product_view_summary.type #=> String, one of "CLOUD_FORMATION_TEMPLATE"
829
+ # resp.product_view_summary.distributor #=> String
830
+ # resp.product_view_summary.has_default_path #=> Boolean
831
+ # resp.product_view_summary.support_email #=> String
832
+ # resp.product_view_summary.support_description #=> String
833
+ # resp.product_view_summary.support_url #=> String
834
+ # resp.provisioning_artifacts #=> Array
835
+ # resp.provisioning_artifacts[0].id #=> String
836
+ # resp.provisioning_artifacts[0].name #=> String
837
+ # resp.provisioning_artifacts[0].description #=> String
838
+ # resp.provisioning_artifacts[0].created_time #=> Time
839
+ # @overload describe_product(params = {})
840
+ # @param [Hash] params ({})
841
+ def describe_product(params = {}, options = {})
842
+ req = build_request(:describe_product, params)
843
+ req.send_request(options)
844
+ end
845
+
846
+ # Retrieves information about a specified product, run with
847
+ # administrator access.
848
+ # @option params [String] :accept_language
849
+ # The language code to use for this operation. Supported language codes
850
+ # are as follows:
851
+ #
852
+ # "en" (English)
853
+ #
854
+ # "jp" (Japanese)
855
+ #
856
+ # "zh" (Chinese)
857
+ #
858
+ # If no code is specified, "en" is used as the default.
859
+ # @option params [required, String] :id
860
+ # The identifier of the product for which to retrieve information.
861
+ # @return [Types::DescribeProductAsAdminOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
862
+ #
863
+ # * {Types::DescribeProductAsAdminOutput#product_view_detail #ProductViewDetail} => Types::ProductViewDetail
864
+ # * {Types::DescribeProductAsAdminOutput#tags #Tags} => Array&lt;Types::Tag&gt;
865
+ #
866
+ # @example Request syntax with placeholder values
867
+ # resp = client.describe_product_as_admin({
868
+ # accept_language: "AcceptLanguage",
869
+ # id: "Id", # required
870
+ # })
871
+ #
872
+ # @example Response structure
873
+ # resp.product_view_detail.product_view_summary.id #=> String
874
+ # resp.product_view_detail.product_view_summary.product_id #=> String
875
+ # resp.product_view_detail.product_view_summary.name #=> String
876
+ # resp.product_view_detail.product_view_summary.owner #=> String
877
+ # resp.product_view_detail.product_view_summary.short_description #=> String
878
+ # resp.product_view_detail.product_view_summary.type #=> String, one of "CLOUD_FORMATION_TEMPLATE"
879
+ # resp.product_view_detail.product_view_summary.distributor #=> String
880
+ # resp.product_view_detail.product_view_summary.has_default_path #=> Boolean
881
+ # resp.product_view_detail.product_view_summary.support_email #=> String
882
+ # resp.product_view_detail.product_view_summary.support_description #=> String
883
+ # resp.product_view_detail.product_view_summary.support_url #=> String
884
+ # resp.product_view_detail.status #=> String, one of "AVAILABLE", "CREATING", "FAILED"
885
+ # resp.product_view_detail.product_arn #=> String
886
+ # resp.product_view_detail.created_time #=> Time
887
+ # resp.tags #=> Array
888
+ # resp.tags[0].key #=> String
889
+ # resp.tags[0].value #=> String
890
+ # @overload describe_product_as_admin(params = {})
891
+ # @param [Hash] params ({})
892
+ def describe_product_as_admin(params = {}, options = {})
893
+ req = build_request(:describe_product_as_admin, params)
894
+ req.send_request(options)
895
+ end
896
+
897
+ # Retrieves information about a specified product.
898
+ #
899
+ # This operation is functionally identical to DescribeProduct except
900
+ # that it takes as input `ProductViewId` instead of `ProductId`.
901
+ # @option params [String] :accept_language
902
+ # The language code to use for this operation. Supported language codes
903
+ # are as follows:
904
+ #
905
+ # "en" (English)
906
+ #
907
+ # "jp" (Japanese)
908
+ #
909
+ # "zh" (Chinese)
910
+ #
911
+ # If no code is specified, "en" is used as the default.
912
+ # @option params [required, String] :id
913
+ # The `ProductViewId` of the product to describe.
914
+ # @return [Types::DescribeProductViewOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
915
+ #
916
+ # * {Types::DescribeProductViewOutput#product_view_summary #ProductViewSummary} => Types::ProductViewSummary
917
+ # * {Types::DescribeProductViewOutput#provisioning_artifacts #ProvisioningArtifacts} => Array&lt;Types::ProvisioningArtifact&gt;
918
+ #
919
+ # @example Request syntax with placeholder values
920
+ # resp = client.describe_product_view({
921
+ # accept_language: "AcceptLanguage",
922
+ # id: "Id", # required
923
+ # })
924
+ #
925
+ # @example Response structure
926
+ # resp.product_view_summary.id #=> String
927
+ # resp.product_view_summary.product_id #=> String
928
+ # resp.product_view_summary.name #=> String
929
+ # resp.product_view_summary.owner #=> String
930
+ # resp.product_view_summary.short_description #=> String
931
+ # resp.product_view_summary.type #=> String, one of "CLOUD_FORMATION_TEMPLATE"
932
+ # resp.product_view_summary.distributor #=> String
933
+ # resp.product_view_summary.has_default_path #=> Boolean
934
+ # resp.product_view_summary.support_email #=> String
935
+ # resp.product_view_summary.support_description #=> String
936
+ # resp.product_view_summary.support_url #=> String
937
+ # resp.provisioning_artifacts #=> Array
938
+ # resp.provisioning_artifacts[0].id #=> String
939
+ # resp.provisioning_artifacts[0].name #=> String
940
+ # resp.provisioning_artifacts[0].description #=> String
941
+ # resp.provisioning_artifacts[0].created_time #=> Time
942
+ # @overload describe_product_view(params = {})
943
+ # @param [Hash] params ({})
944
+ def describe_product_view(params = {}, options = {})
945
+ req = build_request(:describe_product_view, params)
946
+ req.send_request(options)
947
+ end
948
+
949
+ # Retrieves detailed information about the specified provisioning
950
+ # artifact.
951
+ # @option params [String] :accept_language
952
+ # The language code to use for this operation. Supported language codes
953
+ # are as follows:
954
+ #
955
+ # "en" (English)
956
+ #
957
+ # "jp" (Japanese)
958
+ #
959
+ # "zh" (Chinese)
960
+ #
961
+ # If no code is specified, "en" is used as the default.
962
+ # @option params [required, String] :provisioning_artifact_id
963
+ # The identifier of the provisioning artifact.
964
+ # @option params [required, String] :product_id
965
+ # The product identifier.
966
+ # @return [Types::DescribeProvisioningArtifactOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
967
+ #
968
+ # * {Types::DescribeProvisioningArtifactOutput#provisioning_artifact_detail #ProvisioningArtifactDetail} => Types::ProvisioningArtifactDetail
969
+ # * {Types::DescribeProvisioningArtifactOutput#info #Info} => Hash&lt;String,String&gt;
970
+ # * {Types::DescribeProvisioningArtifactOutput#status #Status} => String
971
+ #
972
+ # @example Request syntax with placeholder values
973
+ # resp = client.describe_provisioning_artifact({
974
+ # accept_language: "AcceptLanguage",
975
+ # provisioning_artifact_id: "Id", # required
976
+ # product_id: "Id", # required
977
+ # })
978
+ #
979
+ # @example Response structure
980
+ # resp.provisioning_artifact_detail.id #=> String
981
+ # resp.provisioning_artifact_detail.name #=> String
982
+ # resp.provisioning_artifact_detail.description #=> String
983
+ # resp.provisioning_artifact_detail.type #=> String, one of "CLOUD_FORMATION_TEMPLATE"
984
+ # resp.provisioning_artifact_detail.created_time #=> Time
985
+ # resp.info #=> Hash
986
+ # resp.info["ProvisioningArtifactInfoKey"] #=> String
987
+ # resp.status #=> String, one of "AVAILABLE", "CREATING", "FAILED"
988
+ # @overload describe_provisioning_artifact(params = {})
989
+ # @param [Hash] params ({})
990
+ def describe_provisioning_artifact(params = {}, options = {})
991
+ req = build_request(:describe_provisioning_artifact, params)
992
+ req.send_request(options)
993
+ end
994
+
995
+ # Provides information about parameters required to provision a
996
+ # specified product in a specified manner. Use this operation to obtain
997
+ # the list of `ProvisioningArtifactParameters` parameters available to
998
+ # call the ProvisionProduct operation for the specified product.
999
+ # @option params [String] :accept_language
1000
+ # The language code to use for this operation. Supported language codes
1001
+ # are as follows:
1002
+ #
1003
+ # "en" (English)
1004
+ #
1005
+ # "jp" (Japanese)
1006
+ #
1007
+ # "zh" (Chinese)
1008
+ #
1009
+ # If no code is specified, "en" is used as the default.
1010
+ # @option params [required, String] :product_id
1011
+ # The product identifier.
1012
+ # @option params [required, String] :provisioning_artifact_id
1013
+ # The provisioning artifact identifier for this product.
1014
+ # @option params [String] :path_id
1015
+ # The identifier of the path for this product's provisioning. This
1016
+ # value is optional if the product has a default path, and is required
1017
+ # if there is more than one path for the specified product.
1018
+ # @return [Types::DescribeProvisioningParametersOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1019
+ #
1020
+ # * {Types::DescribeProvisioningParametersOutput#provisioning_artifact_parameters #ProvisioningArtifactParameters} => Array&lt;Types::ProvisioningArtifactParameter&gt;
1021
+ # * {Types::DescribeProvisioningParametersOutput#constraint_summaries #ConstraintSummaries} => Array&lt;Types::ConstraintSummary&gt;
1022
+ # * {Types::DescribeProvisioningParametersOutput#usage_instructions #UsageInstructions} => Array&lt;Types::UsageInstruction&gt;
1023
+ #
1024
+ # @example Request syntax with placeholder values
1025
+ # resp = client.describe_provisioning_parameters({
1026
+ # accept_language: "AcceptLanguage",
1027
+ # product_id: "Id", # required
1028
+ # provisioning_artifact_id: "Id", # required
1029
+ # path_id: "Id",
1030
+ # })
1031
+ #
1032
+ # @example Response structure
1033
+ # resp.provisioning_artifact_parameters #=> Array
1034
+ # resp.provisioning_artifact_parameters[0].parameter_key #=> String
1035
+ # resp.provisioning_artifact_parameters[0].default_value #=> String
1036
+ # resp.provisioning_artifact_parameters[0].parameter_type #=> String
1037
+ # resp.provisioning_artifact_parameters[0].is_no_echo #=> Boolean
1038
+ # resp.provisioning_artifact_parameters[0].description #=> String
1039
+ # resp.provisioning_artifact_parameters[0].parameter_constraints.allowed_values #=> Array
1040
+ # resp.provisioning_artifact_parameters[0].parameter_constraints.allowed_values[0] #=> String
1041
+ # resp.constraint_summaries #=> Array
1042
+ # resp.constraint_summaries[0].type #=> String
1043
+ # resp.constraint_summaries[0].description #=> String
1044
+ # resp.usage_instructions #=> Array
1045
+ # resp.usage_instructions[0].type #=> String
1046
+ # resp.usage_instructions[0].value #=> String
1047
+ # @overload describe_provisioning_parameters(params = {})
1048
+ # @param [Hash] params ({})
1049
+ def describe_provisioning_parameters(params = {}, options = {})
1050
+ req = build_request(:describe_provisioning_parameters, params)
1051
+ req.send_request(options)
1052
+ end
1053
+
1054
+ # Retrieves a paginated list of the full details of a specific request.
1055
+ # Use this operation after calling a request operation
1056
+ # (ProvisionProduct, TerminateProvisionedProduct, or
1057
+ # UpdateProvisionedProduct).
1058
+ # @option params [String] :accept_language
1059
+ # The language code to use for this operation. Supported language codes
1060
+ # are as follows:
1061
+ #
1062
+ # "en" (English)
1063
+ #
1064
+ # "jp" (Japanese)
1065
+ #
1066
+ # "zh" (Chinese)
1067
+ #
1068
+ # If no code is specified, "en" is used as the default.
1069
+ # @option params [required, String] :id
1070
+ # The record identifier of the ProvisionedProduct object for which to
1071
+ # retrieve output information. This is the `RecordDetail.RecordId`
1072
+ # obtained from the request operation's response.
1073
+ # @option params [String] :page_token
1074
+ # The page token of the first page retrieved. If null, this retrieves
1075
+ # the first page of size `PageSize`.
1076
+ # @option params [Integer] :page_size
1077
+ # The maximum number of items to return in the results. If more results
1078
+ # exist than fit in the specified `PageSize`, the value of
1079
+ # `NextPageToken` in the response is non-null.
1080
+ # @return [Types::DescribeRecordOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1081
+ #
1082
+ # * {Types::DescribeRecordOutput#record_detail #RecordDetail} => Types::RecordDetail
1083
+ # * {Types::DescribeRecordOutput#record_outputs #RecordOutputs} => Array&lt;Types::RecordOutput&gt;
1084
+ # * {Types::DescribeRecordOutput#next_page_token #NextPageToken} => String
1085
+ #
1086
+ # @example Request syntax with placeholder values
1087
+ # resp = client.describe_record({
1088
+ # accept_language: "AcceptLanguage",
1089
+ # id: "Id", # required
1090
+ # page_token: "PageToken",
1091
+ # page_size: 1,
1092
+ # })
1093
+ #
1094
+ # @example Response structure
1095
+ # resp.record_detail.record_id #=> String
1096
+ # resp.record_detail.provisioned_product_name #=> String
1097
+ # resp.record_detail.status #=> String, one of "IN_PROGRESS", "SUCCEEDED", "ERROR"
1098
+ # resp.record_detail.created_time #=> Time
1099
+ # resp.record_detail.updated_time #=> Time
1100
+ # resp.record_detail.provisioned_product_type #=> String
1101
+ # resp.record_detail.record_type #=> String
1102
+ # resp.record_detail.provisioned_product_id #=> String
1103
+ # resp.record_detail.product_id #=> String
1104
+ # resp.record_detail.provisioning_artifact_id #=> String
1105
+ # resp.record_detail.path_id #=> String
1106
+ # resp.record_detail.record_errors #=> Array
1107
+ # resp.record_detail.record_errors[0].code #=> String
1108
+ # resp.record_detail.record_errors[0].description #=> String
1109
+ # resp.record_detail.record_tags #=> Array
1110
+ # resp.record_detail.record_tags[0].key #=> String
1111
+ # resp.record_detail.record_tags[0].value #=> String
1112
+ # resp.record_outputs #=> Array
1113
+ # resp.record_outputs[0].output_key #=> String
1114
+ # resp.record_outputs[0].output_value #=> String
1115
+ # resp.record_outputs[0].description #=> String
1116
+ # resp.next_page_token #=> String
1117
+ # @overload describe_record(params = {})
1118
+ # @param [Hash] params ({})
1119
+ def describe_record(params = {}, options = {})
1120
+ req = build_request(:describe_record, params)
1121
+ req.send_request(options)
1122
+ end
1123
+
1124
+ # Disassociates a previously associated principal ARN from a specified
1125
+ # portfolio.
1126
+ # @option params [String] :accept_language
1127
+ # The language code to use for this operation. Supported language codes
1128
+ # are as follows:
1129
+ #
1130
+ # "en" (English)
1131
+ #
1132
+ # "jp" (Japanese)
1133
+ #
1134
+ # "zh" (Chinese)
1135
+ #
1136
+ # If no code is specified, "en" is used as the default.
1137
+ # @option params [required, String] :portfolio_id
1138
+ # The portfolio identifier.
1139
+ # @option params [required, String] :principal_arn
1140
+ # The ARN representing the principal (IAM user, role, or group).
1141
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
1142
+ #
1143
+ # @example Request syntax with placeholder values
1144
+ # resp = client.disassociate_principal_from_portfolio({
1145
+ # accept_language: "AcceptLanguage",
1146
+ # portfolio_id: "Id", # required
1147
+ # principal_arn: "PrincipalARN", # required
1148
+ # })
1149
+ # @overload disassociate_principal_from_portfolio(params = {})
1150
+ # @param [Hash] params ({})
1151
+ def disassociate_principal_from_portfolio(params = {}, options = {})
1152
+ req = build_request(:disassociate_principal_from_portfolio, params)
1153
+ req.send_request(options)
1154
+ end
1155
+
1156
+ # Disassociates the specified product from the specified portfolio.
1157
+ # @option params [String] :accept_language
1158
+ # The language code to use for this operation. Supported language codes
1159
+ # are as follows:
1160
+ #
1161
+ # "en" (English)
1162
+ #
1163
+ # "jp" (Japanese)
1164
+ #
1165
+ # "zh" (Chinese)
1166
+ #
1167
+ # If no code is specified, "en" is used as the default.
1168
+ # @option params [required, String] :product_id
1169
+ # The product identifier.
1170
+ # @option params [required, String] :portfolio_id
1171
+ # The portfolio identifier.
1172
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
1173
+ #
1174
+ # @example Request syntax with placeholder values
1175
+ # resp = client.disassociate_product_from_portfolio({
1176
+ # accept_language: "AcceptLanguage",
1177
+ # product_id: "Id", # required
1178
+ # portfolio_id: "Id", # required
1179
+ # })
1180
+ # @overload disassociate_product_from_portfolio(params = {})
1181
+ # @param [Hash] params ({})
1182
+ def disassociate_product_from_portfolio(params = {}, options = {})
1183
+ req = build_request(:disassociate_product_from_portfolio, params)
1184
+ req.send_request(options)
1185
+ end
1186
+
1187
+ # Lists details of all portfolios for which sharing was accepted by this
1188
+ # account.
1189
+ # @option params [String] :accept_language
1190
+ # The language code to use for this operation. Supported language codes
1191
+ # are as follows:
1192
+ #
1193
+ # "en" (English)
1194
+ #
1195
+ # "jp" (Japanese)
1196
+ #
1197
+ # "zh" (Chinese)
1198
+ #
1199
+ # If no code is specified, "en" is used as the default.
1200
+ # @option params [String] :page_token
1201
+ # The page token of the first page retrieved. If null, this retrieves
1202
+ # the first page of size `PageSize`.
1203
+ # @option params [Integer] :page_size
1204
+ # The maximum number of items to return in the results. If more results
1205
+ # exist than fit in the specified `PageSize`, the value of
1206
+ # `NextPageToken` in the response is non-null.
1207
+ # @return [Types::ListAcceptedPortfolioSharesOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1208
+ #
1209
+ # * {Types::ListAcceptedPortfolioSharesOutput#portfolio_details #PortfolioDetails} => Array&lt;Types::PortfolioDetail&gt;
1210
+ # * {Types::ListAcceptedPortfolioSharesOutput#next_page_token #NextPageToken} => String
1211
+ #
1212
+ # @example Request syntax with placeholder values
1213
+ # resp = client.list_accepted_portfolio_shares({
1214
+ # accept_language: "AcceptLanguage",
1215
+ # page_token: "PageToken",
1216
+ # page_size: 1,
1217
+ # })
1218
+ #
1219
+ # @example Response structure
1220
+ # resp.portfolio_details #=> Array
1221
+ # resp.portfolio_details[0].id #=> String
1222
+ # resp.portfolio_details[0].arn #=> String
1223
+ # resp.portfolio_details[0].display_name #=> String
1224
+ # resp.portfolio_details[0].description #=> String
1225
+ # resp.portfolio_details[0].created_time #=> Time
1226
+ # resp.portfolio_details[0].provider_name #=> String
1227
+ # resp.next_page_token #=> String
1228
+ # @overload list_accepted_portfolio_shares(params = {})
1229
+ # @param [Hash] params ({})
1230
+ def list_accepted_portfolio_shares(params = {}, options = {})
1231
+ req = build_request(:list_accepted_portfolio_shares, params)
1232
+ req.send_request(options)
1233
+ end
1234
+
1235
+ # Retrieves detailed constraint information for the specified portfolio
1236
+ # and product.
1237
+ # @option params [String] :accept_language
1238
+ # The language code to use for this operation. Supported language codes
1239
+ # are as follows:
1240
+ #
1241
+ # "en" (English)
1242
+ #
1243
+ # "jp" (Japanese)
1244
+ #
1245
+ # "zh" (Chinese)
1246
+ #
1247
+ # If no code is specified, "en" is used as the default.
1248
+ # @option params [required, String] :portfolio_id
1249
+ # The portfolio identifier.
1250
+ # @option params [String] :product_id
1251
+ # The product identifier.
1252
+ # @option params [Integer] :page_size
1253
+ # The maximum number of items to return in the results. If more results
1254
+ # exist than fit in the specified `PageSize`, the value of
1255
+ # `NextPageToken` in the response is non-null.
1256
+ # @option params [String] :page_token
1257
+ # The page token of the first page retrieved. If null, this retrieves
1258
+ # the first page of size `PageSize`.
1259
+ # @return [Types::ListConstraintsForPortfolioOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1260
+ #
1261
+ # * {Types::ListConstraintsForPortfolioOutput#constraint_details #ConstraintDetails} => Array&lt;Types::ConstraintDetail&gt;
1262
+ # * {Types::ListConstraintsForPortfolioOutput#next_page_token #NextPageToken} => String
1263
+ #
1264
+ # @example Request syntax with placeholder values
1265
+ # resp = client.list_constraints_for_portfolio({
1266
+ # accept_language: "AcceptLanguage",
1267
+ # portfolio_id: "Id", # required
1268
+ # product_id: "Id",
1269
+ # page_size: 1,
1270
+ # page_token: "PageToken",
1271
+ # })
1272
+ #
1273
+ # @example Response structure
1274
+ # resp.constraint_details #=> Array
1275
+ # resp.constraint_details[0].constraint_id #=> String
1276
+ # resp.constraint_details[0].type #=> String
1277
+ # resp.constraint_details[0].description #=> String
1278
+ # resp.constraint_details[0].owner #=> String
1279
+ # resp.next_page_token #=> String
1280
+ # @overload list_constraints_for_portfolio(params = {})
1281
+ # @param [Hash] params ({})
1282
+ def list_constraints_for_portfolio(params = {}, options = {})
1283
+ req = build_request(:list_constraints_for_portfolio, params)
1284
+ req.send_request(options)
1285
+ end
1286
+
1287
+ # Returns a paginated list of all paths to a specified product. A path
1288
+ # is how the user has access to a specified product, and is necessary
1289
+ # when provisioning a product. A path also determines the constraints
1290
+ # put on the product.
1291
+ # @option params [String] :accept_language
1292
+ # The language code to use for this operation. Supported language codes
1293
+ # are as follows:
1294
+ #
1295
+ # "en" (English)
1296
+ #
1297
+ # "jp" (Japanese)
1298
+ #
1299
+ # "zh" (Chinese)
1300
+ #
1301
+ # If no code is specified, "en" is used as the default.
1302
+ # @option params [required, String] :product_id
1303
+ # The product identifier.. Identifies the product for which to retrieve
1304
+ # `LaunchPathSummaries` information.
1305
+ # @option params [Integer] :page_size
1306
+ # The maximum number of items to return in the results. If more results
1307
+ # exist than fit in the specified `PageSize`, the value of
1308
+ # `NextPageToken` in the response is non-null.
1309
+ # @option params [String] :page_token
1310
+ # The page token of the first page retrieved. If null, this retrieves
1311
+ # the first page of size `PageSize`.
1312
+ # @return [Types::ListLaunchPathsOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1313
+ #
1314
+ # * {Types::ListLaunchPathsOutput#launch_path_summaries #LaunchPathSummaries} => Array&lt;Types::LaunchPathSummary&gt;
1315
+ # * {Types::ListLaunchPathsOutput#next_page_token #NextPageToken} => String
1316
+ #
1317
+ # @example Request syntax with placeholder values
1318
+ # resp = client.list_launch_paths({
1319
+ # accept_language: "AcceptLanguage",
1320
+ # product_id: "Id", # required
1321
+ # page_size: 1,
1322
+ # page_token: "PageToken",
1323
+ # })
1324
+ #
1325
+ # @example Response structure
1326
+ # resp.launch_path_summaries #=> Array
1327
+ # resp.launch_path_summaries[0].id #=> String
1328
+ # resp.launch_path_summaries[0].constraint_summaries #=> Array
1329
+ # resp.launch_path_summaries[0].constraint_summaries[0].type #=> String
1330
+ # resp.launch_path_summaries[0].constraint_summaries[0].description #=> String
1331
+ # resp.launch_path_summaries[0].tags #=> Array
1332
+ # resp.launch_path_summaries[0].tags[0].key #=> String
1333
+ # resp.launch_path_summaries[0].tags[0].value #=> String
1334
+ # resp.launch_path_summaries[0].name #=> String
1335
+ # resp.next_page_token #=> String
1336
+ # @overload list_launch_paths(params = {})
1337
+ # @param [Hash] params ({})
1338
+ def list_launch_paths(params = {}, options = {})
1339
+ req = build_request(:list_launch_paths, params)
1340
+ req.send_request(options)
1341
+ end
1342
+
1343
+ # Lists the account IDs that have been authorized sharing of the
1344
+ # specified portfolio.
1345
+ # @option params [String] :accept_language
1346
+ # The language code to use for this operation. Supported language codes
1347
+ # are as follows:
1348
+ #
1349
+ # "en" (English)
1350
+ #
1351
+ # "jp" (Japanese)
1352
+ #
1353
+ # "zh" (Chinese)
1354
+ #
1355
+ # If no code is specified, "en" is used as the default.
1356
+ # @option params [required, String] :portfolio_id
1357
+ # The portfolio identifier.
1358
+ # @return [Types::ListPortfolioAccessOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1359
+ #
1360
+ # * {Types::ListPortfolioAccessOutput#account_ids #AccountIds} => Array&lt;String&gt;
1361
+ # * {Types::ListPortfolioAccessOutput#next_page_token #NextPageToken} => String
1362
+ #
1363
+ # @example Request syntax with placeholder values
1364
+ # resp = client.list_portfolio_access({
1365
+ # accept_language: "AcceptLanguage",
1366
+ # portfolio_id: "Id", # required
1367
+ # })
1368
+ #
1369
+ # @example Response structure
1370
+ # resp.account_ids #=> Array
1371
+ # resp.account_ids[0] #=> String
1372
+ # resp.next_page_token #=> String
1373
+ # @overload list_portfolio_access(params = {})
1374
+ # @param [Hash] params ({})
1375
+ def list_portfolio_access(params = {}, options = {})
1376
+ req = build_request(:list_portfolio_access, params)
1377
+ req.send_request(options)
1378
+ end
1379
+
1380
+ # Lists all portfolios in the catalog.
1381
+ # @option params [String] :accept_language
1382
+ # The language code to use for this operation. Supported language codes
1383
+ # are as follows:
1384
+ #
1385
+ # "en" (English)
1386
+ #
1387
+ # "jp" (Japanese)
1388
+ #
1389
+ # "zh" (Chinese)
1390
+ #
1391
+ # If no code is specified, "en" is used as the default.
1392
+ # @option params [String] :page_token
1393
+ # The page token of the first page retrieved. If null, this retrieves
1394
+ # the first page of size `PageSize`.
1395
+ # @option params [Integer] :page_size
1396
+ # The maximum number of items to return in the results. If more results
1397
+ # exist than fit in the specified `PageSize`, the value of
1398
+ # `NextPageToken` in the response is non-null.
1399
+ # @return [Types::ListPortfoliosOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1400
+ #
1401
+ # * {Types::ListPortfoliosOutput#portfolio_details #PortfolioDetails} => Array&lt;Types::PortfolioDetail&gt;
1402
+ # * {Types::ListPortfoliosOutput#next_page_token #NextPageToken} => String
1403
+ #
1404
+ # @example Request syntax with placeholder values
1405
+ # resp = client.list_portfolios({
1406
+ # accept_language: "AcceptLanguage",
1407
+ # page_token: "PageToken",
1408
+ # page_size: 1,
1409
+ # })
1410
+ #
1411
+ # @example Response structure
1412
+ # resp.portfolio_details #=> Array
1413
+ # resp.portfolio_details[0].id #=> String
1414
+ # resp.portfolio_details[0].arn #=> String
1415
+ # resp.portfolio_details[0].display_name #=> String
1416
+ # resp.portfolio_details[0].description #=> String
1417
+ # resp.portfolio_details[0].created_time #=> Time
1418
+ # resp.portfolio_details[0].provider_name #=> String
1419
+ # resp.next_page_token #=> String
1420
+ # @overload list_portfolios(params = {})
1421
+ # @param [Hash] params ({})
1422
+ def list_portfolios(params = {}, options = {})
1423
+ req = build_request(:list_portfolios, params)
1424
+ req.send_request(options)
1425
+ end
1426
+
1427
+ # Lists all portfolios that the specified product is associated with.
1428
+ # @option params [String] :accept_language
1429
+ # The language code to use for this operation. Supported language codes
1430
+ # are as follows:
1431
+ #
1432
+ # "en" (English)
1433
+ #
1434
+ # "jp" (Japanese)
1435
+ #
1436
+ # "zh" (Chinese)
1437
+ #
1438
+ # If no code is specified, "en" is used as the default.
1439
+ # @option params [required, String] :product_id
1440
+ # The product identifier.
1441
+ # @option params [String] :page_token
1442
+ # The page token of the first page retrieved. If null, this retrieves
1443
+ # the first page of size `PageSize`.
1444
+ # @option params [Integer] :page_size
1445
+ # The maximum number of items to return in the results. If more results
1446
+ # exist than fit in the specified `PageSize`, the value of
1447
+ # `NextPageToken` in the response is non-null.
1448
+ # @return [Types::ListPortfoliosForProductOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1449
+ #
1450
+ # * {Types::ListPortfoliosForProductOutput#portfolio_details #PortfolioDetails} => Array&lt;Types::PortfolioDetail&gt;
1451
+ # * {Types::ListPortfoliosForProductOutput#next_page_token #NextPageToken} => String
1452
+ #
1453
+ # @example Request syntax with placeholder values
1454
+ # resp = client.list_portfolios_for_product({
1455
+ # accept_language: "AcceptLanguage",
1456
+ # product_id: "Id", # required
1457
+ # page_token: "PageToken",
1458
+ # page_size: 1,
1459
+ # })
1460
+ #
1461
+ # @example Response structure
1462
+ # resp.portfolio_details #=> Array
1463
+ # resp.portfolio_details[0].id #=> String
1464
+ # resp.portfolio_details[0].arn #=> String
1465
+ # resp.portfolio_details[0].display_name #=> String
1466
+ # resp.portfolio_details[0].description #=> String
1467
+ # resp.portfolio_details[0].created_time #=> Time
1468
+ # resp.portfolio_details[0].provider_name #=> String
1469
+ # resp.next_page_token #=> String
1470
+ # @overload list_portfolios_for_product(params = {})
1471
+ # @param [Hash] params ({})
1472
+ def list_portfolios_for_product(params = {}, options = {})
1473
+ req = build_request(:list_portfolios_for_product, params)
1474
+ req.send_request(options)
1475
+ end
1476
+
1477
+ # Lists all principal ARNs associated with the specified portfolio.
1478
+ # @option params [String] :accept_language
1479
+ # The language code to use for this operation. Supported language codes
1480
+ # are as follows:
1481
+ #
1482
+ # "en" (English)
1483
+ #
1484
+ # "jp" (Japanese)
1485
+ #
1486
+ # "zh" (Chinese)
1487
+ #
1488
+ # If no code is specified, "en" is used as the default.
1489
+ # @option params [required, String] :portfolio_id
1490
+ # The portfolio identifier.
1491
+ # @option params [Integer] :page_size
1492
+ # The maximum number of items to return in the results. If more results
1493
+ # exist than fit in the specified `PageSize`, the value of
1494
+ # `NextPageToken` in the response is non-null.
1495
+ # @option params [String] :page_token
1496
+ # The page token of the first page retrieved. If null, this retrieves
1497
+ # the first page of size `PageSize`.
1498
+ # @return [Types::ListPrincipalsForPortfolioOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1499
+ #
1500
+ # * {Types::ListPrincipalsForPortfolioOutput#principals #Principals} => Array&lt;Types::Principal&gt;
1501
+ # * {Types::ListPrincipalsForPortfolioOutput#next_page_token #NextPageToken} => String
1502
+ #
1503
+ # @example Request syntax with placeholder values
1504
+ # resp = client.list_principals_for_portfolio({
1505
+ # accept_language: "AcceptLanguage",
1506
+ # portfolio_id: "Id", # required
1507
+ # page_size: 1,
1508
+ # page_token: "PageToken",
1509
+ # })
1510
+ #
1511
+ # @example Response structure
1512
+ # resp.principals #=> Array
1513
+ # resp.principals[0].principal_arn #=> String
1514
+ # resp.principals[0].principal_type #=> String, one of "IAM"
1515
+ # resp.next_page_token #=> String
1516
+ # @overload list_principals_for_portfolio(params = {})
1517
+ # @param [Hash] params ({})
1518
+ def list_principals_for_portfolio(params = {}, options = {})
1519
+ req = build_request(:list_principals_for_portfolio, params)
1520
+ req.send_request(options)
1521
+ end
1522
+
1523
+ # Lists all provisioning artifacts associated with the specified
1524
+ # product.
1525
+ # @option params [String] :accept_language
1526
+ # The language code to use for this operation. Supported language codes
1527
+ # are as follows:
1528
+ #
1529
+ # "en" (English)
1530
+ #
1531
+ # "jp" (Japanese)
1532
+ #
1533
+ # "zh" (Chinese)
1534
+ #
1535
+ # If no code is specified, "en" is used as the default.
1536
+ # @option params [required, String] :product_id
1537
+ # The product identifier.
1538
+ # @return [Types::ListProvisioningArtifactsOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1539
+ #
1540
+ # * {Types::ListProvisioningArtifactsOutput#provisioning_artifact_details #ProvisioningArtifactDetails} => Array&lt;Types::ProvisioningArtifactDetail&gt;
1541
+ # * {Types::ListProvisioningArtifactsOutput#next_page_token #NextPageToken} => String
1542
+ #
1543
+ # @example Request syntax with placeholder values
1544
+ # resp = client.list_provisioning_artifacts({
1545
+ # accept_language: "AcceptLanguage",
1546
+ # product_id: "Id", # required
1547
+ # })
1548
+ #
1549
+ # @example Response structure
1550
+ # resp.provisioning_artifact_details #=> Array
1551
+ # resp.provisioning_artifact_details[0].id #=> String
1552
+ # resp.provisioning_artifact_details[0].name #=> String
1553
+ # resp.provisioning_artifact_details[0].description #=> String
1554
+ # resp.provisioning_artifact_details[0].type #=> String, one of "CLOUD_FORMATION_TEMPLATE"
1555
+ # resp.provisioning_artifact_details[0].created_time #=> Time
1556
+ # resp.next_page_token #=> String
1557
+ # @overload list_provisioning_artifacts(params = {})
1558
+ # @param [Hash] params ({})
1559
+ def list_provisioning_artifacts(params = {}, options = {})
1560
+ req = build_request(:list_provisioning_artifacts, params)
1561
+ req.send_request(options)
1562
+ end
1563
+
1564
+ # Returns a paginated list of all performed requests, in the form of
1565
+ # RecordDetails objects that are filtered as specified.
1566
+ # @option params [String] :accept_language
1567
+ # The language code to use for this operation. Supported language codes
1568
+ # are as follows:
1569
+ #
1570
+ # "en" (English)
1571
+ #
1572
+ # "jp" (Japanese)
1573
+ #
1574
+ # "zh" (Chinese)
1575
+ #
1576
+ # If no code is specified, "en" is used as the default.
1577
+ # @option params [Types::AccessLevelFilter] :access_level_filter
1578
+ # The access level for obtaining results. If left unspecified, `User`
1579
+ # level access is used.
1580
+ # @option params [Types::ListRecordHistorySearchFilter] :search_filter
1581
+ # The filter to limit search results.
1582
+ # @option params [Integer] :page_size
1583
+ # The maximum number of items to return in the results. If more results
1584
+ # exist than fit in the specified `PageSize`, the value of
1585
+ # `NextPageToken` in the response is non-null.
1586
+ # @option params [String] :page_token
1587
+ # The page token of the first page retrieved. If null, this retrieves
1588
+ # the first page of size `PageSize`.
1589
+ # @return [Types::ListRecordHistoryOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1590
+ #
1591
+ # * {Types::ListRecordHistoryOutput#record_details #RecordDetails} => Array&lt;Types::RecordDetail&gt;
1592
+ # * {Types::ListRecordHistoryOutput#next_page_token #NextPageToken} => String
1593
+ #
1594
+ # @example Request syntax with placeholder values
1595
+ # resp = client.list_record_history({
1596
+ # accept_language: "AcceptLanguage",
1597
+ # access_level_filter: {
1598
+ # key: "Account", # accepts Account, Role, User
1599
+ # value: "AccessLevelFilterValue",
1600
+ # },
1601
+ # search_filter: {
1602
+ # key: "SearchFilterKey",
1603
+ # value: "SearchFilterValue",
1604
+ # },
1605
+ # page_size: 1,
1606
+ # page_token: "PageToken",
1607
+ # })
1608
+ #
1609
+ # @example Response structure
1610
+ # resp.record_details #=> Array
1611
+ # resp.record_details[0].record_id #=> String
1612
+ # resp.record_details[0].provisioned_product_name #=> String
1613
+ # resp.record_details[0].status #=> String, one of "IN_PROGRESS", "SUCCEEDED", "ERROR"
1614
+ # resp.record_details[0].created_time #=> Time
1615
+ # resp.record_details[0].updated_time #=> Time
1616
+ # resp.record_details[0].provisioned_product_type #=> String
1617
+ # resp.record_details[0].record_type #=> String
1618
+ # resp.record_details[0].provisioned_product_id #=> String
1619
+ # resp.record_details[0].product_id #=> String
1620
+ # resp.record_details[0].provisioning_artifact_id #=> String
1621
+ # resp.record_details[0].path_id #=> String
1622
+ # resp.record_details[0].record_errors #=> Array
1623
+ # resp.record_details[0].record_errors[0].code #=> String
1624
+ # resp.record_details[0].record_errors[0].description #=> String
1625
+ # resp.record_details[0].record_tags #=> Array
1626
+ # resp.record_details[0].record_tags[0].key #=> String
1627
+ # resp.record_details[0].record_tags[0].value #=> String
1628
+ # resp.next_page_token #=> String
1629
+ # @overload list_record_history(params = {})
1630
+ # @param [Hash] params ({})
1631
+ def list_record_history(params = {}, options = {})
1632
+ req = build_request(:list_record_history, params)
1633
+ req.send_request(options)
1634
+ end
1635
+
1636
+ # Requests a *Provision* of a specified product. A *ProvisionedProduct*
1637
+ # is a resourced instance for a product. For example, provisioning a
1638
+ # CloudFormation-template-backed product results in launching a
1639
+ # CloudFormation stack and all the underlying resources that come with
1640
+ # it.
1641
+ #
1642
+ # You can check the status of this request using the DescribeRecord
1643
+ # operation.
1644
+ # @option params [String] :accept_language
1645
+ # The language code to use for this operation. Supported language codes
1646
+ # are as follows:
1647
+ #
1648
+ # "en" (English)
1649
+ #
1650
+ # "jp" (Japanese)
1651
+ #
1652
+ # "zh" (Chinese)
1653
+ #
1654
+ # If no code is specified, "en" is used as the default.
1655
+ # @option params [required, String] :product_id
1656
+ # The product identifier.
1657
+ # @option params [required, String] :provisioning_artifact_id
1658
+ # The provisioning artifact identifier for this product.
1659
+ # @option params [String] :path_id
1660
+ # The identifier of the path for this product's provisioning. This
1661
+ # value is optional if the product has a default path, and is required
1662
+ # if there is more than one path for the specified product.
1663
+ # @option params [required, String] :provisioned_product_name
1664
+ # A user-friendly name to identify the ProvisionedProduct object. This
1665
+ # value must be unique for the AWS account and cannot be updated after
1666
+ # the product is provisioned.
1667
+ # @option params [Array<Types::ProvisioningParameter>] :provisioning_parameters
1668
+ # Parameters specified by the administrator that are required for
1669
+ # provisioning the product.
1670
+ # @option params [Array<Types::Tag>] :tags
1671
+ # A list of tags to use as provisioning options.
1672
+ # @option params [Array<String>] :notification_arns
1673
+ # Passed to CloudFormation. The SNS topic ARNs to which to publish
1674
+ # stack-related events.
1675
+ # @option params [required, String] :provision_token
1676
+ # An idempotency token that uniquely identifies the provisioning
1677
+ # request.
1678
+ #
1679
+ # **A suitable default value is auto-generated.** You should
1680
+ # normally not need to pass this option.
1681
+ # @return [Types::ProvisionProductOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1682
+ #
1683
+ # * {Types::ProvisionProductOutput#record_detail #RecordDetail} => Types::RecordDetail
1684
+ #
1685
+ # @example Request syntax with placeholder values
1686
+ # resp = client.provision_product({
1687
+ # accept_language: "AcceptLanguage",
1688
+ # product_id: "Id", # required
1689
+ # provisioning_artifact_id: "Id", # required
1690
+ # path_id: "Id",
1691
+ # provisioned_product_name: "ProvisionedProductName", # required
1692
+ # provisioning_parameters: [
1693
+ # {
1694
+ # key: "ParameterKey",
1695
+ # value: "ParameterValue",
1696
+ # },
1697
+ # ],
1698
+ # tags: [
1699
+ # {
1700
+ # key: "TagKey", # required
1701
+ # value: "TagValue", # required
1702
+ # },
1703
+ # ],
1704
+ # notification_arns: ["NotificationArn"],
1705
+ # provision_token: "IdempotencyToken", # required
1706
+ # })
1707
+ #
1708
+ # @example Response structure
1709
+ # resp.record_detail.record_id #=> String
1710
+ # resp.record_detail.provisioned_product_name #=> String
1711
+ # resp.record_detail.status #=> String, one of "IN_PROGRESS", "SUCCEEDED", "ERROR"
1712
+ # resp.record_detail.created_time #=> Time
1713
+ # resp.record_detail.updated_time #=> Time
1714
+ # resp.record_detail.provisioned_product_type #=> String
1715
+ # resp.record_detail.record_type #=> String
1716
+ # resp.record_detail.provisioned_product_id #=> String
1717
+ # resp.record_detail.product_id #=> String
1718
+ # resp.record_detail.provisioning_artifact_id #=> String
1719
+ # resp.record_detail.path_id #=> String
1720
+ # resp.record_detail.record_errors #=> Array
1721
+ # resp.record_detail.record_errors[0].code #=> String
1722
+ # resp.record_detail.record_errors[0].description #=> String
1723
+ # resp.record_detail.record_tags #=> Array
1724
+ # resp.record_detail.record_tags[0].key #=> String
1725
+ # resp.record_detail.record_tags[0].value #=> String
1726
+ # @overload provision_product(params = {})
1727
+ # @param [Hash] params ({})
1728
+ def provision_product(params = {}, options = {})
1729
+ req = build_request(:provision_product, params)
1730
+ req.send_request(options)
1731
+ end
1732
+
1733
+ # Rejects an offer to share a portfolio.
1734
+ # @option params [String] :accept_language
1735
+ # The language code to use for this operation. Supported language codes
1736
+ # are as follows:
1737
+ #
1738
+ # "en" (English)
1739
+ #
1740
+ # "jp" (Japanese)
1741
+ #
1742
+ # "zh" (Chinese)
1743
+ #
1744
+ # If no code is specified, "en" is used as the default.
1745
+ # @option params [required, String] :portfolio_id
1746
+ # The portfolio identifier.
1747
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
1748
+ #
1749
+ # @example Request syntax with placeholder values
1750
+ # resp = client.reject_portfolio_share({
1751
+ # accept_language: "AcceptLanguage",
1752
+ # portfolio_id: "Id", # required
1753
+ # })
1754
+ # @overload reject_portfolio_share(params = {})
1755
+ # @param [Hash] params ({})
1756
+ def reject_portfolio_share(params = {}, options = {})
1757
+ req = build_request(:reject_portfolio_share, params)
1758
+ req.send_request(options)
1759
+ end
1760
+
1761
+ # Returns a paginated list of all the ProvisionedProduct objects that
1762
+ # are currently available (not terminated).
1763
+ # @option params [String] :accept_language
1764
+ # The language code to use for this operation. Supported language codes
1765
+ # are as follows:
1766
+ #
1767
+ # "en" (English)
1768
+ #
1769
+ # "jp" (Japanese)
1770
+ #
1771
+ # "zh" (Chinese)
1772
+ #
1773
+ # If no code is specified, "en" is used as the default.
1774
+ # @option params [Types::AccessLevelFilter] :access_level_filter
1775
+ # The access level for obtaining results. If left unspecified, `User`
1776
+ # level access is used.
1777
+ # @option params [Integer] :page_size
1778
+ # The maximum number of items to return in the results. If more results
1779
+ # exist than fit in the specified `PageSize`, the value of
1780
+ # `NextPageToken` in the response is non-null.
1781
+ # @option params [String] :page_token
1782
+ # The page token of the first page retrieved. If null, this retrieves
1783
+ # the first page of size `PageSize`.
1784
+ # @return [Types::ScanProvisionedProductsOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1785
+ #
1786
+ # * {Types::ScanProvisionedProductsOutput#provisioned_products #ProvisionedProducts} => Array&lt;Types::ProvisionedProductDetail&gt;
1787
+ # * {Types::ScanProvisionedProductsOutput#next_page_token #NextPageToken} => String
1788
+ #
1789
+ # @example Request syntax with placeholder values
1790
+ # resp = client.scan_provisioned_products({
1791
+ # accept_language: "AcceptLanguage",
1792
+ # access_level_filter: {
1793
+ # key: "Account", # accepts Account, Role, User
1794
+ # value: "AccessLevelFilterValue",
1795
+ # },
1796
+ # page_size: 1,
1797
+ # page_token: "PageToken",
1798
+ # })
1799
+ #
1800
+ # @example Response structure
1801
+ # resp.provisioned_products #=> Array
1802
+ # resp.provisioned_products[0].name #=> String
1803
+ # resp.provisioned_products[0].arn #=> String
1804
+ # resp.provisioned_products[0].type #=> String
1805
+ # resp.provisioned_products[0].id #=> String
1806
+ # resp.provisioned_products[0].status #=> String, one of "IN_PROGRESS", "SUCCEEDED", "ERROR"
1807
+ # resp.provisioned_products[0].status_message #=> String
1808
+ # resp.provisioned_products[0].created_time #=> Time
1809
+ # resp.provisioned_products[0].idempotency_token #=> String
1810
+ # resp.provisioned_products[0].last_record_id #=> String
1811
+ # resp.next_page_token #=> String
1812
+ # @overload scan_provisioned_products(params = {})
1813
+ # @param [Hash] params ({})
1814
+ def scan_provisioned_products(params = {}, options = {})
1815
+ req = build_request(:scan_provisioned_products, params)
1816
+ req.send_request(options)
1817
+ end
1818
+
1819
+ # Returns a paginated list all of the `Products` objects to which the
1820
+ # caller has access.
1821
+ #
1822
+ # The output of this operation can be used as input for other
1823
+ # operations, such as DescribeProductView.
1824
+ # @option params [String] :accept_language
1825
+ # The language code to use for this operation. Supported language codes
1826
+ # are as follows:
1827
+ #
1828
+ # "en" (English)
1829
+ #
1830
+ # "jp" (Japanese)
1831
+ #
1832
+ # "zh" (Chinese)
1833
+ #
1834
+ # If no code is specified, "en" is used as the default.
1835
+ # @option params [Hash<String,Array>] :filters
1836
+ # The list of filters with which to limit search results. If no search
1837
+ # filters are specified, the output is all the products to which the
1838
+ # calling user has access.
1839
+ # @option params [Integer] :page_size
1840
+ # The maximum number of items to return in the results. If more results
1841
+ # exist than fit in the specified `PageSize`, the value of
1842
+ # `NextPageToken` in the response is non-null.
1843
+ # @option params [String] :sort_by
1844
+ # The sort field specifier. If no value is specified, results are not
1845
+ # sorted.
1846
+ # @option params [String] :sort_order
1847
+ # The sort order specifier. If no value is specified, results are not
1848
+ # sorted.
1849
+ # @option params [String] :page_token
1850
+ # The page token of the first page retrieved. If null, this retrieves
1851
+ # the first page of size `PageSize`.
1852
+ # @return [Types::SearchProductsOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1853
+ #
1854
+ # * {Types::SearchProductsOutput#product_view_summaries #ProductViewSummaries} => Array&lt;Types::ProductViewSummary&gt;
1855
+ # * {Types::SearchProductsOutput#product_view_aggregations #ProductViewAggregations} => Hash&lt;String,Array&lt;Types::ProductViewAggregationValue&gt;&gt;
1856
+ # * {Types::SearchProductsOutput#next_page_token #NextPageToken} => String
1857
+ #
1858
+ # @example Request syntax with placeholder values
1859
+ # resp = client.search_products({
1860
+ # accept_language: "AcceptLanguage",
1861
+ # filters: {
1862
+ # "FullTextSearch" => ["ProductViewFilterValue"],
1863
+ # },
1864
+ # page_size: 1,
1865
+ # sort_by: "Title", # accepts Title, VersionCount, CreationDate
1866
+ # sort_order: "ASCENDING", # accepts ASCENDING, DESCENDING
1867
+ # page_token: "PageToken",
1868
+ # })
1869
+ #
1870
+ # @example Response structure
1871
+ # resp.product_view_summaries #=> Array
1872
+ # resp.product_view_summaries[0].id #=> String
1873
+ # resp.product_view_summaries[0].product_id #=> String
1874
+ # resp.product_view_summaries[0].name #=> String
1875
+ # resp.product_view_summaries[0].owner #=> String
1876
+ # resp.product_view_summaries[0].short_description #=> String
1877
+ # resp.product_view_summaries[0].type #=> String, one of "CLOUD_FORMATION_TEMPLATE"
1878
+ # resp.product_view_summaries[0].distributor #=> String
1879
+ # resp.product_view_summaries[0].has_default_path #=> Boolean
1880
+ # resp.product_view_summaries[0].support_email #=> String
1881
+ # resp.product_view_summaries[0].support_description #=> String
1882
+ # resp.product_view_summaries[0].support_url #=> String
1883
+ # resp.product_view_aggregations #=> Hash
1884
+ # resp.product_view_aggregations["ProductViewAggregationType"] #=> Array
1885
+ # resp.product_view_aggregations["ProductViewAggregationType"][0].value #=> <Hash,Array,String,Numeric,Boolean,IO,Set,nil>
1886
+ # resp.product_view_aggregations["ProductViewAggregationType"][0].approximate_count #=> Integer
1887
+ # resp.next_page_token #=> String
1888
+ # @overload search_products(params = {})
1889
+ # @param [Hash] params ({})
1890
+ def search_products(params = {}, options = {})
1891
+ req = build_request(:search_products, params)
1892
+ req.send_request(options)
1893
+ end
1894
+
1895
+ # Retrieves summary and status information about all products created
1896
+ # within the caller's account. If a portfolio ID is provided, this
1897
+ # operation retrieves information for only those products that are
1898
+ # associated with the specified portfolio.
1899
+ # @option params [String] :accept_language
1900
+ # The language code to use for this operation. Supported language codes
1901
+ # are as follows:
1902
+ #
1903
+ # "en" (English)
1904
+ #
1905
+ # "jp" (Japanese)
1906
+ #
1907
+ # "zh" (Chinese)
1908
+ #
1909
+ # If no code is specified, "en" is used as the default.
1910
+ # @option params [String] :portfolio_id
1911
+ # The portfolio identifier.
1912
+ # @option params [Hash<String,Array>] :filters
1913
+ # The list of filters with which to limit search results. If no search
1914
+ # filters are specified, the output is all the products to which the
1915
+ # administrator has access.
1916
+ # @option params [String] :sort_by
1917
+ # The sort field specifier. If no value is specified, results are not
1918
+ # sorted.
1919
+ # @option params [String] :sort_order
1920
+ # The sort order specifier. If no value is specified, results are not
1921
+ # sorted.
1922
+ # @option params [String] :page_token
1923
+ # The page token of the first page retrieved. If null, this retrieves
1924
+ # the first page of size `PageSize`.
1925
+ # @option params [Integer] :page_size
1926
+ # The maximum number of items to return in the results. If more results
1927
+ # exist than fit in the specified `PageSize`, the value of
1928
+ # `NextPageToken` in the response is non-null.
1929
+ # @option params [String] :product_source
1930
+ # Access level of the source of the product.
1931
+ # @return [Types::SearchProductsAsAdminOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1932
+ #
1933
+ # * {Types::SearchProductsAsAdminOutput#product_view_details #ProductViewDetails} => Array&lt;Types::ProductViewDetail&gt;
1934
+ # * {Types::SearchProductsAsAdminOutput#next_page_token #NextPageToken} => String
1935
+ #
1936
+ # @example Request syntax with placeholder values
1937
+ # resp = client.search_products_as_admin({
1938
+ # accept_language: "AcceptLanguage",
1939
+ # portfolio_id: "Id",
1940
+ # filters: {
1941
+ # "FullTextSearch" => ["ProductViewFilterValue"],
1942
+ # },
1943
+ # sort_by: "Title", # accepts Title, VersionCount, CreationDate
1944
+ # sort_order: "ASCENDING", # accepts ASCENDING, DESCENDING
1945
+ # page_token: "PageToken",
1946
+ # page_size: 1,
1947
+ # product_source: "ACCOUNT", # accepts ACCOUNT
1948
+ # })
1949
+ #
1950
+ # @example Response structure
1951
+ # resp.product_view_details #=> Array
1952
+ # resp.product_view_details[0].product_view_summary.id #=> String
1953
+ # resp.product_view_details[0].product_view_summary.product_id #=> String
1954
+ # resp.product_view_details[0].product_view_summary.name #=> String
1955
+ # resp.product_view_details[0].product_view_summary.owner #=> String
1956
+ # resp.product_view_details[0].product_view_summary.short_description #=> String
1957
+ # resp.product_view_details[0].product_view_summary.type #=> String, one of "CLOUD_FORMATION_TEMPLATE"
1958
+ # resp.product_view_details[0].product_view_summary.distributor #=> String
1959
+ # resp.product_view_details[0].product_view_summary.has_default_path #=> Boolean
1960
+ # resp.product_view_details[0].product_view_summary.support_email #=> String
1961
+ # resp.product_view_details[0].product_view_summary.support_description #=> String
1962
+ # resp.product_view_details[0].product_view_summary.support_url #=> String
1963
+ # resp.product_view_details[0].status #=> String, one of "AVAILABLE", "CREATING", "FAILED"
1964
+ # resp.product_view_details[0].product_arn #=> String
1965
+ # resp.product_view_details[0].created_time #=> Time
1966
+ # resp.next_page_token #=> String
1967
+ # @overload search_products_as_admin(params = {})
1968
+ # @param [Hash] params ({})
1969
+ def search_products_as_admin(params = {}, options = {})
1970
+ req = build_request(:search_products_as_admin, params)
1971
+ req.send_request(options)
1972
+ end
1973
+
1974
+ # Requests termination of an existing ProvisionedProduct object. If
1975
+ # there are `Tags` associated with the object, they are terminated when
1976
+ # the ProvisionedProduct object is terminated.
1977
+ #
1978
+ # This operation does not delete any records associated with the
1979
+ # ProvisionedProduct object.
1980
+ #
1981
+ # You can check the status of this request using the DescribeRecord
1982
+ # operation.
1983
+ # @option params [String] :provisioned_product_name
1984
+ # The name of the ProvisionedProduct object to terminate. You must
1985
+ # specify either `ProvisionedProductName` or `ProvisionedProductId`, but
1986
+ # not both.
1987
+ # @option params [String] :provisioned_product_id
1988
+ # The identifier of the ProvisionedProduct object to terminate. You must
1989
+ # specify either `ProvisionedProductName` or `ProvisionedProductId`, but
1990
+ # not both.
1991
+ # @option params [required, String] :terminate_token
1992
+ # An idempotency token that uniquely identifies the termination request.
1993
+ # This token is only valid during the termination process. After the
1994
+ # ProvisionedProduct object is terminated, further requests to terminate
1995
+ # the same ProvisionedProduct object always return **ResourceNotFound**
1996
+ # regardless of the value of `TerminateToken`.
1997
+ #
1998
+ # **A suitable default value is auto-generated.** You should
1999
+ # normally not need to pass this option.
2000
+ # @option params [Boolean] :ignore_errors
2001
+ # If set to true, AWS Service Catalog stops managing the specified
2002
+ # ProvisionedProduct object even if it cannot delete the underlying
2003
+ # resources.
2004
+ # @option params [String] :accept_language
2005
+ # The language code to use for this operation. Supported language codes
2006
+ # are as follows:
2007
+ #
2008
+ # "en" (English)
2009
+ #
2010
+ # "jp" (Japanese)
2011
+ #
2012
+ # "zh" (Chinese)
2013
+ #
2014
+ # If no code is specified, "en" is used as the default.
2015
+ # @return [Types::TerminateProvisionedProductOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2016
+ #
2017
+ # * {Types::TerminateProvisionedProductOutput#record_detail #RecordDetail} => Types::RecordDetail
2018
+ #
2019
+ # @example Request syntax with placeholder values
2020
+ # resp = client.terminate_provisioned_product({
2021
+ # provisioned_product_name: "ProvisionedProductNameOrArn",
2022
+ # provisioned_product_id: "Id",
2023
+ # terminate_token: "IdempotencyToken", # required
2024
+ # ignore_errors: false,
2025
+ # accept_language: "AcceptLanguage",
2026
+ # })
2027
+ #
2028
+ # @example Response structure
2029
+ # resp.record_detail.record_id #=> String
2030
+ # resp.record_detail.provisioned_product_name #=> String
2031
+ # resp.record_detail.status #=> String, one of "IN_PROGRESS", "SUCCEEDED", "ERROR"
2032
+ # resp.record_detail.created_time #=> Time
2033
+ # resp.record_detail.updated_time #=> Time
2034
+ # resp.record_detail.provisioned_product_type #=> String
2035
+ # resp.record_detail.record_type #=> String
2036
+ # resp.record_detail.provisioned_product_id #=> String
2037
+ # resp.record_detail.product_id #=> String
2038
+ # resp.record_detail.provisioning_artifact_id #=> String
2039
+ # resp.record_detail.path_id #=> String
2040
+ # resp.record_detail.record_errors #=> Array
2041
+ # resp.record_detail.record_errors[0].code #=> String
2042
+ # resp.record_detail.record_errors[0].description #=> String
2043
+ # resp.record_detail.record_tags #=> Array
2044
+ # resp.record_detail.record_tags[0].key #=> String
2045
+ # resp.record_detail.record_tags[0].value #=> String
2046
+ # @overload terminate_provisioned_product(params = {})
2047
+ # @param [Hash] params ({})
2048
+ def terminate_provisioned_product(params = {}, options = {})
2049
+ req = build_request(:terminate_provisioned_product, params)
2050
+ req.send_request(options)
2051
+ end
2052
+
2053
+ # Updates an existing constraint.
2054
+ # @option params [String] :accept_language
2055
+ # The language code to use for this operation. Supported language codes
2056
+ # are as follows:
2057
+ #
2058
+ # "en" (English)
2059
+ #
2060
+ # "jp" (Japanese)
2061
+ #
2062
+ # "zh" (Chinese)
2063
+ #
2064
+ # If no code is specified, "en" is used as the default.
2065
+ # @option params [required, String] :id
2066
+ # The identifier of the constraint to update.
2067
+ # @option params [String] :description
2068
+ # The updated text description of the constraint.
2069
+ # @return [Types::UpdateConstraintOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2070
+ #
2071
+ # * {Types::UpdateConstraintOutput#constraint_detail #ConstraintDetail} => Types::ConstraintDetail
2072
+ # * {Types::UpdateConstraintOutput#constraint_parameters #ConstraintParameters} => String
2073
+ # * {Types::UpdateConstraintOutput#status #Status} => String
2074
+ #
2075
+ # @example Request syntax with placeholder values
2076
+ # resp = client.update_constraint({
2077
+ # accept_language: "AcceptLanguage",
2078
+ # id: "Id", # required
2079
+ # description: "ConstraintDescription",
2080
+ # })
2081
+ #
2082
+ # @example Response structure
2083
+ # resp.constraint_detail.constraint_id #=> String
2084
+ # resp.constraint_detail.type #=> String
2085
+ # resp.constraint_detail.description #=> String
2086
+ # resp.constraint_detail.owner #=> String
2087
+ # resp.constraint_parameters #=> String
2088
+ # resp.status #=> String, one of "AVAILABLE", "CREATING", "FAILED"
2089
+ # @overload update_constraint(params = {})
2090
+ # @param [Hash] params ({})
2091
+ def update_constraint(params = {}, options = {})
2092
+ req = build_request(:update_constraint, params)
2093
+ req.send_request(options)
2094
+ end
2095
+
2096
+ # Updates the specified portfolio's details. This operation will not
2097
+ # work with a product that has been shared with you.
2098
+ # @option params [String] :accept_language
2099
+ # The language code to use for this operation. Supported language codes
2100
+ # are as follows:
2101
+ #
2102
+ # "en" (English)
2103
+ #
2104
+ # "jp" (Japanese)
2105
+ #
2106
+ # "zh" (Chinese)
2107
+ #
2108
+ # If no code is specified, "en" is used as the default.
2109
+ # @option params [required, String] :id
2110
+ # The identifier of the portfolio for the update request.
2111
+ # @option params [String] :display_name
2112
+ # The name to use for display purposes.
2113
+ # @option params [String] :description
2114
+ # The updated text description of the portfolio.
2115
+ # @option params [String] :provider_name
2116
+ # The updated name of the portfolio provider.
2117
+ # @option params [Array<Types::Tag>] :add_tags
2118
+ # Tags to add to the existing list of tags associated with the
2119
+ # portfolio.
2120
+ # @option params [Array<String>] :remove_tags
2121
+ # Tags to remove from the existing list of tags associated with the
2122
+ # portfolio.
2123
+ # @return [Types::UpdatePortfolioOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2124
+ #
2125
+ # * {Types::UpdatePortfolioOutput#portfolio_detail #PortfolioDetail} => Types::PortfolioDetail
2126
+ # * {Types::UpdatePortfolioOutput#tags #Tags} => Array&lt;Types::Tag&gt;
2127
+ #
2128
+ # @example Request syntax with placeholder values
2129
+ # resp = client.update_portfolio({
2130
+ # accept_language: "AcceptLanguage",
2131
+ # id: "Id", # required
2132
+ # display_name: "PortfolioDisplayName",
2133
+ # description: "PortfolioDescription",
2134
+ # provider_name: "ProviderName",
2135
+ # add_tags: [
2136
+ # {
2137
+ # key: "TagKey", # required
2138
+ # value: "TagValue", # required
2139
+ # },
2140
+ # ],
2141
+ # remove_tags: ["TagKey"],
2142
+ # })
2143
+ #
2144
+ # @example Response structure
2145
+ # resp.portfolio_detail.id #=> String
2146
+ # resp.portfolio_detail.arn #=> String
2147
+ # resp.portfolio_detail.display_name #=> String
2148
+ # resp.portfolio_detail.description #=> String
2149
+ # resp.portfolio_detail.created_time #=> Time
2150
+ # resp.portfolio_detail.provider_name #=> String
2151
+ # resp.tags #=> Array
2152
+ # resp.tags[0].key #=> String
2153
+ # resp.tags[0].value #=> String
2154
+ # @overload update_portfolio(params = {})
2155
+ # @param [Hash] params ({})
2156
+ def update_portfolio(params = {}, options = {})
2157
+ req = build_request(:update_portfolio, params)
2158
+ req.send_request(options)
2159
+ end
2160
+
2161
+ # Updates an existing product.
2162
+ # @option params [String] :accept_language
2163
+ # The language code to use for this operation. Supported language codes
2164
+ # are as follows:
2165
+ #
2166
+ # "en" (English)
2167
+ #
2168
+ # "jp" (Japanese)
2169
+ #
2170
+ # "zh" (Chinese)
2171
+ #
2172
+ # If no code is specified, "en" is used as the default.
2173
+ # @option params [required, String] :id
2174
+ # The identifier of the product for the update request.
2175
+ # @option params [String] :name
2176
+ # The updated product name.
2177
+ # @option params [String] :owner
2178
+ # The updated owner of the product.
2179
+ # @option params [String] :description
2180
+ # The updated text description of the product.
2181
+ # @option params [String] :distributor
2182
+ # The updated distributor of the product.
2183
+ # @option params [String] :support_description
2184
+ # The updated support description for the product.
2185
+ # @option params [String] :support_email
2186
+ # The updated support email for the product.
2187
+ # @option params [String] :support_url
2188
+ # The updated support URL for the product.
2189
+ # @option params [Array<Types::Tag>] :add_tags
2190
+ # Tags to add to the existing list of tags associated with the product.
2191
+ # @option params [Array<String>] :remove_tags
2192
+ # Tags to remove from the existing list of tags associated with the
2193
+ # product.
2194
+ # @return [Types::UpdateProductOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2195
+ #
2196
+ # * {Types::UpdateProductOutput#product_view_detail #ProductViewDetail} => Types::ProductViewDetail
2197
+ # * {Types::UpdateProductOutput#tags #Tags} => Array&lt;Types::Tag&gt;
2198
+ #
2199
+ # @example Request syntax with placeholder values
2200
+ # resp = client.update_product({
2201
+ # accept_language: "AcceptLanguage",
2202
+ # id: "Id", # required
2203
+ # name: "ProductViewName",
2204
+ # owner: "ProductViewOwner",
2205
+ # description: "ProductViewShortDescription",
2206
+ # distributor: "ProductViewOwner",
2207
+ # support_description: "SupportDescription",
2208
+ # support_email: "SupportEmail",
2209
+ # support_url: "SupportUrl",
2210
+ # add_tags: [
2211
+ # {
2212
+ # key: "TagKey", # required
2213
+ # value: "TagValue", # required
2214
+ # },
2215
+ # ],
2216
+ # remove_tags: ["TagKey"],
2217
+ # })
2218
+ #
2219
+ # @example Response structure
2220
+ # resp.product_view_detail.product_view_summary.id #=> String
2221
+ # resp.product_view_detail.product_view_summary.product_id #=> String
2222
+ # resp.product_view_detail.product_view_summary.name #=> String
2223
+ # resp.product_view_detail.product_view_summary.owner #=> String
2224
+ # resp.product_view_detail.product_view_summary.short_description #=> String
2225
+ # resp.product_view_detail.product_view_summary.type #=> String, one of "CLOUD_FORMATION_TEMPLATE"
2226
+ # resp.product_view_detail.product_view_summary.distributor #=> String
2227
+ # resp.product_view_detail.product_view_summary.has_default_path #=> Boolean
2228
+ # resp.product_view_detail.product_view_summary.support_email #=> String
2229
+ # resp.product_view_detail.product_view_summary.support_description #=> String
2230
+ # resp.product_view_detail.product_view_summary.support_url #=> String
2231
+ # resp.product_view_detail.status #=> String, one of "AVAILABLE", "CREATING", "FAILED"
2232
+ # resp.product_view_detail.product_arn #=> String
2233
+ # resp.product_view_detail.created_time #=> Time
2234
+ # resp.tags #=> Array
2235
+ # resp.tags[0].key #=> String
2236
+ # resp.tags[0].value #=> String
2237
+ # @overload update_product(params = {})
2238
+ # @param [Hash] params ({})
2239
+ def update_product(params = {}, options = {})
2240
+ req = build_request(:update_product, params)
2241
+ req.send_request(options)
2242
+ end
2243
+
2244
+ # Requests updates to the configuration of an existing
2245
+ # ProvisionedProduct object. If there are tags associated with the
2246
+ # object, they cannot be updated or added with this operation. Depending
2247
+ # on the specific updates requested, this operation may update with no
2248
+ # interruption, with some interruption, or replace the
2249
+ # ProvisionedProduct object entirely.
2250
+ #
2251
+ # You can check the status of this request using the DescribeRecord
2252
+ # operation.
2253
+ # @option params [String] :accept_language
2254
+ # The language code to use for this operation. Supported language codes
2255
+ # are as follows:
2256
+ #
2257
+ # "en" (English)
2258
+ #
2259
+ # "jp" (Japanese)
2260
+ #
2261
+ # "zh" (Chinese)
2262
+ #
2263
+ # If no code is specified, "en" is used as the default.
2264
+ # @option params [String] :provisioned_product_name
2265
+ # The updated name of the ProvisionedProduct object . You must specify
2266
+ # either `ProvisionedProductName` or `ProvisionedProductId`, but not
2267
+ # both.
2268
+ # @option params [String] :provisioned_product_id
2269
+ # The identifier of the ProvisionedProduct object to update. You must
2270
+ # specify either `ProvisionedProductName` or `ProvisionedProductId`, but
2271
+ # not both.
2272
+ # @option params [String] :product_id
2273
+ # The identifier of the ProvisionedProduct object.
2274
+ # @option params [String] :provisioning_artifact_id
2275
+ # The provisioning artifact identifier for this product.
2276
+ # @option params [String] :path_id
2277
+ # The identifier of the path to use in the updated ProvisionedProduct
2278
+ # object. This value is optional if the product has a default path, and
2279
+ # is required if there is more than one path for the specified product.
2280
+ # @option params [Array<Types::UpdateProvisioningParameter>] :provisioning_parameters
2281
+ # A list of `ProvisioningParameter` objects used to update the
2282
+ # ProvisionedProduct object.
2283
+ # @option params [required, String] :update_token
2284
+ # The idempotency token that uniquely identifies the provisioning update
2285
+ # request.
2286
+ #
2287
+ # **A suitable default value is auto-generated.** You should
2288
+ # normally not need to pass this option.
2289
+ # @return [Types::UpdateProvisionedProductOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2290
+ #
2291
+ # * {Types::UpdateProvisionedProductOutput#record_detail #RecordDetail} => Types::RecordDetail
2292
+ #
2293
+ # @example Request syntax with placeholder values
2294
+ # resp = client.update_provisioned_product({
2295
+ # accept_language: "AcceptLanguage",
2296
+ # provisioned_product_name: "ProvisionedProductNameOrArn",
2297
+ # provisioned_product_id: "Id",
2298
+ # product_id: "Id",
2299
+ # provisioning_artifact_id: "Id",
2300
+ # path_id: "Id",
2301
+ # provisioning_parameters: [
2302
+ # {
2303
+ # key: "ParameterKey",
2304
+ # value: "ParameterValue",
2305
+ # use_previous_value: false,
2306
+ # },
2307
+ # ],
2308
+ # update_token: "IdempotencyToken", # required
2309
+ # })
2310
+ #
2311
+ # @example Response structure
2312
+ # resp.record_detail.record_id #=> String
2313
+ # resp.record_detail.provisioned_product_name #=> String
2314
+ # resp.record_detail.status #=> String, one of "IN_PROGRESS", "SUCCEEDED", "ERROR"
2315
+ # resp.record_detail.created_time #=> Time
2316
+ # resp.record_detail.updated_time #=> Time
2317
+ # resp.record_detail.provisioned_product_type #=> String
2318
+ # resp.record_detail.record_type #=> String
2319
+ # resp.record_detail.provisioned_product_id #=> String
2320
+ # resp.record_detail.product_id #=> String
2321
+ # resp.record_detail.provisioning_artifact_id #=> String
2322
+ # resp.record_detail.path_id #=> String
2323
+ # resp.record_detail.record_errors #=> Array
2324
+ # resp.record_detail.record_errors[0].code #=> String
2325
+ # resp.record_detail.record_errors[0].description #=> String
2326
+ # resp.record_detail.record_tags #=> Array
2327
+ # resp.record_detail.record_tags[0].key #=> String
2328
+ # resp.record_detail.record_tags[0].value #=> String
2329
+ # @overload update_provisioned_product(params = {})
2330
+ # @param [Hash] params ({})
2331
+ def update_provisioned_product(params = {}, options = {})
2332
+ req = build_request(:update_provisioned_product, params)
2333
+ req.send_request(options)
2334
+ end
2335
+
2336
+ # Updates an existing provisioning artifact's information. This
2337
+ # operation will not work on a provisioning artifact associated with a
2338
+ # product that has been shared with you.
2339
+ # @option params [String] :accept_language
2340
+ # The language code to use for this operation. Supported language codes
2341
+ # are as follows:
2342
+ #
2343
+ # "en" (English)
2344
+ #
2345
+ # "jp" (Japanese)
2346
+ #
2347
+ # "zh" (Chinese)
2348
+ #
2349
+ # If no code is specified, "en" is used as the default.
2350
+ # @option params [required, String] :product_id
2351
+ # The product identifier.
2352
+ # @option params [required, String] :provisioning_artifact_id
2353
+ # The identifier of the provisioning artifact for the update request.
2354
+ # @option params [String] :name
2355
+ # The updated name of the provisioning artifact.
2356
+ # @option params [String] :description
2357
+ # The updated text description of the provisioning artifact.
2358
+ # @return [Types::UpdateProvisioningArtifactOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2359
+ #
2360
+ # * {Types::UpdateProvisioningArtifactOutput#provisioning_artifact_detail #ProvisioningArtifactDetail} => Types::ProvisioningArtifactDetail
2361
+ # * {Types::UpdateProvisioningArtifactOutput#info #Info} => Hash&lt;String,String&gt;
2362
+ # * {Types::UpdateProvisioningArtifactOutput#status #Status} => String
2363
+ #
2364
+ # @example Request syntax with placeholder values
2365
+ # resp = client.update_provisioning_artifact({
2366
+ # accept_language: "AcceptLanguage",
2367
+ # product_id: "Id", # required
2368
+ # provisioning_artifact_id: "Id", # required
2369
+ # name: "ProvisioningArtifactName",
2370
+ # description: "ProvisioningArtifactDescription",
2371
+ # })
2372
+ #
2373
+ # @example Response structure
2374
+ # resp.provisioning_artifact_detail.id #=> String
2375
+ # resp.provisioning_artifact_detail.name #=> String
2376
+ # resp.provisioning_artifact_detail.description #=> String
2377
+ # resp.provisioning_artifact_detail.type #=> String, one of "CLOUD_FORMATION_TEMPLATE"
2378
+ # resp.provisioning_artifact_detail.created_time #=> Time
2379
+ # resp.info #=> Hash
2380
+ # resp.info["ProvisioningArtifactInfoKey"] #=> String
2381
+ # resp.status #=> String, one of "AVAILABLE", "CREATING", "FAILED"
2382
+ # @overload update_provisioning_artifact(params = {})
2383
+ # @param [Hash] params ({})
2384
+ def update_provisioning_artifact(params = {}, options = {})
2385
+ req = build_request(:update_provisioning_artifact, params)
2386
+ req.send_request(options)
2387
+ end
2388
+
2389
+ # @!endgroup
2390
+
2391
+ # @param params ({})
2392
+ # @api private
2393
+ def build_request(operation_name, params = {})
2394
+ handlers = @handlers.for(operation_name)
2395
+ context = Seahorse::Client::RequestContext.new(
2396
+ operation_name: operation_name,
2397
+ operation: config.api.operation(operation_name),
2398
+ client: self,
2399
+ params: params,
2400
+ config: config)
2401
+ context[:gem_name] = 'aws-sdk-servicecatalog'
2402
+ context[:gem_version] = '1.0.0.rc1'
2403
+ Seahorse::Client::Request.new(handlers, context)
2404
+ end
2405
+
2406
+ # @api private
2407
+ # @deprecated
2408
+ def waiter_names
2409
+ []
2410
+ end
2411
+
2412
+ class << self
2413
+
2414
+ # @api private
2415
+ attr_reader :identifier
2416
+
2417
+ # @api private
2418
+ def errors_module
2419
+ Errors
2420
+ end
2421
+
2422
+ end
2423
+ end
2424
+ end
2425
+ end