1// Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT.
2
3package servicecatalog
4
5import (
6	"fmt"
7	"time"
8
9	"github.com/aws/aws-sdk-go/aws"
10	"github.com/aws/aws-sdk-go/aws/awsutil"
11	"github.com/aws/aws-sdk-go/aws/request"
12	"github.com/aws/aws-sdk-go/private/protocol"
13	"github.com/aws/aws-sdk-go/private/protocol/jsonrpc"
14)
15
16const opAcceptPortfolioShare = "AcceptPortfolioShare"
17
18// AcceptPortfolioShareRequest generates a "aws/request.Request" representing the
19// client's request for the AcceptPortfolioShare operation. The "output" return
20// value will be populated with the request's response once the request completes
21// successfully.
22//
23// Use "Send" method on the returned Request to send the API call to the service.
24// the "output" return value is not valid until after Send returns without error.
25//
26// See AcceptPortfolioShare for more information on using the AcceptPortfolioShare
27// API call, and error handling.
28//
29// This method is useful when you want to inject custom logic or configuration
30// into the SDK's request lifecycle. Such as custom headers, or retry logic.
31//
32//
33//    // Example sending a request using the AcceptPortfolioShareRequest method.
34//    req, resp := client.AcceptPortfolioShareRequest(params)
35//
36//    err := req.Send()
37//    if err == nil { // resp is now filled
38//        fmt.Println(resp)
39//    }
40//
41// See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/AcceptPortfolioShare
42func (c *ServiceCatalog) AcceptPortfolioShareRequest(input *AcceptPortfolioShareInput) (req *request.Request, output *AcceptPortfolioShareOutput) {
43	op := &request.Operation{
44		Name:       opAcceptPortfolioShare,
45		HTTPMethod: "POST",
46		HTTPPath:   "/",
47	}
48
49	if input == nil {
50		input = &AcceptPortfolioShareInput{}
51	}
52
53	output = &AcceptPortfolioShareOutput{}
54	req = c.newRequest(op, input, output)
55	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
56	return
57}
58
59// AcceptPortfolioShare API operation for AWS Service Catalog.
60//
61// Accepts an offer to share the specified portfolio.
62//
63// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
64// with awserr.Error's Code and Message methods to get detailed information about
65// the error.
66//
67// See the AWS API reference guide for AWS Service Catalog's
68// API operation AcceptPortfolioShare for usage and error information.
69//
70// Returned Error Types:
71//   * InvalidParametersException
72//   One or more parameters provided to the operation are not valid.
73//
74//   * ResourceNotFoundException
75//   The specified resource was not found.
76//
77//   * LimitExceededException
78//   The current limits of the service would have been exceeded by this operation.
79//   Decrease your resource use or increase your service limits and retry the
80//   operation.
81//
82// See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/AcceptPortfolioShare
83func (c *ServiceCatalog) AcceptPortfolioShare(input *AcceptPortfolioShareInput) (*AcceptPortfolioShareOutput, error) {
84	req, out := c.AcceptPortfolioShareRequest(input)
85	return out, req.Send()
86}
87
88// AcceptPortfolioShareWithContext is the same as AcceptPortfolioShare with the addition of
89// the ability to pass a context and additional request options.
90//
91// See AcceptPortfolioShare for details on how to use this API operation.
92//
93// The context must be non-nil and will be used for request cancellation. If
94// the context is nil a panic will occur. In the future the SDK may create
95// sub-contexts for http.Requests. See https://golang.org/pkg/context/
96// for more information on using Contexts.
97func (c *ServiceCatalog) AcceptPortfolioShareWithContext(ctx aws.Context, input *AcceptPortfolioShareInput, opts ...request.Option) (*AcceptPortfolioShareOutput, error) {
98	req, out := c.AcceptPortfolioShareRequest(input)
99	req.SetContext(ctx)
100	req.ApplyOptions(opts...)
101	return out, req.Send()
102}
103
104const opAssociateBudgetWithResource = "AssociateBudgetWithResource"
105
106// AssociateBudgetWithResourceRequest generates a "aws/request.Request" representing the
107// client's request for the AssociateBudgetWithResource operation. The "output" return
108// value will be populated with the request's response once the request completes
109// successfully.
110//
111// Use "Send" method on the returned Request to send the API call to the service.
112// the "output" return value is not valid until after Send returns without error.
113//
114// See AssociateBudgetWithResource for more information on using the AssociateBudgetWithResource
115// API call, and error handling.
116//
117// This method is useful when you want to inject custom logic or configuration
118// into the SDK's request lifecycle. Such as custom headers, or retry logic.
119//
120//
121//    // Example sending a request using the AssociateBudgetWithResourceRequest method.
122//    req, resp := client.AssociateBudgetWithResourceRequest(params)
123//
124//    err := req.Send()
125//    if err == nil { // resp is now filled
126//        fmt.Println(resp)
127//    }
128//
129// See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/AssociateBudgetWithResource
130func (c *ServiceCatalog) AssociateBudgetWithResourceRequest(input *AssociateBudgetWithResourceInput) (req *request.Request, output *AssociateBudgetWithResourceOutput) {
131	op := &request.Operation{
132		Name:       opAssociateBudgetWithResource,
133		HTTPMethod: "POST",
134		HTTPPath:   "/",
135	}
136
137	if input == nil {
138		input = &AssociateBudgetWithResourceInput{}
139	}
140
141	output = &AssociateBudgetWithResourceOutput{}
142	req = c.newRequest(op, input, output)
143	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
144	return
145}
146
147// AssociateBudgetWithResource API operation for AWS Service Catalog.
148//
149// Associates the specified budget with the specified resource.
150//
151// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
152// with awserr.Error's Code and Message methods to get detailed information about
153// the error.
154//
155// See the AWS API reference guide for AWS Service Catalog's
156// API operation AssociateBudgetWithResource for usage and error information.
157//
158// Returned Error Types:
159//   * InvalidParametersException
160//   One or more parameters provided to the operation are not valid.
161//
162//   * DuplicateResourceException
163//   The specified resource is a duplicate.
164//
165//   * LimitExceededException
166//   The current limits of the service would have been exceeded by this operation.
167//   Decrease your resource use or increase your service limits and retry the
168//   operation.
169//
170//   * ResourceNotFoundException
171//   The specified resource was not found.
172//
173// See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/AssociateBudgetWithResource
174func (c *ServiceCatalog) AssociateBudgetWithResource(input *AssociateBudgetWithResourceInput) (*AssociateBudgetWithResourceOutput, error) {
175	req, out := c.AssociateBudgetWithResourceRequest(input)
176	return out, req.Send()
177}
178
179// AssociateBudgetWithResourceWithContext is the same as AssociateBudgetWithResource with the addition of
180// the ability to pass a context and additional request options.
181//
182// See AssociateBudgetWithResource for details on how to use this API operation.
183//
184// The context must be non-nil and will be used for request cancellation. If
185// the context is nil a panic will occur. In the future the SDK may create
186// sub-contexts for http.Requests. See https://golang.org/pkg/context/
187// for more information on using Contexts.
188func (c *ServiceCatalog) AssociateBudgetWithResourceWithContext(ctx aws.Context, input *AssociateBudgetWithResourceInput, opts ...request.Option) (*AssociateBudgetWithResourceOutput, error) {
189	req, out := c.AssociateBudgetWithResourceRequest(input)
190	req.SetContext(ctx)
191	req.ApplyOptions(opts...)
192	return out, req.Send()
193}
194
195const opAssociatePrincipalWithPortfolio = "AssociatePrincipalWithPortfolio"
196
197// AssociatePrincipalWithPortfolioRequest generates a "aws/request.Request" representing the
198// client's request for the AssociatePrincipalWithPortfolio operation. The "output" return
199// value will be populated with the request's response once the request completes
200// successfully.
201//
202// Use "Send" method on the returned Request to send the API call to the service.
203// the "output" return value is not valid until after Send returns without error.
204//
205// See AssociatePrincipalWithPortfolio for more information on using the AssociatePrincipalWithPortfolio
206// API call, and error handling.
207//
208// This method is useful when you want to inject custom logic or configuration
209// into the SDK's request lifecycle. Such as custom headers, or retry logic.
210//
211//
212//    // Example sending a request using the AssociatePrincipalWithPortfolioRequest method.
213//    req, resp := client.AssociatePrincipalWithPortfolioRequest(params)
214//
215//    err := req.Send()
216//    if err == nil { // resp is now filled
217//        fmt.Println(resp)
218//    }
219//
220// See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/AssociatePrincipalWithPortfolio
221func (c *ServiceCatalog) AssociatePrincipalWithPortfolioRequest(input *AssociatePrincipalWithPortfolioInput) (req *request.Request, output *AssociatePrincipalWithPortfolioOutput) {
222	op := &request.Operation{
223		Name:       opAssociatePrincipalWithPortfolio,
224		HTTPMethod: "POST",
225		HTTPPath:   "/",
226	}
227
228	if input == nil {
229		input = &AssociatePrincipalWithPortfolioInput{}
230	}
231
232	output = &AssociatePrincipalWithPortfolioOutput{}
233	req = c.newRequest(op, input, output)
234	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
235	return
236}
237
238// AssociatePrincipalWithPortfolio API operation for AWS Service Catalog.
239//
240// Associates the specified principal ARN with the specified portfolio.
241//
242// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
243// with awserr.Error's Code and Message methods to get detailed information about
244// the error.
245//
246// See the AWS API reference guide for AWS Service Catalog's
247// API operation AssociatePrincipalWithPortfolio for usage and error information.
248//
249// Returned Error Types:
250//   * InvalidParametersException
251//   One or more parameters provided to the operation are not valid.
252//
253//   * ResourceNotFoundException
254//   The specified resource was not found.
255//
256//   * LimitExceededException
257//   The current limits of the service would have been exceeded by this operation.
258//   Decrease your resource use or increase your service limits and retry the
259//   operation.
260//
261// See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/AssociatePrincipalWithPortfolio
262func (c *ServiceCatalog) AssociatePrincipalWithPortfolio(input *AssociatePrincipalWithPortfolioInput) (*AssociatePrincipalWithPortfolioOutput, error) {
263	req, out := c.AssociatePrincipalWithPortfolioRequest(input)
264	return out, req.Send()
265}
266
267// AssociatePrincipalWithPortfolioWithContext is the same as AssociatePrincipalWithPortfolio with the addition of
268// the ability to pass a context and additional request options.
269//
270// See AssociatePrincipalWithPortfolio for details on how to use this API operation.
271//
272// The context must be non-nil and will be used for request cancellation. If
273// the context is nil a panic will occur. In the future the SDK may create
274// sub-contexts for http.Requests. See https://golang.org/pkg/context/
275// for more information on using Contexts.
276func (c *ServiceCatalog) AssociatePrincipalWithPortfolioWithContext(ctx aws.Context, input *AssociatePrincipalWithPortfolioInput, opts ...request.Option) (*AssociatePrincipalWithPortfolioOutput, error) {
277	req, out := c.AssociatePrincipalWithPortfolioRequest(input)
278	req.SetContext(ctx)
279	req.ApplyOptions(opts...)
280	return out, req.Send()
281}
282
283const opAssociateProductWithPortfolio = "AssociateProductWithPortfolio"
284
285// AssociateProductWithPortfolioRequest generates a "aws/request.Request" representing the
286// client's request for the AssociateProductWithPortfolio operation. The "output" return
287// value will be populated with the request's response once the request completes
288// successfully.
289//
290// Use "Send" method on the returned Request to send the API call to the service.
291// the "output" return value is not valid until after Send returns without error.
292//
293// See AssociateProductWithPortfolio for more information on using the AssociateProductWithPortfolio
294// API call, and error handling.
295//
296// This method is useful when you want to inject custom logic or configuration
297// into the SDK's request lifecycle. Such as custom headers, or retry logic.
298//
299//
300//    // Example sending a request using the AssociateProductWithPortfolioRequest method.
301//    req, resp := client.AssociateProductWithPortfolioRequest(params)
302//
303//    err := req.Send()
304//    if err == nil { // resp is now filled
305//        fmt.Println(resp)
306//    }
307//
308// See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/AssociateProductWithPortfolio
309func (c *ServiceCatalog) AssociateProductWithPortfolioRequest(input *AssociateProductWithPortfolioInput) (req *request.Request, output *AssociateProductWithPortfolioOutput) {
310	op := &request.Operation{
311		Name:       opAssociateProductWithPortfolio,
312		HTTPMethod: "POST",
313		HTTPPath:   "/",
314	}
315
316	if input == nil {
317		input = &AssociateProductWithPortfolioInput{}
318	}
319
320	output = &AssociateProductWithPortfolioOutput{}
321	req = c.newRequest(op, input, output)
322	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
323	return
324}
325
326// AssociateProductWithPortfolio API operation for AWS Service Catalog.
327//
328// Associates the specified product with the specified portfolio.
329//
330// A delegated admin is authorized to invoke this command.
331//
332// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
333// with awserr.Error's Code and Message methods to get detailed information about
334// the error.
335//
336// See the AWS API reference guide for AWS Service Catalog's
337// API operation AssociateProductWithPortfolio for usage and error information.
338//
339// Returned Error Types:
340//   * InvalidParametersException
341//   One or more parameters provided to the operation are not valid.
342//
343//   * ResourceNotFoundException
344//   The specified resource was not found.
345//
346//   * LimitExceededException
347//   The current limits of the service would have been exceeded by this operation.
348//   Decrease your resource use or increase your service limits and retry the
349//   operation.
350//
351// See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/AssociateProductWithPortfolio
352func (c *ServiceCatalog) AssociateProductWithPortfolio(input *AssociateProductWithPortfolioInput) (*AssociateProductWithPortfolioOutput, error) {
353	req, out := c.AssociateProductWithPortfolioRequest(input)
354	return out, req.Send()
355}
356
357// AssociateProductWithPortfolioWithContext is the same as AssociateProductWithPortfolio with the addition of
358// the ability to pass a context and additional request options.
359//
360// See AssociateProductWithPortfolio for details on how to use this API operation.
361//
362// The context must be non-nil and will be used for request cancellation. If
363// the context is nil a panic will occur. In the future the SDK may create
364// sub-contexts for http.Requests. See https://golang.org/pkg/context/
365// for more information on using Contexts.
366func (c *ServiceCatalog) AssociateProductWithPortfolioWithContext(ctx aws.Context, input *AssociateProductWithPortfolioInput, opts ...request.Option) (*AssociateProductWithPortfolioOutput, error) {
367	req, out := c.AssociateProductWithPortfolioRequest(input)
368	req.SetContext(ctx)
369	req.ApplyOptions(opts...)
370	return out, req.Send()
371}
372
373const opAssociateServiceActionWithProvisioningArtifact = "AssociateServiceActionWithProvisioningArtifact"
374
375// AssociateServiceActionWithProvisioningArtifactRequest generates a "aws/request.Request" representing the
376// client's request for the AssociateServiceActionWithProvisioningArtifact operation. The "output" return
377// value will be populated with the request's response once the request completes
378// successfully.
379//
380// Use "Send" method on the returned Request to send the API call to the service.
381// the "output" return value is not valid until after Send returns without error.
382//
383// See AssociateServiceActionWithProvisioningArtifact for more information on using the AssociateServiceActionWithProvisioningArtifact
384// API call, and error handling.
385//
386// This method is useful when you want to inject custom logic or configuration
387// into the SDK's request lifecycle. Such as custom headers, or retry logic.
388//
389//
390//    // Example sending a request using the AssociateServiceActionWithProvisioningArtifactRequest method.
391//    req, resp := client.AssociateServiceActionWithProvisioningArtifactRequest(params)
392//
393//    err := req.Send()
394//    if err == nil { // resp is now filled
395//        fmt.Println(resp)
396//    }
397//
398// See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/AssociateServiceActionWithProvisioningArtifact
399func (c *ServiceCatalog) AssociateServiceActionWithProvisioningArtifactRequest(input *AssociateServiceActionWithProvisioningArtifactInput) (req *request.Request, output *AssociateServiceActionWithProvisioningArtifactOutput) {
400	op := &request.Operation{
401		Name:       opAssociateServiceActionWithProvisioningArtifact,
402		HTTPMethod: "POST",
403		HTTPPath:   "/",
404	}
405
406	if input == nil {
407		input = &AssociateServiceActionWithProvisioningArtifactInput{}
408	}
409
410	output = &AssociateServiceActionWithProvisioningArtifactOutput{}
411	req = c.newRequest(op, input, output)
412	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
413	return
414}
415
416// AssociateServiceActionWithProvisioningArtifact API operation for AWS Service Catalog.
417//
418// Associates a self-service action with a provisioning artifact.
419//
420// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
421// with awserr.Error's Code and Message methods to get detailed information about
422// the error.
423//
424// See the AWS API reference guide for AWS Service Catalog's
425// API operation AssociateServiceActionWithProvisioningArtifact for usage and error information.
426//
427// Returned Error Types:
428//   * ResourceNotFoundException
429//   The specified resource was not found.
430//
431//   * DuplicateResourceException
432//   The specified resource is a duplicate.
433//
434//   * LimitExceededException
435//   The current limits of the service would have been exceeded by this operation.
436//   Decrease your resource use or increase your service limits and retry the
437//   operation.
438//
439// See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/AssociateServiceActionWithProvisioningArtifact
440func (c *ServiceCatalog) AssociateServiceActionWithProvisioningArtifact(input *AssociateServiceActionWithProvisioningArtifactInput) (*AssociateServiceActionWithProvisioningArtifactOutput, error) {
441	req, out := c.AssociateServiceActionWithProvisioningArtifactRequest(input)
442	return out, req.Send()
443}
444
445// AssociateServiceActionWithProvisioningArtifactWithContext is the same as AssociateServiceActionWithProvisioningArtifact with the addition of
446// the ability to pass a context and additional request options.
447//
448// See AssociateServiceActionWithProvisioningArtifact for details on how to use this API operation.
449//
450// The context must be non-nil and will be used for request cancellation. If
451// the context is nil a panic will occur. In the future the SDK may create
452// sub-contexts for http.Requests. See https://golang.org/pkg/context/
453// for more information on using Contexts.
454func (c *ServiceCatalog) AssociateServiceActionWithProvisioningArtifactWithContext(ctx aws.Context, input *AssociateServiceActionWithProvisioningArtifactInput, opts ...request.Option) (*AssociateServiceActionWithProvisioningArtifactOutput, error) {
455	req, out := c.AssociateServiceActionWithProvisioningArtifactRequest(input)
456	req.SetContext(ctx)
457	req.ApplyOptions(opts...)
458	return out, req.Send()
459}
460
461const opAssociateTagOptionWithResource = "AssociateTagOptionWithResource"
462
463// AssociateTagOptionWithResourceRequest generates a "aws/request.Request" representing the
464// client's request for the AssociateTagOptionWithResource operation. The "output" return
465// value will be populated with the request's response once the request completes
466// successfully.
467//
468// Use "Send" method on the returned Request to send the API call to the service.
469// the "output" return value is not valid until after Send returns without error.
470//
471// See AssociateTagOptionWithResource for more information on using the AssociateTagOptionWithResource
472// API call, and error handling.
473//
474// This method is useful when you want to inject custom logic or configuration
475// into the SDK's request lifecycle. Such as custom headers, or retry logic.
476//
477//
478//    // Example sending a request using the AssociateTagOptionWithResourceRequest method.
479//    req, resp := client.AssociateTagOptionWithResourceRequest(params)
480//
481//    err := req.Send()
482//    if err == nil { // resp is now filled
483//        fmt.Println(resp)
484//    }
485//
486// See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/AssociateTagOptionWithResource
487func (c *ServiceCatalog) AssociateTagOptionWithResourceRequest(input *AssociateTagOptionWithResourceInput) (req *request.Request, output *AssociateTagOptionWithResourceOutput) {
488	op := &request.Operation{
489		Name:       opAssociateTagOptionWithResource,
490		HTTPMethod: "POST",
491		HTTPPath:   "/",
492	}
493
494	if input == nil {
495		input = &AssociateTagOptionWithResourceInput{}
496	}
497
498	output = &AssociateTagOptionWithResourceOutput{}
499	req = c.newRequest(op, input, output)
500	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
501	return
502}
503
504// AssociateTagOptionWithResource API operation for AWS Service Catalog.
505//
506// Associate the specified TagOption with the specified portfolio or product.
507//
508// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
509// with awserr.Error's Code and Message methods to get detailed information about
510// the error.
511//
512// See the AWS API reference guide for AWS Service Catalog's
513// API operation AssociateTagOptionWithResource for usage and error information.
514//
515// Returned Error Types:
516//   * TagOptionNotMigratedException
517//   An operation requiring TagOptions failed because the TagOptions migration
518//   process has not been performed for this account. Please use the AWS console
519//   to perform the migration process before retrying the operation.
520//
521//   * ResourceNotFoundException
522//   The specified resource was not found.
523//
524//   * InvalidParametersException
525//   One or more parameters provided to the operation are not valid.
526//
527//   * LimitExceededException
528//   The current limits of the service would have been exceeded by this operation.
529//   Decrease your resource use or increase your service limits and retry the
530//   operation.
531//
532//   * DuplicateResourceException
533//   The specified resource is a duplicate.
534//
535//   * InvalidStateException
536//   An attempt was made to modify a resource that is in a state that is not valid.
537//   Check your resources to ensure that they are in valid states before retrying
538//   the operation.
539//
540// See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/AssociateTagOptionWithResource
541func (c *ServiceCatalog) AssociateTagOptionWithResource(input *AssociateTagOptionWithResourceInput) (*AssociateTagOptionWithResourceOutput, error) {
542	req, out := c.AssociateTagOptionWithResourceRequest(input)
543	return out, req.Send()
544}
545
546// AssociateTagOptionWithResourceWithContext is the same as AssociateTagOptionWithResource with the addition of
547// the ability to pass a context and additional request options.
548//
549// See AssociateTagOptionWithResource for details on how to use this API operation.
550//
551// The context must be non-nil and will be used for request cancellation. If
552// the context is nil a panic will occur. In the future the SDK may create
553// sub-contexts for http.Requests. See https://golang.org/pkg/context/
554// for more information on using Contexts.
555func (c *ServiceCatalog) AssociateTagOptionWithResourceWithContext(ctx aws.Context, input *AssociateTagOptionWithResourceInput, opts ...request.Option) (*AssociateTagOptionWithResourceOutput, error) {
556	req, out := c.AssociateTagOptionWithResourceRequest(input)
557	req.SetContext(ctx)
558	req.ApplyOptions(opts...)
559	return out, req.Send()
560}
561
562const opBatchAssociateServiceActionWithProvisioningArtifact = "BatchAssociateServiceActionWithProvisioningArtifact"
563
564// BatchAssociateServiceActionWithProvisioningArtifactRequest generates a "aws/request.Request" representing the
565// client's request for the BatchAssociateServiceActionWithProvisioningArtifact operation. The "output" return
566// value will be populated with the request's response once the request completes
567// successfully.
568//
569// Use "Send" method on the returned Request to send the API call to the service.
570// the "output" return value is not valid until after Send returns without error.
571//
572// See BatchAssociateServiceActionWithProvisioningArtifact for more information on using the BatchAssociateServiceActionWithProvisioningArtifact
573// API call, and error handling.
574//
575// This method is useful when you want to inject custom logic or configuration
576// into the SDK's request lifecycle. Such as custom headers, or retry logic.
577//
578//
579//    // Example sending a request using the BatchAssociateServiceActionWithProvisioningArtifactRequest method.
580//    req, resp := client.BatchAssociateServiceActionWithProvisioningArtifactRequest(params)
581//
582//    err := req.Send()
583//    if err == nil { // resp is now filled
584//        fmt.Println(resp)
585//    }
586//
587// See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/BatchAssociateServiceActionWithProvisioningArtifact
588func (c *ServiceCatalog) BatchAssociateServiceActionWithProvisioningArtifactRequest(input *BatchAssociateServiceActionWithProvisioningArtifactInput) (req *request.Request, output *BatchAssociateServiceActionWithProvisioningArtifactOutput) {
589	op := &request.Operation{
590		Name:       opBatchAssociateServiceActionWithProvisioningArtifact,
591		HTTPMethod: "POST",
592		HTTPPath:   "/",
593	}
594
595	if input == nil {
596		input = &BatchAssociateServiceActionWithProvisioningArtifactInput{}
597	}
598
599	output = &BatchAssociateServiceActionWithProvisioningArtifactOutput{}
600	req = c.newRequest(op, input, output)
601	return
602}
603
604// BatchAssociateServiceActionWithProvisioningArtifact API operation for AWS Service Catalog.
605//
606// Associates multiple self-service actions with provisioning artifacts.
607//
608// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
609// with awserr.Error's Code and Message methods to get detailed information about
610// the error.
611//
612// See the AWS API reference guide for AWS Service Catalog's
613// API operation BatchAssociateServiceActionWithProvisioningArtifact for usage and error information.
614//
615// Returned Error Types:
616//   * InvalidParametersException
617//   One or more parameters provided to the operation are not valid.
618//
619// See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/BatchAssociateServiceActionWithProvisioningArtifact
620func (c *ServiceCatalog) BatchAssociateServiceActionWithProvisioningArtifact(input *BatchAssociateServiceActionWithProvisioningArtifactInput) (*BatchAssociateServiceActionWithProvisioningArtifactOutput, error) {
621	req, out := c.BatchAssociateServiceActionWithProvisioningArtifactRequest(input)
622	return out, req.Send()
623}
624
625// BatchAssociateServiceActionWithProvisioningArtifactWithContext is the same as BatchAssociateServiceActionWithProvisioningArtifact with the addition of
626// the ability to pass a context and additional request options.
627//
628// See BatchAssociateServiceActionWithProvisioningArtifact for details on how to use this API operation.
629//
630// The context must be non-nil and will be used for request cancellation. If
631// the context is nil a panic will occur. In the future the SDK may create
632// sub-contexts for http.Requests. See https://golang.org/pkg/context/
633// for more information on using Contexts.
634func (c *ServiceCatalog) BatchAssociateServiceActionWithProvisioningArtifactWithContext(ctx aws.Context, input *BatchAssociateServiceActionWithProvisioningArtifactInput, opts ...request.Option) (*BatchAssociateServiceActionWithProvisioningArtifactOutput, error) {
635	req, out := c.BatchAssociateServiceActionWithProvisioningArtifactRequest(input)
636	req.SetContext(ctx)
637	req.ApplyOptions(opts...)
638	return out, req.Send()
639}
640
641const opBatchDisassociateServiceActionFromProvisioningArtifact = "BatchDisassociateServiceActionFromProvisioningArtifact"
642
643// BatchDisassociateServiceActionFromProvisioningArtifactRequest generates a "aws/request.Request" representing the
644// client's request for the BatchDisassociateServiceActionFromProvisioningArtifact operation. The "output" return
645// value will be populated with the request's response once the request completes
646// successfully.
647//
648// Use "Send" method on the returned Request to send the API call to the service.
649// the "output" return value is not valid until after Send returns without error.
650//
651// See BatchDisassociateServiceActionFromProvisioningArtifact for more information on using the BatchDisassociateServiceActionFromProvisioningArtifact
652// API call, and error handling.
653//
654// This method is useful when you want to inject custom logic or configuration
655// into the SDK's request lifecycle. Such as custom headers, or retry logic.
656//
657//
658//    // Example sending a request using the BatchDisassociateServiceActionFromProvisioningArtifactRequest method.
659//    req, resp := client.BatchDisassociateServiceActionFromProvisioningArtifactRequest(params)
660//
661//    err := req.Send()
662//    if err == nil { // resp is now filled
663//        fmt.Println(resp)
664//    }
665//
666// See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/BatchDisassociateServiceActionFromProvisioningArtifact
667func (c *ServiceCatalog) BatchDisassociateServiceActionFromProvisioningArtifactRequest(input *BatchDisassociateServiceActionFromProvisioningArtifactInput) (req *request.Request, output *BatchDisassociateServiceActionFromProvisioningArtifactOutput) {
668	op := &request.Operation{
669		Name:       opBatchDisassociateServiceActionFromProvisioningArtifact,
670		HTTPMethod: "POST",
671		HTTPPath:   "/",
672	}
673
674	if input == nil {
675		input = &BatchDisassociateServiceActionFromProvisioningArtifactInput{}
676	}
677
678	output = &BatchDisassociateServiceActionFromProvisioningArtifactOutput{}
679	req = c.newRequest(op, input, output)
680	return
681}
682
683// BatchDisassociateServiceActionFromProvisioningArtifact API operation for AWS Service Catalog.
684//
685// Disassociates a batch of self-service actions from the specified provisioning
686// artifact.
687//
688// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
689// with awserr.Error's Code and Message methods to get detailed information about
690// the error.
691//
692// See the AWS API reference guide for AWS Service Catalog's
693// API operation BatchDisassociateServiceActionFromProvisioningArtifact for usage and error information.
694//
695// Returned Error Types:
696//   * InvalidParametersException
697//   One or more parameters provided to the operation are not valid.
698//
699// See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/BatchDisassociateServiceActionFromProvisioningArtifact
700func (c *ServiceCatalog) BatchDisassociateServiceActionFromProvisioningArtifact(input *BatchDisassociateServiceActionFromProvisioningArtifactInput) (*BatchDisassociateServiceActionFromProvisioningArtifactOutput, error) {
701	req, out := c.BatchDisassociateServiceActionFromProvisioningArtifactRequest(input)
702	return out, req.Send()
703}
704
705// BatchDisassociateServiceActionFromProvisioningArtifactWithContext is the same as BatchDisassociateServiceActionFromProvisioningArtifact with the addition of
706// the ability to pass a context and additional request options.
707//
708// See BatchDisassociateServiceActionFromProvisioningArtifact for details on how to use this API operation.
709//
710// The context must be non-nil and will be used for request cancellation. If
711// the context is nil a panic will occur. In the future the SDK may create
712// sub-contexts for http.Requests. See https://golang.org/pkg/context/
713// for more information on using Contexts.
714func (c *ServiceCatalog) BatchDisassociateServiceActionFromProvisioningArtifactWithContext(ctx aws.Context, input *BatchDisassociateServiceActionFromProvisioningArtifactInput, opts ...request.Option) (*BatchDisassociateServiceActionFromProvisioningArtifactOutput, error) {
715	req, out := c.BatchDisassociateServiceActionFromProvisioningArtifactRequest(input)
716	req.SetContext(ctx)
717	req.ApplyOptions(opts...)
718	return out, req.Send()
719}
720
721const opCopyProduct = "CopyProduct"
722
723// CopyProductRequest generates a "aws/request.Request" representing the
724// client's request for the CopyProduct operation. The "output" return
725// value will be populated with the request's response once the request completes
726// successfully.
727//
728// Use "Send" method on the returned Request to send the API call to the service.
729// the "output" return value is not valid until after Send returns without error.
730//
731// See CopyProduct for more information on using the CopyProduct
732// API call, and error handling.
733//
734// This method is useful when you want to inject custom logic or configuration
735// into the SDK's request lifecycle. Such as custom headers, or retry logic.
736//
737//
738//    // Example sending a request using the CopyProductRequest method.
739//    req, resp := client.CopyProductRequest(params)
740//
741//    err := req.Send()
742//    if err == nil { // resp is now filled
743//        fmt.Println(resp)
744//    }
745//
746// See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/CopyProduct
747func (c *ServiceCatalog) CopyProductRequest(input *CopyProductInput) (req *request.Request, output *CopyProductOutput) {
748	op := &request.Operation{
749		Name:       opCopyProduct,
750		HTTPMethod: "POST",
751		HTTPPath:   "/",
752	}
753
754	if input == nil {
755		input = &CopyProductInput{}
756	}
757
758	output = &CopyProductOutput{}
759	req = c.newRequest(op, input, output)
760	return
761}
762
763// CopyProduct API operation for AWS Service Catalog.
764//
765// Copies the specified source product to the specified target product or a
766// new product.
767//
768// You can copy a product to the same account or another account. You can copy
769// a product to the same region or another region.
770//
771// This operation is performed asynchronously. To track the progress of the
772// operation, use DescribeCopyProductStatus.
773//
774// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
775// with awserr.Error's Code and Message methods to get detailed information about
776// the error.
777//
778// See the AWS API reference guide for AWS Service Catalog's
779// API operation CopyProduct for usage and error information.
780//
781// Returned Error Types:
782//   * ResourceNotFoundException
783//   The specified resource was not found.
784//
785//   * InvalidParametersException
786//   One or more parameters provided to the operation are not valid.
787//
788// See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/CopyProduct
789func (c *ServiceCatalog) CopyProduct(input *CopyProductInput) (*CopyProductOutput, error) {
790	req, out := c.CopyProductRequest(input)
791	return out, req.Send()
792}
793
794// CopyProductWithContext is the same as CopyProduct with the addition of
795// the ability to pass a context and additional request options.
796//
797// See CopyProduct for details on how to use this API operation.
798//
799// The context must be non-nil and will be used for request cancellation. If
800// the context is nil a panic will occur. In the future the SDK may create
801// sub-contexts for http.Requests. See https://golang.org/pkg/context/
802// for more information on using Contexts.
803func (c *ServiceCatalog) CopyProductWithContext(ctx aws.Context, input *CopyProductInput, opts ...request.Option) (*CopyProductOutput, error) {
804	req, out := c.CopyProductRequest(input)
805	req.SetContext(ctx)
806	req.ApplyOptions(opts...)
807	return out, req.Send()
808}
809
810const opCreateConstraint = "CreateConstraint"
811
812// CreateConstraintRequest generates a "aws/request.Request" representing the
813// client's request for the CreateConstraint operation. The "output" return
814// value will be populated with the request's response once the request completes
815// successfully.
816//
817// Use "Send" method on the returned Request to send the API call to the service.
818// the "output" return value is not valid until after Send returns without error.
819//
820// See CreateConstraint for more information on using the CreateConstraint
821// API call, and error handling.
822//
823// This method is useful when you want to inject custom logic or configuration
824// into the SDK's request lifecycle. Such as custom headers, or retry logic.
825//
826//
827//    // Example sending a request using the CreateConstraintRequest method.
828//    req, resp := client.CreateConstraintRequest(params)
829//
830//    err := req.Send()
831//    if err == nil { // resp is now filled
832//        fmt.Println(resp)
833//    }
834//
835// See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/CreateConstraint
836func (c *ServiceCatalog) CreateConstraintRequest(input *CreateConstraintInput) (req *request.Request, output *CreateConstraintOutput) {
837	op := &request.Operation{
838		Name:       opCreateConstraint,
839		HTTPMethod: "POST",
840		HTTPPath:   "/",
841	}
842
843	if input == nil {
844		input = &CreateConstraintInput{}
845	}
846
847	output = &CreateConstraintOutput{}
848	req = c.newRequest(op, input, output)
849	return
850}
851
852// CreateConstraint API operation for AWS Service Catalog.
853//
854// Creates a constraint.
855//
856// A delegated admin is authorized to invoke this command.
857//
858// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
859// with awserr.Error's Code and Message methods to get detailed information about
860// the error.
861//
862// See the AWS API reference guide for AWS Service Catalog's
863// API operation CreateConstraint for usage and error information.
864//
865// Returned Error Types:
866//   * ResourceNotFoundException
867//   The specified resource was not found.
868//
869//   * InvalidParametersException
870//   One or more parameters provided to the operation are not valid.
871//
872//   * LimitExceededException
873//   The current limits of the service would have been exceeded by this operation.
874//   Decrease your resource use or increase your service limits and retry the
875//   operation.
876//
877//   * DuplicateResourceException
878//   The specified resource is a duplicate.
879//
880// See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/CreateConstraint
881func (c *ServiceCatalog) CreateConstraint(input *CreateConstraintInput) (*CreateConstraintOutput, error) {
882	req, out := c.CreateConstraintRequest(input)
883	return out, req.Send()
884}
885
886// CreateConstraintWithContext is the same as CreateConstraint with the addition of
887// the ability to pass a context and additional request options.
888//
889// See CreateConstraint for details on how to use this API operation.
890//
891// The context must be non-nil and will be used for request cancellation. If
892// the context is nil a panic will occur. In the future the SDK may create
893// sub-contexts for http.Requests. See https://golang.org/pkg/context/
894// for more information on using Contexts.
895func (c *ServiceCatalog) CreateConstraintWithContext(ctx aws.Context, input *CreateConstraintInput, opts ...request.Option) (*CreateConstraintOutput, error) {
896	req, out := c.CreateConstraintRequest(input)
897	req.SetContext(ctx)
898	req.ApplyOptions(opts...)
899	return out, req.Send()
900}
901
902const opCreatePortfolio = "CreatePortfolio"
903
904// CreatePortfolioRequest generates a "aws/request.Request" representing the
905// client's request for the CreatePortfolio operation. The "output" return
906// value will be populated with the request's response once the request completes
907// successfully.
908//
909// Use "Send" method on the returned Request to send the API call to the service.
910// the "output" return value is not valid until after Send returns without error.
911//
912// See CreatePortfolio for more information on using the CreatePortfolio
913// API call, and error handling.
914//
915// This method is useful when you want to inject custom logic or configuration
916// into the SDK's request lifecycle. Such as custom headers, or retry logic.
917//
918//
919//    // Example sending a request using the CreatePortfolioRequest method.
920//    req, resp := client.CreatePortfolioRequest(params)
921//
922//    err := req.Send()
923//    if err == nil { // resp is now filled
924//        fmt.Println(resp)
925//    }
926//
927// See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/CreatePortfolio
928func (c *ServiceCatalog) CreatePortfolioRequest(input *CreatePortfolioInput) (req *request.Request, output *CreatePortfolioOutput) {
929	op := &request.Operation{
930		Name:       opCreatePortfolio,
931		HTTPMethod: "POST",
932		HTTPPath:   "/",
933	}
934
935	if input == nil {
936		input = &CreatePortfolioInput{}
937	}
938
939	output = &CreatePortfolioOutput{}
940	req = c.newRequest(op, input, output)
941	return
942}
943
944// CreatePortfolio API operation for AWS Service Catalog.
945//
946// Creates a portfolio.
947//
948// A delegated admin is authorized to invoke this command.
949//
950// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
951// with awserr.Error's Code and Message methods to get detailed information about
952// the error.
953//
954// See the AWS API reference guide for AWS Service Catalog's
955// API operation CreatePortfolio for usage and error information.
956//
957// Returned Error Types:
958//   * InvalidParametersException
959//   One or more parameters provided to the operation are not valid.
960//
961//   * LimitExceededException
962//   The current limits of the service would have been exceeded by this operation.
963//   Decrease your resource use or increase your service limits and retry the
964//   operation.
965//
966//   * TagOptionNotMigratedException
967//   An operation requiring TagOptions failed because the TagOptions migration
968//   process has not been performed for this account. Please use the AWS console
969//   to perform the migration process before retrying the operation.
970//
971// See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/CreatePortfolio
972func (c *ServiceCatalog) CreatePortfolio(input *CreatePortfolioInput) (*CreatePortfolioOutput, error) {
973	req, out := c.CreatePortfolioRequest(input)
974	return out, req.Send()
975}
976
977// CreatePortfolioWithContext is the same as CreatePortfolio with the addition of
978// the ability to pass a context and additional request options.
979//
980// See CreatePortfolio for details on how to use this API operation.
981//
982// The context must be non-nil and will be used for request cancellation. If
983// the context is nil a panic will occur. In the future the SDK may create
984// sub-contexts for http.Requests. See https://golang.org/pkg/context/
985// for more information on using Contexts.
986func (c *ServiceCatalog) CreatePortfolioWithContext(ctx aws.Context, input *CreatePortfolioInput, opts ...request.Option) (*CreatePortfolioOutput, error) {
987	req, out := c.CreatePortfolioRequest(input)
988	req.SetContext(ctx)
989	req.ApplyOptions(opts...)
990	return out, req.Send()
991}
992
993const opCreatePortfolioShare = "CreatePortfolioShare"
994
995// CreatePortfolioShareRequest generates a "aws/request.Request" representing the
996// client's request for the CreatePortfolioShare operation. The "output" return
997// value will be populated with the request's response once the request completes
998// successfully.
999//
1000// Use "Send" method on the returned Request to send the API call to the service.
1001// the "output" return value is not valid until after Send returns without error.
1002//
1003// See CreatePortfolioShare for more information on using the CreatePortfolioShare
1004// API call, and error handling.
1005//
1006// This method is useful when you want to inject custom logic or configuration
1007// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1008//
1009//
1010//    // Example sending a request using the CreatePortfolioShareRequest method.
1011//    req, resp := client.CreatePortfolioShareRequest(params)
1012//
1013//    err := req.Send()
1014//    if err == nil { // resp is now filled
1015//        fmt.Println(resp)
1016//    }
1017//
1018// See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/CreatePortfolioShare
1019func (c *ServiceCatalog) CreatePortfolioShareRequest(input *CreatePortfolioShareInput) (req *request.Request, output *CreatePortfolioShareOutput) {
1020	op := &request.Operation{
1021		Name:       opCreatePortfolioShare,
1022		HTTPMethod: "POST",
1023		HTTPPath:   "/",
1024	}
1025
1026	if input == nil {
1027		input = &CreatePortfolioShareInput{}
1028	}
1029
1030	output = &CreatePortfolioShareOutput{}
1031	req = c.newRequest(op, input, output)
1032	return
1033}
1034
1035// CreatePortfolioShare API operation for AWS Service Catalog.
1036//
1037// Shares the specified portfolio with the specified account or organization
1038// node. Shares to an organization node can only be created by the management
1039// account of an organization or by a delegated administrator. You can share
1040// portfolios to an organization, an organizational unit, or a specific account.
1041//
1042// Note that if a delegated admin is de-registered, they can no longer create
1043// portfolio shares.
1044//
1045// AWSOrganizationsAccess must be enabled in order to create a portfolio share
1046// to an organization node.
1047//
1048// You can't share a shared resource, including portfolios that contain a shared
1049// product.
1050//
1051// If the portfolio share with the specified account or organization node already
1052// exists, this action will have no effect and will not return an error. To
1053// update an existing share, you must use the UpdatePortfolioShare API instead.
1054//
1055// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1056// with awserr.Error's Code and Message methods to get detailed information about
1057// the error.
1058//
1059// See the AWS API reference guide for AWS Service Catalog's
1060// API operation CreatePortfolioShare for usage and error information.
1061//
1062// Returned Error Types:
1063//   * ResourceNotFoundException
1064//   The specified resource was not found.
1065//
1066//   * LimitExceededException
1067//   The current limits of the service would have been exceeded by this operation.
1068//   Decrease your resource use or increase your service limits and retry the
1069//   operation.
1070//
1071//   * InvalidParametersException
1072//   One or more parameters provided to the operation are not valid.
1073//
1074//   * OperationNotSupportedException
1075//   The operation is not supported.
1076//
1077//   * InvalidStateException
1078//   An attempt was made to modify a resource that is in a state that is not valid.
1079//   Check your resources to ensure that they are in valid states before retrying
1080//   the operation.
1081//
1082// See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/CreatePortfolioShare
1083func (c *ServiceCatalog) CreatePortfolioShare(input *CreatePortfolioShareInput) (*CreatePortfolioShareOutput, error) {
1084	req, out := c.CreatePortfolioShareRequest(input)
1085	return out, req.Send()
1086}
1087
1088// CreatePortfolioShareWithContext is the same as CreatePortfolioShare with the addition of
1089// the ability to pass a context and additional request options.
1090//
1091// See CreatePortfolioShare for details on how to use this API operation.
1092//
1093// The context must be non-nil and will be used for request cancellation. If
1094// the context is nil a panic will occur. In the future the SDK may create
1095// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1096// for more information on using Contexts.
1097func (c *ServiceCatalog) CreatePortfolioShareWithContext(ctx aws.Context, input *CreatePortfolioShareInput, opts ...request.Option) (*CreatePortfolioShareOutput, error) {
1098	req, out := c.CreatePortfolioShareRequest(input)
1099	req.SetContext(ctx)
1100	req.ApplyOptions(opts...)
1101	return out, req.Send()
1102}
1103
1104const opCreateProduct = "CreateProduct"
1105
1106// CreateProductRequest generates a "aws/request.Request" representing the
1107// client's request for the CreateProduct operation. The "output" return
1108// value will be populated with the request's response once the request completes
1109// successfully.
1110//
1111// Use "Send" method on the returned Request to send the API call to the service.
1112// the "output" return value is not valid until after Send returns without error.
1113//
1114// See CreateProduct for more information on using the CreateProduct
1115// API call, and error handling.
1116//
1117// This method is useful when you want to inject custom logic or configuration
1118// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1119//
1120//
1121//    // Example sending a request using the CreateProductRequest method.
1122//    req, resp := client.CreateProductRequest(params)
1123//
1124//    err := req.Send()
1125//    if err == nil { // resp is now filled
1126//        fmt.Println(resp)
1127//    }
1128//
1129// See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/CreateProduct
1130func (c *ServiceCatalog) CreateProductRequest(input *CreateProductInput) (req *request.Request, output *CreateProductOutput) {
1131	op := &request.Operation{
1132		Name:       opCreateProduct,
1133		HTTPMethod: "POST",
1134		HTTPPath:   "/",
1135	}
1136
1137	if input == nil {
1138		input = &CreateProductInput{}
1139	}
1140
1141	output = &CreateProductOutput{}
1142	req = c.newRequest(op, input, output)
1143	return
1144}
1145
1146// CreateProduct API operation for AWS Service Catalog.
1147//
1148// Creates a product.
1149//
1150// A delegated admin is authorized to invoke this command.
1151//
1152// The user or role that performs this operation must have the cloudformation:GetTemplate
1153// IAM policy permission. This policy permission is required when using the
1154// ImportFromPhysicalId template source in the information data section.
1155//
1156// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1157// with awserr.Error's Code and Message methods to get detailed information about
1158// the error.
1159//
1160// See the AWS API reference guide for AWS Service Catalog's
1161// API operation CreateProduct for usage and error information.
1162//
1163// Returned Error Types:
1164//   * InvalidParametersException
1165//   One or more parameters provided to the operation are not valid.
1166//
1167//   * LimitExceededException
1168//   The current limits of the service would have been exceeded by this operation.
1169//   Decrease your resource use or increase your service limits and retry the
1170//   operation.
1171//
1172//   * TagOptionNotMigratedException
1173//   An operation requiring TagOptions failed because the TagOptions migration
1174//   process has not been performed for this account. Please use the AWS console
1175//   to perform the migration process before retrying the operation.
1176//
1177// See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/CreateProduct
1178func (c *ServiceCatalog) CreateProduct(input *CreateProductInput) (*CreateProductOutput, error) {
1179	req, out := c.CreateProductRequest(input)
1180	return out, req.Send()
1181}
1182
1183// CreateProductWithContext is the same as CreateProduct with the addition of
1184// the ability to pass a context and additional request options.
1185//
1186// See CreateProduct for details on how to use this API operation.
1187//
1188// The context must be non-nil and will be used for request cancellation. If
1189// the context is nil a panic will occur. In the future the SDK may create
1190// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1191// for more information on using Contexts.
1192func (c *ServiceCatalog) CreateProductWithContext(ctx aws.Context, input *CreateProductInput, opts ...request.Option) (*CreateProductOutput, error) {
1193	req, out := c.CreateProductRequest(input)
1194	req.SetContext(ctx)
1195	req.ApplyOptions(opts...)
1196	return out, req.Send()
1197}
1198
1199const opCreateProvisionedProductPlan = "CreateProvisionedProductPlan"
1200
1201// CreateProvisionedProductPlanRequest generates a "aws/request.Request" representing the
1202// client's request for the CreateProvisionedProductPlan operation. The "output" return
1203// value will be populated with the request's response once the request completes
1204// successfully.
1205//
1206// Use "Send" method on the returned Request to send the API call to the service.
1207// the "output" return value is not valid until after Send returns without error.
1208//
1209// See CreateProvisionedProductPlan for more information on using the CreateProvisionedProductPlan
1210// API call, and error handling.
1211//
1212// This method is useful when you want to inject custom logic or configuration
1213// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1214//
1215//
1216//    // Example sending a request using the CreateProvisionedProductPlanRequest method.
1217//    req, resp := client.CreateProvisionedProductPlanRequest(params)
1218//
1219//    err := req.Send()
1220//    if err == nil { // resp is now filled
1221//        fmt.Println(resp)
1222//    }
1223//
1224// See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/CreateProvisionedProductPlan
1225func (c *ServiceCatalog) CreateProvisionedProductPlanRequest(input *CreateProvisionedProductPlanInput) (req *request.Request, output *CreateProvisionedProductPlanOutput) {
1226	op := &request.Operation{
1227		Name:       opCreateProvisionedProductPlan,
1228		HTTPMethod: "POST",
1229		HTTPPath:   "/",
1230	}
1231
1232	if input == nil {
1233		input = &CreateProvisionedProductPlanInput{}
1234	}
1235
1236	output = &CreateProvisionedProductPlanOutput{}
1237	req = c.newRequest(op, input, output)
1238	return
1239}
1240
1241// CreateProvisionedProductPlan API operation for AWS Service Catalog.
1242//
1243// Creates a plan. A plan includes the list of resources to be created (when
1244// provisioning a new product) or modified (when updating a provisioned product)
1245// when the plan is executed.
1246//
1247// You can create one plan per provisioned product. To create a plan for an
1248// existing provisioned product, the product status must be AVAILBLE or TAINTED.
1249//
1250// To view the resource changes in the change set, use DescribeProvisionedProductPlan.
1251// To create or modify the provisioned product, use ExecuteProvisionedProductPlan.
1252//
1253// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1254// with awserr.Error's Code and Message methods to get detailed information about
1255// the error.
1256//
1257// See the AWS API reference guide for AWS Service Catalog's
1258// API operation CreateProvisionedProductPlan for usage and error information.
1259//
1260// Returned Error Types:
1261//   * InvalidParametersException
1262//   One or more parameters provided to the operation are not valid.
1263//
1264//   * ResourceNotFoundException
1265//   The specified resource was not found.
1266//
1267//   * InvalidStateException
1268//   An attempt was made to modify a resource that is in a state that is not valid.
1269//   Check your resources to ensure that they are in valid states before retrying
1270//   the operation.
1271//
1272// See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/CreateProvisionedProductPlan
1273func (c *ServiceCatalog) CreateProvisionedProductPlan(input *CreateProvisionedProductPlanInput) (*CreateProvisionedProductPlanOutput, error) {
1274	req, out := c.CreateProvisionedProductPlanRequest(input)
1275	return out, req.Send()
1276}
1277
1278// CreateProvisionedProductPlanWithContext is the same as CreateProvisionedProductPlan with the addition of
1279// the ability to pass a context and additional request options.
1280//
1281// See CreateProvisionedProductPlan for details on how to use this API operation.
1282//
1283// The context must be non-nil and will be used for request cancellation. If
1284// the context is nil a panic will occur. In the future the SDK may create
1285// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1286// for more information on using Contexts.
1287func (c *ServiceCatalog) CreateProvisionedProductPlanWithContext(ctx aws.Context, input *CreateProvisionedProductPlanInput, opts ...request.Option) (*CreateProvisionedProductPlanOutput, error) {
1288	req, out := c.CreateProvisionedProductPlanRequest(input)
1289	req.SetContext(ctx)
1290	req.ApplyOptions(opts...)
1291	return out, req.Send()
1292}
1293
1294const opCreateProvisioningArtifact = "CreateProvisioningArtifact"
1295
1296// CreateProvisioningArtifactRequest generates a "aws/request.Request" representing the
1297// client's request for the CreateProvisioningArtifact operation. The "output" return
1298// value will be populated with the request's response once the request completes
1299// successfully.
1300//
1301// Use "Send" method on the returned Request to send the API call to the service.
1302// the "output" return value is not valid until after Send returns without error.
1303//
1304// See CreateProvisioningArtifact for more information on using the CreateProvisioningArtifact
1305// API call, and error handling.
1306//
1307// This method is useful when you want to inject custom logic or configuration
1308// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1309//
1310//
1311//    // Example sending a request using the CreateProvisioningArtifactRequest method.
1312//    req, resp := client.CreateProvisioningArtifactRequest(params)
1313//
1314//    err := req.Send()
1315//    if err == nil { // resp is now filled
1316//        fmt.Println(resp)
1317//    }
1318//
1319// See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/CreateProvisioningArtifact
1320func (c *ServiceCatalog) CreateProvisioningArtifactRequest(input *CreateProvisioningArtifactInput) (req *request.Request, output *CreateProvisioningArtifactOutput) {
1321	op := &request.Operation{
1322		Name:       opCreateProvisioningArtifact,
1323		HTTPMethod: "POST",
1324		HTTPPath:   "/",
1325	}
1326
1327	if input == nil {
1328		input = &CreateProvisioningArtifactInput{}
1329	}
1330
1331	output = &CreateProvisioningArtifactOutput{}
1332	req = c.newRequest(op, input, output)
1333	return
1334}
1335
1336// CreateProvisioningArtifact API operation for AWS Service Catalog.
1337//
1338// Creates a provisioning artifact (also known as a version) for the specified
1339// product.
1340//
1341// You cannot create a provisioning artifact for a product that was shared with
1342// you.
1343//
1344// The user or role that performs this operation must have the cloudformation:GetTemplate
1345// IAM policy permission. This policy permission is required when using the
1346// ImportFromPhysicalId template source in the information data section.
1347//
1348// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1349// with awserr.Error's Code and Message methods to get detailed information about
1350// the error.
1351//
1352// See the AWS API reference guide for AWS Service Catalog's
1353// API operation CreateProvisioningArtifact for usage and error information.
1354//
1355// Returned Error Types:
1356//   * ResourceNotFoundException
1357//   The specified resource was not found.
1358//
1359//   * InvalidParametersException
1360//   One or more parameters provided to the operation are not valid.
1361//
1362//   * LimitExceededException
1363//   The current limits of the service would have been exceeded by this operation.
1364//   Decrease your resource use or increase your service limits and retry the
1365//   operation.
1366//
1367// See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/CreateProvisioningArtifact
1368func (c *ServiceCatalog) CreateProvisioningArtifact(input *CreateProvisioningArtifactInput) (*CreateProvisioningArtifactOutput, error) {
1369	req, out := c.CreateProvisioningArtifactRequest(input)
1370	return out, req.Send()
1371}
1372
1373// CreateProvisioningArtifactWithContext is the same as CreateProvisioningArtifact with the addition of
1374// the ability to pass a context and additional request options.
1375//
1376// See CreateProvisioningArtifact for details on how to use this API operation.
1377//
1378// The context must be non-nil and will be used for request cancellation. If
1379// the context is nil a panic will occur. In the future the SDK may create
1380// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1381// for more information on using Contexts.
1382func (c *ServiceCatalog) CreateProvisioningArtifactWithContext(ctx aws.Context, input *CreateProvisioningArtifactInput, opts ...request.Option) (*CreateProvisioningArtifactOutput, error) {
1383	req, out := c.CreateProvisioningArtifactRequest(input)
1384	req.SetContext(ctx)
1385	req.ApplyOptions(opts...)
1386	return out, req.Send()
1387}
1388
1389const opCreateServiceAction = "CreateServiceAction"
1390
1391// CreateServiceActionRequest generates a "aws/request.Request" representing the
1392// client's request for the CreateServiceAction operation. The "output" return
1393// value will be populated with the request's response once the request completes
1394// successfully.
1395//
1396// Use "Send" method on the returned Request to send the API call to the service.
1397// the "output" return value is not valid until after Send returns without error.
1398//
1399// See CreateServiceAction for more information on using the CreateServiceAction
1400// API call, and error handling.
1401//
1402// This method is useful when you want to inject custom logic or configuration
1403// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1404//
1405//
1406//    // Example sending a request using the CreateServiceActionRequest method.
1407//    req, resp := client.CreateServiceActionRequest(params)
1408//
1409//    err := req.Send()
1410//    if err == nil { // resp is now filled
1411//        fmt.Println(resp)
1412//    }
1413//
1414// See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/CreateServiceAction
1415func (c *ServiceCatalog) CreateServiceActionRequest(input *CreateServiceActionInput) (req *request.Request, output *CreateServiceActionOutput) {
1416	op := &request.Operation{
1417		Name:       opCreateServiceAction,
1418		HTTPMethod: "POST",
1419		HTTPPath:   "/",
1420	}
1421
1422	if input == nil {
1423		input = &CreateServiceActionInput{}
1424	}
1425
1426	output = &CreateServiceActionOutput{}
1427	req = c.newRequest(op, input, output)
1428	return
1429}
1430
1431// CreateServiceAction API operation for AWS Service Catalog.
1432//
1433// Creates a self-service action.
1434//
1435// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1436// with awserr.Error's Code and Message methods to get detailed information about
1437// the error.
1438//
1439// See the AWS API reference guide for AWS Service Catalog's
1440// API operation CreateServiceAction for usage and error information.
1441//
1442// Returned Error Types:
1443//   * InvalidParametersException
1444//   One or more parameters provided to the operation are not valid.
1445//
1446//   * LimitExceededException
1447//   The current limits of the service would have been exceeded by this operation.
1448//   Decrease your resource use or increase your service limits and retry the
1449//   operation.
1450//
1451// See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/CreateServiceAction
1452func (c *ServiceCatalog) CreateServiceAction(input *CreateServiceActionInput) (*CreateServiceActionOutput, error) {
1453	req, out := c.CreateServiceActionRequest(input)
1454	return out, req.Send()
1455}
1456
1457// CreateServiceActionWithContext is the same as CreateServiceAction with the addition of
1458// the ability to pass a context and additional request options.
1459//
1460// See CreateServiceAction for details on how to use this API operation.
1461//
1462// The context must be non-nil and will be used for request cancellation. If
1463// the context is nil a panic will occur. In the future the SDK may create
1464// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1465// for more information on using Contexts.
1466func (c *ServiceCatalog) CreateServiceActionWithContext(ctx aws.Context, input *CreateServiceActionInput, opts ...request.Option) (*CreateServiceActionOutput, error) {
1467	req, out := c.CreateServiceActionRequest(input)
1468	req.SetContext(ctx)
1469	req.ApplyOptions(opts...)
1470	return out, req.Send()
1471}
1472
1473const opCreateTagOption = "CreateTagOption"
1474
1475// CreateTagOptionRequest generates a "aws/request.Request" representing the
1476// client's request for the CreateTagOption operation. The "output" return
1477// value will be populated with the request's response once the request completes
1478// successfully.
1479//
1480// Use "Send" method on the returned Request to send the API call to the service.
1481// the "output" return value is not valid until after Send returns without error.
1482//
1483// See CreateTagOption for more information on using the CreateTagOption
1484// API call, and error handling.
1485//
1486// This method is useful when you want to inject custom logic or configuration
1487// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1488//
1489//
1490//    // Example sending a request using the CreateTagOptionRequest method.
1491//    req, resp := client.CreateTagOptionRequest(params)
1492//
1493//    err := req.Send()
1494//    if err == nil { // resp is now filled
1495//        fmt.Println(resp)
1496//    }
1497//
1498// See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/CreateTagOption
1499func (c *ServiceCatalog) CreateTagOptionRequest(input *CreateTagOptionInput) (req *request.Request, output *CreateTagOptionOutput) {
1500	op := &request.Operation{
1501		Name:       opCreateTagOption,
1502		HTTPMethod: "POST",
1503		HTTPPath:   "/",
1504	}
1505
1506	if input == nil {
1507		input = &CreateTagOptionInput{}
1508	}
1509
1510	output = &CreateTagOptionOutput{}
1511	req = c.newRequest(op, input, output)
1512	return
1513}
1514
1515// CreateTagOption API operation for AWS Service Catalog.
1516//
1517// Creates a TagOption.
1518//
1519// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1520// with awserr.Error's Code and Message methods to get detailed information about
1521// the error.
1522//
1523// See the AWS API reference guide for AWS Service Catalog's
1524// API operation CreateTagOption for usage and error information.
1525//
1526// Returned Error Types:
1527//   * TagOptionNotMigratedException
1528//   An operation requiring TagOptions failed because the TagOptions migration
1529//   process has not been performed for this account. Please use the AWS console
1530//   to perform the migration process before retrying the operation.
1531//
1532//   * DuplicateResourceException
1533//   The specified resource is a duplicate.
1534//
1535//   * LimitExceededException
1536//   The current limits of the service would have been exceeded by this operation.
1537//   Decrease your resource use or increase your service limits and retry the
1538//   operation.
1539//
1540// See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/CreateTagOption
1541func (c *ServiceCatalog) CreateTagOption(input *CreateTagOptionInput) (*CreateTagOptionOutput, error) {
1542	req, out := c.CreateTagOptionRequest(input)
1543	return out, req.Send()
1544}
1545
1546// CreateTagOptionWithContext is the same as CreateTagOption with the addition of
1547// the ability to pass a context and additional request options.
1548//
1549// See CreateTagOption for details on how to use this API operation.
1550//
1551// The context must be non-nil and will be used for request cancellation. If
1552// the context is nil a panic will occur. In the future the SDK may create
1553// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1554// for more information on using Contexts.
1555func (c *ServiceCatalog) CreateTagOptionWithContext(ctx aws.Context, input *CreateTagOptionInput, opts ...request.Option) (*CreateTagOptionOutput, error) {
1556	req, out := c.CreateTagOptionRequest(input)
1557	req.SetContext(ctx)
1558	req.ApplyOptions(opts...)
1559	return out, req.Send()
1560}
1561
1562const opDeleteConstraint = "DeleteConstraint"
1563
1564// DeleteConstraintRequest generates a "aws/request.Request" representing the
1565// client's request for the DeleteConstraint operation. The "output" return
1566// value will be populated with the request's response once the request completes
1567// successfully.
1568//
1569// Use "Send" method on the returned Request to send the API call to the service.
1570// the "output" return value is not valid until after Send returns without error.
1571//
1572// See DeleteConstraint for more information on using the DeleteConstraint
1573// API call, and error handling.
1574//
1575// This method is useful when you want to inject custom logic or configuration
1576// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1577//
1578//
1579//    // Example sending a request using the DeleteConstraintRequest method.
1580//    req, resp := client.DeleteConstraintRequest(params)
1581//
1582//    err := req.Send()
1583//    if err == nil { // resp is now filled
1584//        fmt.Println(resp)
1585//    }
1586//
1587// See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/DeleteConstraint
1588func (c *ServiceCatalog) DeleteConstraintRequest(input *DeleteConstraintInput) (req *request.Request, output *DeleteConstraintOutput) {
1589	op := &request.Operation{
1590		Name:       opDeleteConstraint,
1591		HTTPMethod: "POST",
1592		HTTPPath:   "/",
1593	}
1594
1595	if input == nil {
1596		input = &DeleteConstraintInput{}
1597	}
1598
1599	output = &DeleteConstraintOutput{}
1600	req = c.newRequest(op, input, output)
1601	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
1602	return
1603}
1604
1605// DeleteConstraint API operation for AWS Service Catalog.
1606//
1607// Deletes the specified constraint.
1608//
1609// A delegated admin is authorized to invoke this command.
1610//
1611// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1612// with awserr.Error's Code and Message methods to get detailed information about
1613// the error.
1614//
1615// See the AWS API reference guide for AWS Service Catalog's
1616// API operation DeleteConstraint for usage and error information.
1617//
1618// Returned Error Types:
1619//   * ResourceNotFoundException
1620//   The specified resource was not found.
1621//
1622//   * InvalidParametersException
1623//   One or more parameters provided to the operation are not valid.
1624//
1625// See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/DeleteConstraint
1626func (c *ServiceCatalog) DeleteConstraint(input *DeleteConstraintInput) (*DeleteConstraintOutput, error) {
1627	req, out := c.DeleteConstraintRequest(input)
1628	return out, req.Send()
1629}
1630
1631// DeleteConstraintWithContext is the same as DeleteConstraint with the addition of
1632// the ability to pass a context and additional request options.
1633//
1634// See DeleteConstraint for details on how to use this API operation.
1635//
1636// The context must be non-nil and will be used for request cancellation. If
1637// the context is nil a panic will occur. In the future the SDK may create
1638// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1639// for more information on using Contexts.
1640func (c *ServiceCatalog) DeleteConstraintWithContext(ctx aws.Context, input *DeleteConstraintInput, opts ...request.Option) (*DeleteConstraintOutput, error) {
1641	req, out := c.DeleteConstraintRequest(input)
1642	req.SetContext(ctx)
1643	req.ApplyOptions(opts...)
1644	return out, req.Send()
1645}
1646
1647const opDeletePortfolio = "DeletePortfolio"
1648
1649// DeletePortfolioRequest generates a "aws/request.Request" representing the
1650// client's request for the DeletePortfolio operation. The "output" return
1651// value will be populated with the request's response once the request completes
1652// successfully.
1653//
1654// Use "Send" method on the returned Request to send the API call to the service.
1655// the "output" return value is not valid until after Send returns without error.
1656//
1657// See DeletePortfolio for more information on using the DeletePortfolio
1658// API call, and error handling.
1659//
1660// This method is useful when you want to inject custom logic or configuration
1661// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1662//
1663//
1664//    // Example sending a request using the DeletePortfolioRequest method.
1665//    req, resp := client.DeletePortfolioRequest(params)
1666//
1667//    err := req.Send()
1668//    if err == nil { // resp is now filled
1669//        fmt.Println(resp)
1670//    }
1671//
1672// See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/DeletePortfolio
1673func (c *ServiceCatalog) DeletePortfolioRequest(input *DeletePortfolioInput) (req *request.Request, output *DeletePortfolioOutput) {
1674	op := &request.Operation{
1675		Name:       opDeletePortfolio,
1676		HTTPMethod: "POST",
1677		HTTPPath:   "/",
1678	}
1679
1680	if input == nil {
1681		input = &DeletePortfolioInput{}
1682	}
1683
1684	output = &DeletePortfolioOutput{}
1685	req = c.newRequest(op, input, output)
1686	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
1687	return
1688}
1689
1690// DeletePortfolio API operation for AWS Service Catalog.
1691//
1692// Deletes the specified portfolio.
1693//
1694// You cannot delete a portfolio if it was shared with you or if it has associated
1695// products, users, constraints, or shared accounts.
1696//
1697// A delegated admin is authorized to invoke this command.
1698//
1699// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1700// with awserr.Error's Code and Message methods to get detailed information about
1701// the error.
1702//
1703// See the AWS API reference guide for AWS Service Catalog's
1704// API operation DeletePortfolio for usage and error information.
1705//
1706// Returned Error Types:
1707//   * ResourceNotFoundException
1708//   The specified resource was not found.
1709//
1710//   * InvalidParametersException
1711//   One or more parameters provided to the operation are not valid.
1712//
1713//   * ResourceInUseException
1714//   A resource that is currently in use. Ensure that the resource is not in use
1715//   and retry the operation.
1716//
1717//   * TagOptionNotMigratedException
1718//   An operation requiring TagOptions failed because the TagOptions migration
1719//   process has not been performed for this account. Please use the AWS console
1720//   to perform the migration process before retrying the operation.
1721//
1722// See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/DeletePortfolio
1723func (c *ServiceCatalog) DeletePortfolio(input *DeletePortfolioInput) (*DeletePortfolioOutput, error) {
1724	req, out := c.DeletePortfolioRequest(input)
1725	return out, req.Send()
1726}
1727
1728// DeletePortfolioWithContext is the same as DeletePortfolio with the addition of
1729// the ability to pass a context and additional request options.
1730//
1731// See DeletePortfolio for details on how to use this API operation.
1732//
1733// The context must be non-nil and will be used for request cancellation. If
1734// the context is nil a panic will occur. In the future the SDK may create
1735// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1736// for more information on using Contexts.
1737func (c *ServiceCatalog) DeletePortfolioWithContext(ctx aws.Context, input *DeletePortfolioInput, opts ...request.Option) (*DeletePortfolioOutput, error) {
1738	req, out := c.DeletePortfolioRequest(input)
1739	req.SetContext(ctx)
1740	req.ApplyOptions(opts...)
1741	return out, req.Send()
1742}
1743
1744const opDeletePortfolioShare = "DeletePortfolioShare"
1745
1746// DeletePortfolioShareRequest generates a "aws/request.Request" representing the
1747// client's request for the DeletePortfolioShare operation. The "output" return
1748// value will be populated with the request's response once the request completes
1749// successfully.
1750//
1751// Use "Send" method on the returned Request to send the API call to the service.
1752// the "output" return value is not valid until after Send returns without error.
1753//
1754// See DeletePortfolioShare for more information on using the DeletePortfolioShare
1755// API call, and error handling.
1756//
1757// This method is useful when you want to inject custom logic or configuration
1758// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1759//
1760//
1761//    // Example sending a request using the DeletePortfolioShareRequest method.
1762//    req, resp := client.DeletePortfolioShareRequest(params)
1763//
1764//    err := req.Send()
1765//    if err == nil { // resp is now filled
1766//        fmt.Println(resp)
1767//    }
1768//
1769// See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/DeletePortfolioShare
1770func (c *ServiceCatalog) DeletePortfolioShareRequest(input *DeletePortfolioShareInput) (req *request.Request, output *DeletePortfolioShareOutput) {
1771	op := &request.Operation{
1772		Name:       opDeletePortfolioShare,
1773		HTTPMethod: "POST",
1774		HTTPPath:   "/",
1775	}
1776
1777	if input == nil {
1778		input = &DeletePortfolioShareInput{}
1779	}
1780
1781	output = &DeletePortfolioShareOutput{}
1782	req = c.newRequest(op, input, output)
1783	return
1784}
1785
1786// DeletePortfolioShare API operation for AWS Service Catalog.
1787//
1788// Stops sharing the specified portfolio with the specified account or organization
1789// node. Shares to an organization node can only be deleted by the management
1790// account of an organization or by a delegated administrator.
1791//
1792// Note that if a delegated admin is de-registered, portfolio shares created
1793// from that account are removed.
1794//
1795// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1796// with awserr.Error's Code and Message methods to get detailed information about
1797// the error.
1798//
1799// See the AWS API reference guide for AWS Service Catalog's
1800// API operation DeletePortfolioShare for usage and error information.
1801//
1802// Returned Error Types:
1803//   * ResourceNotFoundException
1804//   The specified resource was not found.
1805//
1806//   * InvalidParametersException
1807//   One or more parameters provided to the operation are not valid.
1808//
1809//   * OperationNotSupportedException
1810//   The operation is not supported.
1811//
1812//   * InvalidStateException
1813//   An attempt was made to modify a resource that is in a state that is not valid.
1814//   Check your resources to ensure that they are in valid states before retrying
1815//   the operation.
1816//
1817// See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/DeletePortfolioShare
1818func (c *ServiceCatalog) DeletePortfolioShare(input *DeletePortfolioShareInput) (*DeletePortfolioShareOutput, error) {
1819	req, out := c.DeletePortfolioShareRequest(input)
1820	return out, req.Send()
1821}
1822
1823// DeletePortfolioShareWithContext is the same as DeletePortfolioShare with the addition of
1824// the ability to pass a context and additional request options.
1825//
1826// See DeletePortfolioShare for details on how to use this API operation.
1827//
1828// The context must be non-nil and will be used for request cancellation. If
1829// the context is nil a panic will occur. In the future the SDK may create
1830// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1831// for more information on using Contexts.
1832func (c *ServiceCatalog) DeletePortfolioShareWithContext(ctx aws.Context, input *DeletePortfolioShareInput, opts ...request.Option) (*DeletePortfolioShareOutput, error) {
1833	req, out := c.DeletePortfolioShareRequest(input)
1834	req.SetContext(ctx)
1835	req.ApplyOptions(opts...)
1836	return out, req.Send()
1837}
1838
1839const opDeleteProduct = "DeleteProduct"
1840
1841// DeleteProductRequest generates a "aws/request.Request" representing the
1842// client's request for the DeleteProduct operation. The "output" return
1843// value will be populated with the request's response once the request completes
1844// successfully.
1845//
1846// Use "Send" method on the returned Request to send the API call to the service.
1847// the "output" return value is not valid until after Send returns without error.
1848//
1849// See DeleteProduct for more information on using the DeleteProduct
1850// API call, and error handling.
1851//
1852// This method is useful when you want to inject custom logic or configuration
1853// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1854//
1855//
1856//    // Example sending a request using the DeleteProductRequest method.
1857//    req, resp := client.DeleteProductRequest(params)
1858//
1859//    err := req.Send()
1860//    if err == nil { // resp is now filled
1861//        fmt.Println(resp)
1862//    }
1863//
1864// See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/DeleteProduct
1865func (c *ServiceCatalog) DeleteProductRequest(input *DeleteProductInput) (req *request.Request, output *DeleteProductOutput) {
1866	op := &request.Operation{
1867		Name:       opDeleteProduct,
1868		HTTPMethod: "POST",
1869		HTTPPath:   "/",
1870	}
1871
1872	if input == nil {
1873		input = &DeleteProductInput{}
1874	}
1875
1876	output = &DeleteProductOutput{}
1877	req = c.newRequest(op, input, output)
1878	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
1879	return
1880}
1881
1882// DeleteProduct API operation for AWS Service Catalog.
1883//
1884// Deletes the specified product.
1885//
1886// You cannot delete a product if it was shared with you or is associated with
1887// a portfolio.
1888//
1889// A delegated admin is authorized to invoke this command.
1890//
1891// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1892// with awserr.Error's Code and Message methods to get detailed information about
1893// the error.
1894//
1895// See the AWS API reference guide for AWS Service Catalog's
1896// API operation DeleteProduct for usage and error information.
1897//
1898// Returned Error Types:
1899//   * ResourceNotFoundException
1900//   The specified resource was not found.
1901//
1902//   * ResourceInUseException
1903//   A resource that is currently in use. Ensure that the resource is not in use
1904//   and retry the operation.
1905//
1906//   * InvalidParametersException
1907//   One or more parameters provided to the operation are not valid.
1908//
1909//   * TagOptionNotMigratedException
1910//   An operation requiring TagOptions failed because the TagOptions migration
1911//   process has not been performed for this account. Please use the AWS console
1912//   to perform the migration process before retrying the operation.
1913//
1914// See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/DeleteProduct
1915func (c *ServiceCatalog) DeleteProduct(input *DeleteProductInput) (*DeleteProductOutput, error) {
1916	req, out := c.DeleteProductRequest(input)
1917	return out, req.Send()
1918}
1919
1920// DeleteProductWithContext is the same as DeleteProduct with the addition of
1921// the ability to pass a context and additional request options.
1922//
1923// See DeleteProduct for details on how to use this API operation.
1924//
1925// The context must be non-nil and will be used for request cancellation. If
1926// the context is nil a panic will occur. In the future the SDK may create
1927// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1928// for more information on using Contexts.
1929func (c *ServiceCatalog) DeleteProductWithContext(ctx aws.Context, input *DeleteProductInput, opts ...request.Option) (*DeleteProductOutput, error) {
1930	req, out := c.DeleteProductRequest(input)
1931	req.SetContext(ctx)
1932	req.ApplyOptions(opts...)
1933	return out, req.Send()
1934}
1935
1936const opDeleteProvisionedProductPlan = "DeleteProvisionedProductPlan"
1937
1938// DeleteProvisionedProductPlanRequest generates a "aws/request.Request" representing the
1939// client's request for the DeleteProvisionedProductPlan operation. The "output" return
1940// value will be populated with the request's response once the request completes
1941// successfully.
1942//
1943// Use "Send" method on the returned Request to send the API call to the service.
1944// the "output" return value is not valid until after Send returns without error.
1945//
1946// See DeleteProvisionedProductPlan for more information on using the DeleteProvisionedProductPlan
1947// API call, and error handling.
1948//
1949// This method is useful when you want to inject custom logic or configuration
1950// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1951//
1952//
1953//    // Example sending a request using the DeleteProvisionedProductPlanRequest method.
1954//    req, resp := client.DeleteProvisionedProductPlanRequest(params)
1955//
1956//    err := req.Send()
1957//    if err == nil { // resp is now filled
1958//        fmt.Println(resp)
1959//    }
1960//
1961// See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/DeleteProvisionedProductPlan
1962func (c *ServiceCatalog) DeleteProvisionedProductPlanRequest(input *DeleteProvisionedProductPlanInput) (req *request.Request, output *DeleteProvisionedProductPlanOutput) {
1963	op := &request.Operation{
1964		Name:       opDeleteProvisionedProductPlan,
1965		HTTPMethod: "POST",
1966		HTTPPath:   "/",
1967	}
1968
1969	if input == nil {
1970		input = &DeleteProvisionedProductPlanInput{}
1971	}
1972
1973	output = &DeleteProvisionedProductPlanOutput{}
1974	req = c.newRequest(op, input, output)
1975	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
1976	return
1977}
1978
1979// DeleteProvisionedProductPlan API operation for AWS Service Catalog.
1980//
1981// Deletes the specified plan.
1982//
1983// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1984// with awserr.Error's Code and Message methods to get detailed information about
1985// the error.
1986//
1987// See the AWS API reference guide for AWS Service Catalog's
1988// API operation DeleteProvisionedProductPlan for usage and error information.
1989//
1990// Returned Error Types:
1991//   * InvalidParametersException
1992//   One or more parameters provided to the operation are not valid.
1993//
1994//   * ResourceNotFoundException
1995//   The specified resource was not found.
1996//
1997// See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/DeleteProvisionedProductPlan
1998func (c *ServiceCatalog) DeleteProvisionedProductPlan(input *DeleteProvisionedProductPlanInput) (*DeleteProvisionedProductPlanOutput, error) {
1999	req, out := c.DeleteProvisionedProductPlanRequest(input)
2000	return out, req.Send()
2001}
2002
2003// DeleteProvisionedProductPlanWithContext is the same as DeleteProvisionedProductPlan with the addition of
2004// the ability to pass a context and additional request options.
2005//
2006// See DeleteProvisionedProductPlan for details on how to use this API operation.
2007//
2008// The context must be non-nil and will be used for request cancellation. If
2009// the context is nil a panic will occur. In the future the SDK may create
2010// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2011// for more information on using Contexts.
2012func (c *ServiceCatalog) DeleteProvisionedProductPlanWithContext(ctx aws.Context, input *DeleteProvisionedProductPlanInput, opts ...request.Option) (*DeleteProvisionedProductPlanOutput, error) {
2013	req, out := c.DeleteProvisionedProductPlanRequest(input)
2014	req.SetContext(ctx)
2015	req.ApplyOptions(opts...)
2016	return out, req.Send()
2017}
2018
2019const opDeleteProvisioningArtifact = "DeleteProvisioningArtifact"
2020
2021// DeleteProvisioningArtifactRequest generates a "aws/request.Request" representing the
2022// client's request for the DeleteProvisioningArtifact operation. The "output" return
2023// value will be populated with the request's response once the request completes
2024// successfully.
2025//
2026// Use "Send" method on the returned Request to send the API call to the service.
2027// the "output" return value is not valid until after Send returns without error.
2028//
2029// See DeleteProvisioningArtifact for more information on using the DeleteProvisioningArtifact
2030// API call, and error handling.
2031//
2032// This method is useful when you want to inject custom logic or configuration
2033// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2034//
2035//
2036//    // Example sending a request using the DeleteProvisioningArtifactRequest method.
2037//    req, resp := client.DeleteProvisioningArtifactRequest(params)
2038//
2039//    err := req.Send()
2040//    if err == nil { // resp is now filled
2041//        fmt.Println(resp)
2042//    }
2043//
2044// See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/DeleteProvisioningArtifact
2045func (c *ServiceCatalog) DeleteProvisioningArtifactRequest(input *DeleteProvisioningArtifactInput) (req *request.Request, output *DeleteProvisioningArtifactOutput) {
2046	op := &request.Operation{
2047		Name:       opDeleteProvisioningArtifact,
2048		HTTPMethod: "POST",
2049		HTTPPath:   "/",
2050	}
2051
2052	if input == nil {
2053		input = &DeleteProvisioningArtifactInput{}
2054	}
2055
2056	output = &DeleteProvisioningArtifactOutput{}
2057	req = c.newRequest(op, input, output)
2058	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
2059	return
2060}
2061
2062// DeleteProvisioningArtifact API operation for AWS Service Catalog.
2063//
2064// Deletes the specified provisioning artifact (also known as a version) for
2065// the specified product.
2066//
2067// You cannot delete a provisioning artifact associated with a product that
2068// was shared with you. You cannot delete the last provisioning artifact for
2069// a product, because a product must have at least one provisioning artifact.
2070//
2071// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2072// with awserr.Error's Code and Message methods to get detailed information about
2073// the error.
2074//
2075// See the AWS API reference guide for AWS Service Catalog's
2076// API operation DeleteProvisioningArtifact for usage and error information.
2077//
2078// Returned Error Types:
2079//   * ResourceNotFoundException
2080//   The specified resource was not found.
2081//
2082//   * ResourceInUseException
2083//   A resource that is currently in use. Ensure that the resource is not in use
2084//   and retry the operation.
2085//
2086//   * InvalidParametersException
2087//   One or more parameters provided to the operation are not valid.
2088//
2089// See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/DeleteProvisioningArtifact
2090func (c *ServiceCatalog) DeleteProvisioningArtifact(input *DeleteProvisioningArtifactInput) (*DeleteProvisioningArtifactOutput, error) {
2091	req, out := c.DeleteProvisioningArtifactRequest(input)
2092	return out, req.Send()
2093}
2094
2095// DeleteProvisioningArtifactWithContext is the same as DeleteProvisioningArtifact with the addition of
2096// the ability to pass a context and additional request options.
2097//
2098// See DeleteProvisioningArtifact for details on how to use this API operation.
2099//
2100// The context must be non-nil and will be used for request cancellation. If
2101// the context is nil a panic will occur. In the future the SDK may create
2102// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2103// for more information on using Contexts.
2104func (c *ServiceCatalog) DeleteProvisioningArtifactWithContext(ctx aws.Context, input *DeleteProvisioningArtifactInput, opts ...request.Option) (*DeleteProvisioningArtifactOutput, error) {
2105	req, out := c.DeleteProvisioningArtifactRequest(input)
2106	req.SetContext(ctx)
2107	req.ApplyOptions(opts...)
2108	return out, req.Send()
2109}
2110
2111const opDeleteServiceAction = "DeleteServiceAction"
2112
2113// DeleteServiceActionRequest generates a "aws/request.Request" representing the
2114// client's request for the DeleteServiceAction operation. The "output" return
2115// value will be populated with the request's response once the request completes
2116// successfully.
2117//
2118// Use "Send" method on the returned Request to send the API call to the service.
2119// the "output" return value is not valid until after Send returns without error.
2120//
2121// See DeleteServiceAction for more information on using the DeleteServiceAction
2122// API call, and error handling.
2123//
2124// This method is useful when you want to inject custom logic or configuration
2125// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2126//
2127//
2128//    // Example sending a request using the DeleteServiceActionRequest method.
2129//    req, resp := client.DeleteServiceActionRequest(params)
2130//
2131//    err := req.Send()
2132//    if err == nil { // resp is now filled
2133//        fmt.Println(resp)
2134//    }
2135//
2136// See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/DeleteServiceAction
2137func (c *ServiceCatalog) DeleteServiceActionRequest(input *DeleteServiceActionInput) (req *request.Request, output *DeleteServiceActionOutput) {
2138	op := &request.Operation{
2139		Name:       opDeleteServiceAction,
2140		HTTPMethod: "POST",
2141		HTTPPath:   "/",
2142	}
2143
2144	if input == nil {
2145		input = &DeleteServiceActionInput{}
2146	}
2147
2148	output = &DeleteServiceActionOutput{}
2149	req = c.newRequest(op, input, output)
2150	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
2151	return
2152}
2153
2154// DeleteServiceAction API operation for AWS Service Catalog.
2155//
2156// Deletes a self-service action.
2157//
2158// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2159// with awserr.Error's Code and Message methods to get detailed information about
2160// the error.
2161//
2162// See the AWS API reference guide for AWS Service Catalog's
2163// API operation DeleteServiceAction for usage and error information.
2164//
2165// Returned Error Types:
2166//   * ResourceNotFoundException
2167//   The specified resource was not found.
2168//
2169//   * ResourceInUseException
2170//   A resource that is currently in use. Ensure that the resource is not in use
2171//   and retry the operation.
2172//
2173// See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/DeleteServiceAction
2174func (c *ServiceCatalog) DeleteServiceAction(input *DeleteServiceActionInput) (*DeleteServiceActionOutput, error) {
2175	req, out := c.DeleteServiceActionRequest(input)
2176	return out, req.Send()
2177}
2178
2179// DeleteServiceActionWithContext is the same as DeleteServiceAction with the addition of
2180// the ability to pass a context and additional request options.
2181//
2182// See DeleteServiceAction for details on how to use this API operation.
2183//
2184// The context must be non-nil and will be used for request cancellation. If
2185// the context is nil a panic will occur. In the future the SDK may create
2186// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2187// for more information on using Contexts.
2188func (c *ServiceCatalog) DeleteServiceActionWithContext(ctx aws.Context, input *DeleteServiceActionInput, opts ...request.Option) (*DeleteServiceActionOutput, error) {
2189	req, out := c.DeleteServiceActionRequest(input)
2190	req.SetContext(ctx)
2191	req.ApplyOptions(opts...)
2192	return out, req.Send()
2193}
2194
2195const opDeleteTagOption = "DeleteTagOption"
2196
2197// DeleteTagOptionRequest generates a "aws/request.Request" representing the
2198// client's request for the DeleteTagOption operation. The "output" return
2199// value will be populated with the request's response once the request completes
2200// successfully.
2201//
2202// Use "Send" method on the returned Request to send the API call to the service.
2203// the "output" return value is not valid until after Send returns without error.
2204//
2205// See DeleteTagOption for more information on using the DeleteTagOption
2206// API call, and error handling.
2207//
2208// This method is useful when you want to inject custom logic or configuration
2209// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2210//
2211//
2212//    // Example sending a request using the DeleteTagOptionRequest method.
2213//    req, resp := client.DeleteTagOptionRequest(params)
2214//
2215//    err := req.Send()
2216//    if err == nil { // resp is now filled
2217//        fmt.Println(resp)
2218//    }
2219//
2220// See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/DeleteTagOption
2221func (c *ServiceCatalog) DeleteTagOptionRequest(input *DeleteTagOptionInput) (req *request.Request, output *DeleteTagOptionOutput) {
2222	op := &request.Operation{
2223		Name:       opDeleteTagOption,
2224		HTTPMethod: "POST",
2225		HTTPPath:   "/",
2226	}
2227
2228	if input == nil {
2229		input = &DeleteTagOptionInput{}
2230	}
2231
2232	output = &DeleteTagOptionOutput{}
2233	req = c.newRequest(op, input, output)
2234	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
2235	return
2236}
2237
2238// DeleteTagOption API operation for AWS Service Catalog.
2239//
2240// Deletes the specified TagOption.
2241//
2242// You cannot delete a TagOption if it is associated with a product or portfolio.
2243//
2244// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2245// with awserr.Error's Code and Message methods to get detailed information about
2246// the error.
2247//
2248// See the AWS API reference guide for AWS Service Catalog's
2249// API operation DeleteTagOption for usage and error information.
2250//
2251// Returned Error Types:
2252//   * TagOptionNotMigratedException
2253//   An operation requiring TagOptions failed because the TagOptions migration
2254//   process has not been performed for this account. Please use the AWS console
2255//   to perform the migration process before retrying the operation.
2256//
2257//   * ResourceInUseException
2258//   A resource that is currently in use. Ensure that the resource is not in use
2259//   and retry the operation.
2260//
2261//   * ResourceNotFoundException
2262//   The specified resource was not found.
2263//
2264// See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/DeleteTagOption
2265func (c *ServiceCatalog) DeleteTagOption(input *DeleteTagOptionInput) (*DeleteTagOptionOutput, error) {
2266	req, out := c.DeleteTagOptionRequest(input)
2267	return out, req.Send()
2268}
2269
2270// DeleteTagOptionWithContext is the same as DeleteTagOption with the addition of
2271// the ability to pass a context and additional request options.
2272//
2273// See DeleteTagOption for details on how to use this API operation.
2274//
2275// The context must be non-nil and will be used for request cancellation. If
2276// the context is nil a panic will occur. In the future the SDK may create
2277// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2278// for more information on using Contexts.
2279func (c *ServiceCatalog) DeleteTagOptionWithContext(ctx aws.Context, input *DeleteTagOptionInput, opts ...request.Option) (*DeleteTagOptionOutput, error) {
2280	req, out := c.DeleteTagOptionRequest(input)
2281	req.SetContext(ctx)
2282	req.ApplyOptions(opts...)
2283	return out, req.Send()
2284}
2285
2286const opDescribeConstraint = "DescribeConstraint"
2287
2288// DescribeConstraintRequest generates a "aws/request.Request" representing the
2289// client's request for the DescribeConstraint operation. The "output" return
2290// value will be populated with the request's response once the request completes
2291// successfully.
2292//
2293// Use "Send" method on the returned Request to send the API call to the service.
2294// the "output" return value is not valid until after Send returns without error.
2295//
2296// See DescribeConstraint for more information on using the DescribeConstraint
2297// API call, and error handling.
2298//
2299// This method is useful when you want to inject custom logic or configuration
2300// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2301//
2302//
2303//    // Example sending a request using the DescribeConstraintRequest method.
2304//    req, resp := client.DescribeConstraintRequest(params)
2305//
2306//    err := req.Send()
2307//    if err == nil { // resp is now filled
2308//        fmt.Println(resp)
2309//    }
2310//
2311// See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/DescribeConstraint
2312func (c *ServiceCatalog) DescribeConstraintRequest(input *DescribeConstraintInput) (req *request.Request, output *DescribeConstraintOutput) {
2313	op := &request.Operation{
2314		Name:       opDescribeConstraint,
2315		HTTPMethod: "POST",
2316		HTTPPath:   "/",
2317	}
2318
2319	if input == nil {
2320		input = &DescribeConstraintInput{}
2321	}
2322
2323	output = &DescribeConstraintOutput{}
2324	req = c.newRequest(op, input, output)
2325	return
2326}
2327
2328// DescribeConstraint API operation for AWS Service Catalog.
2329//
2330// Gets information about the specified constraint.
2331//
2332// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2333// with awserr.Error's Code and Message methods to get detailed information about
2334// the error.
2335//
2336// See the AWS API reference guide for AWS Service Catalog's
2337// API operation DescribeConstraint for usage and error information.
2338//
2339// Returned Error Types:
2340//   * ResourceNotFoundException
2341//   The specified resource was not found.
2342//
2343// See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/DescribeConstraint
2344func (c *ServiceCatalog) DescribeConstraint(input *DescribeConstraintInput) (*DescribeConstraintOutput, error) {
2345	req, out := c.DescribeConstraintRequest(input)
2346	return out, req.Send()
2347}
2348
2349// DescribeConstraintWithContext is the same as DescribeConstraint with the addition of
2350// the ability to pass a context and additional request options.
2351//
2352// See DescribeConstraint for details on how to use this API operation.
2353//
2354// The context must be non-nil and will be used for request cancellation. If
2355// the context is nil a panic will occur. In the future the SDK may create
2356// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2357// for more information on using Contexts.
2358func (c *ServiceCatalog) DescribeConstraintWithContext(ctx aws.Context, input *DescribeConstraintInput, opts ...request.Option) (*DescribeConstraintOutput, error) {
2359	req, out := c.DescribeConstraintRequest(input)
2360	req.SetContext(ctx)
2361	req.ApplyOptions(opts...)
2362	return out, req.Send()
2363}
2364
2365const opDescribeCopyProductStatus = "DescribeCopyProductStatus"
2366
2367// DescribeCopyProductStatusRequest generates a "aws/request.Request" representing the
2368// client's request for the DescribeCopyProductStatus operation. The "output" return
2369// value will be populated with the request's response once the request completes
2370// successfully.
2371//
2372// Use "Send" method on the returned Request to send the API call to the service.
2373// the "output" return value is not valid until after Send returns without error.
2374//
2375// See DescribeCopyProductStatus for more information on using the DescribeCopyProductStatus
2376// API call, and error handling.
2377//
2378// This method is useful when you want to inject custom logic or configuration
2379// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2380//
2381//
2382//    // Example sending a request using the DescribeCopyProductStatusRequest method.
2383//    req, resp := client.DescribeCopyProductStatusRequest(params)
2384//
2385//    err := req.Send()
2386//    if err == nil { // resp is now filled
2387//        fmt.Println(resp)
2388//    }
2389//
2390// See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/DescribeCopyProductStatus
2391func (c *ServiceCatalog) DescribeCopyProductStatusRequest(input *DescribeCopyProductStatusInput) (req *request.Request, output *DescribeCopyProductStatusOutput) {
2392	op := &request.Operation{
2393		Name:       opDescribeCopyProductStatus,
2394		HTTPMethod: "POST",
2395		HTTPPath:   "/",
2396	}
2397
2398	if input == nil {
2399		input = &DescribeCopyProductStatusInput{}
2400	}
2401
2402	output = &DescribeCopyProductStatusOutput{}
2403	req = c.newRequest(op, input, output)
2404	return
2405}
2406
2407// DescribeCopyProductStatus API operation for AWS Service Catalog.
2408//
2409// Gets the status of the specified copy product operation.
2410//
2411// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2412// with awserr.Error's Code and Message methods to get detailed information about
2413// the error.
2414//
2415// See the AWS API reference guide for AWS Service Catalog's
2416// API operation DescribeCopyProductStatus for usage and error information.
2417//
2418// Returned Error Types:
2419//   * ResourceNotFoundException
2420//   The specified resource was not found.
2421//
2422// See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/DescribeCopyProductStatus
2423func (c *ServiceCatalog) DescribeCopyProductStatus(input *DescribeCopyProductStatusInput) (*DescribeCopyProductStatusOutput, error) {
2424	req, out := c.DescribeCopyProductStatusRequest(input)
2425	return out, req.Send()
2426}
2427
2428// DescribeCopyProductStatusWithContext is the same as DescribeCopyProductStatus with the addition of
2429// the ability to pass a context and additional request options.
2430//
2431// See DescribeCopyProductStatus for details on how to use this API operation.
2432//
2433// The context must be non-nil and will be used for request cancellation. If
2434// the context is nil a panic will occur. In the future the SDK may create
2435// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2436// for more information on using Contexts.
2437func (c *ServiceCatalog) DescribeCopyProductStatusWithContext(ctx aws.Context, input *DescribeCopyProductStatusInput, opts ...request.Option) (*DescribeCopyProductStatusOutput, error) {
2438	req, out := c.DescribeCopyProductStatusRequest(input)
2439	req.SetContext(ctx)
2440	req.ApplyOptions(opts...)
2441	return out, req.Send()
2442}
2443
2444const opDescribePortfolio = "DescribePortfolio"
2445
2446// DescribePortfolioRequest generates a "aws/request.Request" representing the
2447// client's request for the DescribePortfolio operation. The "output" return
2448// value will be populated with the request's response once the request completes
2449// successfully.
2450//
2451// Use "Send" method on the returned Request to send the API call to the service.
2452// the "output" return value is not valid until after Send returns without error.
2453//
2454// See DescribePortfolio for more information on using the DescribePortfolio
2455// API call, and error handling.
2456//
2457// This method is useful when you want to inject custom logic or configuration
2458// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2459//
2460//
2461//    // Example sending a request using the DescribePortfolioRequest method.
2462//    req, resp := client.DescribePortfolioRequest(params)
2463//
2464//    err := req.Send()
2465//    if err == nil { // resp is now filled
2466//        fmt.Println(resp)
2467//    }
2468//
2469// See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/DescribePortfolio
2470func (c *ServiceCatalog) DescribePortfolioRequest(input *DescribePortfolioInput) (req *request.Request, output *DescribePortfolioOutput) {
2471	op := &request.Operation{
2472		Name:       opDescribePortfolio,
2473		HTTPMethod: "POST",
2474		HTTPPath:   "/",
2475	}
2476
2477	if input == nil {
2478		input = &DescribePortfolioInput{}
2479	}
2480
2481	output = &DescribePortfolioOutput{}
2482	req = c.newRequest(op, input, output)
2483	return
2484}
2485
2486// DescribePortfolio API operation for AWS Service Catalog.
2487//
2488// Gets information about the specified portfolio.
2489//
2490// A delegated admin is authorized to invoke this command.
2491//
2492// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2493// with awserr.Error's Code and Message methods to get detailed information about
2494// the error.
2495//
2496// See the AWS API reference guide for AWS Service Catalog's
2497// API operation DescribePortfolio for usage and error information.
2498//
2499// Returned Error Types:
2500//   * ResourceNotFoundException
2501//   The specified resource was not found.
2502//
2503// See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/DescribePortfolio
2504func (c *ServiceCatalog) DescribePortfolio(input *DescribePortfolioInput) (*DescribePortfolioOutput, error) {
2505	req, out := c.DescribePortfolioRequest(input)
2506	return out, req.Send()
2507}
2508
2509// DescribePortfolioWithContext is the same as DescribePortfolio with the addition of
2510// the ability to pass a context and additional request options.
2511//
2512// See DescribePortfolio for details on how to use this API operation.
2513//
2514// The context must be non-nil and will be used for request cancellation. If
2515// the context is nil a panic will occur. In the future the SDK may create
2516// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2517// for more information on using Contexts.
2518func (c *ServiceCatalog) DescribePortfolioWithContext(ctx aws.Context, input *DescribePortfolioInput, opts ...request.Option) (*DescribePortfolioOutput, error) {
2519	req, out := c.DescribePortfolioRequest(input)
2520	req.SetContext(ctx)
2521	req.ApplyOptions(opts...)
2522	return out, req.Send()
2523}
2524
2525const opDescribePortfolioShareStatus = "DescribePortfolioShareStatus"
2526
2527// DescribePortfolioShareStatusRequest generates a "aws/request.Request" representing the
2528// client's request for the DescribePortfolioShareStatus operation. The "output" return
2529// value will be populated with the request's response once the request completes
2530// successfully.
2531//
2532// Use "Send" method on the returned Request to send the API call to the service.
2533// the "output" return value is not valid until after Send returns without error.
2534//
2535// See DescribePortfolioShareStatus for more information on using the DescribePortfolioShareStatus
2536// API call, and error handling.
2537//
2538// This method is useful when you want to inject custom logic or configuration
2539// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2540//
2541//
2542//    // Example sending a request using the DescribePortfolioShareStatusRequest method.
2543//    req, resp := client.DescribePortfolioShareStatusRequest(params)
2544//
2545//    err := req.Send()
2546//    if err == nil { // resp is now filled
2547//        fmt.Println(resp)
2548//    }
2549//
2550// See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/DescribePortfolioShareStatus
2551func (c *ServiceCatalog) DescribePortfolioShareStatusRequest(input *DescribePortfolioShareStatusInput) (req *request.Request, output *DescribePortfolioShareStatusOutput) {
2552	op := &request.Operation{
2553		Name:       opDescribePortfolioShareStatus,
2554		HTTPMethod: "POST",
2555		HTTPPath:   "/",
2556	}
2557
2558	if input == nil {
2559		input = &DescribePortfolioShareStatusInput{}
2560	}
2561
2562	output = &DescribePortfolioShareStatusOutput{}
2563	req = c.newRequest(op, input, output)
2564	return
2565}
2566
2567// DescribePortfolioShareStatus API operation for AWS Service Catalog.
2568//
2569// Gets the status of the specified portfolio share operation. This API can
2570// only be called by the management account in the organization or by a delegated
2571// admin.
2572//
2573// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2574// with awserr.Error's Code and Message methods to get detailed information about
2575// the error.
2576//
2577// See the AWS API reference guide for AWS Service Catalog's
2578// API operation DescribePortfolioShareStatus for usage and error information.
2579//
2580// Returned Error Types:
2581//   * ResourceNotFoundException
2582//   The specified resource was not found.
2583//
2584//   * InvalidParametersException
2585//   One or more parameters provided to the operation are not valid.
2586//
2587//   * OperationNotSupportedException
2588//   The operation is not supported.
2589//
2590// See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/DescribePortfolioShareStatus
2591func (c *ServiceCatalog) DescribePortfolioShareStatus(input *DescribePortfolioShareStatusInput) (*DescribePortfolioShareStatusOutput, error) {
2592	req, out := c.DescribePortfolioShareStatusRequest(input)
2593	return out, req.Send()
2594}
2595
2596// DescribePortfolioShareStatusWithContext is the same as DescribePortfolioShareStatus with the addition of
2597// the ability to pass a context and additional request options.
2598//
2599// See DescribePortfolioShareStatus for details on how to use this API operation.
2600//
2601// The context must be non-nil and will be used for request cancellation. If
2602// the context is nil a panic will occur. In the future the SDK may create
2603// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2604// for more information on using Contexts.
2605func (c *ServiceCatalog) DescribePortfolioShareStatusWithContext(ctx aws.Context, input *DescribePortfolioShareStatusInput, opts ...request.Option) (*DescribePortfolioShareStatusOutput, error) {
2606	req, out := c.DescribePortfolioShareStatusRequest(input)
2607	req.SetContext(ctx)
2608	req.ApplyOptions(opts...)
2609	return out, req.Send()
2610}
2611
2612const opDescribePortfolioShares = "DescribePortfolioShares"
2613
2614// DescribePortfolioSharesRequest generates a "aws/request.Request" representing the
2615// client's request for the DescribePortfolioShares operation. The "output" return
2616// value will be populated with the request's response once the request completes
2617// successfully.
2618//
2619// Use "Send" method on the returned Request to send the API call to the service.
2620// the "output" return value is not valid until after Send returns without error.
2621//
2622// See DescribePortfolioShares for more information on using the DescribePortfolioShares
2623// API call, and error handling.
2624//
2625// This method is useful when you want to inject custom logic or configuration
2626// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2627//
2628//
2629//    // Example sending a request using the DescribePortfolioSharesRequest method.
2630//    req, resp := client.DescribePortfolioSharesRequest(params)
2631//
2632//    err := req.Send()
2633//    if err == nil { // resp is now filled
2634//        fmt.Println(resp)
2635//    }
2636//
2637// See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/DescribePortfolioShares
2638func (c *ServiceCatalog) DescribePortfolioSharesRequest(input *DescribePortfolioSharesInput) (req *request.Request, output *DescribePortfolioSharesOutput) {
2639	op := &request.Operation{
2640		Name:       opDescribePortfolioShares,
2641		HTTPMethod: "POST",
2642		HTTPPath:   "/",
2643		Paginator: &request.Paginator{
2644			InputTokens:     []string{"PageToken"},
2645			OutputTokens:    []string{"NextPageToken"},
2646			LimitToken:      "PageSize",
2647			TruncationToken: "",
2648		},
2649	}
2650
2651	if input == nil {
2652		input = &DescribePortfolioSharesInput{}
2653	}
2654
2655	output = &DescribePortfolioSharesOutput{}
2656	req = c.newRequest(op, input, output)
2657	return
2658}
2659
2660// DescribePortfolioShares API operation for AWS Service Catalog.
2661//
2662// Returns a summary of each of the portfolio shares that were created for the
2663// specified portfolio.
2664//
2665// You can use this API to determine which accounts or organizational nodes
2666// this portfolio have been shared, whether the recipient entity has imported
2667// the share, and whether TagOptions are included with the share.
2668//
2669// The PortfolioId and Type parameters are both required.
2670//
2671// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2672// with awserr.Error's Code and Message methods to get detailed information about
2673// the error.
2674//
2675// See the AWS API reference guide for AWS Service Catalog's
2676// API operation DescribePortfolioShares for usage and error information.
2677//
2678// Returned Error Types:
2679//   * ResourceNotFoundException
2680//   The specified resource was not found.
2681//
2682//   * InvalidParametersException
2683//   One or more parameters provided to the operation are not valid.
2684//
2685// See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/DescribePortfolioShares
2686func (c *ServiceCatalog) DescribePortfolioShares(input *DescribePortfolioSharesInput) (*DescribePortfolioSharesOutput, error) {
2687	req, out := c.DescribePortfolioSharesRequest(input)
2688	return out, req.Send()
2689}
2690
2691// DescribePortfolioSharesWithContext is the same as DescribePortfolioShares with the addition of
2692// the ability to pass a context and additional request options.
2693//
2694// See DescribePortfolioShares for details on how to use this API operation.
2695//
2696// The context must be non-nil and will be used for request cancellation. If
2697// the context is nil a panic will occur. In the future the SDK may create
2698// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2699// for more information on using Contexts.
2700func (c *ServiceCatalog) DescribePortfolioSharesWithContext(ctx aws.Context, input *DescribePortfolioSharesInput, opts ...request.Option) (*DescribePortfolioSharesOutput, error) {
2701	req, out := c.DescribePortfolioSharesRequest(input)
2702	req.SetContext(ctx)
2703	req.ApplyOptions(opts...)
2704	return out, req.Send()
2705}
2706
2707// DescribePortfolioSharesPages iterates over the pages of a DescribePortfolioShares operation,
2708// calling the "fn" function with the response data for each page. To stop
2709// iterating, return false from the fn function.
2710//
2711// See DescribePortfolioShares method for more information on how to use this operation.
2712//
2713// Note: This operation can generate multiple requests to a service.
2714//
2715//    // Example iterating over at most 3 pages of a DescribePortfolioShares operation.
2716//    pageNum := 0
2717//    err := client.DescribePortfolioSharesPages(params,
2718//        func(page *servicecatalog.DescribePortfolioSharesOutput, lastPage bool) bool {
2719//            pageNum++
2720//            fmt.Println(page)
2721//            return pageNum <= 3
2722//        })
2723//
2724func (c *ServiceCatalog) DescribePortfolioSharesPages(input *DescribePortfolioSharesInput, fn func(*DescribePortfolioSharesOutput, bool) bool) error {
2725	return c.DescribePortfolioSharesPagesWithContext(aws.BackgroundContext(), input, fn)
2726}
2727
2728// DescribePortfolioSharesPagesWithContext same as DescribePortfolioSharesPages except
2729// it takes a Context and allows setting request options on the pages.
2730//
2731// The context must be non-nil and will be used for request cancellation. If
2732// the context is nil a panic will occur. In the future the SDK may create
2733// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2734// for more information on using Contexts.
2735func (c *ServiceCatalog) DescribePortfolioSharesPagesWithContext(ctx aws.Context, input *DescribePortfolioSharesInput, fn func(*DescribePortfolioSharesOutput, bool) bool, opts ...request.Option) error {
2736	p := request.Pagination{
2737		NewRequest: func() (*request.Request, error) {
2738			var inCpy *DescribePortfolioSharesInput
2739			if input != nil {
2740				tmp := *input
2741				inCpy = &tmp
2742			}
2743			req, _ := c.DescribePortfolioSharesRequest(inCpy)
2744			req.SetContext(ctx)
2745			req.ApplyOptions(opts...)
2746			return req, nil
2747		},
2748	}
2749
2750	for p.Next() {
2751		if !fn(p.Page().(*DescribePortfolioSharesOutput), !p.HasNextPage()) {
2752			break
2753		}
2754	}
2755
2756	return p.Err()
2757}
2758
2759const opDescribeProduct = "DescribeProduct"
2760
2761// DescribeProductRequest generates a "aws/request.Request" representing the
2762// client's request for the DescribeProduct operation. The "output" return
2763// value will be populated with the request's response once the request completes
2764// successfully.
2765//
2766// Use "Send" method on the returned Request to send the API call to the service.
2767// the "output" return value is not valid until after Send returns without error.
2768//
2769// See DescribeProduct for more information on using the DescribeProduct
2770// API call, and error handling.
2771//
2772// This method is useful when you want to inject custom logic or configuration
2773// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2774//
2775//
2776//    // Example sending a request using the DescribeProductRequest method.
2777//    req, resp := client.DescribeProductRequest(params)
2778//
2779//    err := req.Send()
2780//    if err == nil { // resp is now filled
2781//        fmt.Println(resp)
2782//    }
2783//
2784// See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/DescribeProduct
2785func (c *ServiceCatalog) DescribeProductRequest(input *DescribeProductInput) (req *request.Request, output *DescribeProductOutput) {
2786	op := &request.Operation{
2787		Name:       opDescribeProduct,
2788		HTTPMethod: "POST",
2789		HTTPPath:   "/",
2790	}
2791
2792	if input == nil {
2793		input = &DescribeProductInput{}
2794	}
2795
2796	output = &DescribeProductOutput{}
2797	req = c.newRequest(op, input, output)
2798	return
2799}
2800
2801// DescribeProduct API operation for AWS Service Catalog.
2802//
2803// Gets information about the specified product.
2804//
2805// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2806// with awserr.Error's Code and Message methods to get detailed information about
2807// the error.
2808//
2809// See the AWS API reference guide for AWS Service Catalog's
2810// API operation DescribeProduct for usage and error information.
2811//
2812// Returned Error Types:
2813//   * ResourceNotFoundException
2814//   The specified resource was not found.
2815//
2816//   * InvalidParametersException
2817//   One or more parameters provided to the operation are not valid.
2818//
2819// See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/DescribeProduct
2820func (c *ServiceCatalog) DescribeProduct(input *DescribeProductInput) (*DescribeProductOutput, error) {
2821	req, out := c.DescribeProductRequest(input)
2822	return out, req.Send()
2823}
2824
2825// DescribeProductWithContext is the same as DescribeProduct with the addition of
2826// the ability to pass a context and additional request options.
2827//
2828// See DescribeProduct for details on how to use this API operation.
2829//
2830// The context must be non-nil and will be used for request cancellation. If
2831// the context is nil a panic will occur. In the future the SDK may create
2832// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2833// for more information on using Contexts.
2834func (c *ServiceCatalog) DescribeProductWithContext(ctx aws.Context, input *DescribeProductInput, opts ...request.Option) (*DescribeProductOutput, error) {
2835	req, out := c.DescribeProductRequest(input)
2836	req.SetContext(ctx)
2837	req.ApplyOptions(opts...)
2838	return out, req.Send()
2839}
2840
2841const opDescribeProductAsAdmin = "DescribeProductAsAdmin"
2842
2843// DescribeProductAsAdminRequest generates a "aws/request.Request" representing the
2844// client's request for the DescribeProductAsAdmin operation. The "output" return
2845// value will be populated with the request's response once the request completes
2846// successfully.
2847//
2848// Use "Send" method on the returned Request to send the API call to the service.
2849// the "output" return value is not valid until after Send returns without error.
2850//
2851// See DescribeProductAsAdmin for more information on using the DescribeProductAsAdmin
2852// API call, and error handling.
2853//
2854// This method is useful when you want to inject custom logic or configuration
2855// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2856//
2857//
2858//    // Example sending a request using the DescribeProductAsAdminRequest method.
2859//    req, resp := client.DescribeProductAsAdminRequest(params)
2860//
2861//    err := req.Send()
2862//    if err == nil { // resp is now filled
2863//        fmt.Println(resp)
2864//    }
2865//
2866// See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/DescribeProductAsAdmin
2867func (c *ServiceCatalog) DescribeProductAsAdminRequest(input *DescribeProductAsAdminInput) (req *request.Request, output *DescribeProductAsAdminOutput) {
2868	op := &request.Operation{
2869		Name:       opDescribeProductAsAdmin,
2870		HTTPMethod: "POST",
2871		HTTPPath:   "/",
2872	}
2873
2874	if input == nil {
2875		input = &DescribeProductAsAdminInput{}
2876	}
2877
2878	output = &DescribeProductAsAdminOutput{}
2879	req = c.newRequest(op, input, output)
2880	return
2881}
2882
2883// DescribeProductAsAdmin API operation for AWS Service Catalog.
2884//
2885// Gets information about the specified product. This operation is run with
2886// administrator access.
2887//
2888// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2889// with awserr.Error's Code and Message methods to get detailed information about
2890// the error.
2891//
2892// See the AWS API reference guide for AWS Service Catalog's
2893// API operation DescribeProductAsAdmin for usage and error information.
2894//
2895// Returned Error Types:
2896//   * ResourceNotFoundException
2897//   The specified resource was not found.
2898//
2899//   * InvalidParametersException
2900//   One or more parameters provided to the operation are not valid.
2901//
2902// See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/DescribeProductAsAdmin
2903func (c *ServiceCatalog) DescribeProductAsAdmin(input *DescribeProductAsAdminInput) (*DescribeProductAsAdminOutput, error) {
2904	req, out := c.DescribeProductAsAdminRequest(input)
2905	return out, req.Send()
2906}
2907
2908// DescribeProductAsAdminWithContext is the same as DescribeProductAsAdmin with the addition of
2909// the ability to pass a context and additional request options.
2910//
2911// See DescribeProductAsAdmin for details on how to use this API operation.
2912//
2913// The context must be non-nil and will be used for request cancellation. If
2914// the context is nil a panic will occur. In the future the SDK may create
2915// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2916// for more information on using Contexts.
2917func (c *ServiceCatalog) DescribeProductAsAdminWithContext(ctx aws.Context, input *DescribeProductAsAdminInput, opts ...request.Option) (*DescribeProductAsAdminOutput, error) {
2918	req, out := c.DescribeProductAsAdminRequest(input)
2919	req.SetContext(ctx)
2920	req.ApplyOptions(opts...)
2921	return out, req.Send()
2922}
2923
2924const opDescribeProductView = "DescribeProductView"
2925
2926// DescribeProductViewRequest generates a "aws/request.Request" representing the
2927// client's request for the DescribeProductView operation. The "output" return
2928// value will be populated with the request's response once the request completes
2929// successfully.
2930//
2931// Use "Send" method on the returned Request to send the API call to the service.
2932// the "output" return value is not valid until after Send returns without error.
2933//
2934// See DescribeProductView for more information on using the DescribeProductView
2935// API call, and error handling.
2936//
2937// This method is useful when you want to inject custom logic or configuration
2938// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2939//
2940//
2941//    // Example sending a request using the DescribeProductViewRequest method.
2942//    req, resp := client.DescribeProductViewRequest(params)
2943//
2944//    err := req.Send()
2945//    if err == nil { // resp is now filled
2946//        fmt.Println(resp)
2947//    }
2948//
2949// See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/DescribeProductView
2950func (c *ServiceCatalog) DescribeProductViewRequest(input *DescribeProductViewInput) (req *request.Request, output *DescribeProductViewOutput) {
2951	op := &request.Operation{
2952		Name:       opDescribeProductView,
2953		HTTPMethod: "POST",
2954		HTTPPath:   "/",
2955	}
2956
2957	if input == nil {
2958		input = &DescribeProductViewInput{}
2959	}
2960
2961	output = &DescribeProductViewOutput{}
2962	req = c.newRequest(op, input, output)
2963	return
2964}
2965
2966// DescribeProductView API operation for AWS Service Catalog.
2967//
2968// Gets information about the specified product.
2969//
2970// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2971// with awserr.Error's Code and Message methods to get detailed information about
2972// the error.
2973//
2974// See the AWS API reference guide for AWS Service Catalog's
2975// API operation DescribeProductView for usage and error information.
2976//
2977// Returned Error Types:
2978//   * ResourceNotFoundException
2979//   The specified resource was not found.
2980//
2981//   * InvalidParametersException
2982//   One or more parameters provided to the operation are not valid.
2983//
2984// See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/DescribeProductView
2985func (c *ServiceCatalog) DescribeProductView(input *DescribeProductViewInput) (*DescribeProductViewOutput, error) {
2986	req, out := c.DescribeProductViewRequest(input)
2987	return out, req.Send()
2988}
2989
2990// DescribeProductViewWithContext is the same as DescribeProductView with the addition of
2991// the ability to pass a context and additional request options.
2992//
2993// See DescribeProductView for details on how to use this API operation.
2994//
2995// The context must be non-nil and will be used for request cancellation. If
2996// the context is nil a panic will occur. In the future the SDK may create
2997// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2998// for more information on using Contexts.
2999func (c *ServiceCatalog) DescribeProductViewWithContext(ctx aws.Context, input *DescribeProductViewInput, opts ...request.Option) (*DescribeProductViewOutput, error) {
3000	req, out := c.DescribeProductViewRequest(input)
3001	req.SetContext(ctx)
3002	req.ApplyOptions(opts...)
3003	return out, req.Send()
3004}
3005
3006const opDescribeProvisionedProduct = "DescribeProvisionedProduct"
3007
3008// DescribeProvisionedProductRequest generates a "aws/request.Request" representing the
3009// client's request for the DescribeProvisionedProduct operation. The "output" return
3010// value will be populated with the request's response once the request completes
3011// successfully.
3012//
3013// Use "Send" method on the returned Request to send the API call to the service.
3014// the "output" return value is not valid until after Send returns without error.
3015//
3016// See DescribeProvisionedProduct for more information on using the DescribeProvisionedProduct
3017// API call, and error handling.
3018//
3019// This method is useful when you want to inject custom logic or configuration
3020// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3021//
3022//
3023//    // Example sending a request using the DescribeProvisionedProductRequest method.
3024//    req, resp := client.DescribeProvisionedProductRequest(params)
3025//
3026//    err := req.Send()
3027//    if err == nil { // resp is now filled
3028//        fmt.Println(resp)
3029//    }
3030//
3031// See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/DescribeProvisionedProduct
3032func (c *ServiceCatalog) DescribeProvisionedProductRequest(input *DescribeProvisionedProductInput) (req *request.Request, output *DescribeProvisionedProductOutput) {
3033	op := &request.Operation{
3034		Name:       opDescribeProvisionedProduct,
3035		HTTPMethod: "POST",
3036		HTTPPath:   "/",
3037	}
3038
3039	if input == nil {
3040		input = &DescribeProvisionedProductInput{}
3041	}
3042
3043	output = &DescribeProvisionedProductOutput{}
3044	req = c.newRequest(op, input, output)
3045	return
3046}
3047
3048// DescribeProvisionedProduct API operation for AWS Service Catalog.
3049//
3050// Gets information about the specified provisioned product.
3051//
3052// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3053// with awserr.Error's Code and Message methods to get detailed information about
3054// the error.
3055//
3056// See the AWS API reference guide for AWS Service Catalog's
3057// API operation DescribeProvisionedProduct for usage and error information.
3058//
3059// Returned Error Types:
3060//   * ResourceNotFoundException
3061//   The specified resource was not found.
3062//
3063//   * InvalidParametersException
3064//   One or more parameters provided to the operation are not valid.
3065//
3066// See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/DescribeProvisionedProduct
3067func (c *ServiceCatalog) DescribeProvisionedProduct(input *DescribeProvisionedProductInput) (*DescribeProvisionedProductOutput, error) {
3068	req, out := c.DescribeProvisionedProductRequest(input)
3069	return out, req.Send()
3070}
3071
3072// DescribeProvisionedProductWithContext is the same as DescribeProvisionedProduct with the addition of
3073// the ability to pass a context and additional request options.
3074//
3075// See DescribeProvisionedProduct for details on how to use this API operation.
3076//
3077// The context must be non-nil and will be used for request cancellation. If
3078// the context is nil a panic will occur. In the future the SDK may create
3079// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3080// for more information on using Contexts.
3081func (c *ServiceCatalog) DescribeProvisionedProductWithContext(ctx aws.Context, input *DescribeProvisionedProductInput, opts ...request.Option) (*DescribeProvisionedProductOutput, error) {
3082	req, out := c.DescribeProvisionedProductRequest(input)
3083	req.SetContext(ctx)
3084	req.ApplyOptions(opts...)
3085	return out, req.Send()
3086}
3087
3088const opDescribeProvisionedProductPlan = "DescribeProvisionedProductPlan"
3089
3090// DescribeProvisionedProductPlanRequest generates a "aws/request.Request" representing the
3091// client's request for the DescribeProvisionedProductPlan operation. The "output" return
3092// value will be populated with the request's response once the request completes
3093// successfully.
3094//
3095// Use "Send" method on the returned Request to send the API call to the service.
3096// the "output" return value is not valid until after Send returns without error.
3097//
3098// See DescribeProvisionedProductPlan for more information on using the DescribeProvisionedProductPlan
3099// API call, and error handling.
3100//
3101// This method is useful when you want to inject custom logic or configuration
3102// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3103//
3104//
3105//    // Example sending a request using the DescribeProvisionedProductPlanRequest method.
3106//    req, resp := client.DescribeProvisionedProductPlanRequest(params)
3107//
3108//    err := req.Send()
3109//    if err == nil { // resp is now filled
3110//        fmt.Println(resp)
3111//    }
3112//
3113// See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/DescribeProvisionedProductPlan
3114func (c *ServiceCatalog) DescribeProvisionedProductPlanRequest(input *DescribeProvisionedProductPlanInput) (req *request.Request, output *DescribeProvisionedProductPlanOutput) {
3115	op := &request.Operation{
3116		Name:       opDescribeProvisionedProductPlan,
3117		HTTPMethod: "POST",
3118		HTTPPath:   "/",
3119	}
3120
3121	if input == nil {
3122		input = &DescribeProvisionedProductPlanInput{}
3123	}
3124
3125	output = &DescribeProvisionedProductPlanOutput{}
3126	req = c.newRequest(op, input, output)
3127	return
3128}
3129
3130// DescribeProvisionedProductPlan API operation for AWS Service Catalog.
3131//
3132// Gets information about the resource changes for the specified plan.
3133//
3134// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3135// with awserr.Error's Code and Message methods to get detailed information about
3136// the error.
3137//
3138// See the AWS API reference guide for AWS Service Catalog's
3139// API operation DescribeProvisionedProductPlan for usage and error information.
3140//
3141// Returned Error Types:
3142//   * ResourceNotFoundException
3143//   The specified resource was not found.
3144//
3145//   * InvalidParametersException
3146//   One or more parameters provided to the operation are not valid.
3147//
3148// See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/DescribeProvisionedProductPlan
3149func (c *ServiceCatalog) DescribeProvisionedProductPlan(input *DescribeProvisionedProductPlanInput) (*DescribeProvisionedProductPlanOutput, error) {
3150	req, out := c.DescribeProvisionedProductPlanRequest(input)
3151	return out, req.Send()
3152}
3153
3154// DescribeProvisionedProductPlanWithContext is the same as DescribeProvisionedProductPlan with the addition of
3155// the ability to pass a context and additional request options.
3156//
3157// See DescribeProvisionedProductPlan for details on how to use this API operation.
3158//
3159// The context must be non-nil and will be used for request cancellation. If
3160// the context is nil a panic will occur. In the future the SDK may create
3161// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3162// for more information on using Contexts.
3163func (c *ServiceCatalog) DescribeProvisionedProductPlanWithContext(ctx aws.Context, input *DescribeProvisionedProductPlanInput, opts ...request.Option) (*DescribeProvisionedProductPlanOutput, error) {
3164	req, out := c.DescribeProvisionedProductPlanRequest(input)
3165	req.SetContext(ctx)
3166	req.ApplyOptions(opts...)
3167	return out, req.Send()
3168}
3169
3170const opDescribeProvisioningArtifact = "DescribeProvisioningArtifact"
3171
3172// DescribeProvisioningArtifactRequest generates a "aws/request.Request" representing the
3173// client's request for the DescribeProvisioningArtifact operation. The "output" return
3174// value will be populated with the request's response once the request completes
3175// successfully.
3176//
3177// Use "Send" method on the returned Request to send the API call to the service.
3178// the "output" return value is not valid until after Send returns without error.
3179//
3180// See DescribeProvisioningArtifact for more information on using the DescribeProvisioningArtifact
3181// API call, and error handling.
3182//
3183// This method is useful when you want to inject custom logic or configuration
3184// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3185//
3186//
3187//    // Example sending a request using the DescribeProvisioningArtifactRequest method.
3188//    req, resp := client.DescribeProvisioningArtifactRequest(params)
3189//
3190//    err := req.Send()
3191//    if err == nil { // resp is now filled
3192//        fmt.Println(resp)
3193//    }
3194//
3195// See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/DescribeProvisioningArtifact
3196func (c *ServiceCatalog) DescribeProvisioningArtifactRequest(input *DescribeProvisioningArtifactInput) (req *request.Request, output *DescribeProvisioningArtifactOutput) {
3197	op := &request.Operation{
3198		Name:       opDescribeProvisioningArtifact,
3199		HTTPMethod: "POST",
3200		HTTPPath:   "/",
3201	}
3202
3203	if input == nil {
3204		input = &DescribeProvisioningArtifactInput{}
3205	}
3206
3207	output = &DescribeProvisioningArtifactOutput{}
3208	req = c.newRequest(op, input, output)
3209	return
3210}
3211
3212// DescribeProvisioningArtifact API operation for AWS Service Catalog.
3213//
3214// Gets information about the specified provisioning artifact (also known as
3215// a version) for the specified product.
3216//
3217// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3218// with awserr.Error's Code and Message methods to get detailed information about
3219// the error.
3220//
3221// See the AWS API reference guide for AWS Service Catalog's
3222// API operation DescribeProvisioningArtifact for usage and error information.
3223//
3224// Returned Error Types:
3225//   * ResourceNotFoundException
3226//   The specified resource was not found.
3227//
3228//   * InvalidParametersException
3229//   One or more parameters provided to the operation are not valid.
3230//
3231// See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/DescribeProvisioningArtifact
3232func (c *ServiceCatalog) DescribeProvisioningArtifact(input *DescribeProvisioningArtifactInput) (*DescribeProvisioningArtifactOutput, error) {
3233	req, out := c.DescribeProvisioningArtifactRequest(input)
3234	return out, req.Send()
3235}
3236
3237// DescribeProvisioningArtifactWithContext is the same as DescribeProvisioningArtifact with the addition of
3238// the ability to pass a context and additional request options.
3239//
3240// See DescribeProvisioningArtifact for details on how to use this API operation.
3241//
3242// The context must be non-nil and will be used for request cancellation. If
3243// the context is nil a panic will occur. In the future the SDK may create
3244// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3245// for more information on using Contexts.
3246func (c *ServiceCatalog) DescribeProvisioningArtifactWithContext(ctx aws.Context, input *DescribeProvisioningArtifactInput, opts ...request.Option) (*DescribeProvisioningArtifactOutput, error) {
3247	req, out := c.DescribeProvisioningArtifactRequest(input)
3248	req.SetContext(ctx)
3249	req.ApplyOptions(opts...)
3250	return out, req.Send()
3251}
3252
3253const opDescribeProvisioningParameters = "DescribeProvisioningParameters"
3254
3255// DescribeProvisioningParametersRequest generates a "aws/request.Request" representing the
3256// client's request for the DescribeProvisioningParameters operation. The "output" return
3257// value will be populated with the request's response once the request completes
3258// successfully.
3259//
3260// Use "Send" method on the returned Request to send the API call to the service.
3261// the "output" return value is not valid until after Send returns without error.
3262//
3263// See DescribeProvisioningParameters for more information on using the DescribeProvisioningParameters
3264// API call, and error handling.
3265//
3266// This method is useful when you want to inject custom logic or configuration
3267// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3268//
3269//
3270//    // Example sending a request using the DescribeProvisioningParametersRequest method.
3271//    req, resp := client.DescribeProvisioningParametersRequest(params)
3272//
3273//    err := req.Send()
3274//    if err == nil { // resp is now filled
3275//        fmt.Println(resp)
3276//    }
3277//
3278// See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/DescribeProvisioningParameters
3279func (c *ServiceCatalog) DescribeProvisioningParametersRequest(input *DescribeProvisioningParametersInput) (req *request.Request, output *DescribeProvisioningParametersOutput) {
3280	op := &request.Operation{
3281		Name:       opDescribeProvisioningParameters,
3282		HTTPMethod: "POST",
3283		HTTPPath:   "/",
3284	}
3285
3286	if input == nil {
3287		input = &DescribeProvisioningParametersInput{}
3288	}
3289
3290	output = &DescribeProvisioningParametersOutput{}
3291	req = c.newRequest(op, input, output)
3292	return
3293}
3294
3295// DescribeProvisioningParameters API operation for AWS Service Catalog.
3296//
3297// Gets information about the configuration required to provision the specified
3298// product using the specified provisioning artifact.
3299//
3300// If the output contains a TagOption key with an empty list of values, there
3301// is a TagOption conflict for that key. The end user cannot take action to
3302// fix the conflict, and launch is not blocked. In subsequent calls to ProvisionProduct,
3303// do not include conflicted TagOption keys as tags, or this causes the error
3304// "Parameter validation failed: Missing required parameter in Tags[N]:Value".
3305// Tag the provisioned product with the value sc-tagoption-conflict-portfolioId-productId.
3306//
3307// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3308// with awserr.Error's Code and Message methods to get detailed information about
3309// the error.
3310//
3311// See the AWS API reference guide for AWS Service Catalog's
3312// API operation DescribeProvisioningParameters for usage and error information.
3313//
3314// Returned Error Types:
3315//   * InvalidParametersException
3316//   One or more parameters provided to the operation are not valid.
3317//
3318//   * ResourceNotFoundException
3319//   The specified resource was not found.
3320//
3321// See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/DescribeProvisioningParameters
3322func (c *ServiceCatalog) DescribeProvisioningParameters(input *DescribeProvisioningParametersInput) (*DescribeProvisioningParametersOutput, error) {
3323	req, out := c.DescribeProvisioningParametersRequest(input)
3324	return out, req.Send()
3325}
3326
3327// DescribeProvisioningParametersWithContext is the same as DescribeProvisioningParameters with the addition of
3328// the ability to pass a context and additional request options.
3329//
3330// See DescribeProvisioningParameters for details on how to use this API operation.
3331//
3332// The context must be non-nil and will be used for request cancellation. If
3333// the context is nil a panic will occur. In the future the SDK may create
3334// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3335// for more information on using Contexts.
3336func (c *ServiceCatalog) DescribeProvisioningParametersWithContext(ctx aws.Context, input *DescribeProvisioningParametersInput, opts ...request.Option) (*DescribeProvisioningParametersOutput, error) {
3337	req, out := c.DescribeProvisioningParametersRequest(input)
3338	req.SetContext(ctx)
3339	req.ApplyOptions(opts...)
3340	return out, req.Send()
3341}
3342
3343const opDescribeRecord = "DescribeRecord"
3344
3345// DescribeRecordRequest generates a "aws/request.Request" representing the
3346// client's request for the DescribeRecord operation. The "output" return
3347// value will be populated with the request's response once the request completes
3348// successfully.
3349//
3350// Use "Send" method on the returned Request to send the API call to the service.
3351// the "output" return value is not valid until after Send returns without error.
3352//
3353// See DescribeRecord for more information on using the DescribeRecord
3354// API call, and error handling.
3355//
3356// This method is useful when you want to inject custom logic or configuration
3357// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3358//
3359//
3360//    // Example sending a request using the DescribeRecordRequest method.
3361//    req, resp := client.DescribeRecordRequest(params)
3362//
3363//    err := req.Send()
3364//    if err == nil { // resp is now filled
3365//        fmt.Println(resp)
3366//    }
3367//
3368// See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/DescribeRecord
3369func (c *ServiceCatalog) DescribeRecordRequest(input *DescribeRecordInput) (req *request.Request, output *DescribeRecordOutput) {
3370	op := &request.Operation{
3371		Name:       opDescribeRecord,
3372		HTTPMethod: "POST",
3373		HTTPPath:   "/",
3374	}
3375
3376	if input == nil {
3377		input = &DescribeRecordInput{}
3378	}
3379
3380	output = &DescribeRecordOutput{}
3381	req = c.newRequest(op, input, output)
3382	return
3383}
3384
3385// DescribeRecord API operation for AWS Service Catalog.
3386//
3387// Gets information about the specified request operation.
3388//
3389// Use this operation after calling a request operation (for example, ProvisionProduct,
3390// TerminateProvisionedProduct, or UpdateProvisionedProduct).
3391//
3392// If a provisioned product was transferred to a new owner using UpdateProvisionedProductProperties,
3393// the new owner will be able to describe all past records for that product.
3394// The previous owner will no longer be able to describe the records, but will
3395// be able to use ListRecordHistory to see the product's history from when he
3396// was the owner.
3397//
3398// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3399// with awserr.Error's Code and Message methods to get detailed information about
3400// the error.
3401//
3402// See the AWS API reference guide for AWS Service Catalog's
3403// API operation DescribeRecord for usage and error information.
3404//
3405// Returned Error Types:
3406//   * ResourceNotFoundException
3407//   The specified resource was not found.
3408//
3409// See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/DescribeRecord
3410func (c *ServiceCatalog) DescribeRecord(input *DescribeRecordInput) (*DescribeRecordOutput, error) {
3411	req, out := c.DescribeRecordRequest(input)
3412	return out, req.Send()
3413}
3414
3415// DescribeRecordWithContext is the same as DescribeRecord with the addition of
3416// the ability to pass a context and additional request options.
3417//
3418// See DescribeRecord for details on how to use this API operation.
3419//
3420// The context must be non-nil and will be used for request cancellation. If
3421// the context is nil a panic will occur. In the future the SDK may create
3422// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3423// for more information on using Contexts.
3424func (c *ServiceCatalog) DescribeRecordWithContext(ctx aws.Context, input *DescribeRecordInput, opts ...request.Option) (*DescribeRecordOutput, error) {
3425	req, out := c.DescribeRecordRequest(input)
3426	req.SetContext(ctx)
3427	req.ApplyOptions(opts...)
3428	return out, req.Send()
3429}
3430
3431const opDescribeServiceAction = "DescribeServiceAction"
3432
3433// DescribeServiceActionRequest generates a "aws/request.Request" representing the
3434// client's request for the DescribeServiceAction operation. The "output" return
3435// value will be populated with the request's response once the request completes
3436// successfully.
3437//
3438// Use "Send" method on the returned Request to send the API call to the service.
3439// the "output" return value is not valid until after Send returns without error.
3440//
3441// See DescribeServiceAction for more information on using the DescribeServiceAction
3442// API call, and error handling.
3443//
3444// This method is useful when you want to inject custom logic or configuration
3445// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3446//
3447//
3448//    // Example sending a request using the DescribeServiceActionRequest method.
3449//    req, resp := client.DescribeServiceActionRequest(params)
3450//
3451//    err := req.Send()
3452//    if err == nil { // resp is now filled
3453//        fmt.Println(resp)
3454//    }
3455//
3456// See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/DescribeServiceAction
3457func (c *ServiceCatalog) DescribeServiceActionRequest(input *DescribeServiceActionInput) (req *request.Request, output *DescribeServiceActionOutput) {
3458	op := &request.Operation{
3459		Name:       opDescribeServiceAction,
3460		HTTPMethod: "POST",
3461		HTTPPath:   "/",
3462	}
3463
3464	if input == nil {
3465		input = &DescribeServiceActionInput{}
3466	}
3467
3468	output = &DescribeServiceActionOutput{}
3469	req = c.newRequest(op, input, output)
3470	return
3471}
3472
3473// DescribeServiceAction API operation for AWS Service Catalog.
3474//
3475// Describes a self-service action.
3476//
3477// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3478// with awserr.Error's Code and Message methods to get detailed information about
3479// the error.
3480//
3481// See the AWS API reference guide for AWS Service Catalog's
3482// API operation DescribeServiceAction for usage and error information.
3483//
3484// Returned Error Types:
3485//   * ResourceNotFoundException
3486//   The specified resource was not found.
3487//
3488// See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/DescribeServiceAction
3489func (c *ServiceCatalog) DescribeServiceAction(input *DescribeServiceActionInput) (*DescribeServiceActionOutput, error) {
3490	req, out := c.DescribeServiceActionRequest(input)
3491	return out, req.Send()
3492}
3493
3494// DescribeServiceActionWithContext is the same as DescribeServiceAction with the addition of
3495// the ability to pass a context and additional request options.
3496//
3497// See DescribeServiceAction for details on how to use this API operation.
3498//
3499// The context must be non-nil and will be used for request cancellation. If
3500// the context is nil a panic will occur. In the future the SDK may create
3501// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3502// for more information on using Contexts.
3503func (c *ServiceCatalog) DescribeServiceActionWithContext(ctx aws.Context, input *DescribeServiceActionInput, opts ...request.Option) (*DescribeServiceActionOutput, error) {
3504	req, out := c.DescribeServiceActionRequest(input)
3505	req.SetContext(ctx)
3506	req.ApplyOptions(opts...)
3507	return out, req.Send()
3508}
3509
3510const opDescribeServiceActionExecutionParameters = "DescribeServiceActionExecutionParameters"
3511
3512// DescribeServiceActionExecutionParametersRequest generates a "aws/request.Request" representing the
3513// client's request for the DescribeServiceActionExecutionParameters operation. The "output" return
3514// value will be populated with the request's response once the request completes
3515// successfully.
3516//
3517// Use "Send" method on the returned Request to send the API call to the service.
3518// the "output" return value is not valid until after Send returns without error.
3519//
3520// See DescribeServiceActionExecutionParameters for more information on using the DescribeServiceActionExecutionParameters
3521// API call, and error handling.
3522//
3523// This method is useful when you want to inject custom logic or configuration
3524// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3525//
3526//
3527//    // Example sending a request using the DescribeServiceActionExecutionParametersRequest method.
3528//    req, resp := client.DescribeServiceActionExecutionParametersRequest(params)
3529//
3530//    err := req.Send()
3531//    if err == nil { // resp is now filled
3532//        fmt.Println(resp)
3533//    }
3534//
3535// See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/DescribeServiceActionExecutionParameters
3536func (c *ServiceCatalog) DescribeServiceActionExecutionParametersRequest(input *DescribeServiceActionExecutionParametersInput) (req *request.Request, output *DescribeServiceActionExecutionParametersOutput) {
3537	op := &request.Operation{
3538		Name:       opDescribeServiceActionExecutionParameters,
3539		HTTPMethod: "POST",
3540		HTTPPath:   "/",
3541	}
3542
3543	if input == nil {
3544		input = &DescribeServiceActionExecutionParametersInput{}
3545	}
3546
3547	output = &DescribeServiceActionExecutionParametersOutput{}
3548	req = c.newRequest(op, input, output)
3549	return
3550}
3551
3552// DescribeServiceActionExecutionParameters API operation for AWS Service Catalog.
3553//
3554// Finds the default parameters for a specific self-service action on a specific
3555// provisioned product and returns a map of the results to the user.
3556//
3557// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3558// with awserr.Error's Code and Message methods to get detailed information about
3559// the error.
3560//
3561// See the AWS API reference guide for AWS Service Catalog's
3562// API operation DescribeServiceActionExecutionParameters for usage and error information.
3563//
3564// Returned Error Types:
3565//   * InvalidParametersException
3566//   One or more parameters provided to the operation are not valid.
3567//
3568//   * ResourceNotFoundException
3569//   The specified resource was not found.
3570//
3571// See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/DescribeServiceActionExecutionParameters
3572func (c *ServiceCatalog) DescribeServiceActionExecutionParameters(input *DescribeServiceActionExecutionParametersInput) (*DescribeServiceActionExecutionParametersOutput, error) {
3573	req, out := c.DescribeServiceActionExecutionParametersRequest(input)
3574	return out, req.Send()
3575}
3576
3577// DescribeServiceActionExecutionParametersWithContext is the same as DescribeServiceActionExecutionParameters with the addition of
3578// the ability to pass a context and additional request options.
3579//
3580// See DescribeServiceActionExecutionParameters for details on how to use this API operation.
3581//
3582// The context must be non-nil and will be used for request cancellation. If
3583// the context is nil a panic will occur. In the future the SDK may create
3584// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3585// for more information on using Contexts.
3586func (c *ServiceCatalog) DescribeServiceActionExecutionParametersWithContext(ctx aws.Context, input *DescribeServiceActionExecutionParametersInput, opts ...request.Option) (*DescribeServiceActionExecutionParametersOutput, error) {
3587	req, out := c.DescribeServiceActionExecutionParametersRequest(input)
3588	req.SetContext(ctx)
3589	req.ApplyOptions(opts...)
3590	return out, req.Send()
3591}
3592
3593const opDescribeTagOption = "DescribeTagOption"
3594
3595// DescribeTagOptionRequest generates a "aws/request.Request" representing the
3596// client's request for the DescribeTagOption operation. The "output" return
3597// value will be populated with the request's response once the request completes
3598// successfully.
3599//
3600// Use "Send" method on the returned Request to send the API call to the service.
3601// the "output" return value is not valid until after Send returns without error.
3602//
3603// See DescribeTagOption for more information on using the DescribeTagOption
3604// API call, and error handling.
3605//
3606// This method is useful when you want to inject custom logic or configuration
3607// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3608//
3609//
3610//    // Example sending a request using the DescribeTagOptionRequest method.
3611//    req, resp := client.DescribeTagOptionRequest(params)
3612//
3613//    err := req.Send()
3614//    if err == nil { // resp is now filled
3615//        fmt.Println(resp)
3616//    }
3617//
3618// See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/DescribeTagOption
3619func (c *ServiceCatalog) DescribeTagOptionRequest(input *DescribeTagOptionInput) (req *request.Request, output *DescribeTagOptionOutput) {
3620	op := &request.Operation{
3621		Name:       opDescribeTagOption,
3622		HTTPMethod: "POST",
3623		HTTPPath:   "/",
3624	}
3625
3626	if input == nil {
3627		input = &DescribeTagOptionInput{}
3628	}
3629
3630	output = &DescribeTagOptionOutput{}
3631	req = c.newRequest(op, input, output)
3632	return
3633}
3634
3635// DescribeTagOption API operation for AWS Service Catalog.
3636//
3637// Gets information about the specified TagOption.
3638//
3639// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3640// with awserr.Error's Code and Message methods to get detailed information about
3641// the error.
3642//
3643// See the AWS API reference guide for AWS Service Catalog's
3644// API operation DescribeTagOption for usage and error information.
3645//
3646// Returned Error Types:
3647//   * TagOptionNotMigratedException
3648//   An operation requiring TagOptions failed because the TagOptions migration
3649//   process has not been performed for this account. Please use the AWS console
3650//   to perform the migration process before retrying the operation.
3651//
3652//   * ResourceNotFoundException
3653//   The specified resource was not found.
3654//
3655// See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/DescribeTagOption
3656func (c *ServiceCatalog) DescribeTagOption(input *DescribeTagOptionInput) (*DescribeTagOptionOutput, error) {
3657	req, out := c.DescribeTagOptionRequest(input)
3658	return out, req.Send()
3659}
3660
3661// DescribeTagOptionWithContext is the same as DescribeTagOption with the addition of
3662// the ability to pass a context and additional request options.
3663//
3664// See DescribeTagOption for details on how to use this API operation.
3665//
3666// The context must be non-nil and will be used for request cancellation. If
3667// the context is nil a panic will occur. In the future the SDK may create
3668// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3669// for more information on using Contexts.
3670func (c *ServiceCatalog) DescribeTagOptionWithContext(ctx aws.Context, input *DescribeTagOptionInput, opts ...request.Option) (*DescribeTagOptionOutput, error) {
3671	req, out := c.DescribeTagOptionRequest(input)
3672	req.SetContext(ctx)
3673	req.ApplyOptions(opts...)
3674	return out, req.Send()
3675}
3676
3677const opDisableAWSOrganizationsAccess = "DisableAWSOrganizationsAccess"
3678
3679// DisableAWSOrganizationsAccessRequest generates a "aws/request.Request" representing the
3680// client's request for the DisableAWSOrganizationsAccess operation. The "output" return
3681// value will be populated with the request's response once the request completes
3682// successfully.
3683//
3684// Use "Send" method on the returned Request to send the API call to the service.
3685// the "output" return value is not valid until after Send returns without error.
3686//
3687// See DisableAWSOrganizationsAccess for more information on using the DisableAWSOrganizationsAccess
3688// API call, and error handling.
3689//
3690// This method is useful when you want to inject custom logic or configuration
3691// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3692//
3693//
3694//    // Example sending a request using the DisableAWSOrganizationsAccessRequest method.
3695//    req, resp := client.DisableAWSOrganizationsAccessRequest(params)
3696//
3697//    err := req.Send()
3698//    if err == nil { // resp is now filled
3699//        fmt.Println(resp)
3700//    }
3701//
3702// See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/DisableAWSOrganizationsAccess
3703func (c *ServiceCatalog) DisableAWSOrganizationsAccessRequest(input *DisableAWSOrganizationsAccessInput) (req *request.Request, output *DisableAWSOrganizationsAccessOutput) {
3704	op := &request.Operation{
3705		Name:       opDisableAWSOrganizationsAccess,
3706		HTTPMethod: "POST",
3707		HTTPPath:   "/",
3708	}
3709
3710	if input == nil {
3711		input = &DisableAWSOrganizationsAccessInput{}
3712	}
3713
3714	output = &DisableAWSOrganizationsAccessOutput{}
3715	req = c.newRequest(op, input, output)
3716	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
3717	return
3718}
3719
3720// DisableAWSOrganizationsAccess API operation for AWS Service Catalog.
3721//
3722// Disable portfolio sharing through AWS Organizations feature. This feature
3723// will not delete your current shares but it will prevent you from creating
3724// new shares throughout your organization. Current shares will not be in sync
3725// with your organization structure if it changes after calling this API. This
3726// API can only be called by the management account in the organization.
3727//
3728// This API can't be invoked if there are active delegated administrators in
3729// the organization.
3730//
3731// Note that a delegated administrator is not authorized to invoke DisableAWSOrganizationsAccess.
3732//
3733// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3734// with awserr.Error's Code and Message methods to get detailed information about
3735// the error.
3736//
3737// See the AWS API reference guide for AWS Service Catalog's
3738// API operation DisableAWSOrganizationsAccess for usage and error information.
3739//
3740// Returned Error Types:
3741//   * ResourceNotFoundException
3742//   The specified resource was not found.
3743//
3744//   * InvalidStateException
3745//   An attempt was made to modify a resource that is in a state that is not valid.
3746//   Check your resources to ensure that they are in valid states before retrying
3747//   the operation.
3748//
3749//   * OperationNotSupportedException
3750//   The operation is not supported.
3751//
3752// See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/DisableAWSOrganizationsAccess
3753func (c *ServiceCatalog) DisableAWSOrganizationsAccess(input *DisableAWSOrganizationsAccessInput) (*DisableAWSOrganizationsAccessOutput, error) {
3754	req, out := c.DisableAWSOrganizationsAccessRequest(input)
3755	return out, req.Send()
3756}
3757
3758// DisableAWSOrganizationsAccessWithContext is the same as DisableAWSOrganizationsAccess with the addition of
3759// the ability to pass a context and additional request options.
3760//
3761// See DisableAWSOrganizationsAccess for details on how to use this API operation.
3762//
3763// The context must be non-nil and will be used for request cancellation. If
3764// the context is nil a panic will occur. In the future the SDK may create
3765// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3766// for more information on using Contexts.
3767func (c *ServiceCatalog) DisableAWSOrganizationsAccessWithContext(ctx aws.Context, input *DisableAWSOrganizationsAccessInput, opts ...request.Option) (*DisableAWSOrganizationsAccessOutput, error) {
3768	req, out := c.DisableAWSOrganizationsAccessRequest(input)
3769	req.SetContext(ctx)
3770	req.ApplyOptions(opts...)
3771	return out, req.Send()
3772}
3773
3774const opDisassociateBudgetFromResource = "DisassociateBudgetFromResource"
3775
3776// DisassociateBudgetFromResourceRequest generates a "aws/request.Request" representing the
3777// client's request for the DisassociateBudgetFromResource operation. The "output" return
3778// value will be populated with the request's response once the request completes
3779// successfully.
3780//
3781// Use "Send" method on the returned Request to send the API call to the service.
3782// the "output" return value is not valid until after Send returns without error.
3783//
3784// See DisassociateBudgetFromResource for more information on using the DisassociateBudgetFromResource
3785// API call, and error handling.
3786//
3787// This method is useful when you want to inject custom logic or configuration
3788// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3789//
3790//
3791//    // Example sending a request using the DisassociateBudgetFromResourceRequest method.
3792//    req, resp := client.DisassociateBudgetFromResourceRequest(params)
3793//
3794//    err := req.Send()
3795//    if err == nil { // resp is now filled
3796//        fmt.Println(resp)
3797//    }
3798//
3799// See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/DisassociateBudgetFromResource
3800func (c *ServiceCatalog) DisassociateBudgetFromResourceRequest(input *DisassociateBudgetFromResourceInput) (req *request.Request, output *DisassociateBudgetFromResourceOutput) {
3801	op := &request.Operation{
3802		Name:       opDisassociateBudgetFromResource,
3803		HTTPMethod: "POST",
3804		HTTPPath:   "/",
3805	}
3806
3807	if input == nil {
3808		input = &DisassociateBudgetFromResourceInput{}
3809	}
3810
3811	output = &DisassociateBudgetFromResourceOutput{}
3812	req = c.newRequest(op, input, output)
3813	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
3814	return
3815}
3816
3817// DisassociateBudgetFromResource API operation for AWS Service Catalog.
3818//
3819// Disassociates the specified budget from the specified resource.
3820//
3821// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3822// with awserr.Error's Code and Message methods to get detailed information about
3823// the error.
3824//
3825// See the AWS API reference guide for AWS Service Catalog's
3826// API operation DisassociateBudgetFromResource for usage and error information.
3827//
3828// Returned Error Types:
3829//   * ResourceNotFoundException
3830//   The specified resource was not found.
3831//
3832// See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/DisassociateBudgetFromResource
3833func (c *ServiceCatalog) DisassociateBudgetFromResource(input *DisassociateBudgetFromResourceInput) (*DisassociateBudgetFromResourceOutput, error) {
3834	req, out := c.DisassociateBudgetFromResourceRequest(input)
3835	return out, req.Send()
3836}
3837
3838// DisassociateBudgetFromResourceWithContext is the same as DisassociateBudgetFromResource with the addition of
3839// the ability to pass a context and additional request options.
3840//
3841// See DisassociateBudgetFromResource for details on how to use this API operation.
3842//
3843// The context must be non-nil and will be used for request cancellation. If
3844// the context is nil a panic will occur. In the future the SDK may create
3845// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3846// for more information on using Contexts.
3847func (c *ServiceCatalog) DisassociateBudgetFromResourceWithContext(ctx aws.Context, input *DisassociateBudgetFromResourceInput, opts ...request.Option) (*DisassociateBudgetFromResourceOutput, error) {
3848	req, out := c.DisassociateBudgetFromResourceRequest(input)
3849	req.SetContext(ctx)
3850	req.ApplyOptions(opts...)
3851	return out, req.Send()
3852}
3853
3854const opDisassociatePrincipalFromPortfolio = "DisassociatePrincipalFromPortfolio"
3855
3856// DisassociatePrincipalFromPortfolioRequest generates a "aws/request.Request" representing the
3857// client's request for the DisassociatePrincipalFromPortfolio operation. The "output" return
3858// value will be populated with the request's response once the request completes
3859// successfully.
3860//
3861// Use "Send" method on the returned Request to send the API call to the service.
3862// the "output" return value is not valid until after Send returns without error.
3863//
3864// See DisassociatePrincipalFromPortfolio for more information on using the DisassociatePrincipalFromPortfolio
3865// API call, and error handling.
3866//
3867// This method is useful when you want to inject custom logic or configuration
3868// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3869//
3870//
3871//    // Example sending a request using the DisassociatePrincipalFromPortfolioRequest method.
3872//    req, resp := client.DisassociatePrincipalFromPortfolioRequest(params)
3873//
3874//    err := req.Send()
3875//    if err == nil { // resp is now filled
3876//        fmt.Println(resp)
3877//    }
3878//
3879// See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/DisassociatePrincipalFromPortfolio
3880func (c *ServiceCatalog) DisassociatePrincipalFromPortfolioRequest(input *DisassociatePrincipalFromPortfolioInput) (req *request.Request, output *DisassociatePrincipalFromPortfolioOutput) {
3881	op := &request.Operation{
3882		Name:       opDisassociatePrincipalFromPortfolio,
3883		HTTPMethod: "POST",
3884		HTTPPath:   "/",
3885	}
3886
3887	if input == nil {
3888		input = &DisassociatePrincipalFromPortfolioInput{}
3889	}
3890
3891	output = &DisassociatePrincipalFromPortfolioOutput{}
3892	req = c.newRequest(op, input, output)
3893	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
3894	return
3895}
3896
3897// DisassociatePrincipalFromPortfolio API operation for AWS Service Catalog.
3898//
3899// Disassociates a previously associated principal ARN from a specified portfolio.
3900//
3901// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3902// with awserr.Error's Code and Message methods to get detailed information about
3903// the error.
3904//
3905// See the AWS API reference guide for AWS Service Catalog's
3906// API operation DisassociatePrincipalFromPortfolio for usage and error information.
3907//
3908// Returned Error Types:
3909//   * InvalidParametersException
3910//   One or more parameters provided to the operation are not valid.
3911//
3912//   * ResourceNotFoundException
3913//   The specified resource was not found.
3914//
3915// See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/DisassociatePrincipalFromPortfolio
3916func (c *ServiceCatalog) DisassociatePrincipalFromPortfolio(input *DisassociatePrincipalFromPortfolioInput) (*DisassociatePrincipalFromPortfolioOutput, error) {
3917	req, out := c.DisassociatePrincipalFromPortfolioRequest(input)
3918	return out, req.Send()
3919}
3920
3921// DisassociatePrincipalFromPortfolioWithContext is the same as DisassociatePrincipalFromPortfolio with the addition of
3922// the ability to pass a context and additional request options.
3923//
3924// See DisassociatePrincipalFromPortfolio for details on how to use this API operation.
3925//
3926// The context must be non-nil and will be used for request cancellation. If
3927// the context is nil a panic will occur. In the future the SDK may create
3928// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3929// for more information on using Contexts.
3930func (c *ServiceCatalog) DisassociatePrincipalFromPortfolioWithContext(ctx aws.Context, input *DisassociatePrincipalFromPortfolioInput, opts ...request.Option) (*DisassociatePrincipalFromPortfolioOutput, error) {
3931	req, out := c.DisassociatePrincipalFromPortfolioRequest(input)
3932	req.SetContext(ctx)
3933	req.ApplyOptions(opts...)
3934	return out, req.Send()
3935}
3936
3937const opDisassociateProductFromPortfolio = "DisassociateProductFromPortfolio"
3938
3939// DisassociateProductFromPortfolioRequest generates a "aws/request.Request" representing the
3940// client's request for the DisassociateProductFromPortfolio operation. The "output" return
3941// value will be populated with the request's response once the request completes
3942// successfully.
3943//
3944// Use "Send" method on the returned Request to send the API call to the service.
3945// the "output" return value is not valid until after Send returns without error.
3946//
3947// See DisassociateProductFromPortfolio for more information on using the DisassociateProductFromPortfolio
3948// API call, and error handling.
3949//
3950// This method is useful when you want to inject custom logic or configuration
3951// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3952//
3953//
3954//    // Example sending a request using the DisassociateProductFromPortfolioRequest method.
3955//    req, resp := client.DisassociateProductFromPortfolioRequest(params)
3956//
3957//    err := req.Send()
3958//    if err == nil { // resp is now filled
3959//        fmt.Println(resp)
3960//    }
3961//
3962// See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/DisassociateProductFromPortfolio
3963func (c *ServiceCatalog) DisassociateProductFromPortfolioRequest(input *DisassociateProductFromPortfolioInput) (req *request.Request, output *DisassociateProductFromPortfolioOutput) {
3964	op := &request.Operation{
3965		Name:       opDisassociateProductFromPortfolio,
3966		HTTPMethod: "POST",
3967		HTTPPath:   "/",
3968	}
3969
3970	if input == nil {
3971		input = &DisassociateProductFromPortfolioInput{}
3972	}
3973
3974	output = &DisassociateProductFromPortfolioOutput{}
3975	req = c.newRequest(op, input, output)
3976	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
3977	return
3978}
3979
3980// DisassociateProductFromPortfolio API operation for AWS Service Catalog.
3981//
3982// Disassociates the specified product from the specified portfolio.
3983//
3984// A delegated admin is authorized to invoke this command.
3985//
3986// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3987// with awserr.Error's Code and Message methods to get detailed information about
3988// the error.
3989//
3990// See the AWS API reference guide for AWS Service Catalog's
3991// API operation DisassociateProductFromPortfolio for usage and error information.
3992//
3993// Returned Error Types:
3994//   * ResourceNotFoundException
3995//   The specified resource was not found.
3996//
3997//   * ResourceInUseException
3998//   A resource that is currently in use. Ensure that the resource is not in use
3999//   and retry the operation.
4000//
4001//   * InvalidParametersException
4002//   One or more parameters provided to the operation are not valid.
4003//
4004// See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/DisassociateProductFromPortfolio
4005func (c *ServiceCatalog) DisassociateProductFromPortfolio(input *DisassociateProductFromPortfolioInput) (*DisassociateProductFromPortfolioOutput, error) {
4006	req, out := c.DisassociateProductFromPortfolioRequest(input)
4007	return out, req.Send()
4008}
4009
4010// DisassociateProductFromPortfolioWithContext is the same as DisassociateProductFromPortfolio with the addition of
4011// the ability to pass a context and additional request options.
4012//
4013// See DisassociateProductFromPortfolio for details on how to use this API operation.
4014//
4015// The context must be non-nil and will be used for request cancellation. If
4016// the context is nil a panic will occur. In the future the SDK may create
4017// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4018// for more information on using Contexts.
4019func (c *ServiceCatalog) DisassociateProductFromPortfolioWithContext(ctx aws.Context, input *DisassociateProductFromPortfolioInput, opts ...request.Option) (*DisassociateProductFromPortfolioOutput, error) {
4020	req, out := c.DisassociateProductFromPortfolioRequest(input)
4021	req.SetContext(ctx)
4022	req.ApplyOptions(opts...)
4023	return out, req.Send()
4024}
4025
4026const opDisassociateServiceActionFromProvisioningArtifact = "DisassociateServiceActionFromProvisioningArtifact"
4027
4028// DisassociateServiceActionFromProvisioningArtifactRequest generates a "aws/request.Request" representing the
4029// client's request for the DisassociateServiceActionFromProvisioningArtifact operation. The "output" return
4030// value will be populated with the request's response once the request completes
4031// successfully.
4032//
4033// Use "Send" method on the returned Request to send the API call to the service.
4034// the "output" return value is not valid until after Send returns without error.
4035//
4036// See DisassociateServiceActionFromProvisioningArtifact for more information on using the DisassociateServiceActionFromProvisioningArtifact
4037// API call, and error handling.
4038//
4039// This method is useful when you want to inject custom logic or configuration
4040// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4041//
4042//
4043//    // Example sending a request using the DisassociateServiceActionFromProvisioningArtifactRequest method.
4044//    req, resp := client.DisassociateServiceActionFromProvisioningArtifactRequest(params)
4045//
4046//    err := req.Send()
4047//    if err == nil { // resp is now filled
4048//        fmt.Println(resp)
4049//    }
4050//
4051// See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/DisassociateServiceActionFromProvisioningArtifact
4052func (c *ServiceCatalog) DisassociateServiceActionFromProvisioningArtifactRequest(input *DisassociateServiceActionFromProvisioningArtifactInput) (req *request.Request, output *DisassociateServiceActionFromProvisioningArtifactOutput) {
4053	op := &request.Operation{
4054		Name:       opDisassociateServiceActionFromProvisioningArtifact,
4055		HTTPMethod: "POST",
4056		HTTPPath:   "/",
4057	}
4058
4059	if input == nil {
4060		input = &DisassociateServiceActionFromProvisioningArtifactInput{}
4061	}
4062
4063	output = &DisassociateServiceActionFromProvisioningArtifactOutput{}
4064	req = c.newRequest(op, input, output)
4065	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
4066	return
4067}
4068
4069// DisassociateServiceActionFromProvisioningArtifact API operation for AWS Service Catalog.
4070//
4071// Disassociates the specified self-service action association from the specified
4072// provisioning artifact.
4073//
4074// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4075// with awserr.Error's Code and Message methods to get detailed information about
4076// the error.
4077//
4078// See the AWS API reference guide for AWS Service Catalog's
4079// API operation DisassociateServiceActionFromProvisioningArtifact for usage and error information.
4080//
4081// Returned Error Types:
4082//   * ResourceNotFoundException
4083//   The specified resource was not found.
4084//
4085// See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/DisassociateServiceActionFromProvisioningArtifact
4086func (c *ServiceCatalog) DisassociateServiceActionFromProvisioningArtifact(input *DisassociateServiceActionFromProvisioningArtifactInput) (*DisassociateServiceActionFromProvisioningArtifactOutput, error) {
4087	req, out := c.DisassociateServiceActionFromProvisioningArtifactRequest(input)
4088	return out, req.Send()
4089}
4090
4091// DisassociateServiceActionFromProvisioningArtifactWithContext is the same as DisassociateServiceActionFromProvisioningArtifact with the addition of
4092// the ability to pass a context and additional request options.
4093//
4094// See DisassociateServiceActionFromProvisioningArtifact for details on how to use this API operation.
4095//
4096// The context must be non-nil and will be used for request cancellation. If
4097// the context is nil a panic will occur. In the future the SDK may create
4098// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4099// for more information on using Contexts.
4100func (c *ServiceCatalog) DisassociateServiceActionFromProvisioningArtifactWithContext(ctx aws.Context, input *DisassociateServiceActionFromProvisioningArtifactInput, opts ...request.Option) (*DisassociateServiceActionFromProvisioningArtifactOutput, error) {
4101	req, out := c.DisassociateServiceActionFromProvisioningArtifactRequest(input)
4102	req.SetContext(ctx)
4103	req.ApplyOptions(opts...)
4104	return out, req.Send()
4105}
4106
4107const opDisassociateTagOptionFromResource = "DisassociateTagOptionFromResource"
4108
4109// DisassociateTagOptionFromResourceRequest generates a "aws/request.Request" representing the
4110// client's request for the DisassociateTagOptionFromResource operation. The "output" return
4111// value will be populated with the request's response once the request completes
4112// successfully.
4113//
4114// Use "Send" method on the returned Request to send the API call to the service.
4115// the "output" return value is not valid until after Send returns without error.
4116//
4117// See DisassociateTagOptionFromResource for more information on using the DisassociateTagOptionFromResource
4118// API call, and error handling.
4119//
4120// This method is useful when you want to inject custom logic or configuration
4121// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4122//
4123//
4124//    // Example sending a request using the DisassociateTagOptionFromResourceRequest method.
4125//    req, resp := client.DisassociateTagOptionFromResourceRequest(params)
4126//
4127//    err := req.Send()
4128//    if err == nil { // resp is now filled
4129//        fmt.Println(resp)
4130//    }
4131//
4132// See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/DisassociateTagOptionFromResource
4133func (c *ServiceCatalog) DisassociateTagOptionFromResourceRequest(input *DisassociateTagOptionFromResourceInput) (req *request.Request, output *DisassociateTagOptionFromResourceOutput) {
4134	op := &request.Operation{
4135		Name:       opDisassociateTagOptionFromResource,
4136		HTTPMethod: "POST",
4137		HTTPPath:   "/",
4138	}
4139
4140	if input == nil {
4141		input = &DisassociateTagOptionFromResourceInput{}
4142	}
4143
4144	output = &DisassociateTagOptionFromResourceOutput{}
4145	req = c.newRequest(op, input, output)
4146	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
4147	return
4148}
4149
4150// DisassociateTagOptionFromResource API operation for AWS Service Catalog.
4151//
4152// Disassociates the specified TagOption from the specified resource.
4153//
4154// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4155// with awserr.Error's Code and Message methods to get detailed information about
4156// the error.
4157//
4158// See the AWS API reference guide for AWS Service Catalog's
4159// API operation DisassociateTagOptionFromResource for usage and error information.
4160//
4161// Returned Error Types:
4162//   * TagOptionNotMigratedException
4163//   An operation requiring TagOptions failed because the TagOptions migration
4164//   process has not been performed for this account. Please use the AWS console
4165//   to perform the migration process before retrying the operation.
4166//
4167//   * ResourceNotFoundException
4168//   The specified resource was not found.
4169//
4170// See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/DisassociateTagOptionFromResource
4171func (c *ServiceCatalog) DisassociateTagOptionFromResource(input *DisassociateTagOptionFromResourceInput) (*DisassociateTagOptionFromResourceOutput, error) {
4172	req, out := c.DisassociateTagOptionFromResourceRequest(input)
4173	return out, req.Send()
4174}
4175
4176// DisassociateTagOptionFromResourceWithContext is the same as DisassociateTagOptionFromResource with the addition of
4177// the ability to pass a context and additional request options.
4178//
4179// See DisassociateTagOptionFromResource for details on how to use this API operation.
4180//
4181// The context must be non-nil and will be used for request cancellation. If
4182// the context is nil a panic will occur. In the future the SDK may create
4183// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4184// for more information on using Contexts.
4185func (c *ServiceCatalog) DisassociateTagOptionFromResourceWithContext(ctx aws.Context, input *DisassociateTagOptionFromResourceInput, opts ...request.Option) (*DisassociateTagOptionFromResourceOutput, error) {
4186	req, out := c.DisassociateTagOptionFromResourceRequest(input)
4187	req.SetContext(ctx)
4188	req.ApplyOptions(opts...)
4189	return out, req.Send()
4190}
4191
4192const opEnableAWSOrganizationsAccess = "EnableAWSOrganizationsAccess"
4193
4194// EnableAWSOrganizationsAccessRequest generates a "aws/request.Request" representing the
4195// client's request for the EnableAWSOrganizationsAccess operation. The "output" return
4196// value will be populated with the request's response once the request completes
4197// successfully.
4198//
4199// Use "Send" method on the returned Request to send the API call to the service.
4200// the "output" return value is not valid until after Send returns without error.
4201//
4202// See EnableAWSOrganizationsAccess for more information on using the EnableAWSOrganizationsAccess
4203// API call, and error handling.
4204//
4205// This method is useful when you want to inject custom logic or configuration
4206// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4207//
4208//
4209//    // Example sending a request using the EnableAWSOrganizationsAccessRequest method.
4210//    req, resp := client.EnableAWSOrganizationsAccessRequest(params)
4211//
4212//    err := req.Send()
4213//    if err == nil { // resp is now filled
4214//        fmt.Println(resp)
4215//    }
4216//
4217// See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/EnableAWSOrganizationsAccess
4218func (c *ServiceCatalog) EnableAWSOrganizationsAccessRequest(input *EnableAWSOrganizationsAccessInput) (req *request.Request, output *EnableAWSOrganizationsAccessOutput) {
4219	op := &request.Operation{
4220		Name:       opEnableAWSOrganizationsAccess,
4221		HTTPMethod: "POST",
4222		HTTPPath:   "/",
4223	}
4224
4225	if input == nil {
4226		input = &EnableAWSOrganizationsAccessInput{}
4227	}
4228
4229	output = &EnableAWSOrganizationsAccessOutput{}
4230	req = c.newRequest(op, input, output)
4231	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
4232	return
4233}
4234
4235// EnableAWSOrganizationsAccess API operation for AWS Service Catalog.
4236//
4237// Enable portfolio sharing feature through AWS Organizations. This API will
4238// allow Service Catalog to receive updates on your organization in order to
4239// sync your shares with the current structure. This API can only be called
4240// by the management account in the organization.
4241//
4242// By calling this API Service Catalog will make a call to organizations:EnableAWSServiceAccess
4243// on your behalf so that your shares can be in sync with any changes in your
4244// AWS Organizations structure.
4245//
4246// Note that a delegated administrator is not authorized to invoke EnableAWSOrganizationsAccess.
4247//
4248// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4249// with awserr.Error's Code and Message methods to get detailed information about
4250// the error.
4251//
4252// See the AWS API reference guide for AWS Service Catalog's
4253// API operation EnableAWSOrganizationsAccess for usage and error information.
4254//
4255// Returned Error Types:
4256//   * ResourceNotFoundException
4257//   The specified resource was not found.
4258//
4259//   * InvalidStateException
4260//   An attempt was made to modify a resource that is in a state that is not valid.
4261//   Check your resources to ensure that they are in valid states before retrying
4262//   the operation.
4263//
4264//   * OperationNotSupportedException
4265//   The operation is not supported.
4266//
4267// See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/EnableAWSOrganizationsAccess
4268func (c *ServiceCatalog) EnableAWSOrganizationsAccess(input *EnableAWSOrganizationsAccessInput) (*EnableAWSOrganizationsAccessOutput, error) {
4269	req, out := c.EnableAWSOrganizationsAccessRequest(input)
4270	return out, req.Send()
4271}
4272
4273// EnableAWSOrganizationsAccessWithContext is the same as EnableAWSOrganizationsAccess with the addition of
4274// the ability to pass a context and additional request options.
4275//
4276// See EnableAWSOrganizationsAccess for details on how to use this API operation.
4277//
4278// The context must be non-nil and will be used for request cancellation. If
4279// the context is nil a panic will occur. In the future the SDK may create
4280// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4281// for more information on using Contexts.
4282func (c *ServiceCatalog) EnableAWSOrganizationsAccessWithContext(ctx aws.Context, input *EnableAWSOrganizationsAccessInput, opts ...request.Option) (*EnableAWSOrganizationsAccessOutput, error) {
4283	req, out := c.EnableAWSOrganizationsAccessRequest(input)
4284	req.SetContext(ctx)
4285	req.ApplyOptions(opts...)
4286	return out, req.Send()
4287}
4288
4289const opExecuteProvisionedProductPlan = "ExecuteProvisionedProductPlan"
4290
4291// ExecuteProvisionedProductPlanRequest generates a "aws/request.Request" representing the
4292// client's request for the ExecuteProvisionedProductPlan operation. The "output" return
4293// value will be populated with the request's response once the request completes
4294// successfully.
4295//
4296// Use "Send" method on the returned Request to send the API call to the service.
4297// the "output" return value is not valid until after Send returns without error.
4298//
4299// See ExecuteProvisionedProductPlan for more information on using the ExecuteProvisionedProductPlan
4300// API call, and error handling.
4301//
4302// This method is useful when you want to inject custom logic or configuration
4303// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4304//
4305//
4306//    // Example sending a request using the ExecuteProvisionedProductPlanRequest method.
4307//    req, resp := client.ExecuteProvisionedProductPlanRequest(params)
4308//
4309//    err := req.Send()
4310//    if err == nil { // resp is now filled
4311//        fmt.Println(resp)
4312//    }
4313//
4314// See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/ExecuteProvisionedProductPlan
4315func (c *ServiceCatalog) ExecuteProvisionedProductPlanRequest(input *ExecuteProvisionedProductPlanInput) (req *request.Request, output *ExecuteProvisionedProductPlanOutput) {
4316	op := &request.Operation{
4317		Name:       opExecuteProvisionedProductPlan,
4318		HTTPMethod: "POST",
4319		HTTPPath:   "/",
4320	}
4321
4322	if input == nil {
4323		input = &ExecuteProvisionedProductPlanInput{}
4324	}
4325
4326	output = &ExecuteProvisionedProductPlanOutput{}
4327	req = c.newRequest(op, input, output)
4328	return
4329}
4330
4331// ExecuteProvisionedProductPlan API operation for AWS Service Catalog.
4332//
4333// Provisions or modifies a product based on the resource changes for the specified
4334// plan.
4335//
4336// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4337// with awserr.Error's Code and Message methods to get detailed information about
4338// the error.
4339//
4340// See the AWS API reference guide for AWS Service Catalog's
4341// API operation ExecuteProvisionedProductPlan for usage and error information.
4342//
4343// Returned Error Types:
4344//   * InvalidParametersException
4345//   One or more parameters provided to the operation are not valid.
4346//
4347//   * ResourceNotFoundException
4348//   The specified resource was not found.
4349//
4350//   * InvalidStateException
4351//   An attempt was made to modify a resource that is in a state that is not valid.
4352//   Check your resources to ensure that they are in valid states before retrying
4353//   the operation.
4354//
4355// See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/ExecuteProvisionedProductPlan
4356func (c *ServiceCatalog) ExecuteProvisionedProductPlan(input *ExecuteProvisionedProductPlanInput) (*ExecuteProvisionedProductPlanOutput, error) {
4357	req, out := c.ExecuteProvisionedProductPlanRequest(input)
4358	return out, req.Send()
4359}
4360
4361// ExecuteProvisionedProductPlanWithContext is the same as ExecuteProvisionedProductPlan with the addition of
4362// the ability to pass a context and additional request options.
4363//
4364// See ExecuteProvisionedProductPlan for details on how to use this API operation.
4365//
4366// The context must be non-nil and will be used for request cancellation. If
4367// the context is nil a panic will occur. In the future the SDK may create
4368// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4369// for more information on using Contexts.
4370func (c *ServiceCatalog) ExecuteProvisionedProductPlanWithContext(ctx aws.Context, input *ExecuteProvisionedProductPlanInput, opts ...request.Option) (*ExecuteProvisionedProductPlanOutput, error) {
4371	req, out := c.ExecuteProvisionedProductPlanRequest(input)
4372	req.SetContext(ctx)
4373	req.ApplyOptions(opts...)
4374	return out, req.Send()
4375}
4376
4377const opExecuteProvisionedProductServiceAction = "ExecuteProvisionedProductServiceAction"
4378
4379// ExecuteProvisionedProductServiceActionRequest generates a "aws/request.Request" representing the
4380// client's request for the ExecuteProvisionedProductServiceAction operation. The "output" return
4381// value will be populated with the request's response once the request completes
4382// successfully.
4383//
4384// Use "Send" method on the returned Request to send the API call to the service.
4385// the "output" return value is not valid until after Send returns without error.
4386//
4387// See ExecuteProvisionedProductServiceAction for more information on using the ExecuteProvisionedProductServiceAction
4388// API call, and error handling.
4389//
4390// This method is useful when you want to inject custom logic or configuration
4391// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4392//
4393//
4394//    // Example sending a request using the ExecuteProvisionedProductServiceActionRequest method.
4395//    req, resp := client.ExecuteProvisionedProductServiceActionRequest(params)
4396//
4397//    err := req.Send()
4398//    if err == nil { // resp is now filled
4399//        fmt.Println(resp)
4400//    }
4401//
4402// See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/ExecuteProvisionedProductServiceAction
4403func (c *ServiceCatalog) ExecuteProvisionedProductServiceActionRequest(input *ExecuteProvisionedProductServiceActionInput) (req *request.Request, output *ExecuteProvisionedProductServiceActionOutput) {
4404	op := &request.Operation{
4405		Name:       opExecuteProvisionedProductServiceAction,
4406		HTTPMethod: "POST",
4407		HTTPPath:   "/",
4408	}
4409
4410	if input == nil {
4411		input = &ExecuteProvisionedProductServiceActionInput{}
4412	}
4413
4414	output = &ExecuteProvisionedProductServiceActionOutput{}
4415	req = c.newRequest(op, input, output)
4416	return
4417}
4418
4419// ExecuteProvisionedProductServiceAction API operation for AWS Service Catalog.
4420//
4421// Executes a self-service action against a provisioned product.
4422//
4423// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4424// with awserr.Error's Code and Message methods to get detailed information about
4425// the error.
4426//
4427// See the AWS API reference guide for AWS Service Catalog's
4428// API operation ExecuteProvisionedProductServiceAction for usage and error information.
4429//
4430// Returned Error Types:
4431//   * InvalidParametersException
4432//   One or more parameters provided to the operation are not valid.
4433//
4434//   * ResourceNotFoundException
4435//   The specified resource was not found.
4436//
4437//   * InvalidStateException
4438//   An attempt was made to modify a resource that is in a state that is not valid.
4439//   Check your resources to ensure that they are in valid states before retrying
4440//   the operation.
4441//
4442// See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/ExecuteProvisionedProductServiceAction
4443func (c *ServiceCatalog) ExecuteProvisionedProductServiceAction(input *ExecuteProvisionedProductServiceActionInput) (*ExecuteProvisionedProductServiceActionOutput, error) {
4444	req, out := c.ExecuteProvisionedProductServiceActionRequest(input)
4445	return out, req.Send()
4446}
4447
4448// ExecuteProvisionedProductServiceActionWithContext is the same as ExecuteProvisionedProductServiceAction with the addition of
4449// the ability to pass a context and additional request options.
4450//
4451// See ExecuteProvisionedProductServiceAction for details on how to use this API operation.
4452//
4453// The context must be non-nil and will be used for request cancellation. If
4454// the context is nil a panic will occur. In the future the SDK may create
4455// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4456// for more information on using Contexts.
4457func (c *ServiceCatalog) ExecuteProvisionedProductServiceActionWithContext(ctx aws.Context, input *ExecuteProvisionedProductServiceActionInput, opts ...request.Option) (*ExecuteProvisionedProductServiceActionOutput, error) {
4458	req, out := c.ExecuteProvisionedProductServiceActionRequest(input)
4459	req.SetContext(ctx)
4460	req.ApplyOptions(opts...)
4461	return out, req.Send()
4462}
4463
4464const opGetAWSOrganizationsAccessStatus = "GetAWSOrganizationsAccessStatus"
4465
4466// GetAWSOrganizationsAccessStatusRequest generates a "aws/request.Request" representing the
4467// client's request for the GetAWSOrganizationsAccessStatus operation. The "output" return
4468// value will be populated with the request's response once the request completes
4469// successfully.
4470//
4471// Use "Send" method on the returned Request to send the API call to the service.
4472// the "output" return value is not valid until after Send returns without error.
4473//
4474// See GetAWSOrganizationsAccessStatus for more information on using the GetAWSOrganizationsAccessStatus
4475// API call, and error handling.
4476//
4477// This method is useful when you want to inject custom logic or configuration
4478// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4479//
4480//
4481//    // Example sending a request using the GetAWSOrganizationsAccessStatusRequest method.
4482//    req, resp := client.GetAWSOrganizationsAccessStatusRequest(params)
4483//
4484//    err := req.Send()
4485//    if err == nil { // resp is now filled
4486//        fmt.Println(resp)
4487//    }
4488//
4489// See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/GetAWSOrganizationsAccessStatus
4490func (c *ServiceCatalog) GetAWSOrganizationsAccessStatusRequest(input *GetAWSOrganizationsAccessStatusInput) (req *request.Request, output *GetAWSOrganizationsAccessStatusOutput) {
4491	op := &request.Operation{
4492		Name:       opGetAWSOrganizationsAccessStatus,
4493		HTTPMethod: "POST",
4494		HTTPPath:   "/",
4495	}
4496
4497	if input == nil {
4498		input = &GetAWSOrganizationsAccessStatusInput{}
4499	}
4500
4501	output = &GetAWSOrganizationsAccessStatusOutput{}
4502	req = c.newRequest(op, input, output)
4503	return
4504}
4505
4506// GetAWSOrganizationsAccessStatus API operation for AWS Service Catalog.
4507//
4508// Get the Access Status for AWS Organization portfolio share feature. This
4509// API can only be called by the management account in the organization or by
4510// a delegated admin.
4511//
4512// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4513// with awserr.Error's Code and Message methods to get detailed information about
4514// the error.
4515//
4516// See the AWS API reference guide for AWS Service Catalog's
4517// API operation GetAWSOrganizationsAccessStatus for usage and error information.
4518//
4519// Returned Error Types:
4520//   * ResourceNotFoundException
4521//   The specified resource was not found.
4522//
4523//   * OperationNotSupportedException
4524//   The operation is not supported.
4525//
4526// See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/GetAWSOrganizationsAccessStatus
4527func (c *ServiceCatalog) GetAWSOrganizationsAccessStatus(input *GetAWSOrganizationsAccessStatusInput) (*GetAWSOrganizationsAccessStatusOutput, error) {
4528	req, out := c.GetAWSOrganizationsAccessStatusRequest(input)
4529	return out, req.Send()
4530}
4531
4532// GetAWSOrganizationsAccessStatusWithContext is the same as GetAWSOrganizationsAccessStatus with the addition of
4533// the ability to pass a context and additional request options.
4534//
4535// See GetAWSOrganizationsAccessStatus for details on how to use this API operation.
4536//
4537// The context must be non-nil and will be used for request cancellation. If
4538// the context is nil a panic will occur. In the future the SDK may create
4539// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4540// for more information on using Contexts.
4541func (c *ServiceCatalog) GetAWSOrganizationsAccessStatusWithContext(ctx aws.Context, input *GetAWSOrganizationsAccessStatusInput, opts ...request.Option) (*GetAWSOrganizationsAccessStatusOutput, error) {
4542	req, out := c.GetAWSOrganizationsAccessStatusRequest(input)
4543	req.SetContext(ctx)
4544	req.ApplyOptions(opts...)
4545	return out, req.Send()
4546}
4547
4548const opGetProvisionedProductOutputs = "GetProvisionedProductOutputs"
4549
4550// GetProvisionedProductOutputsRequest generates a "aws/request.Request" representing the
4551// client's request for the GetProvisionedProductOutputs operation. The "output" return
4552// value will be populated with the request's response once the request completes
4553// successfully.
4554//
4555// Use "Send" method on the returned Request to send the API call to the service.
4556// the "output" return value is not valid until after Send returns without error.
4557//
4558// See GetProvisionedProductOutputs for more information on using the GetProvisionedProductOutputs
4559// API call, and error handling.
4560//
4561// This method is useful when you want to inject custom logic or configuration
4562// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4563//
4564//
4565//    // Example sending a request using the GetProvisionedProductOutputsRequest method.
4566//    req, resp := client.GetProvisionedProductOutputsRequest(params)
4567//
4568//    err := req.Send()
4569//    if err == nil { // resp is now filled
4570//        fmt.Println(resp)
4571//    }
4572//
4573// See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/GetProvisionedProductOutputs
4574func (c *ServiceCatalog) GetProvisionedProductOutputsRequest(input *GetProvisionedProductOutputsInput) (req *request.Request, output *GetProvisionedProductOutputsOutput) {
4575	op := &request.Operation{
4576		Name:       opGetProvisionedProductOutputs,
4577		HTTPMethod: "POST",
4578		HTTPPath:   "/",
4579		Paginator: &request.Paginator{
4580			InputTokens:     []string{"PageToken"},
4581			OutputTokens:    []string{"NextPageToken"},
4582			LimitToken:      "PageSize",
4583			TruncationToken: "",
4584		},
4585	}
4586
4587	if input == nil {
4588		input = &GetProvisionedProductOutputsInput{}
4589	}
4590
4591	output = &GetProvisionedProductOutputsOutput{}
4592	req = c.newRequest(op, input, output)
4593	return
4594}
4595
4596// GetProvisionedProductOutputs API operation for AWS Service Catalog.
4597//
4598// This API takes either a ProvisonedProductId or a ProvisionedProductName,
4599// along with a list of one or more output keys, and responds with the key/value
4600// pairs of those outputs.
4601//
4602// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4603// with awserr.Error's Code and Message methods to get detailed information about
4604// the error.
4605//
4606// See the AWS API reference guide for AWS Service Catalog's
4607// API operation GetProvisionedProductOutputs for usage and error information.
4608//
4609// Returned Error Types:
4610//   * InvalidParametersException
4611//   One or more parameters provided to the operation are not valid.
4612//
4613//   * ResourceNotFoundException
4614//   The specified resource was not found.
4615//
4616// See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/GetProvisionedProductOutputs
4617func (c *ServiceCatalog) GetProvisionedProductOutputs(input *GetProvisionedProductOutputsInput) (*GetProvisionedProductOutputsOutput, error) {
4618	req, out := c.GetProvisionedProductOutputsRequest(input)
4619	return out, req.Send()
4620}
4621
4622// GetProvisionedProductOutputsWithContext is the same as GetProvisionedProductOutputs with the addition of
4623// the ability to pass a context and additional request options.
4624//
4625// See GetProvisionedProductOutputs for details on how to use this API operation.
4626//
4627// The context must be non-nil and will be used for request cancellation. If
4628// the context is nil a panic will occur. In the future the SDK may create
4629// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4630// for more information on using Contexts.
4631func (c *ServiceCatalog) GetProvisionedProductOutputsWithContext(ctx aws.Context, input *GetProvisionedProductOutputsInput, opts ...request.Option) (*GetProvisionedProductOutputsOutput, error) {
4632	req, out := c.GetProvisionedProductOutputsRequest(input)
4633	req.SetContext(ctx)
4634	req.ApplyOptions(opts...)
4635	return out, req.Send()
4636}
4637
4638// GetProvisionedProductOutputsPages iterates over the pages of a GetProvisionedProductOutputs operation,
4639// calling the "fn" function with the response data for each page. To stop
4640// iterating, return false from the fn function.
4641//
4642// See GetProvisionedProductOutputs method for more information on how to use this operation.
4643//
4644// Note: This operation can generate multiple requests to a service.
4645//
4646//    // Example iterating over at most 3 pages of a GetProvisionedProductOutputs operation.
4647//    pageNum := 0
4648//    err := client.GetProvisionedProductOutputsPages(params,
4649//        func(page *servicecatalog.GetProvisionedProductOutputsOutput, lastPage bool) bool {
4650//            pageNum++
4651//            fmt.Println(page)
4652//            return pageNum <= 3
4653//        })
4654//
4655func (c *ServiceCatalog) GetProvisionedProductOutputsPages(input *GetProvisionedProductOutputsInput, fn func(*GetProvisionedProductOutputsOutput, bool) bool) error {
4656	return c.GetProvisionedProductOutputsPagesWithContext(aws.BackgroundContext(), input, fn)
4657}
4658
4659// GetProvisionedProductOutputsPagesWithContext same as GetProvisionedProductOutputsPages except
4660// it takes a Context and allows setting request options on the pages.
4661//
4662// The context must be non-nil and will be used for request cancellation. If
4663// the context is nil a panic will occur. In the future the SDK may create
4664// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4665// for more information on using Contexts.
4666func (c *ServiceCatalog) GetProvisionedProductOutputsPagesWithContext(ctx aws.Context, input *GetProvisionedProductOutputsInput, fn func(*GetProvisionedProductOutputsOutput, bool) bool, opts ...request.Option) error {
4667	p := request.Pagination{
4668		NewRequest: func() (*request.Request, error) {
4669			var inCpy *GetProvisionedProductOutputsInput
4670			if input != nil {
4671				tmp := *input
4672				inCpy = &tmp
4673			}
4674			req, _ := c.GetProvisionedProductOutputsRequest(inCpy)
4675			req.SetContext(ctx)
4676			req.ApplyOptions(opts...)
4677			return req, nil
4678		},
4679	}
4680
4681	for p.Next() {
4682		if !fn(p.Page().(*GetProvisionedProductOutputsOutput), !p.HasNextPage()) {
4683			break
4684		}
4685	}
4686
4687	return p.Err()
4688}
4689
4690const opImportAsProvisionedProduct = "ImportAsProvisionedProduct"
4691
4692// ImportAsProvisionedProductRequest generates a "aws/request.Request" representing the
4693// client's request for the ImportAsProvisionedProduct operation. The "output" return
4694// value will be populated with the request's response once the request completes
4695// successfully.
4696//
4697// Use "Send" method on the returned Request to send the API call to the service.
4698// the "output" return value is not valid until after Send returns without error.
4699//
4700// See ImportAsProvisionedProduct for more information on using the ImportAsProvisionedProduct
4701// API call, and error handling.
4702//
4703// This method is useful when you want to inject custom logic or configuration
4704// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4705//
4706//
4707//    // Example sending a request using the ImportAsProvisionedProductRequest method.
4708//    req, resp := client.ImportAsProvisionedProductRequest(params)
4709//
4710//    err := req.Send()
4711//    if err == nil { // resp is now filled
4712//        fmt.Println(resp)
4713//    }
4714//
4715// See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/ImportAsProvisionedProduct
4716func (c *ServiceCatalog) ImportAsProvisionedProductRequest(input *ImportAsProvisionedProductInput) (req *request.Request, output *ImportAsProvisionedProductOutput) {
4717	op := &request.Operation{
4718		Name:       opImportAsProvisionedProduct,
4719		HTTPMethod: "POST",
4720		HTTPPath:   "/",
4721	}
4722
4723	if input == nil {
4724		input = &ImportAsProvisionedProductInput{}
4725	}
4726
4727	output = &ImportAsProvisionedProductOutput{}
4728	req = c.newRequest(op, input, output)
4729	return
4730}
4731
4732// ImportAsProvisionedProduct API operation for AWS Service Catalog.
4733//
4734// Requests the import of a resource as a Service Catalog provisioned product
4735// that is associated to a Service Catalog product and provisioning artifact.
4736// Once imported, all supported Service Catalog governance actions are supported
4737// on the provisioned product.
4738//
4739// Resource import only supports CloudFormation stack ARNs. CloudFormation StackSets
4740// and non-root nested stacks are not supported.
4741//
4742// The CloudFormation stack must have one of the following statuses to be imported:
4743// CREATE_COMPLETE, UPDATE_COMPLETE, UPDATE_ROLLBACK_COMPLETE, IMPORT_COMPLETE,
4744// IMPORT_ROLLBACK_COMPLETE.
4745//
4746// Import of the resource requires that the CloudFormation stack template matches
4747// the associated Service Catalog product provisioning artifact.
4748//
4749// The user or role that performs this operation must have the cloudformation:GetTemplate
4750// and cloudformation:DescribeStacks IAM policy permissions.
4751//
4752// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4753// with awserr.Error's Code and Message methods to get detailed information about
4754// the error.
4755//
4756// See the AWS API reference guide for AWS Service Catalog's
4757// API operation ImportAsProvisionedProduct for usage and error information.
4758//
4759// Returned Error Types:
4760//   * DuplicateResourceException
4761//   The specified resource is a duplicate.
4762//
4763//   * InvalidStateException
4764//   An attempt was made to modify a resource that is in a state that is not valid.
4765//   Check your resources to ensure that they are in valid states before retrying
4766//   the operation.
4767//
4768//   * ResourceNotFoundException
4769//   The specified resource was not found.
4770//
4771//   * InvalidParametersException
4772//   One or more parameters provided to the operation are not valid.
4773//
4774// See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/ImportAsProvisionedProduct
4775func (c *ServiceCatalog) ImportAsProvisionedProduct(input *ImportAsProvisionedProductInput) (*ImportAsProvisionedProductOutput, error) {
4776	req, out := c.ImportAsProvisionedProductRequest(input)
4777	return out, req.Send()
4778}
4779
4780// ImportAsProvisionedProductWithContext is the same as ImportAsProvisionedProduct with the addition of
4781// the ability to pass a context and additional request options.
4782//
4783// See ImportAsProvisionedProduct for details on how to use this API operation.
4784//
4785// The context must be non-nil and will be used for request cancellation. If
4786// the context is nil a panic will occur. In the future the SDK may create
4787// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4788// for more information on using Contexts.
4789func (c *ServiceCatalog) ImportAsProvisionedProductWithContext(ctx aws.Context, input *ImportAsProvisionedProductInput, opts ...request.Option) (*ImportAsProvisionedProductOutput, error) {
4790	req, out := c.ImportAsProvisionedProductRequest(input)
4791	req.SetContext(ctx)
4792	req.ApplyOptions(opts...)
4793	return out, req.Send()
4794}
4795
4796const opListAcceptedPortfolioShares = "ListAcceptedPortfolioShares"
4797
4798// ListAcceptedPortfolioSharesRequest generates a "aws/request.Request" representing the
4799// client's request for the ListAcceptedPortfolioShares operation. The "output" return
4800// value will be populated with the request's response once the request completes
4801// successfully.
4802//
4803// Use "Send" method on the returned Request to send the API call to the service.
4804// the "output" return value is not valid until after Send returns without error.
4805//
4806// See ListAcceptedPortfolioShares for more information on using the ListAcceptedPortfolioShares
4807// API call, and error handling.
4808//
4809// This method is useful when you want to inject custom logic or configuration
4810// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4811//
4812//
4813//    // Example sending a request using the ListAcceptedPortfolioSharesRequest method.
4814//    req, resp := client.ListAcceptedPortfolioSharesRequest(params)
4815//
4816//    err := req.Send()
4817//    if err == nil { // resp is now filled
4818//        fmt.Println(resp)
4819//    }
4820//
4821// See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/ListAcceptedPortfolioShares
4822func (c *ServiceCatalog) ListAcceptedPortfolioSharesRequest(input *ListAcceptedPortfolioSharesInput) (req *request.Request, output *ListAcceptedPortfolioSharesOutput) {
4823	op := &request.Operation{
4824		Name:       opListAcceptedPortfolioShares,
4825		HTTPMethod: "POST",
4826		HTTPPath:   "/",
4827		Paginator: &request.Paginator{
4828			InputTokens:     []string{"PageToken"},
4829			OutputTokens:    []string{"NextPageToken"},
4830			LimitToken:      "PageSize",
4831			TruncationToken: "",
4832		},
4833	}
4834
4835	if input == nil {
4836		input = &ListAcceptedPortfolioSharesInput{}
4837	}
4838
4839	output = &ListAcceptedPortfolioSharesOutput{}
4840	req = c.newRequest(op, input, output)
4841	return
4842}
4843
4844// ListAcceptedPortfolioShares API operation for AWS Service Catalog.
4845//
4846// Lists all portfolios for which sharing was accepted by this account.
4847//
4848// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4849// with awserr.Error's Code and Message methods to get detailed information about
4850// the error.
4851//
4852// See the AWS API reference guide for AWS Service Catalog's
4853// API operation ListAcceptedPortfolioShares for usage and error information.
4854//
4855// Returned Error Types:
4856//   * InvalidParametersException
4857//   One or more parameters provided to the operation are not valid.
4858//
4859//   * OperationNotSupportedException
4860//   The operation is not supported.
4861//
4862// See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/ListAcceptedPortfolioShares
4863func (c *ServiceCatalog) ListAcceptedPortfolioShares(input *ListAcceptedPortfolioSharesInput) (*ListAcceptedPortfolioSharesOutput, error) {
4864	req, out := c.ListAcceptedPortfolioSharesRequest(input)
4865	return out, req.Send()
4866}
4867
4868// ListAcceptedPortfolioSharesWithContext is the same as ListAcceptedPortfolioShares with the addition of
4869// the ability to pass a context and additional request options.
4870//
4871// See ListAcceptedPortfolioShares for details on how to use this API operation.
4872//
4873// The context must be non-nil and will be used for request cancellation. If
4874// the context is nil a panic will occur. In the future the SDK may create
4875// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4876// for more information on using Contexts.
4877func (c *ServiceCatalog) ListAcceptedPortfolioSharesWithContext(ctx aws.Context, input *ListAcceptedPortfolioSharesInput, opts ...request.Option) (*ListAcceptedPortfolioSharesOutput, error) {
4878	req, out := c.ListAcceptedPortfolioSharesRequest(input)
4879	req.SetContext(ctx)
4880	req.ApplyOptions(opts...)
4881	return out, req.Send()
4882}
4883
4884// ListAcceptedPortfolioSharesPages iterates over the pages of a ListAcceptedPortfolioShares operation,
4885// calling the "fn" function with the response data for each page. To stop
4886// iterating, return false from the fn function.
4887//
4888// See ListAcceptedPortfolioShares method for more information on how to use this operation.
4889//
4890// Note: This operation can generate multiple requests to a service.
4891//
4892//    // Example iterating over at most 3 pages of a ListAcceptedPortfolioShares operation.
4893//    pageNum := 0
4894//    err := client.ListAcceptedPortfolioSharesPages(params,
4895//        func(page *servicecatalog.ListAcceptedPortfolioSharesOutput, lastPage bool) bool {
4896//            pageNum++
4897//            fmt.Println(page)
4898//            return pageNum <= 3
4899//        })
4900//
4901func (c *ServiceCatalog) ListAcceptedPortfolioSharesPages(input *ListAcceptedPortfolioSharesInput, fn func(*ListAcceptedPortfolioSharesOutput, bool) bool) error {
4902	return c.ListAcceptedPortfolioSharesPagesWithContext(aws.BackgroundContext(), input, fn)
4903}
4904
4905// ListAcceptedPortfolioSharesPagesWithContext same as ListAcceptedPortfolioSharesPages except
4906// it takes a Context and allows setting request options on the pages.
4907//
4908// The context must be non-nil and will be used for request cancellation. If
4909// the context is nil a panic will occur. In the future the SDK may create
4910// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4911// for more information on using Contexts.
4912func (c *ServiceCatalog) ListAcceptedPortfolioSharesPagesWithContext(ctx aws.Context, input *ListAcceptedPortfolioSharesInput, fn func(*ListAcceptedPortfolioSharesOutput, bool) bool, opts ...request.Option) error {
4913	p := request.Pagination{
4914		NewRequest: func() (*request.Request, error) {
4915			var inCpy *ListAcceptedPortfolioSharesInput
4916			if input != nil {
4917				tmp := *input
4918				inCpy = &tmp
4919			}
4920			req, _ := c.ListAcceptedPortfolioSharesRequest(inCpy)
4921			req.SetContext(ctx)
4922			req.ApplyOptions(opts...)
4923			return req, nil
4924		},
4925	}
4926
4927	for p.Next() {
4928		if !fn(p.Page().(*ListAcceptedPortfolioSharesOutput), !p.HasNextPage()) {
4929			break
4930		}
4931	}
4932
4933	return p.Err()
4934}
4935
4936const opListBudgetsForResource = "ListBudgetsForResource"
4937
4938// ListBudgetsForResourceRequest generates a "aws/request.Request" representing the
4939// client's request for the ListBudgetsForResource operation. The "output" return
4940// value will be populated with the request's response once the request completes
4941// successfully.
4942//
4943// Use "Send" method on the returned Request to send the API call to the service.
4944// the "output" return value is not valid until after Send returns without error.
4945//
4946// See ListBudgetsForResource for more information on using the ListBudgetsForResource
4947// API call, and error handling.
4948//
4949// This method is useful when you want to inject custom logic or configuration
4950// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4951//
4952//
4953//    // Example sending a request using the ListBudgetsForResourceRequest method.
4954//    req, resp := client.ListBudgetsForResourceRequest(params)
4955//
4956//    err := req.Send()
4957//    if err == nil { // resp is now filled
4958//        fmt.Println(resp)
4959//    }
4960//
4961// See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/ListBudgetsForResource
4962func (c *ServiceCatalog) ListBudgetsForResourceRequest(input *ListBudgetsForResourceInput) (req *request.Request, output *ListBudgetsForResourceOutput) {
4963	op := &request.Operation{
4964		Name:       opListBudgetsForResource,
4965		HTTPMethod: "POST",
4966		HTTPPath:   "/",
4967		Paginator: &request.Paginator{
4968			InputTokens:     []string{"PageToken"},
4969			OutputTokens:    []string{"NextPageToken"},
4970			LimitToken:      "PageSize",
4971			TruncationToken: "",
4972		},
4973	}
4974
4975	if input == nil {
4976		input = &ListBudgetsForResourceInput{}
4977	}
4978
4979	output = &ListBudgetsForResourceOutput{}
4980	req = c.newRequest(op, input, output)
4981	return
4982}
4983
4984// ListBudgetsForResource API operation for AWS Service Catalog.
4985//
4986// Lists all the budgets associated to the specified resource.
4987//
4988// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4989// with awserr.Error's Code and Message methods to get detailed information about
4990// the error.
4991//
4992// See the AWS API reference guide for AWS Service Catalog's
4993// API operation ListBudgetsForResource for usage and error information.
4994//
4995// Returned Error Types:
4996//   * ResourceNotFoundException
4997//   The specified resource was not found.
4998//
4999//   * InvalidParametersException
5000//   One or more parameters provided to the operation are not valid.
5001//
5002// See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/ListBudgetsForResource
5003func (c *ServiceCatalog) ListBudgetsForResource(input *ListBudgetsForResourceInput) (*ListBudgetsForResourceOutput, error) {
5004	req, out := c.ListBudgetsForResourceRequest(input)
5005	return out, req.Send()
5006}
5007
5008// ListBudgetsForResourceWithContext is the same as ListBudgetsForResource with the addition of
5009// the ability to pass a context and additional request options.
5010//
5011// See ListBudgetsForResource for details on how to use this API operation.
5012//
5013// The context must be non-nil and will be used for request cancellation. If
5014// the context is nil a panic will occur. In the future the SDK may create
5015// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5016// for more information on using Contexts.
5017func (c *ServiceCatalog) ListBudgetsForResourceWithContext(ctx aws.Context, input *ListBudgetsForResourceInput, opts ...request.Option) (*ListBudgetsForResourceOutput, error) {
5018	req, out := c.ListBudgetsForResourceRequest(input)
5019	req.SetContext(ctx)
5020	req.ApplyOptions(opts...)
5021	return out, req.Send()
5022}
5023
5024// ListBudgetsForResourcePages iterates over the pages of a ListBudgetsForResource operation,
5025// calling the "fn" function with the response data for each page. To stop
5026// iterating, return false from the fn function.
5027//
5028// See ListBudgetsForResource method for more information on how to use this operation.
5029//
5030// Note: This operation can generate multiple requests to a service.
5031//
5032//    // Example iterating over at most 3 pages of a ListBudgetsForResource operation.
5033//    pageNum := 0
5034//    err := client.ListBudgetsForResourcePages(params,
5035//        func(page *servicecatalog.ListBudgetsForResourceOutput, lastPage bool) bool {
5036//            pageNum++
5037//            fmt.Println(page)
5038//            return pageNum <= 3
5039//        })
5040//
5041func (c *ServiceCatalog) ListBudgetsForResourcePages(input *ListBudgetsForResourceInput, fn func(*ListBudgetsForResourceOutput, bool) bool) error {
5042	return c.ListBudgetsForResourcePagesWithContext(aws.BackgroundContext(), input, fn)
5043}
5044
5045// ListBudgetsForResourcePagesWithContext same as ListBudgetsForResourcePages except
5046// it takes a Context and allows setting request options on the pages.
5047//
5048// The context must be non-nil and will be used for request cancellation. If
5049// the context is nil a panic will occur. In the future the SDK may create
5050// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5051// for more information on using Contexts.
5052func (c *ServiceCatalog) ListBudgetsForResourcePagesWithContext(ctx aws.Context, input *ListBudgetsForResourceInput, fn func(*ListBudgetsForResourceOutput, bool) bool, opts ...request.Option) error {
5053	p := request.Pagination{
5054		NewRequest: func() (*request.Request, error) {
5055			var inCpy *ListBudgetsForResourceInput
5056			if input != nil {
5057				tmp := *input
5058				inCpy = &tmp
5059			}
5060			req, _ := c.ListBudgetsForResourceRequest(inCpy)
5061			req.SetContext(ctx)
5062			req.ApplyOptions(opts...)
5063			return req, nil
5064		},
5065	}
5066
5067	for p.Next() {
5068		if !fn(p.Page().(*ListBudgetsForResourceOutput), !p.HasNextPage()) {
5069			break
5070		}
5071	}
5072
5073	return p.Err()
5074}
5075
5076const opListConstraintsForPortfolio = "ListConstraintsForPortfolio"
5077
5078// ListConstraintsForPortfolioRequest generates a "aws/request.Request" representing the
5079// client's request for the ListConstraintsForPortfolio operation. The "output" return
5080// value will be populated with the request's response once the request completes
5081// successfully.
5082//
5083// Use "Send" method on the returned Request to send the API call to the service.
5084// the "output" return value is not valid until after Send returns without error.
5085//
5086// See ListConstraintsForPortfolio for more information on using the ListConstraintsForPortfolio
5087// API call, and error handling.
5088//
5089// This method is useful when you want to inject custom logic or configuration
5090// into the SDK's request lifecycle. Such as custom headers, or retry logic.
5091//
5092//
5093//    // Example sending a request using the ListConstraintsForPortfolioRequest method.
5094//    req, resp := client.ListConstraintsForPortfolioRequest(params)
5095//
5096//    err := req.Send()
5097//    if err == nil { // resp is now filled
5098//        fmt.Println(resp)
5099//    }
5100//
5101// See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/ListConstraintsForPortfolio
5102func (c *ServiceCatalog) ListConstraintsForPortfolioRequest(input *ListConstraintsForPortfolioInput) (req *request.Request, output *ListConstraintsForPortfolioOutput) {
5103	op := &request.Operation{
5104		Name:       opListConstraintsForPortfolio,
5105		HTTPMethod: "POST",
5106		HTTPPath:   "/",
5107		Paginator: &request.Paginator{
5108			InputTokens:     []string{"PageToken"},
5109			OutputTokens:    []string{"NextPageToken"},
5110			LimitToken:      "PageSize",
5111			TruncationToken: "",
5112		},
5113	}
5114
5115	if input == nil {
5116		input = &ListConstraintsForPortfolioInput{}
5117	}
5118
5119	output = &ListConstraintsForPortfolioOutput{}
5120	req = c.newRequest(op, input, output)
5121	return
5122}
5123
5124// ListConstraintsForPortfolio API operation for AWS Service Catalog.
5125//
5126// Lists the constraints for the specified portfolio and product.
5127//
5128// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
5129// with awserr.Error's Code and Message methods to get detailed information about
5130// the error.
5131//
5132// See the AWS API reference guide for AWS Service Catalog's
5133// API operation ListConstraintsForPortfolio for usage and error information.
5134//
5135// Returned Error Types:
5136//   * ResourceNotFoundException
5137//   The specified resource was not found.
5138//
5139//   * InvalidParametersException
5140//   One or more parameters provided to the operation are not valid.
5141//
5142// See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/ListConstraintsForPortfolio
5143func (c *ServiceCatalog) ListConstraintsForPortfolio(input *ListConstraintsForPortfolioInput) (*ListConstraintsForPortfolioOutput, error) {
5144	req, out := c.ListConstraintsForPortfolioRequest(input)
5145	return out, req.Send()
5146}
5147
5148// ListConstraintsForPortfolioWithContext is the same as ListConstraintsForPortfolio with the addition of
5149// the ability to pass a context and additional request options.
5150//
5151// See ListConstraintsForPortfolio for details on how to use this API operation.
5152//
5153// The context must be non-nil and will be used for request cancellation. If
5154// the context is nil a panic will occur. In the future the SDK may create
5155// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5156// for more information on using Contexts.
5157func (c *ServiceCatalog) ListConstraintsForPortfolioWithContext(ctx aws.Context, input *ListConstraintsForPortfolioInput, opts ...request.Option) (*ListConstraintsForPortfolioOutput, error) {
5158	req, out := c.ListConstraintsForPortfolioRequest(input)
5159	req.SetContext(ctx)
5160	req.ApplyOptions(opts...)
5161	return out, req.Send()
5162}
5163
5164// ListConstraintsForPortfolioPages iterates over the pages of a ListConstraintsForPortfolio operation,
5165// calling the "fn" function with the response data for each page. To stop
5166// iterating, return false from the fn function.
5167//
5168// See ListConstraintsForPortfolio method for more information on how to use this operation.
5169//
5170// Note: This operation can generate multiple requests to a service.
5171//
5172//    // Example iterating over at most 3 pages of a ListConstraintsForPortfolio operation.
5173//    pageNum := 0
5174//    err := client.ListConstraintsForPortfolioPages(params,
5175//        func(page *servicecatalog.ListConstraintsForPortfolioOutput, lastPage bool) bool {
5176//            pageNum++
5177//            fmt.Println(page)
5178//            return pageNum <= 3
5179//        })
5180//
5181func (c *ServiceCatalog) ListConstraintsForPortfolioPages(input *ListConstraintsForPortfolioInput, fn func(*ListConstraintsForPortfolioOutput, bool) bool) error {
5182	return c.ListConstraintsForPortfolioPagesWithContext(aws.BackgroundContext(), input, fn)
5183}
5184
5185// ListConstraintsForPortfolioPagesWithContext same as ListConstraintsForPortfolioPages except
5186// it takes a Context and allows setting request options on the pages.
5187//
5188// The context must be non-nil and will be used for request cancellation. If
5189// the context is nil a panic will occur. In the future the SDK may create
5190// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5191// for more information on using Contexts.
5192func (c *ServiceCatalog) ListConstraintsForPortfolioPagesWithContext(ctx aws.Context, input *ListConstraintsForPortfolioInput, fn func(*ListConstraintsForPortfolioOutput, bool) bool, opts ...request.Option) error {
5193	p := request.Pagination{
5194		NewRequest: func() (*request.Request, error) {
5195			var inCpy *ListConstraintsForPortfolioInput
5196			if input != nil {
5197				tmp := *input
5198				inCpy = &tmp
5199			}
5200			req, _ := c.ListConstraintsForPortfolioRequest(inCpy)
5201			req.SetContext(ctx)
5202			req.ApplyOptions(opts...)
5203			return req, nil
5204		},
5205	}
5206
5207	for p.Next() {
5208		if !fn(p.Page().(*ListConstraintsForPortfolioOutput), !p.HasNextPage()) {
5209			break
5210		}
5211	}
5212
5213	return p.Err()
5214}
5215
5216const opListLaunchPaths = "ListLaunchPaths"
5217
5218// ListLaunchPathsRequest generates a "aws/request.Request" representing the
5219// client's request for the ListLaunchPaths operation. The "output" return
5220// value will be populated with the request's response once the request completes
5221// successfully.
5222//
5223// Use "Send" method on the returned Request to send the API call to the service.
5224// the "output" return value is not valid until after Send returns without error.
5225//
5226// See ListLaunchPaths for more information on using the ListLaunchPaths
5227// API call, and error handling.
5228//
5229// This method is useful when you want to inject custom logic or configuration
5230// into the SDK's request lifecycle. Such as custom headers, or retry logic.
5231//
5232//
5233//    // Example sending a request using the ListLaunchPathsRequest method.
5234//    req, resp := client.ListLaunchPathsRequest(params)
5235//
5236//    err := req.Send()
5237//    if err == nil { // resp is now filled
5238//        fmt.Println(resp)
5239//    }
5240//
5241// See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/ListLaunchPaths
5242func (c *ServiceCatalog) ListLaunchPathsRequest(input *ListLaunchPathsInput) (req *request.Request, output *ListLaunchPathsOutput) {
5243	op := &request.Operation{
5244		Name:       opListLaunchPaths,
5245		HTTPMethod: "POST",
5246		HTTPPath:   "/",
5247		Paginator: &request.Paginator{
5248			InputTokens:     []string{"PageToken"},
5249			OutputTokens:    []string{"NextPageToken"},
5250			LimitToken:      "PageSize",
5251			TruncationToken: "",
5252		},
5253	}
5254
5255	if input == nil {
5256		input = &ListLaunchPathsInput{}
5257	}
5258
5259	output = &ListLaunchPathsOutput{}
5260	req = c.newRequest(op, input, output)
5261	return
5262}
5263
5264// ListLaunchPaths API operation for AWS Service Catalog.
5265//
5266// Lists the paths to the specified product. A path is how the user has access
5267// to a specified product, and is necessary when provisioning a product. A path
5268// also determines the constraints put on the product.
5269//
5270// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
5271// with awserr.Error's Code and Message methods to get detailed information about
5272// the error.
5273//
5274// See the AWS API reference guide for AWS Service Catalog's
5275// API operation ListLaunchPaths for usage and error information.
5276//
5277// Returned Error Types:
5278//   * InvalidParametersException
5279//   One or more parameters provided to the operation are not valid.
5280//
5281//   * ResourceNotFoundException
5282//   The specified resource was not found.
5283//
5284// See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/ListLaunchPaths
5285func (c *ServiceCatalog) ListLaunchPaths(input *ListLaunchPathsInput) (*ListLaunchPathsOutput, error) {
5286	req, out := c.ListLaunchPathsRequest(input)
5287	return out, req.Send()
5288}
5289
5290// ListLaunchPathsWithContext is the same as ListLaunchPaths with the addition of
5291// the ability to pass a context and additional request options.
5292//
5293// See ListLaunchPaths for details on how to use this API operation.
5294//
5295// The context must be non-nil and will be used for request cancellation. If
5296// the context is nil a panic will occur. In the future the SDK may create
5297// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5298// for more information on using Contexts.
5299func (c *ServiceCatalog) ListLaunchPathsWithContext(ctx aws.Context, input *ListLaunchPathsInput, opts ...request.Option) (*ListLaunchPathsOutput, error) {
5300	req, out := c.ListLaunchPathsRequest(input)
5301	req.SetContext(ctx)
5302	req.ApplyOptions(opts...)
5303	return out, req.Send()
5304}
5305
5306// ListLaunchPathsPages iterates over the pages of a ListLaunchPaths operation,
5307// calling the "fn" function with the response data for each page. To stop
5308// iterating, return false from the fn function.
5309//
5310// See ListLaunchPaths method for more information on how to use this operation.
5311//
5312// Note: This operation can generate multiple requests to a service.
5313//
5314//    // Example iterating over at most 3 pages of a ListLaunchPaths operation.
5315//    pageNum := 0
5316//    err := client.ListLaunchPathsPages(params,
5317//        func(page *servicecatalog.ListLaunchPathsOutput, lastPage bool) bool {
5318//            pageNum++
5319//            fmt.Println(page)
5320//            return pageNum <= 3
5321//        })
5322//
5323func (c *ServiceCatalog) ListLaunchPathsPages(input *ListLaunchPathsInput, fn func(*ListLaunchPathsOutput, bool) bool) error {
5324	return c.ListLaunchPathsPagesWithContext(aws.BackgroundContext(), input, fn)
5325}
5326
5327// ListLaunchPathsPagesWithContext same as ListLaunchPathsPages except
5328// it takes a Context and allows setting request options on the pages.
5329//
5330// The context must be non-nil and will be used for request cancellation. If
5331// the context is nil a panic will occur. In the future the SDK may create
5332// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5333// for more information on using Contexts.
5334func (c *ServiceCatalog) ListLaunchPathsPagesWithContext(ctx aws.Context, input *ListLaunchPathsInput, fn func(*ListLaunchPathsOutput, bool) bool, opts ...request.Option) error {
5335	p := request.Pagination{
5336		NewRequest: func() (*request.Request, error) {
5337			var inCpy *ListLaunchPathsInput
5338			if input != nil {
5339				tmp := *input
5340				inCpy = &tmp
5341			}
5342			req, _ := c.ListLaunchPathsRequest(inCpy)
5343			req.SetContext(ctx)
5344			req.ApplyOptions(opts...)
5345			return req, nil
5346		},
5347	}
5348
5349	for p.Next() {
5350		if !fn(p.Page().(*ListLaunchPathsOutput), !p.HasNextPage()) {
5351			break
5352		}
5353	}
5354
5355	return p.Err()
5356}
5357
5358const opListOrganizationPortfolioAccess = "ListOrganizationPortfolioAccess"
5359
5360// ListOrganizationPortfolioAccessRequest generates a "aws/request.Request" representing the
5361// client's request for the ListOrganizationPortfolioAccess operation. The "output" return
5362// value will be populated with the request's response once the request completes
5363// successfully.
5364//
5365// Use "Send" method on the returned Request to send the API call to the service.
5366// the "output" return value is not valid until after Send returns without error.
5367//
5368// See ListOrganizationPortfolioAccess for more information on using the ListOrganizationPortfolioAccess
5369// API call, and error handling.
5370//
5371// This method is useful when you want to inject custom logic or configuration
5372// into the SDK's request lifecycle. Such as custom headers, or retry logic.
5373//
5374//
5375//    // Example sending a request using the ListOrganizationPortfolioAccessRequest method.
5376//    req, resp := client.ListOrganizationPortfolioAccessRequest(params)
5377//
5378//    err := req.Send()
5379//    if err == nil { // resp is now filled
5380//        fmt.Println(resp)
5381//    }
5382//
5383// See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/ListOrganizationPortfolioAccess
5384func (c *ServiceCatalog) ListOrganizationPortfolioAccessRequest(input *ListOrganizationPortfolioAccessInput) (req *request.Request, output *ListOrganizationPortfolioAccessOutput) {
5385	op := &request.Operation{
5386		Name:       opListOrganizationPortfolioAccess,
5387		HTTPMethod: "POST",
5388		HTTPPath:   "/",
5389		Paginator: &request.Paginator{
5390			InputTokens:     []string{"PageToken"},
5391			OutputTokens:    []string{"NextPageToken"},
5392			LimitToken:      "PageSize",
5393			TruncationToken: "",
5394		},
5395	}
5396
5397	if input == nil {
5398		input = &ListOrganizationPortfolioAccessInput{}
5399	}
5400
5401	output = &ListOrganizationPortfolioAccessOutput{}
5402	req = c.newRequest(op, input, output)
5403	return
5404}
5405
5406// ListOrganizationPortfolioAccess API operation for AWS Service Catalog.
5407//
5408// Lists the organization nodes that have access to the specified portfolio.
5409// This API can only be called by the management account in the organization
5410// or by a delegated admin.
5411//
5412// If a delegated admin is de-registered, they can no longer perform this operation.
5413//
5414// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
5415// with awserr.Error's Code and Message methods to get detailed information about
5416// the error.
5417//
5418// See the AWS API reference guide for AWS Service Catalog's
5419// API operation ListOrganizationPortfolioAccess for usage and error information.
5420//
5421// Returned Error Types:
5422//   * ResourceNotFoundException
5423//   The specified resource was not found.
5424//
5425//   * InvalidParametersException
5426//   One or more parameters provided to the operation are not valid.
5427//
5428//   * OperationNotSupportedException
5429//   The operation is not supported.
5430//
5431// See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/ListOrganizationPortfolioAccess
5432func (c *ServiceCatalog) ListOrganizationPortfolioAccess(input *ListOrganizationPortfolioAccessInput) (*ListOrganizationPortfolioAccessOutput, error) {
5433	req, out := c.ListOrganizationPortfolioAccessRequest(input)
5434	return out, req.Send()
5435}
5436
5437// ListOrganizationPortfolioAccessWithContext is the same as ListOrganizationPortfolioAccess with the addition of
5438// the ability to pass a context and additional request options.
5439//
5440// See ListOrganizationPortfolioAccess for details on how to use this API operation.
5441//
5442// The context must be non-nil and will be used for request cancellation. If
5443// the context is nil a panic will occur. In the future the SDK may create
5444// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5445// for more information on using Contexts.
5446func (c *ServiceCatalog) ListOrganizationPortfolioAccessWithContext(ctx aws.Context, input *ListOrganizationPortfolioAccessInput, opts ...request.Option) (*ListOrganizationPortfolioAccessOutput, error) {
5447	req, out := c.ListOrganizationPortfolioAccessRequest(input)
5448	req.SetContext(ctx)
5449	req.ApplyOptions(opts...)
5450	return out, req.Send()
5451}
5452
5453// ListOrganizationPortfolioAccessPages iterates over the pages of a ListOrganizationPortfolioAccess operation,
5454// calling the "fn" function with the response data for each page. To stop
5455// iterating, return false from the fn function.
5456//
5457// See ListOrganizationPortfolioAccess method for more information on how to use this operation.
5458//
5459// Note: This operation can generate multiple requests to a service.
5460//
5461//    // Example iterating over at most 3 pages of a ListOrganizationPortfolioAccess operation.
5462//    pageNum := 0
5463//    err := client.ListOrganizationPortfolioAccessPages(params,
5464//        func(page *servicecatalog.ListOrganizationPortfolioAccessOutput, lastPage bool) bool {
5465//            pageNum++
5466//            fmt.Println(page)
5467//            return pageNum <= 3
5468//        })
5469//
5470func (c *ServiceCatalog) ListOrganizationPortfolioAccessPages(input *ListOrganizationPortfolioAccessInput, fn func(*ListOrganizationPortfolioAccessOutput, bool) bool) error {
5471	return c.ListOrganizationPortfolioAccessPagesWithContext(aws.BackgroundContext(), input, fn)
5472}
5473
5474// ListOrganizationPortfolioAccessPagesWithContext same as ListOrganizationPortfolioAccessPages except
5475// it takes a Context and allows setting request options on the pages.
5476//
5477// The context must be non-nil and will be used for request cancellation. If
5478// the context is nil a panic will occur. In the future the SDK may create
5479// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5480// for more information on using Contexts.
5481func (c *ServiceCatalog) ListOrganizationPortfolioAccessPagesWithContext(ctx aws.Context, input *ListOrganizationPortfolioAccessInput, fn func(*ListOrganizationPortfolioAccessOutput, bool) bool, opts ...request.Option) error {
5482	p := request.Pagination{
5483		NewRequest: func() (*request.Request, error) {
5484			var inCpy *ListOrganizationPortfolioAccessInput
5485			if input != nil {
5486				tmp := *input
5487				inCpy = &tmp
5488			}
5489			req, _ := c.ListOrganizationPortfolioAccessRequest(inCpy)
5490			req.SetContext(ctx)
5491			req.ApplyOptions(opts...)
5492			return req, nil
5493		},
5494	}
5495
5496	for p.Next() {
5497		if !fn(p.Page().(*ListOrganizationPortfolioAccessOutput), !p.HasNextPage()) {
5498			break
5499		}
5500	}
5501
5502	return p.Err()
5503}
5504
5505const opListPortfolioAccess = "ListPortfolioAccess"
5506
5507// ListPortfolioAccessRequest generates a "aws/request.Request" representing the
5508// client's request for the ListPortfolioAccess operation. The "output" return
5509// value will be populated with the request's response once the request completes
5510// successfully.
5511//
5512// Use "Send" method on the returned Request to send the API call to the service.
5513// the "output" return value is not valid until after Send returns without error.
5514//
5515// See ListPortfolioAccess for more information on using the ListPortfolioAccess
5516// API call, and error handling.
5517//
5518// This method is useful when you want to inject custom logic or configuration
5519// into the SDK's request lifecycle. Such as custom headers, or retry logic.
5520//
5521//
5522//    // Example sending a request using the ListPortfolioAccessRequest method.
5523//    req, resp := client.ListPortfolioAccessRequest(params)
5524//
5525//    err := req.Send()
5526//    if err == nil { // resp is now filled
5527//        fmt.Println(resp)
5528//    }
5529//
5530// See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/ListPortfolioAccess
5531func (c *ServiceCatalog) ListPortfolioAccessRequest(input *ListPortfolioAccessInput) (req *request.Request, output *ListPortfolioAccessOutput) {
5532	op := &request.Operation{
5533		Name:       opListPortfolioAccess,
5534		HTTPMethod: "POST",
5535		HTTPPath:   "/",
5536		Paginator: &request.Paginator{
5537			InputTokens:     []string{"PageToken"},
5538			OutputTokens:    []string{"NextPageToken"},
5539			LimitToken:      "PageSize",
5540			TruncationToken: "",
5541		},
5542	}
5543
5544	if input == nil {
5545		input = &ListPortfolioAccessInput{}
5546	}
5547
5548	output = &ListPortfolioAccessOutput{}
5549	req = c.newRequest(op, input, output)
5550	return
5551}
5552
5553// ListPortfolioAccess API operation for AWS Service Catalog.
5554//
5555// Lists the account IDs that have access to the specified portfolio.
5556//
5557// A delegated admin can list the accounts that have access to the shared portfolio.
5558// Note that if a delegated admin is de-registered, they can no longer perform
5559// this operation.
5560//
5561// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
5562// with awserr.Error's Code and Message methods to get detailed information about
5563// the error.
5564//
5565// See the AWS API reference guide for AWS Service Catalog's
5566// API operation ListPortfolioAccess for usage and error information.
5567//
5568// Returned Error Types:
5569//   * ResourceNotFoundException
5570//   The specified resource was not found.
5571//
5572//   * InvalidParametersException
5573//   One or more parameters provided to the operation are not valid.
5574//
5575// See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/ListPortfolioAccess
5576func (c *ServiceCatalog) ListPortfolioAccess(input *ListPortfolioAccessInput) (*ListPortfolioAccessOutput, error) {
5577	req, out := c.ListPortfolioAccessRequest(input)
5578	return out, req.Send()
5579}
5580
5581// ListPortfolioAccessWithContext is the same as ListPortfolioAccess with the addition of
5582// the ability to pass a context and additional request options.
5583//
5584// See ListPortfolioAccess for details on how to use this API operation.
5585//
5586// The context must be non-nil and will be used for request cancellation. If
5587// the context is nil a panic will occur. In the future the SDK may create
5588// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5589// for more information on using Contexts.
5590func (c *ServiceCatalog) ListPortfolioAccessWithContext(ctx aws.Context, input *ListPortfolioAccessInput, opts ...request.Option) (*ListPortfolioAccessOutput, error) {
5591	req, out := c.ListPortfolioAccessRequest(input)
5592	req.SetContext(ctx)
5593	req.ApplyOptions(opts...)
5594	return out, req.Send()
5595}
5596
5597// ListPortfolioAccessPages iterates over the pages of a ListPortfolioAccess operation,
5598// calling the "fn" function with the response data for each page. To stop
5599// iterating, return false from the fn function.
5600//
5601// See ListPortfolioAccess method for more information on how to use this operation.
5602//
5603// Note: This operation can generate multiple requests to a service.
5604//
5605//    // Example iterating over at most 3 pages of a ListPortfolioAccess operation.
5606//    pageNum := 0
5607//    err := client.ListPortfolioAccessPages(params,
5608//        func(page *servicecatalog.ListPortfolioAccessOutput, lastPage bool) bool {
5609//            pageNum++
5610//            fmt.Println(page)
5611//            return pageNum <= 3
5612//        })
5613//
5614func (c *ServiceCatalog) ListPortfolioAccessPages(input *ListPortfolioAccessInput, fn func(*ListPortfolioAccessOutput, bool) bool) error {
5615	return c.ListPortfolioAccessPagesWithContext(aws.BackgroundContext(), input, fn)
5616}
5617
5618// ListPortfolioAccessPagesWithContext same as ListPortfolioAccessPages except
5619// it takes a Context and allows setting request options on the pages.
5620//
5621// The context must be non-nil and will be used for request cancellation. If
5622// the context is nil a panic will occur. In the future the SDK may create
5623// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5624// for more information on using Contexts.
5625func (c *ServiceCatalog) ListPortfolioAccessPagesWithContext(ctx aws.Context, input *ListPortfolioAccessInput, fn func(*ListPortfolioAccessOutput, bool) bool, opts ...request.Option) error {
5626	p := request.Pagination{
5627		NewRequest: func() (*request.Request, error) {
5628			var inCpy *ListPortfolioAccessInput
5629			if input != nil {
5630				tmp := *input
5631				inCpy = &tmp
5632			}
5633			req, _ := c.ListPortfolioAccessRequest(inCpy)
5634			req.SetContext(ctx)
5635			req.ApplyOptions(opts...)
5636			return req, nil
5637		},
5638	}
5639
5640	for p.Next() {
5641		if !fn(p.Page().(*ListPortfolioAccessOutput), !p.HasNextPage()) {
5642			break
5643		}
5644	}
5645
5646	return p.Err()
5647}
5648
5649const opListPortfolios = "ListPortfolios"
5650
5651// ListPortfoliosRequest generates a "aws/request.Request" representing the
5652// client's request for the ListPortfolios operation. The "output" return
5653// value will be populated with the request's response once the request completes
5654// successfully.
5655//
5656// Use "Send" method on the returned Request to send the API call to the service.
5657// the "output" return value is not valid until after Send returns without error.
5658//
5659// See ListPortfolios for more information on using the ListPortfolios
5660// API call, and error handling.
5661//
5662// This method is useful when you want to inject custom logic or configuration
5663// into the SDK's request lifecycle. Such as custom headers, or retry logic.
5664//
5665//
5666//    // Example sending a request using the ListPortfoliosRequest method.
5667//    req, resp := client.ListPortfoliosRequest(params)
5668//
5669//    err := req.Send()
5670//    if err == nil { // resp is now filled
5671//        fmt.Println(resp)
5672//    }
5673//
5674// See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/ListPortfolios
5675func (c *ServiceCatalog) ListPortfoliosRequest(input *ListPortfoliosInput) (req *request.Request, output *ListPortfoliosOutput) {
5676	op := &request.Operation{
5677		Name:       opListPortfolios,
5678		HTTPMethod: "POST",
5679		HTTPPath:   "/",
5680		Paginator: &request.Paginator{
5681			InputTokens:     []string{"PageToken"},
5682			OutputTokens:    []string{"NextPageToken"},
5683			LimitToken:      "PageSize",
5684			TruncationToken: "",
5685		},
5686	}
5687
5688	if input == nil {
5689		input = &ListPortfoliosInput{}
5690	}
5691
5692	output = &ListPortfoliosOutput{}
5693	req = c.newRequest(op, input, output)
5694	return
5695}
5696
5697// ListPortfolios API operation for AWS Service Catalog.
5698//
5699// Lists all portfolios in the catalog.
5700//
5701// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
5702// with awserr.Error's Code and Message methods to get detailed information about
5703// the error.
5704//
5705// See the AWS API reference guide for AWS Service Catalog's
5706// API operation ListPortfolios for usage and error information.
5707//
5708// Returned Error Types:
5709//   * InvalidParametersException
5710//   One or more parameters provided to the operation are not valid.
5711//
5712// See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/ListPortfolios
5713func (c *ServiceCatalog) ListPortfolios(input *ListPortfoliosInput) (*ListPortfoliosOutput, error) {
5714	req, out := c.ListPortfoliosRequest(input)
5715	return out, req.Send()
5716}
5717
5718// ListPortfoliosWithContext is the same as ListPortfolios with the addition of
5719// the ability to pass a context and additional request options.
5720//
5721// See ListPortfolios for details on how to use this API operation.
5722//
5723// The context must be non-nil and will be used for request cancellation. If
5724// the context is nil a panic will occur. In the future the SDK may create
5725// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5726// for more information on using Contexts.
5727func (c *ServiceCatalog) ListPortfoliosWithContext(ctx aws.Context, input *ListPortfoliosInput, opts ...request.Option) (*ListPortfoliosOutput, error) {
5728	req, out := c.ListPortfoliosRequest(input)
5729	req.SetContext(ctx)
5730	req.ApplyOptions(opts...)
5731	return out, req.Send()
5732}
5733
5734// ListPortfoliosPages iterates over the pages of a ListPortfolios operation,
5735// calling the "fn" function with the response data for each page. To stop
5736// iterating, return false from the fn function.
5737//
5738// See ListPortfolios method for more information on how to use this operation.
5739//
5740// Note: This operation can generate multiple requests to a service.
5741//
5742//    // Example iterating over at most 3 pages of a ListPortfolios operation.
5743//    pageNum := 0
5744//    err := client.ListPortfoliosPages(params,
5745//        func(page *servicecatalog.ListPortfoliosOutput, lastPage bool) bool {
5746//            pageNum++
5747//            fmt.Println(page)
5748//            return pageNum <= 3
5749//        })
5750//
5751func (c *ServiceCatalog) ListPortfoliosPages(input *ListPortfoliosInput, fn func(*ListPortfoliosOutput, bool) bool) error {
5752	return c.ListPortfoliosPagesWithContext(aws.BackgroundContext(), input, fn)
5753}
5754
5755// ListPortfoliosPagesWithContext same as ListPortfoliosPages except
5756// it takes a Context and allows setting request options on the pages.
5757//
5758// The context must be non-nil and will be used for request cancellation. If
5759// the context is nil a panic will occur. In the future the SDK may create
5760// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5761// for more information on using Contexts.
5762func (c *ServiceCatalog) ListPortfoliosPagesWithContext(ctx aws.Context, input *ListPortfoliosInput, fn func(*ListPortfoliosOutput, bool) bool, opts ...request.Option) error {
5763	p := request.Pagination{
5764		NewRequest: func() (*request.Request, error) {
5765			var inCpy *ListPortfoliosInput
5766			if input != nil {
5767				tmp := *input
5768				inCpy = &tmp
5769			}
5770			req, _ := c.ListPortfoliosRequest(inCpy)
5771			req.SetContext(ctx)
5772			req.ApplyOptions(opts...)
5773			return req, nil
5774		},
5775	}
5776
5777	for p.Next() {
5778		if !fn(p.Page().(*ListPortfoliosOutput), !p.HasNextPage()) {
5779			break
5780		}
5781	}
5782
5783	return p.Err()
5784}
5785
5786const opListPortfoliosForProduct = "ListPortfoliosForProduct"
5787
5788// ListPortfoliosForProductRequest generates a "aws/request.Request" representing the
5789// client's request for the ListPortfoliosForProduct operation. The "output" return
5790// value will be populated with the request's response once the request completes
5791// successfully.
5792//
5793// Use "Send" method on the returned Request to send the API call to the service.
5794// the "output" return value is not valid until after Send returns without error.
5795//
5796// See ListPortfoliosForProduct for more information on using the ListPortfoliosForProduct
5797// API call, and error handling.
5798//
5799// This method is useful when you want to inject custom logic or configuration
5800// into the SDK's request lifecycle. Such as custom headers, or retry logic.
5801//
5802//
5803//    // Example sending a request using the ListPortfoliosForProductRequest method.
5804//    req, resp := client.ListPortfoliosForProductRequest(params)
5805//
5806//    err := req.Send()
5807//    if err == nil { // resp is now filled
5808//        fmt.Println(resp)
5809//    }
5810//
5811// See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/ListPortfoliosForProduct
5812func (c *ServiceCatalog) ListPortfoliosForProductRequest(input *ListPortfoliosForProductInput) (req *request.Request, output *ListPortfoliosForProductOutput) {
5813	op := &request.Operation{
5814		Name:       opListPortfoliosForProduct,
5815		HTTPMethod: "POST",
5816		HTTPPath:   "/",
5817		Paginator: &request.Paginator{
5818			InputTokens:     []string{"PageToken"},
5819			OutputTokens:    []string{"NextPageToken"},
5820			LimitToken:      "PageSize",
5821			TruncationToken: "",
5822		},
5823	}
5824
5825	if input == nil {
5826		input = &ListPortfoliosForProductInput{}
5827	}
5828
5829	output = &ListPortfoliosForProductOutput{}
5830	req = c.newRequest(op, input, output)
5831	return
5832}
5833
5834// ListPortfoliosForProduct API operation for AWS Service Catalog.
5835//
5836// Lists all portfolios that the specified product is associated with.
5837//
5838// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
5839// with awserr.Error's Code and Message methods to get detailed information about
5840// the error.
5841//
5842// See the AWS API reference guide for AWS Service Catalog's
5843// API operation ListPortfoliosForProduct for usage and error information.
5844//
5845// Returned Error Types:
5846//   * InvalidParametersException
5847//   One or more parameters provided to the operation are not valid.
5848//
5849//   * ResourceNotFoundException
5850//   The specified resource was not found.
5851//
5852// See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/ListPortfoliosForProduct
5853func (c *ServiceCatalog) ListPortfoliosForProduct(input *ListPortfoliosForProductInput) (*ListPortfoliosForProductOutput, error) {
5854	req, out := c.ListPortfoliosForProductRequest(input)
5855	return out, req.Send()
5856}
5857
5858// ListPortfoliosForProductWithContext is the same as ListPortfoliosForProduct with the addition of
5859// the ability to pass a context and additional request options.
5860//
5861// See ListPortfoliosForProduct for details on how to use this API operation.
5862//
5863// The context must be non-nil and will be used for request cancellation. If
5864// the context is nil a panic will occur. In the future the SDK may create
5865// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5866// for more information on using Contexts.
5867func (c *ServiceCatalog) ListPortfoliosForProductWithContext(ctx aws.Context, input *ListPortfoliosForProductInput, opts ...request.Option) (*ListPortfoliosForProductOutput, error) {
5868	req, out := c.ListPortfoliosForProductRequest(input)
5869	req.SetContext(ctx)
5870	req.ApplyOptions(opts...)
5871	return out, req.Send()
5872}
5873
5874// ListPortfoliosForProductPages iterates over the pages of a ListPortfoliosForProduct operation,
5875// calling the "fn" function with the response data for each page. To stop
5876// iterating, return false from the fn function.
5877//
5878// See ListPortfoliosForProduct method for more information on how to use this operation.
5879//
5880// Note: This operation can generate multiple requests to a service.
5881//
5882//    // Example iterating over at most 3 pages of a ListPortfoliosForProduct operation.
5883//    pageNum := 0
5884//    err := client.ListPortfoliosForProductPages(params,
5885//        func(page *servicecatalog.ListPortfoliosForProductOutput, lastPage bool) bool {
5886//            pageNum++
5887//            fmt.Println(page)
5888//            return pageNum <= 3
5889//        })
5890//
5891func (c *ServiceCatalog) ListPortfoliosForProductPages(input *ListPortfoliosForProductInput, fn func(*ListPortfoliosForProductOutput, bool) bool) error {
5892	return c.ListPortfoliosForProductPagesWithContext(aws.BackgroundContext(), input, fn)
5893}
5894
5895// ListPortfoliosForProductPagesWithContext same as ListPortfoliosForProductPages except
5896// it takes a Context and allows setting request options on the pages.
5897//
5898// The context must be non-nil and will be used for request cancellation. If
5899// the context is nil a panic will occur. In the future the SDK may create
5900// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5901// for more information on using Contexts.
5902func (c *ServiceCatalog) ListPortfoliosForProductPagesWithContext(ctx aws.Context, input *ListPortfoliosForProductInput, fn func(*ListPortfoliosForProductOutput, bool) bool, opts ...request.Option) error {
5903	p := request.Pagination{
5904		NewRequest: func() (*request.Request, error) {
5905			var inCpy *ListPortfoliosForProductInput
5906			if input != nil {
5907				tmp := *input
5908				inCpy = &tmp
5909			}
5910			req, _ := c.ListPortfoliosForProductRequest(inCpy)
5911			req.SetContext(ctx)
5912			req.ApplyOptions(opts...)
5913			return req, nil
5914		},
5915	}
5916
5917	for p.Next() {
5918		if !fn(p.Page().(*ListPortfoliosForProductOutput), !p.HasNextPage()) {
5919			break
5920		}
5921	}
5922
5923	return p.Err()
5924}
5925
5926const opListPrincipalsForPortfolio = "ListPrincipalsForPortfolio"
5927
5928// ListPrincipalsForPortfolioRequest generates a "aws/request.Request" representing the
5929// client's request for the ListPrincipalsForPortfolio operation. The "output" return
5930// value will be populated with the request's response once the request completes
5931// successfully.
5932//
5933// Use "Send" method on the returned Request to send the API call to the service.
5934// the "output" return value is not valid until after Send returns without error.
5935//
5936// See ListPrincipalsForPortfolio for more information on using the ListPrincipalsForPortfolio
5937// API call, and error handling.
5938//
5939// This method is useful when you want to inject custom logic or configuration
5940// into the SDK's request lifecycle. Such as custom headers, or retry logic.
5941//
5942//
5943//    // Example sending a request using the ListPrincipalsForPortfolioRequest method.
5944//    req, resp := client.ListPrincipalsForPortfolioRequest(params)
5945//
5946//    err := req.Send()
5947//    if err == nil { // resp is now filled
5948//        fmt.Println(resp)
5949//    }
5950//
5951// See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/ListPrincipalsForPortfolio
5952func (c *ServiceCatalog) ListPrincipalsForPortfolioRequest(input *ListPrincipalsForPortfolioInput) (req *request.Request, output *ListPrincipalsForPortfolioOutput) {
5953	op := &request.Operation{
5954		Name:       opListPrincipalsForPortfolio,
5955		HTTPMethod: "POST",
5956		HTTPPath:   "/",
5957		Paginator: &request.Paginator{
5958			InputTokens:     []string{"PageToken"},
5959			OutputTokens:    []string{"NextPageToken"},
5960			LimitToken:      "PageSize",
5961			TruncationToken: "",
5962		},
5963	}
5964
5965	if input == nil {
5966		input = &ListPrincipalsForPortfolioInput{}
5967	}
5968
5969	output = &ListPrincipalsForPortfolioOutput{}
5970	req = c.newRequest(op, input, output)
5971	return
5972}
5973
5974// ListPrincipalsForPortfolio API operation for AWS Service Catalog.
5975//
5976// Lists all principal ARNs associated with the specified portfolio.
5977//
5978// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
5979// with awserr.Error's Code and Message methods to get detailed information about
5980// the error.
5981//
5982// See the AWS API reference guide for AWS Service Catalog's
5983// API operation ListPrincipalsForPortfolio for usage and error information.
5984//
5985// Returned Error Types:
5986//   * ResourceNotFoundException
5987//   The specified resource was not found.
5988//
5989//   * InvalidParametersException
5990//   One or more parameters provided to the operation are not valid.
5991//
5992// See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/ListPrincipalsForPortfolio
5993func (c *ServiceCatalog) ListPrincipalsForPortfolio(input *ListPrincipalsForPortfolioInput) (*ListPrincipalsForPortfolioOutput, error) {
5994	req, out := c.ListPrincipalsForPortfolioRequest(input)
5995	return out, req.Send()
5996}
5997
5998// ListPrincipalsForPortfolioWithContext is the same as ListPrincipalsForPortfolio with the addition of
5999// the ability to pass a context and additional request options.
6000//
6001// See ListPrincipalsForPortfolio for details on how to use this API operation.
6002//
6003// The context must be non-nil and will be used for request cancellation. If
6004// the context is nil a panic will occur. In the future the SDK may create
6005// sub-contexts for http.Requests. See https://golang.org/pkg/context/
6006// for more information on using Contexts.
6007func (c *ServiceCatalog) ListPrincipalsForPortfolioWithContext(ctx aws.Context, input *ListPrincipalsForPortfolioInput, opts ...request.Option) (*ListPrincipalsForPortfolioOutput, error) {
6008	req, out := c.ListPrincipalsForPortfolioRequest(input)
6009	req.SetContext(ctx)
6010	req.ApplyOptions(opts...)
6011	return out, req.Send()
6012}
6013
6014// ListPrincipalsForPortfolioPages iterates over the pages of a ListPrincipalsForPortfolio operation,
6015// calling the "fn" function with the response data for each page. To stop
6016// iterating, return false from the fn function.
6017//
6018// See ListPrincipalsForPortfolio method for more information on how to use this operation.
6019//
6020// Note: This operation can generate multiple requests to a service.
6021//
6022//    // Example iterating over at most 3 pages of a ListPrincipalsForPortfolio operation.
6023//    pageNum := 0
6024//    err := client.ListPrincipalsForPortfolioPages(params,
6025//        func(page *servicecatalog.ListPrincipalsForPortfolioOutput, lastPage bool) bool {
6026//            pageNum++
6027//            fmt.Println(page)
6028//            return pageNum <= 3
6029//        })
6030//
6031func (c *ServiceCatalog) ListPrincipalsForPortfolioPages(input *ListPrincipalsForPortfolioInput, fn func(*ListPrincipalsForPortfolioOutput, bool) bool) error {
6032	return c.ListPrincipalsForPortfolioPagesWithContext(aws.BackgroundContext(), input, fn)
6033}
6034
6035// ListPrincipalsForPortfolioPagesWithContext same as ListPrincipalsForPortfolioPages except
6036// it takes a Context and allows setting request options on the pages.
6037//
6038// The context must be non-nil and will be used for request cancellation. If
6039// the context is nil a panic will occur. In the future the SDK may create
6040// sub-contexts for http.Requests. See https://golang.org/pkg/context/
6041// for more information on using Contexts.
6042func (c *ServiceCatalog) ListPrincipalsForPortfolioPagesWithContext(ctx aws.Context, input *ListPrincipalsForPortfolioInput, fn func(*ListPrincipalsForPortfolioOutput, bool) bool, opts ...request.Option) error {
6043	p := request.Pagination{
6044		NewRequest: func() (*request.Request, error) {
6045			var inCpy *ListPrincipalsForPortfolioInput
6046			if input != nil {
6047				tmp := *input
6048				inCpy = &tmp
6049			}
6050			req, _ := c.ListPrincipalsForPortfolioRequest(inCpy)
6051			req.SetContext(ctx)
6052			req.ApplyOptions(opts...)
6053			return req, nil
6054		},
6055	}
6056
6057	for p.Next() {
6058		if !fn(p.Page().(*ListPrincipalsForPortfolioOutput), !p.HasNextPage()) {
6059			break
6060		}
6061	}
6062
6063	return p.Err()
6064}
6065
6066const opListProvisionedProductPlans = "ListProvisionedProductPlans"
6067
6068// ListProvisionedProductPlansRequest generates a "aws/request.Request" representing the
6069// client's request for the ListProvisionedProductPlans operation. The "output" return
6070// value will be populated with the request's response once the request completes
6071// successfully.
6072//
6073// Use "Send" method on the returned Request to send the API call to the service.
6074// the "output" return value is not valid until after Send returns without error.
6075//
6076// See ListProvisionedProductPlans for more information on using the ListProvisionedProductPlans
6077// API call, and error handling.
6078//
6079// This method is useful when you want to inject custom logic or configuration
6080// into the SDK's request lifecycle. Such as custom headers, or retry logic.
6081//
6082//
6083//    // Example sending a request using the ListProvisionedProductPlansRequest method.
6084//    req, resp := client.ListProvisionedProductPlansRequest(params)
6085//
6086//    err := req.Send()
6087//    if err == nil { // resp is now filled
6088//        fmt.Println(resp)
6089//    }
6090//
6091// See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/ListProvisionedProductPlans
6092func (c *ServiceCatalog) ListProvisionedProductPlansRequest(input *ListProvisionedProductPlansInput) (req *request.Request, output *ListProvisionedProductPlansOutput) {
6093	op := &request.Operation{
6094		Name:       opListProvisionedProductPlans,
6095		HTTPMethod: "POST",
6096		HTTPPath:   "/",
6097	}
6098
6099	if input == nil {
6100		input = &ListProvisionedProductPlansInput{}
6101	}
6102
6103	output = &ListProvisionedProductPlansOutput{}
6104	req = c.newRequest(op, input, output)
6105	return
6106}
6107
6108// ListProvisionedProductPlans API operation for AWS Service Catalog.
6109//
6110// Lists the plans for the specified provisioned product or all plans to which
6111// the user has access.
6112//
6113// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
6114// with awserr.Error's Code and Message methods to get detailed information about
6115// the error.
6116//
6117// See the AWS API reference guide for AWS Service Catalog's
6118// API operation ListProvisionedProductPlans for usage and error information.
6119//
6120// Returned Error Types:
6121//   * ResourceNotFoundException
6122//   The specified resource was not found.
6123//
6124//   * InvalidParametersException
6125//   One or more parameters provided to the operation are not valid.
6126//
6127// See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/ListProvisionedProductPlans
6128func (c *ServiceCatalog) ListProvisionedProductPlans(input *ListProvisionedProductPlansInput) (*ListProvisionedProductPlansOutput, error) {
6129	req, out := c.ListProvisionedProductPlansRequest(input)
6130	return out, req.Send()
6131}
6132
6133// ListProvisionedProductPlansWithContext is the same as ListProvisionedProductPlans with the addition of
6134// the ability to pass a context and additional request options.
6135//
6136// See ListProvisionedProductPlans for details on how to use this API operation.
6137//
6138// The context must be non-nil and will be used for request cancellation. If
6139// the context is nil a panic will occur. In the future the SDK may create
6140// sub-contexts for http.Requests. See https://golang.org/pkg/context/
6141// for more information on using Contexts.
6142func (c *ServiceCatalog) ListProvisionedProductPlansWithContext(ctx aws.Context, input *ListProvisionedProductPlansInput, opts ...request.Option) (*ListProvisionedProductPlansOutput, error) {
6143	req, out := c.ListProvisionedProductPlansRequest(input)
6144	req.SetContext(ctx)
6145	req.ApplyOptions(opts...)
6146	return out, req.Send()
6147}
6148
6149const opListProvisioningArtifacts = "ListProvisioningArtifacts"
6150
6151// ListProvisioningArtifactsRequest generates a "aws/request.Request" representing the
6152// client's request for the ListProvisioningArtifacts operation. The "output" return
6153// value will be populated with the request's response once the request completes
6154// successfully.
6155//
6156// Use "Send" method on the returned Request to send the API call to the service.
6157// the "output" return value is not valid until after Send returns without error.
6158//
6159// See ListProvisioningArtifacts for more information on using the ListProvisioningArtifacts
6160// API call, and error handling.
6161//
6162// This method is useful when you want to inject custom logic or configuration
6163// into the SDK's request lifecycle. Such as custom headers, or retry logic.
6164//
6165//
6166//    // Example sending a request using the ListProvisioningArtifactsRequest method.
6167//    req, resp := client.ListProvisioningArtifactsRequest(params)
6168//
6169//    err := req.Send()
6170//    if err == nil { // resp is now filled
6171//        fmt.Println(resp)
6172//    }
6173//
6174// See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/ListProvisioningArtifacts
6175func (c *ServiceCatalog) ListProvisioningArtifactsRequest(input *ListProvisioningArtifactsInput) (req *request.Request, output *ListProvisioningArtifactsOutput) {
6176	op := &request.Operation{
6177		Name:       opListProvisioningArtifacts,
6178		HTTPMethod: "POST",
6179		HTTPPath:   "/",
6180	}
6181
6182	if input == nil {
6183		input = &ListProvisioningArtifactsInput{}
6184	}
6185
6186	output = &ListProvisioningArtifactsOutput{}
6187	req = c.newRequest(op, input, output)
6188	return
6189}
6190
6191// ListProvisioningArtifacts API operation for AWS Service Catalog.
6192//
6193// Lists all provisioning artifacts (also known as versions) for the specified
6194// product.
6195//
6196// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
6197// with awserr.Error's Code and Message methods to get detailed information about
6198// the error.
6199//
6200// See the AWS API reference guide for AWS Service Catalog's
6201// API operation ListProvisioningArtifacts for usage and error information.
6202//
6203// Returned Error Types:
6204//   * ResourceNotFoundException
6205//   The specified resource was not found.
6206//
6207//   * InvalidParametersException
6208//   One or more parameters provided to the operation are not valid.
6209//
6210// See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/ListProvisioningArtifacts
6211func (c *ServiceCatalog) ListProvisioningArtifacts(input *ListProvisioningArtifactsInput) (*ListProvisioningArtifactsOutput, error) {
6212	req, out := c.ListProvisioningArtifactsRequest(input)
6213	return out, req.Send()
6214}
6215
6216// ListProvisioningArtifactsWithContext is the same as ListProvisioningArtifacts with the addition of
6217// the ability to pass a context and additional request options.
6218//
6219// See ListProvisioningArtifacts for details on how to use this API operation.
6220//
6221// The context must be non-nil and will be used for request cancellation. If
6222// the context is nil a panic will occur. In the future the SDK may create
6223// sub-contexts for http.Requests. See https://golang.org/pkg/context/
6224// for more information on using Contexts.
6225func (c *ServiceCatalog) ListProvisioningArtifactsWithContext(ctx aws.Context, input *ListProvisioningArtifactsInput, opts ...request.Option) (*ListProvisioningArtifactsOutput, error) {
6226	req, out := c.ListProvisioningArtifactsRequest(input)
6227	req.SetContext(ctx)
6228	req.ApplyOptions(opts...)
6229	return out, req.Send()
6230}
6231
6232const opListProvisioningArtifactsForServiceAction = "ListProvisioningArtifactsForServiceAction"
6233
6234// ListProvisioningArtifactsForServiceActionRequest generates a "aws/request.Request" representing the
6235// client's request for the ListProvisioningArtifactsForServiceAction operation. The "output" return
6236// value will be populated with the request's response once the request completes
6237// successfully.
6238//
6239// Use "Send" method on the returned Request to send the API call to the service.
6240// the "output" return value is not valid until after Send returns without error.
6241//
6242// See ListProvisioningArtifactsForServiceAction for more information on using the ListProvisioningArtifactsForServiceAction
6243// API call, and error handling.
6244//
6245// This method is useful when you want to inject custom logic or configuration
6246// into the SDK's request lifecycle. Such as custom headers, or retry logic.
6247//
6248//
6249//    // Example sending a request using the ListProvisioningArtifactsForServiceActionRequest method.
6250//    req, resp := client.ListProvisioningArtifactsForServiceActionRequest(params)
6251//
6252//    err := req.Send()
6253//    if err == nil { // resp is now filled
6254//        fmt.Println(resp)
6255//    }
6256//
6257// See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/ListProvisioningArtifactsForServiceAction
6258func (c *ServiceCatalog) ListProvisioningArtifactsForServiceActionRequest(input *ListProvisioningArtifactsForServiceActionInput) (req *request.Request, output *ListProvisioningArtifactsForServiceActionOutput) {
6259	op := &request.Operation{
6260		Name:       opListProvisioningArtifactsForServiceAction,
6261		HTTPMethod: "POST",
6262		HTTPPath:   "/",
6263		Paginator: &request.Paginator{
6264			InputTokens:     []string{"PageToken"},
6265			OutputTokens:    []string{"NextPageToken"},
6266			LimitToken:      "PageSize",
6267			TruncationToken: "",
6268		},
6269	}
6270
6271	if input == nil {
6272		input = &ListProvisioningArtifactsForServiceActionInput{}
6273	}
6274
6275	output = &ListProvisioningArtifactsForServiceActionOutput{}
6276	req = c.newRequest(op, input, output)
6277	return
6278}
6279
6280// ListProvisioningArtifactsForServiceAction API operation for AWS Service Catalog.
6281//
6282// Lists all provisioning artifacts (also known as versions) for the specified
6283// self-service action.
6284//
6285// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
6286// with awserr.Error's Code and Message methods to get detailed information about
6287// the error.
6288//
6289// See the AWS API reference guide for AWS Service Catalog's
6290// API operation ListProvisioningArtifactsForServiceAction for usage and error information.
6291//
6292// Returned Error Types:
6293//   * ResourceNotFoundException
6294//   The specified resource was not found.
6295//
6296//   * InvalidParametersException
6297//   One or more parameters provided to the operation are not valid.
6298//
6299// See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/ListProvisioningArtifactsForServiceAction
6300func (c *ServiceCatalog) ListProvisioningArtifactsForServiceAction(input *ListProvisioningArtifactsForServiceActionInput) (*ListProvisioningArtifactsForServiceActionOutput, error) {
6301	req, out := c.ListProvisioningArtifactsForServiceActionRequest(input)
6302	return out, req.Send()
6303}
6304
6305// ListProvisioningArtifactsForServiceActionWithContext is the same as ListProvisioningArtifactsForServiceAction with the addition of
6306// the ability to pass a context and additional request options.
6307//
6308// See ListProvisioningArtifactsForServiceAction for details on how to use this API operation.
6309//
6310// The context must be non-nil and will be used for request cancellation. If
6311// the context is nil a panic will occur. In the future the SDK may create
6312// sub-contexts for http.Requests. See https://golang.org/pkg/context/
6313// for more information on using Contexts.
6314func (c *ServiceCatalog) ListProvisioningArtifactsForServiceActionWithContext(ctx aws.Context, input *ListProvisioningArtifactsForServiceActionInput, opts ...request.Option) (*ListProvisioningArtifactsForServiceActionOutput, error) {
6315	req, out := c.ListProvisioningArtifactsForServiceActionRequest(input)
6316	req.SetContext(ctx)
6317	req.ApplyOptions(opts...)
6318	return out, req.Send()
6319}
6320
6321// ListProvisioningArtifactsForServiceActionPages iterates over the pages of a ListProvisioningArtifactsForServiceAction operation,
6322// calling the "fn" function with the response data for each page. To stop
6323// iterating, return false from the fn function.
6324//
6325// See ListProvisioningArtifactsForServiceAction method for more information on how to use this operation.
6326//
6327// Note: This operation can generate multiple requests to a service.
6328//
6329//    // Example iterating over at most 3 pages of a ListProvisioningArtifactsForServiceAction operation.
6330//    pageNum := 0
6331//    err := client.ListProvisioningArtifactsForServiceActionPages(params,
6332//        func(page *servicecatalog.ListProvisioningArtifactsForServiceActionOutput, lastPage bool) bool {
6333//            pageNum++
6334//            fmt.Println(page)
6335//            return pageNum <= 3
6336//        })
6337//
6338func (c *ServiceCatalog) ListProvisioningArtifactsForServiceActionPages(input *ListProvisioningArtifactsForServiceActionInput, fn func(*ListProvisioningArtifactsForServiceActionOutput, bool) bool) error {
6339	return c.ListProvisioningArtifactsForServiceActionPagesWithContext(aws.BackgroundContext(), input, fn)
6340}
6341
6342// ListProvisioningArtifactsForServiceActionPagesWithContext same as ListProvisioningArtifactsForServiceActionPages except
6343// it takes a Context and allows setting request options on the pages.
6344//
6345// The context must be non-nil and will be used for request cancellation. If
6346// the context is nil a panic will occur. In the future the SDK may create
6347// sub-contexts for http.Requests. See https://golang.org/pkg/context/
6348// for more information on using Contexts.
6349func (c *ServiceCatalog) ListProvisioningArtifactsForServiceActionPagesWithContext(ctx aws.Context, input *ListProvisioningArtifactsForServiceActionInput, fn func(*ListProvisioningArtifactsForServiceActionOutput, bool) bool, opts ...request.Option) error {
6350	p := request.Pagination{
6351		NewRequest: func() (*request.Request, error) {
6352			var inCpy *ListProvisioningArtifactsForServiceActionInput
6353			if input != nil {
6354				tmp := *input
6355				inCpy = &tmp
6356			}
6357			req, _ := c.ListProvisioningArtifactsForServiceActionRequest(inCpy)
6358			req.SetContext(ctx)
6359			req.ApplyOptions(opts...)
6360			return req, nil
6361		},
6362	}
6363
6364	for p.Next() {
6365		if !fn(p.Page().(*ListProvisioningArtifactsForServiceActionOutput), !p.HasNextPage()) {
6366			break
6367		}
6368	}
6369
6370	return p.Err()
6371}
6372
6373const opListRecordHistory = "ListRecordHistory"
6374
6375// ListRecordHistoryRequest generates a "aws/request.Request" representing the
6376// client's request for the ListRecordHistory operation. The "output" return
6377// value will be populated with the request's response once the request completes
6378// successfully.
6379//
6380// Use "Send" method on the returned Request to send the API call to the service.
6381// the "output" return value is not valid until after Send returns without error.
6382//
6383// See ListRecordHistory for more information on using the ListRecordHistory
6384// API call, and error handling.
6385//
6386// This method is useful when you want to inject custom logic or configuration
6387// into the SDK's request lifecycle. Such as custom headers, or retry logic.
6388//
6389//
6390//    // Example sending a request using the ListRecordHistoryRequest method.
6391//    req, resp := client.ListRecordHistoryRequest(params)
6392//
6393//    err := req.Send()
6394//    if err == nil { // resp is now filled
6395//        fmt.Println(resp)
6396//    }
6397//
6398// See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/ListRecordHistory
6399func (c *ServiceCatalog) ListRecordHistoryRequest(input *ListRecordHistoryInput) (req *request.Request, output *ListRecordHistoryOutput) {
6400	op := &request.Operation{
6401		Name:       opListRecordHistory,
6402		HTTPMethod: "POST",
6403		HTTPPath:   "/",
6404	}
6405
6406	if input == nil {
6407		input = &ListRecordHistoryInput{}
6408	}
6409
6410	output = &ListRecordHistoryOutput{}
6411	req = c.newRequest(op, input, output)
6412	return
6413}
6414
6415// ListRecordHistory API operation for AWS Service Catalog.
6416//
6417// Lists the specified requests or all performed requests.
6418//
6419// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
6420// with awserr.Error's Code and Message methods to get detailed information about
6421// the error.
6422//
6423// See the AWS API reference guide for AWS Service Catalog's
6424// API operation ListRecordHistory for usage and error information.
6425//
6426// Returned Error Types:
6427//   * InvalidParametersException
6428//   One or more parameters provided to the operation are not valid.
6429//
6430// See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/ListRecordHistory
6431func (c *ServiceCatalog) ListRecordHistory(input *ListRecordHistoryInput) (*ListRecordHistoryOutput, error) {
6432	req, out := c.ListRecordHistoryRequest(input)
6433	return out, req.Send()
6434}
6435
6436// ListRecordHistoryWithContext is the same as ListRecordHistory with the addition of
6437// the ability to pass a context and additional request options.
6438//
6439// See ListRecordHistory for details on how to use this API operation.
6440//
6441// The context must be non-nil and will be used for request cancellation. If
6442// the context is nil a panic will occur. In the future the SDK may create
6443// sub-contexts for http.Requests. See https://golang.org/pkg/context/
6444// for more information on using Contexts.
6445func (c *ServiceCatalog) ListRecordHistoryWithContext(ctx aws.Context, input *ListRecordHistoryInput, opts ...request.Option) (*ListRecordHistoryOutput, error) {
6446	req, out := c.ListRecordHistoryRequest(input)
6447	req.SetContext(ctx)
6448	req.ApplyOptions(opts...)
6449	return out, req.Send()
6450}
6451
6452const opListResourcesForTagOption = "ListResourcesForTagOption"
6453
6454// ListResourcesForTagOptionRequest generates a "aws/request.Request" representing the
6455// client's request for the ListResourcesForTagOption operation. The "output" return
6456// value will be populated with the request's response once the request completes
6457// successfully.
6458//
6459// Use "Send" method on the returned Request to send the API call to the service.
6460// the "output" return value is not valid until after Send returns without error.
6461//
6462// See ListResourcesForTagOption for more information on using the ListResourcesForTagOption
6463// API call, and error handling.
6464//
6465// This method is useful when you want to inject custom logic or configuration
6466// into the SDK's request lifecycle. Such as custom headers, or retry logic.
6467//
6468//
6469//    // Example sending a request using the ListResourcesForTagOptionRequest method.
6470//    req, resp := client.ListResourcesForTagOptionRequest(params)
6471//
6472//    err := req.Send()
6473//    if err == nil { // resp is now filled
6474//        fmt.Println(resp)
6475//    }
6476//
6477// See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/ListResourcesForTagOption
6478func (c *ServiceCatalog) ListResourcesForTagOptionRequest(input *ListResourcesForTagOptionInput) (req *request.Request, output *ListResourcesForTagOptionOutput) {
6479	op := &request.Operation{
6480		Name:       opListResourcesForTagOption,
6481		HTTPMethod: "POST",
6482		HTTPPath:   "/",
6483		Paginator: &request.Paginator{
6484			InputTokens:     []string{"PageToken"},
6485			OutputTokens:    []string{"PageToken"},
6486			LimitToken:      "PageSize",
6487			TruncationToken: "",
6488		},
6489	}
6490
6491	if input == nil {
6492		input = &ListResourcesForTagOptionInput{}
6493	}
6494
6495	output = &ListResourcesForTagOptionOutput{}
6496	req = c.newRequest(op, input, output)
6497	return
6498}
6499
6500// ListResourcesForTagOption API operation for AWS Service Catalog.
6501//
6502// Lists the resources associated with the specified TagOption.
6503//
6504// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
6505// with awserr.Error's Code and Message methods to get detailed information about
6506// the error.
6507//
6508// See the AWS API reference guide for AWS Service Catalog's
6509// API operation ListResourcesForTagOption for usage and error information.
6510//
6511// Returned Error Types:
6512//   * TagOptionNotMigratedException
6513//   An operation requiring TagOptions failed because the TagOptions migration
6514//   process has not been performed for this account. Please use the AWS console
6515//   to perform the migration process before retrying the operation.
6516//
6517//   * ResourceNotFoundException
6518//   The specified resource was not found.
6519//
6520//   * InvalidParametersException
6521//   One or more parameters provided to the operation are not valid.
6522//
6523// See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/ListResourcesForTagOption
6524func (c *ServiceCatalog) ListResourcesForTagOption(input *ListResourcesForTagOptionInput) (*ListResourcesForTagOptionOutput, error) {
6525	req, out := c.ListResourcesForTagOptionRequest(input)
6526	return out, req.Send()
6527}
6528
6529// ListResourcesForTagOptionWithContext is the same as ListResourcesForTagOption with the addition of
6530// the ability to pass a context and additional request options.
6531//
6532// See ListResourcesForTagOption for details on how to use this API operation.
6533//
6534// The context must be non-nil and will be used for request cancellation. If
6535// the context is nil a panic will occur. In the future the SDK may create
6536// sub-contexts for http.Requests. See https://golang.org/pkg/context/
6537// for more information on using Contexts.
6538func (c *ServiceCatalog) ListResourcesForTagOptionWithContext(ctx aws.Context, input *ListResourcesForTagOptionInput, opts ...request.Option) (*ListResourcesForTagOptionOutput, error) {
6539	req, out := c.ListResourcesForTagOptionRequest(input)
6540	req.SetContext(ctx)
6541	req.ApplyOptions(opts...)
6542	return out, req.Send()
6543}
6544
6545// ListResourcesForTagOptionPages iterates over the pages of a ListResourcesForTagOption operation,
6546// calling the "fn" function with the response data for each page. To stop
6547// iterating, return false from the fn function.
6548//
6549// See ListResourcesForTagOption method for more information on how to use this operation.
6550//
6551// Note: This operation can generate multiple requests to a service.
6552//
6553//    // Example iterating over at most 3 pages of a ListResourcesForTagOption operation.
6554//    pageNum := 0
6555//    err := client.ListResourcesForTagOptionPages(params,
6556//        func(page *servicecatalog.ListResourcesForTagOptionOutput, lastPage bool) bool {
6557//            pageNum++
6558//            fmt.Println(page)
6559//            return pageNum <= 3
6560//        })
6561//
6562func (c *ServiceCatalog) ListResourcesForTagOptionPages(input *ListResourcesForTagOptionInput, fn func(*ListResourcesForTagOptionOutput, bool) bool) error {
6563	return c.ListResourcesForTagOptionPagesWithContext(aws.BackgroundContext(), input, fn)
6564}
6565
6566// ListResourcesForTagOptionPagesWithContext same as ListResourcesForTagOptionPages except
6567// it takes a Context and allows setting request options on the pages.
6568//
6569// The context must be non-nil and will be used for request cancellation. If
6570// the context is nil a panic will occur. In the future the SDK may create
6571// sub-contexts for http.Requests. See https://golang.org/pkg/context/
6572// for more information on using Contexts.
6573func (c *ServiceCatalog) ListResourcesForTagOptionPagesWithContext(ctx aws.Context, input *ListResourcesForTagOptionInput, fn func(*ListResourcesForTagOptionOutput, bool) bool, opts ...request.Option) error {
6574	p := request.Pagination{
6575		NewRequest: func() (*request.Request, error) {
6576			var inCpy *ListResourcesForTagOptionInput
6577			if input != nil {
6578				tmp := *input
6579				inCpy = &tmp
6580			}
6581			req, _ := c.ListResourcesForTagOptionRequest(inCpy)
6582			req.SetContext(ctx)
6583			req.ApplyOptions(opts...)
6584			return req, nil
6585		},
6586	}
6587
6588	for p.Next() {
6589		if !fn(p.Page().(*ListResourcesForTagOptionOutput), !p.HasNextPage()) {
6590			break
6591		}
6592	}
6593
6594	return p.Err()
6595}
6596
6597const opListServiceActions = "ListServiceActions"
6598
6599// ListServiceActionsRequest generates a "aws/request.Request" representing the
6600// client's request for the ListServiceActions operation. The "output" return
6601// value will be populated with the request's response once the request completes
6602// successfully.
6603//
6604// Use "Send" method on the returned Request to send the API call to the service.
6605// the "output" return value is not valid until after Send returns without error.
6606//
6607// See ListServiceActions for more information on using the ListServiceActions
6608// API call, and error handling.
6609//
6610// This method is useful when you want to inject custom logic or configuration
6611// into the SDK's request lifecycle. Such as custom headers, or retry logic.
6612//
6613//
6614//    // Example sending a request using the ListServiceActionsRequest method.
6615//    req, resp := client.ListServiceActionsRequest(params)
6616//
6617//    err := req.Send()
6618//    if err == nil { // resp is now filled
6619//        fmt.Println(resp)
6620//    }
6621//
6622// See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/ListServiceActions
6623func (c *ServiceCatalog) ListServiceActionsRequest(input *ListServiceActionsInput) (req *request.Request, output *ListServiceActionsOutput) {
6624	op := &request.Operation{
6625		Name:       opListServiceActions,
6626		HTTPMethod: "POST",
6627		HTTPPath:   "/",
6628		Paginator: &request.Paginator{
6629			InputTokens:     []string{"PageToken"},
6630			OutputTokens:    []string{"NextPageToken"},
6631			LimitToken:      "PageSize",
6632			TruncationToken: "",
6633		},
6634	}
6635
6636	if input == nil {
6637		input = &ListServiceActionsInput{}
6638	}
6639
6640	output = &ListServiceActionsOutput{}
6641	req = c.newRequest(op, input, output)
6642	return
6643}
6644
6645// ListServiceActions API operation for AWS Service Catalog.
6646//
6647// Lists all self-service actions.
6648//
6649// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
6650// with awserr.Error's Code and Message methods to get detailed information about
6651// the error.
6652//
6653// See the AWS API reference guide for AWS Service Catalog's
6654// API operation ListServiceActions for usage and error information.
6655//
6656// Returned Error Types:
6657//   * InvalidParametersException
6658//   One or more parameters provided to the operation are not valid.
6659//
6660// See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/ListServiceActions
6661func (c *ServiceCatalog) ListServiceActions(input *ListServiceActionsInput) (*ListServiceActionsOutput, error) {
6662	req, out := c.ListServiceActionsRequest(input)
6663	return out, req.Send()
6664}
6665
6666// ListServiceActionsWithContext is the same as ListServiceActions with the addition of
6667// the ability to pass a context and additional request options.
6668//
6669// See ListServiceActions for details on how to use this API operation.
6670//
6671// The context must be non-nil and will be used for request cancellation. If
6672// the context is nil a panic will occur. In the future the SDK may create
6673// sub-contexts for http.Requests. See https://golang.org/pkg/context/
6674// for more information on using Contexts.
6675func (c *ServiceCatalog) ListServiceActionsWithContext(ctx aws.Context, input *ListServiceActionsInput, opts ...request.Option) (*ListServiceActionsOutput, error) {
6676	req, out := c.ListServiceActionsRequest(input)
6677	req.SetContext(ctx)
6678	req.ApplyOptions(opts...)
6679	return out, req.Send()
6680}
6681
6682// ListServiceActionsPages iterates over the pages of a ListServiceActions operation,
6683// calling the "fn" function with the response data for each page. To stop
6684// iterating, return false from the fn function.
6685//
6686// See ListServiceActions method for more information on how to use this operation.
6687//
6688// Note: This operation can generate multiple requests to a service.
6689//
6690//    // Example iterating over at most 3 pages of a ListServiceActions operation.
6691//    pageNum := 0
6692//    err := client.ListServiceActionsPages(params,
6693//        func(page *servicecatalog.ListServiceActionsOutput, lastPage bool) bool {
6694//            pageNum++
6695//            fmt.Println(page)
6696//            return pageNum <= 3
6697//        })
6698//
6699func (c *ServiceCatalog) ListServiceActionsPages(input *ListServiceActionsInput, fn func(*ListServiceActionsOutput, bool) bool) error {
6700	return c.ListServiceActionsPagesWithContext(aws.BackgroundContext(), input, fn)
6701}
6702
6703// ListServiceActionsPagesWithContext same as ListServiceActionsPages except
6704// it takes a Context and allows setting request options on the pages.
6705//
6706// The context must be non-nil and will be used for request cancellation. If
6707// the context is nil a panic will occur. In the future the SDK may create
6708// sub-contexts for http.Requests. See https://golang.org/pkg/context/
6709// for more information on using Contexts.
6710func (c *ServiceCatalog) ListServiceActionsPagesWithContext(ctx aws.Context, input *ListServiceActionsInput, fn func(*ListServiceActionsOutput, bool) bool, opts ...request.Option) error {
6711	p := request.Pagination{
6712		NewRequest: func() (*request.Request, error) {
6713			var inCpy *ListServiceActionsInput
6714			if input != nil {
6715				tmp := *input
6716				inCpy = &tmp
6717			}
6718			req, _ := c.ListServiceActionsRequest(inCpy)
6719			req.SetContext(ctx)
6720			req.ApplyOptions(opts...)
6721			return req, nil
6722		},
6723	}
6724
6725	for p.Next() {
6726		if !fn(p.Page().(*ListServiceActionsOutput), !p.HasNextPage()) {
6727			break
6728		}
6729	}
6730
6731	return p.Err()
6732}
6733
6734const opListServiceActionsForProvisioningArtifact = "ListServiceActionsForProvisioningArtifact"
6735
6736// ListServiceActionsForProvisioningArtifactRequest generates a "aws/request.Request" representing the
6737// client's request for the ListServiceActionsForProvisioningArtifact operation. The "output" return
6738// value will be populated with the request's response once the request completes
6739// successfully.
6740//
6741// Use "Send" method on the returned Request to send the API call to the service.
6742// the "output" return value is not valid until after Send returns without error.
6743//
6744// See ListServiceActionsForProvisioningArtifact for more information on using the ListServiceActionsForProvisioningArtifact
6745// API call, and error handling.
6746//
6747// This method is useful when you want to inject custom logic or configuration
6748// into the SDK's request lifecycle. Such as custom headers, or retry logic.
6749//
6750//
6751//    // Example sending a request using the ListServiceActionsForProvisioningArtifactRequest method.
6752//    req, resp := client.ListServiceActionsForProvisioningArtifactRequest(params)
6753//
6754//    err := req.Send()
6755//    if err == nil { // resp is now filled
6756//        fmt.Println(resp)
6757//    }
6758//
6759// See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/ListServiceActionsForProvisioningArtifact
6760func (c *ServiceCatalog) ListServiceActionsForProvisioningArtifactRequest(input *ListServiceActionsForProvisioningArtifactInput) (req *request.Request, output *ListServiceActionsForProvisioningArtifactOutput) {
6761	op := &request.Operation{
6762		Name:       opListServiceActionsForProvisioningArtifact,
6763		HTTPMethod: "POST",
6764		HTTPPath:   "/",
6765		Paginator: &request.Paginator{
6766			InputTokens:     []string{"PageToken"},
6767			OutputTokens:    []string{"NextPageToken"},
6768			LimitToken:      "PageSize",
6769			TruncationToken: "",
6770		},
6771	}
6772
6773	if input == nil {
6774		input = &ListServiceActionsForProvisioningArtifactInput{}
6775	}
6776
6777	output = &ListServiceActionsForProvisioningArtifactOutput{}
6778	req = c.newRequest(op, input, output)
6779	return
6780}
6781
6782// ListServiceActionsForProvisioningArtifact API operation for AWS Service Catalog.
6783//
6784// Returns a paginated list of self-service actions associated with the specified
6785// Product ID and Provisioning Artifact ID.
6786//
6787// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
6788// with awserr.Error's Code and Message methods to get detailed information about
6789// the error.
6790//
6791// See the AWS API reference guide for AWS Service Catalog's
6792// API operation ListServiceActionsForProvisioningArtifact for usage and error information.
6793//
6794// Returned Error Types:
6795//   * ResourceNotFoundException
6796//   The specified resource was not found.
6797//
6798//   * InvalidParametersException
6799//   One or more parameters provided to the operation are not valid.
6800//
6801// See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/ListServiceActionsForProvisioningArtifact
6802func (c *ServiceCatalog) ListServiceActionsForProvisioningArtifact(input *ListServiceActionsForProvisioningArtifactInput) (*ListServiceActionsForProvisioningArtifactOutput, error) {
6803	req, out := c.ListServiceActionsForProvisioningArtifactRequest(input)
6804	return out, req.Send()
6805}
6806
6807// ListServiceActionsForProvisioningArtifactWithContext is the same as ListServiceActionsForProvisioningArtifact with the addition of
6808// the ability to pass a context and additional request options.
6809//
6810// See ListServiceActionsForProvisioningArtifact for details on how to use this API operation.
6811//
6812// The context must be non-nil and will be used for request cancellation. If
6813// the context is nil a panic will occur. In the future the SDK may create
6814// sub-contexts for http.Requests. See https://golang.org/pkg/context/
6815// for more information on using Contexts.
6816func (c *ServiceCatalog) ListServiceActionsForProvisioningArtifactWithContext(ctx aws.Context, input *ListServiceActionsForProvisioningArtifactInput, opts ...request.Option) (*ListServiceActionsForProvisioningArtifactOutput, error) {
6817	req, out := c.ListServiceActionsForProvisioningArtifactRequest(input)
6818	req.SetContext(ctx)
6819	req.ApplyOptions(opts...)
6820	return out, req.Send()
6821}
6822
6823// ListServiceActionsForProvisioningArtifactPages iterates over the pages of a ListServiceActionsForProvisioningArtifact operation,
6824// calling the "fn" function with the response data for each page. To stop
6825// iterating, return false from the fn function.
6826//
6827// See ListServiceActionsForProvisioningArtifact method for more information on how to use this operation.
6828//
6829// Note: This operation can generate multiple requests to a service.
6830//
6831//    // Example iterating over at most 3 pages of a ListServiceActionsForProvisioningArtifact operation.
6832//    pageNum := 0
6833//    err := client.ListServiceActionsForProvisioningArtifactPages(params,
6834//        func(page *servicecatalog.ListServiceActionsForProvisioningArtifactOutput, lastPage bool) bool {
6835//            pageNum++
6836//            fmt.Println(page)
6837//            return pageNum <= 3
6838//        })
6839//
6840func (c *ServiceCatalog) ListServiceActionsForProvisioningArtifactPages(input *ListServiceActionsForProvisioningArtifactInput, fn func(*ListServiceActionsForProvisioningArtifactOutput, bool) bool) error {
6841	return c.ListServiceActionsForProvisioningArtifactPagesWithContext(aws.BackgroundContext(), input, fn)
6842}
6843
6844// ListServiceActionsForProvisioningArtifactPagesWithContext same as ListServiceActionsForProvisioningArtifactPages except
6845// it takes a Context and allows setting request options on the pages.
6846//
6847// The context must be non-nil and will be used for request cancellation. If
6848// the context is nil a panic will occur. In the future the SDK may create
6849// sub-contexts for http.Requests. See https://golang.org/pkg/context/
6850// for more information on using Contexts.
6851func (c *ServiceCatalog) ListServiceActionsForProvisioningArtifactPagesWithContext(ctx aws.Context, input *ListServiceActionsForProvisioningArtifactInput, fn func(*ListServiceActionsForProvisioningArtifactOutput, bool) bool, opts ...request.Option) error {
6852	p := request.Pagination{
6853		NewRequest: func() (*request.Request, error) {
6854			var inCpy *ListServiceActionsForProvisioningArtifactInput
6855			if input != nil {
6856				tmp := *input
6857				inCpy = &tmp
6858			}
6859			req, _ := c.ListServiceActionsForProvisioningArtifactRequest(inCpy)
6860			req.SetContext(ctx)
6861			req.ApplyOptions(opts...)
6862			return req, nil
6863		},
6864	}
6865
6866	for p.Next() {
6867		if !fn(p.Page().(*ListServiceActionsForProvisioningArtifactOutput), !p.HasNextPage()) {
6868			break
6869		}
6870	}
6871
6872	return p.Err()
6873}
6874
6875const opListStackInstancesForProvisionedProduct = "ListStackInstancesForProvisionedProduct"
6876
6877// ListStackInstancesForProvisionedProductRequest generates a "aws/request.Request" representing the
6878// client's request for the ListStackInstancesForProvisionedProduct operation. The "output" return
6879// value will be populated with the request's response once the request completes
6880// successfully.
6881//
6882// Use "Send" method on the returned Request to send the API call to the service.
6883// the "output" return value is not valid until after Send returns without error.
6884//
6885// See ListStackInstancesForProvisionedProduct for more information on using the ListStackInstancesForProvisionedProduct
6886// API call, and error handling.
6887//
6888// This method is useful when you want to inject custom logic or configuration
6889// into the SDK's request lifecycle. Such as custom headers, or retry logic.
6890//
6891//
6892//    // Example sending a request using the ListStackInstancesForProvisionedProductRequest method.
6893//    req, resp := client.ListStackInstancesForProvisionedProductRequest(params)
6894//
6895//    err := req.Send()
6896//    if err == nil { // resp is now filled
6897//        fmt.Println(resp)
6898//    }
6899//
6900// See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/ListStackInstancesForProvisionedProduct
6901func (c *ServiceCatalog) ListStackInstancesForProvisionedProductRequest(input *ListStackInstancesForProvisionedProductInput) (req *request.Request, output *ListStackInstancesForProvisionedProductOutput) {
6902	op := &request.Operation{
6903		Name:       opListStackInstancesForProvisionedProduct,
6904		HTTPMethod: "POST",
6905		HTTPPath:   "/",
6906	}
6907
6908	if input == nil {
6909		input = &ListStackInstancesForProvisionedProductInput{}
6910	}
6911
6912	output = &ListStackInstancesForProvisionedProductOutput{}
6913	req = c.newRequest(op, input, output)
6914	return
6915}
6916
6917// ListStackInstancesForProvisionedProduct API operation for AWS Service Catalog.
6918//
6919// Returns summary information about stack instances that are associated with
6920// the specified CFN_STACKSET type provisioned product. You can filter for stack
6921// instances that are associated with a specific AWS account name or region.
6922//
6923// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
6924// with awserr.Error's Code and Message methods to get detailed information about
6925// the error.
6926//
6927// See the AWS API reference guide for AWS Service Catalog's
6928// API operation ListStackInstancesForProvisionedProduct for usage and error information.
6929//
6930// Returned Error Types:
6931//   * InvalidParametersException
6932//   One or more parameters provided to the operation are not valid.
6933//
6934//   * ResourceNotFoundException
6935//   The specified resource was not found.
6936//
6937// See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/ListStackInstancesForProvisionedProduct
6938func (c *ServiceCatalog) ListStackInstancesForProvisionedProduct(input *ListStackInstancesForProvisionedProductInput) (*ListStackInstancesForProvisionedProductOutput, error) {
6939	req, out := c.ListStackInstancesForProvisionedProductRequest(input)
6940	return out, req.Send()
6941}
6942
6943// ListStackInstancesForProvisionedProductWithContext is the same as ListStackInstancesForProvisionedProduct with the addition of
6944// the ability to pass a context and additional request options.
6945//
6946// See ListStackInstancesForProvisionedProduct for details on how to use this API operation.
6947//
6948// The context must be non-nil and will be used for request cancellation. If
6949// the context is nil a panic will occur. In the future the SDK may create
6950// sub-contexts for http.Requests. See https://golang.org/pkg/context/
6951// for more information on using Contexts.
6952func (c *ServiceCatalog) ListStackInstancesForProvisionedProductWithContext(ctx aws.Context, input *ListStackInstancesForProvisionedProductInput, opts ...request.Option) (*ListStackInstancesForProvisionedProductOutput, error) {
6953	req, out := c.ListStackInstancesForProvisionedProductRequest(input)
6954	req.SetContext(ctx)
6955	req.ApplyOptions(opts...)
6956	return out, req.Send()
6957}
6958
6959const opListTagOptions = "ListTagOptions"
6960
6961// ListTagOptionsRequest generates a "aws/request.Request" representing the
6962// client's request for the ListTagOptions operation. The "output" return
6963// value will be populated with the request's response once the request completes
6964// successfully.
6965//
6966// Use "Send" method on the returned Request to send the API call to the service.
6967// the "output" return value is not valid until after Send returns without error.
6968//
6969// See ListTagOptions for more information on using the ListTagOptions
6970// API call, and error handling.
6971//
6972// This method is useful when you want to inject custom logic or configuration
6973// into the SDK's request lifecycle. Such as custom headers, or retry logic.
6974//
6975//
6976//    // Example sending a request using the ListTagOptionsRequest method.
6977//    req, resp := client.ListTagOptionsRequest(params)
6978//
6979//    err := req.Send()
6980//    if err == nil { // resp is now filled
6981//        fmt.Println(resp)
6982//    }
6983//
6984// See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/ListTagOptions
6985func (c *ServiceCatalog) ListTagOptionsRequest(input *ListTagOptionsInput) (req *request.Request, output *ListTagOptionsOutput) {
6986	op := &request.Operation{
6987		Name:       opListTagOptions,
6988		HTTPMethod: "POST",
6989		HTTPPath:   "/",
6990		Paginator: &request.Paginator{
6991			InputTokens:     []string{"PageToken"},
6992			OutputTokens:    []string{"PageToken"},
6993			LimitToken:      "PageSize",
6994			TruncationToken: "",
6995		},
6996	}
6997
6998	if input == nil {
6999		input = &ListTagOptionsInput{}
7000	}
7001
7002	output = &ListTagOptionsOutput{}
7003	req = c.newRequest(op, input, output)
7004	return
7005}
7006
7007// ListTagOptions API operation for AWS Service Catalog.
7008//
7009// Lists the specified TagOptions or all TagOptions.
7010//
7011// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
7012// with awserr.Error's Code and Message methods to get detailed information about
7013// the error.
7014//
7015// See the AWS API reference guide for AWS Service Catalog's
7016// API operation ListTagOptions for usage and error information.
7017//
7018// Returned Error Types:
7019//   * TagOptionNotMigratedException
7020//   An operation requiring TagOptions failed because the TagOptions migration
7021//   process has not been performed for this account. Please use the AWS console
7022//   to perform the migration process before retrying the operation.
7023//
7024//   * InvalidParametersException
7025//   One or more parameters provided to the operation are not valid.
7026//
7027// See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/ListTagOptions
7028func (c *ServiceCatalog) ListTagOptions(input *ListTagOptionsInput) (*ListTagOptionsOutput, error) {
7029	req, out := c.ListTagOptionsRequest(input)
7030	return out, req.Send()
7031}
7032
7033// ListTagOptionsWithContext is the same as ListTagOptions with the addition of
7034// the ability to pass a context and additional request options.
7035//
7036// See ListTagOptions for details on how to use this API operation.
7037//
7038// The context must be non-nil and will be used for request cancellation. If
7039// the context is nil a panic will occur. In the future the SDK may create
7040// sub-contexts for http.Requests. See https://golang.org/pkg/context/
7041// for more information on using Contexts.
7042func (c *ServiceCatalog) ListTagOptionsWithContext(ctx aws.Context, input *ListTagOptionsInput, opts ...request.Option) (*ListTagOptionsOutput, error) {
7043	req, out := c.ListTagOptionsRequest(input)
7044	req.SetContext(ctx)
7045	req.ApplyOptions(opts...)
7046	return out, req.Send()
7047}
7048
7049// ListTagOptionsPages iterates over the pages of a ListTagOptions operation,
7050// calling the "fn" function with the response data for each page. To stop
7051// iterating, return false from the fn function.
7052//
7053// See ListTagOptions method for more information on how to use this operation.
7054//
7055// Note: This operation can generate multiple requests to a service.
7056//
7057//    // Example iterating over at most 3 pages of a ListTagOptions operation.
7058//    pageNum := 0
7059//    err := client.ListTagOptionsPages(params,
7060//        func(page *servicecatalog.ListTagOptionsOutput, lastPage bool) bool {
7061//            pageNum++
7062//            fmt.Println(page)
7063//            return pageNum <= 3
7064//        })
7065//
7066func (c *ServiceCatalog) ListTagOptionsPages(input *ListTagOptionsInput, fn func(*ListTagOptionsOutput, bool) bool) error {
7067	return c.ListTagOptionsPagesWithContext(aws.BackgroundContext(), input, fn)
7068}
7069
7070// ListTagOptionsPagesWithContext same as ListTagOptionsPages except
7071// it takes a Context and allows setting request options on the pages.
7072//
7073// The context must be non-nil and will be used for request cancellation. If
7074// the context is nil a panic will occur. In the future the SDK may create
7075// sub-contexts for http.Requests. See https://golang.org/pkg/context/
7076// for more information on using Contexts.
7077func (c *ServiceCatalog) ListTagOptionsPagesWithContext(ctx aws.Context, input *ListTagOptionsInput, fn func(*ListTagOptionsOutput, bool) bool, opts ...request.Option) error {
7078	p := request.Pagination{
7079		NewRequest: func() (*request.Request, error) {
7080			var inCpy *ListTagOptionsInput
7081			if input != nil {
7082				tmp := *input
7083				inCpy = &tmp
7084			}
7085			req, _ := c.ListTagOptionsRequest(inCpy)
7086			req.SetContext(ctx)
7087			req.ApplyOptions(opts...)
7088			return req, nil
7089		},
7090	}
7091
7092	for p.Next() {
7093		if !fn(p.Page().(*ListTagOptionsOutput), !p.HasNextPage()) {
7094			break
7095		}
7096	}
7097
7098	return p.Err()
7099}
7100
7101const opProvisionProduct = "ProvisionProduct"
7102
7103// ProvisionProductRequest generates a "aws/request.Request" representing the
7104// client's request for the ProvisionProduct operation. The "output" return
7105// value will be populated with the request's response once the request completes
7106// successfully.
7107//
7108// Use "Send" method on the returned Request to send the API call to the service.
7109// the "output" return value is not valid until after Send returns without error.
7110//
7111// See ProvisionProduct for more information on using the ProvisionProduct
7112// API call, and error handling.
7113//
7114// This method is useful when you want to inject custom logic or configuration
7115// into the SDK's request lifecycle. Such as custom headers, or retry logic.
7116//
7117//
7118//    // Example sending a request using the ProvisionProductRequest method.
7119//    req, resp := client.ProvisionProductRequest(params)
7120//
7121//    err := req.Send()
7122//    if err == nil { // resp is now filled
7123//        fmt.Println(resp)
7124//    }
7125//
7126// See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/ProvisionProduct
7127func (c *ServiceCatalog) ProvisionProductRequest(input *ProvisionProductInput) (req *request.Request, output *ProvisionProductOutput) {
7128	op := &request.Operation{
7129		Name:       opProvisionProduct,
7130		HTTPMethod: "POST",
7131		HTTPPath:   "/",
7132	}
7133
7134	if input == nil {
7135		input = &ProvisionProductInput{}
7136	}
7137
7138	output = &ProvisionProductOutput{}
7139	req = c.newRequest(op, input, output)
7140	return
7141}
7142
7143// ProvisionProduct API operation for AWS Service Catalog.
7144//
7145// Provisions the specified product.
7146//
7147// A provisioned product is a resourced instance of a product. For example,
7148// provisioning a product based on a CloudFormation template launches a CloudFormation
7149// stack and its underlying resources. You can check the status of this request
7150// using DescribeRecord.
7151//
7152// If the request contains a tag key with an empty list of values, there is
7153// a tag conflict for that key. Do not include conflicted keys as tags, or this
7154// causes the error "Parameter validation failed: Missing required parameter
7155// in Tags[N]:Value".
7156//
7157// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
7158// with awserr.Error's Code and Message methods to get detailed information about
7159// the error.
7160//
7161// See the AWS API reference guide for AWS Service Catalog's
7162// API operation ProvisionProduct for usage and error information.
7163//
7164// Returned Error Types:
7165//   * InvalidParametersException
7166//   One or more parameters provided to the operation are not valid.
7167//
7168//   * ResourceNotFoundException
7169//   The specified resource was not found.
7170//
7171//   * DuplicateResourceException
7172//   The specified resource is a duplicate.
7173//
7174// See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/ProvisionProduct
7175func (c *ServiceCatalog) ProvisionProduct(input *ProvisionProductInput) (*ProvisionProductOutput, error) {
7176	req, out := c.ProvisionProductRequest(input)
7177	return out, req.Send()
7178}
7179
7180// ProvisionProductWithContext is the same as ProvisionProduct with the addition of
7181// the ability to pass a context and additional request options.
7182//
7183// See ProvisionProduct for details on how to use this API operation.
7184//
7185// The context must be non-nil and will be used for request cancellation. If
7186// the context is nil a panic will occur. In the future the SDK may create
7187// sub-contexts for http.Requests. See https://golang.org/pkg/context/
7188// for more information on using Contexts.
7189func (c *ServiceCatalog) ProvisionProductWithContext(ctx aws.Context, input *ProvisionProductInput, opts ...request.Option) (*ProvisionProductOutput, error) {
7190	req, out := c.ProvisionProductRequest(input)
7191	req.SetContext(ctx)
7192	req.ApplyOptions(opts...)
7193	return out, req.Send()
7194}
7195
7196const opRejectPortfolioShare = "RejectPortfolioShare"
7197
7198// RejectPortfolioShareRequest generates a "aws/request.Request" representing the
7199// client's request for the RejectPortfolioShare operation. The "output" return
7200// value will be populated with the request's response once the request completes
7201// successfully.
7202//
7203// Use "Send" method on the returned Request to send the API call to the service.
7204// the "output" return value is not valid until after Send returns without error.
7205//
7206// See RejectPortfolioShare for more information on using the RejectPortfolioShare
7207// API call, and error handling.
7208//
7209// This method is useful when you want to inject custom logic or configuration
7210// into the SDK's request lifecycle. Such as custom headers, or retry logic.
7211//
7212//
7213//    // Example sending a request using the RejectPortfolioShareRequest method.
7214//    req, resp := client.RejectPortfolioShareRequest(params)
7215//
7216//    err := req.Send()
7217//    if err == nil { // resp is now filled
7218//        fmt.Println(resp)
7219//    }
7220//
7221// See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/RejectPortfolioShare
7222func (c *ServiceCatalog) RejectPortfolioShareRequest(input *RejectPortfolioShareInput) (req *request.Request, output *RejectPortfolioShareOutput) {
7223	op := &request.Operation{
7224		Name:       opRejectPortfolioShare,
7225		HTTPMethod: "POST",
7226		HTTPPath:   "/",
7227	}
7228
7229	if input == nil {
7230		input = &RejectPortfolioShareInput{}
7231	}
7232
7233	output = &RejectPortfolioShareOutput{}
7234	req = c.newRequest(op, input, output)
7235	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
7236	return
7237}
7238
7239// RejectPortfolioShare API operation for AWS Service Catalog.
7240//
7241// Rejects an offer to share the specified portfolio.
7242//
7243// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
7244// with awserr.Error's Code and Message methods to get detailed information about
7245// the error.
7246//
7247// See the AWS API reference guide for AWS Service Catalog's
7248// API operation RejectPortfolioShare for usage and error information.
7249//
7250// Returned Error Types:
7251//   * ResourceNotFoundException
7252//   The specified resource was not found.
7253//
7254// See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/RejectPortfolioShare
7255func (c *ServiceCatalog) RejectPortfolioShare(input *RejectPortfolioShareInput) (*RejectPortfolioShareOutput, error) {
7256	req, out := c.RejectPortfolioShareRequest(input)
7257	return out, req.Send()
7258}
7259
7260// RejectPortfolioShareWithContext is the same as RejectPortfolioShare with the addition of
7261// the ability to pass a context and additional request options.
7262//
7263// See RejectPortfolioShare for details on how to use this API operation.
7264//
7265// The context must be non-nil and will be used for request cancellation. If
7266// the context is nil a panic will occur. In the future the SDK may create
7267// sub-contexts for http.Requests. See https://golang.org/pkg/context/
7268// for more information on using Contexts.
7269func (c *ServiceCatalog) RejectPortfolioShareWithContext(ctx aws.Context, input *RejectPortfolioShareInput, opts ...request.Option) (*RejectPortfolioShareOutput, error) {
7270	req, out := c.RejectPortfolioShareRequest(input)
7271	req.SetContext(ctx)
7272	req.ApplyOptions(opts...)
7273	return out, req.Send()
7274}
7275
7276const opScanProvisionedProducts = "ScanProvisionedProducts"
7277
7278// ScanProvisionedProductsRequest generates a "aws/request.Request" representing the
7279// client's request for the ScanProvisionedProducts operation. The "output" return
7280// value will be populated with the request's response once the request completes
7281// successfully.
7282//
7283// Use "Send" method on the returned Request to send the API call to the service.
7284// the "output" return value is not valid until after Send returns without error.
7285//
7286// See ScanProvisionedProducts for more information on using the ScanProvisionedProducts
7287// API call, and error handling.
7288//
7289// This method is useful when you want to inject custom logic or configuration
7290// into the SDK's request lifecycle. Such as custom headers, or retry logic.
7291//
7292//
7293//    // Example sending a request using the ScanProvisionedProductsRequest method.
7294//    req, resp := client.ScanProvisionedProductsRequest(params)
7295//
7296//    err := req.Send()
7297//    if err == nil { // resp is now filled
7298//        fmt.Println(resp)
7299//    }
7300//
7301// See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/ScanProvisionedProducts
7302func (c *ServiceCatalog) ScanProvisionedProductsRequest(input *ScanProvisionedProductsInput) (req *request.Request, output *ScanProvisionedProductsOutput) {
7303	op := &request.Operation{
7304		Name:       opScanProvisionedProducts,
7305		HTTPMethod: "POST",
7306		HTTPPath:   "/",
7307	}
7308
7309	if input == nil {
7310		input = &ScanProvisionedProductsInput{}
7311	}
7312
7313	output = &ScanProvisionedProductsOutput{}
7314	req = c.newRequest(op, input, output)
7315	return
7316}
7317
7318// ScanProvisionedProducts API operation for AWS Service Catalog.
7319//
7320// Lists the provisioned products that are available (not terminated).
7321//
7322// To use additional filtering, see SearchProvisionedProducts.
7323//
7324// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
7325// with awserr.Error's Code and Message methods to get detailed information about
7326// the error.
7327//
7328// See the AWS API reference guide for AWS Service Catalog's
7329// API operation ScanProvisionedProducts for usage and error information.
7330//
7331// Returned Error Types:
7332//   * InvalidParametersException
7333//   One or more parameters provided to the operation are not valid.
7334//
7335// See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/ScanProvisionedProducts
7336func (c *ServiceCatalog) ScanProvisionedProducts(input *ScanProvisionedProductsInput) (*ScanProvisionedProductsOutput, error) {
7337	req, out := c.ScanProvisionedProductsRequest(input)
7338	return out, req.Send()
7339}
7340
7341// ScanProvisionedProductsWithContext is the same as ScanProvisionedProducts with the addition of
7342// the ability to pass a context and additional request options.
7343//
7344// See ScanProvisionedProducts for details on how to use this API operation.
7345//
7346// The context must be non-nil and will be used for request cancellation. If
7347// the context is nil a panic will occur. In the future the SDK may create
7348// sub-contexts for http.Requests. See https://golang.org/pkg/context/
7349// for more information on using Contexts.
7350func (c *ServiceCatalog) ScanProvisionedProductsWithContext(ctx aws.Context, input *ScanProvisionedProductsInput, opts ...request.Option) (*ScanProvisionedProductsOutput, error) {
7351	req, out := c.ScanProvisionedProductsRequest(input)
7352	req.SetContext(ctx)
7353	req.ApplyOptions(opts...)
7354	return out, req.Send()
7355}
7356
7357const opSearchProducts = "SearchProducts"
7358
7359// SearchProductsRequest generates a "aws/request.Request" representing the
7360// client's request for the SearchProducts operation. The "output" return
7361// value will be populated with the request's response once the request completes
7362// successfully.
7363//
7364// Use "Send" method on the returned Request to send the API call to the service.
7365// the "output" return value is not valid until after Send returns without error.
7366//
7367// See SearchProducts for more information on using the SearchProducts
7368// API call, and error handling.
7369//
7370// This method is useful when you want to inject custom logic or configuration
7371// into the SDK's request lifecycle. Such as custom headers, or retry logic.
7372//
7373//
7374//    // Example sending a request using the SearchProductsRequest method.
7375//    req, resp := client.SearchProductsRequest(params)
7376//
7377//    err := req.Send()
7378//    if err == nil { // resp is now filled
7379//        fmt.Println(resp)
7380//    }
7381//
7382// See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/SearchProducts
7383func (c *ServiceCatalog) SearchProductsRequest(input *SearchProductsInput) (req *request.Request, output *SearchProductsOutput) {
7384	op := &request.Operation{
7385		Name:       opSearchProducts,
7386		HTTPMethod: "POST",
7387		HTTPPath:   "/",
7388		Paginator: &request.Paginator{
7389			InputTokens:     []string{"PageToken"},
7390			OutputTokens:    []string{"NextPageToken"},
7391			LimitToken:      "PageSize",
7392			TruncationToken: "",
7393		},
7394	}
7395
7396	if input == nil {
7397		input = &SearchProductsInput{}
7398	}
7399
7400	output = &SearchProductsOutput{}
7401	req = c.newRequest(op, input, output)
7402	return
7403}
7404
7405// SearchProducts API operation for AWS Service Catalog.
7406//
7407// Gets information about the products to which the caller has access.
7408//
7409// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
7410// with awserr.Error's Code and Message methods to get detailed information about
7411// the error.
7412//
7413// See the AWS API reference guide for AWS Service Catalog's
7414// API operation SearchProducts for usage and error information.
7415//
7416// Returned Error Types:
7417//   * InvalidParametersException
7418//   One or more parameters provided to the operation are not valid.
7419//
7420// See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/SearchProducts
7421func (c *ServiceCatalog) SearchProducts(input *SearchProductsInput) (*SearchProductsOutput, error) {
7422	req, out := c.SearchProductsRequest(input)
7423	return out, req.Send()
7424}
7425
7426// SearchProductsWithContext is the same as SearchProducts with the addition of
7427// the ability to pass a context and additional request options.
7428//
7429// See SearchProducts for details on how to use this API operation.
7430//
7431// The context must be non-nil and will be used for request cancellation. If
7432// the context is nil a panic will occur. In the future the SDK may create
7433// sub-contexts for http.Requests. See https://golang.org/pkg/context/
7434// for more information on using Contexts.
7435func (c *ServiceCatalog) SearchProductsWithContext(ctx aws.Context, input *SearchProductsInput, opts ...request.Option) (*SearchProductsOutput, error) {
7436	req, out := c.SearchProductsRequest(input)
7437	req.SetContext(ctx)
7438	req.ApplyOptions(opts...)
7439	return out, req.Send()
7440}
7441
7442// SearchProductsPages iterates over the pages of a SearchProducts operation,
7443// calling the "fn" function with the response data for each page. To stop
7444// iterating, return false from the fn function.
7445//
7446// See SearchProducts method for more information on how to use this operation.
7447//
7448// Note: This operation can generate multiple requests to a service.
7449//
7450//    // Example iterating over at most 3 pages of a SearchProducts operation.
7451//    pageNum := 0
7452//    err := client.SearchProductsPages(params,
7453//        func(page *servicecatalog.SearchProductsOutput, lastPage bool) bool {
7454//            pageNum++
7455//            fmt.Println(page)
7456//            return pageNum <= 3
7457//        })
7458//
7459func (c *ServiceCatalog) SearchProductsPages(input *SearchProductsInput, fn func(*SearchProductsOutput, bool) bool) error {
7460	return c.SearchProductsPagesWithContext(aws.BackgroundContext(), input, fn)
7461}
7462
7463// SearchProductsPagesWithContext same as SearchProductsPages except
7464// it takes a Context and allows setting request options on the pages.
7465//
7466// The context must be non-nil and will be used for request cancellation. If
7467// the context is nil a panic will occur. In the future the SDK may create
7468// sub-contexts for http.Requests. See https://golang.org/pkg/context/
7469// for more information on using Contexts.
7470func (c *ServiceCatalog) SearchProductsPagesWithContext(ctx aws.Context, input *SearchProductsInput, fn func(*SearchProductsOutput, bool) bool, opts ...request.Option) error {
7471	p := request.Pagination{
7472		NewRequest: func() (*request.Request, error) {
7473			var inCpy *SearchProductsInput
7474			if input != nil {
7475				tmp := *input
7476				inCpy = &tmp
7477			}
7478			req, _ := c.SearchProductsRequest(inCpy)
7479			req.SetContext(ctx)
7480			req.ApplyOptions(opts...)
7481			return req, nil
7482		},
7483	}
7484
7485	for p.Next() {
7486		if !fn(p.Page().(*SearchProductsOutput), !p.HasNextPage()) {
7487			break
7488		}
7489	}
7490
7491	return p.Err()
7492}
7493
7494const opSearchProductsAsAdmin = "SearchProductsAsAdmin"
7495
7496// SearchProductsAsAdminRequest generates a "aws/request.Request" representing the
7497// client's request for the SearchProductsAsAdmin operation. The "output" return
7498// value will be populated with the request's response once the request completes
7499// successfully.
7500//
7501// Use "Send" method on the returned Request to send the API call to the service.
7502// the "output" return value is not valid until after Send returns without error.
7503//
7504// See SearchProductsAsAdmin for more information on using the SearchProductsAsAdmin
7505// API call, and error handling.
7506//
7507// This method is useful when you want to inject custom logic or configuration
7508// into the SDK's request lifecycle. Such as custom headers, or retry logic.
7509//
7510//
7511//    // Example sending a request using the SearchProductsAsAdminRequest method.
7512//    req, resp := client.SearchProductsAsAdminRequest(params)
7513//
7514//    err := req.Send()
7515//    if err == nil { // resp is now filled
7516//        fmt.Println(resp)
7517//    }
7518//
7519// See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/SearchProductsAsAdmin
7520func (c *ServiceCatalog) SearchProductsAsAdminRequest(input *SearchProductsAsAdminInput) (req *request.Request, output *SearchProductsAsAdminOutput) {
7521	op := &request.Operation{
7522		Name:       opSearchProductsAsAdmin,
7523		HTTPMethod: "POST",
7524		HTTPPath:   "/",
7525		Paginator: &request.Paginator{
7526			InputTokens:     []string{"PageToken"},
7527			OutputTokens:    []string{"NextPageToken"},
7528			LimitToken:      "PageSize",
7529			TruncationToken: "",
7530		},
7531	}
7532
7533	if input == nil {
7534		input = &SearchProductsAsAdminInput{}
7535	}
7536
7537	output = &SearchProductsAsAdminOutput{}
7538	req = c.newRequest(op, input, output)
7539	return
7540}
7541
7542// SearchProductsAsAdmin API operation for AWS Service Catalog.
7543//
7544// Gets information about the products for the specified portfolio or all products.
7545//
7546// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
7547// with awserr.Error's Code and Message methods to get detailed information about
7548// the error.
7549//
7550// See the AWS API reference guide for AWS Service Catalog's
7551// API operation SearchProductsAsAdmin for usage and error information.
7552//
7553// Returned Error Types:
7554//   * ResourceNotFoundException
7555//   The specified resource was not found.
7556//
7557//   * InvalidParametersException
7558//   One or more parameters provided to the operation are not valid.
7559//
7560// See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/SearchProductsAsAdmin
7561func (c *ServiceCatalog) SearchProductsAsAdmin(input *SearchProductsAsAdminInput) (*SearchProductsAsAdminOutput, error) {
7562	req, out := c.SearchProductsAsAdminRequest(input)
7563	return out, req.Send()
7564}
7565
7566// SearchProductsAsAdminWithContext is the same as SearchProductsAsAdmin with the addition of
7567// the ability to pass a context and additional request options.
7568//
7569// See SearchProductsAsAdmin for details on how to use this API operation.
7570//
7571// The context must be non-nil and will be used for request cancellation. If
7572// the context is nil a panic will occur. In the future the SDK may create
7573// sub-contexts for http.Requests. See https://golang.org/pkg/context/
7574// for more information on using Contexts.
7575func (c *ServiceCatalog) SearchProductsAsAdminWithContext(ctx aws.Context, input *SearchProductsAsAdminInput, opts ...request.Option) (*SearchProductsAsAdminOutput, error) {
7576	req, out := c.SearchProductsAsAdminRequest(input)
7577	req.SetContext(ctx)
7578	req.ApplyOptions(opts...)
7579	return out, req.Send()
7580}
7581
7582// SearchProductsAsAdminPages iterates over the pages of a SearchProductsAsAdmin operation,
7583// calling the "fn" function with the response data for each page. To stop
7584// iterating, return false from the fn function.
7585//
7586// See SearchProductsAsAdmin method for more information on how to use this operation.
7587//
7588// Note: This operation can generate multiple requests to a service.
7589//
7590//    // Example iterating over at most 3 pages of a SearchProductsAsAdmin operation.
7591//    pageNum := 0
7592//    err := client.SearchProductsAsAdminPages(params,
7593//        func(page *servicecatalog.SearchProductsAsAdminOutput, lastPage bool) bool {
7594//            pageNum++
7595//            fmt.Println(page)
7596//            return pageNum <= 3
7597//        })
7598//
7599func (c *ServiceCatalog) SearchProductsAsAdminPages(input *SearchProductsAsAdminInput, fn func(*SearchProductsAsAdminOutput, bool) bool) error {
7600	return c.SearchProductsAsAdminPagesWithContext(aws.BackgroundContext(), input, fn)
7601}
7602
7603// SearchProductsAsAdminPagesWithContext same as SearchProductsAsAdminPages except
7604// it takes a Context and allows setting request options on the pages.
7605//
7606// The context must be non-nil and will be used for request cancellation. If
7607// the context is nil a panic will occur. In the future the SDK may create
7608// sub-contexts for http.Requests. See https://golang.org/pkg/context/
7609// for more information on using Contexts.
7610func (c *ServiceCatalog) SearchProductsAsAdminPagesWithContext(ctx aws.Context, input *SearchProductsAsAdminInput, fn func(*SearchProductsAsAdminOutput, bool) bool, opts ...request.Option) error {
7611	p := request.Pagination{
7612		NewRequest: func() (*request.Request, error) {
7613			var inCpy *SearchProductsAsAdminInput
7614			if input != nil {
7615				tmp := *input
7616				inCpy = &tmp
7617			}
7618			req, _ := c.SearchProductsAsAdminRequest(inCpy)
7619			req.SetContext(ctx)
7620			req.ApplyOptions(opts...)
7621			return req, nil
7622		},
7623	}
7624
7625	for p.Next() {
7626		if !fn(p.Page().(*SearchProductsAsAdminOutput), !p.HasNextPage()) {
7627			break
7628		}
7629	}
7630
7631	return p.Err()
7632}
7633
7634const opSearchProvisionedProducts = "SearchProvisionedProducts"
7635
7636// SearchProvisionedProductsRequest generates a "aws/request.Request" representing the
7637// client's request for the SearchProvisionedProducts operation. The "output" return
7638// value will be populated with the request's response once the request completes
7639// successfully.
7640//
7641// Use "Send" method on the returned Request to send the API call to the service.
7642// the "output" return value is not valid until after Send returns without error.
7643//
7644// See SearchProvisionedProducts for more information on using the SearchProvisionedProducts
7645// API call, and error handling.
7646//
7647// This method is useful when you want to inject custom logic or configuration
7648// into the SDK's request lifecycle. Such as custom headers, or retry logic.
7649//
7650//
7651//    // Example sending a request using the SearchProvisionedProductsRequest method.
7652//    req, resp := client.SearchProvisionedProductsRequest(params)
7653//
7654//    err := req.Send()
7655//    if err == nil { // resp is now filled
7656//        fmt.Println(resp)
7657//    }
7658//
7659// See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/SearchProvisionedProducts
7660func (c *ServiceCatalog) SearchProvisionedProductsRequest(input *SearchProvisionedProductsInput) (req *request.Request, output *SearchProvisionedProductsOutput) {
7661	op := &request.Operation{
7662		Name:       opSearchProvisionedProducts,
7663		HTTPMethod: "POST",
7664		HTTPPath:   "/",
7665		Paginator: &request.Paginator{
7666			InputTokens:     []string{"PageToken"},
7667			OutputTokens:    []string{"NextPageToken"},
7668			LimitToken:      "PageSize",
7669			TruncationToken: "",
7670		},
7671	}
7672
7673	if input == nil {
7674		input = &SearchProvisionedProductsInput{}
7675	}
7676
7677	output = &SearchProvisionedProductsOutput{}
7678	req = c.newRequest(op, input, output)
7679	return
7680}
7681
7682// SearchProvisionedProducts API operation for AWS Service Catalog.
7683//
7684// Gets information about the provisioned products that meet the specified criteria.
7685//
7686// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
7687// with awserr.Error's Code and Message methods to get detailed information about
7688// the error.
7689//
7690// See the AWS API reference guide for AWS Service Catalog's
7691// API operation SearchProvisionedProducts for usage and error information.
7692//
7693// Returned Error Types:
7694//   * InvalidParametersException
7695//   One or more parameters provided to the operation are not valid.
7696//
7697// See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/SearchProvisionedProducts
7698func (c *ServiceCatalog) SearchProvisionedProducts(input *SearchProvisionedProductsInput) (*SearchProvisionedProductsOutput, error) {
7699	req, out := c.SearchProvisionedProductsRequest(input)
7700	return out, req.Send()
7701}
7702
7703// SearchProvisionedProductsWithContext is the same as SearchProvisionedProducts with the addition of
7704// the ability to pass a context and additional request options.
7705//
7706// See SearchProvisionedProducts for details on how to use this API operation.
7707//
7708// The context must be non-nil and will be used for request cancellation. If
7709// the context is nil a panic will occur. In the future the SDK may create
7710// sub-contexts for http.Requests. See https://golang.org/pkg/context/
7711// for more information on using Contexts.
7712func (c *ServiceCatalog) SearchProvisionedProductsWithContext(ctx aws.Context, input *SearchProvisionedProductsInput, opts ...request.Option) (*SearchProvisionedProductsOutput, error) {
7713	req, out := c.SearchProvisionedProductsRequest(input)
7714	req.SetContext(ctx)
7715	req.ApplyOptions(opts...)
7716	return out, req.Send()
7717}
7718
7719// SearchProvisionedProductsPages iterates over the pages of a SearchProvisionedProducts operation,
7720// calling the "fn" function with the response data for each page. To stop
7721// iterating, return false from the fn function.
7722//
7723// See SearchProvisionedProducts method for more information on how to use this operation.
7724//
7725// Note: This operation can generate multiple requests to a service.
7726//
7727//    // Example iterating over at most 3 pages of a SearchProvisionedProducts operation.
7728//    pageNum := 0
7729//    err := client.SearchProvisionedProductsPages(params,
7730//        func(page *servicecatalog.SearchProvisionedProductsOutput, lastPage bool) bool {
7731//            pageNum++
7732//            fmt.Println(page)
7733//            return pageNum <= 3
7734//        })
7735//
7736func (c *ServiceCatalog) SearchProvisionedProductsPages(input *SearchProvisionedProductsInput, fn func(*SearchProvisionedProductsOutput, bool) bool) error {
7737	return c.SearchProvisionedProductsPagesWithContext(aws.BackgroundContext(), input, fn)
7738}
7739
7740// SearchProvisionedProductsPagesWithContext same as SearchProvisionedProductsPages except
7741// it takes a Context and allows setting request options on the pages.
7742//
7743// The context must be non-nil and will be used for request cancellation. If
7744// the context is nil a panic will occur. In the future the SDK may create
7745// sub-contexts for http.Requests. See https://golang.org/pkg/context/
7746// for more information on using Contexts.
7747func (c *ServiceCatalog) SearchProvisionedProductsPagesWithContext(ctx aws.Context, input *SearchProvisionedProductsInput, fn func(*SearchProvisionedProductsOutput, bool) bool, opts ...request.Option) error {
7748	p := request.Pagination{
7749		NewRequest: func() (*request.Request, error) {
7750			var inCpy *SearchProvisionedProductsInput
7751			if input != nil {
7752				tmp := *input
7753				inCpy = &tmp
7754			}
7755			req, _ := c.SearchProvisionedProductsRequest(inCpy)
7756			req.SetContext(ctx)
7757			req.ApplyOptions(opts...)
7758			return req, nil
7759		},
7760	}
7761
7762	for p.Next() {
7763		if !fn(p.Page().(*SearchProvisionedProductsOutput), !p.HasNextPage()) {
7764			break
7765		}
7766	}
7767
7768	return p.Err()
7769}
7770
7771const opTerminateProvisionedProduct = "TerminateProvisionedProduct"
7772
7773// TerminateProvisionedProductRequest generates a "aws/request.Request" representing the
7774// client's request for the TerminateProvisionedProduct operation. The "output" return
7775// value will be populated with the request's response once the request completes
7776// successfully.
7777//
7778// Use "Send" method on the returned Request to send the API call to the service.
7779// the "output" return value is not valid until after Send returns without error.
7780//
7781// See TerminateProvisionedProduct for more information on using the TerminateProvisionedProduct
7782// API call, and error handling.
7783//
7784// This method is useful when you want to inject custom logic or configuration
7785// into the SDK's request lifecycle. Such as custom headers, or retry logic.
7786//
7787//
7788//    // Example sending a request using the TerminateProvisionedProductRequest method.
7789//    req, resp := client.TerminateProvisionedProductRequest(params)
7790//
7791//    err := req.Send()
7792//    if err == nil { // resp is now filled
7793//        fmt.Println(resp)
7794//    }
7795//
7796// See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/TerminateProvisionedProduct
7797func (c *ServiceCatalog) TerminateProvisionedProductRequest(input *TerminateProvisionedProductInput) (req *request.Request, output *TerminateProvisionedProductOutput) {
7798	op := &request.Operation{
7799		Name:       opTerminateProvisionedProduct,
7800		HTTPMethod: "POST",
7801		HTTPPath:   "/",
7802	}
7803
7804	if input == nil {
7805		input = &TerminateProvisionedProductInput{}
7806	}
7807
7808	output = &TerminateProvisionedProductOutput{}
7809	req = c.newRequest(op, input, output)
7810	return
7811}
7812
7813// TerminateProvisionedProduct API operation for AWS Service Catalog.
7814//
7815// Terminates the specified provisioned product.
7816//
7817// This operation does not delete any records associated with the provisioned
7818// product.
7819//
7820// You can check the status of this request using DescribeRecord.
7821//
7822// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
7823// with awserr.Error's Code and Message methods to get detailed information about
7824// the error.
7825//
7826// See the AWS API reference guide for AWS Service Catalog's
7827// API operation TerminateProvisionedProduct for usage and error information.
7828//
7829// Returned Error Types:
7830//   * ResourceNotFoundException
7831//   The specified resource was not found.
7832//
7833// See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/TerminateProvisionedProduct
7834func (c *ServiceCatalog) TerminateProvisionedProduct(input *TerminateProvisionedProductInput) (*TerminateProvisionedProductOutput, error) {
7835	req, out := c.TerminateProvisionedProductRequest(input)
7836	return out, req.Send()
7837}
7838
7839// TerminateProvisionedProductWithContext is the same as TerminateProvisionedProduct with the addition of
7840// the ability to pass a context and additional request options.
7841//
7842// See TerminateProvisionedProduct for details on how to use this API operation.
7843//
7844// The context must be non-nil and will be used for request cancellation. If
7845// the context is nil a panic will occur. In the future the SDK may create
7846// sub-contexts for http.Requests. See https://golang.org/pkg/context/
7847// for more information on using Contexts.
7848func (c *ServiceCatalog) TerminateProvisionedProductWithContext(ctx aws.Context, input *TerminateProvisionedProductInput, opts ...request.Option) (*TerminateProvisionedProductOutput, error) {
7849	req, out := c.TerminateProvisionedProductRequest(input)
7850	req.SetContext(ctx)
7851	req.ApplyOptions(opts...)
7852	return out, req.Send()
7853}
7854
7855const opUpdateConstraint = "UpdateConstraint"
7856
7857// UpdateConstraintRequest generates a "aws/request.Request" representing the
7858// client's request for the UpdateConstraint operation. The "output" return
7859// value will be populated with the request's response once the request completes
7860// successfully.
7861//
7862// Use "Send" method on the returned Request to send the API call to the service.
7863// the "output" return value is not valid until after Send returns without error.
7864//
7865// See UpdateConstraint for more information on using the UpdateConstraint
7866// API call, and error handling.
7867//
7868// This method is useful when you want to inject custom logic or configuration
7869// into the SDK's request lifecycle. Such as custom headers, or retry logic.
7870//
7871//
7872//    // Example sending a request using the UpdateConstraintRequest method.
7873//    req, resp := client.UpdateConstraintRequest(params)
7874//
7875//    err := req.Send()
7876//    if err == nil { // resp is now filled
7877//        fmt.Println(resp)
7878//    }
7879//
7880// See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/UpdateConstraint
7881func (c *ServiceCatalog) UpdateConstraintRequest(input *UpdateConstraintInput) (req *request.Request, output *UpdateConstraintOutput) {
7882	op := &request.Operation{
7883		Name:       opUpdateConstraint,
7884		HTTPMethod: "POST",
7885		HTTPPath:   "/",
7886	}
7887
7888	if input == nil {
7889		input = &UpdateConstraintInput{}
7890	}
7891
7892	output = &UpdateConstraintOutput{}
7893	req = c.newRequest(op, input, output)
7894	return
7895}
7896
7897// UpdateConstraint API operation for AWS Service Catalog.
7898//
7899// Updates the specified constraint.
7900//
7901// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
7902// with awserr.Error's Code and Message methods to get detailed information about
7903// the error.
7904//
7905// See the AWS API reference guide for AWS Service Catalog's
7906// API operation UpdateConstraint for usage and error information.
7907//
7908// Returned Error Types:
7909//   * ResourceNotFoundException
7910//   The specified resource was not found.
7911//
7912//   * InvalidParametersException
7913//   One or more parameters provided to the operation are not valid.
7914//
7915// See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/UpdateConstraint
7916func (c *ServiceCatalog) UpdateConstraint(input *UpdateConstraintInput) (*UpdateConstraintOutput, error) {
7917	req, out := c.UpdateConstraintRequest(input)
7918	return out, req.Send()
7919}
7920
7921// UpdateConstraintWithContext is the same as UpdateConstraint with the addition of
7922// the ability to pass a context and additional request options.
7923//
7924// See UpdateConstraint for details on how to use this API operation.
7925//
7926// The context must be non-nil and will be used for request cancellation. If
7927// the context is nil a panic will occur. In the future the SDK may create
7928// sub-contexts for http.Requests. See https://golang.org/pkg/context/
7929// for more information on using Contexts.
7930func (c *ServiceCatalog) UpdateConstraintWithContext(ctx aws.Context, input *UpdateConstraintInput, opts ...request.Option) (*UpdateConstraintOutput, error) {
7931	req, out := c.UpdateConstraintRequest(input)
7932	req.SetContext(ctx)
7933	req.ApplyOptions(opts...)
7934	return out, req.Send()
7935}
7936
7937const opUpdatePortfolio = "UpdatePortfolio"
7938
7939// UpdatePortfolioRequest generates a "aws/request.Request" representing the
7940// client's request for the UpdatePortfolio operation. The "output" return
7941// value will be populated with the request's response once the request completes
7942// successfully.
7943//
7944// Use "Send" method on the returned Request to send the API call to the service.
7945// the "output" return value is not valid until after Send returns without error.
7946//
7947// See UpdatePortfolio for more information on using the UpdatePortfolio
7948// API call, and error handling.
7949//
7950// This method is useful when you want to inject custom logic or configuration
7951// into the SDK's request lifecycle. Such as custom headers, or retry logic.
7952//
7953//
7954//    // Example sending a request using the UpdatePortfolioRequest method.
7955//    req, resp := client.UpdatePortfolioRequest(params)
7956//
7957//    err := req.Send()
7958//    if err == nil { // resp is now filled
7959//        fmt.Println(resp)
7960//    }
7961//
7962// See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/UpdatePortfolio
7963func (c *ServiceCatalog) UpdatePortfolioRequest(input *UpdatePortfolioInput) (req *request.Request, output *UpdatePortfolioOutput) {
7964	op := &request.Operation{
7965		Name:       opUpdatePortfolio,
7966		HTTPMethod: "POST",
7967		HTTPPath:   "/",
7968	}
7969
7970	if input == nil {
7971		input = &UpdatePortfolioInput{}
7972	}
7973
7974	output = &UpdatePortfolioOutput{}
7975	req = c.newRequest(op, input, output)
7976	return
7977}
7978
7979// UpdatePortfolio API operation for AWS Service Catalog.
7980//
7981// Updates the specified portfolio.
7982//
7983// You cannot update a product that was shared with you.
7984//
7985// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
7986// with awserr.Error's Code and Message methods to get detailed information about
7987// the error.
7988//
7989// See the AWS API reference guide for AWS Service Catalog's
7990// API operation UpdatePortfolio for usage and error information.
7991//
7992// Returned Error Types:
7993//   * InvalidParametersException
7994//   One or more parameters provided to the operation are not valid.
7995//
7996//   * ResourceNotFoundException
7997//   The specified resource was not found.
7998//
7999//   * LimitExceededException
8000//   The current limits of the service would have been exceeded by this operation.
8001//   Decrease your resource use or increase your service limits and retry the
8002//   operation.
8003//
8004//   * TagOptionNotMigratedException
8005//   An operation requiring TagOptions failed because the TagOptions migration
8006//   process has not been performed for this account. Please use the AWS console
8007//   to perform the migration process before retrying the operation.
8008//
8009// See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/UpdatePortfolio
8010func (c *ServiceCatalog) UpdatePortfolio(input *UpdatePortfolioInput) (*UpdatePortfolioOutput, error) {
8011	req, out := c.UpdatePortfolioRequest(input)
8012	return out, req.Send()
8013}
8014
8015// UpdatePortfolioWithContext is the same as UpdatePortfolio with the addition of
8016// the ability to pass a context and additional request options.
8017//
8018// See UpdatePortfolio for details on how to use this API operation.
8019//
8020// The context must be non-nil and will be used for request cancellation. If
8021// the context is nil a panic will occur. In the future the SDK may create
8022// sub-contexts for http.Requests. See https://golang.org/pkg/context/
8023// for more information on using Contexts.
8024func (c *ServiceCatalog) UpdatePortfolioWithContext(ctx aws.Context, input *UpdatePortfolioInput, opts ...request.Option) (*UpdatePortfolioOutput, error) {
8025	req, out := c.UpdatePortfolioRequest(input)
8026	req.SetContext(ctx)
8027	req.ApplyOptions(opts...)
8028	return out, req.Send()
8029}
8030
8031const opUpdatePortfolioShare = "UpdatePortfolioShare"
8032
8033// UpdatePortfolioShareRequest generates a "aws/request.Request" representing the
8034// client's request for the UpdatePortfolioShare operation. The "output" return
8035// value will be populated with the request's response once the request completes
8036// successfully.
8037//
8038// Use "Send" method on the returned Request to send the API call to the service.
8039// the "output" return value is not valid until after Send returns without error.
8040//
8041// See UpdatePortfolioShare for more information on using the UpdatePortfolioShare
8042// API call, and error handling.
8043//
8044// This method is useful when you want to inject custom logic or configuration
8045// into the SDK's request lifecycle. Such as custom headers, or retry logic.
8046//
8047//
8048//    // Example sending a request using the UpdatePortfolioShareRequest method.
8049//    req, resp := client.UpdatePortfolioShareRequest(params)
8050//
8051//    err := req.Send()
8052//    if err == nil { // resp is now filled
8053//        fmt.Println(resp)
8054//    }
8055//
8056// See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/UpdatePortfolioShare
8057func (c *ServiceCatalog) UpdatePortfolioShareRequest(input *UpdatePortfolioShareInput) (req *request.Request, output *UpdatePortfolioShareOutput) {
8058	op := &request.Operation{
8059		Name:       opUpdatePortfolioShare,
8060		HTTPMethod: "POST",
8061		HTTPPath:   "/",
8062	}
8063
8064	if input == nil {
8065		input = &UpdatePortfolioShareInput{}
8066	}
8067
8068	output = &UpdatePortfolioShareOutput{}
8069	req = c.newRequest(op, input, output)
8070	return
8071}
8072
8073// UpdatePortfolioShare API operation for AWS Service Catalog.
8074//
8075// Updates the specified portfolio share. You can use this API to enable or
8076// disable TagOptions sharing for an existing portfolio share.
8077//
8078// The portfolio share cannot be updated if the CreatePortfolioShare operation
8079// is IN_PROGRESS, as the share is not available to recipient entities. In this
8080// case, you must wait for the portfolio share to be COMPLETED.
8081//
8082// You must provide the accountId or organization node in the input, but not
8083// both.
8084//
8085// If the portfolio is shared to both an external account and an organization
8086// node, and both shares need to be updated, you must invoke UpdatePortfolioShare
8087// separately for each share type.
8088//
8089// This API cannot be used for removing the portfolio share. You must use DeletePortfolioShare
8090// API for that action.
8091//
8092// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
8093// with awserr.Error's Code and Message methods to get detailed information about
8094// the error.
8095//
8096// See the AWS API reference guide for AWS Service Catalog's
8097// API operation UpdatePortfolioShare for usage and error information.
8098//
8099// Returned Error Types:
8100//   * ResourceNotFoundException
8101//   The specified resource was not found.
8102//
8103//   * InvalidParametersException
8104//   One or more parameters provided to the operation are not valid.
8105//
8106//   * OperationNotSupportedException
8107//   The operation is not supported.
8108//
8109//   * InvalidStateException
8110//   An attempt was made to modify a resource that is in a state that is not valid.
8111//   Check your resources to ensure that they are in valid states before retrying
8112//   the operation.
8113//
8114// See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/UpdatePortfolioShare
8115func (c *ServiceCatalog) UpdatePortfolioShare(input *UpdatePortfolioShareInput) (*UpdatePortfolioShareOutput, error) {
8116	req, out := c.UpdatePortfolioShareRequest(input)
8117	return out, req.Send()
8118}
8119
8120// UpdatePortfolioShareWithContext is the same as UpdatePortfolioShare with the addition of
8121// the ability to pass a context and additional request options.
8122//
8123// See UpdatePortfolioShare for details on how to use this API operation.
8124//
8125// The context must be non-nil and will be used for request cancellation. If
8126// the context is nil a panic will occur. In the future the SDK may create
8127// sub-contexts for http.Requests. See https://golang.org/pkg/context/
8128// for more information on using Contexts.
8129func (c *ServiceCatalog) UpdatePortfolioShareWithContext(ctx aws.Context, input *UpdatePortfolioShareInput, opts ...request.Option) (*UpdatePortfolioShareOutput, error) {
8130	req, out := c.UpdatePortfolioShareRequest(input)
8131	req.SetContext(ctx)
8132	req.ApplyOptions(opts...)
8133	return out, req.Send()
8134}
8135
8136const opUpdateProduct = "UpdateProduct"
8137
8138// UpdateProductRequest generates a "aws/request.Request" representing the
8139// client's request for the UpdateProduct operation. The "output" return
8140// value will be populated with the request's response once the request completes
8141// successfully.
8142//
8143// Use "Send" method on the returned Request to send the API call to the service.
8144// the "output" return value is not valid until after Send returns without error.
8145//
8146// See UpdateProduct for more information on using the UpdateProduct
8147// API call, and error handling.
8148//
8149// This method is useful when you want to inject custom logic or configuration
8150// into the SDK's request lifecycle. Such as custom headers, or retry logic.
8151//
8152//
8153//    // Example sending a request using the UpdateProductRequest method.
8154//    req, resp := client.UpdateProductRequest(params)
8155//
8156//    err := req.Send()
8157//    if err == nil { // resp is now filled
8158//        fmt.Println(resp)
8159//    }
8160//
8161// See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/UpdateProduct
8162func (c *ServiceCatalog) UpdateProductRequest(input *UpdateProductInput) (req *request.Request, output *UpdateProductOutput) {
8163	op := &request.Operation{
8164		Name:       opUpdateProduct,
8165		HTTPMethod: "POST",
8166		HTTPPath:   "/",
8167	}
8168
8169	if input == nil {
8170		input = &UpdateProductInput{}
8171	}
8172
8173	output = &UpdateProductOutput{}
8174	req = c.newRequest(op, input, output)
8175	return
8176}
8177
8178// UpdateProduct API operation for AWS Service Catalog.
8179//
8180// Updates the specified product.
8181//
8182// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
8183// with awserr.Error's Code and Message methods to get detailed information about
8184// the error.
8185//
8186// See the AWS API reference guide for AWS Service Catalog's
8187// API operation UpdateProduct for usage and error information.
8188//
8189// Returned Error Types:
8190//   * ResourceNotFoundException
8191//   The specified resource was not found.
8192//
8193//   * InvalidParametersException
8194//   One or more parameters provided to the operation are not valid.
8195//
8196//   * TagOptionNotMigratedException
8197//   An operation requiring TagOptions failed because the TagOptions migration
8198//   process has not been performed for this account. Please use the AWS console
8199//   to perform the migration process before retrying the operation.
8200//
8201// See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/UpdateProduct
8202func (c *ServiceCatalog) UpdateProduct(input *UpdateProductInput) (*UpdateProductOutput, error) {
8203	req, out := c.UpdateProductRequest(input)
8204	return out, req.Send()
8205}
8206
8207// UpdateProductWithContext is the same as UpdateProduct with the addition of
8208// the ability to pass a context and additional request options.
8209//
8210// See UpdateProduct for details on how to use this API operation.
8211//
8212// The context must be non-nil and will be used for request cancellation. If
8213// the context is nil a panic will occur. In the future the SDK may create
8214// sub-contexts for http.Requests. See https://golang.org/pkg/context/
8215// for more information on using Contexts.
8216func (c *ServiceCatalog) UpdateProductWithContext(ctx aws.Context, input *UpdateProductInput, opts ...request.Option) (*UpdateProductOutput, error) {
8217	req, out := c.UpdateProductRequest(input)
8218	req.SetContext(ctx)
8219	req.ApplyOptions(opts...)
8220	return out, req.Send()
8221}
8222
8223const opUpdateProvisionedProduct = "UpdateProvisionedProduct"
8224
8225// UpdateProvisionedProductRequest generates a "aws/request.Request" representing the
8226// client's request for the UpdateProvisionedProduct operation. The "output" return
8227// value will be populated with the request's response once the request completes
8228// successfully.
8229//
8230// Use "Send" method on the returned Request to send the API call to the service.
8231// the "output" return value is not valid until after Send returns without error.
8232//
8233// See UpdateProvisionedProduct for more information on using the UpdateProvisionedProduct
8234// API call, and error handling.
8235//
8236// This method is useful when you want to inject custom logic or configuration
8237// into the SDK's request lifecycle. Such as custom headers, or retry logic.
8238//
8239//
8240//    // Example sending a request using the UpdateProvisionedProductRequest method.
8241//    req, resp := client.UpdateProvisionedProductRequest(params)
8242//
8243//    err := req.Send()
8244//    if err == nil { // resp is now filled
8245//        fmt.Println(resp)
8246//    }
8247//
8248// See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/UpdateProvisionedProduct
8249func (c *ServiceCatalog) UpdateProvisionedProductRequest(input *UpdateProvisionedProductInput) (req *request.Request, output *UpdateProvisionedProductOutput) {
8250	op := &request.Operation{
8251		Name:       opUpdateProvisionedProduct,
8252		HTTPMethod: "POST",
8253		HTTPPath:   "/",
8254	}
8255
8256	if input == nil {
8257		input = &UpdateProvisionedProductInput{}
8258	}
8259
8260	output = &UpdateProvisionedProductOutput{}
8261	req = c.newRequest(op, input, output)
8262	return
8263}
8264
8265// UpdateProvisionedProduct API operation for AWS Service Catalog.
8266//
8267// Requests updates to the configuration of the specified provisioned product.
8268//
8269// If there are tags associated with the object, they cannot be updated or added.
8270// Depending on the specific updates requested, this operation can update with
8271// no interruption, with some interruption, or replace the provisioned product
8272// entirely.
8273//
8274// You can check the status of this request using DescribeRecord.
8275//
8276// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
8277// with awserr.Error's Code and Message methods to get detailed information about
8278// the error.
8279//
8280// See the AWS API reference guide for AWS Service Catalog's
8281// API operation UpdateProvisionedProduct for usage and error information.
8282//
8283// Returned Error Types:
8284//   * InvalidParametersException
8285//   One or more parameters provided to the operation are not valid.
8286//
8287//   * ResourceNotFoundException
8288//   The specified resource was not found.
8289//
8290// See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/UpdateProvisionedProduct
8291func (c *ServiceCatalog) UpdateProvisionedProduct(input *UpdateProvisionedProductInput) (*UpdateProvisionedProductOutput, error) {
8292	req, out := c.UpdateProvisionedProductRequest(input)
8293	return out, req.Send()
8294}
8295
8296// UpdateProvisionedProductWithContext is the same as UpdateProvisionedProduct with the addition of
8297// the ability to pass a context and additional request options.
8298//
8299// See UpdateProvisionedProduct for details on how to use this API operation.
8300//
8301// The context must be non-nil and will be used for request cancellation. If
8302// the context is nil a panic will occur. In the future the SDK may create
8303// sub-contexts for http.Requests. See https://golang.org/pkg/context/
8304// for more information on using Contexts.
8305func (c *ServiceCatalog) UpdateProvisionedProductWithContext(ctx aws.Context, input *UpdateProvisionedProductInput, opts ...request.Option) (*UpdateProvisionedProductOutput, error) {
8306	req, out := c.UpdateProvisionedProductRequest(input)
8307	req.SetContext(ctx)
8308	req.ApplyOptions(opts...)
8309	return out, req.Send()
8310}
8311
8312const opUpdateProvisionedProductProperties = "UpdateProvisionedProductProperties"
8313
8314// UpdateProvisionedProductPropertiesRequest generates a "aws/request.Request" representing the
8315// client's request for the UpdateProvisionedProductProperties operation. The "output" return
8316// value will be populated with the request's response once the request completes
8317// successfully.
8318//
8319// Use "Send" method on the returned Request to send the API call to the service.
8320// the "output" return value is not valid until after Send returns without error.
8321//
8322// See UpdateProvisionedProductProperties for more information on using the UpdateProvisionedProductProperties
8323// API call, and error handling.
8324//
8325// This method is useful when you want to inject custom logic or configuration
8326// into the SDK's request lifecycle. Such as custom headers, or retry logic.
8327//
8328//
8329//    // Example sending a request using the UpdateProvisionedProductPropertiesRequest method.
8330//    req, resp := client.UpdateProvisionedProductPropertiesRequest(params)
8331//
8332//    err := req.Send()
8333//    if err == nil { // resp is now filled
8334//        fmt.Println(resp)
8335//    }
8336//
8337// See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/UpdateProvisionedProductProperties
8338func (c *ServiceCatalog) UpdateProvisionedProductPropertiesRequest(input *UpdateProvisionedProductPropertiesInput) (req *request.Request, output *UpdateProvisionedProductPropertiesOutput) {
8339	op := &request.Operation{
8340		Name:       opUpdateProvisionedProductProperties,
8341		HTTPMethod: "POST",
8342		HTTPPath:   "/",
8343	}
8344
8345	if input == nil {
8346		input = &UpdateProvisionedProductPropertiesInput{}
8347	}
8348
8349	output = &UpdateProvisionedProductPropertiesOutput{}
8350	req = c.newRequest(op, input, output)
8351	return
8352}
8353
8354// UpdateProvisionedProductProperties API operation for AWS Service Catalog.
8355//
8356// Requests updates to the properties of the specified provisioned product.
8357//
8358// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
8359// with awserr.Error's Code and Message methods to get detailed information about
8360// the error.
8361//
8362// See the AWS API reference guide for AWS Service Catalog's
8363// API operation UpdateProvisionedProductProperties for usage and error information.
8364//
8365// Returned Error Types:
8366//   * InvalidParametersException
8367//   One or more parameters provided to the operation are not valid.
8368//
8369//   * ResourceNotFoundException
8370//   The specified resource was not found.
8371//
8372//   * InvalidStateException
8373//   An attempt was made to modify a resource that is in a state that is not valid.
8374//   Check your resources to ensure that they are in valid states before retrying
8375//   the operation.
8376//
8377// See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/UpdateProvisionedProductProperties
8378func (c *ServiceCatalog) UpdateProvisionedProductProperties(input *UpdateProvisionedProductPropertiesInput) (*UpdateProvisionedProductPropertiesOutput, error) {
8379	req, out := c.UpdateProvisionedProductPropertiesRequest(input)
8380	return out, req.Send()
8381}
8382
8383// UpdateProvisionedProductPropertiesWithContext is the same as UpdateProvisionedProductProperties with the addition of
8384// the ability to pass a context and additional request options.
8385//
8386// See UpdateProvisionedProductProperties for details on how to use this API operation.
8387//
8388// The context must be non-nil and will be used for request cancellation. If
8389// the context is nil a panic will occur. In the future the SDK may create
8390// sub-contexts for http.Requests. See https://golang.org/pkg/context/
8391// for more information on using Contexts.
8392func (c *ServiceCatalog) UpdateProvisionedProductPropertiesWithContext(ctx aws.Context, input *UpdateProvisionedProductPropertiesInput, opts ...request.Option) (*UpdateProvisionedProductPropertiesOutput, error) {
8393	req, out := c.UpdateProvisionedProductPropertiesRequest(input)
8394	req.SetContext(ctx)
8395	req.ApplyOptions(opts...)
8396	return out, req.Send()
8397}
8398
8399const opUpdateProvisioningArtifact = "UpdateProvisioningArtifact"
8400
8401// UpdateProvisioningArtifactRequest generates a "aws/request.Request" representing the
8402// client's request for the UpdateProvisioningArtifact operation. The "output" return
8403// value will be populated with the request's response once the request completes
8404// successfully.
8405//
8406// Use "Send" method on the returned Request to send the API call to the service.
8407// the "output" return value is not valid until after Send returns without error.
8408//
8409// See UpdateProvisioningArtifact for more information on using the UpdateProvisioningArtifact
8410// API call, and error handling.
8411//
8412// This method is useful when you want to inject custom logic or configuration
8413// into the SDK's request lifecycle. Such as custom headers, or retry logic.
8414//
8415//
8416//    // Example sending a request using the UpdateProvisioningArtifactRequest method.
8417//    req, resp := client.UpdateProvisioningArtifactRequest(params)
8418//
8419//    err := req.Send()
8420//    if err == nil { // resp is now filled
8421//        fmt.Println(resp)
8422//    }
8423//
8424// See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/UpdateProvisioningArtifact
8425func (c *ServiceCatalog) UpdateProvisioningArtifactRequest(input *UpdateProvisioningArtifactInput) (req *request.Request, output *UpdateProvisioningArtifactOutput) {
8426	op := &request.Operation{
8427		Name:       opUpdateProvisioningArtifact,
8428		HTTPMethod: "POST",
8429		HTTPPath:   "/",
8430	}
8431
8432	if input == nil {
8433		input = &UpdateProvisioningArtifactInput{}
8434	}
8435
8436	output = &UpdateProvisioningArtifactOutput{}
8437	req = c.newRequest(op, input, output)
8438	return
8439}
8440
8441// UpdateProvisioningArtifact API operation for AWS Service Catalog.
8442//
8443// Updates the specified provisioning artifact (also known as a version) for
8444// the specified product.
8445//
8446// You cannot update a provisioning artifact for a product that was shared with
8447// you.
8448//
8449// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
8450// with awserr.Error's Code and Message methods to get detailed information about
8451// the error.
8452//
8453// See the AWS API reference guide for AWS Service Catalog's
8454// API operation UpdateProvisioningArtifact for usage and error information.
8455//
8456// Returned Error Types:
8457//   * ResourceNotFoundException
8458//   The specified resource was not found.
8459//
8460//   * InvalidParametersException
8461//   One or more parameters provided to the operation are not valid.
8462//
8463// See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/UpdateProvisioningArtifact
8464func (c *ServiceCatalog) UpdateProvisioningArtifact(input *UpdateProvisioningArtifactInput) (*UpdateProvisioningArtifactOutput, error) {
8465	req, out := c.UpdateProvisioningArtifactRequest(input)
8466	return out, req.Send()
8467}
8468
8469// UpdateProvisioningArtifactWithContext is the same as UpdateProvisioningArtifact with the addition of
8470// the ability to pass a context and additional request options.
8471//
8472// See UpdateProvisioningArtifact for details on how to use this API operation.
8473//
8474// The context must be non-nil and will be used for request cancellation. If
8475// the context is nil a panic will occur. In the future the SDK may create
8476// sub-contexts for http.Requests. See https://golang.org/pkg/context/
8477// for more information on using Contexts.
8478func (c *ServiceCatalog) UpdateProvisioningArtifactWithContext(ctx aws.Context, input *UpdateProvisioningArtifactInput, opts ...request.Option) (*UpdateProvisioningArtifactOutput, error) {
8479	req, out := c.UpdateProvisioningArtifactRequest(input)
8480	req.SetContext(ctx)
8481	req.ApplyOptions(opts...)
8482	return out, req.Send()
8483}
8484
8485const opUpdateServiceAction = "UpdateServiceAction"
8486
8487// UpdateServiceActionRequest generates a "aws/request.Request" representing the
8488// client's request for the UpdateServiceAction operation. The "output" return
8489// value will be populated with the request's response once the request completes
8490// successfully.
8491//
8492// Use "Send" method on the returned Request to send the API call to the service.
8493// the "output" return value is not valid until after Send returns without error.
8494//
8495// See UpdateServiceAction for more information on using the UpdateServiceAction
8496// API call, and error handling.
8497//
8498// This method is useful when you want to inject custom logic or configuration
8499// into the SDK's request lifecycle. Such as custom headers, or retry logic.
8500//
8501//
8502//    // Example sending a request using the UpdateServiceActionRequest method.
8503//    req, resp := client.UpdateServiceActionRequest(params)
8504//
8505//    err := req.Send()
8506//    if err == nil { // resp is now filled
8507//        fmt.Println(resp)
8508//    }
8509//
8510// See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/UpdateServiceAction
8511func (c *ServiceCatalog) UpdateServiceActionRequest(input *UpdateServiceActionInput) (req *request.Request, output *UpdateServiceActionOutput) {
8512	op := &request.Operation{
8513		Name:       opUpdateServiceAction,
8514		HTTPMethod: "POST",
8515		HTTPPath:   "/",
8516	}
8517
8518	if input == nil {
8519		input = &UpdateServiceActionInput{}
8520	}
8521
8522	output = &UpdateServiceActionOutput{}
8523	req = c.newRequest(op, input, output)
8524	return
8525}
8526
8527// UpdateServiceAction API operation for AWS Service Catalog.
8528//
8529// Updates a self-service action.
8530//
8531// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
8532// with awserr.Error's Code and Message methods to get detailed information about
8533// the error.
8534//
8535// See the AWS API reference guide for AWS Service Catalog's
8536// API operation UpdateServiceAction for usage and error information.
8537//
8538// Returned Error Types:
8539//   * ResourceNotFoundException
8540//   The specified resource was not found.
8541//
8542//   * InvalidParametersException
8543//   One or more parameters provided to the operation are not valid.
8544//
8545// See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/UpdateServiceAction
8546func (c *ServiceCatalog) UpdateServiceAction(input *UpdateServiceActionInput) (*UpdateServiceActionOutput, error) {
8547	req, out := c.UpdateServiceActionRequest(input)
8548	return out, req.Send()
8549}
8550
8551// UpdateServiceActionWithContext is the same as UpdateServiceAction with the addition of
8552// the ability to pass a context and additional request options.
8553//
8554// See UpdateServiceAction for details on how to use this API operation.
8555//
8556// The context must be non-nil and will be used for request cancellation. If
8557// the context is nil a panic will occur. In the future the SDK may create
8558// sub-contexts for http.Requests. See https://golang.org/pkg/context/
8559// for more information on using Contexts.
8560func (c *ServiceCatalog) UpdateServiceActionWithContext(ctx aws.Context, input *UpdateServiceActionInput, opts ...request.Option) (*UpdateServiceActionOutput, error) {
8561	req, out := c.UpdateServiceActionRequest(input)
8562	req.SetContext(ctx)
8563	req.ApplyOptions(opts...)
8564	return out, req.Send()
8565}
8566
8567const opUpdateTagOption = "UpdateTagOption"
8568
8569// UpdateTagOptionRequest generates a "aws/request.Request" representing the
8570// client's request for the UpdateTagOption operation. The "output" return
8571// value will be populated with the request's response once the request completes
8572// successfully.
8573//
8574// Use "Send" method on the returned Request to send the API call to the service.
8575// the "output" return value is not valid until after Send returns without error.
8576//
8577// See UpdateTagOption for more information on using the UpdateTagOption
8578// API call, and error handling.
8579//
8580// This method is useful when you want to inject custom logic or configuration
8581// into the SDK's request lifecycle. Such as custom headers, or retry logic.
8582//
8583//
8584//    // Example sending a request using the UpdateTagOptionRequest method.
8585//    req, resp := client.UpdateTagOptionRequest(params)
8586//
8587//    err := req.Send()
8588//    if err == nil { // resp is now filled
8589//        fmt.Println(resp)
8590//    }
8591//
8592// See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/UpdateTagOption
8593func (c *ServiceCatalog) UpdateTagOptionRequest(input *UpdateTagOptionInput) (req *request.Request, output *UpdateTagOptionOutput) {
8594	op := &request.Operation{
8595		Name:       opUpdateTagOption,
8596		HTTPMethod: "POST",
8597		HTTPPath:   "/",
8598	}
8599
8600	if input == nil {
8601		input = &UpdateTagOptionInput{}
8602	}
8603
8604	output = &UpdateTagOptionOutput{}
8605	req = c.newRequest(op, input, output)
8606	return
8607}
8608
8609// UpdateTagOption API operation for AWS Service Catalog.
8610//
8611// Updates the specified TagOption.
8612//
8613// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
8614// with awserr.Error's Code and Message methods to get detailed information about
8615// the error.
8616//
8617// See the AWS API reference guide for AWS Service Catalog's
8618// API operation UpdateTagOption for usage and error information.
8619//
8620// Returned Error Types:
8621//   * TagOptionNotMigratedException
8622//   An operation requiring TagOptions failed because the TagOptions migration
8623//   process has not been performed for this account. Please use the AWS console
8624//   to perform the migration process before retrying the operation.
8625//
8626//   * ResourceNotFoundException
8627//   The specified resource was not found.
8628//
8629//   * DuplicateResourceException
8630//   The specified resource is a duplicate.
8631//
8632//   * InvalidParametersException
8633//   One or more parameters provided to the operation are not valid.
8634//
8635// See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/UpdateTagOption
8636func (c *ServiceCatalog) UpdateTagOption(input *UpdateTagOptionInput) (*UpdateTagOptionOutput, error) {
8637	req, out := c.UpdateTagOptionRequest(input)
8638	return out, req.Send()
8639}
8640
8641// UpdateTagOptionWithContext is the same as UpdateTagOption with the addition of
8642// the ability to pass a context and additional request options.
8643//
8644// See UpdateTagOption for details on how to use this API operation.
8645//
8646// The context must be non-nil and will be used for request cancellation. If
8647// the context is nil a panic will occur. In the future the SDK may create
8648// sub-contexts for http.Requests. See https://golang.org/pkg/context/
8649// for more information on using Contexts.
8650func (c *ServiceCatalog) UpdateTagOptionWithContext(ctx aws.Context, input *UpdateTagOptionInput, opts ...request.Option) (*UpdateTagOptionOutput, error) {
8651	req, out := c.UpdateTagOptionRequest(input)
8652	req.SetContext(ctx)
8653	req.ApplyOptions(opts...)
8654	return out, req.Send()
8655}
8656
8657type AcceptPortfolioShareInput struct {
8658	_ struct{} `type:"structure"`
8659
8660	// The language code.
8661	//
8662	//    * en - English (default)
8663	//
8664	//    * jp - Japanese
8665	//
8666	//    * zh - Chinese
8667	AcceptLanguage *string `type:"string"`
8668
8669	// The portfolio identifier.
8670	//
8671	// PortfolioId is a required field
8672	PortfolioId *string `min:"1" type:"string" required:"true"`
8673
8674	// The type of shared portfolios to accept. The default is to accept imported
8675	// portfolios.
8676	//
8677	//    * AWS_ORGANIZATIONS - Accept portfolios shared by the management account
8678	//    of your organization.
8679	//
8680	//    * IMPORTED - Accept imported portfolios.
8681	//
8682	//    * AWS_SERVICECATALOG - Not supported. (Throws ResourceNotFoundException.)
8683	//
8684	// For example, aws servicecatalog accept-portfolio-share --portfolio-id "port-2qwzkwxt3y5fk"
8685	// --portfolio-share-type AWS_ORGANIZATIONS
8686	PortfolioShareType *string `type:"string" enum:"PortfolioShareType"`
8687}
8688
8689// String returns the string representation.
8690//
8691// API parameter values that are decorated as "sensitive" in the API will not
8692// be included in the string output. The member name will be present, but the
8693// value will be replaced with "sensitive".
8694func (s AcceptPortfolioShareInput) String() string {
8695	return awsutil.Prettify(s)
8696}
8697
8698// GoString returns the string representation.
8699//
8700// API parameter values that are decorated as "sensitive" in the API will not
8701// be included in the string output. The member name will be present, but the
8702// value will be replaced with "sensitive".
8703func (s AcceptPortfolioShareInput) GoString() string {
8704	return s.String()
8705}
8706
8707// Validate inspects the fields of the type to determine if they are valid.
8708func (s *AcceptPortfolioShareInput) Validate() error {
8709	invalidParams := request.ErrInvalidParams{Context: "AcceptPortfolioShareInput"}
8710	if s.PortfolioId == nil {
8711		invalidParams.Add(request.NewErrParamRequired("PortfolioId"))
8712	}
8713	if s.PortfolioId != nil && len(*s.PortfolioId) < 1 {
8714		invalidParams.Add(request.NewErrParamMinLen("PortfolioId", 1))
8715	}
8716
8717	if invalidParams.Len() > 0 {
8718		return invalidParams
8719	}
8720	return nil
8721}
8722
8723// SetAcceptLanguage sets the AcceptLanguage field's value.
8724func (s *AcceptPortfolioShareInput) SetAcceptLanguage(v string) *AcceptPortfolioShareInput {
8725	s.AcceptLanguage = &v
8726	return s
8727}
8728
8729// SetPortfolioId sets the PortfolioId field's value.
8730func (s *AcceptPortfolioShareInput) SetPortfolioId(v string) *AcceptPortfolioShareInput {
8731	s.PortfolioId = &v
8732	return s
8733}
8734
8735// SetPortfolioShareType sets the PortfolioShareType field's value.
8736func (s *AcceptPortfolioShareInput) SetPortfolioShareType(v string) *AcceptPortfolioShareInput {
8737	s.PortfolioShareType = &v
8738	return s
8739}
8740
8741type AcceptPortfolioShareOutput struct {
8742	_ struct{} `type:"structure"`
8743}
8744
8745// String returns the string representation.
8746//
8747// API parameter values that are decorated as "sensitive" in the API will not
8748// be included in the string output. The member name will be present, but the
8749// value will be replaced with "sensitive".
8750func (s AcceptPortfolioShareOutput) String() string {
8751	return awsutil.Prettify(s)
8752}
8753
8754// GoString returns the string representation.
8755//
8756// API parameter values that are decorated as "sensitive" in the API will not
8757// be included in the string output. The member name will be present, but the
8758// value will be replaced with "sensitive".
8759func (s AcceptPortfolioShareOutput) GoString() string {
8760	return s.String()
8761}
8762
8763// The access level to use to filter results.
8764type AccessLevelFilter struct {
8765	_ struct{} `type:"structure"`
8766
8767	// The access level.
8768	//
8769	//    * Account - Filter results based on the account.
8770	//
8771	//    * Role - Filter results based on the federated role of the specified user.
8772	//
8773	//    * User - Filter results based on the specified user.
8774	Key *string `type:"string" enum:"AccessLevelFilterKey"`
8775
8776	// The user to which the access level applies. The only supported value is Self.
8777	Value *string `type:"string"`
8778}
8779
8780// String returns the string representation.
8781//
8782// API parameter values that are decorated as "sensitive" in the API will not
8783// be included in the string output. The member name will be present, but the
8784// value will be replaced with "sensitive".
8785func (s AccessLevelFilter) String() string {
8786	return awsutil.Prettify(s)
8787}
8788
8789// GoString returns the string representation.
8790//
8791// API parameter values that are decorated as "sensitive" in the API will not
8792// be included in the string output. The member name will be present, but the
8793// value will be replaced with "sensitive".
8794func (s AccessLevelFilter) GoString() string {
8795	return s.String()
8796}
8797
8798// SetKey sets the Key field's value.
8799func (s *AccessLevelFilter) SetKey(v string) *AccessLevelFilter {
8800	s.Key = &v
8801	return s
8802}
8803
8804// SetValue sets the Value field's value.
8805func (s *AccessLevelFilter) SetValue(v string) *AccessLevelFilter {
8806	s.Value = &v
8807	return s
8808}
8809
8810type AssociateBudgetWithResourceInput struct {
8811	_ struct{} `type:"structure"`
8812
8813	// The name of the budget you want to associate.
8814	//
8815	// BudgetName is a required field
8816	BudgetName *string `min:"1" type:"string" required:"true"`
8817
8818	// The resource identifier. Either a portfolio-id or a product-id.
8819	//
8820	// ResourceId is a required field
8821	ResourceId *string `min:"1" type:"string" required:"true"`
8822}
8823
8824// String returns the string representation.
8825//
8826// API parameter values that are decorated as "sensitive" in the API will not
8827// be included in the string output. The member name will be present, but the
8828// value will be replaced with "sensitive".
8829func (s AssociateBudgetWithResourceInput) String() string {
8830	return awsutil.Prettify(s)
8831}
8832
8833// GoString returns the string representation.
8834//
8835// API parameter values that are decorated as "sensitive" in the API will not
8836// be included in the string output. The member name will be present, but the
8837// value will be replaced with "sensitive".
8838func (s AssociateBudgetWithResourceInput) GoString() string {
8839	return s.String()
8840}
8841
8842// Validate inspects the fields of the type to determine if they are valid.
8843func (s *AssociateBudgetWithResourceInput) Validate() error {
8844	invalidParams := request.ErrInvalidParams{Context: "AssociateBudgetWithResourceInput"}
8845	if s.BudgetName == nil {
8846		invalidParams.Add(request.NewErrParamRequired("BudgetName"))
8847	}
8848	if s.BudgetName != nil && len(*s.BudgetName) < 1 {
8849		invalidParams.Add(request.NewErrParamMinLen("BudgetName", 1))
8850	}
8851	if s.ResourceId == nil {
8852		invalidParams.Add(request.NewErrParamRequired("ResourceId"))
8853	}
8854	if s.ResourceId != nil && len(*s.ResourceId) < 1 {
8855		invalidParams.Add(request.NewErrParamMinLen("ResourceId", 1))
8856	}
8857
8858	if invalidParams.Len() > 0 {
8859		return invalidParams
8860	}
8861	return nil
8862}
8863
8864// SetBudgetName sets the BudgetName field's value.
8865func (s *AssociateBudgetWithResourceInput) SetBudgetName(v string) *AssociateBudgetWithResourceInput {
8866	s.BudgetName = &v
8867	return s
8868}
8869
8870// SetResourceId sets the ResourceId field's value.
8871func (s *AssociateBudgetWithResourceInput) SetResourceId(v string) *AssociateBudgetWithResourceInput {
8872	s.ResourceId = &v
8873	return s
8874}
8875
8876type AssociateBudgetWithResourceOutput struct {
8877	_ struct{} `type:"structure"`
8878}
8879
8880// String returns the string representation.
8881//
8882// API parameter values that are decorated as "sensitive" in the API will not
8883// be included in the string output. The member name will be present, but the
8884// value will be replaced with "sensitive".
8885func (s AssociateBudgetWithResourceOutput) String() string {
8886	return awsutil.Prettify(s)
8887}
8888
8889// GoString returns the string representation.
8890//
8891// API parameter values that are decorated as "sensitive" in the API will not
8892// be included in the string output. The member name will be present, but the
8893// value will be replaced with "sensitive".
8894func (s AssociateBudgetWithResourceOutput) GoString() string {
8895	return s.String()
8896}
8897
8898type AssociatePrincipalWithPortfolioInput struct {
8899	_ struct{} `type:"structure"`
8900
8901	// The language code.
8902	//
8903	//    * en - English (default)
8904	//
8905	//    * jp - Japanese
8906	//
8907	//    * zh - Chinese
8908	AcceptLanguage *string `type:"string"`
8909
8910	// The portfolio identifier.
8911	//
8912	// PortfolioId is a required field
8913	PortfolioId *string `min:"1" type:"string" required:"true"`
8914
8915	// The ARN of the principal (IAM user, role, or group).
8916	//
8917	// PrincipalARN is a required field
8918	PrincipalARN *string `min:"1" type:"string" required:"true"`
8919
8920	// The principal type. The supported value is IAM.
8921	//
8922	// PrincipalType is a required field
8923	PrincipalType *string `type:"string" required:"true" enum:"PrincipalType"`
8924}
8925
8926// String returns the string representation.
8927//
8928// API parameter values that are decorated as "sensitive" in the API will not
8929// be included in the string output. The member name will be present, but the
8930// value will be replaced with "sensitive".
8931func (s AssociatePrincipalWithPortfolioInput) String() string {
8932	return awsutil.Prettify(s)
8933}
8934
8935// GoString returns the string representation.
8936//
8937// API parameter values that are decorated as "sensitive" in the API will not
8938// be included in the string output. The member name will be present, but the
8939// value will be replaced with "sensitive".
8940func (s AssociatePrincipalWithPortfolioInput) GoString() string {
8941	return s.String()
8942}
8943
8944// Validate inspects the fields of the type to determine if they are valid.
8945func (s *AssociatePrincipalWithPortfolioInput) Validate() error {
8946	invalidParams := request.ErrInvalidParams{Context: "AssociatePrincipalWithPortfolioInput"}
8947	if s.PortfolioId == nil {
8948		invalidParams.Add(request.NewErrParamRequired("PortfolioId"))
8949	}
8950	if s.PortfolioId != nil && len(*s.PortfolioId) < 1 {
8951		invalidParams.Add(request.NewErrParamMinLen("PortfolioId", 1))
8952	}
8953	if s.PrincipalARN == nil {
8954		invalidParams.Add(request.NewErrParamRequired("PrincipalARN"))
8955	}
8956	if s.PrincipalARN != nil && len(*s.PrincipalARN) < 1 {
8957		invalidParams.Add(request.NewErrParamMinLen("PrincipalARN", 1))
8958	}
8959	if s.PrincipalType == nil {
8960		invalidParams.Add(request.NewErrParamRequired("PrincipalType"))
8961	}
8962
8963	if invalidParams.Len() > 0 {
8964		return invalidParams
8965	}
8966	return nil
8967}
8968
8969// SetAcceptLanguage sets the AcceptLanguage field's value.
8970func (s *AssociatePrincipalWithPortfolioInput) SetAcceptLanguage(v string) *AssociatePrincipalWithPortfolioInput {
8971	s.AcceptLanguage = &v
8972	return s
8973}
8974
8975// SetPortfolioId sets the PortfolioId field's value.
8976func (s *AssociatePrincipalWithPortfolioInput) SetPortfolioId(v string) *AssociatePrincipalWithPortfolioInput {
8977	s.PortfolioId = &v
8978	return s
8979}
8980
8981// SetPrincipalARN sets the PrincipalARN field's value.
8982func (s *AssociatePrincipalWithPortfolioInput) SetPrincipalARN(v string) *AssociatePrincipalWithPortfolioInput {
8983	s.PrincipalARN = &v
8984	return s
8985}
8986
8987// SetPrincipalType sets the PrincipalType field's value.
8988func (s *AssociatePrincipalWithPortfolioInput) SetPrincipalType(v string) *AssociatePrincipalWithPortfolioInput {
8989	s.PrincipalType = &v
8990	return s
8991}
8992
8993type AssociatePrincipalWithPortfolioOutput struct {
8994	_ struct{} `type:"structure"`
8995}
8996
8997// String returns the string representation.
8998//
8999// API parameter values that are decorated as "sensitive" in the API will not
9000// be included in the string output. The member name will be present, but the
9001// value will be replaced with "sensitive".
9002func (s AssociatePrincipalWithPortfolioOutput) String() string {
9003	return awsutil.Prettify(s)
9004}
9005
9006// GoString returns the string representation.
9007//
9008// API parameter values that are decorated as "sensitive" in the API will not
9009// be included in the string output. The member name will be present, but the
9010// value will be replaced with "sensitive".
9011func (s AssociatePrincipalWithPortfolioOutput) GoString() string {
9012	return s.String()
9013}
9014
9015type AssociateProductWithPortfolioInput struct {
9016	_ struct{} `type:"structure"`
9017
9018	// The language code.
9019	//
9020	//    * en - English (default)
9021	//
9022	//    * jp - Japanese
9023	//
9024	//    * zh - Chinese
9025	AcceptLanguage *string `type:"string"`
9026
9027	// The portfolio identifier.
9028	//
9029	// PortfolioId is a required field
9030	PortfolioId *string `min:"1" type:"string" required:"true"`
9031
9032	// The product identifier.
9033	//
9034	// ProductId is a required field
9035	ProductId *string `min:"1" type:"string" required:"true"`
9036
9037	// The identifier of the source portfolio.
9038	SourcePortfolioId *string `min:"1" type:"string"`
9039}
9040
9041// String returns the string representation.
9042//
9043// API parameter values that are decorated as "sensitive" in the API will not
9044// be included in the string output. The member name will be present, but the
9045// value will be replaced with "sensitive".
9046func (s AssociateProductWithPortfolioInput) String() string {
9047	return awsutil.Prettify(s)
9048}
9049
9050// GoString returns the string representation.
9051//
9052// API parameter values that are decorated as "sensitive" in the API will not
9053// be included in the string output. The member name will be present, but the
9054// value will be replaced with "sensitive".
9055func (s AssociateProductWithPortfolioInput) GoString() string {
9056	return s.String()
9057}
9058
9059// Validate inspects the fields of the type to determine if they are valid.
9060func (s *AssociateProductWithPortfolioInput) Validate() error {
9061	invalidParams := request.ErrInvalidParams{Context: "AssociateProductWithPortfolioInput"}
9062	if s.PortfolioId == nil {
9063		invalidParams.Add(request.NewErrParamRequired("PortfolioId"))
9064	}
9065	if s.PortfolioId != nil && len(*s.PortfolioId) < 1 {
9066		invalidParams.Add(request.NewErrParamMinLen("PortfolioId", 1))
9067	}
9068	if s.ProductId == nil {
9069		invalidParams.Add(request.NewErrParamRequired("ProductId"))
9070	}
9071	if s.ProductId != nil && len(*s.ProductId) < 1 {
9072		invalidParams.Add(request.NewErrParamMinLen("ProductId", 1))
9073	}
9074	if s.SourcePortfolioId != nil && len(*s.SourcePortfolioId) < 1 {
9075		invalidParams.Add(request.NewErrParamMinLen("SourcePortfolioId", 1))
9076	}
9077
9078	if invalidParams.Len() > 0 {
9079		return invalidParams
9080	}
9081	return nil
9082}
9083
9084// SetAcceptLanguage sets the AcceptLanguage field's value.
9085func (s *AssociateProductWithPortfolioInput) SetAcceptLanguage(v string) *AssociateProductWithPortfolioInput {
9086	s.AcceptLanguage = &v
9087	return s
9088}
9089
9090// SetPortfolioId sets the PortfolioId field's value.
9091func (s *AssociateProductWithPortfolioInput) SetPortfolioId(v string) *AssociateProductWithPortfolioInput {
9092	s.PortfolioId = &v
9093	return s
9094}
9095
9096// SetProductId sets the ProductId field's value.
9097func (s *AssociateProductWithPortfolioInput) SetProductId(v string) *AssociateProductWithPortfolioInput {
9098	s.ProductId = &v
9099	return s
9100}
9101
9102// SetSourcePortfolioId sets the SourcePortfolioId field's value.
9103func (s *AssociateProductWithPortfolioInput) SetSourcePortfolioId(v string) *AssociateProductWithPortfolioInput {
9104	s.SourcePortfolioId = &v
9105	return s
9106}
9107
9108type AssociateProductWithPortfolioOutput struct {
9109	_ struct{} `type:"structure"`
9110}
9111
9112// String returns the string representation.
9113//
9114// API parameter values that are decorated as "sensitive" in the API will not
9115// be included in the string output. The member name will be present, but the
9116// value will be replaced with "sensitive".
9117func (s AssociateProductWithPortfolioOutput) String() string {
9118	return awsutil.Prettify(s)
9119}
9120
9121// GoString returns the string representation.
9122//
9123// API parameter values that are decorated as "sensitive" in the API will not
9124// be included in the string output. The member name will be present, but the
9125// value will be replaced with "sensitive".
9126func (s AssociateProductWithPortfolioOutput) GoString() string {
9127	return s.String()
9128}
9129
9130type AssociateServiceActionWithProvisioningArtifactInput struct {
9131	_ struct{} `type:"structure"`
9132
9133	// The language code.
9134	//
9135	//    * en - English (default)
9136	//
9137	//    * jp - Japanese
9138	//
9139	//    * zh - Chinese
9140	AcceptLanguage *string `type:"string"`
9141
9142	// The product identifier. For example, prod-abcdzk7xy33qa.
9143	//
9144	// ProductId is a required field
9145	ProductId *string `min:"1" type:"string" required:"true"`
9146
9147	// The identifier of the provisioning artifact. For example, pa-4abcdjnxjj6ne.
9148	//
9149	// ProvisioningArtifactId is a required field
9150	ProvisioningArtifactId *string `min:"1" type:"string" required:"true"`
9151
9152	// The self-service action identifier. For example, act-fs7abcd89wxyz.
9153	//
9154	// ServiceActionId is a required field
9155	ServiceActionId *string `min:"1" type:"string" required:"true"`
9156}
9157
9158// String returns the string representation.
9159//
9160// API parameter values that are decorated as "sensitive" in the API will not
9161// be included in the string output. The member name will be present, but the
9162// value will be replaced with "sensitive".
9163func (s AssociateServiceActionWithProvisioningArtifactInput) String() string {
9164	return awsutil.Prettify(s)
9165}
9166
9167// GoString returns the string representation.
9168//
9169// API parameter values that are decorated as "sensitive" in the API will not
9170// be included in the string output. The member name will be present, but the
9171// value will be replaced with "sensitive".
9172func (s AssociateServiceActionWithProvisioningArtifactInput) GoString() string {
9173	return s.String()
9174}
9175
9176// Validate inspects the fields of the type to determine if they are valid.
9177func (s *AssociateServiceActionWithProvisioningArtifactInput) Validate() error {
9178	invalidParams := request.ErrInvalidParams{Context: "AssociateServiceActionWithProvisioningArtifactInput"}
9179	if s.ProductId == nil {
9180		invalidParams.Add(request.NewErrParamRequired("ProductId"))
9181	}
9182	if s.ProductId != nil && len(*s.ProductId) < 1 {
9183		invalidParams.Add(request.NewErrParamMinLen("ProductId", 1))
9184	}
9185	if s.ProvisioningArtifactId == nil {
9186		invalidParams.Add(request.NewErrParamRequired("ProvisioningArtifactId"))
9187	}
9188	if s.ProvisioningArtifactId != nil && len(*s.ProvisioningArtifactId) < 1 {
9189		invalidParams.Add(request.NewErrParamMinLen("ProvisioningArtifactId", 1))
9190	}
9191	if s.ServiceActionId == nil {
9192		invalidParams.Add(request.NewErrParamRequired("ServiceActionId"))
9193	}
9194	if s.ServiceActionId != nil && len(*s.ServiceActionId) < 1 {
9195		invalidParams.Add(request.NewErrParamMinLen("ServiceActionId", 1))
9196	}
9197
9198	if invalidParams.Len() > 0 {
9199		return invalidParams
9200	}
9201	return nil
9202}
9203
9204// SetAcceptLanguage sets the AcceptLanguage field's value.
9205func (s *AssociateServiceActionWithProvisioningArtifactInput) SetAcceptLanguage(v string) *AssociateServiceActionWithProvisioningArtifactInput {
9206	s.AcceptLanguage = &v
9207	return s
9208}
9209
9210// SetProductId sets the ProductId field's value.
9211func (s *AssociateServiceActionWithProvisioningArtifactInput) SetProductId(v string) *AssociateServiceActionWithProvisioningArtifactInput {
9212	s.ProductId = &v
9213	return s
9214}
9215
9216// SetProvisioningArtifactId sets the ProvisioningArtifactId field's value.
9217func (s *AssociateServiceActionWithProvisioningArtifactInput) SetProvisioningArtifactId(v string) *AssociateServiceActionWithProvisioningArtifactInput {
9218	s.ProvisioningArtifactId = &v
9219	return s
9220}
9221
9222// SetServiceActionId sets the ServiceActionId field's value.
9223func (s *AssociateServiceActionWithProvisioningArtifactInput) SetServiceActionId(v string) *AssociateServiceActionWithProvisioningArtifactInput {
9224	s.ServiceActionId = &v
9225	return s
9226}
9227
9228type AssociateServiceActionWithProvisioningArtifactOutput struct {
9229	_ struct{} `type:"structure"`
9230}
9231
9232// String returns the string representation.
9233//
9234// API parameter values that are decorated as "sensitive" in the API will not
9235// be included in the string output. The member name will be present, but the
9236// value will be replaced with "sensitive".
9237func (s AssociateServiceActionWithProvisioningArtifactOutput) String() string {
9238	return awsutil.Prettify(s)
9239}
9240
9241// GoString returns the string representation.
9242//
9243// API parameter values that are decorated as "sensitive" in the API will not
9244// be included in the string output. The member name will be present, but the
9245// value will be replaced with "sensitive".
9246func (s AssociateServiceActionWithProvisioningArtifactOutput) GoString() string {
9247	return s.String()
9248}
9249
9250type AssociateTagOptionWithResourceInput struct {
9251	_ struct{} `type:"structure"`
9252
9253	// The resource identifier.
9254	//
9255	// ResourceId is a required field
9256	ResourceId *string `type:"string" required:"true"`
9257
9258	// The TagOption identifier.
9259	//
9260	// TagOptionId is a required field
9261	TagOptionId *string `min:"1" type:"string" required:"true"`
9262}
9263
9264// String returns the string representation.
9265//
9266// API parameter values that are decorated as "sensitive" in the API will not
9267// be included in the string output. The member name will be present, but the
9268// value will be replaced with "sensitive".
9269func (s AssociateTagOptionWithResourceInput) String() string {
9270	return awsutil.Prettify(s)
9271}
9272
9273// GoString returns the string representation.
9274//
9275// API parameter values that are decorated as "sensitive" in the API will not
9276// be included in the string output. The member name will be present, but the
9277// value will be replaced with "sensitive".
9278func (s AssociateTagOptionWithResourceInput) GoString() string {
9279	return s.String()
9280}
9281
9282// Validate inspects the fields of the type to determine if they are valid.
9283func (s *AssociateTagOptionWithResourceInput) Validate() error {
9284	invalidParams := request.ErrInvalidParams{Context: "AssociateTagOptionWithResourceInput"}
9285	if s.ResourceId == nil {
9286		invalidParams.Add(request.NewErrParamRequired("ResourceId"))
9287	}
9288	if s.TagOptionId == nil {
9289		invalidParams.Add(request.NewErrParamRequired("TagOptionId"))
9290	}
9291	if s.TagOptionId != nil && len(*s.TagOptionId) < 1 {
9292		invalidParams.Add(request.NewErrParamMinLen("TagOptionId", 1))
9293	}
9294
9295	if invalidParams.Len() > 0 {
9296		return invalidParams
9297	}
9298	return nil
9299}
9300
9301// SetResourceId sets the ResourceId field's value.
9302func (s *AssociateTagOptionWithResourceInput) SetResourceId(v string) *AssociateTagOptionWithResourceInput {
9303	s.ResourceId = &v
9304	return s
9305}
9306
9307// SetTagOptionId sets the TagOptionId field's value.
9308func (s *AssociateTagOptionWithResourceInput) SetTagOptionId(v string) *AssociateTagOptionWithResourceInput {
9309	s.TagOptionId = &v
9310	return s
9311}
9312
9313type AssociateTagOptionWithResourceOutput struct {
9314	_ struct{} `type:"structure"`
9315}
9316
9317// String returns the string representation.
9318//
9319// API parameter values that are decorated as "sensitive" in the API will not
9320// be included in the string output. The member name will be present, but the
9321// value will be replaced with "sensitive".
9322func (s AssociateTagOptionWithResourceOutput) String() string {
9323	return awsutil.Prettify(s)
9324}
9325
9326// GoString returns the string representation.
9327//
9328// API parameter values that are decorated as "sensitive" in the API will not
9329// be included in the string output. The member name will be present, but the
9330// value will be replaced with "sensitive".
9331func (s AssociateTagOptionWithResourceOutput) GoString() string {
9332	return s.String()
9333}
9334
9335type BatchAssociateServiceActionWithProvisioningArtifactInput struct {
9336	_ struct{} `type:"structure"`
9337
9338	// The language code.
9339	//
9340	//    * en - English (default)
9341	//
9342	//    * jp - Japanese
9343	//
9344	//    * zh - Chinese
9345	AcceptLanguage *string `type:"string"`
9346
9347	// One or more associations, each consisting of the Action ID, the Product ID,
9348	// and the Provisioning Artifact ID.
9349	//
9350	// ServiceActionAssociations is a required field
9351	ServiceActionAssociations []*ServiceActionAssociation `min:"1" type:"list" required:"true"`
9352}
9353
9354// String returns the string representation.
9355//
9356// API parameter values that are decorated as "sensitive" in the API will not
9357// be included in the string output. The member name will be present, but the
9358// value will be replaced with "sensitive".
9359func (s BatchAssociateServiceActionWithProvisioningArtifactInput) String() string {
9360	return awsutil.Prettify(s)
9361}
9362
9363// GoString returns the string representation.
9364//
9365// API parameter values that are decorated as "sensitive" in the API will not
9366// be included in the string output. The member name will be present, but the
9367// value will be replaced with "sensitive".
9368func (s BatchAssociateServiceActionWithProvisioningArtifactInput) GoString() string {
9369	return s.String()
9370}
9371
9372// Validate inspects the fields of the type to determine if they are valid.
9373func (s *BatchAssociateServiceActionWithProvisioningArtifactInput) Validate() error {
9374	invalidParams := request.ErrInvalidParams{Context: "BatchAssociateServiceActionWithProvisioningArtifactInput"}
9375	if s.ServiceActionAssociations == nil {
9376		invalidParams.Add(request.NewErrParamRequired("ServiceActionAssociations"))
9377	}
9378	if s.ServiceActionAssociations != nil && len(s.ServiceActionAssociations) < 1 {
9379		invalidParams.Add(request.NewErrParamMinLen("ServiceActionAssociations", 1))
9380	}
9381	if s.ServiceActionAssociations != nil {
9382		for i, v := range s.ServiceActionAssociations {
9383			if v == nil {
9384				continue
9385			}
9386			if err := v.Validate(); err != nil {
9387				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "ServiceActionAssociations", i), err.(request.ErrInvalidParams))
9388			}
9389		}
9390	}
9391
9392	if invalidParams.Len() > 0 {
9393		return invalidParams
9394	}
9395	return nil
9396}
9397
9398// SetAcceptLanguage sets the AcceptLanguage field's value.
9399func (s *BatchAssociateServiceActionWithProvisioningArtifactInput) SetAcceptLanguage(v string) *BatchAssociateServiceActionWithProvisioningArtifactInput {
9400	s.AcceptLanguage = &v
9401	return s
9402}
9403
9404// SetServiceActionAssociations sets the ServiceActionAssociations field's value.
9405func (s *BatchAssociateServiceActionWithProvisioningArtifactInput) SetServiceActionAssociations(v []*ServiceActionAssociation) *BatchAssociateServiceActionWithProvisioningArtifactInput {
9406	s.ServiceActionAssociations = v
9407	return s
9408}
9409
9410type BatchAssociateServiceActionWithProvisioningArtifactOutput struct {
9411	_ struct{} `type:"structure"`
9412
9413	// An object that contains a list of errors, along with information to help
9414	// you identify the self-service action.
9415	FailedServiceActionAssociations []*FailedServiceActionAssociation `type:"list"`
9416}
9417
9418// String returns the string representation.
9419//
9420// API parameter values that are decorated as "sensitive" in the API will not
9421// be included in the string output. The member name will be present, but the
9422// value will be replaced with "sensitive".
9423func (s BatchAssociateServiceActionWithProvisioningArtifactOutput) String() string {
9424	return awsutil.Prettify(s)
9425}
9426
9427// GoString returns the string representation.
9428//
9429// API parameter values that are decorated as "sensitive" in the API will not
9430// be included in the string output. The member name will be present, but the
9431// value will be replaced with "sensitive".
9432func (s BatchAssociateServiceActionWithProvisioningArtifactOutput) GoString() string {
9433	return s.String()
9434}
9435
9436// SetFailedServiceActionAssociations sets the FailedServiceActionAssociations field's value.
9437func (s *BatchAssociateServiceActionWithProvisioningArtifactOutput) SetFailedServiceActionAssociations(v []*FailedServiceActionAssociation) *BatchAssociateServiceActionWithProvisioningArtifactOutput {
9438	s.FailedServiceActionAssociations = v
9439	return s
9440}
9441
9442type BatchDisassociateServiceActionFromProvisioningArtifactInput struct {
9443	_ struct{} `type:"structure"`
9444
9445	// The language code.
9446	//
9447	//    * en - English (default)
9448	//
9449	//    * jp - Japanese
9450	//
9451	//    * zh - Chinese
9452	AcceptLanguage *string `type:"string"`
9453
9454	// One or more associations, each consisting of the Action ID, the Product ID,
9455	// and the Provisioning Artifact ID.
9456	//
9457	// ServiceActionAssociations is a required field
9458	ServiceActionAssociations []*ServiceActionAssociation `min:"1" type:"list" required:"true"`
9459}
9460
9461// String returns the string representation.
9462//
9463// API parameter values that are decorated as "sensitive" in the API will not
9464// be included in the string output. The member name will be present, but the
9465// value will be replaced with "sensitive".
9466func (s BatchDisassociateServiceActionFromProvisioningArtifactInput) String() string {
9467	return awsutil.Prettify(s)
9468}
9469
9470// GoString returns the string representation.
9471//
9472// API parameter values that are decorated as "sensitive" in the API will not
9473// be included in the string output. The member name will be present, but the
9474// value will be replaced with "sensitive".
9475func (s BatchDisassociateServiceActionFromProvisioningArtifactInput) GoString() string {
9476	return s.String()
9477}
9478
9479// Validate inspects the fields of the type to determine if they are valid.
9480func (s *BatchDisassociateServiceActionFromProvisioningArtifactInput) Validate() error {
9481	invalidParams := request.ErrInvalidParams{Context: "BatchDisassociateServiceActionFromProvisioningArtifactInput"}
9482	if s.ServiceActionAssociations == nil {
9483		invalidParams.Add(request.NewErrParamRequired("ServiceActionAssociations"))
9484	}
9485	if s.ServiceActionAssociations != nil && len(s.ServiceActionAssociations) < 1 {
9486		invalidParams.Add(request.NewErrParamMinLen("ServiceActionAssociations", 1))
9487	}
9488	if s.ServiceActionAssociations != nil {
9489		for i, v := range s.ServiceActionAssociations {
9490			if v == nil {
9491				continue
9492			}
9493			if err := v.Validate(); err != nil {
9494				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "ServiceActionAssociations", i), err.(request.ErrInvalidParams))
9495			}
9496		}
9497	}
9498
9499	if invalidParams.Len() > 0 {
9500		return invalidParams
9501	}
9502	return nil
9503}
9504
9505// SetAcceptLanguage sets the AcceptLanguage field's value.
9506func (s *BatchDisassociateServiceActionFromProvisioningArtifactInput) SetAcceptLanguage(v string) *BatchDisassociateServiceActionFromProvisioningArtifactInput {
9507	s.AcceptLanguage = &v
9508	return s
9509}
9510
9511// SetServiceActionAssociations sets the ServiceActionAssociations field's value.
9512func (s *BatchDisassociateServiceActionFromProvisioningArtifactInput) SetServiceActionAssociations(v []*ServiceActionAssociation) *BatchDisassociateServiceActionFromProvisioningArtifactInput {
9513	s.ServiceActionAssociations = v
9514	return s
9515}
9516
9517type BatchDisassociateServiceActionFromProvisioningArtifactOutput struct {
9518	_ struct{} `type:"structure"`
9519
9520	// An object that contains a list of errors, along with information to help
9521	// you identify the self-service action.
9522	FailedServiceActionAssociations []*FailedServiceActionAssociation `type:"list"`
9523}
9524
9525// String returns the string representation.
9526//
9527// API parameter values that are decorated as "sensitive" in the API will not
9528// be included in the string output. The member name will be present, but the
9529// value will be replaced with "sensitive".
9530func (s BatchDisassociateServiceActionFromProvisioningArtifactOutput) String() string {
9531	return awsutil.Prettify(s)
9532}
9533
9534// GoString returns the string representation.
9535//
9536// API parameter values that are decorated as "sensitive" in the API will not
9537// be included in the string output. The member name will be present, but the
9538// value will be replaced with "sensitive".
9539func (s BatchDisassociateServiceActionFromProvisioningArtifactOutput) GoString() string {
9540	return s.String()
9541}
9542
9543// SetFailedServiceActionAssociations sets the FailedServiceActionAssociations field's value.
9544func (s *BatchDisassociateServiceActionFromProvisioningArtifactOutput) SetFailedServiceActionAssociations(v []*FailedServiceActionAssociation) *BatchDisassociateServiceActionFromProvisioningArtifactOutput {
9545	s.FailedServiceActionAssociations = v
9546	return s
9547}
9548
9549// Information about a budget.
9550type BudgetDetail struct {
9551	_ struct{} `type:"structure"`
9552
9553	// Name of the associated budget.
9554	BudgetName *string `min:"1" type:"string"`
9555}
9556
9557// String returns the string representation.
9558//
9559// API parameter values that are decorated as "sensitive" in the API will not
9560// be included in the string output. The member name will be present, but the
9561// value will be replaced with "sensitive".
9562func (s BudgetDetail) String() string {
9563	return awsutil.Prettify(s)
9564}
9565
9566// GoString returns the string representation.
9567//
9568// API parameter values that are decorated as "sensitive" in the API will not
9569// be included in the string output. The member name will be present, but the
9570// value will be replaced with "sensitive".
9571func (s BudgetDetail) GoString() string {
9572	return s.String()
9573}
9574
9575// SetBudgetName sets the BudgetName field's value.
9576func (s *BudgetDetail) SetBudgetName(v string) *BudgetDetail {
9577	s.BudgetName = &v
9578	return s
9579}
9580
9581// Information about a CloudWatch dashboard.
9582type CloudWatchDashboard struct {
9583	_ struct{} `type:"structure"`
9584
9585	// The name of the CloudWatch dashboard.
9586	Name *string `type:"string"`
9587}
9588
9589// String returns the string representation.
9590//
9591// API parameter values that are decorated as "sensitive" in the API will not
9592// be included in the string output. The member name will be present, but the
9593// value will be replaced with "sensitive".
9594func (s CloudWatchDashboard) String() string {
9595	return awsutil.Prettify(s)
9596}
9597
9598// GoString returns the string representation.
9599//
9600// API parameter values that are decorated as "sensitive" in the API will not
9601// be included in the string output. The member name will be present, but the
9602// value will be replaced with "sensitive".
9603func (s CloudWatchDashboard) GoString() string {
9604	return s.String()
9605}
9606
9607// SetName sets the Name field's value.
9608func (s *CloudWatchDashboard) SetName(v string) *CloudWatchDashboard {
9609	s.Name = &v
9610	return s
9611}
9612
9613// Information about a constraint.
9614type ConstraintDetail struct {
9615	_ struct{} `type:"structure"`
9616
9617	// The identifier of the constraint.
9618	ConstraintId *string `min:"1" type:"string"`
9619
9620	// The description of the constraint.
9621	Description *string `type:"string"`
9622
9623	// The owner of the constraint.
9624	Owner *string `type:"string"`
9625
9626	// The identifier of the portfolio the product resides in. The constraint applies
9627	// only to the instance of the product that lives within this portfolio.
9628	PortfolioId *string `min:"1" type:"string"`
9629
9630	// The identifier of the product the constraint applies to. Note that a constraint
9631	// applies to a specific instance of a product within a certain portfolio.
9632	ProductId *string `min:"1" type:"string"`
9633
9634	// The type of constraint.
9635	//
9636	//    * LAUNCH
9637	//
9638	//    * NOTIFICATION
9639	//
9640	//    * STACKSET
9641	//
9642	//    * TEMPLATE
9643	Type *string `min:"1" type:"string"`
9644}
9645
9646// String returns the string representation.
9647//
9648// API parameter values that are decorated as "sensitive" in the API will not
9649// be included in the string output. The member name will be present, but the
9650// value will be replaced with "sensitive".
9651func (s ConstraintDetail) String() string {
9652	return awsutil.Prettify(s)
9653}
9654
9655// GoString returns the string representation.
9656//
9657// API parameter values that are decorated as "sensitive" in the API will not
9658// be included in the string output. The member name will be present, but the
9659// value will be replaced with "sensitive".
9660func (s ConstraintDetail) GoString() string {
9661	return s.String()
9662}
9663
9664// SetConstraintId sets the ConstraintId field's value.
9665func (s *ConstraintDetail) SetConstraintId(v string) *ConstraintDetail {
9666	s.ConstraintId = &v
9667	return s
9668}
9669
9670// SetDescription sets the Description field's value.
9671func (s *ConstraintDetail) SetDescription(v string) *ConstraintDetail {
9672	s.Description = &v
9673	return s
9674}
9675
9676// SetOwner sets the Owner field's value.
9677func (s *ConstraintDetail) SetOwner(v string) *ConstraintDetail {
9678	s.Owner = &v
9679	return s
9680}
9681
9682// SetPortfolioId sets the PortfolioId field's value.
9683func (s *ConstraintDetail) SetPortfolioId(v string) *ConstraintDetail {
9684	s.PortfolioId = &v
9685	return s
9686}
9687
9688// SetProductId sets the ProductId field's value.
9689func (s *ConstraintDetail) SetProductId(v string) *ConstraintDetail {
9690	s.ProductId = &v
9691	return s
9692}
9693
9694// SetType sets the Type field's value.
9695func (s *ConstraintDetail) SetType(v string) *ConstraintDetail {
9696	s.Type = &v
9697	return s
9698}
9699
9700// Summary information about a constraint.
9701type ConstraintSummary struct {
9702	_ struct{} `type:"structure"`
9703
9704	// The description of the constraint.
9705	Description *string `type:"string"`
9706
9707	// The type of constraint.
9708	//
9709	//    * LAUNCH
9710	//
9711	//    * NOTIFICATION
9712	//
9713	//    * STACKSET
9714	//
9715	//    * TEMPLATE
9716	Type *string `min:"1" type:"string"`
9717}
9718
9719// String returns the string representation.
9720//
9721// API parameter values that are decorated as "sensitive" in the API will not
9722// be included in the string output. The member name will be present, but the
9723// value will be replaced with "sensitive".
9724func (s ConstraintSummary) String() string {
9725	return awsutil.Prettify(s)
9726}
9727
9728// GoString returns the string representation.
9729//
9730// API parameter values that are decorated as "sensitive" in the API will not
9731// be included in the string output. The member name will be present, but the
9732// value will be replaced with "sensitive".
9733func (s ConstraintSummary) GoString() string {
9734	return s.String()
9735}
9736
9737// SetDescription sets the Description field's value.
9738func (s *ConstraintSummary) SetDescription(v string) *ConstraintSummary {
9739	s.Description = &v
9740	return s
9741}
9742
9743// SetType sets the Type field's value.
9744func (s *ConstraintSummary) SetType(v string) *ConstraintSummary {
9745	s.Type = &v
9746	return s
9747}
9748
9749type CopyProductInput struct {
9750	_ struct{} `type:"structure"`
9751
9752	// The language code.
9753	//
9754	//    * en - English (default)
9755	//
9756	//    * jp - Japanese
9757	//
9758	//    * zh - Chinese
9759	AcceptLanguage *string `type:"string"`
9760
9761	// The copy options. If the value is CopyTags, the tags from the source product
9762	// are copied to the target product.
9763	CopyOptions []*string `type:"list"`
9764
9765	// A unique identifier that you provide to ensure idempotency. If multiple requests
9766	// differ only by the idempotency token, the same response is returned for each
9767	// repeated request.
9768	IdempotencyToken *string `min:"1" type:"string" idempotencyToken:"true"`
9769
9770	// The Amazon Resource Name (ARN) of the source product.
9771	//
9772	// SourceProductArn is a required field
9773	SourceProductArn *string `min:"1" type:"string" required:"true"`
9774
9775	// The identifiers of the provisioning artifacts (also known as versions) of
9776	// the product to copy. By default, all provisioning artifacts are copied.
9777	SourceProvisioningArtifactIdentifiers []map[string]*string `type:"list"`
9778
9779	// The identifier of the target product. By default, a new product is created.
9780	TargetProductId *string `min:"1" type:"string"`
9781
9782	// A name for the target product. The default is the name of the source product.
9783	TargetProductName *string `type:"string"`
9784}
9785
9786// String returns the string representation.
9787//
9788// API parameter values that are decorated as "sensitive" in the API will not
9789// be included in the string output. The member name will be present, but the
9790// value will be replaced with "sensitive".
9791func (s CopyProductInput) String() string {
9792	return awsutil.Prettify(s)
9793}
9794
9795// GoString returns the string representation.
9796//
9797// API parameter values that are decorated as "sensitive" in the API will not
9798// be included in the string output. The member name will be present, but the
9799// value will be replaced with "sensitive".
9800func (s CopyProductInput) GoString() string {
9801	return s.String()
9802}
9803
9804// Validate inspects the fields of the type to determine if they are valid.
9805func (s *CopyProductInput) Validate() error {
9806	invalidParams := request.ErrInvalidParams{Context: "CopyProductInput"}
9807	if s.IdempotencyToken != nil && len(*s.IdempotencyToken) < 1 {
9808		invalidParams.Add(request.NewErrParamMinLen("IdempotencyToken", 1))
9809	}
9810	if s.SourceProductArn == nil {
9811		invalidParams.Add(request.NewErrParamRequired("SourceProductArn"))
9812	}
9813	if s.SourceProductArn != nil && len(*s.SourceProductArn) < 1 {
9814		invalidParams.Add(request.NewErrParamMinLen("SourceProductArn", 1))
9815	}
9816	if s.TargetProductId != nil && len(*s.TargetProductId) < 1 {
9817		invalidParams.Add(request.NewErrParamMinLen("TargetProductId", 1))
9818	}
9819
9820	if invalidParams.Len() > 0 {
9821		return invalidParams
9822	}
9823	return nil
9824}
9825
9826// SetAcceptLanguage sets the AcceptLanguage field's value.
9827func (s *CopyProductInput) SetAcceptLanguage(v string) *CopyProductInput {
9828	s.AcceptLanguage = &v
9829	return s
9830}
9831
9832// SetCopyOptions sets the CopyOptions field's value.
9833func (s *CopyProductInput) SetCopyOptions(v []*string) *CopyProductInput {
9834	s.CopyOptions = v
9835	return s
9836}
9837
9838// SetIdempotencyToken sets the IdempotencyToken field's value.
9839func (s *CopyProductInput) SetIdempotencyToken(v string) *CopyProductInput {
9840	s.IdempotencyToken = &v
9841	return s
9842}
9843
9844// SetSourceProductArn sets the SourceProductArn field's value.
9845func (s *CopyProductInput) SetSourceProductArn(v string) *CopyProductInput {
9846	s.SourceProductArn = &v
9847	return s
9848}
9849
9850// SetSourceProvisioningArtifactIdentifiers sets the SourceProvisioningArtifactIdentifiers field's value.
9851func (s *CopyProductInput) SetSourceProvisioningArtifactIdentifiers(v []map[string]*string) *CopyProductInput {
9852	s.SourceProvisioningArtifactIdentifiers = v
9853	return s
9854}
9855
9856// SetTargetProductId sets the TargetProductId field's value.
9857func (s *CopyProductInput) SetTargetProductId(v string) *CopyProductInput {
9858	s.TargetProductId = &v
9859	return s
9860}
9861
9862// SetTargetProductName sets the TargetProductName field's value.
9863func (s *CopyProductInput) SetTargetProductName(v string) *CopyProductInput {
9864	s.TargetProductName = &v
9865	return s
9866}
9867
9868type CopyProductOutput struct {
9869	_ struct{} `type:"structure"`
9870
9871	// The token to use to track the progress of the operation.
9872	CopyProductToken *string `min:"1" type:"string"`
9873}
9874
9875// String returns the string representation.
9876//
9877// API parameter values that are decorated as "sensitive" in the API will not
9878// be included in the string output. The member name will be present, but the
9879// value will be replaced with "sensitive".
9880func (s CopyProductOutput) String() string {
9881	return awsutil.Prettify(s)
9882}
9883
9884// GoString returns the string representation.
9885//
9886// API parameter values that are decorated as "sensitive" in the API will not
9887// be included in the string output. The member name will be present, but the
9888// value will be replaced with "sensitive".
9889func (s CopyProductOutput) GoString() string {
9890	return s.String()
9891}
9892
9893// SetCopyProductToken sets the CopyProductToken field's value.
9894func (s *CopyProductOutput) SetCopyProductToken(v string) *CopyProductOutput {
9895	s.CopyProductToken = &v
9896	return s
9897}
9898
9899type CreateConstraintInput struct {
9900	_ struct{} `type:"structure"`
9901
9902	// The language code.
9903	//
9904	//    * en - English (default)
9905	//
9906	//    * jp - Japanese
9907	//
9908	//    * zh - Chinese
9909	AcceptLanguage *string `type:"string"`
9910
9911	// The description of the constraint.
9912	Description *string `type:"string"`
9913
9914	// A unique identifier that you provide to ensure idempotency. If multiple requests
9915	// differ only by the idempotency token, the same response is returned for each
9916	// repeated request.
9917	IdempotencyToken *string `min:"1" type:"string" idempotencyToken:"true"`
9918
9919	// The constraint parameters, in JSON format. The syntax depends on the constraint
9920	// type as follows:
9921	//
9922	// LAUNCH
9923	//
9924	// You are required to specify either the RoleArn or the LocalRoleName but can't
9925	// use both.
9926	//
9927	// Specify the RoleArn property as follows:
9928	//
9929	// {"RoleArn" : "arn:aws:iam::123456789012:role/LaunchRole"}
9930	//
9931	// Specify the LocalRoleName property as follows:
9932	//
9933	// {"LocalRoleName": "SCBasicLaunchRole"}
9934	//
9935	// If you specify the LocalRoleName property, when an account uses the launch
9936	// constraint, the IAM role with that name in the account will be used. This
9937	// allows launch-role constraints to be account-agnostic so the administrator
9938	// can create fewer resources per shared account.
9939	//
9940	// The given role name must exist in the account used to create the launch constraint
9941	// and the account of the user who launches a product with this launch constraint.
9942	//
9943	// You cannot have both a LAUNCH and a STACKSET constraint.
9944	//
9945	// You also cannot have more than one LAUNCH constraint on a product and portfolio.
9946	//
9947	// NOTIFICATION
9948	//
9949	// Specify the NotificationArns property as follows:
9950	//
9951	// {"NotificationArns" : ["arn:aws:sns:us-east-1:123456789012:Topic"]}
9952	//
9953	// RESOURCE_UPDATE
9954	//
9955	// Specify the TagUpdatesOnProvisionedProduct property as follows:
9956	//
9957	// {"Version":"2.0","Properties":{"TagUpdateOnProvisionedProduct":"String"}}
9958	//
9959	// The TagUpdatesOnProvisionedProduct property accepts a string value of ALLOWED
9960	// or NOT_ALLOWED.
9961	//
9962	// STACKSET
9963	//
9964	// Specify the Parameters property as follows:
9965	//
9966	// {"Version": "String", "Properties": {"AccountList": [ "String" ], "RegionList":
9967	// [ "String" ], "AdminRole": "String", "ExecutionRole": "String"}}
9968	//
9969	// You cannot have both a LAUNCH and a STACKSET constraint.
9970	//
9971	// You also cannot have more than one STACKSET constraint on a product and portfolio.
9972	//
9973	// Products with a STACKSET constraint will launch an AWS CloudFormation stack
9974	// set.
9975	//
9976	// TEMPLATE
9977	//
9978	// Specify the Rules property. For more information, see Template Constraint
9979	// Rules (http://docs.aws.amazon.com/servicecatalog/latest/adminguide/reference-template_constraint_rules.html).
9980	//
9981	// Parameters is a required field
9982	Parameters *string `type:"string" required:"true"`
9983
9984	// The portfolio identifier.
9985	//
9986	// PortfolioId is a required field
9987	PortfolioId *string `min:"1" type:"string" required:"true"`
9988
9989	// The product identifier.
9990	//
9991	// ProductId is a required field
9992	ProductId *string `min:"1" type:"string" required:"true"`
9993
9994	// The type of constraint.
9995	//
9996	//    * LAUNCH
9997	//
9998	//    * NOTIFICATION
9999	//
10000	//    * RESOURCE_UPDATE
10001	//
10002	//    * STACKSET
10003	//
10004	//    * TEMPLATE
10005	//
10006	// Type is a required field
10007	Type *string `min:"1" type:"string" required:"true"`
10008}
10009
10010// String returns the string representation.
10011//
10012// API parameter values that are decorated as "sensitive" in the API will not
10013// be included in the string output. The member name will be present, but the
10014// value will be replaced with "sensitive".
10015func (s CreateConstraintInput) String() string {
10016	return awsutil.Prettify(s)
10017}
10018
10019// GoString returns the string representation.
10020//
10021// API parameter values that are decorated as "sensitive" in the API will not
10022// be included in the string output. The member name will be present, but the
10023// value will be replaced with "sensitive".
10024func (s CreateConstraintInput) GoString() string {
10025	return s.String()
10026}
10027
10028// Validate inspects the fields of the type to determine if they are valid.
10029func (s *CreateConstraintInput) Validate() error {
10030	invalidParams := request.ErrInvalidParams{Context: "CreateConstraintInput"}
10031	if s.IdempotencyToken != nil && len(*s.IdempotencyToken) < 1 {
10032		invalidParams.Add(request.NewErrParamMinLen("IdempotencyToken", 1))
10033	}
10034	if s.Parameters == nil {
10035		invalidParams.Add(request.NewErrParamRequired("Parameters"))
10036	}
10037	if s.PortfolioId == nil {
10038		invalidParams.Add(request.NewErrParamRequired("PortfolioId"))
10039	}
10040	if s.PortfolioId != nil && len(*s.PortfolioId) < 1 {
10041		invalidParams.Add(request.NewErrParamMinLen("PortfolioId", 1))
10042	}
10043	if s.ProductId == nil {
10044		invalidParams.Add(request.NewErrParamRequired("ProductId"))
10045	}
10046	if s.ProductId != nil && len(*s.ProductId) < 1 {
10047		invalidParams.Add(request.NewErrParamMinLen("ProductId", 1))
10048	}
10049	if s.Type == nil {
10050		invalidParams.Add(request.NewErrParamRequired("Type"))
10051	}
10052	if s.Type != nil && len(*s.Type) < 1 {
10053		invalidParams.Add(request.NewErrParamMinLen("Type", 1))
10054	}
10055
10056	if invalidParams.Len() > 0 {
10057		return invalidParams
10058	}
10059	return nil
10060}
10061
10062// SetAcceptLanguage sets the AcceptLanguage field's value.
10063func (s *CreateConstraintInput) SetAcceptLanguage(v string) *CreateConstraintInput {
10064	s.AcceptLanguage = &v
10065	return s
10066}
10067
10068// SetDescription sets the Description field's value.
10069func (s *CreateConstraintInput) SetDescription(v string) *CreateConstraintInput {
10070	s.Description = &v
10071	return s
10072}
10073
10074// SetIdempotencyToken sets the IdempotencyToken field's value.
10075func (s *CreateConstraintInput) SetIdempotencyToken(v string) *CreateConstraintInput {
10076	s.IdempotencyToken = &v
10077	return s
10078}
10079
10080// SetParameters sets the Parameters field's value.
10081func (s *CreateConstraintInput) SetParameters(v string) *CreateConstraintInput {
10082	s.Parameters = &v
10083	return s
10084}
10085
10086// SetPortfolioId sets the PortfolioId field's value.
10087func (s *CreateConstraintInput) SetPortfolioId(v string) *CreateConstraintInput {
10088	s.PortfolioId = &v
10089	return s
10090}
10091
10092// SetProductId sets the ProductId field's value.
10093func (s *CreateConstraintInput) SetProductId(v string) *CreateConstraintInput {
10094	s.ProductId = &v
10095	return s
10096}
10097
10098// SetType sets the Type field's value.
10099func (s *CreateConstraintInput) SetType(v string) *CreateConstraintInput {
10100	s.Type = &v
10101	return s
10102}
10103
10104type CreateConstraintOutput struct {
10105	_ struct{} `type:"structure"`
10106
10107	// Information about the constraint.
10108	ConstraintDetail *ConstraintDetail `type:"structure"`
10109
10110	// The constraint parameters.
10111	ConstraintParameters *string `type:"string"`
10112
10113	// The status of the current request.
10114	Status *string `type:"string" enum:"Status"`
10115}
10116
10117// String returns the string representation.
10118//
10119// API parameter values that are decorated as "sensitive" in the API will not
10120// be included in the string output. The member name will be present, but the
10121// value will be replaced with "sensitive".
10122func (s CreateConstraintOutput) String() string {
10123	return awsutil.Prettify(s)
10124}
10125
10126// GoString returns the string representation.
10127//
10128// API parameter values that are decorated as "sensitive" in the API will not
10129// be included in the string output. The member name will be present, but the
10130// value will be replaced with "sensitive".
10131func (s CreateConstraintOutput) GoString() string {
10132	return s.String()
10133}
10134
10135// SetConstraintDetail sets the ConstraintDetail field's value.
10136func (s *CreateConstraintOutput) SetConstraintDetail(v *ConstraintDetail) *CreateConstraintOutput {
10137	s.ConstraintDetail = v
10138	return s
10139}
10140
10141// SetConstraintParameters sets the ConstraintParameters field's value.
10142func (s *CreateConstraintOutput) SetConstraintParameters(v string) *CreateConstraintOutput {
10143	s.ConstraintParameters = &v
10144	return s
10145}
10146
10147// SetStatus sets the Status field's value.
10148func (s *CreateConstraintOutput) SetStatus(v string) *CreateConstraintOutput {
10149	s.Status = &v
10150	return s
10151}
10152
10153type CreatePortfolioInput struct {
10154	_ struct{} `type:"structure"`
10155
10156	// The language code.
10157	//
10158	//    * en - English (default)
10159	//
10160	//    * jp - Japanese
10161	//
10162	//    * zh - Chinese
10163	AcceptLanguage *string `type:"string"`
10164
10165	// The description of the portfolio.
10166	Description *string `type:"string"`
10167
10168	// The name to use for display purposes.
10169	//
10170	// DisplayName is a required field
10171	DisplayName *string `min:"1" type:"string" required:"true"`
10172
10173	// A unique identifier that you provide to ensure idempotency. If multiple requests
10174	// differ only by the idempotency token, the same response is returned for each
10175	// repeated request.
10176	IdempotencyToken *string `min:"1" type:"string" idempotencyToken:"true"`
10177
10178	// The name of the portfolio provider.
10179	//
10180	// ProviderName is a required field
10181	ProviderName *string `min:"1" type:"string" required:"true"`
10182
10183	// One or more tags.
10184	Tags []*Tag `type:"list"`
10185}
10186
10187// String returns the string representation.
10188//
10189// API parameter values that are decorated as "sensitive" in the API will not
10190// be included in the string output. The member name will be present, but the
10191// value will be replaced with "sensitive".
10192func (s CreatePortfolioInput) String() string {
10193	return awsutil.Prettify(s)
10194}
10195
10196// GoString returns the string representation.
10197//
10198// API parameter values that are decorated as "sensitive" in the API will not
10199// be included in the string output. The member name will be present, but the
10200// value will be replaced with "sensitive".
10201func (s CreatePortfolioInput) GoString() string {
10202	return s.String()
10203}
10204
10205// Validate inspects the fields of the type to determine if they are valid.
10206func (s *CreatePortfolioInput) Validate() error {
10207	invalidParams := request.ErrInvalidParams{Context: "CreatePortfolioInput"}
10208	if s.DisplayName == nil {
10209		invalidParams.Add(request.NewErrParamRequired("DisplayName"))
10210	}
10211	if s.DisplayName != nil && len(*s.DisplayName) < 1 {
10212		invalidParams.Add(request.NewErrParamMinLen("DisplayName", 1))
10213	}
10214	if s.IdempotencyToken != nil && len(*s.IdempotencyToken) < 1 {
10215		invalidParams.Add(request.NewErrParamMinLen("IdempotencyToken", 1))
10216	}
10217	if s.ProviderName == nil {
10218		invalidParams.Add(request.NewErrParamRequired("ProviderName"))
10219	}
10220	if s.ProviderName != nil && len(*s.ProviderName) < 1 {
10221		invalidParams.Add(request.NewErrParamMinLen("ProviderName", 1))
10222	}
10223	if s.Tags != nil {
10224		for i, v := range s.Tags {
10225			if v == nil {
10226				continue
10227			}
10228			if err := v.Validate(); err != nil {
10229				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams))
10230			}
10231		}
10232	}
10233
10234	if invalidParams.Len() > 0 {
10235		return invalidParams
10236	}
10237	return nil
10238}
10239
10240// SetAcceptLanguage sets the AcceptLanguage field's value.
10241func (s *CreatePortfolioInput) SetAcceptLanguage(v string) *CreatePortfolioInput {
10242	s.AcceptLanguage = &v
10243	return s
10244}
10245
10246// SetDescription sets the Description field's value.
10247func (s *CreatePortfolioInput) SetDescription(v string) *CreatePortfolioInput {
10248	s.Description = &v
10249	return s
10250}
10251
10252// SetDisplayName sets the DisplayName field's value.
10253func (s *CreatePortfolioInput) SetDisplayName(v string) *CreatePortfolioInput {
10254	s.DisplayName = &v
10255	return s
10256}
10257
10258// SetIdempotencyToken sets the IdempotencyToken field's value.
10259func (s *CreatePortfolioInput) SetIdempotencyToken(v string) *CreatePortfolioInput {
10260	s.IdempotencyToken = &v
10261	return s
10262}
10263
10264// SetProviderName sets the ProviderName field's value.
10265func (s *CreatePortfolioInput) SetProviderName(v string) *CreatePortfolioInput {
10266	s.ProviderName = &v
10267	return s
10268}
10269
10270// SetTags sets the Tags field's value.
10271func (s *CreatePortfolioInput) SetTags(v []*Tag) *CreatePortfolioInput {
10272	s.Tags = v
10273	return s
10274}
10275
10276type CreatePortfolioOutput struct {
10277	_ struct{} `type:"structure"`
10278
10279	// Information about the portfolio.
10280	PortfolioDetail *PortfolioDetail `type:"structure"`
10281
10282	// Information about the tags associated with the portfolio.
10283	Tags []*Tag `type:"list"`
10284}
10285
10286// String returns the string representation.
10287//
10288// API parameter values that are decorated as "sensitive" in the API will not
10289// be included in the string output. The member name will be present, but the
10290// value will be replaced with "sensitive".
10291func (s CreatePortfolioOutput) String() string {
10292	return awsutil.Prettify(s)
10293}
10294
10295// GoString returns the string representation.
10296//
10297// API parameter values that are decorated as "sensitive" in the API will not
10298// be included in the string output. The member name will be present, but the
10299// value will be replaced with "sensitive".
10300func (s CreatePortfolioOutput) GoString() string {
10301	return s.String()
10302}
10303
10304// SetPortfolioDetail sets the PortfolioDetail field's value.
10305func (s *CreatePortfolioOutput) SetPortfolioDetail(v *PortfolioDetail) *CreatePortfolioOutput {
10306	s.PortfolioDetail = v
10307	return s
10308}
10309
10310// SetTags sets the Tags field's value.
10311func (s *CreatePortfolioOutput) SetTags(v []*Tag) *CreatePortfolioOutput {
10312	s.Tags = v
10313	return s
10314}
10315
10316type CreatePortfolioShareInput struct {
10317	_ struct{} `type:"structure"`
10318
10319	// The language code.
10320	//
10321	//    * en - English (default)
10322	//
10323	//    * jp - Japanese
10324	//
10325	//    * zh - Chinese
10326	AcceptLanguage *string `type:"string"`
10327
10328	// The AWS account ID. For example, 123456789012.
10329	AccountId *string `type:"string"`
10330
10331	// The organization node to whom you are going to share. If OrganizationNode
10332	// is passed in, PortfolioShare will be created for the node an ListOrganizationPortfolioAccessd
10333	// its children (when applies), and a PortfolioShareToken will be returned in
10334	// the output in order for the administrator to monitor the status of the PortfolioShare
10335	// creation process.
10336	OrganizationNode *OrganizationNode `type:"structure"`
10337
10338	// The portfolio identifier.
10339	//
10340	// PortfolioId is a required field
10341	PortfolioId *string `min:"1" type:"string" required:"true"`
10342
10343	// Enables or disables TagOptions sharing when creating the portfolio share.
10344	// If this flag is not provided, TagOptions sharing is disabled.
10345	ShareTagOptions *bool `type:"boolean"`
10346}
10347
10348// String returns the string representation.
10349//
10350// API parameter values that are decorated as "sensitive" in the API will not
10351// be included in the string output. The member name will be present, but the
10352// value will be replaced with "sensitive".
10353func (s CreatePortfolioShareInput) String() string {
10354	return awsutil.Prettify(s)
10355}
10356
10357// GoString returns the string representation.
10358//
10359// API parameter values that are decorated as "sensitive" in the API will not
10360// be included in the string output. The member name will be present, but the
10361// value will be replaced with "sensitive".
10362func (s CreatePortfolioShareInput) GoString() string {
10363	return s.String()
10364}
10365
10366// Validate inspects the fields of the type to determine if they are valid.
10367func (s *CreatePortfolioShareInput) Validate() error {
10368	invalidParams := request.ErrInvalidParams{Context: "CreatePortfolioShareInput"}
10369	if s.PortfolioId == nil {
10370		invalidParams.Add(request.NewErrParamRequired("PortfolioId"))
10371	}
10372	if s.PortfolioId != nil && len(*s.PortfolioId) < 1 {
10373		invalidParams.Add(request.NewErrParamMinLen("PortfolioId", 1))
10374	}
10375
10376	if invalidParams.Len() > 0 {
10377		return invalidParams
10378	}
10379	return nil
10380}
10381
10382// SetAcceptLanguage sets the AcceptLanguage field's value.
10383func (s *CreatePortfolioShareInput) SetAcceptLanguage(v string) *CreatePortfolioShareInput {
10384	s.AcceptLanguage = &v
10385	return s
10386}
10387
10388// SetAccountId sets the AccountId field's value.
10389func (s *CreatePortfolioShareInput) SetAccountId(v string) *CreatePortfolioShareInput {
10390	s.AccountId = &v
10391	return s
10392}
10393
10394// SetOrganizationNode sets the OrganizationNode field's value.
10395func (s *CreatePortfolioShareInput) SetOrganizationNode(v *OrganizationNode) *CreatePortfolioShareInput {
10396	s.OrganizationNode = v
10397	return s
10398}
10399
10400// SetPortfolioId sets the PortfolioId field's value.
10401func (s *CreatePortfolioShareInput) SetPortfolioId(v string) *CreatePortfolioShareInput {
10402	s.PortfolioId = &v
10403	return s
10404}
10405
10406// SetShareTagOptions sets the ShareTagOptions field's value.
10407func (s *CreatePortfolioShareInput) SetShareTagOptions(v bool) *CreatePortfolioShareInput {
10408	s.ShareTagOptions = &v
10409	return s
10410}
10411
10412type CreatePortfolioShareOutput struct {
10413	_ struct{} `type:"structure"`
10414
10415	// The portfolio shares a unique identifier that only returns if the portfolio
10416	// is shared to an organization node.
10417	PortfolioShareToken *string `min:"1" type:"string"`
10418}
10419
10420// String returns the string representation.
10421//
10422// API parameter values that are decorated as "sensitive" in the API will not
10423// be included in the string output. The member name will be present, but the
10424// value will be replaced with "sensitive".
10425func (s CreatePortfolioShareOutput) String() string {
10426	return awsutil.Prettify(s)
10427}
10428
10429// GoString returns the string representation.
10430//
10431// API parameter values that are decorated as "sensitive" in the API will not
10432// be included in the string output. The member name will be present, but the
10433// value will be replaced with "sensitive".
10434func (s CreatePortfolioShareOutput) GoString() string {
10435	return s.String()
10436}
10437
10438// SetPortfolioShareToken sets the PortfolioShareToken field's value.
10439func (s *CreatePortfolioShareOutput) SetPortfolioShareToken(v string) *CreatePortfolioShareOutput {
10440	s.PortfolioShareToken = &v
10441	return s
10442}
10443
10444type CreateProductInput struct {
10445	_ struct{} `type:"structure"`
10446
10447	// The language code.
10448	//
10449	//    * en - English (default)
10450	//
10451	//    * jp - Japanese
10452	//
10453	//    * zh - Chinese
10454	AcceptLanguage *string `type:"string"`
10455
10456	// The description of the product.
10457	Description *string `type:"string"`
10458
10459	// The distributor of the product.
10460	Distributor *string `type:"string"`
10461
10462	// A unique identifier that you provide to ensure idempotency. If multiple requests
10463	// differ only by the idempotency token, the same response is returned for each
10464	// repeated request.
10465	IdempotencyToken *string `min:"1" type:"string" idempotencyToken:"true"`
10466
10467	// The name of the product.
10468	//
10469	// Name is a required field
10470	Name *string `type:"string" required:"true"`
10471
10472	// The owner of the product.
10473	//
10474	// Owner is a required field
10475	Owner *string `type:"string" required:"true"`
10476
10477	// The type of product.
10478	//
10479	// ProductType is a required field
10480	ProductType *string `type:"string" required:"true" enum:"ProductType"`
10481
10482	// The configuration of the provisioning artifact.
10483	//
10484	// ProvisioningArtifactParameters is a required field
10485	ProvisioningArtifactParameters *ProvisioningArtifactProperties `type:"structure" required:"true"`
10486
10487	// The support information about the product.
10488	SupportDescription *string `type:"string"`
10489
10490	// The contact email for product support.
10491	SupportEmail *string `type:"string"`
10492
10493	// The contact URL for product support.
10494	//
10495	// ^https?:\/\// / is the pattern used to validate SupportUrl.
10496	SupportUrl *string `type:"string"`
10497
10498	// One or more tags.
10499	Tags []*Tag `type:"list"`
10500}
10501
10502// String returns the string representation.
10503//
10504// API parameter values that are decorated as "sensitive" in the API will not
10505// be included in the string output. The member name will be present, but the
10506// value will be replaced with "sensitive".
10507func (s CreateProductInput) String() string {
10508	return awsutil.Prettify(s)
10509}
10510
10511// GoString returns the string representation.
10512//
10513// API parameter values that are decorated as "sensitive" in the API will not
10514// be included in the string output. The member name will be present, but the
10515// value will be replaced with "sensitive".
10516func (s CreateProductInput) GoString() string {
10517	return s.String()
10518}
10519
10520// Validate inspects the fields of the type to determine if they are valid.
10521func (s *CreateProductInput) Validate() error {
10522	invalidParams := request.ErrInvalidParams{Context: "CreateProductInput"}
10523	if s.IdempotencyToken != nil && len(*s.IdempotencyToken) < 1 {
10524		invalidParams.Add(request.NewErrParamMinLen("IdempotencyToken", 1))
10525	}
10526	if s.Name == nil {
10527		invalidParams.Add(request.NewErrParamRequired("Name"))
10528	}
10529	if s.Owner == nil {
10530		invalidParams.Add(request.NewErrParamRequired("Owner"))
10531	}
10532	if s.ProductType == nil {
10533		invalidParams.Add(request.NewErrParamRequired("ProductType"))
10534	}
10535	if s.ProvisioningArtifactParameters == nil {
10536		invalidParams.Add(request.NewErrParamRequired("ProvisioningArtifactParameters"))
10537	}
10538	if s.ProvisioningArtifactParameters != nil {
10539		if err := s.ProvisioningArtifactParameters.Validate(); err != nil {
10540			invalidParams.AddNested("ProvisioningArtifactParameters", err.(request.ErrInvalidParams))
10541		}
10542	}
10543	if s.Tags != nil {
10544		for i, v := range s.Tags {
10545			if v == nil {
10546				continue
10547			}
10548			if err := v.Validate(); err != nil {
10549				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams))
10550			}
10551		}
10552	}
10553
10554	if invalidParams.Len() > 0 {
10555		return invalidParams
10556	}
10557	return nil
10558}
10559
10560// SetAcceptLanguage sets the AcceptLanguage field's value.
10561func (s *CreateProductInput) SetAcceptLanguage(v string) *CreateProductInput {
10562	s.AcceptLanguage = &v
10563	return s
10564}
10565
10566// SetDescription sets the Description field's value.
10567func (s *CreateProductInput) SetDescription(v string) *CreateProductInput {
10568	s.Description = &v
10569	return s
10570}
10571
10572// SetDistributor sets the Distributor field's value.
10573func (s *CreateProductInput) SetDistributor(v string) *CreateProductInput {
10574	s.Distributor = &v
10575	return s
10576}
10577
10578// SetIdempotencyToken sets the IdempotencyToken field's value.
10579func (s *CreateProductInput) SetIdempotencyToken(v string) *CreateProductInput {
10580	s.IdempotencyToken = &v
10581	return s
10582}
10583
10584// SetName sets the Name field's value.
10585func (s *CreateProductInput) SetName(v string) *CreateProductInput {
10586	s.Name = &v
10587	return s
10588}
10589
10590// SetOwner sets the Owner field's value.
10591func (s *CreateProductInput) SetOwner(v string) *CreateProductInput {
10592	s.Owner = &v
10593	return s
10594}
10595
10596// SetProductType sets the ProductType field's value.
10597func (s *CreateProductInput) SetProductType(v string) *CreateProductInput {
10598	s.ProductType = &v
10599	return s
10600}
10601
10602// SetProvisioningArtifactParameters sets the ProvisioningArtifactParameters field's value.
10603func (s *CreateProductInput) SetProvisioningArtifactParameters(v *ProvisioningArtifactProperties) *CreateProductInput {
10604	s.ProvisioningArtifactParameters = v
10605	return s
10606}
10607
10608// SetSupportDescription sets the SupportDescription field's value.
10609func (s *CreateProductInput) SetSupportDescription(v string) *CreateProductInput {
10610	s.SupportDescription = &v
10611	return s
10612}
10613
10614// SetSupportEmail sets the SupportEmail field's value.
10615func (s *CreateProductInput) SetSupportEmail(v string) *CreateProductInput {
10616	s.SupportEmail = &v
10617	return s
10618}
10619
10620// SetSupportUrl sets the SupportUrl field's value.
10621func (s *CreateProductInput) SetSupportUrl(v string) *CreateProductInput {
10622	s.SupportUrl = &v
10623	return s
10624}
10625
10626// SetTags sets the Tags field's value.
10627func (s *CreateProductInput) SetTags(v []*Tag) *CreateProductInput {
10628	s.Tags = v
10629	return s
10630}
10631
10632type CreateProductOutput struct {
10633	_ struct{} `type:"structure"`
10634
10635	// Information about the product view.
10636	ProductViewDetail *ProductViewDetail `type:"structure"`
10637
10638	// Information about the provisioning artifact.
10639	ProvisioningArtifactDetail *ProvisioningArtifactDetail `type:"structure"`
10640
10641	// Information about the tags associated with the product.
10642	Tags []*Tag `type:"list"`
10643}
10644
10645// String returns the string representation.
10646//
10647// API parameter values that are decorated as "sensitive" in the API will not
10648// be included in the string output. The member name will be present, but the
10649// value will be replaced with "sensitive".
10650func (s CreateProductOutput) String() string {
10651	return awsutil.Prettify(s)
10652}
10653
10654// GoString returns the string representation.
10655//
10656// API parameter values that are decorated as "sensitive" in the API will not
10657// be included in the string output. The member name will be present, but the
10658// value will be replaced with "sensitive".
10659func (s CreateProductOutput) GoString() string {
10660	return s.String()
10661}
10662
10663// SetProductViewDetail sets the ProductViewDetail field's value.
10664func (s *CreateProductOutput) SetProductViewDetail(v *ProductViewDetail) *CreateProductOutput {
10665	s.ProductViewDetail = v
10666	return s
10667}
10668
10669// SetProvisioningArtifactDetail sets the ProvisioningArtifactDetail field's value.
10670func (s *CreateProductOutput) SetProvisioningArtifactDetail(v *ProvisioningArtifactDetail) *CreateProductOutput {
10671	s.ProvisioningArtifactDetail = v
10672	return s
10673}
10674
10675// SetTags sets the Tags field's value.
10676func (s *CreateProductOutput) SetTags(v []*Tag) *CreateProductOutput {
10677	s.Tags = v
10678	return s
10679}
10680
10681type CreateProvisionedProductPlanInput struct {
10682	_ struct{} `type:"structure"`
10683
10684	// The language code.
10685	//
10686	//    * en - English (default)
10687	//
10688	//    * jp - Japanese
10689	//
10690	//    * zh - Chinese
10691	AcceptLanguage *string `type:"string"`
10692
10693	// A unique identifier that you provide to ensure idempotency. If multiple requests
10694	// differ only by the idempotency token, the same response is returned for each
10695	// repeated request.
10696	IdempotencyToken *string `min:"1" type:"string" idempotencyToken:"true"`
10697
10698	// Passed to CloudFormation. The SNS topic ARNs to which to publish stack-related
10699	// events.
10700	NotificationArns []*string `type:"list"`
10701
10702	// The path identifier of the product. This value is optional if the product
10703	// has a default path, and required if the product has more than one path. To
10704	// list the paths for a product, use ListLaunchPaths.
10705	PathId *string `min:"1" type:"string"`
10706
10707	// The name of the plan.
10708	//
10709	// PlanName is a required field
10710	PlanName *string `type:"string" required:"true"`
10711
10712	// The plan type.
10713	//
10714	// PlanType is a required field
10715	PlanType *string `type:"string" required:"true" enum:"ProvisionedProductPlanType"`
10716
10717	// The product identifier.
10718	//
10719	// ProductId is a required field
10720	ProductId *string `min:"1" type:"string" required:"true"`
10721
10722	// A user-friendly name for the provisioned product. This value must be unique
10723	// for the AWS account and cannot be updated after the product is provisioned.
10724	//
10725	// ProvisionedProductName is a required field
10726	ProvisionedProductName *string `min:"1" type:"string" required:"true"`
10727
10728	// The identifier of the provisioning artifact.
10729	//
10730	// ProvisioningArtifactId is a required field
10731	ProvisioningArtifactId *string `min:"1" type:"string" required:"true"`
10732
10733	// Parameters specified by the administrator that are required for provisioning
10734	// the product.
10735	ProvisioningParameters []*UpdateProvisioningParameter `type:"list"`
10736
10737	// One or more tags.
10738	//
10739	// If the plan is for an existing provisioned product, the product must have
10740	// a RESOURCE_UPDATE constraint with TagUpdatesOnProvisionedProduct set to ALLOWED
10741	// to allow tag updates.
10742	Tags []*Tag `type:"list"`
10743}
10744
10745// String returns the string representation.
10746//
10747// API parameter values that are decorated as "sensitive" in the API will not
10748// be included in the string output. The member name will be present, but the
10749// value will be replaced with "sensitive".
10750func (s CreateProvisionedProductPlanInput) String() string {
10751	return awsutil.Prettify(s)
10752}
10753
10754// GoString returns the string representation.
10755//
10756// API parameter values that are decorated as "sensitive" in the API will not
10757// be included in the string output. The member name will be present, but the
10758// value will be replaced with "sensitive".
10759func (s CreateProvisionedProductPlanInput) GoString() string {
10760	return s.String()
10761}
10762
10763// Validate inspects the fields of the type to determine if they are valid.
10764func (s *CreateProvisionedProductPlanInput) Validate() error {
10765	invalidParams := request.ErrInvalidParams{Context: "CreateProvisionedProductPlanInput"}
10766	if s.IdempotencyToken != nil && len(*s.IdempotencyToken) < 1 {
10767		invalidParams.Add(request.NewErrParamMinLen("IdempotencyToken", 1))
10768	}
10769	if s.PathId != nil && len(*s.PathId) < 1 {
10770		invalidParams.Add(request.NewErrParamMinLen("PathId", 1))
10771	}
10772	if s.PlanName == nil {
10773		invalidParams.Add(request.NewErrParamRequired("PlanName"))
10774	}
10775	if s.PlanType == nil {
10776		invalidParams.Add(request.NewErrParamRequired("PlanType"))
10777	}
10778	if s.ProductId == nil {
10779		invalidParams.Add(request.NewErrParamRequired("ProductId"))
10780	}
10781	if s.ProductId != nil && len(*s.ProductId) < 1 {
10782		invalidParams.Add(request.NewErrParamMinLen("ProductId", 1))
10783	}
10784	if s.ProvisionedProductName == nil {
10785		invalidParams.Add(request.NewErrParamRequired("ProvisionedProductName"))
10786	}
10787	if s.ProvisionedProductName != nil && len(*s.ProvisionedProductName) < 1 {
10788		invalidParams.Add(request.NewErrParamMinLen("ProvisionedProductName", 1))
10789	}
10790	if s.ProvisioningArtifactId == nil {
10791		invalidParams.Add(request.NewErrParamRequired("ProvisioningArtifactId"))
10792	}
10793	if s.ProvisioningArtifactId != nil && len(*s.ProvisioningArtifactId) < 1 {
10794		invalidParams.Add(request.NewErrParamMinLen("ProvisioningArtifactId", 1))
10795	}
10796	if s.ProvisioningParameters != nil {
10797		for i, v := range s.ProvisioningParameters {
10798			if v == nil {
10799				continue
10800			}
10801			if err := v.Validate(); err != nil {
10802				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "ProvisioningParameters", i), err.(request.ErrInvalidParams))
10803			}
10804		}
10805	}
10806	if s.Tags != nil {
10807		for i, v := range s.Tags {
10808			if v == nil {
10809				continue
10810			}
10811			if err := v.Validate(); err != nil {
10812				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams))
10813			}
10814		}
10815	}
10816
10817	if invalidParams.Len() > 0 {
10818		return invalidParams
10819	}
10820	return nil
10821}
10822
10823// SetAcceptLanguage sets the AcceptLanguage field's value.
10824func (s *CreateProvisionedProductPlanInput) SetAcceptLanguage(v string) *CreateProvisionedProductPlanInput {
10825	s.AcceptLanguage = &v
10826	return s
10827}
10828
10829// SetIdempotencyToken sets the IdempotencyToken field's value.
10830func (s *CreateProvisionedProductPlanInput) SetIdempotencyToken(v string) *CreateProvisionedProductPlanInput {
10831	s.IdempotencyToken = &v
10832	return s
10833}
10834
10835// SetNotificationArns sets the NotificationArns field's value.
10836func (s *CreateProvisionedProductPlanInput) SetNotificationArns(v []*string) *CreateProvisionedProductPlanInput {
10837	s.NotificationArns = v
10838	return s
10839}
10840
10841// SetPathId sets the PathId field's value.
10842func (s *CreateProvisionedProductPlanInput) SetPathId(v string) *CreateProvisionedProductPlanInput {
10843	s.PathId = &v
10844	return s
10845}
10846
10847// SetPlanName sets the PlanName field's value.
10848func (s *CreateProvisionedProductPlanInput) SetPlanName(v string) *CreateProvisionedProductPlanInput {
10849	s.PlanName = &v
10850	return s
10851}
10852
10853// SetPlanType sets the PlanType field's value.
10854func (s *CreateProvisionedProductPlanInput) SetPlanType(v string) *CreateProvisionedProductPlanInput {
10855	s.PlanType = &v
10856	return s
10857}
10858
10859// SetProductId sets the ProductId field's value.
10860func (s *CreateProvisionedProductPlanInput) SetProductId(v string) *CreateProvisionedProductPlanInput {
10861	s.ProductId = &v
10862	return s
10863}
10864
10865// SetProvisionedProductName sets the ProvisionedProductName field's value.
10866func (s *CreateProvisionedProductPlanInput) SetProvisionedProductName(v string) *CreateProvisionedProductPlanInput {
10867	s.ProvisionedProductName = &v
10868	return s
10869}
10870
10871// SetProvisioningArtifactId sets the ProvisioningArtifactId field's value.
10872func (s *CreateProvisionedProductPlanInput) SetProvisioningArtifactId(v string) *CreateProvisionedProductPlanInput {
10873	s.ProvisioningArtifactId = &v
10874	return s
10875}
10876
10877// SetProvisioningParameters sets the ProvisioningParameters field's value.
10878func (s *CreateProvisionedProductPlanInput) SetProvisioningParameters(v []*UpdateProvisioningParameter) *CreateProvisionedProductPlanInput {
10879	s.ProvisioningParameters = v
10880	return s
10881}
10882
10883// SetTags sets the Tags field's value.
10884func (s *CreateProvisionedProductPlanInput) SetTags(v []*Tag) *CreateProvisionedProductPlanInput {
10885	s.Tags = v
10886	return s
10887}
10888
10889type CreateProvisionedProductPlanOutput struct {
10890	_ struct{} `type:"structure"`
10891
10892	// The plan identifier.
10893	PlanId *string `min:"1" type:"string"`
10894
10895	// The name of the plan.
10896	PlanName *string `type:"string"`
10897
10898	// The product identifier.
10899	ProvisionProductId *string `min:"1" type:"string"`
10900
10901	// The user-friendly name of the provisioned product.
10902	ProvisionedProductName *string `min:"1" type:"string"`
10903
10904	// The identifier of the provisioning artifact.
10905	ProvisioningArtifactId *string `min:"1" type:"string"`
10906}
10907
10908// String returns the string representation.
10909//
10910// API parameter values that are decorated as "sensitive" in the API will not
10911// be included in the string output. The member name will be present, but the
10912// value will be replaced with "sensitive".
10913func (s CreateProvisionedProductPlanOutput) String() string {
10914	return awsutil.Prettify(s)
10915}
10916
10917// GoString returns the string representation.
10918//
10919// API parameter values that are decorated as "sensitive" in the API will not
10920// be included in the string output. The member name will be present, but the
10921// value will be replaced with "sensitive".
10922func (s CreateProvisionedProductPlanOutput) GoString() string {
10923	return s.String()
10924}
10925
10926// SetPlanId sets the PlanId field's value.
10927func (s *CreateProvisionedProductPlanOutput) SetPlanId(v string) *CreateProvisionedProductPlanOutput {
10928	s.PlanId = &v
10929	return s
10930}
10931
10932// SetPlanName sets the PlanName field's value.
10933func (s *CreateProvisionedProductPlanOutput) SetPlanName(v string) *CreateProvisionedProductPlanOutput {
10934	s.PlanName = &v
10935	return s
10936}
10937
10938// SetProvisionProductId sets the ProvisionProductId field's value.
10939func (s *CreateProvisionedProductPlanOutput) SetProvisionProductId(v string) *CreateProvisionedProductPlanOutput {
10940	s.ProvisionProductId = &v
10941	return s
10942}
10943
10944// SetProvisionedProductName sets the ProvisionedProductName field's value.
10945func (s *CreateProvisionedProductPlanOutput) SetProvisionedProductName(v string) *CreateProvisionedProductPlanOutput {
10946	s.ProvisionedProductName = &v
10947	return s
10948}
10949
10950// SetProvisioningArtifactId sets the ProvisioningArtifactId field's value.
10951func (s *CreateProvisionedProductPlanOutput) SetProvisioningArtifactId(v string) *CreateProvisionedProductPlanOutput {
10952	s.ProvisioningArtifactId = &v
10953	return s
10954}
10955
10956type CreateProvisioningArtifactInput struct {
10957	_ struct{} `type:"structure"`
10958
10959	// The language code.
10960	//
10961	//    * en - English (default)
10962	//
10963	//    * jp - Japanese
10964	//
10965	//    * zh - Chinese
10966	AcceptLanguage *string `type:"string"`
10967
10968	// A unique identifier that you provide to ensure idempotency. If multiple requests
10969	// differ only by the idempotency token, the same response is returned for each
10970	// repeated request.
10971	IdempotencyToken *string `min:"1" type:"string" idempotencyToken:"true"`
10972
10973	// The configuration for the provisioning artifact.
10974	//
10975	// Parameters is a required field
10976	Parameters *ProvisioningArtifactProperties `type:"structure" required:"true"`
10977
10978	// The product identifier.
10979	//
10980	// ProductId is a required field
10981	ProductId *string `min:"1" type:"string" required:"true"`
10982}
10983
10984// String returns the string representation.
10985//
10986// API parameter values that are decorated as "sensitive" in the API will not
10987// be included in the string output. The member name will be present, but the
10988// value will be replaced with "sensitive".
10989func (s CreateProvisioningArtifactInput) String() string {
10990	return awsutil.Prettify(s)
10991}
10992
10993// GoString returns the string representation.
10994//
10995// API parameter values that are decorated as "sensitive" in the API will not
10996// be included in the string output. The member name will be present, but the
10997// value will be replaced with "sensitive".
10998func (s CreateProvisioningArtifactInput) GoString() string {
10999	return s.String()
11000}
11001
11002// Validate inspects the fields of the type to determine if they are valid.
11003func (s *CreateProvisioningArtifactInput) Validate() error {
11004	invalidParams := request.ErrInvalidParams{Context: "CreateProvisioningArtifactInput"}
11005	if s.IdempotencyToken != nil && len(*s.IdempotencyToken) < 1 {
11006		invalidParams.Add(request.NewErrParamMinLen("IdempotencyToken", 1))
11007	}
11008	if s.Parameters == nil {
11009		invalidParams.Add(request.NewErrParamRequired("Parameters"))
11010	}
11011	if s.ProductId == nil {
11012		invalidParams.Add(request.NewErrParamRequired("ProductId"))
11013	}
11014	if s.ProductId != nil && len(*s.ProductId) < 1 {
11015		invalidParams.Add(request.NewErrParamMinLen("ProductId", 1))
11016	}
11017	if s.Parameters != nil {
11018		if err := s.Parameters.Validate(); err != nil {
11019			invalidParams.AddNested("Parameters", err.(request.ErrInvalidParams))
11020		}
11021	}
11022
11023	if invalidParams.Len() > 0 {
11024		return invalidParams
11025	}
11026	return nil
11027}
11028
11029// SetAcceptLanguage sets the AcceptLanguage field's value.
11030func (s *CreateProvisioningArtifactInput) SetAcceptLanguage(v string) *CreateProvisioningArtifactInput {
11031	s.AcceptLanguage = &v
11032	return s
11033}
11034
11035// SetIdempotencyToken sets the IdempotencyToken field's value.
11036func (s *CreateProvisioningArtifactInput) SetIdempotencyToken(v string) *CreateProvisioningArtifactInput {
11037	s.IdempotencyToken = &v
11038	return s
11039}
11040
11041// SetParameters sets the Parameters field's value.
11042func (s *CreateProvisioningArtifactInput) SetParameters(v *ProvisioningArtifactProperties) *CreateProvisioningArtifactInput {
11043	s.Parameters = v
11044	return s
11045}
11046
11047// SetProductId sets the ProductId field's value.
11048func (s *CreateProvisioningArtifactInput) SetProductId(v string) *CreateProvisioningArtifactInput {
11049	s.ProductId = &v
11050	return s
11051}
11052
11053type CreateProvisioningArtifactOutput struct {
11054	_ struct{} `type:"structure"`
11055
11056	// Specify the template source with one of the following options, but not both.
11057	// Keys accepted: [ LoadTemplateFromURL, ImportFromPhysicalId ].
11058	//
11059	// The URL of the CloudFormation template in Amazon S3, in JSON format.
11060	//
11061	// LoadTemplateFromURL
11062	//
11063	// Use the URL of the CloudFormation template in Amazon S3 in JSON format.
11064	//
11065	// ImportFromPhysicalId
11066	//
11067	// Use the physical id of the resource that contains the template; currently
11068	// supports CloudFormation stack ARN.
11069	Info map[string]*string `min:"1" type:"map"`
11070
11071	// Information about the provisioning artifact.
11072	ProvisioningArtifactDetail *ProvisioningArtifactDetail `type:"structure"`
11073
11074	// The status of the current request.
11075	Status *string `type:"string" enum:"Status"`
11076}
11077
11078// String returns the string representation.
11079//
11080// API parameter values that are decorated as "sensitive" in the API will not
11081// be included in the string output. The member name will be present, but the
11082// value will be replaced with "sensitive".
11083func (s CreateProvisioningArtifactOutput) String() string {
11084	return awsutil.Prettify(s)
11085}
11086
11087// GoString returns the string representation.
11088//
11089// API parameter values that are decorated as "sensitive" in the API will not
11090// be included in the string output. The member name will be present, but the
11091// value will be replaced with "sensitive".
11092func (s CreateProvisioningArtifactOutput) GoString() string {
11093	return s.String()
11094}
11095
11096// SetInfo sets the Info field's value.
11097func (s *CreateProvisioningArtifactOutput) SetInfo(v map[string]*string) *CreateProvisioningArtifactOutput {
11098	s.Info = v
11099	return s
11100}
11101
11102// SetProvisioningArtifactDetail sets the ProvisioningArtifactDetail field's value.
11103func (s *CreateProvisioningArtifactOutput) SetProvisioningArtifactDetail(v *ProvisioningArtifactDetail) *CreateProvisioningArtifactOutput {
11104	s.ProvisioningArtifactDetail = v
11105	return s
11106}
11107
11108// SetStatus sets the Status field's value.
11109func (s *CreateProvisioningArtifactOutput) SetStatus(v string) *CreateProvisioningArtifactOutput {
11110	s.Status = &v
11111	return s
11112}
11113
11114type CreateServiceActionInput struct {
11115	_ struct{} `type:"structure"`
11116
11117	// The language code.
11118	//
11119	//    * en - English (default)
11120	//
11121	//    * jp - Japanese
11122	//
11123	//    * zh - Chinese
11124	AcceptLanguage *string `type:"string"`
11125
11126	// The self-service action definition. Can be one of the following:
11127	//
11128	// Name
11129	//
11130	// The name of the AWS Systems Manager document (SSM document). For example,
11131	// AWS-RestartEC2Instance.
11132	//
11133	// If you are using a shared SSM document, you must provide the ARN instead
11134	// of the name.
11135	//
11136	// Version
11137	//
11138	// The AWS Systems Manager automation document version. For example, "Version":
11139	// "1"
11140	//
11141	// AssumeRole
11142	//
11143	// The Amazon Resource Name (ARN) of the role that performs the self-service
11144	// actions on your behalf. For example, "AssumeRole": "arn:aws:iam::12345678910:role/ActionRole".
11145	//
11146	// To reuse the provisioned product launch role, set to "AssumeRole": "LAUNCH_ROLE".
11147	//
11148	// Parameters
11149	//
11150	// The list of parameters in JSON format.
11151	//
11152	// For example: [{\"Name\":\"InstanceId\",\"Type\":\"TARGET\"}] or [{\"Name\":\"InstanceId\",\"Type\":\"TEXT_VALUE\"}].
11153	//
11154	// Definition is a required field
11155	Definition map[string]*string `min:"1" type:"map" required:"true"`
11156
11157	// The service action definition type. For example, SSM_AUTOMATION.
11158	//
11159	// DefinitionType is a required field
11160	DefinitionType *string `type:"string" required:"true" enum:"ServiceActionDefinitionType"`
11161
11162	// The self-service action description.
11163	Description *string `type:"string"`
11164
11165	// A unique identifier that you provide to ensure idempotency. If multiple requests
11166	// differ only by the idempotency token, the same response is returned for each
11167	// repeated request.
11168	IdempotencyToken *string `min:"1" type:"string" idempotencyToken:"true"`
11169
11170	// The self-service action name.
11171	//
11172	// Name is a required field
11173	Name *string `min:"1" type:"string" required:"true"`
11174}
11175
11176// String returns the string representation.
11177//
11178// API parameter values that are decorated as "sensitive" in the API will not
11179// be included in the string output. The member name will be present, but the
11180// value will be replaced with "sensitive".
11181func (s CreateServiceActionInput) String() string {
11182	return awsutil.Prettify(s)
11183}
11184
11185// GoString returns the string representation.
11186//
11187// API parameter values that are decorated as "sensitive" in the API will not
11188// be included in the string output. The member name will be present, but the
11189// value will be replaced with "sensitive".
11190func (s CreateServiceActionInput) GoString() string {
11191	return s.String()
11192}
11193
11194// Validate inspects the fields of the type to determine if they are valid.
11195func (s *CreateServiceActionInput) Validate() error {
11196	invalidParams := request.ErrInvalidParams{Context: "CreateServiceActionInput"}
11197	if s.Definition == nil {
11198		invalidParams.Add(request.NewErrParamRequired("Definition"))
11199	}
11200	if s.Definition != nil && len(s.Definition) < 1 {
11201		invalidParams.Add(request.NewErrParamMinLen("Definition", 1))
11202	}
11203	if s.DefinitionType == nil {
11204		invalidParams.Add(request.NewErrParamRequired("DefinitionType"))
11205	}
11206	if s.IdempotencyToken != nil && len(*s.IdempotencyToken) < 1 {
11207		invalidParams.Add(request.NewErrParamMinLen("IdempotencyToken", 1))
11208	}
11209	if s.Name == nil {
11210		invalidParams.Add(request.NewErrParamRequired("Name"))
11211	}
11212	if s.Name != nil && len(*s.Name) < 1 {
11213		invalidParams.Add(request.NewErrParamMinLen("Name", 1))
11214	}
11215
11216	if invalidParams.Len() > 0 {
11217		return invalidParams
11218	}
11219	return nil
11220}
11221
11222// SetAcceptLanguage sets the AcceptLanguage field's value.
11223func (s *CreateServiceActionInput) SetAcceptLanguage(v string) *CreateServiceActionInput {
11224	s.AcceptLanguage = &v
11225	return s
11226}
11227
11228// SetDefinition sets the Definition field's value.
11229func (s *CreateServiceActionInput) SetDefinition(v map[string]*string) *CreateServiceActionInput {
11230	s.Definition = v
11231	return s
11232}
11233
11234// SetDefinitionType sets the DefinitionType field's value.
11235func (s *CreateServiceActionInput) SetDefinitionType(v string) *CreateServiceActionInput {
11236	s.DefinitionType = &v
11237	return s
11238}
11239
11240// SetDescription sets the Description field's value.
11241func (s *CreateServiceActionInput) SetDescription(v string) *CreateServiceActionInput {
11242	s.Description = &v
11243	return s
11244}
11245
11246// SetIdempotencyToken sets the IdempotencyToken field's value.
11247func (s *CreateServiceActionInput) SetIdempotencyToken(v string) *CreateServiceActionInput {
11248	s.IdempotencyToken = &v
11249	return s
11250}
11251
11252// SetName sets the Name field's value.
11253func (s *CreateServiceActionInput) SetName(v string) *CreateServiceActionInput {
11254	s.Name = &v
11255	return s
11256}
11257
11258type CreateServiceActionOutput struct {
11259	_ struct{} `type:"structure"`
11260
11261	// An object containing information about the self-service action.
11262	ServiceActionDetail *ServiceActionDetail `type:"structure"`
11263}
11264
11265// String returns the string representation.
11266//
11267// API parameter values that are decorated as "sensitive" in the API will not
11268// be included in the string output. The member name will be present, but the
11269// value will be replaced with "sensitive".
11270func (s CreateServiceActionOutput) String() string {
11271	return awsutil.Prettify(s)
11272}
11273
11274// GoString returns the string representation.
11275//
11276// API parameter values that are decorated as "sensitive" in the API will not
11277// be included in the string output. The member name will be present, but the
11278// value will be replaced with "sensitive".
11279func (s CreateServiceActionOutput) GoString() string {
11280	return s.String()
11281}
11282
11283// SetServiceActionDetail sets the ServiceActionDetail field's value.
11284func (s *CreateServiceActionOutput) SetServiceActionDetail(v *ServiceActionDetail) *CreateServiceActionOutput {
11285	s.ServiceActionDetail = v
11286	return s
11287}
11288
11289type CreateTagOptionInput struct {
11290	_ struct{} `type:"structure"`
11291
11292	// The TagOption key.
11293	//
11294	// Key is a required field
11295	Key *string `min:"1" type:"string" required:"true"`
11296
11297	// The TagOption value.
11298	//
11299	// Value is a required field
11300	Value *string `min:"1" type:"string" required:"true"`
11301}
11302
11303// String returns the string representation.
11304//
11305// API parameter values that are decorated as "sensitive" in the API will not
11306// be included in the string output. The member name will be present, but the
11307// value will be replaced with "sensitive".
11308func (s CreateTagOptionInput) String() string {
11309	return awsutil.Prettify(s)
11310}
11311
11312// GoString returns the string representation.
11313//
11314// API parameter values that are decorated as "sensitive" in the API will not
11315// be included in the string output. The member name will be present, but the
11316// value will be replaced with "sensitive".
11317func (s CreateTagOptionInput) GoString() string {
11318	return s.String()
11319}
11320
11321// Validate inspects the fields of the type to determine if they are valid.
11322func (s *CreateTagOptionInput) Validate() error {
11323	invalidParams := request.ErrInvalidParams{Context: "CreateTagOptionInput"}
11324	if s.Key == nil {
11325		invalidParams.Add(request.NewErrParamRequired("Key"))
11326	}
11327	if s.Key != nil && len(*s.Key) < 1 {
11328		invalidParams.Add(request.NewErrParamMinLen("Key", 1))
11329	}
11330	if s.Value == nil {
11331		invalidParams.Add(request.NewErrParamRequired("Value"))
11332	}
11333	if s.Value != nil && len(*s.Value) < 1 {
11334		invalidParams.Add(request.NewErrParamMinLen("Value", 1))
11335	}
11336
11337	if invalidParams.Len() > 0 {
11338		return invalidParams
11339	}
11340	return nil
11341}
11342
11343// SetKey sets the Key field's value.
11344func (s *CreateTagOptionInput) SetKey(v string) *CreateTagOptionInput {
11345	s.Key = &v
11346	return s
11347}
11348
11349// SetValue sets the Value field's value.
11350func (s *CreateTagOptionInput) SetValue(v string) *CreateTagOptionInput {
11351	s.Value = &v
11352	return s
11353}
11354
11355type CreateTagOptionOutput struct {
11356	_ struct{} `type:"structure"`
11357
11358	// Information about the TagOption.
11359	TagOptionDetail *TagOptionDetail `type:"structure"`
11360}
11361
11362// String returns the string representation.
11363//
11364// API parameter values that are decorated as "sensitive" in the API will not
11365// be included in the string output. The member name will be present, but the
11366// value will be replaced with "sensitive".
11367func (s CreateTagOptionOutput) String() string {
11368	return awsutil.Prettify(s)
11369}
11370
11371// GoString returns the string representation.
11372//
11373// API parameter values that are decorated as "sensitive" in the API will not
11374// be included in the string output. The member name will be present, but the
11375// value will be replaced with "sensitive".
11376func (s CreateTagOptionOutput) GoString() string {
11377	return s.String()
11378}
11379
11380// SetTagOptionDetail sets the TagOptionDetail field's value.
11381func (s *CreateTagOptionOutput) SetTagOptionDetail(v *TagOptionDetail) *CreateTagOptionOutput {
11382	s.TagOptionDetail = v
11383	return s
11384}
11385
11386type DeleteConstraintInput struct {
11387	_ struct{} `type:"structure"`
11388
11389	// The language code.
11390	//
11391	//    * en - English (default)
11392	//
11393	//    * jp - Japanese
11394	//
11395	//    * zh - Chinese
11396	AcceptLanguage *string `type:"string"`
11397
11398	// The identifier of the constraint.
11399	//
11400	// Id is a required field
11401	Id *string `min:"1" type:"string" required:"true"`
11402}
11403
11404// String returns the string representation.
11405//
11406// API parameter values that are decorated as "sensitive" in the API will not
11407// be included in the string output. The member name will be present, but the
11408// value will be replaced with "sensitive".
11409func (s DeleteConstraintInput) String() string {
11410	return awsutil.Prettify(s)
11411}
11412
11413// GoString returns the string representation.
11414//
11415// API parameter values that are decorated as "sensitive" in the API will not
11416// be included in the string output. The member name will be present, but the
11417// value will be replaced with "sensitive".
11418func (s DeleteConstraintInput) GoString() string {
11419	return s.String()
11420}
11421
11422// Validate inspects the fields of the type to determine if they are valid.
11423func (s *DeleteConstraintInput) Validate() error {
11424	invalidParams := request.ErrInvalidParams{Context: "DeleteConstraintInput"}
11425	if s.Id == nil {
11426		invalidParams.Add(request.NewErrParamRequired("Id"))
11427	}
11428	if s.Id != nil && len(*s.Id) < 1 {
11429		invalidParams.Add(request.NewErrParamMinLen("Id", 1))
11430	}
11431
11432	if invalidParams.Len() > 0 {
11433		return invalidParams
11434	}
11435	return nil
11436}
11437
11438// SetAcceptLanguage sets the AcceptLanguage field's value.
11439func (s *DeleteConstraintInput) SetAcceptLanguage(v string) *DeleteConstraintInput {
11440	s.AcceptLanguage = &v
11441	return s
11442}
11443
11444// SetId sets the Id field's value.
11445func (s *DeleteConstraintInput) SetId(v string) *DeleteConstraintInput {
11446	s.Id = &v
11447	return s
11448}
11449
11450type DeleteConstraintOutput struct {
11451	_ struct{} `type:"structure"`
11452}
11453
11454// String returns the string representation.
11455//
11456// API parameter values that are decorated as "sensitive" in the API will not
11457// be included in the string output. The member name will be present, but the
11458// value will be replaced with "sensitive".
11459func (s DeleteConstraintOutput) String() string {
11460	return awsutil.Prettify(s)
11461}
11462
11463// GoString returns the string representation.
11464//
11465// API parameter values that are decorated as "sensitive" in the API will not
11466// be included in the string output. The member name will be present, but the
11467// value will be replaced with "sensitive".
11468func (s DeleteConstraintOutput) GoString() string {
11469	return s.String()
11470}
11471
11472type DeletePortfolioInput struct {
11473	_ struct{} `type:"structure"`
11474
11475	// The language code.
11476	//
11477	//    * en - English (default)
11478	//
11479	//    * jp - Japanese
11480	//
11481	//    * zh - Chinese
11482	AcceptLanguage *string `type:"string"`
11483
11484	// The portfolio identifier.
11485	//
11486	// Id is a required field
11487	Id *string `min:"1" type:"string" required:"true"`
11488}
11489
11490// String returns the string representation.
11491//
11492// API parameter values that are decorated as "sensitive" in the API will not
11493// be included in the string output. The member name will be present, but the
11494// value will be replaced with "sensitive".
11495func (s DeletePortfolioInput) String() string {
11496	return awsutil.Prettify(s)
11497}
11498
11499// GoString returns the string representation.
11500//
11501// API parameter values that are decorated as "sensitive" in the API will not
11502// be included in the string output. The member name will be present, but the
11503// value will be replaced with "sensitive".
11504func (s DeletePortfolioInput) GoString() string {
11505	return s.String()
11506}
11507
11508// Validate inspects the fields of the type to determine if they are valid.
11509func (s *DeletePortfolioInput) Validate() error {
11510	invalidParams := request.ErrInvalidParams{Context: "DeletePortfolioInput"}
11511	if s.Id == nil {
11512		invalidParams.Add(request.NewErrParamRequired("Id"))
11513	}
11514	if s.Id != nil && len(*s.Id) < 1 {
11515		invalidParams.Add(request.NewErrParamMinLen("Id", 1))
11516	}
11517
11518	if invalidParams.Len() > 0 {
11519		return invalidParams
11520	}
11521	return nil
11522}
11523
11524// SetAcceptLanguage sets the AcceptLanguage field's value.
11525func (s *DeletePortfolioInput) SetAcceptLanguage(v string) *DeletePortfolioInput {
11526	s.AcceptLanguage = &v
11527	return s
11528}
11529
11530// SetId sets the Id field's value.
11531func (s *DeletePortfolioInput) SetId(v string) *DeletePortfolioInput {
11532	s.Id = &v
11533	return s
11534}
11535
11536type DeletePortfolioOutput struct {
11537	_ struct{} `type:"structure"`
11538}
11539
11540// String returns the string representation.
11541//
11542// API parameter values that are decorated as "sensitive" in the API will not
11543// be included in the string output. The member name will be present, but the
11544// value will be replaced with "sensitive".
11545func (s DeletePortfolioOutput) String() string {
11546	return awsutil.Prettify(s)
11547}
11548
11549// GoString returns the string representation.
11550//
11551// API parameter values that are decorated as "sensitive" in the API will not
11552// be included in the string output. The member name will be present, but the
11553// value will be replaced with "sensitive".
11554func (s DeletePortfolioOutput) GoString() string {
11555	return s.String()
11556}
11557
11558type DeletePortfolioShareInput struct {
11559	_ struct{} `type:"structure"`
11560
11561	// The language code.
11562	//
11563	//    * en - English (default)
11564	//
11565	//    * jp - Japanese
11566	//
11567	//    * zh - Chinese
11568	AcceptLanguage *string `type:"string"`
11569
11570	// The AWS account ID.
11571	AccountId *string `type:"string"`
11572
11573	// The organization node to whom you are going to stop sharing.
11574	OrganizationNode *OrganizationNode `type:"structure"`
11575
11576	// The portfolio identifier.
11577	//
11578	// PortfolioId is a required field
11579	PortfolioId *string `min:"1" type:"string" required:"true"`
11580}
11581
11582// String returns the string representation.
11583//
11584// API parameter values that are decorated as "sensitive" in the API will not
11585// be included in the string output. The member name will be present, but the
11586// value will be replaced with "sensitive".
11587func (s DeletePortfolioShareInput) String() string {
11588	return awsutil.Prettify(s)
11589}
11590
11591// GoString returns the string representation.
11592//
11593// API parameter values that are decorated as "sensitive" in the API will not
11594// be included in the string output. The member name will be present, but the
11595// value will be replaced with "sensitive".
11596func (s DeletePortfolioShareInput) GoString() string {
11597	return s.String()
11598}
11599
11600// Validate inspects the fields of the type to determine if they are valid.
11601func (s *DeletePortfolioShareInput) Validate() error {
11602	invalidParams := request.ErrInvalidParams{Context: "DeletePortfolioShareInput"}
11603	if s.PortfolioId == nil {
11604		invalidParams.Add(request.NewErrParamRequired("PortfolioId"))
11605	}
11606	if s.PortfolioId != nil && len(*s.PortfolioId) < 1 {
11607		invalidParams.Add(request.NewErrParamMinLen("PortfolioId", 1))
11608	}
11609
11610	if invalidParams.Len() > 0 {
11611		return invalidParams
11612	}
11613	return nil
11614}
11615
11616// SetAcceptLanguage sets the AcceptLanguage field's value.
11617func (s *DeletePortfolioShareInput) SetAcceptLanguage(v string) *DeletePortfolioShareInput {
11618	s.AcceptLanguage = &v
11619	return s
11620}
11621
11622// SetAccountId sets the AccountId field's value.
11623func (s *DeletePortfolioShareInput) SetAccountId(v string) *DeletePortfolioShareInput {
11624	s.AccountId = &v
11625	return s
11626}
11627
11628// SetOrganizationNode sets the OrganizationNode field's value.
11629func (s *DeletePortfolioShareInput) SetOrganizationNode(v *OrganizationNode) *DeletePortfolioShareInput {
11630	s.OrganizationNode = v
11631	return s
11632}
11633
11634// SetPortfolioId sets the PortfolioId field's value.
11635func (s *DeletePortfolioShareInput) SetPortfolioId(v string) *DeletePortfolioShareInput {
11636	s.PortfolioId = &v
11637	return s
11638}
11639
11640type DeletePortfolioShareOutput struct {
11641	_ struct{} `type:"structure"`
11642
11643	// The portfolio share unique identifier. This will only be returned if delete
11644	// is made to an organization node.
11645	PortfolioShareToken *string `min:"1" type:"string"`
11646}
11647
11648// String returns the string representation.
11649//
11650// API parameter values that are decorated as "sensitive" in the API will not
11651// be included in the string output. The member name will be present, but the
11652// value will be replaced with "sensitive".
11653func (s DeletePortfolioShareOutput) String() string {
11654	return awsutil.Prettify(s)
11655}
11656
11657// GoString returns the string representation.
11658//
11659// API parameter values that are decorated as "sensitive" in the API will not
11660// be included in the string output. The member name will be present, but the
11661// value will be replaced with "sensitive".
11662func (s DeletePortfolioShareOutput) GoString() string {
11663	return s.String()
11664}
11665
11666// SetPortfolioShareToken sets the PortfolioShareToken field's value.
11667func (s *DeletePortfolioShareOutput) SetPortfolioShareToken(v string) *DeletePortfolioShareOutput {
11668	s.PortfolioShareToken = &v
11669	return s
11670}
11671
11672type DeleteProductInput struct {
11673	_ struct{} `type:"structure"`
11674
11675	// The language code.
11676	//
11677	//    * en - English (default)
11678	//
11679	//    * jp - Japanese
11680	//
11681	//    * zh - Chinese
11682	AcceptLanguage *string `type:"string"`
11683
11684	// The product identifier.
11685	//
11686	// Id is a required field
11687	Id *string `min:"1" type:"string" required:"true"`
11688}
11689
11690// String returns the string representation.
11691//
11692// API parameter values that are decorated as "sensitive" in the API will not
11693// be included in the string output. The member name will be present, but the
11694// value will be replaced with "sensitive".
11695func (s DeleteProductInput) String() string {
11696	return awsutil.Prettify(s)
11697}
11698
11699// GoString returns the string representation.
11700//
11701// API parameter values that are decorated as "sensitive" in the API will not
11702// be included in the string output. The member name will be present, but the
11703// value will be replaced with "sensitive".
11704func (s DeleteProductInput) GoString() string {
11705	return s.String()
11706}
11707
11708// Validate inspects the fields of the type to determine if they are valid.
11709func (s *DeleteProductInput) Validate() error {
11710	invalidParams := request.ErrInvalidParams{Context: "DeleteProductInput"}
11711	if s.Id == nil {
11712		invalidParams.Add(request.NewErrParamRequired("Id"))
11713	}
11714	if s.Id != nil && len(*s.Id) < 1 {
11715		invalidParams.Add(request.NewErrParamMinLen("Id", 1))
11716	}
11717
11718	if invalidParams.Len() > 0 {
11719		return invalidParams
11720	}
11721	return nil
11722}
11723
11724// SetAcceptLanguage sets the AcceptLanguage field's value.
11725func (s *DeleteProductInput) SetAcceptLanguage(v string) *DeleteProductInput {
11726	s.AcceptLanguage = &v
11727	return s
11728}
11729
11730// SetId sets the Id field's value.
11731func (s *DeleteProductInput) SetId(v string) *DeleteProductInput {
11732	s.Id = &v
11733	return s
11734}
11735
11736type DeleteProductOutput struct {
11737	_ struct{} `type:"structure"`
11738}
11739
11740// String returns the string representation.
11741//
11742// API parameter values that are decorated as "sensitive" in the API will not
11743// be included in the string output. The member name will be present, but the
11744// value will be replaced with "sensitive".
11745func (s DeleteProductOutput) String() string {
11746	return awsutil.Prettify(s)
11747}
11748
11749// GoString returns the string representation.
11750//
11751// API parameter values that are decorated as "sensitive" in the API will not
11752// be included in the string output. The member name will be present, but the
11753// value will be replaced with "sensitive".
11754func (s DeleteProductOutput) GoString() string {
11755	return s.String()
11756}
11757
11758type DeleteProvisionedProductPlanInput struct {
11759	_ struct{} `type:"structure"`
11760
11761	// The language code.
11762	//
11763	//    * en - English (default)
11764	//
11765	//    * jp - Japanese
11766	//
11767	//    * zh - Chinese
11768	AcceptLanguage *string `type:"string"`
11769
11770	// If set to true, AWS Service Catalog stops managing the specified provisioned
11771	// product even if it cannot delete the underlying resources.
11772	IgnoreErrors *bool `type:"boolean"`
11773
11774	// The plan identifier.
11775	//
11776	// PlanId is a required field
11777	PlanId *string `min:"1" type:"string" required:"true"`
11778}
11779
11780// String returns the string representation.
11781//
11782// API parameter values that are decorated as "sensitive" in the API will not
11783// be included in the string output. The member name will be present, but the
11784// value will be replaced with "sensitive".
11785func (s DeleteProvisionedProductPlanInput) String() string {
11786	return awsutil.Prettify(s)
11787}
11788
11789// GoString returns the string representation.
11790//
11791// API parameter values that are decorated as "sensitive" in the API will not
11792// be included in the string output. The member name will be present, but the
11793// value will be replaced with "sensitive".
11794func (s DeleteProvisionedProductPlanInput) GoString() string {
11795	return s.String()
11796}
11797
11798// Validate inspects the fields of the type to determine if they are valid.
11799func (s *DeleteProvisionedProductPlanInput) Validate() error {
11800	invalidParams := request.ErrInvalidParams{Context: "DeleteProvisionedProductPlanInput"}
11801	if s.PlanId == nil {
11802		invalidParams.Add(request.NewErrParamRequired("PlanId"))
11803	}
11804	if s.PlanId != nil && len(*s.PlanId) < 1 {
11805		invalidParams.Add(request.NewErrParamMinLen("PlanId", 1))
11806	}
11807
11808	if invalidParams.Len() > 0 {
11809		return invalidParams
11810	}
11811	return nil
11812}
11813
11814// SetAcceptLanguage sets the AcceptLanguage field's value.
11815func (s *DeleteProvisionedProductPlanInput) SetAcceptLanguage(v string) *DeleteProvisionedProductPlanInput {
11816	s.AcceptLanguage = &v
11817	return s
11818}
11819
11820// SetIgnoreErrors sets the IgnoreErrors field's value.
11821func (s *DeleteProvisionedProductPlanInput) SetIgnoreErrors(v bool) *DeleteProvisionedProductPlanInput {
11822	s.IgnoreErrors = &v
11823	return s
11824}
11825
11826// SetPlanId sets the PlanId field's value.
11827func (s *DeleteProvisionedProductPlanInput) SetPlanId(v string) *DeleteProvisionedProductPlanInput {
11828	s.PlanId = &v
11829	return s
11830}
11831
11832type DeleteProvisionedProductPlanOutput struct {
11833	_ struct{} `type:"structure"`
11834}
11835
11836// String returns the string representation.
11837//
11838// API parameter values that are decorated as "sensitive" in the API will not
11839// be included in the string output. The member name will be present, but the
11840// value will be replaced with "sensitive".
11841func (s DeleteProvisionedProductPlanOutput) String() string {
11842	return awsutil.Prettify(s)
11843}
11844
11845// GoString returns the string representation.
11846//
11847// API parameter values that are decorated as "sensitive" in the API will not
11848// be included in the string output. The member name will be present, but the
11849// value will be replaced with "sensitive".
11850func (s DeleteProvisionedProductPlanOutput) GoString() string {
11851	return s.String()
11852}
11853
11854type DeleteProvisioningArtifactInput struct {
11855	_ struct{} `type:"structure"`
11856
11857	// The language code.
11858	//
11859	//    * en - English (default)
11860	//
11861	//    * jp - Japanese
11862	//
11863	//    * zh - Chinese
11864	AcceptLanguage *string `type:"string"`
11865
11866	// The product identifier.
11867	//
11868	// ProductId is a required field
11869	ProductId *string `min:"1" type:"string" required:"true"`
11870
11871	// The identifier of the provisioning artifact.
11872	//
11873	// ProvisioningArtifactId is a required field
11874	ProvisioningArtifactId *string `min:"1" type:"string" required:"true"`
11875}
11876
11877// String returns the string representation.
11878//
11879// API parameter values that are decorated as "sensitive" in the API will not
11880// be included in the string output. The member name will be present, but the
11881// value will be replaced with "sensitive".
11882func (s DeleteProvisioningArtifactInput) String() string {
11883	return awsutil.Prettify(s)
11884}
11885
11886// GoString returns the string representation.
11887//
11888// API parameter values that are decorated as "sensitive" in the API will not
11889// be included in the string output. The member name will be present, but the
11890// value will be replaced with "sensitive".
11891func (s DeleteProvisioningArtifactInput) GoString() string {
11892	return s.String()
11893}
11894
11895// Validate inspects the fields of the type to determine if they are valid.
11896func (s *DeleteProvisioningArtifactInput) Validate() error {
11897	invalidParams := request.ErrInvalidParams{Context: "DeleteProvisioningArtifactInput"}
11898	if s.ProductId == nil {
11899		invalidParams.Add(request.NewErrParamRequired("ProductId"))
11900	}
11901	if s.ProductId != nil && len(*s.ProductId) < 1 {
11902		invalidParams.Add(request.NewErrParamMinLen("ProductId", 1))
11903	}
11904	if s.ProvisioningArtifactId == nil {
11905		invalidParams.Add(request.NewErrParamRequired("ProvisioningArtifactId"))
11906	}
11907	if s.ProvisioningArtifactId != nil && len(*s.ProvisioningArtifactId) < 1 {
11908		invalidParams.Add(request.NewErrParamMinLen("ProvisioningArtifactId", 1))
11909	}
11910
11911	if invalidParams.Len() > 0 {
11912		return invalidParams
11913	}
11914	return nil
11915}
11916
11917// SetAcceptLanguage sets the AcceptLanguage field's value.
11918func (s *DeleteProvisioningArtifactInput) SetAcceptLanguage(v string) *DeleteProvisioningArtifactInput {
11919	s.AcceptLanguage = &v
11920	return s
11921}
11922
11923// SetProductId sets the ProductId field's value.
11924func (s *DeleteProvisioningArtifactInput) SetProductId(v string) *DeleteProvisioningArtifactInput {
11925	s.ProductId = &v
11926	return s
11927}
11928
11929// SetProvisioningArtifactId sets the ProvisioningArtifactId field's value.
11930func (s *DeleteProvisioningArtifactInput) SetProvisioningArtifactId(v string) *DeleteProvisioningArtifactInput {
11931	s.ProvisioningArtifactId = &v
11932	return s
11933}
11934
11935type DeleteProvisioningArtifactOutput struct {
11936	_ struct{} `type:"structure"`
11937}
11938
11939// String returns the string representation.
11940//
11941// API parameter values that are decorated as "sensitive" in the API will not
11942// be included in the string output. The member name will be present, but the
11943// value will be replaced with "sensitive".
11944func (s DeleteProvisioningArtifactOutput) String() string {
11945	return awsutil.Prettify(s)
11946}
11947
11948// GoString returns the string representation.
11949//
11950// API parameter values that are decorated as "sensitive" in the API will not
11951// be included in the string output. The member name will be present, but the
11952// value will be replaced with "sensitive".
11953func (s DeleteProvisioningArtifactOutput) GoString() string {
11954	return s.String()
11955}
11956
11957type DeleteServiceActionInput struct {
11958	_ struct{} `type:"structure"`
11959
11960	// The language code.
11961	//
11962	//    * en - English (default)
11963	//
11964	//    * jp - Japanese
11965	//
11966	//    * zh - Chinese
11967	AcceptLanguage *string `type:"string"`
11968
11969	// The self-service action identifier. For example, act-fs7abcd89wxyz.
11970	//
11971	// Id is a required field
11972	Id *string `min:"1" type:"string" required:"true"`
11973}
11974
11975// String returns the string representation.
11976//
11977// API parameter values that are decorated as "sensitive" in the API will not
11978// be included in the string output. The member name will be present, but the
11979// value will be replaced with "sensitive".
11980func (s DeleteServiceActionInput) String() string {
11981	return awsutil.Prettify(s)
11982}
11983
11984// GoString returns the string representation.
11985//
11986// API parameter values that are decorated as "sensitive" in the API will not
11987// be included in the string output. The member name will be present, but the
11988// value will be replaced with "sensitive".
11989func (s DeleteServiceActionInput) GoString() string {
11990	return s.String()
11991}
11992
11993// Validate inspects the fields of the type to determine if they are valid.
11994func (s *DeleteServiceActionInput) Validate() error {
11995	invalidParams := request.ErrInvalidParams{Context: "DeleteServiceActionInput"}
11996	if s.Id == nil {
11997		invalidParams.Add(request.NewErrParamRequired("Id"))
11998	}
11999	if s.Id != nil && len(*s.Id) < 1 {
12000		invalidParams.Add(request.NewErrParamMinLen("Id", 1))
12001	}
12002
12003	if invalidParams.Len() > 0 {
12004		return invalidParams
12005	}
12006	return nil
12007}
12008
12009// SetAcceptLanguage sets the AcceptLanguage field's value.
12010func (s *DeleteServiceActionInput) SetAcceptLanguage(v string) *DeleteServiceActionInput {
12011	s.AcceptLanguage = &v
12012	return s
12013}
12014
12015// SetId sets the Id field's value.
12016func (s *DeleteServiceActionInput) SetId(v string) *DeleteServiceActionInput {
12017	s.Id = &v
12018	return s
12019}
12020
12021type DeleteServiceActionOutput struct {
12022	_ struct{} `type:"structure"`
12023}
12024
12025// String returns the string representation.
12026//
12027// API parameter values that are decorated as "sensitive" in the API will not
12028// be included in the string output. The member name will be present, but the
12029// value will be replaced with "sensitive".
12030func (s DeleteServiceActionOutput) String() string {
12031	return awsutil.Prettify(s)
12032}
12033
12034// GoString returns the string representation.
12035//
12036// API parameter values that are decorated as "sensitive" in the API will not
12037// be included in the string output. The member name will be present, but the
12038// value will be replaced with "sensitive".
12039func (s DeleteServiceActionOutput) GoString() string {
12040	return s.String()
12041}
12042
12043type DeleteTagOptionInput struct {
12044	_ struct{} `type:"structure"`
12045
12046	// The TagOption identifier.
12047	//
12048	// Id is a required field
12049	Id *string `min:"1" type:"string" required:"true"`
12050}
12051
12052// String returns the string representation.
12053//
12054// API parameter values that are decorated as "sensitive" in the API will not
12055// be included in the string output. The member name will be present, but the
12056// value will be replaced with "sensitive".
12057func (s DeleteTagOptionInput) String() string {
12058	return awsutil.Prettify(s)
12059}
12060
12061// GoString returns the string representation.
12062//
12063// API parameter values that are decorated as "sensitive" in the API will not
12064// be included in the string output. The member name will be present, but the
12065// value will be replaced with "sensitive".
12066func (s DeleteTagOptionInput) GoString() string {
12067	return s.String()
12068}
12069
12070// Validate inspects the fields of the type to determine if they are valid.
12071func (s *DeleteTagOptionInput) Validate() error {
12072	invalidParams := request.ErrInvalidParams{Context: "DeleteTagOptionInput"}
12073	if s.Id == nil {
12074		invalidParams.Add(request.NewErrParamRequired("Id"))
12075	}
12076	if s.Id != nil && len(*s.Id) < 1 {
12077		invalidParams.Add(request.NewErrParamMinLen("Id", 1))
12078	}
12079
12080	if invalidParams.Len() > 0 {
12081		return invalidParams
12082	}
12083	return nil
12084}
12085
12086// SetId sets the Id field's value.
12087func (s *DeleteTagOptionInput) SetId(v string) *DeleteTagOptionInput {
12088	s.Id = &v
12089	return s
12090}
12091
12092type DeleteTagOptionOutput struct {
12093	_ struct{} `type:"structure"`
12094}
12095
12096// String returns the string representation.
12097//
12098// API parameter values that are decorated as "sensitive" in the API will not
12099// be included in the string output. The member name will be present, but the
12100// value will be replaced with "sensitive".
12101func (s DeleteTagOptionOutput) String() string {
12102	return awsutil.Prettify(s)
12103}
12104
12105// GoString returns the string representation.
12106//
12107// API parameter values that are decorated as "sensitive" in the API will not
12108// be included in the string output. The member name will be present, but the
12109// value will be replaced with "sensitive".
12110func (s DeleteTagOptionOutput) GoString() string {
12111	return s.String()
12112}
12113
12114type DescribeConstraintInput struct {
12115	_ struct{} `type:"structure"`
12116
12117	// The language code.
12118	//
12119	//    * en - English (default)
12120	//
12121	//    * jp - Japanese
12122	//
12123	//    * zh - Chinese
12124	AcceptLanguage *string `type:"string"`
12125
12126	// The identifier of the constraint.
12127	//
12128	// Id is a required field
12129	Id *string `min:"1" type:"string" required:"true"`
12130}
12131
12132// String returns the string representation.
12133//
12134// API parameter values that are decorated as "sensitive" in the API will not
12135// be included in the string output. The member name will be present, but the
12136// value will be replaced with "sensitive".
12137func (s DescribeConstraintInput) String() string {
12138	return awsutil.Prettify(s)
12139}
12140
12141// GoString returns the string representation.
12142//
12143// API parameter values that are decorated as "sensitive" in the API will not
12144// be included in the string output. The member name will be present, but the
12145// value will be replaced with "sensitive".
12146func (s DescribeConstraintInput) GoString() string {
12147	return s.String()
12148}
12149
12150// Validate inspects the fields of the type to determine if they are valid.
12151func (s *DescribeConstraintInput) Validate() error {
12152	invalidParams := request.ErrInvalidParams{Context: "DescribeConstraintInput"}
12153	if s.Id == nil {
12154		invalidParams.Add(request.NewErrParamRequired("Id"))
12155	}
12156	if s.Id != nil && len(*s.Id) < 1 {
12157		invalidParams.Add(request.NewErrParamMinLen("Id", 1))
12158	}
12159
12160	if invalidParams.Len() > 0 {
12161		return invalidParams
12162	}
12163	return nil
12164}
12165
12166// SetAcceptLanguage sets the AcceptLanguage field's value.
12167func (s *DescribeConstraintInput) SetAcceptLanguage(v string) *DescribeConstraintInput {
12168	s.AcceptLanguage = &v
12169	return s
12170}
12171
12172// SetId sets the Id field's value.
12173func (s *DescribeConstraintInput) SetId(v string) *DescribeConstraintInput {
12174	s.Id = &v
12175	return s
12176}
12177
12178type DescribeConstraintOutput struct {
12179	_ struct{} `type:"structure"`
12180
12181	// Information about the constraint.
12182	ConstraintDetail *ConstraintDetail `type:"structure"`
12183
12184	// The constraint parameters.
12185	ConstraintParameters *string `type:"string"`
12186
12187	// The status of the current request.
12188	Status *string `type:"string" enum:"Status"`
12189}
12190
12191// String returns the string representation.
12192//
12193// API parameter values that are decorated as "sensitive" in the API will not
12194// be included in the string output. The member name will be present, but the
12195// value will be replaced with "sensitive".
12196func (s DescribeConstraintOutput) String() string {
12197	return awsutil.Prettify(s)
12198}
12199
12200// GoString returns the string representation.
12201//
12202// API parameter values that are decorated as "sensitive" in the API will not
12203// be included in the string output. The member name will be present, but the
12204// value will be replaced with "sensitive".
12205func (s DescribeConstraintOutput) GoString() string {
12206	return s.String()
12207}
12208
12209// SetConstraintDetail sets the ConstraintDetail field's value.
12210func (s *DescribeConstraintOutput) SetConstraintDetail(v *ConstraintDetail) *DescribeConstraintOutput {
12211	s.ConstraintDetail = v
12212	return s
12213}
12214
12215// SetConstraintParameters sets the ConstraintParameters field's value.
12216func (s *DescribeConstraintOutput) SetConstraintParameters(v string) *DescribeConstraintOutput {
12217	s.ConstraintParameters = &v
12218	return s
12219}
12220
12221// SetStatus sets the Status field's value.
12222func (s *DescribeConstraintOutput) SetStatus(v string) *DescribeConstraintOutput {
12223	s.Status = &v
12224	return s
12225}
12226
12227type DescribeCopyProductStatusInput struct {
12228	_ struct{} `type:"structure"`
12229
12230	// The language code.
12231	//
12232	//    * en - English (default)
12233	//
12234	//    * jp - Japanese
12235	//
12236	//    * zh - Chinese
12237	AcceptLanguage *string `type:"string"`
12238
12239	// The token for the copy product operation. This token is returned by CopyProduct.
12240	//
12241	// CopyProductToken is a required field
12242	CopyProductToken *string `min:"1" type:"string" required:"true"`
12243}
12244
12245// String returns the string representation.
12246//
12247// API parameter values that are decorated as "sensitive" in the API will not
12248// be included in the string output. The member name will be present, but the
12249// value will be replaced with "sensitive".
12250func (s DescribeCopyProductStatusInput) String() string {
12251	return awsutil.Prettify(s)
12252}
12253
12254// GoString returns the string representation.
12255//
12256// API parameter values that are decorated as "sensitive" in the API will not
12257// be included in the string output. The member name will be present, but the
12258// value will be replaced with "sensitive".
12259func (s DescribeCopyProductStatusInput) GoString() string {
12260	return s.String()
12261}
12262
12263// Validate inspects the fields of the type to determine if they are valid.
12264func (s *DescribeCopyProductStatusInput) Validate() error {
12265	invalidParams := request.ErrInvalidParams{Context: "DescribeCopyProductStatusInput"}
12266	if s.CopyProductToken == nil {
12267		invalidParams.Add(request.NewErrParamRequired("CopyProductToken"))
12268	}
12269	if s.CopyProductToken != nil && len(*s.CopyProductToken) < 1 {
12270		invalidParams.Add(request.NewErrParamMinLen("CopyProductToken", 1))
12271	}
12272
12273	if invalidParams.Len() > 0 {
12274		return invalidParams
12275	}
12276	return nil
12277}
12278
12279// SetAcceptLanguage sets the AcceptLanguage field's value.
12280func (s *DescribeCopyProductStatusInput) SetAcceptLanguage(v string) *DescribeCopyProductStatusInput {
12281	s.AcceptLanguage = &v
12282	return s
12283}
12284
12285// SetCopyProductToken sets the CopyProductToken field's value.
12286func (s *DescribeCopyProductStatusInput) SetCopyProductToken(v string) *DescribeCopyProductStatusInput {
12287	s.CopyProductToken = &v
12288	return s
12289}
12290
12291type DescribeCopyProductStatusOutput struct {
12292	_ struct{} `type:"structure"`
12293
12294	// The status of the copy product operation.
12295	CopyProductStatus *string `type:"string" enum:"CopyProductStatus"`
12296
12297	// The status message.
12298	StatusDetail *string `type:"string"`
12299
12300	// The identifier of the copied product.
12301	TargetProductId *string `min:"1" type:"string"`
12302}
12303
12304// String returns the string representation.
12305//
12306// API parameter values that are decorated as "sensitive" in the API will not
12307// be included in the string output. The member name will be present, but the
12308// value will be replaced with "sensitive".
12309func (s DescribeCopyProductStatusOutput) String() string {
12310	return awsutil.Prettify(s)
12311}
12312
12313// GoString returns the string representation.
12314//
12315// API parameter values that are decorated as "sensitive" in the API will not
12316// be included in the string output. The member name will be present, but the
12317// value will be replaced with "sensitive".
12318func (s DescribeCopyProductStatusOutput) GoString() string {
12319	return s.String()
12320}
12321
12322// SetCopyProductStatus sets the CopyProductStatus field's value.
12323func (s *DescribeCopyProductStatusOutput) SetCopyProductStatus(v string) *DescribeCopyProductStatusOutput {
12324	s.CopyProductStatus = &v
12325	return s
12326}
12327
12328// SetStatusDetail sets the StatusDetail field's value.
12329func (s *DescribeCopyProductStatusOutput) SetStatusDetail(v string) *DescribeCopyProductStatusOutput {
12330	s.StatusDetail = &v
12331	return s
12332}
12333
12334// SetTargetProductId sets the TargetProductId field's value.
12335func (s *DescribeCopyProductStatusOutput) SetTargetProductId(v string) *DescribeCopyProductStatusOutput {
12336	s.TargetProductId = &v
12337	return s
12338}
12339
12340type DescribePortfolioInput struct {
12341	_ struct{} `type:"structure"`
12342
12343	// The language code.
12344	//
12345	//    * en - English (default)
12346	//
12347	//    * jp - Japanese
12348	//
12349	//    * zh - Chinese
12350	AcceptLanguage *string `type:"string"`
12351
12352	// The portfolio identifier.
12353	//
12354	// Id is a required field
12355	Id *string `min:"1" type:"string" required:"true"`
12356}
12357
12358// String returns the string representation.
12359//
12360// API parameter values that are decorated as "sensitive" in the API will not
12361// be included in the string output. The member name will be present, but the
12362// value will be replaced with "sensitive".
12363func (s DescribePortfolioInput) String() string {
12364	return awsutil.Prettify(s)
12365}
12366
12367// GoString returns the string representation.
12368//
12369// API parameter values that are decorated as "sensitive" in the API will not
12370// be included in the string output. The member name will be present, but the
12371// value will be replaced with "sensitive".
12372func (s DescribePortfolioInput) GoString() string {
12373	return s.String()
12374}
12375
12376// Validate inspects the fields of the type to determine if they are valid.
12377func (s *DescribePortfolioInput) Validate() error {
12378	invalidParams := request.ErrInvalidParams{Context: "DescribePortfolioInput"}
12379	if s.Id == nil {
12380		invalidParams.Add(request.NewErrParamRequired("Id"))
12381	}
12382	if s.Id != nil && len(*s.Id) < 1 {
12383		invalidParams.Add(request.NewErrParamMinLen("Id", 1))
12384	}
12385
12386	if invalidParams.Len() > 0 {
12387		return invalidParams
12388	}
12389	return nil
12390}
12391
12392// SetAcceptLanguage sets the AcceptLanguage field's value.
12393func (s *DescribePortfolioInput) SetAcceptLanguage(v string) *DescribePortfolioInput {
12394	s.AcceptLanguage = &v
12395	return s
12396}
12397
12398// SetId sets the Id field's value.
12399func (s *DescribePortfolioInput) SetId(v string) *DescribePortfolioInput {
12400	s.Id = &v
12401	return s
12402}
12403
12404type DescribePortfolioOutput struct {
12405	_ struct{} `type:"structure"`
12406
12407	// Information about the associated budgets.
12408	Budgets []*BudgetDetail `type:"list"`
12409
12410	// Information about the portfolio.
12411	PortfolioDetail *PortfolioDetail `type:"structure"`
12412
12413	// Information about the TagOptions associated with the portfolio.
12414	TagOptions []*TagOptionDetail `type:"list"`
12415
12416	// Information about the tags associated with the portfolio.
12417	Tags []*Tag `type:"list"`
12418}
12419
12420// String returns the string representation.
12421//
12422// API parameter values that are decorated as "sensitive" in the API will not
12423// be included in the string output. The member name will be present, but the
12424// value will be replaced with "sensitive".
12425func (s DescribePortfolioOutput) String() string {
12426	return awsutil.Prettify(s)
12427}
12428
12429// GoString returns the string representation.
12430//
12431// API parameter values that are decorated as "sensitive" in the API will not
12432// be included in the string output. The member name will be present, but the
12433// value will be replaced with "sensitive".
12434func (s DescribePortfolioOutput) GoString() string {
12435	return s.String()
12436}
12437
12438// SetBudgets sets the Budgets field's value.
12439func (s *DescribePortfolioOutput) SetBudgets(v []*BudgetDetail) *DescribePortfolioOutput {
12440	s.Budgets = v
12441	return s
12442}
12443
12444// SetPortfolioDetail sets the PortfolioDetail field's value.
12445func (s *DescribePortfolioOutput) SetPortfolioDetail(v *PortfolioDetail) *DescribePortfolioOutput {
12446	s.PortfolioDetail = v
12447	return s
12448}
12449
12450// SetTagOptions sets the TagOptions field's value.
12451func (s *DescribePortfolioOutput) SetTagOptions(v []*TagOptionDetail) *DescribePortfolioOutput {
12452	s.TagOptions = v
12453	return s
12454}
12455
12456// SetTags sets the Tags field's value.
12457func (s *DescribePortfolioOutput) SetTags(v []*Tag) *DescribePortfolioOutput {
12458	s.Tags = v
12459	return s
12460}
12461
12462type DescribePortfolioShareStatusInput struct {
12463	_ struct{} `type:"structure"`
12464
12465	// The token for the portfolio share operation. This token is returned either
12466	// by CreatePortfolioShare or by DeletePortfolioShare.
12467	//
12468	// PortfolioShareToken is a required field
12469	PortfolioShareToken *string `min:"1" type:"string" required:"true"`
12470}
12471
12472// String returns the string representation.
12473//
12474// API parameter values that are decorated as "sensitive" in the API will not
12475// be included in the string output. The member name will be present, but the
12476// value will be replaced with "sensitive".
12477func (s DescribePortfolioShareStatusInput) String() string {
12478	return awsutil.Prettify(s)
12479}
12480
12481// GoString returns the string representation.
12482//
12483// API parameter values that are decorated as "sensitive" in the API will not
12484// be included in the string output. The member name will be present, but the
12485// value will be replaced with "sensitive".
12486func (s DescribePortfolioShareStatusInput) GoString() string {
12487	return s.String()
12488}
12489
12490// Validate inspects the fields of the type to determine if they are valid.
12491func (s *DescribePortfolioShareStatusInput) Validate() error {
12492	invalidParams := request.ErrInvalidParams{Context: "DescribePortfolioShareStatusInput"}
12493	if s.PortfolioShareToken == nil {
12494		invalidParams.Add(request.NewErrParamRequired("PortfolioShareToken"))
12495	}
12496	if s.PortfolioShareToken != nil && len(*s.PortfolioShareToken) < 1 {
12497		invalidParams.Add(request.NewErrParamMinLen("PortfolioShareToken", 1))
12498	}
12499
12500	if invalidParams.Len() > 0 {
12501		return invalidParams
12502	}
12503	return nil
12504}
12505
12506// SetPortfolioShareToken sets the PortfolioShareToken field's value.
12507func (s *DescribePortfolioShareStatusInput) SetPortfolioShareToken(v string) *DescribePortfolioShareStatusInput {
12508	s.PortfolioShareToken = &v
12509	return s
12510}
12511
12512type DescribePortfolioShareStatusOutput struct {
12513	_ struct{} `type:"structure"`
12514
12515	// Organization node identifier. It can be either account id, organizational
12516	// unit id or organization id.
12517	OrganizationNodeValue *string `type:"string"`
12518
12519	// The portfolio identifier.
12520	PortfolioId *string `min:"1" type:"string"`
12521
12522	// The token for the portfolio share operation. For example, share-6v24abcdefghi.
12523	PortfolioShareToken *string `min:"1" type:"string"`
12524
12525	// Information about the portfolio share operation.
12526	ShareDetails *ShareDetails `type:"structure"`
12527
12528	// Status of the portfolio share operation.
12529	Status *string `type:"string" enum:"ShareStatus"`
12530}
12531
12532// String returns the string representation.
12533//
12534// API parameter values that are decorated as "sensitive" in the API will not
12535// be included in the string output. The member name will be present, but the
12536// value will be replaced with "sensitive".
12537func (s DescribePortfolioShareStatusOutput) String() string {
12538	return awsutil.Prettify(s)
12539}
12540
12541// GoString returns the string representation.
12542//
12543// API parameter values that are decorated as "sensitive" in the API will not
12544// be included in the string output. The member name will be present, but the
12545// value will be replaced with "sensitive".
12546func (s DescribePortfolioShareStatusOutput) GoString() string {
12547	return s.String()
12548}
12549
12550// SetOrganizationNodeValue sets the OrganizationNodeValue field's value.
12551func (s *DescribePortfolioShareStatusOutput) SetOrganizationNodeValue(v string) *DescribePortfolioShareStatusOutput {
12552	s.OrganizationNodeValue = &v
12553	return s
12554}
12555
12556// SetPortfolioId sets the PortfolioId field's value.
12557func (s *DescribePortfolioShareStatusOutput) SetPortfolioId(v string) *DescribePortfolioShareStatusOutput {
12558	s.PortfolioId = &v
12559	return s
12560}
12561
12562// SetPortfolioShareToken sets the PortfolioShareToken field's value.
12563func (s *DescribePortfolioShareStatusOutput) SetPortfolioShareToken(v string) *DescribePortfolioShareStatusOutput {
12564	s.PortfolioShareToken = &v
12565	return s
12566}
12567
12568// SetShareDetails sets the ShareDetails field's value.
12569func (s *DescribePortfolioShareStatusOutput) SetShareDetails(v *ShareDetails) *DescribePortfolioShareStatusOutput {
12570	s.ShareDetails = v
12571	return s
12572}
12573
12574// SetStatus sets the Status field's value.
12575func (s *DescribePortfolioShareStatusOutput) SetStatus(v string) *DescribePortfolioShareStatusOutput {
12576	s.Status = &v
12577	return s
12578}
12579
12580type DescribePortfolioSharesInput struct {
12581	_ struct{} `type:"structure"`
12582
12583	// The maximum number of items to return with this call.
12584	PageSize *int64 `type:"integer"`
12585
12586	// The page token for the next set of results. To retrieve the first set of
12587	// results, use null.
12588	PageToken *string `type:"string"`
12589
12590	// The unique identifier of the portfolio for which shares will be retrieved.
12591	//
12592	// PortfolioId is a required field
12593	PortfolioId *string `min:"1" type:"string" required:"true"`
12594
12595	// The type of portfolio share to summarize. This field acts as a filter on
12596	// the type of portfolio share, which can be one of the following:
12597	//
12598	// 1. ACCOUNT - Represents an external account to account share.
12599	//
12600	// 2. ORGANIZATION - Represents a share to an organization. This share is available
12601	// to every account in the organization.
12602	//
12603	// 3. ORGANIZATIONAL_UNIT - Represents a share to an organizational unit.
12604	//
12605	// 4. ORGANIZATION_MEMBER_ACCOUNT - Represents a share to an account in the
12606	// organization.
12607	//
12608	// Type is a required field
12609	Type *string `type:"string" required:"true" enum:"DescribePortfolioShareType"`
12610}
12611
12612// String returns the string representation.
12613//
12614// API parameter values that are decorated as "sensitive" in the API will not
12615// be included in the string output. The member name will be present, but the
12616// value will be replaced with "sensitive".
12617func (s DescribePortfolioSharesInput) String() string {
12618	return awsutil.Prettify(s)
12619}
12620
12621// GoString returns the string representation.
12622//
12623// API parameter values that are decorated as "sensitive" in the API will not
12624// be included in the string output. The member name will be present, but the
12625// value will be replaced with "sensitive".
12626func (s DescribePortfolioSharesInput) GoString() string {
12627	return s.String()
12628}
12629
12630// Validate inspects the fields of the type to determine if they are valid.
12631func (s *DescribePortfolioSharesInput) Validate() error {
12632	invalidParams := request.ErrInvalidParams{Context: "DescribePortfolioSharesInput"}
12633	if s.PortfolioId == nil {
12634		invalidParams.Add(request.NewErrParamRequired("PortfolioId"))
12635	}
12636	if s.PortfolioId != nil && len(*s.PortfolioId) < 1 {
12637		invalidParams.Add(request.NewErrParamMinLen("PortfolioId", 1))
12638	}
12639	if s.Type == nil {
12640		invalidParams.Add(request.NewErrParamRequired("Type"))
12641	}
12642
12643	if invalidParams.Len() > 0 {
12644		return invalidParams
12645	}
12646	return nil
12647}
12648
12649// SetPageSize sets the PageSize field's value.
12650func (s *DescribePortfolioSharesInput) SetPageSize(v int64) *DescribePortfolioSharesInput {
12651	s.PageSize = &v
12652	return s
12653}
12654
12655// SetPageToken sets the PageToken field's value.
12656func (s *DescribePortfolioSharesInput) SetPageToken(v string) *DescribePortfolioSharesInput {
12657	s.PageToken = &v
12658	return s
12659}
12660
12661// SetPortfolioId sets the PortfolioId field's value.
12662func (s *DescribePortfolioSharesInput) SetPortfolioId(v string) *DescribePortfolioSharesInput {
12663	s.PortfolioId = &v
12664	return s
12665}
12666
12667// SetType sets the Type field's value.
12668func (s *DescribePortfolioSharesInput) SetType(v string) *DescribePortfolioSharesInput {
12669	s.Type = &v
12670	return s
12671}
12672
12673type DescribePortfolioSharesOutput struct {
12674	_ struct{} `type:"structure"`
12675
12676	// The page token to use to retrieve the next set of results. If there are no
12677	// additional results, this value is null.
12678	NextPageToken *string `type:"string"`
12679
12680	// Summaries about each of the portfolio shares.
12681	PortfolioShareDetails []*PortfolioShareDetail `type:"list"`
12682}
12683
12684// String returns the string representation.
12685//
12686// API parameter values that are decorated as "sensitive" in the API will not
12687// be included in the string output. The member name will be present, but the
12688// value will be replaced with "sensitive".
12689func (s DescribePortfolioSharesOutput) String() string {
12690	return awsutil.Prettify(s)
12691}
12692
12693// GoString returns the string representation.
12694//
12695// API parameter values that are decorated as "sensitive" in the API will not
12696// be included in the string output. The member name will be present, but the
12697// value will be replaced with "sensitive".
12698func (s DescribePortfolioSharesOutput) GoString() string {
12699	return s.String()
12700}
12701
12702// SetNextPageToken sets the NextPageToken field's value.
12703func (s *DescribePortfolioSharesOutput) SetNextPageToken(v string) *DescribePortfolioSharesOutput {
12704	s.NextPageToken = &v
12705	return s
12706}
12707
12708// SetPortfolioShareDetails sets the PortfolioShareDetails field's value.
12709func (s *DescribePortfolioSharesOutput) SetPortfolioShareDetails(v []*PortfolioShareDetail) *DescribePortfolioSharesOutput {
12710	s.PortfolioShareDetails = v
12711	return s
12712}
12713
12714type DescribeProductAsAdminInput struct {
12715	_ struct{} `type:"structure"`
12716
12717	// The language code.
12718	//
12719	//    * en - English (default)
12720	//
12721	//    * jp - Japanese
12722	//
12723	//    * zh - Chinese
12724	AcceptLanguage *string `type:"string"`
12725
12726	// The product identifier.
12727	Id *string `min:"1" type:"string"`
12728
12729	// The product name.
12730	Name *string `type:"string"`
12731
12732	// The unique identifier of the shared portfolio that the specified product
12733	// is associated with.
12734	//
12735	// You can provide this parameter to retrieve the shared TagOptions associated
12736	// with the product. If this parameter is provided and if TagOptions sharing
12737	// is enabled in the portfolio share, the API returns both local and shared
12738	// TagOptions associated with the product. Otherwise only local TagOptions will
12739	// be returned.
12740	SourcePortfolioId *string `min:"1" type:"string"`
12741}
12742
12743// String returns the string representation.
12744//
12745// API parameter values that are decorated as "sensitive" in the API will not
12746// be included in the string output. The member name will be present, but the
12747// value will be replaced with "sensitive".
12748func (s DescribeProductAsAdminInput) String() string {
12749	return awsutil.Prettify(s)
12750}
12751
12752// GoString returns the string representation.
12753//
12754// API parameter values that are decorated as "sensitive" in the API will not
12755// be included in the string output. The member name will be present, but the
12756// value will be replaced with "sensitive".
12757func (s DescribeProductAsAdminInput) GoString() string {
12758	return s.String()
12759}
12760
12761// Validate inspects the fields of the type to determine if they are valid.
12762func (s *DescribeProductAsAdminInput) Validate() error {
12763	invalidParams := request.ErrInvalidParams{Context: "DescribeProductAsAdminInput"}
12764	if s.Id != nil && len(*s.Id) < 1 {
12765		invalidParams.Add(request.NewErrParamMinLen("Id", 1))
12766	}
12767	if s.SourcePortfolioId != nil && len(*s.SourcePortfolioId) < 1 {
12768		invalidParams.Add(request.NewErrParamMinLen("SourcePortfolioId", 1))
12769	}
12770
12771	if invalidParams.Len() > 0 {
12772		return invalidParams
12773	}
12774	return nil
12775}
12776
12777// SetAcceptLanguage sets the AcceptLanguage field's value.
12778func (s *DescribeProductAsAdminInput) SetAcceptLanguage(v string) *DescribeProductAsAdminInput {
12779	s.AcceptLanguage = &v
12780	return s
12781}
12782
12783// SetId sets the Id field's value.
12784func (s *DescribeProductAsAdminInput) SetId(v string) *DescribeProductAsAdminInput {
12785	s.Id = &v
12786	return s
12787}
12788
12789// SetName sets the Name field's value.
12790func (s *DescribeProductAsAdminInput) SetName(v string) *DescribeProductAsAdminInput {
12791	s.Name = &v
12792	return s
12793}
12794
12795// SetSourcePortfolioId sets the SourcePortfolioId field's value.
12796func (s *DescribeProductAsAdminInput) SetSourcePortfolioId(v string) *DescribeProductAsAdminInput {
12797	s.SourcePortfolioId = &v
12798	return s
12799}
12800
12801type DescribeProductAsAdminOutput struct {
12802	_ struct{} `type:"structure"`
12803
12804	// Information about the associated budgets.
12805	Budgets []*BudgetDetail `type:"list"`
12806
12807	// Information about the product view.
12808	ProductViewDetail *ProductViewDetail `type:"structure"`
12809
12810	// Information about the provisioning artifacts (also known as versions) for
12811	// the specified product.
12812	ProvisioningArtifactSummaries []*ProvisioningArtifactSummary `type:"list"`
12813
12814	// Information about the TagOptions associated with the product.
12815	TagOptions []*TagOptionDetail `type:"list"`
12816
12817	// Information about the tags associated with the product.
12818	Tags []*Tag `type:"list"`
12819}
12820
12821// String returns the string representation.
12822//
12823// API parameter values that are decorated as "sensitive" in the API will not
12824// be included in the string output. The member name will be present, but the
12825// value will be replaced with "sensitive".
12826func (s DescribeProductAsAdminOutput) String() string {
12827	return awsutil.Prettify(s)
12828}
12829
12830// GoString returns the string representation.
12831//
12832// API parameter values that are decorated as "sensitive" in the API will not
12833// be included in the string output. The member name will be present, but the
12834// value will be replaced with "sensitive".
12835func (s DescribeProductAsAdminOutput) GoString() string {
12836	return s.String()
12837}
12838
12839// SetBudgets sets the Budgets field's value.
12840func (s *DescribeProductAsAdminOutput) SetBudgets(v []*BudgetDetail) *DescribeProductAsAdminOutput {
12841	s.Budgets = v
12842	return s
12843}
12844
12845// SetProductViewDetail sets the ProductViewDetail field's value.
12846func (s *DescribeProductAsAdminOutput) SetProductViewDetail(v *ProductViewDetail) *DescribeProductAsAdminOutput {
12847	s.ProductViewDetail = v
12848	return s
12849}
12850
12851// SetProvisioningArtifactSummaries sets the ProvisioningArtifactSummaries field's value.
12852func (s *DescribeProductAsAdminOutput) SetProvisioningArtifactSummaries(v []*ProvisioningArtifactSummary) *DescribeProductAsAdminOutput {
12853	s.ProvisioningArtifactSummaries = v
12854	return s
12855}
12856
12857// SetTagOptions sets the TagOptions field's value.
12858func (s *DescribeProductAsAdminOutput) SetTagOptions(v []*TagOptionDetail) *DescribeProductAsAdminOutput {
12859	s.TagOptions = v
12860	return s
12861}
12862
12863// SetTags sets the Tags field's value.
12864func (s *DescribeProductAsAdminOutput) SetTags(v []*Tag) *DescribeProductAsAdminOutput {
12865	s.Tags = v
12866	return s
12867}
12868
12869type DescribeProductInput struct {
12870	_ struct{} `type:"structure"`
12871
12872	// The language code.
12873	//
12874	//    * en - English (default)
12875	//
12876	//    * jp - Japanese
12877	//
12878	//    * zh - Chinese
12879	AcceptLanguage *string `type:"string"`
12880
12881	// The product identifier.
12882	Id *string `min:"1" type:"string"`
12883
12884	// The product name.
12885	Name *string `type:"string"`
12886}
12887
12888// String returns the string representation.
12889//
12890// API parameter values that are decorated as "sensitive" in the API will not
12891// be included in the string output. The member name will be present, but the
12892// value will be replaced with "sensitive".
12893func (s DescribeProductInput) String() string {
12894	return awsutil.Prettify(s)
12895}
12896
12897// GoString returns the string representation.
12898//
12899// API parameter values that are decorated as "sensitive" in the API will not
12900// be included in the string output. The member name will be present, but the
12901// value will be replaced with "sensitive".
12902func (s DescribeProductInput) GoString() string {
12903	return s.String()
12904}
12905
12906// Validate inspects the fields of the type to determine if they are valid.
12907func (s *DescribeProductInput) Validate() error {
12908	invalidParams := request.ErrInvalidParams{Context: "DescribeProductInput"}
12909	if s.Id != nil && len(*s.Id) < 1 {
12910		invalidParams.Add(request.NewErrParamMinLen("Id", 1))
12911	}
12912
12913	if invalidParams.Len() > 0 {
12914		return invalidParams
12915	}
12916	return nil
12917}
12918
12919// SetAcceptLanguage sets the AcceptLanguage field's value.
12920func (s *DescribeProductInput) SetAcceptLanguage(v string) *DescribeProductInput {
12921	s.AcceptLanguage = &v
12922	return s
12923}
12924
12925// SetId sets the Id field's value.
12926func (s *DescribeProductInput) SetId(v string) *DescribeProductInput {
12927	s.Id = &v
12928	return s
12929}
12930
12931// SetName sets the Name field's value.
12932func (s *DescribeProductInput) SetName(v string) *DescribeProductInput {
12933	s.Name = &v
12934	return s
12935}
12936
12937type DescribeProductOutput struct {
12938	_ struct{} `type:"structure"`
12939
12940	// Information about the associated budgets.
12941	Budgets []*BudgetDetail `type:"list"`
12942
12943	// Information about the associated launch paths.
12944	LaunchPaths []*LaunchPath `type:"list"`
12945
12946	// Summary information about the product view.
12947	ProductViewSummary *ProductViewSummary `type:"structure"`
12948
12949	// Information about the provisioning artifacts for the specified product.
12950	ProvisioningArtifacts []*ProvisioningArtifact `type:"list"`
12951}
12952
12953// String returns the string representation.
12954//
12955// API parameter values that are decorated as "sensitive" in the API will not
12956// be included in the string output. The member name will be present, but the
12957// value will be replaced with "sensitive".
12958func (s DescribeProductOutput) String() string {
12959	return awsutil.Prettify(s)
12960}
12961
12962// GoString returns the string representation.
12963//
12964// API parameter values that are decorated as "sensitive" in the API will not
12965// be included in the string output. The member name will be present, but the
12966// value will be replaced with "sensitive".
12967func (s DescribeProductOutput) GoString() string {
12968	return s.String()
12969}
12970
12971// SetBudgets sets the Budgets field's value.
12972func (s *DescribeProductOutput) SetBudgets(v []*BudgetDetail) *DescribeProductOutput {
12973	s.Budgets = v
12974	return s
12975}
12976
12977// SetLaunchPaths sets the LaunchPaths field's value.
12978func (s *DescribeProductOutput) SetLaunchPaths(v []*LaunchPath) *DescribeProductOutput {
12979	s.LaunchPaths = v
12980	return s
12981}
12982
12983// SetProductViewSummary sets the ProductViewSummary field's value.
12984func (s *DescribeProductOutput) SetProductViewSummary(v *ProductViewSummary) *DescribeProductOutput {
12985	s.ProductViewSummary = v
12986	return s
12987}
12988
12989// SetProvisioningArtifacts sets the ProvisioningArtifacts field's value.
12990func (s *DescribeProductOutput) SetProvisioningArtifacts(v []*ProvisioningArtifact) *DescribeProductOutput {
12991	s.ProvisioningArtifacts = v
12992	return s
12993}
12994
12995type DescribeProductViewInput struct {
12996	_ struct{} `type:"structure"`
12997
12998	// The language code.
12999	//
13000	//    * en - English (default)
13001	//
13002	//    * jp - Japanese
13003	//
13004	//    * zh - Chinese
13005	AcceptLanguage *string `type:"string"`
13006
13007	// The product view identifier.
13008	//
13009	// Id is a required field
13010	Id *string `min:"1" type:"string" required:"true"`
13011}
13012
13013// String returns the string representation.
13014//
13015// API parameter values that are decorated as "sensitive" in the API will not
13016// be included in the string output. The member name will be present, but the
13017// value will be replaced with "sensitive".
13018func (s DescribeProductViewInput) String() string {
13019	return awsutil.Prettify(s)
13020}
13021
13022// GoString returns the string representation.
13023//
13024// API parameter values that are decorated as "sensitive" in the API will not
13025// be included in the string output. The member name will be present, but the
13026// value will be replaced with "sensitive".
13027func (s DescribeProductViewInput) GoString() string {
13028	return s.String()
13029}
13030
13031// Validate inspects the fields of the type to determine if they are valid.
13032func (s *DescribeProductViewInput) Validate() error {
13033	invalidParams := request.ErrInvalidParams{Context: "DescribeProductViewInput"}
13034	if s.Id == nil {
13035		invalidParams.Add(request.NewErrParamRequired("Id"))
13036	}
13037	if s.Id != nil && len(*s.Id) < 1 {
13038		invalidParams.Add(request.NewErrParamMinLen("Id", 1))
13039	}
13040
13041	if invalidParams.Len() > 0 {
13042		return invalidParams
13043	}
13044	return nil
13045}
13046
13047// SetAcceptLanguage sets the AcceptLanguage field's value.
13048func (s *DescribeProductViewInput) SetAcceptLanguage(v string) *DescribeProductViewInput {
13049	s.AcceptLanguage = &v
13050	return s
13051}
13052
13053// SetId sets the Id field's value.
13054func (s *DescribeProductViewInput) SetId(v string) *DescribeProductViewInput {
13055	s.Id = &v
13056	return s
13057}
13058
13059type DescribeProductViewOutput struct {
13060	_ struct{} `type:"structure"`
13061
13062	// Summary information about the product.
13063	ProductViewSummary *ProductViewSummary `type:"structure"`
13064
13065	// Information about the provisioning artifacts for the product.
13066	ProvisioningArtifacts []*ProvisioningArtifact `type:"list"`
13067}
13068
13069// String returns the string representation.
13070//
13071// API parameter values that are decorated as "sensitive" in the API will not
13072// be included in the string output. The member name will be present, but the
13073// value will be replaced with "sensitive".
13074func (s DescribeProductViewOutput) String() string {
13075	return awsutil.Prettify(s)
13076}
13077
13078// GoString returns the string representation.
13079//
13080// API parameter values that are decorated as "sensitive" in the API will not
13081// be included in the string output. The member name will be present, but the
13082// value will be replaced with "sensitive".
13083func (s DescribeProductViewOutput) GoString() string {
13084	return s.String()
13085}
13086
13087// SetProductViewSummary sets the ProductViewSummary field's value.
13088func (s *DescribeProductViewOutput) SetProductViewSummary(v *ProductViewSummary) *DescribeProductViewOutput {
13089	s.ProductViewSummary = v
13090	return s
13091}
13092
13093// SetProvisioningArtifacts sets the ProvisioningArtifacts field's value.
13094func (s *DescribeProductViewOutput) SetProvisioningArtifacts(v []*ProvisioningArtifact) *DescribeProductViewOutput {
13095	s.ProvisioningArtifacts = v
13096	return s
13097}
13098
13099// DescribeProvisionedProductAPI input structure. AcceptLanguage - [Optional]
13100// The language code for localization. Id - [Optional] The provisioned product
13101// identifier. Name - [Optional] Another provisioned product identifier. Customers
13102// must provide either Id or Name.
13103type DescribeProvisionedProductInput struct {
13104	_ struct{} `type:"structure"`
13105
13106	// The language code.
13107	//
13108	//    * en - English (default)
13109	//
13110	//    * jp - Japanese
13111	//
13112	//    * zh - Chinese
13113	AcceptLanguage *string `type:"string"`
13114
13115	// The provisioned product identifier. You must provide the name or ID, but
13116	// not both.
13117	//
13118	// If you do not provide a name or ID, or you provide both name and ID, an InvalidParametersException
13119	// will occur.
13120	Id *string `min:"1" type:"string"`
13121
13122	// The name of the provisioned product. You must provide the name or ID, but
13123	// not both.
13124	//
13125	// If you do not provide a name or ID, or you provide both name and ID, an InvalidParametersException
13126	// will occur.
13127	Name *string `min:"1" type:"string"`
13128}
13129
13130// String returns the string representation.
13131//
13132// API parameter values that are decorated as "sensitive" in the API will not
13133// be included in the string output. The member name will be present, but the
13134// value will be replaced with "sensitive".
13135func (s DescribeProvisionedProductInput) String() string {
13136	return awsutil.Prettify(s)
13137}
13138
13139// GoString returns the string representation.
13140//
13141// API parameter values that are decorated as "sensitive" in the API will not
13142// be included in the string output. The member name will be present, but the
13143// value will be replaced with "sensitive".
13144func (s DescribeProvisionedProductInput) GoString() string {
13145	return s.String()
13146}
13147
13148// Validate inspects the fields of the type to determine if they are valid.
13149func (s *DescribeProvisionedProductInput) Validate() error {
13150	invalidParams := request.ErrInvalidParams{Context: "DescribeProvisionedProductInput"}
13151	if s.Id != nil && len(*s.Id) < 1 {
13152		invalidParams.Add(request.NewErrParamMinLen("Id", 1))
13153	}
13154	if s.Name != nil && len(*s.Name) < 1 {
13155		invalidParams.Add(request.NewErrParamMinLen("Name", 1))
13156	}
13157
13158	if invalidParams.Len() > 0 {
13159		return invalidParams
13160	}
13161	return nil
13162}
13163
13164// SetAcceptLanguage sets the AcceptLanguage field's value.
13165func (s *DescribeProvisionedProductInput) SetAcceptLanguage(v string) *DescribeProvisionedProductInput {
13166	s.AcceptLanguage = &v
13167	return s
13168}
13169
13170// SetId sets the Id field's value.
13171func (s *DescribeProvisionedProductInput) SetId(v string) *DescribeProvisionedProductInput {
13172	s.Id = &v
13173	return s
13174}
13175
13176// SetName sets the Name field's value.
13177func (s *DescribeProvisionedProductInput) SetName(v string) *DescribeProvisionedProductInput {
13178	s.Name = &v
13179	return s
13180}
13181
13182type DescribeProvisionedProductOutput struct {
13183	_ struct{} `type:"structure"`
13184
13185	// Any CloudWatch dashboards that were created when provisioning the product.
13186	CloudWatchDashboards []*CloudWatchDashboard `type:"list"`
13187
13188	// Information about the provisioned product.
13189	ProvisionedProductDetail *ProvisionedProductDetail `type:"structure"`
13190}
13191
13192// String returns the string representation.
13193//
13194// API parameter values that are decorated as "sensitive" in the API will not
13195// be included in the string output. The member name will be present, but the
13196// value will be replaced with "sensitive".
13197func (s DescribeProvisionedProductOutput) String() string {
13198	return awsutil.Prettify(s)
13199}
13200
13201// GoString returns the string representation.
13202//
13203// API parameter values that are decorated as "sensitive" in the API will not
13204// be included in the string output. The member name will be present, but the
13205// value will be replaced with "sensitive".
13206func (s DescribeProvisionedProductOutput) GoString() string {
13207	return s.String()
13208}
13209
13210// SetCloudWatchDashboards sets the CloudWatchDashboards field's value.
13211func (s *DescribeProvisionedProductOutput) SetCloudWatchDashboards(v []*CloudWatchDashboard) *DescribeProvisionedProductOutput {
13212	s.CloudWatchDashboards = v
13213	return s
13214}
13215
13216// SetProvisionedProductDetail sets the ProvisionedProductDetail field's value.
13217func (s *DescribeProvisionedProductOutput) SetProvisionedProductDetail(v *ProvisionedProductDetail) *DescribeProvisionedProductOutput {
13218	s.ProvisionedProductDetail = v
13219	return s
13220}
13221
13222type DescribeProvisionedProductPlanInput struct {
13223	_ struct{} `type:"structure"`
13224
13225	// The language code.
13226	//
13227	//    * en - English (default)
13228	//
13229	//    * jp - Japanese
13230	//
13231	//    * zh - Chinese
13232	AcceptLanguage *string `type:"string"`
13233
13234	// The maximum number of items to return with this call.
13235	PageSize *int64 `type:"integer"`
13236
13237	// The page token for the next set of results. To retrieve the first set of
13238	// results, use null.
13239	PageToken *string `type:"string"`
13240
13241	// The plan identifier.
13242	//
13243	// PlanId is a required field
13244	PlanId *string `min:"1" type:"string" required:"true"`
13245}
13246
13247// String returns the string representation.
13248//
13249// API parameter values that are decorated as "sensitive" in the API will not
13250// be included in the string output. The member name will be present, but the
13251// value will be replaced with "sensitive".
13252func (s DescribeProvisionedProductPlanInput) String() string {
13253	return awsutil.Prettify(s)
13254}
13255
13256// GoString returns the string representation.
13257//
13258// API parameter values that are decorated as "sensitive" in the API will not
13259// be included in the string output. The member name will be present, but the
13260// value will be replaced with "sensitive".
13261func (s DescribeProvisionedProductPlanInput) GoString() string {
13262	return s.String()
13263}
13264
13265// Validate inspects the fields of the type to determine if they are valid.
13266func (s *DescribeProvisionedProductPlanInput) Validate() error {
13267	invalidParams := request.ErrInvalidParams{Context: "DescribeProvisionedProductPlanInput"}
13268	if s.PlanId == nil {
13269		invalidParams.Add(request.NewErrParamRequired("PlanId"))
13270	}
13271	if s.PlanId != nil && len(*s.PlanId) < 1 {
13272		invalidParams.Add(request.NewErrParamMinLen("PlanId", 1))
13273	}
13274
13275	if invalidParams.Len() > 0 {
13276		return invalidParams
13277	}
13278	return nil
13279}
13280
13281// SetAcceptLanguage sets the AcceptLanguage field's value.
13282func (s *DescribeProvisionedProductPlanInput) SetAcceptLanguage(v string) *DescribeProvisionedProductPlanInput {
13283	s.AcceptLanguage = &v
13284	return s
13285}
13286
13287// SetPageSize sets the PageSize field's value.
13288func (s *DescribeProvisionedProductPlanInput) SetPageSize(v int64) *DescribeProvisionedProductPlanInput {
13289	s.PageSize = &v
13290	return s
13291}
13292
13293// SetPageToken sets the PageToken field's value.
13294func (s *DescribeProvisionedProductPlanInput) SetPageToken(v string) *DescribeProvisionedProductPlanInput {
13295	s.PageToken = &v
13296	return s
13297}
13298
13299// SetPlanId sets the PlanId field's value.
13300func (s *DescribeProvisionedProductPlanInput) SetPlanId(v string) *DescribeProvisionedProductPlanInput {
13301	s.PlanId = &v
13302	return s
13303}
13304
13305type DescribeProvisionedProductPlanOutput struct {
13306	_ struct{} `type:"structure"`
13307
13308	// The page token to use to retrieve the next set of results. If there are no
13309	// additional results, this value is null.
13310	NextPageToken *string `type:"string"`
13311
13312	// Information about the plan.
13313	ProvisionedProductPlanDetails *ProvisionedProductPlanDetails `type:"structure"`
13314
13315	// Information about the resource changes that will occur when the plan is executed.
13316	ResourceChanges []*ResourceChange `type:"list"`
13317}
13318
13319// String returns the string representation.
13320//
13321// API parameter values that are decorated as "sensitive" in the API will not
13322// be included in the string output. The member name will be present, but the
13323// value will be replaced with "sensitive".
13324func (s DescribeProvisionedProductPlanOutput) String() string {
13325	return awsutil.Prettify(s)
13326}
13327
13328// GoString returns the string representation.
13329//
13330// API parameter values that are decorated as "sensitive" in the API will not
13331// be included in the string output. The member name will be present, but the
13332// value will be replaced with "sensitive".
13333func (s DescribeProvisionedProductPlanOutput) GoString() string {
13334	return s.String()
13335}
13336
13337// SetNextPageToken sets the NextPageToken field's value.
13338func (s *DescribeProvisionedProductPlanOutput) SetNextPageToken(v string) *DescribeProvisionedProductPlanOutput {
13339	s.NextPageToken = &v
13340	return s
13341}
13342
13343// SetProvisionedProductPlanDetails sets the ProvisionedProductPlanDetails field's value.
13344func (s *DescribeProvisionedProductPlanOutput) SetProvisionedProductPlanDetails(v *ProvisionedProductPlanDetails) *DescribeProvisionedProductPlanOutput {
13345	s.ProvisionedProductPlanDetails = v
13346	return s
13347}
13348
13349// SetResourceChanges sets the ResourceChanges field's value.
13350func (s *DescribeProvisionedProductPlanOutput) SetResourceChanges(v []*ResourceChange) *DescribeProvisionedProductPlanOutput {
13351	s.ResourceChanges = v
13352	return s
13353}
13354
13355type DescribeProvisioningArtifactInput struct {
13356	_ struct{} `type:"structure"`
13357
13358	// The language code.
13359	//
13360	//    * en - English (default)
13361	//
13362	//    * jp - Japanese
13363	//
13364	//    * zh - Chinese
13365	AcceptLanguage *string `type:"string"`
13366
13367	// The product identifier.
13368	ProductId *string `min:"1" type:"string"`
13369
13370	// The product name.
13371	ProductName *string `type:"string"`
13372
13373	// The identifier of the provisioning artifact.
13374	ProvisioningArtifactId *string `min:"1" type:"string"`
13375
13376	// The provisioning artifact name.
13377	ProvisioningArtifactName *string `type:"string"`
13378
13379	// Indicates whether a verbose level of detail is enabled.
13380	Verbose *bool `type:"boolean"`
13381}
13382
13383// String returns the string representation.
13384//
13385// API parameter values that are decorated as "sensitive" in the API will not
13386// be included in the string output. The member name will be present, but the
13387// value will be replaced with "sensitive".
13388func (s DescribeProvisioningArtifactInput) String() string {
13389	return awsutil.Prettify(s)
13390}
13391
13392// GoString returns the string representation.
13393//
13394// API parameter values that are decorated as "sensitive" in the API will not
13395// be included in the string output. The member name will be present, but the
13396// value will be replaced with "sensitive".
13397func (s DescribeProvisioningArtifactInput) GoString() string {
13398	return s.String()
13399}
13400
13401// Validate inspects the fields of the type to determine if they are valid.
13402func (s *DescribeProvisioningArtifactInput) Validate() error {
13403	invalidParams := request.ErrInvalidParams{Context: "DescribeProvisioningArtifactInput"}
13404	if s.ProductId != nil && len(*s.ProductId) < 1 {
13405		invalidParams.Add(request.NewErrParamMinLen("ProductId", 1))
13406	}
13407	if s.ProvisioningArtifactId != nil && len(*s.ProvisioningArtifactId) < 1 {
13408		invalidParams.Add(request.NewErrParamMinLen("ProvisioningArtifactId", 1))
13409	}
13410
13411	if invalidParams.Len() > 0 {
13412		return invalidParams
13413	}
13414	return nil
13415}
13416
13417// SetAcceptLanguage sets the AcceptLanguage field's value.
13418func (s *DescribeProvisioningArtifactInput) SetAcceptLanguage(v string) *DescribeProvisioningArtifactInput {
13419	s.AcceptLanguage = &v
13420	return s
13421}
13422
13423// SetProductId sets the ProductId field's value.
13424func (s *DescribeProvisioningArtifactInput) SetProductId(v string) *DescribeProvisioningArtifactInput {
13425	s.ProductId = &v
13426	return s
13427}
13428
13429// SetProductName sets the ProductName field's value.
13430func (s *DescribeProvisioningArtifactInput) SetProductName(v string) *DescribeProvisioningArtifactInput {
13431	s.ProductName = &v
13432	return s
13433}
13434
13435// SetProvisioningArtifactId sets the ProvisioningArtifactId field's value.
13436func (s *DescribeProvisioningArtifactInput) SetProvisioningArtifactId(v string) *DescribeProvisioningArtifactInput {
13437	s.ProvisioningArtifactId = &v
13438	return s
13439}
13440
13441// SetProvisioningArtifactName sets the ProvisioningArtifactName field's value.
13442func (s *DescribeProvisioningArtifactInput) SetProvisioningArtifactName(v string) *DescribeProvisioningArtifactInput {
13443	s.ProvisioningArtifactName = &v
13444	return s
13445}
13446
13447// SetVerbose sets the Verbose field's value.
13448func (s *DescribeProvisioningArtifactInput) SetVerbose(v bool) *DescribeProvisioningArtifactInput {
13449	s.Verbose = &v
13450	return s
13451}
13452
13453type DescribeProvisioningArtifactOutput struct {
13454	_ struct{} `type:"structure"`
13455
13456	// The URL of the CloudFormation template in Amazon S3.
13457	Info map[string]*string `min:"1" type:"map"`
13458
13459	// Information about the provisioning artifact.
13460	ProvisioningArtifactDetail *ProvisioningArtifactDetail `type:"structure"`
13461
13462	// The status of the current request.
13463	Status *string `type:"string" enum:"Status"`
13464}
13465
13466// String returns the string representation.
13467//
13468// API parameter values that are decorated as "sensitive" in the API will not
13469// be included in the string output. The member name will be present, but the
13470// value will be replaced with "sensitive".
13471func (s DescribeProvisioningArtifactOutput) String() string {
13472	return awsutil.Prettify(s)
13473}
13474
13475// GoString returns the string representation.
13476//
13477// API parameter values that are decorated as "sensitive" in the API will not
13478// be included in the string output. The member name will be present, but the
13479// value will be replaced with "sensitive".
13480func (s DescribeProvisioningArtifactOutput) GoString() string {
13481	return s.String()
13482}
13483
13484// SetInfo sets the Info field's value.
13485func (s *DescribeProvisioningArtifactOutput) SetInfo(v map[string]*string) *DescribeProvisioningArtifactOutput {
13486	s.Info = v
13487	return s
13488}
13489
13490// SetProvisioningArtifactDetail sets the ProvisioningArtifactDetail field's value.
13491func (s *DescribeProvisioningArtifactOutput) SetProvisioningArtifactDetail(v *ProvisioningArtifactDetail) *DescribeProvisioningArtifactOutput {
13492	s.ProvisioningArtifactDetail = v
13493	return s
13494}
13495
13496// SetStatus sets the Status field's value.
13497func (s *DescribeProvisioningArtifactOutput) SetStatus(v string) *DescribeProvisioningArtifactOutput {
13498	s.Status = &v
13499	return s
13500}
13501
13502type DescribeProvisioningParametersInput struct {
13503	_ struct{} `type:"structure"`
13504
13505	// The language code.
13506	//
13507	//    * en - English (default)
13508	//
13509	//    * jp - Japanese
13510	//
13511	//    * zh - Chinese
13512	AcceptLanguage *string `type:"string"`
13513
13514	// The path identifier of the product. This value is optional if the product
13515	// has a default path, and required if the product has more than one path. To
13516	// list the paths for a product, use ListLaunchPaths. You must provide the name
13517	// or ID, but not both.
13518	PathId *string `min:"1" type:"string"`
13519
13520	// The name of the path. You must provide the name or ID, but not both.
13521	PathName *string `min:"1" type:"string"`
13522
13523	// The product identifier. You must provide the product name or ID, but not
13524	// both.
13525	ProductId *string `min:"1" type:"string"`
13526
13527	// The name of the product. You must provide the name or ID, but not both.
13528	ProductName *string `type:"string"`
13529
13530	// The identifier of the provisioning artifact. You must provide the name or
13531	// ID, but not both.
13532	ProvisioningArtifactId *string `min:"1" type:"string"`
13533
13534	// The name of the provisioning artifact. You must provide the name or ID, but
13535	// not both.
13536	ProvisioningArtifactName *string `type:"string"`
13537}
13538
13539// String returns the string representation.
13540//
13541// API parameter values that are decorated as "sensitive" in the API will not
13542// be included in the string output. The member name will be present, but the
13543// value will be replaced with "sensitive".
13544func (s DescribeProvisioningParametersInput) String() string {
13545	return awsutil.Prettify(s)
13546}
13547
13548// GoString returns the string representation.
13549//
13550// API parameter values that are decorated as "sensitive" in the API will not
13551// be included in the string output. The member name will be present, but the
13552// value will be replaced with "sensitive".
13553func (s DescribeProvisioningParametersInput) GoString() string {
13554	return s.String()
13555}
13556
13557// Validate inspects the fields of the type to determine if they are valid.
13558func (s *DescribeProvisioningParametersInput) Validate() error {
13559	invalidParams := request.ErrInvalidParams{Context: "DescribeProvisioningParametersInput"}
13560	if s.PathId != nil && len(*s.PathId) < 1 {
13561		invalidParams.Add(request.NewErrParamMinLen("PathId", 1))
13562	}
13563	if s.PathName != nil && len(*s.PathName) < 1 {
13564		invalidParams.Add(request.NewErrParamMinLen("PathName", 1))
13565	}
13566	if s.ProductId != nil && len(*s.ProductId) < 1 {
13567		invalidParams.Add(request.NewErrParamMinLen("ProductId", 1))
13568	}
13569	if s.ProvisioningArtifactId != nil && len(*s.ProvisioningArtifactId) < 1 {
13570		invalidParams.Add(request.NewErrParamMinLen("ProvisioningArtifactId", 1))
13571	}
13572
13573	if invalidParams.Len() > 0 {
13574		return invalidParams
13575	}
13576	return nil
13577}
13578
13579// SetAcceptLanguage sets the AcceptLanguage field's value.
13580func (s *DescribeProvisioningParametersInput) SetAcceptLanguage(v string) *DescribeProvisioningParametersInput {
13581	s.AcceptLanguage = &v
13582	return s
13583}
13584
13585// SetPathId sets the PathId field's value.
13586func (s *DescribeProvisioningParametersInput) SetPathId(v string) *DescribeProvisioningParametersInput {
13587	s.PathId = &v
13588	return s
13589}
13590
13591// SetPathName sets the PathName field's value.
13592func (s *DescribeProvisioningParametersInput) SetPathName(v string) *DescribeProvisioningParametersInput {
13593	s.PathName = &v
13594	return s
13595}
13596
13597// SetProductId sets the ProductId field's value.
13598func (s *DescribeProvisioningParametersInput) SetProductId(v string) *DescribeProvisioningParametersInput {
13599	s.ProductId = &v
13600	return s
13601}
13602
13603// SetProductName sets the ProductName field's value.
13604func (s *DescribeProvisioningParametersInput) SetProductName(v string) *DescribeProvisioningParametersInput {
13605	s.ProductName = &v
13606	return s
13607}
13608
13609// SetProvisioningArtifactId sets the ProvisioningArtifactId field's value.
13610func (s *DescribeProvisioningParametersInput) SetProvisioningArtifactId(v string) *DescribeProvisioningParametersInput {
13611	s.ProvisioningArtifactId = &v
13612	return s
13613}
13614
13615// SetProvisioningArtifactName sets the ProvisioningArtifactName field's value.
13616func (s *DescribeProvisioningParametersInput) SetProvisioningArtifactName(v string) *DescribeProvisioningParametersInput {
13617	s.ProvisioningArtifactName = &v
13618	return s
13619}
13620
13621type DescribeProvisioningParametersOutput struct {
13622	_ struct{} `type:"structure"`
13623
13624	// Information about the constraints used to provision the product.
13625	ConstraintSummaries []*ConstraintSummary `type:"list"`
13626
13627	// The output of the provisioning artifact.
13628	ProvisioningArtifactOutputs []*ProvisioningArtifactOutput `type:"list"`
13629
13630	// Information about the parameters used to provision the product.
13631	ProvisioningArtifactParameters []*ProvisioningArtifactParameter `type:"list"`
13632
13633	// An object that contains information about preferences, such as regions and
13634	// accounts, for the provisioning artifact.
13635	ProvisioningArtifactPreferences *ProvisioningArtifactPreferences `type:"structure"`
13636
13637	// Information about the TagOptions associated with the resource.
13638	TagOptions []*TagOptionSummary `type:"list"`
13639
13640	// Any additional metadata specifically related to the provisioning of the product.
13641	// For example, see the Version field of the CloudFormation template.
13642	UsageInstructions []*UsageInstruction `type:"list"`
13643}
13644
13645// String returns the string representation.
13646//
13647// API parameter values that are decorated as "sensitive" in the API will not
13648// be included in the string output. The member name will be present, but the
13649// value will be replaced with "sensitive".
13650func (s DescribeProvisioningParametersOutput) String() string {
13651	return awsutil.Prettify(s)
13652}
13653
13654// GoString returns the string representation.
13655//
13656// API parameter values that are decorated as "sensitive" in the API will not
13657// be included in the string output. The member name will be present, but the
13658// value will be replaced with "sensitive".
13659func (s DescribeProvisioningParametersOutput) GoString() string {
13660	return s.String()
13661}
13662
13663// SetConstraintSummaries sets the ConstraintSummaries field's value.
13664func (s *DescribeProvisioningParametersOutput) SetConstraintSummaries(v []*ConstraintSummary) *DescribeProvisioningParametersOutput {
13665	s.ConstraintSummaries = v
13666	return s
13667}
13668
13669// SetProvisioningArtifactOutputs sets the ProvisioningArtifactOutputs field's value.
13670func (s *DescribeProvisioningParametersOutput) SetProvisioningArtifactOutputs(v []*ProvisioningArtifactOutput) *DescribeProvisioningParametersOutput {
13671	s.ProvisioningArtifactOutputs = v
13672	return s
13673}
13674
13675// SetProvisioningArtifactParameters sets the ProvisioningArtifactParameters field's value.
13676func (s *DescribeProvisioningParametersOutput) SetProvisioningArtifactParameters(v []*ProvisioningArtifactParameter) *DescribeProvisioningParametersOutput {
13677	s.ProvisioningArtifactParameters = v
13678	return s
13679}
13680
13681// SetProvisioningArtifactPreferences sets the ProvisioningArtifactPreferences field's value.
13682func (s *DescribeProvisioningParametersOutput) SetProvisioningArtifactPreferences(v *ProvisioningArtifactPreferences) *DescribeProvisioningParametersOutput {
13683	s.ProvisioningArtifactPreferences = v
13684	return s
13685}
13686
13687// SetTagOptions sets the TagOptions field's value.
13688func (s *DescribeProvisioningParametersOutput) SetTagOptions(v []*TagOptionSummary) *DescribeProvisioningParametersOutput {
13689	s.TagOptions = v
13690	return s
13691}
13692
13693// SetUsageInstructions sets the UsageInstructions field's value.
13694func (s *DescribeProvisioningParametersOutput) SetUsageInstructions(v []*UsageInstruction) *DescribeProvisioningParametersOutput {
13695	s.UsageInstructions = v
13696	return s
13697}
13698
13699type DescribeRecordInput struct {
13700	_ struct{} `type:"structure"`
13701
13702	// The language code.
13703	//
13704	//    * en - English (default)
13705	//
13706	//    * jp - Japanese
13707	//
13708	//    * zh - Chinese
13709	AcceptLanguage *string `type:"string"`
13710
13711	// The record identifier of the provisioned product. This identifier is returned
13712	// by the request operation.
13713	//
13714	// Id is a required field
13715	Id *string `min:"1" type:"string" required:"true"`
13716
13717	// The maximum number of items to return with this call.
13718	PageSize *int64 `type:"integer"`
13719
13720	// The page token for the next set of results. To retrieve the first set of
13721	// results, use null.
13722	PageToken *string `type:"string"`
13723}
13724
13725// String returns the string representation.
13726//
13727// API parameter values that are decorated as "sensitive" in the API will not
13728// be included in the string output. The member name will be present, but the
13729// value will be replaced with "sensitive".
13730func (s DescribeRecordInput) String() string {
13731	return awsutil.Prettify(s)
13732}
13733
13734// GoString returns the string representation.
13735//
13736// API parameter values that are decorated as "sensitive" in the API will not
13737// be included in the string output. The member name will be present, but the
13738// value will be replaced with "sensitive".
13739func (s DescribeRecordInput) GoString() string {
13740	return s.String()
13741}
13742
13743// Validate inspects the fields of the type to determine if they are valid.
13744func (s *DescribeRecordInput) Validate() error {
13745	invalidParams := request.ErrInvalidParams{Context: "DescribeRecordInput"}
13746	if s.Id == nil {
13747		invalidParams.Add(request.NewErrParamRequired("Id"))
13748	}
13749	if s.Id != nil && len(*s.Id) < 1 {
13750		invalidParams.Add(request.NewErrParamMinLen("Id", 1))
13751	}
13752
13753	if invalidParams.Len() > 0 {
13754		return invalidParams
13755	}
13756	return nil
13757}
13758
13759// SetAcceptLanguage sets the AcceptLanguage field's value.
13760func (s *DescribeRecordInput) SetAcceptLanguage(v string) *DescribeRecordInput {
13761	s.AcceptLanguage = &v
13762	return s
13763}
13764
13765// SetId sets the Id field's value.
13766func (s *DescribeRecordInput) SetId(v string) *DescribeRecordInput {
13767	s.Id = &v
13768	return s
13769}
13770
13771// SetPageSize sets the PageSize field's value.
13772func (s *DescribeRecordInput) SetPageSize(v int64) *DescribeRecordInput {
13773	s.PageSize = &v
13774	return s
13775}
13776
13777// SetPageToken sets the PageToken field's value.
13778func (s *DescribeRecordInput) SetPageToken(v string) *DescribeRecordInput {
13779	s.PageToken = &v
13780	return s
13781}
13782
13783type DescribeRecordOutput struct {
13784	_ struct{} `type:"structure"`
13785
13786	// The page token to use to retrieve the next set of results. If there are no
13787	// additional results, this value is null.
13788	NextPageToken *string `type:"string"`
13789
13790	// Information about the product.
13791	RecordDetail *RecordDetail `type:"structure"`
13792
13793	// Information about the product created as the result of a request. For example,
13794	// the output for a CloudFormation-backed product that creates an S3 bucket
13795	// would include the S3 bucket URL.
13796	RecordOutputs []*RecordOutput `type:"list"`
13797}
13798
13799// String returns the string representation.
13800//
13801// API parameter values that are decorated as "sensitive" in the API will not
13802// be included in the string output. The member name will be present, but the
13803// value will be replaced with "sensitive".
13804func (s DescribeRecordOutput) String() string {
13805	return awsutil.Prettify(s)
13806}
13807
13808// GoString returns the string representation.
13809//
13810// API parameter values that are decorated as "sensitive" in the API will not
13811// be included in the string output. The member name will be present, but the
13812// value will be replaced with "sensitive".
13813func (s DescribeRecordOutput) GoString() string {
13814	return s.String()
13815}
13816
13817// SetNextPageToken sets the NextPageToken field's value.
13818func (s *DescribeRecordOutput) SetNextPageToken(v string) *DescribeRecordOutput {
13819	s.NextPageToken = &v
13820	return s
13821}
13822
13823// SetRecordDetail sets the RecordDetail field's value.
13824func (s *DescribeRecordOutput) SetRecordDetail(v *RecordDetail) *DescribeRecordOutput {
13825	s.RecordDetail = v
13826	return s
13827}
13828
13829// SetRecordOutputs sets the RecordOutputs field's value.
13830func (s *DescribeRecordOutput) SetRecordOutputs(v []*RecordOutput) *DescribeRecordOutput {
13831	s.RecordOutputs = v
13832	return s
13833}
13834
13835type DescribeServiceActionExecutionParametersInput struct {
13836	_ struct{} `type:"structure"`
13837
13838	// The language code.
13839	//
13840	//    * en - English (default)
13841	//
13842	//    * jp - Japanese
13843	//
13844	//    * zh - Chinese
13845	AcceptLanguage *string `type:"string"`
13846
13847	// The identifier of the provisioned product.
13848	//
13849	// ProvisionedProductId is a required field
13850	ProvisionedProductId *string `min:"1" type:"string" required:"true"`
13851
13852	// The self-service action identifier.
13853	//
13854	// ServiceActionId is a required field
13855	ServiceActionId *string `min:"1" type:"string" required:"true"`
13856}
13857
13858// String returns the string representation.
13859//
13860// API parameter values that are decorated as "sensitive" in the API will not
13861// be included in the string output. The member name will be present, but the
13862// value will be replaced with "sensitive".
13863func (s DescribeServiceActionExecutionParametersInput) String() string {
13864	return awsutil.Prettify(s)
13865}
13866
13867// GoString returns the string representation.
13868//
13869// API parameter values that are decorated as "sensitive" in the API will not
13870// be included in the string output. The member name will be present, but the
13871// value will be replaced with "sensitive".
13872func (s DescribeServiceActionExecutionParametersInput) GoString() string {
13873	return s.String()
13874}
13875
13876// Validate inspects the fields of the type to determine if they are valid.
13877func (s *DescribeServiceActionExecutionParametersInput) Validate() error {
13878	invalidParams := request.ErrInvalidParams{Context: "DescribeServiceActionExecutionParametersInput"}
13879	if s.ProvisionedProductId == nil {
13880		invalidParams.Add(request.NewErrParamRequired("ProvisionedProductId"))
13881	}
13882	if s.ProvisionedProductId != nil && len(*s.ProvisionedProductId) < 1 {
13883		invalidParams.Add(request.NewErrParamMinLen("ProvisionedProductId", 1))
13884	}
13885	if s.ServiceActionId == nil {
13886		invalidParams.Add(request.NewErrParamRequired("ServiceActionId"))
13887	}
13888	if s.ServiceActionId != nil && len(*s.ServiceActionId) < 1 {
13889		invalidParams.Add(request.NewErrParamMinLen("ServiceActionId", 1))
13890	}
13891
13892	if invalidParams.Len() > 0 {
13893		return invalidParams
13894	}
13895	return nil
13896}
13897
13898// SetAcceptLanguage sets the AcceptLanguage field's value.
13899func (s *DescribeServiceActionExecutionParametersInput) SetAcceptLanguage(v string) *DescribeServiceActionExecutionParametersInput {
13900	s.AcceptLanguage = &v
13901	return s
13902}
13903
13904// SetProvisionedProductId sets the ProvisionedProductId field's value.
13905func (s *DescribeServiceActionExecutionParametersInput) SetProvisionedProductId(v string) *DescribeServiceActionExecutionParametersInput {
13906	s.ProvisionedProductId = &v
13907	return s
13908}
13909
13910// SetServiceActionId sets the ServiceActionId field's value.
13911func (s *DescribeServiceActionExecutionParametersInput) SetServiceActionId(v string) *DescribeServiceActionExecutionParametersInput {
13912	s.ServiceActionId = &v
13913	return s
13914}
13915
13916type DescribeServiceActionExecutionParametersOutput struct {
13917	_ struct{} `type:"structure"`
13918
13919	// The parameters of the self-service action.
13920	ServiceActionParameters []*ExecutionParameter `type:"list"`
13921}
13922
13923// String returns the string representation.
13924//
13925// API parameter values that are decorated as "sensitive" in the API will not
13926// be included in the string output. The member name will be present, but the
13927// value will be replaced with "sensitive".
13928func (s DescribeServiceActionExecutionParametersOutput) String() string {
13929	return awsutil.Prettify(s)
13930}
13931
13932// GoString returns the string representation.
13933//
13934// API parameter values that are decorated as "sensitive" in the API will not
13935// be included in the string output. The member name will be present, but the
13936// value will be replaced with "sensitive".
13937func (s DescribeServiceActionExecutionParametersOutput) GoString() string {
13938	return s.String()
13939}
13940
13941// SetServiceActionParameters sets the ServiceActionParameters field's value.
13942func (s *DescribeServiceActionExecutionParametersOutput) SetServiceActionParameters(v []*ExecutionParameter) *DescribeServiceActionExecutionParametersOutput {
13943	s.ServiceActionParameters = v
13944	return s
13945}
13946
13947type DescribeServiceActionInput struct {
13948	_ struct{} `type:"structure"`
13949
13950	// The language code.
13951	//
13952	//    * en - English (default)
13953	//
13954	//    * jp - Japanese
13955	//
13956	//    * zh - Chinese
13957	AcceptLanguage *string `type:"string"`
13958
13959	// The self-service action identifier.
13960	//
13961	// Id is a required field
13962	Id *string `min:"1" type:"string" required:"true"`
13963}
13964
13965// String returns the string representation.
13966//
13967// API parameter values that are decorated as "sensitive" in the API will not
13968// be included in the string output. The member name will be present, but the
13969// value will be replaced with "sensitive".
13970func (s DescribeServiceActionInput) String() string {
13971	return awsutil.Prettify(s)
13972}
13973
13974// GoString returns the string representation.
13975//
13976// API parameter values that are decorated as "sensitive" in the API will not
13977// be included in the string output. The member name will be present, but the
13978// value will be replaced with "sensitive".
13979func (s DescribeServiceActionInput) GoString() string {
13980	return s.String()
13981}
13982
13983// Validate inspects the fields of the type to determine if they are valid.
13984func (s *DescribeServiceActionInput) Validate() error {
13985	invalidParams := request.ErrInvalidParams{Context: "DescribeServiceActionInput"}
13986	if s.Id == nil {
13987		invalidParams.Add(request.NewErrParamRequired("Id"))
13988	}
13989	if s.Id != nil && len(*s.Id) < 1 {
13990		invalidParams.Add(request.NewErrParamMinLen("Id", 1))
13991	}
13992
13993	if invalidParams.Len() > 0 {
13994		return invalidParams
13995	}
13996	return nil
13997}
13998
13999// SetAcceptLanguage sets the AcceptLanguage field's value.
14000func (s *DescribeServiceActionInput) SetAcceptLanguage(v string) *DescribeServiceActionInput {
14001	s.AcceptLanguage = &v
14002	return s
14003}
14004
14005// SetId sets the Id field's value.
14006func (s *DescribeServiceActionInput) SetId(v string) *DescribeServiceActionInput {
14007	s.Id = &v
14008	return s
14009}
14010
14011type DescribeServiceActionOutput struct {
14012	_ struct{} `type:"structure"`
14013
14014	// Detailed information about the self-service action.
14015	ServiceActionDetail *ServiceActionDetail `type:"structure"`
14016}
14017
14018// String returns the string representation.
14019//
14020// API parameter values that are decorated as "sensitive" in the API will not
14021// be included in the string output. The member name will be present, but the
14022// value will be replaced with "sensitive".
14023func (s DescribeServiceActionOutput) String() string {
14024	return awsutil.Prettify(s)
14025}
14026
14027// GoString returns the string representation.
14028//
14029// API parameter values that are decorated as "sensitive" in the API will not
14030// be included in the string output. The member name will be present, but the
14031// value will be replaced with "sensitive".
14032func (s DescribeServiceActionOutput) GoString() string {
14033	return s.String()
14034}
14035
14036// SetServiceActionDetail sets the ServiceActionDetail field's value.
14037func (s *DescribeServiceActionOutput) SetServiceActionDetail(v *ServiceActionDetail) *DescribeServiceActionOutput {
14038	s.ServiceActionDetail = v
14039	return s
14040}
14041
14042type DescribeTagOptionInput struct {
14043	_ struct{} `type:"structure"`
14044
14045	// The TagOption identifier.
14046	//
14047	// Id is a required field
14048	Id *string `min:"1" type:"string" required:"true"`
14049}
14050
14051// String returns the string representation.
14052//
14053// API parameter values that are decorated as "sensitive" in the API will not
14054// be included in the string output. The member name will be present, but the
14055// value will be replaced with "sensitive".
14056func (s DescribeTagOptionInput) String() string {
14057	return awsutil.Prettify(s)
14058}
14059
14060// GoString returns the string representation.
14061//
14062// API parameter values that are decorated as "sensitive" in the API will not
14063// be included in the string output. The member name will be present, but the
14064// value will be replaced with "sensitive".
14065func (s DescribeTagOptionInput) GoString() string {
14066	return s.String()
14067}
14068
14069// Validate inspects the fields of the type to determine if they are valid.
14070func (s *DescribeTagOptionInput) Validate() error {
14071	invalidParams := request.ErrInvalidParams{Context: "DescribeTagOptionInput"}
14072	if s.Id == nil {
14073		invalidParams.Add(request.NewErrParamRequired("Id"))
14074	}
14075	if s.Id != nil && len(*s.Id) < 1 {
14076		invalidParams.Add(request.NewErrParamMinLen("Id", 1))
14077	}
14078
14079	if invalidParams.Len() > 0 {
14080		return invalidParams
14081	}
14082	return nil
14083}
14084
14085// SetId sets the Id field's value.
14086func (s *DescribeTagOptionInput) SetId(v string) *DescribeTagOptionInput {
14087	s.Id = &v
14088	return s
14089}
14090
14091type DescribeTagOptionOutput struct {
14092	_ struct{} `type:"structure"`
14093
14094	// Information about the TagOption.
14095	TagOptionDetail *TagOptionDetail `type:"structure"`
14096}
14097
14098// String returns the string representation.
14099//
14100// API parameter values that are decorated as "sensitive" in the API will not
14101// be included in the string output. The member name will be present, but the
14102// value will be replaced with "sensitive".
14103func (s DescribeTagOptionOutput) String() string {
14104	return awsutil.Prettify(s)
14105}
14106
14107// GoString returns the string representation.
14108//
14109// API parameter values that are decorated as "sensitive" in the API will not
14110// be included in the string output. The member name will be present, but the
14111// value will be replaced with "sensitive".
14112func (s DescribeTagOptionOutput) GoString() string {
14113	return s.String()
14114}
14115
14116// SetTagOptionDetail sets the TagOptionDetail field's value.
14117func (s *DescribeTagOptionOutput) SetTagOptionDetail(v *TagOptionDetail) *DescribeTagOptionOutput {
14118	s.TagOptionDetail = v
14119	return s
14120}
14121
14122type DisableAWSOrganizationsAccessInput struct {
14123	_ struct{} `type:"structure"`
14124}
14125
14126// String returns the string representation.
14127//
14128// API parameter values that are decorated as "sensitive" in the API will not
14129// be included in the string output. The member name will be present, but the
14130// value will be replaced with "sensitive".
14131func (s DisableAWSOrganizationsAccessInput) String() string {
14132	return awsutil.Prettify(s)
14133}
14134
14135// GoString returns the string representation.
14136//
14137// API parameter values that are decorated as "sensitive" in the API will not
14138// be included in the string output. The member name will be present, but the
14139// value will be replaced with "sensitive".
14140func (s DisableAWSOrganizationsAccessInput) GoString() string {
14141	return s.String()
14142}
14143
14144type DisableAWSOrganizationsAccessOutput struct {
14145	_ struct{} `type:"structure"`
14146}
14147
14148// String returns the string representation.
14149//
14150// API parameter values that are decorated as "sensitive" in the API will not
14151// be included in the string output. The member name will be present, but the
14152// value will be replaced with "sensitive".
14153func (s DisableAWSOrganizationsAccessOutput) String() string {
14154	return awsutil.Prettify(s)
14155}
14156
14157// GoString returns the string representation.
14158//
14159// API parameter values that are decorated as "sensitive" in the API will not
14160// be included in the string output. The member name will be present, but the
14161// value will be replaced with "sensitive".
14162func (s DisableAWSOrganizationsAccessOutput) GoString() string {
14163	return s.String()
14164}
14165
14166type DisassociateBudgetFromResourceInput struct {
14167	_ struct{} `type:"structure"`
14168
14169	// The name of the budget you want to disassociate.
14170	//
14171	// BudgetName is a required field
14172	BudgetName *string `min:"1" type:"string" required:"true"`
14173
14174	// The resource identifier you want to disassociate from. Either a portfolio-id
14175	// or a product-id.
14176	//
14177	// ResourceId is a required field
14178	ResourceId *string `min:"1" type:"string" required:"true"`
14179}
14180
14181// String returns the string representation.
14182//
14183// API parameter values that are decorated as "sensitive" in the API will not
14184// be included in the string output. The member name will be present, but the
14185// value will be replaced with "sensitive".
14186func (s DisassociateBudgetFromResourceInput) String() string {
14187	return awsutil.Prettify(s)
14188}
14189
14190// GoString returns the string representation.
14191//
14192// API parameter values that are decorated as "sensitive" in the API will not
14193// be included in the string output. The member name will be present, but the
14194// value will be replaced with "sensitive".
14195func (s DisassociateBudgetFromResourceInput) GoString() string {
14196	return s.String()
14197}
14198
14199// Validate inspects the fields of the type to determine if they are valid.
14200func (s *DisassociateBudgetFromResourceInput) Validate() error {
14201	invalidParams := request.ErrInvalidParams{Context: "DisassociateBudgetFromResourceInput"}
14202	if s.BudgetName == nil {
14203		invalidParams.Add(request.NewErrParamRequired("BudgetName"))
14204	}
14205	if s.BudgetName != nil && len(*s.BudgetName) < 1 {
14206		invalidParams.Add(request.NewErrParamMinLen("BudgetName", 1))
14207	}
14208	if s.ResourceId == nil {
14209		invalidParams.Add(request.NewErrParamRequired("ResourceId"))
14210	}
14211	if s.ResourceId != nil && len(*s.ResourceId) < 1 {
14212		invalidParams.Add(request.NewErrParamMinLen("ResourceId", 1))
14213	}
14214
14215	if invalidParams.Len() > 0 {
14216		return invalidParams
14217	}
14218	return nil
14219}
14220
14221// SetBudgetName sets the BudgetName field's value.
14222func (s *DisassociateBudgetFromResourceInput) SetBudgetName(v string) *DisassociateBudgetFromResourceInput {
14223	s.BudgetName = &v
14224	return s
14225}
14226
14227// SetResourceId sets the ResourceId field's value.
14228func (s *DisassociateBudgetFromResourceInput) SetResourceId(v string) *DisassociateBudgetFromResourceInput {
14229	s.ResourceId = &v
14230	return s
14231}
14232
14233type DisassociateBudgetFromResourceOutput struct {
14234	_ struct{} `type:"structure"`
14235}
14236
14237// String returns the string representation.
14238//
14239// API parameter values that are decorated as "sensitive" in the API will not
14240// be included in the string output. The member name will be present, but the
14241// value will be replaced with "sensitive".
14242func (s DisassociateBudgetFromResourceOutput) String() string {
14243	return awsutil.Prettify(s)
14244}
14245
14246// GoString returns the string representation.
14247//
14248// API parameter values that are decorated as "sensitive" in the API will not
14249// be included in the string output. The member name will be present, but the
14250// value will be replaced with "sensitive".
14251func (s DisassociateBudgetFromResourceOutput) GoString() string {
14252	return s.String()
14253}
14254
14255type DisassociatePrincipalFromPortfolioInput struct {
14256	_ struct{} `type:"structure"`
14257
14258	// The language code.
14259	//
14260	//    * en - English (default)
14261	//
14262	//    * jp - Japanese
14263	//
14264	//    * zh - Chinese
14265	AcceptLanguage *string `type:"string"`
14266
14267	// The portfolio identifier.
14268	//
14269	// PortfolioId is a required field
14270	PortfolioId *string `min:"1" type:"string" required:"true"`
14271
14272	// The ARN of the principal (IAM user, role, or group).
14273	//
14274	// PrincipalARN is a required field
14275	PrincipalARN *string `min:"1" type:"string" required:"true"`
14276}
14277
14278// String returns the string representation.
14279//
14280// API parameter values that are decorated as "sensitive" in the API will not
14281// be included in the string output. The member name will be present, but the
14282// value will be replaced with "sensitive".
14283func (s DisassociatePrincipalFromPortfolioInput) String() string {
14284	return awsutil.Prettify(s)
14285}
14286
14287// GoString returns the string representation.
14288//
14289// API parameter values that are decorated as "sensitive" in the API will not
14290// be included in the string output. The member name will be present, but the
14291// value will be replaced with "sensitive".
14292func (s DisassociatePrincipalFromPortfolioInput) GoString() string {
14293	return s.String()
14294}
14295
14296// Validate inspects the fields of the type to determine if they are valid.
14297func (s *DisassociatePrincipalFromPortfolioInput) Validate() error {
14298	invalidParams := request.ErrInvalidParams{Context: "DisassociatePrincipalFromPortfolioInput"}
14299	if s.PortfolioId == nil {
14300		invalidParams.Add(request.NewErrParamRequired("PortfolioId"))
14301	}
14302	if s.PortfolioId != nil && len(*s.PortfolioId) < 1 {
14303		invalidParams.Add(request.NewErrParamMinLen("PortfolioId", 1))
14304	}
14305	if s.PrincipalARN == nil {
14306		invalidParams.Add(request.NewErrParamRequired("PrincipalARN"))
14307	}
14308	if s.PrincipalARN != nil && len(*s.PrincipalARN) < 1 {
14309		invalidParams.Add(request.NewErrParamMinLen("PrincipalARN", 1))
14310	}
14311
14312	if invalidParams.Len() > 0 {
14313		return invalidParams
14314	}
14315	return nil
14316}
14317
14318// SetAcceptLanguage sets the AcceptLanguage field's value.
14319func (s *DisassociatePrincipalFromPortfolioInput) SetAcceptLanguage(v string) *DisassociatePrincipalFromPortfolioInput {
14320	s.AcceptLanguage = &v
14321	return s
14322}
14323
14324// SetPortfolioId sets the PortfolioId field's value.
14325func (s *DisassociatePrincipalFromPortfolioInput) SetPortfolioId(v string) *DisassociatePrincipalFromPortfolioInput {
14326	s.PortfolioId = &v
14327	return s
14328}
14329
14330// SetPrincipalARN sets the PrincipalARN field's value.
14331func (s *DisassociatePrincipalFromPortfolioInput) SetPrincipalARN(v string) *DisassociatePrincipalFromPortfolioInput {
14332	s.PrincipalARN = &v
14333	return s
14334}
14335
14336type DisassociatePrincipalFromPortfolioOutput struct {
14337	_ struct{} `type:"structure"`
14338}
14339
14340// String returns the string representation.
14341//
14342// API parameter values that are decorated as "sensitive" in the API will not
14343// be included in the string output. The member name will be present, but the
14344// value will be replaced with "sensitive".
14345func (s DisassociatePrincipalFromPortfolioOutput) String() string {
14346	return awsutil.Prettify(s)
14347}
14348
14349// GoString returns the string representation.
14350//
14351// API parameter values that are decorated as "sensitive" in the API will not
14352// be included in the string output. The member name will be present, but the
14353// value will be replaced with "sensitive".
14354func (s DisassociatePrincipalFromPortfolioOutput) GoString() string {
14355	return s.String()
14356}
14357
14358type DisassociateProductFromPortfolioInput struct {
14359	_ struct{} `type:"structure"`
14360
14361	// The language code.
14362	//
14363	//    * en - English (default)
14364	//
14365	//    * jp - Japanese
14366	//
14367	//    * zh - Chinese
14368	AcceptLanguage *string `type:"string"`
14369
14370	// The portfolio identifier.
14371	//
14372	// PortfolioId is a required field
14373	PortfolioId *string `min:"1" type:"string" required:"true"`
14374
14375	// The product identifier.
14376	//
14377	// ProductId is a required field
14378	ProductId *string `min:"1" type:"string" required:"true"`
14379}
14380
14381// String returns the string representation.
14382//
14383// API parameter values that are decorated as "sensitive" in the API will not
14384// be included in the string output. The member name will be present, but the
14385// value will be replaced with "sensitive".
14386func (s DisassociateProductFromPortfolioInput) String() string {
14387	return awsutil.Prettify(s)
14388}
14389
14390// GoString returns the string representation.
14391//
14392// API parameter values that are decorated as "sensitive" in the API will not
14393// be included in the string output. The member name will be present, but the
14394// value will be replaced with "sensitive".
14395func (s DisassociateProductFromPortfolioInput) GoString() string {
14396	return s.String()
14397}
14398
14399// Validate inspects the fields of the type to determine if they are valid.
14400func (s *DisassociateProductFromPortfolioInput) Validate() error {
14401	invalidParams := request.ErrInvalidParams{Context: "DisassociateProductFromPortfolioInput"}
14402	if s.PortfolioId == nil {
14403		invalidParams.Add(request.NewErrParamRequired("PortfolioId"))
14404	}
14405	if s.PortfolioId != nil && len(*s.PortfolioId) < 1 {
14406		invalidParams.Add(request.NewErrParamMinLen("PortfolioId", 1))
14407	}
14408	if s.ProductId == nil {
14409		invalidParams.Add(request.NewErrParamRequired("ProductId"))
14410	}
14411	if s.ProductId != nil && len(*s.ProductId) < 1 {
14412		invalidParams.Add(request.NewErrParamMinLen("ProductId", 1))
14413	}
14414
14415	if invalidParams.Len() > 0 {
14416		return invalidParams
14417	}
14418	return nil
14419}
14420
14421// SetAcceptLanguage sets the AcceptLanguage field's value.
14422func (s *DisassociateProductFromPortfolioInput) SetAcceptLanguage(v string) *DisassociateProductFromPortfolioInput {
14423	s.AcceptLanguage = &v
14424	return s
14425}
14426
14427// SetPortfolioId sets the PortfolioId field's value.
14428func (s *DisassociateProductFromPortfolioInput) SetPortfolioId(v string) *DisassociateProductFromPortfolioInput {
14429	s.PortfolioId = &v
14430	return s
14431}
14432
14433// SetProductId sets the ProductId field's value.
14434func (s *DisassociateProductFromPortfolioInput) SetProductId(v string) *DisassociateProductFromPortfolioInput {
14435	s.ProductId = &v
14436	return s
14437}
14438
14439type DisassociateProductFromPortfolioOutput struct {
14440	_ struct{} `type:"structure"`
14441}
14442
14443// String returns the string representation.
14444//
14445// API parameter values that are decorated as "sensitive" in the API will not
14446// be included in the string output. The member name will be present, but the
14447// value will be replaced with "sensitive".
14448func (s DisassociateProductFromPortfolioOutput) String() string {
14449	return awsutil.Prettify(s)
14450}
14451
14452// GoString returns the string representation.
14453//
14454// API parameter values that are decorated as "sensitive" in the API will not
14455// be included in the string output. The member name will be present, but the
14456// value will be replaced with "sensitive".
14457func (s DisassociateProductFromPortfolioOutput) GoString() string {
14458	return s.String()
14459}
14460
14461type DisassociateServiceActionFromProvisioningArtifactInput struct {
14462	_ struct{} `type:"structure"`
14463
14464	// The language code.
14465	//
14466	//    * en - English (default)
14467	//
14468	//    * jp - Japanese
14469	//
14470	//    * zh - Chinese
14471	AcceptLanguage *string `type:"string"`
14472
14473	// The product identifier. For example, prod-abcdzk7xy33qa.
14474	//
14475	// ProductId is a required field
14476	ProductId *string `min:"1" type:"string" required:"true"`
14477
14478	// The identifier of the provisioning artifact. For example, pa-4abcdjnxjj6ne.
14479	//
14480	// ProvisioningArtifactId is a required field
14481	ProvisioningArtifactId *string `min:"1" type:"string" required:"true"`
14482
14483	// The self-service action identifier. For example, act-fs7abcd89wxyz.
14484	//
14485	// ServiceActionId is a required field
14486	ServiceActionId *string `min:"1" type:"string" required:"true"`
14487}
14488
14489// String returns the string representation.
14490//
14491// API parameter values that are decorated as "sensitive" in the API will not
14492// be included in the string output. The member name will be present, but the
14493// value will be replaced with "sensitive".
14494func (s DisassociateServiceActionFromProvisioningArtifactInput) String() string {
14495	return awsutil.Prettify(s)
14496}
14497
14498// GoString returns the string representation.
14499//
14500// API parameter values that are decorated as "sensitive" in the API will not
14501// be included in the string output. The member name will be present, but the
14502// value will be replaced with "sensitive".
14503func (s DisassociateServiceActionFromProvisioningArtifactInput) GoString() string {
14504	return s.String()
14505}
14506
14507// Validate inspects the fields of the type to determine if they are valid.
14508func (s *DisassociateServiceActionFromProvisioningArtifactInput) Validate() error {
14509	invalidParams := request.ErrInvalidParams{Context: "DisassociateServiceActionFromProvisioningArtifactInput"}
14510	if s.ProductId == nil {
14511		invalidParams.Add(request.NewErrParamRequired("ProductId"))
14512	}
14513	if s.ProductId != nil && len(*s.ProductId) < 1 {
14514		invalidParams.Add(request.NewErrParamMinLen("ProductId", 1))
14515	}
14516	if s.ProvisioningArtifactId == nil {
14517		invalidParams.Add(request.NewErrParamRequired("ProvisioningArtifactId"))
14518	}
14519	if s.ProvisioningArtifactId != nil && len(*s.ProvisioningArtifactId) < 1 {
14520		invalidParams.Add(request.NewErrParamMinLen("ProvisioningArtifactId", 1))
14521	}
14522	if s.ServiceActionId == nil {
14523		invalidParams.Add(request.NewErrParamRequired("ServiceActionId"))
14524	}
14525	if s.ServiceActionId != nil && len(*s.ServiceActionId) < 1 {
14526		invalidParams.Add(request.NewErrParamMinLen("ServiceActionId", 1))
14527	}
14528
14529	if invalidParams.Len() > 0 {
14530		return invalidParams
14531	}
14532	return nil
14533}
14534
14535// SetAcceptLanguage sets the AcceptLanguage field's value.
14536func (s *DisassociateServiceActionFromProvisioningArtifactInput) SetAcceptLanguage(v string) *DisassociateServiceActionFromProvisioningArtifactInput {
14537	s.AcceptLanguage = &v
14538	return s
14539}
14540
14541// SetProductId sets the ProductId field's value.
14542func (s *DisassociateServiceActionFromProvisioningArtifactInput) SetProductId(v string) *DisassociateServiceActionFromProvisioningArtifactInput {
14543	s.ProductId = &v
14544	return s
14545}
14546
14547// SetProvisioningArtifactId sets the ProvisioningArtifactId field's value.
14548func (s *DisassociateServiceActionFromProvisioningArtifactInput) SetProvisioningArtifactId(v string) *DisassociateServiceActionFromProvisioningArtifactInput {
14549	s.ProvisioningArtifactId = &v
14550	return s
14551}
14552
14553// SetServiceActionId sets the ServiceActionId field's value.
14554func (s *DisassociateServiceActionFromProvisioningArtifactInput) SetServiceActionId(v string) *DisassociateServiceActionFromProvisioningArtifactInput {
14555	s.ServiceActionId = &v
14556	return s
14557}
14558
14559type DisassociateServiceActionFromProvisioningArtifactOutput struct {
14560	_ struct{} `type:"structure"`
14561}
14562
14563// String returns the string representation.
14564//
14565// API parameter values that are decorated as "sensitive" in the API will not
14566// be included in the string output. The member name will be present, but the
14567// value will be replaced with "sensitive".
14568func (s DisassociateServiceActionFromProvisioningArtifactOutput) String() string {
14569	return awsutil.Prettify(s)
14570}
14571
14572// GoString returns the string representation.
14573//
14574// API parameter values that are decorated as "sensitive" in the API will not
14575// be included in the string output. The member name will be present, but the
14576// value will be replaced with "sensitive".
14577func (s DisassociateServiceActionFromProvisioningArtifactOutput) GoString() string {
14578	return s.String()
14579}
14580
14581type DisassociateTagOptionFromResourceInput struct {
14582	_ struct{} `type:"structure"`
14583
14584	// The resource identifier.
14585	//
14586	// ResourceId is a required field
14587	ResourceId *string `type:"string" required:"true"`
14588
14589	// The TagOption identifier.
14590	//
14591	// TagOptionId is a required field
14592	TagOptionId *string `min:"1" type:"string" required:"true"`
14593}
14594
14595// String returns the string representation.
14596//
14597// API parameter values that are decorated as "sensitive" in the API will not
14598// be included in the string output. The member name will be present, but the
14599// value will be replaced with "sensitive".
14600func (s DisassociateTagOptionFromResourceInput) String() string {
14601	return awsutil.Prettify(s)
14602}
14603
14604// GoString returns the string representation.
14605//
14606// API parameter values that are decorated as "sensitive" in the API will not
14607// be included in the string output. The member name will be present, but the
14608// value will be replaced with "sensitive".
14609func (s DisassociateTagOptionFromResourceInput) GoString() string {
14610	return s.String()
14611}
14612
14613// Validate inspects the fields of the type to determine if they are valid.
14614func (s *DisassociateTagOptionFromResourceInput) Validate() error {
14615	invalidParams := request.ErrInvalidParams{Context: "DisassociateTagOptionFromResourceInput"}
14616	if s.ResourceId == nil {
14617		invalidParams.Add(request.NewErrParamRequired("ResourceId"))
14618	}
14619	if s.TagOptionId == nil {
14620		invalidParams.Add(request.NewErrParamRequired("TagOptionId"))
14621	}
14622	if s.TagOptionId != nil && len(*s.TagOptionId) < 1 {
14623		invalidParams.Add(request.NewErrParamMinLen("TagOptionId", 1))
14624	}
14625
14626	if invalidParams.Len() > 0 {
14627		return invalidParams
14628	}
14629	return nil
14630}
14631
14632// SetResourceId sets the ResourceId field's value.
14633func (s *DisassociateTagOptionFromResourceInput) SetResourceId(v string) *DisassociateTagOptionFromResourceInput {
14634	s.ResourceId = &v
14635	return s
14636}
14637
14638// SetTagOptionId sets the TagOptionId field's value.
14639func (s *DisassociateTagOptionFromResourceInput) SetTagOptionId(v string) *DisassociateTagOptionFromResourceInput {
14640	s.TagOptionId = &v
14641	return s
14642}
14643
14644type DisassociateTagOptionFromResourceOutput struct {
14645	_ struct{} `type:"structure"`
14646}
14647
14648// String returns the string representation.
14649//
14650// API parameter values that are decorated as "sensitive" in the API will not
14651// be included in the string output. The member name will be present, but the
14652// value will be replaced with "sensitive".
14653func (s DisassociateTagOptionFromResourceOutput) String() string {
14654	return awsutil.Prettify(s)
14655}
14656
14657// GoString returns the string representation.
14658//
14659// API parameter values that are decorated as "sensitive" in the API will not
14660// be included in the string output. The member name will be present, but the
14661// value will be replaced with "sensitive".
14662func (s DisassociateTagOptionFromResourceOutput) GoString() string {
14663	return s.String()
14664}
14665
14666// The specified resource is a duplicate.
14667type DuplicateResourceException struct {
14668	_            struct{}                  `type:"structure"`
14669	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
14670
14671	Message_ *string `locationName:"message" type:"string"`
14672}
14673
14674// String returns the string representation.
14675//
14676// API parameter values that are decorated as "sensitive" in the API will not
14677// be included in the string output. The member name will be present, but the
14678// value will be replaced with "sensitive".
14679func (s DuplicateResourceException) String() string {
14680	return awsutil.Prettify(s)
14681}
14682
14683// GoString returns the string representation.
14684//
14685// API parameter values that are decorated as "sensitive" in the API will not
14686// be included in the string output. The member name will be present, but the
14687// value will be replaced with "sensitive".
14688func (s DuplicateResourceException) GoString() string {
14689	return s.String()
14690}
14691
14692func newErrorDuplicateResourceException(v protocol.ResponseMetadata) error {
14693	return &DuplicateResourceException{
14694		RespMetadata: v,
14695	}
14696}
14697
14698// Code returns the exception type name.
14699func (s *DuplicateResourceException) Code() string {
14700	return "DuplicateResourceException"
14701}
14702
14703// Message returns the exception's message.
14704func (s *DuplicateResourceException) Message() string {
14705	if s.Message_ != nil {
14706		return *s.Message_
14707	}
14708	return ""
14709}
14710
14711// OrigErr always returns nil, satisfies awserr.Error interface.
14712func (s *DuplicateResourceException) OrigErr() error {
14713	return nil
14714}
14715
14716func (s *DuplicateResourceException) Error() string {
14717	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
14718}
14719
14720// Status code returns the HTTP status code for the request's response error.
14721func (s *DuplicateResourceException) StatusCode() int {
14722	return s.RespMetadata.StatusCode
14723}
14724
14725// RequestID returns the service's response RequestID for request.
14726func (s *DuplicateResourceException) RequestID() string {
14727	return s.RespMetadata.RequestID
14728}
14729
14730type EnableAWSOrganizationsAccessInput struct {
14731	_ struct{} `type:"structure"`
14732}
14733
14734// String returns the string representation.
14735//
14736// API parameter values that are decorated as "sensitive" in the API will not
14737// be included in the string output. The member name will be present, but the
14738// value will be replaced with "sensitive".
14739func (s EnableAWSOrganizationsAccessInput) String() string {
14740	return awsutil.Prettify(s)
14741}
14742
14743// GoString returns the string representation.
14744//
14745// API parameter values that are decorated as "sensitive" in the API will not
14746// be included in the string output. The member name will be present, but the
14747// value will be replaced with "sensitive".
14748func (s EnableAWSOrganizationsAccessInput) GoString() string {
14749	return s.String()
14750}
14751
14752type EnableAWSOrganizationsAccessOutput struct {
14753	_ struct{} `type:"structure"`
14754}
14755
14756// String returns the string representation.
14757//
14758// API parameter values that are decorated as "sensitive" in the API will not
14759// be included in the string output. The member name will be present, but the
14760// value will be replaced with "sensitive".
14761func (s EnableAWSOrganizationsAccessOutput) String() string {
14762	return awsutil.Prettify(s)
14763}
14764
14765// GoString returns the string representation.
14766//
14767// API parameter values that are decorated as "sensitive" in the API will not
14768// be included in the string output. The member name will be present, but the
14769// value will be replaced with "sensitive".
14770func (s EnableAWSOrganizationsAccessOutput) GoString() string {
14771	return s.String()
14772}
14773
14774type ExecuteProvisionedProductPlanInput struct {
14775	_ struct{} `type:"structure"`
14776
14777	// The language code.
14778	//
14779	//    * en - English (default)
14780	//
14781	//    * jp - Japanese
14782	//
14783	//    * zh - Chinese
14784	AcceptLanguage *string `type:"string"`
14785
14786	// A unique identifier that you provide to ensure idempotency. If multiple requests
14787	// differ only by the idempotency token, the same response is returned for each
14788	// repeated request.
14789	IdempotencyToken *string `min:"1" type:"string" idempotencyToken:"true"`
14790
14791	// The plan identifier.
14792	//
14793	// PlanId is a required field
14794	PlanId *string `min:"1" type:"string" required:"true"`
14795}
14796
14797// String returns the string representation.
14798//
14799// API parameter values that are decorated as "sensitive" in the API will not
14800// be included in the string output. The member name will be present, but the
14801// value will be replaced with "sensitive".
14802func (s ExecuteProvisionedProductPlanInput) String() string {
14803	return awsutil.Prettify(s)
14804}
14805
14806// GoString returns the string representation.
14807//
14808// API parameter values that are decorated as "sensitive" in the API will not
14809// be included in the string output. The member name will be present, but the
14810// value will be replaced with "sensitive".
14811func (s ExecuteProvisionedProductPlanInput) GoString() string {
14812	return s.String()
14813}
14814
14815// Validate inspects the fields of the type to determine if they are valid.
14816func (s *ExecuteProvisionedProductPlanInput) Validate() error {
14817	invalidParams := request.ErrInvalidParams{Context: "ExecuteProvisionedProductPlanInput"}
14818	if s.IdempotencyToken != nil && len(*s.IdempotencyToken) < 1 {
14819		invalidParams.Add(request.NewErrParamMinLen("IdempotencyToken", 1))
14820	}
14821	if s.PlanId == nil {
14822		invalidParams.Add(request.NewErrParamRequired("PlanId"))
14823	}
14824	if s.PlanId != nil && len(*s.PlanId) < 1 {
14825		invalidParams.Add(request.NewErrParamMinLen("PlanId", 1))
14826	}
14827
14828	if invalidParams.Len() > 0 {
14829		return invalidParams
14830	}
14831	return nil
14832}
14833
14834// SetAcceptLanguage sets the AcceptLanguage field's value.
14835func (s *ExecuteProvisionedProductPlanInput) SetAcceptLanguage(v string) *ExecuteProvisionedProductPlanInput {
14836	s.AcceptLanguage = &v
14837	return s
14838}
14839
14840// SetIdempotencyToken sets the IdempotencyToken field's value.
14841func (s *ExecuteProvisionedProductPlanInput) SetIdempotencyToken(v string) *ExecuteProvisionedProductPlanInput {
14842	s.IdempotencyToken = &v
14843	return s
14844}
14845
14846// SetPlanId sets the PlanId field's value.
14847func (s *ExecuteProvisionedProductPlanInput) SetPlanId(v string) *ExecuteProvisionedProductPlanInput {
14848	s.PlanId = &v
14849	return s
14850}
14851
14852type ExecuteProvisionedProductPlanOutput struct {
14853	_ struct{} `type:"structure"`
14854
14855	// Information about the result of provisioning the product.
14856	RecordDetail *RecordDetail `type:"structure"`
14857}
14858
14859// String returns the string representation.
14860//
14861// API parameter values that are decorated as "sensitive" in the API will not
14862// be included in the string output. The member name will be present, but the
14863// value will be replaced with "sensitive".
14864func (s ExecuteProvisionedProductPlanOutput) String() string {
14865	return awsutil.Prettify(s)
14866}
14867
14868// GoString returns the string representation.
14869//
14870// API parameter values that are decorated as "sensitive" in the API will not
14871// be included in the string output. The member name will be present, but the
14872// value will be replaced with "sensitive".
14873func (s ExecuteProvisionedProductPlanOutput) GoString() string {
14874	return s.String()
14875}
14876
14877// SetRecordDetail sets the RecordDetail field's value.
14878func (s *ExecuteProvisionedProductPlanOutput) SetRecordDetail(v *RecordDetail) *ExecuteProvisionedProductPlanOutput {
14879	s.RecordDetail = v
14880	return s
14881}
14882
14883type ExecuteProvisionedProductServiceActionInput struct {
14884	_ struct{} `type:"structure"`
14885
14886	// The language code.
14887	//
14888	//    * en - English (default)
14889	//
14890	//    * jp - Japanese
14891	//
14892	//    * zh - Chinese
14893	AcceptLanguage *string `type:"string"`
14894
14895	// An idempotency token that uniquely identifies the execute request.
14896	ExecuteToken *string `min:"1" type:"string" idempotencyToken:"true"`
14897
14898	// A map of all self-service action parameters and their values. If a provided
14899	// parameter is of a special type, such as TARGET, the provided value will override
14900	// the default value generated by AWS Service Catalog. If the parameters field
14901	// is not provided, no additional parameters are passed and default values will
14902	// be used for any special parameters such as TARGET.
14903	Parameters map[string][]*string `min:"1" type:"map"`
14904
14905	// The identifier of the provisioned product.
14906	//
14907	// ProvisionedProductId is a required field
14908	ProvisionedProductId *string `min:"1" type:"string" required:"true"`
14909
14910	// The self-service action identifier. For example, act-fs7abcd89wxyz.
14911	//
14912	// ServiceActionId is a required field
14913	ServiceActionId *string `min:"1" type:"string" required:"true"`
14914}
14915
14916// String returns the string representation.
14917//
14918// API parameter values that are decorated as "sensitive" in the API will not
14919// be included in the string output. The member name will be present, but the
14920// value will be replaced with "sensitive".
14921func (s ExecuteProvisionedProductServiceActionInput) String() string {
14922	return awsutil.Prettify(s)
14923}
14924
14925// GoString returns the string representation.
14926//
14927// API parameter values that are decorated as "sensitive" in the API will not
14928// be included in the string output. The member name will be present, but the
14929// value will be replaced with "sensitive".
14930func (s ExecuteProvisionedProductServiceActionInput) GoString() string {
14931	return s.String()
14932}
14933
14934// Validate inspects the fields of the type to determine if they are valid.
14935func (s *ExecuteProvisionedProductServiceActionInput) Validate() error {
14936	invalidParams := request.ErrInvalidParams{Context: "ExecuteProvisionedProductServiceActionInput"}
14937	if s.ExecuteToken != nil && len(*s.ExecuteToken) < 1 {
14938		invalidParams.Add(request.NewErrParamMinLen("ExecuteToken", 1))
14939	}
14940	if s.Parameters != nil && len(s.Parameters) < 1 {
14941		invalidParams.Add(request.NewErrParamMinLen("Parameters", 1))
14942	}
14943	if s.ProvisionedProductId == nil {
14944		invalidParams.Add(request.NewErrParamRequired("ProvisionedProductId"))
14945	}
14946	if s.ProvisionedProductId != nil && len(*s.ProvisionedProductId) < 1 {
14947		invalidParams.Add(request.NewErrParamMinLen("ProvisionedProductId", 1))
14948	}
14949	if s.ServiceActionId == nil {
14950		invalidParams.Add(request.NewErrParamRequired("ServiceActionId"))
14951	}
14952	if s.ServiceActionId != nil && len(*s.ServiceActionId) < 1 {
14953		invalidParams.Add(request.NewErrParamMinLen("ServiceActionId", 1))
14954	}
14955
14956	if invalidParams.Len() > 0 {
14957		return invalidParams
14958	}
14959	return nil
14960}
14961
14962// SetAcceptLanguage sets the AcceptLanguage field's value.
14963func (s *ExecuteProvisionedProductServiceActionInput) SetAcceptLanguage(v string) *ExecuteProvisionedProductServiceActionInput {
14964	s.AcceptLanguage = &v
14965	return s
14966}
14967
14968// SetExecuteToken sets the ExecuteToken field's value.
14969func (s *ExecuteProvisionedProductServiceActionInput) SetExecuteToken(v string) *ExecuteProvisionedProductServiceActionInput {
14970	s.ExecuteToken = &v
14971	return s
14972}
14973
14974// SetParameters sets the Parameters field's value.
14975func (s *ExecuteProvisionedProductServiceActionInput) SetParameters(v map[string][]*string) *ExecuteProvisionedProductServiceActionInput {
14976	s.Parameters = v
14977	return s
14978}
14979
14980// SetProvisionedProductId sets the ProvisionedProductId field's value.
14981func (s *ExecuteProvisionedProductServiceActionInput) SetProvisionedProductId(v string) *ExecuteProvisionedProductServiceActionInput {
14982	s.ProvisionedProductId = &v
14983	return s
14984}
14985
14986// SetServiceActionId sets the ServiceActionId field's value.
14987func (s *ExecuteProvisionedProductServiceActionInput) SetServiceActionId(v string) *ExecuteProvisionedProductServiceActionInput {
14988	s.ServiceActionId = &v
14989	return s
14990}
14991
14992type ExecuteProvisionedProductServiceActionOutput struct {
14993	_ struct{} `type:"structure"`
14994
14995	// An object containing detailed information about the result of provisioning
14996	// the product.
14997	RecordDetail *RecordDetail `type:"structure"`
14998}
14999
15000// String returns the string representation.
15001//
15002// API parameter values that are decorated as "sensitive" in the API will not
15003// be included in the string output. The member name will be present, but the
15004// value will be replaced with "sensitive".
15005func (s ExecuteProvisionedProductServiceActionOutput) String() string {
15006	return awsutil.Prettify(s)
15007}
15008
15009// GoString returns the string representation.
15010//
15011// API parameter values that are decorated as "sensitive" in the API will not
15012// be included in the string output. The member name will be present, but the
15013// value will be replaced with "sensitive".
15014func (s ExecuteProvisionedProductServiceActionOutput) GoString() string {
15015	return s.String()
15016}
15017
15018// SetRecordDetail sets the RecordDetail field's value.
15019func (s *ExecuteProvisionedProductServiceActionOutput) SetRecordDetail(v *RecordDetail) *ExecuteProvisionedProductServiceActionOutput {
15020	s.RecordDetail = v
15021	return s
15022}
15023
15024// Details of an execution parameter value that is passed to a self-service
15025// action when executed on a provisioned product.
15026type ExecutionParameter struct {
15027	_ struct{} `type:"structure"`
15028
15029	// The default values for the execution parameter.
15030	DefaultValues []*string `type:"list"`
15031
15032	// The name of the execution parameter.
15033	Name *string `min:"1" type:"string"`
15034
15035	// The execution parameter type.
15036	Type *string `min:"1" type:"string"`
15037}
15038
15039// String returns the string representation.
15040//
15041// API parameter values that are decorated as "sensitive" in the API will not
15042// be included in the string output. The member name will be present, but the
15043// value will be replaced with "sensitive".
15044func (s ExecutionParameter) String() string {
15045	return awsutil.Prettify(s)
15046}
15047
15048// GoString returns the string representation.
15049//
15050// API parameter values that are decorated as "sensitive" in the API will not
15051// be included in the string output. The member name will be present, but the
15052// value will be replaced with "sensitive".
15053func (s ExecutionParameter) GoString() string {
15054	return s.String()
15055}
15056
15057// SetDefaultValues sets the DefaultValues field's value.
15058func (s *ExecutionParameter) SetDefaultValues(v []*string) *ExecutionParameter {
15059	s.DefaultValues = v
15060	return s
15061}
15062
15063// SetName sets the Name field's value.
15064func (s *ExecutionParameter) SetName(v string) *ExecutionParameter {
15065	s.Name = &v
15066	return s
15067}
15068
15069// SetType sets the Type field's value.
15070func (s *ExecutionParameter) SetType(v string) *ExecutionParameter {
15071	s.Type = &v
15072	return s
15073}
15074
15075// An object containing information about the error, along with identifying
15076// information about the self-service action and its associations.
15077type FailedServiceActionAssociation struct {
15078	_ struct{} `type:"structure"`
15079
15080	// The error code. Valid values are listed below.
15081	ErrorCode *string `type:"string" enum:"ServiceActionAssociationErrorCode"`
15082
15083	// A text description of the error.
15084	ErrorMessage *string `min:"1" type:"string"`
15085
15086	// The product identifier. For example, prod-abcdzk7xy33qa.
15087	ProductId *string `min:"1" type:"string"`
15088
15089	// The identifier of the provisioning artifact. For example, pa-4abcdjnxjj6ne.
15090	ProvisioningArtifactId *string `min:"1" type:"string"`
15091
15092	// The self-service action identifier. For example, act-fs7abcd89wxyz.
15093	ServiceActionId *string `min:"1" type:"string"`
15094}
15095
15096// String returns the string representation.
15097//
15098// API parameter values that are decorated as "sensitive" in the API will not
15099// be included in the string output. The member name will be present, but the
15100// value will be replaced with "sensitive".
15101func (s FailedServiceActionAssociation) String() string {
15102	return awsutil.Prettify(s)
15103}
15104
15105// GoString returns the string representation.
15106//
15107// API parameter values that are decorated as "sensitive" in the API will not
15108// be included in the string output. The member name will be present, but the
15109// value will be replaced with "sensitive".
15110func (s FailedServiceActionAssociation) GoString() string {
15111	return s.String()
15112}
15113
15114// SetErrorCode sets the ErrorCode field's value.
15115func (s *FailedServiceActionAssociation) SetErrorCode(v string) *FailedServiceActionAssociation {
15116	s.ErrorCode = &v
15117	return s
15118}
15119
15120// SetErrorMessage sets the ErrorMessage field's value.
15121func (s *FailedServiceActionAssociation) SetErrorMessage(v string) *FailedServiceActionAssociation {
15122	s.ErrorMessage = &v
15123	return s
15124}
15125
15126// SetProductId sets the ProductId field's value.
15127func (s *FailedServiceActionAssociation) SetProductId(v string) *FailedServiceActionAssociation {
15128	s.ProductId = &v
15129	return s
15130}
15131
15132// SetProvisioningArtifactId sets the ProvisioningArtifactId field's value.
15133func (s *FailedServiceActionAssociation) SetProvisioningArtifactId(v string) *FailedServiceActionAssociation {
15134	s.ProvisioningArtifactId = &v
15135	return s
15136}
15137
15138// SetServiceActionId sets the ServiceActionId field's value.
15139func (s *FailedServiceActionAssociation) SetServiceActionId(v string) *FailedServiceActionAssociation {
15140	s.ServiceActionId = &v
15141	return s
15142}
15143
15144type GetAWSOrganizationsAccessStatusInput struct {
15145	_ struct{} `type:"structure"`
15146}
15147
15148// String returns the string representation.
15149//
15150// API parameter values that are decorated as "sensitive" in the API will not
15151// be included in the string output. The member name will be present, but the
15152// value will be replaced with "sensitive".
15153func (s GetAWSOrganizationsAccessStatusInput) String() string {
15154	return awsutil.Prettify(s)
15155}
15156
15157// GoString returns the string representation.
15158//
15159// API parameter values that are decorated as "sensitive" in the API will not
15160// be included in the string output. The member name will be present, but the
15161// value will be replaced with "sensitive".
15162func (s GetAWSOrganizationsAccessStatusInput) GoString() string {
15163	return s.String()
15164}
15165
15166type GetAWSOrganizationsAccessStatusOutput struct {
15167	_ struct{} `type:"structure"`
15168
15169	// The status of the portfolio share feature.
15170	AccessStatus *string `type:"string" enum:"AccessStatus"`
15171}
15172
15173// String returns the string representation.
15174//
15175// API parameter values that are decorated as "sensitive" in the API will not
15176// be included in the string output. The member name will be present, but the
15177// value will be replaced with "sensitive".
15178func (s GetAWSOrganizationsAccessStatusOutput) String() string {
15179	return awsutil.Prettify(s)
15180}
15181
15182// GoString returns the string representation.
15183//
15184// API parameter values that are decorated as "sensitive" in the API will not
15185// be included in the string output. The member name will be present, but the
15186// value will be replaced with "sensitive".
15187func (s GetAWSOrganizationsAccessStatusOutput) GoString() string {
15188	return s.String()
15189}
15190
15191// SetAccessStatus sets the AccessStatus field's value.
15192func (s *GetAWSOrganizationsAccessStatusOutput) SetAccessStatus(v string) *GetAWSOrganizationsAccessStatusOutput {
15193	s.AccessStatus = &v
15194	return s
15195}
15196
15197type GetProvisionedProductOutputsInput struct {
15198	_ struct{} `type:"structure"`
15199
15200	// The language code.
15201	//
15202	//    * en - English (default)
15203	//
15204	//    * jp - Japanese
15205	//
15206	//    * zh - Chinese
15207	AcceptLanguage *string `type:"string"`
15208
15209	// The list of keys that the API should return with their values. If none are
15210	// provided, the API will return all outputs of the provisioned product.
15211	OutputKeys []*string `type:"list"`
15212
15213	// The maximum number of items to return with this call.
15214	PageSize *int64 `type:"integer"`
15215
15216	// The page token for the next set of results. To retrieve the first set of
15217	// results, use null.
15218	PageToken *string `type:"string"`
15219
15220	// The identifier of the provisioned product that you want the outputs from.
15221	ProvisionedProductId *string `min:"1" type:"string"`
15222
15223	// The name of the provisioned product that you want the outputs from.
15224	ProvisionedProductName *string `min:"1" type:"string"`
15225}
15226
15227// String returns the string representation.
15228//
15229// API parameter values that are decorated as "sensitive" in the API will not
15230// be included in the string output. The member name will be present, but the
15231// value will be replaced with "sensitive".
15232func (s GetProvisionedProductOutputsInput) String() string {
15233	return awsutil.Prettify(s)
15234}
15235
15236// GoString returns the string representation.
15237//
15238// API parameter values that are decorated as "sensitive" in the API will not
15239// be included in the string output. The member name will be present, but the
15240// value will be replaced with "sensitive".
15241func (s GetProvisionedProductOutputsInput) GoString() string {
15242	return s.String()
15243}
15244
15245// Validate inspects the fields of the type to determine if they are valid.
15246func (s *GetProvisionedProductOutputsInput) Validate() error {
15247	invalidParams := request.ErrInvalidParams{Context: "GetProvisionedProductOutputsInput"}
15248	if s.ProvisionedProductId != nil && len(*s.ProvisionedProductId) < 1 {
15249		invalidParams.Add(request.NewErrParamMinLen("ProvisionedProductId", 1))
15250	}
15251	if s.ProvisionedProductName != nil && len(*s.ProvisionedProductName) < 1 {
15252		invalidParams.Add(request.NewErrParamMinLen("ProvisionedProductName", 1))
15253	}
15254
15255	if invalidParams.Len() > 0 {
15256		return invalidParams
15257	}
15258	return nil
15259}
15260
15261// SetAcceptLanguage sets the AcceptLanguage field's value.
15262func (s *GetProvisionedProductOutputsInput) SetAcceptLanguage(v string) *GetProvisionedProductOutputsInput {
15263	s.AcceptLanguage = &v
15264	return s
15265}
15266
15267// SetOutputKeys sets the OutputKeys field's value.
15268func (s *GetProvisionedProductOutputsInput) SetOutputKeys(v []*string) *GetProvisionedProductOutputsInput {
15269	s.OutputKeys = v
15270	return s
15271}
15272
15273// SetPageSize sets the PageSize field's value.
15274func (s *GetProvisionedProductOutputsInput) SetPageSize(v int64) *GetProvisionedProductOutputsInput {
15275	s.PageSize = &v
15276	return s
15277}
15278
15279// SetPageToken sets the PageToken field's value.
15280func (s *GetProvisionedProductOutputsInput) SetPageToken(v string) *GetProvisionedProductOutputsInput {
15281	s.PageToken = &v
15282	return s
15283}
15284
15285// SetProvisionedProductId sets the ProvisionedProductId field's value.
15286func (s *GetProvisionedProductOutputsInput) SetProvisionedProductId(v string) *GetProvisionedProductOutputsInput {
15287	s.ProvisionedProductId = &v
15288	return s
15289}
15290
15291// SetProvisionedProductName sets the ProvisionedProductName field's value.
15292func (s *GetProvisionedProductOutputsInput) SetProvisionedProductName(v string) *GetProvisionedProductOutputsInput {
15293	s.ProvisionedProductName = &v
15294	return s
15295}
15296
15297type GetProvisionedProductOutputsOutput struct {
15298	_ struct{} `type:"structure"`
15299
15300	// The page token to use to retrieve the next set of results. If there are no
15301	// additional results, this value is null.
15302	NextPageToken *string `type:"string"`
15303
15304	// Information about the product created as the result of a request. For example,
15305	// the output for a CloudFormation-backed product that creates an S3 bucket
15306	// would include the S3 bucket URL.
15307	Outputs []*RecordOutput `type:"list"`
15308}
15309
15310// String returns the string representation.
15311//
15312// API parameter values that are decorated as "sensitive" in the API will not
15313// be included in the string output. The member name will be present, but the
15314// value will be replaced with "sensitive".
15315func (s GetProvisionedProductOutputsOutput) String() string {
15316	return awsutil.Prettify(s)
15317}
15318
15319// GoString returns the string representation.
15320//
15321// API parameter values that are decorated as "sensitive" in the API will not
15322// be included in the string output. The member name will be present, but the
15323// value will be replaced with "sensitive".
15324func (s GetProvisionedProductOutputsOutput) GoString() string {
15325	return s.String()
15326}
15327
15328// SetNextPageToken sets the NextPageToken field's value.
15329func (s *GetProvisionedProductOutputsOutput) SetNextPageToken(v string) *GetProvisionedProductOutputsOutput {
15330	s.NextPageToken = &v
15331	return s
15332}
15333
15334// SetOutputs sets the Outputs field's value.
15335func (s *GetProvisionedProductOutputsOutput) SetOutputs(v []*RecordOutput) *GetProvisionedProductOutputsOutput {
15336	s.Outputs = v
15337	return s
15338}
15339
15340type ImportAsProvisionedProductInput struct {
15341	_ struct{} `type:"structure"`
15342
15343	// The language code.
15344	//
15345	//    * en - English (default)
15346	//
15347	//    * jp - Japanese
15348	//
15349	//    * zh - Chinese
15350	AcceptLanguage *string `type:"string"`
15351
15352	// A unique identifier that you provide to ensure idempotency. If multiple requests
15353	// differ only by the idempotency token, the same response is returned for each
15354	// repeated request.
15355	IdempotencyToken *string `min:"1" type:"string" idempotencyToken:"true"`
15356
15357	// The unique identifier of the resource to be imported. It only currently supports
15358	// CloudFormation stack IDs.
15359	//
15360	// PhysicalId is a required field
15361	PhysicalId *string `type:"string" required:"true"`
15362
15363	// The product identifier.
15364	//
15365	// ProductId is a required field
15366	ProductId *string `min:"1" type:"string" required:"true"`
15367
15368	// The user-friendly name of the provisioned product. The value must be unique
15369	// for the AWS account. The name cannot be updated after the product is provisioned.
15370	//
15371	// ProvisionedProductName is a required field
15372	ProvisionedProductName *string `min:"1" type:"string" required:"true"`
15373
15374	// The identifier of the provisioning artifact.
15375	//
15376	// ProvisioningArtifactId is a required field
15377	ProvisioningArtifactId *string `min:"1" type:"string" required:"true"`
15378}
15379
15380// String returns the string representation.
15381//
15382// API parameter values that are decorated as "sensitive" in the API will not
15383// be included in the string output. The member name will be present, but the
15384// value will be replaced with "sensitive".
15385func (s ImportAsProvisionedProductInput) String() string {
15386	return awsutil.Prettify(s)
15387}
15388
15389// GoString returns the string representation.
15390//
15391// API parameter values that are decorated as "sensitive" in the API will not
15392// be included in the string output. The member name will be present, but the
15393// value will be replaced with "sensitive".
15394func (s ImportAsProvisionedProductInput) GoString() string {
15395	return s.String()
15396}
15397
15398// Validate inspects the fields of the type to determine if they are valid.
15399func (s *ImportAsProvisionedProductInput) Validate() error {
15400	invalidParams := request.ErrInvalidParams{Context: "ImportAsProvisionedProductInput"}
15401	if s.IdempotencyToken != nil && len(*s.IdempotencyToken) < 1 {
15402		invalidParams.Add(request.NewErrParamMinLen("IdempotencyToken", 1))
15403	}
15404	if s.PhysicalId == nil {
15405		invalidParams.Add(request.NewErrParamRequired("PhysicalId"))
15406	}
15407	if s.ProductId == nil {
15408		invalidParams.Add(request.NewErrParamRequired("ProductId"))
15409	}
15410	if s.ProductId != nil && len(*s.ProductId) < 1 {
15411		invalidParams.Add(request.NewErrParamMinLen("ProductId", 1))
15412	}
15413	if s.ProvisionedProductName == nil {
15414		invalidParams.Add(request.NewErrParamRequired("ProvisionedProductName"))
15415	}
15416	if s.ProvisionedProductName != nil && len(*s.ProvisionedProductName) < 1 {
15417		invalidParams.Add(request.NewErrParamMinLen("ProvisionedProductName", 1))
15418	}
15419	if s.ProvisioningArtifactId == nil {
15420		invalidParams.Add(request.NewErrParamRequired("ProvisioningArtifactId"))
15421	}
15422	if s.ProvisioningArtifactId != nil && len(*s.ProvisioningArtifactId) < 1 {
15423		invalidParams.Add(request.NewErrParamMinLen("ProvisioningArtifactId", 1))
15424	}
15425
15426	if invalidParams.Len() > 0 {
15427		return invalidParams
15428	}
15429	return nil
15430}
15431
15432// SetAcceptLanguage sets the AcceptLanguage field's value.
15433func (s *ImportAsProvisionedProductInput) SetAcceptLanguage(v string) *ImportAsProvisionedProductInput {
15434	s.AcceptLanguage = &v
15435	return s
15436}
15437
15438// SetIdempotencyToken sets the IdempotencyToken field's value.
15439func (s *ImportAsProvisionedProductInput) SetIdempotencyToken(v string) *ImportAsProvisionedProductInput {
15440	s.IdempotencyToken = &v
15441	return s
15442}
15443
15444// SetPhysicalId sets the PhysicalId field's value.
15445func (s *ImportAsProvisionedProductInput) SetPhysicalId(v string) *ImportAsProvisionedProductInput {
15446	s.PhysicalId = &v
15447	return s
15448}
15449
15450// SetProductId sets the ProductId field's value.
15451func (s *ImportAsProvisionedProductInput) SetProductId(v string) *ImportAsProvisionedProductInput {
15452	s.ProductId = &v
15453	return s
15454}
15455
15456// SetProvisionedProductName sets the ProvisionedProductName field's value.
15457func (s *ImportAsProvisionedProductInput) SetProvisionedProductName(v string) *ImportAsProvisionedProductInput {
15458	s.ProvisionedProductName = &v
15459	return s
15460}
15461
15462// SetProvisioningArtifactId sets the ProvisioningArtifactId field's value.
15463func (s *ImportAsProvisionedProductInput) SetProvisioningArtifactId(v string) *ImportAsProvisionedProductInput {
15464	s.ProvisioningArtifactId = &v
15465	return s
15466}
15467
15468type ImportAsProvisionedProductOutput struct {
15469	_ struct{} `type:"structure"`
15470
15471	// Information about a request operation.
15472	RecordDetail *RecordDetail `type:"structure"`
15473}
15474
15475// String returns the string representation.
15476//
15477// API parameter values that are decorated as "sensitive" in the API will not
15478// be included in the string output. The member name will be present, but the
15479// value will be replaced with "sensitive".
15480func (s ImportAsProvisionedProductOutput) String() string {
15481	return awsutil.Prettify(s)
15482}
15483
15484// GoString returns the string representation.
15485//
15486// API parameter values that are decorated as "sensitive" in the API will not
15487// be included in the string output. The member name will be present, but the
15488// value will be replaced with "sensitive".
15489func (s ImportAsProvisionedProductOutput) GoString() string {
15490	return s.String()
15491}
15492
15493// SetRecordDetail sets the RecordDetail field's value.
15494func (s *ImportAsProvisionedProductOutput) SetRecordDetail(v *RecordDetail) *ImportAsProvisionedProductOutput {
15495	s.RecordDetail = v
15496	return s
15497}
15498
15499// One or more parameters provided to the operation are not valid.
15500type InvalidParametersException struct {
15501	_            struct{}                  `type:"structure"`
15502	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
15503
15504	Message_ *string `locationName:"message" type:"string"`
15505}
15506
15507// String returns the string representation.
15508//
15509// API parameter values that are decorated as "sensitive" in the API will not
15510// be included in the string output. The member name will be present, but the
15511// value will be replaced with "sensitive".
15512func (s InvalidParametersException) String() string {
15513	return awsutil.Prettify(s)
15514}
15515
15516// GoString returns the string representation.
15517//
15518// API parameter values that are decorated as "sensitive" in the API will not
15519// be included in the string output. The member name will be present, but the
15520// value will be replaced with "sensitive".
15521func (s InvalidParametersException) GoString() string {
15522	return s.String()
15523}
15524
15525func newErrorInvalidParametersException(v protocol.ResponseMetadata) error {
15526	return &InvalidParametersException{
15527		RespMetadata: v,
15528	}
15529}
15530
15531// Code returns the exception type name.
15532func (s *InvalidParametersException) Code() string {
15533	return "InvalidParametersException"
15534}
15535
15536// Message returns the exception's message.
15537func (s *InvalidParametersException) Message() string {
15538	if s.Message_ != nil {
15539		return *s.Message_
15540	}
15541	return ""
15542}
15543
15544// OrigErr always returns nil, satisfies awserr.Error interface.
15545func (s *InvalidParametersException) OrigErr() error {
15546	return nil
15547}
15548
15549func (s *InvalidParametersException) Error() string {
15550	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
15551}
15552
15553// Status code returns the HTTP status code for the request's response error.
15554func (s *InvalidParametersException) StatusCode() int {
15555	return s.RespMetadata.StatusCode
15556}
15557
15558// RequestID returns the service's response RequestID for request.
15559func (s *InvalidParametersException) RequestID() string {
15560	return s.RespMetadata.RequestID
15561}
15562
15563// An attempt was made to modify a resource that is in a state that is not valid.
15564// Check your resources to ensure that they are in valid states before retrying
15565// the operation.
15566type InvalidStateException struct {
15567	_            struct{}                  `type:"structure"`
15568	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
15569
15570	Message_ *string `locationName:"message" type:"string"`
15571}
15572
15573// String returns the string representation.
15574//
15575// API parameter values that are decorated as "sensitive" in the API will not
15576// be included in the string output. The member name will be present, but the
15577// value will be replaced with "sensitive".
15578func (s InvalidStateException) String() string {
15579	return awsutil.Prettify(s)
15580}
15581
15582// GoString returns the string representation.
15583//
15584// API parameter values that are decorated as "sensitive" in the API will not
15585// be included in the string output. The member name will be present, but the
15586// value will be replaced with "sensitive".
15587func (s InvalidStateException) GoString() string {
15588	return s.String()
15589}
15590
15591func newErrorInvalidStateException(v protocol.ResponseMetadata) error {
15592	return &InvalidStateException{
15593		RespMetadata: v,
15594	}
15595}
15596
15597// Code returns the exception type name.
15598func (s *InvalidStateException) Code() string {
15599	return "InvalidStateException"
15600}
15601
15602// Message returns the exception's message.
15603func (s *InvalidStateException) Message() string {
15604	if s.Message_ != nil {
15605		return *s.Message_
15606	}
15607	return ""
15608}
15609
15610// OrigErr always returns nil, satisfies awserr.Error interface.
15611func (s *InvalidStateException) OrigErr() error {
15612	return nil
15613}
15614
15615func (s *InvalidStateException) Error() string {
15616	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
15617}
15618
15619// Status code returns the HTTP status code for the request's response error.
15620func (s *InvalidStateException) StatusCode() int {
15621	return s.RespMetadata.StatusCode
15622}
15623
15624// RequestID returns the service's response RequestID for request.
15625func (s *InvalidStateException) RequestID() string {
15626	return s.RespMetadata.RequestID
15627}
15628
15629// A launch path object.
15630type LaunchPath struct {
15631	_ struct{} `type:"structure"`
15632
15633	// The identifier of the launch path.
15634	Id *string `min:"1" type:"string"`
15635
15636	// The name of the launch path.
15637	Name *string `type:"string"`
15638}
15639
15640// String returns the string representation.
15641//
15642// API parameter values that are decorated as "sensitive" in the API will not
15643// be included in the string output. The member name will be present, but the
15644// value will be replaced with "sensitive".
15645func (s LaunchPath) String() string {
15646	return awsutil.Prettify(s)
15647}
15648
15649// GoString returns the string representation.
15650//
15651// API parameter values that are decorated as "sensitive" in the API will not
15652// be included in the string output. The member name will be present, but the
15653// value will be replaced with "sensitive".
15654func (s LaunchPath) GoString() string {
15655	return s.String()
15656}
15657
15658// SetId sets the Id field's value.
15659func (s *LaunchPath) SetId(v string) *LaunchPath {
15660	s.Id = &v
15661	return s
15662}
15663
15664// SetName sets the Name field's value.
15665func (s *LaunchPath) SetName(v string) *LaunchPath {
15666	s.Name = &v
15667	return s
15668}
15669
15670// Summary information about a product path for a user.
15671type LaunchPathSummary struct {
15672	_ struct{} `type:"structure"`
15673
15674	// The constraints on the portfolio-product relationship.
15675	ConstraintSummaries []*ConstraintSummary `type:"list"`
15676
15677	// The identifier of the product path.
15678	Id *string `min:"1" type:"string"`
15679
15680	// The name of the portfolio to which the user was assigned.
15681	Name *string `type:"string"`
15682
15683	// The tags associated with this product path.
15684	Tags []*Tag `type:"list"`
15685}
15686
15687// String returns the string representation.
15688//
15689// API parameter values that are decorated as "sensitive" in the API will not
15690// be included in the string output. The member name will be present, but the
15691// value will be replaced with "sensitive".
15692func (s LaunchPathSummary) String() string {
15693	return awsutil.Prettify(s)
15694}
15695
15696// GoString returns the string representation.
15697//
15698// API parameter values that are decorated as "sensitive" in the API will not
15699// be included in the string output. The member name will be present, but the
15700// value will be replaced with "sensitive".
15701func (s LaunchPathSummary) GoString() string {
15702	return s.String()
15703}
15704
15705// SetConstraintSummaries sets the ConstraintSummaries field's value.
15706func (s *LaunchPathSummary) SetConstraintSummaries(v []*ConstraintSummary) *LaunchPathSummary {
15707	s.ConstraintSummaries = v
15708	return s
15709}
15710
15711// SetId sets the Id field's value.
15712func (s *LaunchPathSummary) SetId(v string) *LaunchPathSummary {
15713	s.Id = &v
15714	return s
15715}
15716
15717// SetName sets the Name field's value.
15718func (s *LaunchPathSummary) SetName(v string) *LaunchPathSummary {
15719	s.Name = &v
15720	return s
15721}
15722
15723// SetTags sets the Tags field's value.
15724func (s *LaunchPathSummary) SetTags(v []*Tag) *LaunchPathSummary {
15725	s.Tags = v
15726	return s
15727}
15728
15729// The current limits of the service would have been exceeded by this operation.
15730// Decrease your resource use or increase your service limits and retry the
15731// operation.
15732type LimitExceededException struct {
15733	_            struct{}                  `type:"structure"`
15734	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
15735
15736	Message_ *string `locationName:"message" type:"string"`
15737}
15738
15739// String returns the string representation.
15740//
15741// API parameter values that are decorated as "sensitive" in the API will not
15742// be included in the string output. The member name will be present, but the
15743// value will be replaced with "sensitive".
15744func (s LimitExceededException) String() string {
15745	return awsutil.Prettify(s)
15746}
15747
15748// GoString returns the string representation.
15749//
15750// API parameter values that are decorated as "sensitive" in the API will not
15751// be included in the string output. The member name will be present, but the
15752// value will be replaced with "sensitive".
15753func (s LimitExceededException) GoString() string {
15754	return s.String()
15755}
15756
15757func newErrorLimitExceededException(v protocol.ResponseMetadata) error {
15758	return &LimitExceededException{
15759		RespMetadata: v,
15760	}
15761}
15762
15763// Code returns the exception type name.
15764func (s *LimitExceededException) Code() string {
15765	return "LimitExceededException"
15766}
15767
15768// Message returns the exception's message.
15769func (s *LimitExceededException) Message() string {
15770	if s.Message_ != nil {
15771		return *s.Message_
15772	}
15773	return ""
15774}
15775
15776// OrigErr always returns nil, satisfies awserr.Error interface.
15777func (s *LimitExceededException) OrigErr() error {
15778	return nil
15779}
15780
15781func (s *LimitExceededException) Error() string {
15782	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
15783}
15784
15785// Status code returns the HTTP status code for the request's response error.
15786func (s *LimitExceededException) StatusCode() int {
15787	return s.RespMetadata.StatusCode
15788}
15789
15790// RequestID returns the service's response RequestID for request.
15791func (s *LimitExceededException) RequestID() string {
15792	return s.RespMetadata.RequestID
15793}
15794
15795type ListAcceptedPortfolioSharesInput struct {
15796	_ struct{} `type:"structure"`
15797
15798	// The language code.
15799	//
15800	//    * en - English (default)
15801	//
15802	//    * jp - Japanese
15803	//
15804	//    * zh - Chinese
15805	AcceptLanguage *string `type:"string"`
15806
15807	// The maximum number of items to return with this call.
15808	PageSize *int64 `type:"integer"`
15809
15810	// The page token for the next set of results. To retrieve the first set of
15811	// results, use null.
15812	PageToken *string `type:"string"`
15813
15814	// The type of shared portfolios to list. The default is to list imported portfolios.
15815	//
15816	//    * AWS_ORGANIZATIONS - List portfolios shared by the management account
15817	//    of your organization
15818	//
15819	//    * AWS_SERVICECATALOG - List default portfolios
15820	//
15821	//    * IMPORTED - List imported portfolios
15822	PortfolioShareType *string `type:"string" enum:"PortfolioShareType"`
15823}
15824
15825// String returns the string representation.
15826//
15827// API parameter values that are decorated as "sensitive" in the API will not
15828// be included in the string output. The member name will be present, but the
15829// value will be replaced with "sensitive".
15830func (s ListAcceptedPortfolioSharesInput) String() string {
15831	return awsutil.Prettify(s)
15832}
15833
15834// GoString returns the string representation.
15835//
15836// API parameter values that are decorated as "sensitive" in the API will not
15837// be included in the string output. The member name will be present, but the
15838// value will be replaced with "sensitive".
15839func (s ListAcceptedPortfolioSharesInput) GoString() string {
15840	return s.String()
15841}
15842
15843// SetAcceptLanguage sets the AcceptLanguage field's value.
15844func (s *ListAcceptedPortfolioSharesInput) SetAcceptLanguage(v string) *ListAcceptedPortfolioSharesInput {
15845	s.AcceptLanguage = &v
15846	return s
15847}
15848
15849// SetPageSize sets the PageSize field's value.
15850func (s *ListAcceptedPortfolioSharesInput) SetPageSize(v int64) *ListAcceptedPortfolioSharesInput {
15851	s.PageSize = &v
15852	return s
15853}
15854
15855// SetPageToken sets the PageToken field's value.
15856func (s *ListAcceptedPortfolioSharesInput) SetPageToken(v string) *ListAcceptedPortfolioSharesInput {
15857	s.PageToken = &v
15858	return s
15859}
15860
15861// SetPortfolioShareType sets the PortfolioShareType field's value.
15862func (s *ListAcceptedPortfolioSharesInput) SetPortfolioShareType(v string) *ListAcceptedPortfolioSharesInput {
15863	s.PortfolioShareType = &v
15864	return s
15865}
15866
15867type ListAcceptedPortfolioSharesOutput struct {
15868	_ struct{} `type:"structure"`
15869
15870	// The page token to use to retrieve the next set of results. If there are no
15871	// additional results, this value is null.
15872	NextPageToken *string `type:"string"`
15873
15874	// Information about the portfolios.
15875	PortfolioDetails []*PortfolioDetail `type:"list"`
15876}
15877
15878// String returns the string representation.
15879//
15880// API parameter values that are decorated as "sensitive" in the API will not
15881// be included in the string output. The member name will be present, but the
15882// value will be replaced with "sensitive".
15883func (s ListAcceptedPortfolioSharesOutput) String() string {
15884	return awsutil.Prettify(s)
15885}
15886
15887// GoString returns the string representation.
15888//
15889// API parameter values that are decorated as "sensitive" in the API will not
15890// be included in the string output. The member name will be present, but the
15891// value will be replaced with "sensitive".
15892func (s ListAcceptedPortfolioSharesOutput) GoString() string {
15893	return s.String()
15894}
15895
15896// SetNextPageToken sets the NextPageToken field's value.
15897func (s *ListAcceptedPortfolioSharesOutput) SetNextPageToken(v string) *ListAcceptedPortfolioSharesOutput {
15898	s.NextPageToken = &v
15899	return s
15900}
15901
15902// SetPortfolioDetails sets the PortfolioDetails field's value.
15903func (s *ListAcceptedPortfolioSharesOutput) SetPortfolioDetails(v []*PortfolioDetail) *ListAcceptedPortfolioSharesOutput {
15904	s.PortfolioDetails = v
15905	return s
15906}
15907
15908type ListBudgetsForResourceInput struct {
15909	_ struct{} `type:"structure"`
15910
15911	// The language code.
15912	//
15913	//    * en - English (default)
15914	//
15915	//    * jp - Japanese
15916	//
15917	//    * zh - Chinese
15918	AcceptLanguage *string `type:"string"`
15919
15920	// The maximum number of items to return with this call.
15921	PageSize *int64 `type:"integer"`
15922
15923	// The page token for the next set of results. To retrieve the first set of
15924	// results, use null.
15925	PageToken *string `type:"string"`
15926
15927	// The resource identifier.
15928	//
15929	// ResourceId is a required field
15930	ResourceId *string `min:"1" type:"string" required:"true"`
15931}
15932
15933// String returns the string representation.
15934//
15935// API parameter values that are decorated as "sensitive" in the API will not
15936// be included in the string output. The member name will be present, but the
15937// value will be replaced with "sensitive".
15938func (s ListBudgetsForResourceInput) String() string {
15939	return awsutil.Prettify(s)
15940}
15941
15942// GoString returns the string representation.
15943//
15944// API parameter values that are decorated as "sensitive" in the API will not
15945// be included in the string output. The member name will be present, but the
15946// value will be replaced with "sensitive".
15947func (s ListBudgetsForResourceInput) GoString() string {
15948	return s.String()
15949}
15950
15951// Validate inspects the fields of the type to determine if they are valid.
15952func (s *ListBudgetsForResourceInput) Validate() error {
15953	invalidParams := request.ErrInvalidParams{Context: "ListBudgetsForResourceInput"}
15954	if s.ResourceId == nil {
15955		invalidParams.Add(request.NewErrParamRequired("ResourceId"))
15956	}
15957	if s.ResourceId != nil && len(*s.ResourceId) < 1 {
15958		invalidParams.Add(request.NewErrParamMinLen("ResourceId", 1))
15959	}
15960
15961	if invalidParams.Len() > 0 {
15962		return invalidParams
15963	}
15964	return nil
15965}
15966
15967// SetAcceptLanguage sets the AcceptLanguage field's value.
15968func (s *ListBudgetsForResourceInput) SetAcceptLanguage(v string) *ListBudgetsForResourceInput {
15969	s.AcceptLanguage = &v
15970	return s
15971}
15972
15973// SetPageSize sets the PageSize field's value.
15974func (s *ListBudgetsForResourceInput) SetPageSize(v int64) *ListBudgetsForResourceInput {
15975	s.PageSize = &v
15976	return s
15977}
15978
15979// SetPageToken sets the PageToken field's value.
15980func (s *ListBudgetsForResourceInput) SetPageToken(v string) *ListBudgetsForResourceInput {
15981	s.PageToken = &v
15982	return s
15983}
15984
15985// SetResourceId sets the ResourceId field's value.
15986func (s *ListBudgetsForResourceInput) SetResourceId(v string) *ListBudgetsForResourceInput {
15987	s.ResourceId = &v
15988	return s
15989}
15990
15991type ListBudgetsForResourceOutput struct {
15992	_ struct{} `type:"structure"`
15993
15994	// Information about the associated budgets.
15995	Budgets []*BudgetDetail `type:"list"`
15996
15997	// The page token to use to retrieve the next set of results. If there are no
15998	// additional results, this value is null.
15999	NextPageToken *string `type:"string"`
16000}
16001
16002// String returns the string representation.
16003//
16004// API parameter values that are decorated as "sensitive" in the API will not
16005// be included in the string output. The member name will be present, but the
16006// value will be replaced with "sensitive".
16007func (s ListBudgetsForResourceOutput) String() string {
16008	return awsutil.Prettify(s)
16009}
16010
16011// GoString returns the string representation.
16012//
16013// API parameter values that are decorated as "sensitive" in the API will not
16014// be included in the string output. The member name will be present, but the
16015// value will be replaced with "sensitive".
16016func (s ListBudgetsForResourceOutput) GoString() string {
16017	return s.String()
16018}
16019
16020// SetBudgets sets the Budgets field's value.
16021func (s *ListBudgetsForResourceOutput) SetBudgets(v []*BudgetDetail) *ListBudgetsForResourceOutput {
16022	s.Budgets = v
16023	return s
16024}
16025
16026// SetNextPageToken sets the NextPageToken field's value.
16027func (s *ListBudgetsForResourceOutput) SetNextPageToken(v string) *ListBudgetsForResourceOutput {
16028	s.NextPageToken = &v
16029	return s
16030}
16031
16032type ListConstraintsForPortfolioInput struct {
16033	_ struct{} `type:"structure"`
16034
16035	// The language code.
16036	//
16037	//    * en - English (default)
16038	//
16039	//    * jp - Japanese
16040	//
16041	//    * zh - Chinese
16042	AcceptLanguage *string `type:"string"`
16043
16044	// The maximum number of items to return with this call.
16045	PageSize *int64 `type:"integer"`
16046
16047	// The page token for the next set of results. To retrieve the first set of
16048	// results, use null.
16049	PageToken *string `type:"string"`
16050
16051	// The portfolio identifier.
16052	//
16053	// PortfolioId is a required field
16054	PortfolioId *string `min:"1" type:"string" required:"true"`
16055
16056	// The product identifier.
16057	ProductId *string `min:"1" type:"string"`
16058}
16059
16060// String returns the string representation.
16061//
16062// API parameter values that are decorated as "sensitive" in the API will not
16063// be included in the string output. The member name will be present, but the
16064// value will be replaced with "sensitive".
16065func (s ListConstraintsForPortfolioInput) String() string {
16066	return awsutil.Prettify(s)
16067}
16068
16069// GoString returns the string representation.
16070//
16071// API parameter values that are decorated as "sensitive" in the API will not
16072// be included in the string output. The member name will be present, but the
16073// value will be replaced with "sensitive".
16074func (s ListConstraintsForPortfolioInput) GoString() string {
16075	return s.String()
16076}
16077
16078// Validate inspects the fields of the type to determine if they are valid.
16079func (s *ListConstraintsForPortfolioInput) Validate() error {
16080	invalidParams := request.ErrInvalidParams{Context: "ListConstraintsForPortfolioInput"}
16081	if s.PortfolioId == nil {
16082		invalidParams.Add(request.NewErrParamRequired("PortfolioId"))
16083	}
16084	if s.PortfolioId != nil && len(*s.PortfolioId) < 1 {
16085		invalidParams.Add(request.NewErrParamMinLen("PortfolioId", 1))
16086	}
16087	if s.ProductId != nil && len(*s.ProductId) < 1 {
16088		invalidParams.Add(request.NewErrParamMinLen("ProductId", 1))
16089	}
16090
16091	if invalidParams.Len() > 0 {
16092		return invalidParams
16093	}
16094	return nil
16095}
16096
16097// SetAcceptLanguage sets the AcceptLanguage field's value.
16098func (s *ListConstraintsForPortfolioInput) SetAcceptLanguage(v string) *ListConstraintsForPortfolioInput {
16099	s.AcceptLanguage = &v
16100	return s
16101}
16102
16103// SetPageSize sets the PageSize field's value.
16104func (s *ListConstraintsForPortfolioInput) SetPageSize(v int64) *ListConstraintsForPortfolioInput {
16105	s.PageSize = &v
16106	return s
16107}
16108
16109// SetPageToken sets the PageToken field's value.
16110func (s *ListConstraintsForPortfolioInput) SetPageToken(v string) *ListConstraintsForPortfolioInput {
16111	s.PageToken = &v
16112	return s
16113}
16114
16115// SetPortfolioId sets the PortfolioId field's value.
16116func (s *ListConstraintsForPortfolioInput) SetPortfolioId(v string) *ListConstraintsForPortfolioInput {
16117	s.PortfolioId = &v
16118	return s
16119}
16120
16121// SetProductId sets the ProductId field's value.
16122func (s *ListConstraintsForPortfolioInput) SetProductId(v string) *ListConstraintsForPortfolioInput {
16123	s.ProductId = &v
16124	return s
16125}
16126
16127type ListConstraintsForPortfolioOutput struct {
16128	_ struct{} `type:"structure"`
16129
16130	// Information about the constraints.
16131	ConstraintDetails []*ConstraintDetail `type:"list"`
16132
16133	// The page token to use to retrieve the next set of results. If there are no
16134	// additional results, this value is null.
16135	NextPageToken *string `type:"string"`
16136}
16137
16138// String returns the string representation.
16139//
16140// API parameter values that are decorated as "sensitive" in the API will not
16141// be included in the string output. The member name will be present, but the
16142// value will be replaced with "sensitive".
16143func (s ListConstraintsForPortfolioOutput) String() string {
16144	return awsutil.Prettify(s)
16145}
16146
16147// GoString returns the string representation.
16148//
16149// API parameter values that are decorated as "sensitive" in the API will not
16150// be included in the string output. The member name will be present, but the
16151// value will be replaced with "sensitive".
16152func (s ListConstraintsForPortfolioOutput) GoString() string {
16153	return s.String()
16154}
16155
16156// SetConstraintDetails sets the ConstraintDetails field's value.
16157func (s *ListConstraintsForPortfolioOutput) SetConstraintDetails(v []*ConstraintDetail) *ListConstraintsForPortfolioOutput {
16158	s.ConstraintDetails = v
16159	return s
16160}
16161
16162// SetNextPageToken sets the NextPageToken field's value.
16163func (s *ListConstraintsForPortfolioOutput) SetNextPageToken(v string) *ListConstraintsForPortfolioOutput {
16164	s.NextPageToken = &v
16165	return s
16166}
16167
16168type ListLaunchPathsInput struct {
16169	_ struct{} `type:"structure"`
16170
16171	// The language code.
16172	//
16173	//    * en - English (default)
16174	//
16175	//    * jp - Japanese
16176	//
16177	//    * zh - Chinese
16178	AcceptLanguage *string `type:"string"`
16179
16180	// The maximum number of items to return with this call.
16181	PageSize *int64 `type:"integer"`
16182
16183	// The page token for the next set of results. To retrieve the first set of
16184	// results, use null.
16185	PageToken *string `type:"string"`
16186
16187	// The product identifier.
16188	//
16189	// ProductId is a required field
16190	ProductId *string `min:"1" type:"string" required:"true"`
16191}
16192
16193// String returns the string representation.
16194//
16195// API parameter values that are decorated as "sensitive" in the API will not
16196// be included in the string output. The member name will be present, but the
16197// value will be replaced with "sensitive".
16198func (s ListLaunchPathsInput) String() string {
16199	return awsutil.Prettify(s)
16200}
16201
16202// GoString returns the string representation.
16203//
16204// API parameter values that are decorated as "sensitive" in the API will not
16205// be included in the string output. The member name will be present, but the
16206// value will be replaced with "sensitive".
16207func (s ListLaunchPathsInput) GoString() string {
16208	return s.String()
16209}
16210
16211// Validate inspects the fields of the type to determine if they are valid.
16212func (s *ListLaunchPathsInput) Validate() error {
16213	invalidParams := request.ErrInvalidParams{Context: "ListLaunchPathsInput"}
16214	if s.ProductId == nil {
16215		invalidParams.Add(request.NewErrParamRequired("ProductId"))
16216	}
16217	if s.ProductId != nil && len(*s.ProductId) < 1 {
16218		invalidParams.Add(request.NewErrParamMinLen("ProductId", 1))
16219	}
16220
16221	if invalidParams.Len() > 0 {
16222		return invalidParams
16223	}
16224	return nil
16225}
16226
16227// SetAcceptLanguage sets the AcceptLanguage field's value.
16228func (s *ListLaunchPathsInput) SetAcceptLanguage(v string) *ListLaunchPathsInput {
16229	s.AcceptLanguage = &v
16230	return s
16231}
16232
16233// SetPageSize sets the PageSize field's value.
16234func (s *ListLaunchPathsInput) SetPageSize(v int64) *ListLaunchPathsInput {
16235	s.PageSize = &v
16236	return s
16237}
16238
16239// SetPageToken sets the PageToken field's value.
16240func (s *ListLaunchPathsInput) SetPageToken(v string) *ListLaunchPathsInput {
16241	s.PageToken = &v
16242	return s
16243}
16244
16245// SetProductId sets the ProductId field's value.
16246func (s *ListLaunchPathsInput) SetProductId(v string) *ListLaunchPathsInput {
16247	s.ProductId = &v
16248	return s
16249}
16250
16251type ListLaunchPathsOutput struct {
16252	_ struct{} `type:"structure"`
16253
16254	// Information about the launch path.
16255	LaunchPathSummaries []*LaunchPathSummary `type:"list"`
16256
16257	// The page token to use to retrieve the next set of results. If there are no
16258	// additional results, this value is null.
16259	NextPageToken *string `type:"string"`
16260}
16261
16262// String returns the string representation.
16263//
16264// API parameter values that are decorated as "sensitive" in the API will not
16265// be included in the string output. The member name will be present, but the
16266// value will be replaced with "sensitive".
16267func (s ListLaunchPathsOutput) String() string {
16268	return awsutil.Prettify(s)
16269}
16270
16271// GoString returns the string representation.
16272//
16273// API parameter values that are decorated as "sensitive" in the API will not
16274// be included in the string output. The member name will be present, but the
16275// value will be replaced with "sensitive".
16276func (s ListLaunchPathsOutput) GoString() string {
16277	return s.String()
16278}
16279
16280// SetLaunchPathSummaries sets the LaunchPathSummaries field's value.
16281func (s *ListLaunchPathsOutput) SetLaunchPathSummaries(v []*LaunchPathSummary) *ListLaunchPathsOutput {
16282	s.LaunchPathSummaries = v
16283	return s
16284}
16285
16286// SetNextPageToken sets the NextPageToken field's value.
16287func (s *ListLaunchPathsOutput) SetNextPageToken(v string) *ListLaunchPathsOutput {
16288	s.NextPageToken = &v
16289	return s
16290}
16291
16292type ListOrganizationPortfolioAccessInput struct {
16293	_ struct{} `type:"structure"`
16294
16295	// The language code.
16296	//
16297	//    * en - English (default)
16298	//
16299	//    * jp - Japanese
16300	//
16301	//    * zh - Chinese
16302	AcceptLanguage *string `type:"string"`
16303
16304	// The organization node type that will be returned in the output.
16305	//
16306	//    * ORGANIZATION - Organization that has access to the portfolio.
16307	//
16308	//    * ORGANIZATIONAL_UNIT - Organizational unit that has access to the portfolio
16309	//    within your organization.
16310	//
16311	//    * ACCOUNT - Account that has access to the portfolio within your organization.
16312	//
16313	// OrganizationNodeType is a required field
16314	OrganizationNodeType *string `type:"string" required:"true" enum:"OrganizationNodeType"`
16315
16316	// The maximum number of items to return with this call.
16317	PageSize *int64 `type:"integer"`
16318
16319	// The page token for the next set of results. To retrieve the first set of
16320	// results, use null.
16321	PageToken *string `type:"string"`
16322
16323	// The portfolio identifier. For example, port-2abcdext3y5fk.
16324	//
16325	// PortfolioId is a required field
16326	PortfolioId *string `min:"1" type:"string" required:"true"`
16327}
16328
16329// String returns the string representation.
16330//
16331// API parameter values that are decorated as "sensitive" in the API will not
16332// be included in the string output. The member name will be present, but the
16333// value will be replaced with "sensitive".
16334func (s ListOrganizationPortfolioAccessInput) String() string {
16335	return awsutil.Prettify(s)
16336}
16337
16338// GoString returns the string representation.
16339//
16340// API parameter values that are decorated as "sensitive" in the API will not
16341// be included in the string output. The member name will be present, but the
16342// value will be replaced with "sensitive".
16343func (s ListOrganizationPortfolioAccessInput) GoString() string {
16344	return s.String()
16345}
16346
16347// Validate inspects the fields of the type to determine if they are valid.
16348func (s *ListOrganizationPortfolioAccessInput) Validate() error {
16349	invalidParams := request.ErrInvalidParams{Context: "ListOrganizationPortfolioAccessInput"}
16350	if s.OrganizationNodeType == nil {
16351		invalidParams.Add(request.NewErrParamRequired("OrganizationNodeType"))
16352	}
16353	if s.PortfolioId == nil {
16354		invalidParams.Add(request.NewErrParamRequired("PortfolioId"))
16355	}
16356	if s.PortfolioId != nil && len(*s.PortfolioId) < 1 {
16357		invalidParams.Add(request.NewErrParamMinLen("PortfolioId", 1))
16358	}
16359
16360	if invalidParams.Len() > 0 {
16361		return invalidParams
16362	}
16363	return nil
16364}
16365
16366// SetAcceptLanguage sets the AcceptLanguage field's value.
16367func (s *ListOrganizationPortfolioAccessInput) SetAcceptLanguage(v string) *ListOrganizationPortfolioAccessInput {
16368	s.AcceptLanguage = &v
16369	return s
16370}
16371
16372// SetOrganizationNodeType sets the OrganizationNodeType field's value.
16373func (s *ListOrganizationPortfolioAccessInput) SetOrganizationNodeType(v string) *ListOrganizationPortfolioAccessInput {
16374	s.OrganizationNodeType = &v
16375	return s
16376}
16377
16378// SetPageSize sets the PageSize field's value.
16379func (s *ListOrganizationPortfolioAccessInput) SetPageSize(v int64) *ListOrganizationPortfolioAccessInput {
16380	s.PageSize = &v
16381	return s
16382}
16383
16384// SetPageToken sets the PageToken field's value.
16385func (s *ListOrganizationPortfolioAccessInput) SetPageToken(v string) *ListOrganizationPortfolioAccessInput {
16386	s.PageToken = &v
16387	return s
16388}
16389
16390// SetPortfolioId sets the PortfolioId field's value.
16391func (s *ListOrganizationPortfolioAccessInput) SetPortfolioId(v string) *ListOrganizationPortfolioAccessInput {
16392	s.PortfolioId = &v
16393	return s
16394}
16395
16396type ListOrganizationPortfolioAccessOutput struct {
16397	_ struct{} `type:"structure"`
16398
16399	// The page token to use to retrieve the next set of results. If there are no
16400	// additional results, this value is null.
16401	NextPageToken *string `type:"string"`
16402
16403	// Displays information about the organization nodes.
16404	OrganizationNodes []*OrganizationNode `type:"list"`
16405}
16406
16407// String returns the string representation.
16408//
16409// API parameter values that are decorated as "sensitive" in the API will not
16410// be included in the string output. The member name will be present, but the
16411// value will be replaced with "sensitive".
16412func (s ListOrganizationPortfolioAccessOutput) String() string {
16413	return awsutil.Prettify(s)
16414}
16415
16416// GoString returns the string representation.
16417//
16418// API parameter values that are decorated as "sensitive" in the API will not
16419// be included in the string output. The member name will be present, but the
16420// value will be replaced with "sensitive".
16421func (s ListOrganizationPortfolioAccessOutput) GoString() string {
16422	return s.String()
16423}
16424
16425// SetNextPageToken sets the NextPageToken field's value.
16426func (s *ListOrganizationPortfolioAccessOutput) SetNextPageToken(v string) *ListOrganizationPortfolioAccessOutput {
16427	s.NextPageToken = &v
16428	return s
16429}
16430
16431// SetOrganizationNodes sets the OrganizationNodes field's value.
16432func (s *ListOrganizationPortfolioAccessOutput) SetOrganizationNodes(v []*OrganizationNode) *ListOrganizationPortfolioAccessOutput {
16433	s.OrganizationNodes = v
16434	return s
16435}
16436
16437type ListPortfolioAccessInput struct {
16438	_ struct{} `type:"structure"`
16439
16440	// The language code.
16441	//
16442	//    * en - English (default)
16443	//
16444	//    * jp - Japanese
16445	//
16446	//    * zh - Chinese
16447	AcceptLanguage *string `type:"string"`
16448
16449	// The ID of an organization node the portfolio is shared with. All children
16450	// of this node with an inherited portfolio share will be returned.
16451	OrganizationParentId *string `min:"1" type:"string"`
16452
16453	// The maximum number of items to return with this call.
16454	PageSize *int64 `type:"integer"`
16455
16456	// The page token for the next set of results. To retrieve the first set of
16457	// results, use null.
16458	PageToken *string `type:"string"`
16459
16460	// The portfolio identifier.
16461	//
16462	// PortfolioId is a required field
16463	PortfolioId *string `min:"1" type:"string" required:"true"`
16464}
16465
16466// String returns the string representation.
16467//
16468// API parameter values that are decorated as "sensitive" in the API will not
16469// be included in the string output. The member name will be present, but the
16470// value will be replaced with "sensitive".
16471func (s ListPortfolioAccessInput) String() string {
16472	return awsutil.Prettify(s)
16473}
16474
16475// GoString returns the string representation.
16476//
16477// API parameter values that are decorated as "sensitive" in the API will not
16478// be included in the string output. The member name will be present, but the
16479// value will be replaced with "sensitive".
16480func (s ListPortfolioAccessInput) GoString() string {
16481	return s.String()
16482}
16483
16484// Validate inspects the fields of the type to determine if they are valid.
16485func (s *ListPortfolioAccessInput) Validate() error {
16486	invalidParams := request.ErrInvalidParams{Context: "ListPortfolioAccessInput"}
16487	if s.OrganizationParentId != nil && len(*s.OrganizationParentId) < 1 {
16488		invalidParams.Add(request.NewErrParamMinLen("OrganizationParentId", 1))
16489	}
16490	if s.PortfolioId == nil {
16491		invalidParams.Add(request.NewErrParamRequired("PortfolioId"))
16492	}
16493	if s.PortfolioId != nil && len(*s.PortfolioId) < 1 {
16494		invalidParams.Add(request.NewErrParamMinLen("PortfolioId", 1))
16495	}
16496
16497	if invalidParams.Len() > 0 {
16498		return invalidParams
16499	}
16500	return nil
16501}
16502
16503// SetAcceptLanguage sets the AcceptLanguage field's value.
16504func (s *ListPortfolioAccessInput) SetAcceptLanguage(v string) *ListPortfolioAccessInput {
16505	s.AcceptLanguage = &v
16506	return s
16507}
16508
16509// SetOrganizationParentId sets the OrganizationParentId field's value.
16510func (s *ListPortfolioAccessInput) SetOrganizationParentId(v string) *ListPortfolioAccessInput {
16511	s.OrganizationParentId = &v
16512	return s
16513}
16514
16515// SetPageSize sets the PageSize field's value.
16516func (s *ListPortfolioAccessInput) SetPageSize(v int64) *ListPortfolioAccessInput {
16517	s.PageSize = &v
16518	return s
16519}
16520
16521// SetPageToken sets the PageToken field's value.
16522func (s *ListPortfolioAccessInput) SetPageToken(v string) *ListPortfolioAccessInput {
16523	s.PageToken = &v
16524	return s
16525}
16526
16527// SetPortfolioId sets the PortfolioId field's value.
16528func (s *ListPortfolioAccessInput) SetPortfolioId(v string) *ListPortfolioAccessInput {
16529	s.PortfolioId = &v
16530	return s
16531}
16532
16533type ListPortfolioAccessOutput struct {
16534	_ struct{} `type:"structure"`
16535
16536	// Information about the AWS accounts with access to the portfolio.
16537	AccountIds []*string `type:"list"`
16538
16539	// The page token to use to retrieve the next set of results. If there are no
16540	// additional results, this value is null.
16541	NextPageToken *string `type:"string"`
16542}
16543
16544// String returns the string representation.
16545//
16546// API parameter values that are decorated as "sensitive" in the API will not
16547// be included in the string output. The member name will be present, but the
16548// value will be replaced with "sensitive".
16549func (s ListPortfolioAccessOutput) String() string {
16550	return awsutil.Prettify(s)
16551}
16552
16553// GoString returns the string representation.
16554//
16555// API parameter values that are decorated as "sensitive" in the API will not
16556// be included in the string output. The member name will be present, but the
16557// value will be replaced with "sensitive".
16558func (s ListPortfolioAccessOutput) GoString() string {
16559	return s.String()
16560}
16561
16562// SetAccountIds sets the AccountIds field's value.
16563func (s *ListPortfolioAccessOutput) SetAccountIds(v []*string) *ListPortfolioAccessOutput {
16564	s.AccountIds = v
16565	return s
16566}
16567
16568// SetNextPageToken sets the NextPageToken field's value.
16569func (s *ListPortfolioAccessOutput) SetNextPageToken(v string) *ListPortfolioAccessOutput {
16570	s.NextPageToken = &v
16571	return s
16572}
16573
16574type ListPortfoliosForProductInput struct {
16575	_ struct{} `type:"structure"`
16576
16577	// The language code.
16578	//
16579	//    * en - English (default)
16580	//
16581	//    * jp - Japanese
16582	//
16583	//    * zh - Chinese
16584	AcceptLanguage *string `type:"string"`
16585
16586	// The maximum number of items to return with this call.
16587	PageSize *int64 `type:"integer"`
16588
16589	// The page token for the next set of results. To retrieve the first set of
16590	// results, use null.
16591	PageToken *string `type:"string"`
16592
16593	// The product identifier.
16594	//
16595	// ProductId is a required field
16596	ProductId *string `min:"1" type:"string" required:"true"`
16597}
16598
16599// String returns the string representation.
16600//
16601// API parameter values that are decorated as "sensitive" in the API will not
16602// be included in the string output. The member name will be present, but the
16603// value will be replaced with "sensitive".
16604func (s ListPortfoliosForProductInput) String() string {
16605	return awsutil.Prettify(s)
16606}
16607
16608// GoString returns the string representation.
16609//
16610// API parameter values that are decorated as "sensitive" in the API will not
16611// be included in the string output. The member name will be present, but the
16612// value will be replaced with "sensitive".
16613func (s ListPortfoliosForProductInput) GoString() string {
16614	return s.String()
16615}
16616
16617// Validate inspects the fields of the type to determine if they are valid.
16618func (s *ListPortfoliosForProductInput) Validate() error {
16619	invalidParams := request.ErrInvalidParams{Context: "ListPortfoliosForProductInput"}
16620	if s.ProductId == nil {
16621		invalidParams.Add(request.NewErrParamRequired("ProductId"))
16622	}
16623	if s.ProductId != nil && len(*s.ProductId) < 1 {
16624		invalidParams.Add(request.NewErrParamMinLen("ProductId", 1))
16625	}
16626
16627	if invalidParams.Len() > 0 {
16628		return invalidParams
16629	}
16630	return nil
16631}
16632
16633// SetAcceptLanguage sets the AcceptLanguage field's value.
16634func (s *ListPortfoliosForProductInput) SetAcceptLanguage(v string) *ListPortfoliosForProductInput {
16635	s.AcceptLanguage = &v
16636	return s
16637}
16638
16639// SetPageSize sets the PageSize field's value.
16640func (s *ListPortfoliosForProductInput) SetPageSize(v int64) *ListPortfoliosForProductInput {
16641	s.PageSize = &v
16642	return s
16643}
16644
16645// SetPageToken sets the PageToken field's value.
16646func (s *ListPortfoliosForProductInput) SetPageToken(v string) *ListPortfoliosForProductInput {
16647	s.PageToken = &v
16648	return s
16649}
16650
16651// SetProductId sets the ProductId field's value.
16652func (s *ListPortfoliosForProductInput) SetProductId(v string) *ListPortfoliosForProductInput {
16653	s.ProductId = &v
16654	return s
16655}
16656
16657type ListPortfoliosForProductOutput struct {
16658	_ struct{} `type:"structure"`
16659
16660	// The page token to use to retrieve the next set of results. If there are no
16661	// additional results, this value is null.
16662	NextPageToken *string `type:"string"`
16663
16664	// Information about the portfolios.
16665	PortfolioDetails []*PortfolioDetail `type:"list"`
16666}
16667
16668// String returns the string representation.
16669//
16670// API parameter values that are decorated as "sensitive" in the API will not
16671// be included in the string output. The member name will be present, but the
16672// value will be replaced with "sensitive".
16673func (s ListPortfoliosForProductOutput) String() string {
16674	return awsutil.Prettify(s)
16675}
16676
16677// GoString returns the string representation.
16678//
16679// API parameter values that are decorated as "sensitive" in the API will not
16680// be included in the string output. The member name will be present, but the
16681// value will be replaced with "sensitive".
16682func (s ListPortfoliosForProductOutput) GoString() string {
16683	return s.String()
16684}
16685
16686// SetNextPageToken sets the NextPageToken field's value.
16687func (s *ListPortfoliosForProductOutput) SetNextPageToken(v string) *ListPortfoliosForProductOutput {
16688	s.NextPageToken = &v
16689	return s
16690}
16691
16692// SetPortfolioDetails sets the PortfolioDetails field's value.
16693func (s *ListPortfoliosForProductOutput) SetPortfolioDetails(v []*PortfolioDetail) *ListPortfoliosForProductOutput {
16694	s.PortfolioDetails = v
16695	return s
16696}
16697
16698type ListPortfoliosInput struct {
16699	_ struct{} `type:"structure"`
16700
16701	// The language code.
16702	//
16703	//    * en - English (default)
16704	//
16705	//    * jp - Japanese
16706	//
16707	//    * zh - Chinese
16708	AcceptLanguage *string `type:"string"`
16709
16710	// The maximum number of items to return with this call.
16711	PageSize *int64 `type:"integer"`
16712
16713	// The page token for the next set of results. To retrieve the first set of
16714	// results, use null.
16715	PageToken *string `type:"string"`
16716}
16717
16718// String returns the string representation.
16719//
16720// API parameter values that are decorated as "sensitive" in the API will not
16721// be included in the string output. The member name will be present, but the
16722// value will be replaced with "sensitive".
16723func (s ListPortfoliosInput) String() string {
16724	return awsutil.Prettify(s)
16725}
16726
16727// GoString returns the string representation.
16728//
16729// API parameter values that are decorated as "sensitive" in the API will not
16730// be included in the string output. The member name will be present, but the
16731// value will be replaced with "sensitive".
16732func (s ListPortfoliosInput) GoString() string {
16733	return s.String()
16734}
16735
16736// SetAcceptLanguage sets the AcceptLanguage field's value.
16737func (s *ListPortfoliosInput) SetAcceptLanguage(v string) *ListPortfoliosInput {
16738	s.AcceptLanguage = &v
16739	return s
16740}
16741
16742// SetPageSize sets the PageSize field's value.
16743func (s *ListPortfoliosInput) SetPageSize(v int64) *ListPortfoliosInput {
16744	s.PageSize = &v
16745	return s
16746}
16747
16748// SetPageToken sets the PageToken field's value.
16749func (s *ListPortfoliosInput) SetPageToken(v string) *ListPortfoliosInput {
16750	s.PageToken = &v
16751	return s
16752}
16753
16754type ListPortfoliosOutput struct {
16755	_ struct{} `type:"structure"`
16756
16757	// The page token to use to retrieve the next set of results. If there are no
16758	// additional results, this value is null.
16759	NextPageToken *string `type:"string"`
16760
16761	// Information about the portfolios.
16762	PortfolioDetails []*PortfolioDetail `type:"list"`
16763}
16764
16765// String returns the string representation.
16766//
16767// API parameter values that are decorated as "sensitive" in the API will not
16768// be included in the string output. The member name will be present, but the
16769// value will be replaced with "sensitive".
16770func (s ListPortfoliosOutput) String() string {
16771	return awsutil.Prettify(s)
16772}
16773
16774// GoString returns the string representation.
16775//
16776// API parameter values that are decorated as "sensitive" in the API will not
16777// be included in the string output. The member name will be present, but the
16778// value will be replaced with "sensitive".
16779func (s ListPortfoliosOutput) GoString() string {
16780	return s.String()
16781}
16782
16783// SetNextPageToken sets the NextPageToken field's value.
16784func (s *ListPortfoliosOutput) SetNextPageToken(v string) *ListPortfoliosOutput {
16785	s.NextPageToken = &v
16786	return s
16787}
16788
16789// SetPortfolioDetails sets the PortfolioDetails field's value.
16790func (s *ListPortfoliosOutput) SetPortfolioDetails(v []*PortfolioDetail) *ListPortfoliosOutput {
16791	s.PortfolioDetails = v
16792	return s
16793}
16794
16795type ListPrincipalsForPortfolioInput struct {
16796	_ struct{} `type:"structure"`
16797
16798	// The language code.
16799	//
16800	//    * en - English (default)
16801	//
16802	//    * jp - Japanese
16803	//
16804	//    * zh - Chinese
16805	AcceptLanguage *string `type:"string"`
16806
16807	// The maximum number of items to return with this call.
16808	PageSize *int64 `type:"integer"`
16809
16810	// The page token for the next set of results. To retrieve the first set of
16811	// results, use null.
16812	PageToken *string `type:"string"`
16813
16814	// The portfolio identifier.
16815	//
16816	// PortfolioId is a required field
16817	PortfolioId *string `min:"1" type:"string" required:"true"`
16818}
16819
16820// String returns the string representation.
16821//
16822// API parameter values that are decorated as "sensitive" in the API will not
16823// be included in the string output. The member name will be present, but the
16824// value will be replaced with "sensitive".
16825func (s ListPrincipalsForPortfolioInput) String() string {
16826	return awsutil.Prettify(s)
16827}
16828
16829// GoString returns the string representation.
16830//
16831// API parameter values that are decorated as "sensitive" in the API will not
16832// be included in the string output. The member name will be present, but the
16833// value will be replaced with "sensitive".
16834func (s ListPrincipalsForPortfolioInput) GoString() string {
16835	return s.String()
16836}
16837
16838// Validate inspects the fields of the type to determine if they are valid.
16839func (s *ListPrincipalsForPortfolioInput) Validate() error {
16840	invalidParams := request.ErrInvalidParams{Context: "ListPrincipalsForPortfolioInput"}
16841	if s.PortfolioId == nil {
16842		invalidParams.Add(request.NewErrParamRequired("PortfolioId"))
16843	}
16844	if s.PortfolioId != nil && len(*s.PortfolioId) < 1 {
16845		invalidParams.Add(request.NewErrParamMinLen("PortfolioId", 1))
16846	}
16847
16848	if invalidParams.Len() > 0 {
16849		return invalidParams
16850	}
16851	return nil
16852}
16853
16854// SetAcceptLanguage sets the AcceptLanguage field's value.
16855func (s *ListPrincipalsForPortfolioInput) SetAcceptLanguage(v string) *ListPrincipalsForPortfolioInput {
16856	s.AcceptLanguage = &v
16857	return s
16858}
16859
16860// SetPageSize sets the PageSize field's value.
16861func (s *ListPrincipalsForPortfolioInput) SetPageSize(v int64) *ListPrincipalsForPortfolioInput {
16862	s.PageSize = &v
16863	return s
16864}
16865
16866// SetPageToken sets the PageToken field's value.
16867func (s *ListPrincipalsForPortfolioInput) SetPageToken(v string) *ListPrincipalsForPortfolioInput {
16868	s.PageToken = &v
16869	return s
16870}
16871
16872// SetPortfolioId sets the PortfolioId field's value.
16873func (s *ListPrincipalsForPortfolioInput) SetPortfolioId(v string) *ListPrincipalsForPortfolioInput {
16874	s.PortfolioId = &v
16875	return s
16876}
16877
16878type ListPrincipalsForPortfolioOutput struct {
16879	_ struct{} `type:"structure"`
16880
16881	// The page token to use to retrieve the next set of results. If there are no
16882	// additional results, this value is null.
16883	NextPageToken *string `type:"string"`
16884
16885	// The IAM principals (users or roles) associated with the portfolio.
16886	Principals []*Principal `type:"list"`
16887}
16888
16889// String returns the string representation.
16890//
16891// API parameter values that are decorated as "sensitive" in the API will not
16892// be included in the string output. The member name will be present, but the
16893// value will be replaced with "sensitive".
16894func (s ListPrincipalsForPortfolioOutput) String() string {
16895	return awsutil.Prettify(s)
16896}
16897
16898// GoString returns the string representation.
16899//
16900// API parameter values that are decorated as "sensitive" in the API will not
16901// be included in the string output. The member name will be present, but the
16902// value will be replaced with "sensitive".
16903func (s ListPrincipalsForPortfolioOutput) GoString() string {
16904	return s.String()
16905}
16906
16907// SetNextPageToken sets the NextPageToken field's value.
16908func (s *ListPrincipalsForPortfolioOutput) SetNextPageToken(v string) *ListPrincipalsForPortfolioOutput {
16909	s.NextPageToken = &v
16910	return s
16911}
16912
16913// SetPrincipals sets the Principals field's value.
16914func (s *ListPrincipalsForPortfolioOutput) SetPrincipals(v []*Principal) *ListPrincipalsForPortfolioOutput {
16915	s.Principals = v
16916	return s
16917}
16918
16919type ListProvisionedProductPlansInput struct {
16920	_ struct{} `type:"structure"`
16921
16922	// The language code.
16923	//
16924	//    * en - English (default)
16925	//
16926	//    * jp - Japanese
16927	//
16928	//    * zh - Chinese
16929	AcceptLanguage *string `type:"string"`
16930
16931	// The access level to use to obtain results. The default is User.
16932	AccessLevelFilter *AccessLevelFilter `type:"structure"`
16933
16934	// The maximum number of items to return with this call.
16935	PageSize *int64 `type:"integer"`
16936
16937	// The page token for the next set of results. To retrieve the first set of
16938	// results, use null.
16939	PageToken *string `type:"string"`
16940
16941	// The product identifier.
16942	ProvisionProductId *string `min:"1" type:"string"`
16943}
16944
16945// String returns the string representation.
16946//
16947// API parameter values that are decorated as "sensitive" in the API will not
16948// be included in the string output. The member name will be present, but the
16949// value will be replaced with "sensitive".
16950func (s ListProvisionedProductPlansInput) String() string {
16951	return awsutil.Prettify(s)
16952}
16953
16954// GoString returns the string representation.
16955//
16956// API parameter values that are decorated as "sensitive" in the API will not
16957// be included in the string output. The member name will be present, but the
16958// value will be replaced with "sensitive".
16959func (s ListProvisionedProductPlansInput) GoString() string {
16960	return s.String()
16961}
16962
16963// Validate inspects the fields of the type to determine if they are valid.
16964func (s *ListProvisionedProductPlansInput) Validate() error {
16965	invalidParams := request.ErrInvalidParams{Context: "ListProvisionedProductPlansInput"}
16966	if s.ProvisionProductId != nil && len(*s.ProvisionProductId) < 1 {
16967		invalidParams.Add(request.NewErrParamMinLen("ProvisionProductId", 1))
16968	}
16969
16970	if invalidParams.Len() > 0 {
16971		return invalidParams
16972	}
16973	return nil
16974}
16975
16976// SetAcceptLanguage sets the AcceptLanguage field's value.
16977func (s *ListProvisionedProductPlansInput) SetAcceptLanguage(v string) *ListProvisionedProductPlansInput {
16978	s.AcceptLanguage = &v
16979	return s
16980}
16981
16982// SetAccessLevelFilter sets the AccessLevelFilter field's value.
16983func (s *ListProvisionedProductPlansInput) SetAccessLevelFilter(v *AccessLevelFilter) *ListProvisionedProductPlansInput {
16984	s.AccessLevelFilter = v
16985	return s
16986}
16987
16988// SetPageSize sets the PageSize field's value.
16989func (s *ListProvisionedProductPlansInput) SetPageSize(v int64) *ListProvisionedProductPlansInput {
16990	s.PageSize = &v
16991	return s
16992}
16993
16994// SetPageToken sets the PageToken field's value.
16995func (s *ListProvisionedProductPlansInput) SetPageToken(v string) *ListProvisionedProductPlansInput {
16996	s.PageToken = &v
16997	return s
16998}
16999
17000// SetProvisionProductId sets the ProvisionProductId field's value.
17001func (s *ListProvisionedProductPlansInput) SetProvisionProductId(v string) *ListProvisionedProductPlansInput {
17002	s.ProvisionProductId = &v
17003	return s
17004}
17005
17006type ListProvisionedProductPlansOutput struct {
17007	_ struct{} `type:"structure"`
17008
17009	// The page token to use to retrieve the next set of results. If there are no
17010	// additional results, this value is null.
17011	NextPageToken *string `type:"string"`
17012
17013	// Information about the plans.
17014	ProvisionedProductPlans []*ProvisionedProductPlanSummary `type:"list"`
17015}
17016
17017// String returns the string representation.
17018//
17019// API parameter values that are decorated as "sensitive" in the API will not
17020// be included in the string output. The member name will be present, but the
17021// value will be replaced with "sensitive".
17022func (s ListProvisionedProductPlansOutput) String() string {
17023	return awsutil.Prettify(s)
17024}
17025
17026// GoString returns the string representation.
17027//
17028// API parameter values that are decorated as "sensitive" in the API will not
17029// be included in the string output. The member name will be present, but the
17030// value will be replaced with "sensitive".
17031func (s ListProvisionedProductPlansOutput) GoString() string {
17032	return s.String()
17033}
17034
17035// SetNextPageToken sets the NextPageToken field's value.
17036func (s *ListProvisionedProductPlansOutput) SetNextPageToken(v string) *ListProvisionedProductPlansOutput {
17037	s.NextPageToken = &v
17038	return s
17039}
17040
17041// SetProvisionedProductPlans sets the ProvisionedProductPlans field's value.
17042func (s *ListProvisionedProductPlansOutput) SetProvisionedProductPlans(v []*ProvisionedProductPlanSummary) *ListProvisionedProductPlansOutput {
17043	s.ProvisionedProductPlans = v
17044	return s
17045}
17046
17047type ListProvisioningArtifactsForServiceActionInput struct {
17048	_ struct{} `type:"structure"`
17049
17050	// The language code.
17051	//
17052	//    * en - English (default)
17053	//
17054	//    * jp - Japanese
17055	//
17056	//    * zh - Chinese
17057	AcceptLanguage *string `type:"string"`
17058
17059	// The maximum number of items to return with this call.
17060	PageSize *int64 `type:"integer"`
17061
17062	// The page token for the next set of results. To retrieve the first set of
17063	// results, use null.
17064	PageToken *string `type:"string"`
17065
17066	// The self-service action identifier. For example, act-fs7abcd89wxyz.
17067	//
17068	// ServiceActionId is a required field
17069	ServiceActionId *string `min:"1" type:"string" required:"true"`
17070}
17071
17072// String returns the string representation.
17073//
17074// API parameter values that are decorated as "sensitive" in the API will not
17075// be included in the string output. The member name will be present, but the
17076// value will be replaced with "sensitive".
17077func (s ListProvisioningArtifactsForServiceActionInput) String() string {
17078	return awsutil.Prettify(s)
17079}
17080
17081// GoString returns the string representation.
17082//
17083// API parameter values that are decorated as "sensitive" in the API will not
17084// be included in the string output. The member name will be present, but the
17085// value will be replaced with "sensitive".
17086func (s ListProvisioningArtifactsForServiceActionInput) GoString() string {
17087	return s.String()
17088}
17089
17090// Validate inspects the fields of the type to determine if they are valid.
17091func (s *ListProvisioningArtifactsForServiceActionInput) Validate() error {
17092	invalidParams := request.ErrInvalidParams{Context: "ListProvisioningArtifactsForServiceActionInput"}
17093	if s.ServiceActionId == nil {
17094		invalidParams.Add(request.NewErrParamRequired("ServiceActionId"))
17095	}
17096	if s.ServiceActionId != nil && len(*s.ServiceActionId) < 1 {
17097		invalidParams.Add(request.NewErrParamMinLen("ServiceActionId", 1))
17098	}
17099
17100	if invalidParams.Len() > 0 {
17101		return invalidParams
17102	}
17103	return nil
17104}
17105
17106// SetAcceptLanguage sets the AcceptLanguage field's value.
17107func (s *ListProvisioningArtifactsForServiceActionInput) SetAcceptLanguage(v string) *ListProvisioningArtifactsForServiceActionInput {
17108	s.AcceptLanguage = &v
17109	return s
17110}
17111
17112// SetPageSize sets the PageSize field's value.
17113func (s *ListProvisioningArtifactsForServiceActionInput) SetPageSize(v int64) *ListProvisioningArtifactsForServiceActionInput {
17114	s.PageSize = &v
17115	return s
17116}
17117
17118// SetPageToken sets the PageToken field's value.
17119func (s *ListProvisioningArtifactsForServiceActionInput) SetPageToken(v string) *ListProvisioningArtifactsForServiceActionInput {
17120	s.PageToken = &v
17121	return s
17122}
17123
17124// SetServiceActionId sets the ServiceActionId field's value.
17125func (s *ListProvisioningArtifactsForServiceActionInput) SetServiceActionId(v string) *ListProvisioningArtifactsForServiceActionInput {
17126	s.ServiceActionId = &v
17127	return s
17128}
17129
17130type ListProvisioningArtifactsForServiceActionOutput struct {
17131	_ struct{} `type:"structure"`
17132
17133	// The page token to use to retrieve the next set of results. If there are no
17134	// additional results, this value is null.
17135	NextPageToken *string `type:"string"`
17136
17137	// An array of objects with information about product views and provisioning
17138	// artifacts.
17139	ProvisioningArtifactViews []*ProvisioningArtifactView `type:"list"`
17140}
17141
17142// String returns the string representation.
17143//
17144// API parameter values that are decorated as "sensitive" in the API will not
17145// be included in the string output. The member name will be present, but the
17146// value will be replaced with "sensitive".
17147func (s ListProvisioningArtifactsForServiceActionOutput) String() string {
17148	return awsutil.Prettify(s)
17149}
17150
17151// GoString returns the string representation.
17152//
17153// API parameter values that are decorated as "sensitive" in the API will not
17154// be included in the string output. The member name will be present, but the
17155// value will be replaced with "sensitive".
17156func (s ListProvisioningArtifactsForServiceActionOutput) GoString() string {
17157	return s.String()
17158}
17159
17160// SetNextPageToken sets the NextPageToken field's value.
17161func (s *ListProvisioningArtifactsForServiceActionOutput) SetNextPageToken(v string) *ListProvisioningArtifactsForServiceActionOutput {
17162	s.NextPageToken = &v
17163	return s
17164}
17165
17166// SetProvisioningArtifactViews sets the ProvisioningArtifactViews field's value.
17167func (s *ListProvisioningArtifactsForServiceActionOutput) SetProvisioningArtifactViews(v []*ProvisioningArtifactView) *ListProvisioningArtifactsForServiceActionOutput {
17168	s.ProvisioningArtifactViews = v
17169	return s
17170}
17171
17172type ListProvisioningArtifactsInput struct {
17173	_ struct{} `type:"structure"`
17174
17175	// The language code.
17176	//
17177	//    * en - English (default)
17178	//
17179	//    * jp - Japanese
17180	//
17181	//    * zh - Chinese
17182	AcceptLanguage *string `type:"string"`
17183
17184	// The product identifier.
17185	//
17186	// ProductId is a required field
17187	ProductId *string `min:"1" type:"string" required:"true"`
17188}
17189
17190// String returns the string representation.
17191//
17192// API parameter values that are decorated as "sensitive" in the API will not
17193// be included in the string output. The member name will be present, but the
17194// value will be replaced with "sensitive".
17195func (s ListProvisioningArtifactsInput) String() string {
17196	return awsutil.Prettify(s)
17197}
17198
17199// GoString returns the string representation.
17200//
17201// API parameter values that are decorated as "sensitive" in the API will not
17202// be included in the string output. The member name will be present, but the
17203// value will be replaced with "sensitive".
17204func (s ListProvisioningArtifactsInput) GoString() string {
17205	return s.String()
17206}
17207
17208// Validate inspects the fields of the type to determine if they are valid.
17209func (s *ListProvisioningArtifactsInput) Validate() error {
17210	invalidParams := request.ErrInvalidParams{Context: "ListProvisioningArtifactsInput"}
17211	if s.ProductId == nil {
17212		invalidParams.Add(request.NewErrParamRequired("ProductId"))
17213	}
17214	if s.ProductId != nil && len(*s.ProductId) < 1 {
17215		invalidParams.Add(request.NewErrParamMinLen("ProductId", 1))
17216	}
17217
17218	if invalidParams.Len() > 0 {
17219		return invalidParams
17220	}
17221	return nil
17222}
17223
17224// SetAcceptLanguage sets the AcceptLanguage field's value.
17225func (s *ListProvisioningArtifactsInput) SetAcceptLanguage(v string) *ListProvisioningArtifactsInput {
17226	s.AcceptLanguage = &v
17227	return s
17228}
17229
17230// SetProductId sets the ProductId field's value.
17231func (s *ListProvisioningArtifactsInput) SetProductId(v string) *ListProvisioningArtifactsInput {
17232	s.ProductId = &v
17233	return s
17234}
17235
17236type ListProvisioningArtifactsOutput struct {
17237	_ struct{} `type:"structure"`
17238
17239	// The page token to use to retrieve the next set of results. If there are no
17240	// additional results, this value is null.
17241	NextPageToken *string `type:"string"`
17242
17243	// Information about the provisioning artifacts.
17244	ProvisioningArtifactDetails []*ProvisioningArtifactDetail `type:"list"`
17245}
17246
17247// String returns the string representation.
17248//
17249// API parameter values that are decorated as "sensitive" in the API will not
17250// be included in the string output. The member name will be present, but the
17251// value will be replaced with "sensitive".
17252func (s ListProvisioningArtifactsOutput) String() string {
17253	return awsutil.Prettify(s)
17254}
17255
17256// GoString returns the string representation.
17257//
17258// API parameter values that are decorated as "sensitive" in the API will not
17259// be included in the string output. The member name will be present, but the
17260// value will be replaced with "sensitive".
17261func (s ListProvisioningArtifactsOutput) GoString() string {
17262	return s.String()
17263}
17264
17265// SetNextPageToken sets the NextPageToken field's value.
17266func (s *ListProvisioningArtifactsOutput) SetNextPageToken(v string) *ListProvisioningArtifactsOutput {
17267	s.NextPageToken = &v
17268	return s
17269}
17270
17271// SetProvisioningArtifactDetails sets the ProvisioningArtifactDetails field's value.
17272func (s *ListProvisioningArtifactsOutput) SetProvisioningArtifactDetails(v []*ProvisioningArtifactDetail) *ListProvisioningArtifactsOutput {
17273	s.ProvisioningArtifactDetails = v
17274	return s
17275}
17276
17277type ListRecordHistoryInput struct {
17278	_ struct{} `type:"structure"`
17279
17280	// The language code.
17281	//
17282	//    * en - English (default)
17283	//
17284	//    * jp - Japanese
17285	//
17286	//    * zh - Chinese
17287	AcceptLanguage *string `type:"string"`
17288
17289	// The access level to use to obtain results. The default is User.
17290	AccessLevelFilter *AccessLevelFilter `type:"structure"`
17291
17292	// The maximum number of items to return with this call.
17293	PageSize *int64 `type:"integer"`
17294
17295	// The page token for the next set of results. To retrieve the first set of
17296	// results, use null.
17297	PageToken *string `type:"string"`
17298
17299	// The search filter to scope the results.
17300	SearchFilter *ListRecordHistorySearchFilter `type:"structure"`
17301}
17302
17303// String returns the string representation.
17304//
17305// API parameter values that are decorated as "sensitive" in the API will not
17306// be included in the string output. The member name will be present, but the
17307// value will be replaced with "sensitive".
17308func (s ListRecordHistoryInput) String() string {
17309	return awsutil.Prettify(s)
17310}
17311
17312// GoString returns the string representation.
17313//
17314// API parameter values that are decorated as "sensitive" in the API will not
17315// be included in the string output. The member name will be present, but the
17316// value will be replaced with "sensitive".
17317func (s ListRecordHistoryInput) GoString() string {
17318	return s.String()
17319}
17320
17321// SetAcceptLanguage sets the AcceptLanguage field's value.
17322func (s *ListRecordHistoryInput) SetAcceptLanguage(v string) *ListRecordHistoryInput {
17323	s.AcceptLanguage = &v
17324	return s
17325}
17326
17327// SetAccessLevelFilter sets the AccessLevelFilter field's value.
17328func (s *ListRecordHistoryInput) SetAccessLevelFilter(v *AccessLevelFilter) *ListRecordHistoryInput {
17329	s.AccessLevelFilter = v
17330	return s
17331}
17332
17333// SetPageSize sets the PageSize field's value.
17334func (s *ListRecordHistoryInput) SetPageSize(v int64) *ListRecordHistoryInput {
17335	s.PageSize = &v
17336	return s
17337}
17338
17339// SetPageToken sets the PageToken field's value.
17340func (s *ListRecordHistoryInput) SetPageToken(v string) *ListRecordHistoryInput {
17341	s.PageToken = &v
17342	return s
17343}
17344
17345// SetSearchFilter sets the SearchFilter field's value.
17346func (s *ListRecordHistoryInput) SetSearchFilter(v *ListRecordHistorySearchFilter) *ListRecordHistoryInput {
17347	s.SearchFilter = v
17348	return s
17349}
17350
17351type ListRecordHistoryOutput struct {
17352	_ struct{} `type:"structure"`
17353
17354	// The page token to use to retrieve the next set of results. If there are no
17355	// additional results, this value is null.
17356	NextPageToken *string `type:"string"`
17357
17358	// The records, in reverse chronological order.
17359	RecordDetails []*RecordDetail `type:"list"`
17360}
17361
17362// String returns the string representation.
17363//
17364// API parameter values that are decorated as "sensitive" in the API will not
17365// be included in the string output. The member name will be present, but the
17366// value will be replaced with "sensitive".
17367func (s ListRecordHistoryOutput) String() string {
17368	return awsutil.Prettify(s)
17369}
17370
17371// GoString returns the string representation.
17372//
17373// API parameter values that are decorated as "sensitive" in the API will not
17374// be included in the string output. The member name will be present, but the
17375// value will be replaced with "sensitive".
17376func (s ListRecordHistoryOutput) GoString() string {
17377	return s.String()
17378}
17379
17380// SetNextPageToken sets the NextPageToken field's value.
17381func (s *ListRecordHistoryOutput) SetNextPageToken(v string) *ListRecordHistoryOutput {
17382	s.NextPageToken = &v
17383	return s
17384}
17385
17386// SetRecordDetails sets the RecordDetails field's value.
17387func (s *ListRecordHistoryOutput) SetRecordDetails(v []*RecordDetail) *ListRecordHistoryOutput {
17388	s.RecordDetails = v
17389	return s
17390}
17391
17392// The search filter to use when listing history records.
17393type ListRecordHistorySearchFilter struct {
17394	_ struct{} `type:"structure"`
17395
17396	// The filter key.
17397	//
17398	//    * product - Filter results based on the specified product identifier.
17399	//
17400	//    * provisionedproduct - Filter results based on the provisioned product
17401	//    identifier.
17402	Key *string `type:"string"`
17403
17404	// The filter value.
17405	Value *string `type:"string"`
17406}
17407
17408// String returns the string representation.
17409//
17410// API parameter values that are decorated as "sensitive" in the API will not
17411// be included in the string output. The member name will be present, but the
17412// value will be replaced with "sensitive".
17413func (s ListRecordHistorySearchFilter) String() string {
17414	return awsutil.Prettify(s)
17415}
17416
17417// GoString returns the string representation.
17418//
17419// API parameter values that are decorated as "sensitive" in the API will not
17420// be included in the string output. The member name will be present, but the
17421// value will be replaced with "sensitive".
17422func (s ListRecordHistorySearchFilter) GoString() string {
17423	return s.String()
17424}
17425
17426// SetKey sets the Key field's value.
17427func (s *ListRecordHistorySearchFilter) SetKey(v string) *ListRecordHistorySearchFilter {
17428	s.Key = &v
17429	return s
17430}
17431
17432// SetValue sets the Value field's value.
17433func (s *ListRecordHistorySearchFilter) SetValue(v string) *ListRecordHistorySearchFilter {
17434	s.Value = &v
17435	return s
17436}
17437
17438type ListResourcesForTagOptionInput struct {
17439	_ struct{} `type:"structure"`
17440
17441	// The maximum number of items to return with this call.
17442	PageSize *int64 `type:"integer"`
17443
17444	// The page token for the next set of results. To retrieve the first set of
17445	// results, use null.
17446	PageToken *string `type:"string"`
17447
17448	// The resource type.
17449	//
17450	//    * Portfolio
17451	//
17452	//    * Product
17453	ResourceType *string `type:"string"`
17454
17455	// The TagOption identifier.
17456	//
17457	// TagOptionId is a required field
17458	TagOptionId *string `min:"1" type:"string" required:"true"`
17459}
17460
17461// String returns the string representation.
17462//
17463// API parameter values that are decorated as "sensitive" in the API will not
17464// be included in the string output. The member name will be present, but the
17465// value will be replaced with "sensitive".
17466func (s ListResourcesForTagOptionInput) String() string {
17467	return awsutil.Prettify(s)
17468}
17469
17470// GoString returns the string representation.
17471//
17472// API parameter values that are decorated as "sensitive" in the API will not
17473// be included in the string output. The member name will be present, but the
17474// value will be replaced with "sensitive".
17475func (s ListResourcesForTagOptionInput) GoString() string {
17476	return s.String()
17477}
17478
17479// Validate inspects the fields of the type to determine if they are valid.
17480func (s *ListResourcesForTagOptionInput) Validate() error {
17481	invalidParams := request.ErrInvalidParams{Context: "ListResourcesForTagOptionInput"}
17482	if s.TagOptionId == nil {
17483		invalidParams.Add(request.NewErrParamRequired("TagOptionId"))
17484	}
17485	if s.TagOptionId != nil && len(*s.TagOptionId) < 1 {
17486		invalidParams.Add(request.NewErrParamMinLen("TagOptionId", 1))
17487	}
17488
17489	if invalidParams.Len() > 0 {
17490		return invalidParams
17491	}
17492	return nil
17493}
17494
17495// SetPageSize sets the PageSize field's value.
17496func (s *ListResourcesForTagOptionInput) SetPageSize(v int64) *ListResourcesForTagOptionInput {
17497	s.PageSize = &v
17498	return s
17499}
17500
17501// SetPageToken sets the PageToken field's value.
17502func (s *ListResourcesForTagOptionInput) SetPageToken(v string) *ListResourcesForTagOptionInput {
17503	s.PageToken = &v
17504	return s
17505}
17506
17507// SetResourceType sets the ResourceType field's value.
17508func (s *ListResourcesForTagOptionInput) SetResourceType(v string) *ListResourcesForTagOptionInput {
17509	s.ResourceType = &v
17510	return s
17511}
17512
17513// SetTagOptionId sets the TagOptionId field's value.
17514func (s *ListResourcesForTagOptionInput) SetTagOptionId(v string) *ListResourcesForTagOptionInput {
17515	s.TagOptionId = &v
17516	return s
17517}
17518
17519type ListResourcesForTagOptionOutput struct {
17520	_ struct{} `type:"structure"`
17521
17522	// The page token for the next set of results. To retrieve the first set of
17523	// results, use null.
17524	PageToken *string `type:"string"`
17525
17526	// Information about the resources.
17527	ResourceDetails []*ResourceDetail `type:"list"`
17528}
17529
17530// String returns the string representation.
17531//
17532// API parameter values that are decorated as "sensitive" in the API will not
17533// be included in the string output. The member name will be present, but the
17534// value will be replaced with "sensitive".
17535func (s ListResourcesForTagOptionOutput) String() string {
17536	return awsutil.Prettify(s)
17537}
17538
17539// GoString returns the string representation.
17540//
17541// API parameter values that are decorated as "sensitive" in the API will not
17542// be included in the string output. The member name will be present, but the
17543// value will be replaced with "sensitive".
17544func (s ListResourcesForTagOptionOutput) GoString() string {
17545	return s.String()
17546}
17547
17548// SetPageToken sets the PageToken field's value.
17549func (s *ListResourcesForTagOptionOutput) SetPageToken(v string) *ListResourcesForTagOptionOutput {
17550	s.PageToken = &v
17551	return s
17552}
17553
17554// SetResourceDetails sets the ResourceDetails field's value.
17555func (s *ListResourcesForTagOptionOutput) SetResourceDetails(v []*ResourceDetail) *ListResourcesForTagOptionOutput {
17556	s.ResourceDetails = v
17557	return s
17558}
17559
17560type ListServiceActionsForProvisioningArtifactInput struct {
17561	_ struct{} `type:"structure"`
17562
17563	// The language code.
17564	//
17565	//    * en - English (default)
17566	//
17567	//    * jp - Japanese
17568	//
17569	//    * zh - Chinese
17570	AcceptLanguage *string `type:"string"`
17571
17572	// The maximum number of items to return with this call.
17573	PageSize *int64 `type:"integer"`
17574
17575	// The page token for the next set of results. To retrieve the first set of
17576	// results, use null.
17577	PageToken *string `type:"string"`
17578
17579	// The product identifier. For example, prod-abcdzk7xy33qa.
17580	//
17581	// ProductId is a required field
17582	ProductId *string `min:"1" type:"string" required:"true"`
17583
17584	// The identifier of the provisioning artifact. For example, pa-4abcdjnxjj6ne.
17585	//
17586	// ProvisioningArtifactId is a required field
17587	ProvisioningArtifactId *string `min:"1" type:"string" required:"true"`
17588}
17589
17590// String returns the string representation.
17591//
17592// API parameter values that are decorated as "sensitive" in the API will not
17593// be included in the string output. The member name will be present, but the
17594// value will be replaced with "sensitive".
17595func (s ListServiceActionsForProvisioningArtifactInput) String() string {
17596	return awsutil.Prettify(s)
17597}
17598
17599// GoString returns the string representation.
17600//
17601// API parameter values that are decorated as "sensitive" in the API will not
17602// be included in the string output. The member name will be present, but the
17603// value will be replaced with "sensitive".
17604func (s ListServiceActionsForProvisioningArtifactInput) GoString() string {
17605	return s.String()
17606}
17607
17608// Validate inspects the fields of the type to determine if they are valid.
17609func (s *ListServiceActionsForProvisioningArtifactInput) Validate() error {
17610	invalidParams := request.ErrInvalidParams{Context: "ListServiceActionsForProvisioningArtifactInput"}
17611	if s.ProductId == nil {
17612		invalidParams.Add(request.NewErrParamRequired("ProductId"))
17613	}
17614	if s.ProductId != nil && len(*s.ProductId) < 1 {
17615		invalidParams.Add(request.NewErrParamMinLen("ProductId", 1))
17616	}
17617	if s.ProvisioningArtifactId == nil {
17618		invalidParams.Add(request.NewErrParamRequired("ProvisioningArtifactId"))
17619	}
17620	if s.ProvisioningArtifactId != nil && len(*s.ProvisioningArtifactId) < 1 {
17621		invalidParams.Add(request.NewErrParamMinLen("ProvisioningArtifactId", 1))
17622	}
17623
17624	if invalidParams.Len() > 0 {
17625		return invalidParams
17626	}
17627	return nil
17628}
17629
17630// SetAcceptLanguage sets the AcceptLanguage field's value.
17631func (s *ListServiceActionsForProvisioningArtifactInput) SetAcceptLanguage(v string) *ListServiceActionsForProvisioningArtifactInput {
17632	s.AcceptLanguage = &v
17633	return s
17634}
17635
17636// SetPageSize sets the PageSize field's value.
17637func (s *ListServiceActionsForProvisioningArtifactInput) SetPageSize(v int64) *ListServiceActionsForProvisioningArtifactInput {
17638	s.PageSize = &v
17639	return s
17640}
17641
17642// SetPageToken sets the PageToken field's value.
17643func (s *ListServiceActionsForProvisioningArtifactInput) SetPageToken(v string) *ListServiceActionsForProvisioningArtifactInput {
17644	s.PageToken = &v
17645	return s
17646}
17647
17648// SetProductId sets the ProductId field's value.
17649func (s *ListServiceActionsForProvisioningArtifactInput) SetProductId(v string) *ListServiceActionsForProvisioningArtifactInput {
17650	s.ProductId = &v
17651	return s
17652}
17653
17654// SetProvisioningArtifactId sets the ProvisioningArtifactId field's value.
17655func (s *ListServiceActionsForProvisioningArtifactInput) SetProvisioningArtifactId(v string) *ListServiceActionsForProvisioningArtifactInput {
17656	s.ProvisioningArtifactId = &v
17657	return s
17658}
17659
17660type ListServiceActionsForProvisioningArtifactOutput struct {
17661	_ struct{} `type:"structure"`
17662
17663	// The page token to use to retrieve the next set of results. If there are no
17664	// additional results, this value is null.
17665	NextPageToken *string `type:"string"`
17666
17667	// An object containing information about the self-service actions associated
17668	// with the provisioning artifact.
17669	ServiceActionSummaries []*ServiceActionSummary `type:"list"`
17670}
17671
17672// String returns the string representation.
17673//
17674// API parameter values that are decorated as "sensitive" in the API will not
17675// be included in the string output. The member name will be present, but the
17676// value will be replaced with "sensitive".
17677func (s ListServiceActionsForProvisioningArtifactOutput) String() string {
17678	return awsutil.Prettify(s)
17679}
17680
17681// GoString returns the string representation.
17682//
17683// API parameter values that are decorated as "sensitive" in the API will not
17684// be included in the string output. The member name will be present, but the
17685// value will be replaced with "sensitive".
17686func (s ListServiceActionsForProvisioningArtifactOutput) GoString() string {
17687	return s.String()
17688}
17689
17690// SetNextPageToken sets the NextPageToken field's value.
17691func (s *ListServiceActionsForProvisioningArtifactOutput) SetNextPageToken(v string) *ListServiceActionsForProvisioningArtifactOutput {
17692	s.NextPageToken = &v
17693	return s
17694}
17695
17696// SetServiceActionSummaries sets the ServiceActionSummaries field's value.
17697func (s *ListServiceActionsForProvisioningArtifactOutput) SetServiceActionSummaries(v []*ServiceActionSummary) *ListServiceActionsForProvisioningArtifactOutput {
17698	s.ServiceActionSummaries = v
17699	return s
17700}
17701
17702type ListServiceActionsInput struct {
17703	_ struct{} `type:"structure"`
17704
17705	// The language code.
17706	//
17707	//    * en - English (default)
17708	//
17709	//    * jp - Japanese
17710	//
17711	//    * zh - Chinese
17712	AcceptLanguage *string `type:"string"`
17713
17714	// The maximum number of items to return with this call.
17715	PageSize *int64 `type:"integer"`
17716
17717	// The page token for the next set of results. To retrieve the first set of
17718	// results, use null.
17719	PageToken *string `type:"string"`
17720}
17721
17722// String returns the string representation.
17723//
17724// API parameter values that are decorated as "sensitive" in the API will not
17725// be included in the string output. The member name will be present, but the
17726// value will be replaced with "sensitive".
17727func (s ListServiceActionsInput) String() string {
17728	return awsutil.Prettify(s)
17729}
17730
17731// GoString returns the string representation.
17732//
17733// API parameter values that are decorated as "sensitive" in the API will not
17734// be included in the string output. The member name will be present, but the
17735// value will be replaced with "sensitive".
17736func (s ListServiceActionsInput) GoString() string {
17737	return s.String()
17738}
17739
17740// SetAcceptLanguage sets the AcceptLanguage field's value.
17741func (s *ListServiceActionsInput) SetAcceptLanguage(v string) *ListServiceActionsInput {
17742	s.AcceptLanguage = &v
17743	return s
17744}
17745
17746// SetPageSize sets the PageSize field's value.
17747func (s *ListServiceActionsInput) SetPageSize(v int64) *ListServiceActionsInput {
17748	s.PageSize = &v
17749	return s
17750}
17751
17752// SetPageToken sets the PageToken field's value.
17753func (s *ListServiceActionsInput) SetPageToken(v string) *ListServiceActionsInput {
17754	s.PageToken = &v
17755	return s
17756}
17757
17758type ListServiceActionsOutput struct {
17759	_ struct{} `type:"structure"`
17760
17761	// The page token to use to retrieve the next set of results. If there are no
17762	// additional results, this value is null.
17763	NextPageToken *string `type:"string"`
17764
17765	// An object containing information about the service actions associated with
17766	// the provisioning artifact.
17767	ServiceActionSummaries []*ServiceActionSummary `type:"list"`
17768}
17769
17770// String returns the string representation.
17771//
17772// API parameter values that are decorated as "sensitive" in the API will not
17773// be included in the string output. The member name will be present, but the
17774// value will be replaced with "sensitive".
17775func (s ListServiceActionsOutput) String() string {
17776	return awsutil.Prettify(s)
17777}
17778
17779// GoString returns the string representation.
17780//
17781// API parameter values that are decorated as "sensitive" in the API will not
17782// be included in the string output. The member name will be present, but the
17783// value will be replaced with "sensitive".
17784func (s ListServiceActionsOutput) GoString() string {
17785	return s.String()
17786}
17787
17788// SetNextPageToken sets the NextPageToken field's value.
17789func (s *ListServiceActionsOutput) SetNextPageToken(v string) *ListServiceActionsOutput {
17790	s.NextPageToken = &v
17791	return s
17792}
17793
17794// SetServiceActionSummaries sets the ServiceActionSummaries field's value.
17795func (s *ListServiceActionsOutput) SetServiceActionSummaries(v []*ServiceActionSummary) *ListServiceActionsOutput {
17796	s.ServiceActionSummaries = v
17797	return s
17798}
17799
17800type ListStackInstancesForProvisionedProductInput struct {
17801	_ struct{} `type:"structure"`
17802
17803	// The language code.
17804	//
17805	//    * en - English (default)
17806	//
17807	//    * jp - Japanese
17808	//
17809	//    * zh - Chinese
17810	AcceptLanguage *string `type:"string"`
17811
17812	// The maximum number of items to return with this call.
17813	PageSize *int64 `type:"integer"`
17814
17815	// The page token for the next set of results. To retrieve the first set of
17816	// results, use null.
17817	PageToken *string `type:"string"`
17818
17819	// The identifier of the provisioned product.
17820	//
17821	// ProvisionedProductId is a required field
17822	ProvisionedProductId *string `min:"1" type:"string" required:"true"`
17823}
17824
17825// String returns the string representation.
17826//
17827// API parameter values that are decorated as "sensitive" in the API will not
17828// be included in the string output. The member name will be present, but the
17829// value will be replaced with "sensitive".
17830func (s ListStackInstancesForProvisionedProductInput) String() string {
17831	return awsutil.Prettify(s)
17832}
17833
17834// GoString returns the string representation.
17835//
17836// API parameter values that are decorated as "sensitive" in the API will not
17837// be included in the string output. The member name will be present, but the
17838// value will be replaced with "sensitive".
17839func (s ListStackInstancesForProvisionedProductInput) GoString() string {
17840	return s.String()
17841}
17842
17843// Validate inspects the fields of the type to determine if they are valid.
17844func (s *ListStackInstancesForProvisionedProductInput) Validate() error {
17845	invalidParams := request.ErrInvalidParams{Context: "ListStackInstancesForProvisionedProductInput"}
17846	if s.ProvisionedProductId == nil {
17847		invalidParams.Add(request.NewErrParamRequired("ProvisionedProductId"))
17848	}
17849	if s.ProvisionedProductId != nil && len(*s.ProvisionedProductId) < 1 {
17850		invalidParams.Add(request.NewErrParamMinLen("ProvisionedProductId", 1))
17851	}
17852
17853	if invalidParams.Len() > 0 {
17854		return invalidParams
17855	}
17856	return nil
17857}
17858
17859// SetAcceptLanguage sets the AcceptLanguage field's value.
17860func (s *ListStackInstancesForProvisionedProductInput) SetAcceptLanguage(v string) *ListStackInstancesForProvisionedProductInput {
17861	s.AcceptLanguage = &v
17862	return s
17863}
17864
17865// SetPageSize sets the PageSize field's value.
17866func (s *ListStackInstancesForProvisionedProductInput) SetPageSize(v int64) *ListStackInstancesForProvisionedProductInput {
17867	s.PageSize = &v
17868	return s
17869}
17870
17871// SetPageToken sets the PageToken field's value.
17872func (s *ListStackInstancesForProvisionedProductInput) SetPageToken(v string) *ListStackInstancesForProvisionedProductInput {
17873	s.PageToken = &v
17874	return s
17875}
17876
17877// SetProvisionedProductId sets the ProvisionedProductId field's value.
17878func (s *ListStackInstancesForProvisionedProductInput) SetProvisionedProductId(v string) *ListStackInstancesForProvisionedProductInput {
17879	s.ProvisionedProductId = &v
17880	return s
17881}
17882
17883type ListStackInstancesForProvisionedProductOutput struct {
17884	_ struct{} `type:"structure"`
17885
17886	// The page token to use to retrieve the next set of results. If there are no
17887	// additional results, this value is null.
17888	NextPageToken *string `type:"string"`
17889
17890	// List of stack instances.
17891	StackInstances []*StackInstance `type:"list"`
17892}
17893
17894// String returns the string representation.
17895//
17896// API parameter values that are decorated as "sensitive" in the API will not
17897// be included in the string output. The member name will be present, but the
17898// value will be replaced with "sensitive".
17899func (s ListStackInstancesForProvisionedProductOutput) String() string {
17900	return awsutil.Prettify(s)
17901}
17902
17903// GoString returns the string representation.
17904//
17905// API parameter values that are decorated as "sensitive" in the API will not
17906// be included in the string output. The member name will be present, but the
17907// value will be replaced with "sensitive".
17908func (s ListStackInstancesForProvisionedProductOutput) GoString() string {
17909	return s.String()
17910}
17911
17912// SetNextPageToken sets the NextPageToken field's value.
17913func (s *ListStackInstancesForProvisionedProductOutput) SetNextPageToken(v string) *ListStackInstancesForProvisionedProductOutput {
17914	s.NextPageToken = &v
17915	return s
17916}
17917
17918// SetStackInstances sets the StackInstances field's value.
17919func (s *ListStackInstancesForProvisionedProductOutput) SetStackInstances(v []*StackInstance) *ListStackInstancesForProvisionedProductOutput {
17920	s.StackInstances = v
17921	return s
17922}
17923
17924// Filters to use when listing TagOptions.
17925type ListTagOptionsFilters struct {
17926	_ struct{} `type:"structure"`
17927
17928	// The active state.
17929	Active *bool `type:"boolean"`
17930
17931	// The TagOption key.
17932	Key *string `min:"1" type:"string"`
17933
17934	// The TagOption value.
17935	Value *string `min:"1" type:"string"`
17936}
17937
17938// String returns the string representation.
17939//
17940// API parameter values that are decorated as "sensitive" in the API will not
17941// be included in the string output. The member name will be present, but the
17942// value will be replaced with "sensitive".
17943func (s ListTagOptionsFilters) String() string {
17944	return awsutil.Prettify(s)
17945}
17946
17947// GoString returns the string representation.
17948//
17949// API parameter values that are decorated as "sensitive" in the API will not
17950// be included in the string output. The member name will be present, but the
17951// value will be replaced with "sensitive".
17952func (s ListTagOptionsFilters) GoString() string {
17953	return s.String()
17954}
17955
17956// Validate inspects the fields of the type to determine if they are valid.
17957func (s *ListTagOptionsFilters) Validate() error {
17958	invalidParams := request.ErrInvalidParams{Context: "ListTagOptionsFilters"}
17959	if s.Key != nil && len(*s.Key) < 1 {
17960		invalidParams.Add(request.NewErrParamMinLen("Key", 1))
17961	}
17962	if s.Value != nil && len(*s.Value) < 1 {
17963		invalidParams.Add(request.NewErrParamMinLen("Value", 1))
17964	}
17965
17966	if invalidParams.Len() > 0 {
17967		return invalidParams
17968	}
17969	return nil
17970}
17971
17972// SetActive sets the Active field's value.
17973func (s *ListTagOptionsFilters) SetActive(v bool) *ListTagOptionsFilters {
17974	s.Active = &v
17975	return s
17976}
17977
17978// SetKey sets the Key field's value.
17979func (s *ListTagOptionsFilters) SetKey(v string) *ListTagOptionsFilters {
17980	s.Key = &v
17981	return s
17982}
17983
17984// SetValue sets the Value field's value.
17985func (s *ListTagOptionsFilters) SetValue(v string) *ListTagOptionsFilters {
17986	s.Value = &v
17987	return s
17988}
17989
17990type ListTagOptionsInput struct {
17991	_ struct{} `type:"structure"`
17992
17993	// The search filters. If no search filters are specified, the output includes
17994	// all TagOptions.
17995	Filters *ListTagOptionsFilters `type:"structure"`
17996
17997	// The maximum number of items to return with this call.
17998	PageSize *int64 `type:"integer"`
17999
18000	// The page token for the next set of results. To retrieve the first set of
18001	// results, use null.
18002	PageToken *string `type:"string"`
18003}
18004
18005// String returns the string representation.
18006//
18007// API parameter values that are decorated as "sensitive" in the API will not
18008// be included in the string output. The member name will be present, but the
18009// value will be replaced with "sensitive".
18010func (s ListTagOptionsInput) String() string {
18011	return awsutil.Prettify(s)
18012}
18013
18014// GoString returns the string representation.
18015//
18016// API parameter values that are decorated as "sensitive" in the API will not
18017// be included in the string output. The member name will be present, but the
18018// value will be replaced with "sensitive".
18019func (s ListTagOptionsInput) GoString() string {
18020	return s.String()
18021}
18022
18023// Validate inspects the fields of the type to determine if they are valid.
18024func (s *ListTagOptionsInput) Validate() error {
18025	invalidParams := request.ErrInvalidParams{Context: "ListTagOptionsInput"}
18026	if s.Filters != nil {
18027		if err := s.Filters.Validate(); err != nil {
18028			invalidParams.AddNested("Filters", err.(request.ErrInvalidParams))
18029		}
18030	}
18031
18032	if invalidParams.Len() > 0 {
18033		return invalidParams
18034	}
18035	return nil
18036}
18037
18038// SetFilters sets the Filters field's value.
18039func (s *ListTagOptionsInput) SetFilters(v *ListTagOptionsFilters) *ListTagOptionsInput {
18040	s.Filters = v
18041	return s
18042}
18043
18044// SetPageSize sets the PageSize field's value.
18045func (s *ListTagOptionsInput) SetPageSize(v int64) *ListTagOptionsInput {
18046	s.PageSize = &v
18047	return s
18048}
18049
18050// SetPageToken sets the PageToken field's value.
18051func (s *ListTagOptionsInput) SetPageToken(v string) *ListTagOptionsInput {
18052	s.PageToken = &v
18053	return s
18054}
18055
18056type ListTagOptionsOutput struct {
18057	_ struct{} `type:"structure"`
18058
18059	// The page token for the next set of results. To retrieve the first set of
18060	// results, use null.
18061	PageToken *string `type:"string"`
18062
18063	// Information about the TagOptions.
18064	TagOptionDetails []*TagOptionDetail `type:"list"`
18065}
18066
18067// String returns the string representation.
18068//
18069// API parameter values that are decorated as "sensitive" in the API will not
18070// be included in the string output. The member name will be present, but the
18071// value will be replaced with "sensitive".
18072func (s ListTagOptionsOutput) String() string {
18073	return awsutil.Prettify(s)
18074}
18075
18076// GoString returns the string representation.
18077//
18078// API parameter values that are decorated as "sensitive" in the API will not
18079// be included in the string output. The member name will be present, but the
18080// value will be replaced with "sensitive".
18081func (s ListTagOptionsOutput) GoString() string {
18082	return s.String()
18083}
18084
18085// SetPageToken sets the PageToken field's value.
18086func (s *ListTagOptionsOutput) SetPageToken(v string) *ListTagOptionsOutput {
18087	s.PageToken = &v
18088	return s
18089}
18090
18091// SetTagOptionDetails sets the TagOptionDetails field's value.
18092func (s *ListTagOptionsOutput) SetTagOptionDetails(v []*TagOptionDetail) *ListTagOptionsOutput {
18093	s.TagOptionDetails = v
18094	return s
18095}
18096
18097// The operation is not supported.
18098type OperationNotSupportedException struct {
18099	_            struct{}                  `type:"structure"`
18100	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
18101
18102	Message_ *string `locationName:"message" type:"string"`
18103}
18104
18105// String returns the string representation.
18106//
18107// API parameter values that are decorated as "sensitive" in the API will not
18108// be included in the string output. The member name will be present, but the
18109// value will be replaced with "sensitive".
18110func (s OperationNotSupportedException) String() string {
18111	return awsutil.Prettify(s)
18112}
18113
18114// GoString returns the string representation.
18115//
18116// API parameter values that are decorated as "sensitive" in the API will not
18117// be included in the string output. The member name will be present, but the
18118// value will be replaced with "sensitive".
18119func (s OperationNotSupportedException) GoString() string {
18120	return s.String()
18121}
18122
18123func newErrorOperationNotSupportedException(v protocol.ResponseMetadata) error {
18124	return &OperationNotSupportedException{
18125		RespMetadata: v,
18126	}
18127}
18128
18129// Code returns the exception type name.
18130func (s *OperationNotSupportedException) Code() string {
18131	return "OperationNotSupportedException"
18132}
18133
18134// Message returns the exception's message.
18135func (s *OperationNotSupportedException) Message() string {
18136	if s.Message_ != nil {
18137		return *s.Message_
18138	}
18139	return ""
18140}
18141
18142// OrigErr always returns nil, satisfies awserr.Error interface.
18143func (s *OperationNotSupportedException) OrigErr() error {
18144	return nil
18145}
18146
18147func (s *OperationNotSupportedException) Error() string {
18148	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
18149}
18150
18151// Status code returns the HTTP status code for the request's response error.
18152func (s *OperationNotSupportedException) StatusCode() int {
18153	return s.RespMetadata.StatusCode
18154}
18155
18156// RequestID returns the service's response RequestID for request.
18157func (s *OperationNotSupportedException) RequestID() string {
18158	return s.RespMetadata.RequestID
18159}
18160
18161// Information about the organization node.
18162type OrganizationNode struct {
18163	_ struct{} `type:"structure"`
18164
18165	// The organization node type.
18166	Type *string `type:"string" enum:"OrganizationNodeType"`
18167
18168	// The identifier of the organization node.
18169	Value *string `type:"string"`
18170}
18171
18172// String returns the string representation.
18173//
18174// API parameter values that are decorated as "sensitive" in the API will not
18175// be included in the string output. The member name will be present, but the
18176// value will be replaced with "sensitive".
18177func (s OrganizationNode) String() string {
18178	return awsutil.Prettify(s)
18179}
18180
18181// GoString returns the string representation.
18182//
18183// API parameter values that are decorated as "sensitive" in the API will not
18184// be included in the string output. The member name will be present, but the
18185// value will be replaced with "sensitive".
18186func (s OrganizationNode) GoString() string {
18187	return s.String()
18188}
18189
18190// SetType sets the Type field's value.
18191func (s *OrganizationNode) SetType(v string) *OrganizationNode {
18192	s.Type = &v
18193	return s
18194}
18195
18196// SetValue sets the Value field's value.
18197func (s *OrganizationNode) SetValue(v string) *OrganizationNode {
18198	s.Value = &v
18199	return s
18200}
18201
18202// The constraints that the administrator has put on the parameter.
18203type ParameterConstraints struct {
18204	_ struct{} `type:"structure"`
18205
18206	// A regular expression that represents the patterns that allow for String types.
18207	// The pattern must match the entire parameter value provided.
18208	AllowedPattern *string `type:"string"`
18209
18210	// The values that the administrator has allowed for the parameter.
18211	AllowedValues []*string `type:"list"`
18212
18213	// A string that explains a constraint when the constraint is violated. For
18214	// example, without a constraint description, a parameter that has an allowed
18215	// pattern of [A-Za-z0-9]+ displays the following error message when the user
18216	// specifies an invalid value:
18217	//
18218	// Malformed input-Parameter MyParameter must match pattern [A-Za-z0-9]+
18219	//
18220	// By adding a constraint description, such as must only contain letters (uppercase
18221	// and lowercase) and numbers, you can display the following customized error
18222	// message:
18223	//
18224	// Malformed input-Parameter MyParameter must only contain uppercase and lowercase
18225	// letters and numbers.
18226	ConstraintDescription *string `type:"string"`
18227
18228	// An integer value that determines the largest number of characters you want
18229	// to allow for String types.
18230	MaxLength *string `type:"string"`
18231
18232	// A numeric value that determines the largest numeric value you want to allow
18233	// for Number types.
18234	MaxValue *string `type:"string"`
18235
18236	// An integer value that determines the smallest number of characters you want
18237	// to allow for String types.
18238	MinLength *string `type:"string"`
18239
18240	// A numeric value that determines the smallest numeric value you want to allow
18241	// for Number types.
18242	MinValue *string `type:"string"`
18243}
18244
18245// String returns the string representation.
18246//
18247// API parameter values that are decorated as "sensitive" in the API will not
18248// be included in the string output. The member name will be present, but the
18249// value will be replaced with "sensitive".
18250func (s ParameterConstraints) String() string {
18251	return awsutil.Prettify(s)
18252}
18253
18254// GoString returns the string representation.
18255//
18256// API parameter values that are decorated as "sensitive" in the API will not
18257// be included in the string output. The member name will be present, but the
18258// value will be replaced with "sensitive".
18259func (s ParameterConstraints) GoString() string {
18260	return s.String()
18261}
18262
18263// SetAllowedPattern sets the AllowedPattern field's value.
18264func (s *ParameterConstraints) SetAllowedPattern(v string) *ParameterConstraints {
18265	s.AllowedPattern = &v
18266	return s
18267}
18268
18269// SetAllowedValues sets the AllowedValues field's value.
18270func (s *ParameterConstraints) SetAllowedValues(v []*string) *ParameterConstraints {
18271	s.AllowedValues = v
18272	return s
18273}
18274
18275// SetConstraintDescription sets the ConstraintDescription field's value.
18276func (s *ParameterConstraints) SetConstraintDescription(v string) *ParameterConstraints {
18277	s.ConstraintDescription = &v
18278	return s
18279}
18280
18281// SetMaxLength sets the MaxLength field's value.
18282func (s *ParameterConstraints) SetMaxLength(v string) *ParameterConstraints {
18283	s.MaxLength = &v
18284	return s
18285}
18286
18287// SetMaxValue sets the MaxValue field's value.
18288func (s *ParameterConstraints) SetMaxValue(v string) *ParameterConstraints {
18289	s.MaxValue = &v
18290	return s
18291}
18292
18293// SetMinLength sets the MinLength field's value.
18294func (s *ParameterConstraints) SetMinLength(v string) *ParameterConstraints {
18295	s.MinLength = &v
18296	return s
18297}
18298
18299// SetMinValue sets the MinValue field's value.
18300func (s *ParameterConstraints) SetMinValue(v string) *ParameterConstraints {
18301	s.MinValue = &v
18302	return s
18303}
18304
18305// Information about a portfolio.
18306type PortfolioDetail struct {
18307	_ struct{} `type:"structure"`
18308
18309	// The ARN assigned to the portfolio.
18310	ARN *string `min:"1" type:"string"`
18311
18312	// The UTC time stamp of the creation time.
18313	CreatedTime *time.Time `type:"timestamp"`
18314
18315	// The description of the portfolio.
18316	Description *string `type:"string"`
18317
18318	// The name to use for display purposes.
18319	DisplayName *string `min:"1" type:"string"`
18320
18321	// The portfolio identifier.
18322	Id *string `min:"1" type:"string"`
18323
18324	// The name of the portfolio provider.
18325	ProviderName *string `min:"1" type:"string"`
18326}
18327
18328// String returns the string representation.
18329//
18330// API parameter values that are decorated as "sensitive" in the API will not
18331// be included in the string output. The member name will be present, but the
18332// value will be replaced with "sensitive".
18333func (s PortfolioDetail) String() string {
18334	return awsutil.Prettify(s)
18335}
18336
18337// GoString returns the string representation.
18338//
18339// API parameter values that are decorated as "sensitive" in the API will not
18340// be included in the string output. The member name will be present, but the
18341// value will be replaced with "sensitive".
18342func (s PortfolioDetail) GoString() string {
18343	return s.String()
18344}
18345
18346// SetARN sets the ARN field's value.
18347func (s *PortfolioDetail) SetARN(v string) *PortfolioDetail {
18348	s.ARN = &v
18349	return s
18350}
18351
18352// SetCreatedTime sets the CreatedTime field's value.
18353func (s *PortfolioDetail) SetCreatedTime(v time.Time) *PortfolioDetail {
18354	s.CreatedTime = &v
18355	return s
18356}
18357
18358// SetDescription sets the Description field's value.
18359func (s *PortfolioDetail) SetDescription(v string) *PortfolioDetail {
18360	s.Description = &v
18361	return s
18362}
18363
18364// SetDisplayName sets the DisplayName field's value.
18365func (s *PortfolioDetail) SetDisplayName(v string) *PortfolioDetail {
18366	s.DisplayName = &v
18367	return s
18368}
18369
18370// SetId sets the Id field's value.
18371func (s *PortfolioDetail) SetId(v string) *PortfolioDetail {
18372	s.Id = &v
18373	return s
18374}
18375
18376// SetProviderName sets the ProviderName field's value.
18377func (s *PortfolioDetail) SetProviderName(v string) *PortfolioDetail {
18378	s.ProviderName = &v
18379	return s
18380}
18381
18382// Information about the portfolio share.
18383type PortfolioShareDetail struct {
18384	_ struct{} `type:"structure"`
18385
18386	// Indicates whether the shared portfolio is imported by the recipient account.
18387	// If the recipient is in an organization node, the share is automatically imported,
18388	// and the field is always set to true.
18389	Accepted *bool `type:"boolean"`
18390
18391	// The identifier of the recipient entity that received the portfolio share.
18392	// The recipient entities can be one of the following:
18393	//
18394	// 1. An external account.
18395	//
18396	// 2. An organziation member account.
18397	//
18398	// 3. An organzational unit (OU).
18399	//
18400	// 4. The organization itself. (This shares with every account in the organization).
18401	PrincipalId *string `min:"1" type:"string"`
18402
18403	// Indicates whether TagOptions sharing is enabled or disabled for the portfolio
18404	// share.
18405	ShareTagOptions *bool `type:"boolean"`
18406
18407	// The type of the portfolio share.
18408	Type *string `type:"string" enum:"DescribePortfolioShareType"`
18409}
18410
18411// String returns the string representation.
18412//
18413// API parameter values that are decorated as "sensitive" in the API will not
18414// be included in the string output. The member name will be present, but the
18415// value will be replaced with "sensitive".
18416func (s PortfolioShareDetail) String() string {
18417	return awsutil.Prettify(s)
18418}
18419
18420// GoString returns the string representation.
18421//
18422// API parameter values that are decorated as "sensitive" in the API will not
18423// be included in the string output. The member name will be present, but the
18424// value will be replaced with "sensitive".
18425func (s PortfolioShareDetail) GoString() string {
18426	return s.String()
18427}
18428
18429// SetAccepted sets the Accepted field's value.
18430func (s *PortfolioShareDetail) SetAccepted(v bool) *PortfolioShareDetail {
18431	s.Accepted = &v
18432	return s
18433}
18434
18435// SetPrincipalId sets the PrincipalId field's value.
18436func (s *PortfolioShareDetail) SetPrincipalId(v string) *PortfolioShareDetail {
18437	s.PrincipalId = &v
18438	return s
18439}
18440
18441// SetShareTagOptions sets the ShareTagOptions field's value.
18442func (s *PortfolioShareDetail) SetShareTagOptions(v bool) *PortfolioShareDetail {
18443	s.ShareTagOptions = &v
18444	return s
18445}
18446
18447// SetType sets the Type field's value.
18448func (s *PortfolioShareDetail) SetType(v string) *PortfolioShareDetail {
18449	s.Type = &v
18450	return s
18451}
18452
18453// Information about a principal.
18454type Principal struct {
18455	_ struct{} `type:"structure"`
18456
18457	// The ARN of the principal (IAM user, role, or group).
18458	PrincipalARN *string `min:"1" type:"string"`
18459
18460	// The principal type. The supported value is IAM.
18461	PrincipalType *string `type:"string" enum:"PrincipalType"`
18462}
18463
18464// String returns the string representation.
18465//
18466// API parameter values that are decorated as "sensitive" in the API will not
18467// be included in the string output. The member name will be present, but the
18468// value will be replaced with "sensitive".
18469func (s Principal) String() string {
18470	return awsutil.Prettify(s)
18471}
18472
18473// GoString returns the string representation.
18474//
18475// API parameter values that are decorated as "sensitive" in the API will not
18476// be included in the string output. The member name will be present, but the
18477// value will be replaced with "sensitive".
18478func (s Principal) GoString() string {
18479	return s.String()
18480}
18481
18482// SetPrincipalARN sets the PrincipalARN field's value.
18483func (s *Principal) SetPrincipalARN(v string) *Principal {
18484	s.PrincipalARN = &v
18485	return s
18486}
18487
18488// SetPrincipalType sets the PrincipalType field's value.
18489func (s *Principal) SetPrincipalType(v string) *Principal {
18490	s.PrincipalType = &v
18491	return s
18492}
18493
18494// A single product view aggregation value/count pair, containing metadata about
18495// each product to which the calling user has access.
18496type ProductViewAggregationValue struct {
18497	_ struct{} `type:"structure"`
18498
18499	// An approximate count of the products that match the value.
18500	ApproximateCount *int64 `type:"integer"`
18501
18502	// The value of the product view aggregation.
18503	Value *string `type:"string"`
18504}
18505
18506// String returns the string representation.
18507//
18508// API parameter values that are decorated as "sensitive" in the API will not
18509// be included in the string output. The member name will be present, but the
18510// value will be replaced with "sensitive".
18511func (s ProductViewAggregationValue) String() string {
18512	return awsutil.Prettify(s)
18513}
18514
18515// GoString returns the string representation.
18516//
18517// API parameter values that are decorated as "sensitive" in the API will not
18518// be included in the string output. The member name will be present, but the
18519// value will be replaced with "sensitive".
18520func (s ProductViewAggregationValue) GoString() string {
18521	return s.String()
18522}
18523
18524// SetApproximateCount sets the ApproximateCount field's value.
18525func (s *ProductViewAggregationValue) SetApproximateCount(v int64) *ProductViewAggregationValue {
18526	s.ApproximateCount = &v
18527	return s
18528}
18529
18530// SetValue sets the Value field's value.
18531func (s *ProductViewAggregationValue) SetValue(v string) *ProductViewAggregationValue {
18532	s.Value = &v
18533	return s
18534}
18535
18536// Information about a product view.
18537type ProductViewDetail struct {
18538	_ struct{} `type:"structure"`
18539
18540	// The UTC time stamp of the creation time.
18541	CreatedTime *time.Time `type:"timestamp"`
18542
18543	// The ARN of the product.
18544	ProductARN *string `min:"1" type:"string"`
18545
18546	// Summary information about the product view.
18547	ProductViewSummary *ProductViewSummary `type:"structure"`
18548
18549	// The status of the product.
18550	//
18551	//    * AVAILABLE - The product is ready for use.
18552	//
18553	//    * CREATING - Product creation has started; the product is not ready for
18554	//    use.
18555	//
18556	//    * FAILED - An action failed.
18557	Status *string `type:"string" enum:"Status"`
18558}
18559
18560// String returns the string representation.
18561//
18562// API parameter values that are decorated as "sensitive" in the API will not
18563// be included in the string output. The member name will be present, but the
18564// value will be replaced with "sensitive".
18565func (s ProductViewDetail) String() string {
18566	return awsutil.Prettify(s)
18567}
18568
18569// GoString returns the string representation.
18570//
18571// API parameter values that are decorated as "sensitive" in the API will not
18572// be included in the string output. The member name will be present, but the
18573// value will be replaced with "sensitive".
18574func (s ProductViewDetail) GoString() string {
18575	return s.String()
18576}
18577
18578// SetCreatedTime sets the CreatedTime field's value.
18579func (s *ProductViewDetail) SetCreatedTime(v time.Time) *ProductViewDetail {
18580	s.CreatedTime = &v
18581	return s
18582}
18583
18584// SetProductARN sets the ProductARN field's value.
18585func (s *ProductViewDetail) SetProductARN(v string) *ProductViewDetail {
18586	s.ProductARN = &v
18587	return s
18588}
18589
18590// SetProductViewSummary sets the ProductViewSummary field's value.
18591func (s *ProductViewDetail) SetProductViewSummary(v *ProductViewSummary) *ProductViewDetail {
18592	s.ProductViewSummary = v
18593	return s
18594}
18595
18596// SetStatus sets the Status field's value.
18597func (s *ProductViewDetail) SetStatus(v string) *ProductViewDetail {
18598	s.Status = &v
18599	return s
18600}
18601
18602// Summary information about a product view.
18603type ProductViewSummary struct {
18604	_ struct{} `type:"structure"`
18605
18606	// The distributor of the product. Contact the product administrator for the
18607	// significance of this value.
18608	Distributor *string `type:"string"`
18609
18610	// Indicates whether the product has a default path. If the product does not
18611	// have a default path, call ListLaunchPaths to disambiguate between paths.
18612	// Otherwise, ListLaunchPaths is not required, and the output of ProductViewSummary
18613	// can be used directly with DescribeProvisioningParameters.
18614	HasDefaultPath *bool `type:"boolean"`
18615
18616	// The product view identifier.
18617	Id *string `min:"1" type:"string"`
18618
18619	// The name of the product.
18620	Name *string `type:"string"`
18621
18622	// The owner of the product. Contact the product administrator for the significance
18623	// of this value.
18624	Owner *string `type:"string"`
18625
18626	// The product identifier.
18627	ProductId *string `min:"1" type:"string"`
18628
18629	// Short description of the product.
18630	ShortDescription *string `type:"string"`
18631
18632	// The description of the support for this Product.
18633	SupportDescription *string `type:"string"`
18634
18635	// The email contact information to obtain support for this Product.
18636	SupportEmail *string `type:"string"`
18637
18638	// The URL information to obtain support for this Product.
18639	SupportUrl *string `type:"string"`
18640
18641	// The product type. Contact the product administrator for the significance
18642	// of this value. If this value is MARKETPLACE, the product was created by AWS
18643	// Marketplace.
18644	Type *string `type:"string" enum:"ProductType"`
18645}
18646
18647// String returns the string representation.
18648//
18649// API parameter values that are decorated as "sensitive" in the API will not
18650// be included in the string output. The member name will be present, but the
18651// value will be replaced with "sensitive".
18652func (s ProductViewSummary) String() string {
18653	return awsutil.Prettify(s)
18654}
18655
18656// GoString returns the string representation.
18657//
18658// API parameter values that are decorated as "sensitive" in the API will not
18659// be included in the string output. The member name will be present, but the
18660// value will be replaced with "sensitive".
18661func (s ProductViewSummary) GoString() string {
18662	return s.String()
18663}
18664
18665// SetDistributor sets the Distributor field's value.
18666func (s *ProductViewSummary) SetDistributor(v string) *ProductViewSummary {
18667	s.Distributor = &v
18668	return s
18669}
18670
18671// SetHasDefaultPath sets the HasDefaultPath field's value.
18672func (s *ProductViewSummary) SetHasDefaultPath(v bool) *ProductViewSummary {
18673	s.HasDefaultPath = &v
18674	return s
18675}
18676
18677// SetId sets the Id field's value.
18678func (s *ProductViewSummary) SetId(v string) *ProductViewSummary {
18679	s.Id = &v
18680	return s
18681}
18682
18683// SetName sets the Name field's value.
18684func (s *ProductViewSummary) SetName(v string) *ProductViewSummary {
18685	s.Name = &v
18686	return s
18687}
18688
18689// SetOwner sets the Owner field's value.
18690func (s *ProductViewSummary) SetOwner(v string) *ProductViewSummary {
18691	s.Owner = &v
18692	return s
18693}
18694
18695// SetProductId sets the ProductId field's value.
18696func (s *ProductViewSummary) SetProductId(v string) *ProductViewSummary {
18697	s.ProductId = &v
18698	return s
18699}
18700
18701// SetShortDescription sets the ShortDescription field's value.
18702func (s *ProductViewSummary) SetShortDescription(v string) *ProductViewSummary {
18703	s.ShortDescription = &v
18704	return s
18705}
18706
18707// SetSupportDescription sets the SupportDescription field's value.
18708func (s *ProductViewSummary) SetSupportDescription(v string) *ProductViewSummary {
18709	s.SupportDescription = &v
18710	return s
18711}
18712
18713// SetSupportEmail sets the SupportEmail field's value.
18714func (s *ProductViewSummary) SetSupportEmail(v string) *ProductViewSummary {
18715	s.SupportEmail = &v
18716	return s
18717}
18718
18719// SetSupportUrl sets the SupportUrl field's value.
18720func (s *ProductViewSummary) SetSupportUrl(v string) *ProductViewSummary {
18721	s.SupportUrl = &v
18722	return s
18723}
18724
18725// SetType sets the Type field's value.
18726func (s *ProductViewSummary) SetType(v string) *ProductViewSummary {
18727	s.Type = &v
18728	return s
18729}
18730
18731type ProvisionProductInput struct {
18732	_ struct{} `type:"structure"`
18733
18734	// The language code.
18735	//
18736	//    * en - English (default)
18737	//
18738	//    * jp - Japanese
18739	//
18740	//    * zh - Chinese
18741	AcceptLanguage *string `type:"string"`
18742
18743	// Passed to CloudFormation. The SNS topic ARNs to which to publish stack-related
18744	// events.
18745	NotificationArns []*string `type:"list"`
18746
18747	// The path identifier of the product. This value is optional if the product
18748	// has a default path, and required if the product has more than one path. To
18749	// list the paths for a product, use ListLaunchPaths. You must provide the name
18750	// or ID, but not both.
18751	PathId *string `min:"1" type:"string"`
18752
18753	// The name of the path. You must provide the name or ID, but not both.
18754	PathName *string `min:"1" type:"string"`
18755
18756	// The product identifier. You must provide the name or ID, but not both.
18757	ProductId *string `min:"1" type:"string"`
18758
18759	// The name of the product. You must provide the name or ID, but not both.
18760	ProductName *string `type:"string"`
18761
18762	// An idempotency token that uniquely identifies the provisioning request.
18763	ProvisionToken *string `min:"1" type:"string" idempotencyToken:"true"`
18764
18765	// A user-friendly name for the provisioned product. This value must be unique
18766	// for the AWS account and cannot be updated after the product is provisioned.
18767	//
18768	// ProvisionedProductName is a required field
18769	ProvisionedProductName *string `min:"1" type:"string" required:"true"`
18770
18771	// The identifier of the provisioning artifact. You must provide the name or
18772	// ID, but not both.
18773	ProvisioningArtifactId *string `min:"1" type:"string"`
18774
18775	// The name of the provisioning artifact. You must provide the name or ID, but
18776	// not both.
18777	ProvisioningArtifactName *string `type:"string"`
18778
18779	// Parameters specified by the administrator that are required for provisioning
18780	// the product.
18781	ProvisioningParameters []*ProvisioningParameter `type:"list"`
18782
18783	// An object that contains information about the provisioning preferences for
18784	// a stack set.
18785	ProvisioningPreferences *ProvisioningPreferences `type:"structure"`
18786
18787	// One or more tags.
18788	Tags []*Tag `type:"list"`
18789}
18790
18791// String returns the string representation.
18792//
18793// API parameter values that are decorated as "sensitive" in the API will not
18794// be included in the string output. The member name will be present, but the
18795// value will be replaced with "sensitive".
18796func (s ProvisionProductInput) String() string {
18797	return awsutil.Prettify(s)
18798}
18799
18800// GoString returns the string representation.
18801//
18802// API parameter values that are decorated as "sensitive" in the API will not
18803// be included in the string output. The member name will be present, but the
18804// value will be replaced with "sensitive".
18805func (s ProvisionProductInput) GoString() string {
18806	return s.String()
18807}
18808
18809// Validate inspects the fields of the type to determine if they are valid.
18810func (s *ProvisionProductInput) Validate() error {
18811	invalidParams := request.ErrInvalidParams{Context: "ProvisionProductInput"}
18812	if s.PathId != nil && len(*s.PathId) < 1 {
18813		invalidParams.Add(request.NewErrParamMinLen("PathId", 1))
18814	}
18815	if s.PathName != nil && len(*s.PathName) < 1 {
18816		invalidParams.Add(request.NewErrParamMinLen("PathName", 1))
18817	}
18818	if s.ProductId != nil && len(*s.ProductId) < 1 {
18819		invalidParams.Add(request.NewErrParamMinLen("ProductId", 1))
18820	}
18821	if s.ProvisionToken != nil && len(*s.ProvisionToken) < 1 {
18822		invalidParams.Add(request.NewErrParamMinLen("ProvisionToken", 1))
18823	}
18824	if s.ProvisionedProductName == nil {
18825		invalidParams.Add(request.NewErrParamRequired("ProvisionedProductName"))
18826	}
18827	if s.ProvisionedProductName != nil && len(*s.ProvisionedProductName) < 1 {
18828		invalidParams.Add(request.NewErrParamMinLen("ProvisionedProductName", 1))
18829	}
18830	if s.ProvisioningArtifactId != nil && len(*s.ProvisioningArtifactId) < 1 {
18831		invalidParams.Add(request.NewErrParamMinLen("ProvisioningArtifactId", 1))
18832	}
18833	if s.ProvisioningParameters != nil {
18834		for i, v := range s.ProvisioningParameters {
18835			if v == nil {
18836				continue
18837			}
18838			if err := v.Validate(); err != nil {
18839				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "ProvisioningParameters", i), err.(request.ErrInvalidParams))
18840			}
18841		}
18842	}
18843	if s.ProvisioningPreferences != nil {
18844		if err := s.ProvisioningPreferences.Validate(); err != nil {
18845			invalidParams.AddNested("ProvisioningPreferences", err.(request.ErrInvalidParams))
18846		}
18847	}
18848	if s.Tags != nil {
18849		for i, v := range s.Tags {
18850			if v == nil {
18851				continue
18852			}
18853			if err := v.Validate(); err != nil {
18854				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams))
18855			}
18856		}
18857	}
18858
18859	if invalidParams.Len() > 0 {
18860		return invalidParams
18861	}
18862	return nil
18863}
18864
18865// SetAcceptLanguage sets the AcceptLanguage field's value.
18866func (s *ProvisionProductInput) SetAcceptLanguage(v string) *ProvisionProductInput {
18867	s.AcceptLanguage = &v
18868	return s
18869}
18870
18871// SetNotificationArns sets the NotificationArns field's value.
18872func (s *ProvisionProductInput) SetNotificationArns(v []*string) *ProvisionProductInput {
18873	s.NotificationArns = v
18874	return s
18875}
18876
18877// SetPathId sets the PathId field's value.
18878func (s *ProvisionProductInput) SetPathId(v string) *ProvisionProductInput {
18879	s.PathId = &v
18880	return s
18881}
18882
18883// SetPathName sets the PathName field's value.
18884func (s *ProvisionProductInput) SetPathName(v string) *ProvisionProductInput {
18885	s.PathName = &v
18886	return s
18887}
18888
18889// SetProductId sets the ProductId field's value.
18890func (s *ProvisionProductInput) SetProductId(v string) *ProvisionProductInput {
18891	s.ProductId = &v
18892	return s
18893}
18894
18895// SetProductName sets the ProductName field's value.
18896func (s *ProvisionProductInput) SetProductName(v string) *ProvisionProductInput {
18897	s.ProductName = &v
18898	return s
18899}
18900
18901// SetProvisionToken sets the ProvisionToken field's value.
18902func (s *ProvisionProductInput) SetProvisionToken(v string) *ProvisionProductInput {
18903	s.ProvisionToken = &v
18904	return s
18905}
18906
18907// SetProvisionedProductName sets the ProvisionedProductName field's value.
18908func (s *ProvisionProductInput) SetProvisionedProductName(v string) *ProvisionProductInput {
18909	s.ProvisionedProductName = &v
18910	return s
18911}
18912
18913// SetProvisioningArtifactId sets the ProvisioningArtifactId field's value.
18914func (s *ProvisionProductInput) SetProvisioningArtifactId(v string) *ProvisionProductInput {
18915	s.ProvisioningArtifactId = &v
18916	return s
18917}
18918
18919// SetProvisioningArtifactName sets the ProvisioningArtifactName field's value.
18920func (s *ProvisionProductInput) SetProvisioningArtifactName(v string) *ProvisionProductInput {
18921	s.ProvisioningArtifactName = &v
18922	return s
18923}
18924
18925// SetProvisioningParameters sets the ProvisioningParameters field's value.
18926func (s *ProvisionProductInput) SetProvisioningParameters(v []*ProvisioningParameter) *ProvisionProductInput {
18927	s.ProvisioningParameters = v
18928	return s
18929}
18930
18931// SetProvisioningPreferences sets the ProvisioningPreferences field's value.
18932func (s *ProvisionProductInput) SetProvisioningPreferences(v *ProvisioningPreferences) *ProvisionProductInput {
18933	s.ProvisioningPreferences = v
18934	return s
18935}
18936
18937// SetTags sets the Tags field's value.
18938func (s *ProvisionProductInput) SetTags(v []*Tag) *ProvisionProductInput {
18939	s.Tags = v
18940	return s
18941}
18942
18943type ProvisionProductOutput struct {
18944	_ struct{} `type:"structure"`
18945
18946	// Information about the result of provisioning the product.
18947	RecordDetail *RecordDetail `type:"structure"`
18948}
18949
18950// String returns the string representation.
18951//
18952// API parameter values that are decorated as "sensitive" in the API will not
18953// be included in the string output. The member name will be present, but the
18954// value will be replaced with "sensitive".
18955func (s ProvisionProductOutput) String() string {
18956	return awsutil.Prettify(s)
18957}
18958
18959// GoString returns the string representation.
18960//
18961// API parameter values that are decorated as "sensitive" in the API will not
18962// be included in the string output. The member name will be present, but the
18963// value will be replaced with "sensitive".
18964func (s ProvisionProductOutput) GoString() string {
18965	return s.String()
18966}
18967
18968// SetRecordDetail sets the RecordDetail field's value.
18969func (s *ProvisionProductOutput) SetRecordDetail(v *RecordDetail) *ProvisionProductOutput {
18970	s.RecordDetail = v
18971	return s
18972}
18973
18974// Information about a provisioned product.
18975type ProvisionedProductAttribute struct {
18976	_ struct{} `type:"structure"`
18977
18978	// The ARN of the provisioned product.
18979	Arn *string `min:"1" type:"string"`
18980
18981	// The UTC time stamp of the creation time.
18982	CreatedTime *time.Time `type:"timestamp"`
18983
18984	// The identifier of the provisioned product.
18985	Id *string `min:"1" type:"string"`
18986
18987	// A unique identifier that you provide to ensure idempotency. If multiple requests
18988	// differ only by the idempotency token, the same response is returned for each
18989	// repeated request.
18990	IdempotencyToken *string `min:"1" type:"string"`
18991
18992	// The record identifier of the last request performed on this provisioned product
18993	// of the following types:
18994	//
18995	//    * ProvisionedProduct
18996	//
18997	//    * UpdateProvisionedProduct
18998	//
18999	//    * ExecuteProvisionedProductPlan
19000	//
19001	//    * TerminateProvisionedProduct
19002	LastProvisioningRecordId *string `min:"1" type:"string"`
19003
19004	// The record identifier of the last request performed on this provisioned product.
19005	LastRecordId *string `min:"1" type:"string"`
19006
19007	// The record identifier of the last successful request performed on this provisioned
19008	// product of the following types:
19009	//
19010	//    * ProvisionedProduct
19011	//
19012	//    * UpdateProvisionedProduct
19013	//
19014	//    * ExecuteProvisionedProductPlan
19015	//
19016	//    * TerminateProvisionedProduct
19017	LastSuccessfulProvisioningRecordId *string `min:"1" type:"string"`
19018
19019	// The user-friendly name of the provisioned product.
19020	Name *string `min:"1" type:"string"`
19021
19022	// The assigned identifier for the resource, such as an EC2 instance ID or an
19023	// S3 bucket name.
19024	PhysicalId *string `type:"string"`
19025
19026	// The product identifier.
19027	ProductId *string `min:"1" type:"string"`
19028
19029	// The name of the product.
19030	ProductName *string `type:"string"`
19031
19032	// The identifier of the provisioning artifact.
19033	ProvisioningArtifactId *string `min:"1" type:"string"`
19034
19035	// The name of the provisioning artifact.
19036	ProvisioningArtifactName *string `type:"string"`
19037
19038	// The current status of the provisioned product.
19039	//
19040	//    * AVAILABLE - Stable state, ready to perform any operation. The most recent
19041	//    operation succeeded and completed.
19042	//
19043	//    * UNDER_CHANGE - Transitive state. Operations performed might not have
19044	//    valid results. Wait for an AVAILABLE status before performing operations.
19045	//
19046	//    * TAINTED - Stable state, ready to perform any operation. The stack has
19047	//    completed the requested operation but is not exactly what was requested.
19048	//    For example, a request to update to a new version failed and the stack
19049	//    rolled back to the current version.
19050	//
19051	//    * ERROR - An unexpected error occurred. The provisioned product exists
19052	//    but the stack is not running. For example, CloudFormation received a parameter
19053	//    value that was not valid and could not launch the stack.
19054	//
19055	//    * PLAN_IN_PROGRESS - Transitive state. The plan operations were performed
19056	//    to provision a new product, but resources have not yet been created. After
19057	//    reviewing the list of resources to be created, execute the plan. Wait
19058	//    for an AVAILABLE status before performing operations.
19059	Status *string `type:"string" enum:"ProvisionedProductStatus"`
19060
19061	// The current status message of the provisioned product.
19062	StatusMessage *string `type:"string"`
19063
19064	// One or more tags.
19065	Tags []*Tag `type:"list"`
19066
19067	// The type of provisioned product. The supported values are CFN_STACK and CFN_STACKSET.
19068	Type *string `type:"string"`
19069
19070	// The Amazon Resource Name (ARN) of the IAM user.
19071	UserArn *string `type:"string"`
19072
19073	// The ARN of the IAM user in the session. This ARN might contain a session
19074	// ID.
19075	UserArnSession *string `type:"string"`
19076}
19077
19078// String returns the string representation.
19079//
19080// API parameter values that are decorated as "sensitive" in the API will not
19081// be included in the string output. The member name will be present, but the
19082// value will be replaced with "sensitive".
19083func (s ProvisionedProductAttribute) String() string {
19084	return awsutil.Prettify(s)
19085}
19086
19087// GoString returns the string representation.
19088//
19089// API parameter values that are decorated as "sensitive" in the API will not
19090// be included in the string output. The member name will be present, but the
19091// value will be replaced with "sensitive".
19092func (s ProvisionedProductAttribute) GoString() string {
19093	return s.String()
19094}
19095
19096// SetArn sets the Arn field's value.
19097func (s *ProvisionedProductAttribute) SetArn(v string) *ProvisionedProductAttribute {
19098	s.Arn = &v
19099	return s
19100}
19101
19102// SetCreatedTime sets the CreatedTime field's value.
19103func (s *ProvisionedProductAttribute) SetCreatedTime(v time.Time) *ProvisionedProductAttribute {
19104	s.CreatedTime = &v
19105	return s
19106}
19107
19108// SetId sets the Id field's value.
19109func (s *ProvisionedProductAttribute) SetId(v string) *ProvisionedProductAttribute {
19110	s.Id = &v
19111	return s
19112}
19113
19114// SetIdempotencyToken sets the IdempotencyToken field's value.
19115func (s *ProvisionedProductAttribute) SetIdempotencyToken(v string) *ProvisionedProductAttribute {
19116	s.IdempotencyToken = &v
19117	return s
19118}
19119
19120// SetLastProvisioningRecordId sets the LastProvisioningRecordId field's value.
19121func (s *ProvisionedProductAttribute) SetLastProvisioningRecordId(v string) *ProvisionedProductAttribute {
19122	s.LastProvisioningRecordId = &v
19123	return s
19124}
19125
19126// SetLastRecordId sets the LastRecordId field's value.
19127func (s *ProvisionedProductAttribute) SetLastRecordId(v string) *ProvisionedProductAttribute {
19128	s.LastRecordId = &v
19129	return s
19130}
19131
19132// SetLastSuccessfulProvisioningRecordId sets the LastSuccessfulProvisioningRecordId field's value.
19133func (s *ProvisionedProductAttribute) SetLastSuccessfulProvisioningRecordId(v string) *ProvisionedProductAttribute {
19134	s.LastSuccessfulProvisioningRecordId = &v
19135	return s
19136}
19137
19138// SetName sets the Name field's value.
19139func (s *ProvisionedProductAttribute) SetName(v string) *ProvisionedProductAttribute {
19140	s.Name = &v
19141	return s
19142}
19143
19144// SetPhysicalId sets the PhysicalId field's value.
19145func (s *ProvisionedProductAttribute) SetPhysicalId(v string) *ProvisionedProductAttribute {
19146	s.PhysicalId = &v
19147	return s
19148}
19149
19150// SetProductId sets the ProductId field's value.
19151func (s *ProvisionedProductAttribute) SetProductId(v string) *ProvisionedProductAttribute {
19152	s.ProductId = &v
19153	return s
19154}
19155
19156// SetProductName sets the ProductName field's value.
19157func (s *ProvisionedProductAttribute) SetProductName(v string) *ProvisionedProductAttribute {
19158	s.ProductName = &v
19159	return s
19160}
19161
19162// SetProvisioningArtifactId sets the ProvisioningArtifactId field's value.
19163func (s *ProvisionedProductAttribute) SetProvisioningArtifactId(v string) *ProvisionedProductAttribute {
19164	s.ProvisioningArtifactId = &v
19165	return s
19166}
19167
19168// SetProvisioningArtifactName sets the ProvisioningArtifactName field's value.
19169func (s *ProvisionedProductAttribute) SetProvisioningArtifactName(v string) *ProvisionedProductAttribute {
19170	s.ProvisioningArtifactName = &v
19171	return s
19172}
19173
19174// SetStatus sets the Status field's value.
19175func (s *ProvisionedProductAttribute) SetStatus(v string) *ProvisionedProductAttribute {
19176	s.Status = &v
19177	return s
19178}
19179
19180// SetStatusMessage sets the StatusMessage field's value.
19181func (s *ProvisionedProductAttribute) SetStatusMessage(v string) *ProvisionedProductAttribute {
19182	s.StatusMessage = &v
19183	return s
19184}
19185
19186// SetTags sets the Tags field's value.
19187func (s *ProvisionedProductAttribute) SetTags(v []*Tag) *ProvisionedProductAttribute {
19188	s.Tags = v
19189	return s
19190}
19191
19192// SetType sets the Type field's value.
19193func (s *ProvisionedProductAttribute) SetType(v string) *ProvisionedProductAttribute {
19194	s.Type = &v
19195	return s
19196}
19197
19198// SetUserArn sets the UserArn field's value.
19199func (s *ProvisionedProductAttribute) SetUserArn(v string) *ProvisionedProductAttribute {
19200	s.UserArn = &v
19201	return s
19202}
19203
19204// SetUserArnSession sets the UserArnSession field's value.
19205func (s *ProvisionedProductAttribute) SetUserArnSession(v string) *ProvisionedProductAttribute {
19206	s.UserArnSession = &v
19207	return s
19208}
19209
19210// Information about a provisioned product.
19211type ProvisionedProductDetail struct {
19212	_ struct{} `type:"structure"`
19213
19214	// The ARN of the provisioned product.
19215	Arn *string `min:"1" type:"string"`
19216
19217	// The UTC time stamp of the creation time.
19218	CreatedTime *time.Time `type:"timestamp"`
19219
19220	// The identifier of the provisioned product.
19221	Id *string `type:"string"`
19222
19223	// A unique identifier that you provide to ensure idempotency. If multiple requests
19224	// differ only by the idempotency token, the same response is returned for each
19225	// repeated request.
19226	IdempotencyToken *string `min:"1" type:"string"`
19227
19228	// The record identifier of the last request performed on this provisioned product
19229	// of the following types:
19230	//
19231	//    * ProvisionedProduct
19232	//
19233	//    * UpdateProvisionedProduct
19234	//
19235	//    * ExecuteProvisionedProductPlan
19236	//
19237	//    * TerminateProvisionedProduct
19238	LastProvisioningRecordId *string `min:"1" type:"string"`
19239
19240	// The record identifier of the last request performed on this provisioned product.
19241	LastRecordId *string `type:"string"`
19242
19243	// The record identifier of the last successful request performed on this provisioned
19244	// product of the following types:
19245	//
19246	//    * ProvisionedProduct
19247	//
19248	//    * UpdateProvisionedProduct
19249	//
19250	//    * ExecuteProvisionedProductPlan
19251	//
19252	//    * TerminateProvisionedProduct
19253	LastSuccessfulProvisioningRecordId *string `min:"1" type:"string"`
19254
19255	// The ARN of the launch role associated with the provisioned product.
19256	LaunchRoleArn *string `min:"1" type:"string"`
19257
19258	// The user-friendly name of the provisioned product.
19259	Name *string `min:"1" type:"string"`
19260
19261	// The product identifier. For example, prod-abcdzk7xy33qa.
19262	ProductId *string `min:"1" type:"string"`
19263
19264	// The identifier of the provisioning artifact. For example, pa-4abcdjnxjj6ne.
19265	ProvisioningArtifactId *string `min:"1" type:"string"`
19266
19267	// The current status of the provisioned product.
19268	//
19269	//    * AVAILABLE - Stable state, ready to perform any operation. The most recent
19270	//    operation succeeded and completed.
19271	//
19272	//    * UNDER_CHANGE - Transitive state. Operations performed might not have
19273	//    valid results. Wait for an AVAILABLE status before performing operations.
19274	//
19275	//    * TAINTED - Stable state, ready to perform any operation. The stack has
19276	//    completed the requested operation but is not exactly what was requested.
19277	//    For example, a request to update to a new version failed and the stack
19278	//    rolled back to the current version.
19279	//
19280	//    * ERROR - An unexpected error occurred. The provisioned product exists
19281	//    but the stack is not running. For example, CloudFormation received a parameter
19282	//    value that was not valid and could not launch the stack.
19283	//
19284	//    * PLAN_IN_PROGRESS - Transitive state. The plan operations were performed
19285	//    to provision a new product, but resources have not yet been created. After
19286	//    reviewing the list of resources to be created, execute the plan. Wait
19287	//    for an AVAILABLE status before performing operations.
19288	Status *string `type:"string" enum:"ProvisionedProductStatus"`
19289
19290	// The current status message of the provisioned product.
19291	StatusMessage *string `type:"string"`
19292
19293	// The type of provisioned product. The supported values are CFN_STACK and CFN_STACKSET.
19294	Type *string `type:"string"`
19295}
19296
19297// String returns the string representation.
19298//
19299// API parameter values that are decorated as "sensitive" in the API will not
19300// be included in the string output. The member name will be present, but the
19301// value will be replaced with "sensitive".
19302func (s ProvisionedProductDetail) String() string {
19303	return awsutil.Prettify(s)
19304}
19305
19306// GoString returns the string representation.
19307//
19308// API parameter values that are decorated as "sensitive" in the API will not
19309// be included in the string output. The member name will be present, but the
19310// value will be replaced with "sensitive".
19311func (s ProvisionedProductDetail) GoString() string {
19312	return s.String()
19313}
19314
19315// SetArn sets the Arn field's value.
19316func (s *ProvisionedProductDetail) SetArn(v string) *ProvisionedProductDetail {
19317	s.Arn = &v
19318	return s
19319}
19320
19321// SetCreatedTime sets the CreatedTime field's value.
19322func (s *ProvisionedProductDetail) SetCreatedTime(v time.Time) *ProvisionedProductDetail {
19323	s.CreatedTime = &v
19324	return s
19325}
19326
19327// SetId sets the Id field's value.
19328func (s *ProvisionedProductDetail) SetId(v string) *ProvisionedProductDetail {
19329	s.Id = &v
19330	return s
19331}
19332
19333// SetIdempotencyToken sets the IdempotencyToken field's value.
19334func (s *ProvisionedProductDetail) SetIdempotencyToken(v string) *ProvisionedProductDetail {
19335	s.IdempotencyToken = &v
19336	return s
19337}
19338
19339// SetLastProvisioningRecordId sets the LastProvisioningRecordId field's value.
19340func (s *ProvisionedProductDetail) SetLastProvisioningRecordId(v string) *ProvisionedProductDetail {
19341	s.LastProvisioningRecordId = &v
19342	return s
19343}
19344
19345// SetLastRecordId sets the LastRecordId field's value.
19346func (s *ProvisionedProductDetail) SetLastRecordId(v string) *ProvisionedProductDetail {
19347	s.LastRecordId = &v
19348	return s
19349}
19350
19351// SetLastSuccessfulProvisioningRecordId sets the LastSuccessfulProvisioningRecordId field's value.
19352func (s *ProvisionedProductDetail) SetLastSuccessfulProvisioningRecordId(v string) *ProvisionedProductDetail {
19353	s.LastSuccessfulProvisioningRecordId = &v
19354	return s
19355}
19356
19357// SetLaunchRoleArn sets the LaunchRoleArn field's value.
19358func (s *ProvisionedProductDetail) SetLaunchRoleArn(v string) *ProvisionedProductDetail {
19359	s.LaunchRoleArn = &v
19360	return s
19361}
19362
19363// SetName sets the Name field's value.
19364func (s *ProvisionedProductDetail) SetName(v string) *ProvisionedProductDetail {
19365	s.Name = &v
19366	return s
19367}
19368
19369// SetProductId sets the ProductId field's value.
19370func (s *ProvisionedProductDetail) SetProductId(v string) *ProvisionedProductDetail {
19371	s.ProductId = &v
19372	return s
19373}
19374
19375// SetProvisioningArtifactId sets the ProvisioningArtifactId field's value.
19376func (s *ProvisionedProductDetail) SetProvisioningArtifactId(v string) *ProvisionedProductDetail {
19377	s.ProvisioningArtifactId = &v
19378	return s
19379}
19380
19381// SetStatus sets the Status field's value.
19382func (s *ProvisionedProductDetail) SetStatus(v string) *ProvisionedProductDetail {
19383	s.Status = &v
19384	return s
19385}
19386
19387// SetStatusMessage sets the StatusMessage field's value.
19388func (s *ProvisionedProductDetail) SetStatusMessage(v string) *ProvisionedProductDetail {
19389	s.StatusMessage = &v
19390	return s
19391}
19392
19393// SetType sets the Type field's value.
19394func (s *ProvisionedProductDetail) SetType(v string) *ProvisionedProductDetail {
19395	s.Type = &v
19396	return s
19397}
19398
19399// Information about a plan.
19400type ProvisionedProductPlanDetails struct {
19401	_ struct{} `type:"structure"`
19402
19403	// The UTC time stamp of the creation time.
19404	CreatedTime *time.Time `type:"timestamp"`
19405
19406	// Passed to CloudFormation. The SNS topic ARNs to which to publish stack-related
19407	// events.
19408	NotificationArns []*string `type:"list"`
19409
19410	// The path identifier of the product. This value is optional if the product
19411	// has a default path, and required if the product has more than one path. To
19412	// list the paths for a product, use ListLaunchPaths.
19413	PathId *string `min:"1" type:"string"`
19414
19415	// The plan identifier.
19416	PlanId *string `min:"1" type:"string"`
19417
19418	// The name of the plan.
19419	PlanName *string `type:"string"`
19420
19421	// The plan type.
19422	PlanType *string `type:"string" enum:"ProvisionedProductPlanType"`
19423
19424	// The product identifier.
19425	ProductId *string `min:"1" type:"string"`
19426
19427	// The product identifier.
19428	ProvisionProductId *string `min:"1" type:"string"`
19429
19430	// The user-friendly name of the provisioned product.
19431	ProvisionProductName *string `min:"1" type:"string"`
19432
19433	// The identifier of the provisioning artifact.
19434	ProvisioningArtifactId *string `min:"1" type:"string"`
19435
19436	// Parameters specified by the administrator that are required for provisioning
19437	// the product.
19438	ProvisioningParameters []*UpdateProvisioningParameter `type:"list"`
19439
19440	// The status.
19441	Status *string `type:"string" enum:"ProvisionedProductPlanStatus"`
19442
19443	// The status message.
19444	StatusMessage *string `type:"string"`
19445
19446	// One or more tags.
19447	Tags []*Tag `type:"list"`
19448
19449	// The time when the plan was last updated.
19450	UpdatedTime *time.Time `type:"timestamp"`
19451}
19452
19453// String returns the string representation.
19454//
19455// API parameter values that are decorated as "sensitive" in the API will not
19456// be included in the string output. The member name will be present, but the
19457// value will be replaced with "sensitive".
19458func (s ProvisionedProductPlanDetails) String() string {
19459	return awsutil.Prettify(s)
19460}
19461
19462// GoString returns the string representation.
19463//
19464// API parameter values that are decorated as "sensitive" in the API will not
19465// be included in the string output. The member name will be present, but the
19466// value will be replaced with "sensitive".
19467func (s ProvisionedProductPlanDetails) GoString() string {
19468	return s.String()
19469}
19470
19471// SetCreatedTime sets the CreatedTime field's value.
19472func (s *ProvisionedProductPlanDetails) SetCreatedTime(v time.Time) *ProvisionedProductPlanDetails {
19473	s.CreatedTime = &v
19474	return s
19475}
19476
19477// SetNotificationArns sets the NotificationArns field's value.
19478func (s *ProvisionedProductPlanDetails) SetNotificationArns(v []*string) *ProvisionedProductPlanDetails {
19479	s.NotificationArns = v
19480	return s
19481}
19482
19483// SetPathId sets the PathId field's value.
19484func (s *ProvisionedProductPlanDetails) SetPathId(v string) *ProvisionedProductPlanDetails {
19485	s.PathId = &v
19486	return s
19487}
19488
19489// SetPlanId sets the PlanId field's value.
19490func (s *ProvisionedProductPlanDetails) SetPlanId(v string) *ProvisionedProductPlanDetails {
19491	s.PlanId = &v
19492	return s
19493}
19494
19495// SetPlanName sets the PlanName field's value.
19496func (s *ProvisionedProductPlanDetails) SetPlanName(v string) *ProvisionedProductPlanDetails {
19497	s.PlanName = &v
19498	return s
19499}
19500
19501// SetPlanType sets the PlanType field's value.
19502func (s *ProvisionedProductPlanDetails) SetPlanType(v string) *ProvisionedProductPlanDetails {
19503	s.PlanType = &v
19504	return s
19505}
19506
19507// SetProductId sets the ProductId field's value.
19508func (s *ProvisionedProductPlanDetails) SetProductId(v string) *ProvisionedProductPlanDetails {
19509	s.ProductId = &v
19510	return s
19511}
19512
19513// SetProvisionProductId sets the ProvisionProductId field's value.
19514func (s *ProvisionedProductPlanDetails) SetProvisionProductId(v string) *ProvisionedProductPlanDetails {
19515	s.ProvisionProductId = &v
19516	return s
19517}
19518
19519// SetProvisionProductName sets the ProvisionProductName field's value.
19520func (s *ProvisionedProductPlanDetails) SetProvisionProductName(v string) *ProvisionedProductPlanDetails {
19521	s.ProvisionProductName = &v
19522	return s
19523}
19524
19525// SetProvisioningArtifactId sets the ProvisioningArtifactId field's value.
19526func (s *ProvisionedProductPlanDetails) SetProvisioningArtifactId(v string) *ProvisionedProductPlanDetails {
19527	s.ProvisioningArtifactId = &v
19528	return s
19529}
19530
19531// SetProvisioningParameters sets the ProvisioningParameters field's value.
19532func (s *ProvisionedProductPlanDetails) SetProvisioningParameters(v []*UpdateProvisioningParameter) *ProvisionedProductPlanDetails {
19533	s.ProvisioningParameters = v
19534	return s
19535}
19536
19537// SetStatus sets the Status field's value.
19538func (s *ProvisionedProductPlanDetails) SetStatus(v string) *ProvisionedProductPlanDetails {
19539	s.Status = &v
19540	return s
19541}
19542
19543// SetStatusMessage sets the StatusMessage field's value.
19544func (s *ProvisionedProductPlanDetails) SetStatusMessage(v string) *ProvisionedProductPlanDetails {
19545	s.StatusMessage = &v
19546	return s
19547}
19548
19549// SetTags sets the Tags field's value.
19550func (s *ProvisionedProductPlanDetails) SetTags(v []*Tag) *ProvisionedProductPlanDetails {
19551	s.Tags = v
19552	return s
19553}
19554
19555// SetUpdatedTime sets the UpdatedTime field's value.
19556func (s *ProvisionedProductPlanDetails) SetUpdatedTime(v time.Time) *ProvisionedProductPlanDetails {
19557	s.UpdatedTime = &v
19558	return s
19559}
19560
19561// Summary information about a plan.
19562type ProvisionedProductPlanSummary struct {
19563	_ struct{} `type:"structure"`
19564
19565	// The plan identifier.
19566	PlanId *string `min:"1" type:"string"`
19567
19568	// The name of the plan.
19569	PlanName *string `type:"string"`
19570
19571	// The plan type.
19572	PlanType *string `type:"string" enum:"ProvisionedProductPlanType"`
19573
19574	// The product identifier.
19575	ProvisionProductId *string `min:"1" type:"string"`
19576
19577	// The user-friendly name of the provisioned product.
19578	ProvisionProductName *string `min:"1" type:"string"`
19579
19580	// The identifier of the provisioning artifact.
19581	ProvisioningArtifactId *string `min:"1" type:"string"`
19582}
19583
19584// String returns the string representation.
19585//
19586// API parameter values that are decorated as "sensitive" in the API will not
19587// be included in the string output. The member name will be present, but the
19588// value will be replaced with "sensitive".
19589func (s ProvisionedProductPlanSummary) String() string {
19590	return awsutil.Prettify(s)
19591}
19592
19593// GoString returns the string representation.
19594//
19595// API parameter values that are decorated as "sensitive" in the API will not
19596// be included in the string output. The member name will be present, but the
19597// value will be replaced with "sensitive".
19598func (s ProvisionedProductPlanSummary) GoString() string {
19599	return s.String()
19600}
19601
19602// SetPlanId sets the PlanId field's value.
19603func (s *ProvisionedProductPlanSummary) SetPlanId(v string) *ProvisionedProductPlanSummary {
19604	s.PlanId = &v
19605	return s
19606}
19607
19608// SetPlanName sets the PlanName field's value.
19609func (s *ProvisionedProductPlanSummary) SetPlanName(v string) *ProvisionedProductPlanSummary {
19610	s.PlanName = &v
19611	return s
19612}
19613
19614// SetPlanType sets the PlanType field's value.
19615func (s *ProvisionedProductPlanSummary) SetPlanType(v string) *ProvisionedProductPlanSummary {
19616	s.PlanType = &v
19617	return s
19618}
19619
19620// SetProvisionProductId sets the ProvisionProductId field's value.
19621func (s *ProvisionedProductPlanSummary) SetProvisionProductId(v string) *ProvisionedProductPlanSummary {
19622	s.ProvisionProductId = &v
19623	return s
19624}
19625
19626// SetProvisionProductName sets the ProvisionProductName field's value.
19627func (s *ProvisionedProductPlanSummary) SetProvisionProductName(v string) *ProvisionedProductPlanSummary {
19628	s.ProvisionProductName = &v
19629	return s
19630}
19631
19632// SetProvisioningArtifactId sets the ProvisioningArtifactId field's value.
19633func (s *ProvisionedProductPlanSummary) SetProvisioningArtifactId(v string) *ProvisionedProductPlanSummary {
19634	s.ProvisioningArtifactId = &v
19635	return s
19636}
19637
19638// Information about a provisioning artifact. A provisioning artifact is also
19639// known as a product version.
19640type ProvisioningArtifact struct {
19641	_ struct{} `type:"structure"`
19642
19643	// The UTC time stamp of the creation time.
19644	CreatedTime *time.Time `type:"timestamp"`
19645
19646	// The description of the provisioning artifact.
19647	Description *string `type:"string"`
19648
19649	// Information set by the administrator to provide guidance to end users about
19650	// which provisioning artifacts to use.
19651	Guidance *string `type:"string" enum:"ProvisioningArtifactGuidance"`
19652
19653	// The identifier of the provisioning artifact.
19654	Id *string `min:"1" type:"string"`
19655
19656	// The name of the provisioning artifact.
19657	Name *string `type:"string"`
19658}
19659
19660// String returns the string representation.
19661//
19662// API parameter values that are decorated as "sensitive" in the API will not
19663// be included in the string output. The member name will be present, but the
19664// value will be replaced with "sensitive".
19665func (s ProvisioningArtifact) String() string {
19666	return awsutil.Prettify(s)
19667}
19668
19669// GoString returns the string representation.
19670//
19671// API parameter values that are decorated as "sensitive" in the API will not
19672// be included in the string output. The member name will be present, but the
19673// value will be replaced with "sensitive".
19674func (s ProvisioningArtifact) GoString() string {
19675	return s.String()
19676}
19677
19678// SetCreatedTime sets the CreatedTime field's value.
19679func (s *ProvisioningArtifact) SetCreatedTime(v time.Time) *ProvisioningArtifact {
19680	s.CreatedTime = &v
19681	return s
19682}
19683
19684// SetDescription sets the Description field's value.
19685func (s *ProvisioningArtifact) SetDescription(v string) *ProvisioningArtifact {
19686	s.Description = &v
19687	return s
19688}
19689
19690// SetGuidance sets the Guidance field's value.
19691func (s *ProvisioningArtifact) SetGuidance(v string) *ProvisioningArtifact {
19692	s.Guidance = &v
19693	return s
19694}
19695
19696// SetId sets the Id field's value.
19697func (s *ProvisioningArtifact) SetId(v string) *ProvisioningArtifact {
19698	s.Id = &v
19699	return s
19700}
19701
19702// SetName sets the Name field's value.
19703func (s *ProvisioningArtifact) SetName(v string) *ProvisioningArtifact {
19704	s.Name = &v
19705	return s
19706}
19707
19708// Information about a provisioning artifact (also known as a version) for a
19709// product.
19710type ProvisioningArtifactDetail struct {
19711	_ struct{} `type:"structure"`
19712
19713	// Indicates whether the product version is active.
19714	Active *bool `type:"boolean"`
19715
19716	// The UTC time stamp of the creation time.
19717	CreatedTime *time.Time `type:"timestamp"`
19718
19719	// The description of the provisioning artifact.
19720	Description *string `type:"string"`
19721
19722	// Information set by the administrator to provide guidance to end users about
19723	// which provisioning artifacts to use.
19724	Guidance *string `type:"string" enum:"ProvisioningArtifactGuidance"`
19725
19726	// The identifier of the provisioning artifact.
19727	Id *string `min:"1" type:"string"`
19728
19729	// The name of the provisioning artifact.
19730	Name *string `type:"string"`
19731
19732	// The type of provisioning artifact.
19733	//
19734	//    * CLOUD_FORMATION_TEMPLATE - AWS CloudFormation template
19735	//
19736	//    * MARKETPLACE_AMI - AWS Marketplace AMI
19737	//
19738	//    * MARKETPLACE_CAR - AWS Marketplace Clusters and AWS Resources
19739	Type *string `type:"string" enum:"ProvisioningArtifactType"`
19740}
19741
19742// String returns the string representation.
19743//
19744// API parameter values that are decorated as "sensitive" in the API will not
19745// be included in the string output. The member name will be present, but the
19746// value will be replaced with "sensitive".
19747func (s ProvisioningArtifactDetail) String() string {
19748	return awsutil.Prettify(s)
19749}
19750
19751// GoString returns the string representation.
19752//
19753// API parameter values that are decorated as "sensitive" in the API will not
19754// be included in the string output. The member name will be present, but the
19755// value will be replaced with "sensitive".
19756func (s ProvisioningArtifactDetail) GoString() string {
19757	return s.String()
19758}
19759
19760// SetActive sets the Active field's value.
19761func (s *ProvisioningArtifactDetail) SetActive(v bool) *ProvisioningArtifactDetail {
19762	s.Active = &v
19763	return s
19764}
19765
19766// SetCreatedTime sets the CreatedTime field's value.
19767func (s *ProvisioningArtifactDetail) SetCreatedTime(v time.Time) *ProvisioningArtifactDetail {
19768	s.CreatedTime = &v
19769	return s
19770}
19771
19772// SetDescription sets the Description field's value.
19773func (s *ProvisioningArtifactDetail) SetDescription(v string) *ProvisioningArtifactDetail {
19774	s.Description = &v
19775	return s
19776}
19777
19778// SetGuidance sets the Guidance field's value.
19779func (s *ProvisioningArtifactDetail) SetGuidance(v string) *ProvisioningArtifactDetail {
19780	s.Guidance = &v
19781	return s
19782}
19783
19784// SetId sets the Id field's value.
19785func (s *ProvisioningArtifactDetail) SetId(v string) *ProvisioningArtifactDetail {
19786	s.Id = &v
19787	return s
19788}
19789
19790// SetName sets the Name field's value.
19791func (s *ProvisioningArtifactDetail) SetName(v string) *ProvisioningArtifactDetail {
19792	s.Name = &v
19793	return s
19794}
19795
19796// SetType sets the Type field's value.
19797func (s *ProvisioningArtifactDetail) SetType(v string) *ProvisioningArtifactDetail {
19798	s.Type = &v
19799	return s
19800}
19801
19802// Provisioning artifact output.
19803type ProvisioningArtifactOutput struct {
19804	_ struct{} `type:"structure"`
19805
19806	// Description of the provisioning artifact output key.
19807	Description *string `type:"string"`
19808
19809	// The provisioning artifact output key.
19810	Key *string `min:"1" type:"string"`
19811}
19812
19813// String returns the string representation.
19814//
19815// API parameter values that are decorated as "sensitive" in the API will not
19816// be included in the string output. The member name will be present, but the
19817// value will be replaced with "sensitive".
19818func (s ProvisioningArtifactOutput) String() string {
19819	return awsutil.Prettify(s)
19820}
19821
19822// GoString returns the string representation.
19823//
19824// API parameter values that are decorated as "sensitive" in the API will not
19825// be included in the string output. The member name will be present, but the
19826// value will be replaced with "sensitive".
19827func (s ProvisioningArtifactOutput) GoString() string {
19828	return s.String()
19829}
19830
19831// SetDescription sets the Description field's value.
19832func (s *ProvisioningArtifactOutput) SetDescription(v string) *ProvisioningArtifactOutput {
19833	s.Description = &v
19834	return s
19835}
19836
19837// SetKey sets the Key field's value.
19838func (s *ProvisioningArtifactOutput) SetKey(v string) *ProvisioningArtifactOutput {
19839	s.Key = &v
19840	return s
19841}
19842
19843// Information about a parameter used to provision a product.
19844type ProvisioningArtifactParameter struct {
19845	_ struct{} `type:"structure"`
19846
19847	// The default value.
19848	DefaultValue *string `type:"string"`
19849
19850	// The description of the parameter.
19851	Description *string `type:"string"`
19852
19853	// If this value is true, the value for this parameter is obfuscated from view
19854	// when the parameter is retrieved. This parameter is used to hide sensitive
19855	// information.
19856	IsNoEcho *bool `type:"boolean"`
19857
19858	// Constraints that the administrator has put on a parameter.
19859	ParameterConstraints *ParameterConstraints `type:"structure"`
19860
19861	// The parameter key.
19862	ParameterKey *string `min:"1" type:"string"`
19863
19864	// The parameter type.
19865	ParameterType *string `type:"string"`
19866}
19867
19868// String returns the string representation.
19869//
19870// API parameter values that are decorated as "sensitive" in the API will not
19871// be included in the string output. The member name will be present, but the
19872// value will be replaced with "sensitive".
19873func (s ProvisioningArtifactParameter) String() string {
19874	return awsutil.Prettify(s)
19875}
19876
19877// GoString returns the string representation.
19878//
19879// API parameter values that are decorated as "sensitive" in the API will not
19880// be included in the string output. The member name will be present, but the
19881// value will be replaced with "sensitive".
19882func (s ProvisioningArtifactParameter) GoString() string {
19883	return s.String()
19884}
19885
19886// SetDefaultValue sets the DefaultValue field's value.
19887func (s *ProvisioningArtifactParameter) SetDefaultValue(v string) *ProvisioningArtifactParameter {
19888	s.DefaultValue = &v
19889	return s
19890}
19891
19892// SetDescription sets the Description field's value.
19893func (s *ProvisioningArtifactParameter) SetDescription(v string) *ProvisioningArtifactParameter {
19894	s.Description = &v
19895	return s
19896}
19897
19898// SetIsNoEcho sets the IsNoEcho field's value.
19899func (s *ProvisioningArtifactParameter) SetIsNoEcho(v bool) *ProvisioningArtifactParameter {
19900	s.IsNoEcho = &v
19901	return s
19902}
19903
19904// SetParameterConstraints sets the ParameterConstraints field's value.
19905func (s *ProvisioningArtifactParameter) SetParameterConstraints(v *ParameterConstraints) *ProvisioningArtifactParameter {
19906	s.ParameterConstraints = v
19907	return s
19908}
19909
19910// SetParameterKey sets the ParameterKey field's value.
19911func (s *ProvisioningArtifactParameter) SetParameterKey(v string) *ProvisioningArtifactParameter {
19912	s.ParameterKey = &v
19913	return s
19914}
19915
19916// SetParameterType sets the ParameterType field's value.
19917func (s *ProvisioningArtifactParameter) SetParameterType(v string) *ProvisioningArtifactParameter {
19918	s.ParameterType = &v
19919	return s
19920}
19921
19922// The user-defined preferences that will be applied during product provisioning,
19923// unless overridden by ProvisioningPreferences or UpdateProvisioningPreferences.
19924//
19925// For more information on maximum concurrent accounts and failure tolerance,
19926// see Stack set operation options (https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/stacksets-concepts.html#stackset-ops-options)
19927// in the AWS CloudFormation User Guide.
19928type ProvisioningArtifactPreferences struct {
19929	_ struct{} `type:"structure"`
19930
19931	// One or more AWS accounts where stack instances are deployed from the stack
19932	// set. These accounts can be scoped in ProvisioningPreferences$StackSetAccounts
19933	// and UpdateProvisioningPreferences$StackSetAccounts.
19934	//
19935	// Applicable only to a CFN_STACKSET provisioned product type.
19936	StackSetAccounts []*string `type:"list"`
19937
19938	// One or more AWS Regions where stack instances are deployed from the stack
19939	// set. These regions can be scoped in ProvisioningPreferences$StackSetRegions
19940	// and UpdateProvisioningPreferences$StackSetRegions.
19941	//
19942	// Applicable only to a CFN_STACKSET provisioned product type.
19943	StackSetRegions []*string `type:"list"`
19944}
19945
19946// String returns the string representation.
19947//
19948// API parameter values that are decorated as "sensitive" in the API will not
19949// be included in the string output. The member name will be present, but the
19950// value will be replaced with "sensitive".
19951func (s ProvisioningArtifactPreferences) String() string {
19952	return awsutil.Prettify(s)
19953}
19954
19955// GoString returns the string representation.
19956//
19957// API parameter values that are decorated as "sensitive" in the API will not
19958// be included in the string output. The member name will be present, but the
19959// value will be replaced with "sensitive".
19960func (s ProvisioningArtifactPreferences) GoString() string {
19961	return s.String()
19962}
19963
19964// SetStackSetAccounts sets the StackSetAccounts field's value.
19965func (s *ProvisioningArtifactPreferences) SetStackSetAccounts(v []*string) *ProvisioningArtifactPreferences {
19966	s.StackSetAccounts = v
19967	return s
19968}
19969
19970// SetStackSetRegions sets the StackSetRegions field's value.
19971func (s *ProvisioningArtifactPreferences) SetStackSetRegions(v []*string) *ProvisioningArtifactPreferences {
19972	s.StackSetRegions = v
19973	return s
19974}
19975
19976// Information about a provisioning artifact (also known as a version) for a
19977// product.
19978type ProvisioningArtifactProperties struct {
19979	_ struct{} `type:"structure"`
19980
19981	// The description of the provisioning artifact, including how it differs from
19982	// the previous provisioning artifact.
19983	Description *string `type:"string"`
19984
19985	// If set to true, AWS Service Catalog stops validating the specified provisioning
19986	// artifact even if it is invalid.
19987	DisableTemplateValidation *bool `type:"boolean"`
19988
19989	// Specify the template source with one of the following options, but not both.
19990	// Keys accepted: [ LoadTemplateFromURL, ImportFromPhysicalId ]
19991	//
19992	// The URL of the CloudFormation template in Amazon S3. Specify the URL in JSON
19993	// format as follows:
19994	//
19995	// "LoadTemplateFromURL": "https://s3.amazonaws.com/cf-templates-ozkq9d3hgiq2-us-east-1/..."
19996	//
19997	// ImportFromPhysicalId: The physical id of the resource that contains the template.
19998	// Currently only supports CloudFormation stack arn. Specify the physical id
19999	// in JSON format as follows: ImportFromPhysicalId: “arn:aws:cloudformation:[us-east-1]:[accountId]:stack/[StackName]/[resourceId]
20000	//
20001	// Info is a required field
20002	Info map[string]*string `min:"1" type:"map" required:"true"`
20003
20004	// The name of the provisioning artifact (for example, v1 v2beta). No spaces
20005	// are allowed.
20006	Name *string `type:"string"`
20007
20008	// The type of provisioning artifact.
20009	//
20010	//    * CLOUD_FORMATION_TEMPLATE - AWS CloudFormation template
20011	//
20012	//    * MARKETPLACE_AMI - AWS Marketplace AMI
20013	//
20014	//    * MARKETPLACE_CAR - AWS Marketplace Clusters and AWS Resources
20015	Type *string `type:"string" enum:"ProvisioningArtifactType"`
20016}
20017
20018// String returns the string representation.
20019//
20020// API parameter values that are decorated as "sensitive" in the API will not
20021// be included in the string output. The member name will be present, but the
20022// value will be replaced with "sensitive".
20023func (s ProvisioningArtifactProperties) String() string {
20024	return awsutil.Prettify(s)
20025}
20026
20027// GoString returns the string representation.
20028//
20029// API parameter values that are decorated as "sensitive" in the API will not
20030// be included in the string output. The member name will be present, but the
20031// value will be replaced with "sensitive".
20032func (s ProvisioningArtifactProperties) GoString() string {
20033	return s.String()
20034}
20035
20036// Validate inspects the fields of the type to determine if they are valid.
20037func (s *ProvisioningArtifactProperties) Validate() error {
20038	invalidParams := request.ErrInvalidParams{Context: "ProvisioningArtifactProperties"}
20039	if s.Info == nil {
20040		invalidParams.Add(request.NewErrParamRequired("Info"))
20041	}
20042	if s.Info != nil && len(s.Info) < 1 {
20043		invalidParams.Add(request.NewErrParamMinLen("Info", 1))
20044	}
20045
20046	if invalidParams.Len() > 0 {
20047		return invalidParams
20048	}
20049	return nil
20050}
20051
20052// SetDescription sets the Description field's value.
20053func (s *ProvisioningArtifactProperties) SetDescription(v string) *ProvisioningArtifactProperties {
20054	s.Description = &v
20055	return s
20056}
20057
20058// SetDisableTemplateValidation sets the DisableTemplateValidation field's value.
20059func (s *ProvisioningArtifactProperties) SetDisableTemplateValidation(v bool) *ProvisioningArtifactProperties {
20060	s.DisableTemplateValidation = &v
20061	return s
20062}
20063
20064// SetInfo sets the Info field's value.
20065func (s *ProvisioningArtifactProperties) SetInfo(v map[string]*string) *ProvisioningArtifactProperties {
20066	s.Info = v
20067	return s
20068}
20069
20070// SetName sets the Name field's value.
20071func (s *ProvisioningArtifactProperties) SetName(v string) *ProvisioningArtifactProperties {
20072	s.Name = &v
20073	return s
20074}
20075
20076// SetType sets the Type field's value.
20077func (s *ProvisioningArtifactProperties) SetType(v string) *ProvisioningArtifactProperties {
20078	s.Type = &v
20079	return s
20080}
20081
20082// Summary information about a provisioning artifact (also known as a version)
20083// for a product.
20084type ProvisioningArtifactSummary struct {
20085	_ struct{} `type:"structure"`
20086
20087	// The UTC time stamp of the creation time.
20088	CreatedTime *time.Time `type:"timestamp"`
20089
20090	// The description of the provisioning artifact.
20091	Description *string `type:"string"`
20092
20093	// The identifier of the provisioning artifact.
20094	Id *string `min:"1" type:"string"`
20095
20096	// The name of the provisioning artifact.
20097	Name *string `type:"string"`
20098
20099	// The metadata for the provisioning artifact. This is used with AWS Marketplace
20100	// products.
20101	ProvisioningArtifactMetadata map[string]*string `min:"1" type:"map"`
20102}
20103
20104// String returns the string representation.
20105//
20106// API parameter values that are decorated as "sensitive" in the API will not
20107// be included in the string output. The member name will be present, but the
20108// value will be replaced with "sensitive".
20109func (s ProvisioningArtifactSummary) String() string {
20110	return awsutil.Prettify(s)
20111}
20112
20113// GoString returns the string representation.
20114//
20115// API parameter values that are decorated as "sensitive" in the API will not
20116// be included in the string output. The member name will be present, but the
20117// value will be replaced with "sensitive".
20118func (s ProvisioningArtifactSummary) GoString() string {
20119	return s.String()
20120}
20121
20122// SetCreatedTime sets the CreatedTime field's value.
20123func (s *ProvisioningArtifactSummary) SetCreatedTime(v time.Time) *ProvisioningArtifactSummary {
20124	s.CreatedTime = &v
20125	return s
20126}
20127
20128// SetDescription sets the Description field's value.
20129func (s *ProvisioningArtifactSummary) SetDescription(v string) *ProvisioningArtifactSummary {
20130	s.Description = &v
20131	return s
20132}
20133
20134// SetId sets the Id field's value.
20135func (s *ProvisioningArtifactSummary) SetId(v string) *ProvisioningArtifactSummary {
20136	s.Id = &v
20137	return s
20138}
20139
20140// SetName sets the Name field's value.
20141func (s *ProvisioningArtifactSummary) SetName(v string) *ProvisioningArtifactSummary {
20142	s.Name = &v
20143	return s
20144}
20145
20146// SetProvisioningArtifactMetadata sets the ProvisioningArtifactMetadata field's value.
20147func (s *ProvisioningArtifactSummary) SetProvisioningArtifactMetadata(v map[string]*string) *ProvisioningArtifactSummary {
20148	s.ProvisioningArtifactMetadata = v
20149	return s
20150}
20151
20152// An object that contains summary information about a product view and a provisioning
20153// artifact.
20154type ProvisioningArtifactView struct {
20155	_ struct{} `type:"structure"`
20156
20157	// Summary information about a product view.
20158	ProductViewSummary *ProductViewSummary `type:"structure"`
20159
20160	// Information about a provisioning artifact. A provisioning artifact is also
20161	// known as a product version.
20162	ProvisioningArtifact *ProvisioningArtifact `type:"structure"`
20163}
20164
20165// String returns the string representation.
20166//
20167// API parameter values that are decorated as "sensitive" in the API will not
20168// be included in the string output. The member name will be present, but the
20169// value will be replaced with "sensitive".
20170func (s ProvisioningArtifactView) String() string {
20171	return awsutil.Prettify(s)
20172}
20173
20174// GoString returns the string representation.
20175//
20176// API parameter values that are decorated as "sensitive" in the API will not
20177// be included in the string output. The member name will be present, but the
20178// value will be replaced with "sensitive".
20179func (s ProvisioningArtifactView) GoString() string {
20180	return s.String()
20181}
20182
20183// SetProductViewSummary sets the ProductViewSummary field's value.
20184func (s *ProvisioningArtifactView) SetProductViewSummary(v *ProductViewSummary) *ProvisioningArtifactView {
20185	s.ProductViewSummary = v
20186	return s
20187}
20188
20189// SetProvisioningArtifact sets the ProvisioningArtifact field's value.
20190func (s *ProvisioningArtifactView) SetProvisioningArtifact(v *ProvisioningArtifact) *ProvisioningArtifactView {
20191	s.ProvisioningArtifact = v
20192	return s
20193}
20194
20195// Information about a parameter used to provision a product.
20196type ProvisioningParameter struct {
20197	_ struct{} `type:"structure"`
20198
20199	// The parameter key.
20200	Key *string `min:"1" type:"string"`
20201
20202	// The parameter value.
20203	Value *string `type:"string"`
20204}
20205
20206// String returns the string representation.
20207//
20208// API parameter values that are decorated as "sensitive" in the API will not
20209// be included in the string output. The member name will be present, but the
20210// value will be replaced with "sensitive".
20211func (s ProvisioningParameter) String() string {
20212	return awsutil.Prettify(s)
20213}
20214
20215// GoString returns the string representation.
20216//
20217// API parameter values that are decorated as "sensitive" in the API will not
20218// be included in the string output. The member name will be present, but the
20219// value will be replaced with "sensitive".
20220func (s ProvisioningParameter) GoString() string {
20221	return s.String()
20222}
20223
20224// Validate inspects the fields of the type to determine if they are valid.
20225func (s *ProvisioningParameter) Validate() error {
20226	invalidParams := request.ErrInvalidParams{Context: "ProvisioningParameter"}
20227	if s.Key != nil && len(*s.Key) < 1 {
20228		invalidParams.Add(request.NewErrParamMinLen("Key", 1))
20229	}
20230
20231	if invalidParams.Len() > 0 {
20232		return invalidParams
20233	}
20234	return nil
20235}
20236
20237// SetKey sets the Key field's value.
20238func (s *ProvisioningParameter) SetKey(v string) *ProvisioningParameter {
20239	s.Key = &v
20240	return s
20241}
20242
20243// SetValue sets the Value field's value.
20244func (s *ProvisioningParameter) SetValue(v string) *ProvisioningParameter {
20245	s.Value = &v
20246	return s
20247}
20248
20249// The user-defined preferences that will be applied when updating a provisioned
20250// product. Not all preferences are applicable to all provisioned product type
20251//
20252// One or more AWS accounts that will have access to the provisioned product.
20253//
20254// Applicable only to a CFN_STACKSET provisioned product type.
20255//
20256// The AWS accounts specified should be within the list of accounts in the STACKSET
20257// constraint. To get the list of accounts in the STACKSET constraint, use the
20258// DescribeProvisioningParameters operation.
20259//
20260// If no values are specified, the default value is all accounts from the STACKSET
20261// constraint.
20262type ProvisioningPreferences struct {
20263	_ struct{} `type:"structure"`
20264
20265	// One or more AWS accounts where the provisioned product will be available.
20266	//
20267	// Applicable only to a CFN_STACKSET provisioned product type.
20268	//
20269	// The specified accounts should be within the list of accounts from the STACKSET
20270	// constraint. To get the list of accounts in the STACKSET constraint, use the
20271	// DescribeProvisioningParameters operation.
20272	//
20273	// If no values are specified, the default value is all acounts from the STACKSET
20274	// constraint.
20275	StackSetAccounts []*string `type:"list"`
20276
20277	// The number of accounts, per region, for which this operation can fail before
20278	// AWS Service Catalog stops the operation in that region. If the operation
20279	// is stopped in a region, AWS Service Catalog doesn't attempt the operation
20280	// in any subsequent regions.
20281	//
20282	// Applicable only to a CFN_STACKSET provisioned product type.
20283	//
20284	// Conditional: You must specify either StackSetFailureToleranceCount or StackSetFailureTolerancePercentage,
20285	// but not both.
20286	//
20287	// The default value is 0 if no value is specified.
20288	StackSetFailureToleranceCount *int64 `type:"integer"`
20289
20290	// The percentage of accounts, per region, for which this stack operation can
20291	// fail before AWS Service Catalog stops the operation in that region. If the
20292	// operation is stopped in a region, AWS Service Catalog doesn't attempt the
20293	// operation in any subsequent regions.
20294	//
20295	// When calculating the number of accounts based on the specified percentage,
20296	// AWS Service Catalog rounds down to the next whole number.
20297	//
20298	// Applicable only to a CFN_STACKSET provisioned product type.
20299	//
20300	// Conditional: You must specify either StackSetFailureToleranceCount or StackSetFailureTolerancePercentage,
20301	// but not both.
20302	StackSetFailureTolerancePercentage *int64 `type:"integer"`
20303
20304	// The maximum number of accounts in which to perform this operation at one
20305	// time. This is dependent on the value of StackSetFailureToleranceCount. StackSetMaxConcurrentCount
20306	// is at most one more than the StackSetFailureToleranceCount.
20307	//
20308	// Note that this setting lets you specify the maximum for operations. For large
20309	// deployments, under certain circumstances the actual number of accounts acted
20310	// upon concurrently may be lower due to service throttling.
20311	//
20312	// Applicable only to a CFN_STACKSET provisioned product type.
20313	//
20314	// Conditional: You must specify either StackSetMaxConcurrentCount or StackSetMaxConcurrentPercentage,
20315	// but not both.
20316	StackSetMaxConcurrencyCount *int64 `min:"1" type:"integer"`
20317
20318	// The maximum percentage of accounts in which to perform this operation at
20319	// one time.
20320	//
20321	// When calculating the number of accounts based on the specified percentage,
20322	// AWS Service Catalog rounds down to the next whole number. This is true except
20323	// in cases where rounding down would result is zero. In this case, AWS Service
20324	// Catalog sets the number as 1 instead.
20325	//
20326	// Note that this setting lets you specify the maximum for operations. For large
20327	// deployments, under certain circumstances the actual number of accounts acted
20328	// upon concurrently may be lower due to service throttling.
20329	//
20330	// Applicable only to a CFN_STACKSET provisioned product type.
20331	//
20332	// Conditional: You must specify either StackSetMaxConcurrentCount or StackSetMaxConcurrentPercentage,
20333	// but not both.
20334	StackSetMaxConcurrencyPercentage *int64 `min:"1" type:"integer"`
20335
20336	// One or more AWS Regions where the provisioned product will be available.
20337	//
20338	// Applicable only to a CFN_STACKSET provisioned product type.
20339	//
20340	// The specified regions should be within the list of regions from the STACKSET
20341	// constraint. To get the list of regions in the STACKSET constraint, use the
20342	// DescribeProvisioningParameters operation.
20343	//
20344	// If no values are specified, the default value is all regions from the STACKSET
20345	// constraint.
20346	StackSetRegions []*string `type:"list"`
20347}
20348
20349// String returns the string representation.
20350//
20351// API parameter values that are decorated as "sensitive" in the API will not
20352// be included in the string output. The member name will be present, but the
20353// value will be replaced with "sensitive".
20354func (s ProvisioningPreferences) String() string {
20355	return awsutil.Prettify(s)
20356}
20357
20358// GoString returns the string representation.
20359//
20360// API parameter values that are decorated as "sensitive" in the API will not
20361// be included in the string output. The member name will be present, but the
20362// value will be replaced with "sensitive".
20363func (s ProvisioningPreferences) GoString() string {
20364	return s.String()
20365}
20366
20367// Validate inspects the fields of the type to determine if they are valid.
20368func (s *ProvisioningPreferences) Validate() error {
20369	invalidParams := request.ErrInvalidParams{Context: "ProvisioningPreferences"}
20370	if s.StackSetMaxConcurrencyCount != nil && *s.StackSetMaxConcurrencyCount < 1 {
20371		invalidParams.Add(request.NewErrParamMinValue("StackSetMaxConcurrencyCount", 1))
20372	}
20373	if s.StackSetMaxConcurrencyPercentage != nil && *s.StackSetMaxConcurrencyPercentage < 1 {
20374		invalidParams.Add(request.NewErrParamMinValue("StackSetMaxConcurrencyPercentage", 1))
20375	}
20376
20377	if invalidParams.Len() > 0 {
20378		return invalidParams
20379	}
20380	return nil
20381}
20382
20383// SetStackSetAccounts sets the StackSetAccounts field's value.
20384func (s *ProvisioningPreferences) SetStackSetAccounts(v []*string) *ProvisioningPreferences {
20385	s.StackSetAccounts = v
20386	return s
20387}
20388
20389// SetStackSetFailureToleranceCount sets the StackSetFailureToleranceCount field's value.
20390func (s *ProvisioningPreferences) SetStackSetFailureToleranceCount(v int64) *ProvisioningPreferences {
20391	s.StackSetFailureToleranceCount = &v
20392	return s
20393}
20394
20395// SetStackSetFailureTolerancePercentage sets the StackSetFailureTolerancePercentage field's value.
20396func (s *ProvisioningPreferences) SetStackSetFailureTolerancePercentage(v int64) *ProvisioningPreferences {
20397	s.StackSetFailureTolerancePercentage = &v
20398	return s
20399}
20400
20401// SetStackSetMaxConcurrencyCount sets the StackSetMaxConcurrencyCount field's value.
20402func (s *ProvisioningPreferences) SetStackSetMaxConcurrencyCount(v int64) *ProvisioningPreferences {
20403	s.StackSetMaxConcurrencyCount = &v
20404	return s
20405}
20406
20407// SetStackSetMaxConcurrencyPercentage sets the StackSetMaxConcurrencyPercentage field's value.
20408func (s *ProvisioningPreferences) SetStackSetMaxConcurrencyPercentage(v int64) *ProvisioningPreferences {
20409	s.StackSetMaxConcurrencyPercentage = &v
20410	return s
20411}
20412
20413// SetStackSetRegions sets the StackSetRegions field's value.
20414func (s *ProvisioningPreferences) SetStackSetRegions(v []*string) *ProvisioningPreferences {
20415	s.StackSetRegions = v
20416	return s
20417}
20418
20419// Information about a request operation.
20420type RecordDetail struct {
20421	_ struct{} `type:"structure"`
20422
20423	// The UTC time stamp of the creation time.
20424	CreatedTime *time.Time `type:"timestamp"`
20425
20426	// The ARN of the launch role associated with the provisioned product.
20427	LaunchRoleArn *string `min:"1" type:"string"`
20428
20429	// The path identifier.
20430	PathId *string `min:"1" type:"string"`
20431
20432	// The product identifier.
20433	ProductId *string `min:"1" type:"string"`
20434
20435	// The identifier of the provisioned product.
20436	ProvisionedProductId *string `min:"1" type:"string"`
20437
20438	// The user-friendly name of the provisioned product.
20439	ProvisionedProductName *string `min:"1" type:"string"`
20440
20441	// The type of provisioned product. The supported values are CFN_STACK and CFN_STACKSET.
20442	ProvisionedProductType *string `type:"string"`
20443
20444	// The identifier of the provisioning artifact.
20445	ProvisioningArtifactId *string `min:"1" type:"string"`
20446
20447	// The errors that occurred.
20448	RecordErrors []*RecordError `type:"list"`
20449
20450	// The identifier of the record.
20451	RecordId *string `min:"1" type:"string"`
20452
20453	// One or more tags.
20454	RecordTags []*RecordTag `type:"list"`
20455
20456	// The record type.
20457	//
20458	//    * PROVISION_PRODUCT
20459	//
20460	//    * UPDATE_PROVISIONED_PRODUCT
20461	//
20462	//    * TERMINATE_PROVISIONED_PRODUCT
20463	RecordType *string `type:"string"`
20464
20465	// The status of the provisioned product.
20466	//
20467	//    * CREATED - The request was created but the operation has not started.
20468	//
20469	//    * IN_PROGRESS - The requested operation is in progress.
20470	//
20471	//    * IN_PROGRESS_IN_ERROR - The provisioned product is under change but the
20472	//    requested operation failed and some remediation is occurring. For example,
20473	//    a rollback.
20474	//
20475	//    * SUCCEEDED - The requested operation has successfully completed.
20476	//
20477	//    * FAILED - The requested operation has unsuccessfully completed. Investigate
20478	//    using the error messages returned.
20479	Status *string `type:"string" enum:"RecordStatus"`
20480
20481	// The time when the record was last updated.
20482	UpdatedTime *time.Time `type:"timestamp"`
20483}
20484
20485// String returns the string representation.
20486//
20487// API parameter values that are decorated as "sensitive" in the API will not
20488// be included in the string output. The member name will be present, but the
20489// value will be replaced with "sensitive".
20490func (s RecordDetail) String() string {
20491	return awsutil.Prettify(s)
20492}
20493
20494// GoString returns the string representation.
20495//
20496// API parameter values that are decorated as "sensitive" in the API will not
20497// be included in the string output. The member name will be present, but the
20498// value will be replaced with "sensitive".
20499func (s RecordDetail) GoString() string {
20500	return s.String()
20501}
20502
20503// SetCreatedTime sets the CreatedTime field's value.
20504func (s *RecordDetail) SetCreatedTime(v time.Time) *RecordDetail {
20505	s.CreatedTime = &v
20506	return s
20507}
20508
20509// SetLaunchRoleArn sets the LaunchRoleArn field's value.
20510func (s *RecordDetail) SetLaunchRoleArn(v string) *RecordDetail {
20511	s.LaunchRoleArn = &v
20512	return s
20513}
20514
20515// SetPathId sets the PathId field's value.
20516func (s *RecordDetail) SetPathId(v string) *RecordDetail {
20517	s.PathId = &v
20518	return s
20519}
20520
20521// SetProductId sets the ProductId field's value.
20522func (s *RecordDetail) SetProductId(v string) *RecordDetail {
20523	s.ProductId = &v
20524	return s
20525}
20526
20527// SetProvisionedProductId sets the ProvisionedProductId field's value.
20528func (s *RecordDetail) SetProvisionedProductId(v string) *RecordDetail {
20529	s.ProvisionedProductId = &v
20530	return s
20531}
20532
20533// SetProvisionedProductName sets the ProvisionedProductName field's value.
20534func (s *RecordDetail) SetProvisionedProductName(v string) *RecordDetail {
20535	s.ProvisionedProductName = &v
20536	return s
20537}
20538
20539// SetProvisionedProductType sets the ProvisionedProductType field's value.
20540func (s *RecordDetail) SetProvisionedProductType(v string) *RecordDetail {
20541	s.ProvisionedProductType = &v
20542	return s
20543}
20544
20545// SetProvisioningArtifactId sets the ProvisioningArtifactId field's value.
20546func (s *RecordDetail) SetProvisioningArtifactId(v string) *RecordDetail {
20547	s.ProvisioningArtifactId = &v
20548	return s
20549}
20550
20551// SetRecordErrors sets the RecordErrors field's value.
20552func (s *RecordDetail) SetRecordErrors(v []*RecordError) *RecordDetail {
20553	s.RecordErrors = v
20554	return s
20555}
20556
20557// SetRecordId sets the RecordId field's value.
20558func (s *RecordDetail) SetRecordId(v string) *RecordDetail {
20559	s.RecordId = &v
20560	return s
20561}
20562
20563// SetRecordTags sets the RecordTags field's value.
20564func (s *RecordDetail) SetRecordTags(v []*RecordTag) *RecordDetail {
20565	s.RecordTags = v
20566	return s
20567}
20568
20569// SetRecordType sets the RecordType field's value.
20570func (s *RecordDetail) SetRecordType(v string) *RecordDetail {
20571	s.RecordType = &v
20572	return s
20573}
20574
20575// SetStatus sets the Status field's value.
20576func (s *RecordDetail) SetStatus(v string) *RecordDetail {
20577	s.Status = &v
20578	return s
20579}
20580
20581// SetUpdatedTime sets the UpdatedTime field's value.
20582func (s *RecordDetail) SetUpdatedTime(v time.Time) *RecordDetail {
20583	s.UpdatedTime = &v
20584	return s
20585}
20586
20587// The error code and description resulting from an operation.
20588type RecordError struct {
20589	_ struct{} `type:"structure"`
20590
20591	// The numeric value of the error.
20592	Code *string `type:"string"`
20593
20594	// The description of the error.
20595	Description *string `type:"string"`
20596}
20597
20598// String returns the string representation.
20599//
20600// API parameter values that are decorated as "sensitive" in the API will not
20601// be included in the string output. The member name will be present, but the
20602// value will be replaced with "sensitive".
20603func (s RecordError) String() string {
20604	return awsutil.Prettify(s)
20605}
20606
20607// GoString returns the string representation.
20608//
20609// API parameter values that are decorated as "sensitive" in the API will not
20610// be included in the string output. The member name will be present, but the
20611// value will be replaced with "sensitive".
20612func (s RecordError) GoString() string {
20613	return s.String()
20614}
20615
20616// SetCode sets the Code field's value.
20617func (s *RecordError) SetCode(v string) *RecordError {
20618	s.Code = &v
20619	return s
20620}
20621
20622// SetDescription sets the Description field's value.
20623func (s *RecordError) SetDescription(v string) *RecordError {
20624	s.Description = &v
20625	return s
20626}
20627
20628// The output for the product created as the result of a request. For example,
20629// the output for a CloudFormation-backed product that creates an S3 bucket
20630// would include the S3 bucket URL.
20631type RecordOutput struct {
20632	_ struct{} `type:"structure"`
20633
20634	// The description of the output.
20635	Description *string `type:"string"`
20636
20637	// The output key.
20638	OutputKey *string `type:"string"`
20639
20640	// The output value.
20641	OutputValue *string `type:"string"`
20642}
20643
20644// String returns the string representation.
20645//
20646// API parameter values that are decorated as "sensitive" in the API will not
20647// be included in the string output. The member name will be present, but the
20648// value will be replaced with "sensitive".
20649func (s RecordOutput) String() string {
20650	return awsutil.Prettify(s)
20651}
20652
20653// GoString returns the string representation.
20654//
20655// API parameter values that are decorated as "sensitive" in the API will not
20656// be included in the string output. The member name will be present, but the
20657// value will be replaced with "sensitive".
20658func (s RecordOutput) GoString() string {
20659	return s.String()
20660}
20661
20662// SetDescription sets the Description field's value.
20663func (s *RecordOutput) SetDescription(v string) *RecordOutput {
20664	s.Description = &v
20665	return s
20666}
20667
20668// SetOutputKey sets the OutputKey field's value.
20669func (s *RecordOutput) SetOutputKey(v string) *RecordOutput {
20670	s.OutputKey = &v
20671	return s
20672}
20673
20674// SetOutputValue sets the OutputValue field's value.
20675func (s *RecordOutput) SetOutputValue(v string) *RecordOutput {
20676	s.OutputValue = &v
20677	return s
20678}
20679
20680// Information about a tag, which is a key-value pair.
20681type RecordTag struct {
20682	_ struct{} `type:"structure"`
20683
20684	// The key for this tag.
20685	Key *string `min:"1" type:"string"`
20686
20687	// The value for this tag.
20688	Value *string `min:"1" type:"string"`
20689}
20690
20691// String returns the string representation.
20692//
20693// API parameter values that are decorated as "sensitive" in the API will not
20694// be included in the string output. The member name will be present, but the
20695// value will be replaced with "sensitive".
20696func (s RecordTag) String() string {
20697	return awsutil.Prettify(s)
20698}
20699
20700// GoString returns the string representation.
20701//
20702// API parameter values that are decorated as "sensitive" in the API will not
20703// be included in the string output. The member name will be present, but the
20704// value will be replaced with "sensitive".
20705func (s RecordTag) GoString() string {
20706	return s.String()
20707}
20708
20709// SetKey sets the Key field's value.
20710func (s *RecordTag) SetKey(v string) *RecordTag {
20711	s.Key = &v
20712	return s
20713}
20714
20715// SetValue sets the Value field's value.
20716func (s *RecordTag) SetValue(v string) *RecordTag {
20717	s.Value = &v
20718	return s
20719}
20720
20721type RejectPortfolioShareInput struct {
20722	_ struct{} `type:"structure"`
20723
20724	// The language code.
20725	//
20726	//    * en - English (default)
20727	//
20728	//    * jp - Japanese
20729	//
20730	//    * zh - Chinese
20731	AcceptLanguage *string `type:"string"`
20732
20733	// The portfolio identifier.
20734	//
20735	// PortfolioId is a required field
20736	PortfolioId *string `min:"1" type:"string" required:"true"`
20737
20738	// The type of shared portfolios to reject. The default is to reject imported
20739	// portfolios.
20740	//
20741	//    * AWS_ORGANIZATIONS - Reject portfolios shared by the management account
20742	//    of your organization.
20743	//
20744	//    * IMPORTED - Reject imported portfolios.
20745	//
20746	//    * AWS_SERVICECATALOG - Not supported. (Throws ResourceNotFoundException.)
20747	//
20748	// For example, aws servicecatalog reject-portfolio-share --portfolio-id "port-2qwzkwxt3y5fk"
20749	// --portfolio-share-type AWS_ORGANIZATIONS
20750	PortfolioShareType *string `type:"string" enum:"PortfolioShareType"`
20751}
20752
20753// String returns the string representation.
20754//
20755// API parameter values that are decorated as "sensitive" in the API will not
20756// be included in the string output. The member name will be present, but the
20757// value will be replaced with "sensitive".
20758func (s RejectPortfolioShareInput) String() string {
20759	return awsutil.Prettify(s)
20760}
20761
20762// GoString returns the string representation.
20763//
20764// API parameter values that are decorated as "sensitive" in the API will not
20765// be included in the string output. The member name will be present, but the
20766// value will be replaced with "sensitive".
20767func (s RejectPortfolioShareInput) GoString() string {
20768	return s.String()
20769}
20770
20771// Validate inspects the fields of the type to determine if they are valid.
20772func (s *RejectPortfolioShareInput) Validate() error {
20773	invalidParams := request.ErrInvalidParams{Context: "RejectPortfolioShareInput"}
20774	if s.PortfolioId == nil {
20775		invalidParams.Add(request.NewErrParamRequired("PortfolioId"))
20776	}
20777	if s.PortfolioId != nil && len(*s.PortfolioId) < 1 {
20778		invalidParams.Add(request.NewErrParamMinLen("PortfolioId", 1))
20779	}
20780
20781	if invalidParams.Len() > 0 {
20782		return invalidParams
20783	}
20784	return nil
20785}
20786
20787// SetAcceptLanguage sets the AcceptLanguage field's value.
20788func (s *RejectPortfolioShareInput) SetAcceptLanguage(v string) *RejectPortfolioShareInput {
20789	s.AcceptLanguage = &v
20790	return s
20791}
20792
20793// SetPortfolioId sets the PortfolioId field's value.
20794func (s *RejectPortfolioShareInput) SetPortfolioId(v string) *RejectPortfolioShareInput {
20795	s.PortfolioId = &v
20796	return s
20797}
20798
20799// SetPortfolioShareType sets the PortfolioShareType field's value.
20800func (s *RejectPortfolioShareInput) SetPortfolioShareType(v string) *RejectPortfolioShareInput {
20801	s.PortfolioShareType = &v
20802	return s
20803}
20804
20805type RejectPortfolioShareOutput struct {
20806	_ struct{} `type:"structure"`
20807}
20808
20809// String returns the string representation.
20810//
20811// API parameter values that are decorated as "sensitive" in the API will not
20812// be included in the string output. The member name will be present, but the
20813// value will be replaced with "sensitive".
20814func (s RejectPortfolioShareOutput) String() string {
20815	return awsutil.Prettify(s)
20816}
20817
20818// GoString returns the string representation.
20819//
20820// API parameter values that are decorated as "sensitive" in the API will not
20821// be included in the string output. The member name will be present, but the
20822// value will be replaced with "sensitive".
20823func (s RejectPortfolioShareOutput) GoString() string {
20824	return s.String()
20825}
20826
20827// Information about a resource change that will occur when a plan is executed.
20828type ResourceChange struct {
20829	_ struct{} `type:"structure"`
20830
20831	// The change action.
20832	Action *string `type:"string" enum:"ChangeAction"`
20833
20834	// Information about the resource changes.
20835	Details []*ResourceChangeDetail `type:"list"`
20836
20837	// The ID of the resource, as defined in the CloudFormation template.
20838	LogicalResourceId *string `type:"string"`
20839
20840	// The ID of the resource, if it was already created.
20841	PhysicalResourceId *string `type:"string"`
20842
20843	// If the change type is Modify, indicates whether the existing resource is
20844	// deleted and replaced with a new one.
20845	Replacement *string `type:"string" enum:"Replacement"`
20846
20847	// The type of resource.
20848	ResourceType *string `min:"1" type:"string"`
20849
20850	// The change scope.
20851	Scope []*string `type:"list"`
20852}
20853
20854// String returns the string representation.
20855//
20856// API parameter values that are decorated as "sensitive" in the API will not
20857// be included in the string output. The member name will be present, but the
20858// value will be replaced with "sensitive".
20859func (s ResourceChange) String() string {
20860	return awsutil.Prettify(s)
20861}
20862
20863// GoString returns the string representation.
20864//
20865// API parameter values that are decorated as "sensitive" in the API will not
20866// be included in the string output. The member name will be present, but the
20867// value will be replaced with "sensitive".
20868func (s ResourceChange) GoString() string {
20869	return s.String()
20870}
20871
20872// SetAction sets the Action field's value.
20873func (s *ResourceChange) SetAction(v string) *ResourceChange {
20874	s.Action = &v
20875	return s
20876}
20877
20878// SetDetails sets the Details field's value.
20879func (s *ResourceChange) SetDetails(v []*ResourceChangeDetail) *ResourceChange {
20880	s.Details = v
20881	return s
20882}
20883
20884// SetLogicalResourceId sets the LogicalResourceId field's value.
20885func (s *ResourceChange) SetLogicalResourceId(v string) *ResourceChange {
20886	s.LogicalResourceId = &v
20887	return s
20888}
20889
20890// SetPhysicalResourceId sets the PhysicalResourceId field's value.
20891func (s *ResourceChange) SetPhysicalResourceId(v string) *ResourceChange {
20892	s.PhysicalResourceId = &v
20893	return s
20894}
20895
20896// SetReplacement sets the Replacement field's value.
20897func (s *ResourceChange) SetReplacement(v string) *ResourceChange {
20898	s.Replacement = &v
20899	return s
20900}
20901
20902// SetResourceType sets the ResourceType field's value.
20903func (s *ResourceChange) SetResourceType(v string) *ResourceChange {
20904	s.ResourceType = &v
20905	return s
20906}
20907
20908// SetScope sets the Scope field's value.
20909func (s *ResourceChange) SetScope(v []*string) *ResourceChange {
20910	s.Scope = v
20911	return s
20912}
20913
20914// Information about a change to a resource attribute.
20915type ResourceChangeDetail struct {
20916	_ struct{} `type:"structure"`
20917
20918	// The ID of the entity that caused the change.
20919	CausingEntity *string `type:"string"`
20920
20921	// For static evaluations, the value of the resource attribute will change and
20922	// the new value is known. For dynamic evaluations, the value might change,
20923	// and any new value will be determined when the plan is updated.
20924	Evaluation *string `type:"string" enum:"EvaluationType"`
20925
20926	// Information about the resource attribute to be modified.
20927	Target *ResourceTargetDefinition `type:"structure"`
20928}
20929
20930// String returns the string representation.
20931//
20932// API parameter values that are decorated as "sensitive" in the API will not
20933// be included in the string output. The member name will be present, but the
20934// value will be replaced with "sensitive".
20935func (s ResourceChangeDetail) String() string {
20936	return awsutil.Prettify(s)
20937}
20938
20939// GoString returns the string representation.
20940//
20941// API parameter values that are decorated as "sensitive" in the API will not
20942// be included in the string output. The member name will be present, but the
20943// value will be replaced with "sensitive".
20944func (s ResourceChangeDetail) GoString() string {
20945	return s.String()
20946}
20947
20948// SetCausingEntity sets the CausingEntity field's value.
20949func (s *ResourceChangeDetail) SetCausingEntity(v string) *ResourceChangeDetail {
20950	s.CausingEntity = &v
20951	return s
20952}
20953
20954// SetEvaluation sets the Evaluation field's value.
20955func (s *ResourceChangeDetail) SetEvaluation(v string) *ResourceChangeDetail {
20956	s.Evaluation = &v
20957	return s
20958}
20959
20960// SetTarget sets the Target field's value.
20961func (s *ResourceChangeDetail) SetTarget(v *ResourceTargetDefinition) *ResourceChangeDetail {
20962	s.Target = v
20963	return s
20964}
20965
20966// Information about a resource.
20967type ResourceDetail struct {
20968	_ struct{} `type:"structure"`
20969
20970	// The ARN of the resource.
20971	ARN *string `type:"string"`
20972
20973	// The creation time of the resource.
20974	CreatedTime *time.Time `type:"timestamp"`
20975
20976	// The description of the resource.
20977	Description *string `type:"string"`
20978
20979	// The identifier of the resource.
20980	Id *string `type:"string"`
20981
20982	// The name of the resource.
20983	Name *string `type:"string"`
20984}
20985
20986// String returns the string representation.
20987//
20988// API parameter values that are decorated as "sensitive" in the API will not
20989// be included in the string output. The member name will be present, but the
20990// value will be replaced with "sensitive".
20991func (s ResourceDetail) String() string {
20992	return awsutil.Prettify(s)
20993}
20994
20995// GoString returns the string representation.
20996//
20997// API parameter values that are decorated as "sensitive" in the API will not
20998// be included in the string output. The member name will be present, but the
20999// value will be replaced with "sensitive".
21000func (s ResourceDetail) GoString() string {
21001	return s.String()
21002}
21003
21004// SetARN sets the ARN field's value.
21005func (s *ResourceDetail) SetARN(v string) *ResourceDetail {
21006	s.ARN = &v
21007	return s
21008}
21009
21010// SetCreatedTime sets the CreatedTime field's value.
21011func (s *ResourceDetail) SetCreatedTime(v time.Time) *ResourceDetail {
21012	s.CreatedTime = &v
21013	return s
21014}
21015
21016// SetDescription sets the Description field's value.
21017func (s *ResourceDetail) SetDescription(v string) *ResourceDetail {
21018	s.Description = &v
21019	return s
21020}
21021
21022// SetId sets the Id field's value.
21023func (s *ResourceDetail) SetId(v string) *ResourceDetail {
21024	s.Id = &v
21025	return s
21026}
21027
21028// SetName sets the Name field's value.
21029func (s *ResourceDetail) SetName(v string) *ResourceDetail {
21030	s.Name = &v
21031	return s
21032}
21033
21034// A resource that is currently in use. Ensure that the resource is not in use
21035// and retry the operation.
21036type ResourceInUseException struct {
21037	_            struct{}                  `type:"structure"`
21038	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
21039
21040	Message_ *string `locationName:"message" type:"string"`
21041}
21042
21043// String returns the string representation.
21044//
21045// API parameter values that are decorated as "sensitive" in the API will not
21046// be included in the string output. The member name will be present, but the
21047// value will be replaced with "sensitive".
21048func (s ResourceInUseException) String() string {
21049	return awsutil.Prettify(s)
21050}
21051
21052// GoString returns the string representation.
21053//
21054// API parameter values that are decorated as "sensitive" in the API will not
21055// be included in the string output. The member name will be present, but the
21056// value will be replaced with "sensitive".
21057func (s ResourceInUseException) GoString() string {
21058	return s.String()
21059}
21060
21061func newErrorResourceInUseException(v protocol.ResponseMetadata) error {
21062	return &ResourceInUseException{
21063		RespMetadata: v,
21064	}
21065}
21066
21067// Code returns the exception type name.
21068func (s *ResourceInUseException) Code() string {
21069	return "ResourceInUseException"
21070}
21071
21072// Message returns the exception's message.
21073func (s *ResourceInUseException) Message() string {
21074	if s.Message_ != nil {
21075		return *s.Message_
21076	}
21077	return ""
21078}
21079
21080// OrigErr always returns nil, satisfies awserr.Error interface.
21081func (s *ResourceInUseException) OrigErr() error {
21082	return nil
21083}
21084
21085func (s *ResourceInUseException) Error() string {
21086	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
21087}
21088
21089// Status code returns the HTTP status code for the request's response error.
21090func (s *ResourceInUseException) StatusCode() int {
21091	return s.RespMetadata.StatusCode
21092}
21093
21094// RequestID returns the service's response RequestID for request.
21095func (s *ResourceInUseException) RequestID() string {
21096	return s.RespMetadata.RequestID
21097}
21098
21099// The specified resource was not found.
21100type ResourceNotFoundException struct {
21101	_            struct{}                  `type:"structure"`
21102	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
21103
21104	Message_ *string `locationName:"message" type:"string"`
21105}
21106
21107// String returns the string representation.
21108//
21109// API parameter values that are decorated as "sensitive" in the API will not
21110// be included in the string output. The member name will be present, but the
21111// value will be replaced with "sensitive".
21112func (s ResourceNotFoundException) String() string {
21113	return awsutil.Prettify(s)
21114}
21115
21116// GoString returns the string representation.
21117//
21118// API parameter values that are decorated as "sensitive" in the API will not
21119// be included in the string output. The member name will be present, but the
21120// value will be replaced with "sensitive".
21121func (s ResourceNotFoundException) GoString() string {
21122	return s.String()
21123}
21124
21125func newErrorResourceNotFoundException(v protocol.ResponseMetadata) error {
21126	return &ResourceNotFoundException{
21127		RespMetadata: v,
21128	}
21129}
21130
21131// Code returns the exception type name.
21132func (s *ResourceNotFoundException) Code() string {
21133	return "ResourceNotFoundException"
21134}
21135
21136// Message returns the exception's message.
21137func (s *ResourceNotFoundException) Message() string {
21138	if s.Message_ != nil {
21139		return *s.Message_
21140	}
21141	return ""
21142}
21143
21144// OrigErr always returns nil, satisfies awserr.Error interface.
21145func (s *ResourceNotFoundException) OrigErr() error {
21146	return nil
21147}
21148
21149func (s *ResourceNotFoundException) Error() string {
21150	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
21151}
21152
21153// Status code returns the HTTP status code for the request's response error.
21154func (s *ResourceNotFoundException) StatusCode() int {
21155	return s.RespMetadata.StatusCode
21156}
21157
21158// RequestID returns the service's response RequestID for request.
21159func (s *ResourceNotFoundException) RequestID() string {
21160	return s.RespMetadata.RequestID
21161}
21162
21163// Information about a change to a resource attribute.
21164type ResourceTargetDefinition struct {
21165	_ struct{} `type:"structure"`
21166
21167	// The attribute to be changed.
21168	Attribute *string `type:"string" enum:"ResourceAttribute"`
21169
21170	// If the attribute is Properties, the value is the name of the property. Otherwise,
21171	// the value is null.
21172	Name *string `type:"string"`
21173
21174	// If the attribute is Properties, indicates whether a change to this property
21175	// causes the resource to be re-created.
21176	RequiresRecreation *string `type:"string" enum:"RequiresRecreation"`
21177}
21178
21179// String returns the string representation.
21180//
21181// API parameter values that are decorated as "sensitive" in the API will not
21182// be included in the string output. The member name will be present, but the
21183// value will be replaced with "sensitive".
21184func (s ResourceTargetDefinition) String() string {
21185	return awsutil.Prettify(s)
21186}
21187
21188// GoString returns the string representation.
21189//
21190// API parameter values that are decorated as "sensitive" in the API will not
21191// be included in the string output. The member name will be present, but the
21192// value will be replaced with "sensitive".
21193func (s ResourceTargetDefinition) GoString() string {
21194	return s.String()
21195}
21196
21197// SetAttribute sets the Attribute field's value.
21198func (s *ResourceTargetDefinition) SetAttribute(v string) *ResourceTargetDefinition {
21199	s.Attribute = &v
21200	return s
21201}
21202
21203// SetName sets the Name field's value.
21204func (s *ResourceTargetDefinition) SetName(v string) *ResourceTargetDefinition {
21205	s.Name = &v
21206	return s
21207}
21208
21209// SetRequiresRecreation sets the RequiresRecreation field's value.
21210func (s *ResourceTargetDefinition) SetRequiresRecreation(v string) *ResourceTargetDefinition {
21211	s.RequiresRecreation = &v
21212	return s
21213}
21214
21215type ScanProvisionedProductsInput struct {
21216	_ struct{} `type:"structure"`
21217
21218	// The language code.
21219	//
21220	//    * en - English (default)
21221	//
21222	//    * jp - Japanese
21223	//
21224	//    * zh - Chinese
21225	AcceptLanguage *string `type:"string"`
21226
21227	// The access level to use to obtain results. The default is User.
21228	AccessLevelFilter *AccessLevelFilter `type:"structure"`
21229
21230	// The maximum number of items to return with this call.
21231	PageSize *int64 `type:"integer"`
21232
21233	// The page token for the next set of results. To retrieve the first set of
21234	// results, use null.
21235	PageToken *string `type:"string"`
21236}
21237
21238// String returns the string representation.
21239//
21240// API parameter values that are decorated as "sensitive" in the API will not
21241// be included in the string output. The member name will be present, but the
21242// value will be replaced with "sensitive".
21243func (s ScanProvisionedProductsInput) String() string {
21244	return awsutil.Prettify(s)
21245}
21246
21247// GoString returns the string representation.
21248//
21249// API parameter values that are decorated as "sensitive" in the API will not
21250// be included in the string output. The member name will be present, but the
21251// value will be replaced with "sensitive".
21252func (s ScanProvisionedProductsInput) GoString() string {
21253	return s.String()
21254}
21255
21256// SetAcceptLanguage sets the AcceptLanguage field's value.
21257func (s *ScanProvisionedProductsInput) SetAcceptLanguage(v string) *ScanProvisionedProductsInput {
21258	s.AcceptLanguage = &v
21259	return s
21260}
21261
21262// SetAccessLevelFilter sets the AccessLevelFilter field's value.
21263func (s *ScanProvisionedProductsInput) SetAccessLevelFilter(v *AccessLevelFilter) *ScanProvisionedProductsInput {
21264	s.AccessLevelFilter = v
21265	return s
21266}
21267
21268// SetPageSize sets the PageSize field's value.
21269func (s *ScanProvisionedProductsInput) SetPageSize(v int64) *ScanProvisionedProductsInput {
21270	s.PageSize = &v
21271	return s
21272}
21273
21274// SetPageToken sets the PageToken field's value.
21275func (s *ScanProvisionedProductsInput) SetPageToken(v string) *ScanProvisionedProductsInput {
21276	s.PageToken = &v
21277	return s
21278}
21279
21280type ScanProvisionedProductsOutput struct {
21281	_ struct{} `type:"structure"`
21282
21283	// The page token to use to retrieve the next set of results. If there are no
21284	// additional results, this value is null.
21285	NextPageToken *string `type:"string"`
21286
21287	// Information about the provisioned products.
21288	ProvisionedProducts []*ProvisionedProductDetail `type:"list"`
21289}
21290
21291// String returns the string representation.
21292//
21293// API parameter values that are decorated as "sensitive" in the API will not
21294// be included in the string output. The member name will be present, but the
21295// value will be replaced with "sensitive".
21296func (s ScanProvisionedProductsOutput) String() string {
21297	return awsutil.Prettify(s)
21298}
21299
21300// GoString returns the string representation.
21301//
21302// API parameter values that are decorated as "sensitive" in the API will not
21303// be included in the string output. The member name will be present, but the
21304// value will be replaced with "sensitive".
21305func (s ScanProvisionedProductsOutput) GoString() string {
21306	return s.String()
21307}
21308
21309// SetNextPageToken sets the NextPageToken field's value.
21310func (s *ScanProvisionedProductsOutput) SetNextPageToken(v string) *ScanProvisionedProductsOutput {
21311	s.NextPageToken = &v
21312	return s
21313}
21314
21315// SetProvisionedProducts sets the ProvisionedProducts field's value.
21316func (s *ScanProvisionedProductsOutput) SetProvisionedProducts(v []*ProvisionedProductDetail) *ScanProvisionedProductsOutput {
21317	s.ProvisionedProducts = v
21318	return s
21319}
21320
21321type SearchProductsAsAdminInput struct {
21322	_ struct{} `type:"structure"`
21323
21324	// The language code.
21325	//
21326	//    * en - English (default)
21327	//
21328	//    * jp - Japanese
21329	//
21330	//    * zh - Chinese
21331	AcceptLanguage *string `type:"string"`
21332
21333	// The search filters. If no search filters are specified, the output includes
21334	// all products to which the administrator has access.
21335	Filters map[string][]*string `type:"map"`
21336
21337	// The maximum number of items to return with this call.
21338	PageSize *int64 `type:"integer"`
21339
21340	// The page token for the next set of results. To retrieve the first set of
21341	// results, use null.
21342	PageToken *string `type:"string"`
21343
21344	// The portfolio identifier.
21345	PortfolioId *string `min:"1" type:"string"`
21346
21347	// Access level of the source of the product.
21348	ProductSource *string `type:"string" enum:"ProductSource"`
21349
21350	// The sort field. If no value is specified, the results are not sorted.
21351	SortBy *string `type:"string" enum:"ProductViewSortBy"`
21352
21353	// The sort order. If no value is specified, the results are not sorted.
21354	SortOrder *string `type:"string" enum:"SortOrder"`
21355}
21356
21357// String returns the string representation.
21358//
21359// API parameter values that are decorated as "sensitive" in the API will not
21360// be included in the string output. The member name will be present, but the
21361// value will be replaced with "sensitive".
21362func (s SearchProductsAsAdminInput) String() string {
21363	return awsutil.Prettify(s)
21364}
21365
21366// GoString returns the string representation.
21367//
21368// API parameter values that are decorated as "sensitive" in the API will not
21369// be included in the string output. The member name will be present, but the
21370// value will be replaced with "sensitive".
21371func (s SearchProductsAsAdminInput) GoString() string {
21372	return s.String()
21373}
21374
21375// Validate inspects the fields of the type to determine if they are valid.
21376func (s *SearchProductsAsAdminInput) Validate() error {
21377	invalidParams := request.ErrInvalidParams{Context: "SearchProductsAsAdminInput"}
21378	if s.PortfolioId != nil && len(*s.PortfolioId) < 1 {
21379		invalidParams.Add(request.NewErrParamMinLen("PortfolioId", 1))
21380	}
21381
21382	if invalidParams.Len() > 0 {
21383		return invalidParams
21384	}
21385	return nil
21386}
21387
21388// SetAcceptLanguage sets the AcceptLanguage field's value.
21389func (s *SearchProductsAsAdminInput) SetAcceptLanguage(v string) *SearchProductsAsAdminInput {
21390	s.AcceptLanguage = &v
21391	return s
21392}
21393
21394// SetFilters sets the Filters field's value.
21395func (s *SearchProductsAsAdminInput) SetFilters(v map[string][]*string) *SearchProductsAsAdminInput {
21396	s.Filters = v
21397	return s
21398}
21399
21400// SetPageSize sets the PageSize field's value.
21401func (s *SearchProductsAsAdminInput) SetPageSize(v int64) *SearchProductsAsAdminInput {
21402	s.PageSize = &v
21403	return s
21404}
21405
21406// SetPageToken sets the PageToken field's value.
21407func (s *SearchProductsAsAdminInput) SetPageToken(v string) *SearchProductsAsAdminInput {
21408	s.PageToken = &v
21409	return s
21410}
21411
21412// SetPortfolioId sets the PortfolioId field's value.
21413func (s *SearchProductsAsAdminInput) SetPortfolioId(v string) *SearchProductsAsAdminInput {
21414	s.PortfolioId = &v
21415	return s
21416}
21417
21418// SetProductSource sets the ProductSource field's value.
21419func (s *SearchProductsAsAdminInput) SetProductSource(v string) *SearchProductsAsAdminInput {
21420	s.ProductSource = &v
21421	return s
21422}
21423
21424// SetSortBy sets the SortBy field's value.
21425func (s *SearchProductsAsAdminInput) SetSortBy(v string) *SearchProductsAsAdminInput {
21426	s.SortBy = &v
21427	return s
21428}
21429
21430// SetSortOrder sets the SortOrder field's value.
21431func (s *SearchProductsAsAdminInput) SetSortOrder(v string) *SearchProductsAsAdminInput {
21432	s.SortOrder = &v
21433	return s
21434}
21435
21436type SearchProductsAsAdminOutput struct {
21437	_ struct{} `type:"structure"`
21438
21439	// The page token to use to retrieve the next set of results. If there are no
21440	// additional results, this value is null.
21441	NextPageToken *string `type:"string"`
21442
21443	// Information about the product views.
21444	ProductViewDetails []*ProductViewDetail `type:"list"`
21445}
21446
21447// String returns the string representation.
21448//
21449// API parameter values that are decorated as "sensitive" in the API will not
21450// be included in the string output. The member name will be present, but the
21451// value will be replaced with "sensitive".
21452func (s SearchProductsAsAdminOutput) String() string {
21453	return awsutil.Prettify(s)
21454}
21455
21456// GoString returns the string representation.
21457//
21458// API parameter values that are decorated as "sensitive" in the API will not
21459// be included in the string output. The member name will be present, but the
21460// value will be replaced with "sensitive".
21461func (s SearchProductsAsAdminOutput) GoString() string {
21462	return s.String()
21463}
21464
21465// SetNextPageToken sets the NextPageToken field's value.
21466func (s *SearchProductsAsAdminOutput) SetNextPageToken(v string) *SearchProductsAsAdminOutput {
21467	s.NextPageToken = &v
21468	return s
21469}
21470
21471// SetProductViewDetails sets the ProductViewDetails field's value.
21472func (s *SearchProductsAsAdminOutput) SetProductViewDetails(v []*ProductViewDetail) *SearchProductsAsAdminOutput {
21473	s.ProductViewDetails = v
21474	return s
21475}
21476
21477type SearchProductsInput struct {
21478	_ struct{} `type:"structure"`
21479
21480	// The language code.
21481	//
21482	//    * en - English (default)
21483	//
21484	//    * jp - Japanese
21485	//
21486	//    * zh - Chinese
21487	AcceptLanguage *string `type:"string"`
21488
21489	// The search filters. If no search filters are specified, the output includes
21490	// all products to which the caller has access.
21491	Filters map[string][]*string `type:"map"`
21492
21493	// The maximum number of items to return with this call.
21494	PageSize *int64 `type:"integer"`
21495
21496	// The page token for the next set of results. To retrieve the first set of
21497	// results, use null.
21498	PageToken *string `type:"string"`
21499
21500	// The sort field. If no value is specified, the results are not sorted.
21501	SortBy *string `type:"string" enum:"ProductViewSortBy"`
21502
21503	// The sort order. If no value is specified, the results are not sorted.
21504	SortOrder *string `type:"string" enum:"SortOrder"`
21505}
21506
21507// String returns the string representation.
21508//
21509// API parameter values that are decorated as "sensitive" in the API will not
21510// be included in the string output. The member name will be present, but the
21511// value will be replaced with "sensitive".
21512func (s SearchProductsInput) String() string {
21513	return awsutil.Prettify(s)
21514}
21515
21516// GoString returns the string representation.
21517//
21518// API parameter values that are decorated as "sensitive" in the API will not
21519// be included in the string output. The member name will be present, but the
21520// value will be replaced with "sensitive".
21521func (s SearchProductsInput) GoString() string {
21522	return s.String()
21523}
21524
21525// SetAcceptLanguage sets the AcceptLanguage field's value.
21526func (s *SearchProductsInput) SetAcceptLanguage(v string) *SearchProductsInput {
21527	s.AcceptLanguage = &v
21528	return s
21529}
21530
21531// SetFilters sets the Filters field's value.
21532func (s *SearchProductsInput) SetFilters(v map[string][]*string) *SearchProductsInput {
21533	s.Filters = v
21534	return s
21535}
21536
21537// SetPageSize sets the PageSize field's value.
21538func (s *SearchProductsInput) SetPageSize(v int64) *SearchProductsInput {
21539	s.PageSize = &v
21540	return s
21541}
21542
21543// SetPageToken sets the PageToken field's value.
21544func (s *SearchProductsInput) SetPageToken(v string) *SearchProductsInput {
21545	s.PageToken = &v
21546	return s
21547}
21548
21549// SetSortBy sets the SortBy field's value.
21550func (s *SearchProductsInput) SetSortBy(v string) *SearchProductsInput {
21551	s.SortBy = &v
21552	return s
21553}
21554
21555// SetSortOrder sets the SortOrder field's value.
21556func (s *SearchProductsInput) SetSortOrder(v string) *SearchProductsInput {
21557	s.SortOrder = &v
21558	return s
21559}
21560
21561type SearchProductsOutput struct {
21562	_ struct{} `type:"structure"`
21563
21564	// The page token to use to retrieve the next set of results. If there are no
21565	// additional results, this value is null.
21566	NextPageToken *string `type:"string"`
21567
21568	// The product view aggregations.
21569	ProductViewAggregations map[string][]*ProductViewAggregationValue `type:"map"`
21570
21571	// Information about the product views.
21572	ProductViewSummaries []*ProductViewSummary `type:"list"`
21573}
21574
21575// String returns the string representation.
21576//
21577// API parameter values that are decorated as "sensitive" in the API will not
21578// be included in the string output. The member name will be present, but the
21579// value will be replaced with "sensitive".
21580func (s SearchProductsOutput) String() string {
21581	return awsutil.Prettify(s)
21582}
21583
21584// GoString returns the string representation.
21585//
21586// API parameter values that are decorated as "sensitive" in the API will not
21587// be included in the string output. The member name will be present, but the
21588// value will be replaced with "sensitive".
21589func (s SearchProductsOutput) GoString() string {
21590	return s.String()
21591}
21592
21593// SetNextPageToken sets the NextPageToken field's value.
21594func (s *SearchProductsOutput) SetNextPageToken(v string) *SearchProductsOutput {
21595	s.NextPageToken = &v
21596	return s
21597}
21598
21599// SetProductViewAggregations sets the ProductViewAggregations field's value.
21600func (s *SearchProductsOutput) SetProductViewAggregations(v map[string][]*ProductViewAggregationValue) *SearchProductsOutput {
21601	s.ProductViewAggregations = v
21602	return s
21603}
21604
21605// SetProductViewSummaries sets the ProductViewSummaries field's value.
21606func (s *SearchProductsOutput) SetProductViewSummaries(v []*ProductViewSummary) *SearchProductsOutput {
21607	s.ProductViewSummaries = v
21608	return s
21609}
21610
21611type SearchProvisionedProductsInput struct {
21612	_ struct{} `type:"structure"`
21613
21614	// The language code.
21615	//
21616	//    * en - English (default)
21617	//
21618	//    * jp - Japanese
21619	//
21620	//    * zh - Chinese
21621	AcceptLanguage *string `type:"string"`
21622
21623	// The access level to use to obtain results. The default is User.
21624	AccessLevelFilter *AccessLevelFilter `type:"structure"`
21625
21626	// The search filters.
21627	//
21628	// When the key is SearchQuery, the searchable fields are arn, createdTime,
21629	// id, lastRecordId, idempotencyToken, name, physicalId, productId, provisioningArtifact,
21630	// type, status, tags, userArn, userArnSession, lastProvisioningRecordId, lastSuccessfulProvisioningRecordId,
21631	// productName, and provisioningArtifactName.
21632	//
21633	// Example: "SearchQuery":["status:AVAILABLE"]
21634	Filters map[string][]*string `type:"map"`
21635
21636	// The maximum number of items to return with this call.
21637	PageSize *int64 `type:"integer"`
21638
21639	// The page token for the next set of results. To retrieve the first set of
21640	// results, use null.
21641	PageToken *string `type:"string"`
21642
21643	// The sort field. If no value is specified, the results are not sorted. The
21644	// valid values are arn, id, name, and lastRecordId.
21645	SortBy *string `type:"string"`
21646
21647	// The sort order. If no value is specified, the results are not sorted.
21648	SortOrder *string `type:"string" enum:"SortOrder"`
21649}
21650
21651// String returns the string representation.
21652//
21653// API parameter values that are decorated as "sensitive" in the API will not
21654// be included in the string output. The member name will be present, but the
21655// value will be replaced with "sensitive".
21656func (s SearchProvisionedProductsInput) String() string {
21657	return awsutil.Prettify(s)
21658}
21659
21660// GoString returns the string representation.
21661//
21662// API parameter values that are decorated as "sensitive" in the API will not
21663// be included in the string output. The member name will be present, but the
21664// value will be replaced with "sensitive".
21665func (s SearchProvisionedProductsInput) GoString() string {
21666	return s.String()
21667}
21668
21669// SetAcceptLanguage sets the AcceptLanguage field's value.
21670func (s *SearchProvisionedProductsInput) SetAcceptLanguage(v string) *SearchProvisionedProductsInput {
21671	s.AcceptLanguage = &v
21672	return s
21673}
21674
21675// SetAccessLevelFilter sets the AccessLevelFilter field's value.
21676func (s *SearchProvisionedProductsInput) SetAccessLevelFilter(v *AccessLevelFilter) *SearchProvisionedProductsInput {
21677	s.AccessLevelFilter = v
21678	return s
21679}
21680
21681// SetFilters sets the Filters field's value.
21682func (s *SearchProvisionedProductsInput) SetFilters(v map[string][]*string) *SearchProvisionedProductsInput {
21683	s.Filters = v
21684	return s
21685}
21686
21687// SetPageSize sets the PageSize field's value.
21688func (s *SearchProvisionedProductsInput) SetPageSize(v int64) *SearchProvisionedProductsInput {
21689	s.PageSize = &v
21690	return s
21691}
21692
21693// SetPageToken sets the PageToken field's value.
21694func (s *SearchProvisionedProductsInput) SetPageToken(v string) *SearchProvisionedProductsInput {
21695	s.PageToken = &v
21696	return s
21697}
21698
21699// SetSortBy sets the SortBy field's value.
21700func (s *SearchProvisionedProductsInput) SetSortBy(v string) *SearchProvisionedProductsInput {
21701	s.SortBy = &v
21702	return s
21703}
21704
21705// SetSortOrder sets the SortOrder field's value.
21706func (s *SearchProvisionedProductsInput) SetSortOrder(v string) *SearchProvisionedProductsInput {
21707	s.SortOrder = &v
21708	return s
21709}
21710
21711type SearchProvisionedProductsOutput struct {
21712	_ struct{} `type:"structure"`
21713
21714	// The page token to use to retrieve the next set of results. If there are no
21715	// additional results, this value is null.
21716	NextPageToken *string `type:"string"`
21717
21718	// Information about the provisioned products.
21719	ProvisionedProducts []*ProvisionedProductAttribute `type:"list"`
21720
21721	// The number of provisioned products found.
21722	TotalResultsCount *int64 `type:"integer"`
21723}
21724
21725// String returns the string representation.
21726//
21727// API parameter values that are decorated as "sensitive" in the API will not
21728// be included in the string output. The member name will be present, but the
21729// value will be replaced with "sensitive".
21730func (s SearchProvisionedProductsOutput) String() string {
21731	return awsutil.Prettify(s)
21732}
21733
21734// GoString returns the string representation.
21735//
21736// API parameter values that are decorated as "sensitive" in the API will not
21737// be included in the string output. The member name will be present, but the
21738// value will be replaced with "sensitive".
21739func (s SearchProvisionedProductsOutput) GoString() string {
21740	return s.String()
21741}
21742
21743// SetNextPageToken sets the NextPageToken field's value.
21744func (s *SearchProvisionedProductsOutput) SetNextPageToken(v string) *SearchProvisionedProductsOutput {
21745	s.NextPageToken = &v
21746	return s
21747}
21748
21749// SetProvisionedProducts sets the ProvisionedProducts field's value.
21750func (s *SearchProvisionedProductsOutput) SetProvisionedProducts(v []*ProvisionedProductAttribute) *SearchProvisionedProductsOutput {
21751	s.ProvisionedProducts = v
21752	return s
21753}
21754
21755// SetTotalResultsCount sets the TotalResultsCount field's value.
21756func (s *SearchProvisionedProductsOutput) SetTotalResultsCount(v int64) *SearchProvisionedProductsOutput {
21757	s.TotalResultsCount = &v
21758	return s
21759}
21760
21761// A self-service action association consisting of the Action ID, the Product
21762// ID, and the Provisioning Artifact ID.
21763type ServiceActionAssociation struct {
21764	_ struct{} `type:"structure"`
21765
21766	// The product identifier. For example, prod-abcdzk7xy33qa.
21767	//
21768	// ProductId is a required field
21769	ProductId *string `min:"1" type:"string" required:"true"`
21770
21771	// The identifier of the provisioning artifact. For example, pa-4abcdjnxjj6ne.
21772	//
21773	// ProvisioningArtifactId is a required field
21774	ProvisioningArtifactId *string `min:"1" type:"string" required:"true"`
21775
21776	// The self-service action identifier. For example, act-fs7abcd89wxyz.
21777	//
21778	// ServiceActionId is a required field
21779	ServiceActionId *string `min:"1" type:"string" required:"true"`
21780}
21781
21782// String returns the string representation.
21783//
21784// API parameter values that are decorated as "sensitive" in the API will not
21785// be included in the string output. The member name will be present, but the
21786// value will be replaced with "sensitive".
21787func (s ServiceActionAssociation) String() string {
21788	return awsutil.Prettify(s)
21789}
21790
21791// GoString returns the string representation.
21792//
21793// API parameter values that are decorated as "sensitive" in the API will not
21794// be included in the string output. The member name will be present, but the
21795// value will be replaced with "sensitive".
21796func (s ServiceActionAssociation) GoString() string {
21797	return s.String()
21798}
21799
21800// Validate inspects the fields of the type to determine if they are valid.
21801func (s *ServiceActionAssociation) Validate() error {
21802	invalidParams := request.ErrInvalidParams{Context: "ServiceActionAssociation"}
21803	if s.ProductId == nil {
21804		invalidParams.Add(request.NewErrParamRequired("ProductId"))
21805	}
21806	if s.ProductId != nil && len(*s.ProductId) < 1 {
21807		invalidParams.Add(request.NewErrParamMinLen("ProductId", 1))
21808	}
21809	if s.ProvisioningArtifactId == nil {
21810		invalidParams.Add(request.NewErrParamRequired("ProvisioningArtifactId"))
21811	}
21812	if s.ProvisioningArtifactId != nil && len(*s.ProvisioningArtifactId) < 1 {
21813		invalidParams.Add(request.NewErrParamMinLen("ProvisioningArtifactId", 1))
21814	}
21815	if s.ServiceActionId == nil {
21816		invalidParams.Add(request.NewErrParamRequired("ServiceActionId"))
21817	}
21818	if s.ServiceActionId != nil && len(*s.ServiceActionId) < 1 {
21819		invalidParams.Add(request.NewErrParamMinLen("ServiceActionId", 1))
21820	}
21821
21822	if invalidParams.Len() > 0 {
21823		return invalidParams
21824	}
21825	return nil
21826}
21827
21828// SetProductId sets the ProductId field's value.
21829func (s *ServiceActionAssociation) SetProductId(v string) *ServiceActionAssociation {
21830	s.ProductId = &v
21831	return s
21832}
21833
21834// SetProvisioningArtifactId sets the ProvisioningArtifactId field's value.
21835func (s *ServiceActionAssociation) SetProvisioningArtifactId(v string) *ServiceActionAssociation {
21836	s.ProvisioningArtifactId = &v
21837	return s
21838}
21839
21840// SetServiceActionId sets the ServiceActionId field's value.
21841func (s *ServiceActionAssociation) SetServiceActionId(v string) *ServiceActionAssociation {
21842	s.ServiceActionId = &v
21843	return s
21844}
21845
21846// An object containing detailed information about the self-service action.
21847type ServiceActionDetail struct {
21848	_ struct{} `type:"structure"`
21849
21850	// A map that defines the self-service action.
21851	Definition map[string]*string `min:"1" type:"map"`
21852
21853	// Summary information about the self-service action.
21854	ServiceActionSummary *ServiceActionSummary `type:"structure"`
21855}
21856
21857// String returns the string representation.
21858//
21859// API parameter values that are decorated as "sensitive" in the API will not
21860// be included in the string output. The member name will be present, but the
21861// value will be replaced with "sensitive".
21862func (s ServiceActionDetail) String() string {
21863	return awsutil.Prettify(s)
21864}
21865
21866// GoString returns the string representation.
21867//
21868// API parameter values that are decorated as "sensitive" in the API will not
21869// be included in the string output. The member name will be present, but the
21870// value will be replaced with "sensitive".
21871func (s ServiceActionDetail) GoString() string {
21872	return s.String()
21873}
21874
21875// SetDefinition sets the Definition field's value.
21876func (s *ServiceActionDetail) SetDefinition(v map[string]*string) *ServiceActionDetail {
21877	s.Definition = v
21878	return s
21879}
21880
21881// SetServiceActionSummary sets the ServiceActionSummary field's value.
21882func (s *ServiceActionDetail) SetServiceActionSummary(v *ServiceActionSummary) *ServiceActionDetail {
21883	s.ServiceActionSummary = v
21884	return s
21885}
21886
21887// Detailed information about the self-service action.
21888type ServiceActionSummary struct {
21889	_ struct{} `type:"structure"`
21890
21891	// The self-service action definition type. For example, SSM_AUTOMATION.
21892	DefinitionType *string `type:"string" enum:"ServiceActionDefinitionType"`
21893
21894	// The self-service action description.
21895	Description *string `type:"string"`
21896
21897	// The self-service action identifier.
21898	Id *string `min:"1" type:"string"`
21899
21900	// The self-service action name.
21901	Name *string `min:"1" type:"string"`
21902}
21903
21904// String returns the string representation.
21905//
21906// API parameter values that are decorated as "sensitive" in the API will not
21907// be included in the string output. The member name will be present, but the
21908// value will be replaced with "sensitive".
21909func (s ServiceActionSummary) String() string {
21910	return awsutil.Prettify(s)
21911}
21912
21913// GoString returns the string representation.
21914//
21915// API parameter values that are decorated as "sensitive" in the API will not
21916// be included in the string output. The member name will be present, but the
21917// value will be replaced with "sensitive".
21918func (s ServiceActionSummary) GoString() string {
21919	return s.String()
21920}
21921
21922// SetDefinitionType sets the DefinitionType field's value.
21923func (s *ServiceActionSummary) SetDefinitionType(v string) *ServiceActionSummary {
21924	s.DefinitionType = &v
21925	return s
21926}
21927
21928// SetDescription sets the Description field's value.
21929func (s *ServiceActionSummary) SetDescription(v string) *ServiceActionSummary {
21930	s.Description = &v
21931	return s
21932}
21933
21934// SetId sets the Id field's value.
21935func (s *ServiceActionSummary) SetId(v string) *ServiceActionSummary {
21936	s.Id = &v
21937	return s
21938}
21939
21940// SetName sets the Name field's value.
21941func (s *ServiceActionSummary) SetName(v string) *ServiceActionSummary {
21942	s.Name = &v
21943	return s
21944}
21945
21946// Information about the portfolio share operation.
21947type ShareDetails struct {
21948	_ struct{} `type:"structure"`
21949
21950	// List of errors.
21951	ShareErrors []*ShareError `type:"list"`
21952
21953	// List of accounts for whom the operation succeeded.
21954	SuccessfulShares []*string `type:"list"`
21955}
21956
21957// String returns the string representation.
21958//
21959// API parameter values that are decorated as "sensitive" in the API will not
21960// be included in the string output. The member name will be present, but the
21961// value will be replaced with "sensitive".
21962func (s ShareDetails) String() string {
21963	return awsutil.Prettify(s)
21964}
21965
21966// GoString returns the string representation.
21967//
21968// API parameter values that are decorated as "sensitive" in the API will not
21969// be included in the string output. The member name will be present, but the
21970// value will be replaced with "sensitive".
21971func (s ShareDetails) GoString() string {
21972	return s.String()
21973}
21974
21975// SetShareErrors sets the ShareErrors field's value.
21976func (s *ShareDetails) SetShareErrors(v []*ShareError) *ShareDetails {
21977	s.ShareErrors = v
21978	return s
21979}
21980
21981// SetSuccessfulShares sets the SuccessfulShares field's value.
21982func (s *ShareDetails) SetSuccessfulShares(v []*string) *ShareDetails {
21983	s.SuccessfulShares = v
21984	return s
21985}
21986
21987// Errors that occurred during the portfolio share operation.
21988type ShareError struct {
21989	_ struct{} `type:"structure"`
21990
21991	// List of accounts impacted by the error.
21992	Accounts []*string `type:"list"`
21993
21994	// Error type that happened when processing the operation.
21995	Error *string `type:"string"`
21996
21997	// Information about the error.
21998	Message *string `type:"string"`
21999}
22000
22001// String returns the string representation.
22002//
22003// API parameter values that are decorated as "sensitive" in the API will not
22004// be included in the string output. The member name will be present, but the
22005// value will be replaced with "sensitive".
22006func (s ShareError) String() string {
22007	return awsutil.Prettify(s)
22008}
22009
22010// GoString returns the string representation.
22011//
22012// API parameter values that are decorated as "sensitive" in the API will not
22013// be included in the string output. The member name will be present, but the
22014// value will be replaced with "sensitive".
22015func (s ShareError) GoString() string {
22016	return s.String()
22017}
22018
22019// SetAccounts sets the Accounts field's value.
22020func (s *ShareError) SetAccounts(v []*string) *ShareError {
22021	s.Accounts = v
22022	return s
22023}
22024
22025// SetError sets the Error field's value.
22026func (s *ShareError) SetError(v string) *ShareError {
22027	s.Error = &v
22028	return s
22029}
22030
22031// SetMessage sets the Message field's value.
22032func (s *ShareError) SetMessage(v string) *ShareError {
22033	s.Message = &v
22034	return s
22035}
22036
22037// An AWS CloudFormation stack, in a specific account and region, that's part
22038// of a stack set operation. A stack instance is a reference to an attempted
22039// or actual stack in a given account within a given region. A stack instance
22040// can exist without a stack—for example, if the stack couldn't be created
22041// for some reason. A stack instance is associated with only one stack set.
22042// Each stack instance contains the ID of its associated stack set, as well
22043// as the ID of the actual stack and the stack status.
22044type StackInstance struct {
22045	_ struct{} `type:"structure"`
22046
22047	// The name of the AWS account that the stack instance is associated with.
22048	Account *string `type:"string"`
22049
22050	// The name of the AWS region that the stack instance is associated with.
22051	Region *string `type:"string"`
22052
22053	// The status of the stack instance, in terms of its synchronization with its
22054	// associated stack set.
22055	//
22056	//    * INOPERABLE: A DeleteStackInstances operation has failed and left the
22057	//    stack in an unstable state. Stacks in this state are excluded from further
22058	//    UpdateStackSet operations. You might need to perform a DeleteStackInstances
22059	//    operation, with RetainStacks set to true, to delete the stack instance,
22060	//    and then delete the stack manually.
22061	//
22062	//    * OUTDATED: The stack isn't currently up to date with the stack set because
22063	//    either the associated stack failed during a CreateStackSet or UpdateStackSet
22064	//    operation, or the stack was part of a CreateStackSet or UpdateStackSet
22065	//    operation that failed or was stopped before the stack was created or updated.
22066	//
22067	//    * CURRENT: The stack is currently up to date with the stack set.
22068	StackInstanceStatus *string `type:"string" enum:"StackInstanceStatus"`
22069}
22070
22071// String returns the string representation.
22072//
22073// API parameter values that are decorated as "sensitive" in the API will not
22074// be included in the string output. The member name will be present, but the
22075// value will be replaced with "sensitive".
22076func (s StackInstance) String() string {
22077	return awsutil.Prettify(s)
22078}
22079
22080// GoString returns the string representation.
22081//
22082// API parameter values that are decorated as "sensitive" in the API will not
22083// be included in the string output. The member name will be present, but the
22084// value will be replaced with "sensitive".
22085func (s StackInstance) GoString() string {
22086	return s.String()
22087}
22088
22089// SetAccount sets the Account field's value.
22090func (s *StackInstance) SetAccount(v string) *StackInstance {
22091	s.Account = &v
22092	return s
22093}
22094
22095// SetRegion sets the Region field's value.
22096func (s *StackInstance) SetRegion(v string) *StackInstance {
22097	s.Region = &v
22098	return s
22099}
22100
22101// SetStackInstanceStatus sets the StackInstanceStatus field's value.
22102func (s *StackInstance) SetStackInstanceStatus(v string) *StackInstance {
22103	s.StackInstanceStatus = &v
22104	return s
22105}
22106
22107// Information about a tag. A tag is a key-value pair. Tags are propagated to
22108// the resources created when provisioning a product.
22109type Tag struct {
22110	_ struct{} `type:"structure"`
22111
22112	// The tag key.
22113	//
22114	// Key is a required field
22115	Key *string `min:"1" type:"string" required:"true"`
22116
22117	// The value for this key.
22118	//
22119	// Value is a required field
22120	Value *string `min:"1" type:"string" required:"true"`
22121}
22122
22123// String returns the string representation.
22124//
22125// API parameter values that are decorated as "sensitive" in the API will not
22126// be included in the string output. The member name will be present, but the
22127// value will be replaced with "sensitive".
22128func (s Tag) String() string {
22129	return awsutil.Prettify(s)
22130}
22131
22132// GoString returns the string representation.
22133//
22134// API parameter values that are decorated as "sensitive" in the API will not
22135// be included in the string output. The member name will be present, but the
22136// value will be replaced with "sensitive".
22137func (s Tag) GoString() string {
22138	return s.String()
22139}
22140
22141// Validate inspects the fields of the type to determine if they are valid.
22142func (s *Tag) Validate() error {
22143	invalidParams := request.ErrInvalidParams{Context: "Tag"}
22144	if s.Key == nil {
22145		invalidParams.Add(request.NewErrParamRequired("Key"))
22146	}
22147	if s.Key != nil && len(*s.Key) < 1 {
22148		invalidParams.Add(request.NewErrParamMinLen("Key", 1))
22149	}
22150	if s.Value == nil {
22151		invalidParams.Add(request.NewErrParamRequired("Value"))
22152	}
22153	if s.Value != nil && len(*s.Value) < 1 {
22154		invalidParams.Add(request.NewErrParamMinLen("Value", 1))
22155	}
22156
22157	if invalidParams.Len() > 0 {
22158		return invalidParams
22159	}
22160	return nil
22161}
22162
22163// SetKey sets the Key field's value.
22164func (s *Tag) SetKey(v string) *Tag {
22165	s.Key = &v
22166	return s
22167}
22168
22169// SetValue sets the Value field's value.
22170func (s *Tag) SetValue(v string) *Tag {
22171	s.Value = &v
22172	return s
22173}
22174
22175// Information about a TagOption.
22176type TagOptionDetail struct {
22177	_ struct{} `type:"structure"`
22178
22179	// The TagOption active state.
22180	Active *bool `type:"boolean"`
22181
22182	// The TagOption identifier.
22183	Id *string `min:"1" type:"string"`
22184
22185	// The TagOption key.
22186	Key *string `min:"1" type:"string"`
22187
22188	// The AWS account Id of the owner account that created the TagOption.
22189	Owner *string `type:"string"`
22190
22191	// The TagOption value.
22192	Value *string `min:"1" type:"string"`
22193}
22194
22195// String returns the string representation.
22196//
22197// API parameter values that are decorated as "sensitive" in the API will not
22198// be included in the string output. The member name will be present, but the
22199// value will be replaced with "sensitive".
22200func (s TagOptionDetail) String() string {
22201	return awsutil.Prettify(s)
22202}
22203
22204// GoString returns the string representation.
22205//
22206// API parameter values that are decorated as "sensitive" in the API will not
22207// be included in the string output. The member name will be present, but the
22208// value will be replaced with "sensitive".
22209func (s TagOptionDetail) GoString() string {
22210	return s.String()
22211}
22212
22213// SetActive sets the Active field's value.
22214func (s *TagOptionDetail) SetActive(v bool) *TagOptionDetail {
22215	s.Active = &v
22216	return s
22217}
22218
22219// SetId sets the Id field's value.
22220func (s *TagOptionDetail) SetId(v string) *TagOptionDetail {
22221	s.Id = &v
22222	return s
22223}
22224
22225// SetKey sets the Key field's value.
22226func (s *TagOptionDetail) SetKey(v string) *TagOptionDetail {
22227	s.Key = &v
22228	return s
22229}
22230
22231// SetOwner sets the Owner field's value.
22232func (s *TagOptionDetail) SetOwner(v string) *TagOptionDetail {
22233	s.Owner = &v
22234	return s
22235}
22236
22237// SetValue sets the Value field's value.
22238func (s *TagOptionDetail) SetValue(v string) *TagOptionDetail {
22239	s.Value = &v
22240	return s
22241}
22242
22243// An operation requiring TagOptions failed because the TagOptions migration
22244// process has not been performed for this account. Please use the AWS console
22245// to perform the migration process before retrying the operation.
22246type TagOptionNotMigratedException struct {
22247	_            struct{}                  `type:"structure"`
22248	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
22249
22250	Message_ *string `locationName:"message" type:"string"`
22251}
22252
22253// String returns the string representation.
22254//
22255// API parameter values that are decorated as "sensitive" in the API will not
22256// be included in the string output. The member name will be present, but the
22257// value will be replaced with "sensitive".
22258func (s TagOptionNotMigratedException) String() string {
22259	return awsutil.Prettify(s)
22260}
22261
22262// GoString returns the string representation.
22263//
22264// API parameter values that are decorated as "sensitive" in the API will not
22265// be included in the string output. The member name will be present, but the
22266// value will be replaced with "sensitive".
22267func (s TagOptionNotMigratedException) GoString() string {
22268	return s.String()
22269}
22270
22271func newErrorTagOptionNotMigratedException(v protocol.ResponseMetadata) error {
22272	return &TagOptionNotMigratedException{
22273		RespMetadata: v,
22274	}
22275}
22276
22277// Code returns the exception type name.
22278func (s *TagOptionNotMigratedException) Code() string {
22279	return "TagOptionNotMigratedException"
22280}
22281
22282// Message returns the exception's message.
22283func (s *TagOptionNotMigratedException) Message() string {
22284	if s.Message_ != nil {
22285		return *s.Message_
22286	}
22287	return ""
22288}
22289
22290// OrigErr always returns nil, satisfies awserr.Error interface.
22291func (s *TagOptionNotMigratedException) OrigErr() error {
22292	return nil
22293}
22294
22295func (s *TagOptionNotMigratedException) Error() string {
22296	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
22297}
22298
22299// Status code returns the HTTP status code for the request's response error.
22300func (s *TagOptionNotMigratedException) StatusCode() int {
22301	return s.RespMetadata.StatusCode
22302}
22303
22304// RequestID returns the service's response RequestID for request.
22305func (s *TagOptionNotMigratedException) RequestID() string {
22306	return s.RespMetadata.RequestID
22307}
22308
22309// Summary information about a TagOption.
22310type TagOptionSummary struct {
22311	_ struct{} `type:"structure"`
22312
22313	// The TagOption key.
22314	Key *string `min:"1" type:"string"`
22315
22316	// The TagOption value.
22317	Values []*string `type:"list"`
22318}
22319
22320// String returns the string representation.
22321//
22322// API parameter values that are decorated as "sensitive" in the API will not
22323// be included in the string output. The member name will be present, but the
22324// value will be replaced with "sensitive".
22325func (s TagOptionSummary) String() string {
22326	return awsutil.Prettify(s)
22327}
22328
22329// GoString returns the string representation.
22330//
22331// API parameter values that are decorated as "sensitive" in the API will not
22332// be included in the string output. The member name will be present, but the
22333// value will be replaced with "sensitive".
22334func (s TagOptionSummary) GoString() string {
22335	return s.String()
22336}
22337
22338// SetKey sets the Key field's value.
22339func (s *TagOptionSummary) SetKey(v string) *TagOptionSummary {
22340	s.Key = &v
22341	return s
22342}
22343
22344// SetValues sets the Values field's value.
22345func (s *TagOptionSummary) SetValues(v []*string) *TagOptionSummary {
22346	s.Values = v
22347	return s
22348}
22349
22350type TerminateProvisionedProductInput struct {
22351	_ struct{} `type:"structure"`
22352
22353	// The language code.
22354	//
22355	//    * en - English (default)
22356	//
22357	//    * jp - Japanese
22358	//
22359	//    * zh - Chinese
22360	AcceptLanguage *string `type:"string"`
22361
22362	// If set to true, AWS Service Catalog stops managing the specified provisioned
22363	// product even if it cannot delete the underlying resources.
22364	IgnoreErrors *bool `type:"boolean"`
22365
22366	// The identifier of the provisioned product. You cannot specify both ProvisionedProductName
22367	// and ProvisionedProductId.
22368	ProvisionedProductId *string `min:"1" type:"string"`
22369
22370	// The name of the provisioned product. You cannot specify both ProvisionedProductName
22371	// and ProvisionedProductId.
22372	ProvisionedProductName *string `min:"1" type:"string"`
22373
22374	// When this boolean parameter is set to true, the TerminateProvisionedProduct
22375	// API deletes the Service Catalog provisioned product. However, it does not
22376	// remove the CloudFormation stack, stack set, or the underlying resources of
22377	// the deleted provisioned product. The default value is false.
22378	RetainPhysicalResources *bool `type:"boolean"`
22379
22380	// An idempotency token that uniquely identifies the termination request. This
22381	// token is only valid during the termination process. After the provisioned
22382	// product is terminated, subsequent requests to terminate the same provisioned
22383	// product always return ResourceNotFound.
22384	TerminateToken *string `min:"1" type:"string" idempotencyToken:"true"`
22385}
22386
22387// String returns the string representation.
22388//
22389// API parameter values that are decorated as "sensitive" in the API will not
22390// be included in the string output. The member name will be present, but the
22391// value will be replaced with "sensitive".
22392func (s TerminateProvisionedProductInput) String() string {
22393	return awsutil.Prettify(s)
22394}
22395
22396// GoString returns the string representation.
22397//
22398// API parameter values that are decorated as "sensitive" in the API will not
22399// be included in the string output. The member name will be present, but the
22400// value will be replaced with "sensitive".
22401func (s TerminateProvisionedProductInput) GoString() string {
22402	return s.String()
22403}
22404
22405// Validate inspects the fields of the type to determine if they are valid.
22406func (s *TerminateProvisionedProductInput) Validate() error {
22407	invalidParams := request.ErrInvalidParams{Context: "TerminateProvisionedProductInput"}
22408	if s.ProvisionedProductId != nil && len(*s.ProvisionedProductId) < 1 {
22409		invalidParams.Add(request.NewErrParamMinLen("ProvisionedProductId", 1))
22410	}
22411	if s.ProvisionedProductName != nil && len(*s.ProvisionedProductName) < 1 {
22412		invalidParams.Add(request.NewErrParamMinLen("ProvisionedProductName", 1))
22413	}
22414	if s.TerminateToken != nil && len(*s.TerminateToken) < 1 {
22415		invalidParams.Add(request.NewErrParamMinLen("TerminateToken", 1))
22416	}
22417
22418	if invalidParams.Len() > 0 {
22419		return invalidParams
22420	}
22421	return nil
22422}
22423
22424// SetAcceptLanguage sets the AcceptLanguage field's value.
22425func (s *TerminateProvisionedProductInput) SetAcceptLanguage(v string) *TerminateProvisionedProductInput {
22426	s.AcceptLanguage = &v
22427	return s
22428}
22429
22430// SetIgnoreErrors sets the IgnoreErrors field's value.
22431func (s *TerminateProvisionedProductInput) SetIgnoreErrors(v bool) *TerminateProvisionedProductInput {
22432	s.IgnoreErrors = &v
22433	return s
22434}
22435
22436// SetProvisionedProductId sets the ProvisionedProductId field's value.
22437func (s *TerminateProvisionedProductInput) SetProvisionedProductId(v string) *TerminateProvisionedProductInput {
22438	s.ProvisionedProductId = &v
22439	return s
22440}
22441
22442// SetProvisionedProductName sets the ProvisionedProductName field's value.
22443func (s *TerminateProvisionedProductInput) SetProvisionedProductName(v string) *TerminateProvisionedProductInput {
22444	s.ProvisionedProductName = &v
22445	return s
22446}
22447
22448// SetRetainPhysicalResources sets the RetainPhysicalResources field's value.
22449func (s *TerminateProvisionedProductInput) SetRetainPhysicalResources(v bool) *TerminateProvisionedProductInput {
22450	s.RetainPhysicalResources = &v
22451	return s
22452}
22453
22454// SetTerminateToken sets the TerminateToken field's value.
22455func (s *TerminateProvisionedProductInput) SetTerminateToken(v string) *TerminateProvisionedProductInput {
22456	s.TerminateToken = &v
22457	return s
22458}
22459
22460type TerminateProvisionedProductOutput struct {
22461	_ struct{} `type:"structure"`
22462
22463	// Information about the result of this request.
22464	RecordDetail *RecordDetail `type:"structure"`
22465}
22466
22467// String returns the string representation.
22468//
22469// API parameter values that are decorated as "sensitive" in the API will not
22470// be included in the string output. The member name will be present, but the
22471// value will be replaced with "sensitive".
22472func (s TerminateProvisionedProductOutput) String() string {
22473	return awsutil.Prettify(s)
22474}
22475
22476// GoString returns the string representation.
22477//
22478// API parameter values that are decorated as "sensitive" in the API will not
22479// be included in the string output. The member name will be present, but the
22480// value will be replaced with "sensitive".
22481func (s TerminateProvisionedProductOutput) GoString() string {
22482	return s.String()
22483}
22484
22485// SetRecordDetail sets the RecordDetail field's value.
22486func (s *TerminateProvisionedProductOutput) SetRecordDetail(v *RecordDetail) *TerminateProvisionedProductOutput {
22487	s.RecordDetail = v
22488	return s
22489}
22490
22491type UpdateConstraintInput struct {
22492	_ struct{} `type:"structure"`
22493
22494	// The language code.
22495	//
22496	//    * en - English (default)
22497	//
22498	//    * jp - Japanese
22499	//
22500	//    * zh - Chinese
22501	AcceptLanguage *string `type:"string"`
22502
22503	// The updated description of the constraint.
22504	Description *string `type:"string"`
22505
22506	// The identifier of the constraint.
22507	//
22508	// Id is a required field
22509	Id *string `min:"1" type:"string" required:"true"`
22510
22511	// The constraint parameters, in JSON format. The syntax depends on the constraint
22512	// type as follows:
22513	//
22514	// LAUNCH
22515	//
22516	// You are required to specify either the RoleArn or the LocalRoleName but can't
22517	// use both.
22518	//
22519	// Specify the RoleArn property as follows:
22520	//
22521	// {"RoleArn" : "arn:aws:iam::123456789012:role/LaunchRole"}
22522	//
22523	// Specify the LocalRoleName property as follows:
22524	//
22525	// {"LocalRoleName": "SCBasicLaunchRole"}
22526	//
22527	// If you specify the LocalRoleName property, when an account uses the launch
22528	// constraint, the IAM role with that name in the account will be used. This
22529	// allows launch-role constraints to be account-agnostic so the administrator
22530	// can create fewer resources per shared account.
22531	//
22532	// The given role name must exist in the account used to create the launch constraint
22533	// and the account of the user who launches a product with this launch constraint.
22534	//
22535	// You cannot have both a LAUNCH and a STACKSET constraint.
22536	//
22537	// You also cannot have more than one LAUNCH constraint on a product and portfolio.
22538	//
22539	// NOTIFICATION
22540	//
22541	// Specify the NotificationArns property as follows:
22542	//
22543	// {"NotificationArns" : ["arn:aws:sns:us-east-1:123456789012:Topic"]}
22544	//
22545	// RESOURCE_UPDATE
22546	//
22547	// Specify the TagUpdatesOnProvisionedProduct property as follows:
22548	//
22549	// {"Version":"2.0","Properties":{"TagUpdateOnProvisionedProduct":"String"}}
22550	//
22551	// The TagUpdatesOnProvisionedProduct property accepts a string value of ALLOWED
22552	// or NOT_ALLOWED.
22553	//
22554	// STACKSET
22555	//
22556	// Specify the Parameters property as follows:
22557	//
22558	// {"Version": "String", "Properties": {"AccountList": [ "String" ], "RegionList":
22559	// [ "String" ], "AdminRole": "String", "ExecutionRole": "String"}}
22560	//
22561	// You cannot have both a LAUNCH and a STACKSET constraint.
22562	//
22563	// You also cannot have more than one STACKSET constraint on a product and portfolio.
22564	//
22565	// Products with a STACKSET constraint will launch an AWS CloudFormation stack
22566	// set.
22567	//
22568	// TEMPLATE
22569	//
22570	// Specify the Rules property. For more information, see Template Constraint
22571	// Rules (http://docs.aws.amazon.com/servicecatalog/latest/adminguide/reference-template_constraint_rules.html).
22572	Parameters *string `type:"string"`
22573}
22574
22575// String returns the string representation.
22576//
22577// API parameter values that are decorated as "sensitive" in the API will not
22578// be included in the string output. The member name will be present, but the
22579// value will be replaced with "sensitive".
22580func (s UpdateConstraintInput) String() string {
22581	return awsutil.Prettify(s)
22582}
22583
22584// GoString returns the string representation.
22585//
22586// API parameter values that are decorated as "sensitive" in the API will not
22587// be included in the string output. The member name will be present, but the
22588// value will be replaced with "sensitive".
22589func (s UpdateConstraintInput) GoString() string {
22590	return s.String()
22591}
22592
22593// Validate inspects the fields of the type to determine if they are valid.
22594func (s *UpdateConstraintInput) Validate() error {
22595	invalidParams := request.ErrInvalidParams{Context: "UpdateConstraintInput"}
22596	if s.Id == nil {
22597		invalidParams.Add(request.NewErrParamRequired("Id"))
22598	}
22599	if s.Id != nil && len(*s.Id) < 1 {
22600		invalidParams.Add(request.NewErrParamMinLen("Id", 1))
22601	}
22602
22603	if invalidParams.Len() > 0 {
22604		return invalidParams
22605	}
22606	return nil
22607}
22608
22609// SetAcceptLanguage sets the AcceptLanguage field's value.
22610func (s *UpdateConstraintInput) SetAcceptLanguage(v string) *UpdateConstraintInput {
22611	s.AcceptLanguage = &v
22612	return s
22613}
22614
22615// SetDescription sets the Description field's value.
22616func (s *UpdateConstraintInput) SetDescription(v string) *UpdateConstraintInput {
22617	s.Description = &v
22618	return s
22619}
22620
22621// SetId sets the Id field's value.
22622func (s *UpdateConstraintInput) SetId(v string) *UpdateConstraintInput {
22623	s.Id = &v
22624	return s
22625}
22626
22627// SetParameters sets the Parameters field's value.
22628func (s *UpdateConstraintInput) SetParameters(v string) *UpdateConstraintInput {
22629	s.Parameters = &v
22630	return s
22631}
22632
22633type UpdateConstraintOutput struct {
22634	_ struct{} `type:"structure"`
22635
22636	// Information about the constraint.
22637	ConstraintDetail *ConstraintDetail `type:"structure"`
22638
22639	// The constraint parameters.
22640	ConstraintParameters *string `type:"string"`
22641
22642	// The status of the current request.
22643	Status *string `type:"string" enum:"Status"`
22644}
22645
22646// String returns the string representation.
22647//
22648// API parameter values that are decorated as "sensitive" in the API will not
22649// be included in the string output. The member name will be present, but the
22650// value will be replaced with "sensitive".
22651func (s UpdateConstraintOutput) String() string {
22652	return awsutil.Prettify(s)
22653}
22654
22655// GoString returns the string representation.
22656//
22657// API parameter values that are decorated as "sensitive" in the API will not
22658// be included in the string output. The member name will be present, but the
22659// value will be replaced with "sensitive".
22660func (s UpdateConstraintOutput) GoString() string {
22661	return s.String()
22662}
22663
22664// SetConstraintDetail sets the ConstraintDetail field's value.
22665func (s *UpdateConstraintOutput) SetConstraintDetail(v *ConstraintDetail) *UpdateConstraintOutput {
22666	s.ConstraintDetail = v
22667	return s
22668}
22669
22670// SetConstraintParameters sets the ConstraintParameters field's value.
22671func (s *UpdateConstraintOutput) SetConstraintParameters(v string) *UpdateConstraintOutput {
22672	s.ConstraintParameters = &v
22673	return s
22674}
22675
22676// SetStatus sets the Status field's value.
22677func (s *UpdateConstraintOutput) SetStatus(v string) *UpdateConstraintOutput {
22678	s.Status = &v
22679	return s
22680}
22681
22682type UpdatePortfolioInput struct {
22683	_ struct{} `type:"structure"`
22684
22685	// The language code.
22686	//
22687	//    * en - English (default)
22688	//
22689	//    * jp - Japanese
22690	//
22691	//    * zh - Chinese
22692	AcceptLanguage *string `type:"string"`
22693
22694	// The tags to add.
22695	AddTags []*Tag `type:"list"`
22696
22697	// The updated description of the portfolio.
22698	Description *string `type:"string"`
22699
22700	// The name to use for display purposes.
22701	DisplayName *string `min:"1" type:"string"`
22702
22703	// The portfolio identifier.
22704	//
22705	// Id is a required field
22706	Id *string `min:"1" type:"string" required:"true"`
22707
22708	// The updated name of the portfolio provider.
22709	ProviderName *string `min:"1" type:"string"`
22710
22711	// The tags to remove.
22712	RemoveTags []*string `type:"list"`
22713}
22714
22715// String returns the string representation.
22716//
22717// API parameter values that are decorated as "sensitive" in the API will not
22718// be included in the string output. The member name will be present, but the
22719// value will be replaced with "sensitive".
22720func (s UpdatePortfolioInput) String() string {
22721	return awsutil.Prettify(s)
22722}
22723
22724// GoString returns the string representation.
22725//
22726// API parameter values that are decorated as "sensitive" in the API will not
22727// be included in the string output. The member name will be present, but the
22728// value will be replaced with "sensitive".
22729func (s UpdatePortfolioInput) GoString() string {
22730	return s.String()
22731}
22732
22733// Validate inspects the fields of the type to determine if they are valid.
22734func (s *UpdatePortfolioInput) Validate() error {
22735	invalidParams := request.ErrInvalidParams{Context: "UpdatePortfolioInput"}
22736	if s.DisplayName != nil && len(*s.DisplayName) < 1 {
22737		invalidParams.Add(request.NewErrParamMinLen("DisplayName", 1))
22738	}
22739	if s.Id == nil {
22740		invalidParams.Add(request.NewErrParamRequired("Id"))
22741	}
22742	if s.Id != nil && len(*s.Id) < 1 {
22743		invalidParams.Add(request.NewErrParamMinLen("Id", 1))
22744	}
22745	if s.ProviderName != nil && len(*s.ProviderName) < 1 {
22746		invalidParams.Add(request.NewErrParamMinLen("ProviderName", 1))
22747	}
22748	if s.AddTags != nil {
22749		for i, v := range s.AddTags {
22750			if v == nil {
22751				continue
22752			}
22753			if err := v.Validate(); err != nil {
22754				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "AddTags", i), err.(request.ErrInvalidParams))
22755			}
22756		}
22757	}
22758
22759	if invalidParams.Len() > 0 {
22760		return invalidParams
22761	}
22762	return nil
22763}
22764
22765// SetAcceptLanguage sets the AcceptLanguage field's value.
22766func (s *UpdatePortfolioInput) SetAcceptLanguage(v string) *UpdatePortfolioInput {
22767	s.AcceptLanguage = &v
22768	return s
22769}
22770
22771// SetAddTags sets the AddTags field's value.
22772func (s *UpdatePortfolioInput) SetAddTags(v []*Tag) *UpdatePortfolioInput {
22773	s.AddTags = v
22774	return s
22775}
22776
22777// SetDescription sets the Description field's value.
22778func (s *UpdatePortfolioInput) SetDescription(v string) *UpdatePortfolioInput {
22779	s.Description = &v
22780	return s
22781}
22782
22783// SetDisplayName sets the DisplayName field's value.
22784func (s *UpdatePortfolioInput) SetDisplayName(v string) *UpdatePortfolioInput {
22785	s.DisplayName = &v
22786	return s
22787}
22788
22789// SetId sets the Id field's value.
22790func (s *UpdatePortfolioInput) SetId(v string) *UpdatePortfolioInput {
22791	s.Id = &v
22792	return s
22793}
22794
22795// SetProviderName sets the ProviderName field's value.
22796func (s *UpdatePortfolioInput) SetProviderName(v string) *UpdatePortfolioInput {
22797	s.ProviderName = &v
22798	return s
22799}
22800
22801// SetRemoveTags sets the RemoveTags field's value.
22802func (s *UpdatePortfolioInput) SetRemoveTags(v []*string) *UpdatePortfolioInput {
22803	s.RemoveTags = v
22804	return s
22805}
22806
22807type UpdatePortfolioOutput struct {
22808	_ struct{} `type:"structure"`
22809
22810	// Information about the portfolio.
22811	PortfolioDetail *PortfolioDetail `type:"structure"`
22812
22813	// Information about the tags associated with the portfolio.
22814	Tags []*Tag `type:"list"`
22815}
22816
22817// String returns the string representation.
22818//
22819// API parameter values that are decorated as "sensitive" in the API will not
22820// be included in the string output. The member name will be present, but the
22821// value will be replaced with "sensitive".
22822func (s UpdatePortfolioOutput) String() string {
22823	return awsutil.Prettify(s)
22824}
22825
22826// GoString returns the string representation.
22827//
22828// API parameter values that are decorated as "sensitive" in the API will not
22829// be included in the string output. The member name will be present, but the
22830// value will be replaced with "sensitive".
22831func (s UpdatePortfolioOutput) GoString() string {
22832	return s.String()
22833}
22834
22835// SetPortfolioDetail sets the PortfolioDetail field's value.
22836func (s *UpdatePortfolioOutput) SetPortfolioDetail(v *PortfolioDetail) *UpdatePortfolioOutput {
22837	s.PortfolioDetail = v
22838	return s
22839}
22840
22841// SetTags sets the Tags field's value.
22842func (s *UpdatePortfolioOutput) SetTags(v []*Tag) *UpdatePortfolioOutput {
22843	s.Tags = v
22844	return s
22845}
22846
22847type UpdatePortfolioShareInput struct {
22848	_ struct{} `type:"structure"`
22849
22850	// The language code.
22851	//
22852	//    * en - English (default)
22853	//
22854	//    * jp - Japanese
22855	//
22856	//    * zh - Chinese
22857	AcceptLanguage *string `type:"string"`
22858
22859	// The AWS Account Id of the recipient account. This field is required when
22860	// updating an external account to account type share.
22861	AccountId *string `type:"string"`
22862
22863	// Information about the organization node.
22864	OrganizationNode *OrganizationNode `type:"structure"`
22865
22866	// The unique identifier of the portfolio for which the share will be updated.
22867	//
22868	// PortfolioId is a required field
22869	PortfolioId *string `min:"1" type:"string" required:"true"`
22870
22871	// A flag to enable or disable TagOptions sharing for the portfolio share. If
22872	// this field is not provided, the current state of TagOptions sharing on the
22873	// portfolio share will not be modified.
22874	ShareTagOptions *bool `type:"boolean"`
22875}
22876
22877// String returns the string representation.
22878//
22879// API parameter values that are decorated as "sensitive" in the API will not
22880// be included in the string output. The member name will be present, but the
22881// value will be replaced with "sensitive".
22882func (s UpdatePortfolioShareInput) String() string {
22883	return awsutil.Prettify(s)
22884}
22885
22886// GoString returns the string representation.
22887//
22888// API parameter values that are decorated as "sensitive" in the API will not
22889// be included in the string output. The member name will be present, but the
22890// value will be replaced with "sensitive".
22891func (s UpdatePortfolioShareInput) GoString() string {
22892	return s.String()
22893}
22894
22895// Validate inspects the fields of the type to determine if they are valid.
22896func (s *UpdatePortfolioShareInput) Validate() error {
22897	invalidParams := request.ErrInvalidParams{Context: "UpdatePortfolioShareInput"}
22898	if s.PortfolioId == nil {
22899		invalidParams.Add(request.NewErrParamRequired("PortfolioId"))
22900	}
22901	if s.PortfolioId != nil && len(*s.PortfolioId) < 1 {
22902		invalidParams.Add(request.NewErrParamMinLen("PortfolioId", 1))
22903	}
22904
22905	if invalidParams.Len() > 0 {
22906		return invalidParams
22907	}
22908	return nil
22909}
22910
22911// SetAcceptLanguage sets the AcceptLanguage field's value.
22912func (s *UpdatePortfolioShareInput) SetAcceptLanguage(v string) *UpdatePortfolioShareInput {
22913	s.AcceptLanguage = &v
22914	return s
22915}
22916
22917// SetAccountId sets the AccountId field's value.
22918func (s *UpdatePortfolioShareInput) SetAccountId(v string) *UpdatePortfolioShareInput {
22919	s.AccountId = &v
22920	return s
22921}
22922
22923// SetOrganizationNode sets the OrganizationNode field's value.
22924func (s *UpdatePortfolioShareInput) SetOrganizationNode(v *OrganizationNode) *UpdatePortfolioShareInput {
22925	s.OrganizationNode = v
22926	return s
22927}
22928
22929// SetPortfolioId sets the PortfolioId field's value.
22930func (s *UpdatePortfolioShareInput) SetPortfolioId(v string) *UpdatePortfolioShareInput {
22931	s.PortfolioId = &v
22932	return s
22933}
22934
22935// SetShareTagOptions sets the ShareTagOptions field's value.
22936func (s *UpdatePortfolioShareInput) SetShareTagOptions(v bool) *UpdatePortfolioShareInput {
22937	s.ShareTagOptions = &v
22938	return s
22939}
22940
22941type UpdatePortfolioShareOutput struct {
22942	_ struct{} `type:"structure"`
22943
22944	// The token that tracks the status of the UpdatePortfolioShare operation for
22945	// external account to account or organizational type sharing.
22946	PortfolioShareToken *string `min:"1" type:"string"`
22947
22948	// The status of UpdatePortfolioShare operation. You can also obtain the operation
22949	// status using DescribePortfolioShareStatus API.
22950	Status *string `type:"string" enum:"ShareStatus"`
22951}
22952
22953// String returns the string representation.
22954//
22955// API parameter values that are decorated as "sensitive" in the API will not
22956// be included in the string output. The member name will be present, but the
22957// value will be replaced with "sensitive".
22958func (s UpdatePortfolioShareOutput) String() string {
22959	return awsutil.Prettify(s)
22960}
22961
22962// GoString returns the string representation.
22963//
22964// API parameter values that are decorated as "sensitive" in the API will not
22965// be included in the string output. The member name will be present, but the
22966// value will be replaced with "sensitive".
22967func (s UpdatePortfolioShareOutput) GoString() string {
22968	return s.String()
22969}
22970
22971// SetPortfolioShareToken sets the PortfolioShareToken field's value.
22972func (s *UpdatePortfolioShareOutput) SetPortfolioShareToken(v string) *UpdatePortfolioShareOutput {
22973	s.PortfolioShareToken = &v
22974	return s
22975}
22976
22977// SetStatus sets the Status field's value.
22978func (s *UpdatePortfolioShareOutput) SetStatus(v string) *UpdatePortfolioShareOutput {
22979	s.Status = &v
22980	return s
22981}
22982
22983type UpdateProductInput struct {
22984	_ struct{} `type:"structure"`
22985
22986	// The language code.
22987	//
22988	//    * en - English (default)
22989	//
22990	//    * jp - Japanese
22991	//
22992	//    * zh - Chinese
22993	AcceptLanguage *string `type:"string"`
22994
22995	// The tags to add to the product.
22996	AddTags []*Tag `type:"list"`
22997
22998	// The updated description of the product.
22999	Description *string `type:"string"`
23000
23001	// The updated distributor of the product.
23002	Distributor *string `type:"string"`
23003
23004	// The product identifier.
23005	//
23006	// Id is a required field
23007	Id *string `min:"1" type:"string" required:"true"`
23008
23009	// The updated product name.
23010	Name *string `type:"string"`
23011
23012	// The updated owner of the product.
23013	Owner *string `type:"string"`
23014
23015	// The tags to remove from the product.
23016	RemoveTags []*string `type:"list"`
23017
23018	// The updated support description for the product.
23019	SupportDescription *string `type:"string"`
23020
23021	// The updated support email for the product.
23022	SupportEmail *string `type:"string"`
23023
23024	// The updated support URL for the product.
23025	SupportUrl *string `type:"string"`
23026}
23027
23028// String returns the string representation.
23029//
23030// API parameter values that are decorated as "sensitive" in the API will not
23031// be included in the string output. The member name will be present, but the
23032// value will be replaced with "sensitive".
23033func (s UpdateProductInput) String() string {
23034	return awsutil.Prettify(s)
23035}
23036
23037// GoString returns the string representation.
23038//
23039// API parameter values that are decorated as "sensitive" in the API will not
23040// be included in the string output. The member name will be present, but the
23041// value will be replaced with "sensitive".
23042func (s UpdateProductInput) GoString() string {
23043	return s.String()
23044}
23045
23046// Validate inspects the fields of the type to determine if they are valid.
23047func (s *UpdateProductInput) Validate() error {
23048	invalidParams := request.ErrInvalidParams{Context: "UpdateProductInput"}
23049	if s.Id == nil {
23050		invalidParams.Add(request.NewErrParamRequired("Id"))
23051	}
23052	if s.Id != nil && len(*s.Id) < 1 {
23053		invalidParams.Add(request.NewErrParamMinLen("Id", 1))
23054	}
23055	if s.AddTags != nil {
23056		for i, v := range s.AddTags {
23057			if v == nil {
23058				continue
23059			}
23060			if err := v.Validate(); err != nil {
23061				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "AddTags", i), err.(request.ErrInvalidParams))
23062			}
23063		}
23064	}
23065
23066	if invalidParams.Len() > 0 {
23067		return invalidParams
23068	}
23069	return nil
23070}
23071
23072// SetAcceptLanguage sets the AcceptLanguage field's value.
23073func (s *UpdateProductInput) SetAcceptLanguage(v string) *UpdateProductInput {
23074	s.AcceptLanguage = &v
23075	return s
23076}
23077
23078// SetAddTags sets the AddTags field's value.
23079func (s *UpdateProductInput) SetAddTags(v []*Tag) *UpdateProductInput {
23080	s.AddTags = v
23081	return s
23082}
23083
23084// SetDescription sets the Description field's value.
23085func (s *UpdateProductInput) SetDescription(v string) *UpdateProductInput {
23086	s.Description = &v
23087	return s
23088}
23089
23090// SetDistributor sets the Distributor field's value.
23091func (s *UpdateProductInput) SetDistributor(v string) *UpdateProductInput {
23092	s.Distributor = &v
23093	return s
23094}
23095
23096// SetId sets the Id field's value.
23097func (s *UpdateProductInput) SetId(v string) *UpdateProductInput {
23098	s.Id = &v
23099	return s
23100}
23101
23102// SetName sets the Name field's value.
23103func (s *UpdateProductInput) SetName(v string) *UpdateProductInput {
23104	s.Name = &v
23105	return s
23106}
23107
23108// SetOwner sets the Owner field's value.
23109func (s *UpdateProductInput) SetOwner(v string) *UpdateProductInput {
23110	s.Owner = &v
23111	return s
23112}
23113
23114// SetRemoveTags sets the RemoveTags field's value.
23115func (s *UpdateProductInput) SetRemoveTags(v []*string) *UpdateProductInput {
23116	s.RemoveTags = v
23117	return s
23118}
23119
23120// SetSupportDescription sets the SupportDescription field's value.
23121func (s *UpdateProductInput) SetSupportDescription(v string) *UpdateProductInput {
23122	s.SupportDescription = &v
23123	return s
23124}
23125
23126// SetSupportEmail sets the SupportEmail field's value.
23127func (s *UpdateProductInput) SetSupportEmail(v string) *UpdateProductInput {
23128	s.SupportEmail = &v
23129	return s
23130}
23131
23132// SetSupportUrl sets the SupportUrl field's value.
23133func (s *UpdateProductInput) SetSupportUrl(v string) *UpdateProductInput {
23134	s.SupportUrl = &v
23135	return s
23136}
23137
23138type UpdateProductOutput struct {
23139	_ struct{} `type:"structure"`
23140
23141	// Information about the product view.
23142	ProductViewDetail *ProductViewDetail `type:"structure"`
23143
23144	// Information about the tags associated with the product.
23145	Tags []*Tag `type:"list"`
23146}
23147
23148// String returns the string representation.
23149//
23150// API parameter values that are decorated as "sensitive" in the API will not
23151// be included in the string output. The member name will be present, but the
23152// value will be replaced with "sensitive".
23153func (s UpdateProductOutput) String() string {
23154	return awsutil.Prettify(s)
23155}
23156
23157// GoString returns the string representation.
23158//
23159// API parameter values that are decorated as "sensitive" in the API will not
23160// be included in the string output. The member name will be present, but the
23161// value will be replaced with "sensitive".
23162func (s UpdateProductOutput) GoString() string {
23163	return s.String()
23164}
23165
23166// SetProductViewDetail sets the ProductViewDetail field's value.
23167func (s *UpdateProductOutput) SetProductViewDetail(v *ProductViewDetail) *UpdateProductOutput {
23168	s.ProductViewDetail = v
23169	return s
23170}
23171
23172// SetTags sets the Tags field's value.
23173func (s *UpdateProductOutput) SetTags(v []*Tag) *UpdateProductOutput {
23174	s.Tags = v
23175	return s
23176}
23177
23178type UpdateProvisionedProductInput struct {
23179	_ struct{} `type:"structure"`
23180
23181	// The language code.
23182	//
23183	//    * en - English (default)
23184	//
23185	//    * jp - Japanese
23186	//
23187	//    * zh - Chinese
23188	AcceptLanguage *string `type:"string"`
23189
23190	// The path identifier. This value is optional if the product has a default
23191	// path, and required if the product has more than one path. You must provide
23192	// the name or ID, but not both.
23193	PathId *string `min:"1" type:"string"`
23194
23195	// The name of the path. You must provide the name or ID, but not both.
23196	PathName *string `min:"1" type:"string"`
23197
23198	// The identifier of the product. You must provide the name or ID, but not both.
23199	ProductId *string `min:"1" type:"string"`
23200
23201	// The name of the product. You must provide the name or ID, but not both.
23202	ProductName *string `type:"string"`
23203
23204	// The identifier of the provisioned product. You must provide the name or ID,
23205	// but not both.
23206	ProvisionedProductId *string `min:"1" type:"string"`
23207
23208	// The name of the provisioned product. You cannot specify both ProvisionedProductName
23209	// and ProvisionedProductId.
23210	ProvisionedProductName *string `min:"1" type:"string"`
23211
23212	// The identifier of the provisioning artifact.
23213	ProvisioningArtifactId *string `min:"1" type:"string"`
23214
23215	// The name of the provisioning artifact. You must provide the name or ID, but
23216	// not both.
23217	ProvisioningArtifactName *string `type:"string"`
23218
23219	// The new parameters.
23220	ProvisioningParameters []*UpdateProvisioningParameter `type:"list"`
23221
23222	// An object that contains information about the provisioning preferences for
23223	// a stack set.
23224	ProvisioningPreferences *UpdateProvisioningPreferences `type:"structure"`
23225
23226	// One or more tags. Requires the product to have RESOURCE_UPDATE constraint
23227	// with TagUpdatesOnProvisionedProduct set to ALLOWED to allow tag updates.
23228	Tags []*Tag `type:"list"`
23229
23230	// The idempotency token that uniquely identifies the provisioning update request.
23231	UpdateToken *string `min:"1" type:"string" idempotencyToken:"true"`
23232}
23233
23234// String returns the string representation.
23235//
23236// API parameter values that are decorated as "sensitive" in the API will not
23237// be included in the string output. The member name will be present, but the
23238// value will be replaced with "sensitive".
23239func (s UpdateProvisionedProductInput) String() string {
23240	return awsutil.Prettify(s)
23241}
23242
23243// GoString returns the string representation.
23244//
23245// API parameter values that are decorated as "sensitive" in the API will not
23246// be included in the string output. The member name will be present, but the
23247// value will be replaced with "sensitive".
23248func (s UpdateProvisionedProductInput) GoString() string {
23249	return s.String()
23250}
23251
23252// Validate inspects the fields of the type to determine if they are valid.
23253func (s *UpdateProvisionedProductInput) Validate() error {
23254	invalidParams := request.ErrInvalidParams{Context: "UpdateProvisionedProductInput"}
23255	if s.PathId != nil && len(*s.PathId) < 1 {
23256		invalidParams.Add(request.NewErrParamMinLen("PathId", 1))
23257	}
23258	if s.PathName != nil && len(*s.PathName) < 1 {
23259		invalidParams.Add(request.NewErrParamMinLen("PathName", 1))
23260	}
23261	if s.ProductId != nil && len(*s.ProductId) < 1 {
23262		invalidParams.Add(request.NewErrParamMinLen("ProductId", 1))
23263	}
23264	if s.ProvisionedProductId != nil && len(*s.ProvisionedProductId) < 1 {
23265		invalidParams.Add(request.NewErrParamMinLen("ProvisionedProductId", 1))
23266	}
23267	if s.ProvisionedProductName != nil && len(*s.ProvisionedProductName) < 1 {
23268		invalidParams.Add(request.NewErrParamMinLen("ProvisionedProductName", 1))
23269	}
23270	if s.ProvisioningArtifactId != nil && len(*s.ProvisioningArtifactId) < 1 {
23271		invalidParams.Add(request.NewErrParamMinLen("ProvisioningArtifactId", 1))
23272	}
23273	if s.UpdateToken != nil && len(*s.UpdateToken) < 1 {
23274		invalidParams.Add(request.NewErrParamMinLen("UpdateToken", 1))
23275	}
23276	if s.ProvisioningParameters != nil {
23277		for i, v := range s.ProvisioningParameters {
23278			if v == nil {
23279				continue
23280			}
23281			if err := v.Validate(); err != nil {
23282				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "ProvisioningParameters", i), err.(request.ErrInvalidParams))
23283			}
23284		}
23285	}
23286	if s.ProvisioningPreferences != nil {
23287		if err := s.ProvisioningPreferences.Validate(); err != nil {
23288			invalidParams.AddNested("ProvisioningPreferences", err.(request.ErrInvalidParams))
23289		}
23290	}
23291	if s.Tags != nil {
23292		for i, v := range s.Tags {
23293			if v == nil {
23294				continue
23295			}
23296			if err := v.Validate(); err != nil {
23297				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams))
23298			}
23299		}
23300	}
23301
23302	if invalidParams.Len() > 0 {
23303		return invalidParams
23304	}
23305	return nil
23306}
23307
23308// SetAcceptLanguage sets the AcceptLanguage field's value.
23309func (s *UpdateProvisionedProductInput) SetAcceptLanguage(v string) *UpdateProvisionedProductInput {
23310	s.AcceptLanguage = &v
23311	return s
23312}
23313
23314// SetPathId sets the PathId field's value.
23315func (s *UpdateProvisionedProductInput) SetPathId(v string) *UpdateProvisionedProductInput {
23316	s.PathId = &v
23317	return s
23318}
23319
23320// SetPathName sets the PathName field's value.
23321func (s *UpdateProvisionedProductInput) SetPathName(v string) *UpdateProvisionedProductInput {
23322	s.PathName = &v
23323	return s
23324}
23325
23326// SetProductId sets the ProductId field's value.
23327func (s *UpdateProvisionedProductInput) SetProductId(v string) *UpdateProvisionedProductInput {
23328	s.ProductId = &v
23329	return s
23330}
23331
23332// SetProductName sets the ProductName field's value.
23333func (s *UpdateProvisionedProductInput) SetProductName(v string) *UpdateProvisionedProductInput {
23334	s.ProductName = &v
23335	return s
23336}
23337
23338// SetProvisionedProductId sets the ProvisionedProductId field's value.
23339func (s *UpdateProvisionedProductInput) SetProvisionedProductId(v string) *UpdateProvisionedProductInput {
23340	s.ProvisionedProductId = &v
23341	return s
23342}
23343
23344// SetProvisionedProductName sets the ProvisionedProductName field's value.
23345func (s *UpdateProvisionedProductInput) SetProvisionedProductName(v string) *UpdateProvisionedProductInput {
23346	s.ProvisionedProductName = &v
23347	return s
23348}
23349
23350// SetProvisioningArtifactId sets the ProvisioningArtifactId field's value.
23351func (s *UpdateProvisionedProductInput) SetProvisioningArtifactId(v string) *UpdateProvisionedProductInput {
23352	s.ProvisioningArtifactId = &v
23353	return s
23354}
23355
23356// SetProvisioningArtifactName sets the ProvisioningArtifactName field's value.
23357func (s *UpdateProvisionedProductInput) SetProvisioningArtifactName(v string) *UpdateProvisionedProductInput {
23358	s.ProvisioningArtifactName = &v
23359	return s
23360}
23361
23362// SetProvisioningParameters sets the ProvisioningParameters field's value.
23363func (s *UpdateProvisionedProductInput) SetProvisioningParameters(v []*UpdateProvisioningParameter) *UpdateProvisionedProductInput {
23364	s.ProvisioningParameters = v
23365	return s
23366}
23367
23368// SetProvisioningPreferences sets the ProvisioningPreferences field's value.
23369func (s *UpdateProvisionedProductInput) SetProvisioningPreferences(v *UpdateProvisioningPreferences) *UpdateProvisionedProductInput {
23370	s.ProvisioningPreferences = v
23371	return s
23372}
23373
23374// SetTags sets the Tags field's value.
23375func (s *UpdateProvisionedProductInput) SetTags(v []*Tag) *UpdateProvisionedProductInput {
23376	s.Tags = v
23377	return s
23378}
23379
23380// SetUpdateToken sets the UpdateToken field's value.
23381func (s *UpdateProvisionedProductInput) SetUpdateToken(v string) *UpdateProvisionedProductInput {
23382	s.UpdateToken = &v
23383	return s
23384}
23385
23386type UpdateProvisionedProductOutput struct {
23387	_ struct{} `type:"structure"`
23388
23389	// Information about the result of the request.
23390	RecordDetail *RecordDetail `type:"structure"`
23391}
23392
23393// String returns the string representation.
23394//
23395// API parameter values that are decorated as "sensitive" in the API will not
23396// be included in the string output. The member name will be present, but the
23397// value will be replaced with "sensitive".
23398func (s UpdateProvisionedProductOutput) String() string {
23399	return awsutil.Prettify(s)
23400}
23401
23402// GoString returns the string representation.
23403//
23404// API parameter values that are decorated as "sensitive" in the API will not
23405// be included in the string output. The member name will be present, but the
23406// value will be replaced with "sensitive".
23407func (s UpdateProvisionedProductOutput) GoString() string {
23408	return s.String()
23409}
23410
23411// SetRecordDetail sets the RecordDetail field's value.
23412func (s *UpdateProvisionedProductOutput) SetRecordDetail(v *RecordDetail) *UpdateProvisionedProductOutput {
23413	s.RecordDetail = v
23414	return s
23415}
23416
23417type UpdateProvisionedProductPropertiesInput struct {
23418	_ struct{} `type:"structure"`
23419
23420	// The language code.
23421	//
23422	//    * en - English (default)
23423	//
23424	//    * jp - Japanese
23425	//
23426	//    * zh - Chinese
23427	AcceptLanguage *string `type:"string"`
23428
23429	// The idempotency token that uniquely identifies the provisioning product update
23430	// request.
23431	IdempotencyToken *string `min:"1" type:"string" idempotencyToken:"true"`
23432
23433	// The identifier of the provisioned product.
23434	//
23435	// ProvisionedProductId is a required field
23436	ProvisionedProductId *string `min:"1" type:"string" required:"true"`
23437
23438	// A map that contains the provisioned product properties to be updated.
23439	//
23440	// The LAUNCH_ROLE key accepts role ARNs. This key allows an administrator to
23441	// call UpdateProvisionedProductProperties to update the launch role that is
23442	// associated with a provisioned product. This role is used when an end user
23443	// calls a provisioning operation such as UpdateProvisionedProduct, TerminateProvisionedProduct,
23444	// or ExecuteProvisionedProductServiceAction. Only a role ARN is valid. A user
23445	// ARN is invalid.
23446	//
23447	// The OWNER key accepts user ARNs and role ARNs. The owner is the user that
23448	// has permission to see, update, terminate, and execute service actions in
23449	// the provisioned product.
23450	//
23451	// The administrator can change the owner of a provisioned product to another
23452	// IAM user within the same account. Both end user owners and administrators
23453	// can see ownership history of the provisioned product using the ListRecordHistory
23454	// API. The new owner can describe all past records for the provisioned product
23455	// using the DescribeRecord API. The previous owner can no longer use DescribeRecord,
23456	// but can still see the product's history from when he was an owner using ListRecordHistory.
23457	//
23458	// If a provisioned product ownership is assigned to an end user, they can see
23459	// and perform any action through the API or Service Catalog console such as
23460	// update, terminate, and execute service actions. If an end user provisions
23461	// a product and the owner is updated to someone else, they will no longer be
23462	// able to see or perform any actions through API or the Service Catalog console
23463	// on that provisioned product.
23464	//
23465	// ProvisionedProductProperties is a required field
23466	ProvisionedProductProperties map[string]*string `min:"1" type:"map" required:"true"`
23467}
23468
23469// String returns the string representation.
23470//
23471// API parameter values that are decorated as "sensitive" in the API will not
23472// be included in the string output. The member name will be present, but the
23473// value will be replaced with "sensitive".
23474func (s UpdateProvisionedProductPropertiesInput) String() string {
23475	return awsutil.Prettify(s)
23476}
23477
23478// GoString returns the string representation.
23479//
23480// API parameter values that are decorated as "sensitive" in the API will not
23481// be included in the string output. The member name will be present, but the
23482// value will be replaced with "sensitive".
23483func (s UpdateProvisionedProductPropertiesInput) GoString() string {
23484	return s.String()
23485}
23486
23487// Validate inspects the fields of the type to determine if they are valid.
23488func (s *UpdateProvisionedProductPropertiesInput) Validate() error {
23489	invalidParams := request.ErrInvalidParams{Context: "UpdateProvisionedProductPropertiesInput"}
23490	if s.IdempotencyToken != nil && len(*s.IdempotencyToken) < 1 {
23491		invalidParams.Add(request.NewErrParamMinLen("IdempotencyToken", 1))
23492	}
23493	if s.ProvisionedProductId == nil {
23494		invalidParams.Add(request.NewErrParamRequired("ProvisionedProductId"))
23495	}
23496	if s.ProvisionedProductId != nil && len(*s.ProvisionedProductId) < 1 {
23497		invalidParams.Add(request.NewErrParamMinLen("ProvisionedProductId", 1))
23498	}
23499	if s.ProvisionedProductProperties == nil {
23500		invalidParams.Add(request.NewErrParamRequired("ProvisionedProductProperties"))
23501	}
23502	if s.ProvisionedProductProperties != nil && len(s.ProvisionedProductProperties) < 1 {
23503		invalidParams.Add(request.NewErrParamMinLen("ProvisionedProductProperties", 1))
23504	}
23505
23506	if invalidParams.Len() > 0 {
23507		return invalidParams
23508	}
23509	return nil
23510}
23511
23512// SetAcceptLanguage sets the AcceptLanguage field's value.
23513func (s *UpdateProvisionedProductPropertiesInput) SetAcceptLanguage(v string) *UpdateProvisionedProductPropertiesInput {
23514	s.AcceptLanguage = &v
23515	return s
23516}
23517
23518// SetIdempotencyToken sets the IdempotencyToken field's value.
23519func (s *UpdateProvisionedProductPropertiesInput) SetIdempotencyToken(v string) *UpdateProvisionedProductPropertiesInput {
23520	s.IdempotencyToken = &v
23521	return s
23522}
23523
23524// SetProvisionedProductId sets the ProvisionedProductId field's value.
23525func (s *UpdateProvisionedProductPropertiesInput) SetProvisionedProductId(v string) *UpdateProvisionedProductPropertiesInput {
23526	s.ProvisionedProductId = &v
23527	return s
23528}
23529
23530// SetProvisionedProductProperties sets the ProvisionedProductProperties field's value.
23531func (s *UpdateProvisionedProductPropertiesInput) SetProvisionedProductProperties(v map[string]*string) *UpdateProvisionedProductPropertiesInput {
23532	s.ProvisionedProductProperties = v
23533	return s
23534}
23535
23536type UpdateProvisionedProductPropertiesOutput struct {
23537	_ struct{} `type:"structure"`
23538
23539	// The provisioned product identifier.
23540	ProvisionedProductId *string `min:"1" type:"string"`
23541
23542	// A map that contains the properties updated.
23543	ProvisionedProductProperties map[string]*string `min:"1" type:"map"`
23544
23545	// The identifier of the record.
23546	RecordId *string `min:"1" type:"string"`
23547
23548	// The status of the request.
23549	Status *string `type:"string" enum:"RecordStatus"`
23550}
23551
23552// String returns the string representation.
23553//
23554// API parameter values that are decorated as "sensitive" in the API will not
23555// be included in the string output. The member name will be present, but the
23556// value will be replaced with "sensitive".
23557func (s UpdateProvisionedProductPropertiesOutput) String() string {
23558	return awsutil.Prettify(s)
23559}
23560
23561// GoString returns the string representation.
23562//
23563// API parameter values that are decorated as "sensitive" in the API will not
23564// be included in the string output. The member name will be present, but the
23565// value will be replaced with "sensitive".
23566func (s UpdateProvisionedProductPropertiesOutput) GoString() string {
23567	return s.String()
23568}
23569
23570// SetProvisionedProductId sets the ProvisionedProductId field's value.
23571func (s *UpdateProvisionedProductPropertiesOutput) SetProvisionedProductId(v string) *UpdateProvisionedProductPropertiesOutput {
23572	s.ProvisionedProductId = &v
23573	return s
23574}
23575
23576// SetProvisionedProductProperties sets the ProvisionedProductProperties field's value.
23577func (s *UpdateProvisionedProductPropertiesOutput) SetProvisionedProductProperties(v map[string]*string) *UpdateProvisionedProductPropertiesOutput {
23578	s.ProvisionedProductProperties = v
23579	return s
23580}
23581
23582// SetRecordId sets the RecordId field's value.
23583func (s *UpdateProvisionedProductPropertiesOutput) SetRecordId(v string) *UpdateProvisionedProductPropertiesOutput {
23584	s.RecordId = &v
23585	return s
23586}
23587
23588// SetStatus sets the Status field's value.
23589func (s *UpdateProvisionedProductPropertiesOutput) SetStatus(v string) *UpdateProvisionedProductPropertiesOutput {
23590	s.Status = &v
23591	return s
23592}
23593
23594type UpdateProvisioningArtifactInput struct {
23595	_ struct{} `type:"structure"`
23596
23597	// The language code.
23598	//
23599	//    * en - English (default)
23600	//
23601	//    * jp - Japanese
23602	//
23603	//    * zh - Chinese
23604	AcceptLanguage *string `type:"string"`
23605
23606	// Indicates whether the product version is active.
23607	//
23608	// Inactive provisioning artifacts are invisible to end users. End users cannot
23609	// launch or update a provisioned product from an inactive provisioning artifact.
23610	Active *bool `type:"boolean"`
23611
23612	// The updated description of the provisioning artifact.
23613	Description *string `type:"string"`
23614
23615	// Information set by the administrator to provide guidance to end users about
23616	// which provisioning artifacts to use.
23617	//
23618	// The DEFAULT value indicates that the product version is active.
23619	//
23620	// The administrator can set the guidance to DEPRECATED to inform users that
23621	// the product version is deprecated. Users are able to make updates to a provisioned
23622	// product of a deprecated version but cannot launch new provisioned products
23623	// using a deprecated version.
23624	Guidance *string `type:"string" enum:"ProvisioningArtifactGuidance"`
23625
23626	// The updated name of the provisioning artifact.
23627	Name *string `type:"string"`
23628
23629	// The product identifier.
23630	//
23631	// ProductId is a required field
23632	ProductId *string `min:"1" type:"string" required:"true"`
23633
23634	// The identifier of the provisioning artifact.
23635	//
23636	// ProvisioningArtifactId is a required field
23637	ProvisioningArtifactId *string `min:"1" type:"string" required:"true"`
23638}
23639
23640// String returns the string representation.
23641//
23642// API parameter values that are decorated as "sensitive" in the API will not
23643// be included in the string output. The member name will be present, but the
23644// value will be replaced with "sensitive".
23645func (s UpdateProvisioningArtifactInput) String() string {
23646	return awsutil.Prettify(s)
23647}
23648
23649// GoString returns the string representation.
23650//
23651// API parameter values that are decorated as "sensitive" in the API will not
23652// be included in the string output. The member name will be present, but the
23653// value will be replaced with "sensitive".
23654func (s UpdateProvisioningArtifactInput) GoString() string {
23655	return s.String()
23656}
23657
23658// Validate inspects the fields of the type to determine if they are valid.
23659func (s *UpdateProvisioningArtifactInput) Validate() error {
23660	invalidParams := request.ErrInvalidParams{Context: "UpdateProvisioningArtifactInput"}
23661	if s.ProductId == nil {
23662		invalidParams.Add(request.NewErrParamRequired("ProductId"))
23663	}
23664	if s.ProductId != nil && len(*s.ProductId) < 1 {
23665		invalidParams.Add(request.NewErrParamMinLen("ProductId", 1))
23666	}
23667	if s.ProvisioningArtifactId == nil {
23668		invalidParams.Add(request.NewErrParamRequired("ProvisioningArtifactId"))
23669	}
23670	if s.ProvisioningArtifactId != nil && len(*s.ProvisioningArtifactId) < 1 {
23671		invalidParams.Add(request.NewErrParamMinLen("ProvisioningArtifactId", 1))
23672	}
23673
23674	if invalidParams.Len() > 0 {
23675		return invalidParams
23676	}
23677	return nil
23678}
23679
23680// SetAcceptLanguage sets the AcceptLanguage field's value.
23681func (s *UpdateProvisioningArtifactInput) SetAcceptLanguage(v string) *UpdateProvisioningArtifactInput {
23682	s.AcceptLanguage = &v
23683	return s
23684}
23685
23686// SetActive sets the Active field's value.
23687func (s *UpdateProvisioningArtifactInput) SetActive(v bool) *UpdateProvisioningArtifactInput {
23688	s.Active = &v
23689	return s
23690}
23691
23692// SetDescription sets the Description field's value.
23693func (s *UpdateProvisioningArtifactInput) SetDescription(v string) *UpdateProvisioningArtifactInput {
23694	s.Description = &v
23695	return s
23696}
23697
23698// SetGuidance sets the Guidance field's value.
23699func (s *UpdateProvisioningArtifactInput) SetGuidance(v string) *UpdateProvisioningArtifactInput {
23700	s.Guidance = &v
23701	return s
23702}
23703
23704// SetName sets the Name field's value.
23705func (s *UpdateProvisioningArtifactInput) SetName(v string) *UpdateProvisioningArtifactInput {
23706	s.Name = &v
23707	return s
23708}
23709
23710// SetProductId sets the ProductId field's value.
23711func (s *UpdateProvisioningArtifactInput) SetProductId(v string) *UpdateProvisioningArtifactInput {
23712	s.ProductId = &v
23713	return s
23714}
23715
23716// SetProvisioningArtifactId sets the ProvisioningArtifactId field's value.
23717func (s *UpdateProvisioningArtifactInput) SetProvisioningArtifactId(v string) *UpdateProvisioningArtifactInput {
23718	s.ProvisioningArtifactId = &v
23719	return s
23720}
23721
23722type UpdateProvisioningArtifactOutput struct {
23723	_ struct{} `type:"structure"`
23724
23725	// The URL of the CloudFormation template in Amazon S3.
23726	Info map[string]*string `min:"1" type:"map"`
23727
23728	// Information about the provisioning artifact.
23729	ProvisioningArtifactDetail *ProvisioningArtifactDetail `type:"structure"`
23730
23731	// The status of the current request.
23732	Status *string `type:"string" enum:"Status"`
23733}
23734
23735// String returns the string representation.
23736//
23737// API parameter values that are decorated as "sensitive" in the API will not
23738// be included in the string output. The member name will be present, but the
23739// value will be replaced with "sensitive".
23740func (s UpdateProvisioningArtifactOutput) String() string {
23741	return awsutil.Prettify(s)
23742}
23743
23744// GoString returns the string representation.
23745//
23746// API parameter values that are decorated as "sensitive" in the API will not
23747// be included in the string output. The member name will be present, but the
23748// value will be replaced with "sensitive".
23749func (s UpdateProvisioningArtifactOutput) GoString() string {
23750	return s.String()
23751}
23752
23753// SetInfo sets the Info field's value.
23754func (s *UpdateProvisioningArtifactOutput) SetInfo(v map[string]*string) *UpdateProvisioningArtifactOutput {
23755	s.Info = v
23756	return s
23757}
23758
23759// SetProvisioningArtifactDetail sets the ProvisioningArtifactDetail field's value.
23760func (s *UpdateProvisioningArtifactOutput) SetProvisioningArtifactDetail(v *ProvisioningArtifactDetail) *UpdateProvisioningArtifactOutput {
23761	s.ProvisioningArtifactDetail = v
23762	return s
23763}
23764
23765// SetStatus sets the Status field's value.
23766func (s *UpdateProvisioningArtifactOutput) SetStatus(v string) *UpdateProvisioningArtifactOutput {
23767	s.Status = &v
23768	return s
23769}
23770
23771// The parameter key-value pair used to update a provisioned product.
23772type UpdateProvisioningParameter struct {
23773	_ struct{} `type:"structure"`
23774
23775	// The parameter key.
23776	Key *string `min:"1" type:"string"`
23777
23778	// If set to true, Value is ignored and the previous parameter value is kept.
23779	UsePreviousValue *bool `type:"boolean"`
23780
23781	// The parameter value.
23782	Value *string `type:"string"`
23783}
23784
23785// String returns the string representation.
23786//
23787// API parameter values that are decorated as "sensitive" in the API will not
23788// be included in the string output. The member name will be present, but the
23789// value will be replaced with "sensitive".
23790func (s UpdateProvisioningParameter) String() string {
23791	return awsutil.Prettify(s)
23792}
23793
23794// GoString returns the string representation.
23795//
23796// API parameter values that are decorated as "sensitive" in the API will not
23797// be included in the string output. The member name will be present, but the
23798// value will be replaced with "sensitive".
23799func (s UpdateProvisioningParameter) GoString() string {
23800	return s.String()
23801}
23802
23803// Validate inspects the fields of the type to determine if they are valid.
23804func (s *UpdateProvisioningParameter) Validate() error {
23805	invalidParams := request.ErrInvalidParams{Context: "UpdateProvisioningParameter"}
23806	if s.Key != nil && len(*s.Key) < 1 {
23807		invalidParams.Add(request.NewErrParamMinLen("Key", 1))
23808	}
23809
23810	if invalidParams.Len() > 0 {
23811		return invalidParams
23812	}
23813	return nil
23814}
23815
23816// SetKey sets the Key field's value.
23817func (s *UpdateProvisioningParameter) SetKey(v string) *UpdateProvisioningParameter {
23818	s.Key = &v
23819	return s
23820}
23821
23822// SetUsePreviousValue sets the UsePreviousValue field's value.
23823func (s *UpdateProvisioningParameter) SetUsePreviousValue(v bool) *UpdateProvisioningParameter {
23824	s.UsePreviousValue = &v
23825	return s
23826}
23827
23828// SetValue sets the Value field's value.
23829func (s *UpdateProvisioningParameter) SetValue(v string) *UpdateProvisioningParameter {
23830	s.Value = &v
23831	return s
23832}
23833
23834// The user-defined preferences that will be applied when updating a provisioned
23835// product. Not all preferences are applicable to all provisioned product types.
23836type UpdateProvisioningPreferences struct {
23837	_ struct{} `type:"structure"`
23838
23839	// One or more AWS accounts that will have access to the provisioned product.
23840	//
23841	// Applicable only to a CFN_STACKSET provisioned product type.
23842	//
23843	// The AWS accounts specified should be within the list of accounts in the STACKSET
23844	// constraint. To get the list of accounts in the STACKSET constraint, use the
23845	// DescribeProvisioningParameters operation.
23846	//
23847	// If no values are specified, the default value is all accounts from the STACKSET
23848	// constraint.
23849	StackSetAccounts []*string `type:"list"`
23850
23851	// The number of accounts, per region, for which this operation can fail before
23852	// AWS Service Catalog stops the operation in that region. If the operation
23853	// is stopped in a region, AWS Service Catalog doesn't attempt the operation
23854	// in any subsequent regions.
23855	//
23856	// Applicable only to a CFN_STACKSET provisioned product type.
23857	//
23858	// Conditional: You must specify either StackSetFailureToleranceCount or StackSetFailureTolerancePercentage,
23859	// but not both.
23860	//
23861	// The default value is 0 if no value is specified.
23862	StackSetFailureToleranceCount *int64 `type:"integer"`
23863
23864	// The percentage of accounts, per region, for which this stack operation can
23865	// fail before AWS Service Catalog stops the operation in that region. If the
23866	// operation is stopped in a region, AWS Service Catalog doesn't attempt the
23867	// operation in any subsequent regions.
23868	//
23869	// When calculating the number of accounts based on the specified percentage,
23870	// AWS Service Catalog rounds down to the next whole number.
23871	//
23872	// Applicable only to a CFN_STACKSET provisioned product type.
23873	//
23874	// Conditional: You must specify either StackSetFailureToleranceCount or StackSetFailureTolerancePercentage,
23875	// but not both.
23876	StackSetFailureTolerancePercentage *int64 `type:"integer"`
23877
23878	// The maximum number of accounts in which to perform this operation at one
23879	// time. This is dependent on the value of StackSetFailureToleranceCount. StackSetMaxConcurrentCount
23880	// is at most one more than the StackSetFailureToleranceCount.
23881	//
23882	// Note that this setting lets you specify the maximum for operations. For large
23883	// deployments, under certain circumstances the actual number of accounts acted
23884	// upon concurrently may be lower due to service throttling.
23885	//
23886	// Applicable only to a CFN_STACKSET provisioned product type.
23887	//
23888	// Conditional: You must specify either StackSetMaxConcurrentCount or StackSetMaxConcurrentPercentage,
23889	// but not both.
23890	StackSetMaxConcurrencyCount *int64 `min:"1" type:"integer"`
23891
23892	// The maximum percentage of accounts in which to perform this operation at
23893	// one time.
23894	//
23895	// When calculating the number of accounts based on the specified percentage,
23896	// AWS Service Catalog rounds down to the next whole number. This is true except
23897	// in cases where rounding down would result is zero. In this case, AWS Service
23898	// Catalog sets the number as 1 instead.
23899	//
23900	// Note that this setting lets you specify the maximum for operations. For large
23901	// deployments, under certain circumstances the actual number of accounts acted
23902	// upon concurrently may be lower due to service throttling.
23903	//
23904	// Applicable only to a CFN_STACKSET provisioned product type.
23905	//
23906	// Conditional: You must specify either StackSetMaxConcurrentCount or StackSetMaxConcurrentPercentage,
23907	// but not both.
23908	StackSetMaxConcurrencyPercentage *int64 `min:"1" type:"integer"`
23909
23910	// Determines what action AWS Service Catalog performs to a stack set or a stack
23911	// instance represented by the provisioned product. The default value is UPDATE
23912	// if nothing is specified.
23913	//
23914	// Applicable only to a CFN_STACKSET provisioned product type.
23915	//
23916	// CREATE
23917	//
23918	// Creates a new stack instance in the stack set represented by the provisioned
23919	// product. In this case, only new stack instances are created based on accounts
23920	// and regions; if new ProductId or ProvisioningArtifactID are passed, they
23921	// will be ignored.
23922	//
23923	// UPDATE
23924	//
23925	// Updates the stack set represented by the provisioned product and also its
23926	// stack instances.
23927	//
23928	// DELETE
23929	//
23930	// Deletes a stack instance in the stack set represented by the provisioned
23931	// product.
23932	StackSetOperationType *string `type:"string" enum:"StackSetOperationType"`
23933
23934	// One or more AWS Regions where the provisioned product will be available.
23935	//
23936	// Applicable only to a CFN_STACKSET provisioned product type.
23937	//
23938	// The specified regions should be within the list of regions from the STACKSET
23939	// constraint. To get the list of regions in the STACKSET constraint, use the
23940	// DescribeProvisioningParameters operation.
23941	//
23942	// If no values are specified, the default value is all regions from the STACKSET
23943	// constraint.
23944	StackSetRegions []*string `type:"list"`
23945}
23946
23947// String returns the string representation.
23948//
23949// API parameter values that are decorated as "sensitive" in the API will not
23950// be included in the string output. The member name will be present, but the
23951// value will be replaced with "sensitive".
23952func (s UpdateProvisioningPreferences) String() string {
23953	return awsutil.Prettify(s)
23954}
23955
23956// GoString returns the string representation.
23957//
23958// API parameter values that are decorated as "sensitive" in the API will not
23959// be included in the string output. The member name will be present, but the
23960// value will be replaced with "sensitive".
23961func (s UpdateProvisioningPreferences) GoString() string {
23962	return s.String()
23963}
23964
23965// Validate inspects the fields of the type to determine if they are valid.
23966func (s *UpdateProvisioningPreferences) Validate() error {
23967	invalidParams := request.ErrInvalidParams{Context: "UpdateProvisioningPreferences"}
23968	if s.StackSetMaxConcurrencyCount != nil && *s.StackSetMaxConcurrencyCount < 1 {
23969		invalidParams.Add(request.NewErrParamMinValue("StackSetMaxConcurrencyCount", 1))
23970	}
23971	if s.StackSetMaxConcurrencyPercentage != nil && *s.StackSetMaxConcurrencyPercentage < 1 {
23972		invalidParams.Add(request.NewErrParamMinValue("StackSetMaxConcurrencyPercentage", 1))
23973	}
23974
23975	if invalidParams.Len() > 0 {
23976		return invalidParams
23977	}
23978	return nil
23979}
23980
23981// SetStackSetAccounts sets the StackSetAccounts field's value.
23982func (s *UpdateProvisioningPreferences) SetStackSetAccounts(v []*string) *UpdateProvisioningPreferences {
23983	s.StackSetAccounts = v
23984	return s
23985}
23986
23987// SetStackSetFailureToleranceCount sets the StackSetFailureToleranceCount field's value.
23988func (s *UpdateProvisioningPreferences) SetStackSetFailureToleranceCount(v int64) *UpdateProvisioningPreferences {
23989	s.StackSetFailureToleranceCount = &v
23990	return s
23991}
23992
23993// SetStackSetFailureTolerancePercentage sets the StackSetFailureTolerancePercentage field's value.
23994func (s *UpdateProvisioningPreferences) SetStackSetFailureTolerancePercentage(v int64) *UpdateProvisioningPreferences {
23995	s.StackSetFailureTolerancePercentage = &v
23996	return s
23997}
23998
23999// SetStackSetMaxConcurrencyCount sets the StackSetMaxConcurrencyCount field's value.
24000func (s *UpdateProvisioningPreferences) SetStackSetMaxConcurrencyCount(v int64) *UpdateProvisioningPreferences {
24001	s.StackSetMaxConcurrencyCount = &v
24002	return s
24003}
24004
24005// SetStackSetMaxConcurrencyPercentage sets the StackSetMaxConcurrencyPercentage field's value.
24006func (s *UpdateProvisioningPreferences) SetStackSetMaxConcurrencyPercentage(v int64) *UpdateProvisioningPreferences {
24007	s.StackSetMaxConcurrencyPercentage = &v
24008	return s
24009}
24010
24011// SetStackSetOperationType sets the StackSetOperationType field's value.
24012func (s *UpdateProvisioningPreferences) SetStackSetOperationType(v string) *UpdateProvisioningPreferences {
24013	s.StackSetOperationType = &v
24014	return s
24015}
24016
24017// SetStackSetRegions sets the StackSetRegions field's value.
24018func (s *UpdateProvisioningPreferences) SetStackSetRegions(v []*string) *UpdateProvisioningPreferences {
24019	s.StackSetRegions = v
24020	return s
24021}
24022
24023type UpdateServiceActionInput struct {
24024	_ struct{} `type:"structure"`
24025
24026	// The language code.
24027	//
24028	//    * en - English (default)
24029	//
24030	//    * jp - Japanese
24031	//
24032	//    * zh - Chinese
24033	AcceptLanguage *string `type:"string"`
24034
24035	// A map that defines the self-service action.
24036	Definition map[string]*string `min:"1" type:"map"`
24037
24038	// The self-service action description.
24039	Description *string `type:"string"`
24040
24041	// The self-service action identifier.
24042	//
24043	// Id is a required field
24044	Id *string `min:"1" type:"string" required:"true"`
24045
24046	// The self-service action name.
24047	Name *string `min:"1" type:"string"`
24048}
24049
24050// String returns the string representation.
24051//
24052// API parameter values that are decorated as "sensitive" in the API will not
24053// be included in the string output. The member name will be present, but the
24054// value will be replaced with "sensitive".
24055func (s UpdateServiceActionInput) String() string {
24056	return awsutil.Prettify(s)
24057}
24058
24059// GoString returns the string representation.
24060//
24061// API parameter values that are decorated as "sensitive" in the API will not
24062// be included in the string output. The member name will be present, but the
24063// value will be replaced with "sensitive".
24064func (s UpdateServiceActionInput) GoString() string {
24065	return s.String()
24066}
24067
24068// Validate inspects the fields of the type to determine if they are valid.
24069func (s *UpdateServiceActionInput) Validate() error {
24070	invalidParams := request.ErrInvalidParams{Context: "UpdateServiceActionInput"}
24071	if s.Definition != nil && len(s.Definition) < 1 {
24072		invalidParams.Add(request.NewErrParamMinLen("Definition", 1))
24073	}
24074	if s.Id == nil {
24075		invalidParams.Add(request.NewErrParamRequired("Id"))
24076	}
24077	if s.Id != nil && len(*s.Id) < 1 {
24078		invalidParams.Add(request.NewErrParamMinLen("Id", 1))
24079	}
24080	if s.Name != nil && len(*s.Name) < 1 {
24081		invalidParams.Add(request.NewErrParamMinLen("Name", 1))
24082	}
24083
24084	if invalidParams.Len() > 0 {
24085		return invalidParams
24086	}
24087	return nil
24088}
24089
24090// SetAcceptLanguage sets the AcceptLanguage field's value.
24091func (s *UpdateServiceActionInput) SetAcceptLanguage(v string) *UpdateServiceActionInput {
24092	s.AcceptLanguage = &v
24093	return s
24094}
24095
24096// SetDefinition sets the Definition field's value.
24097func (s *UpdateServiceActionInput) SetDefinition(v map[string]*string) *UpdateServiceActionInput {
24098	s.Definition = v
24099	return s
24100}
24101
24102// SetDescription sets the Description field's value.
24103func (s *UpdateServiceActionInput) SetDescription(v string) *UpdateServiceActionInput {
24104	s.Description = &v
24105	return s
24106}
24107
24108// SetId sets the Id field's value.
24109func (s *UpdateServiceActionInput) SetId(v string) *UpdateServiceActionInput {
24110	s.Id = &v
24111	return s
24112}
24113
24114// SetName sets the Name field's value.
24115func (s *UpdateServiceActionInput) SetName(v string) *UpdateServiceActionInput {
24116	s.Name = &v
24117	return s
24118}
24119
24120type UpdateServiceActionOutput struct {
24121	_ struct{} `type:"structure"`
24122
24123	// Detailed information about the self-service action.
24124	ServiceActionDetail *ServiceActionDetail `type:"structure"`
24125}
24126
24127// String returns the string representation.
24128//
24129// API parameter values that are decorated as "sensitive" in the API will not
24130// be included in the string output. The member name will be present, but the
24131// value will be replaced with "sensitive".
24132func (s UpdateServiceActionOutput) String() string {
24133	return awsutil.Prettify(s)
24134}
24135
24136// GoString returns the string representation.
24137//
24138// API parameter values that are decorated as "sensitive" in the API will not
24139// be included in the string output. The member name will be present, but the
24140// value will be replaced with "sensitive".
24141func (s UpdateServiceActionOutput) GoString() string {
24142	return s.String()
24143}
24144
24145// SetServiceActionDetail sets the ServiceActionDetail field's value.
24146func (s *UpdateServiceActionOutput) SetServiceActionDetail(v *ServiceActionDetail) *UpdateServiceActionOutput {
24147	s.ServiceActionDetail = v
24148	return s
24149}
24150
24151type UpdateTagOptionInput struct {
24152	_ struct{} `type:"structure"`
24153
24154	// The updated active state.
24155	Active *bool `type:"boolean"`
24156
24157	// The TagOption identifier.
24158	//
24159	// Id is a required field
24160	Id *string `min:"1" type:"string" required:"true"`
24161
24162	// The updated value.
24163	Value *string `min:"1" type:"string"`
24164}
24165
24166// String returns the string representation.
24167//
24168// API parameter values that are decorated as "sensitive" in the API will not
24169// be included in the string output. The member name will be present, but the
24170// value will be replaced with "sensitive".
24171func (s UpdateTagOptionInput) String() string {
24172	return awsutil.Prettify(s)
24173}
24174
24175// GoString returns the string representation.
24176//
24177// API parameter values that are decorated as "sensitive" in the API will not
24178// be included in the string output. The member name will be present, but the
24179// value will be replaced with "sensitive".
24180func (s UpdateTagOptionInput) GoString() string {
24181	return s.String()
24182}
24183
24184// Validate inspects the fields of the type to determine if they are valid.
24185func (s *UpdateTagOptionInput) Validate() error {
24186	invalidParams := request.ErrInvalidParams{Context: "UpdateTagOptionInput"}
24187	if s.Id == nil {
24188		invalidParams.Add(request.NewErrParamRequired("Id"))
24189	}
24190	if s.Id != nil && len(*s.Id) < 1 {
24191		invalidParams.Add(request.NewErrParamMinLen("Id", 1))
24192	}
24193	if s.Value != nil && len(*s.Value) < 1 {
24194		invalidParams.Add(request.NewErrParamMinLen("Value", 1))
24195	}
24196
24197	if invalidParams.Len() > 0 {
24198		return invalidParams
24199	}
24200	return nil
24201}
24202
24203// SetActive sets the Active field's value.
24204func (s *UpdateTagOptionInput) SetActive(v bool) *UpdateTagOptionInput {
24205	s.Active = &v
24206	return s
24207}
24208
24209// SetId sets the Id field's value.
24210func (s *UpdateTagOptionInput) SetId(v string) *UpdateTagOptionInput {
24211	s.Id = &v
24212	return s
24213}
24214
24215// SetValue sets the Value field's value.
24216func (s *UpdateTagOptionInput) SetValue(v string) *UpdateTagOptionInput {
24217	s.Value = &v
24218	return s
24219}
24220
24221type UpdateTagOptionOutput struct {
24222	_ struct{} `type:"structure"`
24223
24224	// Information about the TagOption.
24225	TagOptionDetail *TagOptionDetail `type:"structure"`
24226}
24227
24228// String returns the string representation.
24229//
24230// API parameter values that are decorated as "sensitive" in the API will not
24231// be included in the string output. The member name will be present, but the
24232// value will be replaced with "sensitive".
24233func (s UpdateTagOptionOutput) String() string {
24234	return awsutil.Prettify(s)
24235}
24236
24237// GoString returns the string representation.
24238//
24239// API parameter values that are decorated as "sensitive" in the API will not
24240// be included in the string output. The member name will be present, but the
24241// value will be replaced with "sensitive".
24242func (s UpdateTagOptionOutput) GoString() string {
24243	return s.String()
24244}
24245
24246// SetTagOptionDetail sets the TagOptionDetail field's value.
24247func (s *UpdateTagOptionOutput) SetTagOptionDetail(v *TagOptionDetail) *UpdateTagOptionOutput {
24248	s.TagOptionDetail = v
24249	return s
24250}
24251
24252// Additional information provided by the administrator.
24253type UsageInstruction struct {
24254	_ struct{} `type:"structure"`
24255
24256	// The usage instruction type for the value.
24257	Type *string `type:"string"`
24258
24259	// The usage instruction value for this type.
24260	Value *string `type:"string"`
24261}
24262
24263// String returns the string representation.
24264//
24265// API parameter values that are decorated as "sensitive" in the API will not
24266// be included in the string output. The member name will be present, but the
24267// value will be replaced with "sensitive".
24268func (s UsageInstruction) String() string {
24269	return awsutil.Prettify(s)
24270}
24271
24272// GoString returns the string representation.
24273//
24274// API parameter values that are decorated as "sensitive" in the API will not
24275// be included in the string output. The member name will be present, but the
24276// value will be replaced with "sensitive".
24277func (s UsageInstruction) GoString() string {
24278	return s.String()
24279}
24280
24281// SetType sets the Type field's value.
24282func (s *UsageInstruction) SetType(v string) *UsageInstruction {
24283	s.Type = &v
24284	return s
24285}
24286
24287// SetValue sets the Value field's value.
24288func (s *UsageInstruction) SetValue(v string) *UsageInstruction {
24289	s.Value = &v
24290	return s
24291}
24292
24293const (
24294	// AccessLevelFilterKeyAccount is a AccessLevelFilterKey enum value
24295	AccessLevelFilterKeyAccount = "Account"
24296
24297	// AccessLevelFilterKeyRole is a AccessLevelFilterKey enum value
24298	AccessLevelFilterKeyRole = "Role"
24299
24300	// AccessLevelFilterKeyUser is a AccessLevelFilterKey enum value
24301	AccessLevelFilterKeyUser = "User"
24302)
24303
24304// AccessLevelFilterKey_Values returns all elements of the AccessLevelFilterKey enum
24305func AccessLevelFilterKey_Values() []string {
24306	return []string{
24307		AccessLevelFilterKeyAccount,
24308		AccessLevelFilterKeyRole,
24309		AccessLevelFilterKeyUser,
24310	}
24311}
24312
24313const (
24314	// AccessStatusEnabled is a AccessStatus enum value
24315	AccessStatusEnabled = "ENABLED"
24316
24317	// AccessStatusUnderChange is a AccessStatus enum value
24318	AccessStatusUnderChange = "UNDER_CHANGE"
24319
24320	// AccessStatusDisabled is a AccessStatus enum value
24321	AccessStatusDisabled = "DISABLED"
24322)
24323
24324// AccessStatus_Values returns all elements of the AccessStatus enum
24325func AccessStatus_Values() []string {
24326	return []string{
24327		AccessStatusEnabled,
24328		AccessStatusUnderChange,
24329		AccessStatusDisabled,
24330	}
24331}
24332
24333const (
24334	// ChangeActionAdd is a ChangeAction enum value
24335	ChangeActionAdd = "ADD"
24336
24337	// ChangeActionModify is a ChangeAction enum value
24338	ChangeActionModify = "MODIFY"
24339
24340	// ChangeActionRemove is a ChangeAction enum value
24341	ChangeActionRemove = "REMOVE"
24342)
24343
24344// ChangeAction_Values returns all elements of the ChangeAction enum
24345func ChangeAction_Values() []string {
24346	return []string{
24347		ChangeActionAdd,
24348		ChangeActionModify,
24349		ChangeActionRemove,
24350	}
24351}
24352
24353const (
24354	// CopyOptionCopyTags is a CopyOption enum value
24355	CopyOptionCopyTags = "CopyTags"
24356)
24357
24358// CopyOption_Values returns all elements of the CopyOption enum
24359func CopyOption_Values() []string {
24360	return []string{
24361		CopyOptionCopyTags,
24362	}
24363}
24364
24365const (
24366	// CopyProductStatusSucceeded is a CopyProductStatus enum value
24367	CopyProductStatusSucceeded = "SUCCEEDED"
24368
24369	// CopyProductStatusInProgress is a CopyProductStatus enum value
24370	CopyProductStatusInProgress = "IN_PROGRESS"
24371
24372	// CopyProductStatusFailed is a CopyProductStatus enum value
24373	CopyProductStatusFailed = "FAILED"
24374)
24375
24376// CopyProductStatus_Values returns all elements of the CopyProductStatus enum
24377func CopyProductStatus_Values() []string {
24378	return []string{
24379		CopyProductStatusSucceeded,
24380		CopyProductStatusInProgress,
24381		CopyProductStatusFailed,
24382	}
24383}
24384
24385const (
24386	// DescribePortfolioShareTypeAccount is a DescribePortfolioShareType enum value
24387	DescribePortfolioShareTypeAccount = "ACCOUNT"
24388
24389	// DescribePortfolioShareTypeOrganization is a DescribePortfolioShareType enum value
24390	DescribePortfolioShareTypeOrganization = "ORGANIZATION"
24391
24392	// DescribePortfolioShareTypeOrganizationalUnit is a DescribePortfolioShareType enum value
24393	DescribePortfolioShareTypeOrganizationalUnit = "ORGANIZATIONAL_UNIT"
24394
24395	// DescribePortfolioShareTypeOrganizationMemberAccount is a DescribePortfolioShareType enum value
24396	DescribePortfolioShareTypeOrganizationMemberAccount = "ORGANIZATION_MEMBER_ACCOUNT"
24397)
24398
24399// DescribePortfolioShareType_Values returns all elements of the DescribePortfolioShareType enum
24400func DescribePortfolioShareType_Values() []string {
24401	return []string{
24402		DescribePortfolioShareTypeAccount,
24403		DescribePortfolioShareTypeOrganization,
24404		DescribePortfolioShareTypeOrganizationalUnit,
24405		DescribePortfolioShareTypeOrganizationMemberAccount,
24406	}
24407}
24408
24409const (
24410	// EvaluationTypeStatic is a EvaluationType enum value
24411	EvaluationTypeStatic = "STATIC"
24412
24413	// EvaluationTypeDynamic is a EvaluationType enum value
24414	EvaluationTypeDynamic = "DYNAMIC"
24415)
24416
24417// EvaluationType_Values returns all elements of the EvaluationType enum
24418func EvaluationType_Values() []string {
24419	return []string{
24420		EvaluationTypeStatic,
24421		EvaluationTypeDynamic,
24422	}
24423}
24424
24425const (
24426	// OrganizationNodeTypeOrganization is a OrganizationNodeType enum value
24427	OrganizationNodeTypeOrganization = "ORGANIZATION"
24428
24429	// OrganizationNodeTypeOrganizationalUnit is a OrganizationNodeType enum value
24430	OrganizationNodeTypeOrganizationalUnit = "ORGANIZATIONAL_UNIT"
24431
24432	// OrganizationNodeTypeAccount is a OrganizationNodeType enum value
24433	OrganizationNodeTypeAccount = "ACCOUNT"
24434)
24435
24436// OrganizationNodeType_Values returns all elements of the OrganizationNodeType enum
24437func OrganizationNodeType_Values() []string {
24438	return []string{
24439		OrganizationNodeTypeOrganization,
24440		OrganizationNodeTypeOrganizationalUnit,
24441		OrganizationNodeTypeAccount,
24442	}
24443}
24444
24445const (
24446	// PortfolioShareTypeImported is a PortfolioShareType enum value
24447	PortfolioShareTypeImported = "IMPORTED"
24448
24449	// PortfolioShareTypeAwsServicecatalog is a PortfolioShareType enum value
24450	PortfolioShareTypeAwsServicecatalog = "AWS_SERVICECATALOG"
24451
24452	// PortfolioShareTypeAwsOrganizations is a PortfolioShareType enum value
24453	PortfolioShareTypeAwsOrganizations = "AWS_ORGANIZATIONS"
24454)
24455
24456// PortfolioShareType_Values returns all elements of the PortfolioShareType enum
24457func PortfolioShareType_Values() []string {
24458	return []string{
24459		PortfolioShareTypeImported,
24460		PortfolioShareTypeAwsServicecatalog,
24461		PortfolioShareTypeAwsOrganizations,
24462	}
24463}
24464
24465const (
24466	// PrincipalTypeIam is a PrincipalType enum value
24467	PrincipalTypeIam = "IAM"
24468)
24469
24470// PrincipalType_Values returns all elements of the PrincipalType enum
24471func PrincipalType_Values() []string {
24472	return []string{
24473		PrincipalTypeIam,
24474	}
24475}
24476
24477const (
24478	// ProductSourceAccount is a ProductSource enum value
24479	ProductSourceAccount = "ACCOUNT"
24480)
24481
24482// ProductSource_Values returns all elements of the ProductSource enum
24483func ProductSource_Values() []string {
24484	return []string{
24485		ProductSourceAccount,
24486	}
24487}
24488
24489const (
24490	// ProductTypeCloudFormationTemplate is a ProductType enum value
24491	ProductTypeCloudFormationTemplate = "CLOUD_FORMATION_TEMPLATE"
24492
24493	// ProductTypeMarketplace is a ProductType enum value
24494	ProductTypeMarketplace = "MARKETPLACE"
24495)
24496
24497// ProductType_Values returns all elements of the ProductType enum
24498func ProductType_Values() []string {
24499	return []string{
24500		ProductTypeCloudFormationTemplate,
24501		ProductTypeMarketplace,
24502	}
24503}
24504
24505const (
24506	// ProductViewFilterByFullTextSearch is a ProductViewFilterBy enum value
24507	ProductViewFilterByFullTextSearch = "FullTextSearch"
24508
24509	// ProductViewFilterByOwner is a ProductViewFilterBy enum value
24510	ProductViewFilterByOwner = "Owner"
24511
24512	// ProductViewFilterByProductType is a ProductViewFilterBy enum value
24513	ProductViewFilterByProductType = "ProductType"
24514
24515	// ProductViewFilterBySourceProductId is a ProductViewFilterBy enum value
24516	ProductViewFilterBySourceProductId = "SourceProductId"
24517)
24518
24519// ProductViewFilterBy_Values returns all elements of the ProductViewFilterBy enum
24520func ProductViewFilterBy_Values() []string {
24521	return []string{
24522		ProductViewFilterByFullTextSearch,
24523		ProductViewFilterByOwner,
24524		ProductViewFilterByProductType,
24525		ProductViewFilterBySourceProductId,
24526	}
24527}
24528
24529const (
24530	// ProductViewSortByTitle is a ProductViewSortBy enum value
24531	ProductViewSortByTitle = "Title"
24532
24533	// ProductViewSortByVersionCount is a ProductViewSortBy enum value
24534	ProductViewSortByVersionCount = "VersionCount"
24535
24536	// ProductViewSortByCreationDate is a ProductViewSortBy enum value
24537	ProductViewSortByCreationDate = "CreationDate"
24538)
24539
24540// ProductViewSortBy_Values returns all elements of the ProductViewSortBy enum
24541func ProductViewSortBy_Values() []string {
24542	return []string{
24543		ProductViewSortByTitle,
24544		ProductViewSortByVersionCount,
24545		ProductViewSortByCreationDate,
24546	}
24547}
24548
24549const (
24550	// PropertyKeyOwner is a PropertyKey enum value
24551	PropertyKeyOwner = "OWNER"
24552
24553	// PropertyKeyLaunchRole is a PropertyKey enum value
24554	PropertyKeyLaunchRole = "LAUNCH_ROLE"
24555)
24556
24557// PropertyKey_Values returns all elements of the PropertyKey enum
24558func PropertyKey_Values() []string {
24559	return []string{
24560		PropertyKeyOwner,
24561		PropertyKeyLaunchRole,
24562	}
24563}
24564
24565const (
24566	// ProvisionedProductPlanStatusCreateInProgress is a ProvisionedProductPlanStatus enum value
24567	ProvisionedProductPlanStatusCreateInProgress = "CREATE_IN_PROGRESS"
24568
24569	// ProvisionedProductPlanStatusCreateSuccess is a ProvisionedProductPlanStatus enum value
24570	ProvisionedProductPlanStatusCreateSuccess = "CREATE_SUCCESS"
24571
24572	// ProvisionedProductPlanStatusCreateFailed is a ProvisionedProductPlanStatus enum value
24573	ProvisionedProductPlanStatusCreateFailed = "CREATE_FAILED"
24574
24575	// ProvisionedProductPlanStatusExecuteInProgress is a ProvisionedProductPlanStatus enum value
24576	ProvisionedProductPlanStatusExecuteInProgress = "EXECUTE_IN_PROGRESS"
24577
24578	// ProvisionedProductPlanStatusExecuteSuccess is a ProvisionedProductPlanStatus enum value
24579	ProvisionedProductPlanStatusExecuteSuccess = "EXECUTE_SUCCESS"
24580
24581	// ProvisionedProductPlanStatusExecuteFailed is a ProvisionedProductPlanStatus enum value
24582	ProvisionedProductPlanStatusExecuteFailed = "EXECUTE_FAILED"
24583)
24584
24585// ProvisionedProductPlanStatus_Values returns all elements of the ProvisionedProductPlanStatus enum
24586func ProvisionedProductPlanStatus_Values() []string {
24587	return []string{
24588		ProvisionedProductPlanStatusCreateInProgress,
24589		ProvisionedProductPlanStatusCreateSuccess,
24590		ProvisionedProductPlanStatusCreateFailed,
24591		ProvisionedProductPlanStatusExecuteInProgress,
24592		ProvisionedProductPlanStatusExecuteSuccess,
24593		ProvisionedProductPlanStatusExecuteFailed,
24594	}
24595}
24596
24597const (
24598	// ProvisionedProductPlanTypeCloudformation is a ProvisionedProductPlanType enum value
24599	ProvisionedProductPlanTypeCloudformation = "CLOUDFORMATION"
24600)
24601
24602// ProvisionedProductPlanType_Values returns all elements of the ProvisionedProductPlanType enum
24603func ProvisionedProductPlanType_Values() []string {
24604	return []string{
24605		ProvisionedProductPlanTypeCloudformation,
24606	}
24607}
24608
24609const (
24610	// ProvisionedProductStatusAvailable is a ProvisionedProductStatus enum value
24611	ProvisionedProductStatusAvailable = "AVAILABLE"
24612
24613	// ProvisionedProductStatusUnderChange is a ProvisionedProductStatus enum value
24614	ProvisionedProductStatusUnderChange = "UNDER_CHANGE"
24615
24616	// ProvisionedProductStatusTainted is a ProvisionedProductStatus enum value
24617	ProvisionedProductStatusTainted = "TAINTED"
24618
24619	// ProvisionedProductStatusError is a ProvisionedProductStatus enum value
24620	ProvisionedProductStatusError = "ERROR"
24621
24622	// ProvisionedProductStatusPlanInProgress is a ProvisionedProductStatus enum value
24623	ProvisionedProductStatusPlanInProgress = "PLAN_IN_PROGRESS"
24624)
24625
24626// ProvisionedProductStatus_Values returns all elements of the ProvisionedProductStatus enum
24627func ProvisionedProductStatus_Values() []string {
24628	return []string{
24629		ProvisionedProductStatusAvailable,
24630		ProvisionedProductStatusUnderChange,
24631		ProvisionedProductStatusTainted,
24632		ProvisionedProductStatusError,
24633		ProvisionedProductStatusPlanInProgress,
24634	}
24635}
24636
24637const (
24638	// ProvisionedProductViewFilterBySearchQuery is a ProvisionedProductViewFilterBy enum value
24639	ProvisionedProductViewFilterBySearchQuery = "SearchQuery"
24640)
24641
24642// ProvisionedProductViewFilterBy_Values returns all elements of the ProvisionedProductViewFilterBy enum
24643func ProvisionedProductViewFilterBy_Values() []string {
24644	return []string{
24645		ProvisionedProductViewFilterBySearchQuery,
24646	}
24647}
24648
24649const (
24650	// ProvisioningArtifactGuidanceDefault is a ProvisioningArtifactGuidance enum value
24651	ProvisioningArtifactGuidanceDefault = "DEFAULT"
24652
24653	// ProvisioningArtifactGuidanceDeprecated is a ProvisioningArtifactGuidance enum value
24654	ProvisioningArtifactGuidanceDeprecated = "DEPRECATED"
24655)
24656
24657// ProvisioningArtifactGuidance_Values returns all elements of the ProvisioningArtifactGuidance enum
24658func ProvisioningArtifactGuidance_Values() []string {
24659	return []string{
24660		ProvisioningArtifactGuidanceDefault,
24661		ProvisioningArtifactGuidanceDeprecated,
24662	}
24663}
24664
24665const (
24666	// ProvisioningArtifactPropertyNameId is a ProvisioningArtifactPropertyName enum value
24667	ProvisioningArtifactPropertyNameId = "Id"
24668)
24669
24670// ProvisioningArtifactPropertyName_Values returns all elements of the ProvisioningArtifactPropertyName enum
24671func ProvisioningArtifactPropertyName_Values() []string {
24672	return []string{
24673		ProvisioningArtifactPropertyNameId,
24674	}
24675}
24676
24677const (
24678	// ProvisioningArtifactTypeCloudFormationTemplate is a ProvisioningArtifactType enum value
24679	ProvisioningArtifactTypeCloudFormationTemplate = "CLOUD_FORMATION_TEMPLATE"
24680
24681	// ProvisioningArtifactTypeMarketplaceAmi is a ProvisioningArtifactType enum value
24682	ProvisioningArtifactTypeMarketplaceAmi = "MARKETPLACE_AMI"
24683
24684	// ProvisioningArtifactTypeMarketplaceCar is a ProvisioningArtifactType enum value
24685	ProvisioningArtifactTypeMarketplaceCar = "MARKETPLACE_CAR"
24686)
24687
24688// ProvisioningArtifactType_Values returns all elements of the ProvisioningArtifactType enum
24689func ProvisioningArtifactType_Values() []string {
24690	return []string{
24691		ProvisioningArtifactTypeCloudFormationTemplate,
24692		ProvisioningArtifactTypeMarketplaceAmi,
24693		ProvisioningArtifactTypeMarketplaceCar,
24694	}
24695}
24696
24697const (
24698	// RecordStatusCreated is a RecordStatus enum value
24699	RecordStatusCreated = "CREATED"
24700
24701	// RecordStatusInProgress is a RecordStatus enum value
24702	RecordStatusInProgress = "IN_PROGRESS"
24703
24704	// RecordStatusInProgressInError is a RecordStatus enum value
24705	RecordStatusInProgressInError = "IN_PROGRESS_IN_ERROR"
24706
24707	// RecordStatusSucceeded is a RecordStatus enum value
24708	RecordStatusSucceeded = "SUCCEEDED"
24709
24710	// RecordStatusFailed is a RecordStatus enum value
24711	RecordStatusFailed = "FAILED"
24712)
24713
24714// RecordStatus_Values returns all elements of the RecordStatus enum
24715func RecordStatus_Values() []string {
24716	return []string{
24717		RecordStatusCreated,
24718		RecordStatusInProgress,
24719		RecordStatusInProgressInError,
24720		RecordStatusSucceeded,
24721		RecordStatusFailed,
24722	}
24723}
24724
24725const (
24726	// ReplacementTrue is a Replacement enum value
24727	ReplacementTrue = "TRUE"
24728
24729	// ReplacementFalse is a Replacement enum value
24730	ReplacementFalse = "FALSE"
24731
24732	// ReplacementConditional is a Replacement enum value
24733	ReplacementConditional = "CONDITIONAL"
24734)
24735
24736// Replacement_Values returns all elements of the Replacement enum
24737func Replacement_Values() []string {
24738	return []string{
24739		ReplacementTrue,
24740		ReplacementFalse,
24741		ReplacementConditional,
24742	}
24743}
24744
24745const (
24746	// RequiresRecreationNever is a RequiresRecreation enum value
24747	RequiresRecreationNever = "NEVER"
24748
24749	// RequiresRecreationConditionally is a RequiresRecreation enum value
24750	RequiresRecreationConditionally = "CONDITIONALLY"
24751
24752	// RequiresRecreationAlways is a RequiresRecreation enum value
24753	RequiresRecreationAlways = "ALWAYS"
24754)
24755
24756// RequiresRecreation_Values returns all elements of the RequiresRecreation enum
24757func RequiresRecreation_Values() []string {
24758	return []string{
24759		RequiresRecreationNever,
24760		RequiresRecreationConditionally,
24761		RequiresRecreationAlways,
24762	}
24763}
24764
24765const (
24766	// ResourceAttributeProperties is a ResourceAttribute enum value
24767	ResourceAttributeProperties = "PROPERTIES"
24768
24769	// ResourceAttributeMetadata is a ResourceAttribute enum value
24770	ResourceAttributeMetadata = "METADATA"
24771
24772	// ResourceAttributeCreationpolicy is a ResourceAttribute enum value
24773	ResourceAttributeCreationpolicy = "CREATIONPOLICY"
24774
24775	// ResourceAttributeUpdatepolicy is a ResourceAttribute enum value
24776	ResourceAttributeUpdatepolicy = "UPDATEPOLICY"
24777
24778	// ResourceAttributeDeletionpolicy is a ResourceAttribute enum value
24779	ResourceAttributeDeletionpolicy = "DELETIONPOLICY"
24780
24781	// ResourceAttributeTags is a ResourceAttribute enum value
24782	ResourceAttributeTags = "TAGS"
24783)
24784
24785// ResourceAttribute_Values returns all elements of the ResourceAttribute enum
24786func ResourceAttribute_Values() []string {
24787	return []string{
24788		ResourceAttributeProperties,
24789		ResourceAttributeMetadata,
24790		ResourceAttributeCreationpolicy,
24791		ResourceAttributeUpdatepolicy,
24792		ResourceAttributeDeletionpolicy,
24793		ResourceAttributeTags,
24794	}
24795}
24796
24797const (
24798	// ServiceActionAssociationErrorCodeDuplicateResource is a ServiceActionAssociationErrorCode enum value
24799	ServiceActionAssociationErrorCodeDuplicateResource = "DUPLICATE_RESOURCE"
24800
24801	// ServiceActionAssociationErrorCodeInternalFailure is a ServiceActionAssociationErrorCode enum value
24802	ServiceActionAssociationErrorCodeInternalFailure = "INTERNAL_FAILURE"
24803
24804	// ServiceActionAssociationErrorCodeLimitExceeded is a ServiceActionAssociationErrorCode enum value
24805	ServiceActionAssociationErrorCodeLimitExceeded = "LIMIT_EXCEEDED"
24806
24807	// ServiceActionAssociationErrorCodeResourceNotFound is a ServiceActionAssociationErrorCode enum value
24808	ServiceActionAssociationErrorCodeResourceNotFound = "RESOURCE_NOT_FOUND"
24809
24810	// ServiceActionAssociationErrorCodeThrottling is a ServiceActionAssociationErrorCode enum value
24811	ServiceActionAssociationErrorCodeThrottling = "THROTTLING"
24812)
24813
24814// ServiceActionAssociationErrorCode_Values returns all elements of the ServiceActionAssociationErrorCode enum
24815func ServiceActionAssociationErrorCode_Values() []string {
24816	return []string{
24817		ServiceActionAssociationErrorCodeDuplicateResource,
24818		ServiceActionAssociationErrorCodeInternalFailure,
24819		ServiceActionAssociationErrorCodeLimitExceeded,
24820		ServiceActionAssociationErrorCodeResourceNotFound,
24821		ServiceActionAssociationErrorCodeThrottling,
24822	}
24823}
24824
24825const (
24826	// ServiceActionDefinitionKeyName is a ServiceActionDefinitionKey enum value
24827	ServiceActionDefinitionKeyName = "Name"
24828
24829	// ServiceActionDefinitionKeyVersion is a ServiceActionDefinitionKey enum value
24830	ServiceActionDefinitionKeyVersion = "Version"
24831
24832	// ServiceActionDefinitionKeyAssumeRole is a ServiceActionDefinitionKey enum value
24833	ServiceActionDefinitionKeyAssumeRole = "AssumeRole"
24834
24835	// ServiceActionDefinitionKeyParameters is a ServiceActionDefinitionKey enum value
24836	ServiceActionDefinitionKeyParameters = "Parameters"
24837)
24838
24839// ServiceActionDefinitionKey_Values returns all elements of the ServiceActionDefinitionKey enum
24840func ServiceActionDefinitionKey_Values() []string {
24841	return []string{
24842		ServiceActionDefinitionKeyName,
24843		ServiceActionDefinitionKeyVersion,
24844		ServiceActionDefinitionKeyAssumeRole,
24845		ServiceActionDefinitionKeyParameters,
24846	}
24847}
24848
24849const (
24850	// ServiceActionDefinitionTypeSsmAutomation is a ServiceActionDefinitionType enum value
24851	ServiceActionDefinitionTypeSsmAutomation = "SSM_AUTOMATION"
24852)
24853
24854// ServiceActionDefinitionType_Values returns all elements of the ServiceActionDefinitionType enum
24855func ServiceActionDefinitionType_Values() []string {
24856	return []string{
24857		ServiceActionDefinitionTypeSsmAutomation,
24858	}
24859}
24860
24861const (
24862	// ShareStatusNotStarted is a ShareStatus enum value
24863	ShareStatusNotStarted = "NOT_STARTED"
24864
24865	// ShareStatusInProgress is a ShareStatus enum value
24866	ShareStatusInProgress = "IN_PROGRESS"
24867
24868	// ShareStatusCompleted is a ShareStatus enum value
24869	ShareStatusCompleted = "COMPLETED"
24870
24871	// ShareStatusCompletedWithErrors is a ShareStatus enum value
24872	ShareStatusCompletedWithErrors = "COMPLETED_WITH_ERRORS"
24873
24874	// ShareStatusError is a ShareStatus enum value
24875	ShareStatusError = "ERROR"
24876)
24877
24878// ShareStatus_Values returns all elements of the ShareStatus enum
24879func ShareStatus_Values() []string {
24880	return []string{
24881		ShareStatusNotStarted,
24882		ShareStatusInProgress,
24883		ShareStatusCompleted,
24884		ShareStatusCompletedWithErrors,
24885		ShareStatusError,
24886	}
24887}
24888
24889const (
24890	// SortOrderAscending is a SortOrder enum value
24891	SortOrderAscending = "ASCENDING"
24892
24893	// SortOrderDescending is a SortOrder enum value
24894	SortOrderDescending = "DESCENDING"
24895)
24896
24897// SortOrder_Values returns all elements of the SortOrder enum
24898func SortOrder_Values() []string {
24899	return []string{
24900		SortOrderAscending,
24901		SortOrderDescending,
24902	}
24903}
24904
24905const (
24906	// StackInstanceStatusCurrent is a StackInstanceStatus enum value
24907	StackInstanceStatusCurrent = "CURRENT"
24908
24909	// StackInstanceStatusOutdated is a StackInstanceStatus enum value
24910	StackInstanceStatusOutdated = "OUTDATED"
24911
24912	// StackInstanceStatusInoperable is a StackInstanceStatus enum value
24913	StackInstanceStatusInoperable = "INOPERABLE"
24914)
24915
24916// StackInstanceStatus_Values returns all elements of the StackInstanceStatus enum
24917func StackInstanceStatus_Values() []string {
24918	return []string{
24919		StackInstanceStatusCurrent,
24920		StackInstanceStatusOutdated,
24921		StackInstanceStatusInoperable,
24922	}
24923}
24924
24925const (
24926	// StackSetOperationTypeCreate is a StackSetOperationType enum value
24927	StackSetOperationTypeCreate = "CREATE"
24928
24929	// StackSetOperationTypeUpdate is a StackSetOperationType enum value
24930	StackSetOperationTypeUpdate = "UPDATE"
24931
24932	// StackSetOperationTypeDelete is a StackSetOperationType enum value
24933	StackSetOperationTypeDelete = "DELETE"
24934)
24935
24936// StackSetOperationType_Values returns all elements of the StackSetOperationType enum
24937func StackSetOperationType_Values() []string {
24938	return []string{
24939		StackSetOperationTypeCreate,
24940		StackSetOperationTypeUpdate,
24941		StackSetOperationTypeDelete,
24942	}
24943}
24944
24945const (
24946	// StatusAvailable is a Status enum value
24947	StatusAvailable = "AVAILABLE"
24948
24949	// StatusCreating is a Status enum value
24950	StatusCreating = "CREATING"
24951
24952	// StatusFailed is a Status enum value
24953	StatusFailed = "FAILED"
24954)
24955
24956// Status_Values returns all elements of the Status enum
24957func Status_Values() []string {
24958	return []string{
24959		StatusAvailable,
24960		StatusCreating,
24961		StatusFailed,
24962	}
24963}
24964