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. This includes portfolios that contain
1049// a shared product.
1050//
1051// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1052// with awserr.Error's Code and Message methods to get detailed information about
1053// the error.
1054//
1055// See the AWS API reference guide for AWS Service Catalog's
1056// API operation CreatePortfolioShare for usage and error information.
1057//
1058// Returned Error Types:
1059//   * ResourceNotFoundException
1060//   The specified resource was not found.
1061//
1062//   * LimitExceededException
1063//   The current limits of the service would have been exceeded by this operation.
1064//   Decrease your resource use or increase your service limits and retry the
1065//   operation.
1066//
1067//   * InvalidParametersException
1068//   One or more parameters provided to the operation are not valid.
1069//
1070//   * OperationNotSupportedException
1071//   The operation is not supported.
1072//
1073//   * InvalidStateException
1074//   An attempt was made to modify a resource that is in a state that is not valid.
1075//   Check your resources to ensure that they are in valid states before retrying
1076//   the operation.
1077//
1078// See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/CreatePortfolioShare
1079func (c *ServiceCatalog) CreatePortfolioShare(input *CreatePortfolioShareInput) (*CreatePortfolioShareOutput, error) {
1080	req, out := c.CreatePortfolioShareRequest(input)
1081	return out, req.Send()
1082}
1083
1084// CreatePortfolioShareWithContext is the same as CreatePortfolioShare with the addition of
1085// the ability to pass a context and additional request options.
1086//
1087// See CreatePortfolioShare for details on how to use this API operation.
1088//
1089// The context must be non-nil and will be used for request cancellation. If
1090// the context is nil a panic will occur. In the future the SDK may create
1091// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1092// for more information on using Contexts.
1093func (c *ServiceCatalog) CreatePortfolioShareWithContext(ctx aws.Context, input *CreatePortfolioShareInput, opts ...request.Option) (*CreatePortfolioShareOutput, error) {
1094	req, out := c.CreatePortfolioShareRequest(input)
1095	req.SetContext(ctx)
1096	req.ApplyOptions(opts...)
1097	return out, req.Send()
1098}
1099
1100const opCreateProduct = "CreateProduct"
1101
1102// CreateProductRequest generates a "aws/request.Request" representing the
1103// client's request for the CreateProduct operation. The "output" return
1104// value will be populated with the request's response once the request completes
1105// successfully.
1106//
1107// Use "Send" method on the returned Request to send the API call to the service.
1108// the "output" return value is not valid until after Send returns without error.
1109//
1110// See CreateProduct for more information on using the CreateProduct
1111// API call, and error handling.
1112//
1113// This method is useful when you want to inject custom logic or configuration
1114// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1115//
1116//
1117//    // Example sending a request using the CreateProductRequest method.
1118//    req, resp := client.CreateProductRequest(params)
1119//
1120//    err := req.Send()
1121//    if err == nil { // resp is now filled
1122//        fmt.Println(resp)
1123//    }
1124//
1125// See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/CreateProduct
1126func (c *ServiceCatalog) CreateProductRequest(input *CreateProductInput) (req *request.Request, output *CreateProductOutput) {
1127	op := &request.Operation{
1128		Name:       opCreateProduct,
1129		HTTPMethod: "POST",
1130		HTTPPath:   "/",
1131	}
1132
1133	if input == nil {
1134		input = &CreateProductInput{}
1135	}
1136
1137	output = &CreateProductOutput{}
1138	req = c.newRequest(op, input, output)
1139	return
1140}
1141
1142// CreateProduct API operation for AWS Service Catalog.
1143//
1144// Creates a product.
1145//
1146// A delegated admin is authorized to invoke this command.
1147//
1148// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1149// with awserr.Error's Code and Message methods to get detailed information about
1150// the error.
1151//
1152// See the AWS API reference guide for AWS Service Catalog's
1153// API operation CreateProduct for usage and error information.
1154//
1155// Returned Error Types:
1156//   * InvalidParametersException
1157//   One or more parameters provided to the operation are not valid.
1158//
1159//   * LimitExceededException
1160//   The current limits of the service would have been exceeded by this operation.
1161//   Decrease your resource use or increase your service limits and retry the
1162//   operation.
1163//
1164//   * TagOptionNotMigratedException
1165//   An operation requiring TagOptions failed because the TagOptions migration
1166//   process has not been performed for this account. Please use the AWS console
1167//   to perform the migration process before retrying the operation.
1168//
1169// See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/CreateProduct
1170func (c *ServiceCatalog) CreateProduct(input *CreateProductInput) (*CreateProductOutput, error) {
1171	req, out := c.CreateProductRequest(input)
1172	return out, req.Send()
1173}
1174
1175// CreateProductWithContext is the same as CreateProduct with the addition of
1176// the ability to pass a context and additional request options.
1177//
1178// See CreateProduct for details on how to use this API operation.
1179//
1180// The context must be non-nil and will be used for request cancellation. If
1181// the context is nil a panic will occur. In the future the SDK may create
1182// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1183// for more information on using Contexts.
1184func (c *ServiceCatalog) CreateProductWithContext(ctx aws.Context, input *CreateProductInput, opts ...request.Option) (*CreateProductOutput, error) {
1185	req, out := c.CreateProductRequest(input)
1186	req.SetContext(ctx)
1187	req.ApplyOptions(opts...)
1188	return out, req.Send()
1189}
1190
1191const opCreateProvisionedProductPlan = "CreateProvisionedProductPlan"
1192
1193// CreateProvisionedProductPlanRequest generates a "aws/request.Request" representing the
1194// client's request for the CreateProvisionedProductPlan operation. The "output" return
1195// value will be populated with the request's response once the request completes
1196// successfully.
1197//
1198// Use "Send" method on the returned Request to send the API call to the service.
1199// the "output" return value is not valid until after Send returns without error.
1200//
1201// See CreateProvisionedProductPlan for more information on using the CreateProvisionedProductPlan
1202// API call, and error handling.
1203//
1204// This method is useful when you want to inject custom logic or configuration
1205// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1206//
1207//
1208//    // Example sending a request using the CreateProvisionedProductPlanRequest method.
1209//    req, resp := client.CreateProvisionedProductPlanRequest(params)
1210//
1211//    err := req.Send()
1212//    if err == nil { // resp is now filled
1213//        fmt.Println(resp)
1214//    }
1215//
1216// See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/CreateProvisionedProductPlan
1217func (c *ServiceCatalog) CreateProvisionedProductPlanRequest(input *CreateProvisionedProductPlanInput) (req *request.Request, output *CreateProvisionedProductPlanOutput) {
1218	op := &request.Operation{
1219		Name:       opCreateProvisionedProductPlan,
1220		HTTPMethod: "POST",
1221		HTTPPath:   "/",
1222	}
1223
1224	if input == nil {
1225		input = &CreateProvisionedProductPlanInput{}
1226	}
1227
1228	output = &CreateProvisionedProductPlanOutput{}
1229	req = c.newRequest(op, input, output)
1230	return
1231}
1232
1233// CreateProvisionedProductPlan API operation for AWS Service Catalog.
1234//
1235// Creates a plan. A plan includes the list of resources to be created (when
1236// provisioning a new product) or modified (when updating a provisioned product)
1237// when the plan is executed.
1238//
1239// You can create one plan per provisioned product. To create a plan for an
1240// existing provisioned product, the product status must be AVAILBLE or TAINTED.
1241//
1242// To view the resource changes in the change set, use DescribeProvisionedProductPlan.
1243// To create or modify the provisioned product, use ExecuteProvisionedProductPlan.
1244//
1245// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1246// with awserr.Error's Code and Message methods to get detailed information about
1247// the error.
1248//
1249// See the AWS API reference guide for AWS Service Catalog's
1250// API operation CreateProvisionedProductPlan for usage and error information.
1251//
1252// Returned Error Types:
1253//   * InvalidParametersException
1254//   One or more parameters provided to the operation are not valid.
1255//
1256//   * ResourceNotFoundException
1257//   The specified resource was not found.
1258//
1259//   * InvalidStateException
1260//   An attempt was made to modify a resource that is in a state that is not valid.
1261//   Check your resources to ensure that they are in valid states before retrying
1262//   the operation.
1263//
1264// See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/CreateProvisionedProductPlan
1265func (c *ServiceCatalog) CreateProvisionedProductPlan(input *CreateProvisionedProductPlanInput) (*CreateProvisionedProductPlanOutput, error) {
1266	req, out := c.CreateProvisionedProductPlanRequest(input)
1267	return out, req.Send()
1268}
1269
1270// CreateProvisionedProductPlanWithContext is the same as CreateProvisionedProductPlan with the addition of
1271// the ability to pass a context and additional request options.
1272//
1273// See CreateProvisionedProductPlan for details on how to use this API operation.
1274//
1275// The context must be non-nil and will be used for request cancellation. If
1276// the context is nil a panic will occur. In the future the SDK may create
1277// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1278// for more information on using Contexts.
1279func (c *ServiceCatalog) CreateProvisionedProductPlanWithContext(ctx aws.Context, input *CreateProvisionedProductPlanInput, opts ...request.Option) (*CreateProvisionedProductPlanOutput, error) {
1280	req, out := c.CreateProvisionedProductPlanRequest(input)
1281	req.SetContext(ctx)
1282	req.ApplyOptions(opts...)
1283	return out, req.Send()
1284}
1285
1286const opCreateProvisioningArtifact = "CreateProvisioningArtifact"
1287
1288// CreateProvisioningArtifactRequest generates a "aws/request.Request" representing the
1289// client's request for the CreateProvisioningArtifact operation. The "output" return
1290// value will be populated with the request's response once the request completes
1291// successfully.
1292//
1293// Use "Send" method on the returned Request to send the API call to the service.
1294// the "output" return value is not valid until after Send returns without error.
1295//
1296// See CreateProvisioningArtifact for more information on using the CreateProvisioningArtifact
1297// API call, and error handling.
1298//
1299// This method is useful when you want to inject custom logic or configuration
1300// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1301//
1302//
1303//    // Example sending a request using the CreateProvisioningArtifactRequest method.
1304//    req, resp := client.CreateProvisioningArtifactRequest(params)
1305//
1306//    err := req.Send()
1307//    if err == nil { // resp is now filled
1308//        fmt.Println(resp)
1309//    }
1310//
1311// See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/CreateProvisioningArtifact
1312func (c *ServiceCatalog) CreateProvisioningArtifactRequest(input *CreateProvisioningArtifactInput) (req *request.Request, output *CreateProvisioningArtifactOutput) {
1313	op := &request.Operation{
1314		Name:       opCreateProvisioningArtifact,
1315		HTTPMethod: "POST",
1316		HTTPPath:   "/",
1317	}
1318
1319	if input == nil {
1320		input = &CreateProvisioningArtifactInput{}
1321	}
1322
1323	output = &CreateProvisioningArtifactOutput{}
1324	req = c.newRequest(op, input, output)
1325	return
1326}
1327
1328// CreateProvisioningArtifact API operation for AWS Service Catalog.
1329//
1330// Creates a provisioning artifact (also known as a version) for the specified
1331// product.
1332//
1333// You cannot create a provisioning artifact for a product that was shared with
1334// you.
1335//
1336// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1337// with awserr.Error's Code and Message methods to get detailed information about
1338// the error.
1339//
1340// See the AWS API reference guide for AWS Service Catalog's
1341// API operation CreateProvisioningArtifact for usage and error information.
1342//
1343// Returned Error Types:
1344//   * ResourceNotFoundException
1345//   The specified resource was not found.
1346//
1347//   * InvalidParametersException
1348//   One or more parameters provided to the operation are not valid.
1349//
1350//   * LimitExceededException
1351//   The current limits of the service would have been exceeded by this operation.
1352//   Decrease your resource use or increase your service limits and retry the
1353//   operation.
1354//
1355// See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/CreateProvisioningArtifact
1356func (c *ServiceCatalog) CreateProvisioningArtifact(input *CreateProvisioningArtifactInput) (*CreateProvisioningArtifactOutput, error) {
1357	req, out := c.CreateProvisioningArtifactRequest(input)
1358	return out, req.Send()
1359}
1360
1361// CreateProvisioningArtifactWithContext is the same as CreateProvisioningArtifact with the addition of
1362// the ability to pass a context and additional request options.
1363//
1364// See CreateProvisioningArtifact for details on how to use this API operation.
1365//
1366// The context must be non-nil and will be used for request cancellation. If
1367// the context is nil a panic will occur. In the future the SDK may create
1368// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1369// for more information on using Contexts.
1370func (c *ServiceCatalog) CreateProvisioningArtifactWithContext(ctx aws.Context, input *CreateProvisioningArtifactInput, opts ...request.Option) (*CreateProvisioningArtifactOutput, error) {
1371	req, out := c.CreateProvisioningArtifactRequest(input)
1372	req.SetContext(ctx)
1373	req.ApplyOptions(opts...)
1374	return out, req.Send()
1375}
1376
1377const opCreateServiceAction = "CreateServiceAction"
1378
1379// CreateServiceActionRequest generates a "aws/request.Request" representing the
1380// client's request for the CreateServiceAction operation. The "output" return
1381// value will be populated with the request's response once the request completes
1382// successfully.
1383//
1384// Use "Send" method on the returned Request to send the API call to the service.
1385// the "output" return value is not valid until after Send returns without error.
1386//
1387// See CreateServiceAction for more information on using the CreateServiceAction
1388// API call, and error handling.
1389//
1390// This method is useful when you want to inject custom logic or configuration
1391// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1392//
1393//
1394//    // Example sending a request using the CreateServiceActionRequest method.
1395//    req, resp := client.CreateServiceActionRequest(params)
1396//
1397//    err := req.Send()
1398//    if err == nil { // resp is now filled
1399//        fmt.Println(resp)
1400//    }
1401//
1402// See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/CreateServiceAction
1403func (c *ServiceCatalog) CreateServiceActionRequest(input *CreateServiceActionInput) (req *request.Request, output *CreateServiceActionOutput) {
1404	op := &request.Operation{
1405		Name:       opCreateServiceAction,
1406		HTTPMethod: "POST",
1407		HTTPPath:   "/",
1408	}
1409
1410	if input == nil {
1411		input = &CreateServiceActionInput{}
1412	}
1413
1414	output = &CreateServiceActionOutput{}
1415	req = c.newRequest(op, input, output)
1416	return
1417}
1418
1419// CreateServiceAction API operation for AWS Service Catalog.
1420//
1421// Creates a self-service action.
1422//
1423// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1424// with awserr.Error's Code and Message methods to get detailed information about
1425// the error.
1426//
1427// See the AWS API reference guide for AWS Service Catalog's
1428// API operation CreateServiceAction for usage and error information.
1429//
1430// Returned Error Types:
1431//   * InvalidParametersException
1432//   One or more parameters provided to the operation are not valid.
1433//
1434//   * LimitExceededException
1435//   The current limits of the service would have been exceeded by this operation.
1436//   Decrease your resource use or increase your service limits and retry the
1437//   operation.
1438//
1439// See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/CreateServiceAction
1440func (c *ServiceCatalog) CreateServiceAction(input *CreateServiceActionInput) (*CreateServiceActionOutput, error) {
1441	req, out := c.CreateServiceActionRequest(input)
1442	return out, req.Send()
1443}
1444
1445// CreateServiceActionWithContext is the same as CreateServiceAction with the addition of
1446// the ability to pass a context and additional request options.
1447//
1448// See CreateServiceAction for details on how to use this API operation.
1449//
1450// The context must be non-nil and will be used for request cancellation. If
1451// the context is nil a panic will occur. In the future the SDK may create
1452// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1453// for more information on using Contexts.
1454func (c *ServiceCatalog) CreateServiceActionWithContext(ctx aws.Context, input *CreateServiceActionInput, opts ...request.Option) (*CreateServiceActionOutput, error) {
1455	req, out := c.CreateServiceActionRequest(input)
1456	req.SetContext(ctx)
1457	req.ApplyOptions(opts...)
1458	return out, req.Send()
1459}
1460
1461const opCreateTagOption = "CreateTagOption"
1462
1463// CreateTagOptionRequest generates a "aws/request.Request" representing the
1464// client's request for the CreateTagOption operation. The "output" return
1465// value will be populated with the request's response once the request completes
1466// successfully.
1467//
1468// Use "Send" method on the returned Request to send the API call to the service.
1469// the "output" return value is not valid until after Send returns without error.
1470//
1471// See CreateTagOption for more information on using the CreateTagOption
1472// API call, and error handling.
1473//
1474// This method is useful when you want to inject custom logic or configuration
1475// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1476//
1477//
1478//    // Example sending a request using the CreateTagOptionRequest method.
1479//    req, resp := client.CreateTagOptionRequest(params)
1480//
1481//    err := req.Send()
1482//    if err == nil { // resp is now filled
1483//        fmt.Println(resp)
1484//    }
1485//
1486// See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/CreateTagOption
1487func (c *ServiceCatalog) CreateTagOptionRequest(input *CreateTagOptionInput) (req *request.Request, output *CreateTagOptionOutput) {
1488	op := &request.Operation{
1489		Name:       opCreateTagOption,
1490		HTTPMethod: "POST",
1491		HTTPPath:   "/",
1492	}
1493
1494	if input == nil {
1495		input = &CreateTagOptionInput{}
1496	}
1497
1498	output = &CreateTagOptionOutput{}
1499	req = c.newRequest(op, input, output)
1500	return
1501}
1502
1503// CreateTagOption API operation for AWS Service Catalog.
1504//
1505// Creates a TagOption.
1506//
1507// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1508// with awserr.Error's Code and Message methods to get detailed information about
1509// the error.
1510//
1511// See the AWS API reference guide for AWS Service Catalog's
1512// API operation CreateTagOption for usage and error information.
1513//
1514// Returned Error Types:
1515//   * TagOptionNotMigratedException
1516//   An operation requiring TagOptions failed because the TagOptions migration
1517//   process has not been performed for this account. Please use the AWS console
1518//   to perform the migration process before retrying the operation.
1519//
1520//   * DuplicateResourceException
1521//   The specified resource is a duplicate.
1522//
1523//   * LimitExceededException
1524//   The current limits of the service would have been exceeded by this operation.
1525//   Decrease your resource use or increase your service limits and retry the
1526//   operation.
1527//
1528// See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/CreateTagOption
1529func (c *ServiceCatalog) CreateTagOption(input *CreateTagOptionInput) (*CreateTagOptionOutput, error) {
1530	req, out := c.CreateTagOptionRequest(input)
1531	return out, req.Send()
1532}
1533
1534// CreateTagOptionWithContext is the same as CreateTagOption with the addition of
1535// the ability to pass a context and additional request options.
1536//
1537// See CreateTagOption for details on how to use this API operation.
1538//
1539// The context must be non-nil and will be used for request cancellation. If
1540// the context is nil a panic will occur. In the future the SDK may create
1541// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1542// for more information on using Contexts.
1543func (c *ServiceCatalog) CreateTagOptionWithContext(ctx aws.Context, input *CreateTagOptionInput, opts ...request.Option) (*CreateTagOptionOutput, error) {
1544	req, out := c.CreateTagOptionRequest(input)
1545	req.SetContext(ctx)
1546	req.ApplyOptions(opts...)
1547	return out, req.Send()
1548}
1549
1550const opDeleteConstraint = "DeleteConstraint"
1551
1552// DeleteConstraintRequest generates a "aws/request.Request" representing the
1553// client's request for the DeleteConstraint operation. The "output" return
1554// value will be populated with the request's response once the request completes
1555// successfully.
1556//
1557// Use "Send" method on the returned Request to send the API call to the service.
1558// the "output" return value is not valid until after Send returns without error.
1559//
1560// See DeleteConstraint for more information on using the DeleteConstraint
1561// API call, and error handling.
1562//
1563// This method is useful when you want to inject custom logic or configuration
1564// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1565//
1566//
1567//    // Example sending a request using the DeleteConstraintRequest method.
1568//    req, resp := client.DeleteConstraintRequest(params)
1569//
1570//    err := req.Send()
1571//    if err == nil { // resp is now filled
1572//        fmt.Println(resp)
1573//    }
1574//
1575// See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/DeleteConstraint
1576func (c *ServiceCatalog) DeleteConstraintRequest(input *DeleteConstraintInput) (req *request.Request, output *DeleteConstraintOutput) {
1577	op := &request.Operation{
1578		Name:       opDeleteConstraint,
1579		HTTPMethod: "POST",
1580		HTTPPath:   "/",
1581	}
1582
1583	if input == nil {
1584		input = &DeleteConstraintInput{}
1585	}
1586
1587	output = &DeleteConstraintOutput{}
1588	req = c.newRequest(op, input, output)
1589	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
1590	return
1591}
1592
1593// DeleteConstraint API operation for AWS Service Catalog.
1594//
1595// Deletes the specified constraint.
1596//
1597// A delegated admin is authorized to invoke this command.
1598//
1599// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1600// with awserr.Error's Code and Message methods to get detailed information about
1601// the error.
1602//
1603// See the AWS API reference guide for AWS Service Catalog's
1604// API operation DeleteConstraint for usage and error information.
1605//
1606// Returned Error Types:
1607//   * ResourceNotFoundException
1608//   The specified resource was not found.
1609//
1610//   * InvalidParametersException
1611//   One or more parameters provided to the operation are not valid.
1612//
1613// See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/DeleteConstraint
1614func (c *ServiceCatalog) DeleteConstraint(input *DeleteConstraintInput) (*DeleteConstraintOutput, error) {
1615	req, out := c.DeleteConstraintRequest(input)
1616	return out, req.Send()
1617}
1618
1619// DeleteConstraintWithContext is the same as DeleteConstraint with the addition of
1620// the ability to pass a context and additional request options.
1621//
1622// See DeleteConstraint for details on how to use this API operation.
1623//
1624// The context must be non-nil and will be used for request cancellation. If
1625// the context is nil a panic will occur. In the future the SDK may create
1626// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1627// for more information on using Contexts.
1628func (c *ServiceCatalog) DeleteConstraintWithContext(ctx aws.Context, input *DeleteConstraintInput, opts ...request.Option) (*DeleteConstraintOutput, error) {
1629	req, out := c.DeleteConstraintRequest(input)
1630	req.SetContext(ctx)
1631	req.ApplyOptions(opts...)
1632	return out, req.Send()
1633}
1634
1635const opDeletePortfolio = "DeletePortfolio"
1636
1637// DeletePortfolioRequest generates a "aws/request.Request" representing the
1638// client's request for the DeletePortfolio operation. The "output" return
1639// value will be populated with the request's response once the request completes
1640// successfully.
1641//
1642// Use "Send" method on the returned Request to send the API call to the service.
1643// the "output" return value is not valid until after Send returns without error.
1644//
1645// See DeletePortfolio for more information on using the DeletePortfolio
1646// API call, and error handling.
1647//
1648// This method is useful when you want to inject custom logic or configuration
1649// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1650//
1651//
1652//    // Example sending a request using the DeletePortfolioRequest method.
1653//    req, resp := client.DeletePortfolioRequest(params)
1654//
1655//    err := req.Send()
1656//    if err == nil { // resp is now filled
1657//        fmt.Println(resp)
1658//    }
1659//
1660// See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/DeletePortfolio
1661func (c *ServiceCatalog) DeletePortfolioRequest(input *DeletePortfolioInput) (req *request.Request, output *DeletePortfolioOutput) {
1662	op := &request.Operation{
1663		Name:       opDeletePortfolio,
1664		HTTPMethod: "POST",
1665		HTTPPath:   "/",
1666	}
1667
1668	if input == nil {
1669		input = &DeletePortfolioInput{}
1670	}
1671
1672	output = &DeletePortfolioOutput{}
1673	req = c.newRequest(op, input, output)
1674	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
1675	return
1676}
1677
1678// DeletePortfolio API operation for AWS Service Catalog.
1679//
1680// Deletes the specified portfolio.
1681//
1682// You cannot delete a portfolio if it was shared with you or if it has associated
1683// products, users, constraints, or shared accounts.
1684//
1685// A delegated admin is authorized to invoke this command.
1686//
1687// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1688// with awserr.Error's Code and Message methods to get detailed information about
1689// the error.
1690//
1691// See the AWS API reference guide for AWS Service Catalog's
1692// API operation DeletePortfolio for usage and error information.
1693//
1694// Returned Error Types:
1695//   * ResourceNotFoundException
1696//   The specified resource was not found.
1697//
1698//   * InvalidParametersException
1699//   One or more parameters provided to the operation are not valid.
1700//
1701//   * ResourceInUseException
1702//   A resource that is currently in use. Ensure that the resource is not in use
1703//   and retry the operation.
1704//
1705//   * TagOptionNotMigratedException
1706//   An operation requiring TagOptions failed because the TagOptions migration
1707//   process has not been performed for this account. Please use the AWS console
1708//   to perform the migration process before retrying the operation.
1709//
1710// See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/DeletePortfolio
1711func (c *ServiceCatalog) DeletePortfolio(input *DeletePortfolioInput) (*DeletePortfolioOutput, error) {
1712	req, out := c.DeletePortfolioRequest(input)
1713	return out, req.Send()
1714}
1715
1716// DeletePortfolioWithContext is the same as DeletePortfolio with the addition of
1717// the ability to pass a context and additional request options.
1718//
1719// See DeletePortfolio for details on how to use this API operation.
1720//
1721// The context must be non-nil and will be used for request cancellation. If
1722// the context is nil a panic will occur. In the future the SDK may create
1723// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1724// for more information on using Contexts.
1725func (c *ServiceCatalog) DeletePortfolioWithContext(ctx aws.Context, input *DeletePortfolioInput, opts ...request.Option) (*DeletePortfolioOutput, error) {
1726	req, out := c.DeletePortfolioRequest(input)
1727	req.SetContext(ctx)
1728	req.ApplyOptions(opts...)
1729	return out, req.Send()
1730}
1731
1732const opDeletePortfolioShare = "DeletePortfolioShare"
1733
1734// DeletePortfolioShareRequest generates a "aws/request.Request" representing the
1735// client's request for the DeletePortfolioShare operation. The "output" return
1736// value will be populated with the request's response once the request completes
1737// successfully.
1738//
1739// Use "Send" method on the returned Request to send the API call to the service.
1740// the "output" return value is not valid until after Send returns without error.
1741//
1742// See DeletePortfolioShare for more information on using the DeletePortfolioShare
1743// API call, and error handling.
1744//
1745// This method is useful when you want to inject custom logic or configuration
1746// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1747//
1748//
1749//    // Example sending a request using the DeletePortfolioShareRequest method.
1750//    req, resp := client.DeletePortfolioShareRequest(params)
1751//
1752//    err := req.Send()
1753//    if err == nil { // resp is now filled
1754//        fmt.Println(resp)
1755//    }
1756//
1757// See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/DeletePortfolioShare
1758func (c *ServiceCatalog) DeletePortfolioShareRequest(input *DeletePortfolioShareInput) (req *request.Request, output *DeletePortfolioShareOutput) {
1759	op := &request.Operation{
1760		Name:       opDeletePortfolioShare,
1761		HTTPMethod: "POST",
1762		HTTPPath:   "/",
1763	}
1764
1765	if input == nil {
1766		input = &DeletePortfolioShareInput{}
1767	}
1768
1769	output = &DeletePortfolioShareOutput{}
1770	req = c.newRequest(op, input, output)
1771	return
1772}
1773
1774// DeletePortfolioShare API operation for AWS Service Catalog.
1775//
1776// Stops sharing the specified portfolio with the specified account or organization
1777// node. Shares to an organization node can only be deleted by the management
1778// account of an organization or by a delegated administrator.
1779//
1780// Note that if a delegated admin is de-registered, portfolio shares created
1781// from that account are removed.
1782//
1783// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1784// with awserr.Error's Code and Message methods to get detailed information about
1785// the error.
1786//
1787// See the AWS API reference guide for AWS Service Catalog's
1788// API operation DeletePortfolioShare for usage and error information.
1789//
1790// Returned Error Types:
1791//   * ResourceNotFoundException
1792//   The specified resource was not found.
1793//
1794//   * InvalidParametersException
1795//   One or more parameters provided to the operation are not valid.
1796//
1797//   * OperationNotSupportedException
1798//   The operation is not supported.
1799//
1800//   * InvalidStateException
1801//   An attempt was made to modify a resource that is in a state that is not valid.
1802//   Check your resources to ensure that they are in valid states before retrying
1803//   the operation.
1804//
1805// See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/DeletePortfolioShare
1806func (c *ServiceCatalog) DeletePortfolioShare(input *DeletePortfolioShareInput) (*DeletePortfolioShareOutput, error) {
1807	req, out := c.DeletePortfolioShareRequest(input)
1808	return out, req.Send()
1809}
1810
1811// DeletePortfolioShareWithContext is the same as DeletePortfolioShare with the addition of
1812// the ability to pass a context and additional request options.
1813//
1814// See DeletePortfolioShare for details on how to use this API operation.
1815//
1816// The context must be non-nil and will be used for request cancellation. If
1817// the context is nil a panic will occur. In the future the SDK may create
1818// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1819// for more information on using Contexts.
1820func (c *ServiceCatalog) DeletePortfolioShareWithContext(ctx aws.Context, input *DeletePortfolioShareInput, opts ...request.Option) (*DeletePortfolioShareOutput, error) {
1821	req, out := c.DeletePortfolioShareRequest(input)
1822	req.SetContext(ctx)
1823	req.ApplyOptions(opts...)
1824	return out, req.Send()
1825}
1826
1827const opDeleteProduct = "DeleteProduct"
1828
1829// DeleteProductRequest generates a "aws/request.Request" representing the
1830// client's request for the DeleteProduct operation. The "output" return
1831// value will be populated with the request's response once the request completes
1832// successfully.
1833//
1834// Use "Send" method on the returned Request to send the API call to the service.
1835// the "output" return value is not valid until after Send returns without error.
1836//
1837// See DeleteProduct for more information on using the DeleteProduct
1838// API call, and error handling.
1839//
1840// This method is useful when you want to inject custom logic or configuration
1841// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1842//
1843//
1844//    // Example sending a request using the DeleteProductRequest method.
1845//    req, resp := client.DeleteProductRequest(params)
1846//
1847//    err := req.Send()
1848//    if err == nil { // resp is now filled
1849//        fmt.Println(resp)
1850//    }
1851//
1852// See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/DeleteProduct
1853func (c *ServiceCatalog) DeleteProductRequest(input *DeleteProductInput) (req *request.Request, output *DeleteProductOutput) {
1854	op := &request.Operation{
1855		Name:       opDeleteProduct,
1856		HTTPMethod: "POST",
1857		HTTPPath:   "/",
1858	}
1859
1860	if input == nil {
1861		input = &DeleteProductInput{}
1862	}
1863
1864	output = &DeleteProductOutput{}
1865	req = c.newRequest(op, input, output)
1866	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
1867	return
1868}
1869
1870// DeleteProduct API operation for AWS Service Catalog.
1871//
1872// Deletes the specified product.
1873//
1874// You cannot delete a product if it was shared with you or is associated with
1875// a portfolio.
1876//
1877// A delegated admin is authorized to invoke this command.
1878//
1879// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1880// with awserr.Error's Code and Message methods to get detailed information about
1881// the error.
1882//
1883// See the AWS API reference guide for AWS Service Catalog's
1884// API operation DeleteProduct for usage and error information.
1885//
1886// Returned Error Types:
1887//   * ResourceNotFoundException
1888//   The specified resource was not found.
1889//
1890//   * ResourceInUseException
1891//   A resource that is currently in use. Ensure that the resource is not in use
1892//   and retry the operation.
1893//
1894//   * InvalidParametersException
1895//   One or more parameters provided to the operation are not valid.
1896//
1897//   * TagOptionNotMigratedException
1898//   An operation requiring TagOptions failed because the TagOptions migration
1899//   process has not been performed for this account. Please use the AWS console
1900//   to perform the migration process before retrying the operation.
1901//
1902// See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/DeleteProduct
1903func (c *ServiceCatalog) DeleteProduct(input *DeleteProductInput) (*DeleteProductOutput, error) {
1904	req, out := c.DeleteProductRequest(input)
1905	return out, req.Send()
1906}
1907
1908// DeleteProductWithContext is the same as DeleteProduct with the addition of
1909// the ability to pass a context and additional request options.
1910//
1911// See DeleteProduct for details on how to use this API operation.
1912//
1913// The context must be non-nil and will be used for request cancellation. If
1914// the context is nil a panic will occur. In the future the SDK may create
1915// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1916// for more information on using Contexts.
1917func (c *ServiceCatalog) DeleteProductWithContext(ctx aws.Context, input *DeleteProductInput, opts ...request.Option) (*DeleteProductOutput, error) {
1918	req, out := c.DeleteProductRequest(input)
1919	req.SetContext(ctx)
1920	req.ApplyOptions(opts...)
1921	return out, req.Send()
1922}
1923
1924const opDeleteProvisionedProductPlan = "DeleteProvisionedProductPlan"
1925
1926// DeleteProvisionedProductPlanRequest generates a "aws/request.Request" representing the
1927// client's request for the DeleteProvisionedProductPlan operation. The "output" return
1928// value will be populated with the request's response once the request completes
1929// successfully.
1930//
1931// Use "Send" method on the returned Request to send the API call to the service.
1932// the "output" return value is not valid until after Send returns without error.
1933//
1934// See DeleteProvisionedProductPlan for more information on using the DeleteProvisionedProductPlan
1935// API call, and error handling.
1936//
1937// This method is useful when you want to inject custom logic or configuration
1938// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1939//
1940//
1941//    // Example sending a request using the DeleteProvisionedProductPlanRequest method.
1942//    req, resp := client.DeleteProvisionedProductPlanRequest(params)
1943//
1944//    err := req.Send()
1945//    if err == nil { // resp is now filled
1946//        fmt.Println(resp)
1947//    }
1948//
1949// See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/DeleteProvisionedProductPlan
1950func (c *ServiceCatalog) DeleteProvisionedProductPlanRequest(input *DeleteProvisionedProductPlanInput) (req *request.Request, output *DeleteProvisionedProductPlanOutput) {
1951	op := &request.Operation{
1952		Name:       opDeleteProvisionedProductPlan,
1953		HTTPMethod: "POST",
1954		HTTPPath:   "/",
1955	}
1956
1957	if input == nil {
1958		input = &DeleteProvisionedProductPlanInput{}
1959	}
1960
1961	output = &DeleteProvisionedProductPlanOutput{}
1962	req = c.newRequest(op, input, output)
1963	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
1964	return
1965}
1966
1967// DeleteProvisionedProductPlan API operation for AWS Service Catalog.
1968//
1969// Deletes the specified plan.
1970//
1971// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1972// with awserr.Error's Code and Message methods to get detailed information about
1973// the error.
1974//
1975// See the AWS API reference guide for AWS Service Catalog's
1976// API operation DeleteProvisionedProductPlan for usage and error information.
1977//
1978// Returned Error Types:
1979//   * InvalidParametersException
1980//   One or more parameters provided to the operation are not valid.
1981//
1982//   * ResourceNotFoundException
1983//   The specified resource was not found.
1984//
1985// See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/DeleteProvisionedProductPlan
1986func (c *ServiceCatalog) DeleteProvisionedProductPlan(input *DeleteProvisionedProductPlanInput) (*DeleteProvisionedProductPlanOutput, error) {
1987	req, out := c.DeleteProvisionedProductPlanRequest(input)
1988	return out, req.Send()
1989}
1990
1991// DeleteProvisionedProductPlanWithContext is the same as DeleteProvisionedProductPlan with the addition of
1992// the ability to pass a context and additional request options.
1993//
1994// See DeleteProvisionedProductPlan for details on how to use this API operation.
1995//
1996// The context must be non-nil and will be used for request cancellation. If
1997// the context is nil a panic will occur. In the future the SDK may create
1998// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1999// for more information on using Contexts.
2000func (c *ServiceCatalog) DeleteProvisionedProductPlanWithContext(ctx aws.Context, input *DeleteProvisionedProductPlanInput, opts ...request.Option) (*DeleteProvisionedProductPlanOutput, error) {
2001	req, out := c.DeleteProvisionedProductPlanRequest(input)
2002	req.SetContext(ctx)
2003	req.ApplyOptions(opts...)
2004	return out, req.Send()
2005}
2006
2007const opDeleteProvisioningArtifact = "DeleteProvisioningArtifact"
2008
2009// DeleteProvisioningArtifactRequest generates a "aws/request.Request" representing the
2010// client's request for the DeleteProvisioningArtifact operation. The "output" return
2011// value will be populated with the request's response once the request completes
2012// successfully.
2013//
2014// Use "Send" method on the returned Request to send the API call to the service.
2015// the "output" return value is not valid until after Send returns without error.
2016//
2017// See DeleteProvisioningArtifact for more information on using the DeleteProvisioningArtifact
2018// API call, and error handling.
2019//
2020// This method is useful when you want to inject custom logic or configuration
2021// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2022//
2023//
2024//    // Example sending a request using the DeleteProvisioningArtifactRequest method.
2025//    req, resp := client.DeleteProvisioningArtifactRequest(params)
2026//
2027//    err := req.Send()
2028//    if err == nil { // resp is now filled
2029//        fmt.Println(resp)
2030//    }
2031//
2032// See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/DeleteProvisioningArtifact
2033func (c *ServiceCatalog) DeleteProvisioningArtifactRequest(input *DeleteProvisioningArtifactInput) (req *request.Request, output *DeleteProvisioningArtifactOutput) {
2034	op := &request.Operation{
2035		Name:       opDeleteProvisioningArtifact,
2036		HTTPMethod: "POST",
2037		HTTPPath:   "/",
2038	}
2039
2040	if input == nil {
2041		input = &DeleteProvisioningArtifactInput{}
2042	}
2043
2044	output = &DeleteProvisioningArtifactOutput{}
2045	req = c.newRequest(op, input, output)
2046	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
2047	return
2048}
2049
2050// DeleteProvisioningArtifact API operation for AWS Service Catalog.
2051//
2052// Deletes the specified provisioning artifact (also known as a version) for
2053// the specified product.
2054//
2055// You cannot delete a provisioning artifact associated with a product that
2056// was shared with you. You cannot delete the last provisioning artifact for
2057// a product, because a product must have at least one provisioning artifact.
2058//
2059// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2060// with awserr.Error's Code and Message methods to get detailed information about
2061// the error.
2062//
2063// See the AWS API reference guide for AWS Service Catalog's
2064// API operation DeleteProvisioningArtifact for usage and error information.
2065//
2066// Returned Error Types:
2067//   * ResourceNotFoundException
2068//   The specified resource was not found.
2069//
2070//   * ResourceInUseException
2071//   A resource that is currently in use. Ensure that the resource is not in use
2072//   and retry the operation.
2073//
2074//   * InvalidParametersException
2075//   One or more parameters provided to the operation are not valid.
2076//
2077// See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/DeleteProvisioningArtifact
2078func (c *ServiceCatalog) DeleteProvisioningArtifact(input *DeleteProvisioningArtifactInput) (*DeleteProvisioningArtifactOutput, error) {
2079	req, out := c.DeleteProvisioningArtifactRequest(input)
2080	return out, req.Send()
2081}
2082
2083// DeleteProvisioningArtifactWithContext is the same as DeleteProvisioningArtifact with the addition of
2084// the ability to pass a context and additional request options.
2085//
2086// See DeleteProvisioningArtifact for details on how to use this API operation.
2087//
2088// The context must be non-nil and will be used for request cancellation. If
2089// the context is nil a panic will occur. In the future the SDK may create
2090// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2091// for more information on using Contexts.
2092func (c *ServiceCatalog) DeleteProvisioningArtifactWithContext(ctx aws.Context, input *DeleteProvisioningArtifactInput, opts ...request.Option) (*DeleteProvisioningArtifactOutput, error) {
2093	req, out := c.DeleteProvisioningArtifactRequest(input)
2094	req.SetContext(ctx)
2095	req.ApplyOptions(opts...)
2096	return out, req.Send()
2097}
2098
2099const opDeleteServiceAction = "DeleteServiceAction"
2100
2101// DeleteServiceActionRequest generates a "aws/request.Request" representing the
2102// client's request for the DeleteServiceAction operation. The "output" return
2103// value will be populated with the request's response once the request completes
2104// successfully.
2105//
2106// Use "Send" method on the returned Request to send the API call to the service.
2107// the "output" return value is not valid until after Send returns without error.
2108//
2109// See DeleteServiceAction for more information on using the DeleteServiceAction
2110// API call, and error handling.
2111//
2112// This method is useful when you want to inject custom logic or configuration
2113// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2114//
2115//
2116//    // Example sending a request using the DeleteServiceActionRequest method.
2117//    req, resp := client.DeleteServiceActionRequest(params)
2118//
2119//    err := req.Send()
2120//    if err == nil { // resp is now filled
2121//        fmt.Println(resp)
2122//    }
2123//
2124// See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/DeleteServiceAction
2125func (c *ServiceCatalog) DeleteServiceActionRequest(input *DeleteServiceActionInput) (req *request.Request, output *DeleteServiceActionOutput) {
2126	op := &request.Operation{
2127		Name:       opDeleteServiceAction,
2128		HTTPMethod: "POST",
2129		HTTPPath:   "/",
2130	}
2131
2132	if input == nil {
2133		input = &DeleteServiceActionInput{}
2134	}
2135
2136	output = &DeleteServiceActionOutput{}
2137	req = c.newRequest(op, input, output)
2138	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
2139	return
2140}
2141
2142// DeleteServiceAction API operation for AWS Service Catalog.
2143//
2144// Deletes a self-service action.
2145//
2146// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2147// with awserr.Error's Code and Message methods to get detailed information about
2148// the error.
2149//
2150// See the AWS API reference guide for AWS Service Catalog's
2151// API operation DeleteServiceAction for usage and error information.
2152//
2153// Returned Error Types:
2154//   * ResourceNotFoundException
2155//   The specified resource was not found.
2156//
2157//   * ResourceInUseException
2158//   A resource that is currently in use. Ensure that the resource is not in use
2159//   and retry the operation.
2160//
2161// See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/DeleteServiceAction
2162func (c *ServiceCatalog) DeleteServiceAction(input *DeleteServiceActionInput) (*DeleteServiceActionOutput, error) {
2163	req, out := c.DeleteServiceActionRequest(input)
2164	return out, req.Send()
2165}
2166
2167// DeleteServiceActionWithContext is the same as DeleteServiceAction with the addition of
2168// the ability to pass a context and additional request options.
2169//
2170// See DeleteServiceAction for details on how to use this API operation.
2171//
2172// The context must be non-nil and will be used for request cancellation. If
2173// the context is nil a panic will occur. In the future the SDK may create
2174// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2175// for more information on using Contexts.
2176func (c *ServiceCatalog) DeleteServiceActionWithContext(ctx aws.Context, input *DeleteServiceActionInput, opts ...request.Option) (*DeleteServiceActionOutput, error) {
2177	req, out := c.DeleteServiceActionRequest(input)
2178	req.SetContext(ctx)
2179	req.ApplyOptions(opts...)
2180	return out, req.Send()
2181}
2182
2183const opDeleteTagOption = "DeleteTagOption"
2184
2185// DeleteTagOptionRequest generates a "aws/request.Request" representing the
2186// client's request for the DeleteTagOption operation. The "output" return
2187// value will be populated with the request's response once the request completes
2188// successfully.
2189//
2190// Use "Send" method on the returned Request to send the API call to the service.
2191// the "output" return value is not valid until after Send returns without error.
2192//
2193// See DeleteTagOption for more information on using the DeleteTagOption
2194// API call, and error handling.
2195//
2196// This method is useful when you want to inject custom logic or configuration
2197// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2198//
2199//
2200//    // Example sending a request using the DeleteTagOptionRequest method.
2201//    req, resp := client.DeleteTagOptionRequest(params)
2202//
2203//    err := req.Send()
2204//    if err == nil { // resp is now filled
2205//        fmt.Println(resp)
2206//    }
2207//
2208// See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/DeleteTagOption
2209func (c *ServiceCatalog) DeleteTagOptionRequest(input *DeleteTagOptionInput) (req *request.Request, output *DeleteTagOptionOutput) {
2210	op := &request.Operation{
2211		Name:       opDeleteTagOption,
2212		HTTPMethod: "POST",
2213		HTTPPath:   "/",
2214	}
2215
2216	if input == nil {
2217		input = &DeleteTagOptionInput{}
2218	}
2219
2220	output = &DeleteTagOptionOutput{}
2221	req = c.newRequest(op, input, output)
2222	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
2223	return
2224}
2225
2226// DeleteTagOption API operation for AWS Service Catalog.
2227//
2228// Deletes the specified TagOption.
2229//
2230// You cannot delete a TagOption if it is associated with a product or portfolio.
2231//
2232// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2233// with awserr.Error's Code and Message methods to get detailed information about
2234// the error.
2235//
2236// See the AWS API reference guide for AWS Service Catalog's
2237// API operation DeleteTagOption for usage and error information.
2238//
2239// Returned Error Types:
2240//   * TagOptionNotMigratedException
2241//   An operation requiring TagOptions failed because the TagOptions migration
2242//   process has not been performed for this account. Please use the AWS console
2243//   to perform the migration process before retrying the operation.
2244//
2245//   * ResourceInUseException
2246//   A resource that is currently in use. Ensure that the resource is not in use
2247//   and retry the operation.
2248//
2249//   * ResourceNotFoundException
2250//   The specified resource was not found.
2251//
2252// See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/DeleteTagOption
2253func (c *ServiceCatalog) DeleteTagOption(input *DeleteTagOptionInput) (*DeleteTagOptionOutput, error) {
2254	req, out := c.DeleteTagOptionRequest(input)
2255	return out, req.Send()
2256}
2257
2258// DeleteTagOptionWithContext is the same as DeleteTagOption with the addition of
2259// the ability to pass a context and additional request options.
2260//
2261// See DeleteTagOption for details on how to use this API operation.
2262//
2263// The context must be non-nil and will be used for request cancellation. If
2264// the context is nil a panic will occur. In the future the SDK may create
2265// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2266// for more information on using Contexts.
2267func (c *ServiceCatalog) DeleteTagOptionWithContext(ctx aws.Context, input *DeleteTagOptionInput, opts ...request.Option) (*DeleteTagOptionOutput, error) {
2268	req, out := c.DeleteTagOptionRequest(input)
2269	req.SetContext(ctx)
2270	req.ApplyOptions(opts...)
2271	return out, req.Send()
2272}
2273
2274const opDescribeConstraint = "DescribeConstraint"
2275
2276// DescribeConstraintRequest generates a "aws/request.Request" representing the
2277// client's request for the DescribeConstraint operation. The "output" return
2278// value will be populated with the request's response once the request completes
2279// successfully.
2280//
2281// Use "Send" method on the returned Request to send the API call to the service.
2282// the "output" return value is not valid until after Send returns without error.
2283//
2284// See DescribeConstraint for more information on using the DescribeConstraint
2285// API call, and error handling.
2286//
2287// This method is useful when you want to inject custom logic or configuration
2288// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2289//
2290//
2291//    // Example sending a request using the DescribeConstraintRequest method.
2292//    req, resp := client.DescribeConstraintRequest(params)
2293//
2294//    err := req.Send()
2295//    if err == nil { // resp is now filled
2296//        fmt.Println(resp)
2297//    }
2298//
2299// See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/DescribeConstraint
2300func (c *ServiceCatalog) DescribeConstraintRequest(input *DescribeConstraintInput) (req *request.Request, output *DescribeConstraintOutput) {
2301	op := &request.Operation{
2302		Name:       opDescribeConstraint,
2303		HTTPMethod: "POST",
2304		HTTPPath:   "/",
2305	}
2306
2307	if input == nil {
2308		input = &DescribeConstraintInput{}
2309	}
2310
2311	output = &DescribeConstraintOutput{}
2312	req = c.newRequest(op, input, output)
2313	return
2314}
2315
2316// DescribeConstraint API operation for AWS Service Catalog.
2317//
2318// Gets information about the specified constraint.
2319//
2320// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2321// with awserr.Error's Code and Message methods to get detailed information about
2322// the error.
2323//
2324// See the AWS API reference guide for AWS Service Catalog's
2325// API operation DescribeConstraint for usage and error information.
2326//
2327// Returned Error Types:
2328//   * ResourceNotFoundException
2329//   The specified resource was not found.
2330//
2331// See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/DescribeConstraint
2332func (c *ServiceCatalog) DescribeConstraint(input *DescribeConstraintInput) (*DescribeConstraintOutput, error) {
2333	req, out := c.DescribeConstraintRequest(input)
2334	return out, req.Send()
2335}
2336
2337// DescribeConstraintWithContext is the same as DescribeConstraint with the addition of
2338// the ability to pass a context and additional request options.
2339//
2340// See DescribeConstraint for details on how to use this API operation.
2341//
2342// The context must be non-nil and will be used for request cancellation. If
2343// the context is nil a panic will occur. In the future the SDK may create
2344// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2345// for more information on using Contexts.
2346func (c *ServiceCatalog) DescribeConstraintWithContext(ctx aws.Context, input *DescribeConstraintInput, opts ...request.Option) (*DescribeConstraintOutput, error) {
2347	req, out := c.DescribeConstraintRequest(input)
2348	req.SetContext(ctx)
2349	req.ApplyOptions(opts...)
2350	return out, req.Send()
2351}
2352
2353const opDescribeCopyProductStatus = "DescribeCopyProductStatus"
2354
2355// DescribeCopyProductStatusRequest generates a "aws/request.Request" representing the
2356// client's request for the DescribeCopyProductStatus operation. The "output" return
2357// value will be populated with the request's response once the request completes
2358// successfully.
2359//
2360// Use "Send" method on the returned Request to send the API call to the service.
2361// the "output" return value is not valid until after Send returns without error.
2362//
2363// See DescribeCopyProductStatus for more information on using the DescribeCopyProductStatus
2364// API call, and error handling.
2365//
2366// This method is useful when you want to inject custom logic or configuration
2367// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2368//
2369//
2370//    // Example sending a request using the DescribeCopyProductStatusRequest method.
2371//    req, resp := client.DescribeCopyProductStatusRequest(params)
2372//
2373//    err := req.Send()
2374//    if err == nil { // resp is now filled
2375//        fmt.Println(resp)
2376//    }
2377//
2378// See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/DescribeCopyProductStatus
2379func (c *ServiceCatalog) DescribeCopyProductStatusRequest(input *DescribeCopyProductStatusInput) (req *request.Request, output *DescribeCopyProductStatusOutput) {
2380	op := &request.Operation{
2381		Name:       opDescribeCopyProductStatus,
2382		HTTPMethod: "POST",
2383		HTTPPath:   "/",
2384	}
2385
2386	if input == nil {
2387		input = &DescribeCopyProductStatusInput{}
2388	}
2389
2390	output = &DescribeCopyProductStatusOutput{}
2391	req = c.newRequest(op, input, output)
2392	return
2393}
2394
2395// DescribeCopyProductStatus API operation for AWS Service Catalog.
2396//
2397// Gets the status of the specified copy product operation.
2398//
2399// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2400// with awserr.Error's Code and Message methods to get detailed information about
2401// the error.
2402//
2403// See the AWS API reference guide for AWS Service Catalog's
2404// API operation DescribeCopyProductStatus for usage and error information.
2405//
2406// Returned Error Types:
2407//   * ResourceNotFoundException
2408//   The specified resource was not found.
2409//
2410// See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/DescribeCopyProductStatus
2411func (c *ServiceCatalog) DescribeCopyProductStatus(input *DescribeCopyProductStatusInput) (*DescribeCopyProductStatusOutput, error) {
2412	req, out := c.DescribeCopyProductStatusRequest(input)
2413	return out, req.Send()
2414}
2415
2416// DescribeCopyProductStatusWithContext is the same as DescribeCopyProductStatus with the addition of
2417// the ability to pass a context and additional request options.
2418//
2419// See DescribeCopyProductStatus for details on how to use this API operation.
2420//
2421// The context must be non-nil and will be used for request cancellation. If
2422// the context is nil a panic will occur. In the future the SDK may create
2423// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2424// for more information on using Contexts.
2425func (c *ServiceCatalog) DescribeCopyProductStatusWithContext(ctx aws.Context, input *DescribeCopyProductStatusInput, opts ...request.Option) (*DescribeCopyProductStatusOutput, error) {
2426	req, out := c.DescribeCopyProductStatusRequest(input)
2427	req.SetContext(ctx)
2428	req.ApplyOptions(opts...)
2429	return out, req.Send()
2430}
2431
2432const opDescribePortfolio = "DescribePortfolio"
2433
2434// DescribePortfolioRequest generates a "aws/request.Request" representing the
2435// client's request for the DescribePortfolio operation. The "output" return
2436// value will be populated with the request's response once the request completes
2437// successfully.
2438//
2439// Use "Send" method on the returned Request to send the API call to the service.
2440// the "output" return value is not valid until after Send returns without error.
2441//
2442// See DescribePortfolio for more information on using the DescribePortfolio
2443// API call, and error handling.
2444//
2445// This method is useful when you want to inject custom logic or configuration
2446// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2447//
2448//
2449//    // Example sending a request using the DescribePortfolioRequest method.
2450//    req, resp := client.DescribePortfolioRequest(params)
2451//
2452//    err := req.Send()
2453//    if err == nil { // resp is now filled
2454//        fmt.Println(resp)
2455//    }
2456//
2457// See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/DescribePortfolio
2458func (c *ServiceCatalog) DescribePortfolioRequest(input *DescribePortfolioInput) (req *request.Request, output *DescribePortfolioOutput) {
2459	op := &request.Operation{
2460		Name:       opDescribePortfolio,
2461		HTTPMethod: "POST",
2462		HTTPPath:   "/",
2463	}
2464
2465	if input == nil {
2466		input = &DescribePortfolioInput{}
2467	}
2468
2469	output = &DescribePortfolioOutput{}
2470	req = c.newRequest(op, input, output)
2471	return
2472}
2473
2474// DescribePortfolio API operation for AWS Service Catalog.
2475//
2476// Gets information about the specified portfolio.
2477//
2478// A delegated admin is authorized to invoke this command.
2479//
2480// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2481// with awserr.Error's Code and Message methods to get detailed information about
2482// the error.
2483//
2484// See the AWS API reference guide for AWS Service Catalog's
2485// API operation DescribePortfolio for usage and error information.
2486//
2487// Returned Error Types:
2488//   * ResourceNotFoundException
2489//   The specified resource was not found.
2490//
2491// See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/DescribePortfolio
2492func (c *ServiceCatalog) DescribePortfolio(input *DescribePortfolioInput) (*DescribePortfolioOutput, error) {
2493	req, out := c.DescribePortfolioRequest(input)
2494	return out, req.Send()
2495}
2496
2497// DescribePortfolioWithContext is the same as DescribePortfolio with the addition of
2498// the ability to pass a context and additional request options.
2499//
2500// See DescribePortfolio for details on how to use this API operation.
2501//
2502// The context must be non-nil and will be used for request cancellation. If
2503// the context is nil a panic will occur. In the future the SDK may create
2504// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2505// for more information on using Contexts.
2506func (c *ServiceCatalog) DescribePortfolioWithContext(ctx aws.Context, input *DescribePortfolioInput, opts ...request.Option) (*DescribePortfolioOutput, error) {
2507	req, out := c.DescribePortfolioRequest(input)
2508	req.SetContext(ctx)
2509	req.ApplyOptions(opts...)
2510	return out, req.Send()
2511}
2512
2513const opDescribePortfolioShareStatus = "DescribePortfolioShareStatus"
2514
2515// DescribePortfolioShareStatusRequest generates a "aws/request.Request" representing the
2516// client's request for the DescribePortfolioShareStatus operation. The "output" return
2517// value will be populated with the request's response once the request completes
2518// successfully.
2519//
2520// Use "Send" method on the returned Request to send the API call to the service.
2521// the "output" return value is not valid until after Send returns without error.
2522//
2523// See DescribePortfolioShareStatus for more information on using the DescribePortfolioShareStatus
2524// API call, and error handling.
2525//
2526// This method is useful when you want to inject custom logic or configuration
2527// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2528//
2529//
2530//    // Example sending a request using the DescribePortfolioShareStatusRequest method.
2531//    req, resp := client.DescribePortfolioShareStatusRequest(params)
2532//
2533//    err := req.Send()
2534//    if err == nil { // resp is now filled
2535//        fmt.Println(resp)
2536//    }
2537//
2538// See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/DescribePortfolioShareStatus
2539func (c *ServiceCatalog) DescribePortfolioShareStatusRequest(input *DescribePortfolioShareStatusInput) (req *request.Request, output *DescribePortfolioShareStatusOutput) {
2540	op := &request.Operation{
2541		Name:       opDescribePortfolioShareStatus,
2542		HTTPMethod: "POST",
2543		HTTPPath:   "/",
2544	}
2545
2546	if input == nil {
2547		input = &DescribePortfolioShareStatusInput{}
2548	}
2549
2550	output = &DescribePortfolioShareStatusOutput{}
2551	req = c.newRequest(op, input, output)
2552	return
2553}
2554
2555// DescribePortfolioShareStatus API operation for AWS Service Catalog.
2556//
2557// Gets the status of the specified portfolio share operation. This API can
2558// only be called by the management account in the organization or by a delegated
2559// admin.
2560//
2561// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2562// with awserr.Error's Code and Message methods to get detailed information about
2563// the error.
2564//
2565// See the AWS API reference guide for AWS Service Catalog's
2566// API operation DescribePortfolioShareStatus for usage and error information.
2567//
2568// Returned Error Types:
2569//   * ResourceNotFoundException
2570//   The specified resource was not found.
2571//
2572//   * InvalidParametersException
2573//   One or more parameters provided to the operation are not valid.
2574//
2575//   * OperationNotSupportedException
2576//   The operation is not supported.
2577//
2578// See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/DescribePortfolioShareStatus
2579func (c *ServiceCatalog) DescribePortfolioShareStatus(input *DescribePortfolioShareStatusInput) (*DescribePortfolioShareStatusOutput, error) {
2580	req, out := c.DescribePortfolioShareStatusRequest(input)
2581	return out, req.Send()
2582}
2583
2584// DescribePortfolioShareStatusWithContext is the same as DescribePortfolioShareStatus with the addition of
2585// the ability to pass a context and additional request options.
2586//
2587// See DescribePortfolioShareStatus for details on how to use this API operation.
2588//
2589// The context must be non-nil and will be used for request cancellation. If
2590// the context is nil a panic will occur. In the future the SDK may create
2591// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2592// for more information on using Contexts.
2593func (c *ServiceCatalog) DescribePortfolioShareStatusWithContext(ctx aws.Context, input *DescribePortfolioShareStatusInput, opts ...request.Option) (*DescribePortfolioShareStatusOutput, error) {
2594	req, out := c.DescribePortfolioShareStatusRequest(input)
2595	req.SetContext(ctx)
2596	req.ApplyOptions(opts...)
2597	return out, req.Send()
2598}
2599
2600const opDescribeProduct = "DescribeProduct"
2601
2602// DescribeProductRequest generates a "aws/request.Request" representing the
2603// client's request for the DescribeProduct operation. The "output" return
2604// value will be populated with the request's response once the request completes
2605// successfully.
2606//
2607// Use "Send" method on the returned Request to send the API call to the service.
2608// the "output" return value is not valid until after Send returns without error.
2609//
2610// See DescribeProduct for more information on using the DescribeProduct
2611// API call, and error handling.
2612//
2613// This method is useful when you want to inject custom logic or configuration
2614// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2615//
2616//
2617//    // Example sending a request using the DescribeProductRequest method.
2618//    req, resp := client.DescribeProductRequest(params)
2619//
2620//    err := req.Send()
2621//    if err == nil { // resp is now filled
2622//        fmt.Println(resp)
2623//    }
2624//
2625// See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/DescribeProduct
2626func (c *ServiceCatalog) DescribeProductRequest(input *DescribeProductInput) (req *request.Request, output *DescribeProductOutput) {
2627	op := &request.Operation{
2628		Name:       opDescribeProduct,
2629		HTTPMethod: "POST",
2630		HTTPPath:   "/",
2631	}
2632
2633	if input == nil {
2634		input = &DescribeProductInput{}
2635	}
2636
2637	output = &DescribeProductOutput{}
2638	req = c.newRequest(op, input, output)
2639	return
2640}
2641
2642// DescribeProduct API operation for AWS Service Catalog.
2643//
2644// Gets information about the specified product.
2645//
2646// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2647// with awserr.Error's Code and Message methods to get detailed information about
2648// the error.
2649//
2650// See the AWS API reference guide for AWS Service Catalog's
2651// API operation DescribeProduct for usage and error information.
2652//
2653// Returned Error Types:
2654//   * ResourceNotFoundException
2655//   The specified resource was not found.
2656//
2657//   * InvalidParametersException
2658//   One or more parameters provided to the operation are not valid.
2659//
2660// See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/DescribeProduct
2661func (c *ServiceCatalog) DescribeProduct(input *DescribeProductInput) (*DescribeProductOutput, error) {
2662	req, out := c.DescribeProductRequest(input)
2663	return out, req.Send()
2664}
2665
2666// DescribeProductWithContext is the same as DescribeProduct with the addition of
2667// the ability to pass a context and additional request options.
2668//
2669// See DescribeProduct for details on how to use this API operation.
2670//
2671// The context must be non-nil and will be used for request cancellation. If
2672// the context is nil a panic will occur. In the future the SDK may create
2673// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2674// for more information on using Contexts.
2675func (c *ServiceCatalog) DescribeProductWithContext(ctx aws.Context, input *DescribeProductInput, opts ...request.Option) (*DescribeProductOutput, error) {
2676	req, out := c.DescribeProductRequest(input)
2677	req.SetContext(ctx)
2678	req.ApplyOptions(opts...)
2679	return out, req.Send()
2680}
2681
2682const opDescribeProductAsAdmin = "DescribeProductAsAdmin"
2683
2684// DescribeProductAsAdminRequest generates a "aws/request.Request" representing the
2685// client's request for the DescribeProductAsAdmin operation. The "output" return
2686// value will be populated with the request's response once the request completes
2687// successfully.
2688//
2689// Use "Send" method on the returned Request to send the API call to the service.
2690// the "output" return value is not valid until after Send returns without error.
2691//
2692// See DescribeProductAsAdmin for more information on using the DescribeProductAsAdmin
2693// API call, and error handling.
2694//
2695// This method is useful when you want to inject custom logic or configuration
2696// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2697//
2698//
2699//    // Example sending a request using the DescribeProductAsAdminRequest method.
2700//    req, resp := client.DescribeProductAsAdminRequest(params)
2701//
2702//    err := req.Send()
2703//    if err == nil { // resp is now filled
2704//        fmt.Println(resp)
2705//    }
2706//
2707// See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/DescribeProductAsAdmin
2708func (c *ServiceCatalog) DescribeProductAsAdminRequest(input *DescribeProductAsAdminInput) (req *request.Request, output *DescribeProductAsAdminOutput) {
2709	op := &request.Operation{
2710		Name:       opDescribeProductAsAdmin,
2711		HTTPMethod: "POST",
2712		HTTPPath:   "/",
2713	}
2714
2715	if input == nil {
2716		input = &DescribeProductAsAdminInput{}
2717	}
2718
2719	output = &DescribeProductAsAdminOutput{}
2720	req = c.newRequest(op, input, output)
2721	return
2722}
2723
2724// DescribeProductAsAdmin API operation for AWS Service Catalog.
2725//
2726// Gets information about the specified product. This operation is run with
2727// administrator access.
2728//
2729// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2730// with awserr.Error's Code and Message methods to get detailed information about
2731// the error.
2732//
2733// See the AWS API reference guide for AWS Service Catalog's
2734// API operation DescribeProductAsAdmin for usage and error information.
2735//
2736// Returned Error Types:
2737//   * ResourceNotFoundException
2738//   The specified resource was not found.
2739//
2740//   * InvalidParametersException
2741//   One or more parameters provided to the operation are not valid.
2742//
2743// See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/DescribeProductAsAdmin
2744func (c *ServiceCatalog) DescribeProductAsAdmin(input *DescribeProductAsAdminInput) (*DescribeProductAsAdminOutput, error) {
2745	req, out := c.DescribeProductAsAdminRequest(input)
2746	return out, req.Send()
2747}
2748
2749// DescribeProductAsAdminWithContext is the same as DescribeProductAsAdmin with the addition of
2750// the ability to pass a context and additional request options.
2751//
2752// See DescribeProductAsAdmin for details on how to use this API operation.
2753//
2754// The context must be non-nil and will be used for request cancellation. If
2755// the context is nil a panic will occur. In the future the SDK may create
2756// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2757// for more information on using Contexts.
2758func (c *ServiceCatalog) DescribeProductAsAdminWithContext(ctx aws.Context, input *DescribeProductAsAdminInput, opts ...request.Option) (*DescribeProductAsAdminOutput, error) {
2759	req, out := c.DescribeProductAsAdminRequest(input)
2760	req.SetContext(ctx)
2761	req.ApplyOptions(opts...)
2762	return out, req.Send()
2763}
2764
2765const opDescribeProductView = "DescribeProductView"
2766
2767// DescribeProductViewRequest generates a "aws/request.Request" representing the
2768// client's request for the DescribeProductView operation. The "output" return
2769// value will be populated with the request's response once the request completes
2770// successfully.
2771//
2772// Use "Send" method on the returned Request to send the API call to the service.
2773// the "output" return value is not valid until after Send returns without error.
2774//
2775// See DescribeProductView for more information on using the DescribeProductView
2776// API call, and error handling.
2777//
2778// This method is useful when you want to inject custom logic or configuration
2779// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2780//
2781//
2782//    // Example sending a request using the DescribeProductViewRequest method.
2783//    req, resp := client.DescribeProductViewRequest(params)
2784//
2785//    err := req.Send()
2786//    if err == nil { // resp is now filled
2787//        fmt.Println(resp)
2788//    }
2789//
2790// See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/DescribeProductView
2791func (c *ServiceCatalog) DescribeProductViewRequest(input *DescribeProductViewInput) (req *request.Request, output *DescribeProductViewOutput) {
2792	op := &request.Operation{
2793		Name:       opDescribeProductView,
2794		HTTPMethod: "POST",
2795		HTTPPath:   "/",
2796	}
2797
2798	if input == nil {
2799		input = &DescribeProductViewInput{}
2800	}
2801
2802	output = &DescribeProductViewOutput{}
2803	req = c.newRequest(op, input, output)
2804	return
2805}
2806
2807// DescribeProductView API operation for AWS Service Catalog.
2808//
2809// Gets information about the specified product.
2810//
2811// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2812// with awserr.Error's Code and Message methods to get detailed information about
2813// the error.
2814//
2815// See the AWS API reference guide for AWS Service Catalog's
2816// API operation DescribeProductView for usage and error information.
2817//
2818// Returned Error Types:
2819//   * ResourceNotFoundException
2820//   The specified resource was not found.
2821//
2822//   * InvalidParametersException
2823//   One or more parameters provided to the operation are not valid.
2824//
2825// See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/DescribeProductView
2826func (c *ServiceCatalog) DescribeProductView(input *DescribeProductViewInput) (*DescribeProductViewOutput, error) {
2827	req, out := c.DescribeProductViewRequest(input)
2828	return out, req.Send()
2829}
2830
2831// DescribeProductViewWithContext is the same as DescribeProductView with the addition of
2832// the ability to pass a context and additional request options.
2833//
2834// See DescribeProductView for details on how to use this API operation.
2835//
2836// The context must be non-nil and will be used for request cancellation. If
2837// the context is nil a panic will occur. In the future the SDK may create
2838// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2839// for more information on using Contexts.
2840func (c *ServiceCatalog) DescribeProductViewWithContext(ctx aws.Context, input *DescribeProductViewInput, opts ...request.Option) (*DescribeProductViewOutput, error) {
2841	req, out := c.DescribeProductViewRequest(input)
2842	req.SetContext(ctx)
2843	req.ApplyOptions(opts...)
2844	return out, req.Send()
2845}
2846
2847const opDescribeProvisionedProduct = "DescribeProvisionedProduct"
2848
2849// DescribeProvisionedProductRequest generates a "aws/request.Request" representing the
2850// client's request for the DescribeProvisionedProduct operation. The "output" return
2851// value will be populated with the request's response once the request completes
2852// successfully.
2853//
2854// Use "Send" method on the returned Request to send the API call to the service.
2855// the "output" return value is not valid until after Send returns without error.
2856//
2857// See DescribeProvisionedProduct for more information on using the DescribeProvisionedProduct
2858// API call, and error handling.
2859//
2860// This method is useful when you want to inject custom logic or configuration
2861// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2862//
2863//
2864//    // Example sending a request using the DescribeProvisionedProductRequest method.
2865//    req, resp := client.DescribeProvisionedProductRequest(params)
2866//
2867//    err := req.Send()
2868//    if err == nil { // resp is now filled
2869//        fmt.Println(resp)
2870//    }
2871//
2872// See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/DescribeProvisionedProduct
2873func (c *ServiceCatalog) DescribeProvisionedProductRequest(input *DescribeProvisionedProductInput) (req *request.Request, output *DescribeProvisionedProductOutput) {
2874	op := &request.Operation{
2875		Name:       opDescribeProvisionedProduct,
2876		HTTPMethod: "POST",
2877		HTTPPath:   "/",
2878	}
2879
2880	if input == nil {
2881		input = &DescribeProvisionedProductInput{}
2882	}
2883
2884	output = &DescribeProvisionedProductOutput{}
2885	req = c.newRequest(op, input, output)
2886	return
2887}
2888
2889// DescribeProvisionedProduct API operation for AWS Service Catalog.
2890//
2891// Gets information about the specified provisioned product.
2892//
2893// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2894// with awserr.Error's Code and Message methods to get detailed information about
2895// the error.
2896//
2897// See the AWS API reference guide for AWS Service Catalog's
2898// API operation DescribeProvisionedProduct for usage and error information.
2899//
2900// Returned Error Types:
2901//   * ResourceNotFoundException
2902//   The specified resource was not found.
2903//
2904//   * InvalidParametersException
2905//   One or more parameters provided to the operation are not valid.
2906//
2907// See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/DescribeProvisionedProduct
2908func (c *ServiceCatalog) DescribeProvisionedProduct(input *DescribeProvisionedProductInput) (*DescribeProvisionedProductOutput, error) {
2909	req, out := c.DescribeProvisionedProductRequest(input)
2910	return out, req.Send()
2911}
2912
2913// DescribeProvisionedProductWithContext is the same as DescribeProvisionedProduct with the addition of
2914// the ability to pass a context and additional request options.
2915//
2916// See DescribeProvisionedProduct for details on how to use this API operation.
2917//
2918// The context must be non-nil and will be used for request cancellation. If
2919// the context is nil a panic will occur. In the future the SDK may create
2920// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2921// for more information on using Contexts.
2922func (c *ServiceCatalog) DescribeProvisionedProductWithContext(ctx aws.Context, input *DescribeProvisionedProductInput, opts ...request.Option) (*DescribeProvisionedProductOutput, error) {
2923	req, out := c.DescribeProvisionedProductRequest(input)
2924	req.SetContext(ctx)
2925	req.ApplyOptions(opts...)
2926	return out, req.Send()
2927}
2928
2929const opDescribeProvisionedProductPlan = "DescribeProvisionedProductPlan"
2930
2931// DescribeProvisionedProductPlanRequest generates a "aws/request.Request" representing the
2932// client's request for the DescribeProvisionedProductPlan operation. The "output" return
2933// value will be populated with the request's response once the request completes
2934// successfully.
2935//
2936// Use "Send" method on the returned Request to send the API call to the service.
2937// the "output" return value is not valid until after Send returns without error.
2938//
2939// See DescribeProvisionedProductPlan for more information on using the DescribeProvisionedProductPlan
2940// API call, and error handling.
2941//
2942// This method is useful when you want to inject custom logic or configuration
2943// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2944//
2945//
2946//    // Example sending a request using the DescribeProvisionedProductPlanRequest method.
2947//    req, resp := client.DescribeProvisionedProductPlanRequest(params)
2948//
2949//    err := req.Send()
2950//    if err == nil { // resp is now filled
2951//        fmt.Println(resp)
2952//    }
2953//
2954// See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/DescribeProvisionedProductPlan
2955func (c *ServiceCatalog) DescribeProvisionedProductPlanRequest(input *DescribeProvisionedProductPlanInput) (req *request.Request, output *DescribeProvisionedProductPlanOutput) {
2956	op := &request.Operation{
2957		Name:       opDescribeProvisionedProductPlan,
2958		HTTPMethod: "POST",
2959		HTTPPath:   "/",
2960	}
2961
2962	if input == nil {
2963		input = &DescribeProvisionedProductPlanInput{}
2964	}
2965
2966	output = &DescribeProvisionedProductPlanOutput{}
2967	req = c.newRequest(op, input, output)
2968	return
2969}
2970
2971// DescribeProvisionedProductPlan API operation for AWS Service Catalog.
2972//
2973// Gets information about the resource changes for the specified plan.
2974//
2975// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2976// with awserr.Error's Code and Message methods to get detailed information about
2977// the error.
2978//
2979// See the AWS API reference guide for AWS Service Catalog's
2980// API operation DescribeProvisionedProductPlan for usage and error information.
2981//
2982// Returned Error Types:
2983//   * ResourceNotFoundException
2984//   The specified resource was not found.
2985//
2986//   * InvalidParametersException
2987//   One or more parameters provided to the operation are not valid.
2988//
2989// See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/DescribeProvisionedProductPlan
2990func (c *ServiceCatalog) DescribeProvisionedProductPlan(input *DescribeProvisionedProductPlanInput) (*DescribeProvisionedProductPlanOutput, error) {
2991	req, out := c.DescribeProvisionedProductPlanRequest(input)
2992	return out, req.Send()
2993}
2994
2995// DescribeProvisionedProductPlanWithContext is the same as DescribeProvisionedProductPlan with the addition of
2996// the ability to pass a context and additional request options.
2997//
2998// See DescribeProvisionedProductPlan for details on how to use this API operation.
2999//
3000// The context must be non-nil and will be used for request cancellation. If
3001// the context is nil a panic will occur. In the future the SDK may create
3002// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3003// for more information on using Contexts.
3004func (c *ServiceCatalog) DescribeProvisionedProductPlanWithContext(ctx aws.Context, input *DescribeProvisionedProductPlanInput, opts ...request.Option) (*DescribeProvisionedProductPlanOutput, error) {
3005	req, out := c.DescribeProvisionedProductPlanRequest(input)
3006	req.SetContext(ctx)
3007	req.ApplyOptions(opts...)
3008	return out, req.Send()
3009}
3010
3011const opDescribeProvisioningArtifact = "DescribeProvisioningArtifact"
3012
3013// DescribeProvisioningArtifactRequest generates a "aws/request.Request" representing the
3014// client's request for the DescribeProvisioningArtifact operation. The "output" return
3015// value will be populated with the request's response once the request completes
3016// successfully.
3017//
3018// Use "Send" method on the returned Request to send the API call to the service.
3019// the "output" return value is not valid until after Send returns without error.
3020//
3021// See DescribeProvisioningArtifact for more information on using the DescribeProvisioningArtifact
3022// API call, and error handling.
3023//
3024// This method is useful when you want to inject custom logic or configuration
3025// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3026//
3027//
3028//    // Example sending a request using the DescribeProvisioningArtifactRequest method.
3029//    req, resp := client.DescribeProvisioningArtifactRequest(params)
3030//
3031//    err := req.Send()
3032//    if err == nil { // resp is now filled
3033//        fmt.Println(resp)
3034//    }
3035//
3036// See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/DescribeProvisioningArtifact
3037func (c *ServiceCatalog) DescribeProvisioningArtifactRequest(input *DescribeProvisioningArtifactInput) (req *request.Request, output *DescribeProvisioningArtifactOutput) {
3038	op := &request.Operation{
3039		Name:       opDescribeProvisioningArtifact,
3040		HTTPMethod: "POST",
3041		HTTPPath:   "/",
3042	}
3043
3044	if input == nil {
3045		input = &DescribeProvisioningArtifactInput{}
3046	}
3047
3048	output = &DescribeProvisioningArtifactOutput{}
3049	req = c.newRequest(op, input, output)
3050	return
3051}
3052
3053// DescribeProvisioningArtifact API operation for AWS Service Catalog.
3054//
3055// Gets information about the specified provisioning artifact (also known as
3056// a version) for the specified product.
3057//
3058// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3059// with awserr.Error's Code and Message methods to get detailed information about
3060// the error.
3061//
3062// See the AWS API reference guide for AWS Service Catalog's
3063// API operation DescribeProvisioningArtifact for usage and error information.
3064//
3065// Returned Error Types:
3066//   * ResourceNotFoundException
3067//   The specified resource was not found.
3068//
3069//   * InvalidParametersException
3070//   One or more parameters provided to the operation are not valid.
3071//
3072// See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/DescribeProvisioningArtifact
3073func (c *ServiceCatalog) DescribeProvisioningArtifact(input *DescribeProvisioningArtifactInput) (*DescribeProvisioningArtifactOutput, error) {
3074	req, out := c.DescribeProvisioningArtifactRequest(input)
3075	return out, req.Send()
3076}
3077
3078// DescribeProvisioningArtifactWithContext is the same as DescribeProvisioningArtifact with the addition of
3079// the ability to pass a context and additional request options.
3080//
3081// See DescribeProvisioningArtifact for details on how to use this API operation.
3082//
3083// The context must be non-nil and will be used for request cancellation. If
3084// the context is nil a panic will occur. In the future the SDK may create
3085// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3086// for more information on using Contexts.
3087func (c *ServiceCatalog) DescribeProvisioningArtifactWithContext(ctx aws.Context, input *DescribeProvisioningArtifactInput, opts ...request.Option) (*DescribeProvisioningArtifactOutput, error) {
3088	req, out := c.DescribeProvisioningArtifactRequest(input)
3089	req.SetContext(ctx)
3090	req.ApplyOptions(opts...)
3091	return out, req.Send()
3092}
3093
3094const opDescribeProvisioningParameters = "DescribeProvisioningParameters"
3095
3096// DescribeProvisioningParametersRequest generates a "aws/request.Request" representing the
3097// client's request for the DescribeProvisioningParameters operation. The "output" return
3098// value will be populated with the request's response once the request completes
3099// successfully.
3100//
3101// Use "Send" method on the returned Request to send the API call to the service.
3102// the "output" return value is not valid until after Send returns without error.
3103//
3104// See DescribeProvisioningParameters for more information on using the DescribeProvisioningParameters
3105// API call, and error handling.
3106//
3107// This method is useful when you want to inject custom logic or configuration
3108// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3109//
3110//
3111//    // Example sending a request using the DescribeProvisioningParametersRequest method.
3112//    req, resp := client.DescribeProvisioningParametersRequest(params)
3113//
3114//    err := req.Send()
3115//    if err == nil { // resp is now filled
3116//        fmt.Println(resp)
3117//    }
3118//
3119// See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/DescribeProvisioningParameters
3120func (c *ServiceCatalog) DescribeProvisioningParametersRequest(input *DescribeProvisioningParametersInput) (req *request.Request, output *DescribeProvisioningParametersOutput) {
3121	op := &request.Operation{
3122		Name:       opDescribeProvisioningParameters,
3123		HTTPMethod: "POST",
3124		HTTPPath:   "/",
3125	}
3126
3127	if input == nil {
3128		input = &DescribeProvisioningParametersInput{}
3129	}
3130
3131	output = &DescribeProvisioningParametersOutput{}
3132	req = c.newRequest(op, input, output)
3133	return
3134}
3135
3136// DescribeProvisioningParameters API operation for AWS Service Catalog.
3137//
3138// Gets information about the configuration required to provision the specified
3139// product using the specified provisioning artifact.
3140//
3141// If the output contains a TagOption key with an empty list of values, there
3142// is a TagOption conflict for that key. The end user cannot take action to
3143// fix the conflict, and launch is not blocked. In subsequent calls to ProvisionProduct,
3144// do not include conflicted TagOption keys as tags, or this causes the error
3145// "Parameter validation failed: Missing required parameter in Tags[N]:Value".
3146// Tag the provisioned product with the value sc-tagoption-conflict-portfolioId-productId.
3147//
3148// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3149// with awserr.Error's Code and Message methods to get detailed information about
3150// the error.
3151//
3152// See the AWS API reference guide for AWS Service Catalog's
3153// API operation DescribeProvisioningParameters for usage and error information.
3154//
3155// Returned Error Types:
3156//   * InvalidParametersException
3157//   One or more parameters provided to the operation are not valid.
3158//
3159//   * ResourceNotFoundException
3160//   The specified resource was not found.
3161//
3162// See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/DescribeProvisioningParameters
3163func (c *ServiceCatalog) DescribeProvisioningParameters(input *DescribeProvisioningParametersInput) (*DescribeProvisioningParametersOutput, error) {
3164	req, out := c.DescribeProvisioningParametersRequest(input)
3165	return out, req.Send()
3166}
3167
3168// DescribeProvisioningParametersWithContext is the same as DescribeProvisioningParameters with the addition of
3169// the ability to pass a context and additional request options.
3170//
3171// See DescribeProvisioningParameters for details on how to use this API operation.
3172//
3173// The context must be non-nil and will be used for request cancellation. If
3174// the context is nil a panic will occur. In the future the SDK may create
3175// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3176// for more information on using Contexts.
3177func (c *ServiceCatalog) DescribeProvisioningParametersWithContext(ctx aws.Context, input *DescribeProvisioningParametersInput, opts ...request.Option) (*DescribeProvisioningParametersOutput, error) {
3178	req, out := c.DescribeProvisioningParametersRequest(input)
3179	req.SetContext(ctx)
3180	req.ApplyOptions(opts...)
3181	return out, req.Send()
3182}
3183
3184const opDescribeRecord = "DescribeRecord"
3185
3186// DescribeRecordRequest generates a "aws/request.Request" representing the
3187// client's request for the DescribeRecord operation. The "output" return
3188// value will be populated with the request's response once the request completes
3189// successfully.
3190//
3191// Use "Send" method on the returned Request to send the API call to the service.
3192// the "output" return value is not valid until after Send returns without error.
3193//
3194// See DescribeRecord for more information on using the DescribeRecord
3195// API call, and error handling.
3196//
3197// This method is useful when you want to inject custom logic or configuration
3198// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3199//
3200//
3201//    // Example sending a request using the DescribeRecordRequest method.
3202//    req, resp := client.DescribeRecordRequest(params)
3203//
3204//    err := req.Send()
3205//    if err == nil { // resp is now filled
3206//        fmt.Println(resp)
3207//    }
3208//
3209// See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/DescribeRecord
3210func (c *ServiceCatalog) DescribeRecordRequest(input *DescribeRecordInput) (req *request.Request, output *DescribeRecordOutput) {
3211	op := &request.Operation{
3212		Name:       opDescribeRecord,
3213		HTTPMethod: "POST",
3214		HTTPPath:   "/",
3215	}
3216
3217	if input == nil {
3218		input = &DescribeRecordInput{}
3219	}
3220
3221	output = &DescribeRecordOutput{}
3222	req = c.newRequest(op, input, output)
3223	return
3224}
3225
3226// DescribeRecord API operation for AWS Service Catalog.
3227//
3228// Gets information about the specified request operation.
3229//
3230// Use this operation after calling a request operation (for example, ProvisionProduct,
3231// TerminateProvisionedProduct, or UpdateProvisionedProduct).
3232//
3233// If a provisioned product was transferred to a new owner using UpdateProvisionedProductProperties,
3234// the new owner will be able to describe all past records for that product.
3235// The previous owner will no longer be able to describe the records, but will
3236// be able to use ListRecordHistory to see the product's history from when he
3237// was the owner.
3238//
3239// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3240// with awserr.Error's Code and Message methods to get detailed information about
3241// the error.
3242//
3243// See the AWS API reference guide for AWS Service Catalog's
3244// API operation DescribeRecord for usage and error information.
3245//
3246// Returned Error Types:
3247//   * ResourceNotFoundException
3248//   The specified resource was not found.
3249//
3250// See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/DescribeRecord
3251func (c *ServiceCatalog) DescribeRecord(input *DescribeRecordInput) (*DescribeRecordOutput, error) {
3252	req, out := c.DescribeRecordRequest(input)
3253	return out, req.Send()
3254}
3255
3256// DescribeRecordWithContext is the same as DescribeRecord with the addition of
3257// the ability to pass a context and additional request options.
3258//
3259// See DescribeRecord for details on how to use this API operation.
3260//
3261// The context must be non-nil and will be used for request cancellation. If
3262// the context is nil a panic will occur. In the future the SDK may create
3263// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3264// for more information on using Contexts.
3265func (c *ServiceCatalog) DescribeRecordWithContext(ctx aws.Context, input *DescribeRecordInput, opts ...request.Option) (*DescribeRecordOutput, error) {
3266	req, out := c.DescribeRecordRequest(input)
3267	req.SetContext(ctx)
3268	req.ApplyOptions(opts...)
3269	return out, req.Send()
3270}
3271
3272const opDescribeServiceAction = "DescribeServiceAction"
3273
3274// DescribeServiceActionRequest generates a "aws/request.Request" representing the
3275// client's request for the DescribeServiceAction operation. The "output" return
3276// value will be populated with the request's response once the request completes
3277// successfully.
3278//
3279// Use "Send" method on the returned Request to send the API call to the service.
3280// the "output" return value is not valid until after Send returns without error.
3281//
3282// See DescribeServiceAction for more information on using the DescribeServiceAction
3283// API call, and error handling.
3284//
3285// This method is useful when you want to inject custom logic or configuration
3286// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3287//
3288//
3289//    // Example sending a request using the DescribeServiceActionRequest method.
3290//    req, resp := client.DescribeServiceActionRequest(params)
3291//
3292//    err := req.Send()
3293//    if err == nil { // resp is now filled
3294//        fmt.Println(resp)
3295//    }
3296//
3297// See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/DescribeServiceAction
3298func (c *ServiceCatalog) DescribeServiceActionRequest(input *DescribeServiceActionInput) (req *request.Request, output *DescribeServiceActionOutput) {
3299	op := &request.Operation{
3300		Name:       opDescribeServiceAction,
3301		HTTPMethod: "POST",
3302		HTTPPath:   "/",
3303	}
3304
3305	if input == nil {
3306		input = &DescribeServiceActionInput{}
3307	}
3308
3309	output = &DescribeServiceActionOutput{}
3310	req = c.newRequest(op, input, output)
3311	return
3312}
3313
3314// DescribeServiceAction API operation for AWS Service Catalog.
3315//
3316// Describes a self-service action.
3317//
3318// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3319// with awserr.Error's Code and Message methods to get detailed information about
3320// the error.
3321//
3322// See the AWS API reference guide for AWS Service Catalog's
3323// API operation DescribeServiceAction for usage and error information.
3324//
3325// Returned Error Types:
3326//   * ResourceNotFoundException
3327//   The specified resource was not found.
3328//
3329// See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/DescribeServiceAction
3330func (c *ServiceCatalog) DescribeServiceAction(input *DescribeServiceActionInput) (*DescribeServiceActionOutput, error) {
3331	req, out := c.DescribeServiceActionRequest(input)
3332	return out, req.Send()
3333}
3334
3335// DescribeServiceActionWithContext is the same as DescribeServiceAction with the addition of
3336// the ability to pass a context and additional request options.
3337//
3338// See DescribeServiceAction for details on how to use this API operation.
3339//
3340// The context must be non-nil and will be used for request cancellation. If
3341// the context is nil a panic will occur. In the future the SDK may create
3342// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3343// for more information on using Contexts.
3344func (c *ServiceCatalog) DescribeServiceActionWithContext(ctx aws.Context, input *DescribeServiceActionInput, opts ...request.Option) (*DescribeServiceActionOutput, error) {
3345	req, out := c.DescribeServiceActionRequest(input)
3346	req.SetContext(ctx)
3347	req.ApplyOptions(opts...)
3348	return out, req.Send()
3349}
3350
3351const opDescribeServiceActionExecutionParameters = "DescribeServiceActionExecutionParameters"
3352
3353// DescribeServiceActionExecutionParametersRequest generates a "aws/request.Request" representing the
3354// client's request for the DescribeServiceActionExecutionParameters operation. The "output" return
3355// value will be populated with the request's response once the request completes
3356// successfully.
3357//
3358// Use "Send" method on the returned Request to send the API call to the service.
3359// the "output" return value is not valid until after Send returns without error.
3360//
3361// See DescribeServiceActionExecutionParameters for more information on using the DescribeServiceActionExecutionParameters
3362// API call, and error handling.
3363//
3364// This method is useful when you want to inject custom logic or configuration
3365// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3366//
3367//
3368//    // Example sending a request using the DescribeServiceActionExecutionParametersRequest method.
3369//    req, resp := client.DescribeServiceActionExecutionParametersRequest(params)
3370//
3371//    err := req.Send()
3372//    if err == nil { // resp is now filled
3373//        fmt.Println(resp)
3374//    }
3375//
3376// See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/DescribeServiceActionExecutionParameters
3377func (c *ServiceCatalog) DescribeServiceActionExecutionParametersRequest(input *DescribeServiceActionExecutionParametersInput) (req *request.Request, output *DescribeServiceActionExecutionParametersOutput) {
3378	op := &request.Operation{
3379		Name:       opDescribeServiceActionExecutionParameters,
3380		HTTPMethod: "POST",
3381		HTTPPath:   "/",
3382	}
3383
3384	if input == nil {
3385		input = &DescribeServiceActionExecutionParametersInput{}
3386	}
3387
3388	output = &DescribeServiceActionExecutionParametersOutput{}
3389	req = c.newRequest(op, input, output)
3390	return
3391}
3392
3393// DescribeServiceActionExecutionParameters API operation for AWS Service Catalog.
3394//
3395// Finds the default parameters for a specific self-service action on a specific
3396// provisioned product and returns a map of the results to the user.
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 DescribeServiceActionExecutionParameters for usage and error information.
3404//
3405// Returned Error Types:
3406//   * InvalidParametersException
3407//   One or more parameters provided to the operation are not valid.
3408//
3409//   * ResourceNotFoundException
3410//   The specified resource was not found.
3411//
3412// See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/DescribeServiceActionExecutionParameters
3413func (c *ServiceCatalog) DescribeServiceActionExecutionParameters(input *DescribeServiceActionExecutionParametersInput) (*DescribeServiceActionExecutionParametersOutput, error) {
3414	req, out := c.DescribeServiceActionExecutionParametersRequest(input)
3415	return out, req.Send()
3416}
3417
3418// DescribeServiceActionExecutionParametersWithContext is the same as DescribeServiceActionExecutionParameters with the addition of
3419// the ability to pass a context and additional request options.
3420//
3421// See DescribeServiceActionExecutionParameters for details on how to use this API operation.
3422//
3423// The context must be non-nil and will be used for request cancellation. If
3424// the context is nil a panic will occur. In the future the SDK may create
3425// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3426// for more information on using Contexts.
3427func (c *ServiceCatalog) DescribeServiceActionExecutionParametersWithContext(ctx aws.Context, input *DescribeServiceActionExecutionParametersInput, opts ...request.Option) (*DescribeServiceActionExecutionParametersOutput, error) {
3428	req, out := c.DescribeServiceActionExecutionParametersRequest(input)
3429	req.SetContext(ctx)
3430	req.ApplyOptions(opts...)
3431	return out, req.Send()
3432}
3433
3434const opDescribeTagOption = "DescribeTagOption"
3435
3436// DescribeTagOptionRequest generates a "aws/request.Request" representing the
3437// client's request for the DescribeTagOption operation. The "output" return
3438// value will be populated with the request's response once the request completes
3439// successfully.
3440//
3441// Use "Send" method on the returned Request to send the API call to the service.
3442// the "output" return value is not valid until after Send returns without error.
3443//
3444// See DescribeTagOption for more information on using the DescribeTagOption
3445// API call, and error handling.
3446//
3447// This method is useful when you want to inject custom logic or configuration
3448// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3449//
3450//
3451//    // Example sending a request using the DescribeTagOptionRequest method.
3452//    req, resp := client.DescribeTagOptionRequest(params)
3453//
3454//    err := req.Send()
3455//    if err == nil { // resp is now filled
3456//        fmt.Println(resp)
3457//    }
3458//
3459// See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/DescribeTagOption
3460func (c *ServiceCatalog) DescribeTagOptionRequest(input *DescribeTagOptionInput) (req *request.Request, output *DescribeTagOptionOutput) {
3461	op := &request.Operation{
3462		Name:       opDescribeTagOption,
3463		HTTPMethod: "POST",
3464		HTTPPath:   "/",
3465	}
3466
3467	if input == nil {
3468		input = &DescribeTagOptionInput{}
3469	}
3470
3471	output = &DescribeTagOptionOutput{}
3472	req = c.newRequest(op, input, output)
3473	return
3474}
3475
3476// DescribeTagOption API operation for AWS Service Catalog.
3477//
3478// Gets information about the specified TagOption.
3479//
3480// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3481// with awserr.Error's Code and Message methods to get detailed information about
3482// the error.
3483//
3484// See the AWS API reference guide for AWS Service Catalog's
3485// API operation DescribeTagOption for usage and error information.
3486//
3487// Returned Error Types:
3488//   * TagOptionNotMigratedException
3489//   An operation requiring TagOptions failed because the TagOptions migration
3490//   process has not been performed for this account. Please use the AWS console
3491//   to perform the migration process before retrying the operation.
3492//
3493//   * ResourceNotFoundException
3494//   The specified resource was not found.
3495//
3496// See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/DescribeTagOption
3497func (c *ServiceCatalog) DescribeTagOption(input *DescribeTagOptionInput) (*DescribeTagOptionOutput, error) {
3498	req, out := c.DescribeTagOptionRequest(input)
3499	return out, req.Send()
3500}
3501
3502// DescribeTagOptionWithContext is the same as DescribeTagOption with the addition of
3503// the ability to pass a context and additional request options.
3504//
3505// See DescribeTagOption for details on how to use this API operation.
3506//
3507// The context must be non-nil and will be used for request cancellation. If
3508// the context is nil a panic will occur. In the future the SDK may create
3509// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3510// for more information on using Contexts.
3511func (c *ServiceCatalog) DescribeTagOptionWithContext(ctx aws.Context, input *DescribeTagOptionInput, opts ...request.Option) (*DescribeTagOptionOutput, error) {
3512	req, out := c.DescribeTagOptionRequest(input)
3513	req.SetContext(ctx)
3514	req.ApplyOptions(opts...)
3515	return out, req.Send()
3516}
3517
3518const opDisableAWSOrganizationsAccess = "DisableAWSOrganizationsAccess"
3519
3520// DisableAWSOrganizationsAccessRequest generates a "aws/request.Request" representing the
3521// client's request for the DisableAWSOrganizationsAccess operation. The "output" return
3522// value will be populated with the request's response once the request completes
3523// successfully.
3524//
3525// Use "Send" method on the returned Request to send the API call to the service.
3526// the "output" return value is not valid until after Send returns without error.
3527//
3528// See DisableAWSOrganizationsAccess for more information on using the DisableAWSOrganizationsAccess
3529// API call, and error handling.
3530//
3531// This method is useful when you want to inject custom logic or configuration
3532// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3533//
3534//
3535//    // Example sending a request using the DisableAWSOrganizationsAccessRequest method.
3536//    req, resp := client.DisableAWSOrganizationsAccessRequest(params)
3537//
3538//    err := req.Send()
3539//    if err == nil { // resp is now filled
3540//        fmt.Println(resp)
3541//    }
3542//
3543// See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/DisableAWSOrganizationsAccess
3544func (c *ServiceCatalog) DisableAWSOrganizationsAccessRequest(input *DisableAWSOrganizationsAccessInput) (req *request.Request, output *DisableAWSOrganizationsAccessOutput) {
3545	op := &request.Operation{
3546		Name:       opDisableAWSOrganizationsAccess,
3547		HTTPMethod: "POST",
3548		HTTPPath:   "/",
3549	}
3550
3551	if input == nil {
3552		input = &DisableAWSOrganizationsAccessInput{}
3553	}
3554
3555	output = &DisableAWSOrganizationsAccessOutput{}
3556	req = c.newRequest(op, input, output)
3557	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
3558	return
3559}
3560
3561// DisableAWSOrganizationsAccess API operation for AWS Service Catalog.
3562//
3563// Disable portfolio sharing through AWS Organizations feature. This feature
3564// will not delete your current shares but it will prevent you from creating
3565// new shares throughout your organization. Current shares will not be in sync
3566// with your organization structure if it changes after calling this API. This
3567// API can only be called by the management account in the organization.
3568//
3569// This API can't be invoked if there are active delegated administrators in
3570// the organization.
3571//
3572// Note that a delegated administrator is not authorized to invoke DisableAWSOrganizationsAccess.
3573//
3574// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3575// with awserr.Error's Code and Message methods to get detailed information about
3576// the error.
3577//
3578// See the AWS API reference guide for AWS Service Catalog's
3579// API operation DisableAWSOrganizationsAccess for usage and error information.
3580//
3581// Returned Error Types:
3582//   * ResourceNotFoundException
3583//   The specified resource was not found.
3584//
3585//   * InvalidStateException
3586//   An attempt was made to modify a resource that is in a state that is not valid.
3587//   Check your resources to ensure that they are in valid states before retrying
3588//   the operation.
3589//
3590//   * OperationNotSupportedException
3591//   The operation is not supported.
3592//
3593// See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/DisableAWSOrganizationsAccess
3594func (c *ServiceCatalog) DisableAWSOrganizationsAccess(input *DisableAWSOrganizationsAccessInput) (*DisableAWSOrganizationsAccessOutput, error) {
3595	req, out := c.DisableAWSOrganizationsAccessRequest(input)
3596	return out, req.Send()
3597}
3598
3599// DisableAWSOrganizationsAccessWithContext is the same as DisableAWSOrganizationsAccess with the addition of
3600// the ability to pass a context and additional request options.
3601//
3602// See DisableAWSOrganizationsAccess for details on how to use this API operation.
3603//
3604// The context must be non-nil and will be used for request cancellation. If
3605// the context is nil a panic will occur. In the future the SDK may create
3606// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3607// for more information on using Contexts.
3608func (c *ServiceCatalog) DisableAWSOrganizationsAccessWithContext(ctx aws.Context, input *DisableAWSOrganizationsAccessInput, opts ...request.Option) (*DisableAWSOrganizationsAccessOutput, error) {
3609	req, out := c.DisableAWSOrganizationsAccessRequest(input)
3610	req.SetContext(ctx)
3611	req.ApplyOptions(opts...)
3612	return out, req.Send()
3613}
3614
3615const opDisassociateBudgetFromResource = "DisassociateBudgetFromResource"
3616
3617// DisassociateBudgetFromResourceRequest generates a "aws/request.Request" representing the
3618// client's request for the DisassociateBudgetFromResource operation. The "output" return
3619// value will be populated with the request's response once the request completes
3620// successfully.
3621//
3622// Use "Send" method on the returned Request to send the API call to the service.
3623// the "output" return value is not valid until after Send returns without error.
3624//
3625// See DisassociateBudgetFromResource for more information on using the DisassociateBudgetFromResource
3626// API call, and error handling.
3627//
3628// This method is useful when you want to inject custom logic or configuration
3629// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3630//
3631//
3632//    // Example sending a request using the DisassociateBudgetFromResourceRequest method.
3633//    req, resp := client.DisassociateBudgetFromResourceRequest(params)
3634//
3635//    err := req.Send()
3636//    if err == nil { // resp is now filled
3637//        fmt.Println(resp)
3638//    }
3639//
3640// See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/DisassociateBudgetFromResource
3641func (c *ServiceCatalog) DisassociateBudgetFromResourceRequest(input *DisassociateBudgetFromResourceInput) (req *request.Request, output *DisassociateBudgetFromResourceOutput) {
3642	op := &request.Operation{
3643		Name:       opDisassociateBudgetFromResource,
3644		HTTPMethod: "POST",
3645		HTTPPath:   "/",
3646	}
3647
3648	if input == nil {
3649		input = &DisassociateBudgetFromResourceInput{}
3650	}
3651
3652	output = &DisassociateBudgetFromResourceOutput{}
3653	req = c.newRequest(op, input, output)
3654	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
3655	return
3656}
3657
3658// DisassociateBudgetFromResource API operation for AWS Service Catalog.
3659//
3660// Disassociates the specified budget from the specified resource.
3661//
3662// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3663// with awserr.Error's Code and Message methods to get detailed information about
3664// the error.
3665//
3666// See the AWS API reference guide for AWS Service Catalog's
3667// API operation DisassociateBudgetFromResource for usage and error information.
3668//
3669// Returned Error Types:
3670//   * ResourceNotFoundException
3671//   The specified resource was not found.
3672//
3673// See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/DisassociateBudgetFromResource
3674func (c *ServiceCatalog) DisassociateBudgetFromResource(input *DisassociateBudgetFromResourceInput) (*DisassociateBudgetFromResourceOutput, error) {
3675	req, out := c.DisassociateBudgetFromResourceRequest(input)
3676	return out, req.Send()
3677}
3678
3679// DisassociateBudgetFromResourceWithContext is the same as DisassociateBudgetFromResource with the addition of
3680// the ability to pass a context and additional request options.
3681//
3682// See DisassociateBudgetFromResource for details on how to use this API operation.
3683//
3684// The context must be non-nil and will be used for request cancellation. If
3685// the context is nil a panic will occur. In the future the SDK may create
3686// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3687// for more information on using Contexts.
3688func (c *ServiceCatalog) DisassociateBudgetFromResourceWithContext(ctx aws.Context, input *DisassociateBudgetFromResourceInput, opts ...request.Option) (*DisassociateBudgetFromResourceOutput, error) {
3689	req, out := c.DisassociateBudgetFromResourceRequest(input)
3690	req.SetContext(ctx)
3691	req.ApplyOptions(opts...)
3692	return out, req.Send()
3693}
3694
3695const opDisassociatePrincipalFromPortfolio = "DisassociatePrincipalFromPortfolio"
3696
3697// DisassociatePrincipalFromPortfolioRequest generates a "aws/request.Request" representing the
3698// client's request for the DisassociatePrincipalFromPortfolio operation. The "output" return
3699// value will be populated with the request's response once the request completes
3700// successfully.
3701//
3702// Use "Send" method on the returned Request to send the API call to the service.
3703// the "output" return value is not valid until after Send returns without error.
3704//
3705// See DisassociatePrincipalFromPortfolio for more information on using the DisassociatePrincipalFromPortfolio
3706// API call, and error handling.
3707//
3708// This method is useful when you want to inject custom logic or configuration
3709// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3710//
3711//
3712//    // Example sending a request using the DisassociatePrincipalFromPortfolioRequest method.
3713//    req, resp := client.DisassociatePrincipalFromPortfolioRequest(params)
3714//
3715//    err := req.Send()
3716//    if err == nil { // resp is now filled
3717//        fmt.Println(resp)
3718//    }
3719//
3720// See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/DisassociatePrincipalFromPortfolio
3721func (c *ServiceCatalog) DisassociatePrincipalFromPortfolioRequest(input *DisassociatePrincipalFromPortfolioInput) (req *request.Request, output *DisassociatePrincipalFromPortfolioOutput) {
3722	op := &request.Operation{
3723		Name:       opDisassociatePrincipalFromPortfolio,
3724		HTTPMethod: "POST",
3725		HTTPPath:   "/",
3726	}
3727
3728	if input == nil {
3729		input = &DisassociatePrincipalFromPortfolioInput{}
3730	}
3731
3732	output = &DisassociatePrincipalFromPortfolioOutput{}
3733	req = c.newRequest(op, input, output)
3734	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
3735	return
3736}
3737
3738// DisassociatePrincipalFromPortfolio API operation for AWS Service Catalog.
3739//
3740// Disassociates a previously associated principal ARN from a specified portfolio.
3741//
3742// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3743// with awserr.Error's Code and Message methods to get detailed information about
3744// the error.
3745//
3746// See the AWS API reference guide for AWS Service Catalog's
3747// API operation DisassociatePrincipalFromPortfolio for usage and error information.
3748//
3749// Returned Error Types:
3750//   * InvalidParametersException
3751//   One or more parameters provided to the operation are not valid.
3752//
3753//   * ResourceNotFoundException
3754//   The specified resource was not found.
3755//
3756// See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/DisassociatePrincipalFromPortfolio
3757func (c *ServiceCatalog) DisassociatePrincipalFromPortfolio(input *DisassociatePrincipalFromPortfolioInput) (*DisassociatePrincipalFromPortfolioOutput, error) {
3758	req, out := c.DisassociatePrincipalFromPortfolioRequest(input)
3759	return out, req.Send()
3760}
3761
3762// DisassociatePrincipalFromPortfolioWithContext is the same as DisassociatePrincipalFromPortfolio with the addition of
3763// the ability to pass a context and additional request options.
3764//
3765// See DisassociatePrincipalFromPortfolio for details on how to use this API operation.
3766//
3767// The context must be non-nil and will be used for request cancellation. If
3768// the context is nil a panic will occur. In the future the SDK may create
3769// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3770// for more information on using Contexts.
3771func (c *ServiceCatalog) DisassociatePrincipalFromPortfolioWithContext(ctx aws.Context, input *DisassociatePrincipalFromPortfolioInput, opts ...request.Option) (*DisassociatePrincipalFromPortfolioOutput, error) {
3772	req, out := c.DisassociatePrincipalFromPortfolioRequest(input)
3773	req.SetContext(ctx)
3774	req.ApplyOptions(opts...)
3775	return out, req.Send()
3776}
3777
3778const opDisassociateProductFromPortfolio = "DisassociateProductFromPortfolio"
3779
3780// DisassociateProductFromPortfolioRequest generates a "aws/request.Request" representing the
3781// client's request for the DisassociateProductFromPortfolio operation. The "output" return
3782// value will be populated with the request's response once the request completes
3783// successfully.
3784//
3785// Use "Send" method on the returned Request to send the API call to the service.
3786// the "output" return value is not valid until after Send returns without error.
3787//
3788// See DisassociateProductFromPortfolio for more information on using the DisassociateProductFromPortfolio
3789// API call, and error handling.
3790//
3791// This method is useful when you want to inject custom logic or configuration
3792// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3793//
3794//
3795//    // Example sending a request using the DisassociateProductFromPortfolioRequest method.
3796//    req, resp := client.DisassociateProductFromPortfolioRequest(params)
3797//
3798//    err := req.Send()
3799//    if err == nil { // resp is now filled
3800//        fmt.Println(resp)
3801//    }
3802//
3803// See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/DisassociateProductFromPortfolio
3804func (c *ServiceCatalog) DisassociateProductFromPortfolioRequest(input *DisassociateProductFromPortfolioInput) (req *request.Request, output *DisassociateProductFromPortfolioOutput) {
3805	op := &request.Operation{
3806		Name:       opDisassociateProductFromPortfolio,
3807		HTTPMethod: "POST",
3808		HTTPPath:   "/",
3809	}
3810
3811	if input == nil {
3812		input = &DisassociateProductFromPortfolioInput{}
3813	}
3814
3815	output = &DisassociateProductFromPortfolioOutput{}
3816	req = c.newRequest(op, input, output)
3817	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
3818	return
3819}
3820
3821// DisassociateProductFromPortfolio API operation for AWS Service Catalog.
3822//
3823// Disassociates the specified product from the specified portfolio.
3824//
3825// A delegated admin is authorized to invoke this command.
3826//
3827// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3828// with awserr.Error's Code and Message methods to get detailed information about
3829// the error.
3830//
3831// See the AWS API reference guide for AWS Service Catalog's
3832// API operation DisassociateProductFromPortfolio for usage and error information.
3833//
3834// Returned Error Types:
3835//   * ResourceNotFoundException
3836//   The specified resource was not found.
3837//
3838//   * ResourceInUseException
3839//   A resource that is currently in use. Ensure that the resource is not in use
3840//   and retry the operation.
3841//
3842//   * InvalidParametersException
3843//   One or more parameters provided to the operation are not valid.
3844//
3845// See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/DisassociateProductFromPortfolio
3846func (c *ServiceCatalog) DisassociateProductFromPortfolio(input *DisassociateProductFromPortfolioInput) (*DisassociateProductFromPortfolioOutput, error) {
3847	req, out := c.DisassociateProductFromPortfolioRequest(input)
3848	return out, req.Send()
3849}
3850
3851// DisassociateProductFromPortfolioWithContext is the same as DisassociateProductFromPortfolio with the addition of
3852// the ability to pass a context and additional request options.
3853//
3854// See DisassociateProductFromPortfolio for details on how to use this API operation.
3855//
3856// The context must be non-nil and will be used for request cancellation. If
3857// the context is nil a panic will occur. In the future the SDK may create
3858// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3859// for more information on using Contexts.
3860func (c *ServiceCatalog) DisassociateProductFromPortfolioWithContext(ctx aws.Context, input *DisassociateProductFromPortfolioInput, opts ...request.Option) (*DisassociateProductFromPortfolioOutput, error) {
3861	req, out := c.DisassociateProductFromPortfolioRequest(input)
3862	req.SetContext(ctx)
3863	req.ApplyOptions(opts...)
3864	return out, req.Send()
3865}
3866
3867const opDisassociateServiceActionFromProvisioningArtifact = "DisassociateServiceActionFromProvisioningArtifact"
3868
3869// DisassociateServiceActionFromProvisioningArtifactRequest generates a "aws/request.Request" representing the
3870// client's request for the DisassociateServiceActionFromProvisioningArtifact operation. The "output" return
3871// value will be populated with the request's response once the request completes
3872// successfully.
3873//
3874// Use "Send" method on the returned Request to send the API call to the service.
3875// the "output" return value is not valid until after Send returns without error.
3876//
3877// See DisassociateServiceActionFromProvisioningArtifact for more information on using the DisassociateServiceActionFromProvisioningArtifact
3878// API call, and error handling.
3879//
3880// This method is useful when you want to inject custom logic or configuration
3881// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3882//
3883//
3884//    // Example sending a request using the DisassociateServiceActionFromProvisioningArtifactRequest method.
3885//    req, resp := client.DisassociateServiceActionFromProvisioningArtifactRequest(params)
3886//
3887//    err := req.Send()
3888//    if err == nil { // resp is now filled
3889//        fmt.Println(resp)
3890//    }
3891//
3892// See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/DisassociateServiceActionFromProvisioningArtifact
3893func (c *ServiceCatalog) DisassociateServiceActionFromProvisioningArtifactRequest(input *DisassociateServiceActionFromProvisioningArtifactInput) (req *request.Request, output *DisassociateServiceActionFromProvisioningArtifactOutput) {
3894	op := &request.Operation{
3895		Name:       opDisassociateServiceActionFromProvisioningArtifact,
3896		HTTPMethod: "POST",
3897		HTTPPath:   "/",
3898	}
3899
3900	if input == nil {
3901		input = &DisassociateServiceActionFromProvisioningArtifactInput{}
3902	}
3903
3904	output = &DisassociateServiceActionFromProvisioningArtifactOutput{}
3905	req = c.newRequest(op, input, output)
3906	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
3907	return
3908}
3909
3910// DisassociateServiceActionFromProvisioningArtifact API operation for AWS Service Catalog.
3911//
3912// Disassociates the specified self-service action association from the specified
3913// provisioning artifact.
3914//
3915// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3916// with awserr.Error's Code and Message methods to get detailed information about
3917// the error.
3918//
3919// See the AWS API reference guide for AWS Service Catalog's
3920// API operation DisassociateServiceActionFromProvisioningArtifact for usage and error information.
3921//
3922// Returned Error Types:
3923//   * ResourceNotFoundException
3924//   The specified resource was not found.
3925//
3926// See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/DisassociateServiceActionFromProvisioningArtifact
3927func (c *ServiceCatalog) DisassociateServiceActionFromProvisioningArtifact(input *DisassociateServiceActionFromProvisioningArtifactInput) (*DisassociateServiceActionFromProvisioningArtifactOutput, error) {
3928	req, out := c.DisassociateServiceActionFromProvisioningArtifactRequest(input)
3929	return out, req.Send()
3930}
3931
3932// DisassociateServiceActionFromProvisioningArtifactWithContext is the same as DisassociateServiceActionFromProvisioningArtifact with the addition of
3933// the ability to pass a context and additional request options.
3934//
3935// See DisassociateServiceActionFromProvisioningArtifact for details on how to use this API operation.
3936//
3937// The context must be non-nil and will be used for request cancellation. If
3938// the context is nil a panic will occur. In the future the SDK may create
3939// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3940// for more information on using Contexts.
3941func (c *ServiceCatalog) DisassociateServiceActionFromProvisioningArtifactWithContext(ctx aws.Context, input *DisassociateServiceActionFromProvisioningArtifactInput, opts ...request.Option) (*DisassociateServiceActionFromProvisioningArtifactOutput, error) {
3942	req, out := c.DisassociateServiceActionFromProvisioningArtifactRequest(input)
3943	req.SetContext(ctx)
3944	req.ApplyOptions(opts...)
3945	return out, req.Send()
3946}
3947
3948const opDisassociateTagOptionFromResource = "DisassociateTagOptionFromResource"
3949
3950// DisassociateTagOptionFromResourceRequest generates a "aws/request.Request" representing the
3951// client's request for the DisassociateTagOptionFromResource operation. The "output" return
3952// value will be populated with the request's response once the request completes
3953// successfully.
3954//
3955// Use "Send" method on the returned Request to send the API call to the service.
3956// the "output" return value is not valid until after Send returns without error.
3957//
3958// See DisassociateTagOptionFromResource for more information on using the DisassociateTagOptionFromResource
3959// API call, and error handling.
3960//
3961// This method is useful when you want to inject custom logic or configuration
3962// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3963//
3964//
3965//    // Example sending a request using the DisassociateTagOptionFromResourceRequest method.
3966//    req, resp := client.DisassociateTagOptionFromResourceRequest(params)
3967//
3968//    err := req.Send()
3969//    if err == nil { // resp is now filled
3970//        fmt.Println(resp)
3971//    }
3972//
3973// See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/DisassociateTagOptionFromResource
3974func (c *ServiceCatalog) DisassociateTagOptionFromResourceRequest(input *DisassociateTagOptionFromResourceInput) (req *request.Request, output *DisassociateTagOptionFromResourceOutput) {
3975	op := &request.Operation{
3976		Name:       opDisassociateTagOptionFromResource,
3977		HTTPMethod: "POST",
3978		HTTPPath:   "/",
3979	}
3980
3981	if input == nil {
3982		input = &DisassociateTagOptionFromResourceInput{}
3983	}
3984
3985	output = &DisassociateTagOptionFromResourceOutput{}
3986	req = c.newRequest(op, input, output)
3987	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
3988	return
3989}
3990
3991// DisassociateTagOptionFromResource API operation for AWS Service Catalog.
3992//
3993// Disassociates the specified TagOption from the specified resource.
3994//
3995// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3996// with awserr.Error's Code and Message methods to get detailed information about
3997// the error.
3998//
3999// See the AWS API reference guide for AWS Service Catalog's
4000// API operation DisassociateTagOptionFromResource for usage and error information.
4001//
4002// Returned Error Types:
4003//   * TagOptionNotMigratedException
4004//   An operation requiring TagOptions failed because the TagOptions migration
4005//   process has not been performed for this account. Please use the AWS console
4006//   to perform the migration process before retrying the operation.
4007//
4008//   * ResourceNotFoundException
4009//   The specified resource was not found.
4010//
4011// See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/DisassociateTagOptionFromResource
4012func (c *ServiceCatalog) DisassociateTagOptionFromResource(input *DisassociateTagOptionFromResourceInput) (*DisassociateTagOptionFromResourceOutput, error) {
4013	req, out := c.DisassociateTagOptionFromResourceRequest(input)
4014	return out, req.Send()
4015}
4016
4017// DisassociateTagOptionFromResourceWithContext is the same as DisassociateTagOptionFromResource with the addition of
4018// the ability to pass a context and additional request options.
4019//
4020// See DisassociateTagOptionFromResource for details on how to use this API operation.
4021//
4022// The context must be non-nil and will be used for request cancellation. If
4023// the context is nil a panic will occur. In the future the SDK may create
4024// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4025// for more information on using Contexts.
4026func (c *ServiceCatalog) DisassociateTagOptionFromResourceWithContext(ctx aws.Context, input *DisassociateTagOptionFromResourceInput, opts ...request.Option) (*DisassociateTagOptionFromResourceOutput, error) {
4027	req, out := c.DisassociateTagOptionFromResourceRequest(input)
4028	req.SetContext(ctx)
4029	req.ApplyOptions(opts...)
4030	return out, req.Send()
4031}
4032
4033const opEnableAWSOrganizationsAccess = "EnableAWSOrganizationsAccess"
4034
4035// EnableAWSOrganizationsAccessRequest generates a "aws/request.Request" representing the
4036// client's request for the EnableAWSOrganizationsAccess operation. The "output" return
4037// value will be populated with the request's response once the request completes
4038// successfully.
4039//
4040// Use "Send" method on the returned Request to send the API call to the service.
4041// the "output" return value is not valid until after Send returns without error.
4042//
4043// See EnableAWSOrganizationsAccess for more information on using the EnableAWSOrganizationsAccess
4044// API call, and error handling.
4045//
4046// This method is useful when you want to inject custom logic or configuration
4047// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4048//
4049//
4050//    // Example sending a request using the EnableAWSOrganizationsAccessRequest method.
4051//    req, resp := client.EnableAWSOrganizationsAccessRequest(params)
4052//
4053//    err := req.Send()
4054//    if err == nil { // resp is now filled
4055//        fmt.Println(resp)
4056//    }
4057//
4058// See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/EnableAWSOrganizationsAccess
4059func (c *ServiceCatalog) EnableAWSOrganizationsAccessRequest(input *EnableAWSOrganizationsAccessInput) (req *request.Request, output *EnableAWSOrganizationsAccessOutput) {
4060	op := &request.Operation{
4061		Name:       opEnableAWSOrganizationsAccess,
4062		HTTPMethod: "POST",
4063		HTTPPath:   "/",
4064	}
4065
4066	if input == nil {
4067		input = &EnableAWSOrganizationsAccessInput{}
4068	}
4069
4070	output = &EnableAWSOrganizationsAccessOutput{}
4071	req = c.newRequest(op, input, output)
4072	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
4073	return
4074}
4075
4076// EnableAWSOrganizationsAccess API operation for AWS Service Catalog.
4077//
4078// Enable portfolio sharing feature through AWS Organizations. This API will
4079// allow Service Catalog to receive updates on your organization in order to
4080// sync your shares with the current structure. This API can only be called
4081// by the management account in the organization.
4082//
4083// By calling this API Service Catalog will make a call to organizations:EnableAWSServiceAccess
4084// on your behalf so that your shares can be in sync with any changes in your
4085// AWS Organizations structure.
4086//
4087// Note that a delegated administrator is not authorized to invoke EnableAWSOrganizationsAccess.
4088//
4089// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4090// with awserr.Error's Code and Message methods to get detailed information about
4091// the error.
4092//
4093// See the AWS API reference guide for AWS Service Catalog's
4094// API operation EnableAWSOrganizationsAccess for usage and error information.
4095//
4096// Returned Error Types:
4097//   * ResourceNotFoundException
4098//   The specified resource was not found.
4099//
4100//   * InvalidStateException
4101//   An attempt was made to modify a resource that is in a state that is not valid.
4102//   Check your resources to ensure that they are in valid states before retrying
4103//   the operation.
4104//
4105//   * OperationNotSupportedException
4106//   The operation is not supported.
4107//
4108// See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/EnableAWSOrganizationsAccess
4109func (c *ServiceCatalog) EnableAWSOrganizationsAccess(input *EnableAWSOrganizationsAccessInput) (*EnableAWSOrganizationsAccessOutput, error) {
4110	req, out := c.EnableAWSOrganizationsAccessRequest(input)
4111	return out, req.Send()
4112}
4113
4114// EnableAWSOrganizationsAccessWithContext is the same as EnableAWSOrganizationsAccess with the addition of
4115// the ability to pass a context and additional request options.
4116//
4117// See EnableAWSOrganizationsAccess for details on how to use this API operation.
4118//
4119// The context must be non-nil and will be used for request cancellation. If
4120// the context is nil a panic will occur. In the future the SDK may create
4121// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4122// for more information on using Contexts.
4123func (c *ServiceCatalog) EnableAWSOrganizationsAccessWithContext(ctx aws.Context, input *EnableAWSOrganizationsAccessInput, opts ...request.Option) (*EnableAWSOrganizationsAccessOutput, error) {
4124	req, out := c.EnableAWSOrganizationsAccessRequest(input)
4125	req.SetContext(ctx)
4126	req.ApplyOptions(opts...)
4127	return out, req.Send()
4128}
4129
4130const opExecuteProvisionedProductPlan = "ExecuteProvisionedProductPlan"
4131
4132// ExecuteProvisionedProductPlanRequest generates a "aws/request.Request" representing the
4133// client's request for the ExecuteProvisionedProductPlan operation. The "output" return
4134// value will be populated with the request's response once the request completes
4135// successfully.
4136//
4137// Use "Send" method on the returned Request to send the API call to the service.
4138// the "output" return value is not valid until after Send returns without error.
4139//
4140// See ExecuteProvisionedProductPlan for more information on using the ExecuteProvisionedProductPlan
4141// API call, and error handling.
4142//
4143// This method is useful when you want to inject custom logic or configuration
4144// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4145//
4146//
4147//    // Example sending a request using the ExecuteProvisionedProductPlanRequest method.
4148//    req, resp := client.ExecuteProvisionedProductPlanRequest(params)
4149//
4150//    err := req.Send()
4151//    if err == nil { // resp is now filled
4152//        fmt.Println(resp)
4153//    }
4154//
4155// See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/ExecuteProvisionedProductPlan
4156func (c *ServiceCatalog) ExecuteProvisionedProductPlanRequest(input *ExecuteProvisionedProductPlanInput) (req *request.Request, output *ExecuteProvisionedProductPlanOutput) {
4157	op := &request.Operation{
4158		Name:       opExecuteProvisionedProductPlan,
4159		HTTPMethod: "POST",
4160		HTTPPath:   "/",
4161	}
4162
4163	if input == nil {
4164		input = &ExecuteProvisionedProductPlanInput{}
4165	}
4166
4167	output = &ExecuteProvisionedProductPlanOutput{}
4168	req = c.newRequest(op, input, output)
4169	return
4170}
4171
4172// ExecuteProvisionedProductPlan API operation for AWS Service Catalog.
4173//
4174// Provisions or modifies a product based on the resource changes for the specified
4175// plan.
4176//
4177// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4178// with awserr.Error's Code and Message methods to get detailed information about
4179// the error.
4180//
4181// See the AWS API reference guide for AWS Service Catalog's
4182// API operation ExecuteProvisionedProductPlan for usage and error information.
4183//
4184// Returned Error Types:
4185//   * InvalidParametersException
4186//   One or more parameters provided to the operation are not valid.
4187//
4188//   * ResourceNotFoundException
4189//   The specified resource was not found.
4190//
4191//   * InvalidStateException
4192//   An attempt was made to modify a resource that is in a state that is not valid.
4193//   Check your resources to ensure that they are in valid states before retrying
4194//   the operation.
4195//
4196// See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/ExecuteProvisionedProductPlan
4197func (c *ServiceCatalog) ExecuteProvisionedProductPlan(input *ExecuteProvisionedProductPlanInput) (*ExecuteProvisionedProductPlanOutput, error) {
4198	req, out := c.ExecuteProvisionedProductPlanRequest(input)
4199	return out, req.Send()
4200}
4201
4202// ExecuteProvisionedProductPlanWithContext is the same as ExecuteProvisionedProductPlan with the addition of
4203// the ability to pass a context and additional request options.
4204//
4205// See ExecuteProvisionedProductPlan for details on how to use this API operation.
4206//
4207// The context must be non-nil and will be used for request cancellation. If
4208// the context is nil a panic will occur. In the future the SDK may create
4209// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4210// for more information on using Contexts.
4211func (c *ServiceCatalog) ExecuteProvisionedProductPlanWithContext(ctx aws.Context, input *ExecuteProvisionedProductPlanInput, opts ...request.Option) (*ExecuteProvisionedProductPlanOutput, error) {
4212	req, out := c.ExecuteProvisionedProductPlanRequest(input)
4213	req.SetContext(ctx)
4214	req.ApplyOptions(opts...)
4215	return out, req.Send()
4216}
4217
4218const opExecuteProvisionedProductServiceAction = "ExecuteProvisionedProductServiceAction"
4219
4220// ExecuteProvisionedProductServiceActionRequest generates a "aws/request.Request" representing the
4221// client's request for the ExecuteProvisionedProductServiceAction operation. The "output" return
4222// value will be populated with the request's response once the request completes
4223// successfully.
4224//
4225// Use "Send" method on the returned Request to send the API call to the service.
4226// the "output" return value is not valid until after Send returns without error.
4227//
4228// See ExecuteProvisionedProductServiceAction for more information on using the ExecuteProvisionedProductServiceAction
4229// API call, and error handling.
4230//
4231// This method is useful when you want to inject custom logic or configuration
4232// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4233//
4234//
4235//    // Example sending a request using the ExecuteProvisionedProductServiceActionRequest method.
4236//    req, resp := client.ExecuteProvisionedProductServiceActionRequest(params)
4237//
4238//    err := req.Send()
4239//    if err == nil { // resp is now filled
4240//        fmt.Println(resp)
4241//    }
4242//
4243// See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/ExecuteProvisionedProductServiceAction
4244func (c *ServiceCatalog) ExecuteProvisionedProductServiceActionRequest(input *ExecuteProvisionedProductServiceActionInput) (req *request.Request, output *ExecuteProvisionedProductServiceActionOutput) {
4245	op := &request.Operation{
4246		Name:       opExecuteProvisionedProductServiceAction,
4247		HTTPMethod: "POST",
4248		HTTPPath:   "/",
4249	}
4250
4251	if input == nil {
4252		input = &ExecuteProvisionedProductServiceActionInput{}
4253	}
4254
4255	output = &ExecuteProvisionedProductServiceActionOutput{}
4256	req = c.newRequest(op, input, output)
4257	return
4258}
4259
4260// ExecuteProvisionedProductServiceAction API operation for AWS Service Catalog.
4261//
4262// Executes a self-service action against a provisioned product.
4263//
4264// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4265// with awserr.Error's Code and Message methods to get detailed information about
4266// the error.
4267//
4268// See the AWS API reference guide for AWS Service Catalog's
4269// API operation ExecuteProvisionedProductServiceAction for usage and error information.
4270//
4271// Returned Error Types:
4272//   * InvalidParametersException
4273//   One or more parameters provided to the operation are not valid.
4274//
4275//   * ResourceNotFoundException
4276//   The specified resource was not found.
4277//
4278//   * InvalidStateException
4279//   An attempt was made to modify a resource that is in a state that is not valid.
4280//   Check your resources to ensure that they are in valid states before retrying
4281//   the operation.
4282//
4283// See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/ExecuteProvisionedProductServiceAction
4284func (c *ServiceCatalog) ExecuteProvisionedProductServiceAction(input *ExecuteProvisionedProductServiceActionInput) (*ExecuteProvisionedProductServiceActionOutput, error) {
4285	req, out := c.ExecuteProvisionedProductServiceActionRequest(input)
4286	return out, req.Send()
4287}
4288
4289// ExecuteProvisionedProductServiceActionWithContext is the same as ExecuteProvisionedProductServiceAction with the addition of
4290// the ability to pass a context and additional request options.
4291//
4292// See ExecuteProvisionedProductServiceAction for details on how to use this API operation.
4293//
4294// The context must be non-nil and will be used for request cancellation. If
4295// the context is nil a panic will occur. In the future the SDK may create
4296// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4297// for more information on using Contexts.
4298func (c *ServiceCatalog) ExecuteProvisionedProductServiceActionWithContext(ctx aws.Context, input *ExecuteProvisionedProductServiceActionInput, opts ...request.Option) (*ExecuteProvisionedProductServiceActionOutput, error) {
4299	req, out := c.ExecuteProvisionedProductServiceActionRequest(input)
4300	req.SetContext(ctx)
4301	req.ApplyOptions(opts...)
4302	return out, req.Send()
4303}
4304
4305const opGetAWSOrganizationsAccessStatus = "GetAWSOrganizationsAccessStatus"
4306
4307// GetAWSOrganizationsAccessStatusRequest generates a "aws/request.Request" representing the
4308// client's request for the GetAWSOrganizationsAccessStatus operation. The "output" return
4309// value will be populated with the request's response once the request completes
4310// successfully.
4311//
4312// Use "Send" method on the returned Request to send the API call to the service.
4313// the "output" return value is not valid until after Send returns without error.
4314//
4315// See GetAWSOrganizationsAccessStatus for more information on using the GetAWSOrganizationsAccessStatus
4316// API call, and error handling.
4317//
4318// This method is useful when you want to inject custom logic or configuration
4319// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4320//
4321//
4322//    // Example sending a request using the GetAWSOrganizationsAccessStatusRequest method.
4323//    req, resp := client.GetAWSOrganizationsAccessStatusRequest(params)
4324//
4325//    err := req.Send()
4326//    if err == nil { // resp is now filled
4327//        fmt.Println(resp)
4328//    }
4329//
4330// See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/GetAWSOrganizationsAccessStatus
4331func (c *ServiceCatalog) GetAWSOrganizationsAccessStatusRequest(input *GetAWSOrganizationsAccessStatusInput) (req *request.Request, output *GetAWSOrganizationsAccessStatusOutput) {
4332	op := &request.Operation{
4333		Name:       opGetAWSOrganizationsAccessStatus,
4334		HTTPMethod: "POST",
4335		HTTPPath:   "/",
4336	}
4337
4338	if input == nil {
4339		input = &GetAWSOrganizationsAccessStatusInput{}
4340	}
4341
4342	output = &GetAWSOrganizationsAccessStatusOutput{}
4343	req = c.newRequest(op, input, output)
4344	return
4345}
4346
4347// GetAWSOrganizationsAccessStatus API operation for AWS Service Catalog.
4348//
4349// Get the Access Status for AWS Organization portfolio share feature. This
4350// API can only be called by the management account in the organization or by
4351// a delegated admin.
4352//
4353// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4354// with awserr.Error's Code and Message methods to get detailed information about
4355// the error.
4356//
4357// See the AWS API reference guide for AWS Service Catalog's
4358// API operation GetAWSOrganizationsAccessStatus for usage and error information.
4359//
4360// Returned Error Types:
4361//   * ResourceNotFoundException
4362//   The specified resource was not found.
4363//
4364//   * OperationNotSupportedException
4365//   The operation is not supported.
4366//
4367// See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/GetAWSOrganizationsAccessStatus
4368func (c *ServiceCatalog) GetAWSOrganizationsAccessStatus(input *GetAWSOrganizationsAccessStatusInput) (*GetAWSOrganizationsAccessStatusOutput, error) {
4369	req, out := c.GetAWSOrganizationsAccessStatusRequest(input)
4370	return out, req.Send()
4371}
4372
4373// GetAWSOrganizationsAccessStatusWithContext is the same as GetAWSOrganizationsAccessStatus with the addition of
4374// the ability to pass a context and additional request options.
4375//
4376// See GetAWSOrganizationsAccessStatus for details on how to use this API operation.
4377//
4378// The context must be non-nil and will be used for request cancellation. If
4379// the context is nil a panic will occur. In the future the SDK may create
4380// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4381// for more information on using Contexts.
4382func (c *ServiceCatalog) GetAWSOrganizationsAccessStatusWithContext(ctx aws.Context, input *GetAWSOrganizationsAccessStatusInput, opts ...request.Option) (*GetAWSOrganizationsAccessStatusOutput, error) {
4383	req, out := c.GetAWSOrganizationsAccessStatusRequest(input)
4384	req.SetContext(ctx)
4385	req.ApplyOptions(opts...)
4386	return out, req.Send()
4387}
4388
4389const opGetProvisionedProductOutputs = "GetProvisionedProductOutputs"
4390
4391// GetProvisionedProductOutputsRequest generates a "aws/request.Request" representing the
4392// client's request for the GetProvisionedProductOutputs operation. The "output" return
4393// value will be populated with the request's response once the request completes
4394// successfully.
4395//
4396// Use "Send" method on the returned Request to send the API call to the service.
4397// the "output" return value is not valid until after Send returns without error.
4398//
4399// See GetProvisionedProductOutputs for more information on using the GetProvisionedProductOutputs
4400// API call, and error handling.
4401//
4402// This method is useful when you want to inject custom logic or configuration
4403// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4404//
4405//
4406//    // Example sending a request using the GetProvisionedProductOutputsRequest method.
4407//    req, resp := client.GetProvisionedProductOutputsRequest(params)
4408//
4409//    err := req.Send()
4410//    if err == nil { // resp is now filled
4411//        fmt.Println(resp)
4412//    }
4413//
4414// See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/GetProvisionedProductOutputs
4415func (c *ServiceCatalog) GetProvisionedProductOutputsRequest(input *GetProvisionedProductOutputsInput) (req *request.Request, output *GetProvisionedProductOutputsOutput) {
4416	op := &request.Operation{
4417		Name:       opGetProvisionedProductOutputs,
4418		HTTPMethod: "POST",
4419		HTTPPath:   "/",
4420		Paginator: &request.Paginator{
4421			InputTokens:     []string{"PageToken"},
4422			OutputTokens:    []string{"NextPageToken"},
4423			LimitToken:      "PageSize",
4424			TruncationToken: "",
4425		},
4426	}
4427
4428	if input == nil {
4429		input = &GetProvisionedProductOutputsInput{}
4430	}
4431
4432	output = &GetProvisionedProductOutputsOutput{}
4433	req = c.newRequest(op, input, output)
4434	return
4435}
4436
4437// GetProvisionedProductOutputs API operation for AWS Service Catalog.
4438//
4439// This API takes either a ProvisonedProductId or a ProvisionedProductName,
4440// along with a list of one or more output keys, and responds with the key/value
4441// pairs of those outputs.
4442//
4443// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4444// with awserr.Error's Code and Message methods to get detailed information about
4445// the error.
4446//
4447// See the AWS API reference guide for AWS Service Catalog's
4448// API operation GetProvisionedProductOutputs for usage and error information.
4449//
4450// Returned Error Types:
4451//   * InvalidParametersException
4452//   One or more parameters provided to the operation are not valid.
4453//
4454//   * ResourceNotFoundException
4455//   The specified resource was not found.
4456//
4457// See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/GetProvisionedProductOutputs
4458func (c *ServiceCatalog) GetProvisionedProductOutputs(input *GetProvisionedProductOutputsInput) (*GetProvisionedProductOutputsOutput, error) {
4459	req, out := c.GetProvisionedProductOutputsRequest(input)
4460	return out, req.Send()
4461}
4462
4463// GetProvisionedProductOutputsWithContext is the same as GetProvisionedProductOutputs with the addition of
4464// the ability to pass a context and additional request options.
4465//
4466// See GetProvisionedProductOutputs for details on how to use this API operation.
4467//
4468// The context must be non-nil and will be used for request cancellation. If
4469// the context is nil a panic will occur. In the future the SDK may create
4470// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4471// for more information on using Contexts.
4472func (c *ServiceCatalog) GetProvisionedProductOutputsWithContext(ctx aws.Context, input *GetProvisionedProductOutputsInput, opts ...request.Option) (*GetProvisionedProductOutputsOutput, error) {
4473	req, out := c.GetProvisionedProductOutputsRequest(input)
4474	req.SetContext(ctx)
4475	req.ApplyOptions(opts...)
4476	return out, req.Send()
4477}
4478
4479// GetProvisionedProductOutputsPages iterates over the pages of a GetProvisionedProductOutputs operation,
4480// calling the "fn" function with the response data for each page. To stop
4481// iterating, return false from the fn function.
4482//
4483// See GetProvisionedProductOutputs method for more information on how to use this operation.
4484//
4485// Note: This operation can generate multiple requests to a service.
4486//
4487//    // Example iterating over at most 3 pages of a GetProvisionedProductOutputs operation.
4488//    pageNum := 0
4489//    err := client.GetProvisionedProductOutputsPages(params,
4490//        func(page *servicecatalog.GetProvisionedProductOutputsOutput, lastPage bool) bool {
4491//            pageNum++
4492//            fmt.Println(page)
4493//            return pageNum <= 3
4494//        })
4495//
4496func (c *ServiceCatalog) GetProvisionedProductOutputsPages(input *GetProvisionedProductOutputsInput, fn func(*GetProvisionedProductOutputsOutput, bool) bool) error {
4497	return c.GetProvisionedProductOutputsPagesWithContext(aws.BackgroundContext(), input, fn)
4498}
4499
4500// GetProvisionedProductOutputsPagesWithContext same as GetProvisionedProductOutputsPages except
4501// it takes a Context and allows setting request options on the pages.
4502//
4503// The context must be non-nil and will be used for request cancellation. If
4504// the context is nil a panic will occur. In the future the SDK may create
4505// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4506// for more information on using Contexts.
4507func (c *ServiceCatalog) GetProvisionedProductOutputsPagesWithContext(ctx aws.Context, input *GetProvisionedProductOutputsInput, fn func(*GetProvisionedProductOutputsOutput, bool) bool, opts ...request.Option) error {
4508	p := request.Pagination{
4509		NewRequest: func() (*request.Request, error) {
4510			var inCpy *GetProvisionedProductOutputsInput
4511			if input != nil {
4512				tmp := *input
4513				inCpy = &tmp
4514			}
4515			req, _ := c.GetProvisionedProductOutputsRequest(inCpy)
4516			req.SetContext(ctx)
4517			req.ApplyOptions(opts...)
4518			return req, nil
4519		},
4520	}
4521
4522	for p.Next() {
4523		if !fn(p.Page().(*GetProvisionedProductOutputsOutput), !p.HasNextPage()) {
4524			break
4525		}
4526	}
4527
4528	return p.Err()
4529}
4530
4531const opListAcceptedPortfolioShares = "ListAcceptedPortfolioShares"
4532
4533// ListAcceptedPortfolioSharesRequest generates a "aws/request.Request" representing the
4534// client's request for the ListAcceptedPortfolioShares operation. The "output" return
4535// value will be populated with the request's response once the request completes
4536// successfully.
4537//
4538// Use "Send" method on the returned Request to send the API call to the service.
4539// the "output" return value is not valid until after Send returns without error.
4540//
4541// See ListAcceptedPortfolioShares for more information on using the ListAcceptedPortfolioShares
4542// API call, and error handling.
4543//
4544// This method is useful when you want to inject custom logic or configuration
4545// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4546//
4547//
4548//    // Example sending a request using the ListAcceptedPortfolioSharesRequest method.
4549//    req, resp := client.ListAcceptedPortfolioSharesRequest(params)
4550//
4551//    err := req.Send()
4552//    if err == nil { // resp is now filled
4553//        fmt.Println(resp)
4554//    }
4555//
4556// See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/ListAcceptedPortfolioShares
4557func (c *ServiceCatalog) ListAcceptedPortfolioSharesRequest(input *ListAcceptedPortfolioSharesInput) (req *request.Request, output *ListAcceptedPortfolioSharesOutput) {
4558	op := &request.Operation{
4559		Name:       opListAcceptedPortfolioShares,
4560		HTTPMethod: "POST",
4561		HTTPPath:   "/",
4562		Paginator: &request.Paginator{
4563			InputTokens:     []string{"PageToken"},
4564			OutputTokens:    []string{"NextPageToken"},
4565			LimitToken:      "PageSize",
4566			TruncationToken: "",
4567		},
4568	}
4569
4570	if input == nil {
4571		input = &ListAcceptedPortfolioSharesInput{}
4572	}
4573
4574	output = &ListAcceptedPortfolioSharesOutput{}
4575	req = c.newRequest(op, input, output)
4576	return
4577}
4578
4579// ListAcceptedPortfolioShares API operation for AWS Service Catalog.
4580//
4581// Lists all portfolios for which sharing was accepted by this account.
4582//
4583// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4584// with awserr.Error's Code and Message methods to get detailed information about
4585// the error.
4586//
4587// See the AWS API reference guide for AWS Service Catalog's
4588// API operation ListAcceptedPortfolioShares for usage and error information.
4589//
4590// Returned Error Types:
4591//   * InvalidParametersException
4592//   One or more parameters provided to the operation are not valid.
4593//
4594//   * OperationNotSupportedException
4595//   The operation is not supported.
4596//
4597// See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/ListAcceptedPortfolioShares
4598func (c *ServiceCatalog) ListAcceptedPortfolioShares(input *ListAcceptedPortfolioSharesInput) (*ListAcceptedPortfolioSharesOutput, error) {
4599	req, out := c.ListAcceptedPortfolioSharesRequest(input)
4600	return out, req.Send()
4601}
4602
4603// ListAcceptedPortfolioSharesWithContext is the same as ListAcceptedPortfolioShares with the addition of
4604// the ability to pass a context and additional request options.
4605//
4606// See ListAcceptedPortfolioShares for details on how to use this API operation.
4607//
4608// The context must be non-nil and will be used for request cancellation. If
4609// the context is nil a panic will occur. In the future the SDK may create
4610// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4611// for more information on using Contexts.
4612func (c *ServiceCatalog) ListAcceptedPortfolioSharesWithContext(ctx aws.Context, input *ListAcceptedPortfolioSharesInput, opts ...request.Option) (*ListAcceptedPortfolioSharesOutput, error) {
4613	req, out := c.ListAcceptedPortfolioSharesRequest(input)
4614	req.SetContext(ctx)
4615	req.ApplyOptions(opts...)
4616	return out, req.Send()
4617}
4618
4619// ListAcceptedPortfolioSharesPages iterates over the pages of a ListAcceptedPortfolioShares operation,
4620// calling the "fn" function with the response data for each page. To stop
4621// iterating, return false from the fn function.
4622//
4623// See ListAcceptedPortfolioShares method for more information on how to use this operation.
4624//
4625// Note: This operation can generate multiple requests to a service.
4626//
4627//    // Example iterating over at most 3 pages of a ListAcceptedPortfolioShares operation.
4628//    pageNum := 0
4629//    err := client.ListAcceptedPortfolioSharesPages(params,
4630//        func(page *servicecatalog.ListAcceptedPortfolioSharesOutput, lastPage bool) bool {
4631//            pageNum++
4632//            fmt.Println(page)
4633//            return pageNum <= 3
4634//        })
4635//
4636func (c *ServiceCatalog) ListAcceptedPortfolioSharesPages(input *ListAcceptedPortfolioSharesInput, fn func(*ListAcceptedPortfolioSharesOutput, bool) bool) error {
4637	return c.ListAcceptedPortfolioSharesPagesWithContext(aws.BackgroundContext(), input, fn)
4638}
4639
4640// ListAcceptedPortfolioSharesPagesWithContext same as ListAcceptedPortfolioSharesPages except
4641// it takes a Context and allows setting request options on the pages.
4642//
4643// The context must be non-nil and will be used for request cancellation. If
4644// the context is nil a panic will occur. In the future the SDK may create
4645// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4646// for more information on using Contexts.
4647func (c *ServiceCatalog) ListAcceptedPortfolioSharesPagesWithContext(ctx aws.Context, input *ListAcceptedPortfolioSharesInput, fn func(*ListAcceptedPortfolioSharesOutput, bool) bool, opts ...request.Option) error {
4648	p := request.Pagination{
4649		NewRequest: func() (*request.Request, error) {
4650			var inCpy *ListAcceptedPortfolioSharesInput
4651			if input != nil {
4652				tmp := *input
4653				inCpy = &tmp
4654			}
4655			req, _ := c.ListAcceptedPortfolioSharesRequest(inCpy)
4656			req.SetContext(ctx)
4657			req.ApplyOptions(opts...)
4658			return req, nil
4659		},
4660	}
4661
4662	for p.Next() {
4663		if !fn(p.Page().(*ListAcceptedPortfolioSharesOutput), !p.HasNextPage()) {
4664			break
4665		}
4666	}
4667
4668	return p.Err()
4669}
4670
4671const opListBudgetsForResource = "ListBudgetsForResource"
4672
4673// ListBudgetsForResourceRequest generates a "aws/request.Request" representing the
4674// client's request for the ListBudgetsForResource operation. The "output" return
4675// value will be populated with the request's response once the request completes
4676// successfully.
4677//
4678// Use "Send" method on the returned Request to send the API call to the service.
4679// the "output" return value is not valid until after Send returns without error.
4680//
4681// See ListBudgetsForResource for more information on using the ListBudgetsForResource
4682// API call, and error handling.
4683//
4684// This method is useful when you want to inject custom logic or configuration
4685// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4686//
4687//
4688//    // Example sending a request using the ListBudgetsForResourceRequest method.
4689//    req, resp := client.ListBudgetsForResourceRequest(params)
4690//
4691//    err := req.Send()
4692//    if err == nil { // resp is now filled
4693//        fmt.Println(resp)
4694//    }
4695//
4696// See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/ListBudgetsForResource
4697func (c *ServiceCatalog) ListBudgetsForResourceRequest(input *ListBudgetsForResourceInput) (req *request.Request, output *ListBudgetsForResourceOutput) {
4698	op := &request.Operation{
4699		Name:       opListBudgetsForResource,
4700		HTTPMethod: "POST",
4701		HTTPPath:   "/",
4702		Paginator: &request.Paginator{
4703			InputTokens:     []string{"PageToken"},
4704			OutputTokens:    []string{"NextPageToken"},
4705			LimitToken:      "PageSize",
4706			TruncationToken: "",
4707		},
4708	}
4709
4710	if input == nil {
4711		input = &ListBudgetsForResourceInput{}
4712	}
4713
4714	output = &ListBudgetsForResourceOutput{}
4715	req = c.newRequest(op, input, output)
4716	return
4717}
4718
4719// ListBudgetsForResource API operation for AWS Service Catalog.
4720//
4721// Lists all the budgets associated to the specified resource.
4722//
4723// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4724// with awserr.Error's Code and Message methods to get detailed information about
4725// the error.
4726//
4727// See the AWS API reference guide for AWS Service Catalog's
4728// API operation ListBudgetsForResource for usage and error information.
4729//
4730// Returned Error Types:
4731//   * ResourceNotFoundException
4732//   The specified resource was not found.
4733//
4734//   * InvalidParametersException
4735//   One or more parameters provided to the operation are not valid.
4736//
4737// See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/ListBudgetsForResource
4738func (c *ServiceCatalog) ListBudgetsForResource(input *ListBudgetsForResourceInput) (*ListBudgetsForResourceOutput, error) {
4739	req, out := c.ListBudgetsForResourceRequest(input)
4740	return out, req.Send()
4741}
4742
4743// ListBudgetsForResourceWithContext is the same as ListBudgetsForResource with the addition of
4744// the ability to pass a context and additional request options.
4745//
4746// See ListBudgetsForResource for details on how to use this API operation.
4747//
4748// The context must be non-nil and will be used for request cancellation. If
4749// the context is nil a panic will occur. In the future the SDK may create
4750// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4751// for more information on using Contexts.
4752func (c *ServiceCatalog) ListBudgetsForResourceWithContext(ctx aws.Context, input *ListBudgetsForResourceInput, opts ...request.Option) (*ListBudgetsForResourceOutput, error) {
4753	req, out := c.ListBudgetsForResourceRequest(input)
4754	req.SetContext(ctx)
4755	req.ApplyOptions(opts...)
4756	return out, req.Send()
4757}
4758
4759// ListBudgetsForResourcePages iterates over the pages of a ListBudgetsForResource operation,
4760// calling the "fn" function with the response data for each page. To stop
4761// iterating, return false from the fn function.
4762//
4763// See ListBudgetsForResource method for more information on how to use this operation.
4764//
4765// Note: This operation can generate multiple requests to a service.
4766//
4767//    // Example iterating over at most 3 pages of a ListBudgetsForResource operation.
4768//    pageNum := 0
4769//    err := client.ListBudgetsForResourcePages(params,
4770//        func(page *servicecatalog.ListBudgetsForResourceOutput, lastPage bool) bool {
4771//            pageNum++
4772//            fmt.Println(page)
4773//            return pageNum <= 3
4774//        })
4775//
4776func (c *ServiceCatalog) ListBudgetsForResourcePages(input *ListBudgetsForResourceInput, fn func(*ListBudgetsForResourceOutput, bool) bool) error {
4777	return c.ListBudgetsForResourcePagesWithContext(aws.BackgroundContext(), input, fn)
4778}
4779
4780// ListBudgetsForResourcePagesWithContext same as ListBudgetsForResourcePages except
4781// it takes a Context and allows setting request options on the pages.
4782//
4783// The context must be non-nil and will be used for request cancellation. If
4784// the context is nil a panic will occur. In the future the SDK may create
4785// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4786// for more information on using Contexts.
4787func (c *ServiceCatalog) ListBudgetsForResourcePagesWithContext(ctx aws.Context, input *ListBudgetsForResourceInput, fn func(*ListBudgetsForResourceOutput, bool) bool, opts ...request.Option) error {
4788	p := request.Pagination{
4789		NewRequest: func() (*request.Request, error) {
4790			var inCpy *ListBudgetsForResourceInput
4791			if input != nil {
4792				tmp := *input
4793				inCpy = &tmp
4794			}
4795			req, _ := c.ListBudgetsForResourceRequest(inCpy)
4796			req.SetContext(ctx)
4797			req.ApplyOptions(opts...)
4798			return req, nil
4799		},
4800	}
4801
4802	for p.Next() {
4803		if !fn(p.Page().(*ListBudgetsForResourceOutput), !p.HasNextPage()) {
4804			break
4805		}
4806	}
4807
4808	return p.Err()
4809}
4810
4811const opListConstraintsForPortfolio = "ListConstraintsForPortfolio"
4812
4813// ListConstraintsForPortfolioRequest generates a "aws/request.Request" representing the
4814// client's request for the ListConstraintsForPortfolio operation. The "output" return
4815// value will be populated with the request's response once the request completes
4816// successfully.
4817//
4818// Use "Send" method on the returned Request to send the API call to the service.
4819// the "output" return value is not valid until after Send returns without error.
4820//
4821// See ListConstraintsForPortfolio for more information on using the ListConstraintsForPortfolio
4822// API call, and error handling.
4823//
4824// This method is useful when you want to inject custom logic or configuration
4825// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4826//
4827//
4828//    // Example sending a request using the ListConstraintsForPortfolioRequest method.
4829//    req, resp := client.ListConstraintsForPortfolioRequest(params)
4830//
4831//    err := req.Send()
4832//    if err == nil { // resp is now filled
4833//        fmt.Println(resp)
4834//    }
4835//
4836// See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/ListConstraintsForPortfolio
4837func (c *ServiceCatalog) ListConstraintsForPortfolioRequest(input *ListConstraintsForPortfolioInput) (req *request.Request, output *ListConstraintsForPortfolioOutput) {
4838	op := &request.Operation{
4839		Name:       opListConstraintsForPortfolio,
4840		HTTPMethod: "POST",
4841		HTTPPath:   "/",
4842		Paginator: &request.Paginator{
4843			InputTokens:     []string{"PageToken"},
4844			OutputTokens:    []string{"NextPageToken"},
4845			LimitToken:      "PageSize",
4846			TruncationToken: "",
4847		},
4848	}
4849
4850	if input == nil {
4851		input = &ListConstraintsForPortfolioInput{}
4852	}
4853
4854	output = &ListConstraintsForPortfolioOutput{}
4855	req = c.newRequest(op, input, output)
4856	return
4857}
4858
4859// ListConstraintsForPortfolio API operation for AWS Service Catalog.
4860//
4861// Lists the constraints for the specified portfolio and product.
4862//
4863// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4864// with awserr.Error's Code and Message methods to get detailed information about
4865// the error.
4866//
4867// See the AWS API reference guide for AWS Service Catalog's
4868// API operation ListConstraintsForPortfolio for usage and error information.
4869//
4870// Returned Error Types:
4871//   * ResourceNotFoundException
4872//   The specified resource was not found.
4873//
4874//   * InvalidParametersException
4875//   One or more parameters provided to the operation are not valid.
4876//
4877// See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/ListConstraintsForPortfolio
4878func (c *ServiceCatalog) ListConstraintsForPortfolio(input *ListConstraintsForPortfolioInput) (*ListConstraintsForPortfolioOutput, error) {
4879	req, out := c.ListConstraintsForPortfolioRequest(input)
4880	return out, req.Send()
4881}
4882
4883// ListConstraintsForPortfolioWithContext is the same as ListConstraintsForPortfolio with the addition of
4884// the ability to pass a context and additional request options.
4885//
4886// See ListConstraintsForPortfolio for details on how to use this API operation.
4887//
4888// The context must be non-nil and will be used for request cancellation. If
4889// the context is nil a panic will occur. In the future the SDK may create
4890// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4891// for more information on using Contexts.
4892func (c *ServiceCatalog) ListConstraintsForPortfolioWithContext(ctx aws.Context, input *ListConstraintsForPortfolioInput, opts ...request.Option) (*ListConstraintsForPortfolioOutput, error) {
4893	req, out := c.ListConstraintsForPortfolioRequest(input)
4894	req.SetContext(ctx)
4895	req.ApplyOptions(opts...)
4896	return out, req.Send()
4897}
4898
4899// ListConstraintsForPortfolioPages iterates over the pages of a ListConstraintsForPortfolio operation,
4900// calling the "fn" function with the response data for each page. To stop
4901// iterating, return false from the fn function.
4902//
4903// See ListConstraintsForPortfolio method for more information on how to use this operation.
4904//
4905// Note: This operation can generate multiple requests to a service.
4906//
4907//    // Example iterating over at most 3 pages of a ListConstraintsForPortfolio operation.
4908//    pageNum := 0
4909//    err := client.ListConstraintsForPortfolioPages(params,
4910//        func(page *servicecatalog.ListConstraintsForPortfolioOutput, lastPage bool) bool {
4911//            pageNum++
4912//            fmt.Println(page)
4913//            return pageNum <= 3
4914//        })
4915//
4916func (c *ServiceCatalog) ListConstraintsForPortfolioPages(input *ListConstraintsForPortfolioInput, fn func(*ListConstraintsForPortfolioOutput, bool) bool) error {
4917	return c.ListConstraintsForPortfolioPagesWithContext(aws.BackgroundContext(), input, fn)
4918}
4919
4920// ListConstraintsForPortfolioPagesWithContext same as ListConstraintsForPortfolioPages except
4921// it takes a Context and allows setting request options on the pages.
4922//
4923// The context must be non-nil and will be used for request cancellation. If
4924// the context is nil a panic will occur. In the future the SDK may create
4925// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4926// for more information on using Contexts.
4927func (c *ServiceCatalog) ListConstraintsForPortfolioPagesWithContext(ctx aws.Context, input *ListConstraintsForPortfolioInput, fn func(*ListConstraintsForPortfolioOutput, bool) bool, opts ...request.Option) error {
4928	p := request.Pagination{
4929		NewRequest: func() (*request.Request, error) {
4930			var inCpy *ListConstraintsForPortfolioInput
4931			if input != nil {
4932				tmp := *input
4933				inCpy = &tmp
4934			}
4935			req, _ := c.ListConstraintsForPortfolioRequest(inCpy)
4936			req.SetContext(ctx)
4937			req.ApplyOptions(opts...)
4938			return req, nil
4939		},
4940	}
4941
4942	for p.Next() {
4943		if !fn(p.Page().(*ListConstraintsForPortfolioOutput), !p.HasNextPage()) {
4944			break
4945		}
4946	}
4947
4948	return p.Err()
4949}
4950
4951const opListLaunchPaths = "ListLaunchPaths"
4952
4953// ListLaunchPathsRequest generates a "aws/request.Request" representing the
4954// client's request for the ListLaunchPaths operation. The "output" return
4955// value will be populated with the request's response once the request completes
4956// successfully.
4957//
4958// Use "Send" method on the returned Request to send the API call to the service.
4959// the "output" return value is not valid until after Send returns without error.
4960//
4961// See ListLaunchPaths for more information on using the ListLaunchPaths
4962// API call, and error handling.
4963//
4964// This method is useful when you want to inject custom logic or configuration
4965// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4966//
4967//
4968//    // Example sending a request using the ListLaunchPathsRequest method.
4969//    req, resp := client.ListLaunchPathsRequest(params)
4970//
4971//    err := req.Send()
4972//    if err == nil { // resp is now filled
4973//        fmt.Println(resp)
4974//    }
4975//
4976// See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/ListLaunchPaths
4977func (c *ServiceCatalog) ListLaunchPathsRequest(input *ListLaunchPathsInput) (req *request.Request, output *ListLaunchPathsOutput) {
4978	op := &request.Operation{
4979		Name:       opListLaunchPaths,
4980		HTTPMethod: "POST",
4981		HTTPPath:   "/",
4982		Paginator: &request.Paginator{
4983			InputTokens:     []string{"PageToken"},
4984			OutputTokens:    []string{"NextPageToken"},
4985			LimitToken:      "PageSize",
4986			TruncationToken: "",
4987		},
4988	}
4989
4990	if input == nil {
4991		input = &ListLaunchPathsInput{}
4992	}
4993
4994	output = &ListLaunchPathsOutput{}
4995	req = c.newRequest(op, input, output)
4996	return
4997}
4998
4999// ListLaunchPaths API operation for AWS Service Catalog.
5000//
5001// Lists the paths to the specified product. A path is how the user has access
5002// to a specified product, and is necessary when provisioning a product. A path
5003// also determines the constraints put on the product.
5004//
5005// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
5006// with awserr.Error's Code and Message methods to get detailed information about
5007// the error.
5008//
5009// See the AWS API reference guide for AWS Service Catalog's
5010// API operation ListLaunchPaths for usage and error information.
5011//
5012// Returned Error Types:
5013//   * InvalidParametersException
5014//   One or more parameters provided to the operation are not valid.
5015//
5016//   * ResourceNotFoundException
5017//   The specified resource was not found.
5018//
5019// See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/ListLaunchPaths
5020func (c *ServiceCatalog) ListLaunchPaths(input *ListLaunchPathsInput) (*ListLaunchPathsOutput, error) {
5021	req, out := c.ListLaunchPathsRequest(input)
5022	return out, req.Send()
5023}
5024
5025// ListLaunchPathsWithContext is the same as ListLaunchPaths with the addition of
5026// the ability to pass a context and additional request options.
5027//
5028// See ListLaunchPaths for details on how to use this API operation.
5029//
5030// The context must be non-nil and will be used for request cancellation. If
5031// the context is nil a panic will occur. In the future the SDK may create
5032// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5033// for more information on using Contexts.
5034func (c *ServiceCatalog) ListLaunchPathsWithContext(ctx aws.Context, input *ListLaunchPathsInput, opts ...request.Option) (*ListLaunchPathsOutput, error) {
5035	req, out := c.ListLaunchPathsRequest(input)
5036	req.SetContext(ctx)
5037	req.ApplyOptions(opts...)
5038	return out, req.Send()
5039}
5040
5041// ListLaunchPathsPages iterates over the pages of a ListLaunchPaths operation,
5042// calling the "fn" function with the response data for each page. To stop
5043// iterating, return false from the fn function.
5044//
5045// See ListLaunchPaths method for more information on how to use this operation.
5046//
5047// Note: This operation can generate multiple requests to a service.
5048//
5049//    // Example iterating over at most 3 pages of a ListLaunchPaths operation.
5050//    pageNum := 0
5051//    err := client.ListLaunchPathsPages(params,
5052//        func(page *servicecatalog.ListLaunchPathsOutput, lastPage bool) bool {
5053//            pageNum++
5054//            fmt.Println(page)
5055//            return pageNum <= 3
5056//        })
5057//
5058func (c *ServiceCatalog) ListLaunchPathsPages(input *ListLaunchPathsInput, fn func(*ListLaunchPathsOutput, bool) bool) error {
5059	return c.ListLaunchPathsPagesWithContext(aws.BackgroundContext(), input, fn)
5060}
5061
5062// ListLaunchPathsPagesWithContext same as ListLaunchPathsPages except
5063// it takes a Context and allows setting request options on the pages.
5064//
5065// The context must be non-nil and will be used for request cancellation. If
5066// the context is nil a panic will occur. In the future the SDK may create
5067// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5068// for more information on using Contexts.
5069func (c *ServiceCatalog) ListLaunchPathsPagesWithContext(ctx aws.Context, input *ListLaunchPathsInput, fn func(*ListLaunchPathsOutput, bool) bool, opts ...request.Option) error {
5070	p := request.Pagination{
5071		NewRequest: func() (*request.Request, error) {
5072			var inCpy *ListLaunchPathsInput
5073			if input != nil {
5074				tmp := *input
5075				inCpy = &tmp
5076			}
5077			req, _ := c.ListLaunchPathsRequest(inCpy)
5078			req.SetContext(ctx)
5079			req.ApplyOptions(opts...)
5080			return req, nil
5081		},
5082	}
5083
5084	for p.Next() {
5085		if !fn(p.Page().(*ListLaunchPathsOutput), !p.HasNextPage()) {
5086			break
5087		}
5088	}
5089
5090	return p.Err()
5091}
5092
5093const opListOrganizationPortfolioAccess = "ListOrganizationPortfolioAccess"
5094
5095// ListOrganizationPortfolioAccessRequest generates a "aws/request.Request" representing the
5096// client's request for the ListOrganizationPortfolioAccess operation. The "output" return
5097// value will be populated with the request's response once the request completes
5098// successfully.
5099//
5100// Use "Send" method on the returned Request to send the API call to the service.
5101// the "output" return value is not valid until after Send returns without error.
5102//
5103// See ListOrganizationPortfolioAccess for more information on using the ListOrganizationPortfolioAccess
5104// API call, and error handling.
5105//
5106// This method is useful when you want to inject custom logic or configuration
5107// into the SDK's request lifecycle. Such as custom headers, or retry logic.
5108//
5109//
5110//    // Example sending a request using the ListOrganizationPortfolioAccessRequest method.
5111//    req, resp := client.ListOrganizationPortfolioAccessRequest(params)
5112//
5113//    err := req.Send()
5114//    if err == nil { // resp is now filled
5115//        fmt.Println(resp)
5116//    }
5117//
5118// See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/ListOrganizationPortfolioAccess
5119func (c *ServiceCatalog) ListOrganizationPortfolioAccessRequest(input *ListOrganizationPortfolioAccessInput) (req *request.Request, output *ListOrganizationPortfolioAccessOutput) {
5120	op := &request.Operation{
5121		Name:       opListOrganizationPortfolioAccess,
5122		HTTPMethod: "POST",
5123		HTTPPath:   "/",
5124		Paginator: &request.Paginator{
5125			InputTokens:     []string{"PageToken"},
5126			OutputTokens:    []string{"NextPageToken"},
5127			LimitToken:      "PageSize",
5128			TruncationToken: "",
5129		},
5130	}
5131
5132	if input == nil {
5133		input = &ListOrganizationPortfolioAccessInput{}
5134	}
5135
5136	output = &ListOrganizationPortfolioAccessOutput{}
5137	req = c.newRequest(op, input, output)
5138	return
5139}
5140
5141// ListOrganizationPortfolioAccess API operation for AWS Service Catalog.
5142//
5143// Lists the organization nodes that have access to the specified portfolio.
5144// This API can only be called by the management account in the organization
5145// or by a delegated admin.
5146//
5147// If a delegated admin is de-registered, they can no longer perform this operation.
5148//
5149// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
5150// with awserr.Error's Code and Message methods to get detailed information about
5151// the error.
5152//
5153// See the AWS API reference guide for AWS Service Catalog's
5154// API operation ListOrganizationPortfolioAccess for usage and error information.
5155//
5156// Returned Error Types:
5157//   * ResourceNotFoundException
5158//   The specified resource was not found.
5159//
5160//   * InvalidParametersException
5161//   One or more parameters provided to the operation are not valid.
5162//
5163//   * OperationNotSupportedException
5164//   The operation is not supported.
5165//
5166// See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/ListOrganizationPortfolioAccess
5167func (c *ServiceCatalog) ListOrganizationPortfolioAccess(input *ListOrganizationPortfolioAccessInput) (*ListOrganizationPortfolioAccessOutput, error) {
5168	req, out := c.ListOrganizationPortfolioAccessRequest(input)
5169	return out, req.Send()
5170}
5171
5172// ListOrganizationPortfolioAccessWithContext is the same as ListOrganizationPortfolioAccess with the addition of
5173// the ability to pass a context and additional request options.
5174//
5175// See ListOrganizationPortfolioAccess for details on how to use this API operation.
5176//
5177// The context must be non-nil and will be used for request cancellation. If
5178// the context is nil a panic will occur. In the future the SDK may create
5179// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5180// for more information on using Contexts.
5181func (c *ServiceCatalog) ListOrganizationPortfolioAccessWithContext(ctx aws.Context, input *ListOrganizationPortfolioAccessInput, opts ...request.Option) (*ListOrganizationPortfolioAccessOutput, error) {
5182	req, out := c.ListOrganizationPortfolioAccessRequest(input)
5183	req.SetContext(ctx)
5184	req.ApplyOptions(opts...)
5185	return out, req.Send()
5186}
5187
5188// ListOrganizationPortfolioAccessPages iterates over the pages of a ListOrganizationPortfolioAccess operation,
5189// calling the "fn" function with the response data for each page. To stop
5190// iterating, return false from the fn function.
5191//
5192// See ListOrganizationPortfolioAccess method for more information on how to use this operation.
5193//
5194// Note: This operation can generate multiple requests to a service.
5195//
5196//    // Example iterating over at most 3 pages of a ListOrganizationPortfolioAccess operation.
5197//    pageNum := 0
5198//    err := client.ListOrganizationPortfolioAccessPages(params,
5199//        func(page *servicecatalog.ListOrganizationPortfolioAccessOutput, lastPage bool) bool {
5200//            pageNum++
5201//            fmt.Println(page)
5202//            return pageNum <= 3
5203//        })
5204//
5205func (c *ServiceCatalog) ListOrganizationPortfolioAccessPages(input *ListOrganizationPortfolioAccessInput, fn func(*ListOrganizationPortfolioAccessOutput, bool) bool) error {
5206	return c.ListOrganizationPortfolioAccessPagesWithContext(aws.BackgroundContext(), input, fn)
5207}
5208
5209// ListOrganizationPortfolioAccessPagesWithContext same as ListOrganizationPortfolioAccessPages except
5210// it takes a Context and allows setting request options on the pages.
5211//
5212// The context must be non-nil and will be used for request cancellation. If
5213// the context is nil a panic will occur. In the future the SDK may create
5214// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5215// for more information on using Contexts.
5216func (c *ServiceCatalog) ListOrganizationPortfolioAccessPagesWithContext(ctx aws.Context, input *ListOrganizationPortfolioAccessInput, fn func(*ListOrganizationPortfolioAccessOutput, bool) bool, opts ...request.Option) error {
5217	p := request.Pagination{
5218		NewRequest: func() (*request.Request, error) {
5219			var inCpy *ListOrganizationPortfolioAccessInput
5220			if input != nil {
5221				tmp := *input
5222				inCpy = &tmp
5223			}
5224			req, _ := c.ListOrganizationPortfolioAccessRequest(inCpy)
5225			req.SetContext(ctx)
5226			req.ApplyOptions(opts...)
5227			return req, nil
5228		},
5229	}
5230
5231	for p.Next() {
5232		if !fn(p.Page().(*ListOrganizationPortfolioAccessOutput), !p.HasNextPage()) {
5233			break
5234		}
5235	}
5236
5237	return p.Err()
5238}
5239
5240const opListPortfolioAccess = "ListPortfolioAccess"
5241
5242// ListPortfolioAccessRequest generates a "aws/request.Request" representing the
5243// client's request for the ListPortfolioAccess operation. The "output" return
5244// value will be populated with the request's response once the request completes
5245// successfully.
5246//
5247// Use "Send" method on the returned Request to send the API call to the service.
5248// the "output" return value is not valid until after Send returns without error.
5249//
5250// See ListPortfolioAccess for more information on using the ListPortfolioAccess
5251// API call, and error handling.
5252//
5253// This method is useful when you want to inject custom logic or configuration
5254// into the SDK's request lifecycle. Such as custom headers, or retry logic.
5255//
5256//
5257//    // Example sending a request using the ListPortfolioAccessRequest method.
5258//    req, resp := client.ListPortfolioAccessRequest(params)
5259//
5260//    err := req.Send()
5261//    if err == nil { // resp is now filled
5262//        fmt.Println(resp)
5263//    }
5264//
5265// See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/ListPortfolioAccess
5266func (c *ServiceCatalog) ListPortfolioAccessRequest(input *ListPortfolioAccessInput) (req *request.Request, output *ListPortfolioAccessOutput) {
5267	op := &request.Operation{
5268		Name:       opListPortfolioAccess,
5269		HTTPMethod: "POST",
5270		HTTPPath:   "/",
5271		Paginator: &request.Paginator{
5272			InputTokens:     []string{"PageToken"},
5273			OutputTokens:    []string{"NextPageToken"},
5274			LimitToken:      "PageSize",
5275			TruncationToken: "",
5276		},
5277	}
5278
5279	if input == nil {
5280		input = &ListPortfolioAccessInput{}
5281	}
5282
5283	output = &ListPortfolioAccessOutput{}
5284	req = c.newRequest(op, input, output)
5285	return
5286}
5287
5288// ListPortfolioAccess API operation for AWS Service Catalog.
5289//
5290// Lists the account IDs that have access to the specified portfolio.
5291//
5292// A delegated admin can list the accounts that have access to the shared portfolio.
5293// Note that if a delegated admin is de-registered, they can no longer perform
5294// this operation.
5295//
5296// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
5297// with awserr.Error's Code and Message methods to get detailed information about
5298// the error.
5299//
5300// See the AWS API reference guide for AWS Service Catalog's
5301// API operation ListPortfolioAccess for usage and error information.
5302//
5303// Returned Error Types:
5304//   * ResourceNotFoundException
5305//   The specified resource was not found.
5306//
5307//   * InvalidParametersException
5308//   One or more parameters provided to the operation are not valid.
5309//
5310// See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/ListPortfolioAccess
5311func (c *ServiceCatalog) ListPortfolioAccess(input *ListPortfolioAccessInput) (*ListPortfolioAccessOutput, error) {
5312	req, out := c.ListPortfolioAccessRequest(input)
5313	return out, req.Send()
5314}
5315
5316// ListPortfolioAccessWithContext is the same as ListPortfolioAccess with the addition of
5317// the ability to pass a context and additional request options.
5318//
5319// See ListPortfolioAccess for details on how to use this API operation.
5320//
5321// The context must be non-nil and will be used for request cancellation. If
5322// the context is nil a panic will occur. In the future the SDK may create
5323// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5324// for more information on using Contexts.
5325func (c *ServiceCatalog) ListPortfolioAccessWithContext(ctx aws.Context, input *ListPortfolioAccessInput, opts ...request.Option) (*ListPortfolioAccessOutput, error) {
5326	req, out := c.ListPortfolioAccessRequest(input)
5327	req.SetContext(ctx)
5328	req.ApplyOptions(opts...)
5329	return out, req.Send()
5330}
5331
5332// ListPortfolioAccessPages iterates over the pages of a ListPortfolioAccess operation,
5333// calling the "fn" function with the response data for each page. To stop
5334// iterating, return false from the fn function.
5335//
5336// See ListPortfolioAccess method for more information on how to use this operation.
5337//
5338// Note: This operation can generate multiple requests to a service.
5339//
5340//    // Example iterating over at most 3 pages of a ListPortfolioAccess operation.
5341//    pageNum := 0
5342//    err := client.ListPortfolioAccessPages(params,
5343//        func(page *servicecatalog.ListPortfolioAccessOutput, lastPage bool) bool {
5344//            pageNum++
5345//            fmt.Println(page)
5346//            return pageNum <= 3
5347//        })
5348//
5349func (c *ServiceCatalog) ListPortfolioAccessPages(input *ListPortfolioAccessInput, fn func(*ListPortfolioAccessOutput, bool) bool) error {
5350	return c.ListPortfolioAccessPagesWithContext(aws.BackgroundContext(), input, fn)
5351}
5352
5353// ListPortfolioAccessPagesWithContext same as ListPortfolioAccessPages except
5354// it takes a Context and allows setting request options on the pages.
5355//
5356// The context must be non-nil and will be used for request cancellation. If
5357// the context is nil a panic will occur. In the future the SDK may create
5358// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5359// for more information on using Contexts.
5360func (c *ServiceCatalog) ListPortfolioAccessPagesWithContext(ctx aws.Context, input *ListPortfolioAccessInput, fn func(*ListPortfolioAccessOutput, bool) bool, opts ...request.Option) error {
5361	p := request.Pagination{
5362		NewRequest: func() (*request.Request, error) {
5363			var inCpy *ListPortfolioAccessInput
5364			if input != nil {
5365				tmp := *input
5366				inCpy = &tmp
5367			}
5368			req, _ := c.ListPortfolioAccessRequest(inCpy)
5369			req.SetContext(ctx)
5370			req.ApplyOptions(opts...)
5371			return req, nil
5372		},
5373	}
5374
5375	for p.Next() {
5376		if !fn(p.Page().(*ListPortfolioAccessOutput), !p.HasNextPage()) {
5377			break
5378		}
5379	}
5380
5381	return p.Err()
5382}
5383
5384const opListPortfolios = "ListPortfolios"
5385
5386// ListPortfoliosRequest generates a "aws/request.Request" representing the
5387// client's request for the ListPortfolios operation. The "output" return
5388// value will be populated with the request's response once the request completes
5389// successfully.
5390//
5391// Use "Send" method on the returned Request to send the API call to the service.
5392// the "output" return value is not valid until after Send returns without error.
5393//
5394// See ListPortfolios for more information on using the ListPortfolios
5395// API call, and error handling.
5396//
5397// This method is useful when you want to inject custom logic or configuration
5398// into the SDK's request lifecycle. Such as custom headers, or retry logic.
5399//
5400//
5401//    // Example sending a request using the ListPortfoliosRequest method.
5402//    req, resp := client.ListPortfoliosRequest(params)
5403//
5404//    err := req.Send()
5405//    if err == nil { // resp is now filled
5406//        fmt.Println(resp)
5407//    }
5408//
5409// See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/ListPortfolios
5410func (c *ServiceCatalog) ListPortfoliosRequest(input *ListPortfoliosInput) (req *request.Request, output *ListPortfoliosOutput) {
5411	op := &request.Operation{
5412		Name:       opListPortfolios,
5413		HTTPMethod: "POST",
5414		HTTPPath:   "/",
5415		Paginator: &request.Paginator{
5416			InputTokens:     []string{"PageToken"},
5417			OutputTokens:    []string{"NextPageToken"},
5418			LimitToken:      "PageSize",
5419			TruncationToken: "",
5420		},
5421	}
5422
5423	if input == nil {
5424		input = &ListPortfoliosInput{}
5425	}
5426
5427	output = &ListPortfoliosOutput{}
5428	req = c.newRequest(op, input, output)
5429	return
5430}
5431
5432// ListPortfolios API operation for AWS Service Catalog.
5433//
5434// Lists all portfolios in the catalog.
5435//
5436// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
5437// with awserr.Error's Code and Message methods to get detailed information about
5438// the error.
5439//
5440// See the AWS API reference guide for AWS Service Catalog's
5441// API operation ListPortfolios for usage and error information.
5442//
5443// Returned Error Types:
5444//   * InvalidParametersException
5445//   One or more parameters provided to the operation are not valid.
5446//
5447// See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/ListPortfolios
5448func (c *ServiceCatalog) ListPortfolios(input *ListPortfoliosInput) (*ListPortfoliosOutput, error) {
5449	req, out := c.ListPortfoliosRequest(input)
5450	return out, req.Send()
5451}
5452
5453// ListPortfoliosWithContext is the same as ListPortfolios with the addition of
5454// the ability to pass a context and additional request options.
5455//
5456// See ListPortfolios for details on how to use this API operation.
5457//
5458// The context must be non-nil and will be used for request cancellation. If
5459// the context is nil a panic will occur. In the future the SDK may create
5460// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5461// for more information on using Contexts.
5462func (c *ServiceCatalog) ListPortfoliosWithContext(ctx aws.Context, input *ListPortfoliosInput, opts ...request.Option) (*ListPortfoliosOutput, error) {
5463	req, out := c.ListPortfoliosRequest(input)
5464	req.SetContext(ctx)
5465	req.ApplyOptions(opts...)
5466	return out, req.Send()
5467}
5468
5469// ListPortfoliosPages iterates over the pages of a ListPortfolios operation,
5470// calling the "fn" function with the response data for each page. To stop
5471// iterating, return false from the fn function.
5472//
5473// See ListPortfolios method for more information on how to use this operation.
5474//
5475// Note: This operation can generate multiple requests to a service.
5476//
5477//    // Example iterating over at most 3 pages of a ListPortfolios operation.
5478//    pageNum := 0
5479//    err := client.ListPortfoliosPages(params,
5480//        func(page *servicecatalog.ListPortfoliosOutput, lastPage bool) bool {
5481//            pageNum++
5482//            fmt.Println(page)
5483//            return pageNum <= 3
5484//        })
5485//
5486func (c *ServiceCatalog) ListPortfoliosPages(input *ListPortfoliosInput, fn func(*ListPortfoliosOutput, bool) bool) error {
5487	return c.ListPortfoliosPagesWithContext(aws.BackgroundContext(), input, fn)
5488}
5489
5490// ListPortfoliosPagesWithContext same as ListPortfoliosPages except
5491// it takes a Context and allows setting request options on the pages.
5492//
5493// The context must be non-nil and will be used for request cancellation. If
5494// the context is nil a panic will occur. In the future the SDK may create
5495// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5496// for more information on using Contexts.
5497func (c *ServiceCatalog) ListPortfoliosPagesWithContext(ctx aws.Context, input *ListPortfoliosInput, fn func(*ListPortfoliosOutput, bool) bool, opts ...request.Option) error {
5498	p := request.Pagination{
5499		NewRequest: func() (*request.Request, error) {
5500			var inCpy *ListPortfoliosInput
5501			if input != nil {
5502				tmp := *input
5503				inCpy = &tmp
5504			}
5505			req, _ := c.ListPortfoliosRequest(inCpy)
5506			req.SetContext(ctx)
5507			req.ApplyOptions(opts...)
5508			return req, nil
5509		},
5510	}
5511
5512	for p.Next() {
5513		if !fn(p.Page().(*ListPortfoliosOutput), !p.HasNextPage()) {
5514			break
5515		}
5516	}
5517
5518	return p.Err()
5519}
5520
5521const opListPortfoliosForProduct = "ListPortfoliosForProduct"
5522
5523// ListPortfoliosForProductRequest generates a "aws/request.Request" representing the
5524// client's request for the ListPortfoliosForProduct operation. The "output" return
5525// value will be populated with the request's response once the request completes
5526// successfully.
5527//
5528// Use "Send" method on the returned Request to send the API call to the service.
5529// the "output" return value is not valid until after Send returns without error.
5530//
5531// See ListPortfoliosForProduct for more information on using the ListPortfoliosForProduct
5532// API call, and error handling.
5533//
5534// This method is useful when you want to inject custom logic or configuration
5535// into the SDK's request lifecycle. Such as custom headers, or retry logic.
5536//
5537//
5538//    // Example sending a request using the ListPortfoliosForProductRequest method.
5539//    req, resp := client.ListPortfoliosForProductRequest(params)
5540//
5541//    err := req.Send()
5542//    if err == nil { // resp is now filled
5543//        fmt.Println(resp)
5544//    }
5545//
5546// See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/ListPortfoliosForProduct
5547func (c *ServiceCatalog) ListPortfoliosForProductRequest(input *ListPortfoliosForProductInput) (req *request.Request, output *ListPortfoliosForProductOutput) {
5548	op := &request.Operation{
5549		Name:       opListPortfoliosForProduct,
5550		HTTPMethod: "POST",
5551		HTTPPath:   "/",
5552		Paginator: &request.Paginator{
5553			InputTokens:     []string{"PageToken"},
5554			OutputTokens:    []string{"NextPageToken"},
5555			LimitToken:      "PageSize",
5556			TruncationToken: "",
5557		},
5558	}
5559
5560	if input == nil {
5561		input = &ListPortfoliosForProductInput{}
5562	}
5563
5564	output = &ListPortfoliosForProductOutput{}
5565	req = c.newRequest(op, input, output)
5566	return
5567}
5568
5569// ListPortfoliosForProduct API operation for AWS Service Catalog.
5570//
5571// Lists all portfolios that the specified product is associated with.
5572//
5573// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
5574// with awserr.Error's Code and Message methods to get detailed information about
5575// the error.
5576//
5577// See the AWS API reference guide for AWS Service Catalog's
5578// API operation ListPortfoliosForProduct for usage and error information.
5579//
5580// Returned Error Types:
5581//   * InvalidParametersException
5582//   One or more parameters provided to the operation are not valid.
5583//
5584//   * ResourceNotFoundException
5585//   The specified resource was not found.
5586//
5587// See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/ListPortfoliosForProduct
5588func (c *ServiceCatalog) ListPortfoliosForProduct(input *ListPortfoliosForProductInput) (*ListPortfoliosForProductOutput, error) {
5589	req, out := c.ListPortfoliosForProductRequest(input)
5590	return out, req.Send()
5591}
5592
5593// ListPortfoliosForProductWithContext is the same as ListPortfoliosForProduct with the addition of
5594// the ability to pass a context and additional request options.
5595//
5596// See ListPortfoliosForProduct for details on how to use this API operation.
5597//
5598// The context must be non-nil and will be used for request cancellation. If
5599// the context is nil a panic will occur. In the future the SDK may create
5600// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5601// for more information on using Contexts.
5602func (c *ServiceCatalog) ListPortfoliosForProductWithContext(ctx aws.Context, input *ListPortfoliosForProductInput, opts ...request.Option) (*ListPortfoliosForProductOutput, error) {
5603	req, out := c.ListPortfoliosForProductRequest(input)
5604	req.SetContext(ctx)
5605	req.ApplyOptions(opts...)
5606	return out, req.Send()
5607}
5608
5609// ListPortfoliosForProductPages iterates over the pages of a ListPortfoliosForProduct operation,
5610// calling the "fn" function with the response data for each page. To stop
5611// iterating, return false from the fn function.
5612//
5613// See ListPortfoliosForProduct method for more information on how to use this operation.
5614//
5615// Note: This operation can generate multiple requests to a service.
5616//
5617//    // Example iterating over at most 3 pages of a ListPortfoliosForProduct operation.
5618//    pageNum := 0
5619//    err := client.ListPortfoliosForProductPages(params,
5620//        func(page *servicecatalog.ListPortfoliosForProductOutput, lastPage bool) bool {
5621//            pageNum++
5622//            fmt.Println(page)
5623//            return pageNum <= 3
5624//        })
5625//
5626func (c *ServiceCatalog) ListPortfoliosForProductPages(input *ListPortfoliosForProductInput, fn func(*ListPortfoliosForProductOutput, bool) bool) error {
5627	return c.ListPortfoliosForProductPagesWithContext(aws.BackgroundContext(), input, fn)
5628}
5629
5630// ListPortfoliosForProductPagesWithContext same as ListPortfoliosForProductPages except
5631// it takes a Context and allows setting request options on the pages.
5632//
5633// The context must be non-nil and will be used for request cancellation. If
5634// the context is nil a panic will occur. In the future the SDK may create
5635// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5636// for more information on using Contexts.
5637func (c *ServiceCatalog) ListPortfoliosForProductPagesWithContext(ctx aws.Context, input *ListPortfoliosForProductInput, fn func(*ListPortfoliosForProductOutput, bool) bool, opts ...request.Option) error {
5638	p := request.Pagination{
5639		NewRequest: func() (*request.Request, error) {
5640			var inCpy *ListPortfoliosForProductInput
5641			if input != nil {
5642				tmp := *input
5643				inCpy = &tmp
5644			}
5645			req, _ := c.ListPortfoliosForProductRequest(inCpy)
5646			req.SetContext(ctx)
5647			req.ApplyOptions(opts...)
5648			return req, nil
5649		},
5650	}
5651
5652	for p.Next() {
5653		if !fn(p.Page().(*ListPortfoliosForProductOutput), !p.HasNextPage()) {
5654			break
5655		}
5656	}
5657
5658	return p.Err()
5659}
5660
5661const opListPrincipalsForPortfolio = "ListPrincipalsForPortfolio"
5662
5663// ListPrincipalsForPortfolioRequest generates a "aws/request.Request" representing the
5664// client's request for the ListPrincipalsForPortfolio operation. The "output" return
5665// value will be populated with the request's response once the request completes
5666// successfully.
5667//
5668// Use "Send" method on the returned Request to send the API call to the service.
5669// the "output" return value is not valid until after Send returns without error.
5670//
5671// See ListPrincipalsForPortfolio for more information on using the ListPrincipalsForPortfolio
5672// API call, and error handling.
5673//
5674// This method is useful when you want to inject custom logic or configuration
5675// into the SDK's request lifecycle. Such as custom headers, or retry logic.
5676//
5677//
5678//    // Example sending a request using the ListPrincipalsForPortfolioRequest method.
5679//    req, resp := client.ListPrincipalsForPortfolioRequest(params)
5680//
5681//    err := req.Send()
5682//    if err == nil { // resp is now filled
5683//        fmt.Println(resp)
5684//    }
5685//
5686// See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/ListPrincipalsForPortfolio
5687func (c *ServiceCatalog) ListPrincipalsForPortfolioRequest(input *ListPrincipalsForPortfolioInput) (req *request.Request, output *ListPrincipalsForPortfolioOutput) {
5688	op := &request.Operation{
5689		Name:       opListPrincipalsForPortfolio,
5690		HTTPMethod: "POST",
5691		HTTPPath:   "/",
5692		Paginator: &request.Paginator{
5693			InputTokens:     []string{"PageToken"},
5694			OutputTokens:    []string{"NextPageToken"},
5695			LimitToken:      "PageSize",
5696			TruncationToken: "",
5697		},
5698	}
5699
5700	if input == nil {
5701		input = &ListPrincipalsForPortfolioInput{}
5702	}
5703
5704	output = &ListPrincipalsForPortfolioOutput{}
5705	req = c.newRequest(op, input, output)
5706	return
5707}
5708
5709// ListPrincipalsForPortfolio API operation for AWS Service Catalog.
5710//
5711// Lists all principal ARNs associated with the specified portfolio.
5712//
5713// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
5714// with awserr.Error's Code and Message methods to get detailed information about
5715// the error.
5716//
5717// See the AWS API reference guide for AWS Service Catalog's
5718// API operation ListPrincipalsForPortfolio for usage and error information.
5719//
5720// Returned Error Types:
5721//   * ResourceNotFoundException
5722//   The specified resource was not found.
5723//
5724//   * InvalidParametersException
5725//   One or more parameters provided to the operation are not valid.
5726//
5727// See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/ListPrincipalsForPortfolio
5728func (c *ServiceCatalog) ListPrincipalsForPortfolio(input *ListPrincipalsForPortfolioInput) (*ListPrincipalsForPortfolioOutput, error) {
5729	req, out := c.ListPrincipalsForPortfolioRequest(input)
5730	return out, req.Send()
5731}
5732
5733// ListPrincipalsForPortfolioWithContext is the same as ListPrincipalsForPortfolio with the addition of
5734// the ability to pass a context and additional request options.
5735//
5736// See ListPrincipalsForPortfolio for details on how to use this API operation.
5737//
5738// The context must be non-nil and will be used for request cancellation. If
5739// the context is nil a panic will occur. In the future the SDK may create
5740// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5741// for more information on using Contexts.
5742func (c *ServiceCatalog) ListPrincipalsForPortfolioWithContext(ctx aws.Context, input *ListPrincipalsForPortfolioInput, opts ...request.Option) (*ListPrincipalsForPortfolioOutput, error) {
5743	req, out := c.ListPrincipalsForPortfolioRequest(input)
5744	req.SetContext(ctx)
5745	req.ApplyOptions(opts...)
5746	return out, req.Send()
5747}
5748
5749// ListPrincipalsForPortfolioPages iterates over the pages of a ListPrincipalsForPortfolio operation,
5750// calling the "fn" function with the response data for each page. To stop
5751// iterating, return false from the fn function.
5752//
5753// See ListPrincipalsForPortfolio method for more information on how to use this operation.
5754//
5755// Note: This operation can generate multiple requests to a service.
5756//
5757//    // Example iterating over at most 3 pages of a ListPrincipalsForPortfolio operation.
5758//    pageNum := 0
5759//    err := client.ListPrincipalsForPortfolioPages(params,
5760//        func(page *servicecatalog.ListPrincipalsForPortfolioOutput, lastPage bool) bool {
5761//            pageNum++
5762//            fmt.Println(page)
5763//            return pageNum <= 3
5764//        })
5765//
5766func (c *ServiceCatalog) ListPrincipalsForPortfolioPages(input *ListPrincipalsForPortfolioInput, fn func(*ListPrincipalsForPortfolioOutput, bool) bool) error {
5767	return c.ListPrincipalsForPortfolioPagesWithContext(aws.BackgroundContext(), input, fn)
5768}
5769
5770// ListPrincipalsForPortfolioPagesWithContext same as ListPrincipalsForPortfolioPages except
5771// it takes a Context and allows setting request options on the pages.
5772//
5773// The context must be non-nil and will be used for request cancellation. If
5774// the context is nil a panic will occur. In the future the SDK may create
5775// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5776// for more information on using Contexts.
5777func (c *ServiceCatalog) ListPrincipalsForPortfolioPagesWithContext(ctx aws.Context, input *ListPrincipalsForPortfolioInput, fn func(*ListPrincipalsForPortfolioOutput, bool) bool, opts ...request.Option) error {
5778	p := request.Pagination{
5779		NewRequest: func() (*request.Request, error) {
5780			var inCpy *ListPrincipalsForPortfolioInput
5781			if input != nil {
5782				tmp := *input
5783				inCpy = &tmp
5784			}
5785			req, _ := c.ListPrincipalsForPortfolioRequest(inCpy)
5786			req.SetContext(ctx)
5787			req.ApplyOptions(opts...)
5788			return req, nil
5789		},
5790	}
5791
5792	for p.Next() {
5793		if !fn(p.Page().(*ListPrincipalsForPortfolioOutput), !p.HasNextPage()) {
5794			break
5795		}
5796	}
5797
5798	return p.Err()
5799}
5800
5801const opListProvisionedProductPlans = "ListProvisionedProductPlans"
5802
5803// ListProvisionedProductPlansRequest generates a "aws/request.Request" representing the
5804// client's request for the ListProvisionedProductPlans operation. The "output" return
5805// value will be populated with the request's response once the request completes
5806// successfully.
5807//
5808// Use "Send" method on the returned Request to send the API call to the service.
5809// the "output" return value is not valid until after Send returns without error.
5810//
5811// See ListProvisionedProductPlans for more information on using the ListProvisionedProductPlans
5812// API call, and error handling.
5813//
5814// This method is useful when you want to inject custom logic or configuration
5815// into the SDK's request lifecycle. Such as custom headers, or retry logic.
5816//
5817//
5818//    // Example sending a request using the ListProvisionedProductPlansRequest method.
5819//    req, resp := client.ListProvisionedProductPlansRequest(params)
5820//
5821//    err := req.Send()
5822//    if err == nil { // resp is now filled
5823//        fmt.Println(resp)
5824//    }
5825//
5826// See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/ListProvisionedProductPlans
5827func (c *ServiceCatalog) ListProvisionedProductPlansRequest(input *ListProvisionedProductPlansInput) (req *request.Request, output *ListProvisionedProductPlansOutput) {
5828	op := &request.Operation{
5829		Name:       opListProvisionedProductPlans,
5830		HTTPMethod: "POST",
5831		HTTPPath:   "/",
5832	}
5833
5834	if input == nil {
5835		input = &ListProvisionedProductPlansInput{}
5836	}
5837
5838	output = &ListProvisionedProductPlansOutput{}
5839	req = c.newRequest(op, input, output)
5840	return
5841}
5842
5843// ListProvisionedProductPlans API operation for AWS Service Catalog.
5844//
5845// Lists the plans for the specified provisioned product or all plans to which
5846// the user has access.
5847//
5848// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
5849// with awserr.Error's Code and Message methods to get detailed information about
5850// the error.
5851//
5852// See the AWS API reference guide for AWS Service Catalog's
5853// API operation ListProvisionedProductPlans for usage and error information.
5854//
5855// Returned Error Types:
5856//   * ResourceNotFoundException
5857//   The specified resource was not found.
5858//
5859//   * InvalidParametersException
5860//   One or more parameters provided to the operation are not valid.
5861//
5862// See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/ListProvisionedProductPlans
5863func (c *ServiceCatalog) ListProvisionedProductPlans(input *ListProvisionedProductPlansInput) (*ListProvisionedProductPlansOutput, error) {
5864	req, out := c.ListProvisionedProductPlansRequest(input)
5865	return out, req.Send()
5866}
5867
5868// ListProvisionedProductPlansWithContext is the same as ListProvisionedProductPlans with the addition of
5869// the ability to pass a context and additional request options.
5870//
5871// See ListProvisionedProductPlans for details on how to use this API operation.
5872//
5873// The context must be non-nil and will be used for request cancellation. If
5874// the context is nil a panic will occur. In the future the SDK may create
5875// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5876// for more information on using Contexts.
5877func (c *ServiceCatalog) ListProvisionedProductPlansWithContext(ctx aws.Context, input *ListProvisionedProductPlansInput, opts ...request.Option) (*ListProvisionedProductPlansOutput, error) {
5878	req, out := c.ListProvisionedProductPlansRequest(input)
5879	req.SetContext(ctx)
5880	req.ApplyOptions(opts...)
5881	return out, req.Send()
5882}
5883
5884const opListProvisioningArtifacts = "ListProvisioningArtifacts"
5885
5886// ListProvisioningArtifactsRequest generates a "aws/request.Request" representing the
5887// client's request for the ListProvisioningArtifacts operation. The "output" return
5888// value will be populated with the request's response once the request completes
5889// successfully.
5890//
5891// Use "Send" method on the returned Request to send the API call to the service.
5892// the "output" return value is not valid until after Send returns without error.
5893//
5894// See ListProvisioningArtifacts for more information on using the ListProvisioningArtifacts
5895// API call, and error handling.
5896//
5897// This method is useful when you want to inject custom logic or configuration
5898// into the SDK's request lifecycle. Such as custom headers, or retry logic.
5899//
5900//
5901//    // Example sending a request using the ListProvisioningArtifactsRequest method.
5902//    req, resp := client.ListProvisioningArtifactsRequest(params)
5903//
5904//    err := req.Send()
5905//    if err == nil { // resp is now filled
5906//        fmt.Println(resp)
5907//    }
5908//
5909// See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/ListProvisioningArtifacts
5910func (c *ServiceCatalog) ListProvisioningArtifactsRequest(input *ListProvisioningArtifactsInput) (req *request.Request, output *ListProvisioningArtifactsOutput) {
5911	op := &request.Operation{
5912		Name:       opListProvisioningArtifacts,
5913		HTTPMethod: "POST",
5914		HTTPPath:   "/",
5915	}
5916
5917	if input == nil {
5918		input = &ListProvisioningArtifactsInput{}
5919	}
5920
5921	output = &ListProvisioningArtifactsOutput{}
5922	req = c.newRequest(op, input, output)
5923	return
5924}
5925
5926// ListProvisioningArtifacts API operation for AWS Service Catalog.
5927//
5928// Lists all provisioning artifacts (also known as versions) for the specified
5929// product.
5930//
5931// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
5932// with awserr.Error's Code and Message methods to get detailed information about
5933// the error.
5934//
5935// See the AWS API reference guide for AWS Service Catalog's
5936// API operation ListProvisioningArtifacts for usage and error information.
5937//
5938// Returned Error Types:
5939//   * ResourceNotFoundException
5940//   The specified resource was not found.
5941//
5942//   * InvalidParametersException
5943//   One or more parameters provided to the operation are not valid.
5944//
5945// See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/ListProvisioningArtifacts
5946func (c *ServiceCatalog) ListProvisioningArtifacts(input *ListProvisioningArtifactsInput) (*ListProvisioningArtifactsOutput, error) {
5947	req, out := c.ListProvisioningArtifactsRequest(input)
5948	return out, req.Send()
5949}
5950
5951// ListProvisioningArtifactsWithContext is the same as ListProvisioningArtifacts with the addition of
5952// the ability to pass a context and additional request options.
5953//
5954// See ListProvisioningArtifacts for details on how to use this API operation.
5955//
5956// The context must be non-nil and will be used for request cancellation. If
5957// the context is nil a panic will occur. In the future the SDK may create
5958// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5959// for more information on using Contexts.
5960func (c *ServiceCatalog) ListProvisioningArtifactsWithContext(ctx aws.Context, input *ListProvisioningArtifactsInput, opts ...request.Option) (*ListProvisioningArtifactsOutput, error) {
5961	req, out := c.ListProvisioningArtifactsRequest(input)
5962	req.SetContext(ctx)
5963	req.ApplyOptions(opts...)
5964	return out, req.Send()
5965}
5966
5967const opListProvisioningArtifactsForServiceAction = "ListProvisioningArtifactsForServiceAction"
5968
5969// ListProvisioningArtifactsForServiceActionRequest generates a "aws/request.Request" representing the
5970// client's request for the ListProvisioningArtifactsForServiceAction operation. The "output" return
5971// value will be populated with the request's response once the request completes
5972// successfully.
5973//
5974// Use "Send" method on the returned Request to send the API call to the service.
5975// the "output" return value is not valid until after Send returns without error.
5976//
5977// See ListProvisioningArtifactsForServiceAction for more information on using the ListProvisioningArtifactsForServiceAction
5978// API call, and error handling.
5979//
5980// This method is useful when you want to inject custom logic or configuration
5981// into the SDK's request lifecycle. Such as custom headers, or retry logic.
5982//
5983//
5984//    // Example sending a request using the ListProvisioningArtifactsForServiceActionRequest method.
5985//    req, resp := client.ListProvisioningArtifactsForServiceActionRequest(params)
5986//
5987//    err := req.Send()
5988//    if err == nil { // resp is now filled
5989//        fmt.Println(resp)
5990//    }
5991//
5992// See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/ListProvisioningArtifactsForServiceAction
5993func (c *ServiceCatalog) ListProvisioningArtifactsForServiceActionRequest(input *ListProvisioningArtifactsForServiceActionInput) (req *request.Request, output *ListProvisioningArtifactsForServiceActionOutput) {
5994	op := &request.Operation{
5995		Name:       opListProvisioningArtifactsForServiceAction,
5996		HTTPMethod: "POST",
5997		HTTPPath:   "/",
5998		Paginator: &request.Paginator{
5999			InputTokens:     []string{"PageToken"},
6000			OutputTokens:    []string{"NextPageToken"},
6001			LimitToken:      "PageSize",
6002			TruncationToken: "",
6003		},
6004	}
6005
6006	if input == nil {
6007		input = &ListProvisioningArtifactsForServiceActionInput{}
6008	}
6009
6010	output = &ListProvisioningArtifactsForServiceActionOutput{}
6011	req = c.newRequest(op, input, output)
6012	return
6013}
6014
6015// ListProvisioningArtifactsForServiceAction API operation for AWS Service Catalog.
6016//
6017// Lists all provisioning artifacts (also known as versions) for the specified
6018// self-service action.
6019//
6020// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
6021// with awserr.Error's Code and Message methods to get detailed information about
6022// the error.
6023//
6024// See the AWS API reference guide for AWS Service Catalog's
6025// API operation ListProvisioningArtifactsForServiceAction for usage and error information.
6026//
6027// Returned Error Types:
6028//   * ResourceNotFoundException
6029//   The specified resource was not found.
6030//
6031//   * InvalidParametersException
6032//   One or more parameters provided to the operation are not valid.
6033//
6034// See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/ListProvisioningArtifactsForServiceAction
6035func (c *ServiceCatalog) ListProvisioningArtifactsForServiceAction(input *ListProvisioningArtifactsForServiceActionInput) (*ListProvisioningArtifactsForServiceActionOutput, error) {
6036	req, out := c.ListProvisioningArtifactsForServiceActionRequest(input)
6037	return out, req.Send()
6038}
6039
6040// ListProvisioningArtifactsForServiceActionWithContext is the same as ListProvisioningArtifactsForServiceAction with the addition of
6041// the ability to pass a context and additional request options.
6042//
6043// See ListProvisioningArtifactsForServiceAction for details on how to use this API operation.
6044//
6045// The context must be non-nil and will be used for request cancellation. If
6046// the context is nil a panic will occur. In the future the SDK may create
6047// sub-contexts for http.Requests. See https://golang.org/pkg/context/
6048// for more information on using Contexts.
6049func (c *ServiceCatalog) ListProvisioningArtifactsForServiceActionWithContext(ctx aws.Context, input *ListProvisioningArtifactsForServiceActionInput, opts ...request.Option) (*ListProvisioningArtifactsForServiceActionOutput, error) {
6050	req, out := c.ListProvisioningArtifactsForServiceActionRequest(input)
6051	req.SetContext(ctx)
6052	req.ApplyOptions(opts...)
6053	return out, req.Send()
6054}
6055
6056// ListProvisioningArtifactsForServiceActionPages iterates over the pages of a ListProvisioningArtifactsForServiceAction operation,
6057// calling the "fn" function with the response data for each page. To stop
6058// iterating, return false from the fn function.
6059//
6060// See ListProvisioningArtifactsForServiceAction method for more information on how to use this operation.
6061//
6062// Note: This operation can generate multiple requests to a service.
6063//
6064//    // Example iterating over at most 3 pages of a ListProvisioningArtifactsForServiceAction operation.
6065//    pageNum := 0
6066//    err := client.ListProvisioningArtifactsForServiceActionPages(params,
6067//        func(page *servicecatalog.ListProvisioningArtifactsForServiceActionOutput, lastPage bool) bool {
6068//            pageNum++
6069//            fmt.Println(page)
6070//            return pageNum <= 3
6071//        })
6072//
6073func (c *ServiceCatalog) ListProvisioningArtifactsForServiceActionPages(input *ListProvisioningArtifactsForServiceActionInput, fn func(*ListProvisioningArtifactsForServiceActionOutput, bool) bool) error {
6074	return c.ListProvisioningArtifactsForServiceActionPagesWithContext(aws.BackgroundContext(), input, fn)
6075}
6076
6077// ListProvisioningArtifactsForServiceActionPagesWithContext same as ListProvisioningArtifactsForServiceActionPages except
6078// it takes a Context and allows setting request options on the pages.
6079//
6080// The context must be non-nil and will be used for request cancellation. If
6081// the context is nil a panic will occur. In the future the SDK may create
6082// sub-contexts for http.Requests. See https://golang.org/pkg/context/
6083// for more information on using Contexts.
6084func (c *ServiceCatalog) ListProvisioningArtifactsForServiceActionPagesWithContext(ctx aws.Context, input *ListProvisioningArtifactsForServiceActionInput, fn func(*ListProvisioningArtifactsForServiceActionOutput, bool) bool, opts ...request.Option) error {
6085	p := request.Pagination{
6086		NewRequest: func() (*request.Request, error) {
6087			var inCpy *ListProvisioningArtifactsForServiceActionInput
6088			if input != nil {
6089				tmp := *input
6090				inCpy = &tmp
6091			}
6092			req, _ := c.ListProvisioningArtifactsForServiceActionRequest(inCpy)
6093			req.SetContext(ctx)
6094			req.ApplyOptions(opts...)
6095			return req, nil
6096		},
6097	}
6098
6099	for p.Next() {
6100		if !fn(p.Page().(*ListProvisioningArtifactsForServiceActionOutput), !p.HasNextPage()) {
6101			break
6102		}
6103	}
6104
6105	return p.Err()
6106}
6107
6108const opListRecordHistory = "ListRecordHistory"
6109
6110// ListRecordHistoryRequest generates a "aws/request.Request" representing the
6111// client's request for the ListRecordHistory operation. The "output" return
6112// value will be populated with the request's response once the request completes
6113// successfully.
6114//
6115// Use "Send" method on the returned Request to send the API call to the service.
6116// the "output" return value is not valid until after Send returns without error.
6117//
6118// See ListRecordHistory for more information on using the ListRecordHistory
6119// API call, and error handling.
6120//
6121// This method is useful when you want to inject custom logic or configuration
6122// into the SDK's request lifecycle. Such as custom headers, or retry logic.
6123//
6124//
6125//    // Example sending a request using the ListRecordHistoryRequest method.
6126//    req, resp := client.ListRecordHistoryRequest(params)
6127//
6128//    err := req.Send()
6129//    if err == nil { // resp is now filled
6130//        fmt.Println(resp)
6131//    }
6132//
6133// See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/ListRecordHistory
6134func (c *ServiceCatalog) ListRecordHistoryRequest(input *ListRecordHistoryInput) (req *request.Request, output *ListRecordHistoryOutput) {
6135	op := &request.Operation{
6136		Name:       opListRecordHistory,
6137		HTTPMethod: "POST",
6138		HTTPPath:   "/",
6139	}
6140
6141	if input == nil {
6142		input = &ListRecordHistoryInput{}
6143	}
6144
6145	output = &ListRecordHistoryOutput{}
6146	req = c.newRequest(op, input, output)
6147	return
6148}
6149
6150// ListRecordHistory API operation for AWS Service Catalog.
6151//
6152// Lists the specified requests or all performed requests.
6153//
6154// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
6155// with awserr.Error's Code and Message methods to get detailed information about
6156// the error.
6157//
6158// See the AWS API reference guide for AWS Service Catalog's
6159// API operation ListRecordHistory for usage and error information.
6160//
6161// Returned Error Types:
6162//   * InvalidParametersException
6163//   One or more parameters provided to the operation are not valid.
6164//
6165// See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/ListRecordHistory
6166func (c *ServiceCatalog) ListRecordHistory(input *ListRecordHistoryInput) (*ListRecordHistoryOutput, error) {
6167	req, out := c.ListRecordHistoryRequest(input)
6168	return out, req.Send()
6169}
6170
6171// ListRecordHistoryWithContext is the same as ListRecordHistory with the addition of
6172// the ability to pass a context and additional request options.
6173//
6174// See ListRecordHistory for details on how to use this API operation.
6175//
6176// The context must be non-nil and will be used for request cancellation. If
6177// the context is nil a panic will occur. In the future the SDK may create
6178// sub-contexts for http.Requests. See https://golang.org/pkg/context/
6179// for more information on using Contexts.
6180func (c *ServiceCatalog) ListRecordHistoryWithContext(ctx aws.Context, input *ListRecordHistoryInput, opts ...request.Option) (*ListRecordHistoryOutput, error) {
6181	req, out := c.ListRecordHistoryRequest(input)
6182	req.SetContext(ctx)
6183	req.ApplyOptions(opts...)
6184	return out, req.Send()
6185}
6186
6187const opListResourcesForTagOption = "ListResourcesForTagOption"
6188
6189// ListResourcesForTagOptionRequest generates a "aws/request.Request" representing the
6190// client's request for the ListResourcesForTagOption operation. The "output" return
6191// value will be populated with the request's response once the request completes
6192// successfully.
6193//
6194// Use "Send" method on the returned Request to send the API call to the service.
6195// the "output" return value is not valid until after Send returns without error.
6196//
6197// See ListResourcesForTagOption for more information on using the ListResourcesForTagOption
6198// API call, and error handling.
6199//
6200// This method is useful when you want to inject custom logic or configuration
6201// into the SDK's request lifecycle. Such as custom headers, or retry logic.
6202//
6203//
6204//    // Example sending a request using the ListResourcesForTagOptionRequest method.
6205//    req, resp := client.ListResourcesForTagOptionRequest(params)
6206//
6207//    err := req.Send()
6208//    if err == nil { // resp is now filled
6209//        fmt.Println(resp)
6210//    }
6211//
6212// See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/ListResourcesForTagOption
6213func (c *ServiceCatalog) ListResourcesForTagOptionRequest(input *ListResourcesForTagOptionInput) (req *request.Request, output *ListResourcesForTagOptionOutput) {
6214	op := &request.Operation{
6215		Name:       opListResourcesForTagOption,
6216		HTTPMethod: "POST",
6217		HTTPPath:   "/",
6218		Paginator: &request.Paginator{
6219			InputTokens:     []string{"PageToken"},
6220			OutputTokens:    []string{"PageToken"},
6221			LimitToken:      "PageSize",
6222			TruncationToken: "",
6223		},
6224	}
6225
6226	if input == nil {
6227		input = &ListResourcesForTagOptionInput{}
6228	}
6229
6230	output = &ListResourcesForTagOptionOutput{}
6231	req = c.newRequest(op, input, output)
6232	return
6233}
6234
6235// ListResourcesForTagOption API operation for AWS Service Catalog.
6236//
6237// Lists the resources associated with the specified TagOption.
6238//
6239// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
6240// with awserr.Error's Code and Message methods to get detailed information about
6241// the error.
6242//
6243// See the AWS API reference guide for AWS Service Catalog's
6244// API operation ListResourcesForTagOption for usage and error information.
6245//
6246// Returned Error Types:
6247//   * TagOptionNotMigratedException
6248//   An operation requiring TagOptions failed because the TagOptions migration
6249//   process has not been performed for this account. Please use the AWS console
6250//   to perform the migration process before retrying the operation.
6251//
6252//   * ResourceNotFoundException
6253//   The specified resource was not found.
6254//
6255//   * InvalidParametersException
6256//   One or more parameters provided to the operation are not valid.
6257//
6258// See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/ListResourcesForTagOption
6259func (c *ServiceCatalog) ListResourcesForTagOption(input *ListResourcesForTagOptionInput) (*ListResourcesForTagOptionOutput, error) {
6260	req, out := c.ListResourcesForTagOptionRequest(input)
6261	return out, req.Send()
6262}
6263
6264// ListResourcesForTagOptionWithContext is the same as ListResourcesForTagOption with the addition of
6265// the ability to pass a context and additional request options.
6266//
6267// See ListResourcesForTagOption for details on how to use this API operation.
6268//
6269// The context must be non-nil and will be used for request cancellation. If
6270// the context is nil a panic will occur. In the future the SDK may create
6271// sub-contexts for http.Requests. See https://golang.org/pkg/context/
6272// for more information on using Contexts.
6273func (c *ServiceCatalog) ListResourcesForTagOptionWithContext(ctx aws.Context, input *ListResourcesForTagOptionInput, opts ...request.Option) (*ListResourcesForTagOptionOutput, error) {
6274	req, out := c.ListResourcesForTagOptionRequest(input)
6275	req.SetContext(ctx)
6276	req.ApplyOptions(opts...)
6277	return out, req.Send()
6278}
6279
6280// ListResourcesForTagOptionPages iterates over the pages of a ListResourcesForTagOption operation,
6281// calling the "fn" function with the response data for each page. To stop
6282// iterating, return false from the fn function.
6283//
6284// See ListResourcesForTagOption method for more information on how to use this operation.
6285//
6286// Note: This operation can generate multiple requests to a service.
6287//
6288//    // Example iterating over at most 3 pages of a ListResourcesForTagOption operation.
6289//    pageNum := 0
6290//    err := client.ListResourcesForTagOptionPages(params,
6291//        func(page *servicecatalog.ListResourcesForTagOptionOutput, lastPage bool) bool {
6292//            pageNum++
6293//            fmt.Println(page)
6294//            return pageNum <= 3
6295//        })
6296//
6297func (c *ServiceCatalog) ListResourcesForTagOptionPages(input *ListResourcesForTagOptionInput, fn func(*ListResourcesForTagOptionOutput, bool) bool) error {
6298	return c.ListResourcesForTagOptionPagesWithContext(aws.BackgroundContext(), input, fn)
6299}
6300
6301// ListResourcesForTagOptionPagesWithContext same as ListResourcesForTagOptionPages except
6302// it takes a Context and allows setting request options on the pages.
6303//
6304// The context must be non-nil and will be used for request cancellation. If
6305// the context is nil a panic will occur. In the future the SDK may create
6306// sub-contexts for http.Requests. See https://golang.org/pkg/context/
6307// for more information on using Contexts.
6308func (c *ServiceCatalog) ListResourcesForTagOptionPagesWithContext(ctx aws.Context, input *ListResourcesForTagOptionInput, fn func(*ListResourcesForTagOptionOutput, bool) bool, opts ...request.Option) error {
6309	p := request.Pagination{
6310		NewRequest: func() (*request.Request, error) {
6311			var inCpy *ListResourcesForTagOptionInput
6312			if input != nil {
6313				tmp := *input
6314				inCpy = &tmp
6315			}
6316			req, _ := c.ListResourcesForTagOptionRequest(inCpy)
6317			req.SetContext(ctx)
6318			req.ApplyOptions(opts...)
6319			return req, nil
6320		},
6321	}
6322
6323	for p.Next() {
6324		if !fn(p.Page().(*ListResourcesForTagOptionOutput), !p.HasNextPage()) {
6325			break
6326		}
6327	}
6328
6329	return p.Err()
6330}
6331
6332const opListServiceActions = "ListServiceActions"
6333
6334// ListServiceActionsRequest generates a "aws/request.Request" representing the
6335// client's request for the ListServiceActions operation. The "output" return
6336// value will be populated with the request's response once the request completes
6337// successfully.
6338//
6339// Use "Send" method on the returned Request to send the API call to the service.
6340// the "output" return value is not valid until after Send returns without error.
6341//
6342// See ListServiceActions for more information on using the ListServiceActions
6343// API call, and error handling.
6344//
6345// This method is useful when you want to inject custom logic or configuration
6346// into the SDK's request lifecycle. Such as custom headers, or retry logic.
6347//
6348//
6349//    // Example sending a request using the ListServiceActionsRequest method.
6350//    req, resp := client.ListServiceActionsRequest(params)
6351//
6352//    err := req.Send()
6353//    if err == nil { // resp is now filled
6354//        fmt.Println(resp)
6355//    }
6356//
6357// See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/ListServiceActions
6358func (c *ServiceCatalog) ListServiceActionsRequest(input *ListServiceActionsInput) (req *request.Request, output *ListServiceActionsOutput) {
6359	op := &request.Operation{
6360		Name:       opListServiceActions,
6361		HTTPMethod: "POST",
6362		HTTPPath:   "/",
6363		Paginator: &request.Paginator{
6364			InputTokens:     []string{"PageToken"},
6365			OutputTokens:    []string{"NextPageToken"},
6366			LimitToken:      "PageSize",
6367			TruncationToken: "",
6368		},
6369	}
6370
6371	if input == nil {
6372		input = &ListServiceActionsInput{}
6373	}
6374
6375	output = &ListServiceActionsOutput{}
6376	req = c.newRequest(op, input, output)
6377	return
6378}
6379
6380// ListServiceActions API operation for AWS Service Catalog.
6381//
6382// Lists all self-service actions.
6383//
6384// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
6385// with awserr.Error's Code and Message methods to get detailed information about
6386// the error.
6387//
6388// See the AWS API reference guide for AWS Service Catalog's
6389// API operation ListServiceActions for usage and error information.
6390//
6391// Returned Error Types:
6392//   * InvalidParametersException
6393//   One or more parameters provided to the operation are not valid.
6394//
6395// See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/ListServiceActions
6396func (c *ServiceCatalog) ListServiceActions(input *ListServiceActionsInput) (*ListServiceActionsOutput, error) {
6397	req, out := c.ListServiceActionsRequest(input)
6398	return out, req.Send()
6399}
6400
6401// ListServiceActionsWithContext is the same as ListServiceActions with the addition of
6402// the ability to pass a context and additional request options.
6403//
6404// See ListServiceActions for details on how to use this API operation.
6405//
6406// The context must be non-nil and will be used for request cancellation. If
6407// the context is nil a panic will occur. In the future the SDK may create
6408// sub-contexts for http.Requests. See https://golang.org/pkg/context/
6409// for more information on using Contexts.
6410func (c *ServiceCatalog) ListServiceActionsWithContext(ctx aws.Context, input *ListServiceActionsInput, opts ...request.Option) (*ListServiceActionsOutput, error) {
6411	req, out := c.ListServiceActionsRequest(input)
6412	req.SetContext(ctx)
6413	req.ApplyOptions(opts...)
6414	return out, req.Send()
6415}
6416
6417// ListServiceActionsPages iterates over the pages of a ListServiceActions operation,
6418// calling the "fn" function with the response data for each page. To stop
6419// iterating, return false from the fn function.
6420//
6421// See ListServiceActions method for more information on how to use this operation.
6422//
6423// Note: This operation can generate multiple requests to a service.
6424//
6425//    // Example iterating over at most 3 pages of a ListServiceActions operation.
6426//    pageNum := 0
6427//    err := client.ListServiceActionsPages(params,
6428//        func(page *servicecatalog.ListServiceActionsOutput, lastPage bool) bool {
6429//            pageNum++
6430//            fmt.Println(page)
6431//            return pageNum <= 3
6432//        })
6433//
6434func (c *ServiceCatalog) ListServiceActionsPages(input *ListServiceActionsInput, fn func(*ListServiceActionsOutput, bool) bool) error {
6435	return c.ListServiceActionsPagesWithContext(aws.BackgroundContext(), input, fn)
6436}
6437
6438// ListServiceActionsPagesWithContext same as ListServiceActionsPages except
6439// it takes a Context and allows setting request options on the pages.
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) ListServiceActionsPagesWithContext(ctx aws.Context, input *ListServiceActionsInput, fn func(*ListServiceActionsOutput, bool) bool, opts ...request.Option) error {
6446	p := request.Pagination{
6447		NewRequest: func() (*request.Request, error) {
6448			var inCpy *ListServiceActionsInput
6449			if input != nil {
6450				tmp := *input
6451				inCpy = &tmp
6452			}
6453			req, _ := c.ListServiceActionsRequest(inCpy)
6454			req.SetContext(ctx)
6455			req.ApplyOptions(opts...)
6456			return req, nil
6457		},
6458	}
6459
6460	for p.Next() {
6461		if !fn(p.Page().(*ListServiceActionsOutput), !p.HasNextPage()) {
6462			break
6463		}
6464	}
6465
6466	return p.Err()
6467}
6468
6469const opListServiceActionsForProvisioningArtifact = "ListServiceActionsForProvisioningArtifact"
6470
6471// ListServiceActionsForProvisioningArtifactRequest generates a "aws/request.Request" representing the
6472// client's request for the ListServiceActionsForProvisioningArtifact operation. The "output" return
6473// value will be populated with the request's response once the request completes
6474// successfully.
6475//
6476// Use "Send" method on the returned Request to send the API call to the service.
6477// the "output" return value is not valid until after Send returns without error.
6478//
6479// See ListServiceActionsForProvisioningArtifact for more information on using the ListServiceActionsForProvisioningArtifact
6480// API call, and error handling.
6481//
6482// This method is useful when you want to inject custom logic or configuration
6483// into the SDK's request lifecycle. Such as custom headers, or retry logic.
6484//
6485//
6486//    // Example sending a request using the ListServiceActionsForProvisioningArtifactRequest method.
6487//    req, resp := client.ListServiceActionsForProvisioningArtifactRequest(params)
6488//
6489//    err := req.Send()
6490//    if err == nil { // resp is now filled
6491//        fmt.Println(resp)
6492//    }
6493//
6494// See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/ListServiceActionsForProvisioningArtifact
6495func (c *ServiceCatalog) ListServiceActionsForProvisioningArtifactRequest(input *ListServiceActionsForProvisioningArtifactInput) (req *request.Request, output *ListServiceActionsForProvisioningArtifactOutput) {
6496	op := &request.Operation{
6497		Name:       opListServiceActionsForProvisioningArtifact,
6498		HTTPMethod: "POST",
6499		HTTPPath:   "/",
6500		Paginator: &request.Paginator{
6501			InputTokens:     []string{"PageToken"},
6502			OutputTokens:    []string{"NextPageToken"},
6503			LimitToken:      "PageSize",
6504			TruncationToken: "",
6505		},
6506	}
6507
6508	if input == nil {
6509		input = &ListServiceActionsForProvisioningArtifactInput{}
6510	}
6511
6512	output = &ListServiceActionsForProvisioningArtifactOutput{}
6513	req = c.newRequest(op, input, output)
6514	return
6515}
6516
6517// ListServiceActionsForProvisioningArtifact API operation for AWS Service Catalog.
6518//
6519// Returns a paginated list of self-service actions associated with the specified
6520// Product ID and Provisioning Artifact ID.
6521//
6522// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
6523// with awserr.Error's Code and Message methods to get detailed information about
6524// the error.
6525//
6526// See the AWS API reference guide for AWS Service Catalog's
6527// API operation ListServiceActionsForProvisioningArtifact for usage and error information.
6528//
6529// Returned Error Types:
6530//   * ResourceNotFoundException
6531//   The specified resource was not found.
6532//
6533//   * InvalidParametersException
6534//   One or more parameters provided to the operation are not valid.
6535//
6536// See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/ListServiceActionsForProvisioningArtifact
6537func (c *ServiceCatalog) ListServiceActionsForProvisioningArtifact(input *ListServiceActionsForProvisioningArtifactInput) (*ListServiceActionsForProvisioningArtifactOutput, error) {
6538	req, out := c.ListServiceActionsForProvisioningArtifactRequest(input)
6539	return out, req.Send()
6540}
6541
6542// ListServiceActionsForProvisioningArtifactWithContext is the same as ListServiceActionsForProvisioningArtifact with the addition of
6543// the ability to pass a context and additional request options.
6544//
6545// See ListServiceActionsForProvisioningArtifact for details on how to use this API operation.
6546//
6547// The context must be non-nil and will be used for request cancellation. If
6548// the context is nil a panic will occur. In the future the SDK may create
6549// sub-contexts for http.Requests. See https://golang.org/pkg/context/
6550// for more information on using Contexts.
6551func (c *ServiceCatalog) ListServiceActionsForProvisioningArtifactWithContext(ctx aws.Context, input *ListServiceActionsForProvisioningArtifactInput, opts ...request.Option) (*ListServiceActionsForProvisioningArtifactOutput, error) {
6552	req, out := c.ListServiceActionsForProvisioningArtifactRequest(input)
6553	req.SetContext(ctx)
6554	req.ApplyOptions(opts...)
6555	return out, req.Send()
6556}
6557
6558// ListServiceActionsForProvisioningArtifactPages iterates over the pages of a ListServiceActionsForProvisioningArtifact operation,
6559// calling the "fn" function with the response data for each page. To stop
6560// iterating, return false from the fn function.
6561//
6562// See ListServiceActionsForProvisioningArtifact method for more information on how to use this operation.
6563//
6564// Note: This operation can generate multiple requests to a service.
6565//
6566//    // Example iterating over at most 3 pages of a ListServiceActionsForProvisioningArtifact operation.
6567//    pageNum := 0
6568//    err := client.ListServiceActionsForProvisioningArtifactPages(params,
6569//        func(page *servicecatalog.ListServiceActionsForProvisioningArtifactOutput, lastPage bool) bool {
6570//            pageNum++
6571//            fmt.Println(page)
6572//            return pageNum <= 3
6573//        })
6574//
6575func (c *ServiceCatalog) ListServiceActionsForProvisioningArtifactPages(input *ListServiceActionsForProvisioningArtifactInput, fn func(*ListServiceActionsForProvisioningArtifactOutput, bool) bool) error {
6576	return c.ListServiceActionsForProvisioningArtifactPagesWithContext(aws.BackgroundContext(), input, fn)
6577}
6578
6579// ListServiceActionsForProvisioningArtifactPagesWithContext same as ListServiceActionsForProvisioningArtifactPages except
6580// it takes a Context and allows setting request options on the pages.
6581//
6582// The context must be non-nil and will be used for request cancellation. If
6583// the context is nil a panic will occur. In the future the SDK may create
6584// sub-contexts for http.Requests. See https://golang.org/pkg/context/
6585// for more information on using Contexts.
6586func (c *ServiceCatalog) ListServiceActionsForProvisioningArtifactPagesWithContext(ctx aws.Context, input *ListServiceActionsForProvisioningArtifactInput, fn func(*ListServiceActionsForProvisioningArtifactOutput, bool) bool, opts ...request.Option) error {
6587	p := request.Pagination{
6588		NewRequest: func() (*request.Request, error) {
6589			var inCpy *ListServiceActionsForProvisioningArtifactInput
6590			if input != nil {
6591				tmp := *input
6592				inCpy = &tmp
6593			}
6594			req, _ := c.ListServiceActionsForProvisioningArtifactRequest(inCpy)
6595			req.SetContext(ctx)
6596			req.ApplyOptions(opts...)
6597			return req, nil
6598		},
6599	}
6600
6601	for p.Next() {
6602		if !fn(p.Page().(*ListServiceActionsForProvisioningArtifactOutput), !p.HasNextPage()) {
6603			break
6604		}
6605	}
6606
6607	return p.Err()
6608}
6609
6610const opListStackInstancesForProvisionedProduct = "ListStackInstancesForProvisionedProduct"
6611
6612// ListStackInstancesForProvisionedProductRequest generates a "aws/request.Request" representing the
6613// client's request for the ListStackInstancesForProvisionedProduct operation. The "output" return
6614// value will be populated with the request's response once the request completes
6615// successfully.
6616//
6617// Use "Send" method on the returned Request to send the API call to the service.
6618// the "output" return value is not valid until after Send returns without error.
6619//
6620// See ListStackInstancesForProvisionedProduct for more information on using the ListStackInstancesForProvisionedProduct
6621// API call, and error handling.
6622//
6623// This method is useful when you want to inject custom logic or configuration
6624// into the SDK's request lifecycle. Such as custom headers, or retry logic.
6625//
6626//
6627//    // Example sending a request using the ListStackInstancesForProvisionedProductRequest method.
6628//    req, resp := client.ListStackInstancesForProvisionedProductRequest(params)
6629//
6630//    err := req.Send()
6631//    if err == nil { // resp is now filled
6632//        fmt.Println(resp)
6633//    }
6634//
6635// See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/ListStackInstancesForProvisionedProduct
6636func (c *ServiceCatalog) ListStackInstancesForProvisionedProductRequest(input *ListStackInstancesForProvisionedProductInput) (req *request.Request, output *ListStackInstancesForProvisionedProductOutput) {
6637	op := &request.Operation{
6638		Name:       opListStackInstancesForProvisionedProduct,
6639		HTTPMethod: "POST",
6640		HTTPPath:   "/",
6641	}
6642
6643	if input == nil {
6644		input = &ListStackInstancesForProvisionedProductInput{}
6645	}
6646
6647	output = &ListStackInstancesForProvisionedProductOutput{}
6648	req = c.newRequest(op, input, output)
6649	return
6650}
6651
6652// ListStackInstancesForProvisionedProduct API operation for AWS Service Catalog.
6653//
6654// Returns summary information about stack instances that are associated with
6655// the specified CFN_STACKSET type provisioned product. You can filter for stack
6656// instances that are associated with a specific AWS account name or region.
6657//
6658// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
6659// with awserr.Error's Code and Message methods to get detailed information about
6660// the error.
6661//
6662// See the AWS API reference guide for AWS Service Catalog's
6663// API operation ListStackInstancesForProvisionedProduct for usage and error information.
6664//
6665// Returned Error Types:
6666//   * InvalidParametersException
6667//   One or more parameters provided to the operation are not valid.
6668//
6669//   * ResourceNotFoundException
6670//   The specified resource was not found.
6671//
6672// See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/ListStackInstancesForProvisionedProduct
6673func (c *ServiceCatalog) ListStackInstancesForProvisionedProduct(input *ListStackInstancesForProvisionedProductInput) (*ListStackInstancesForProvisionedProductOutput, error) {
6674	req, out := c.ListStackInstancesForProvisionedProductRequest(input)
6675	return out, req.Send()
6676}
6677
6678// ListStackInstancesForProvisionedProductWithContext is the same as ListStackInstancesForProvisionedProduct with the addition of
6679// the ability to pass a context and additional request options.
6680//
6681// See ListStackInstancesForProvisionedProduct for details on how to use this API operation.
6682//
6683// The context must be non-nil and will be used for request cancellation. If
6684// the context is nil a panic will occur. In the future the SDK may create
6685// sub-contexts for http.Requests. See https://golang.org/pkg/context/
6686// for more information on using Contexts.
6687func (c *ServiceCatalog) ListStackInstancesForProvisionedProductWithContext(ctx aws.Context, input *ListStackInstancesForProvisionedProductInput, opts ...request.Option) (*ListStackInstancesForProvisionedProductOutput, error) {
6688	req, out := c.ListStackInstancesForProvisionedProductRequest(input)
6689	req.SetContext(ctx)
6690	req.ApplyOptions(opts...)
6691	return out, req.Send()
6692}
6693
6694const opListTagOptions = "ListTagOptions"
6695
6696// ListTagOptionsRequest generates a "aws/request.Request" representing the
6697// client's request for the ListTagOptions operation. The "output" return
6698// value will be populated with the request's response once the request completes
6699// successfully.
6700//
6701// Use "Send" method on the returned Request to send the API call to the service.
6702// the "output" return value is not valid until after Send returns without error.
6703//
6704// See ListTagOptions for more information on using the ListTagOptions
6705// API call, and error handling.
6706//
6707// This method is useful when you want to inject custom logic or configuration
6708// into the SDK's request lifecycle. Such as custom headers, or retry logic.
6709//
6710//
6711//    // Example sending a request using the ListTagOptionsRequest method.
6712//    req, resp := client.ListTagOptionsRequest(params)
6713//
6714//    err := req.Send()
6715//    if err == nil { // resp is now filled
6716//        fmt.Println(resp)
6717//    }
6718//
6719// See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/ListTagOptions
6720func (c *ServiceCatalog) ListTagOptionsRequest(input *ListTagOptionsInput) (req *request.Request, output *ListTagOptionsOutput) {
6721	op := &request.Operation{
6722		Name:       opListTagOptions,
6723		HTTPMethod: "POST",
6724		HTTPPath:   "/",
6725		Paginator: &request.Paginator{
6726			InputTokens:     []string{"PageToken"},
6727			OutputTokens:    []string{"PageToken"},
6728			LimitToken:      "PageSize",
6729			TruncationToken: "",
6730		},
6731	}
6732
6733	if input == nil {
6734		input = &ListTagOptionsInput{}
6735	}
6736
6737	output = &ListTagOptionsOutput{}
6738	req = c.newRequest(op, input, output)
6739	return
6740}
6741
6742// ListTagOptions API operation for AWS Service Catalog.
6743//
6744// Lists the specified TagOptions or all TagOptions.
6745//
6746// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
6747// with awserr.Error's Code and Message methods to get detailed information about
6748// the error.
6749//
6750// See the AWS API reference guide for AWS Service Catalog's
6751// API operation ListTagOptions for usage and error information.
6752//
6753// Returned Error Types:
6754//   * TagOptionNotMigratedException
6755//   An operation requiring TagOptions failed because the TagOptions migration
6756//   process has not been performed for this account. Please use the AWS console
6757//   to perform the migration process before retrying the operation.
6758//
6759//   * InvalidParametersException
6760//   One or more parameters provided to the operation are not valid.
6761//
6762// See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/ListTagOptions
6763func (c *ServiceCatalog) ListTagOptions(input *ListTagOptionsInput) (*ListTagOptionsOutput, error) {
6764	req, out := c.ListTagOptionsRequest(input)
6765	return out, req.Send()
6766}
6767
6768// ListTagOptionsWithContext is the same as ListTagOptions with the addition of
6769// the ability to pass a context and additional request options.
6770//
6771// See ListTagOptions for details on how to use this API operation.
6772//
6773// The context must be non-nil and will be used for request cancellation. If
6774// the context is nil a panic will occur. In the future the SDK may create
6775// sub-contexts for http.Requests. See https://golang.org/pkg/context/
6776// for more information on using Contexts.
6777func (c *ServiceCatalog) ListTagOptionsWithContext(ctx aws.Context, input *ListTagOptionsInput, opts ...request.Option) (*ListTagOptionsOutput, error) {
6778	req, out := c.ListTagOptionsRequest(input)
6779	req.SetContext(ctx)
6780	req.ApplyOptions(opts...)
6781	return out, req.Send()
6782}
6783
6784// ListTagOptionsPages iterates over the pages of a ListTagOptions operation,
6785// calling the "fn" function with the response data for each page. To stop
6786// iterating, return false from the fn function.
6787//
6788// See ListTagOptions method for more information on how to use this operation.
6789//
6790// Note: This operation can generate multiple requests to a service.
6791//
6792//    // Example iterating over at most 3 pages of a ListTagOptions operation.
6793//    pageNum := 0
6794//    err := client.ListTagOptionsPages(params,
6795//        func(page *servicecatalog.ListTagOptionsOutput, lastPage bool) bool {
6796//            pageNum++
6797//            fmt.Println(page)
6798//            return pageNum <= 3
6799//        })
6800//
6801func (c *ServiceCatalog) ListTagOptionsPages(input *ListTagOptionsInput, fn func(*ListTagOptionsOutput, bool) bool) error {
6802	return c.ListTagOptionsPagesWithContext(aws.BackgroundContext(), input, fn)
6803}
6804
6805// ListTagOptionsPagesWithContext same as ListTagOptionsPages except
6806// it takes a Context and allows setting request options on the pages.
6807//
6808// The context must be non-nil and will be used for request cancellation. If
6809// the context is nil a panic will occur. In the future the SDK may create
6810// sub-contexts for http.Requests. See https://golang.org/pkg/context/
6811// for more information on using Contexts.
6812func (c *ServiceCatalog) ListTagOptionsPagesWithContext(ctx aws.Context, input *ListTagOptionsInput, fn func(*ListTagOptionsOutput, bool) bool, opts ...request.Option) error {
6813	p := request.Pagination{
6814		NewRequest: func() (*request.Request, error) {
6815			var inCpy *ListTagOptionsInput
6816			if input != nil {
6817				tmp := *input
6818				inCpy = &tmp
6819			}
6820			req, _ := c.ListTagOptionsRequest(inCpy)
6821			req.SetContext(ctx)
6822			req.ApplyOptions(opts...)
6823			return req, nil
6824		},
6825	}
6826
6827	for p.Next() {
6828		if !fn(p.Page().(*ListTagOptionsOutput), !p.HasNextPage()) {
6829			break
6830		}
6831	}
6832
6833	return p.Err()
6834}
6835
6836const opProvisionProduct = "ProvisionProduct"
6837
6838// ProvisionProductRequest generates a "aws/request.Request" representing the
6839// client's request for the ProvisionProduct operation. The "output" return
6840// value will be populated with the request's response once the request completes
6841// successfully.
6842//
6843// Use "Send" method on the returned Request to send the API call to the service.
6844// the "output" return value is not valid until after Send returns without error.
6845//
6846// See ProvisionProduct for more information on using the ProvisionProduct
6847// API call, and error handling.
6848//
6849// This method is useful when you want to inject custom logic or configuration
6850// into the SDK's request lifecycle. Such as custom headers, or retry logic.
6851//
6852//
6853//    // Example sending a request using the ProvisionProductRequest method.
6854//    req, resp := client.ProvisionProductRequest(params)
6855//
6856//    err := req.Send()
6857//    if err == nil { // resp is now filled
6858//        fmt.Println(resp)
6859//    }
6860//
6861// See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/ProvisionProduct
6862func (c *ServiceCatalog) ProvisionProductRequest(input *ProvisionProductInput) (req *request.Request, output *ProvisionProductOutput) {
6863	op := &request.Operation{
6864		Name:       opProvisionProduct,
6865		HTTPMethod: "POST",
6866		HTTPPath:   "/",
6867	}
6868
6869	if input == nil {
6870		input = &ProvisionProductInput{}
6871	}
6872
6873	output = &ProvisionProductOutput{}
6874	req = c.newRequest(op, input, output)
6875	return
6876}
6877
6878// ProvisionProduct API operation for AWS Service Catalog.
6879//
6880// Provisions the specified product.
6881//
6882// A provisioned product is a resourced instance of a product. For example,
6883// provisioning a product based on a CloudFormation template launches a CloudFormation
6884// stack and its underlying resources. You can check the status of this request
6885// using DescribeRecord.
6886//
6887// If the request contains a tag key with an empty list of values, there is
6888// a tag conflict for that key. Do not include conflicted keys as tags, or this
6889// causes the error "Parameter validation failed: Missing required parameter
6890// in Tags[N]:Value".
6891//
6892// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
6893// with awserr.Error's Code and Message methods to get detailed information about
6894// the error.
6895//
6896// See the AWS API reference guide for AWS Service Catalog's
6897// API operation ProvisionProduct for usage and error information.
6898//
6899// Returned Error Types:
6900//   * InvalidParametersException
6901//   One or more parameters provided to the operation are not valid.
6902//
6903//   * ResourceNotFoundException
6904//   The specified resource was not found.
6905//
6906//   * DuplicateResourceException
6907//   The specified resource is a duplicate.
6908//
6909// See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/ProvisionProduct
6910func (c *ServiceCatalog) ProvisionProduct(input *ProvisionProductInput) (*ProvisionProductOutput, error) {
6911	req, out := c.ProvisionProductRequest(input)
6912	return out, req.Send()
6913}
6914
6915// ProvisionProductWithContext is the same as ProvisionProduct with the addition of
6916// the ability to pass a context and additional request options.
6917//
6918// See ProvisionProduct for details on how to use this API operation.
6919//
6920// The context must be non-nil and will be used for request cancellation. If
6921// the context is nil a panic will occur. In the future the SDK may create
6922// sub-contexts for http.Requests. See https://golang.org/pkg/context/
6923// for more information on using Contexts.
6924func (c *ServiceCatalog) ProvisionProductWithContext(ctx aws.Context, input *ProvisionProductInput, opts ...request.Option) (*ProvisionProductOutput, error) {
6925	req, out := c.ProvisionProductRequest(input)
6926	req.SetContext(ctx)
6927	req.ApplyOptions(opts...)
6928	return out, req.Send()
6929}
6930
6931const opRejectPortfolioShare = "RejectPortfolioShare"
6932
6933// RejectPortfolioShareRequest generates a "aws/request.Request" representing the
6934// client's request for the RejectPortfolioShare operation. The "output" return
6935// value will be populated with the request's response once the request completes
6936// successfully.
6937//
6938// Use "Send" method on the returned Request to send the API call to the service.
6939// the "output" return value is not valid until after Send returns without error.
6940//
6941// See RejectPortfolioShare for more information on using the RejectPortfolioShare
6942// API call, and error handling.
6943//
6944// This method is useful when you want to inject custom logic or configuration
6945// into the SDK's request lifecycle. Such as custom headers, or retry logic.
6946//
6947//
6948//    // Example sending a request using the RejectPortfolioShareRequest method.
6949//    req, resp := client.RejectPortfolioShareRequest(params)
6950//
6951//    err := req.Send()
6952//    if err == nil { // resp is now filled
6953//        fmt.Println(resp)
6954//    }
6955//
6956// See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/RejectPortfolioShare
6957func (c *ServiceCatalog) RejectPortfolioShareRequest(input *RejectPortfolioShareInput) (req *request.Request, output *RejectPortfolioShareOutput) {
6958	op := &request.Operation{
6959		Name:       opRejectPortfolioShare,
6960		HTTPMethod: "POST",
6961		HTTPPath:   "/",
6962	}
6963
6964	if input == nil {
6965		input = &RejectPortfolioShareInput{}
6966	}
6967
6968	output = &RejectPortfolioShareOutput{}
6969	req = c.newRequest(op, input, output)
6970	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
6971	return
6972}
6973
6974// RejectPortfolioShare API operation for AWS Service Catalog.
6975//
6976// Rejects an offer to share the specified portfolio.
6977//
6978// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
6979// with awserr.Error's Code and Message methods to get detailed information about
6980// the error.
6981//
6982// See the AWS API reference guide for AWS Service Catalog's
6983// API operation RejectPortfolioShare for usage and error information.
6984//
6985// Returned Error Types:
6986//   * ResourceNotFoundException
6987//   The specified resource was not found.
6988//
6989// See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/RejectPortfolioShare
6990func (c *ServiceCatalog) RejectPortfolioShare(input *RejectPortfolioShareInput) (*RejectPortfolioShareOutput, error) {
6991	req, out := c.RejectPortfolioShareRequest(input)
6992	return out, req.Send()
6993}
6994
6995// RejectPortfolioShareWithContext is the same as RejectPortfolioShare with the addition of
6996// the ability to pass a context and additional request options.
6997//
6998// See RejectPortfolioShare for details on how to use this API operation.
6999//
7000// The context must be non-nil and will be used for request cancellation. If
7001// the context is nil a panic will occur. In the future the SDK may create
7002// sub-contexts for http.Requests. See https://golang.org/pkg/context/
7003// for more information on using Contexts.
7004func (c *ServiceCatalog) RejectPortfolioShareWithContext(ctx aws.Context, input *RejectPortfolioShareInput, opts ...request.Option) (*RejectPortfolioShareOutput, error) {
7005	req, out := c.RejectPortfolioShareRequest(input)
7006	req.SetContext(ctx)
7007	req.ApplyOptions(opts...)
7008	return out, req.Send()
7009}
7010
7011const opScanProvisionedProducts = "ScanProvisionedProducts"
7012
7013// ScanProvisionedProductsRequest generates a "aws/request.Request" representing the
7014// client's request for the ScanProvisionedProducts operation. The "output" return
7015// value will be populated with the request's response once the request completes
7016// successfully.
7017//
7018// Use "Send" method on the returned Request to send the API call to the service.
7019// the "output" return value is not valid until after Send returns without error.
7020//
7021// See ScanProvisionedProducts for more information on using the ScanProvisionedProducts
7022// API call, and error handling.
7023//
7024// This method is useful when you want to inject custom logic or configuration
7025// into the SDK's request lifecycle. Such as custom headers, or retry logic.
7026//
7027//
7028//    // Example sending a request using the ScanProvisionedProductsRequest method.
7029//    req, resp := client.ScanProvisionedProductsRequest(params)
7030//
7031//    err := req.Send()
7032//    if err == nil { // resp is now filled
7033//        fmt.Println(resp)
7034//    }
7035//
7036// See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/ScanProvisionedProducts
7037func (c *ServiceCatalog) ScanProvisionedProductsRequest(input *ScanProvisionedProductsInput) (req *request.Request, output *ScanProvisionedProductsOutput) {
7038	op := &request.Operation{
7039		Name:       opScanProvisionedProducts,
7040		HTTPMethod: "POST",
7041		HTTPPath:   "/",
7042	}
7043
7044	if input == nil {
7045		input = &ScanProvisionedProductsInput{}
7046	}
7047
7048	output = &ScanProvisionedProductsOutput{}
7049	req = c.newRequest(op, input, output)
7050	return
7051}
7052
7053// ScanProvisionedProducts API operation for AWS Service Catalog.
7054//
7055// Lists the provisioned products that are available (not terminated).
7056//
7057// To use additional filtering, see SearchProvisionedProducts.
7058//
7059// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
7060// with awserr.Error's Code and Message methods to get detailed information about
7061// the error.
7062//
7063// See the AWS API reference guide for AWS Service Catalog's
7064// API operation ScanProvisionedProducts for usage and error information.
7065//
7066// Returned Error Types:
7067//   * InvalidParametersException
7068//   One or more parameters provided to the operation are not valid.
7069//
7070// See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/ScanProvisionedProducts
7071func (c *ServiceCatalog) ScanProvisionedProducts(input *ScanProvisionedProductsInput) (*ScanProvisionedProductsOutput, error) {
7072	req, out := c.ScanProvisionedProductsRequest(input)
7073	return out, req.Send()
7074}
7075
7076// ScanProvisionedProductsWithContext is the same as ScanProvisionedProducts with the addition of
7077// the ability to pass a context and additional request options.
7078//
7079// See ScanProvisionedProducts for details on how to use this API operation.
7080//
7081// The context must be non-nil and will be used for request cancellation. If
7082// the context is nil a panic will occur. In the future the SDK may create
7083// sub-contexts for http.Requests. See https://golang.org/pkg/context/
7084// for more information on using Contexts.
7085func (c *ServiceCatalog) ScanProvisionedProductsWithContext(ctx aws.Context, input *ScanProvisionedProductsInput, opts ...request.Option) (*ScanProvisionedProductsOutput, error) {
7086	req, out := c.ScanProvisionedProductsRequest(input)
7087	req.SetContext(ctx)
7088	req.ApplyOptions(opts...)
7089	return out, req.Send()
7090}
7091
7092const opSearchProducts = "SearchProducts"
7093
7094// SearchProductsRequest generates a "aws/request.Request" representing the
7095// client's request for the SearchProducts operation. The "output" return
7096// value will be populated with the request's response once the request completes
7097// successfully.
7098//
7099// Use "Send" method on the returned Request to send the API call to the service.
7100// the "output" return value is not valid until after Send returns without error.
7101//
7102// See SearchProducts for more information on using the SearchProducts
7103// API call, and error handling.
7104//
7105// This method is useful when you want to inject custom logic or configuration
7106// into the SDK's request lifecycle. Such as custom headers, or retry logic.
7107//
7108//
7109//    // Example sending a request using the SearchProductsRequest method.
7110//    req, resp := client.SearchProductsRequest(params)
7111//
7112//    err := req.Send()
7113//    if err == nil { // resp is now filled
7114//        fmt.Println(resp)
7115//    }
7116//
7117// See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/SearchProducts
7118func (c *ServiceCatalog) SearchProductsRequest(input *SearchProductsInput) (req *request.Request, output *SearchProductsOutput) {
7119	op := &request.Operation{
7120		Name:       opSearchProducts,
7121		HTTPMethod: "POST",
7122		HTTPPath:   "/",
7123		Paginator: &request.Paginator{
7124			InputTokens:     []string{"PageToken"},
7125			OutputTokens:    []string{"NextPageToken"},
7126			LimitToken:      "PageSize",
7127			TruncationToken: "",
7128		},
7129	}
7130
7131	if input == nil {
7132		input = &SearchProductsInput{}
7133	}
7134
7135	output = &SearchProductsOutput{}
7136	req = c.newRequest(op, input, output)
7137	return
7138}
7139
7140// SearchProducts API operation for AWS Service Catalog.
7141//
7142// Gets information about the products to which the caller has access.
7143//
7144// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
7145// with awserr.Error's Code and Message methods to get detailed information about
7146// the error.
7147//
7148// See the AWS API reference guide for AWS Service Catalog's
7149// API operation SearchProducts for usage and error information.
7150//
7151// Returned Error Types:
7152//   * InvalidParametersException
7153//   One or more parameters provided to the operation are not valid.
7154//
7155// See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/SearchProducts
7156func (c *ServiceCatalog) SearchProducts(input *SearchProductsInput) (*SearchProductsOutput, error) {
7157	req, out := c.SearchProductsRequest(input)
7158	return out, req.Send()
7159}
7160
7161// SearchProductsWithContext is the same as SearchProducts with the addition of
7162// the ability to pass a context and additional request options.
7163//
7164// See SearchProducts for details on how to use this API operation.
7165//
7166// The context must be non-nil and will be used for request cancellation. If
7167// the context is nil a panic will occur. In the future the SDK may create
7168// sub-contexts for http.Requests. See https://golang.org/pkg/context/
7169// for more information on using Contexts.
7170func (c *ServiceCatalog) SearchProductsWithContext(ctx aws.Context, input *SearchProductsInput, opts ...request.Option) (*SearchProductsOutput, error) {
7171	req, out := c.SearchProductsRequest(input)
7172	req.SetContext(ctx)
7173	req.ApplyOptions(opts...)
7174	return out, req.Send()
7175}
7176
7177// SearchProductsPages iterates over the pages of a SearchProducts operation,
7178// calling the "fn" function with the response data for each page. To stop
7179// iterating, return false from the fn function.
7180//
7181// See SearchProducts method for more information on how to use this operation.
7182//
7183// Note: This operation can generate multiple requests to a service.
7184//
7185//    // Example iterating over at most 3 pages of a SearchProducts operation.
7186//    pageNum := 0
7187//    err := client.SearchProductsPages(params,
7188//        func(page *servicecatalog.SearchProductsOutput, lastPage bool) bool {
7189//            pageNum++
7190//            fmt.Println(page)
7191//            return pageNum <= 3
7192//        })
7193//
7194func (c *ServiceCatalog) SearchProductsPages(input *SearchProductsInput, fn func(*SearchProductsOutput, bool) bool) error {
7195	return c.SearchProductsPagesWithContext(aws.BackgroundContext(), input, fn)
7196}
7197
7198// SearchProductsPagesWithContext same as SearchProductsPages except
7199// it takes a Context and allows setting request options on the pages.
7200//
7201// The context must be non-nil and will be used for request cancellation. If
7202// the context is nil a panic will occur. In the future the SDK may create
7203// sub-contexts for http.Requests. See https://golang.org/pkg/context/
7204// for more information on using Contexts.
7205func (c *ServiceCatalog) SearchProductsPagesWithContext(ctx aws.Context, input *SearchProductsInput, fn func(*SearchProductsOutput, bool) bool, opts ...request.Option) error {
7206	p := request.Pagination{
7207		NewRequest: func() (*request.Request, error) {
7208			var inCpy *SearchProductsInput
7209			if input != nil {
7210				tmp := *input
7211				inCpy = &tmp
7212			}
7213			req, _ := c.SearchProductsRequest(inCpy)
7214			req.SetContext(ctx)
7215			req.ApplyOptions(opts...)
7216			return req, nil
7217		},
7218	}
7219
7220	for p.Next() {
7221		if !fn(p.Page().(*SearchProductsOutput), !p.HasNextPage()) {
7222			break
7223		}
7224	}
7225
7226	return p.Err()
7227}
7228
7229const opSearchProductsAsAdmin = "SearchProductsAsAdmin"
7230
7231// SearchProductsAsAdminRequest generates a "aws/request.Request" representing the
7232// client's request for the SearchProductsAsAdmin operation. The "output" return
7233// value will be populated with the request's response once the request completes
7234// successfully.
7235//
7236// Use "Send" method on the returned Request to send the API call to the service.
7237// the "output" return value is not valid until after Send returns without error.
7238//
7239// See SearchProductsAsAdmin for more information on using the SearchProductsAsAdmin
7240// API call, and error handling.
7241//
7242// This method is useful when you want to inject custom logic or configuration
7243// into the SDK's request lifecycle. Such as custom headers, or retry logic.
7244//
7245//
7246//    // Example sending a request using the SearchProductsAsAdminRequest method.
7247//    req, resp := client.SearchProductsAsAdminRequest(params)
7248//
7249//    err := req.Send()
7250//    if err == nil { // resp is now filled
7251//        fmt.Println(resp)
7252//    }
7253//
7254// See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/SearchProductsAsAdmin
7255func (c *ServiceCatalog) SearchProductsAsAdminRequest(input *SearchProductsAsAdminInput) (req *request.Request, output *SearchProductsAsAdminOutput) {
7256	op := &request.Operation{
7257		Name:       opSearchProductsAsAdmin,
7258		HTTPMethod: "POST",
7259		HTTPPath:   "/",
7260		Paginator: &request.Paginator{
7261			InputTokens:     []string{"PageToken"},
7262			OutputTokens:    []string{"NextPageToken"},
7263			LimitToken:      "PageSize",
7264			TruncationToken: "",
7265		},
7266	}
7267
7268	if input == nil {
7269		input = &SearchProductsAsAdminInput{}
7270	}
7271
7272	output = &SearchProductsAsAdminOutput{}
7273	req = c.newRequest(op, input, output)
7274	return
7275}
7276
7277// SearchProductsAsAdmin API operation for AWS Service Catalog.
7278//
7279// Gets information about the products for the specified portfolio or all products.
7280//
7281// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
7282// with awserr.Error's Code and Message methods to get detailed information about
7283// the error.
7284//
7285// See the AWS API reference guide for AWS Service Catalog's
7286// API operation SearchProductsAsAdmin for usage and error information.
7287//
7288// Returned Error Types:
7289//   * ResourceNotFoundException
7290//   The specified resource was not found.
7291//
7292//   * InvalidParametersException
7293//   One or more parameters provided to the operation are not valid.
7294//
7295// See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/SearchProductsAsAdmin
7296func (c *ServiceCatalog) SearchProductsAsAdmin(input *SearchProductsAsAdminInput) (*SearchProductsAsAdminOutput, error) {
7297	req, out := c.SearchProductsAsAdminRequest(input)
7298	return out, req.Send()
7299}
7300
7301// SearchProductsAsAdminWithContext is the same as SearchProductsAsAdmin with the addition of
7302// the ability to pass a context and additional request options.
7303//
7304// See SearchProductsAsAdmin for details on how to use this API operation.
7305//
7306// The context must be non-nil and will be used for request cancellation. If
7307// the context is nil a panic will occur. In the future the SDK may create
7308// sub-contexts for http.Requests. See https://golang.org/pkg/context/
7309// for more information on using Contexts.
7310func (c *ServiceCatalog) SearchProductsAsAdminWithContext(ctx aws.Context, input *SearchProductsAsAdminInput, opts ...request.Option) (*SearchProductsAsAdminOutput, error) {
7311	req, out := c.SearchProductsAsAdminRequest(input)
7312	req.SetContext(ctx)
7313	req.ApplyOptions(opts...)
7314	return out, req.Send()
7315}
7316
7317// SearchProductsAsAdminPages iterates over the pages of a SearchProductsAsAdmin operation,
7318// calling the "fn" function with the response data for each page. To stop
7319// iterating, return false from the fn function.
7320//
7321// See SearchProductsAsAdmin method for more information on how to use this operation.
7322//
7323// Note: This operation can generate multiple requests to a service.
7324//
7325//    // Example iterating over at most 3 pages of a SearchProductsAsAdmin operation.
7326//    pageNum := 0
7327//    err := client.SearchProductsAsAdminPages(params,
7328//        func(page *servicecatalog.SearchProductsAsAdminOutput, lastPage bool) bool {
7329//            pageNum++
7330//            fmt.Println(page)
7331//            return pageNum <= 3
7332//        })
7333//
7334func (c *ServiceCatalog) SearchProductsAsAdminPages(input *SearchProductsAsAdminInput, fn func(*SearchProductsAsAdminOutput, bool) bool) error {
7335	return c.SearchProductsAsAdminPagesWithContext(aws.BackgroundContext(), input, fn)
7336}
7337
7338// SearchProductsAsAdminPagesWithContext same as SearchProductsAsAdminPages except
7339// it takes a Context and allows setting request options on the pages.
7340//
7341// The context must be non-nil and will be used for request cancellation. If
7342// the context is nil a panic will occur. In the future the SDK may create
7343// sub-contexts for http.Requests. See https://golang.org/pkg/context/
7344// for more information on using Contexts.
7345func (c *ServiceCatalog) SearchProductsAsAdminPagesWithContext(ctx aws.Context, input *SearchProductsAsAdminInput, fn func(*SearchProductsAsAdminOutput, bool) bool, opts ...request.Option) error {
7346	p := request.Pagination{
7347		NewRequest: func() (*request.Request, error) {
7348			var inCpy *SearchProductsAsAdminInput
7349			if input != nil {
7350				tmp := *input
7351				inCpy = &tmp
7352			}
7353			req, _ := c.SearchProductsAsAdminRequest(inCpy)
7354			req.SetContext(ctx)
7355			req.ApplyOptions(opts...)
7356			return req, nil
7357		},
7358	}
7359
7360	for p.Next() {
7361		if !fn(p.Page().(*SearchProductsAsAdminOutput), !p.HasNextPage()) {
7362			break
7363		}
7364	}
7365
7366	return p.Err()
7367}
7368
7369const opSearchProvisionedProducts = "SearchProvisionedProducts"
7370
7371// SearchProvisionedProductsRequest generates a "aws/request.Request" representing the
7372// client's request for the SearchProvisionedProducts operation. The "output" return
7373// value will be populated with the request's response once the request completes
7374// successfully.
7375//
7376// Use "Send" method on the returned Request to send the API call to the service.
7377// the "output" return value is not valid until after Send returns without error.
7378//
7379// See SearchProvisionedProducts for more information on using the SearchProvisionedProducts
7380// API call, and error handling.
7381//
7382// This method is useful when you want to inject custom logic or configuration
7383// into the SDK's request lifecycle. Such as custom headers, or retry logic.
7384//
7385//
7386//    // Example sending a request using the SearchProvisionedProductsRequest method.
7387//    req, resp := client.SearchProvisionedProductsRequest(params)
7388//
7389//    err := req.Send()
7390//    if err == nil { // resp is now filled
7391//        fmt.Println(resp)
7392//    }
7393//
7394// See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/SearchProvisionedProducts
7395func (c *ServiceCatalog) SearchProvisionedProductsRequest(input *SearchProvisionedProductsInput) (req *request.Request, output *SearchProvisionedProductsOutput) {
7396	op := &request.Operation{
7397		Name:       opSearchProvisionedProducts,
7398		HTTPMethod: "POST",
7399		HTTPPath:   "/",
7400		Paginator: &request.Paginator{
7401			InputTokens:     []string{"PageToken"},
7402			OutputTokens:    []string{"NextPageToken"},
7403			LimitToken:      "PageSize",
7404			TruncationToken: "",
7405		},
7406	}
7407
7408	if input == nil {
7409		input = &SearchProvisionedProductsInput{}
7410	}
7411
7412	output = &SearchProvisionedProductsOutput{}
7413	req = c.newRequest(op, input, output)
7414	return
7415}
7416
7417// SearchProvisionedProducts API operation for AWS Service Catalog.
7418//
7419// Gets information about the provisioned products that meet the specified criteria.
7420//
7421// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
7422// with awserr.Error's Code and Message methods to get detailed information about
7423// the error.
7424//
7425// See the AWS API reference guide for AWS Service Catalog's
7426// API operation SearchProvisionedProducts for usage and error information.
7427//
7428// Returned Error Types:
7429//   * InvalidParametersException
7430//   One or more parameters provided to the operation are not valid.
7431//
7432// See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/SearchProvisionedProducts
7433func (c *ServiceCatalog) SearchProvisionedProducts(input *SearchProvisionedProductsInput) (*SearchProvisionedProductsOutput, error) {
7434	req, out := c.SearchProvisionedProductsRequest(input)
7435	return out, req.Send()
7436}
7437
7438// SearchProvisionedProductsWithContext is the same as SearchProvisionedProducts with the addition of
7439// the ability to pass a context and additional request options.
7440//
7441// See SearchProvisionedProducts for details on how to use this API operation.
7442//
7443// The context must be non-nil and will be used for request cancellation. If
7444// the context is nil a panic will occur. In the future the SDK may create
7445// sub-contexts for http.Requests. See https://golang.org/pkg/context/
7446// for more information on using Contexts.
7447func (c *ServiceCatalog) SearchProvisionedProductsWithContext(ctx aws.Context, input *SearchProvisionedProductsInput, opts ...request.Option) (*SearchProvisionedProductsOutput, error) {
7448	req, out := c.SearchProvisionedProductsRequest(input)
7449	req.SetContext(ctx)
7450	req.ApplyOptions(opts...)
7451	return out, req.Send()
7452}
7453
7454// SearchProvisionedProductsPages iterates over the pages of a SearchProvisionedProducts operation,
7455// calling the "fn" function with the response data for each page. To stop
7456// iterating, return false from the fn function.
7457//
7458// See SearchProvisionedProducts method for more information on how to use this operation.
7459//
7460// Note: This operation can generate multiple requests to a service.
7461//
7462//    // Example iterating over at most 3 pages of a SearchProvisionedProducts operation.
7463//    pageNum := 0
7464//    err := client.SearchProvisionedProductsPages(params,
7465//        func(page *servicecatalog.SearchProvisionedProductsOutput, lastPage bool) bool {
7466//            pageNum++
7467//            fmt.Println(page)
7468//            return pageNum <= 3
7469//        })
7470//
7471func (c *ServiceCatalog) SearchProvisionedProductsPages(input *SearchProvisionedProductsInput, fn func(*SearchProvisionedProductsOutput, bool) bool) error {
7472	return c.SearchProvisionedProductsPagesWithContext(aws.BackgroundContext(), input, fn)
7473}
7474
7475// SearchProvisionedProductsPagesWithContext same as SearchProvisionedProductsPages except
7476// it takes a Context and allows setting request options on the pages.
7477//
7478// The context must be non-nil and will be used for request cancellation. If
7479// the context is nil a panic will occur. In the future the SDK may create
7480// sub-contexts for http.Requests. See https://golang.org/pkg/context/
7481// for more information on using Contexts.
7482func (c *ServiceCatalog) SearchProvisionedProductsPagesWithContext(ctx aws.Context, input *SearchProvisionedProductsInput, fn func(*SearchProvisionedProductsOutput, bool) bool, opts ...request.Option) error {
7483	p := request.Pagination{
7484		NewRequest: func() (*request.Request, error) {
7485			var inCpy *SearchProvisionedProductsInput
7486			if input != nil {
7487				tmp := *input
7488				inCpy = &tmp
7489			}
7490			req, _ := c.SearchProvisionedProductsRequest(inCpy)
7491			req.SetContext(ctx)
7492			req.ApplyOptions(opts...)
7493			return req, nil
7494		},
7495	}
7496
7497	for p.Next() {
7498		if !fn(p.Page().(*SearchProvisionedProductsOutput), !p.HasNextPage()) {
7499			break
7500		}
7501	}
7502
7503	return p.Err()
7504}
7505
7506const opTerminateProvisionedProduct = "TerminateProvisionedProduct"
7507
7508// TerminateProvisionedProductRequest generates a "aws/request.Request" representing the
7509// client's request for the TerminateProvisionedProduct operation. The "output" return
7510// value will be populated with the request's response once the request completes
7511// successfully.
7512//
7513// Use "Send" method on the returned Request to send the API call to the service.
7514// the "output" return value is not valid until after Send returns without error.
7515//
7516// See TerminateProvisionedProduct for more information on using the TerminateProvisionedProduct
7517// API call, and error handling.
7518//
7519// This method is useful when you want to inject custom logic or configuration
7520// into the SDK's request lifecycle. Such as custom headers, or retry logic.
7521//
7522//
7523//    // Example sending a request using the TerminateProvisionedProductRequest method.
7524//    req, resp := client.TerminateProvisionedProductRequest(params)
7525//
7526//    err := req.Send()
7527//    if err == nil { // resp is now filled
7528//        fmt.Println(resp)
7529//    }
7530//
7531// See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/TerminateProvisionedProduct
7532func (c *ServiceCatalog) TerminateProvisionedProductRequest(input *TerminateProvisionedProductInput) (req *request.Request, output *TerminateProvisionedProductOutput) {
7533	op := &request.Operation{
7534		Name:       opTerminateProvisionedProduct,
7535		HTTPMethod: "POST",
7536		HTTPPath:   "/",
7537	}
7538
7539	if input == nil {
7540		input = &TerminateProvisionedProductInput{}
7541	}
7542
7543	output = &TerminateProvisionedProductOutput{}
7544	req = c.newRequest(op, input, output)
7545	return
7546}
7547
7548// TerminateProvisionedProduct API operation for AWS Service Catalog.
7549//
7550// Terminates the specified provisioned product.
7551//
7552// This operation does not delete any records associated with the provisioned
7553// product.
7554//
7555// You can check the status of this request using DescribeRecord.
7556//
7557// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
7558// with awserr.Error's Code and Message methods to get detailed information about
7559// the error.
7560//
7561// See the AWS API reference guide for AWS Service Catalog's
7562// API operation TerminateProvisionedProduct for usage and error information.
7563//
7564// Returned Error Types:
7565//   * ResourceNotFoundException
7566//   The specified resource was not found.
7567//
7568// See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/TerminateProvisionedProduct
7569func (c *ServiceCatalog) TerminateProvisionedProduct(input *TerminateProvisionedProductInput) (*TerminateProvisionedProductOutput, error) {
7570	req, out := c.TerminateProvisionedProductRequest(input)
7571	return out, req.Send()
7572}
7573
7574// TerminateProvisionedProductWithContext is the same as TerminateProvisionedProduct with the addition of
7575// the ability to pass a context and additional request options.
7576//
7577// See TerminateProvisionedProduct for details on how to use this API operation.
7578//
7579// The context must be non-nil and will be used for request cancellation. If
7580// the context is nil a panic will occur. In the future the SDK may create
7581// sub-contexts for http.Requests. See https://golang.org/pkg/context/
7582// for more information on using Contexts.
7583func (c *ServiceCatalog) TerminateProvisionedProductWithContext(ctx aws.Context, input *TerminateProvisionedProductInput, opts ...request.Option) (*TerminateProvisionedProductOutput, error) {
7584	req, out := c.TerminateProvisionedProductRequest(input)
7585	req.SetContext(ctx)
7586	req.ApplyOptions(opts...)
7587	return out, req.Send()
7588}
7589
7590const opUpdateConstraint = "UpdateConstraint"
7591
7592// UpdateConstraintRequest generates a "aws/request.Request" representing the
7593// client's request for the UpdateConstraint operation. The "output" return
7594// value will be populated with the request's response once the request completes
7595// successfully.
7596//
7597// Use "Send" method on the returned Request to send the API call to the service.
7598// the "output" return value is not valid until after Send returns without error.
7599//
7600// See UpdateConstraint for more information on using the UpdateConstraint
7601// API call, and error handling.
7602//
7603// This method is useful when you want to inject custom logic or configuration
7604// into the SDK's request lifecycle. Such as custom headers, or retry logic.
7605//
7606//
7607//    // Example sending a request using the UpdateConstraintRequest method.
7608//    req, resp := client.UpdateConstraintRequest(params)
7609//
7610//    err := req.Send()
7611//    if err == nil { // resp is now filled
7612//        fmt.Println(resp)
7613//    }
7614//
7615// See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/UpdateConstraint
7616func (c *ServiceCatalog) UpdateConstraintRequest(input *UpdateConstraintInput) (req *request.Request, output *UpdateConstraintOutput) {
7617	op := &request.Operation{
7618		Name:       opUpdateConstraint,
7619		HTTPMethod: "POST",
7620		HTTPPath:   "/",
7621	}
7622
7623	if input == nil {
7624		input = &UpdateConstraintInput{}
7625	}
7626
7627	output = &UpdateConstraintOutput{}
7628	req = c.newRequest(op, input, output)
7629	return
7630}
7631
7632// UpdateConstraint API operation for AWS Service Catalog.
7633//
7634// Updates the specified constraint.
7635//
7636// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
7637// with awserr.Error's Code and Message methods to get detailed information about
7638// the error.
7639//
7640// See the AWS API reference guide for AWS Service Catalog's
7641// API operation UpdateConstraint for usage and error information.
7642//
7643// Returned Error Types:
7644//   * ResourceNotFoundException
7645//   The specified resource was not found.
7646//
7647//   * InvalidParametersException
7648//   One or more parameters provided to the operation are not valid.
7649//
7650// See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/UpdateConstraint
7651func (c *ServiceCatalog) UpdateConstraint(input *UpdateConstraintInput) (*UpdateConstraintOutput, error) {
7652	req, out := c.UpdateConstraintRequest(input)
7653	return out, req.Send()
7654}
7655
7656// UpdateConstraintWithContext is the same as UpdateConstraint with the addition of
7657// the ability to pass a context and additional request options.
7658//
7659// See UpdateConstraint for details on how to use this API operation.
7660//
7661// The context must be non-nil and will be used for request cancellation. If
7662// the context is nil a panic will occur. In the future the SDK may create
7663// sub-contexts for http.Requests. See https://golang.org/pkg/context/
7664// for more information on using Contexts.
7665func (c *ServiceCatalog) UpdateConstraintWithContext(ctx aws.Context, input *UpdateConstraintInput, opts ...request.Option) (*UpdateConstraintOutput, error) {
7666	req, out := c.UpdateConstraintRequest(input)
7667	req.SetContext(ctx)
7668	req.ApplyOptions(opts...)
7669	return out, req.Send()
7670}
7671
7672const opUpdatePortfolio = "UpdatePortfolio"
7673
7674// UpdatePortfolioRequest generates a "aws/request.Request" representing the
7675// client's request for the UpdatePortfolio operation. The "output" return
7676// value will be populated with the request's response once the request completes
7677// successfully.
7678//
7679// Use "Send" method on the returned Request to send the API call to the service.
7680// the "output" return value is not valid until after Send returns without error.
7681//
7682// See UpdatePortfolio for more information on using the UpdatePortfolio
7683// API call, and error handling.
7684//
7685// This method is useful when you want to inject custom logic or configuration
7686// into the SDK's request lifecycle. Such as custom headers, or retry logic.
7687//
7688//
7689//    // Example sending a request using the UpdatePortfolioRequest method.
7690//    req, resp := client.UpdatePortfolioRequest(params)
7691//
7692//    err := req.Send()
7693//    if err == nil { // resp is now filled
7694//        fmt.Println(resp)
7695//    }
7696//
7697// See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/UpdatePortfolio
7698func (c *ServiceCatalog) UpdatePortfolioRequest(input *UpdatePortfolioInput) (req *request.Request, output *UpdatePortfolioOutput) {
7699	op := &request.Operation{
7700		Name:       opUpdatePortfolio,
7701		HTTPMethod: "POST",
7702		HTTPPath:   "/",
7703	}
7704
7705	if input == nil {
7706		input = &UpdatePortfolioInput{}
7707	}
7708
7709	output = &UpdatePortfolioOutput{}
7710	req = c.newRequest(op, input, output)
7711	return
7712}
7713
7714// UpdatePortfolio API operation for AWS Service Catalog.
7715//
7716// Updates the specified portfolio.
7717//
7718// You cannot update a product that was shared with you.
7719//
7720// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
7721// with awserr.Error's Code and Message methods to get detailed information about
7722// the error.
7723//
7724// See the AWS API reference guide for AWS Service Catalog's
7725// API operation UpdatePortfolio for usage and error information.
7726//
7727// Returned Error Types:
7728//   * InvalidParametersException
7729//   One or more parameters provided to the operation are not valid.
7730//
7731//   * ResourceNotFoundException
7732//   The specified resource was not found.
7733//
7734//   * LimitExceededException
7735//   The current limits of the service would have been exceeded by this operation.
7736//   Decrease your resource use or increase your service limits and retry the
7737//   operation.
7738//
7739//   * TagOptionNotMigratedException
7740//   An operation requiring TagOptions failed because the TagOptions migration
7741//   process has not been performed for this account. Please use the AWS console
7742//   to perform the migration process before retrying the operation.
7743//
7744// See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/UpdatePortfolio
7745func (c *ServiceCatalog) UpdatePortfolio(input *UpdatePortfolioInput) (*UpdatePortfolioOutput, error) {
7746	req, out := c.UpdatePortfolioRequest(input)
7747	return out, req.Send()
7748}
7749
7750// UpdatePortfolioWithContext is the same as UpdatePortfolio with the addition of
7751// the ability to pass a context and additional request options.
7752//
7753// See UpdatePortfolio for details on how to use this API operation.
7754//
7755// The context must be non-nil and will be used for request cancellation. If
7756// the context is nil a panic will occur. In the future the SDK may create
7757// sub-contexts for http.Requests. See https://golang.org/pkg/context/
7758// for more information on using Contexts.
7759func (c *ServiceCatalog) UpdatePortfolioWithContext(ctx aws.Context, input *UpdatePortfolioInput, opts ...request.Option) (*UpdatePortfolioOutput, error) {
7760	req, out := c.UpdatePortfolioRequest(input)
7761	req.SetContext(ctx)
7762	req.ApplyOptions(opts...)
7763	return out, req.Send()
7764}
7765
7766const opUpdateProduct = "UpdateProduct"
7767
7768// UpdateProductRequest generates a "aws/request.Request" representing the
7769// client's request for the UpdateProduct operation. The "output" return
7770// value will be populated with the request's response once the request completes
7771// successfully.
7772//
7773// Use "Send" method on the returned Request to send the API call to the service.
7774// the "output" return value is not valid until after Send returns without error.
7775//
7776// See UpdateProduct for more information on using the UpdateProduct
7777// API call, and error handling.
7778//
7779// This method is useful when you want to inject custom logic or configuration
7780// into the SDK's request lifecycle. Such as custom headers, or retry logic.
7781//
7782//
7783//    // Example sending a request using the UpdateProductRequest method.
7784//    req, resp := client.UpdateProductRequest(params)
7785//
7786//    err := req.Send()
7787//    if err == nil { // resp is now filled
7788//        fmt.Println(resp)
7789//    }
7790//
7791// See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/UpdateProduct
7792func (c *ServiceCatalog) UpdateProductRequest(input *UpdateProductInput) (req *request.Request, output *UpdateProductOutput) {
7793	op := &request.Operation{
7794		Name:       opUpdateProduct,
7795		HTTPMethod: "POST",
7796		HTTPPath:   "/",
7797	}
7798
7799	if input == nil {
7800		input = &UpdateProductInput{}
7801	}
7802
7803	output = &UpdateProductOutput{}
7804	req = c.newRequest(op, input, output)
7805	return
7806}
7807
7808// UpdateProduct API operation for AWS Service Catalog.
7809//
7810// Updates the specified product.
7811//
7812// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
7813// with awserr.Error's Code and Message methods to get detailed information about
7814// the error.
7815//
7816// See the AWS API reference guide for AWS Service Catalog's
7817// API operation UpdateProduct for usage and error information.
7818//
7819// Returned Error Types:
7820//   * ResourceNotFoundException
7821//   The specified resource was not found.
7822//
7823//   * InvalidParametersException
7824//   One or more parameters provided to the operation are not valid.
7825//
7826//   * TagOptionNotMigratedException
7827//   An operation requiring TagOptions failed because the TagOptions migration
7828//   process has not been performed for this account. Please use the AWS console
7829//   to perform the migration process before retrying the operation.
7830//
7831// See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/UpdateProduct
7832func (c *ServiceCatalog) UpdateProduct(input *UpdateProductInput) (*UpdateProductOutput, error) {
7833	req, out := c.UpdateProductRequest(input)
7834	return out, req.Send()
7835}
7836
7837// UpdateProductWithContext is the same as UpdateProduct with the addition of
7838// the ability to pass a context and additional request options.
7839//
7840// See UpdateProduct for details on how to use this API operation.
7841//
7842// The context must be non-nil and will be used for request cancellation. If
7843// the context is nil a panic will occur. In the future the SDK may create
7844// sub-contexts for http.Requests. See https://golang.org/pkg/context/
7845// for more information on using Contexts.
7846func (c *ServiceCatalog) UpdateProductWithContext(ctx aws.Context, input *UpdateProductInput, opts ...request.Option) (*UpdateProductOutput, error) {
7847	req, out := c.UpdateProductRequest(input)
7848	req.SetContext(ctx)
7849	req.ApplyOptions(opts...)
7850	return out, req.Send()
7851}
7852
7853const opUpdateProvisionedProduct = "UpdateProvisionedProduct"
7854
7855// UpdateProvisionedProductRequest generates a "aws/request.Request" representing the
7856// client's request for the UpdateProvisionedProduct operation. The "output" return
7857// value will be populated with the request's response once the request completes
7858// successfully.
7859//
7860// Use "Send" method on the returned Request to send the API call to the service.
7861// the "output" return value is not valid until after Send returns without error.
7862//
7863// See UpdateProvisionedProduct for more information on using the UpdateProvisionedProduct
7864// API call, and error handling.
7865//
7866// This method is useful when you want to inject custom logic or configuration
7867// into the SDK's request lifecycle. Such as custom headers, or retry logic.
7868//
7869//
7870//    // Example sending a request using the UpdateProvisionedProductRequest method.
7871//    req, resp := client.UpdateProvisionedProductRequest(params)
7872//
7873//    err := req.Send()
7874//    if err == nil { // resp is now filled
7875//        fmt.Println(resp)
7876//    }
7877//
7878// See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/UpdateProvisionedProduct
7879func (c *ServiceCatalog) UpdateProvisionedProductRequest(input *UpdateProvisionedProductInput) (req *request.Request, output *UpdateProvisionedProductOutput) {
7880	op := &request.Operation{
7881		Name:       opUpdateProvisionedProduct,
7882		HTTPMethod: "POST",
7883		HTTPPath:   "/",
7884	}
7885
7886	if input == nil {
7887		input = &UpdateProvisionedProductInput{}
7888	}
7889
7890	output = &UpdateProvisionedProductOutput{}
7891	req = c.newRequest(op, input, output)
7892	return
7893}
7894
7895// UpdateProvisionedProduct API operation for AWS Service Catalog.
7896//
7897// Requests updates to the configuration of the specified provisioned product.
7898//
7899// If there are tags associated with the object, they cannot be updated or added.
7900// Depending on the specific updates requested, this operation can update with
7901// no interruption, with some interruption, or replace the provisioned product
7902// entirely.
7903//
7904// You can check the status of this request using DescribeRecord.
7905//
7906// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
7907// with awserr.Error's Code and Message methods to get detailed information about
7908// the error.
7909//
7910// See the AWS API reference guide for AWS Service Catalog's
7911// API operation UpdateProvisionedProduct for usage and error information.
7912//
7913// Returned Error Types:
7914//   * InvalidParametersException
7915//   One or more parameters provided to the operation are not valid.
7916//
7917//   * ResourceNotFoundException
7918//   The specified resource was not found.
7919//
7920// See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/UpdateProvisionedProduct
7921func (c *ServiceCatalog) UpdateProvisionedProduct(input *UpdateProvisionedProductInput) (*UpdateProvisionedProductOutput, error) {
7922	req, out := c.UpdateProvisionedProductRequest(input)
7923	return out, req.Send()
7924}
7925
7926// UpdateProvisionedProductWithContext is the same as UpdateProvisionedProduct with the addition of
7927// the ability to pass a context and additional request options.
7928//
7929// See UpdateProvisionedProduct for details on how to use this API operation.
7930//
7931// The context must be non-nil and will be used for request cancellation. If
7932// the context is nil a panic will occur. In the future the SDK may create
7933// sub-contexts for http.Requests. See https://golang.org/pkg/context/
7934// for more information on using Contexts.
7935func (c *ServiceCatalog) UpdateProvisionedProductWithContext(ctx aws.Context, input *UpdateProvisionedProductInput, opts ...request.Option) (*UpdateProvisionedProductOutput, error) {
7936	req, out := c.UpdateProvisionedProductRequest(input)
7937	req.SetContext(ctx)
7938	req.ApplyOptions(opts...)
7939	return out, req.Send()
7940}
7941
7942const opUpdateProvisionedProductProperties = "UpdateProvisionedProductProperties"
7943
7944// UpdateProvisionedProductPropertiesRequest generates a "aws/request.Request" representing the
7945// client's request for the UpdateProvisionedProductProperties operation. The "output" return
7946// value will be populated with the request's response once the request completes
7947// successfully.
7948//
7949// Use "Send" method on the returned Request to send the API call to the service.
7950// the "output" return value is not valid until after Send returns without error.
7951//
7952// See UpdateProvisionedProductProperties for more information on using the UpdateProvisionedProductProperties
7953// API call, and error handling.
7954//
7955// This method is useful when you want to inject custom logic or configuration
7956// into the SDK's request lifecycle. Such as custom headers, or retry logic.
7957//
7958//
7959//    // Example sending a request using the UpdateProvisionedProductPropertiesRequest method.
7960//    req, resp := client.UpdateProvisionedProductPropertiesRequest(params)
7961//
7962//    err := req.Send()
7963//    if err == nil { // resp is now filled
7964//        fmt.Println(resp)
7965//    }
7966//
7967// See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/UpdateProvisionedProductProperties
7968func (c *ServiceCatalog) UpdateProvisionedProductPropertiesRequest(input *UpdateProvisionedProductPropertiesInput) (req *request.Request, output *UpdateProvisionedProductPropertiesOutput) {
7969	op := &request.Operation{
7970		Name:       opUpdateProvisionedProductProperties,
7971		HTTPMethod: "POST",
7972		HTTPPath:   "/",
7973	}
7974
7975	if input == nil {
7976		input = &UpdateProvisionedProductPropertiesInput{}
7977	}
7978
7979	output = &UpdateProvisionedProductPropertiesOutput{}
7980	req = c.newRequest(op, input, output)
7981	return
7982}
7983
7984// UpdateProvisionedProductProperties API operation for AWS Service Catalog.
7985//
7986// Requests updates to the properties of the specified provisioned product.
7987//
7988// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
7989// with awserr.Error's Code and Message methods to get detailed information about
7990// the error.
7991//
7992// See the AWS API reference guide for AWS Service Catalog's
7993// API operation UpdateProvisionedProductProperties for usage and error information.
7994//
7995// Returned Error Types:
7996//   * InvalidParametersException
7997//   One or more parameters provided to the operation are not valid.
7998//
7999//   * ResourceNotFoundException
8000//   The specified resource was not found.
8001//
8002//   * InvalidStateException
8003//   An attempt was made to modify a resource that is in a state that is not valid.
8004//   Check your resources to ensure that they are in valid states before retrying
8005//   the operation.
8006//
8007// See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/UpdateProvisionedProductProperties
8008func (c *ServiceCatalog) UpdateProvisionedProductProperties(input *UpdateProvisionedProductPropertiesInput) (*UpdateProvisionedProductPropertiesOutput, error) {
8009	req, out := c.UpdateProvisionedProductPropertiesRequest(input)
8010	return out, req.Send()
8011}
8012
8013// UpdateProvisionedProductPropertiesWithContext is the same as UpdateProvisionedProductProperties with the addition of
8014// the ability to pass a context and additional request options.
8015//
8016// See UpdateProvisionedProductProperties for details on how to use this API operation.
8017//
8018// The context must be non-nil and will be used for request cancellation. If
8019// the context is nil a panic will occur. In the future the SDK may create
8020// sub-contexts for http.Requests. See https://golang.org/pkg/context/
8021// for more information on using Contexts.
8022func (c *ServiceCatalog) UpdateProvisionedProductPropertiesWithContext(ctx aws.Context, input *UpdateProvisionedProductPropertiesInput, opts ...request.Option) (*UpdateProvisionedProductPropertiesOutput, error) {
8023	req, out := c.UpdateProvisionedProductPropertiesRequest(input)
8024	req.SetContext(ctx)
8025	req.ApplyOptions(opts...)
8026	return out, req.Send()
8027}
8028
8029const opUpdateProvisioningArtifact = "UpdateProvisioningArtifact"
8030
8031// UpdateProvisioningArtifactRequest generates a "aws/request.Request" representing the
8032// client's request for the UpdateProvisioningArtifact operation. The "output" return
8033// value will be populated with the request's response once the request completes
8034// successfully.
8035//
8036// Use "Send" method on the returned Request to send the API call to the service.
8037// the "output" return value is not valid until after Send returns without error.
8038//
8039// See UpdateProvisioningArtifact for more information on using the UpdateProvisioningArtifact
8040// API call, and error handling.
8041//
8042// This method is useful when you want to inject custom logic or configuration
8043// into the SDK's request lifecycle. Such as custom headers, or retry logic.
8044//
8045//
8046//    // Example sending a request using the UpdateProvisioningArtifactRequest method.
8047//    req, resp := client.UpdateProvisioningArtifactRequest(params)
8048//
8049//    err := req.Send()
8050//    if err == nil { // resp is now filled
8051//        fmt.Println(resp)
8052//    }
8053//
8054// See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/UpdateProvisioningArtifact
8055func (c *ServiceCatalog) UpdateProvisioningArtifactRequest(input *UpdateProvisioningArtifactInput) (req *request.Request, output *UpdateProvisioningArtifactOutput) {
8056	op := &request.Operation{
8057		Name:       opUpdateProvisioningArtifact,
8058		HTTPMethod: "POST",
8059		HTTPPath:   "/",
8060	}
8061
8062	if input == nil {
8063		input = &UpdateProvisioningArtifactInput{}
8064	}
8065
8066	output = &UpdateProvisioningArtifactOutput{}
8067	req = c.newRequest(op, input, output)
8068	return
8069}
8070
8071// UpdateProvisioningArtifact API operation for AWS Service Catalog.
8072//
8073// Updates the specified provisioning artifact (also known as a version) for
8074// the specified product.
8075//
8076// You cannot update a provisioning artifact for a product that was shared with
8077// you.
8078//
8079// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
8080// with awserr.Error's Code and Message methods to get detailed information about
8081// the error.
8082//
8083// See the AWS API reference guide for AWS Service Catalog's
8084// API operation UpdateProvisioningArtifact for usage and error information.
8085//
8086// Returned Error Types:
8087//   * ResourceNotFoundException
8088//   The specified resource was not found.
8089//
8090//   * InvalidParametersException
8091//   One or more parameters provided to the operation are not valid.
8092//
8093// See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/UpdateProvisioningArtifact
8094func (c *ServiceCatalog) UpdateProvisioningArtifact(input *UpdateProvisioningArtifactInput) (*UpdateProvisioningArtifactOutput, error) {
8095	req, out := c.UpdateProvisioningArtifactRequest(input)
8096	return out, req.Send()
8097}
8098
8099// UpdateProvisioningArtifactWithContext is the same as UpdateProvisioningArtifact with the addition of
8100// the ability to pass a context and additional request options.
8101//
8102// See UpdateProvisioningArtifact for details on how to use this API operation.
8103//
8104// The context must be non-nil and will be used for request cancellation. If
8105// the context is nil a panic will occur. In the future the SDK may create
8106// sub-contexts for http.Requests. See https://golang.org/pkg/context/
8107// for more information on using Contexts.
8108func (c *ServiceCatalog) UpdateProvisioningArtifactWithContext(ctx aws.Context, input *UpdateProvisioningArtifactInput, opts ...request.Option) (*UpdateProvisioningArtifactOutput, error) {
8109	req, out := c.UpdateProvisioningArtifactRequest(input)
8110	req.SetContext(ctx)
8111	req.ApplyOptions(opts...)
8112	return out, req.Send()
8113}
8114
8115const opUpdateServiceAction = "UpdateServiceAction"
8116
8117// UpdateServiceActionRequest generates a "aws/request.Request" representing the
8118// client's request for the UpdateServiceAction operation. The "output" return
8119// value will be populated with the request's response once the request completes
8120// successfully.
8121//
8122// Use "Send" method on the returned Request to send the API call to the service.
8123// the "output" return value is not valid until after Send returns without error.
8124//
8125// See UpdateServiceAction for more information on using the UpdateServiceAction
8126// API call, and error handling.
8127//
8128// This method is useful when you want to inject custom logic or configuration
8129// into the SDK's request lifecycle. Such as custom headers, or retry logic.
8130//
8131//
8132//    // Example sending a request using the UpdateServiceActionRequest method.
8133//    req, resp := client.UpdateServiceActionRequest(params)
8134//
8135//    err := req.Send()
8136//    if err == nil { // resp is now filled
8137//        fmt.Println(resp)
8138//    }
8139//
8140// See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/UpdateServiceAction
8141func (c *ServiceCatalog) UpdateServiceActionRequest(input *UpdateServiceActionInput) (req *request.Request, output *UpdateServiceActionOutput) {
8142	op := &request.Operation{
8143		Name:       opUpdateServiceAction,
8144		HTTPMethod: "POST",
8145		HTTPPath:   "/",
8146	}
8147
8148	if input == nil {
8149		input = &UpdateServiceActionInput{}
8150	}
8151
8152	output = &UpdateServiceActionOutput{}
8153	req = c.newRequest(op, input, output)
8154	return
8155}
8156
8157// UpdateServiceAction API operation for AWS Service Catalog.
8158//
8159// Updates a self-service action.
8160//
8161// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
8162// with awserr.Error's Code and Message methods to get detailed information about
8163// the error.
8164//
8165// See the AWS API reference guide for AWS Service Catalog's
8166// API operation UpdateServiceAction for usage and error information.
8167//
8168// Returned Error Types:
8169//   * ResourceNotFoundException
8170//   The specified resource was not found.
8171//
8172//   * InvalidParametersException
8173//   One or more parameters provided to the operation are not valid.
8174//
8175// See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/UpdateServiceAction
8176func (c *ServiceCatalog) UpdateServiceAction(input *UpdateServiceActionInput) (*UpdateServiceActionOutput, error) {
8177	req, out := c.UpdateServiceActionRequest(input)
8178	return out, req.Send()
8179}
8180
8181// UpdateServiceActionWithContext is the same as UpdateServiceAction with the addition of
8182// the ability to pass a context and additional request options.
8183//
8184// See UpdateServiceAction for details on how to use this API operation.
8185//
8186// The context must be non-nil and will be used for request cancellation. If
8187// the context is nil a panic will occur. In the future the SDK may create
8188// sub-contexts for http.Requests. See https://golang.org/pkg/context/
8189// for more information on using Contexts.
8190func (c *ServiceCatalog) UpdateServiceActionWithContext(ctx aws.Context, input *UpdateServiceActionInput, opts ...request.Option) (*UpdateServiceActionOutput, error) {
8191	req, out := c.UpdateServiceActionRequest(input)
8192	req.SetContext(ctx)
8193	req.ApplyOptions(opts...)
8194	return out, req.Send()
8195}
8196
8197const opUpdateTagOption = "UpdateTagOption"
8198
8199// UpdateTagOptionRequest generates a "aws/request.Request" representing the
8200// client's request for the UpdateTagOption operation. The "output" return
8201// value will be populated with the request's response once the request completes
8202// successfully.
8203//
8204// Use "Send" method on the returned Request to send the API call to the service.
8205// the "output" return value is not valid until after Send returns without error.
8206//
8207// See UpdateTagOption for more information on using the UpdateTagOption
8208// API call, and error handling.
8209//
8210// This method is useful when you want to inject custom logic or configuration
8211// into the SDK's request lifecycle. Such as custom headers, or retry logic.
8212//
8213//
8214//    // Example sending a request using the UpdateTagOptionRequest method.
8215//    req, resp := client.UpdateTagOptionRequest(params)
8216//
8217//    err := req.Send()
8218//    if err == nil { // resp is now filled
8219//        fmt.Println(resp)
8220//    }
8221//
8222// See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/UpdateTagOption
8223func (c *ServiceCatalog) UpdateTagOptionRequest(input *UpdateTagOptionInput) (req *request.Request, output *UpdateTagOptionOutput) {
8224	op := &request.Operation{
8225		Name:       opUpdateTagOption,
8226		HTTPMethod: "POST",
8227		HTTPPath:   "/",
8228	}
8229
8230	if input == nil {
8231		input = &UpdateTagOptionInput{}
8232	}
8233
8234	output = &UpdateTagOptionOutput{}
8235	req = c.newRequest(op, input, output)
8236	return
8237}
8238
8239// UpdateTagOption API operation for AWS Service Catalog.
8240//
8241// Updates the specified TagOption.
8242//
8243// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
8244// with awserr.Error's Code and Message methods to get detailed information about
8245// the error.
8246//
8247// See the AWS API reference guide for AWS Service Catalog's
8248// API operation UpdateTagOption for usage and error information.
8249//
8250// Returned Error Types:
8251//   * TagOptionNotMigratedException
8252//   An operation requiring TagOptions failed because the TagOptions migration
8253//   process has not been performed for this account. Please use the AWS console
8254//   to perform the migration process before retrying the operation.
8255//
8256//   * ResourceNotFoundException
8257//   The specified resource was not found.
8258//
8259//   * DuplicateResourceException
8260//   The specified resource is a duplicate.
8261//
8262//   * InvalidParametersException
8263//   One or more parameters provided to the operation are not valid.
8264//
8265// See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/UpdateTagOption
8266func (c *ServiceCatalog) UpdateTagOption(input *UpdateTagOptionInput) (*UpdateTagOptionOutput, error) {
8267	req, out := c.UpdateTagOptionRequest(input)
8268	return out, req.Send()
8269}
8270
8271// UpdateTagOptionWithContext is the same as UpdateTagOption with the addition of
8272// the ability to pass a context and additional request options.
8273//
8274// See UpdateTagOption for details on how to use this API operation.
8275//
8276// The context must be non-nil and will be used for request cancellation. If
8277// the context is nil a panic will occur. In the future the SDK may create
8278// sub-contexts for http.Requests. See https://golang.org/pkg/context/
8279// for more information on using Contexts.
8280func (c *ServiceCatalog) UpdateTagOptionWithContext(ctx aws.Context, input *UpdateTagOptionInput, opts ...request.Option) (*UpdateTagOptionOutput, error) {
8281	req, out := c.UpdateTagOptionRequest(input)
8282	req.SetContext(ctx)
8283	req.ApplyOptions(opts...)
8284	return out, req.Send()
8285}
8286
8287type AcceptPortfolioShareInput struct {
8288	_ struct{} `type:"structure"`
8289
8290	// The language code.
8291	//
8292	//    * en - English (default)
8293	//
8294	//    * jp - Japanese
8295	//
8296	//    * zh - Chinese
8297	AcceptLanguage *string `type:"string"`
8298
8299	// The portfolio identifier.
8300	//
8301	// PortfolioId is a required field
8302	PortfolioId *string `min:"1" type:"string" required:"true"`
8303
8304	// The type of shared portfolios to accept. The default is to accept imported
8305	// portfolios.
8306	//
8307	//    * AWS_ORGANIZATIONS - Accept portfolios shared by the management account
8308	//    of your organization.
8309	//
8310	//    * IMPORTED - Accept imported portfolios.
8311	//
8312	//    * AWS_SERVICECATALOG - Not supported. (Throws ResourceNotFoundException.)
8313	//
8314	// For example, aws servicecatalog accept-portfolio-share --portfolio-id "port-2qwzkwxt3y5fk"
8315	// --portfolio-share-type AWS_ORGANIZATIONS
8316	PortfolioShareType *string `type:"string" enum:"PortfolioShareType"`
8317}
8318
8319// String returns the string representation
8320func (s AcceptPortfolioShareInput) String() string {
8321	return awsutil.Prettify(s)
8322}
8323
8324// GoString returns the string representation
8325func (s AcceptPortfolioShareInput) GoString() string {
8326	return s.String()
8327}
8328
8329// Validate inspects the fields of the type to determine if they are valid.
8330func (s *AcceptPortfolioShareInput) Validate() error {
8331	invalidParams := request.ErrInvalidParams{Context: "AcceptPortfolioShareInput"}
8332	if s.PortfolioId == nil {
8333		invalidParams.Add(request.NewErrParamRequired("PortfolioId"))
8334	}
8335	if s.PortfolioId != nil && len(*s.PortfolioId) < 1 {
8336		invalidParams.Add(request.NewErrParamMinLen("PortfolioId", 1))
8337	}
8338
8339	if invalidParams.Len() > 0 {
8340		return invalidParams
8341	}
8342	return nil
8343}
8344
8345// SetAcceptLanguage sets the AcceptLanguage field's value.
8346func (s *AcceptPortfolioShareInput) SetAcceptLanguage(v string) *AcceptPortfolioShareInput {
8347	s.AcceptLanguage = &v
8348	return s
8349}
8350
8351// SetPortfolioId sets the PortfolioId field's value.
8352func (s *AcceptPortfolioShareInput) SetPortfolioId(v string) *AcceptPortfolioShareInput {
8353	s.PortfolioId = &v
8354	return s
8355}
8356
8357// SetPortfolioShareType sets the PortfolioShareType field's value.
8358func (s *AcceptPortfolioShareInput) SetPortfolioShareType(v string) *AcceptPortfolioShareInput {
8359	s.PortfolioShareType = &v
8360	return s
8361}
8362
8363type AcceptPortfolioShareOutput struct {
8364	_ struct{} `type:"structure"`
8365}
8366
8367// String returns the string representation
8368func (s AcceptPortfolioShareOutput) String() string {
8369	return awsutil.Prettify(s)
8370}
8371
8372// GoString returns the string representation
8373func (s AcceptPortfolioShareOutput) GoString() string {
8374	return s.String()
8375}
8376
8377// The access level to use to filter results.
8378type AccessLevelFilter struct {
8379	_ struct{} `type:"structure"`
8380
8381	// The access level.
8382	//
8383	//    * Account - Filter results based on the account.
8384	//
8385	//    * Role - Filter results based on the federated role of the specified user.
8386	//
8387	//    * User - Filter results based on the specified user.
8388	Key *string `type:"string" enum:"AccessLevelFilterKey"`
8389
8390	// The user to which the access level applies. The only supported value is Self.
8391	Value *string `type:"string"`
8392}
8393
8394// String returns the string representation
8395func (s AccessLevelFilter) String() string {
8396	return awsutil.Prettify(s)
8397}
8398
8399// GoString returns the string representation
8400func (s AccessLevelFilter) GoString() string {
8401	return s.String()
8402}
8403
8404// SetKey sets the Key field's value.
8405func (s *AccessLevelFilter) SetKey(v string) *AccessLevelFilter {
8406	s.Key = &v
8407	return s
8408}
8409
8410// SetValue sets the Value field's value.
8411func (s *AccessLevelFilter) SetValue(v string) *AccessLevelFilter {
8412	s.Value = &v
8413	return s
8414}
8415
8416type AssociateBudgetWithResourceInput struct {
8417	_ struct{} `type:"structure"`
8418
8419	// The name of the budget you want to associate.
8420	//
8421	// BudgetName is a required field
8422	BudgetName *string `min:"1" type:"string" required:"true"`
8423
8424	// The resource identifier. Either a portfolio-id or a product-id.
8425	//
8426	// ResourceId is a required field
8427	ResourceId *string `min:"1" type:"string" required:"true"`
8428}
8429
8430// String returns the string representation
8431func (s AssociateBudgetWithResourceInput) String() string {
8432	return awsutil.Prettify(s)
8433}
8434
8435// GoString returns the string representation
8436func (s AssociateBudgetWithResourceInput) GoString() string {
8437	return s.String()
8438}
8439
8440// Validate inspects the fields of the type to determine if they are valid.
8441func (s *AssociateBudgetWithResourceInput) Validate() error {
8442	invalidParams := request.ErrInvalidParams{Context: "AssociateBudgetWithResourceInput"}
8443	if s.BudgetName == nil {
8444		invalidParams.Add(request.NewErrParamRequired("BudgetName"))
8445	}
8446	if s.BudgetName != nil && len(*s.BudgetName) < 1 {
8447		invalidParams.Add(request.NewErrParamMinLen("BudgetName", 1))
8448	}
8449	if s.ResourceId == nil {
8450		invalidParams.Add(request.NewErrParamRequired("ResourceId"))
8451	}
8452	if s.ResourceId != nil && len(*s.ResourceId) < 1 {
8453		invalidParams.Add(request.NewErrParamMinLen("ResourceId", 1))
8454	}
8455
8456	if invalidParams.Len() > 0 {
8457		return invalidParams
8458	}
8459	return nil
8460}
8461
8462// SetBudgetName sets the BudgetName field's value.
8463func (s *AssociateBudgetWithResourceInput) SetBudgetName(v string) *AssociateBudgetWithResourceInput {
8464	s.BudgetName = &v
8465	return s
8466}
8467
8468// SetResourceId sets the ResourceId field's value.
8469func (s *AssociateBudgetWithResourceInput) SetResourceId(v string) *AssociateBudgetWithResourceInput {
8470	s.ResourceId = &v
8471	return s
8472}
8473
8474type AssociateBudgetWithResourceOutput struct {
8475	_ struct{} `type:"structure"`
8476}
8477
8478// String returns the string representation
8479func (s AssociateBudgetWithResourceOutput) String() string {
8480	return awsutil.Prettify(s)
8481}
8482
8483// GoString returns the string representation
8484func (s AssociateBudgetWithResourceOutput) GoString() string {
8485	return s.String()
8486}
8487
8488type AssociatePrincipalWithPortfolioInput struct {
8489	_ struct{} `type:"structure"`
8490
8491	// The language code.
8492	//
8493	//    * en - English (default)
8494	//
8495	//    * jp - Japanese
8496	//
8497	//    * zh - Chinese
8498	AcceptLanguage *string `type:"string"`
8499
8500	// The portfolio identifier.
8501	//
8502	// PortfolioId is a required field
8503	PortfolioId *string `min:"1" type:"string" required:"true"`
8504
8505	// The ARN of the principal (IAM user, role, or group).
8506	//
8507	// PrincipalARN is a required field
8508	PrincipalARN *string `min:"1" type:"string" required:"true"`
8509
8510	// The principal type. The supported value is IAM.
8511	//
8512	// PrincipalType is a required field
8513	PrincipalType *string `type:"string" required:"true" enum:"PrincipalType"`
8514}
8515
8516// String returns the string representation
8517func (s AssociatePrincipalWithPortfolioInput) String() string {
8518	return awsutil.Prettify(s)
8519}
8520
8521// GoString returns the string representation
8522func (s AssociatePrincipalWithPortfolioInput) GoString() string {
8523	return s.String()
8524}
8525
8526// Validate inspects the fields of the type to determine if they are valid.
8527func (s *AssociatePrincipalWithPortfolioInput) Validate() error {
8528	invalidParams := request.ErrInvalidParams{Context: "AssociatePrincipalWithPortfolioInput"}
8529	if s.PortfolioId == nil {
8530		invalidParams.Add(request.NewErrParamRequired("PortfolioId"))
8531	}
8532	if s.PortfolioId != nil && len(*s.PortfolioId) < 1 {
8533		invalidParams.Add(request.NewErrParamMinLen("PortfolioId", 1))
8534	}
8535	if s.PrincipalARN == nil {
8536		invalidParams.Add(request.NewErrParamRequired("PrincipalARN"))
8537	}
8538	if s.PrincipalARN != nil && len(*s.PrincipalARN) < 1 {
8539		invalidParams.Add(request.NewErrParamMinLen("PrincipalARN", 1))
8540	}
8541	if s.PrincipalType == nil {
8542		invalidParams.Add(request.NewErrParamRequired("PrincipalType"))
8543	}
8544
8545	if invalidParams.Len() > 0 {
8546		return invalidParams
8547	}
8548	return nil
8549}
8550
8551// SetAcceptLanguage sets the AcceptLanguage field's value.
8552func (s *AssociatePrincipalWithPortfolioInput) SetAcceptLanguage(v string) *AssociatePrincipalWithPortfolioInput {
8553	s.AcceptLanguage = &v
8554	return s
8555}
8556
8557// SetPortfolioId sets the PortfolioId field's value.
8558func (s *AssociatePrincipalWithPortfolioInput) SetPortfolioId(v string) *AssociatePrincipalWithPortfolioInput {
8559	s.PortfolioId = &v
8560	return s
8561}
8562
8563// SetPrincipalARN sets the PrincipalARN field's value.
8564func (s *AssociatePrincipalWithPortfolioInput) SetPrincipalARN(v string) *AssociatePrincipalWithPortfolioInput {
8565	s.PrincipalARN = &v
8566	return s
8567}
8568
8569// SetPrincipalType sets the PrincipalType field's value.
8570func (s *AssociatePrincipalWithPortfolioInput) SetPrincipalType(v string) *AssociatePrincipalWithPortfolioInput {
8571	s.PrincipalType = &v
8572	return s
8573}
8574
8575type AssociatePrincipalWithPortfolioOutput struct {
8576	_ struct{} `type:"structure"`
8577}
8578
8579// String returns the string representation
8580func (s AssociatePrincipalWithPortfolioOutput) String() string {
8581	return awsutil.Prettify(s)
8582}
8583
8584// GoString returns the string representation
8585func (s AssociatePrincipalWithPortfolioOutput) GoString() string {
8586	return s.String()
8587}
8588
8589type AssociateProductWithPortfolioInput struct {
8590	_ struct{} `type:"structure"`
8591
8592	// The language code.
8593	//
8594	//    * en - English (default)
8595	//
8596	//    * jp - Japanese
8597	//
8598	//    * zh - Chinese
8599	AcceptLanguage *string `type:"string"`
8600
8601	// The portfolio identifier.
8602	//
8603	// PortfolioId is a required field
8604	PortfolioId *string `min:"1" type:"string" required:"true"`
8605
8606	// The product identifier.
8607	//
8608	// ProductId is a required field
8609	ProductId *string `min:"1" type:"string" required:"true"`
8610
8611	// The identifier of the source portfolio.
8612	SourcePortfolioId *string `min:"1" type:"string"`
8613}
8614
8615// String returns the string representation
8616func (s AssociateProductWithPortfolioInput) String() string {
8617	return awsutil.Prettify(s)
8618}
8619
8620// GoString returns the string representation
8621func (s AssociateProductWithPortfolioInput) GoString() string {
8622	return s.String()
8623}
8624
8625// Validate inspects the fields of the type to determine if they are valid.
8626func (s *AssociateProductWithPortfolioInput) Validate() error {
8627	invalidParams := request.ErrInvalidParams{Context: "AssociateProductWithPortfolioInput"}
8628	if s.PortfolioId == nil {
8629		invalidParams.Add(request.NewErrParamRequired("PortfolioId"))
8630	}
8631	if s.PortfolioId != nil && len(*s.PortfolioId) < 1 {
8632		invalidParams.Add(request.NewErrParamMinLen("PortfolioId", 1))
8633	}
8634	if s.ProductId == nil {
8635		invalidParams.Add(request.NewErrParamRequired("ProductId"))
8636	}
8637	if s.ProductId != nil && len(*s.ProductId) < 1 {
8638		invalidParams.Add(request.NewErrParamMinLen("ProductId", 1))
8639	}
8640	if s.SourcePortfolioId != nil && len(*s.SourcePortfolioId) < 1 {
8641		invalidParams.Add(request.NewErrParamMinLen("SourcePortfolioId", 1))
8642	}
8643
8644	if invalidParams.Len() > 0 {
8645		return invalidParams
8646	}
8647	return nil
8648}
8649
8650// SetAcceptLanguage sets the AcceptLanguage field's value.
8651func (s *AssociateProductWithPortfolioInput) SetAcceptLanguage(v string) *AssociateProductWithPortfolioInput {
8652	s.AcceptLanguage = &v
8653	return s
8654}
8655
8656// SetPortfolioId sets the PortfolioId field's value.
8657func (s *AssociateProductWithPortfolioInput) SetPortfolioId(v string) *AssociateProductWithPortfolioInput {
8658	s.PortfolioId = &v
8659	return s
8660}
8661
8662// SetProductId sets the ProductId field's value.
8663func (s *AssociateProductWithPortfolioInput) SetProductId(v string) *AssociateProductWithPortfolioInput {
8664	s.ProductId = &v
8665	return s
8666}
8667
8668// SetSourcePortfolioId sets the SourcePortfolioId field's value.
8669func (s *AssociateProductWithPortfolioInput) SetSourcePortfolioId(v string) *AssociateProductWithPortfolioInput {
8670	s.SourcePortfolioId = &v
8671	return s
8672}
8673
8674type AssociateProductWithPortfolioOutput struct {
8675	_ struct{} `type:"structure"`
8676}
8677
8678// String returns the string representation
8679func (s AssociateProductWithPortfolioOutput) String() string {
8680	return awsutil.Prettify(s)
8681}
8682
8683// GoString returns the string representation
8684func (s AssociateProductWithPortfolioOutput) GoString() string {
8685	return s.String()
8686}
8687
8688type AssociateServiceActionWithProvisioningArtifactInput struct {
8689	_ struct{} `type:"structure"`
8690
8691	// The language code.
8692	//
8693	//    * en - English (default)
8694	//
8695	//    * jp - Japanese
8696	//
8697	//    * zh - Chinese
8698	AcceptLanguage *string `type:"string"`
8699
8700	// The product identifier. For example, prod-abcdzk7xy33qa.
8701	//
8702	// ProductId is a required field
8703	ProductId *string `min:"1" type:"string" required:"true"`
8704
8705	// The identifier of the provisioning artifact. For example, pa-4abcdjnxjj6ne.
8706	//
8707	// ProvisioningArtifactId is a required field
8708	ProvisioningArtifactId *string `min:"1" type:"string" required:"true"`
8709
8710	// The self-service action identifier. For example, act-fs7abcd89wxyz.
8711	//
8712	// ServiceActionId is a required field
8713	ServiceActionId *string `min:"1" type:"string" required:"true"`
8714}
8715
8716// String returns the string representation
8717func (s AssociateServiceActionWithProvisioningArtifactInput) String() string {
8718	return awsutil.Prettify(s)
8719}
8720
8721// GoString returns the string representation
8722func (s AssociateServiceActionWithProvisioningArtifactInput) GoString() string {
8723	return s.String()
8724}
8725
8726// Validate inspects the fields of the type to determine if they are valid.
8727func (s *AssociateServiceActionWithProvisioningArtifactInput) Validate() error {
8728	invalidParams := request.ErrInvalidParams{Context: "AssociateServiceActionWithProvisioningArtifactInput"}
8729	if s.ProductId == nil {
8730		invalidParams.Add(request.NewErrParamRequired("ProductId"))
8731	}
8732	if s.ProductId != nil && len(*s.ProductId) < 1 {
8733		invalidParams.Add(request.NewErrParamMinLen("ProductId", 1))
8734	}
8735	if s.ProvisioningArtifactId == nil {
8736		invalidParams.Add(request.NewErrParamRequired("ProvisioningArtifactId"))
8737	}
8738	if s.ProvisioningArtifactId != nil && len(*s.ProvisioningArtifactId) < 1 {
8739		invalidParams.Add(request.NewErrParamMinLen("ProvisioningArtifactId", 1))
8740	}
8741	if s.ServiceActionId == nil {
8742		invalidParams.Add(request.NewErrParamRequired("ServiceActionId"))
8743	}
8744	if s.ServiceActionId != nil && len(*s.ServiceActionId) < 1 {
8745		invalidParams.Add(request.NewErrParamMinLen("ServiceActionId", 1))
8746	}
8747
8748	if invalidParams.Len() > 0 {
8749		return invalidParams
8750	}
8751	return nil
8752}
8753
8754// SetAcceptLanguage sets the AcceptLanguage field's value.
8755func (s *AssociateServiceActionWithProvisioningArtifactInput) SetAcceptLanguage(v string) *AssociateServiceActionWithProvisioningArtifactInput {
8756	s.AcceptLanguage = &v
8757	return s
8758}
8759
8760// SetProductId sets the ProductId field's value.
8761func (s *AssociateServiceActionWithProvisioningArtifactInput) SetProductId(v string) *AssociateServiceActionWithProvisioningArtifactInput {
8762	s.ProductId = &v
8763	return s
8764}
8765
8766// SetProvisioningArtifactId sets the ProvisioningArtifactId field's value.
8767func (s *AssociateServiceActionWithProvisioningArtifactInput) SetProvisioningArtifactId(v string) *AssociateServiceActionWithProvisioningArtifactInput {
8768	s.ProvisioningArtifactId = &v
8769	return s
8770}
8771
8772// SetServiceActionId sets the ServiceActionId field's value.
8773func (s *AssociateServiceActionWithProvisioningArtifactInput) SetServiceActionId(v string) *AssociateServiceActionWithProvisioningArtifactInput {
8774	s.ServiceActionId = &v
8775	return s
8776}
8777
8778type AssociateServiceActionWithProvisioningArtifactOutput struct {
8779	_ struct{} `type:"structure"`
8780}
8781
8782// String returns the string representation
8783func (s AssociateServiceActionWithProvisioningArtifactOutput) String() string {
8784	return awsutil.Prettify(s)
8785}
8786
8787// GoString returns the string representation
8788func (s AssociateServiceActionWithProvisioningArtifactOutput) GoString() string {
8789	return s.String()
8790}
8791
8792type AssociateTagOptionWithResourceInput struct {
8793	_ struct{} `type:"structure"`
8794
8795	// The resource identifier.
8796	//
8797	// ResourceId is a required field
8798	ResourceId *string `type:"string" required:"true"`
8799
8800	// The TagOption identifier.
8801	//
8802	// TagOptionId is a required field
8803	TagOptionId *string `min:"1" type:"string" required:"true"`
8804}
8805
8806// String returns the string representation
8807func (s AssociateTagOptionWithResourceInput) String() string {
8808	return awsutil.Prettify(s)
8809}
8810
8811// GoString returns the string representation
8812func (s AssociateTagOptionWithResourceInput) GoString() string {
8813	return s.String()
8814}
8815
8816// Validate inspects the fields of the type to determine if they are valid.
8817func (s *AssociateTagOptionWithResourceInput) Validate() error {
8818	invalidParams := request.ErrInvalidParams{Context: "AssociateTagOptionWithResourceInput"}
8819	if s.ResourceId == nil {
8820		invalidParams.Add(request.NewErrParamRequired("ResourceId"))
8821	}
8822	if s.TagOptionId == nil {
8823		invalidParams.Add(request.NewErrParamRequired("TagOptionId"))
8824	}
8825	if s.TagOptionId != nil && len(*s.TagOptionId) < 1 {
8826		invalidParams.Add(request.NewErrParamMinLen("TagOptionId", 1))
8827	}
8828
8829	if invalidParams.Len() > 0 {
8830		return invalidParams
8831	}
8832	return nil
8833}
8834
8835// SetResourceId sets the ResourceId field's value.
8836func (s *AssociateTagOptionWithResourceInput) SetResourceId(v string) *AssociateTagOptionWithResourceInput {
8837	s.ResourceId = &v
8838	return s
8839}
8840
8841// SetTagOptionId sets the TagOptionId field's value.
8842func (s *AssociateTagOptionWithResourceInput) SetTagOptionId(v string) *AssociateTagOptionWithResourceInput {
8843	s.TagOptionId = &v
8844	return s
8845}
8846
8847type AssociateTagOptionWithResourceOutput struct {
8848	_ struct{} `type:"structure"`
8849}
8850
8851// String returns the string representation
8852func (s AssociateTagOptionWithResourceOutput) String() string {
8853	return awsutil.Prettify(s)
8854}
8855
8856// GoString returns the string representation
8857func (s AssociateTagOptionWithResourceOutput) GoString() string {
8858	return s.String()
8859}
8860
8861type BatchAssociateServiceActionWithProvisioningArtifactInput struct {
8862	_ struct{} `type:"structure"`
8863
8864	// The language code.
8865	//
8866	//    * en - English (default)
8867	//
8868	//    * jp - Japanese
8869	//
8870	//    * zh - Chinese
8871	AcceptLanguage *string `type:"string"`
8872
8873	// One or more associations, each consisting of the Action ID, the Product ID,
8874	// and the Provisioning Artifact ID.
8875	//
8876	// ServiceActionAssociations is a required field
8877	ServiceActionAssociations []*ServiceActionAssociation `min:"1" type:"list" required:"true"`
8878}
8879
8880// String returns the string representation
8881func (s BatchAssociateServiceActionWithProvisioningArtifactInput) String() string {
8882	return awsutil.Prettify(s)
8883}
8884
8885// GoString returns the string representation
8886func (s BatchAssociateServiceActionWithProvisioningArtifactInput) GoString() string {
8887	return s.String()
8888}
8889
8890// Validate inspects the fields of the type to determine if they are valid.
8891func (s *BatchAssociateServiceActionWithProvisioningArtifactInput) Validate() error {
8892	invalidParams := request.ErrInvalidParams{Context: "BatchAssociateServiceActionWithProvisioningArtifactInput"}
8893	if s.ServiceActionAssociations == nil {
8894		invalidParams.Add(request.NewErrParamRequired("ServiceActionAssociations"))
8895	}
8896	if s.ServiceActionAssociations != nil && len(s.ServiceActionAssociations) < 1 {
8897		invalidParams.Add(request.NewErrParamMinLen("ServiceActionAssociations", 1))
8898	}
8899	if s.ServiceActionAssociations != nil {
8900		for i, v := range s.ServiceActionAssociations {
8901			if v == nil {
8902				continue
8903			}
8904			if err := v.Validate(); err != nil {
8905				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "ServiceActionAssociations", i), err.(request.ErrInvalidParams))
8906			}
8907		}
8908	}
8909
8910	if invalidParams.Len() > 0 {
8911		return invalidParams
8912	}
8913	return nil
8914}
8915
8916// SetAcceptLanguage sets the AcceptLanguage field's value.
8917func (s *BatchAssociateServiceActionWithProvisioningArtifactInput) SetAcceptLanguage(v string) *BatchAssociateServiceActionWithProvisioningArtifactInput {
8918	s.AcceptLanguage = &v
8919	return s
8920}
8921
8922// SetServiceActionAssociations sets the ServiceActionAssociations field's value.
8923func (s *BatchAssociateServiceActionWithProvisioningArtifactInput) SetServiceActionAssociations(v []*ServiceActionAssociation) *BatchAssociateServiceActionWithProvisioningArtifactInput {
8924	s.ServiceActionAssociations = v
8925	return s
8926}
8927
8928type BatchAssociateServiceActionWithProvisioningArtifactOutput struct {
8929	_ struct{} `type:"structure"`
8930
8931	// An object that contains a list of errors, along with information to help
8932	// you identify the self-service action.
8933	FailedServiceActionAssociations []*FailedServiceActionAssociation `type:"list"`
8934}
8935
8936// String returns the string representation
8937func (s BatchAssociateServiceActionWithProvisioningArtifactOutput) String() string {
8938	return awsutil.Prettify(s)
8939}
8940
8941// GoString returns the string representation
8942func (s BatchAssociateServiceActionWithProvisioningArtifactOutput) GoString() string {
8943	return s.String()
8944}
8945
8946// SetFailedServiceActionAssociations sets the FailedServiceActionAssociations field's value.
8947func (s *BatchAssociateServiceActionWithProvisioningArtifactOutput) SetFailedServiceActionAssociations(v []*FailedServiceActionAssociation) *BatchAssociateServiceActionWithProvisioningArtifactOutput {
8948	s.FailedServiceActionAssociations = v
8949	return s
8950}
8951
8952type BatchDisassociateServiceActionFromProvisioningArtifactInput struct {
8953	_ struct{} `type:"structure"`
8954
8955	// The language code.
8956	//
8957	//    * en - English (default)
8958	//
8959	//    * jp - Japanese
8960	//
8961	//    * zh - Chinese
8962	AcceptLanguage *string `type:"string"`
8963
8964	// One or more associations, each consisting of the Action ID, the Product ID,
8965	// and the Provisioning Artifact ID.
8966	//
8967	// ServiceActionAssociations is a required field
8968	ServiceActionAssociations []*ServiceActionAssociation `min:"1" type:"list" required:"true"`
8969}
8970
8971// String returns the string representation
8972func (s BatchDisassociateServiceActionFromProvisioningArtifactInput) String() string {
8973	return awsutil.Prettify(s)
8974}
8975
8976// GoString returns the string representation
8977func (s BatchDisassociateServiceActionFromProvisioningArtifactInput) GoString() string {
8978	return s.String()
8979}
8980
8981// Validate inspects the fields of the type to determine if they are valid.
8982func (s *BatchDisassociateServiceActionFromProvisioningArtifactInput) Validate() error {
8983	invalidParams := request.ErrInvalidParams{Context: "BatchDisassociateServiceActionFromProvisioningArtifactInput"}
8984	if s.ServiceActionAssociations == nil {
8985		invalidParams.Add(request.NewErrParamRequired("ServiceActionAssociations"))
8986	}
8987	if s.ServiceActionAssociations != nil && len(s.ServiceActionAssociations) < 1 {
8988		invalidParams.Add(request.NewErrParamMinLen("ServiceActionAssociations", 1))
8989	}
8990	if s.ServiceActionAssociations != nil {
8991		for i, v := range s.ServiceActionAssociations {
8992			if v == nil {
8993				continue
8994			}
8995			if err := v.Validate(); err != nil {
8996				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "ServiceActionAssociations", i), err.(request.ErrInvalidParams))
8997			}
8998		}
8999	}
9000
9001	if invalidParams.Len() > 0 {
9002		return invalidParams
9003	}
9004	return nil
9005}
9006
9007// SetAcceptLanguage sets the AcceptLanguage field's value.
9008func (s *BatchDisassociateServiceActionFromProvisioningArtifactInput) SetAcceptLanguage(v string) *BatchDisassociateServiceActionFromProvisioningArtifactInput {
9009	s.AcceptLanguage = &v
9010	return s
9011}
9012
9013// SetServiceActionAssociations sets the ServiceActionAssociations field's value.
9014func (s *BatchDisassociateServiceActionFromProvisioningArtifactInput) SetServiceActionAssociations(v []*ServiceActionAssociation) *BatchDisassociateServiceActionFromProvisioningArtifactInput {
9015	s.ServiceActionAssociations = v
9016	return s
9017}
9018
9019type BatchDisassociateServiceActionFromProvisioningArtifactOutput struct {
9020	_ struct{} `type:"structure"`
9021
9022	// An object that contains a list of errors, along with information to help
9023	// you identify the self-service action.
9024	FailedServiceActionAssociations []*FailedServiceActionAssociation `type:"list"`
9025}
9026
9027// String returns the string representation
9028func (s BatchDisassociateServiceActionFromProvisioningArtifactOutput) String() string {
9029	return awsutil.Prettify(s)
9030}
9031
9032// GoString returns the string representation
9033func (s BatchDisassociateServiceActionFromProvisioningArtifactOutput) GoString() string {
9034	return s.String()
9035}
9036
9037// SetFailedServiceActionAssociations sets the FailedServiceActionAssociations field's value.
9038func (s *BatchDisassociateServiceActionFromProvisioningArtifactOutput) SetFailedServiceActionAssociations(v []*FailedServiceActionAssociation) *BatchDisassociateServiceActionFromProvisioningArtifactOutput {
9039	s.FailedServiceActionAssociations = v
9040	return s
9041}
9042
9043// Information about a budget.
9044type BudgetDetail struct {
9045	_ struct{} `type:"structure"`
9046
9047	// Name of the associated budget.
9048	BudgetName *string `min:"1" type:"string"`
9049}
9050
9051// String returns the string representation
9052func (s BudgetDetail) String() string {
9053	return awsutil.Prettify(s)
9054}
9055
9056// GoString returns the string representation
9057func (s BudgetDetail) GoString() string {
9058	return s.String()
9059}
9060
9061// SetBudgetName sets the BudgetName field's value.
9062func (s *BudgetDetail) SetBudgetName(v string) *BudgetDetail {
9063	s.BudgetName = &v
9064	return s
9065}
9066
9067// Information about a CloudWatch dashboard.
9068type CloudWatchDashboard struct {
9069	_ struct{} `type:"structure"`
9070
9071	// The name of the CloudWatch dashboard.
9072	Name *string `type:"string"`
9073}
9074
9075// String returns the string representation
9076func (s CloudWatchDashboard) String() string {
9077	return awsutil.Prettify(s)
9078}
9079
9080// GoString returns the string representation
9081func (s CloudWatchDashboard) GoString() string {
9082	return s.String()
9083}
9084
9085// SetName sets the Name field's value.
9086func (s *CloudWatchDashboard) SetName(v string) *CloudWatchDashboard {
9087	s.Name = &v
9088	return s
9089}
9090
9091// Information about a constraint.
9092type ConstraintDetail struct {
9093	_ struct{} `type:"structure"`
9094
9095	// The identifier of the constraint.
9096	ConstraintId *string `min:"1" type:"string"`
9097
9098	// The description of the constraint.
9099	Description *string `type:"string"`
9100
9101	// The owner of the constraint.
9102	Owner *string `type:"string"`
9103
9104	// The identifier of the portfolio the product resides in. The constraint applies
9105	// only to the instance of the product that lives within this portfolio.
9106	PortfolioId *string `min:"1" type:"string"`
9107
9108	// The identifier of the product the constraint applies to. Note that a constraint
9109	// applies to a specific instance of a product within a certain portfolio.
9110	ProductId *string `min:"1" type:"string"`
9111
9112	// The type of constraint.
9113	//
9114	//    * LAUNCH
9115	//
9116	//    * NOTIFICATION
9117	//
9118	//    * STACKSET
9119	//
9120	//    * TEMPLATE
9121	Type *string `min:"1" type:"string"`
9122}
9123
9124// String returns the string representation
9125func (s ConstraintDetail) String() string {
9126	return awsutil.Prettify(s)
9127}
9128
9129// GoString returns the string representation
9130func (s ConstraintDetail) GoString() string {
9131	return s.String()
9132}
9133
9134// SetConstraintId sets the ConstraintId field's value.
9135func (s *ConstraintDetail) SetConstraintId(v string) *ConstraintDetail {
9136	s.ConstraintId = &v
9137	return s
9138}
9139
9140// SetDescription sets the Description field's value.
9141func (s *ConstraintDetail) SetDescription(v string) *ConstraintDetail {
9142	s.Description = &v
9143	return s
9144}
9145
9146// SetOwner sets the Owner field's value.
9147func (s *ConstraintDetail) SetOwner(v string) *ConstraintDetail {
9148	s.Owner = &v
9149	return s
9150}
9151
9152// SetPortfolioId sets the PortfolioId field's value.
9153func (s *ConstraintDetail) SetPortfolioId(v string) *ConstraintDetail {
9154	s.PortfolioId = &v
9155	return s
9156}
9157
9158// SetProductId sets the ProductId field's value.
9159func (s *ConstraintDetail) SetProductId(v string) *ConstraintDetail {
9160	s.ProductId = &v
9161	return s
9162}
9163
9164// SetType sets the Type field's value.
9165func (s *ConstraintDetail) SetType(v string) *ConstraintDetail {
9166	s.Type = &v
9167	return s
9168}
9169
9170// Summary information about a constraint.
9171type ConstraintSummary struct {
9172	_ struct{} `type:"structure"`
9173
9174	// The description of the constraint.
9175	Description *string `type:"string"`
9176
9177	// The type of constraint.
9178	//
9179	//    * LAUNCH
9180	//
9181	//    * NOTIFICATION
9182	//
9183	//    * STACKSET
9184	//
9185	//    * TEMPLATE
9186	Type *string `min:"1" type:"string"`
9187}
9188
9189// String returns the string representation
9190func (s ConstraintSummary) String() string {
9191	return awsutil.Prettify(s)
9192}
9193
9194// GoString returns the string representation
9195func (s ConstraintSummary) GoString() string {
9196	return s.String()
9197}
9198
9199// SetDescription sets the Description field's value.
9200func (s *ConstraintSummary) SetDescription(v string) *ConstraintSummary {
9201	s.Description = &v
9202	return s
9203}
9204
9205// SetType sets the Type field's value.
9206func (s *ConstraintSummary) SetType(v string) *ConstraintSummary {
9207	s.Type = &v
9208	return s
9209}
9210
9211type CopyProductInput struct {
9212	_ struct{} `type:"structure"`
9213
9214	// The language code.
9215	//
9216	//    * en - English (default)
9217	//
9218	//    * jp - Japanese
9219	//
9220	//    * zh - Chinese
9221	AcceptLanguage *string `type:"string"`
9222
9223	// The copy options. If the value is CopyTags, the tags from the source product
9224	// are copied to the target product.
9225	CopyOptions []*string `type:"list"`
9226
9227	// A unique identifier that you provide to ensure idempotency. If multiple requests
9228	// differ only by the idempotency token, the same response is returned for each
9229	// repeated request.
9230	IdempotencyToken *string `min:"1" type:"string" idempotencyToken:"true"`
9231
9232	// The Amazon Resource Name (ARN) of the source product.
9233	//
9234	// SourceProductArn is a required field
9235	SourceProductArn *string `min:"1" type:"string" required:"true"`
9236
9237	// The identifiers of the provisioning artifacts (also known as versions) of
9238	// the product to copy. By default, all provisioning artifacts are copied.
9239	SourceProvisioningArtifactIdentifiers []map[string]*string `type:"list"`
9240
9241	// The identifier of the target product. By default, a new product is created.
9242	TargetProductId *string `min:"1" type:"string"`
9243
9244	// A name for the target product. The default is the name of the source product.
9245	TargetProductName *string `type:"string"`
9246}
9247
9248// String returns the string representation
9249func (s CopyProductInput) String() string {
9250	return awsutil.Prettify(s)
9251}
9252
9253// GoString returns the string representation
9254func (s CopyProductInput) GoString() string {
9255	return s.String()
9256}
9257
9258// Validate inspects the fields of the type to determine if they are valid.
9259func (s *CopyProductInput) Validate() error {
9260	invalidParams := request.ErrInvalidParams{Context: "CopyProductInput"}
9261	if s.IdempotencyToken != nil && len(*s.IdempotencyToken) < 1 {
9262		invalidParams.Add(request.NewErrParamMinLen("IdempotencyToken", 1))
9263	}
9264	if s.SourceProductArn == nil {
9265		invalidParams.Add(request.NewErrParamRequired("SourceProductArn"))
9266	}
9267	if s.SourceProductArn != nil && len(*s.SourceProductArn) < 1 {
9268		invalidParams.Add(request.NewErrParamMinLen("SourceProductArn", 1))
9269	}
9270	if s.TargetProductId != nil && len(*s.TargetProductId) < 1 {
9271		invalidParams.Add(request.NewErrParamMinLen("TargetProductId", 1))
9272	}
9273
9274	if invalidParams.Len() > 0 {
9275		return invalidParams
9276	}
9277	return nil
9278}
9279
9280// SetAcceptLanguage sets the AcceptLanguage field's value.
9281func (s *CopyProductInput) SetAcceptLanguage(v string) *CopyProductInput {
9282	s.AcceptLanguage = &v
9283	return s
9284}
9285
9286// SetCopyOptions sets the CopyOptions field's value.
9287func (s *CopyProductInput) SetCopyOptions(v []*string) *CopyProductInput {
9288	s.CopyOptions = v
9289	return s
9290}
9291
9292// SetIdempotencyToken sets the IdempotencyToken field's value.
9293func (s *CopyProductInput) SetIdempotencyToken(v string) *CopyProductInput {
9294	s.IdempotencyToken = &v
9295	return s
9296}
9297
9298// SetSourceProductArn sets the SourceProductArn field's value.
9299func (s *CopyProductInput) SetSourceProductArn(v string) *CopyProductInput {
9300	s.SourceProductArn = &v
9301	return s
9302}
9303
9304// SetSourceProvisioningArtifactIdentifiers sets the SourceProvisioningArtifactIdentifiers field's value.
9305func (s *CopyProductInput) SetSourceProvisioningArtifactIdentifiers(v []map[string]*string) *CopyProductInput {
9306	s.SourceProvisioningArtifactIdentifiers = v
9307	return s
9308}
9309
9310// SetTargetProductId sets the TargetProductId field's value.
9311func (s *CopyProductInput) SetTargetProductId(v string) *CopyProductInput {
9312	s.TargetProductId = &v
9313	return s
9314}
9315
9316// SetTargetProductName sets the TargetProductName field's value.
9317func (s *CopyProductInput) SetTargetProductName(v string) *CopyProductInput {
9318	s.TargetProductName = &v
9319	return s
9320}
9321
9322type CopyProductOutput struct {
9323	_ struct{} `type:"structure"`
9324
9325	// The token to use to track the progress of the operation.
9326	CopyProductToken *string `min:"1" type:"string"`
9327}
9328
9329// String returns the string representation
9330func (s CopyProductOutput) String() string {
9331	return awsutil.Prettify(s)
9332}
9333
9334// GoString returns the string representation
9335func (s CopyProductOutput) GoString() string {
9336	return s.String()
9337}
9338
9339// SetCopyProductToken sets the CopyProductToken field's value.
9340func (s *CopyProductOutput) SetCopyProductToken(v string) *CopyProductOutput {
9341	s.CopyProductToken = &v
9342	return s
9343}
9344
9345type CreateConstraintInput struct {
9346	_ struct{} `type:"structure"`
9347
9348	// The language code.
9349	//
9350	//    * en - English (default)
9351	//
9352	//    * jp - Japanese
9353	//
9354	//    * zh - Chinese
9355	AcceptLanguage *string `type:"string"`
9356
9357	// The description of the constraint.
9358	Description *string `type:"string"`
9359
9360	// A unique identifier that you provide to ensure idempotency. If multiple requests
9361	// differ only by the idempotency token, the same response is returned for each
9362	// repeated request.
9363	IdempotencyToken *string `min:"1" type:"string" idempotencyToken:"true"`
9364
9365	// The constraint parameters, in JSON format. The syntax depends on the constraint
9366	// type as follows:
9367	//
9368	// LAUNCH
9369	//
9370	// You are required to specify either the RoleArn or the LocalRoleName but can't
9371	// use both.
9372	//
9373	// Specify the RoleArn property as follows:
9374	//
9375	// {"RoleArn" : "arn:aws:iam::123456789012:role/LaunchRole"}
9376	//
9377	// Specify the LocalRoleName property as follows:
9378	//
9379	// {"LocalRoleName": "SCBasicLaunchRole"}
9380	//
9381	// If you specify the LocalRoleName property, when an account uses the launch
9382	// constraint, the IAM role with that name in the account will be used. This
9383	// allows launch-role constraints to be account-agnostic so the administrator
9384	// can create fewer resources per shared account.
9385	//
9386	// The given role name must exist in the account used to create the launch constraint
9387	// and the account of the user who launches a product with this launch constraint.
9388	//
9389	// You cannot have both a LAUNCH and a STACKSET constraint.
9390	//
9391	// You also cannot have more than one LAUNCH constraint on a product and portfolio.
9392	//
9393	// NOTIFICATION
9394	//
9395	// Specify the NotificationArns property as follows:
9396	//
9397	// {"NotificationArns" : ["arn:aws:sns:us-east-1:123456789012:Topic"]}
9398	//
9399	// RESOURCE_UPDATE
9400	//
9401	// Specify the TagUpdatesOnProvisionedProduct property as follows:
9402	//
9403	// {"Version":"2.0","Properties":{"TagUpdateOnProvisionedProduct":"String"}}
9404	//
9405	// The TagUpdatesOnProvisionedProduct property accepts a string value of ALLOWED
9406	// or NOT_ALLOWED.
9407	//
9408	// STACKSET
9409	//
9410	// Specify the Parameters property as follows:
9411	//
9412	// {"Version": "String", "Properties": {"AccountList": [ "String" ], "RegionList":
9413	// [ "String" ], "AdminRole": "String", "ExecutionRole": "String"}}
9414	//
9415	// You cannot have both a LAUNCH and a STACKSET constraint.
9416	//
9417	// You also cannot have more than one STACKSET constraint on a product and portfolio.
9418	//
9419	// Products with a STACKSET constraint will launch an AWS CloudFormation stack
9420	// set.
9421	//
9422	// TEMPLATE
9423	//
9424	// Specify the Rules property. For more information, see Template Constraint
9425	// Rules (http://docs.aws.amazon.com/servicecatalog/latest/adminguide/reference-template_constraint_rules.html).
9426	//
9427	// Parameters is a required field
9428	Parameters *string `type:"string" required:"true"`
9429
9430	// The portfolio identifier.
9431	//
9432	// PortfolioId is a required field
9433	PortfolioId *string `min:"1" type:"string" required:"true"`
9434
9435	// The product identifier.
9436	//
9437	// ProductId is a required field
9438	ProductId *string `min:"1" type:"string" required:"true"`
9439
9440	// The type of constraint.
9441	//
9442	//    * LAUNCH
9443	//
9444	//    * NOTIFICATION
9445	//
9446	//    * RESOURCE_UPDATE
9447	//
9448	//    * STACKSET
9449	//
9450	//    * TEMPLATE
9451	//
9452	// Type is a required field
9453	Type *string `min:"1" type:"string" required:"true"`
9454}
9455
9456// String returns the string representation
9457func (s CreateConstraintInput) String() string {
9458	return awsutil.Prettify(s)
9459}
9460
9461// GoString returns the string representation
9462func (s CreateConstraintInput) GoString() string {
9463	return s.String()
9464}
9465
9466// Validate inspects the fields of the type to determine if they are valid.
9467func (s *CreateConstraintInput) Validate() error {
9468	invalidParams := request.ErrInvalidParams{Context: "CreateConstraintInput"}
9469	if s.IdempotencyToken != nil && len(*s.IdempotencyToken) < 1 {
9470		invalidParams.Add(request.NewErrParamMinLen("IdempotencyToken", 1))
9471	}
9472	if s.Parameters == nil {
9473		invalidParams.Add(request.NewErrParamRequired("Parameters"))
9474	}
9475	if s.PortfolioId == nil {
9476		invalidParams.Add(request.NewErrParamRequired("PortfolioId"))
9477	}
9478	if s.PortfolioId != nil && len(*s.PortfolioId) < 1 {
9479		invalidParams.Add(request.NewErrParamMinLen("PortfolioId", 1))
9480	}
9481	if s.ProductId == nil {
9482		invalidParams.Add(request.NewErrParamRequired("ProductId"))
9483	}
9484	if s.ProductId != nil && len(*s.ProductId) < 1 {
9485		invalidParams.Add(request.NewErrParamMinLen("ProductId", 1))
9486	}
9487	if s.Type == nil {
9488		invalidParams.Add(request.NewErrParamRequired("Type"))
9489	}
9490	if s.Type != nil && len(*s.Type) < 1 {
9491		invalidParams.Add(request.NewErrParamMinLen("Type", 1))
9492	}
9493
9494	if invalidParams.Len() > 0 {
9495		return invalidParams
9496	}
9497	return nil
9498}
9499
9500// SetAcceptLanguage sets the AcceptLanguage field's value.
9501func (s *CreateConstraintInput) SetAcceptLanguage(v string) *CreateConstraintInput {
9502	s.AcceptLanguage = &v
9503	return s
9504}
9505
9506// SetDescription sets the Description field's value.
9507func (s *CreateConstraintInput) SetDescription(v string) *CreateConstraintInput {
9508	s.Description = &v
9509	return s
9510}
9511
9512// SetIdempotencyToken sets the IdempotencyToken field's value.
9513func (s *CreateConstraintInput) SetIdempotencyToken(v string) *CreateConstraintInput {
9514	s.IdempotencyToken = &v
9515	return s
9516}
9517
9518// SetParameters sets the Parameters field's value.
9519func (s *CreateConstraintInput) SetParameters(v string) *CreateConstraintInput {
9520	s.Parameters = &v
9521	return s
9522}
9523
9524// SetPortfolioId sets the PortfolioId field's value.
9525func (s *CreateConstraintInput) SetPortfolioId(v string) *CreateConstraintInput {
9526	s.PortfolioId = &v
9527	return s
9528}
9529
9530// SetProductId sets the ProductId field's value.
9531func (s *CreateConstraintInput) SetProductId(v string) *CreateConstraintInput {
9532	s.ProductId = &v
9533	return s
9534}
9535
9536// SetType sets the Type field's value.
9537func (s *CreateConstraintInput) SetType(v string) *CreateConstraintInput {
9538	s.Type = &v
9539	return s
9540}
9541
9542type CreateConstraintOutput struct {
9543	_ struct{} `type:"structure"`
9544
9545	// Information about the constraint.
9546	ConstraintDetail *ConstraintDetail `type:"structure"`
9547
9548	// The constraint parameters.
9549	ConstraintParameters *string `type:"string"`
9550
9551	// The status of the current request.
9552	Status *string `type:"string" enum:"Status"`
9553}
9554
9555// String returns the string representation
9556func (s CreateConstraintOutput) String() string {
9557	return awsutil.Prettify(s)
9558}
9559
9560// GoString returns the string representation
9561func (s CreateConstraintOutput) GoString() string {
9562	return s.String()
9563}
9564
9565// SetConstraintDetail sets the ConstraintDetail field's value.
9566func (s *CreateConstraintOutput) SetConstraintDetail(v *ConstraintDetail) *CreateConstraintOutput {
9567	s.ConstraintDetail = v
9568	return s
9569}
9570
9571// SetConstraintParameters sets the ConstraintParameters field's value.
9572func (s *CreateConstraintOutput) SetConstraintParameters(v string) *CreateConstraintOutput {
9573	s.ConstraintParameters = &v
9574	return s
9575}
9576
9577// SetStatus sets the Status field's value.
9578func (s *CreateConstraintOutput) SetStatus(v string) *CreateConstraintOutput {
9579	s.Status = &v
9580	return s
9581}
9582
9583type CreatePortfolioInput struct {
9584	_ struct{} `type:"structure"`
9585
9586	// The language code.
9587	//
9588	//    * en - English (default)
9589	//
9590	//    * jp - Japanese
9591	//
9592	//    * zh - Chinese
9593	AcceptLanguage *string `type:"string"`
9594
9595	// The description of the portfolio.
9596	Description *string `type:"string"`
9597
9598	// The name to use for display purposes.
9599	//
9600	// DisplayName is a required field
9601	DisplayName *string `min:"1" type:"string" required:"true"`
9602
9603	// A unique identifier that you provide to ensure idempotency. If multiple requests
9604	// differ only by the idempotency token, the same response is returned for each
9605	// repeated request.
9606	IdempotencyToken *string `min:"1" type:"string" idempotencyToken:"true"`
9607
9608	// The name of the portfolio provider.
9609	//
9610	// ProviderName is a required field
9611	ProviderName *string `min:"1" type:"string" required:"true"`
9612
9613	// One or more tags.
9614	Tags []*Tag `type:"list"`
9615}
9616
9617// String returns the string representation
9618func (s CreatePortfolioInput) String() string {
9619	return awsutil.Prettify(s)
9620}
9621
9622// GoString returns the string representation
9623func (s CreatePortfolioInput) GoString() string {
9624	return s.String()
9625}
9626
9627// Validate inspects the fields of the type to determine if they are valid.
9628func (s *CreatePortfolioInput) Validate() error {
9629	invalidParams := request.ErrInvalidParams{Context: "CreatePortfolioInput"}
9630	if s.DisplayName == nil {
9631		invalidParams.Add(request.NewErrParamRequired("DisplayName"))
9632	}
9633	if s.DisplayName != nil && len(*s.DisplayName) < 1 {
9634		invalidParams.Add(request.NewErrParamMinLen("DisplayName", 1))
9635	}
9636	if s.IdempotencyToken != nil && len(*s.IdempotencyToken) < 1 {
9637		invalidParams.Add(request.NewErrParamMinLen("IdempotencyToken", 1))
9638	}
9639	if s.ProviderName == nil {
9640		invalidParams.Add(request.NewErrParamRequired("ProviderName"))
9641	}
9642	if s.ProviderName != nil && len(*s.ProviderName) < 1 {
9643		invalidParams.Add(request.NewErrParamMinLen("ProviderName", 1))
9644	}
9645	if s.Tags != nil {
9646		for i, v := range s.Tags {
9647			if v == nil {
9648				continue
9649			}
9650			if err := v.Validate(); err != nil {
9651				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams))
9652			}
9653		}
9654	}
9655
9656	if invalidParams.Len() > 0 {
9657		return invalidParams
9658	}
9659	return nil
9660}
9661
9662// SetAcceptLanguage sets the AcceptLanguage field's value.
9663func (s *CreatePortfolioInput) SetAcceptLanguage(v string) *CreatePortfolioInput {
9664	s.AcceptLanguage = &v
9665	return s
9666}
9667
9668// SetDescription sets the Description field's value.
9669func (s *CreatePortfolioInput) SetDescription(v string) *CreatePortfolioInput {
9670	s.Description = &v
9671	return s
9672}
9673
9674// SetDisplayName sets the DisplayName field's value.
9675func (s *CreatePortfolioInput) SetDisplayName(v string) *CreatePortfolioInput {
9676	s.DisplayName = &v
9677	return s
9678}
9679
9680// SetIdempotencyToken sets the IdempotencyToken field's value.
9681func (s *CreatePortfolioInput) SetIdempotencyToken(v string) *CreatePortfolioInput {
9682	s.IdempotencyToken = &v
9683	return s
9684}
9685
9686// SetProviderName sets the ProviderName field's value.
9687func (s *CreatePortfolioInput) SetProviderName(v string) *CreatePortfolioInput {
9688	s.ProviderName = &v
9689	return s
9690}
9691
9692// SetTags sets the Tags field's value.
9693func (s *CreatePortfolioInput) SetTags(v []*Tag) *CreatePortfolioInput {
9694	s.Tags = v
9695	return s
9696}
9697
9698type CreatePortfolioOutput struct {
9699	_ struct{} `type:"structure"`
9700
9701	// Information about the portfolio.
9702	PortfolioDetail *PortfolioDetail `type:"structure"`
9703
9704	// Information about the tags associated with the portfolio.
9705	Tags []*Tag `type:"list"`
9706}
9707
9708// String returns the string representation
9709func (s CreatePortfolioOutput) String() string {
9710	return awsutil.Prettify(s)
9711}
9712
9713// GoString returns the string representation
9714func (s CreatePortfolioOutput) GoString() string {
9715	return s.String()
9716}
9717
9718// SetPortfolioDetail sets the PortfolioDetail field's value.
9719func (s *CreatePortfolioOutput) SetPortfolioDetail(v *PortfolioDetail) *CreatePortfolioOutput {
9720	s.PortfolioDetail = v
9721	return s
9722}
9723
9724// SetTags sets the Tags field's value.
9725func (s *CreatePortfolioOutput) SetTags(v []*Tag) *CreatePortfolioOutput {
9726	s.Tags = v
9727	return s
9728}
9729
9730type CreatePortfolioShareInput struct {
9731	_ struct{} `type:"structure"`
9732
9733	// The language code.
9734	//
9735	//    * en - English (default)
9736	//
9737	//    * jp - Japanese
9738	//
9739	//    * zh - Chinese
9740	AcceptLanguage *string `type:"string"`
9741
9742	// The AWS account ID. For example, 123456789012.
9743	AccountId *string `type:"string"`
9744
9745	// The organization node to whom you are going to share. If OrganizationNode
9746	// is passed in, PortfolioShare will be created for the node an ListOrganizationPortfolioAccessd
9747	// its children (when applies), and a PortfolioShareToken will be returned in
9748	// the output in order for the administrator to monitor the status of the PortfolioShare
9749	// creation process.
9750	OrganizationNode *OrganizationNode `type:"structure"`
9751
9752	// The portfolio identifier.
9753	//
9754	// PortfolioId is a required field
9755	PortfolioId *string `min:"1" type:"string" required:"true"`
9756}
9757
9758// String returns the string representation
9759func (s CreatePortfolioShareInput) String() string {
9760	return awsutil.Prettify(s)
9761}
9762
9763// GoString returns the string representation
9764func (s CreatePortfolioShareInput) GoString() string {
9765	return s.String()
9766}
9767
9768// Validate inspects the fields of the type to determine if they are valid.
9769func (s *CreatePortfolioShareInput) Validate() error {
9770	invalidParams := request.ErrInvalidParams{Context: "CreatePortfolioShareInput"}
9771	if s.PortfolioId == nil {
9772		invalidParams.Add(request.NewErrParamRequired("PortfolioId"))
9773	}
9774	if s.PortfolioId != nil && len(*s.PortfolioId) < 1 {
9775		invalidParams.Add(request.NewErrParamMinLen("PortfolioId", 1))
9776	}
9777
9778	if invalidParams.Len() > 0 {
9779		return invalidParams
9780	}
9781	return nil
9782}
9783
9784// SetAcceptLanguage sets the AcceptLanguage field's value.
9785func (s *CreatePortfolioShareInput) SetAcceptLanguage(v string) *CreatePortfolioShareInput {
9786	s.AcceptLanguage = &v
9787	return s
9788}
9789
9790// SetAccountId sets the AccountId field's value.
9791func (s *CreatePortfolioShareInput) SetAccountId(v string) *CreatePortfolioShareInput {
9792	s.AccountId = &v
9793	return s
9794}
9795
9796// SetOrganizationNode sets the OrganizationNode field's value.
9797func (s *CreatePortfolioShareInput) SetOrganizationNode(v *OrganizationNode) *CreatePortfolioShareInput {
9798	s.OrganizationNode = v
9799	return s
9800}
9801
9802// SetPortfolioId sets the PortfolioId field's value.
9803func (s *CreatePortfolioShareInput) SetPortfolioId(v string) *CreatePortfolioShareInput {
9804	s.PortfolioId = &v
9805	return s
9806}
9807
9808type CreatePortfolioShareOutput struct {
9809	_ struct{} `type:"structure"`
9810
9811	// The portfolio shares a unique identifier that only returns if the portfolio
9812	// is shared to an organization node.
9813	PortfolioShareToken *string `min:"1" type:"string"`
9814}
9815
9816// String returns the string representation
9817func (s CreatePortfolioShareOutput) String() string {
9818	return awsutil.Prettify(s)
9819}
9820
9821// GoString returns the string representation
9822func (s CreatePortfolioShareOutput) GoString() string {
9823	return s.String()
9824}
9825
9826// SetPortfolioShareToken sets the PortfolioShareToken field's value.
9827func (s *CreatePortfolioShareOutput) SetPortfolioShareToken(v string) *CreatePortfolioShareOutput {
9828	s.PortfolioShareToken = &v
9829	return s
9830}
9831
9832type CreateProductInput struct {
9833	_ struct{} `type:"structure"`
9834
9835	// The language code.
9836	//
9837	//    * en - English (default)
9838	//
9839	//    * jp - Japanese
9840	//
9841	//    * zh - Chinese
9842	AcceptLanguage *string `type:"string"`
9843
9844	// The description of the product.
9845	Description *string `type:"string"`
9846
9847	// The distributor of the product.
9848	Distributor *string `type:"string"`
9849
9850	// A unique identifier that you provide to ensure idempotency. If multiple requests
9851	// differ only by the idempotency token, the same response is returned for each
9852	// repeated request.
9853	IdempotencyToken *string `min:"1" type:"string" idempotencyToken:"true"`
9854
9855	// The name of the product.
9856	//
9857	// Name is a required field
9858	Name *string `type:"string" required:"true"`
9859
9860	// The owner of the product.
9861	//
9862	// Owner is a required field
9863	Owner *string `type:"string" required:"true"`
9864
9865	// The type of product.
9866	//
9867	// ProductType is a required field
9868	ProductType *string `type:"string" required:"true" enum:"ProductType"`
9869
9870	// The configuration of the provisioning artifact.
9871	//
9872	// ProvisioningArtifactParameters is a required field
9873	ProvisioningArtifactParameters *ProvisioningArtifactProperties `type:"structure" required:"true"`
9874
9875	// The support information about the product.
9876	SupportDescription *string `type:"string"`
9877
9878	// The contact email for product support.
9879	SupportEmail *string `type:"string"`
9880
9881	// The contact URL for product support.
9882	SupportUrl *string `type:"string"`
9883
9884	// One or more tags.
9885	Tags []*Tag `type:"list"`
9886}
9887
9888// String returns the string representation
9889func (s CreateProductInput) String() string {
9890	return awsutil.Prettify(s)
9891}
9892
9893// GoString returns the string representation
9894func (s CreateProductInput) GoString() string {
9895	return s.String()
9896}
9897
9898// Validate inspects the fields of the type to determine if they are valid.
9899func (s *CreateProductInput) Validate() error {
9900	invalidParams := request.ErrInvalidParams{Context: "CreateProductInput"}
9901	if s.IdempotencyToken != nil && len(*s.IdempotencyToken) < 1 {
9902		invalidParams.Add(request.NewErrParamMinLen("IdempotencyToken", 1))
9903	}
9904	if s.Name == nil {
9905		invalidParams.Add(request.NewErrParamRequired("Name"))
9906	}
9907	if s.Owner == nil {
9908		invalidParams.Add(request.NewErrParamRequired("Owner"))
9909	}
9910	if s.ProductType == nil {
9911		invalidParams.Add(request.NewErrParamRequired("ProductType"))
9912	}
9913	if s.ProvisioningArtifactParameters == nil {
9914		invalidParams.Add(request.NewErrParamRequired("ProvisioningArtifactParameters"))
9915	}
9916	if s.ProvisioningArtifactParameters != nil {
9917		if err := s.ProvisioningArtifactParameters.Validate(); err != nil {
9918			invalidParams.AddNested("ProvisioningArtifactParameters", err.(request.ErrInvalidParams))
9919		}
9920	}
9921	if s.Tags != nil {
9922		for i, v := range s.Tags {
9923			if v == nil {
9924				continue
9925			}
9926			if err := v.Validate(); err != nil {
9927				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams))
9928			}
9929		}
9930	}
9931
9932	if invalidParams.Len() > 0 {
9933		return invalidParams
9934	}
9935	return nil
9936}
9937
9938// SetAcceptLanguage sets the AcceptLanguage field's value.
9939func (s *CreateProductInput) SetAcceptLanguage(v string) *CreateProductInput {
9940	s.AcceptLanguage = &v
9941	return s
9942}
9943
9944// SetDescription sets the Description field's value.
9945func (s *CreateProductInput) SetDescription(v string) *CreateProductInput {
9946	s.Description = &v
9947	return s
9948}
9949
9950// SetDistributor sets the Distributor field's value.
9951func (s *CreateProductInput) SetDistributor(v string) *CreateProductInput {
9952	s.Distributor = &v
9953	return s
9954}
9955
9956// SetIdempotencyToken sets the IdempotencyToken field's value.
9957func (s *CreateProductInput) SetIdempotencyToken(v string) *CreateProductInput {
9958	s.IdempotencyToken = &v
9959	return s
9960}
9961
9962// SetName sets the Name field's value.
9963func (s *CreateProductInput) SetName(v string) *CreateProductInput {
9964	s.Name = &v
9965	return s
9966}
9967
9968// SetOwner sets the Owner field's value.
9969func (s *CreateProductInput) SetOwner(v string) *CreateProductInput {
9970	s.Owner = &v
9971	return s
9972}
9973
9974// SetProductType sets the ProductType field's value.
9975func (s *CreateProductInput) SetProductType(v string) *CreateProductInput {
9976	s.ProductType = &v
9977	return s
9978}
9979
9980// SetProvisioningArtifactParameters sets the ProvisioningArtifactParameters field's value.
9981func (s *CreateProductInput) SetProvisioningArtifactParameters(v *ProvisioningArtifactProperties) *CreateProductInput {
9982	s.ProvisioningArtifactParameters = v
9983	return s
9984}
9985
9986// SetSupportDescription sets the SupportDescription field's value.
9987func (s *CreateProductInput) SetSupportDescription(v string) *CreateProductInput {
9988	s.SupportDescription = &v
9989	return s
9990}
9991
9992// SetSupportEmail sets the SupportEmail field's value.
9993func (s *CreateProductInput) SetSupportEmail(v string) *CreateProductInput {
9994	s.SupportEmail = &v
9995	return s
9996}
9997
9998// SetSupportUrl sets the SupportUrl field's value.
9999func (s *CreateProductInput) SetSupportUrl(v string) *CreateProductInput {
10000	s.SupportUrl = &v
10001	return s
10002}
10003
10004// SetTags sets the Tags field's value.
10005func (s *CreateProductInput) SetTags(v []*Tag) *CreateProductInput {
10006	s.Tags = v
10007	return s
10008}
10009
10010type CreateProductOutput struct {
10011	_ struct{} `type:"structure"`
10012
10013	// Information about the product view.
10014	ProductViewDetail *ProductViewDetail `type:"structure"`
10015
10016	// Information about the provisioning artifact.
10017	ProvisioningArtifactDetail *ProvisioningArtifactDetail `type:"structure"`
10018
10019	// Information about the tags associated with the product.
10020	Tags []*Tag `type:"list"`
10021}
10022
10023// String returns the string representation
10024func (s CreateProductOutput) String() string {
10025	return awsutil.Prettify(s)
10026}
10027
10028// GoString returns the string representation
10029func (s CreateProductOutput) GoString() string {
10030	return s.String()
10031}
10032
10033// SetProductViewDetail sets the ProductViewDetail field's value.
10034func (s *CreateProductOutput) SetProductViewDetail(v *ProductViewDetail) *CreateProductOutput {
10035	s.ProductViewDetail = v
10036	return s
10037}
10038
10039// SetProvisioningArtifactDetail sets the ProvisioningArtifactDetail field's value.
10040func (s *CreateProductOutput) SetProvisioningArtifactDetail(v *ProvisioningArtifactDetail) *CreateProductOutput {
10041	s.ProvisioningArtifactDetail = v
10042	return s
10043}
10044
10045// SetTags sets the Tags field's value.
10046func (s *CreateProductOutput) SetTags(v []*Tag) *CreateProductOutput {
10047	s.Tags = v
10048	return s
10049}
10050
10051type CreateProvisionedProductPlanInput struct {
10052	_ struct{} `type:"structure"`
10053
10054	// The language code.
10055	//
10056	//    * en - English (default)
10057	//
10058	//    * jp - Japanese
10059	//
10060	//    * zh - Chinese
10061	AcceptLanguage *string `type:"string"`
10062
10063	// A unique identifier that you provide to ensure idempotency. If multiple requests
10064	// differ only by the idempotency token, the same response is returned for each
10065	// repeated request.
10066	IdempotencyToken *string `min:"1" type:"string" idempotencyToken:"true"`
10067
10068	// Passed to CloudFormation. The SNS topic ARNs to which to publish stack-related
10069	// events.
10070	NotificationArns []*string `type:"list"`
10071
10072	// The path identifier of the product. This value is optional if the product
10073	// has a default path, and required if the product has more than one path. To
10074	// list the paths for a product, use ListLaunchPaths.
10075	PathId *string `min:"1" type:"string"`
10076
10077	// The name of the plan.
10078	//
10079	// PlanName is a required field
10080	PlanName *string `type:"string" required:"true"`
10081
10082	// The plan type.
10083	//
10084	// PlanType is a required field
10085	PlanType *string `type:"string" required:"true" enum:"ProvisionedProductPlanType"`
10086
10087	// The product identifier.
10088	//
10089	// ProductId is a required field
10090	ProductId *string `min:"1" type:"string" required:"true"`
10091
10092	// A user-friendly name for the provisioned product. This value must be unique
10093	// for the AWS account and cannot be updated after the product is provisioned.
10094	//
10095	// ProvisionedProductName is a required field
10096	ProvisionedProductName *string `min:"1" type:"string" required:"true"`
10097
10098	// The identifier of the provisioning artifact.
10099	//
10100	// ProvisioningArtifactId is a required field
10101	ProvisioningArtifactId *string `min:"1" type:"string" required:"true"`
10102
10103	// Parameters specified by the administrator that are required for provisioning
10104	// the product.
10105	ProvisioningParameters []*UpdateProvisioningParameter `type:"list"`
10106
10107	// One or more tags.
10108	//
10109	// If the plan is for an existing provisioned product, the product must have
10110	// a RESOURCE_UPDATE constraint with TagUpdatesOnProvisionedProduct set to ALLOWED
10111	// to allow tag updates.
10112	Tags []*Tag `type:"list"`
10113}
10114
10115// String returns the string representation
10116func (s CreateProvisionedProductPlanInput) String() string {
10117	return awsutil.Prettify(s)
10118}
10119
10120// GoString returns the string representation
10121func (s CreateProvisionedProductPlanInput) GoString() string {
10122	return s.String()
10123}
10124
10125// Validate inspects the fields of the type to determine if they are valid.
10126func (s *CreateProvisionedProductPlanInput) Validate() error {
10127	invalidParams := request.ErrInvalidParams{Context: "CreateProvisionedProductPlanInput"}
10128	if s.IdempotencyToken != nil && len(*s.IdempotencyToken) < 1 {
10129		invalidParams.Add(request.NewErrParamMinLen("IdempotencyToken", 1))
10130	}
10131	if s.PathId != nil && len(*s.PathId) < 1 {
10132		invalidParams.Add(request.NewErrParamMinLen("PathId", 1))
10133	}
10134	if s.PlanName == nil {
10135		invalidParams.Add(request.NewErrParamRequired("PlanName"))
10136	}
10137	if s.PlanType == nil {
10138		invalidParams.Add(request.NewErrParamRequired("PlanType"))
10139	}
10140	if s.ProductId == nil {
10141		invalidParams.Add(request.NewErrParamRequired("ProductId"))
10142	}
10143	if s.ProductId != nil && len(*s.ProductId) < 1 {
10144		invalidParams.Add(request.NewErrParamMinLen("ProductId", 1))
10145	}
10146	if s.ProvisionedProductName == nil {
10147		invalidParams.Add(request.NewErrParamRequired("ProvisionedProductName"))
10148	}
10149	if s.ProvisionedProductName != nil && len(*s.ProvisionedProductName) < 1 {
10150		invalidParams.Add(request.NewErrParamMinLen("ProvisionedProductName", 1))
10151	}
10152	if s.ProvisioningArtifactId == nil {
10153		invalidParams.Add(request.NewErrParamRequired("ProvisioningArtifactId"))
10154	}
10155	if s.ProvisioningArtifactId != nil && len(*s.ProvisioningArtifactId) < 1 {
10156		invalidParams.Add(request.NewErrParamMinLen("ProvisioningArtifactId", 1))
10157	}
10158	if s.ProvisioningParameters != nil {
10159		for i, v := range s.ProvisioningParameters {
10160			if v == nil {
10161				continue
10162			}
10163			if err := v.Validate(); err != nil {
10164				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "ProvisioningParameters", i), err.(request.ErrInvalidParams))
10165			}
10166		}
10167	}
10168	if s.Tags != nil {
10169		for i, v := range s.Tags {
10170			if v == nil {
10171				continue
10172			}
10173			if err := v.Validate(); err != nil {
10174				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams))
10175			}
10176		}
10177	}
10178
10179	if invalidParams.Len() > 0 {
10180		return invalidParams
10181	}
10182	return nil
10183}
10184
10185// SetAcceptLanguage sets the AcceptLanguage field's value.
10186func (s *CreateProvisionedProductPlanInput) SetAcceptLanguage(v string) *CreateProvisionedProductPlanInput {
10187	s.AcceptLanguage = &v
10188	return s
10189}
10190
10191// SetIdempotencyToken sets the IdempotencyToken field's value.
10192func (s *CreateProvisionedProductPlanInput) SetIdempotencyToken(v string) *CreateProvisionedProductPlanInput {
10193	s.IdempotencyToken = &v
10194	return s
10195}
10196
10197// SetNotificationArns sets the NotificationArns field's value.
10198func (s *CreateProvisionedProductPlanInput) SetNotificationArns(v []*string) *CreateProvisionedProductPlanInput {
10199	s.NotificationArns = v
10200	return s
10201}
10202
10203// SetPathId sets the PathId field's value.
10204func (s *CreateProvisionedProductPlanInput) SetPathId(v string) *CreateProvisionedProductPlanInput {
10205	s.PathId = &v
10206	return s
10207}
10208
10209// SetPlanName sets the PlanName field's value.
10210func (s *CreateProvisionedProductPlanInput) SetPlanName(v string) *CreateProvisionedProductPlanInput {
10211	s.PlanName = &v
10212	return s
10213}
10214
10215// SetPlanType sets the PlanType field's value.
10216func (s *CreateProvisionedProductPlanInput) SetPlanType(v string) *CreateProvisionedProductPlanInput {
10217	s.PlanType = &v
10218	return s
10219}
10220
10221// SetProductId sets the ProductId field's value.
10222func (s *CreateProvisionedProductPlanInput) SetProductId(v string) *CreateProvisionedProductPlanInput {
10223	s.ProductId = &v
10224	return s
10225}
10226
10227// SetProvisionedProductName sets the ProvisionedProductName field's value.
10228func (s *CreateProvisionedProductPlanInput) SetProvisionedProductName(v string) *CreateProvisionedProductPlanInput {
10229	s.ProvisionedProductName = &v
10230	return s
10231}
10232
10233// SetProvisioningArtifactId sets the ProvisioningArtifactId field's value.
10234func (s *CreateProvisionedProductPlanInput) SetProvisioningArtifactId(v string) *CreateProvisionedProductPlanInput {
10235	s.ProvisioningArtifactId = &v
10236	return s
10237}
10238
10239// SetProvisioningParameters sets the ProvisioningParameters field's value.
10240func (s *CreateProvisionedProductPlanInput) SetProvisioningParameters(v []*UpdateProvisioningParameter) *CreateProvisionedProductPlanInput {
10241	s.ProvisioningParameters = v
10242	return s
10243}
10244
10245// SetTags sets the Tags field's value.
10246func (s *CreateProvisionedProductPlanInput) SetTags(v []*Tag) *CreateProvisionedProductPlanInput {
10247	s.Tags = v
10248	return s
10249}
10250
10251type CreateProvisionedProductPlanOutput struct {
10252	_ struct{} `type:"structure"`
10253
10254	// The plan identifier.
10255	PlanId *string `min:"1" type:"string"`
10256
10257	// The name of the plan.
10258	PlanName *string `type:"string"`
10259
10260	// The product identifier.
10261	ProvisionProductId *string `min:"1" type:"string"`
10262
10263	// The user-friendly name of the provisioned product.
10264	ProvisionedProductName *string `min:"1" type:"string"`
10265
10266	// The identifier of the provisioning artifact.
10267	ProvisioningArtifactId *string `min:"1" type:"string"`
10268}
10269
10270// String returns the string representation
10271func (s CreateProvisionedProductPlanOutput) String() string {
10272	return awsutil.Prettify(s)
10273}
10274
10275// GoString returns the string representation
10276func (s CreateProvisionedProductPlanOutput) GoString() string {
10277	return s.String()
10278}
10279
10280// SetPlanId sets the PlanId field's value.
10281func (s *CreateProvisionedProductPlanOutput) SetPlanId(v string) *CreateProvisionedProductPlanOutput {
10282	s.PlanId = &v
10283	return s
10284}
10285
10286// SetPlanName sets the PlanName field's value.
10287func (s *CreateProvisionedProductPlanOutput) SetPlanName(v string) *CreateProvisionedProductPlanOutput {
10288	s.PlanName = &v
10289	return s
10290}
10291
10292// SetProvisionProductId sets the ProvisionProductId field's value.
10293func (s *CreateProvisionedProductPlanOutput) SetProvisionProductId(v string) *CreateProvisionedProductPlanOutput {
10294	s.ProvisionProductId = &v
10295	return s
10296}
10297
10298// SetProvisionedProductName sets the ProvisionedProductName field's value.
10299func (s *CreateProvisionedProductPlanOutput) SetProvisionedProductName(v string) *CreateProvisionedProductPlanOutput {
10300	s.ProvisionedProductName = &v
10301	return s
10302}
10303
10304// SetProvisioningArtifactId sets the ProvisioningArtifactId field's value.
10305func (s *CreateProvisionedProductPlanOutput) SetProvisioningArtifactId(v string) *CreateProvisionedProductPlanOutput {
10306	s.ProvisioningArtifactId = &v
10307	return s
10308}
10309
10310type CreateProvisioningArtifactInput struct {
10311	_ struct{} `type:"structure"`
10312
10313	// The language code.
10314	//
10315	//    * en - English (default)
10316	//
10317	//    * jp - Japanese
10318	//
10319	//    * zh - Chinese
10320	AcceptLanguage *string `type:"string"`
10321
10322	// A unique identifier that you provide to ensure idempotency. If multiple requests
10323	// differ only by the idempotency token, the same response is returned for each
10324	// repeated request.
10325	IdempotencyToken *string `min:"1" type:"string" idempotencyToken:"true"`
10326
10327	// The configuration for the provisioning artifact.
10328	//
10329	// Parameters is a required field
10330	Parameters *ProvisioningArtifactProperties `type:"structure" required:"true"`
10331
10332	// The product identifier.
10333	//
10334	// ProductId is a required field
10335	ProductId *string `min:"1" type:"string" required:"true"`
10336}
10337
10338// String returns the string representation
10339func (s CreateProvisioningArtifactInput) String() string {
10340	return awsutil.Prettify(s)
10341}
10342
10343// GoString returns the string representation
10344func (s CreateProvisioningArtifactInput) GoString() string {
10345	return s.String()
10346}
10347
10348// Validate inspects the fields of the type to determine if they are valid.
10349func (s *CreateProvisioningArtifactInput) Validate() error {
10350	invalidParams := request.ErrInvalidParams{Context: "CreateProvisioningArtifactInput"}
10351	if s.IdempotencyToken != nil && len(*s.IdempotencyToken) < 1 {
10352		invalidParams.Add(request.NewErrParamMinLen("IdempotencyToken", 1))
10353	}
10354	if s.Parameters == nil {
10355		invalidParams.Add(request.NewErrParamRequired("Parameters"))
10356	}
10357	if s.ProductId == nil {
10358		invalidParams.Add(request.NewErrParamRequired("ProductId"))
10359	}
10360	if s.ProductId != nil && len(*s.ProductId) < 1 {
10361		invalidParams.Add(request.NewErrParamMinLen("ProductId", 1))
10362	}
10363	if s.Parameters != nil {
10364		if err := s.Parameters.Validate(); err != nil {
10365			invalidParams.AddNested("Parameters", err.(request.ErrInvalidParams))
10366		}
10367	}
10368
10369	if invalidParams.Len() > 0 {
10370		return invalidParams
10371	}
10372	return nil
10373}
10374
10375// SetAcceptLanguage sets the AcceptLanguage field's value.
10376func (s *CreateProvisioningArtifactInput) SetAcceptLanguage(v string) *CreateProvisioningArtifactInput {
10377	s.AcceptLanguage = &v
10378	return s
10379}
10380
10381// SetIdempotencyToken sets the IdempotencyToken field's value.
10382func (s *CreateProvisioningArtifactInput) SetIdempotencyToken(v string) *CreateProvisioningArtifactInput {
10383	s.IdempotencyToken = &v
10384	return s
10385}
10386
10387// SetParameters sets the Parameters field's value.
10388func (s *CreateProvisioningArtifactInput) SetParameters(v *ProvisioningArtifactProperties) *CreateProvisioningArtifactInput {
10389	s.Parameters = v
10390	return s
10391}
10392
10393// SetProductId sets the ProductId field's value.
10394func (s *CreateProvisioningArtifactInput) SetProductId(v string) *CreateProvisioningArtifactInput {
10395	s.ProductId = &v
10396	return s
10397}
10398
10399type CreateProvisioningArtifactOutput struct {
10400	_ struct{} `type:"structure"`
10401
10402	// The URL of the CloudFormation template in Amazon S3, in JSON format.
10403	Info map[string]*string `min:"1" type:"map"`
10404
10405	// Information about the provisioning artifact.
10406	ProvisioningArtifactDetail *ProvisioningArtifactDetail `type:"structure"`
10407
10408	// The status of the current request.
10409	Status *string `type:"string" enum:"Status"`
10410}
10411
10412// String returns the string representation
10413func (s CreateProvisioningArtifactOutput) String() string {
10414	return awsutil.Prettify(s)
10415}
10416
10417// GoString returns the string representation
10418func (s CreateProvisioningArtifactOutput) GoString() string {
10419	return s.String()
10420}
10421
10422// SetInfo sets the Info field's value.
10423func (s *CreateProvisioningArtifactOutput) SetInfo(v map[string]*string) *CreateProvisioningArtifactOutput {
10424	s.Info = v
10425	return s
10426}
10427
10428// SetProvisioningArtifactDetail sets the ProvisioningArtifactDetail field's value.
10429func (s *CreateProvisioningArtifactOutput) SetProvisioningArtifactDetail(v *ProvisioningArtifactDetail) *CreateProvisioningArtifactOutput {
10430	s.ProvisioningArtifactDetail = v
10431	return s
10432}
10433
10434// SetStatus sets the Status field's value.
10435func (s *CreateProvisioningArtifactOutput) SetStatus(v string) *CreateProvisioningArtifactOutput {
10436	s.Status = &v
10437	return s
10438}
10439
10440type CreateServiceActionInput struct {
10441	_ struct{} `type:"structure"`
10442
10443	// The language code.
10444	//
10445	//    * en - English (default)
10446	//
10447	//    * jp - Japanese
10448	//
10449	//    * zh - Chinese
10450	AcceptLanguage *string `type:"string"`
10451
10452	// The self-service action definition. Can be one of the following:
10453	//
10454	// Name
10455	//
10456	// The name of the AWS Systems Manager document (SSM document). For example,
10457	// AWS-RestartEC2Instance.
10458	//
10459	// If you are using a shared SSM document, you must provide the ARN instead
10460	// of the name.
10461	//
10462	// Version
10463	//
10464	// The AWS Systems Manager automation document version. For example, "Version":
10465	// "1"
10466	//
10467	// AssumeRole
10468	//
10469	// The Amazon Resource Name (ARN) of the role that performs the self-service
10470	// actions on your behalf. For example, "AssumeRole": "arn:aws:iam::12345678910:role/ActionRole".
10471	//
10472	// To reuse the provisioned product launch role, set to "AssumeRole": "LAUNCH_ROLE".
10473	//
10474	// Parameters
10475	//
10476	// The list of parameters in JSON format.
10477	//
10478	// For example: [{\"Name\":\"InstanceId\",\"Type\":\"TARGET\"}] or [{\"Name\":\"InstanceId\",\"Type\":\"TEXT_VALUE\"}].
10479	//
10480	// Definition is a required field
10481	Definition map[string]*string `min:"1" type:"map" required:"true"`
10482
10483	// The service action definition type. For example, SSM_AUTOMATION.
10484	//
10485	// DefinitionType is a required field
10486	DefinitionType *string `type:"string" required:"true" enum:"ServiceActionDefinitionType"`
10487
10488	// The self-service action description.
10489	Description *string `type:"string"`
10490
10491	// A unique identifier that you provide to ensure idempotency. If multiple requests
10492	// differ only by the idempotency token, the same response is returned for each
10493	// repeated request.
10494	IdempotencyToken *string `min:"1" type:"string" idempotencyToken:"true"`
10495
10496	// The self-service action name.
10497	//
10498	// Name is a required field
10499	Name *string `min:"1" type:"string" required:"true"`
10500}
10501
10502// String returns the string representation
10503func (s CreateServiceActionInput) String() string {
10504	return awsutil.Prettify(s)
10505}
10506
10507// GoString returns the string representation
10508func (s CreateServiceActionInput) GoString() string {
10509	return s.String()
10510}
10511
10512// Validate inspects the fields of the type to determine if they are valid.
10513func (s *CreateServiceActionInput) Validate() error {
10514	invalidParams := request.ErrInvalidParams{Context: "CreateServiceActionInput"}
10515	if s.Definition == nil {
10516		invalidParams.Add(request.NewErrParamRequired("Definition"))
10517	}
10518	if s.Definition != nil && len(s.Definition) < 1 {
10519		invalidParams.Add(request.NewErrParamMinLen("Definition", 1))
10520	}
10521	if s.DefinitionType == nil {
10522		invalidParams.Add(request.NewErrParamRequired("DefinitionType"))
10523	}
10524	if s.IdempotencyToken != nil && len(*s.IdempotencyToken) < 1 {
10525		invalidParams.Add(request.NewErrParamMinLen("IdempotencyToken", 1))
10526	}
10527	if s.Name == nil {
10528		invalidParams.Add(request.NewErrParamRequired("Name"))
10529	}
10530	if s.Name != nil && len(*s.Name) < 1 {
10531		invalidParams.Add(request.NewErrParamMinLen("Name", 1))
10532	}
10533
10534	if invalidParams.Len() > 0 {
10535		return invalidParams
10536	}
10537	return nil
10538}
10539
10540// SetAcceptLanguage sets the AcceptLanguage field's value.
10541func (s *CreateServiceActionInput) SetAcceptLanguage(v string) *CreateServiceActionInput {
10542	s.AcceptLanguage = &v
10543	return s
10544}
10545
10546// SetDefinition sets the Definition field's value.
10547func (s *CreateServiceActionInput) SetDefinition(v map[string]*string) *CreateServiceActionInput {
10548	s.Definition = v
10549	return s
10550}
10551
10552// SetDefinitionType sets the DefinitionType field's value.
10553func (s *CreateServiceActionInput) SetDefinitionType(v string) *CreateServiceActionInput {
10554	s.DefinitionType = &v
10555	return s
10556}
10557
10558// SetDescription sets the Description field's value.
10559func (s *CreateServiceActionInput) SetDescription(v string) *CreateServiceActionInput {
10560	s.Description = &v
10561	return s
10562}
10563
10564// SetIdempotencyToken sets the IdempotencyToken field's value.
10565func (s *CreateServiceActionInput) SetIdempotencyToken(v string) *CreateServiceActionInput {
10566	s.IdempotencyToken = &v
10567	return s
10568}
10569
10570// SetName sets the Name field's value.
10571func (s *CreateServiceActionInput) SetName(v string) *CreateServiceActionInput {
10572	s.Name = &v
10573	return s
10574}
10575
10576type CreateServiceActionOutput struct {
10577	_ struct{} `type:"structure"`
10578
10579	// An object containing information about the self-service action.
10580	ServiceActionDetail *ServiceActionDetail `type:"structure"`
10581}
10582
10583// String returns the string representation
10584func (s CreateServiceActionOutput) String() string {
10585	return awsutil.Prettify(s)
10586}
10587
10588// GoString returns the string representation
10589func (s CreateServiceActionOutput) GoString() string {
10590	return s.String()
10591}
10592
10593// SetServiceActionDetail sets the ServiceActionDetail field's value.
10594func (s *CreateServiceActionOutput) SetServiceActionDetail(v *ServiceActionDetail) *CreateServiceActionOutput {
10595	s.ServiceActionDetail = v
10596	return s
10597}
10598
10599type CreateTagOptionInput struct {
10600	_ struct{} `type:"structure"`
10601
10602	// The TagOption key.
10603	//
10604	// Key is a required field
10605	Key *string `min:"1" type:"string" required:"true"`
10606
10607	// The TagOption value.
10608	//
10609	// Value is a required field
10610	Value *string `min:"1" type:"string" required:"true"`
10611}
10612
10613// String returns the string representation
10614func (s CreateTagOptionInput) String() string {
10615	return awsutil.Prettify(s)
10616}
10617
10618// GoString returns the string representation
10619func (s CreateTagOptionInput) GoString() string {
10620	return s.String()
10621}
10622
10623// Validate inspects the fields of the type to determine if they are valid.
10624func (s *CreateTagOptionInput) Validate() error {
10625	invalidParams := request.ErrInvalidParams{Context: "CreateTagOptionInput"}
10626	if s.Key == nil {
10627		invalidParams.Add(request.NewErrParamRequired("Key"))
10628	}
10629	if s.Key != nil && len(*s.Key) < 1 {
10630		invalidParams.Add(request.NewErrParamMinLen("Key", 1))
10631	}
10632	if s.Value == nil {
10633		invalidParams.Add(request.NewErrParamRequired("Value"))
10634	}
10635	if s.Value != nil && len(*s.Value) < 1 {
10636		invalidParams.Add(request.NewErrParamMinLen("Value", 1))
10637	}
10638
10639	if invalidParams.Len() > 0 {
10640		return invalidParams
10641	}
10642	return nil
10643}
10644
10645// SetKey sets the Key field's value.
10646func (s *CreateTagOptionInput) SetKey(v string) *CreateTagOptionInput {
10647	s.Key = &v
10648	return s
10649}
10650
10651// SetValue sets the Value field's value.
10652func (s *CreateTagOptionInput) SetValue(v string) *CreateTagOptionInput {
10653	s.Value = &v
10654	return s
10655}
10656
10657type CreateTagOptionOutput struct {
10658	_ struct{} `type:"structure"`
10659
10660	// Information about the TagOption.
10661	TagOptionDetail *TagOptionDetail `type:"structure"`
10662}
10663
10664// String returns the string representation
10665func (s CreateTagOptionOutput) String() string {
10666	return awsutil.Prettify(s)
10667}
10668
10669// GoString returns the string representation
10670func (s CreateTagOptionOutput) GoString() string {
10671	return s.String()
10672}
10673
10674// SetTagOptionDetail sets the TagOptionDetail field's value.
10675func (s *CreateTagOptionOutput) SetTagOptionDetail(v *TagOptionDetail) *CreateTagOptionOutput {
10676	s.TagOptionDetail = v
10677	return s
10678}
10679
10680type DeleteConstraintInput struct {
10681	_ struct{} `type:"structure"`
10682
10683	// The language code.
10684	//
10685	//    * en - English (default)
10686	//
10687	//    * jp - Japanese
10688	//
10689	//    * zh - Chinese
10690	AcceptLanguage *string `type:"string"`
10691
10692	// The identifier of the constraint.
10693	//
10694	// Id is a required field
10695	Id *string `min:"1" type:"string" required:"true"`
10696}
10697
10698// String returns the string representation
10699func (s DeleteConstraintInput) String() string {
10700	return awsutil.Prettify(s)
10701}
10702
10703// GoString returns the string representation
10704func (s DeleteConstraintInput) GoString() string {
10705	return s.String()
10706}
10707
10708// Validate inspects the fields of the type to determine if they are valid.
10709func (s *DeleteConstraintInput) Validate() error {
10710	invalidParams := request.ErrInvalidParams{Context: "DeleteConstraintInput"}
10711	if s.Id == nil {
10712		invalidParams.Add(request.NewErrParamRequired("Id"))
10713	}
10714	if s.Id != nil && len(*s.Id) < 1 {
10715		invalidParams.Add(request.NewErrParamMinLen("Id", 1))
10716	}
10717
10718	if invalidParams.Len() > 0 {
10719		return invalidParams
10720	}
10721	return nil
10722}
10723
10724// SetAcceptLanguage sets the AcceptLanguage field's value.
10725func (s *DeleteConstraintInput) SetAcceptLanguage(v string) *DeleteConstraintInput {
10726	s.AcceptLanguage = &v
10727	return s
10728}
10729
10730// SetId sets the Id field's value.
10731func (s *DeleteConstraintInput) SetId(v string) *DeleteConstraintInput {
10732	s.Id = &v
10733	return s
10734}
10735
10736type DeleteConstraintOutput struct {
10737	_ struct{} `type:"structure"`
10738}
10739
10740// String returns the string representation
10741func (s DeleteConstraintOutput) String() string {
10742	return awsutil.Prettify(s)
10743}
10744
10745// GoString returns the string representation
10746func (s DeleteConstraintOutput) GoString() string {
10747	return s.String()
10748}
10749
10750type DeletePortfolioInput struct {
10751	_ struct{} `type:"structure"`
10752
10753	// The language code.
10754	//
10755	//    * en - English (default)
10756	//
10757	//    * jp - Japanese
10758	//
10759	//    * zh - Chinese
10760	AcceptLanguage *string `type:"string"`
10761
10762	// The portfolio identifier.
10763	//
10764	// Id is a required field
10765	Id *string `min:"1" type:"string" required:"true"`
10766}
10767
10768// String returns the string representation
10769func (s DeletePortfolioInput) String() string {
10770	return awsutil.Prettify(s)
10771}
10772
10773// GoString returns the string representation
10774func (s DeletePortfolioInput) GoString() string {
10775	return s.String()
10776}
10777
10778// Validate inspects the fields of the type to determine if they are valid.
10779func (s *DeletePortfolioInput) Validate() error {
10780	invalidParams := request.ErrInvalidParams{Context: "DeletePortfolioInput"}
10781	if s.Id == nil {
10782		invalidParams.Add(request.NewErrParamRequired("Id"))
10783	}
10784	if s.Id != nil && len(*s.Id) < 1 {
10785		invalidParams.Add(request.NewErrParamMinLen("Id", 1))
10786	}
10787
10788	if invalidParams.Len() > 0 {
10789		return invalidParams
10790	}
10791	return nil
10792}
10793
10794// SetAcceptLanguage sets the AcceptLanguage field's value.
10795func (s *DeletePortfolioInput) SetAcceptLanguage(v string) *DeletePortfolioInput {
10796	s.AcceptLanguage = &v
10797	return s
10798}
10799
10800// SetId sets the Id field's value.
10801func (s *DeletePortfolioInput) SetId(v string) *DeletePortfolioInput {
10802	s.Id = &v
10803	return s
10804}
10805
10806type DeletePortfolioOutput struct {
10807	_ struct{} `type:"structure"`
10808}
10809
10810// String returns the string representation
10811func (s DeletePortfolioOutput) String() string {
10812	return awsutil.Prettify(s)
10813}
10814
10815// GoString returns the string representation
10816func (s DeletePortfolioOutput) GoString() string {
10817	return s.String()
10818}
10819
10820type DeletePortfolioShareInput struct {
10821	_ struct{} `type:"structure"`
10822
10823	// The language code.
10824	//
10825	//    * en - English (default)
10826	//
10827	//    * jp - Japanese
10828	//
10829	//    * zh - Chinese
10830	AcceptLanguage *string `type:"string"`
10831
10832	// The AWS account ID.
10833	AccountId *string `type:"string"`
10834
10835	// The organization node to whom you are going to stop sharing.
10836	OrganizationNode *OrganizationNode `type:"structure"`
10837
10838	// The portfolio identifier.
10839	//
10840	// PortfolioId is a required field
10841	PortfolioId *string `min:"1" type:"string" required:"true"`
10842}
10843
10844// String returns the string representation
10845func (s DeletePortfolioShareInput) String() string {
10846	return awsutil.Prettify(s)
10847}
10848
10849// GoString returns the string representation
10850func (s DeletePortfolioShareInput) GoString() string {
10851	return s.String()
10852}
10853
10854// Validate inspects the fields of the type to determine if they are valid.
10855func (s *DeletePortfolioShareInput) Validate() error {
10856	invalidParams := request.ErrInvalidParams{Context: "DeletePortfolioShareInput"}
10857	if s.PortfolioId == nil {
10858		invalidParams.Add(request.NewErrParamRequired("PortfolioId"))
10859	}
10860	if s.PortfolioId != nil && len(*s.PortfolioId) < 1 {
10861		invalidParams.Add(request.NewErrParamMinLen("PortfolioId", 1))
10862	}
10863
10864	if invalidParams.Len() > 0 {
10865		return invalidParams
10866	}
10867	return nil
10868}
10869
10870// SetAcceptLanguage sets the AcceptLanguage field's value.
10871func (s *DeletePortfolioShareInput) SetAcceptLanguage(v string) *DeletePortfolioShareInput {
10872	s.AcceptLanguage = &v
10873	return s
10874}
10875
10876// SetAccountId sets the AccountId field's value.
10877func (s *DeletePortfolioShareInput) SetAccountId(v string) *DeletePortfolioShareInput {
10878	s.AccountId = &v
10879	return s
10880}
10881
10882// SetOrganizationNode sets the OrganizationNode field's value.
10883func (s *DeletePortfolioShareInput) SetOrganizationNode(v *OrganizationNode) *DeletePortfolioShareInput {
10884	s.OrganizationNode = v
10885	return s
10886}
10887
10888// SetPortfolioId sets the PortfolioId field's value.
10889func (s *DeletePortfolioShareInput) SetPortfolioId(v string) *DeletePortfolioShareInput {
10890	s.PortfolioId = &v
10891	return s
10892}
10893
10894type DeletePortfolioShareOutput struct {
10895	_ struct{} `type:"structure"`
10896
10897	// The portfolio share unique identifier. This will only be returned if delete
10898	// is made to an organization node.
10899	PortfolioShareToken *string `min:"1" type:"string"`
10900}
10901
10902// String returns the string representation
10903func (s DeletePortfolioShareOutput) String() string {
10904	return awsutil.Prettify(s)
10905}
10906
10907// GoString returns the string representation
10908func (s DeletePortfolioShareOutput) GoString() string {
10909	return s.String()
10910}
10911
10912// SetPortfolioShareToken sets the PortfolioShareToken field's value.
10913func (s *DeletePortfolioShareOutput) SetPortfolioShareToken(v string) *DeletePortfolioShareOutput {
10914	s.PortfolioShareToken = &v
10915	return s
10916}
10917
10918type DeleteProductInput struct {
10919	_ struct{} `type:"structure"`
10920
10921	// The language code.
10922	//
10923	//    * en - English (default)
10924	//
10925	//    * jp - Japanese
10926	//
10927	//    * zh - Chinese
10928	AcceptLanguage *string `type:"string"`
10929
10930	// The product identifier.
10931	//
10932	// Id is a required field
10933	Id *string `min:"1" type:"string" required:"true"`
10934}
10935
10936// String returns the string representation
10937func (s DeleteProductInput) String() string {
10938	return awsutil.Prettify(s)
10939}
10940
10941// GoString returns the string representation
10942func (s DeleteProductInput) GoString() string {
10943	return s.String()
10944}
10945
10946// Validate inspects the fields of the type to determine if they are valid.
10947func (s *DeleteProductInput) Validate() error {
10948	invalidParams := request.ErrInvalidParams{Context: "DeleteProductInput"}
10949	if s.Id == nil {
10950		invalidParams.Add(request.NewErrParamRequired("Id"))
10951	}
10952	if s.Id != nil && len(*s.Id) < 1 {
10953		invalidParams.Add(request.NewErrParamMinLen("Id", 1))
10954	}
10955
10956	if invalidParams.Len() > 0 {
10957		return invalidParams
10958	}
10959	return nil
10960}
10961
10962// SetAcceptLanguage sets the AcceptLanguage field's value.
10963func (s *DeleteProductInput) SetAcceptLanguage(v string) *DeleteProductInput {
10964	s.AcceptLanguage = &v
10965	return s
10966}
10967
10968// SetId sets the Id field's value.
10969func (s *DeleteProductInput) SetId(v string) *DeleteProductInput {
10970	s.Id = &v
10971	return s
10972}
10973
10974type DeleteProductOutput struct {
10975	_ struct{} `type:"structure"`
10976}
10977
10978// String returns the string representation
10979func (s DeleteProductOutput) String() string {
10980	return awsutil.Prettify(s)
10981}
10982
10983// GoString returns the string representation
10984func (s DeleteProductOutput) GoString() string {
10985	return s.String()
10986}
10987
10988type DeleteProvisionedProductPlanInput struct {
10989	_ struct{} `type:"structure"`
10990
10991	// The language code.
10992	//
10993	//    * en - English (default)
10994	//
10995	//    * jp - Japanese
10996	//
10997	//    * zh - Chinese
10998	AcceptLanguage *string `type:"string"`
10999
11000	// If set to true, AWS Service Catalog stops managing the specified provisioned
11001	// product even if it cannot delete the underlying resources.
11002	IgnoreErrors *bool `type:"boolean"`
11003
11004	// The plan identifier.
11005	//
11006	// PlanId is a required field
11007	PlanId *string `min:"1" type:"string" required:"true"`
11008}
11009
11010// String returns the string representation
11011func (s DeleteProvisionedProductPlanInput) String() string {
11012	return awsutil.Prettify(s)
11013}
11014
11015// GoString returns the string representation
11016func (s DeleteProvisionedProductPlanInput) GoString() string {
11017	return s.String()
11018}
11019
11020// Validate inspects the fields of the type to determine if they are valid.
11021func (s *DeleteProvisionedProductPlanInput) Validate() error {
11022	invalidParams := request.ErrInvalidParams{Context: "DeleteProvisionedProductPlanInput"}
11023	if s.PlanId == nil {
11024		invalidParams.Add(request.NewErrParamRequired("PlanId"))
11025	}
11026	if s.PlanId != nil && len(*s.PlanId) < 1 {
11027		invalidParams.Add(request.NewErrParamMinLen("PlanId", 1))
11028	}
11029
11030	if invalidParams.Len() > 0 {
11031		return invalidParams
11032	}
11033	return nil
11034}
11035
11036// SetAcceptLanguage sets the AcceptLanguage field's value.
11037func (s *DeleteProvisionedProductPlanInput) SetAcceptLanguage(v string) *DeleteProvisionedProductPlanInput {
11038	s.AcceptLanguage = &v
11039	return s
11040}
11041
11042// SetIgnoreErrors sets the IgnoreErrors field's value.
11043func (s *DeleteProvisionedProductPlanInput) SetIgnoreErrors(v bool) *DeleteProvisionedProductPlanInput {
11044	s.IgnoreErrors = &v
11045	return s
11046}
11047
11048// SetPlanId sets the PlanId field's value.
11049func (s *DeleteProvisionedProductPlanInput) SetPlanId(v string) *DeleteProvisionedProductPlanInput {
11050	s.PlanId = &v
11051	return s
11052}
11053
11054type DeleteProvisionedProductPlanOutput struct {
11055	_ struct{} `type:"structure"`
11056}
11057
11058// String returns the string representation
11059func (s DeleteProvisionedProductPlanOutput) String() string {
11060	return awsutil.Prettify(s)
11061}
11062
11063// GoString returns the string representation
11064func (s DeleteProvisionedProductPlanOutput) GoString() string {
11065	return s.String()
11066}
11067
11068type DeleteProvisioningArtifactInput struct {
11069	_ struct{} `type:"structure"`
11070
11071	// The language code.
11072	//
11073	//    * en - English (default)
11074	//
11075	//    * jp - Japanese
11076	//
11077	//    * zh - Chinese
11078	AcceptLanguage *string `type:"string"`
11079
11080	// The product identifier.
11081	//
11082	// ProductId is a required field
11083	ProductId *string `min:"1" type:"string" required:"true"`
11084
11085	// The identifier of the provisioning artifact.
11086	//
11087	// ProvisioningArtifactId is a required field
11088	ProvisioningArtifactId *string `min:"1" type:"string" required:"true"`
11089}
11090
11091// String returns the string representation
11092func (s DeleteProvisioningArtifactInput) String() string {
11093	return awsutil.Prettify(s)
11094}
11095
11096// GoString returns the string representation
11097func (s DeleteProvisioningArtifactInput) GoString() string {
11098	return s.String()
11099}
11100
11101// Validate inspects the fields of the type to determine if they are valid.
11102func (s *DeleteProvisioningArtifactInput) Validate() error {
11103	invalidParams := request.ErrInvalidParams{Context: "DeleteProvisioningArtifactInput"}
11104	if s.ProductId == nil {
11105		invalidParams.Add(request.NewErrParamRequired("ProductId"))
11106	}
11107	if s.ProductId != nil && len(*s.ProductId) < 1 {
11108		invalidParams.Add(request.NewErrParamMinLen("ProductId", 1))
11109	}
11110	if s.ProvisioningArtifactId == nil {
11111		invalidParams.Add(request.NewErrParamRequired("ProvisioningArtifactId"))
11112	}
11113	if s.ProvisioningArtifactId != nil && len(*s.ProvisioningArtifactId) < 1 {
11114		invalidParams.Add(request.NewErrParamMinLen("ProvisioningArtifactId", 1))
11115	}
11116
11117	if invalidParams.Len() > 0 {
11118		return invalidParams
11119	}
11120	return nil
11121}
11122
11123// SetAcceptLanguage sets the AcceptLanguage field's value.
11124func (s *DeleteProvisioningArtifactInput) SetAcceptLanguage(v string) *DeleteProvisioningArtifactInput {
11125	s.AcceptLanguage = &v
11126	return s
11127}
11128
11129// SetProductId sets the ProductId field's value.
11130func (s *DeleteProvisioningArtifactInput) SetProductId(v string) *DeleteProvisioningArtifactInput {
11131	s.ProductId = &v
11132	return s
11133}
11134
11135// SetProvisioningArtifactId sets the ProvisioningArtifactId field's value.
11136func (s *DeleteProvisioningArtifactInput) SetProvisioningArtifactId(v string) *DeleteProvisioningArtifactInput {
11137	s.ProvisioningArtifactId = &v
11138	return s
11139}
11140
11141type DeleteProvisioningArtifactOutput struct {
11142	_ struct{} `type:"structure"`
11143}
11144
11145// String returns the string representation
11146func (s DeleteProvisioningArtifactOutput) String() string {
11147	return awsutil.Prettify(s)
11148}
11149
11150// GoString returns the string representation
11151func (s DeleteProvisioningArtifactOutput) GoString() string {
11152	return s.String()
11153}
11154
11155type DeleteServiceActionInput struct {
11156	_ struct{} `type:"structure"`
11157
11158	// The language code.
11159	//
11160	//    * en - English (default)
11161	//
11162	//    * jp - Japanese
11163	//
11164	//    * zh - Chinese
11165	AcceptLanguage *string `type:"string"`
11166
11167	// The self-service action identifier. For example, act-fs7abcd89wxyz.
11168	//
11169	// Id is a required field
11170	Id *string `min:"1" type:"string" required:"true"`
11171}
11172
11173// String returns the string representation
11174func (s DeleteServiceActionInput) String() string {
11175	return awsutil.Prettify(s)
11176}
11177
11178// GoString returns the string representation
11179func (s DeleteServiceActionInput) GoString() string {
11180	return s.String()
11181}
11182
11183// Validate inspects the fields of the type to determine if they are valid.
11184func (s *DeleteServiceActionInput) Validate() error {
11185	invalidParams := request.ErrInvalidParams{Context: "DeleteServiceActionInput"}
11186	if s.Id == nil {
11187		invalidParams.Add(request.NewErrParamRequired("Id"))
11188	}
11189	if s.Id != nil && len(*s.Id) < 1 {
11190		invalidParams.Add(request.NewErrParamMinLen("Id", 1))
11191	}
11192
11193	if invalidParams.Len() > 0 {
11194		return invalidParams
11195	}
11196	return nil
11197}
11198
11199// SetAcceptLanguage sets the AcceptLanguage field's value.
11200func (s *DeleteServiceActionInput) SetAcceptLanguage(v string) *DeleteServiceActionInput {
11201	s.AcceptLanguage = &v
11202	return s
11203}
11204
11205// SetId sets the Id field's value.
11206func (s *DeleteServiceActionInput) SetId(v string) *DeleteServiceActionInput {
11207	s.Id = &v
11208	return s
11209}
11210
11211type DeleteServiceActionOutput struct {
11212	_ struct{} `type:"structure"`
11213}
11214
11215// String returns the string representation
11216func (s DeleteServiceActionOutput) String() string {
11217	return awsutil.Prettify(s)
11218}
11219
11220// GoString returns the string representation
11221func (s DeleteServiceActionOutput) GoString() string {
11222	return s.String()
11223}
11224
11225type DeleteTagOptionInput struct {
11226	_ struct{} `type:"structure"`
11227
11228	// The TagOption identifier.
11229	//
11230	// Id is a required field
11231	Id *string `min:"1" type:"string" required:"true"`
11232}
11233
11234// String returns the string representation
11235func (s DeleteTagOptionInput) String() string {
11236	return awsutil.Prettify(s)
11237}
11238
11239// GoString returns the string representation
11240func (s DeleteTagOptionInput) GoString() string {
11241	return s.String()
11242}
11243
11244// Validate inspects the fields of the type to determine if they are valid.
11245func (s *DeleteTagOptionInput) Validate() error {
11246	invalidParams := request.ErrInvalidParams{Context: "DeleteTagOptionInput"}
11247	if s.Id == nil {
11248		invalidParams.Add(request.NewErrParamRequired("Id"))
11249	}
11250	if s.Id != nil && len(*s.Id) < 1 {
11251		invalidParams.Add(request.NewErrParamMinLen("Id", 1))
11252	}
11253
11254	if invalidParams.Len() > 0 {
11255		return invalidParams
11256	}
11257	return nil
11258}
11259
11260// SetId sets the Id field's value.
11261func (s *DeleteTagOptionInput) SetId(v string) *DeleteTagOptionInput {
11262	s.Id = &v
11263	return s
11264}
11265
11266type DeleteTagOptionOutput struct {
11267	_ struct{} `type:"structure"`
11268}
11269
11270// String returns the string representation
11271func (s DeleteTagOptionOutput) String() string {
11272	return awsutil.Prettify(s)
11273}
11274
11275// GoString returns the string representation
11276func (s DeleteTagOptionOutput) GoString() string {
11277	return s.String()
11278}
11279
11280type DescribeConstraintInput struct {
11281	_ struct{} `type:"structure"`
11282
11283	// The language code.
11284	//
11285	//    * en - English (default)
11286	//
11287	//    * jp - Japanese
11288	//
11289	//    * zh - Chinese
11290	AcceptLanguage *string `type:"string"`
11291
11292	// The identifier of the constraint.
11293	//
11294	// Id is a required field
11295	Id *string `min:"1" type:"string" required:"true"`
11296}
11297
11298// String returns the string representation
11299func (s DescribeConstraintInput) String() string {
11300	return awsutil.Prettify(s)
11301}
11302
11303// GoString returns the string representation
11304func (s DescribeConstraintInput) GoString() string {
11305	return s.String()
11306}
11307
11308// Validate inspects the fields of the type to determine if they are valid.
11309func (s *DescribeConstraintInput) Validate() error {
11310	invalidParams := request.ErrInvalidParams{Context: "DescribeConstraintInput"}
11311	if s.Id == nil {
11312		invalidParams.Add(request.NewErrParamRequired("Id"))
11313	}
11314	if s.Id != nil && len(*s.Id) < 1 {
11315		invalidParams.Add(request.NewErrParamMinLen("Id", 1))
11316	}
11317
11318	if invalidParams.Len() > 0 {
11319		return invalidParams
11320	}
11321	return nil
11322}
11323
11324// SetAcceptLanguage sets the AcceptLanguage field's value.
11325func (s *DescribeConstraintInput) SetAcceptLanguage(v string) *DescribeConstraintInput {
11326	s.AcceptLanguage = &v
11327	return s
11328}
11329
11330// SetId sets the Id field's value.
11331func (s *DescribeConstraintInput) SetId(v string) *DescribeConstraintInput {
11332	s.Id = &v
11333	return s
11334}
11335
11336type DescribeConstraintOutput struct {
11337	_ struct{} `type:"structure"`
11338
11339	// Information about the constraint.
11340	ConstraintDetail *ConstraintDetail `type:"structure"`
11341
11342	// The constraint parameters.
11343	ConstraintParameters *string `type:"string"`
11344
11345	// The status of the current request.
11346	Status *string `type:"string" enum:"Status"`
11347}
11348
11349// String returns the string representation
11350func (s DescribeConstraintOutput) String() string {
11351	return awsutil.Prettify(s)
11352}
11353
11354// GoString returns the string representation
11355func (s DescribeConstraintOutput) GoString() string {
11356	return s.String()
11357}
11358
11359// SetConstraintDetail sets the ConstraintDetail field's value.
11360func (s *DescribeConstraintOutput) SetConstraintDetail(v *ConstraintDetail) *DescribeConstraintOutput {
11361	s.ConstraintDetail = v
11362	return s
11363}
11364
11365// SetConstraintParameters sets the ConstraintParameters field's value.
11366func (s *DescribeConstraintOutput) SetConstraintParameters(v string) *DescribeConstraintOutput {
11367	s.ConstraintParameters = &v
11368	return s
11369}
11370
11371// SetStatus sets the Status field's value.
11372func (s *DescribeConstraintOutput) SetStatus(v string) *DescribeConstraintOutput {
11373	s.Status = &v
11374	return s
11375}
11376
11377type DescribeCopyProductStatusInput struct {
11378	_ struct{} `type:"structure"`
11379
11380	// The language code.
11381	//
11382	//    * en - English (default)
11383	//
11384	//    * jp - Japanese
11385	//
11386	//    * zh - Chinese
11387	AcceptLanguage *string `type:"string"`
11388
11389	// The token for the copy product operation. This token is returned by CopyProduct.
11390	//
11391	// CopyProductToken is a required field
11392	CopyProductToken *string `min:"1" type:"string" required:"true"`
11393}
11394
11395// String returns the string representation
11396func (s DescribeCopyProductStatusInput) String() string {
11397	return awsutil.Prettify(s)
11398}
11399
11400// GoString returns the string representation
11401func (s DescribeCopyProductStatusInput) GoString() string {
11402	return s.String()
11403}
11404
11405// Validate inspects the fields of the type to determine if they are valid.
11406func (s *DescribeCopyProductStatusInput) Validate() error {
11407	invalidParams := request.ErrInvalidParams{Context: "DescribeCopyProductStatusInput"}
11408	if s.CopyProductToken == nil {
11409		invalidParams.Add(request.NewErrParamRequired("CopyProductToken"))
11410	}
11411	if s.CopyProductToken != nil && len(*s.CopyProductToken) < 1 {
11412		invalidParams.Add(request.NewErrParamMinLen("CopyProductToken", 1))
11413	}
11414
11415	if invalidParams.Len() > 0 {
11416		return invalidParams
11417	}
11418	return nil
11419}
11420
11421// SetAcceptLanguage sets the AcceptLanguage field's value.
11422func (s *DescribeCopyProductStatusInput) SetAcceptLanguage(v string) *DescribeCopyProductStatusInput {
11423	s.AcceptLanguage = &v
11424	return s
11425}
11426
11427// SetCopyProductToken sets the CopyProductToken field's value.
11428func (s *DescribeCopyProductStatusInput) SetCopyProductToken(v string) *DescribeCopyProductStatusInput {
11429	s.CopyProductToken = &v
11430	return s
11431}
11432
11433type DescribeCopyProductStatusOutput struct {
11434	_ struct{} `type:"structure"`
11435
11436	// The status of the copy product operation.
11437	CopyProductStatus *string `type:"string" enum:"CopyProductStatus"`
11438
11439	// The status message.
11440	StatusDetail *string `type:"string"`
11441
11442	// The identifier of the copied product.
11443	TargetProductId *string `min:"1" type:"string"`
11444}
11445
11446// String returns the string representation
11447func (s DescribeCopyProductStatusOutput) String() string {
11448	return awsutil.Prettify(s)
11449}
11450
11451// GoString returns the string representation
11452func (s DescribeCopyProductStatusOutput) GoString() string {
11453	return s.String()
11454}
11455
11456// SetCopyProductStatus sets the CopyProductStatus field's value.
11457func (s *DescribeCopyProductStatusOutput) SetCopyProductStatus(v string) *DescribeCopyProductStatusOutput {
11458	s.CopyProductStatus = &v
11459	return s
11460}
11461
11462// SetStatusDetail sets the StatusDetail field's value.
11463func (s *DescribeCopyProductStatusOutput) SetStatusDetail(v string) *DescribeCopyProductStatusOutput {
11464	s.StatusDetail = &v
11465	return s
11466}
11467
11468// SetTargetProductId sets the TargetProductId field's value.
11469func (s *DescribeCopyProductStatusOutput) SetTargetProductId(v string) *DescribeCopyProductStatusOutput {
11470	s.TargetProductId = &v
11471	return s
11472}
11473
11474type DescribePortfolioInput struct {
11475	_ struct{} `type:"structure"`
11476
11477	// The language code.
11478	//
11479	//    * en - English (default)
11480	//
11481	//    * jp - Japanese
11482	//
11483	//    * zh - Chinese
11484	AcceptLanguage *string `type:"string"`
11485
11486	// The portfolio identifier.
11487	//
11488	// Id is a required field
11489	Id *string `min:"1" type:"string" required:"true"`
11490}
11491
11492// String returns the string representation
11493func (s DescribePortfolioInput) String() string {
11494	return awsutil.Prettify(s)
11495}
11496
11497// GoString returns the string representation
11498func (s DescribePortfolioInput) GoString() string {
11499	return s.String()
11500}
11501
11502// Validate inspects the fields of the type to determine if they are valid.
11503func (s *DescribePortfolioInput) Validate() error {
11504	invalidParams := request.ErrInvalidParams{Context: "DescribePortfolioInput"}
11505	if s.Id == nil {
11506		invalidParams.Add(request.NewErrParamRequired("Id"))
11507	}
11508	if s.Id != nil && len(*s.Id) < 1 {
11509		invalidParams.Add(request.NewErrParamMinLen("Id", 1))
11510	}
11511
11512	if invalidParams.Len() > 0 {
11513		return invalidParams
11514	}
11515	return nil
11516}
11517
11518// SetAcceptLanguage sets the AcceptLanguage field's value.
11519func (s *DescribePortfolioInput) SetAcceptLanguage(v string) *DescribePortfolioInput {
11520	s.AcceptLanguage = &v
11521	return s
11522}
11523
11524// SetId sets the Id field's value.
11525func (s *DescribePortfolioInput) SetId(v string) *DescribePortfolioInput {
11526	s.Id = &v
11527	return s
11528}
11529
11530type DescribePortfolioOutput struct {
11531	_ struct{} `type:"structure"`
11532
11533	// Information about the associated budgets.
11534	Budgets []*BudgetDetail `type:"list"`
11535
11536	// Information about the portfolio.
11537	PortfolioDetail *PortfolioDetail `type:"structure"`
11538
11539	// Information about the TagOptions associated with the portfolio.
11540	TagOptions []*TagOptionDetail `type:"list"`
11541
11542	// Information about the tags associated with the portfolio.
11543	Tags []*Tag `type:"list"`
11544}
11545
11546// String returns the string representation
11547func (s DescribePortfolioOutput) String() string {
11548	return awsutil.Prettify(s)
11549}
11550
11551// GoString returns the string representation
11552func (s DescribePortfolioOutput) GoString() string {
11553	return s.String()
11554}
11555
11556// SetBudgets sets the Budgets field's value.
11557func (s *DescribePortfolioOutput) SetBudgets(v []*BudgetDetail) *DescribePortfolioOutput {
11558	s.Budgets = v
11559	return s
11560}
11561
11562// SetPortfolioDetail sets the PortfolioDetail field's value.
11563func (s *DescribePortfolioOutput) SetPortfolioDetail(v *PortfolioDetail) *DescribePortfolioOutput {
11564	s.PortfolioDetail = v
11565	return s
11566}
11567
11568// SetTagOptions sets the TagOptions field's value.
11569func (s *DescribePortfolioOutput) SetTagOptions(v []*TagOptionDetail) *DescribePortfolioOutput {
11570	s.TagOptions = v
11571	return s
11572}
11573
11574// SetTags sets the Tags field's value.
11575func (s *DescribePortfolioOutput) SetTags(v []*Tag) *DescribePortfolioOutput {
11576	s.Tags = v
11577	return s
11578}
11579
11580type DescribePortfolioShareStatusInput struct {
11581	_ struct{} `type:"structure"`
11582
11583	// The token for the portfolio share operation. This token is returned either
11584	// by CreatePortfolioShare or by DeletePortfolioShare.
11585	//
11586	// PortfolioShareToken is a required field
11587	PortfolioShareToken *string `min:"1" type:"string" required:"true"`
11588}
11589
11590// String returns the string representation
11591func (s DescribePortfolioShareStatusInput) String() string {
11592	return awsutil.Prettify(s)
11593}
11594
11595// GoString returns the string representation
11596func (s DescribePortfolioShareStatusInput) GoString() string {
11597	return s.String()
11598}
11599
11600// Validate inspects the fields of the type to determine if they are valid.
11601func (s *DescribePortfolioShareStatusInput) Validate() error {
11602	invalidParams := request.ErrInvalidParams{Context: "DescribePortfolioShareStatusInput"}
11603	if s.PortfolioShareToken == nil {
11604		invalidParams.Add(request.NewErrParamRequired("PortfolioShareToken"))
11605	}
11606	if s.PortfolioShareToken != nil && len(*s.PortfolioShareToken) < 1 {
11607		invalidParams.Add(request.NewErrParamMinLen("PortfolioShareToken", 1))
11608	}
11609
11610	if invalidParams.Len() > 0 {
11611		return invalidParams
11612	}
11613	return nil
11614}
11615
11616// SetPortfolioShareToken sets the PortfolioShareToken field's value.
11617func (s *DescribePortfolioShareStatusInput) SetPortfolioShareToken(v string) *DescribePortfolioShareStatusInput {
11618	s.PortfolioShareToken = &v
11619	return s
11620}
11621
11622type DescribePortfolioShareStatusOutput struct {
11623	_ struct{} `type:"structure"`
11624
11625	// Organization node identifier. It can be either account id, organizational
11626	// unit id or organization id.
11627	OrganizationNodeValue *string `type:"string"`
11628
11629	// The portfolio identifier.
11630	PortfolioId *string `min:"1" type:"string"`
11631
11632	// The token for the portfolio share operation. For example, share-6v24abcdefghi.
11633	PortfolioShareToken *string `min:"1" type:"string"`
11634
11635	// Information about the portfolio share operation.
11636	ShareDetails *ShareDetails `type:"structure"`
11637
11638	// Status of the portfolio share operation.
11639	Status *string `type:"string" enum:"ShareStatus"`
11640}
11641
11642// String returns the string representation
11643func (s DescribePortfolioShareStatusOutput) String() string {
11644	return awsutil.Prettify(s)
11645}
11646
11647// GoString returns the string representation
11648func (s DescribePortfolioShareStatusOutput) GoString() string {
11649	return s.String()
11650}
11651
11652// SetOrganizationNodeValue sets the OrganizationNodeValue field's value.
11653func (s *DescribePortfolioShareStatusOutput) SetOrganizationNodeValue(v string) *DescribePortfolioShareStatusOutput {
11654	s.OrganizationNodeValue = &v
11655	return s
11656}
11657
11658// SetPortfolioId sets the PortfolioId field's value.
11659func (s *DescribePortfolioShareStatusOutput) SetPortfolioId(v string) *DescribePortfolioShareStatusOutput {
11660	s.PortfolioId = &v
11661	return s
11662}
11663
11664// SetPortfolioShareToken sets the PortfolioShareToken field's value.
11665func (s *DescribePortfolioShareStatusOutput) SetPortfolioShareToken(v string) *DescribePortfolioShareStatusOutput {
11666	s.PortfolioShareToken = &v
11667	return s
11668}
11669
11670// SetShareDetails sets the ShareDetails field's value.
11671func (s *DescribePortfolioShareStatusOutput) SetShareDetails(v *ShareDetails) *DescribePortfolioShareStatusOutput {
11672	s.ShareDetails = v
11673	return s
11674}
11675
11676// SetStatus sets the Status field's value.
11677func (s *DescribePortfolioShareStatusOutput) SetStatus(v string) *DescribePortfolioShareStatusOutput {
11678	s.Status = &v
11679	return s
11680}
11681
11682type DescribeProductAsAdminInput struct {
11683	_ struct{} `type:"structure"`
11684
11685	// The language code.
11686	//
11687	//    * en - English (default)
11688	//
11689	//    * jp - Japanese
11690	//
11691	//    * zh - Chinese
11692	AcceptLanguage *string `type:"string"`
11693
11694	// The product identifier.
11695	Id *string `min:"1" type:"string"`
11696
11697	// The product name.
11698	Name *string `type:"string"`
11699}
11700
11701// String returns the string representation
11702func (s DescribeProductAsAdminInput) String() string {
11703	return awsutil.Prettify(s)
11704}
11705
11706// GoString returns the string representation
11707func (s DescribeProductAsAdminInput) GoString() string {
11708	return s.String()
11709}
11710
11711// Validate inspects the fields of the type to determine if they are valid.
11712func (s *DescribeProductAsAdminInput) Validate() error {
11713	invalidParams := request.ErrInvalidParams{Context: "DescribeProductAsAdminInput"}
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 *DescribeProductAsAdminInput) SetAcceptLanguage(v string) *DescribeProductAsAdminInput {
11726	s.AcceptLanguage = &v
11727	return s
11728}
11729
11730// SetId sets the Id field's value.
11731func (s *DescribeProductAsAdminInput) SetId(v string) *DescribeProductAsAdminInput {
11732	s.Id = &v
11733	return s
11734}
11735
11736// SetName sets the Name field's value.
11737func (s *DescribeProductAsAdminInput) SetName(v string) *DescribeProductAsAdminInput {
11738	s.Name = &v
11739	return s
11740}
11741
11742type DescribeProductAsAdminOutput struct {
11743	_ struct{} `type:"structure"`
11744
11745	// Information about the associated budgets.
11746	Budgets []*BudgetDetail `type:"list"`
11747
11748	// Information about the product view.
11749	ProductViewDetail *ProductViewDetail `type:"structure"`
11750
11751	// Information about the provisioning artifacts (also known as versions) for
11752	// the specified product.
11753	ProvisioningArtifactSummaries []*ProvisioningArtifactSummary `type:"list"`
11754
11755	// Information about the TagOptions associated with the product.
11756	TagOptions []*TagOptionDetail `type:"list"`
11757
11758	// Information about the tags associated with the product.
11759	Tags []*Tag `type:"list"`
11760}
11761
11762// String returns the string representation
11763func (s DescribeProductAsAdminOutput) String() string {
11764	return awsutil.Prettify(s)
11765}
11766
11767// GoString returns the string representation
11768func (s DescribeProductAsAdminOutput) GoString() string {
11769	return s.String()
11770}
11771
11772// SetBudgets sets the Budgets field's value.
11773func (s *DescribeProductAsAdminOutput) SetBudgets(v []*BudgetDetail) *DescribeProductAsAdminOutput {
11774	s.Budgets = v
11775	return s
11776}
11777
11778// SetProductViewDetail sets the ProductViewDetail field's value.
11779func (s *DescribeProductAsAdminOutput) SetProductViewDetail(v *ProductViewDetail) *DescribeProductAsAdminOutput {
11780	s.ProductViewDetail = v
11781	return s
11782}
11783
11784// SetProvisioningArtifactSummaries sets the ProvisioningArtifactSummaries field's value.
11785func (s *DescribeProductAsAdminOutput) SetProvisioningArtifactSummaries(v []*ProvisioningArtifactSummary) *DescribeProductAsAdminOutput {
11786	s.ProvisioningArtifactSummaries = v
11787	return s
11788}
11789
11790// SetTagOptions sets the TagOptions field's value.
11791func (s *DescribeProductAsAdminOutput) SetTagOptions(v []*TagOptionDetail) *DescribeProductAsAdminOutput {
11792	s.TagOptions = v
11793	return s
11794}
11795
11796// SetTags sets the Tags field's value.
11797func (s *DescribeProductAsAdminOutput) SetTags(v []*Tag) *DescribeProductAsAdminOutput {
11798	s.Tags = v
11799	return s
11800}
11801
11802type DescribeProductInput struct {
11803	_ struct{} `type:"structure"`
11804
11805	// The language code.
11806	//
11807	//    * en - English (default)
11808	//
11809	//    * jp - Japanese
11810	//
11811	//    * zh - Chinese
11812	AcceptLanguage *string `type:"string"`
11813
11814	// The product identifier.
11815	Id *string `min:"1" type:"string"`
11816
11817	// The product name.
11818	Name *string `type:"string"`
11819}
11820
11821// String returns the string representation
11822func (s DescribeProductInput) String() string {
11823	return awsutil.Prettify(s)
11824}
11825
11826// GoString returns the string representation
11827func (s DescribeProductInput) GoString() string {
11828	return s.String()
11829}
11830
11831// Validate inspects the fields of the type to determine if they are valid.
11832func (s *DescribeProductInput) Validate() error {
11833	invalidParams := request.ErrInvalidParams{Context: "DescribeProductInput"}
11834	if s.Id != nil && len(*s.Id) < 1 {
11835		invalidParams.Add(request.NewErrParamMinLen("Id", 1))
11836	}
11837
11838	if invalidParams.Len() > 0 {
11839		return invalidParams
11840	}
11841	return nil
11842}
11843
11844// SetAcceptLanguage sets the AcceptLanguage field's value.
11845func (s *DescribeProductInput) SetAcceptLanguage(v string) *DescribeProductInput {
11846	s.AcceptLanguage = &v
11847	return s
11848}
11849
11850// SetId sets the Id field's value.
11851func (s *DescribeProductInput) SetId(v string) *DescribeProductInput {
11852	s.Id = &v
11853	return s
11854}
11855
11856// SetName sets the Name field's value.
11857func (s *DescribeProductInput) SetName(v string) *DescribeProductInput {
11858	s.Name = &v
11859	return s
11860}
11861
11862type DescribeProductOutput struct {
11863	_ struct{} `type:"structure"`
11864
11865	// Information about the associated budgets.
11866	Budgets []*BudgetDetail `type:"list"`
11867
11868	// Information about the associated launch paths.
11869	LaunchPaths []*LaunchPath `type:"list"`
11870
11871	// Summary information about the product view.
11872	ProductViewSummary *ProductViewSummary `type:"structure"`
11873
11874	// Information about the provisioning artifacts for the specified product.
11875	ProvisioningArtifacts []*ProvisioningArtifact `type:"list"`
11876}
11877
11878// String returns the string representation
11879func (s DescribeProductOutput) String() string {
11880	return awsutil.Prettify(s)
11881}
11882
11883// GoString returns the string representation
11884func (s DescribeProductOutput) GoString() string {
11885	return s.String()
11886}
11887
11888// SetBudgets sets the Budgets field's value.
11889func (s *DescribeProductOutput) SetBudgets(v []*BudgetDetail) *DescribeProductOutput {
11890	s.Budgets = v
11891	return s
11892}
11893
11894// SetLaunchPaths sets the LaunchPaths field's value.
11895func (s *DescribeProductOutput) SetLaunchPaths(v []*LaunchPath) *DescribeProductOutput {
11896	s.LaunchPaths = v
11897	return s
11898}
11899
11900// SetProductViewSummary sets the ProductViewSummary field's value.
11901func (s *DescribeProductOutput) SetProductViewSummary(v *ProductViewSummary) *DescribeProductOutput {
11902	s.ProductViewSummary = v
11903	return s
11904}
11905
11906// SetProvisioningArtifacts sets the ProvisioningArtifacts field's value.
11907func (s *DescribeProductOutput) SetProvisioningArtifacts(v []*ProvisioningArtifact) *DescribeProductOutput {
11908	s.ProvisioningArtifacts = v
11909	return s
11910}
11911
11912type DescribeProductViewInput struct {
11913	_ struct{} `type:"structure"`
11914
11915	// The language code.
11916	//
11917	//    * en - English (default)
11918	//
11919	//    * jp - Japanese
11920	//
11921	//    * zh - Chinese
11922	AcceptLanguage *string `type:"string"`
11923
11924	// The product view identifier.
11925	//
11926	// Id is a required field
11927	Id *string `min:"1" type:"string" required:"true"`
11928}
11929
11930// String returns the string representation
11931func (s DescribeProductViewInput) String() string {
11932	return awsutil.Prettify(s)
11933}
11934
11935// GoString returns the string representation
11936func (s DescribeProductViewInput) GoString() string {
11937	return s.String()
11938}
11939
11940// Validate inspects the fields of the type to determine if they are valid.
11941func (s *DescribeProductViewInput) Validate() error {
11942	invalidParams := request.ErrInvalidParams{Context: "DescribeProductViewInput"}
11943	if s.Id == nil {
11944		invalidParams.Add(request.NewErrParamRequired("Id"))
11945	}
11946	if s.Id != nil && len(*s.Id) < 1 {
11947		invalidParams.Add(request.NewErrParamMinLen("Id", 1))
11948	}
11949
11950	if invalidParams.Len() > 0 {
11951		return invalidParams
11952	}
11953	return nil
11954}
11955
11956// SetAcceptLanguage sets the AcceptLanguage field's value.
11957func (s *DescribeProductViewInput) SetAcceptLanguage(v string) *DescribeProductViewInput {
11958	s.AcceptLanguage = &v
11959	return s
11960}
11961
11962// SetId sets the Id field's value.
11963func (s *DescribeProductViewInput) SetId(v string) *DescribeProductViewInput {
11964	s.Id = &v
11965	return s
11966}
11967
11968type DescribeProductViewOutput struct {
11969	_ struct{} `type:"structure"`
11970
11971	// Summary information about the product.
11972	ProductViewSummary *ProductViewSummary `type:"structure"`
11973
11974	// Information about the provisioning artifacts for the product.
11975	ProvisioningArtifacts []*ProvisioningArtifact `type:"list"`
11976}
11977
11978// String returns the string representation
11979func (s DescribeProductViewOutput) String() string {
11980	return awsutil.Prettify(s)
11981}
11982
11983// GoString returns the string representation
11984func (s DescribeProductViewOutput) GoString() string {
11985	return s.String()
11986}
11987
11988// SetProductViewSummary sets the ProductViewSummary field's value.
11989func (s *DescribeProductViewOutput) SetProductViewSummary(v *ProductViewSummary) *DescribeProductViewOutput {
11990	s.ProductViewSummary = v
11991	return s
11992}
11993
11994// SetProvisioningArtifacts sets the ProvisioningArtifacts field's value.
11995func (s *DescribeProductViewOutput) SetProvisioningArtifacts(v []*ProvisioningArtifact) *DescribeProductViewOutput {
11996	s.ProvisioningArtifacts = v
11997	return s
11998}
11999
12000// DescribeProvisionedProductAPI input structure. AcceptLanguage - [Optional]
12001// The language code for localization. Id - [Optional] The provisioned product
12002// identifier. Name - [Optional] Another provisioned product identifier. Customers
12003// must provide either Id or Name.
12004type DescribeProvisionedProductInput struct {
12005	_ struct{} `type:"structure"`
12006
12007	// The language code.
12008	//
12009	//    * en - English (default)
12010	//
12011	//    * jp - Japanese
12012	//
12013	//    * zh - Chinese
12014	AcceptLanguage *string `type:"string"`
12015
12016	// The provisioned product identifier. You must provide the name or ID, but
12017	// not both.
12018	//
12019	// If you do not provide a name or ID, or you provide both name and ID, an InvalidParametersException
12020	// will occur.
12021	Id *string `min:"1" type:"string"`
12022
12023	// The name of the provisioned product. You must provide the name or ID, but
12024	// not both.
12025	//
12026	// If you do not provide a name or ID, or you provide both name and ID, an InvalidParametersException
12027	// will occur.
12028	Name *string `min:"1" type:"string"`
12029}
12030
12031// String returns the string representation
12032func (s DescribeProvisionedProductInput) String() string {
12033	return awsutil.Prettify(s)
12034}
12035
12036// GoString returns the string representation
12037func (s DescribeProvisionedProductInput) GoString() string {
12038	return s.String()
12039}
12040
12041// Validate inspects the fields of the type to determine if they are valid.
12042func (s *DescribeProvisionedProductInput) Validate() error {
12043	invalidParams := request.ErrInvalidParams{Context: "DescribeProvisionedProductInput"}
12044	if s.Id != nil && len(*s.Id) < 1 {
12045		invalidParams.Add(request.NewErrParamMinLen("Id", 1))
12046	}
12047	if s.Name != nil && len(*s.Name) < 1 {
12048		invalidParams.Add(request.NewErrParamMinLen("Name", 1))
12049	}
12050
12051	if invalidParams.Len() > 0 {
12052		return invalidParams
12053	}
12054	return nil
12055}
12056
12057// SetAcceptLanguage sets the AcceptLanguage field's value.
12058func (s *DescribeProvisionedProductInput) SetAcceptLanguage(v string) *DescribeProvisionedProductInput {
12059	s.AcceptLanguage = &v
12060	return s
12061}
12062
12063// SetId sets the Id field's value.
12064func (s *DescribeProvisionedProductInput) SetId(v string) *DescribeProvisionedProductInput {
12065	s.Id = &v
12066	return s
12067}
12068
12069// SetName sets the Name field's value.
12070func (s *DescribeProvisionedProductInput) SetName(v string) *DescribeProvisionedProductInput {
12071	s.Name = &v
12072	return s
12073}
12074
12075type DescribeProvisionedProductOutput struct {
12076	_ struct{} `type:"structure"`
12077
12078	// Any CloudWatch dashboards that were created when provisioning the product.
12079	CloudWatchDashboards []*CloudWatchDashboard `type:"list"`
12080
12081	// Information about the provisioned product.
12082	ProvisionedProductDetail *ProvisionedProductDetail `type:"structure"`
12083}
12084
12085// String returns the string representation
12086func (s DescribeProvisionedProductOutput) String() string {
12087	return awsutil.Prettify(s)
12088}
12089
12090// GoString returns the string representation
12091func (s DescribeProvisionedProductOutput) GoString() string {
12092	return s.String()
12093}
12094
12095// SetCloudWatchDashboards sets the CloudWatchDashboards field's value.
12096func (s *DescribeProvisionedProductOutput) SetCloudWatchDashboards(v []*CloudWatchDashboard) *DescribeProvisionedProductOutput {
12097	s.CloudWatchDashboards = v
12098	return s
12099}
12100
12101// SetProvisionedProductDetail sets the ProvisionedProductDetail field's value.
12102func (s *DescribeProvisionedProductOutput) SetProvisionedProductDetail(v *ProvisionedProductDetail) *DescribeProvisionedProductOutput {
12103	s.ProvisionedProductDetail = v
12104	return s
12105}
12106
12107type DescribeProvisionedProductPlanInput struct {
12108	_ struct{} `type:"structure"`
12109
12110	// The language code.
12111	//
12112	//    * en - English (default)
12113	//
12114	//    * jp - Japanese
12115	//
12116	//    * zh - Chinese
12117	AcceptLanguage *string `type:"string"`
12118
12119	// The maximum number of items to return with this call.
12120	PageSize *int64 `type:"integer"`
12121
12122	// The page token for the next set of results. To retrieve the first set of
12123	// results, use null.
12124	PageToken *string `type:"string"`
12125
12126	// The plan identifier.
12127	//
12128	// PlanId is a required field
12129	PlanId *string `min:"1" type:"string" required:"true"`
12130}
12131
12132// String returns the string representation
12133func (s DescribeProvisionedProductPlanInput) String() string {
12134	return awsutil.Prettify(s)
12135}
12136
12137// GoString returns the string representation
12138func (s DescribeProvisionedProductPlanInput) GoString() string {
12139	return s.String()
12140}
12141
12142// Validate inspects the fields of the type to determine if they are valid.
12143func (s *DescribeProvisionedProductPlanInput) Validate() error {
12144	invalidParams := request.ErrInvalidParams{Context: "DescribeProvisionedProductPlanInput"}
12145	if s.PlanId == nil {
12146		invalidParams.Add(request.NewErrParamRequired("PlanId"))
12147	}
12148	if s.PlanId != nil && len(*s.PlanId) < 1 {
12149		invalidParams.Add(request.NewErrParamMinLen("PlanId", 1))
12150	}
12151
12152	if invalidParams.Len() > 0 {
12153		return invalidParams
12154	}
12155	return nil
12156}
12157
12158// SetAcceptLanguage sets the AcceptLanguage field's value.
12159func (s *DescribeProvisionedProductPlanInput) SetAcceptLanguage(v string) *DescribeProvisionedProductPlanInput {
12160	s.AcceptLanguage = &v
12161	return s
12162}
12163
12164// SetPageSize sets the PageSize field's value.
12165func (s *DescribeProvisionedProductPlanInput) SetPageSize(v int64) *DescribeProvisionedProductPlanInput {
12166	s.PageSize = &v
12167	return s
12168}
12169
12170// SetPageToken sets the PageToken field's value.
12171func (s *DescribeProvisionedProductPlanInput) SetPageToken(v string) *DescribeProvisionedProductPlanInput {
12172	s.PageToken = &v
12173	return s
12174}
12175
12176// SetPlanId sets the PlanId field's value.
12177func (s *DescribeProvisionedProductPlanInput) SetPlanId(v string) *DescribeProvisionedProductPlanInput {
12178	s.PlanId = &v
12179	return s
12180}
12181
12182type DescribeProvisionedProductPlanOutput struct {
12183	_ struct{} `type:"structure"`
12184
12185	// The page token to use to retrieve the next set of results. If there are no
12186	// additional results, this value is null.
12187	NextPageToken *string `type:"string"`
12188
12189	// Information about the plan.
12190	ProvisionedProductPlanDetails *ProvisionedProductPlanDetails `type:"structure"`
12191
12192	// Information about the resource changes that will occur when the plan is executed.
12193	ResourceChanges []*ResourceChange `type:"list"`
12194}
12195
12196// String returns the string representation
12197func (s DescribeProvisionedProductPlanOutput) String() string {
12198	return awsutil.Prettify(s)
12199}
12200
12201// GoString returns the string representation
12202func (s DescribeProvisionedProductPlanOutput) GoString() string {
12203	return s.String()
12204}
12205
12206// SetNextPageToken sets the NextPageToken field's value.
12207func (s *DescribeProvisionedProductPlanOutput) SetNextPageToken(v string) *DescribeProvisionedProductPlanOutput {
12208	s.NextPageToken = &v
12209	return s
12210}
12211
12212// SetProvisionedProductPlanDetails sets the ProvisionedProductPlanDetails field's value.
12213func (s *DescribeProvisionedProductPlanOutput) SetProvisionedProductPlanDetails(v *ProvisionedProductPlanDetails) *DescribeProvisionedProductPlanOutput {
12214	s.ProvisionedProductPlanDetails = v
12215	return s
12216}
12217
12218// SetResourceChanges sets the ResourceChanges field's value.
12219func (s *DescribeProvisionedProductPlanOutput) SetResourceChanges(v []*ResourceChange) *DescribeProvisionedProductPlanOutput {
12220	s.ResourceChanges = v
12221	return s
12222}
12223
12224type DescribeProvisioningArtifactInput struct {
12225	_ struct{} `type:"structure"`
12226
12227	// The language code.
12228	//
12229	//    * en - English (default)
12230	//
12231	//    * jp - Japanese
12232	//
12233	//    * zh - Chinese
12234	AcceptLanguage *string `type:"string"`
12235
12236	// The product identifier.
12237	ProductId *string `min:"1" type:"string"`
12238
12239	// The product name.
12240	ProductName *string `type:"string"`
12241
12242	// The identifier of the provisioning artifact.
12243	ProvisioningArtifactId *string `min:"1" type:"string"`
12244
12245	// The provisioning artifact name.
12246	ProvisioningArtifactName *string `type:"string"`
12247
12248	// Indicates whether a verbose level of detail is enabled.
12249	Verbose *bool `type:"boolean"`
12250}
12251
12252// String returns the string representation
12253func (s DescribeProvisioningArtifactInput) String() string {
12254	return awsutil.Prettify(s)
12255}
12256
12257// GoString returns the string representation
12258func (s DescribeProvisioningArtifactInput) GoString() string {
12259	return s.String()
12260}
12261
12262// Validate inspects the fields of the type to determine if they are valid.
12263func (s *DescribeProvisioningArtifactInput) Validate() error {
12264	invalidParams := request.ErrInvalidParams{Context: "DescribeProvisioningArtifactInput"}
12265	if s.ProductId != nil && len(*s.ProductId) < 1 {
12266		invalidParams.Add(request.NewErrParamMinLen("ProductId", 1))
12267	}
12268	if s.ProvisioningArtifactId != nil && len(*s.ProvisioningArtifactId) < 1 {
12269		invalidParams.Add(request.NewErrParamMinLen("ProvisioningArtifactId", 1))
12270	}
12271
12272	if invalidParams.Len() > 0 {
12273		return invalidParams
12274	}
12275	return nil
12276}
12277
12278// SetAcceptLanguage sets the AcceptLanguage field's value.
12279func (s *DescribeProvisioningArtifactInput) SetAcceptLanguage(v string) *DescribeProvisioningArtifactInput {
12280	s.AcceptLanguage = &v
12281	return s
12282}
12283
12284// SetProductId sets the ProductId field's value.
12285func (s *DescribeProvisioningArtifactInput) SetProductId(v string) *DescribeProvisioningArtifactInput {
12286	s.ProductId = &v
12287	return s
12288}
12289
12290// SetProductName sets the ProductName field's value.
12291func (s *DescribeProvisioningArtifactInput) SetProductName(v string) *DescribeProvisioningArtifactInput {
12292	s.ProductName = &v
12293	return s
12294}
12295
12296// SetProvisioningArtifactId sets the ProvisioningArtifactId field's value.
12297func (s *DescribeProvisioningArtifactInput) SetProvisioningArtifactId(v string) *DescribeProvisioningArtifactInput {
12298	s.ProvisioningArtifactId = &v
12299	return s
12300}
12301
12302// SetProvisioningArtifactName sets the ProvisioningArtifactName field's value.
12303func (s *DescribeProvisioningArtifactInput) SetProvisioningArtifactName(v string) *DescribeProvisioningArtifactInput {
12304	s.ProvisioningArtifactName = &v
12305	return s
12306}
12307
12308// SetVerbose sets the Verbose field's value.
12309func (s *DescribeProvisioningArtifactInput) SetVerbose(v bool) *DescribeProvisioningArtifactInput {
12310	s.Verbose = &v
12311	return s
12312}
12313
12314type DescribeProvisioningArtifactOutput struct {
12315	_ struct{} `type:"structure"`
12316
12317	// The URL of the CloudFormation template in Amazon S3.
12318	Info map[string]*string `min:"1" type:"map"`
12319
12320	// Information about the provisioning artifact.
12321	ProvisioningArtifactDetail *ProvisioningArtifactDetail `type:"structure"`
12322
12323	// The status of the current request.
12324	Status *string `type:"string" enum:"Status"`
12325}
12326
12327// String returns the string representation
12328func (s DescribeProvisioningArtifactOutput) String() string {
12329	return awsutil.Prettify(s)
12330}
12331
12332// GoString returns the string representation
12333func (s DescribeProvisioningArtifactOutput) GoString() string {
12334	return s.String()
12335}
12336
12337// SetInfo sets the Info field's value.
12338func (s *DescribeProvisioningArtifactOutput) SetInfo(v map[string]*string) *DescribeProvisioningArtifactOutput {
12339	s.Info = v
12340	return s
12341}
12342
12343// SetProvisioningArtifactDetail sets the ProvisioningArtifactDetail field's value.
12344func (s *DescribeProvisioningArtifactOutput) SetProvisioningArtifactDetail(v *ProvisioningArtifactDetail) *DescribeProvisioningArtifactOutput {
12345	s.ProvisioningArtifactDetail = v
12346	return s
12347}
12348
12349// SetStatus sets the Status field's value.
12350func (s *DescribeProvisioningArtifactOutput) SetStatus(v string) *DescribeProvisioningArtifactOutput {
12351	s.Status = &v
12352	return s
12353}
12354
12355type DescribeProvisioningParametersInput struct {
12356	_ struct{} `type:"structure"`
12357
12358	// The language code.
12359	//
12360	//    * en - English (default)
12361	//
12362	//    * jp - Japanese
12363	//
12364	//    * zh - Chinese
12365	AcceptLanguage *string `type:"string"`
12366
12367	// The path identifier of the product. This value is optional if the product
12368	// has a default path, and required if the product has more than one path. To
12369	// list the paths for a product, use ListLaunchPaths. You must provide the name
12370	// or ID, but not both.
12371	PathId *string `min:"1" type:"string"`
12372
12373	// The name of the path. You must provide the name or ID, but not both.
12374	PathName *string `min:"1" type:"string"`
12375
12376	// The product identifier. You must provide the product name or ID, but not
12377	// both.
12378	ProductId *string `min:"1" type:"string"`
12379
12380	// The name of the product. You must provide the name or ID, but not both.
12381	ProductName *string `type:"string"`
12382
12383	// The identifier of the provisioning artifact. You must provide the name or
12384	// ID, but not both.
12385	ProvisioningArtifactId *string `min:"1" type:"string"`
12386
12387	// The name of the provisioning artifact. You must provide the name or ID, but
12388	// not both.
12389	ProvisioningArtifactName *string `type:"string"`
12390}
12391
12392// String returns the string representation
12393func (s DescribeProvisioningParametersInput) String() string {
12394	return awsutil.Prettify(s)
12395}
12396
12397// GoString returns the string representation
12398func (s DescribeProvisioningParametersInput) GoString() string {
12399	return s.String()
12400}
12401
12402// Validate inspects the fields of the type to determine if they are valid.
12403func (s *DescribeProvisioningParametersInput) Validate() error {
12404	invalidParams := request.ErrInvalidParams{Context: "DescribeProvisioningParametersInput"}
12405	if s.PathId != nil && len(*s.PathId) < 1 {
12406		invalidParams.Add(request.NewErrParamMinLen("PathId", 1))
12407	}
12408	if s.PathName != nil && len(*s.PathName) < 1 {
12409		invalidParams.Add(request.NewErrParamMinLen("PathName", 1))
12410	}
12411	if s.ProductId != nil && len(*s.ProductId) < 1 {
12412		invalidParams.Add(request.NewErrParamMinLen("ProductId", 1))
12413	}
12414	if s.ProvisioningArtifactId != nil && len(*s.ProvisioningArtifactId) < 1 {
12415		invalidParams.Add(request.NewErrParamMinLen("ProvisioningArtifactId", 1))
12416	}
12417
12418	if invalidParams.Len() > 0 {
12419		return invalidParams
12420	}
12421	return nil
12422}
12423
12424// SetAcceptLanguage sets the AcceptLanguage field's value.
12425func (s *DescribeProvisioningParametersInput) SetAcceptLanguage(v string) *DescribeProvisioningParametersInput {
12426	s.AcceptLanguage = &v
12427	return s
12428}
12429
12430// SetPathId sets the PathId field's value.
12431func (s *DescribeProvisioningParametersInput) SetPathId(v string) *DescribeProvisioningParametersInput {
12432	s.PathId = &v
12433	return s
12434}
12435
12436// SetPathName sets the PathName field's value.
12437func (s *DescribeProvisioningParametersInput) SetPathName(v string) *DescribeProvisioningParametersInput {
12438	s.PathName = &v
12439	return s
12440}
12441
12442// SetProductId sets the ProductId field's value.
12443func (s *DescribeProvisioningParametersInput) SetProductId(v string) *DescribeProvisioningParametersInput {
12444	s.ProductId = &v
12445	return s
12446}
12447
12448// SetProductName sets the ProductName field's value.
12449func (s *DescribeProvisioningParametersInput) SetProductName(v string) *DescribeProvisioningParametersInput {
12450	s.ProductName = &v
12451	return s
12452}
12453
12454// SetProvisioningArtifactId sets the ProvisioningArtifactId field's value.
12455func (s *DescribeProvisioningParametersInput) SetProvisioningArtifactId(v string) *DescribeProvisioningParametersInput {
12456	s.ProvisioningArtifactId = &v
12457	return s
12458}
12459
12460// SetProvisioningArtifactName sets the ProvisioningArtifactName field's value.
12461func (s *DescribeProvisioningParametersInput) SetProvisioningArtifactName(v string) *DescribeProvisioningParametersInput {
12462	s.ProvisioningArtifactName = &v
12463	return s
12464}
12465
12466type DescribeProvisioningParametersOutput struct {
12467	_ struct{} `type:"structure"`
12468
12469	// Information about the constraints used to provision the product.
12470	ConstraintSummaries []*ConstraintSummary `type:"list"`
12471
12472	// The output of the provisioning artifact.
12473	ProvisioningArtifactOutputs []*ProvisioningArtifactOutput `type:"list"`
12474
12475	// Information about the parameters used to provision the product.
12476	ProvisioningArtifactParameters []*ProvisioningArtifactParameter `type:"list"`
12477
12478	// An object that contains information about preferences, such as regions and
12479	// accounts, for the provisioning artifact.
12480	ProvisioningArtifactPreferences *ProvisioningArtifactPreferences `type:"structure"`
12481
12482	// Information about the TagOptions associated with the resource.
12483	TagOptions []*TagOptionSummary `type:"list"`
12484
12485	// Any additional metadata specifically related to the provisioning of the product.
12486	// For example, see the Version field of the CloudFormation template.
12487	UsageInstructions []*UsageInstruction `type:"list"`
12488}
12489
12490// String returns the string representation
12491func (s DescribeProvisioningParametersOutput) String() string {
12492	return awsutil.Prettify(s)
12493}
12494
12495// GoString returns the string representation
12496func (s DescribeProvisioningParametersOutput) GoString() string {
12497	return s.String()
12498}
12499
12500// SetConstraintSummaries sets the ConstraintSummaries field's value.
12501func (s *DescribeProvisioningParametersOutput) SetConstraintSummaries(v []*ConstraintSummary) *DescribeProvisioningParametersOutput {
12502	s.ConstraintSummaries = v
12503	return s
12504}
12505
12506// SetProvisioningArtifactOutputs sets the ProvisioningArtifactOutputs field's value.
12507func (s *DescribeProvisioningParametersOutput) SetProvisioningArtifactOutputs(v []*ProvisioningArtifactOutput) *DescribeProvisioningParametersOutput {
12508	s.ProvisioningArtifactOutputs = v
12509	return s
12510}
12511
12512// SetProvisioningArtifactParameters sets the ProvisioningArtifactParameters field's value.
12513func (s *DescribeProvisioningParametersOutput) SetProvisioningArtifactParameters(v []*ProvisioningArtifactParameter) *DescribeProvisioningParametersOutput {
12514	s.ProvisioningArtifactParameters = v
12515	return s
12516}
12517
12518// SetProvisioningArtifactPreferences sets the ProvisioningArtifactPreferences field's value.
12519func (s *DescribeProvisioningParametersOutput) SetProvisioningArtifactPreferences(v *ProvisioningArtifactPreferences) *DescribeProvisioningParametersOutput {
12520	s.ProvisioningArtifactPreferences = v
12521	return s
12522}
12523
12524// SetTagOptions sets the TagOptions field's value.
12525func (s *DescribeProvisioningParametersOutput) SetTagOptions(v []*TagOptionSummary) *DescribeProvisioningParametersOutput {
12526	s.TagOptions = v
12527	return s
12528}
12529
12530// SetUsageInstructions sets the UsageInstructions field's value.
12531func (s *DescribeProvisioningParametersOutput) SetUsageInstructions(v []*UsageInstruction) *DescribeProvisioningParametersOutput {
12532	s.UsageInstructions = v
12533	return s
12534}
12535
12536type DescribeRecordInput struct {
12537	_ struct{} `type:"structure"`
12538
12539	// The language code.
12540	//
12541	//    * en - English (default)
12542	//
12543	//    * jp - Japanese
12544	//
12545	//    * zh - Chinese
12546	AcceptLanguage *string `type:"string"`
12547
12548	// The record identifier of the provisioned product. This identifier is returned
12549	// by the request operation.
12550	//
12551	// Id is a required field
12552	Id *string `min:"1" type:"string" required:"true"`
12553
12554	// The maximum number of items to return with this call.
12555	PageSize *int64 `type:"integer"`
12556
12557	// The page token for the next set of results. To retrieve the first set of
12558	// results, use null.
12559	PageToken *string `type:"string"`
12560}
12561
12562// String returns the string representation
12563func (s DescribeRecordInput) String() string {
12564	return awsutil.Prettify(s)
12565}
12566
12567// GoString returns the string representation
12568func (s DescribeRecordInput) GoString() string {
12569	return s.String()
12570}
12571
12572// Validate inspects the fields of the type to determine if they are valid.
12573func (s *DescribeRecordInput) Validate() error {
12574	invalidParams := request.ErrInvalidParams{Context: "DescribeRecordInput"}
12575	if s.Id == nil {
12576		invalidParams.Add(request.NewErrParamRequired("Id"))
12577	}
12578	if s.Id != nil && len(*s.Id) < 1 {
12579		invalidParams.Add(request.NewErrParamMinLen("Id", 1))
12580	}
12581
12582	if invalidParams.Len() > 0 {
12583		return invalidParams
12584	}
12585	return nil
12586}
12587
12588// SetAcceptLanguage sets the AcceptLanguage field's value.
12589func (s *DescribeRecordInput) SetAcceptLanguage(v string) *DescribeRecordInput {
12590	s.AcceptLanguage = &v
12591	return s
12592}
12593
12594// SetId sets the Id field's value.
12595func (s *DescribeRecordInput) SetId(v string) *DescribeRecordInput {
12596	s.Id = &v
12597	return s
12598}
12599
12600// SetPageSize sets the PageSize field's value.
12601func (s *DescribeRecordInput) SetPageSize(v int64) *DescribeRecordInput {
12602	s.PageSize = &v
12603	return s
12604}
12605
12606// SetPageToken sets the PageToken field's value.
12607func (s *DescribeRecordInput) SetPageToken(v string) *DescribeRecordInput {
12608	s.PageToken = &v
12609	return s
12610}
12611
12612type DescribeRecordOutput struct {
12613	_ struct{} `type:"structure"`
12614
12615	// The page token to use to retrieve the next set of results. If there are no
12616	// additional results, this value is null.
12617	NextPageToken *string `type:"string"`
12618
12619	// Information about the product.
12620	RecordDetail *RecordDetail `type:"structure"`
12621
12622	// Information about the product created as the result of a request. For example,
12623	// the output for a CloudFormation-backed product that creates an S3 bucket
12624	// would include the S3 bucket URL.
12625	RecordOutputs []*RecordOutput `type:"list"`
12626}
12627
12628// String returns the string representation
12629func (s DescribeRecordOutput) String() string {
12630	return awsutil.Prettify(s)
12631}
12632
12633// GoString returns the string representation
12634func (s DescribeRecordOutput) GoString() string {
12635	return s.String()
12636}
12637
12638// SetNextPageToken sets the NextPageToken field's value.
12639func (s *DescribeRecordOutput) SetNextPageToken(v string) *DescribeRecordOutput {
12640	s.NextPageToken = &v
12641	return s
12642}
12643
12644// SetRecordDetail sets the RecordDetail field's value.
12645func (s *DescribeRecordOutput) SetRecordDetail(v *RecordDetail) *DescribeRecordOutput {
12646	s.RecordDetail = v
12647	return s
12648}
12649
12650// SetRecordOutputs sets the RecordOutputs field's value.
12651func (s *DescribeRecordOutput) SetRecordOutputs(v []*RecordOutput) *DescribeRecordOutput {
12652	s.RecordOutputs = v
12653	return s
12654}
12655
12656type DescribeServiceActionExecutionParametersInput struct {
12657	_ struct{} `type:"structure"`
12658
12659	// The language code.
12660	//
12661	//    * en - English (default)
12662	//
12663	//    * jp - Japanese
12664	//
12665	//    * zh - Chinese
12666	AcceptLanguage *string `type:"string"`
12667
12668	// The identifier of the provisioned product.
12669	//
12670	// ProvisionedProductId is a required field
12671	ProvisionedProductId *string `min:"1" type:"string" required:"true"`
12672
12673	// The self-service action identifier.
12674	//
12675	// ServiceActionId is a required field
12676	ServiceActionId *string `min:"1" type:"string" required:"true"`
12677}
12678
12679// String returns the string representation
12680func (s DescribeServiceActionExecutionParametersInput) String() string {
12681	return awsutil.Prettify(s)
12682}
12683
12684// GoString returns the string representation
12685func (s DescribeServiceActionExecutionParametersInput) GoString() string {
12686	return s.String()
12687}
12688
12689// Validate inspects the fields of the type to determine if they are valid.
12690func (s *DescribeServiceActionExecutionParametersInput) Validate() error {
12691	invalidParams := request.ErrInvalidParams{Context: "DescribeServiceActionExecutionParametersInput"}
12692	if s.ProvisionedProductId == nil {
12693		invalidParams.Add(request.NewErrParamRequired("ProvisionedProductId"))
12694	}
12695	if s.ProvisionedProductId != nil && len(*s.ProvisionedProductId) < 1 {
12696		invalidParams.Add(request.NewErrParamMinLen("ProvisionedProductId", 1))
12697	}
12698	if s.ServiceActionId == nil {
12699		invalidParams.Add(request.NewErrParamRequired("ServiceActionId"))
12700	}
12701	if s.ServiceActionId != nil && len(*s.ServiceActionId) < 1 {
12702		invalidParams.Add(request.NewErrParamMinLen("ServiceActionId", 1))
12703	}
12704
12705	if invalidParams.Len() > 0 {
12706		return invalidParams
12707	}
12708	return nil
12709}
12710
12711// SetAcceptLanguage sets the AcceptLanguage field's value.
12712func (s *DescribeServiceActionExecutionParametersInput) SetAcceptLanguage(v string) *DescribeServiceActionExecutionParametersInput {
12713	s.AcceptLanguage = &v
12714	return s
12715}
12716
12717// SetProvisionedProductId sets the ProvisionedProductId field's value.
12718func (s *DescribeServiceActionExecutionParametersInput) SetProvisionedProductId(v string) *DescribeServiceActionExecutionParametersInput {
12719	s.ProvisionedProductId = &v
12720	return s
12721}
12722
12723// SetServiceActionId sets the ServiceActionId field's value.
12724func (s *DescribeServiceActionExecutionParametersInput) SetServiceActionId(v string) *DescribeServiceActionExecutionParametersInput {
12725	s.ServiceActionId = &v
12726	return s
12727}
12728
12729type DescribeServiceActionExecutionParametersOutput struct {
12730	_ struct{} `type:"structure"`
12731
12732	// The parameters of the self-service action.
12733	ServiceActionParameters []*ExecutionParameter `type:"list"`
12734}
12735
12736// String returns the string representation
12737func (s DescribeServiceActionExecutionParametersOutput) String() string {
12738	return awsutil.Prettify(s)
12739}
12740
12741// GoString returns the string representation
12742func (s DescribeServiceActionExecutionParametersOutput) GoString() string {
12743	return s.String()
12744}
12745
12746// SetServiceActionParameters sets the ServiceActionParameters field's value.
12747func (s *DescribeServiceActionExecutionParametersOutput) SetServiceActionParameters(v []*ExecutionParameter) *DescribeServiceActionExecutionParametersOutput {
12748	s.ServiceActionParameters = v
12749	return s
12750}
12751
12752type DescribeServiceActionInput struct {
12753	_ struct{} `type:"structure"`
12754
12755	// The language code.
12756	//
12757	//    * en - English (default)
12758	//
12759	//    * jp - Japanese
12760	//
12761	//    * zh - Chinese
12762	AcceptLanguage *string `type:"string"`
12763
12764	// The self-service action identifier.
12765	//
12766	// Id is a required field
12767	Id *string `min:"1" type:"string" required:"true"`
12768}
12769
12770// String returns the string representation
12771func (s DescribeServiceActionInput) String() string {
12772	return awsutil.Prettify(s)
12773}
12774
12775// GoString returns the string representation
12776func (s DescribeServiceActionInput) GoString() string {
12777	return s.String()
12778}
12779
12780// Validate inspects the fields of the type to determine if they are valid.
12781func (s *DescribeServiceActionInput) Validate() error {
12782	invalidParams := request.ErrInvalidParams{Context: "DescribeServiceActionInput"}
12783	if s.Id == nil {
12784		invalidParams.Add(request.NewErrParamRequired("Id"))
12785	}
12786	if s.Id != nil && len(*s.Id) < 1 {
12787		invalidParams.Add(request.NewErrParamMinLen("Id", 1))
12788	}
12789
12790	if invalidParams.Len() > 0 {
12791		return invalidParams
12792	}
12793	return nil
12794}
12795
12796// SetAcceptLanguage sets the AcceptLanguage field's value.
12797func (s *DescribeServiceActionInput) SetAcceptLanguage(v string) *DescribeServiceActionInput {
12798	s.AcceptLanguage = &v
12799	return s
12800}
12801
12802// SetId sets the Id field's value.
12803func (s *DescribeServiceActionInput) SetId(v string) *DescribeServiceActionInput {
12804	s.Id = &v
12805	return s
12806}
12807
12808type DescribeServiceActionOutput struct {
12809	_ struct{} `type:"structure"`
12810
12811	// Detailed information about the self-service action.
12812	ServiceActionDetail *ServiceActionDetail `type:"structure"`
12813}
12814
12815// String returns the string representation
12816func (s DescribeServiceActionOutput) String() string {
12817	return awsutil.Prettify(s)
12818}
12819
12820// GoString returns the string representation
12821func (s DescribeServiceActionOutput) GoString() string {
12822	return s.String()
12823}
12824
12825// SetServiceActionDetail sets the ServiceActionDetail field's value.
12826func (s *DescribeServiceActionOutput) SetServiceActionDetail(v *ServiceActionDetail) *DescribeServiceActionOutput {
12827	s.ServiceActionDetail = v
12828	return s
12829}
12830
12831type DescribeTagOptionInput struct {
12832	_ struct{} `type:"structure"`
12833
12834	// The TagOption identifier.
12835	//
12836	// Id is a required field
12837	Id *string `min:"1" type:"string" required:"true"`
12838}
12839
12840// String returns the string representation
12841func (s DescribeTagOptionInput) String() string {
12842	return awsutil.Prettify(s)
12843}
12844
12845// GoString returns the string representation
12846func (s DescribeTagOptionInput) GoString() string {
12847	return s.String()
12848}
12849
12850// Validate inspects the fields of the type to determine if they are valid.
12851func (s *DescribeTagOptionInput) Validate() error {
12852	invalidParams := request.ErrInvalidParams{Context: "DescribeTagOptionInput"}
12853	if s.Id == nil {
12854		invalidParams.Add(request.NewErrParamRequired("Id"))
12855	}
12856	if s.Id != nil && len(*s.Id) < 1 {
12857		invalidParams.Add(request.NewErrParamMinLen("Id", 1))
12858	}
12859
12860	if invalidParams.Len() > 0 {
12861		return invalidParams
12862	}
12863	return nil
12864}
12865
12866// SetId sets the Id field's value.
12867func (s *DescribeTagOptionInput) SetId(v string) *DescribeTagOptionInput {
12868	s.Id = &v
12869	return s
12870}
12871
12872type DescribeTagOptionOutput struct {
12873	_ struct{} `type:"structure"`
12874
12875	// Information about the TagOption.
12876	TagOptionDetail *TagOptionDetail `type:"structure"`
12877}
12878
12879// String returns the string representation
12880func (s DescribeTagOptionOutput) String() string {
12881	return awsutil.Prettify(s)
12882}
12883
12884// GoString returns the string representation
12885func (s DescribeTagOptionOutput) GoString() string {
12886	return s.String()
12887}
12888
12889// SetTagOptionDetail sets the TagOptionDetail field's value.
12890func (s *DescribeTagOptionOutput) SetTagOptionDetail(v *TagOptionDetail) *DescribeTagOptionOutput {
12891	s.TagOptionDetail = v
12892	return s
12893}
12894
12895type DisableAWSOrganizationsAccessInput struct {
12896	_ struct{} `type:"structure"`
12897}
12898
12899// String returns the string representation
12900func (s DisableAWSOrganizationsAccessInput) String() string {
12901	return awsutil.Prettify(s)
12902}
12903
12904// GoString returns the string representation
12905func (s DisableAWSOrganizationsAccessInput) GoString() string {
12906	return s.String()
12907}
12908
12909type DisableAWSOrganizationsAccessOutput struct {
12910	_ struct{} `type:"structure"`
12911}
12912
12913// String returns the string representation
12914func (s DisableAWSOrganizationsAccessOutput) String() string {
12915	return awsutil.Prettify(s)
12916}
12917
12918// GoString returns the string representation
12919func (s DisableAWSOrganizationsAccessOutput) GoString() string {
12920	return s.String()
12921}
12922
12923type DisassociateBudgetFromResourceInput struct {
12924	_ struct{} `type:"structure"`
12925
12926	// The name of the budget you want to disassociate.
12927	//
12928	// BudgetName is a required field
12929	BudgetName *string `min:"1" type:"string" required:"true"`
12930
12931	// The resource identifier you want to disassociate from. Either a portfolio-id
12932	// or a product-id.
12933	//
12934	// ResourceId is a required field
12935	ResourceId *string `min:"1" type:"string" required:"true"`
12936}
12937
12938// String returns the string representation
12939func (s DisassociateBudgetFromResourceInput) String() string {
12940	return awsutil.Prettify(s)
12941}
12942
12943// GoString returns the string representation
12944func (s DisassociateBudgetFromResourceInput) GoString() string {
12945	return s.String()
12946}
12947
12948// Validate inspects the fields of the type to determine if they are valid.
12949func (s *DisassociateBudgetFromResourceInput) Validate() error {
12950	invalidParams := request.ErrInvalidParams{Context: "DisassociateBudgetFromResourceInput"}
12951	if s.BudgetName == nil {
12952		invalidParams.Add(request.NewErrParamRequired("BudgetName"))
12953	}
12954	if s.BudgetName != nil && len(*s.BudgetName) < 1 {
12955		invalidParams.Add(request.NewErrParamMinLen("BudgetName", 1))
12956	}
12957	if s.ResourceId == nil {
12958		invalidParams.Add(request.NewErrParamRequired("ResourceId"))
12959	}
12960	if s.ResourceId != nil && len(*s.ResourceId) < 1 {
12961		invalidParams.Add(request.NewErrParamMinLen("ResourceId", 1))
12962	}
12963
12964	if invalidParams.Len() > 0 {
12965		return invalidParams
12966	}
12967	return nil
12968}
12969
12970// SetBudgetName sets the BudgetName field's value.
12971func (s *DisassociateBudgetFromResourceInput) SetBudgetName(v string) *DisassociateBudgetFromResourceInput {
12972	s.BudgetName = &v
12973	return s
12974}
12975
12976// SetResourceId sets the ResourceId field's value.
12977func (s *DisassociateBudgetFromResourceInput) SetResourceId(v string) *DisassociateBudgetFromResourceInput {
12978	s.ResourceId = &v
12979	return s
12980}
12981
12982type DisassociateBudgetFromResourceOutput struct {
12983	_ struct{} `type:"structure"`
12984}
12985
12986// String returns the string representation
12987func (s DisassociateBudgetFromResourceOutput) String() string {
12988	return awsutil.Prettify(s)
12989}
12990
12991// GoString returns the string representation
12992func (s DisassociateBudgetFromResourceOutput) GoString() string {
12993	return s.String()
12994}
12995
12996type DisassociatePrincipalFromPortfolioInput struct {
12997	_ struct{} `type:"structure"`
12998
12999	// The language code.
13000	//
13001	//    * en - English (default)
13002	//
13003	//    * jp - Japanese
13004	//
13005	//    * zh - Chinese
13006	AcceptLanguage *string `type:"string"`
13007
13008	// The portfolio identifier.
13009	//
13010	// PortfolioId is a required field
13011	PortfolioId *string `min:"1" type:"string" required:"true"`
13012
13013	// The ARN of the principal (IAM user, role, or group).
13014	//
13015	// PrincipalARN is a required field
13016	PrincipalARN *string `min:"1" type:"string" required:"true"`
13017}
13018
13019// String returns the string representation
13020func (s DisassociatePrincipalFromPortfolioInput) String() string {
13021	return awsutil.Prettify(s)
13022}
13023
13024// GoString returns the string representation
13025func (s DisassociatePrincipalFromPortfolioInput) GoString() string {
13026	return s.String()
13027}
13028
13029// Validate inspects the fields of the type to determine if they are valid.
13030func (s *DisassociatePrincipalFromPortfolioInput) Validate() error {
13031	invalidParams := request.ErrInvalidParams{Context: "DisassociatePrincipalFromPortfolioInput"}
13032	if s.PortfolioId == nil {
13033		invalidParams.Add(request.NewErrParamRequired("PortfolioId"))
13034	}
13035	if s.PortfolioId != nil && len(*s.PortfolioId) < 1 {
13036		invalidParams.Add(request.NewErrParamMinLen("PortfolioId", 1))
13037	}
13038	if s.PrincipalARN == nil {
13039		invalidParams.Add(request.NewErrParamRequired("PrincipalARN"))
13040	}
13041	if s.PrincipalARN != nil && len(*s.PrincipalARN) < 1 {
13042		invalidParams.Add(request.NewErrParamMinLen("PrincipalARN", 1))
13043	}
13044
13045	if invalidParams.Len() > 0 {
13046		return invalidParams
13047	}
13048	return nil
13049}
13050
13051// SetAcceptLanguage sets the AcceptLanguage field's value.
13052func (s *DisassociatePrincipalFromPortfolioInput) SetAcceptLanguage(v string) *DisassociatePrincipalFromPortfolioInput {
13053	s.AcceptLanguage = &v
13054	return s
13055}
13056
13057// SetPortfolioId sets the PortfolioId field's value.
13058func (s *DisassociatePrincipalFromPortfolioInput) SetPortfolioId(v string) *DisassociatePrincipalFromPortfolioInput {
13059	s.PortfolioId = &v
13060	return s
13061}
13062
13063// SetPrincipalARN sets the PrincipalARN field's value.
13064func (s *DisassociatePrincipalFromPortfolioInput) SetPrincipalARN(v string) *DisassociatePrincipalFromPortfolioInput {
13065	s.PrincipalARN = &v
13066	return s
13067}
13068
13069type DisassociatePrincipalFromPortfolioOutput struct {
13070	_ struct{} `type:"structure"`
13071}
13072
13073// String returns the string representation
13074func (s DisassociatePrincipalFromPortfolioOutput) String() string {
13075	return awsutil.Prettify(s)
13076}
13077
13078// GoString returns the string representation
13079func (s DisassociatePrincipalFromPortfolioOutput) GoString() string {
13080	return s.String()
13081}
13082
13083type DisassociateProductFromPortfolioInput struct {
13084	_ struct{} `type:"structure"`
13085
13086	// The language code.
13087	//
13088	//    * en - English (default)
13089	//
13090	//    * jp - Japanese
13091	//
13092	//    * zh - Chinese
13093	AcceptLanguage *string `type:"string"`
13094
13095	// The portfolio identifier.
13096	//
13097	// PortfolioId is a required field
13098	PortfolioId *string `min:"1" type:"string" required:"true"`
13099
13100	// The product identifier.
13101	//
13102	// ProductId is a required field
13103	ProductId *string `min:"1" type:"string" required:"true"`
13104}
13105
13106// String returns the string representation
13107func (s DisassociateProductFromPortfolioInput) String() string {
13108	return awsutil.Prettify(s)
13109}
13110
13111// GoString returns the string representation
13112func (s DisassociateProductFromPortfolioInput) GoString() string {
13113	return s.String()
13114}
13115
13116// Validate inspects the fields of the type to determine if they are valid.
13117func (s *DisassociateProductFromPortfolioInput) Validate() error {
13118	invalidParams := request.ErrInvalidParams{Context: "DisassociateProductFromPortfolioInput"}
13119	if s.PortfolioId == nil {
13120		invalidParams.Add(request.NewErrParamRequired("PortfolioId"))
13121	}
13122	if s.PortfolioId != nil && len(*s.PortfolioId) < 1 {
13123		invalidParams.Add(request.NewErrParamMinLen("PortfolioId", 1))
13124	}
13125	if s.ProductId == nil {
13126		invalidParams.Add(request.NewErrParamRequired("ProductId"))
13127	}
13128	if s.ProductId != nil && len(*s.ProductId) < 1 {
13129		invalidParams.Add(request.NewErrParamMinLen("ProductId", 1))
13130	}
13131
13132	if invalidParams.Len() > 0 {
13133		return invalidParams
13134	}
13135	return nil
13136}
13137
13138// SetAcceptLanguage sets the AcceptLanguage field's value.
13139func (s *DisassociateProductFromPortfolioInput) SetAcceptLanguage(v string) *DisassociateProductFromPortfolioInput {
13140	s.AcceptLanguage = &v
13141	return s
13142}
13143
13144// SetPortfolioId sets the PortfolioId field's value.
13145func (s *DisassociateProductFromPortfolioInput) SetPortfolioId(v string) *DisassociateProductFromPortfolioInput {
13146	s.PortfolioId = &v
13147	return s
13148}
13149
13150// SetProductId sets the ProductId field's value.
13151func (s *DisassociateProductFromPortfolioInput) SetProductId(v string) *DisassociateProductFromPortfolioInput {
13152	s.ProductId = &v
13153	return s
13154}
13155
13156type DisassociateProductFromPortfolioOutput struct {
13157	_ struct{} `type:"structure"`
13158}
13159
13160// String returns the string representation
13161func (s DisassociateProductFromPortfolioOutput) String() string {
13162	return awsutil.Prettify(s)
13163}
13164
13165// GoString returns the string representation
13166func (s DisassociateProductFromPortfolioOutput) GoString() string {
13167	return s.String()
13168}
13169
13170type DisassociateServiceActionFromProvisioningArtifactInput struct {
13171	_ struct{} `type:"structure"`
13172
13173	// The language code.
13174	//
13175	//    * en - English (default)
13176	//
13177	//    * jp - Japanese
13178	//
13179	//    * zh - Chinese
13180	AcceptLanguage *string `type:"string"`
13181
13182	// The product identifier. For example, prod-abcdzk7xy33qa.
13183	//
13184	// ProductId is a required field
13185	ProductId *string `min:"1" type:"string" required:"true"`
13186
13187	// The identifier of the provisioning artifact. For example, pa-4abcdjnxjj6ne.
13188	//
13189	// ProvisioningArtifactId is a required field
13190	ProvisioningArtifactId *string `min:"1" type:"string" required:"true"`
13191
13192	// The self-service action identifier. For example, act-fs7abcd89wxyz.
13193	//
13194	// ServiceActionId is a required field
13195	ServiceActionId *string `min:"1" type:"string" required:"true"`
13196}
13197
13198// String returns the string representation
13199func (s DisassociateServiceActionFromProvisioningArtifactInput) String() string {
13200	return awsutil.Prettify(s)
13201}
13202
13203// GoString returns the string representation
13204func (s DisassociateServiceActionFromProvisioningArtifactInput) GoString() string {
13205	return s.String()
13206}
13207
13208// Validate inspects the fields of the type to determine if they are valid.
13209func (s *DisassociateServiceActionFromProvisioningArtifactInput) Validate() error {
13210	invalidParams := request.ErrInvalidParams{Context: "DisassociateServiceActionFromProvisioningArtifactInput"}
13211	if s.ProductId == nil {
13212		invalidParams.Add(request.NewErrParamRequired("ProductId"))
13213	}
13214	if s.ProductId != nil && len(*s.ProductId) < 1 {
13215		invalidParams.Add(request.NewErrParamMinLen("ProductId", 1))
13216	}
13217	if s.ProvisioningArtifactId == nil {
13218		invalidParams.Add(request.NewErrParamRequired("ProvisioningArtifactId"))
13219	}
13220	if s.ProvisioningArtifactId != nil && len(*s.ProvisioningArtifactId) < 1 {
13221		invalidParams.Add(request.NewErrParamMinLen("ProvisioningArtifactId", 1))
13222	}
13223	if s.ServiceActionId == nil {
13224		invalidParams.Add(request.NewErrParamRequired("ServiceActionId"))
13225	}
13226	if s.ServiceActionId != nil && len(*s.ServiceActionId) < 1 {
13227		invalidParams.Add(request.NewErrParamMinLen("ServiceActionId", 1))
13228	}
13229
13230	if invalidParams.Len() > 0 {
13231		return invalidParams
13232	}
13233	return nil
13234}
13235
13236// SetAcceptLanguage sets the AcceptLanguage field's value.
13237func (s *DisassociateServiceActionFromProvisioningArtifactInput) SetAcceptLanguage(v string) *DisassociateServiceActionFromProvisioningArtifactInput {
13238	s.AcceptLanguage = &v
13239	return s
13240}
13241
13242// SetProductId sets the ProductId field's value.
13243func (s *DisassociateServiceActionFromProvisioningArtifactInput) SetProductId(v string) *DisassociateServiceActionFromProvisioningArtifactInput {
13244	s.ProductId = &v
13245	return s
13246}
13247
13248// SetProvisioningArtifactId sets the ProvisioningArtifactId field's value.
13249func (s *DisassociateServiceActionFromProvisioningArtifactInput) SetProvisioningArtifactId(v string) *DisassociateServiceActionFromProvisioningArtifactInput {
13250	s.ProvisioningArtifactId = &v
13251	return s
13252}
13253
13254// SetServiceActionId sets the ServiceActionId field's value.
13255func (s *DisassociateServiceActionFromProvisioningArtifactInput) SetServiceActionId(v string) *DisassociateServiceActionFromProvisioningArtifactInput {
13256	s.ServiceActionId = &v
13257	return s
13258}
13259
13260type DisassociateServiceActionFromProvisioningArtifactOutput struct {
13261	_ struct{} `type:"structure"`
13262}
13263
13264// String returns the string representation
13265func (s DisassociateServiceActionFromProvisioningArtifactOutput) String() string {
13266	return awsutil.Prettify(s)
13267}
13268
13269// GoString returns the string representation
13270func (s DisassociateServiceActionFromProvisioningArtifactOutput) GoString() string {
13271	return s.String()
13272}
13273
13274type DisassociateTagOptionFromResourceInput struct {
13275	_ struct{} `type:"structure"`
13276
13277	// The resource identifier.
13278	//
13279	// ResourceId is a required field
13280	ResourceId *string `type:"string" required:"true"`
13281
13282	// The TagOption identifier.
13283	//
13284	// TagOptionId is a required field
13285	TagOptionId *string `min:"1" type:"string" required:"true"`
13286}
13287
13288// String returns the string representation
13289func (s DisassociateTagOptionFromResourceInput) String() string {
13290	return awsutil.Prettify(s)
13291}
13292
13293// GoString returns the string representation
13294func (s DisassociateTagOptionFromResourceInput) GoString() string {
13295	return s.String()
13296}
13297
13298// Validate inspects the fields of the type to determine if they are valid.
13299func (s *DisassociateTagOptionFromResourceInput) Validate() error {
13300	invalidParams := request.ErrInvalidParams{Context: "DisassociateTagOptionFromResourceInput"}
13301	if s.ResourceId == nil {
13302		invalidParams.Add(request.NewErrParamRequired("ResourceId"))
13303	}
13304	if s.TagOptionId == nil {
13305		invalidParams.Add(request.NewErrParamRequired("TagOptionId"))
13306	}
13307	if s.TagOptionId != nil && len(*s.TagOptionId) < 1 {
13308		invalidParams.Add(request.NewErrParamMinLen("TagOptionId", 1))
13309	}
13310
13311	if invalidParams.Len() > 0 {
13312		return invalidParams
13313	}
13314	return nil
13315}
13316
13317// SetResourceId sets the ResourceId field's value.
13318func (s *DisassociateTagOptionFromResourceInput) SetResourceId(v string) *DisassociateTagOptionFromResourceInput {
13319	s.ResourceId = &v
13320	return s
13321}
13322
13323// SetTagOptionId sets the TagOptionId field's value.
13324func (s *DisassociateTagOptionFromResourceInput) SetTagOptionId(v string) *DisassociateTagOptionFromResourceInput {
13325	s.TagOptionId = &v
13326	return s
13327}
13328
13329type DisassociateTagOptionFromResourceOutput struct {
13330	_ struct{} `type:"structure"`
13331}
13332
13333// String returns the string representation
13334func (s DisassociateTagOptionFromResourceOutput) String() string {
13335	return awsutil.Prettify(s)
13336}
13337
13338// GoString returns the string representation
13339func (s DisassociateTagOptionFromResourceOutput) GoString() string {
13340	return s.String()
13341}
13342
13343// The specified resource is a duplicate.
13344type DuplicateResourceException struct {
13345	_            struct{}                  `type:"structure"`
13346	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
13347
13348	Message_ *string `locationName:"message" type:"string"`
13349}
13350
13351// String returns the string representation
13352func (s DuplicateResourceException) String() string {
13353	return awsutil.Prettify(s)
13354}
13355
13356// GoString returns the string representation
13357func (s DuplicateResourceException) GoString() string {
13358	return s.String()
13359}
13360
13361func newErrorDuplicateResourceException(v protocol.ResponseMetadata) error {
13362	return &DuplicateResourceException{
13363		RespMetadata: v,
13364	}
13365}
13366
13367// Code returns the exception type name.
13368func (s *DuplicateResourceException) Code() string {
13369	return "DuplicateResourceException"
13370}
13371
13372// Message returns the exception's message.
13373func (s *DuplicateResourceException) Message() string {
13374	if s.Message_ != nil {
13375		return *s.Message_
13376	}
13377	return ""
13378}
13379
13380// OrigErr always returns nil, satisfies awserr.Error interface.
13381func (s *DuplicateResourceException) OrigErr() error {
13382	return nil
13383}
13384
13385func (s *DuplicateResourceException) Error() string {
13386	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
13387}
13388
13389// Status code returns the HTTP status code for the request's response error.
13390func (s *DuplicateResourceException) StatusCode() int {
13391	return s.RespMetadata.StatusCode
13392}
13393
13394// RequestID returns the service's response RequestID for request.
13395func (s *DuplicateResourceException) RequestID() string {
13396	return s.RespMetadata.RequestID
13397}
13398
13399type EnableAWSOrganizationsAccessInput struct {
13400	_ struct{} `type:"structure"`
13401}
13402
13403// String returns the string representation
13404func (s EnableAWSOrganizationsAccessInput) String() string {
13405	return awsutil.Prettify(s)
13406}
13407
13408// GoString returns the string representation
13409func (s EnableAWSOrganizationsAccessInput) GoString() string {
13410	return s.String()
13411}
13412
13413type EnableAWSOrganizationsAccessOutput struct {
13414	_ struct{} `type:"structure"`
13415}
13416
13417// String returns the string representation
13418func (s EnableAWSOrganizationsAccessOutput) String() string {
13419	return awsutil.Prettify(s)
13420}
13421
13422// GoString returns the string representation
13423func (s EnableAWSOrganizationsAccessOutput) GoString() string {
13424	return s.String()
13425}
13426
13427type ExecuteProvisionedProductPlanInput struct {
13428	_ struct{} `type:"structure"`
13429
13430	// The language code.
13431	//
13432	//    * en - English (default)
13433	//
13434	//    * jp - Japanese
13435	//
13436	//    * zh - Chinese
13437	AcceptLanguage *string `type:"string"`
13438
13439	// A unique identifier that you provide to ensure idempotency. If multiple requests
13440	// differ only by the idempotency token, the same response is returned for each
13441	// repeated request.
13442	IdempotencyToken *string `min:"1" type:"string" idempotencyToken:"true"`
13443
13444	// The plan identifier.
13445	//
13446	// PlanId is a required field
13447	PlanId *string `min:"1" type:"string" required:"true"`
13448}
13449
13450// String returns the string representation
13451func (s ExecuteProvisionedProductPlanInput) String() string {
13452	return awsutil.Prettify(s)
13453}
13454
13455// GoString returns the string representation
13456func (s ExecuteProvisionedProductPlanInput) GoString() string {
13457	return s.String()
13458}
13459
13460// Validate inspects the fields of the type to determine if they are valid.
13461func (s *ExecuteProvisionedProductPlanInput) Validate() error {
13462	invalidParams := request.ErrInvalidParams{Context: "ExecuteProvisionedProductPlanInput"}
13463	if s.IdempotencyToken != nil && len(*s.IdempotencyToken) < 1 {
13464		invalidParams.Add(request.NewErrParamMinLen("IdempotencyToken", 1))
13465	}
13466	if s.PlanId == nil {
13467		invalidParams.Add(request.NewErrParamRequired("PlanId"))
13468	}
13469	if s.PlanId != nil && len(*s.PlanId) < 1 {
13470		invalidParams.Add(request.NewErrParamMinLen("PlanId", 1))
13471	}
13472
13473	if invalidParams.Len() > 0 {
13474		return invalidParams
13475	}
13476	return nil
13477}
13478
13479// SetAcceptLanguage sets the AcceptLanguage field's value.
13480func (s *ExecuteProvisionedProductPlanInput) SetAcceptLanguage(v string) *ExecuteProvisionedProductPlanInput {
13481	s.AcceptLanguage = &v
13482	return s
13483}
13484
13485// SetIdempotencyToken sets the IdempotencyToken field's value.
13486func (s *ExecuteProvisionedProductPlanInput) SetIdempotencyToken(v string) *ExecuteProvisionedProductPlanInput {
13487	s.IdempotencyToken = &v
13488	return s
13489}
13490
13491// SetPlanId sets the PlanId field's value.
13492func (s *ExecuteProvisionedProductPlanInput) SetPlanId(v string) *ExecuteProvisionedProductPlanInput {
13493	s.PlanId = &v
13494	return s
13495}
13496
13497type ExecuteProvisionedProductPlanOutput struct {
13498	_ struct{} `type:"structure"`
13499
13500	// Information about the result of provisioning the product.
13501	RecordDetail *RecordDetail `type:"structure"`
13502}
13503
13504// String returns the string representation
13505func (s ExecuteProvisionedProductPlanOutput) String() string {
13506	return awsutil.Prettify(s)
13507}
13508
13509// GoString returns the string representation
13510func (s ExecuteProvisionedProductPlanOutput) GoString() string {
13511	return s.String()
13512}
13513
13514// SetRecordDetail sets the RecordDetail field's value.
13515func (s *ExecuteProvisionedProductPlanOutput) SetRecordDetail(v *RecordDetail) *ExecuteProvisionedProductPlanOutput {
13516	s.RecordDetail = v
13517	return s
13518}
13519
13520type ExecuteProvisionedProductServiceActionInput struct {
13521	_ struct{} `type:"structure"`
13522
13523	// The language code.
13524	//
13525	//    * en - English (default)
13526	//
13527	//    * jp - Japanese
13528	//
13529	//    * zh - Chinese
13530	AcceptLanguage *string `type:"string"`
13531
13532	// An idempotency token that uniquely identifies the execute request.
13533	ExecuteToken *string `min:"1" type:"string" idempotencyToken:"true"`
13534
13535	// A map of all self-service action parameters and their values. If a provided
13536	// parameter is of a special type, such as TARGET, the provided value will override
13537	// the default value generated by AWS Service Catalog. If the parameters field
13538	// is not provided, no additional parameters are passed and default values will
13539	// be used for any special parameters such as TARGET.
13540	Parameters map[string][]*string `min:"1" type:"map"`
13541
13542	// The identifier of the provisioned product.
13543	//
13544	// ProvisionedProductId is a required field
13545	ProvisionedProductId *string `min:"1" type:"string" required:"true"`
13546
13547	// The self-service action identifier. For example, act-fs7abcd89wxyz.
13548	//
13549	// ServiceActionId is a required field
13550	ServiceActionId *string `min:"1" type:"string" required:"true"`
13551}
13552
13553// String returns the string representation
13554func (s ExecuteProvisionedProductServiceActionInput) String() string {
13555	return awsutil.Prettify(s)
13556}
13557
13558// GoString returns the string representation
13559func (s ExecuteProvisionedProductServiceActionInput) GoString() string {
13560	return s.String()
13561}
13562
13563// Validate inspects the fields of the type to determine if they are valid.
13564func (s *ExecuteProvisionedProductServiceActionInput) Validate() error {
13565	invalidParams := request.ErrInvalidParams{Context: "ExecuteProvisionedProductServiceActionInput"}
13566	if s.ExecuteToken != nil && len(*s.ExecuteToken) < 1 {
13567		invalidParams.Add(request.NewErrParamMinLen("ExecuteToken", 1))
13568	}
13569	if s.Parameters != nil && len(s.Parameters) < 1 {
13570		invalidParams.Add(request.NewErrParamMinLen("Parameters", 1))
13571	}
13572	if s.ProvisionedProductId == nil {
13573		invalidParams.Add(request.NewErrParamRequired("ProvisionedProductId"))
13574	}
13575	if s.ProvisionedProductId != nil && len(*s.ProvisionedProductId) < 1 {
13576		invalidParams.Add(request.NewErrParamMinLen("ProvisionedProductId", 1))
13577	}
13578	if s.ServiceActionId == nil {
13579		invalidParams.Add(request.NewErrParamRequired("ServiceActionId"))
13580	}
13581	if s.ServiceActionId != nil && len(*s.ServiceActionId) < 1 {
13582		invalidParams.Add(request.NewErrParamMinLen("ServiceActionId", 1))
13583	}
13584
13585	if invalidParams.Len() > 0 {
13586		return invalidParams
13587	}
13588	return nil
13589}
13590
13591// SetAcceptLanguage sets the AcceptLanguage field's value.
13592func (s *ExecuteProvisionedProductServiceActionInput) SetAcceptLanguage(v string) *ExecuteProvisionedProductServiceActionInput {
13593	s.AcceptLanguage = &v
13594	return s
13595}
13596
13597// SetExecuteToken sets the ExecuteToken field's value.
13598func (s *ExecuteProvisionedProductServiceActionInput) SetExecuteToken(v string) *ExecuteProvisionedProductServiceActionInput {
13599	s.ExecuteToken = &v
13600	return s
13601}
13602
13603// SetParameters sets the Parameters field's value.
13604func (s *ExecuteProvisionedProductServiceActionInput) SetParameters(v map[string][]*string) *ExecuteProvisionedProductServiceActionInput {
13605	s.Parameters = v
13606	return s
13607}
13608
13609// SetProvisionedProductId sets the ProvisionedProductId field's value.
13610func (s *ExecuteProvisionedProductServiceActionInput) SetProvisionedProductId(v string) *ExecuteProvisionedProductServiceActionInput {
13611	s.ProvisionedProductId = &v
13612	return s
13613}
13614
13615// SetServiceActionId sets the ServiceActionId field's value.
13616func (s *ExecuteProvisionedProductServiceActionInput) SetServiceActionId(v string) *ExecuteProvisionedProductServiceActionInput {
13617	s.ServiceActionId = &v
13618	return s
13619}
13620
13621type ExecuteProvisionedProductServiceActionOutput struct {
13622	_ struct{} `type:"structure"`
13623
13624	// An object containing detailed information about the result of provisioning
13625	// the product.
13626	RecordDetail *RecordDetail `type:"structure"`
13627}
13628
13629// String returns the string representation
13630func (s ExecuteProvisionedProductServiceActionOutput) String() string {
13631	return awsutil.Prettify(s)
13632}
13633
13634// GoString returns the string representation
13635func (s ExecuteProvisionedProductServiceActionOutput) GoString() string {
13636	return s.String()
13637}
13638
13639// SetRecordDetail sets the RecordDetail field's value.
13640func (s *ExecuteProvisionedProductServiceActionOutput) SetRecordDetail(v *RecordDetail) *ExecuteProvisionedProductServiceActionOutput {
13641	s.RecordDetail = v
13642	return s
13643}
13644
13645// Details of an execution parameter value that is passed to a self-service
13646// action when executed on a provisioned product.
13647type ExecutionParameter struct {
13648	_ struct{} `type:"structure"`
13649
13650	// The default values for the execution parameter.
13651	DefaultValues []*string `type:"list"`
13652
13653	// The name of the execution parameter.
13654	Name *string `min:"1" type:"string"`
13655
13656	// The execution parameter type.
13657	Type *string `min:"1" type:"string"`
13658}
13659
13660// String returns the string representation
13661func (s ExecutionParameter) String() string {
13662	return awsutil.Prettify(s)
13663}
13664
13665// GoString returns the string representation
13666func (s ExecutionParameter) GoString() string {
13667	return s.String()
13668}
13669
13670// SetDefaultValues sets the DefaultValues field's value.
13671func (s *ExecutionParameter) SetDefaultValues(v []*string) *ExecutionParameter {
13672	s.DefaultValues = v
13673	return s
13674}
13675
13676// SetName sets the Name field's value.
13677func (s *ExecutionParameter) SetName(v string) *ExecutionParameter {
13678	s.Name = &v
13679	return s
13680}
13681
13682// SetType sets the Type field's value.
13683func (s *ExecutionParameter) SetType(v string) *ExecutionParameter {
13684	s.Type = &v
13685	return s
13686}
13687
13688// An object containing information about the error, along with identifying
13689// information about the self-service action and its associations.
13690type FailedServiceActionAssociation struct {
13691	_ struct{} `type:"structure"`
13692
13693	// The error code. Valid values are listed below.
13694	ErrorCode *string `type:"string" enum:"ServiceActionAssociationErrorCode"`
13695
13696	// A text description of the error.
13697	ErrorMessage *string `min:"1" type:"string"`
13698
13699	// The product identifier. For example, prod-abcdzk7xy33qa.
13700	ProductId *string `min:"1" type:"string"`
13701
13702	// The identifier of the provisioning artifact. For example, pa-4abcdjnxjj6ne.
13703	ProvisioningArtifactId *string `min:"1" type:"string"`
13704
13705	// The self-service action identifier. For example, act-fs7abcd89wxyz.
13706	ServiceActionId *string `min:"1" type:"string"`
13707}
13708
13709// String returns the string representation
13710func (s FailedServiceActionAssociation) String() string {
13711	return awsutil.Prettify(s)
13712}
13713
13714// GoString returns the string representation
13715func (s FailedServiceActionAssociation) GoString() string {
13716	return s.String()
13717}
13718
13719// SetErrorCode sets the ErrorCode field's value.
13720func (s *FailedServiceActionAssociation) SetErrorCode(v string) *FailedServiceActionAssociation {
13721	s.ErrorCode = &v
13722	return s
13723}
13724
13725// SetErrorMessage sets the ErrorMessage field's value.
13726func (s *FailedServiceActionAssociation) SetErrorMessage(v string) *FailedServiceActionAssociation {
13727	s.ErrorMessage = &v
13728	return s
13729}
13730
13731// SetProductId sets the ProductId field's value.
13732func (s *FailedServiceActionAssociation) SetProductId(v string) *FailedServiceActionAssociation {
13733	s.ProductId = &v
13734	return s
13735}
13736
13737// SetProvisioningArtifactId sets the ProvisioningArtifactId field's value.
13738func (s *FailedServiceActionAssociation) SetProvisioningArtifactId(v string) *FailedServiceActionAssociation {
13739	s.ProvisioningArtifactId = &v
13740	return s
13741}
13742
13743// SetServiceActionId sets the ServiceActionId field's value.
13744func (s *FailedServiceActionAssociation) SetServiceActionId(v string) *FailedServiceActionAssociation {
13745	s.ServiceActionId = &v
13746	return s
13747}
13748
13749type GetAWSOrganizationsAccessStatusInput struct {
13750	_ struct{} `type:"structure"`
13751}
13752
13753// String returns the string representation
13754func (s GetAWSOrganizationsAccessStatusInput) String() string {
13755	return awsutil.Prettify(s)
13756}
13757
13758// GoString returns the string representation
13759func (s GetAWSOrganizationsAccessStatusInput) GoString() string {
13760	return s.String()
13761}
13762
13763type GetAWSOrganizationsAccessStatusOutput struct {
13764	_ struct{} `type:"structure"`
13765
13766	// The status of the portfolio share feature.
13767	AccessStatus *string `type:"string" enum:"AccessStatus"`
13768}
13769
13770// String returns the string representation
13771func (s GetAWSOrganizationsAccessStatusOutput) String() string {
13772	return awsutil.Prettify(s)
13773}
13774
13775// GoString returns the string representation
13776func (s GetAWSOrganizationsAccessStatusOutput) GoString() string {
13777	return s.String()
13778}
13779
13780// SetAccessStatus sets the AccessStatus field's value.
13781func (s *GetAWSOrganizationsAccessStatusOutput) SetAccessStatus(v string) *GetAWSOrganizationsAccessStatusOutput {
13782	s.AccessStatus = &v
13783	return s
13784}
13785
13786type GetProvisionedProductOutputsInput struct {
13787	_ struct{} `type:"structure"`
13788
13789	// The language code.
13790	//
13791	//    * en - English (default)
13792	//
13793	//    * jp - Japanese
13794	//
13795	//    * zh - Chinese
13796	AcceptLanguage *string `type:"string"`
13797
13798	// The list of keys that the API should return with their values. If none are
13799	// provided, the API will return all outputs of the provisioned product.
13800	OutputKeys []*string `type:"list"`
13801
13802	// The maximum number of items to return with this call.
13803	PageSize *int64 `type:"integer"`
13804
13805	// The page token for the next set of results. To retrieve the first set of
13806	// results, use null.
13807	PageToken *string `type:"string"`
13808
13809	// The identifier of the provisioned product that you want the outputs from.
13810	ProvisionedProductId *string `min:"1" type:"string"`
13811
13812	// The name of the provisioned product that you want the outputs from.
13813	ProvisionedProductName *string `min:"1" type:"string"`
13814}
13815
13816// String returns the string representation
13817func (s GetProvisionedProductOutputsInput) String() string {
13818	return awsutil.Prettify(s)
13819}
13820
13821// GoString returns the string representation
13822func (s GetProvisionedProductOutputsInput) GoString() string {
13823	return s.String()
13824}
13825
13826// Validate inspects the fields of the type to determine if they are valid.
13827func (s *GetProvisionedProductOutputsInput) Validate() error {
13828	invalidParams := request.ErrInvalidParams{Context: "GetProvisionedProductOutputsInput"}
13829	if s.ProvisionedProductId != nil && len(*s.ProvisionedProductId) < 1 {
13830		invalidParams.Add(request.NewErrParamMinLen("ProvisionedProductId", 1))
13831	}
13832	if s.ProvisionedProductName != nil && len(*s.ProvisionedProductName) < 1 {
13833		invalidParams.Add(request.NewErrParamMinLen("ProvisionedProductName", 1))
13834	}
13835
13836	if invalidParams.Len() > 0 {
13837		return invalidParams
13838	}
13839	return nil
13840}
13841
13842// SetAcceptLanguage sets the AcceptLanguage field's value.
13843func (s *GetProvisionedProductOutputsInput) SetAcceptLanguage(v string) *GetProvisionedProductOutputsInput {
13844	s.AcceptLanguage = &v
13845	return s
13846}
13847
13848// SetOutputKeys sets the OutputKeys field's value.
13849func (s *GetProvisionedProductOutputsInput) SetOutputKeys(v []*string) *GetProvisionedProductOutputsInput {
13850	s.OutputKeys = v
13851	return s
13852}
13853
13854// SetPageSize sets the PageSize field's value.
13855func (s *GetProvisionedProductOutputsInput) SetPageSize(v int64) *GetProvisionedProductOutputsInput {
13856	s.PageSize = &v
13857	return s
13858}
13859
13860// SetPageToken sets the PageToken field's value.
13861func (s *GetProvisionedProductOutputsInput) SetPageToken(v string) *GetProvisionedProductOutputsInput {
13862	s.PageToken = &v
13863	return s
13864}
13865
13866// SetProvisionedProductId sets the ProvisionedProductId field's value.
13867func (s *GetProvisionedProductOutputsInput) SetProvisionedProductId(v string) *GetProvisionedProductOutputsInput {
13868	s.ProvisionedProductId = &v
13869	return s
13870}
13871
13872// SetProvisionedProductName sets the ProvisionedProductName field's value.
13873func (s *GetProvisionedProductOutputsInput) SetProvisionedProductName(v string) *GetProvisionedProductOutputsInput {
13874	s.ProvisionedProductName = &v
13875	return s
13876}
13877
13878type GetProvisionedProductOutputsOutput struct {
13879	_ struct{} `type:"structure"`
13880
13881	// The page token to use to retrieve the next set of results. If there are no
13882	// additional results, this value is null.
13883	NextPageToken *string `type:"string"`
13884
13885	// Information about the product created as the result of a request. For example,
13886	// the output for a CloudFormation-backed product that creates an S3 bucket
13887	// would include the S3 bucket URL.
13888	Outputs []*RecordOutput `type:"list"`
13889}
13890
13891// String returns the string representation
13892func (s GetProvisionedProductOutputsOutput) String() string {
13893	return awsutil.Prettify(s)
13894}
13895
13896// GoString returns the string representation
13897func (s GetProvisionedProductOutputsOutput) GoString() string {
13898	return s.String()
13899}
13900
13901// SetNextPageToken sets the NextPageToken field's value.
13902func (s *GetProvisionedProductOutputsOutput) SetNextPageToken(v string) *GetProvisionedProductOutputsOutput {
13903	s.NextPageToken = &v
13904	return s
13905}
13906
13907// SetOutputs sets the Outputs field's value.
13908func (s *GetProvisionedProductOutputsOutput) SetOutputs(v []*RecordOutput) *GetProvisionedProductOutputsOutput {
13909	s.Outputs = v
13910	return s
13911}
13912
13913// One or more parameters provided to the operation are not valid.
13914type InvalidParametersException struct {
13915	_            struct{}                  `type:"structure"`
13916	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
13917
13918	Message_ *string `locationName:"message" type:"string"`
13919}
13920
13921// String returns the string representation
13922func (s InvalidParametersException) String() string {
13923	return awsutil.Prettify(s)
13924}
13925
13926// GoString returns the string representation
13927func (s InvalidParametersException) GoString() string {
13928	return s.String()
13929}
13930
13931func newErrorInvalidParametersException(v protocol.ResponseMetadata) error {
13932	return &InvalidParametersException{
13933		RespMetadata: v,
13934	}
13935}
13936
13937// Code returns the exception type name.
13938func (s *InvalidParametersException) Code() string {
13939	return "InvalidParametersException"
13940}
13941
13942// Message returns the exception's message.
13943func (s *InvalidParametersException) Message() string {
13944	if s.Message_ != nil {
13945		return *s.Message_
13946	}
13947	return ""
13948}
13949
13950// OrigErr always returns nil, satisfies awserr.Error interface.
13951func (s *InvalidParametersException) OrigErr() error {
13952	return nil
13953}
13954
13955func (s *InvalidParametersException) Error() string {
13956	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
13957}
13958
13959// Status code returns the HTTP status code for the request's response error.
13960func (s *InvalidParametersException) StatusCode() int {
13961	return s.RespMetadata.StatusCode
13962}
13963
13964// RequestID returns the service's response RequestID for request.
13965func (s *InvalidParametersException) RequestID() string {
13966	return s.RespMetadata.RequestID
13967}
13968
13969// An attempt was made to modify a resource that is in a state that is not valid.
13970// Check your resources to ensure that they are in valid states before retrying
13971// the operation.
13972type InvalidStateException struct {
13973	_            struct{}                  `type:"structure"`
13974	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
13975
13976	Message_ *string `locationName:"message" type:"string"`
13977}
13978
13979// String returns the string representation
13980func (s InvalidStateException) String() string {
13981	return awsutil.Prettify(s)
13982}
13983
13984// GoString returns the string representation
13985func (s InvalidStateException) GoString() string {
13986	return s.String()
13987}
13988
13989func newErrorInvalidStateException(v protocol.ResponseMetadata) error {
13990	return &InvalidStateException{
13991		RespMetadata: v,
13992	}
13993}
13994
13995// Code returns the exception type name.
13996func (s *InvalidStateException) Code() string {
13997	return "InvalidStateException"
13998}
13999
14000// Message returns the exception's message.
14001func (s *InvalidStateException) Message() string {
14002	if s.Message_ != nil {
14003		return *s.Message_
14004	}
14005	return ""
14006}
14007
14008// OrigErr always returns nil, satisfies awserr.Error interface.
14009func (s *InvalidStateException) OrigErr() error {
14010	return nil
14011}
14012
14013func (s *InvalidStateException) Error() string {
14014	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
14015}
14016
14017// Status code returns the HTTP status code for the request's response error.
14018func (s *InvalidStateException) StatusCode() int {
14019	return s.RespMetadata.StatusCode
14020}
14021
14022// RequestID returns the service's response RequestID for request.
14023func (s *InvalidStateException) RequestID() string {
14024	return s.RespMetadata.RequestID
14025}
14026
14027// A launch path object.
14028type LaunchPath struct {
14029	_ struct{} `type:"structure"`
14030
14031	// The identifier of the launch path.
14032	Id *string `min:"1" type:"string"`
14033
14034	// The name of the launch path.
14035	Name *string `type:"string"`
14036}
14037
14038// String returns the string representation
14039func (s LaunchPath) String() string {
14040	return awsutil.Prettify(s)
14041}
14042
14043// GoString returns the string representation
14044func (s LaunchPath) GoString() string {
14045	return s.String()
14046}
14047
14048// SetId sets the Id field's value.
14049func (s *LaunchPath) SetId(v string) *LaunchPath {
14050	s.Id = &v
14051	return s
14052}
14053
14054// SetName sets the Name field's value.
14055func (s *LaunchPath) SetName(v string) *LaunchPath {
14056	s.Name = &v
14057	return s
14058}
14059
14060// Summary information about a product path for a user.
14061type LaunchPathSummary struct {
14062	_ struct{} `type:"structure"`
14063
14064	// The constraints on the portfolio-product relationship.
14065	ConstraintSummaries []*ConstraintSummary `type:"list"`
14066
14067	// The identifier of the product path.
14068	Id *string `min:"1" type:"string"`
14069
14070	// The name of the portfolio to which the user was assigned.
14071	Name *string `type:"string"`
14072
14073	// The tags associated with this product path.
14074	Tags []*Tag `type:"list"`
14075}
14076
14077// String returns the string representation
14078func (s LaunchPathSummary) String() string {
14079	return awsutil.Prettify(s)
14080}
14081
14082// GoString returns the string representation
14083func (s LaunchPathSummary) GoString() string {
14084	return s.String()
14085}
14086
14087// SetConstraintSummaries sets the ConstraintSummaries field's value.
14088func (s *LaunchPathSummary) SetConstraintSummaries(v []*ConstraintSummary) *LaunchPathSummary {
14089	s.ConstraintSummaries = v
14090	return s
14091}
14092
14093// SetId sets the Id field's value.
14094func (s *LaunchPathSummary) SetId(v string) *LaunchPathSummary {
14095	s.Id = &v
14096	return s
14097}
14098
14099// SetName sets the Name field's value.
14100func (s *LaunchPathSummary) SetName(v string) *LaunchPathSummary {
14101	s.Name = &v
14102	return s
14103}
14104
14105// SetTags sets the Tags field's value.
14106func (s *LaunchPathSummary) SetTags(v []*Tag) *LaunchPathSummary {
14107	s.Tags = v
14108	return s
14109}
14110
14111// The current limits of the service would have been exceeded by this operation.
14112// Decrease your resource use or increase your service limits and retry the
14113// operation.
14114type LimitExceededException struct {
14115	_            struct{}                  `type:"structure"`
14116	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
14117
14118	Message_ *string `locationName:"message" type:"string"`
14119}
14120
14121// String returns the string representation
14122func (s LimitExceededException) String() string {
14123	return awsutil.Prettify(s)
14124}
14125
14126// GoString returns the string representation
14127func (s LimitExceededException) GoString() string {
14128	return s.String()
14129}
14130
14131func newErrorLimitExceededException(v protocol.ResponseMetadata) error {
14132	return &LimitExceededException{
14133		RespMetadata: v,
14134	}
14135}
14136
14137// Code returns the exception type name.
14138func (s *LimitExceededException) Code() string {
14139	return "LimitExceededException"
14140}
14141
14142// Message returns the exception's message.
14143func (s *LimitExceededException) Message() string {
14144	if s.Message_ != nil {
14145		return *s.Message_
14146	}
14147	return ""
14148}
14149
14150// OrigErr always returns nil, satisfies awserr.Error interface.
14151func (s *LimitExceededException) OrigErr() error {
14152	return nil
14153}
14154
14155func (s *LimitExceededException) Error() string {
14156	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
14157}
14158
14159// Status code returns the HTTP status code for the request's response error.
14160func (s *LimitExceededException) StatusCode() int {
14161	return s.RespMetadata.StatusCode
14162}
14163
14164// RequestID returns the service's response RequestID for request.
14165func (s *LimitExceededException) RequestID() string {
14166	return s.RespMetadata.RequestID
14167}
14168
14169type ListAcceptedPortfolioSharesInput struct {
14170	_ struct{} `type:"structure"`
14171
14172	// The language code.
14173	//
14174	//    * en - English (default)
14175	//
14176	//    * jp - Japanese
14177	//
14178	//    * zh - Chinese
14179	AcceptLanguage *string `type:"string"`
14180
14181	// The maximum number of items to return with this call.
14182	PageSize *int64 `type:"integer"`
14183
14184	// The page token for the next set of results. To retrieve the first set of
14185	// results, use null.
14186	PageToken *string `type:"string"`
14187
14188	// The type of shared portfolios to list. The default is to list imported portfolios.
14189	//
14190	//    * AWS_ORGANIZATIONS - List portfolios shared by the management account
14191	//    of your organization
14192	//
14193	//    * AWS_SERVICECATALOG - List default portfolios
14194	//
14195	//    * IMPORTED - List imported portfolios
14196	PortfolioShareType *string `type:"string" enum:"PortfolioShareType"`
14197}
14198
14199// String returns the string representation
14200func (s ListAcceptedPortfolioSharesInput) String() string {
14201	return awsutil.Prettify(s)
14202}
14203
14204// GoString returns the string representation
14205func (s ListAcceptedPortfolioSharesInput) GoString() string {
14206	return s.String()
14207}
14208
14209// SetAcceptLanguage sets the AcceptLanguage field's value.
14210func (s *ListAcceptedPortfolioSharesInput) SetAcceptLanguage(v string) *ListAcceptedPortfolioSharesInput {
14211	s.AcceptLanguage = &v
14212	return s
14213}
14214
14215// SetPageSize sets the PageSize field's value.
14216func (s *ListAcceptedPortfolioSharesInput) SetPageSize(v int64) *ListAcceptedPortfolioSharesInput {
14217	s.PageSize = &v
14218	return s
14219}
14220
14221// SetPageToken sets the PageToken field's value.
14222func (s *ListAcceptedPortfolioSharesInput) SetPageToken(v string) *ListAcceptedPortfolioSharesInput {
14223	s.PageToken = &v
14224	return s
14225}
14226
14227// SetPortfolioShareType sets the PortfolioShareType field's value.
14228func (s *ListAcceptedPortfolioSharesInput) SetPortfolioShareType(v string) *ListAcceptedPortfolioSharesInput {
14229	s.PortfolioShareType = &v
14230	return s
14231}
14232
14233type ListAcceptedPortfolioSharesOutput struct {
14234	_ struct{} `type:"structure"`
14235
14236	// The page token to use to retrieve the next set of results. If there are no
14237	// additional results, this value is null.
14238	NextPageToken *string `type:"string"`
14239
14240	// Information about the portfolios.
14241	PortfolioDetails []*PortfolioDetail `type:"list"`
14242}
14243
14244// String returns the string representation
14245func (s ListAcceptedPortfolioSharesOutput) String() string {
14246	return awsutil.Prettify(s)
14247}
14248
14249// GoString returns the string representation
14250func (s ListAcceptedPortfolioSharesOutput) GoString() string {
14251	return s.String()
14252}
14253
14254// SetNextPageToken sets the NextPageToken field's value.
14255func (s *ListAcceptedPortfolioSharesOutput) SetNextPageToken(v string) *ListAcceptedPortfolioSharesOutput {
14256	s.NextPageToken = &v
14257	return s
14258}
14259
14260// SetPortfolioDetails sets the PortfolioDetails field's value.
14261func (s *ListAcceptedPortfolioSharesOutput) SetPortfolioDetails(v []*PortfolioDetail) *ListAcceptedPortfolioSharesOutput {
14262	s.PortfolioDetails = v
14263	return s
14264}
14265
14266type ListBudgetsForResourceInput struct {
14267	_ struct{} `type:"structure"`
14268
14269	// The language code.
14270	//
14271	//    * en - English (default)
14272	//
14273	//    * jp - Japanese
14274	//
14275	//    * zh - Chinese
14276	AcceptLanguage *string `type:"string"`
14277
14278	// The maximum number of items to return with this call.
14279	PageSize *int64 `type:"integer"`
14280
14281	// The page token for the next set of results. To retrieve the first set of
14282	// results, use null.
14283	PageToken *string `type:"string"`
14284
14285	// The resource identifier.
14286	//
14287	// ResourceId is a required field
14288	ResourceId *string `min:"1" type:"string" required:"true"`
14289}
14290
14291// String returns the string representation
14292func (s ListBudgetsForResourceInput) String() string {
14293	return awsutil.Prettify(s)
14294}
14295
14296// GoString returns the string representation
14297func (s ListBudgetsForResourceInput) GoString() string {
14298	return s.String()
14299}
14300
14301// Validate inspects the fields of the type to determine if they are valid.
14302func (s *ListBudgetsForResourceInput) Validate() error {
14303	invalidParams := request.ErrInvalidParams{Context: "ListBudgetsForResourceInput"}
14304	if s.ResourceId == nil {
14305		invalidParams.Add(request.NewErrParamRequired("ResourceId"))
14306	}
14307	if s.ResourceId != nil && len(*s.ResourceId) < 1 {
14308		invalidParams.Add(request.NewErrParamMinLen("ResourceId", 1))
14309	}
14310
14311	if invalidParams.Len() > 0 {
14312		return invalidParams
14313	}
14314	return nil
14315}
14316
14317// SetAcceptLanguage sets the AcceptLanguage field's value.
14318func (s *ListBudgetsForResourceInput) SetAcceptLanguage(v string) *ListBudgetsForResourceInput {
14319	s.AcceptLanguage = &v
14320	return s
14321}
14322
14323// SetPageSize sets the PageSize field's value.
14324func (s *ListBudgetsForResourceInput) SetPageSize(v int64) *ListBudgetsForResourceInput {
14325	s.PageSize = &v
14326	return s
14327}
14328
14329// SetPageToken sets the PageToken field's value.
14330func (s *ListBudgetsForResourceInput) SetPageToken(v string) *ListBudgetsForResourceInput {
14331	s.PageToken = &v
14332	return s
14333}
14334
14335// SetResourceId sets the ResourceId field's value.
14336func (s *ListBudgetsForResourceInput) SetResourceId(v string) *ListBudgetsForResourceInput {
14337	s.ResourceId = &v
14338	return s
14339}
14340
14341type ListBudgetsForResourceOutput struct {
14342	_ struct{} `type:"structure"`
14343
14344	// Information about the associated budgets.
14345	Budgets []*BudgetDetail `type:"list"`
14346
14347	// The page token to use to retrieve the next set of results. If there are no
14348	// additional results, this value is null.
14349	NextPageToken *string `type:"string"`
14350}
14351
14352// String returns the string representation
14353func (s ListBudgetsForResourceOutput) String() string {
14354	return awsutil.Prettify(s)
14355}
14356
14357// GoString returns the string representation
14358func (s ListBudgetsForResourceOutput) GoString() string {
14359	return s.String()
14360}
14361
14362// SetBudgets sets the Budgets field's value.
14363func (s *ListBudgetsForResourceOutput) SetBudgets(v []*BudgetDetail) *ListBudgetsForResourceOutput {
14364	s.Budgets = v
14365	return s
14366}
14367
14368// SetNextPageToken sets the NextPageToken field's value.
14369func (s *ListBudgetsForResourceOutput) SetNextPageToken(v string) *ListBudgetsForResourceOutput {
14370	s.NextPageToken = &v
14371	return s
14372}
14373
14374type ListConstraintsForPortfolioInput struct {
14375	_ struct{} `type:"structure"`
14376
14377	// The language code.
14378	//
14379	//    * en - English (default)
14380	//
14381	//    * jp - Japanese
14382	//
14383	//    * zh - Chinese
14384	AcceptLanguage *string `type:"string"`
14385
14386	// The maximum number of items to return with this call.
14387	PageSize *int64 `type:"integer"`
14388
14389	// The page token for the next set of results. To retrieve the first set of
14390	// results, use null.
14391	PageToken *string `type:"string"`
14392
14393	// The portfolio identifier.
14394	//
14395	// PortfolioId is a required field
14396	PortfolioId *string `min:"1" type:"string" required:"true"`
14397
14398	// The product identifier.
14399	ProductId *string `min:"1" type:"string"`
14400}
14401
14402// String returns the string representation
14403func (s ListConstraintsForPortfolioInput) String() string {
14404	return awsutil.Prettify(s)
14405}
14406
14407// GoString returns the string representation
14408func (s ListConstraintsForPortfolioInput) GoString() string {
14409	return s.String()
14410}
14411
14412// Validate inspects the fields of the type to determine if they are valid.
14413func (s *ListConstraintsForPortfolioInput) Validate() error {
14414	invalidParams := request.ErrInvalidParams{Context: "ListConstraintsForPortfolioInput"}
14415	if s.PortfolioId == nil {
14416		invalidParams.Add(request.NewErrParamRequired("PortfolioId"))
14417	}
14418	if s.PortfolioId != nil && len(*s.PortfolioId) < 1 {
14419		invalidParams.Add(request.NewErrParamMinLen("PortfolioId", 1))
14420	}
14421	if s.ProductId != nil && len(*s.ProductId) < 1 {
14422		invalidParams.Add(request.NewErrParamMinLen("ProductId", 1))
14423	}
14424
14425	if invalidParams.Len() > 0 {
14426		return invalidParams
14427	}
14428	return nil
14429}
14430
14431// SetAcceptLanguage sets the AcceptLanguage field's value.
14432func (s *ListConstraintsForPortfolioInput) SetAcceptLanguage(v string) *ListConstraintsForPortfolioInput {
14433	s.AcceptLanguage = &v
14434	return s
14435}
14436
14437// SetPageSize sets the PageSize field's value.
14438func (s *ListConstraintsForPortfolioInput) SetPageSize(v int64) *ListConstraintsForPortfolioInput {
14439	s.PageSize = &v
14440	return s
14441}
14442
14443// SetPageToken sets the PageToken field's value.
14444func (s *ListConstraintsForPortfolioInput) SetPageToken(v string) *ListConstraintsForPortfolioInput {
14445	s.PageToken = &v
14446	return s
14447}
14448
14449// SetPortfolioId sets the PortfolioId field's value.
14450func (s *ListConstraintsForPortfolioInput) SetPortfolioId(v string) *ListConstraintsForPortfolioInput {
14451	s.PortfolioId = &v
14452	return s
14453}
14454
14455// SetProductId sets the ProductId field's value.
14456func (s *ListConstraintsForPortfolioInput) SetProductId(v string) *ListConstraintsForPortfolioInput {
14457	s.ProductId = &v
14458	return s
14459}
14460
14461type ListConstraintsForPortfolioOutput struct {
14462	_ struct{} `type:"structure"`
14463
14464	// Information about the constraints.
14465	ConstraintDetails []*ConstraintDetail `type:"list"`
14466
14467	// The page token to use to retrieve the next set of results. If there are no
14468	// additional results, this value is null.
14469	NextPageToken *string `type:"string"`
14470}
14471
14472// String returns the string representation
14473func (s ListConstraintsForPortfolioOutput) String() string {
14474	return awsutil.Prettify(s)
14475}
14476
14477// GoString returns the string representation
14478func (s ListConstraintsForPortfolioOutput) GoString() string {
14479	return s.String()
14480}
14481
14482// SetConstraintDetails sets the ConstraintDetails field's value.
14483func (s *ListConstraintsForPortfolioOutput) SetConstraintDetails(v []*ConstraintDetail) *ListConstraintsForPortfolioOutput {
14484	s.ConstraintDetails = v
14485	return s
14486}
14487
14488// SetNextPageToken sets the NextPageToken field's value.
14489func (s *ListConstraintsForPortfolioOutput) SetNextPageToken(v string) *ListConstraintsForPortfolioOutput {
14490	s.NextPageToken = &v
14491	return s
14492}
14493
14494type ListLaunchPathsInput struct {
14495	_ struct{} `type:"structure"`
14496
14497	// The language code.
14498	//
14499	//    * en - English (default)
14500	//
14501	//    * jp - Japanese
14502	//
14503	//    * zh - Chinese
14504	AcceptLanguage *string `type:"string"`
14505
14506	// The maximum number of items to return with this call.
14507	PageSize *int64 `type:"integer"`
14508
14509	// The page token for the next set of results. To retrieve the first set of
14510	// results, use null.
14511	PageToken *string `type:"string"`
14512
14513	// The product identifier.
14514	//
14515	// ProductId is a required field
14516	ProductId *string `min:"1" type:"string" required:"true"`
14517}
14518
14519// String returns the string representation
14520func (s ListLaunchPathsInput) String() string {
14521	return awsutil.Prettify(s)
14522}
14523
14524// GoString returns the string representation
14525func (s ListLaunchPathsInput) GoString() string {
14526	return s.String()
14527}
14528
14529// Validate inspects the fields of the type to determine if they are valid.
14530func (s *ListLaunchPathsInput) Validate() error {
14531	invalidParams := request.ErrInvalidParams{Context: "ListLaunchPathsInput"}
14532	if s.ProductId == nil {
14533		invalidParams.Add(request.NewErrParamRequired("ProductId"))
14534	}
14535	if s.ProductId != nil && len(*s.ProductId) < 1 {
14536		invalidParams.Add(request.NewErrParamMinLen("ProductId", 1))
14537	}
14538
14539	if invalidParams.Len() > 0 {
14540		return invalidParams
14541	}
14542	return nil
14543}
14544
14545// SetAcceptLanguage sets the AcceptLanguage field's value.
14546func (s *ListLaunchPathsInput) SetAcceptLanguage(v string) *ListLaunchPathsInput {
14547	s.AcceptLanguage = &v
14548	return s
14549}
14550
14551// SetPageSize sets the PageSize field's value.
14552func (s *ListLaunchPathsInput) SetPageSize(v int64) *ListLaunchPathsInput {
14553	s.PageSize = &v
14554	return s
14555}
14556
14557// SetPageToken sets the PageToken field's value.
14558func (s *ListLaunchPathsInput) SetPageToken(v string) *ListLaunchPathsInput {
14559	s.PageToken = &v
14560	return s
14561}
14562
14563// SetProductId sets the ProductId field's value.
14564func (s *ListLaunchPathsInput) SetProductId(v string) *ListLaunchPathsInput {
14565	s.ProductId = &v
14566	return s
14567}
14568
14569type ListLaunchPathsOutput struct {
14570	_ struct{} `type:"structure"`
14571
14572	// Information about the launch path.
14573	LaunchPathSummaries []*LaunchPathSummary `type:"list"`
14574
14575	// The page token to use to retrieve the next set of results. If there are no
14576	// additional results, this value is null.
14577	NextPageToken *string `type:"string"`
14578}
14579
14580// String returns the string representation
14581func (s ListLaunchPathsOutput) String() string {
14582	return awsutil.Prettify(s)
14583}
14584
14585// GoString returns the string representation
14586func (s ListLaunchPathsOutput) GoString() string {
14587	return s.String()
14588}
14589
14590// SetLaunchPathSummaries sets the LaunchPathSummaries field's value.
14591func (s *ListLaunchPathsOutput) SetLaunchPathSummaries(v []*LaunchPathSummary) *ListLaunchPathsOutput {
14592	s.LaunchPathSummaries = v
14593	return s
14594}
14595
14596// SetNextPageToken sets the NextPageToken field's value.
14597func (s *ListLaunchPathsOutput) SetNextPageToken(v string) *ListLaunchPathsOutput {
14598	s.NextPageToken = &v
14599	return s
14600}
14601
14602type ListOrganizationPortfolioAccessInput struct {
14603	_ struct{} `type:"structure"`
14604
14605	// The language code.
14606	//
14607	//    * en - English (default)
14608	//
14609	//    * jp - Japanese
14610	//
14611	//    * zh - Chinese
14612	AcceptLanguage *string `type:"string"`
14613
14614	// The organization node type that will be returned in the output.
14615	//
14616	//    * ORGANIZATION - Organization that has access to the portfolio.
14617	//
14618	//    * ORGANIZATIONAL_UNIT - Organizational unit that has access to the portfolio
14619	//    within your organization.
14620	//
14621	//    * ACCOUNT - Account that has access to the portfolio within your organization.
14622	//
14623	// OrganizationNodeType is a required field
14624	OrganizationNodeType *string `type:"string" required:"true" enum:"OrganizationNodeType"`
14625
14626	// The maximum number of items to return with this call.
14627	PageSize *int64 `type:"integer"`
14628
14629	// The page token for the next set of results. To retrieve the first set of
14630	// results, use null.
14631	PageToken *string `type:"string"`
14632
14633	// The portfolio identifier. For example, port-2abcdext3y5fk.
14634	//
14635	// PortfolioId is a required field
14636	PortfolioId *string `min:"1" type:"string" required:"true"`
14637}
14638
14639// String returns the string representation
14640func (s ListOrganizationPortfolioAccessInput) String() string {
14641	return awsutil.Prettify(s)
14642}
14643
14644// GoString returns the string representation
14645func (s ListOrganizationPortfolioAccessInput) GoString() string {
14646	return s.String()
14647}
14648
14649// Validate inspects the fields of the type to determine if they are valid.
14650func (s *ListOrganizationPortfolioAccessInput) Validate() error {
14651	invalidParams := request.ErrInvalidParams{Context: "ListOrganizationPortfolioAccessInput"}
14652	if s.OrganizationNodeType == nil {
14653		invalidParams.Add(request.NewErrParamRequired("OrganizationNodeType"))
14654	}
14655	if s.PortfolioId == nil {
14656		invalidParams.Add(request.NewErrParamRequired("PortfolioId"))
14657	}
14658	if s.PortfolioId != nil && len(*s.PortfolioId) < 1 {
14659		invalidParams.Add(request.NewErrParamMinLen("PortfolioId", 1))
14660	}
14661
14662	if invalidParams.Len() > 0 {
14663		return invalidParams
14664	}
14665	return nil
14666}
14667
14668// SetAcceptLanguage sets the AcceptLanguage field's value.
14669func (s *ListOrganizationPortfolioAccessInput) SetAcceptLanguage(v string) *ListOrganizationPortfolioAccessInput {
14670	s.AcceptLanguage = &v
14671	return s
14672}
14673
14674// SetOrganizationNodeType sets the OrganizationNodeType field's value.
14675func (s *ListOrganizationPortfolioAccessInput) SetOrganizationNodeType(v string) *ListOrganizationPortfolioAccessInput {
14676	s.OrganizationNodeType = &v
14677	return s
14678}
14679
14680// SetPageSize sets the PageSize field's value.
14681func (s *ListOrganizationPortfolioAccessInput) SetPageSize(v int64) *ListOrganizationPortfolioAccessInput {
14682	s.PageSize = &v
14683	return s
14684}
14685
14686// SetPageToken sets the PageToken field's value.
14687func (s *ListOrganizationPortfolioAccessInput) SetPageToken(v string) *ListOrganizationPortfolioAccessInput {
14688	s.PageToken = &v
14689	return s
14690}
14691
14692// SetPortfolioId sets the PortfolioId field's value.
14693func (s *ListOrganizationPortfolioAccessInput) SetPortfolioId(v string) *ListOrganizationPortfolioAccessInput {
14694	s.PortfolioId = &v
14695	return s
14696}
14697
14698type ListOrganizationPortfolioAccessOutput struct {
14699	_ struct{} `type:"structure"`
14700
14701	// The page token to use to retrieve the next set of results. If there are no
14702	// additional results, this value is null.
14703	NextPageToken *string `type:"string"`
14704
14705	// Displays information about the organization nodes.
14706	OrganizationNodes []*OrganizationNode `type:"list"`
14707}
14708
14709// String returns the string representation
14710func (s ListOrganizationPortfolioAccessOutput) String() string {
14711	return awsutil.Prettify(s)
14712}
14713
14714// GoString returns the string representation
14715func (s ListOrganizationPortfolioAccessOutput) GoString() string {
14716	return s.String()
14717}
14718
14719// SetNextPageToken sets the NextPageToken field's value.
14720func (s *ListOrganizationPortfolioAccessOutput) SetNextPageToken(v string) *ListOrganizationPortfolioAccessOutput {
14721	s.NextPageToken = &v
14722	return s
14723}
14724
14725// SetOrganizationNodes sets the OrganizationNodes field's value.
14726func (s *ListOrganizationPortfolioAccessOutput) SetOrganizationNodes(v []*OrganizationNode) *ListOrganizationPortfolioAccessOutput {
14727	s.OrganizationNodes = v
14728	return s
14729}
14730
14731type ListPortfolioAccessInput struct {
14732	_ struct{} `type:"structure"`
14733
14734	// The language code.
14735	//
14736	//    * en - English (default)
14737	//
14738	//    * jp - Japanese
14739	//
14740	//    * zh - Chinese
14741	AcceptLanguage *string `type:"string"`
14742
14743	// The ID of an organization node the portfolio is shared with. All children
14744	// of this node with an inherited portfolio share will be returned.
14745	OrganizationParentId *string `min:"1" type:"string"`
14746
14747	// The maximum number of items to return with this call.
14748	PageSize *int64 `type:"integer"`
14749
14750	// The page token for the next set of results. To retrieve the first set of
14751	// results, use null.
14752	PageToken *string `type:"string"`
14753
14754	// The portfolio identifier.
14755	//
14756	// PortfolioId is a required field
14757	PortfolioId *string `min:"1" type:"string" required:"true"`
14758}
14759
14760// String returns the string representation
14761func (s ListPortfolioAccessInput) String() string {
14762	return awsutil.Prettify(s)
14763}
14764
14765// GoString returns the string representation
14766func (s ListPortfolioAccessInput) GoString() string {
14767	return s.String()
14768}
14769
14770// Validate inspects the fields of the type to determine if they are valid.
14771func (s *ListPortfolioAccessInput) Validate() error {
14772	invalidParams := request.ErrInvalidParams{Context: "ListPortfolioAccessInput"}
14773	if s.OrganizationParentId != nil && len(*s.OrganizationParentId) < 1 {
14774		invalidParams.Add(request.NewErrParamMinLen("OrganizationParentId", 1))
14775	}
14776	if s.PortfolioId == nil {
14777		invalidParams.Add(request.NewErrParamRequired("PortfolioId"))
14778	}
14779	if s.PortfolioId != nil && len(*s.PortfolioId) < 1 {
14780		invalidParams.Add(request.NewErrParamMinLen("PortfolioId", 1))
14781	}
14782
14783	if invalidParams.Len() > 0 {
14784		return invalidParams
14785	}
14786	return nil
14787}
14788
14789// SetAcceptLanguage sets the AcceptLanguage field's value.
14790func (s *ListPortfolioAccessInput) SetAcceptLanguage(v string) *ListPortfolioAccessInput {
14791	s.AcceptLanguage = &v
14792	return s
14793}
14794
14795// SetOrganizationParentId sets the OrganizationParentId field's value.
14796func (s *ListPortfolioAccessInput) SetOrganizationParentId(v string) *ListPortfolioAccessInput {
14797	s.OrganizationParentId = &v
14798	return s
14799}
14800
14801// SetPageSize sets the PageSize field's value.
14802func (s *ListPortfolioAccessInput) SetPageSize(v int64) *ListPortfolioAccessInput {
14803	s.PageSize = &v
14804	return s
14805}
14806
14807// SetPageToken sets the PageToken field's value.
14808func (s *ListPortfolioAccessInput) SetPageToken(v string) *ListPortfolioAccessInput {
14809	s.PageToken = &v
14810	return s
14811}
14812
14813// SetPortfolioId sets the PortfolioId field's value.
14814func (s *ListPortfolioAccessInput) SetPortfolioId(v string) *ListPortfolioAccessInput {
14815	s.PortfolioId = &v
14816	return s
14817}
14818
14819type ListPortfolioAccessOutput struct {
14820	_ struct{} `type:"structure"`
14821
14822	// Information about the AWS accounts with access to the portfolio.
14823	AccountIds []*string `type:"list"`
14824
14825	// The page token to use to retrieve the next set of results. If there are no
14826	// additional results, this value is null.
14827	NextPageToken *string `type:"string"`
14828}
14829
14830// String returns the string representation
14831func (s ListPortfolioAccessOutput) String() string {
14832	return awsutil.Prettify(s)
14833}
14834
14835// GoString returns the string representation
14836func (s ListPortfolioAccessOutput) GoString() string {
14837	return s.String()
14838}
14839
14840// SetAccountIds sets the AccountIds field's value.
14841func (s *ListPortfolioAccessOutput) SetAccountIds(v []*string) *ListPortfolioAccessOutput {
14842	s.AccountIds = v
14843	return s
14844}
14845
14846// SetNextPageToken sets the NextPageToken field's value.
14847func (s *ListPortfolioAccessOutput) SetNextPageToken(v string) *ListPortfolioAccessOutput {
14848	s.NextPageToken = &v
14849	return s
14850}
14851
14852type ListPortfoliosForProductInput struct {
14853	_ struct{} `type:"structure"`
14854
14855	// The language code.
14856	//
14857	//    * en - English (default)
14858	//
14859	//    * jp - Japanese
14860	//
14861	//    * zh - Chinese
14862	AcceptLanguage *string `type:"string"`
14863
14864	// The maximum number of items to return with this call.
14865	PageSize *int64 `type:"integer"`
14866
14867	// The page token for the next set of results. To retrieve the first set of
14868	// results, use null.
14869	PageToken *string `type:"string"`
14870
14871	// The product identifier.
14872	//
14873	// ProductId is a required field
14874	ProductId *string `min:"1" type:"string" required:"true"`
14875}
14876
14877// String returns the string representation
14878func (s ListPortfoliosForProductInput) String() string {
14879	return awsutil.Prettify(s)
14880}
14881
14882// GoString returns the string representation
14883func (s ListPortfoliosForProductInput) GoString() string {
14884	return s.String()
14885}
14886
14887// Validate inspects the fields of the type to determine if they are valid.
14888func (s *ListPortfoliosForProductInput) Validate() error {
14889	invalidParams := request.ErrInvalidParams{Context: "ListPortfoliosForProductInput"}
14890	if s.ProductId == nil {
14891		invalidParams.Add(request.NewErrParamRequired("ProductId"))
14892	}
14893	if s.ProductId != nil && len(*s.ProductId) < 1 {
14894		invalidParams.Add(request.NewErrParamMinLen("ProductId", 1))
14895	}
14896
14897	if invalidParams.Len() > 0 {
14898		return invalidParams
14899	}
14900	return nil
14901}
14902
14903// SetAcceptLanguage sets the AcceptLanguage field's value.
14904func (s *ListPortfoliosForProductInput) SetAcceptLanguage(v string) *ListPortfoliosForProductInput {
14905	s.AcceptLanguage = &v
14906	return s
14907}
14908
14909// SetPageSize sets the PageSize field's value.
14910func (s *ListPortfoliosForProductInput) SetPageSize(v int64) *ListPortfoliosForProductInput {
14911	s.PageSize = &v
14912	return s
14913}
14914
14915// SetPageToken sets the PageToken field's value.
14916func (s *ListPortfoliosForProductInput) SetPageToken(v string) *ListPortfoliosForProductInput {
14917	s.PageToken = &v
14918	return s
14919}
14920
14921// SetProductId sets the ProductId field's value.
14922func (s *ListPortfoliosForProductInput) SetProductId(v string) *ListPortfoliosForProductInput {
14923	s.ProductId = &v
14924	return s
14925}
14926
14927type ListPortfoliosForProductOutput struct {
14928	_ struct{} `type:"structure"`
14929
14930	// The page token to use to retrieve the next set of results. If there are no
14931	// additional results, this value is null.
14932	NextPageToken *string `type:"string"`
14933
14934	// Information about the portfolios.
14935	PortfolioDetails []*PortfolioDetail `type:"list"`
14936}
14937
14938// String returns the string representation
14939func (s ListPortfoliosForProductOutput) String() string {
14940	return awsutil.Prettify(s)
14941}
14942
14943// GoString returns the string representation
14944func (s ListPortfoliosForProductOutput) GoString() string {
14945	return s.String()
14946}
14947
14948// SetNextPageToken sets the NextPageToken field's value.
14949func (s *ListPortfoliosForProductOutput) SetNextPageToken(v string) *ListPortfoliosForProductOutput {
14950	s.NextPageToken = &v
14951	return s
14952}
14953
14954// SetPortfolioDetails sets the PortfolioDetails field's value.
14955func (s *ListPortfoliosForProductOutput) SetPortfolioDetails(v []*PortfolioDetail) *ListPortfoliosForProductOutput {
14956	s.PortfolioDetails = v
14957	return s
14958}
14959
14960type ListPortfoliosInput struct {
14961	_ struct{} `type:"structure"`
14962
14963	// The language code.
14964	//
14965	//    * en - English (default)
14966	//
14967	//    * jp - Japanese
14968	//
14969	//    * zh - Chinese
14970	AcceptLanguage *string `type:"string"`
14971
14972	// The maximum number of items to return with this call.
14973	PageSize *int64 `type:"integer"`
14974
14975	// The page token for the next set of results. To retrieve the first set of
14976	// results, use null.
14977	PageToken *string `type:"string"`
14978}
14979
14980// String returns the string representation
14981func (s ListPortfoliosInput) String() string {
14982	return awsutil.Prettify(s)
14983}
14984
14985// GoString returns the string representation
14986func (s ListPortfoliosInput) GoString() string {
14987	return s.String()
14988}
14989
14990// SetAcceptLanguage sets the AcceptLanguage field's value.
14991func (s *ListPortfoliosInput) SetAcceptLanguage(v string) *ListPortfoliosInput {
14992	s.AcceptLanguage = &v
14993	return s
14994}
14995
14996// SetPageSize sets the PageSize field's value.
14997func (s *ListPortfoliosInput) SetPageSize(v int64) *ListPortfoliosInput {
14998	s.PageSize = &v
14999	return s
15000}
15001
15002// SetPageToken sets the PageToken field's value.
15003func (s *ListPortfoliosInput) SetPageToken(v string) *ListPortfoliosInput {
15004	s.PageToken = &v
15005	return s
15006}
15007
15008type ListPortfoliosOutput struct {
15009	_ struct{} `type:"structure"`
15010
15011	// The page token to use to retrieve the next set of results. If there are no
15012	// additional results, this value is null.
15013	NextPageToken *string `type:"string"`
15014
15015	// Information about the portfolios.
15016	PortfolioDetails []*PortfolioDetail `type:"list"`
15017}
15018
15019// String returns the string representation
15020func (s ListPortfoliosOutput) String() string {
15021	return awsutil.Prettify(s)
15022}
15023
15024// GoString returns the string representation
15025func (s ListPortfoliosOutput) GoString() string {
15026	return s.String()
15027}
15028
15029// SetNextPageToken sets the NextPageToken field's value.
15030func (s *ListPortfoliosOutput) SetNextPageToken(v string) *ListPortfoliosOutput {
15031	s.NextPageToken = &v
15032	return s
15033}
15034
15035// SetPortfolioDetails sets the PortfolioDetails field's value.
15036func (s *ListPortfoliosOutput) SetPortfolioDetails(v []*PortfolioDetail) *ListPortfoliosOutput {
15037	s.PortfolioDetails = v
15038	return s
15039}
15040
15041type ListPrincipalsForPortfolioInput struct {
15042	_ struct{} `type:"structure"`
15043
15044	// The language code.
15045	//
15046	//    * en - English (default)
15047	//
15048	//    * jp - Japanese
15049	//
15050	//    * zh - Chinese
15051	AcceptLanguage *string `type:"string"`
15052
15053	// The maximum number of items to return with this call.
15054	PageSize *int64 `type:"integer"`
15055
15056	// The page token for the next set of results. To retrieve the first set of
15057	// results, use null.
15058	PageToken *string `type:"string"`
15059
15060	// The portfolio identifier.
15061	//
15062	// PortfolioId is a required field
15063	PortfolioId *string `min:"1" type:"string" required:"true"`
15064}
15065
15066// String returns the string representation
15067func (s ListPrincipalsForPortfolioInput) String() string {
15068	return awsutil.Prettify(s)
15069}
15070
15071// GoString returns the string representation
15072func (s ListPrincipalsForPortfolioInput) GoString() string {
15073	return s.String()
15074}
15075
15076// Validate inspects the fields of the type to determine if they are valid.
15077func (s *ListPrincipalsForPortfolioInput) Validate() error {
15078	invalidParams := request.ErrInvalidParams{Context: "ListPrincipalsForPortfolioInput"}
15079	if s.PortfolioId == nil {
15080		invalidParams.Add(request.NewErrParamRequired("PortfolioId"))
15081	}
15082	if s.PortfolioId != nil && len(*s.PortfolioId) < 1 {
15083		invalidParams.Add(request.NewErrParamMinLen("PortfolioId", 1))
15084	}
15085
15086	if invalidParams.Len() > 0 {
15087		return invalidParams
15088	}
15089	return nil
15090}
15091
15092// SetAcceptLanguage sets the AcceptLanguage field's value.
15093func (s *ListPrincipalsForPortfolioInput) SetAcceptLanguage(v string) *ListPrincipalsForPortfolioInput {
15094	s.AcceptLanguage = &v
15095	return s
15096}
15097
15098// SetPageSize sets the PageSize field's value.
15099func (s *ListPrincipalsForPortfolioInput) SetPageSize(v int64) *ListPrincipalsForPortfolioInput {
15100	s.PageSize = &v
15101	return s
15102}
15103
15104// SetPageToken sets the PageToken field's value.
15105func (s *ListPrincipalsForPortfolioInput) SetPageToken(v string) *ListPrincipalsForPortfolioInput {
15106	s.PageToken = &v
15107	return s
15108}
15109
15110// SetPortfolioId sets the PortfolioId field's value.
15111func (s *ListPrincipalsForPortfolioInput) SetPortfolioId(v string) *ListPrincipalsForPortfolioInput {
15112	s.PortfolioId = &v
15113	return s
15114}
15115
15116type ListPrincipalsForPortfolioOutput struct {
15117	_ struct{} `type:"structure"`
15118
15119	// The page token to use to retrieve the next set of results. If there are no
15120	// additional results, this value is null.
15121	NextPageToken *string `type:"string"`
15122
15123	// The IAM principals (users or roles) associated with the portfolio.
15124	Principals []*Principal `type:"list"`
15125}
15126
15127// String returns the string representation
15128func (s ListPrincipalsForPortfolioOutput) String() string {
15129	return awsutil.Prettify(s)
15130}
15131
15132// GoString returns the string representation
15133func (s ListPrincipalsForPortfolioOutput) GoString() string {
15134	return s.String()
15135}
15136
15137// SetNextPageToken sets the NextPageToken field's value.
15138func (s *ListPrincipalsForPortfolioOutput) SetNextPageToken(v string) *ListPrincipalsForPortfolioOutput {
15139	s.NextPageToken = &v
15140	return s
15141}
15142
15143// SetPrincipals sets the Principals field's value.
15144func (s *ListPrincipalsForPortfolioOutput) SetPrincipals(v []*Principal) *ListPrincipalsForPortfolioOutput {
15145	s.Principals = v
15146	return s
15147}
15148
15149type ListProvisionedProductPlansInput struct {
15150	_ struct{} `type:"structure"`
15151
15152	// The language code.
15153	//
15154	//    * en - English (default)
15155	//
15156	//    * jp - Japanese
15157	//
15158	//    * zh - Chinese
15159	AcceptLanguage *string `type:"string"`
15160
15161	// The access level to use to obtain results. The default is User.
15162	AccessLevelFilter *AccessLevelFilter `type:"structure"`
15163
15164	// The maximum number of items to return with this call.
15165	PageSize *int64 `type:"integer"`
15166
15167	// The page token for the next set of results. To retrieve the first set of
15168	// results, use null.
15169	PageToken *string `type:"string"`
15170
15171	// The product identifier.
15172	ProvisionProductId *string `min:"1" type:"string"`
15173}
15174
15175// String returns the string representation
15176func (s ListProvisionedProductPlansInput) String() string {
15177	return awsutil.Prettify(s)
15178}
15179
15180// GoString returns the string representation
15181func (s ListProvisionedProductPlansInput) GoString() string {
15182	return s.String()
15183}
15184
15185// Validate inspects the fields of the type to determine if they are valid.
15186func (s *ListProvisionedProductPlansInput) Validate() error {
15187	invalidParams := request.ErrInvalidParams{Context: "ListProvisionedProductPlansInput"}
15188	if s.ProvisionProductId != nil && len(*s.ProvisionProductId) < 1 {
15189		invalidParams.Add(request.NewErrParamMinLen("ProvisionProductId", 1))
15190	}
15191
15192	if invalidParams.Len() > 0 {
15193		return invalidParams
15194	}
15195	return nil
15196}
15197
15198// SetAcceptLanguage sets the AcceptLanguage field's value.
15199func (s *ListProvisionedProductPlansInput) SetAcceptLanguage(v string) *ListProvisionedProductPlansInput {
15200	s.AcceptLanguage = &v
15201	return s
15202}
15203
15204// SetAccessLevelFilter sets the AccessLevelFilter field's value.
15205func (s *ListProvisionedProductPlansInput) SetAccessLevelFilter(v *AccessLevelFilter) *ListProvisionedProductPlansInput {
15206	s.AccessLevelFilter = v
15207	return s
15208}
15209
15210// SetPageSize sets the PageSize field's value.
15211func (s *ListProvisionedProductPlansInput) SetPageSize(v int64) *ListProvisionedProductPlansInput {
15212	s.PageSize = &v
15213	return s
15214}
15215
15216// SetPageToken sets the PageToken field's value.
15217func (s *ListProvisionedProductPlansInput) SetPageToken(v string) *ListProvisionedProductPlansInput {
15218	s.PageToken = &v
15219	return s
15220}
15221
15222// SetProvisionProductId sets the ProvisionProductId field's value.
15223func (s *ListProvisionedProductPlansInput) SetProvisionProductId(v string) *ListProvisionedProductPlansInput {
15224	s.ProvisionProductId = &v
15225	return s
15226}
15227
15228type ListProvisionedProductPlansOutput struct {
15229	_ struct{} `type:"structure"`
15230
15231	// The page token to use to retrieve the next set of results. If there are no
15232	// additional results, this value is null.
15233	NextPageToken *string `type:"string"`
15234
15235	// Information about the plans.
15236	ProvisionedProductPlans []*ProvisionedProductPlanSummary `type:"list"`
15237}
15238
15239// String returns the string representation
15240func (s ListProvisionedProductPlansOutput) String() string {
15241	return awsutil.Prettify(s)
15242}
15243
15244// GoString returns the string representation
15245func (s ListProvisionedProductPlansOutput) GoString() string {
15246	return s.String()
15247}
15248
15249// SetNextPageToken sets the NextPageToken field's value.
15250func (s *ListProvisionedProductPlansOutput) SetNextPageToken(v string) *ListProvisionedProductPlansOutput {
15251	s.NextPageToken = &v
15252	return s
15253}
15254
15255// SetProvisionedProductPlans sets the ProvisionedProductPlans field's value.
15256func (s *ListProvisionedProductPlansOutput) SetProvisionedProductPlans(v []*ProvisionedProductPlanSummary) *ListProvisionedProductPlansOutput {
15257	s.ProvisionedProductPlans = v
15258	return s
15259}
15260
15261type ListProvisioningArtifactsForServiceActionInput struct {
15262	_ struct{} `type:"structure"`
15263
15264	// The language code.
15265	//
15266	//    * en - English (default)
15267	//
15268	//    * jp - Japanese
15269	//
15270	//    * zh - Chinese
15271	AcceptLanguage *string `type:"string"`
15272
15273	// The maximum number of items to return with this call.
15274	PageSize *int64 `type:"integer"`
15275
15276	// The page token for the next set of results. To retrieve the first set of
15277	// results, use null.
15278	PageToken *string `type:"string"`
15279
15280	// The self-service action identifier. For example, act-fs7abcd89wxyz.
15281	//
15282	// ServiceActionId is a required field
15283	ServiceActionId *string `min:"1" type:"string" required:"true"`
15284}
15285
15286// String returns the string representation
15287func (s ListProvisioningArtifactsForServiceActionInput) String() string {
15288	return awsutil.Prettify(s)
15289}
15290
15291// GoString returns the string representation
15292func (s ListProvisioningArtifactsForServiceActionInput) GoString() string {
15293	return s.String()
15294}
15295
15296// Validate inspects the fields of the type to determine if they are valid.
15297func (s *ListProvisioningArtifactsForServiceActionInput) Validate() error {
15298	invalidParams := request.ErrInvalidParams{Context: "ListProvisioningArtifactsForServiceActionInput"}
15299	if s.ServiceActionId == nil {
15300		invalidParams.Add(request.NewErrParamRequired("ServiceActionId"))
15301	}
15302	if s.ServiceActionId != nil && len(*s.ServiceActionId) < 1 {
15303		invalidParams.Add(request.NewErrParamMinLen("ServiceActionId", 1))
15304	}
15305
15306	if invalidParams.Len() > 0 {
15307		return invalidParams
15308	}
15309	return nil
15310}
15311
15312// SetAcceptLanguage sets the AcceptLanguage field's value.
15313func (s *ListProvisioningArtifactsForServiceActionInput) SetAcceptLanguage(v string) *ListProvisioningArtifactsForServiceActionInput {
15314	s.AcceptLanguage = &v
15315	return s
15316}
15317
15318// SetPageSize sets the PageSize field's value.
15319func (s *ListProvisioningArtifactsForServiceActionInput) SetPageSize(v int64) *ListProvisioningArtifactsForServiceActionInput {
15320	s.PageSize = &v
15321	return s
15322}
15323
15324// SetPageToken sets the PageToken field's value.
15325func (s *ListProvisioningArtifactsForServiceActionInput) SetPageToken(v string) *ListProvisioningArtifactsForServiceActionInput {
15326	s.PageToken = &v
15327	return s
15328}
15329
15330// SetServiceActionId sets the ServiceActionId field's value.
15331func (s *ListProvisioningArtifactsForServiceActionInput) SetServiceActionId(v string) *ListProvisioningArtifactsForServiceActionInput {
15332	s.ServiceActionId = &v
15333	return s
15334}
15335
15336type ListProvisioningArtifactsForServiceActionOutput struct {
15337	_ struct{} `type:"structure"`
15338
15339	// The page token to use to retrieve the next set of results. If there are no
15340	// additional results, this value is null.
15341	NextPageToken *string `type:"string"`
15342
15343	// An array of objects with information about product views and provisioning
15344	// artifacts.
15345	ProvisioningArtifactViews []*ProvisioningArtifactView `type:"list"`
15346}
15347
15348// String returns the string representation
15349func (s ListProvisioningArtifactsForServiceActionOutput) String() string {
15350	return awsutil.Prettify(s)
15351}
15352
15353// GoString returns the string representation
15354func (s ListProvisioningArtifactsForServiceActionOutput) GoString() string {
15355	return s.String()
15356}
15357
15358// SetNextPageToken sets the NextPageToken field's value.
15359func (s *ListProvisioningArtifactsForServiceActionOutput) SetNextPageToken(v string) *ListProvisioningArtifactsForServiceActionOutput {
15360	s.NextPageToken = &v
15361	return s
15362}
15363
15364// SetProvisioningArtifactViews sets the ProvisioningArtifactViews field's value.
15365func (s *ListProvisioningArtifactsForServiceActionOutput) SetProvisioningArtifactViews(v []*ProvisioningArtifactView) *ListProvisioningArtifactsForServiceActionOutput {
15366	s.ProvisioningArtifactViews = v
15367	return s
15368}
15369
15370type ListProvisioningArtifactsInput struct {
15371	_ struct{} `type:"structure"`
15372
15373	// The language code.
15374	//
15375	//    * en - English (default)
15376	//
15377	//    * jp - Japanese
15378	//
15379	//    * zh - Chinese
15380	AcceptLanguage *string `type:"string"`
15381
15382	// The product identifier.
15383	//
15384	// ProductId is a required field
15385	ProductId *string `min:"1" type:"string" required:"true"`
15386}
15387
15388// String returns the string representation
15389func (s ListProvisioningArtifactsInput) String() string {
15390	return awsutil.Prettify(s)
15391}
15392
15393// GoString returns the string representation
15394func (s ListProvisioningArtifactsInput) GoString() string {
15395	return s.String()
15396}
15397
15398// Validate inspects the fields of the type to determine if they are valid.
15399func (s *ListProvisioningArtifactsInput) Validate() error {
15400	invalidParams := request.ErrInvalidParams{Context: "ListProvisioningArtifactsInput"}
15401	if s.ProductId == nil {
15402		invalidParams.Add(request.NewErrParamRequired("ProductId"))
15403	}
15404	if s.ProductId != nil && len(*s.ProductId) < 1 {
15405		invalidParams.Add(request.NewErrParamMinLen("ProductId", 1))
15406	}
15407
15408	if invalidParams.Len() > 0 {
15409		return invalidParams
15410	}
15411	return nil
15412}
15413
15414// SetAcceptLanguage sets the AcceptLanguage field's value.
15415func (s *ListProvisioningArtifactsInput) SetAcceptLanguage(v string) *ListProvisioningArtifactsInput {
15416	s.AcceptLanguage = &v
15417	return s
15418}
15419
15420// SetProductId sets the ProductId field's value.
15421func (s *ListProvisioningArtifactsInput) SetProductId(v string) *ListProvisioningArtifactsInput {
15422	s.ProductId = &v
15423	return s
15424}
15425
15426type ListProvisioningArtifactsOutput struct {
15427	_ struct{} `type:"structure"`
15428
15429	// The page token to use to retrieve the next set of results. If there are no
15430	// additional results, this value is null.
15431	NextPageToken *string `type:"string"`
15432
15433	// Information about the provisioning artifacts.
15434	ProvisioningArtifactDetails []*ProvisioningArtifactDetail `type:"list"`
15435}
15436
15437// String returns the string representation
15438func (s ListProvisioningArtifactsOutput) String() string {
15439	return awsutil.Prettify(s)
15440}
15441
15442// GoString returns the string representation
15443func (s ListProvisioningArtifactsOutput) GoString() string {
15444	return s.String()
15445}
15446
15447// SetNextPageToken sets the NextPageToken field's value.
15448func (s *ListProvisioningArtifactsOutput) SetNextPageToken(v string) *ListProvisioningArtifactsOutput {
15449	s.NextPageToken = &v
15450	return s
15451}
15452
15453// SetProvisioningArtifactDetails sets the ProvisioningArtifactDetails field's value.
15454func (s *ListProvisioningArtifactsOutput) SetProvisioningArtifactDetails(v []*ProvisioningArtifactDetail) *ListProvisioningArtifactsOutput {
15455	s.ProvisioningArtifactDetails = v
15456	return s
15457}
15458
15459type ListRecordHistoryInput struct {
15460	_ struct{} `type:"structure"`
15461
15462	// The language code.
15463	//
15464	//    * en - English (default)
15465	//
15466	//    * jp - Japanese
15467	//
15468	//    * zh - Chinese
15469	AcceptLanguage *string `type:"string"`
15470
15471	// The access level to use to obtain results. The default is User.
15472	AccessLevelFilter *AccessLevelFilter `type:"structure"`
15473
15474	// The maximum number of items to return with this call.
15475	PageSize *int64 `type:"integer"`
15476
15477	// The page token for the next set of results. To retrieve the first set of
15478	// results, use null.
15479	PageToken *string `type:"string"`
15480
15481	// The search filter to scope the results.
15482	SearchFilter *ListRecordHistorySearchFilter `type:"structure"`
15483}
15484
15485// String returns the string representation
15486func (s ListRecordHistoryInput) String() string {
15487	return awsutil.Prettify(s)
15488}
15489
15490// GoString returns the string representation
15491func (s ListRecordHistoryInput) GoString() string {
15492	return s.String()
15493}
15494
15495// SetAcceptLanguage sets the AcceptLanguage field's value.
15496func (s *ListRecordHistoryInput) SetAcceptLanguage(v string) *ListRecordHistoryInput {
15497	s.AcceptLanguage = &v
15498	return s
15499}
15500
15501// SetAccessLevelFilter sets the AccessLevelFilter field's value.
15502func (s *ListRecordHistoryInput) SetAccessLevelFilter(v *AccessLevelFilter) *ListRecordHistoryInput {
15503	s.AccessLevelFilter = v
15504	return s
15505}
15506
15507// SetPageSize sets the PageSize field's value.
15508func (s *ListRecordHistoryInput) SetPageSize(v int64) *ListRecordHistoryInput {
15509	s.PageSize = &v
15510	return s
15511}
15512
15513// SetPageToken sets the PageToken field's value.
15514func (s *ListRecordHistoryInput) SetPageToken(v string) *ListRecordHistoryInput {
15515	s.PageToken = &v
15516	return s
15517}
15518
15519// SetSearchFilter sets the SearchFilter field's value.
15520func (s *ListRecordHistoryInput) SetSearchFilter(v *ListRecordHistorySearchFilter) *ListRecordHistoryInput {
15521	s.SearchFilter = v
15522	return s
15523}
15524
15525type ListRecordHistoryOutput struct {
15526	_ struct{} `type:"structure"`
15527
15528	// The page token to use to retrieve the next set of results. If there are no
15529	// additional results, this value is null.
15530	NextPageToken *string `type:"string"`
15531
15532	// The records, in reverse chronological order.
15533	RecordDetails []*RecordDetail `type:"list"`
15534}
15535
15536// String returns the string representation
15537func (s ListRecordHistoryOutput) String() string {
15538	return awsutil.Prettify(s)
15539}
15540
15541// GoString returns the string representation
15542func (s ListRecordHistoryOutput) GoString() string {
15543	return s.String()
15544}
15545
15546// SetNextPageToken sets the NextPageToken field's value.
15547func (s *ListRecordHistoryOutput) SetNextPageToken(v string) *ListRecordHistoryOutput {
15548	s.NextPageToken = &v
15549	return s
15550}
15551
15552// SetRecordDetails sets the RecordDetails field's value.
15553func (s *ListRecordHistoryOutput) SetRecordDetails(v []*RecordDetail) *ListRecordHistoryOutput {
15554	s.RecordDetails = v
15555	return s
15556}
15557
15558// The search filter to use when listing history records.
15559type ListRecordHistorySearchFilter struct {
15560	_ struct{} `type:"structure"`
15561
15562	// The filter key.
15563	//
15564	//    * product - Filter results based on the specified product identifier.
15565	//
15566	//    * provisionedproduct - Filter results based on the provisioned product
15567	//    identifier.
15568	Key *string `type:"string"`
15569
15570	// The filter value.
15571	Value *string `type:"string"`
15572}
15573
15574// String returns the string representation
15575func (s ListRecordHistorySearchFilter) String() string {
15576	return awsutil.Prettify(s)
15577}
15578
15579// GoString returns the string representation
15580func (s ListRecordHistorySearchFilter) GoString() string {
15581	return s.String()
15582}
15583
15584// SetKey sets the Key field's value.
15585func (s *ListRecordHistorySearchFilter) SetKey(v string) *ListRecordHistorySearchFilter {
15586	s.Key = &v
15587	return s
15588}
15589
15590// SetValue sets the Value field's value.
15591func (s *ListRecordHistorySearchFilter) SetValue(v string) *ListRecordHistorySearchFilter {
15592	s.Value = &v
15593	return s
15594}
15595
15596type ListResourcesForTagOptionInput struct {
15597	_ struct{} `type:"structure"`
15598
15599	// The maximum number of items to return with this call.
15600	PageSize *int64 `type:"integer"`
15601
15602	// The page token for the next set of results. To retrieve the first set of
15603	// results, use null.
15604	PageToken *string `type:"string"`
15605
15606	// The resource type.
15607	//
15608	//    * Portfolio
15609	//
15610	//    * Product
15611	ResourceType *string `type:"string"`
15612
15613	// The TagOption identifier.
15614	//
15615	// TagOptionId is a required field
15616	TagOptionId *string `min:"1" type:"string" required:"true"`
15617}
15618
15619// String returns the string representation
15620func (s ListResourcesForTagOptionInput) String() string {
15621	return awsutil.Prettify(s)
15622}
15623
15624// GoString returns the string representation
15625func (s ListResourcesForTagOptionInput) GoString() string {
15626	return s.String()
15627}
15628
15629// Validate inspects the fields of the type to determine if they are valid.
15630func (s *ListResourcesForTagOptionInput) Validate() error {
15631	invalidParams := request.ErrInvalidParams{Context: "ListResourcesForTagOptionInput"}
15632	if s.TagOptionId == nil {
15633		invalidParams.Add(request.NewErrParamRequired("TagOptionId"))
15634	}
15635	if s.TagOptionId != nil && len(*s.TagOptionId) < 1 {
15636		invalidParams.Add(request.NewErrParamMinLen("TagOptionId", 1))
15637	}
15638
15639	if invalidParams.Len() > 0 {
15640		return invalidParams
15641	}
15642	return nil
15643}
15644
15645// SetPageSize sets the PageSize field's value.
15646func (s *ListResourcesForTagOptionInput) SetPageSize(v int64) *ListResourcesForTagOptionInput {
15647	s.PageSize = &v
15648	return s
15649}
15650
15651// SetPageToken sets the PageToken field's value.
15652func (s *ListResourcesForTagOptionInput) SetPageToken(v string) *ListResourcesForTagOptionInput {
15653	s.PageToken = &v
15654	return s
15655}
15656
15657// SetResourceType sets the ResourceType field's value.
15658func (s *ListResourcesForTagOptionInput) SetResourceType(v string) *ListResourcesForTagOptionInput {
15659	s.ResourceType = &v
15660	return s
15661}
15662
15663// SetTagOptionId sets the TagOptionId field's value.
15664func (s *ListResourcesForTagOptionInput) SetTagOptionId(v string) *ListResourcesForTagOptionInput {
15665	s.TagOptionId = &v
15666	return s
15667}
15668
15669type ListResourcesForTagOptionOutput struct {
15670	_ struct{} `type:"structure"`
15671
15672	// The page token for the next set of results. To retrieve the first set of
15673	// results, use null.
15674	PageToken *string `type:"string"`
15675
15676	// Information about the resources.
15677	ResourceDetails []*ResourceDetail `type:"list"`
15678}
15679
15680// String returns the string representation
15681func (s ListResourcesForTagOptionOutput) String() string {
15682	return awsutil.Prettify(s)
15683}
15684
15685// GoString returns the string representation
15686func (s ListResourcesForTagOptionOutput) GoString() string {
15687	return s.String()
15688}
15689
15690// SetPageToken sets the PageToken field's value.
15691func (s *ListResourcesForTagOptionOutput) SetPageToken(v string) *ListResourcesForTagOptionOutput {
15692	s.PageToken = &v
15693	return s
15694}
15695
15696// SetResourceDetails sets the ResourceDetails field's value.
15697func (s *ListResourcesForTagOptionOutput) SetResourceDetails(v []*ResourceDetail) *ListResourcesForTagOptionOutput {
15698	s.ResourceDetails = v
15699	return s
15700}
15701
15702type ListServiceActionsForProvisioningArtifactInput struct {
15703	_ struct{} `type:"structure"`
15704
15705	// The language code.
15706	//
15707	//    * en - English (default)
15708	//
15709	//    * jp - Japanese
15710	//
15711	//    * zh - Chinese
15712	AcceptLanguage *string `type:"string"`
15713
15714	// The maximum number of items to return with this call.
15715	PageSize *int64 `type:"integer"`
15716
15717	// The page token for the next set of results. To retrieve the first set of
15718	// results, use null.
15719	PageToken *string `type:"string"`
15720
15721	// The product identifier. For example, prod-abcdzk7xy33qa.
15722	//
15723	// ProductId is a required field
15724	ProductId *string `min:"1" type:"string" required:"true"`
15725
15726	// The identifier of the provisioning artifact. For example, pa-4abcdjnxjj6ne.
15727	//
15728	// ProvisioningArtifactId is a required field
15729	ProvisioningArtifactId *string `min:"1" type:"string" required:"true"`
15730}
15731
15732// String returns the string representation
15733func (s ListServiceActionsForProvisioningArtifactInput) String() string {
15734	return awsutil.Prettify(s)
15735}
15736
15737// GoString returns the string representation
15738func (s ListServiceActionsForProvisioningArtifactInput) GoString() string {
15739	return s.String()
15740}
15741
15742// Validate inspects the fields of the type to determine if they are valid.
15743func (s *ListServiceActionsForProvisioningArtifactInput) Validate() error {
15744	invalidParams := request.ErrInvalidParams{Context: "ListServiceActionsForProvisioningArtifactInput"}
15745	if s.ProductId == nil {
15746		invalidParams.Add(request.NewErrParamRequired("ProductId"))
15747	}
15748	if s.ProductId != nil && len(*s.ProductId) < 1 {
15749		invalidParams.Add(request.NewErrParamMinLen("ProductId", 1))
15750	}
15751	if s.ProvisioningArtifactId == nil {
15752		invalidParams.Add(request.NewErrParamRequired("ProvisioningArtifactId"))
15753	}
15754	if s.ProvisioningArtifactId != nil && len(*s.ProvisioningArtifactId) < 1 {
15755		invalidParams.Add(request.NewErrParamMinLen("ProvisioningArtifactId", 1))
15756	}
15757
15758	if invalidParams.Len() > 0 {
15759		return invalidParams
15760	}
15761	return nil
15762}
15763
15764// SetAcceptLanguage sets the AcceptLanguage field's value.
15765func (s *ListServiceActionsForProvisioningArtifactInput) SetAcceptLanguage(v string) *ListServiceActionsForProvisioningArtifactInput {
15766	s.AcceptLanguage = &v
15767	return s
15768}
15769
15770// SetPageSize sets the PageSize field's value.
15771func (s *ListServiceActionsForProvisioningArtifactInput) SetPageSize(v int64) *ListServiceActionsForProvisioningArtifactInput {
15772	s.PageSize = &v
15773	return s
15774}
15775
15776// SetPageToken sets the PageToken field's value.
15777func (s *ListServiceActionsForProvisioningArtifactInput) SetPageToken(v string) *ListServiceActionsForProvisioningArtifactInput {
15778	s.PageToken = &v
15779	return s
15780}
15781
15782// SetProductId sets the ProductId field's value.
15783func (s *ListServiceActionsForProvisioningArtifactInput) SetProductId(v string) *ListServiceActionsForProvisioningArtifactInput {
15784	s.ProductId = &v
15785	return s
15786}
15787
15788// SetProvisioningArtifactId sets the ProvisioningArtifactId field's value.
15789func (s *ListServiceActionsForProvisioningArtifactInput) SetProvisioningArtifactId(v string) *ListServiceActionsForProvisioningArtifactInput {
15790	s.ProvisioningArtifactId = &v
15791	return s
15792}
15793
15794type ListServiceActionsForProvisioningArtifactOutput struct {
15795	_ struct{} `type:"structure"`
15796
15797	// The page token to use to retrieve the next set of results. If there are no
15798	// additional results, this value is null.
15799	NextPageToken *string `type:"string"`
15800
15801	// An object containing information about the self-service actions associated
15802	// with the provisioning artifact.
15803	ServiceActionSummaries []*ServiceActionSummary `type:"list"`
15804}
15805
15806// String returns the string representation
15807func (s ListServiceActionsForProvisioningArtifactOutput) String() string {
15808	return awsutil.Prettify(s)
15809}
15810
15811// GoString returns the string representation
15812func (s ListServiceActionsForProvisioningArtifactOutput) GoString() string {
15813	return s.String()
15814}
15815
15816// SetNextPageToken sets the NextPageToken field's value.
15817func (s *ListServiceActionsForProvisioningArtifactOutput) SetNextPageToken(v string) *ListServiceActionsForProvisioningArtifactOutput {
15818	s.NextPageToken = &v
15819	return s
15820}
15821
15822// SetServiceActionSummaries sets the ServiceActionSummaries field's value.
15823func (s *ListServiceActionsForProvisioningArtifactOutput) SetServiceActionSummaries(v []*ServiceActionSummary) *ListServiceActionsForProvisioningArtifactOutput {
15824	s.ServiceActionSummaries = v
15825	return s
15826}
15827
15828type ListServiceActionsInput struct {
15829	_ struct{} `type:"structure"`
15830
15831	// The language code.
15832	//
15833	//    * en - English (default)
15834	//
15835	//    * jp - Japanese
15836	//
15837	//    * zh - Chinese
15838	AcceptLanguage *string `type:"string"`
15839
15840	// The maximum number of items to return with this call.
15841	PageSize *int64 `type:"integer"`
15842
15843	// The page token for the next set of results. To retrieve the first set of
15844	// results, use null.
15845	PageToken *string `type:"string"`
15846}
15847
15848// String returns the string representation
15849func (s ListServiceActionsInput) String() string {
15850	return awsutil.Prettify(s)
15851}
15852
15853// GoString returns the string representation
15854func (s ListServiceActionsInput) GoString() string {
15855	return s.String()
15856}
15857
15858// SetAcceptLanguage sets the AcceptLanguage field's value.
15859func (s *ListServiceActionsInput) SetAcceptLanguage(v string) *ListServiceActionsInput {
15860	s.AcceptLanguage = &v
15861	return s
15862}
15863
15864// SetPageSize sets the PageSize field's value.
15865func (s *ListServiceActionsInput) SetPageSize(v int64) *ListServiceActionsInput {
15866	s.PageSize = &v
15867	return s
15868}
15869
15870// SetPageToken sets the PageToken field's value.
15871func (s *ListServiceActionsInput) SetPageToken(v string) *ListServiceActionsInput {
15872	s.PageToken = &v
15873	return s
15874}
15875
15876type ListServiceActionsOutput struct {
15877	_ struct{} `type:"structure"`
15878
15879	// The page token to use to retrieve the next set of results. If there are no
15880	// additional results, this value is null.
15881	NextPageToken *string `type:"string"`
15882
15883	// An object containing information about the service actions associated with
15884	// the provisioning artifact.
15885	ServiceActionSummaries []*ServiceActionSummary `type:"list"`
15886}
15887
15888// String returns the string representation
15889func (s ListServiceActionsOutput) String() string {
15890	return awsutil.Prettify(s)
15891}
15892
15893// GoString returns the string representation
15894func (s ListServiceActionsOutput) GoString() string {
15895	return s.String()
15896}
15897
15898// SetNextPageToken sets the NextPageToken field's value.
15899func (s *ListServiceActionsOutput) SetNextPageToken(v string) *ListServiceActionsOutput {
15900	s.NextPageToken = &v
15901	return s
15902}
15903
15904// SetServiceActionSummaries sets the ServiceActionSummaries field's value.
15905func (s *ListServiceActionsOutput) SetServiceActionSummaries(v []*ServiceActionSummary) *ListServiceActionsOutput {
15906	s.ServiceActionSummaries = v
15907	return s
15908}
15909
15910type ListStackInstancesForProvisionedProductInput struct {
15911	_ struct{} `type:"structure"`
15912
15913	// The language code.
15914	//
15915	//    * en - English (default)
15916	//
15917	//    * jp - Japanese
15918	//
15919	//    * zh - Chinese
15920	AcceptLanguage *string `type:"string"`
15921
15922	// The maximum number of items to return with this call.
15923	PageSize *int64 `type:"integer"`
15924
15925	// The page token for the next set of results. To retrieve the first set of
15926	// results, use null.
15927	PageToken *string `type:"string"`
15928
15929	// The identifier of the provisioned product.
15930	//
15931	// ProvisionedProductId is a required field
15932	ProvisionedProductId *string `min:"1" type:"string" required:"true"`
15933}
15934
15935// String returns the string representation
15936func (s ListStackInstancesForProvisionedProductInput) String() string {
15937	return awsutil.Prettify(s)
15938}
15939
15940// GoString returns the string representation
15941func (s ListStackInstancesForProvisionedProductInput) GoString() string {
15942	return s.String()
15943}
15944
15945// Validate inspects the fields of the type to determine if they are valid.
15946func (s *ListStackInstancesForProvisionedProductInput) Validate() error {
15947	invalidParams := request.ErrInvalidParams{Context: "ListStackInstancesForProvisionedProductInput"}
15948	if s.ProvisionedProductId == nil {
15949		invalidParams.Add(request.NewErrParamRequired("ProvisionedProductId"))
15950	}
15951	if s.ProvisionedProductId != nil && len(*s.ProvisionedProductId) < 1 {
15952		invalidParams.Add(request.NewErrParamMinLen("ProvisionedProductId", 1))
15953	}
15954
15955	if invalidParams.Len() > 0 {
15956		return invalidParams
15957	}
15958	return nil
15959}
15960
15961// SetAcceptLanguage sets the AcceptLanguage field's value.
15962func (s *ListStackInstancesForProvisionedProductInput) SetAcceptLanguage(v string) *ListStackInstancesForProvisionedProductInput {
15963	s.AcceptLanguage = &v
15964	return s
15965}
15966
15967// SetPageSize sets the PageSize field's value.
15968func (s *ListStackInstancesForProvisionedProductInput) SetPageSize(v int64) *ListStackInstancesForProvisionedProductInput {
15969	s.PageSize = &v
15970	return s
15971}
15972
15973// SetPageToken sets the PageToken field's value.
15974func (s *ListStackInstancesForProvisionedProductInput) SetPageToken(v string) *ListStackInstancesForProvisionedProductInput {
15975	s.PageToken = &v
15976	return s
15977}
15978
15979// SetProvisionedProductId sets the ProvisionedProductId field's value.
15980func (s *ListStackInstancesForProvisionedProductInput) SetProvisionedProductId(v string) *ListStackInstancesForProvisionedProductInput {
15981	s.ProvisionedProductId = &v
15982	return s
15983}
15984
15985type ListStackInstancesForProvisionedProductOutput struct {
15986	_ struct{} `type:"structure"`
15987
15988	// The page token to use to retrieve the next set of results. If there are no
15989	// additional results, this value is null.
15990	NextPageToken *string `type:"string"`
15991
15992	// List of stack instances.
15993	StackInstances []*StackInstance `type:"list"`
15994}
15995
15996// String returns the string representation
15997func (s ListStackInstancesForProvisionedProductOutput) String() string {
15998	return awsutil.Prettify(s)
15999}
16000
16001// GoString returns the string representation
16002func (s ListStackInstancesForProvisionedProductOutput) GoString() string {
16003	return s.String()
16004}
16005
16006// SetNextPageToken sets the NextPageToken field's value.
16007func (s *ListStackInstancesForProvisionedProductOutput) SetNextPageToken(v string) *ListStackInstancesForProvisionedProductOutput {
16008	s.NextPageToken = &v
16009	return s
16010}
16011
16012// SetStackInstances sets the StackInstances field's value.
16013func (s *ListStackInstancesForProvisionedProductOutput) SetStackInstances(v []*StackInstance) *ListStackInstancesForProvisionedProductOutput {
16014	s.StackInstances = v
16015	return s
16016}
16017
16018// Filters to use when listing TagOptions.
16019type ListTagOptionsFilters struct {
16020	_ struct{} `type:"structure"`
16021
16022	// The active state.
16023	Active *bool `type:"boolean"`
16024
16025	// The TagOption key.
16026	Key *string `min:"1" type:"string"`
16027
16028	// The TagOption value.
16029	Value *string `min:"1" type:"string"`
16030}
16031
16032// String returns the string representation
16033func (s ListTagOptionsFilters) String() string {
16034	return awsutil.Prettify(s)
16035}
16036
16037// GoString returns the string representation
16038func (s ListTagOptionsFilters) GoString() string {
16039	return s.String()
16040}
16041
16042// Validate inspects the fields of the type to determine if they are valid.
16043func (s *ListTagOptionsFilters) Validate() error {
16044	invalidParams := request.ErrInvalidParams{Context: "ListTagOptionsFilters"}
16045	if s.Key != nil && len(*s.Key) < 1 {
16046		invalidParams.Add(request.NewErrParamMinLen("Key", 1))
16047	}
16048	if s.Value != nil && len(*s.Value) < 1 {
16049		invalidParams.Add(request.NewErrParamMinLen("Value", 1))
16050	}
16051
16052	if invalidParams.Len() > 0 {
16053		return invalidParams
16054	}
16055	return nil
16056}
16057
16058// SetActive sets the Active field's value.
16059func (s *ListTagOptionsFilters) SetActive(v bool) *ListTagOptionsFilters {
16060	s.Active = &v
16061	return s
16062}
16063
16064// SetKey sets the Key field's value.
16065func (s *ListTagOptionsFilters) SetKey(v string) *ListTagOptionsFilters {
16066	s.Key = &v
16067	return s
16068}
16069
16070// SetValue sets the Value field's value.
16071func (s *ListTagOptionsFilters) SetValue(v string) *ListTagOptionsFilters {
16072	s.Value = &v
16073	return s
16074}
16075
16076type ListTagOptionsInput struct {
16077	_ struct{} `type:"structure"`
16078
16079	// The search filters. If no search filters are specified, the output includes
16080	// all TagOptions.
16081	Filters *ListTagOptionsFilters `type:"structure"`
16082
16083	// The maximum number of items to return with this call.
16084	PageSize *int64 `type:"integer"`
16085
16086	// The page token for the next set of results. To retrieve the first set of
16087	// results, use null.
16088	PageToken *string `type:"string"`
16089}
16090
16091// String returns the string representation
16092func (s ListTagOptionsInput) String() string {
16093	return awsutil.Prettify(s)
16094}
16095
16096// GoString returns the string representation
16097func (s ListTagOptionsInput) GoString() string {
16098	return s.String()
16099}
16100
16101// Validate inspects the fields of the type to determine if they are valid.
16102func (s *ListTagOptionsInput) Validate() error {
16103	invalidParams := request.ErrInvalidParams{Context: "ListTagOptionsInput"}
16104	if s.Filters != nil {
16105		if err := s.Filters.Validate(); err != nil {
16106			invalidParams.AddNested("Filters", err.(request.ErrInvalidParams))
16107		}
16108	}
16109
16110	if invalidParams.Len() > 0 {
16111		return invalidParams
16112	}
16113	return nil
16114}
16115
16116// SetFilters sets the Filters field's value.
16117func (s *ListTagOptionsInput) SetFilters(v *ListTagOptionsFilters) *ListTagOptionsInput {
16118	s.Filters = v
16119	return s
16120}
16121
16122// SetPageSize sets the PageSize field's value.
16123func (s *ListTagOptionsInput) SetPageSize(v int64) *ListTagOptionsInput {
16124	s.PageSize = &v
16125	return s
16126}
16127
16128// SetPageToken sets the PageToken field's value.
16129func (s *ListTagOptionsInput) SetPageToken(v string) *ListTagOptionsInput {
16130	s.PageToken = &v
16131	return s
16132}
16133
16134type ListTagOptionsOutput struct {
16135	_ struct{} `type:"structure"`
16136
16137	// The page token for the next set of results. To retrieve the first set of
16138	// results, use null.
16139	PageToken *string `type:"string"`
16140
16141	// Information about the TagOptions.
16142	TagOptionDetails []*TagOptionDetail `type:"list"`
16143}
16144
16145// String returns the string representation
16146func (s ListTagOptionsOutput) String() string {
16147	return awsutil.Prettify(s)
16148}
16149
16150// GoString returns the string representation
16151func (s ListTagOptionsOutput) GoString() string {
16152	return s.String()
16153}
16154
16155// SetPageToken sets the PageToken field's value.
16156func (s *ListTagOptionsOutput) SetPageToken(v string) *ListTagOptionsOutput {
16157	s.PageToken = &v
16158	return s
16159}
16160
16161// SetTagOptionDetails sets the TagOptionDetails field's value.
16162func (s *ListTagOptionsOutput) SetTagOptionDetails(v []*TagOptionDetail) *ListTagOptionsOutput {
16163	s.TagOptionDetails = v
16164	return s
16165}
16166
16167// The operation is not supported.
16168type OperationNotSupportedException struct {
16169	_            struct{}                  `type:"structure"`
16170	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
16171
16172	Message_ *string `locationName:"message" type:"string"`
16173}
16174
16175// String returns the string representation
16176func (s OperationNotSupportedException) String() string {
16177	return awsutil.Prettify(s)
16178}
16179
16180// GoString returns the string representation
16181func (s OperationNotSupportedException) GoString() string {
16182	return s.String()
16183}
16184
16185func newErrorOperationNotSupportedException(v protocol.ResponseMetadata) error {
16186	return &OperationNotSupportedException{
16187		RespMetadata: v,
16188	}
16189}
16190
16191// Code returns the exception type name.
16192func (s *OperationNotSupportedException) Code() string {
16193	return "OperationNotSupportedException"
16194}
16195
16196// Message returns the exception's message.
16197func (s *OperationNotSupportedException) Message() string {
16198	if s.Message_ != nil {
16199		return *s.Message_
16200	}
16201	return ""
16202}
16203
16204// OrigErr always returns nil, satisfies awserr.Error interface.
16205func (s *OperationNotSupportedException) OrigErr() error {
16206	return nil
16207}
16208
16209func (s *OperationNotSupportedException) Error() string {
16210	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
16211}
16212
16213// Status code returns the HTTP status code for the request's response error.
16214func (s *OperationNotSupportedException) StatusCode() int {
16215	return s.RespMetadata.StatusCode
16216}
16217
16218// RequestID returns the service's response RequestID for request.
16219func (s *OperationNotSupportedException) RequestID() string {
16220	return s.RespMetadata.RequestID
16221}
16222
16223// Information about the organization node.
16224type OrganizationNode struct {
16225	_ struct{} `type:"structure"`
16226
16227	// The organization node type.
16228	Type *string `type:"string" enum:"OrganizationNodeType"`
16229
16230	// The identifier of the organization node.
16231	Value *string `type:"string"`
16232}
16233
16234// String returns the string representation
16235func (s OrganizationNode) String() string {
16236	return awsutil.Prettify(s)
16237}
16238
16239// GoString returns the string representation
16240func (s OrganizationNode) GoString() string {
16241	return s.String()
16242}
16243
16244// SetType sets the Type field's value.
16245func (s *OrganizationNode) SetType(v string) *OrganizationNode {
16246	s.Type = &v
16247	return s
16248}
16249
16250// SetValue sets the Value field's value.
16251func (s *OrganizationNode) SetValue(v string) *OrganizationNode {
16252	s.Value = &v
16253	return s
16254}
16255
16256// The constraints that the administrator has put on the parameter.
16257type ParameterConstraints struct {
16258	_ struct{} `type:"structure"`
16259
16260	// The values that the administrator has allowed for the parameter.
16261	AllowedValues []*string `type:"list"`
16262}
16263
16264// String returns the string representation
16265func (s ParameterConstraints) String() string {
16266	return awsutil.Prettify(s)
16267}
16268
16269// GoString returns the string representation
16270func (s ParameterConstraints) GoString() string {
16271	return s.String()
16272}
16273
16274// SetAllowedValues sets the AllowedValues field's value.
16275func (s *ParameterConstraints) SetAllowedValues(v []*string) *ParameterConstraints {
16276	s.AllowedValues = v
16277	return s
16278}
16279
16280// Information about a portfolio.
16281type PortfolioDetail struct {
16282	_ struct{} `type:"structure"`
16283
16284	// The ARN assigned to the portfolio.
16285	ARN *string `min:"1" type:"string"`
16286
16287	// The UTC time stamp of the creation time.
16288	CreatedTime *time.Time `type:"timestamp"`
16289
16290	// The description of the portfolio.
16291	Description *string `type:"string"`
16292
16293	// The name to use for display purposes.
16294	DisplayName *string `min:"1" type:"string"`
16295
16296	// The portfolio identifier.
16297	Id *string `min:"1" type:"string"`
16298
16299	// The name of the portfolio provider.
16300	ProviderName *string `min:"1" type:"string"`
16301}
16302
16303// String returns the string representation
16304func (s PortfolioDetail) String() string {
16305	return awsutil.Prettify(s)
16306}
16307
16308// GoString returns the string representation
16309func (s PortfolioDetail) GoString() string {
16310	return s.String()
16311}
16312
16313// SetARN sets the ARN field's value.
16314func (s *PortfolioDetail) SetARN(v string) *PortfolioDetail {
16315	s.ARN = &v
16316	return s
16317}
16318
16319// SetCreatedTime sets the CreatedTime field's value.
16320func (s *PortfolioDetail) SetCreatedTime(v time.Time) *PortfolioDetail {
16321	s.CreatedTime = &v
16322	return s
16323}
16324
16325// SetDescription sets the Description field's value.
16326func (s *PortfolioDetail) SetDescription(v string) *PortfolioDetail {
16327	s.Description = &v
16328	return s
16329}
16330
16331// SetDisplayName sets the DisplayName field's value.
16332func (s *PortfolioDetail) SetDisplayName(v string) *PortfolioDetail {
16333	s.DisplayName = &v
16334	return s
16335}
16336
16337// SetId sets the Id field's value.
16338func (s *PortfolioDetail) SetId(v string) *PortfolioDetail {
16339	s.Id = &v
16340	return s
16341}
16342
16343// SetProviderName sets the ProviderName field's value.
16344func (s *PortfolioDetail) SetProviderName(v string) *PortfolioDetail {
16345	s.ProviderName = &v
16346	return s
16347}
16348
16349// Information about a principal.
16350type Principal struct {
16351	_ struct{} `type:"structure"`
16352
16353	// The ARN of the principal (IAM user, role, or group).
16354	PrincipalARN *string `min:"1" type:"string"`
16355
16356	// The principal type. The supported value is IAM.
16357	PrincipalType *string `type:"string" enum:"PrincipalType"`
16358}
16359
16360// String returns the string representation
16361func (s Principal) String() string {
16362	return awsutil.Prettify(s)
16363}
16364
16365// GoString returns the string representation
16366func (s Principal) GoString() string {
16367	return s.String()
16368}
16369
16370// SetPrincipalARN sets the PrincipalARN field's value.
16371func (s *Principal) SetPrincipalARN(v string) *Principal {
16372	s.PrincipalARN = &v
16373	return s
16374}
16375
16376// SetPrincipalType sets the PrincipalType field's value.
16377func (s *Principal) SetPrincipalType(v string) *Principal {
16378	s.PrincipalType = &v
16379	return s
16380}
16381
16382// A single product view aggregation value/count pair, containing metadata about
16383// each product to which the calling user has access.
16384type ProductViewAggregationValue struct {
16385	_ struct{} `type:"structure"`
16386
16387	// An approximate count of the products that match the value.
16388	ApproximateCount *int64 `type:"integer"`
16389
16390	// The value of the product view aggregation.
16391	Value *string `type:"string"`
16392}
16393
16394// String returns the string representation
16395func (s ProductViewAggregationValue) String() string {
16396	return awsutil.Prettify(s)
16397}
16398
16399// GoString returns the string representation
16400func (s ProductViewAggregationValue) GoString() string {
16401	return s.String()
16402}
16403
16404// SetApproximateCount sets the ApproximateCount field's value.
16405func (s *ProductViewAggregationValue) SetApproximateCount(v int64) *ProductViewAggregationValue {
16406	s.ApproximateCount = &v
16407	return s
16408}
16409
16410// SetValue sets the Value field's value.
16411func (s *ProductViewAggregationValue) SetValue(v string) *ProductViewAggregationValue {
16412	s.Value = &v
16413	return s
16414}
16415
16416// Information about a product view.
16417type ProductViewDetail struct {
16418	_ struct{} `type:"structure"`
16419
16420	// The UTC time stamp of the creation time.
16421	CreatedTime *time.Time `type:"timestamp"`
16422
16423	// The ARN of the product.
16424	ProductARN *string `min:"1" type:"string"`
16425
16426	// Summary information about the product view.
16427	ProductViewSummary *ProductViewSummary `type:"structure"`
16428
16429	// The status of the product.
16430	//
16431	//    * AVAILABLE - The product is ready for use.
16432	//
16433	//    * CREATING - Product creation has started; the product is not ready for
16434	//    use.
16435	//
16436	//    * FAILED - An action failed.
16437	Status *string `type:"string" enum:"Status"`
16438}
16439
16440// String returns the string representation
16441func (s ProductViewDetail) String() string {
16442	return awsutil.Prettify(s)
16443}
16444
16445// GoString returns the string representation
16446func (s ProductViewDetail) GoString() string {
16447	return s.String()
16448}
16449
16450// SetCreatedTime sets the CreatedTime field's value.
16451func (s *ProductViewDetail) SetCreatedTime(v time.Time) *ProductViewDetail {
16452	s.CreatedTime = &v
16453	return s
16454}
16455
16456// SetProductARN sets the ProductARN field's value.
16457func (s *ProductViewDetail) SetProductARN(v string) *ProductViewDetail {
16458	s.ProductARN = &v
16459	return s
16460}
16461
16462// SetProductViewSummary sets the ProductViewSummary field's value.
16463func (s *ProductViewDetail) SetProductViewSummary(v *ProductViewSummary) *ProductViewDetail {
16464	s.ProductViewSummary = v
16465	return s
16466}
16467
16468// SetStatus sets the Status field's value.
16469func (s *ProductViewDetail) SetStatus(v string) *ProductViewDetail {
16470	s.Status = &v
16471	return s
16472}
16473
16474// Summary information about a product view.
16475type ProductViewSummary struct {
16476	_ struct{} `type:"structure"`
16477
16478	// The distributor of the product. Contact the product administrator for the
16479	// significance of this value.
16480	Distributor *string `type:"string"`
16481
16482	// Indicates whether the product has a default path. If the product does not
16483	// have a default path, call ListLaunchPaths to disambiguate between paths.
16484	// Otherwise, ListLaunchPaths is not required, and the output of ProductViewSummary
16485	// can be used directly with DescribeProvisioningParameters.
16486	HasDefaultPath *bool `type:"boolean"`
16487
16488	// The product view identifier.
16489	Id *string `min:"1" type:"string"`
16490
16491	// The name of the product.
16492	Name *string `type:"string"`
16493
16494	// The owner of the product. Contact the product administrator for the significance
16495	// of this value.
16496	Owner *string `type:"string"`
16497
16498	// The product identifier.
16499	ProductId *string `min:"1" type:"string"`
16500
16501	// Short description of the product.
16502	ShortDescription *string `type:"string"`
16503
16504	// The description of the support for this Product.
16505	SupportDescription *string `type:"string"`
16506
16507	// The email contact information to obtain support for this Product.
16508	SupportEmail *string `type:"string"`
16509
16510	// The URL information to obtain support for this Product.
16511	SupportUrl *string `type:"string"`
16512
16513	// The product type. Contact the product administrator for the significance
16514	// of this value. If this value is MARKETPLACE, the product was created by AWS
16515	// Marketplace.
16516	Type *string `type:"string" enum:"ProductType"`
16517}
16518
16519// String returns the string representation
16520func (s ProductViewSummary) String() string {
16521	return awsutil.Prettify(s)
16522}
16523
16524// GoString returns the string representation
16525func (s ProductViewSummary) GoString() string {
16526	return s.String()
16527}
16528
16529// SetDistributor sets the Distributor field's value.
16530func (s *ProductViewSummary) SetDistributor(v string) *ProductViewSummary {
16531	s.Distributor = &v
16532	return s
16533}
16534
16535// SetHasDefaultPath sets the HasDefaultPath field's value.
16536func (s *ProductViewSummary) SetHasDefaultPath(v bool) *ProductViewSummary {
16537	s.HasDefaultPath = &v
16538	return s
16539}
16540
16541// SetId sets the Id field's value.
16542func (s *ProductViewSummary) SetId(v string) *ProductViewSummary {
16543	s.Id = &v
16544	return s
16545}
16546
16547// SetName sets the Name field's value.
16548func (s *ProductViewSummary) SetName(v string) *ProductViewSummary {
16549	s.Name = &v
16550	return s
16551}
16552
16553// SetOwner sets the Owner field's value.
16554func (s *ProductViewSummary) SetOwner(v string) *ProductViewSummary {
16555	s.Owner = &v
16556	return s
16557}
16558
16559// SetProductId sets the ProductId field's value.
16560func (s *ProductViewSummary) SetProductId(v string) *ProductViewSummary {
16561	s.ProductId = &v
16562	return s
16563}
16564
16565// SetShortDescription sets the ShortDescription field's value.
16566func (s *ProductViewSummary) SetShortDescription(v string) *ProductViewSummary {
16567	s.ShortDescription = &v
16568	return s
16569}
16570
16571// SetSupportDescription sets the SupportDescription field's value.
16572func (s *ProductViewSummary) SetSupportDescription(v string) *ProductViewSummary {
16573	s.SupportDescription = &v
16574	return s
16575}
16576
16577// SetSupportEmail sets the SupportEmail field's value.
16578func (s *ProductViewSummary) SetSupportEmail(v string) *ProductViewSummary {
16579	s.SupportEmail = &v
16580	return s
16581}
16582
16583// SetSupportUrl sets the SupportUrl field's value.
16584func (s *ProductViewSummary) SetSupportUrl(v string) *ProductViewSummary {
16585	s.SupportUrl = &v
16586	return s
16587}
16588
16589// SetType sets the Type field's value.
16590func (s *ProductViewSummary) SetType(v string) *ProductViewSummary {
16591	s.Type = &v
16592	return s
16593}
16594
16595type ProvisionProductInput struct {
16596	_ struct{} `type:"structure"`
16597
16598	// The language code.
16599	//
16600	//    * en - English (default)
16601	//
16602	//    * jp - Japanese
16603	//
16604	//    * zh - Chinese
16605	AcceptLanguage *string `type:"string"`
16606
16607	// Passed to CloudFormation. The SNS topic ARNs to which to publish stack-related
16608	// events.
16609	NotificationArns []*string `type:"list"`
16610
16611	// The path identifier of the product. This value is optional if the product
16612	// has a default path, and required if the product has more than one path. To
16613	// list the paths for a product, use ListLaunchPaths. You must provide the name
16614	// or ID, but not both.
16615	PathId *string `min:"1" type:"string"`
16616
16617	// The name of the path. You must provide the name or ID, but not both.
16618	PathName *string `min:"1" type:"string"`
16619
16620	// The product identifier. You must provide the name or ID, but not both.
16621	ProductId *string `min:"1" type:"string"`
16622
16623	// The name of the product. You must provide the name or ID, but not both.
16624	ProductName *string `type:"string"`
16625
16626	// An idempotency token that uniquely identifies the provisioning request.
16627	ProvisionToken *string `min:"1" type:"string" idempotencyToken:"true"`
16628
16629	// A user-friendly name for the provisioned product. This value must be unique
16630	// for the AWS account and cannot be updated after the product is provisioned.
16631	//
16632	// ProvisionedProductName is a required field
16633	ProvisionedProductName *string `min:"1" type:"string" required:"true"`
16634
16635	// The identifier of the provisioning artifact. You must provide the name or
16636	// ID, but not both.
16637	ProvisioningArtifactId *string `min:"1" type:"string"`
16638
16639	// The name of the provisioning artifact. You must provide the name or ID, but
16640	// not both.
16641	ProvisioningArtifactName *string `type:"string"`
16642
16643	// Parameters specified by the administrator that are required for provisioning
16644	// the product.
16645	ProvisioningParameters []*ProvisioningParameter `type:"list"`
16646
16647	// An object that contains information about the provisioning preferences for
16648	// a stack set.
16649	ProvisioningPreferences *ProvisioningPreferences `type:"structure"`
16650
16651	// One or more tags.
16652	Tags []*Tag `type:"list"`
16653}
16654
16655// String returns the string representation
16656func (s ProvisionProductInput) String() string {
16657	return awsutil.Prettify(s)
16658}
16659
16660// GoString returns the string representation
16661func (s ProvisionProductInput) GoString() string {
16662	return s.String()
16663}
16664
16665// Validate inspects the fields of the type to determine if they are valid.
16666func (s *ProvisionProductInput) Validate() error {
16667	invalidParams := request.ErrInvalidParams{Context: "ProvisionProductInput"}
16668	if s.PathId != nil && len(*s.PathId) < 1 {
16669		invalidParams.Add(request.NewErrParamMinLen("PathId", 1))
16670	}
16671	if s.PathName != nil && len(*s.PathName) < 1 {
16672		invalidParams.Add(request.NewErrParamMinLen("PathName", 1))
16673	}
16674	if s.ProductId != nil && len(*s.ProductId) < 1 {
16675		invalidParams.Add(request.NewErrParamMinLen("ProductId", 1))
16676	}
16677	if s.ProvisionToken != nil && len(*s.ProvisionToken) < 1 {
16678		invalidParams.Add(request.NewErrParamMinLen("ProvisionToken", 1))
16679	}
16680	if s.ProvisionedProductName == nil {
16681		invalidParams.Add(request.NewErrParamRequired("ProvisionedProductName"))
16682	}
16683	if s.ProvisionedProductName != nil && len(*s.ProvisionedProductName) < 1 {
16684		invalidParams.Add(request.NewErrParamMinLen("ProvisionedProductName", 1))
16685	}
16686	if s.ProvisioningArtifactId != nil && len(*s.ProvisioningArtifactId) < 1 {
16687		invalidParams.Add(request.NewErrParamMinLen("ProvisioningArtifactId", 1))
16688	}
16689	if s.ProvisioningParameters != nil {
16690		for i, v := range s.ProvisioningParameters {
16691			if v == nil {
16692				continue
16693			}
16694			if err := v.Validate(); err != nil {
16695				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "ProvisioningParameters", i), err.(request.ErrInvalidParams))
16696			}
16697		}
16698	}
16699	if s.ProvisioningPreferences != nil {
16700		if err := s.ProvisioningPreferences.Validate(); err != nil {
16701			invalidParams.AddNested("ProvisioningPreferences", err.(request.ErrInvalidParams))
16702		}
16703	}
16704	if s.Tags != nil {
16705		for i, v := range s.Tags {
16706			if v == nil {
16707				continue
16708			}
16709			if err := v.Validate(); err != nil {
16710				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams))
16711			}
16712		}
16713	}
16714
16715	if invalidParams.Len() > 0 {
16716		return invalidParams
16717	}
16718	return nil
16719}
16720
16721// SetAcceptLanguage sets the AcceptLanguage field's value.
16722func (s *ProvisionProductInput) SetAcceptLanguage(v string) *ProvisionProductInput {
16723	s.AcceptLanguage = &v
16724	return s
16725}
16726
16727// SetNotificationArns sets the NotificationArns field's value.
16728func (s *ProvisionProductInput) SetNotificationArns(v []*string) *ProvisionProductInput {
16729	s.NotificationArns = v
16730	return s
16731}
16732
16733// SetPathId sets the PathId field's value.
16734func (s *ProvisionProductInput) SetPathId(v string) *ProvisionProductInput {
16735	s.PathId = &v
16736	return s
16737}
16738
16739// SetPathName sets the PathName field's value.
16740func (s *ProvisionProductInput) SetPathName(v string) *ProvisionProductInput {
16741	s.PathName = &v
16742	return s
16743}
16744
16745// SetProductId sets the ProductId field's value.
16746func (s *ProvisionProductInput) SetProductId(v string) *ProvisionProductInput {
16747	s.ProductId = &v
16748	return s
16749}
16750
16751// SetProductName sets the ProductName field's value.
16752func (s *ProvisionProductInput) SetProductName(v string) *ProvisionProductInput {
16753	s.ProductName = &v
16754	return s
16755}
16756
16757// SetProvisionToken sets the ProvisionToken field's value.
16758func (s *ProvisionProductInput) SetProvisionToken(v string) *ProvisionProductInput {
16759	s.ProvisionToken = &v
16760	return s
16761}
16762
16763// SetProvisionedProductName sets the ProvisionedProductName field's value.
16764func (s *ProvisionProductInput) SetProvisionedProductName(v string) *ProvisionProductInput {
16765	s.ProvisionedProductName = &v
16766	return s
16767}
16768
16769// SetProvisioningArtifactId sets the ProvisioningArtifactId field's value.
16770func (s *ProvisionProductInput) SetProvisioningArtifactId(v string) *ProvisionProductInput {
16771	s.ProvisioningArtifactId = &v
16772	return s
16773}
16774
16775// SetProvisioningArtifactName sets the ProvisioningArtifactName field's value.
16776func (s *ProvisionProductInput) SetProvisioningArtifactName(v string) *ProvisionProductInput {
16777	s.ProvisioningArtifactName = &v
16778	return s
16779}
16780
16781// SetProvisioningParameters sets the ProvisioningParameters field's value.
16782func (s *ProvisionProductInput) SetProvisioningParameters(v []*ProvisioningParameter) *ProvisionProductInput {
16783	s.ProvisioningParameters = v
16784	return s
16785}
16786
16787// SetProvisioningPreferences sets the ProvisioningPreferences field's value.
16788func (s *ProvisionProductInput) SetProvisioningPreferences(v *ProvisioningPreferences) *ProvisionProductInput {
16789	s.ProvisioningPreferences = v
16790	return s
16791}
16792
16793// SetTags sets the Tags field's value.
16794func (s *ProvisionProductInput) SetTags(v []*Tag) *ProvisionProductInput {
16795	s.Tags = v
16796	return s
16797}
16798
16799type ProvisionProductOutput struct {
16800	_ struct{} `type:"structure"`
16801
16802	// Information about the result of provisioning the product.
16803	RecordDetail *RecordDetail `type:"structure"`
16804}
16805
16806// String returns the string representation
16807func (s ProvisionProductOutput) String() string {
16808	return awsutil.Prettify(s)
16809}
16810
16811// GoString returns the string representation
16812func (s ProvisionProductOutput) GoString() string {
16813	return s.String()
16814}
16815
16816// SetRecordDetail sets the RecordDetail field's value.
16817func (s *ProvisionProductOutput) SetRecordDetail(v *RecordDetail) *ProvisionProductOutput {
16818	s.RecordDetail = v
16819	return s
16820}
16821
16822// Information about a provisioned product.
16823type ProvisionedProductAttribute struct {
16824	_ struct{} `type:"structure"`
16825
16826	// The ARN of the provisioned product.
16827	Arn *string `min:"1" type:"string"`
16828
16829	// The UTC time stamp of the creation time.
16830	CreatedTime *time.Time `type:"timestamp"`
16831
16832	// The identifier of the provisioned product.
16833	Id *string `min:"1" type:"string"`
16834
16835	// A unique identifier that you provide to ensure idempotency. If multiple requests
16836	// differ only by the idempotency token, the same response is returned for each
16837	// repeated request.
16838	IdempotencyToken *string `min:"1" type:"string"`
16839
16840	// The record identifier of the last request performed on this provisioned product
16841	// of the following types:
16842	//
16843	//    * ProvisionedProduct
16844	//
16845	//    * UpdateProvisionedProduct
16846	//
16847	//    * ExecuteProvisionedProductPlan
16848	//
16849	//    * TerminateProvisionedProduct
16850	LastProvisioningRecordId *string `min:"1" type:"string"`
16851
16852	// The record identifier of the last request performed on this provisioned product.
16853	LastRecordId *string `min:"1" type:"string"`
16854
16855	// The record identifier of the last successful request performed on this provisioned
16856	// product of the following types:
16857	//
16858	//    * ProvisionedProduct
16859	//
16860	//    * UpdateProvisionedProduct
16861	//
16862	//    * ExecuteProvisionedProductPlan
16863	//
16864	//    * TerminateProvisionedProduct
16865	LastSuccessfulProvisioningRecordId *string `min:"1" type:"string"`
16866
16867	// The user-friendly name of the provisioned product.
16868	Name *string `min:"1" type:"string"`
16869
16870	// The assigned identifier for the resource, such as an EC2 instance ID or an
16871	// S3 bucket name.
16872	PhysicalId *string `type:"string"`
16873
16874	// The product identifier.
16875	ProductId *string `min:"1" type:"string"`
16876
16877	// The name of the product.
16878	ProductName *string `type:"string"`
16879
16880	// The identifier of the provisioning artifact.
16881	ProvisioningArtifactId *string `min:"1" type:"string"`
16882
16883	// The name of the provisioning artifact.
16884	ProvisioningArtifactName *string `type:"string"`
16885
16886	// The current status of the provisioned product.
16887	//
16888	//    * AVAILABLE - Stable state, ready to perform any operation. The most recent
16889	//    operation succeeded and completed.
16890	//
16891	//    * UNDER_CHANGE - Transitive state. Operations performed might not have
16892	//    valid results. Wait for an AVAILABLE status before performing operations.
16893	//
16894	//    * TAINTED - Stable state, ready to perform any operation. The stack has
16895	//    completed the requested operation but is not exactly what was requested.
16896	//    For example, a request to update to a new version failed and the stack
16897	//    rolled back to the current version.
16898	//
16899	//    * ERROR - An unexpected error occurred. The provisioned product exists
16900	//    but the stack is not running. For example, CloudFormation received a parameter
16901	//    value that was not valid and could not launch the stack.
16902	//
16903	//    * PLAN_IN_PROGRESS - Transitive state. The plan operations were performed
16904	//    to provision a new product, but resources have not yet been created. After
16905	//    reviewing the list of resources to be created, execute the plan. Wait
16906	//    for an AVAILABLE status before performing operations.
16907	Status *string `type:"string" enum:"ProvisionedProductStatus"`
16908
16909	// The current status message of the provisioned product.
16910	StatusMessage *string `type:"string"`
16911
16912	// One or more tags.
16913	Tags []*Tag `type:"list"`
16914
16915	// The type of provisioned product. The supported values are CFN_STACK and CFN_STACKSET.
16916	Type *string `type:"string"`
16917
16918	// The Amazon Resource Name (ARN) of the IAM user.
16919	UserArn *string `type:"string"`
16920
16921	// The ARN of the IAM user in the session. This ARN might contain a session
16922	// ID.
16923	UserArnSession *string `type:"string"`
16924}
16925
16926// String returns the string representation
16927func (s ProvisionedProductAttribute) String() string {
16928	return awsutil.Prettify(s)
16929}
16930
16931// GoString returns the string representation
16932func (s ProvisionedProductAttribute) GoString() string {
16933	return s.String()
16934}
16935
16936// SetArn sets the Arn field's value.
16937func (s *ProvisionedProductAttribute) SetArn(v string) *ProvisionedProductAttribute {
16938	s.Arn = &v
16939	return s
16940}
16941
16942// SetCreatedTime sets the CreatedTime field's value.
16943func (s *ProvisionedProductAttribute) SetCreatedTime(v time.Time) *ProvisionedProductAttribute {
16944	s.CreatedTime = &v
16945	return s
16946}
16947
16948// SetId sets the Id field's value.
16949func (s *ProvisionedProductAttribute) SetId(v string) *ProvisionedProductAttribute {
16950	s.Id = &v
16951	return s
16952}
16953
16954// SetIdempotencyToken sets the IdempotencyToken field's value.
16955func (s *ProvisionedProductAttribute) SetIdempotencyToken(v string) *ProvisionedProductAttribute {
16956	s.IdempotencyToken = &v
16957	return s
16958}
16959
16960// SetLastProvisioningRecordId sets the LastProvisioningRecordId field's value.
16961func (s *ProvisionedProductAttribute) SetLastProvisioningRecordId(v string) *ProvisionedProductAttribute {
16962	s.LastProvisioningRecordId = &v
16963	return s
16964}
16965
16966// SetLastRecordId sets the LastRecordId field's value.
16967func (s *ProvisionedProductAttribute) SetLastRecordId(v string) *ProvisionedProductAttribute {
16968	s.LastRecordId = &v
16969	return s
16970}
16971
16972// SetLastSuccessfulProvisioningRecordId sets the LastSuccessfulProvisioningRecordId field's value.
16973func (s *ProvisionedProductAttribute) SetLastSuccessfulProvisioningRecordId(v string) *ProvisionedProductAttribute {
16974	s.LastSuccessfulProvisioningRecordId = &v
16975	return s
16976}
16977
16978// SetName sets the Name field's value.
16979func (s *ProvisionedProductAttribute) SetName(v string) *ProvisionedProductAttribute {
16980	s.Name = &v
16981	return s
16982}
16983
16984// SetPhysicalId sets the PhysicalId field's value.
16985func (s *ProvisionedProductAttribute) SetPhysicalId(v string) *ProvisionedProductAttribute {
16986	s.PhysicalId = &v
16987	return s
16988}
16989
16990// SetProductId sets the ProductId field's value.
16991func (s *ProvisionedProductAttribute) SetProductId(v string) *ProvisionedProductAttribute {
16992	s.ProductId = &v
16993	return s
16994}
16995
16996// SetProductName sets the ProductName field's value.
16997func (s *ProvisionedProductAttribute) SetProductName(v string) *ProvisionedProductAttribute {
16998	s.ProductName = &v
16999	return s
17000}
17001
17002// SetProvisioningArtifactId sets the ProvisioningArtifactId field's value.
17003func (s *ProvisionedProductAttribute) SetProvisioningArtifactId(v string) *ProvisionedProductAttribute {
17004	s.ProvisioningArtifactId = &v
17005	return s
17006}
17007
17008// SetProvisioningArtifactName sets the ProvisioningArtifactName field's value.
17009func (s *ProvisionedProductAttribute) SetProvisioningArtifactName(v string) *ProvisionedProductAttribute {
17010	s.ProvisioningArtifactName = &v
17011	return s
17012}
17013
17014// SetStatus sets the Status field's value.
17015func (s *ProvisionedProductAttribute) SetStatus(v string) *ProvisionedProductAttribute {
17016	s.Status = &v
17017	return s
17018}
17019
17020// SetStatusMessage sets the StatusMessage field's value.
17021func (s *ProvisionedProductAttribute) SetStatusMessage(v string) *ProvisionedProductAttribute {
17022	s.StatusMessage = &v
17023	return s
17024}
17025
17026// SetTags sets the Tags field's value.
17027func (s *ProvisionedProductAttribute) SetTags(v []*Tag) *ProvisionedProductAttribute {
17028	s.Tags = v
17029	return s
17030}
17031
17032// SetType sets the Type field's value.
17033func (s *ProvisionedProductAttribute) SetType(v string) *ProvisionedProductAttribute {
17034	s.Type = &v
17035	return s
17036}
17037
17038// SetUserArn sets the UserArn field's value.
17039func (s *ProvisionedProductAttribute) SetUserArn(v string) *ProvisionedProductAttribute {
17040	s.UserArn = &v
17041	return s
17042}
17043
17044// SetUserArnSession sets the UserArnSession field's value.
17045func (s *ProvisionedProductAttribute) SetUserArnSession(v string) *ProvisionedProductAttribute {
17046	s.UserArnSession = &v
17047	return s
17048}
17049
17050// Information about a provisioned product.
17051type ProvisionedProductDetail struct {
17052	_ struct{} `type:"structure"`
17053
17054	// The ARN of the provisioned product.
17055	Arn *string `min:"1" type:"string"`
17056
17057	// The UTC time stamp of the creation time.
17058	CreatedTime *time.Time `type:"timestamp"`
17059
17060	// The identifier of the provisioned product.
17061	Id *string `type:"string"`
17062
17063	// A unique identifier that you provide to ensure idempotency. If multiple requests
17064	// differ only by the idempotency token, the same response is returned for each
17065	// repeated request.
17066	IdempotencyToken *string `min:"1" type:"string"`
17067
17068	// The record identifier of the last request performed on this provisioned product
17069	// of the following types:
17070	//
17071	//    * ProvisionedProduct
17072	//
17073	//    * UpdateProvisionedProduct
17074	//
17075	//    * ExecuteProvisionedProductPlan
17076	//
17077	//    * TerminateProvisionedProduct
17078	LastProvisioningRecordId *string `min:"1" type:"string"`
17079
17080	// The record identifier of the last request performed on this provisioned product.
17081	LastRecordId *string `type:"string"`
17082
17083	// The record identifier of the last successful request performed on this provisioned
17084	// product of the following types:
17085	//
17086	//    * ProvisionedProduct
17087	//
17088	//    * UpdateProvisionedProduct
17089	//
17090	//    * ExecuteProvisionedProductPlan
17091	//
17092	//    * TerminateProvisionedProduct
17093	LastSuccessfulProvisioningRecordId *string `min:"1" type:"string"`
17094
17095	// The ARN of the launch role associated with the provisioned product.
17096	LaunchRoleArn *string `min:"1" type:"string"`
17097
17098	// The user-friendly name of the provisioned product.
17099	Name *string `min:"1" type:"string"`
17100
17101	// The product identifier. For example, prod-abcdzk7xy33qa.
17102	ProductId *string `min:"1" type:"string"`
17103
17104	// The identifier of the provisioning artifact. For example, pa-4abcdjnxjj6ne.
17105	ProvisioningArtifactId *string `min:"1" type:"string"`
17106
17107	// The current status of the provisioned product.
17108	//
17109	//    * AVAILABLE - Stable state, ready to perform any operation. The most recent
17110	//    operation succeeded and completed.
17111	//
17112	//    * UNDER_CHANGE - Transitive state. Operations performed might not have
17113	//    valid results. Wait for an AVAILABLE status before performing operations.
17114	//
17115	//    * TAINTED - Stable state, ready to perform any operation. The stack has
17116	//    completed the requested operation but is not exactly what was requested.
17117	//    For example, a request to update to a new version failed and the stack
17118	//    rolled back to the current version.
17119	//
17120	//    * ERROR - An unexpected error occurred. The provisioned product exists
17121	//    but the stack is not running. For example, CloudFormation received a parameter
17122	//    value that was not valid and could not launch the stack.
17123	//
17124	//    * PLAN_IN_PROGRESS - Transitive state. The plan operations were performed
17125	//    to provision a new product, but resources have not yet been created. After
17126	//    reviewing the list of resources to be created, execute the plan. Wait
17127	//    for an AVAILABLE status before performing operations.
17128	Status *string `type:"string" enum:"ProvisionedProductStatus"`
17129
17130	// The current status message of the provisioned product.
17131	StatusMessage *string `type:"string"`
17132
17133	// The type of provisioned product. The supported values are CFN_STACK and CFN_STACKSET.
17134	Type *string `type:"string"`
17135}
17136
17137// String returns the string representation
17138func (s ProvisionedProductDetail) String() string {
17139	return awsutil.Prettify(s)
17140}
17141
17142// GoString returns the string representation
17143func (s ProvisionedProductDetail) GoString() string {
17144	return s.String()
17145}
17146
17147// SetArn sets the Arn field's value.
17148func (s *ProvisionedProductDetail) SetArn(v string) *ProvisionedProductDetail {
17149	s.Arn = &v
17150	return s
17151}
17152
17153// SetCreatedTime sets the CreatedTime field's value.
17154func (s *ProvisionedProductDetail) SetCreatedTime(v time.Time) *ProvisionedProductDetail {
17155	s.CreatedTime = &v
17156	return s
17157}
17158
17159// SetId sets the Id field's value.
17160func (s *ProvisionedProductDetail) SetId(v string) *ProvisionedProductDetail {
17161	s.Id = &v
17162	return s
17163}
17164
17165// SetIdempotencyToken sets the IdempotencyToken field's value.
17166func (s *ProvisionedProductDetail) SetIdempotencyToken(v string) *ProvisionedProductDetail {
17167	s.IdempotencyToken = &v
17168	return s
17169}
17170
17171// SetLastProvisioningRecordId sets the LastProvisioningRecordId field's value.
17172func (s *ProvisionedProductDetail) SetLastProvisioningRecordId(v string) *ProvisionedProductDetail {
17173	s.LastProvisioningRecordId = &v
17174	return s
17175}
17176
17177// SetLastRecordId sets the LastRecordId field's value.
17178func (s *ProvisionedProductDetail) SetLastRecordId(v string) *ProvisionedProductDetail {
17179	s.LastRecordId = &v
17180	return s
17181}
17182
17183// SetLastSuccessfulProvisioningRecordId sets the LastSuccessfulProvisioningRecordId field's value.
17184func (s *ProvisionedProductDetail) SetLastSuccessfulProvisioningRecordId(v string) *ProvisionedProductDetail {
17185	s.LastSuccessfulProvisioningRecordId = &v
17186	return s
17187}
17188
17189// SetLaunchRoleArn sets the LaunchRoleArn field's value.
17190func (s *ProvisionedProductDetail) SetLaunchRoleArn(v string) *ProvisionedProductDetail {
17191	s.LaunchRoleArn = &v
17192	return s
17193}
17194
17195// SetName sets the Name field's value.
17196func (s *ProvisionedProductDetail) SetName(v string) *ProvisionedProductDetail {
17197	s.Name = &v
17198	return s
17199}
17200
17201// SetProductId sets the ProductId field's value.
17202func (s *ProvisionedProductDetail) SetProductId(v string) *ProvisionedProductDetail {
17203	s.ProductId = &v
17204	return s
17205}
17206
17207// SetProvisioningArtifactId sets the ProvisioningArtifactId field's value.
17208func (s *ProvisionedProductDetail) SetProvisioningArtifactId(v string) *ProvisionedProductDetail {
17209	s.ProvisioningArtifactId = &v
17210	return s
17211}
17212
17213// SetStatus sets the Status field's value.
17214func (s *ProvisionedProductDetail) SetStatus(v string) *ProvisionedProductDetail {
17215	s.Status = &v
17216	return s
17217}
17218
17219// SetStatusMessage sets the StatusMessage field's value.
17220func (s *ProvisionedProductDetail) SetStatusMessage(v string) *ProvisionedProductDetail {
17221	s.StatusMessage = &v
17222	return s
17223}
17224
17225// SetType sets the Type field's value.
17226func (s *ProvisionedProductDetail) SetType(v string) *ProvisionedProductDetail {
17227	s.Type = &v
17228	return s
17229}
17230
17231// Information about a plan.
17232type ProvisionedProductPlanDetails struct {
17233	_ struct{} `type:"structure"`
17234
17235	// The UTC time stamp of the creation time.
17236	CreatedTime *time.Time `type:"timestamp"`
17237
17238	// Passed to CloudFormation. The SNS topic ARNs to which to publish stack-related
17239	// events.
17240	NotificationArns []*string `type:"list"`
17241
17242	// The path identifier of the product. This value is optional if the product
17243	// has a default path, and required if the product has more than one path. To
17244	// list the paths for a product, use ListLaunchPaths.
17245	PathId *string `min:"1" type:"string"`
17246
17247	// The plan identifier.
17248	PlanId *string `min:"1" type:"string"`
17249
17250	// The name of the plan.
17251	PlanName *string `type:"string"`
17252
17253	// The plan type.
17254	PlanType *string `type:"string" enum:"ProvisionedProductPlanType"`
17255
17256	// The product identifier.
17257	ProductId *string `min:"1" type:"string"`
17258
17259	// The product identifier.
17260	ProvisionProductId *string `min:"1" type:"string"`
17261
17262	// The user-friendly name of the provisioned product.
17263	ProvisionProductName *string `min:"1" type:"string"`
17264
17265	// The identifier of the provisioning artifact.
17266	ProvisioningArtifactId *string `min:"1" type:"string"`
17267
17268	// Parameters specified by the administrator that are required for provisioning
17269	// the product.
17270	ProvisioningParameters []*UpdateProvisioningParameter `type:"list"`
17271
17272	// The status.
17273	Status *string `type:"string" enum:"ProvisionedProductPlanStatus"`
17274
17275	// The status message.
17276	StatusMessage *string `type:"string"`
17277
17278	// One or more tags.
17279	Tags []*Tag `type:"list"`
17280
17281	// The time when the plan was last updated.
17282	UpdatedTime *time.Time `type:"timestamp"`
17283}
17284
17285// String returns the string representation
17286func (s ProvisionedProductPlanDetails) String() string {
17287	return awsutil.Prettify(s)
17288}
17289
17290// GoString returns the string representation
17291func (s ProvisionedProductPlanDetails) GoString() string {
17292	return s.String()
17293}
17294
17295// SetCreatedTime sets the CreatedTime field's value.
17296func (s *ProvisionedProductPlanDetails) SetCreatedTime(v time.Time) *ProvisionedProductPlanDetails {
17297	s.CreatedTime = &v
17298	return s
17299}
17300
17301// SetNotificationArns sets the NotificationArns field's value.
17302func (s *ProvisionedProductPlanDetails) SetNotificationArns(v []*string) *ProvisionedProductPlanDetails {
17303	s.NotificationArns = v
17304	return s
17305}
17306
17307// SetPathId sets the PathId field's value.
17308func (s *ProvisionedProductPlanDetails) SetPathId(v string) *ProvisionedProductPlanDetails {
17309	s.PathId = &v
17310	return s
17311}
17312
17313// SetPlanId sets the PlanId field's value.
17314func (s *ProvisionedProductPlanDetails) SetPlanId(v string) *ProvisionedProductPlanDetails {
17315	s.PlanId = &v
17316	return s
17317}
17318
17319// SetPlanName sets the PlanName field's value.
17320func (s *ProvisionedProductPlanDetails) SetPlanName(v string) *ProvisionedProductPlanDetails {
17321	s.PlanName = &v
17322	return s
17323}
17324
17325// SetPlanType sets the PlanType field's value.
17326func (s *ProvisionedProductPlanDetails) SetPlanType(v string) *ProvisionedProductPlanDetails {
17327	s.PlanType = &v
17328	return s
17329}
17330
17331// SetProductId sets the ProductId field's value.
17332func (s *ProvisionedProductPlanDetails) SetProductId(v string) *ProvisionedProductPlanDetails {
17333	s.ProductId = &v
17334	return s
17335}
17336
17337// SetProvisionProductId sets the ProvisionProductId field's value.
17338func (s *ProvisionedProductPlanDetails) SetProvisionProductId(v string) *ProvisionedProductPlanDetails {
17339	s.ProvisionProductId = &v
17340	return s
17341}
17342
17343// SetProvisionProductName sets the ProvisionProductName field's value.
17344func (s *ProvisionedProductPlanDetails) SetProvisionProductName(v string) *ProvisionedProductPlanDetails {
17345	s.ProvisionProductName = &v
17346	return s
17347}
17348
17349// SetProvisioningArtifactId sets the ProvisioningArtifactId field's value.
17350func (s *ProvisionedProductPlanDetails) SetProvisioningArtifactId(v string) *ProvisionedProductPlanDetails {
17351	s.ProvisioningArtifactId = &v
17352	return s
17353}
17354
17355// SetProvisioningParameters sets the ProvisioningParameters field's value.
17356func (s *ProvisionedProductPlanDetails) SetProvisioningParameters(v []*UpdateProvisioningParameter) *ProvisionedProductPlanDetails {
17357	s.ProvisioningParameters = v
17358	return s
17359}
17360
17361// SetStatus sets the Status field's value.
17362func (s *ProvisionedProductPlanDetails) SetStatus(v string) *ProvisionedProductPlanDetails {
17363	s.Status = &v
17364	return s
17365}
17366
17367// SetStatusMessage sets the StatusMessage field's value.
17368func (s *ProvisionedProductPlanDetails) SetStatusMessage(v string) *ProvisionedProductPlanDetails {
17369	s.StatusMessage = &v
17370	return s
17371}
17372
17373// SetTags sets the Tags field's value.
17374func (s *ProvisionedProductPlanDetails) SetTags(v []*Tag) *ProvisionedProductPlanDetails {
17375	s.Tags = v
17376	return s
17377}
17378
17379// SetUpdatedTime sets the UpdatedTime field's value.
17380func (s *ProvisionedProductPlanDetails) SetUpdatedTime(v time.Time) *ProvisionedProductPlanDetails {
17381	s.UpdatedTime = &v
17382	return s
17383}
17384
17385// Summary information about a plan.
17386type ProvisionedProductPlanSummary struct {
17387	_ struct{} `type:"structure"`
17388
17389	// The plan identifier.
17390	PlanId *string `min:"1" type:"string"`
17391
17392	// The name of the plan.
17393	PlanName *string `type:"string"`
17394
17395	// The plan type.
17396	PlanType *string `type:"string" enum:"ProvisionedProductPlanType"`
17397
17398	// The product identifier.
17399	ProvisionProductId *string `min:"1" type:"string"`
17400
17401	// The user-friendly name of the provisioned product.
17402	ProvisionProductName *string `min:"1" type:"string"`
17403
17404	// The identifier of the provisioning artifact.
17405	ProvisioningArtifactId *string `min:"1" type:"string"`
17406}
17407
17408// String returns the string representation
17409func (s ProvisionedProductPlanSummary) String() string {
17410	return awsutil.Prettify(s)
17411}
17412
17413// GoString returns the string representation
17414func (s ProvisionedProductPlanSummary) GoString() string {
17415	return s.String()
17416}
17417
17418// SetPlanId sets the PlanId field's value.
17419func (s *ProvisionedProductPlanSummary) SetPlanId(v string) *ProvisionedProductPlanSummary {
17420	s.PlanId = &v
17421	return s
17422}
17423
17424// SetPlanName sets the PlanName field's value.
17425func (s *ProvisionedProductPlanSummary) SetPlanName(v string) *ProvisionedProductPlanSummary {
17426	s.PlanName = &v
17427	return s
17428}
17429
17430// SetPlanType sets the PlanType field's value.
17431func (s *ProvisionedProductPlanSummary) SetPlanType(v string) *ProvisionedProductPlanSummary {
17432	s.PlanType = &v
17433	return s
17434}
17435
17436// SetProvisionProductId sets the ProvisionProductId field's value.
17437func (s *ProvisionedProductPlanSummary) SetProvisionProductId(v string) *ProvisionedProductPlanSummary {
17438	s.ProvisionProductId = &v
17439	return s
17440}
17441
17442// SetProvisionProductName sets the ProvisionProductName field's value.
17443func (s *ProvisionedProductPlanSummary) SetProvisionProductName(v string) *ProvisionedProductPlanSummary {
17444	s.ProvisionProductName = &v
17445	return s
17446}
17447
17448// SetProvisioningArtifactId sets the ProvisioningArtifactId field's value.
17449func (s *ProvisionedProductPlanSummary) SetProvisioningArtifactId(v string) *ProvisionedProductPlanSummary {
17450	s.ProvisioningArtifactId = &v
17451	return s
17452}
17453
17454// Information about a provisioning artifact. A provisioning artifact is also
17455// known as a product version.
17456type ProvisioningArtifact struct {
17457	_ struct{} `type:"structure"`
17458
17459	// The UTC time stamp of the creation time.
17460	CreatedTime *time.Time `type:"timestamp"`
17461
17462	// The description of the provisioning artifact.
17463	Description *string `type:"string"`
17464
17465	// Information set by the administrator to provide guidance to end users about
17466	// which provisioning artifacts to use.
17467	Guidance *string `type:"string" enum:"ProvisioningArtifactGuidance"`
17468
17469	// The identifier of the provisioning artifact.
17470	Id *string `min:"1" type:"string"`
17471
17472	// The name of the provisioning artifact.
17473	Name *string `type:"string"`
17474}
17475
17476// String returns the string representation
17477func (s ProvisioningArtifact) String() string {
17478	return awsutil.Prettify(s)
17479}
17480
17481// GoString returns the string representation
17482func (s ProvisioningArtifact) GoString() string {
17483	return s.String()
17484}
17485
17486// SetCreatedTime sets the CreatedTime field's value.
17487func (s *ProvisioningArtifact) SetCreatedTime(v time.Time) *ProvisioningArtifact {
17488	s.CreatedTime = &v
17489	return s
17490}
17491
17492// SetDescription sets the Description field's value.
17493func (s *ProvisioningArtifact) SetDescription(v string) *ProvisioningArtifact {
17494	s.Description = &v
17495	return s
17496}
17497
17498// SetGuidance sets the Guidance field's value.
17499func (s *ProvisioningArtifact) SetGuidance(v string) *ProvisioningArtifact {
17500	s.Guidance = &v
17501	return s
17502}
17503
17504// SetId sets the Id field's value.
17505func (s *ProvisioningArtifact) SetId(v string) *ProvisioningArtifact {
17506	s.Id = &v
17507	return s
17508}
17509
17510// SetName sets the Name field's value.
17511func (s *ProvisioningArtifact) SetName(v string) *ProvisioningArtifact {
17512	s.Name = &v
17513	return s
17514}
17515
17516// Information about a provisioning artifact (also known as a version) for a
17517// product.
17518type ProvisioningArtifactDetail struct {
17519	_ struct{} `type:"structure"`
17520
17521	// Indicates whether the product version is active.
17522	Active *bool `type:"boolean"`
17523
17524	// The UTC time stamp of the creation time.
17525	CreatedTime *time.Time `type:"timestamp"`
17526
17527	// The description of the provisioning artifact.
17528	Description *string `type:"string"`
17529
17530	// Information set by the administrator to provide guidance to end users about
17531	// which provisioning artifacts to use.
17532	Guidance *string `type:"string" enum:"ProvisioningArtifactGuidance"`
17533
17534	// The identifier of the provisioning artifact.
17535	Id *string `min:"1" type:"string"`
17536
17537	// The name of the provisioning artifact.
17538	Name *string `type:"string"`
17539
17540	// The type of provisioning artifact.
17541	//
17542	//    * CLOUD_FORMATION_TEMPLATE - AWS CloudFormation template
17543	//
17544	//    * MARKETPLACE_AMI - AWS Marketplace AMI
17545	//
17546	//    * MARKETPLACE_CAR - AWS Marketplace Clusters and AWS Resources
17547	Type *string `type:"string" enum:"ProvisioningArtifactType"`
17548}
17549
17550// String returns the string representation
17551func (s ProvisioningArtifactDetail) String() string {
17552	return awsutil.Prettify(s)
17553}
17554
17555// GoString returns the string representation
17556func (s ProvisioningArtifactDetail) GoString() string {
17557	return s.String()
17558}
17559
17560// SetActive sets the Active field's value.
17561func (s *ProvisioningArtifactDetail) SetActive(v bool) *ProvisioningArtifactDetail {
17562	s.Active = &v
17563	return s
17564}
17565
17566// SetCreatedTime sets the CreatedTime field's value.
17567func (s *ProvisioningArtifactDetail) SetCreatedTime(v time.Time) *ProvisioningArtifactDetail {
17568	s.CreatedTime = &v
17569	return s
17570}
17571
17572// SetDescription sets the Description field's value.
17573func (s *ProvisioningArtifactDetail) SetDescription(v string) *ProvisioningArtifactDetail {
17574	s.Description = &v
17575	return s
17576}
17577
17578// SetGuidance sets the Guidance field's value.
17579func (s *ProvisioningArtifactDetail) SetGuidance(v string) *ProvisioningArtifactDetail {
17580	s.Guidance = &v
17581	return s
17582}
17583
17584// SetId sets the Id field's value.
17585func (s *ProvisioningArtifactDetail) SetId(v string) *ProvisioningArtifactDetail {
17586	s.Id = &v
17587	return s
17588}
17589
17590// SetName sets the Name field's value.
17591func (s *ProvisioningArtifactDetail) SetName(v string) *ProvisioningArtifactDetail {
17592	s.Name = &v
17593	return s
17594}
17595
17596// SetType sets the Type field's value.
17597func (s *ProvisioningArtifactDetail) SetType(v string) *ProvisioningArtifactDetail {
17598	s.Type = &v
17599	return s
17600}
17601
17602// Provisioning artifact output.
17603type ProvisioningArtifactOutput struct {
17604	_ struct{} `type:"structure"`
17605
17606	// Description of the provisioning artifact output key.
17607	Description *string `type:"string"`
17608
17609	// The provisioning artifact output key.
17610	Key *string `min:"1" type:"string"`
17611}
17612
17613// String returns the string representation
17614func (s ProvisioningArtifactOutput) String() string {
17615	return awsutil.Prettify(s)
17616}
17617
17618// GoString returns the string representation
17619func (s ProvisioningArtifactOutput) GoString() string {
17620	return s.String()
17621}
17622
17623// SetDescription sets the Description field's value.
17624func (s *ProvisioningArtifactOutput) SetDescription(v string) *ProvisioningArtifactOutput {
17625	s.Description = &v
17626	return s
17627}
17628
17629// SetKey sets the Key field's value.
17630func (s *ProvisioningArtifactOutput) SetKey(v string) *ProvisioningArtifactOutput {
17631	s.Key = &v
17632	return s
17633}
17634
17635// Information about a parameter used to provision a product.
17636type ProvisioningArtifactParameter struct {
17637	_ struct{} `type:"structure"`
17638
17639	// The default value.
17640	DefaultValue *string `type:"string"`
17641
17642	// The description of the parameter.
17643	Description *string `type:"string"`
17644
17645	// If this value is true, the value for this parameter is obfuscated from view
17646	// when the parameter is retrieved. This parameter is used to hide sensitive
17647	// information.
17648	IsNoEcho *bool `type:"boolean"`
17649
17650	// Constraints that the administrator has put on a parameter.
17651	ParameterConstraints *ParameterConstraints `type:"structure"`
17652
17653	// The parameter key.
17654	ParameterKey *string `min:"1" type:"string"`
17655
17656	// The parameter type.
17657	ParameterType *string `type:"string"`
17658}
17659
17660// String returns the string representation
17661func (s ProvisioningArtifactParameter) String() string {
17662	return awsutil.Prettify(s)
17663}
17664
17665// GoString returns the string representation
17666func (s ProvisioningArtifactParameter) GoString() string {
17667	return s.String()
17668}
17669
17670// SetDefaultValue sets the DefaultValue field's value.
17671func (s *ProvisioningArtifactParameter) SetDefaultValue(v string) *ProvisioningArtifactParameter {
17672	s.DefaultValue = &v
17673	return s
17674}
17675
17676// SetDescription sets the Description field's value.
17677func (s *ProvisioningArtifactParameter) SetDescription(v string) *ProvisioningArtifactParameter {
17678	s.Description = &v
17679	return s
17680}
17681
17682// SetIsNoEcho sets the IsNoEcho field's value.
17683func (s *ProvisioningArtifactParameter) SetIsNoEcho(v bool) *ProvisioningArtifactParameter {
17684	s.IsNoEcho = &v
17685	return s
17686}
17687
17688// SetParameterConstraints sets the ParameterConstraints field's value.
17689func (s *ProvisioningArtifactParameter) SetParameterConstraints(v *ParameterConstraints) *ProvisioningArtifactParameter {
17690	s.ParameterConstraints = v
17691	return s
17692}
17693
17694// SetParameterKey sets the ParameterKey field's value.
17695func (s *ProvisioningArtifactParameter) SetParameterKey(v string) *ProvisioningArtifactParameter {
17696	s.ParameterKey = &v
17697	return s
17698}
17699
17700// SetParameterType sets the ParameterType field's value.
17701func (s *ProvisioningArtifactParameter) SetParameterType(v string) *ProvisioningArtifactParameter {
17702	s.ParameterType = &v
17703	return s
17704}
17705
17706// The user-defined preferences that will be applied during product provisioning,
17707// unless overridden by ProvisioningPreferences or UpdateProvisioningPreferences.
17708//
17709// For more information on maximum concurrent accounts and failure tolerance,
17710// see Stack set operation options (https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/stacksets-concepts.html#stackset-ops-options)
17711// in the AWS CloudFormation User Guide.
17712type ProvisioningArtifactPreferences struct {
17713	_ struct{} `type:"structure"`
17714
17715	// One or more AWS accounts where stack instances are deployed from the stack
17716	// set. These accounts can be scoped in ProvisioningPreferences$StackSetAccounts
17717	// and UpdateProvisioningPreferences$StackSetAccounts.
17718	//
17719	// Applicable only to a CFN_STACKSET provisioned product type.
17720	StackSetAccounts []*string `type:"list"`
17721
17722	// One or more AWS Regions where stack instances are deployed from the stack
17723	// set. These regions can be scoped in ProvisioningPreferences$StackSetRegions
17724	// and UpdateProvisioningPreferences$StackSetRegions.
17725	//
17726	// Applicable only to a CFN_STACKSET provisioned product type.
17727	StackSetRegions []*string `type:"list"`
17728}
17729
17730// String returns the string representation
17731func (s ProvisioningArtifactPreferences) String() string {
17732	return awsutil.Prettify(s)
17733}
17734
17735// GoString returns the string representation
17736func (s ProvisioningArtifactPreferences) GoString() string {
17737	return s.String()
17738}
17739
17740// SetStackSetAccounts sets the StackSetAccounts field's value.
17741func (s *ProvisioningArtifactPreferences) SetStackSetAccounts(v []*string) *ProvisioningArtifactPreferences {
17742	s.StackSetAccounts = v
17743	return s
17744}
17745
17746// SetStackSetRegions sets the StackSetRegions field's value.
17747func (s *ProvisioningArtifactPreferences) SetStackSetRegions(v []*string) *ProvisioningArtifactPreferences {
17748	s.StackSetRegions = v
17749	return s
17750}
17751
17752// Information about a provisioning artifact (also known as a version) for a
17753// product.
17754type ProvisioningArtifactProperties struct {
17755	_ struct{} `type:"structure"`
17756
17757	// The description of the provisioning artifact, including how it differs from
17758	// the previous provisioning artifact.
17759	Description *string `type:"string"`
17760
17761	// If set to true, AWS Service Catalog stops validating the specified provisioning
17762	// artifact even if it is invalid.
17763	DisableTemplateValidation *bool `type:"boolean"`
17764
17765	// The URL of the CloudFormation template in Amazon S3. Specify the URL in JSON
17766	// format as follows:
17767	//
17768	// "LoadTemplateFromURL": "https://s3.amazonaws.com/cf-templates-ozkq9d3hgiq2-us-east-1/..."
17769	//
17770	// Info is a required field
17771	Info map[string]*string `min:"1" type:"map" required:"true"`
17772
17773	// The name of the provisioning artifact (for example, v1 v2beta). No spaces
17774	// are allowed.
17775	Name *string `type:"string"`
17776
17777	// The type of provisioning artifact.
17778	//
17779	//    * CLOUD_FORMATION_TEMPLATE - AWS CloudFormation template
17780	//
17781	//    * MARKETPLACE_AMI - AWS Marketplace AMI
17782	//
17783	//    * MARKETPLACE_CAR - AWS Marketplace Clusters and AWS Resources
17784	Type *string `type:"string" enum:"ProvisioningArtifactType"`
17785}
17786
17787// String returns the string representation
17788func (s ProvisioningArtifactProperties) String() string {
17789	return awsutil.Prettify(s)
17790}
17791
17792// GoString returns the string representation
17793func (s ProvisioningArtifactProperties) GoString() string {
17794	return s.String()
17795}
17796
17797// Validate inspects the fields of the type to determine if they are valid.
17798func (s *ProvisioningArtifactProperties) Validate() error {
17799	invalidParams := request.ErrInvalidParams{Context: "ProvisioningArtifactProperties"}
17800	if s.Info == nil {
17801		invalidParams.Add(request.NewErrParamRequired("Info"))
17802	}
17803	if s.Info != nil && len(s.Info) < 1 {
17804		invalidParams.Add(request.NewErrParamMinLen("Info", 1))
17805	}
17806
17807	if invalidParams.Len() > 0 {
17808		return invalidParams
17809	}
17810	return nil
17811}
17812
17813// SetDescription sets the Description field's value.
17814func (s *ProvisioningArtifactProperties) SetDescription(v string) *ProvisioningArtifactProperties {
17815	s.Description = &v
17816	return s
17817}
17818
17819// SetDisableTemplateValidation sets the DisableTemplateValidation field's value.
17820func (s *ProvisioningArtifactProperties) SetDisableTemplateValidation(v bool) *ProvisioningArtifactProperties {
17821	s.DisableTemplateValidation = &v
17822	return s
17823}
17824
17825// SetInfo sets the Info field's value.
17826func (s *ProvisioningArtifactProperties) SetInfo(v map[string]*string) *ProvisioningArtifactProperties {
17827	s.Info = v
17828	return s
17829}
17830
17831// SetName sets the Name field's value.
17832func (s *ProvisioningArtifactProperties) SetName(v string) *ProvisioningArtifactProperties {
17833	s.Name = &v
17834	return s
17835}
17836
17837// SetType sets the Type field's value.
17838func (s *ProvisioningArtifactProperties) SetType(v string) *ProvisioningArtifactProperties {
17839	s.Type = &v
17840	return s
17841}
17842
17843// Summary information about a provisioning artifact (also known as a version)
17844// for a product.
17845type ProvisioningArtifactSummary struct {
17846	_ struct{} `type:"structure"`
17847
17848	// The UTC time stamp of the creation time.
17849	CreatedTime *time.Time `type:"timestamp"`
17850
17851	// The description of the provisioning artifact.
17852	Description *string `type:"string"`
17853
17854	// The identifier of the provisioning artifact.
17855	Id *string `min:"1" type:"string"`
17856
17857	// The name of the provisioning artifact.
17858	Name *string `type:"string"`
17859
17860	// The metadata for the provisioning artifact. This is used with AWS Marketplace
17861	// products.
17862	ProvisioningArtifactMetadata map[string]*string `min:"1" type:"map"`
17863}
17864
17865// String returns the string representation
17866func (s ProvisioningArtifactSummary) String() string {
17867	return awsutil.Prettify(s)
17868}
17869
17870// GoString returns the string representation
17871func (s ProvisioningArtifactSummary) GoString() string {
17872	return s.String()
17873}
17874
17875// SetCreatedTime sets the CreatedTime field's value.
17876func (s *ProvisioningArtifactSummary) SetCreatedTime(v time.Time) *ProvisioningArtifactSummary {
17877	s.CreatedTime = &v
17878	return s
17879}
17880
17881// SetDescription sets the Description field's value.
17882func (s *ProvisioningArtifactSummary) SetDescription(v string) *ProvisioningArtifactSummary {
17883	s.Description = &v
17884	return s
17885}
17886
17887// SetId sets the Id field's value.
17888func (s *ProvisioningArtifactSummary) SetId(v string) *ProvisioningArtifactSummary {
17889	s.Id = &v
17890	return s
17891}
17892
17893// SetName sets the Name field's value.
17894func (s *ProvisioningArtifactSummary) SetName(v string) *ProvisioningArtifactSummary {
17895	s.Name = &v
17896	return s
17897}
17898
17899// SetProvisioningArtifactMetadata sets the ProvisioningArtifactMetadata field's value.
17900func (s *ProvisioningArtifactSummary) SetProvisioningArtifactMetadata(v map[string]*string) *ProvisioningArtifactSummary {
17901	s.ProvisioningArtifactMetadata = v
17902	return s
17903}
17904
17905// An object that contains summary information about a product view and a provisioning
17906// artifact.
17907type ProvisioningArtifactView struct {
17908	_ struct{} `type:"structure"`
17909
17910	// Summary information about a product view.
17911	ProductViewSummary *ProductViewSummary `type:"structure"`
17912
17913	// Information about a provisioning artifact. A provisioning artifact is also
17914	// known as a product version.
17915	ProvisioningArtifact *ProvisioningArtifact `type:"structure"`
17916}
17917
17918// String returns the string representation
17919func (s ProvisioningArtifactView) String() string {
17920	return awsutil.Prettify(s)
17921}
17922
17923// GoString returns the string representation
17924func (s ProvisioningArtifactView) GoString() string {
17925	return s.String()
17926}
17927
17928// SetProductViewSummary sets the ProductViewSummary field's value.
17929func (s *ProvisioningArtifactView) SetProductViewSummary(v *ProductViewSummary) *ProvisioningArtifactView {
17930	s.ProductViewSummary = v
17931	return s
17932}
17933
17934// SetProvisioningArtifact sets the ProvisioningArtifact field's value.
17935func (s *ProvisioningArtifactView) SetProvisioningArtifact(v *ProvisioningArtifact) *ProvisioningArtifactView {
17936	s.ProvisioningArtifact = v
17937	return s
17938}
17939
17940// Information about a parameter used to provision a product.
17941type ProvisioningParameter struct {
17942	_ struct{} `type:"structure"`
17943
17944	// The parameter key.
17945	Key *string `min:"1" type:"string"`
17946
17947	// The parameter value.
17948	Value *string `type:"string"`
17949}
17950
17951// String returns the string representation
17952func (s ProvisioningParameter) String() string {
17953	return awsutil.Prettify(s)
17954}
17955
17956// GoString returns the string representation
17957func (s ProvisioningParameter) GoString() string {
17958	return s.String()
17959}
17960
17961// Validate inspects the fields of the type to determine if they are valid.
17962func (s *ProvisioningParameter) Validate() error {
17963	invalidParams := request.ErrInvalidParams{Context: "ProvisioningParameter"}
17964	if s.Key != nil && len(*s.Key) < 1 {
17965		invalidParams.Add(request.NewErrParamMinLen("Key", 1))
17966	}
17967
17968	if invalidParams.Len() > 0 {
17969		return invalidParams
17970	}
17971	return nil
17972}
17973
17974// SetKey sets the Key field's value.
17975func (s *ProvisioningParameter) SetKey(v string) *ProvisioningParameter {
17976	s.Key = &v
17977	return s
17978}
17979
17980// SetValue sets the Value field's value.
17981func (s *ProvisioningParameter) SetValue(v string) *ProvisioningParameter {
17982	s.Value = &v
17983	return s
17984}
17985
17986// The user-defined preferences that will be applied when updating a provisioned
17987// product. Not all preferences are applicable to all provisioned product types.
17988type ProvisioningPreferences struct {
17989	_ struct{} `type:"structure"`
17990
17991	// One or more AWS accounts that will have access to the provisioned product.
17992	//
17993	// Applicable only to a CFN_STACKSET provisioned product type.
17994	//
17995	// The AWS accounts specified should be within the list of accounts in the STACKSET
17996	// constraint. To get the list of accounts in the STACKSET constraint, use the
17997	// DescribeProvisioningParameters operation.
17998	//
17999	// If no values are specified, the default value is all accounts from the STACKSET
18000	// constraint.
18001	StackSetAccounts []*string `type:"list"`
18002
18003	// The number of accounts, per region, for which this operation can fail before
18004	// AWS Service Catalog stops the operation in that region. If the operation
18005	// is stopped in a region, AWS Service Catalog doesn't attempt the operation
18006	// in any subsequent regions.
18007	//
18008	// Applicable only to a CFN_STACKSET provisioned product type.
18009	//
18010	// Conditional: You must specify either StackSetFailureToleranceCount or StackSetFailureTolerancePercentage,
18011	// but not both.
18012	//
18013	// The default value is 0 if no value is specified.
18014	StackSetFailureToleranceCount *int64 `type:"integer"`
18015
18016	// The percentage of accounts, per region, for which this stack operation can
18017	// fail before AWS Service Catalog stops the operation in that region. If the
18018	// operation is stopped in a region, AWS Service Catalog doesn't attempt the
18019	// operation in any subsequent regions.
18020	//
18021	// When calculating the number of accounts based on the specified percentage,
18022	// AWS Service Catalog rounds down to the next whole number.
18023	//
18024	// Applicable only to a CFN_STACKSET provisioned product type.
18025	//
18026	// Conditional: You must specify either StackSetFailureToleranceCount or StackSetFailureTolerancePercentage,
18027	// but not both.
18028	StackSetFailureTolerancePercentage *int64 `type:"integer"`
18029
18030	// The maximum number of accounts in which to perform this operation at one
18031	// time. This is dependent on the value of StackSetFailureToleranceCount. StackSetMaxConcurrentCount
18032	// is at most one more than the StackSetFailureToleranceCount.
18033	//
18034	// Note that this setting lets you specify the maximum for operations. For large
18035	// deployments, under certain circumstances the actual number of accounts acted
18036	// upon concurrently may be lower due to service throttling.
18037	//
18038	// Applicable only to a CFN_STACKSET provisioned product type.
18039	//
18040	// Conditional: You must specify either StackSetMaxConcurrentCount or StackSetMaxConcurrentPercentage,
18041	// but not both.
18042	StackSetMaxConcurrencyCount *int64 `min:"1" type:"integer"`
18043
18044	// The maximum percentage of accounts in which to perform this operation at
18045	// one time.
18046	//
18047	// When calculating the number of accounts based on the specified percentage,
18048	// AWS Service Catalog rounds down to the next whole number. This is true except
18049	// in cases where rounding down would result is zero. In this case, AWS Service
18050	// Catalog sets the number as 1 instead.
18051	//
18052	// Note that this setting lets you specify the maximum for operations. For large
18053	// deployments, under certain circumstances the actual number of accounts acted
18054	// upon concurrently may be lower due to service throttling.
18055	//
18056	// Applicable only to a CFN_STACKSET provisioned product type.
18057	//
18058	// Conditional: You must specify either StackSetMaxConcurrentCount or StackSetMaxConcurrentPercentage,
18059	// but not both.
18060	StackSetMaxConcurrencyPercentage *int64 `min:"1" type:"integer"`
18061
18062	// One or more AWS Regions where the provisioned product will be available.
18063	//
18064	// Applicable only to a CFN_STACKSET provisioned product type.
18065	//
18066	// The specified regions should be within the list of regions from the STACKSET
18067	// constraint. To get the list of regions in the STACKSET constraint, use the
18068	// DescribeProvisioningParameters operation.
18069	//
18070	// If no values are specified, the default value is all regions from the STACKSET
18071	// constraint.
18072	StackSetRegions []*string `type:"list"`
18073}
18074
18075// String returns the string representation
18076func (s ProvisioningPreferences) String() string {
18077	return awsutil.Prettify(s)
18078}
18079
18080// GoString returns the string representation
18081func (s ProvisioningPreferences) GoString() string {
18082	return s.String()
18083}
18084
18085// Validate inspects the fields of the type to determine if they are valid.
18086func (s *ProvisioningPreferences) Validate() error {
18087	invalidParams := request.ErrInvalidParams{Context: "ProvisioningPreferences"}
18088	if s.StackSetMaxConcurrencyCount != nil && *s.StackSetMaxConcurrencyCount < 1 {
18089		invalidParams.Add(request.NewErrParamMinValue("StackSetMaxConcurrencyCount", 1))
18090	}
18091	if s.StackSetMaxConcurrencyPercentage != nil && *s.StackSetMaxConcurrencyPercentage < 1 {
18092		invalidParams.Add(request.NewErrParamMinValue("StackSetMaxConcurrencyPercentage", 1))
18093	}
18094
18095	if invalidParams.Len() > 0 {
18096		return invalidParams
18097	}
18098	return nil
18099}
18100
18101// SetStackSetAccounts sets the StackSetAccounts field's value.
18102func (s *ProvisioningPreferences) SetStackSetAccounts(v []*string) *ProvisioningPreferences {
18103	s.StackSetAccounts = v
18104	return s
18105}
18106
18107// SetStackSetFailureToleranceCount sets the StackSetFailureToleranceCount field's value.
18108func (s *ProvisioningPreferences) SetStackSetFailureToleranceCount(v int64) *ProvisioningPreferences {
18109	s.StackSetFailureToleranceCount = &v
18110	return s
18111}
18112
18113// SetStackSetFailureTolerancePercentage sets the StackSetFailureTolerancePercentage field's value.
18114func (s *ProvisioningPreferences) SetStackSetFailureTolerancePercentage(v int64) *ProvisioningPreferences {
18115	s.StackSetFailureTolerancePercentage = &v
18116	return s
18117}
18118
18119// SetStackSetMaxConcurrencyCount sets the StackSetMaxConcurrencyCount field's value.
18120func (s *ProvisioningPreferences) SetStackSetMaxConcurrencyCount(v int64) *ProvisioningPreferences {
18121	s.StackSetMaxConcurrencyCount = &v
18122	return s
18123}
18124
18125// SetStackSetMaxConcurrencyPercentage sets the StackSetMaxConcurrencyPercentage field's value.
18126func (s *ProvisioningPreferences) SetStackSetMaxConcurrencyPercentage(v int64) *ProvisioningPreferences {
18127	s.StackSetMaxConcurrencyPercentage = &v
18128	return s
18129}
18130
18131// SetStackSetRegions sets the StackSetRegions field's value.
18132func (s *ProvisioningPreferences) SetStackSetRegions(v []*string) *ProvisioningPreferences {
18133	s.StackSetRegions = v
18134	return s
18135}
18136
18137// Information about a request operation.
18138type RecordDetail struct {
18139	_ struct{} `type:"structure"`
18140
18141	// The UTC time stamp of the creation time.
18142	CreatedTime *time.Time `type:"timestamp"`
18143
18144	// The ARN of the launch role associated with the provisioned product.
18145	LaunchRoleArn *string `min:"1" type:"string"`
18146
18147	// The path identifier.
18148	PathId *string `min:"1" type:"string"`
18149
18150	// The product identifier.
18151	ProductId *string `min:"1" type:"string"`
18152
18153	// The identifier of the provisioned product.
18154	ProvisionedProductId *string `min:"1" type:"string"`
18155
18156	// The user-friendly name of the provisioned product.
18157	ProvisionedProductName *string `min:"1" type:"string"`
18158
18159	// The type of provisioned product. The supported values are CFN_STACK and CFN_STACKSET.
18160	ProvisionedProductType *string `type:"string"`
18161
18162	// The identifier of the provisioning artifact.
18163	ProvisioningArtifactId *string `min:"1" type:"string"`
18164
18165	// The errors that occurred.
18166	RecordErrors []*RecordError `type:"list"`
18167
18168	// The identifier of the record.
18169	RecordId *string `min:"1" type:"string"`
18170
18171	// One or more tags.
18172	RecordTags []*RecordTag `type:"list"`
18173
18174	// The record type.
18175	//
18176	//    * PROVISION_PRODUCT
18177	//
18178	//    * UPDATE_PROVISIONED_PRODUCT
18179	//
18180	//    * TERMINATE_PROVISIONED_PRODUCT
18181	RecordType *string `type:"string"`
18182
18183	// The status of the provisioned product.
18184	//
18185	//    * CREATED - The request was created but the operation has not started.
18186	//
18187	//    * IN_PROGRESS - The requested operation is in progress.
18188	//
18189	//    * IN_PROGRESS_IN_ERROR - The provisioned product is under change but the
18190	//    requested operation failed and some remediation is occurring. For example,
18191	//    a rollback.
18192	//
18193	//    * SUCCEEDED - The requested operation has successfully completed.
18194	//
18195	//    * FAILED - The requested operation has unsuccessfully completed. Investigate
18196	//    using the error messages returned.
18197	Status *string `type:"string" enum:"RecordStatus"`
18198
18199	// The time when the record was last updated.
18200	UpdatedTime *time.Time `type:"timestamp"`
18201}
18202
18203// String returns the string representation
18204func (s RecordDetail) String() string {
18205	return awsutil.Prettify(s)
18206}
18207
18208// GoString returns the string representation
18209func (s RecordDetail) GoString() string {
18210	return s.String()
18211}
18212
18213// SetCreatedTime sets the CreatedTime field's value.
18214func (s *RecordDetail) SetCreatedTime(v time.Time) *RecordDetail {
18215	s.CreatedTime = &v
18216	return s
18217}
18218
18219// SetLaunchRoleArn sets the LaunchRoleArn field's value.
18220func (s *RecordDetail) SetLaunchRoleArn(v string) *RecordDetail {
18221	s.LaunchRoleArn = &v
18222	return s
18223}
18224
18225// SetPathId sets the PathId field's value.
18226func (s *RecordDetail) SetPathId(v string) *RecordDetail {
18227	s.PathId = &v
18228	return s
18229}
18230
18231// SetProductId sets the ProductId field's value.
18232func (s *RecordDetail) SetProductId(v string) *RecordDetail {
18233	s.ProductId = &v
18234	return s
18235}
18236
18237// SetProvisionedProductId sets the ProvisionedProductId field's value.
18238func (s *RecordDetail) SetProvisionedProductId(v string) *RecordDetail {
18239	s.ProvisionedProductId = &v
18240	return s
18241}
18242
18243// SetProvisionedProductName sets the ProvisionedProductName field's value.
18244func (s *RecordDetail) SetProvisionedProductName(v string) *RecordDetail {
18245	s.ProvisionedProductName = &v
18246	return s
18247}
18248
18249// SetProvisionedProductType sets the ProvisionedProductType field's value.
18250func (s *RecordDetail) SetProvisionedProductType(v string) *RecordDetail {
18251	s.ProvisionedProductType = &v
18252	return s
18253}
18254
18255// SetProvisioningArtifactId sets the ProvisioningArtifactId field's value.
18256func (s *RecordDetail) SetProvisioningArtifactId(v string) *RecordDetail {
18257	s.ProvisioningArtifactId = &v
18258	return s
18259}
18260
18261// SetRecordErrors sets the RecordErrors field's value.
18262func (s *RecordDetail) SetRecordErrors(v []*RecordError) *RecordDetail {
18263	s.RecordErrors = v
18264	return s
18265}
18266
18267// SetRecordId sets the RecordId field's value.
18268func (s *RecordDetail) SetRecordId(v string) *RecordDetail {
18269	s.RecordId = &v
18270	return s
18271}
18272
18273// SetRecordTags sets the RecordTags field's value.
18274func (s *RecordDetail) SetRecordTags(v []*RecordTag) *RecordDetail {
18275	s.RecordTags = v
18276	return s
18277}
18278
18279// SetRecordType sets the RecordType field's value.
18280func (s *RecordDetail) SetRecordType(v string) *RecordDetail {
18281	s.RecordType = &v
18282	return s
18283}
18284
18285// SetStatus sets the Status field's value.
18286func (s *RecordDetail) SetStatus(v string) *RecordDetail {
18287	s.Status = &v
18288	return s
18289}
18290
18291// SetUpdatedTime sets the UpdatedTime field's value.
18292func (s *RecordDetail) SetUpdatedTime(v time.Time) *RecordDetail {
18293	s.UpdatedTime = &v
18294	return s
18295}
18296
18297// The error code and description resulting from an operation.
18298type RecordError struct {
18299	_ struct{} `type:"structure"`
18300
18301	// The numeric value of the error.
18302	Code *string `type:"string"`
18303
18304	// The description of the error.
18305	Description *string `type:"string"`
18306}
18307
18308// String returns the string representation
18309func (s RecordError) String() string {
18310	return awsutil.Prettify(s)
18311}
18312
18313// GoString returns the string representation
18314func (s RecordError) GoString() string {
18315	return s.String()
18316}
18317
18318// SetCode sets the Code field's value.
18319func (s *RecordError) SetCode(v string) *RecordError {
18320	s.Code = &v
18321	return s
18322}
18323
18324// SetDescription sets the Description field's value.
18325func (s *RecordError) SetDescription(v string) *RecordError {
18326	s.Description = &v
18327	return s
18328}
18329
18330// The output for the product created as the result of a request. For example,
18331// the output for a CloudFormation-backed product that creates an S3 bucket
18332// would include the S3 bucket URL.
18333type RecordOutput struct {
18334	_ struct{} `type:"structure"`
18335
18336	// The description of the output.
18337	Description *string `type:"string"`
18338
18339	// The output key.
18340	OutputKey *string `type:"string"`
18341
18342	// The output value.
18343	OutputValue *string `type:"string"`
18344}
18345
18346// String returns the string representation
18347func (s RecordOutput) String() string {
18348	return awsutil.Prettify(s)
18349}
18350
18351// GoString returns the string representation
18352func (s RecordOutput) GoString() string {
18353	return s.String()
18354}
18355
18356// SetDescription sets the Description field's value.
18357func (s *RecordOutput) SetDescription(v string) *RecordOutput {
18358	s.Description = &v
18359	return s
18360}
18361
18362// SetOutputKey sets the OutputKey field's value.
18363func (s *RecordOutput) SetOutputKey(v string) *RecordOutput {
18364	s.OutputKey = &v
18365	return s
18366}
18367
18368// SetOutputValue sets the OutputValue field's value.
18369func (s *RecordOutput) SetOutputValue(v string) *RecordOutput {
18370	s.OutputValue = &v
18371	return s
18372}
18373
18374// Information about a tag, which is a key-value pair.
18375type RecordTag struct {
18376	_ struct{} `type:"structure"`
18377
18378	// The key for this tag.
18379	Key *string `min:"1" type:"string"`
18380
18381	// The value for this tag.
18382	Value *string `min:"1" type:"string"`
18383}
18384
18385// String returns the string representation
18386func (s RecordTag) String() string {
18387	return awsutil.Prettify(s)
18388}
18389
18390// GoString returns the string representation
18391func (s RecordTag) GoString() string {
18392	return s.String()
18393}
18394
18395// SetKey sets the Key field's value.
18396func (s *RecordTag) SetKey(v string) *RecordTag {
18397	s.Key = &v
18398	return s
18399}
18400
18401// SetValue sets the Value field's value.
18402func (s *RecordTag) SetValue(v string) *RecordTag {
18403	s.Value = &v
18404	return s
18405}
18406
18407type RejectPortfolioShareInput struct {
18408	_ struct{} `type:"structure"`
18409
18410	// The language code.
18411	//
18412	//    * en - English (default)
18413	//
18414	//    * jp - Japanese
18415	//
18416	//    * zh - Chinese
18417	AcceptLanguage *string `type:"string"`
18418
18419	// The portfolio identifier.
18420	//
18421	// PortfolioId is a required field
18422	PortfolioId *string `min:"1" type:"string" required:"true"`
18423
18424	// The type of shared portfolios to reject. The default is to reject imported
18425	// portfolios.
18426	//
18427	//    * AWS_ORGANIZATIONS - Reject portfolios shared by the management account
18428	//    of your organization.
18429	//
18430	//    * IMPORTED - Reject imported portfolios.
18431	//
18432	//    * AWS_SERVICECATALOG - Not supported. (Throws ResourceNotFoundException.)
18433	//
18434	// For example, aws servicecatalog reject-portfolio-share --portfolio-id "port-2qwzkwxt3y5fk"
18435	// --portfolio-share-type AWS_ORGANIZATIONS
18436	PortfolioShareType *string `type:"string" enum:"PortfolioShareType"`
18437}
18438
18439// String returns the string representation
18440func (s RejectPortfolioShareInput) String() string {
18441	return awsutil.Prettify(s)
18442}
18443
18444// GoString returns the string representation
18445func (s RejectPortfolioShareInput) GoString() string {
18446	return s.String()
18447}
18448
18449// Validate inspects the fields of the type to determine if they are valid.
18450func (s *RejectPortfolioShareInput) Validate() error {
18451	invalidParams := request.ErrInvalidParams{Context: "RejectPortfolioShareInput"}
18452	if s.PortfolioId == nil {
18453		invalidParams.Add(request.NewErrParamRequired("PortfolioId"))
18454	}
18455	if s.PortfolioId != nil && len(*s.PortfolioId) < 1 {
18456		invalidParams.Add(request.NewErrParamMinLen("PortfolioId", 1))
18457	}
18458
18459	if invalidParams.Len() > 0 {
18460		return invalidParams
18461	}
18462	return nil
18463}
18464
18465// SetAcceptLanguage sets the AcceptLanguage field's value.
18466func (s *RejectPortfolioShareInput) SetAcceptLanguage(v string) *RejectPortfolioShareInput {
18467	s.AcceptLanguage = &v
18468	return s
18469}
18470
18471// SetPortfolioId sets the PortfolioId field's value.
18472func (s *RejectPortfolioShareInput) SetPortfolioId(v string) *RejectPortfolioShareInput {
18473	s.PortfolioId = &v
18474	return s
18475}
18476
18477// SetPortfolioShareType sets the PortfolioShareType field's value.
18478func (s *RejectPortfolioShareInput) SetPortfolioShareType(v string) *RejectPortfolioShareInput {
18479	s.PortfolioShareType = &v
18480	return s
18481}
18482
18483type RejectPortfolioShareOutput struct {
18484	_ struct{} `type:"structure"`
18485}
18486
18487// String returns the string representation
18488func (s RejectPortfolioShareOutput) String() string {
18489	return awsutil.Prettify(s)
18490}
18491
18492// GoString returns the string representation
18493func (s RejectPortfolioShareOutput) GoString() string {
18494	return s.String()
18495}
18496
18497// Information about a resource change that will occur when a plan is executed.
18498type ResourceChange struct {
18499	_ struct{} `type:"structure"`
18500
18501	// The change action.
18502	Action *string `type:"string" enum:"ChangeAction"`
18503
18504	// Information about the resource changes.
18505	Details []*ResourceChangeDetail `type:"list"`
18506
18507	// The ID of the resource, as defined in the CloudFormation template.
18508	LogicalResourceId *string `type:"string"`
18509
18510	// The ID of the resource, if it was already created.
18511	PhysicalResourceId *string `type:"string"`
18512
18513	// If the change type is Modify, indicates whether the existing resource is
18514	// deleted and replaced with a new one.
18515	Replacement *string `type:"string" enum:"Replacement"`
18516
18517	// The type of resource.
18518	ResourceType *string `min:"1" type:"string"`
18519
18520	// The change scope.
18521	Scope []*string `type:"list"`
18522}
18523
18524// String returns the string representation
18525func (s ResourceChange) String() string {
18526	return awsutil.Prettify(s)
18527}
18528
18529// GoString returns the string representation
18530func (s ResourceChange) GoString() string {
18531	return s.String()
18532}
18533
18534// SetAction sets the Action field's value.
18535func (s *ResourceChange) SetAction(v string) *ResourceChange {
18536	s.Action = &v
18537	return s
18538}
18539
18540// SetDetails sets the Details field's value.
18541func (s *ResourceChange) SetDetails(v []*ResourceChangeDetail) *ResourceChange {
18542	s.Details = v
18543	return s
18544}
18545
18546// SetLogicalResourceId sets the LogicalResourceId field's value.
18547func (s *ResourceChange) SetLogicalResourceId(v string) *ResourceChange {
18548	s.LogicalResourceId = &v
18549	return s
18550}
18551
18552// SetPhysicalResourceId sets the PhysicalResourceId field's value.
18553func (s *ResourceChange) SetPhysicalResourceId(v string) *ResourceChange {
18554	s.PhysicalResourceId = &v
18555	return s
18556}
18557
18558// SetReplacement sets the Replacement field's value.
18559func (s *ResourceChange) SetReplacement(v string) *ResourceChange {
18560	s.Replacement = &v
18561	return s
18562}
18563
18564// SetResourceType sets the ResourceType field's value.
18565func (s *ResourceChange) SetResourceType(v string) *ResourceChange {
18566	s.ResourceType = &v
18567	return s
18568}
18569
18570// SetScope sets the Scope field's value.
18571func (s *ResourceChange) SetScope(v []*string) *ResourceChange {
18572	s.Scope = v
18573	return s
18574}
18575
18576// Information about a change to a resource attribute.
18577type ResourceChangeDetail struct {
18578	_ struct{} `type:"structure"`
18579
18580	// The ID of the entity that caused the change.
18581	CausingEntity *string `type:"string"`
18582
18583	// For static evaluations, the value of the resource attribute will change and
18584	// the new value is known. For dynamic evaluations, the value might change,
18585	// and any new value will be determined when the plan is updated.
18586	Evaluation *string `type:"string" enum:"EvaluationType"`
18587
18588	// Information about the resource attribute to be modified.
18589	Target *ResourceTargetDefinition `type:"structure"`
18590}
18591
18592// String returns the string representation
18593func (s ResourceChangeDetail) String() string {
18594	return awsutil.Prettify(s)
18595}
18596
18597// GoString returns the string representation
18598func (s ResourceChangeDetail) GoString() string {
18599	return s.String()
18600}
18601
18602// SetCausingEntity sets the CausingEntity field's value.
18603func (s *ResourceChangeDetail) SetCausingEntity(v string) *ResourceChangeDetail {
18604	s.CausingEntity = &v
18605	return s
18606}
18607
18608// SetEvaluation sets the Evaluation field's value.
18609func (s *ResourceChangeDetail) SetEvaluation(v string) *ResourceChangeDetail {
18610	s.Evaluation = &v
18611	return s
18612}
18613
18614// SetTarget sets the Target field's value.
18615func (s *ResourceChangeDetail) SetTarget(v *ResourceTargetDefinition) *ResourceChangeDetail {
18616	s.Target = v
18617	return s
18618}
18619
18620// Information about a resource.
18621type ResourceDetail struct {
18622	_ struct{} `type:"structure"`
18623
18624	// The ARN of the resource.
18625	ARN *string `type:"string"`
18626
18627	// The creation time of the resource.
18628	CreatedTime *time.Time `type:"timestamp"`
18629
18630	// The description of the resource.
18631	Description *string `type:"string"`
18632
18633	// The identifier of the resource.
18634	Id *string `type:"string"`
18635
18636	// The name of the resource.
18637	Name *string `type:"string"`
18638}
18639
18640// String returns the string representation
18641func (s ResourceDetail) String() string {
18642	return awsutil.Prettify(s)
18643}
18644
18645// GoString returns the string representation
18646func (s ResourceDetail) GoString() string {
18647	return s.String()
18648}
18649
18650// SetARN sets the ARN field's value.
18651func (s *ResourceDetail) SetARN(v string) *ResourceDetail {
18652	s.ARN = &v
18653	return s
18654}
18655
18656// SetCreatedTime sets the CreatedTime field's value.
18657func (s *ResourceDetail) SetCreatedTime(v time.Time) *ResourceDetail {
18658	s.CreatedTime = &v
18659	return s
18660}
18661
18662// SetDescription sets the Description field's value.
18663func (s *ResourceDetail) SetDescription(v string) *ResourceDetail {
18664	s.Description = &v
18665	return s
18666}
18667
18668// SetId sets the Id field's value.
18669func (s *ResourceDetail) SetId(v string) *ResourceDetail {
18670	s.Id = &v
18671	return s
18672}
18673
18674// SetName sets the Name field's value.
18675func (s *ResourceDetail) SetName(v string) *ResourceDetail {
18676	s.Name = &v
18677	return s
18678}
18679
18680// A resource that is currently in use. Ensure that the resource is not in use
18681// and retry the operation.
18682type ResourceInUseException struct {
18683	_            struct{}                  `type:"structure"`
18684	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
18685
18686	Message_ *string `locationName:"message" type:"string"`
18687}
18688
18689// String returns the string representation
18690func (s ResourceInUseException) String() string {
18691	return awsutil.Prettify(s)
18692}
18693
18694// GoString returns the string representation
18695func (s ResourceInUseException) GoString() string {
18696	return s.String()
18697}
18698
18699func newErrorResourceInUseException(v protocol.ResponseMetadata) error {
18700	return &ResourceInUseException{
18701		RespMetadata: v,
18702	}
18703}
18704
18705// Code returns the exception type name.
18706func (s *ResourceInUseException) Code() string {
18707	return "ResourceInUseException"
18708}
18709
18710// Message returns the exception's message.
18711func (s *ResourceInUseException) Message() string {
18712	if s.Message_ != nil {
18713		return *s.Message_
18714	}
18715	return ""
18716}
18717
18718// OrigErr always returns nil, satisfies awserr.Error interface.
18719func (s *ResourceInUseException) OrigErr() error {
18720	return nil
18721}
18722
18723func (s *ResourceInUseException) Error() string {
18724	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
18725}
18726
18727// Status code returns the HTTP status code for the request's response error.
18728func (s *ResourceInUseException) StatusCode() int {
18729	return s.RespMetadata.StatusCode
18730}
18731
18732// RequestID returns the service's response RequestID for request.
18733func (s *ResourceInUseException) RequestID() string {
18734	return s.RespMetadata.RequestID
18735}
18736
18737// The specified resource was not found.
18738type ResourceNotFoundException struct {
18739	_            struct{}                  `type:"structure"`
18740	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
18741
18742	Message_ *string `locationName:"message" type:"string"`
18743}
18744
18745// String returns the string representation
18746func (s ResourceNotFoundException) String() string {
18747	return awsutil.Prettify(s)
18748}
18749
18750// GoString returns the string representation
18751func (s ResourceNotFoundException) GoString() string {
18752	return s.String()
18753}
18754
18755func newErrorResourceNotFoundException(v protocol.ResponseMetadata) error {
18756	return &ResourceNotFoundException{
18757		RespMetadata: v,
18758	}
18759}
18760
18761// Code returns the exception type name.
18762func (s *ResourceNotFoundException) Code() string {
18763	return "ResourceNotFoundException"
18764}
18765
18766// Message returns the exception's message.
18767func (s *ResourceNotFoundException) Message() string {
18768	if s.Message_ != nil {
18769		return *s.Message_
18770	}
18771	return ""
18772}
18773
18774// OrigErr always returns nil, satisfies awserr.Error interface.
18775func (s *ResourceNotFoundException) OrigErr() error {
18776	return nil
18777}
18778
18779func (s *ResourceNotFoundException) Error() string {
18780	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
18781}
18782
18783// Status code returns the HTTP status code for the request's response error.
18784func (s *ResourceNotFoundException) StatusCode() int {
18785	return s.RespMetadata.StatusCode
18786}
18787
18788// RequestID returns the service's response RequestID for request.
18789func (s *ResourceNotFoundException) RequestID() string {
18790	return s.RespMetadata.RequestID
18791}
18792
18793// Information about a change to a resource attribute.
18794type ResourceTargetDefinition struct {
18795	_ struct{} `type:"structure"`
18796
18797	// The attribute to be changed.
18798	Attribute *string `type:"string" enum:"ResourceAttribute"`
18799
18800	// If the attribute is Properties, the value is the name of the property. Otherwise,
18801	// the value is null.
18802	Name *string `type:"string"`
18803
18804	// If the attribute is Properties, indicates whether a change to this property
18805	// causes the resource to be re-created.
18806	RequiresRecreation *string `type:"string" enum:"RequiresRecreation"`
18807}
18808
18809// String returns the string representation
18810func (s ResourceTargetDefinition) String() string {
18811	return awsutil.Prettify(s)
18812}
18813
18814// GoString returns the string representation
18815func (s ResourceTargetDefinition) GoString() string {
18816	return s.String()
18817}
18818
18819// SetAttribute sets the Attribute field's value.
18820func (s *ResourceTargetDefinition) SetAttribute(v string) *ResourceTargetDefinition {
18821	s.Attribute = &v
18822	return s
18823}
18824
18825// SetName sets the Name field's value.
18826func (s *ResourceTargetDefinition) SetName(v string) *ResourceTargetDefinition {
18827	s.Name = &v
18828	return s
18829}
18830
18831// SetRequiresRecreation sets the RequiresRecreation field's value.
18832func (s *ResourceTargetDefinition) SetRequiresRecreation(v string) *ResourceTargetDefinition {
18833	s.RequiresRecreation = &v
18834	return s
18835}
18836
18837type ScanProvisionedProductsInput struct {
18838	_ struct{} `type:"structure"`
18839
18840	// The language code.
18841	//
18842	//    * en - English (default)
18843	//
18844	//    * jp - Japanese
18845	//
18846	//    * zh - Chinese
18847	AcceptLanguage *string `type:"string"`
18848
18849	// The access level to use to obtain results. The default is User.
18850	AccessLevelFilter *AccessLevelFilter `type:"structure"`
18851
18852	// The maximum number of items to return with this call.
18853	PageSize *int64 `type:"integer"`
18854
18855	// The page token for the next set of results. To retrieve the first set of
18856	// results, use null.
18857	PageToken *string `type:"string"`
18858}
18859
18860// String returns the string representation
18861func (s ScanProvisionedProductsInput) String() string {
18862	return awsutil.Prettify(s)
18863}
18864
18865// GoString returns the string representation
18866func (s ScanProvisionedProductsInput) GoString() string {
18867	return s.String()
18868}
18869
18870// SetAcceptLanguage sets the AcceptLanguage field's value.
18871func (s *ScanProvisionedProductsInput) SetAcceptLanguage(v string) *ScanProvisionedProductsInput {
18872	s.AcceptLanguage = &v
18873	return s
18874}
18875
18876// SetAccessLevelFilter sets the AccessLevelFilter field's value.
18877func (s *ScanProvisionedProductsInput) SetAccessLevelFilter(v *AccessLevelFilter) *ScanProvisionedProductsInput {
18878	s.AccessLevelFilter = v
18879	return s
18880}
18881
18882// SetPageSize sets the PageSize field's value.
18883func (s *ScanProvisionedProductsInput) SetPageSize(v int64) *ScanProvisionedProductsInput {
18884	s.PageSize = &v
18885	return s
18886}
18887
18888// SetPageToken sets the PageToken field's value.
18889func (s *ScanProvisionedProductsInput) SetPageToken(v string) *ScanProvisionedProductsInput {
18890	s.PageToken = &v
18891	return s
18892}
18893
18894type ScanProvisionedProductsOutput struct {
18895	_ struct{} `type:"structure"`
18896
18897	// The page token to use to retrieve the next set of results. If there are no
18898	// additional results, this value is null.
18899	NextPageToken *string `type:"string"`
18900
18901	// Information about the provisioned products.
18902	ProvisionedProducts []*ProvisionedProductDetail `type:"list"`
18903}
18904
18905// String returns the string representation
18906func (s ScanProvisionedProductsOutput) String() string {
18907	return awsutil.Prettify(s)
18908}
18909
18910// GoString returns the string representation
18911func (s ScanProvisionedProductsOutput) GoString() string {
18912	return s.String()
18913}
18914
18915// SetNextPageToken sets the NextPageToken field's value.
18916func (s *ScanProvisionedProductsOutput) SetNextPageToken(v string) *ScanProvisionedProductsOutput {
18917	s.NextPageToken = &v
18918	return s
18919}
18920
18921// SetProvisionedProducts sets the ProvisionedProducts field's value.
18922func (s *ScanProvisionedProductsOutput) SetProvisionedProducts(v []*ProvisionedProductDetail) *ScanProvisionedProductsOutput {
18923	s.ProvisionedProducts = v
18924	return s
18925}
18926
18927type SearchProductsAsAdminInput struct {
18928	_ struct{} `type:"structure"`
18929
18930	// The language code.
18931	//
18932	//    * en - English (default)
18933	//
18934	//    * jp - Japanese
18935	//
18936	//    * zh - Chinese
18937	AcceptLanguage *string `type:"string"`
18938
18939	// The search filters. If no search filters are specified, the output includes
18940	// all products to which the administrator has access.
18941	Filters map[string][]*string `type:"map"`
18942
18943	// The maximum number of items to return with this call.
18944	PageSize *int64 `type:"integer"`
18945
18946	// The page token for the next set of results. To retrieve the first set of
18947	// results, use null.
18948	PageToken *string `type:"string"`
18949
18950	// The portfolio identifier.
18951	PortfolioId *string `min:"1" type:"string"`
18952
18953	// Access level of the source of the product.
18954	ProductSource *string `type:"string" enum:"ProductSource"`
18955
18956	// The sort field. If no value is specified, the results are not sorted.
18957	SortBy *string `type:"string" enum:"ProductViewSortBy"`
18958
18959	// The sort order. If no value is specified, the results are not sorted.
18960	SortOrder *string `type:"string" enum:"SortOrder"`
18961}
18962
18963// String returns the string representation
18964func (s SearchProductsAsAdminInput) String() string {
18965	return awsutil.Prettify(s)
18966}
18967
18968// GoString returns the string representation
18969func (s SearchProductsAsAdminInput) GoString() string {
18970	return s.String()
18971}
18972
18973// Validate inspects the fields of the type to determine if they are valid.
18974func (s *SearchProductsAsAdminInput) Validate() error {
18975	invalidParams := request.ErrInvalidParams{Context: "SearchProductsAsAdminInput"}
18976	if s.PortfolioId != nil && len(*s.PortfolioId) < 1 {
18977		invalidParams.Add(request.NewErrParamMinLen("PortfolioId", 1))
18978	}
18979
18980	if invalidParams.Len() > 0 {
18981		return invalidParams
18982	}
18983	return nil
18984}
18985
18986// SetAcceptLanguage sets the AcceptLanguage field's value.
18987func (s *SearchProductsAsAdminInput) SetAcceptLanguage(v string) *SearchProductsAsAdminInput {
18988	s.AcceptLanguage = &v
18989	return s
18990}
18991
18992// SetFilters sets the Filters field's value.
18993func (s *SearchProductsAsAdminInput) SetFilters(v map[string][]*string) *SearchProductsAsAdminInput {
18994	s.Filters = v
18995	return s
18996}
18997
18998// SetPageSize sets the PageSize field's value.
18999func (s *SearchProductsAsAdminInput) SetPageSize(v int64) *SearchProductsAsAdminInput {
19000	s.PageSize = &v
19001	return s
19002}
19003
19004// SetPageToken sets the PageToken field's value.
19005func (s *SearchProductsAsAdminInput) SetPageToken(v string) *SearchProductsAsAdminInput {
19006	s.PageToken = &v
19007	return s
19008}
19009
19010// SetPortfolioId sets the PortfolioId field's value.
19011func (s *SearchProductsAsAdminInput) SetPortfolioId(v string) *SearchProductsAsAdminInput {
19012	s.PortfolioId = &v
19013	return s
19014}
19015
19016// SetProductSource sets the ProductSource field's value.
19017func (s *SearchProductsAsAdminInput) SetProductSource(v string) *SearchProductsAsAdminInput {
19018	s.ProductSource = &v
19019	return s
19020}
19021
19022// SetSortBy sets the SortBy field's value.
19023func (s *SearchProductsAsAdminInput) SetSortBy(v string) *SearchProductsAsAdminInput {
19024	s.SortBy = &v
19025	return s
19026}
19027
19028// SetSortOrder sets the SortOrder field's value.
19029func (s *SearchProductsAsAdminInput) SetSortOrder(v string) *SearchProductsAsAdminInput {
19030	s.SortOrder = &v
19031	return s
19032}
19033
19034type SearchProductsAsAdminOutput struct {
19035	_ struct{} `type:"structure"`
19036
19037	// The page token to use to retrieve the next set of results. If there are no
19038	// additional results, this value is null.
19039	NextPageToken *string `type:"string"`
19040
19041	// Information about the product views.
19042	ProductViewDetails []*ProductViewDetail `type:"list"`
19043}
19044
19045// String returns the string representation
19046func (s SearchProductsAsAdminOutput) String() string {
19047	return awsutil.Prettify(s)
19048}
19049
19050// GoString returns the string representation
19051func (s SearchProductsAsAdminOutput) GoString() string {
19052	return s.String()
19053}
19054
19055// SetNextPageToken sets the NextPageToken field's value.
19056func (s *SearchProductsAsAdminOutput) SetNextPageToken(v string) *SearchProductsAsAdminOutput {
19057	s.NextPageToken = &v
19058	return s
19059}
19060
19061// SetProductViewDetails sets the ProductViewDetails field's value.
19062func (s *SearchProductsAsAdminOutput) SetProductViewDetails(v []*ProductViewDetail) *SearchProductsAsAdminOutput {
19063	s.ProductViewDetails = v
19064	return s
19065}
19066
19067type SearchProductsInput struct {
19068	_ struct{} `type:"structure"`
19069
19070	// The language code.
19071	//
19072	//    * en - English (default)
19073	//
19074	//    * jp - Japanese
19075	//
19076	//    * zh - Chinese
19077	AcceptLanguage *string `type:"string"`
19078
19079	// The search filters. If no search filters are specified, the output includes
19080	// all products to which the caller has access.
19081	Filters map[string][]*string `type:"map"`
19082
19083	// The maximum number of items to return with this call.
19084	PageSize *int64 `type:"integer"`
19085
19086	// The page token for the next set of results. To retrieve the first set of
19087	// results, use null.
19088	PageToken *string `type:"string"`
19089
19090	// The sort field. If no value is specified, the results are not sorted.
19091	SortBy *string `type:"string" enum:"ProductViewSortBy"`
19092
19093	// The sort order. If no value is specified, the results are not sorted.
19094	SortOrder *string `type:"string" enum:"SortOrder"`
19095}
19096
19097// String returns the string representation
19098func (s SearchProductsInput) String() string {
19099	return awsutil.Prettify(s)
19100}
19101
19102// GoString returns the string representation
19103func (s SearchProductsInput) GoString() string {
19104	return s.String()
19105}
19106
19107// SetAcceptLanguage sets the AcceptLanguage field's value.
19108func (s *SearchProductsInput) SetAcceptLanguage(v string) *SearchProductsInput {
19109	s.AcceptLanguage = &v
19110	return s
19111}
19112
19113// SetFilters sets the Filters field's value.
19114func (s *SearchProductsInput) SetFilters(v map[string][]*string) *SearchProductsInput {
19115	s.Filters = v
19116	return s
19117}
19118
19119// SetPageSize sets the PageSize field's value.
19120func (s *SearchProductsInput) SetPageSize(v int64) *SearchProductsInput {
19121	s.PageSize = &v
19122	return s
19123}
19124
19125// SetPageToken sets the PageToken field's value.
19126func (s *SearchProductsInput) SetPageToken(v string) *SearchProductsInput {
19127	s.PageToken = &v
19128	return s
19129}
19130
19131// SetSortBy sets the SortBy field's value.
19132func (s *SearchProductsInput) SetSortBy(v string) *SearchProductsInput {
19133	s.SortBy = &v
19134	return s
19135}
19136
19137// SetSortOrder sets the SortOrder field's value.
19138func (s *SearchProductsInput) SetSortOrder(v string) *SearchProductsInput {
19139	s.SortOrder = &v
19140	return s
19141}
19142
19143type SearchProductsOutput struct {
19144	_ struct{} `type:"structure"`
19145
19146	// The page token to use to retrieve the next set of results. If there are no
19147	// additional results, this value is null.
19148	NextPageToken *string `type:"string"`
19149
19150	// The product view aggregations.
19151	ProductViewAggregations map[string][]*ProductViewAggregationValue `type:"map"`
19152
19153	// Information about the product views.
19154	ProductViewSummaries []*ProductViewSummary `type:"list"`
19155}
19156
19157// String returns the string representation
19158func (s SearchProductsOutput) String() string {
19159	return awsutil.Prettify(s)
19160}
19161
19162// GoString returns the string representation
19163func (s SearchProductsOutput) GoString() string {
19164	return s.String()
19165}
19166
19167// SetNextPageToken sets the NextPageToken field's value.
19168func (s *SearchProductsOutput) SetNextPageToken(v string) *SearchProductsOutput {
19169	s.NextPageToken = &v
19170	return s
19171}
19172
19173// SetProductViewAggregations sets the ProductViewAggregations field's value.
19174func (s *SearchProductsOutput) SetProductViewAggregations(v map[string][]*ProductViewAggregationValue) *SearchProductsOutput {
19175	s.ProductViewAggregations = v
19176	return s
19177}
19178
19179// SetProductViewSummaries sets the ProductViewSummaries field's value.
19180func (s *SearchProductsOutput) SetProductViewSummaries(v []*ProductViewSummary) *SearchProductsOutput {
19181	s.ProductViewSummaries = v
19182	return s
19183}
19184
19185type SearchProvisionedProductsInput struct {
19186	_ struct{} `type:"structure"`
19187
19188	// The language code.
19189	//
19190	//    * en - English (default)
19191	//
19192	//    * jp - Japanese
19193	//
19194	//    * zh - Chinese
19195	AcceptLanguage *string `type:"string"`
19196
19197	// The access level to use to obtain results. The default is User.
19198	AccessLevelFilter *AccessLevelFilter `type:"structure"`
19199
19200	// The search filters.
19201	//
19202	// When the key is SearchQuery, the searchable fields are arn, createdTime,
19203	// id, lastRecordId, idempotencyToken, name, physicalId, productId, provisioningArtifact,
19204	// type, status, tags, userArn, userArnSession, lastProvisioningRecordId, lastSuccessfulProvisioningRecordId,
19205	// productName, and provisioningArtifactName.
19206	//
19207	// Example: "SearchQuery":["status:AVAILABLE"]
19208	Filters map[string][]*string `type:"map"`
19209
19210	// The maximum number of items to return with this call.
19211	PageSize *int64 `type:"integer"`
19212
19213	// The page token for the next set of results. To retrieve the first set of
19214	// results, use null.
19215	PageToken *string `type:"string"`
19216
19217	// The sort field. If no value is specified, the results are not sorted. The
19218	// valid values are arn, id, name, and lastRecordId.
19219	SortBy *string `type:"string"`
19220
19221	// The sort order. If no value is specified, the results are not sorted.
19222	SortOrder *string `type:"string" enum:"SortOrder"`
19223}
19224
19225// String returns the string representation
19226func (s SearchProvisionedProductsInput) String() string {
19227	return awsutil.Prettify(s)
19228}
19229
19230// GoString returns the string representation
19231func (s SearchProvisionedProductsInput) GoString() string {
19232	return s.String()
19233}
19234
19235// SetAcceptLanguage sets the AcceptLanguage field's value.
19236func (s *SearchProvisionedProductsInput) SetAcceptLanguage(v string) *SearchProvisionedProductsInput {
19237	s.AcceptLanguage = &v
19238	return s
19239}
19240
19241// SetAccessLevelFilter sets the AccessLevelFilter field's value.
19242func (s *SearchProvisionedProductsInput) SetAccessLevelFilter(v *AccessLevelFilter) *SearchProvisionedProductsInput {
19243	s.AccessLevelFilter = v
19244	return s
19245}
19246
19247// SetFilters sets the Filters field's value.
19248func (s *SearchProvisionedProductsInput) SetFilters(v map[string][]*string) *SearchProvisionedProductsInput {
19249	s.Filters = v
19250	return s
19251}
19252
19253// SetPageSize sets the PageSize field's value.
19254func (s *SearchProvisionedProductsInput) SetPageSize(v int64) *SearchProvisionedProductsInput {
19255	s.PageSize = &v
19256	return s
19257}
19258
19259// SetPageToken sets the PageToken field's value.
19260func (s *SearchProvisionedProductsInput) SetPageToken(v string) *SearchProvisionedProductsInput {
19261	s.PageToken = &v
19262	return s
19263}
19264
19265// SetSortBy sets the SortBy field's value.
19266func (s *SearchProvisionedProductsInput) SetSortBy(v string) *SearchProvisionedProductsInput {
19267	s.SortBy = &v
19268	return s
19269}
19270
19271// SetSortOrder sets the SortOrder field's value.
19272func (s *SearchProvisionedProductsInput) SetSortOrder(v string) *SearchProvisionedProductsInput {
19273	s.SortOrder = &v
19274	return s
19275}
19276
19277type SearchProvisionedProductsOutput struct {
19278	_ struct{} `type:"structure"`
19279
19280	// The page token to use to retrieve the next set of results. If there are no
19281	// additional results, this value is null.
19282	NextPageToken *string `type:"string"`
19283
19284	// Information about the provisioned products.
19285	ProvisionedProducts []*ProvisionedProductAttribute `type:"list"`
19286
19287	// The number of provisioned products found.
19288	TotalResultsCount *int64 `type:"integer"`
19289}
19290
19291// String returns the string representation
19292func (s SearchProvisionedProductsOutput) String() string {
19293	return awsutil.Prettify(s)
19294}
19295
19296// GoString returns the string representation
19297func (s SearchProvisionedProductsOutput) GoString() string {
19298	return s.String()
19299}
19300
19301// SetNextPageToken sets the NextPageToken field's value.
19302func (s *SearchProvisionedProductsOutput) SetNextPageToken(v string) *SearchProvisionedProductsOutput {
19303	s.NextPageToken = &v
19304	return s
19305}
19306
19307// SetProvisionedProducts sets the ProvisionedProducts field's value.
19308func (s *SearchProvisionedProductsOutput) SetProvisionedProducts(v []*ProvisionedProductAttribute) *SearchProvisionedProductsOutput {
19309	s.ProvisionedProducts = v
19310	return s
19311}
19312
19313// SetTotalResultsCount sets the TotalResultsCount field's value.
19314func (s *SearchProvisionedProductsOutput) SetTotalResultsCount(v int64) *SearchProvisionedProductsOutput {
19315	s.TotalResultsCount = &v
19316	return s
19317}
19318
19319// A self-service action association consisting of the Action ID, the Product
19320// ID, and the Provisioning Artifact ID.
19321type ServiceActionAssociation struct {
19322	_ struct{} `type:"structure"`
19323
19324	// The product identifier. For example, prod-abcdzk7xy33qa.
19325	//
19326	// ProductId is a required field
19327	ProductId *string `min:"1" type:"string" required:"true"`
19328
19329	// The identifier of the provisioning artifact. For example, pa-4abcdjnxjj6ne.
19330	//
19331	// ProvisioningArtifactId is a required field
19332	ProvisioningArtifactId *string `min:"1" type:"string" required:"true"`
19333
19334	// The self-service action identifier. For example, act-fs7abcd89wxyz.
19335	//
19336	// ServiceActionId is a required field
19337	ServiceActionId *string `min:"1" type:"string" required:"true"`
19338}
19339
19340// String returns the string representation
19341func (s ServiceActionAssociation) String() string {
19342	return awsutil.Prettify(s)
19343}
19344
19345// GoString returns the string representation
19346func (s ServiceActionAssociation) GoString() string {
19347	return s.String()
19348}
19349
19350// Validate inspects the fields of the type to determine if they are valid.
19351func (s *ServiceActionAssociation) Validate() error {
19352	invalidParams := request.ErrInvalidParams{Context: "ServiceActionAssociation"}
19353	if s.ProductId == nil {
19354		invalidParams.Add(request.NewErrParamRequired("ProductId"))
19355	}
19356	if s.ProductId != nil && len(*s.ProductId) < 1 {
19357		invalidParams.Add(request.NewErrParamMinLen("ProductId", 1))
19358	}
19359	if s.ProvisioningArtifactId == nil {
19360		invalidParams.Add(request.NewErrParamRequired("ProvisioningArtifactId"))
19361	}
19362	if s.ProvisioningArtifactId != nil && len(*s.ProvisioningArtifactId) < 1 {
19363		invalidParams.Add(request.NewErrParamMinLen("ProvisioningArtifactId", 1))
19364	}
19365	if s.ServiceActionId == nil {
19366		invalidParams.Add(request.NewErrParamRequired("ServiceActionId"))
19367	}
19368	if s.ServiceActionId != nil && len(*s.ServiceActionId) < 1 {
19369		invalidParams.Add(request.NewErrParamMinLen("ServiceActionId", 1))
19370	}
19371
19372	if invalidParams.Len() > 0 {
19373		return invalidParams
19374	}
19375	return nil
19376}
19377
19378// SetProductId sets the ProductId field's value.
19379func (s *ServiceActionAssociation) SetProductId(v string) *ServiceActionAssociation {
19380	s.ProductId = &v
19381	return s
19382}
19383
19384// SetProvisioningArtifactId sets the ProvisioningArtifactId field's value.
19385func (s *ServiceActionAssociation) SetProvisioningArtifactId(v string) *ServiceActionAssociation {
19386	s.ProvisioningArtifactId = &v
19387	return s
19388}
19389
19390// SetServiceActionId sets the ServiceActionId field's value.
19391func (s *ServiceActionAssociation) SetServiceActionId(v string) *ServiceActionAssociation {
19392	s.ServiceActionId = &v
19393	return s
19394}
19395
19396// An object containing detailed information about the self-service action.
19397type ServiceActionDetail struct {
19398	_ struct{} `type:"structure"`
19399
19400	// A map that defines the self-service action.
19401	Definition map[string]*string `min:"1" type:"map"`
19402
19403	// Summary information about the self-service action.
19404	ServiceActionSummary *ServiceActionSummary `type:"structure"`
19405}
19406
19407// String returns the string representation
19408func (s ServiceActionDetail) String() string {
19409	return awsutil.Prettify(s)
19410}
19411
19412// GoString returns the string representation
19413func (s ServiceActionDetail) GoString() string {
19414	return s.String()
19415}
19416
19417// SetDefinition sets the Definition field's value.
19418func (s *ServiceActionDetail) SetDefinition(v map[string]*string) *ServiceActionDetail {
19419	s.Definition = v
19420	return s
19421}
19422
19423// SetServiceActionSummary sets the ServiceActionSummary field's value.
19424func (s *ServiceActionDetail) SetServiceActionSummary(v *ServiceActionSummary) *ServiceActionDetail {
19425	s.ServiceActionSummary = v
19426	return s
19427}
19428
19429// Detailed information about the self-service action.
19430type ServiceActionSummary struct {
19431	_ struct{} `type:"structure"`
19432
19433	// The self-service action definition type. For example, SSM_AUTOMATION.
19434	DefinitionType *string `type:"string" enum:"ServiceActionDefinitionType"`
19435
19436	// The self-service action description.
19437	Description *string `type:"string"`
19438
19439	// The self-service action identifier.
19440	Id *string `min:"1" type:"string"`
19441
19442	// The self-service action name.
19443	Name *string `min:"1" type:"string"`
19444}
19445
19446// String returns the string representation
19447func (s ServiceActionSummary) String() string {
19448	return awsutil.Prettify(s)
19449}
19450
19451// GoString returns the string representation
19452func (s ServiceActionSummary) GoString() string {
19453	return s.String()
19454}
19455
19456// SetDefinitionType sets the DefinitionType field's value.
19457func (s *ServiceActionSummary) SetDefinitionType(v string) *ServiceActionSummary {
19458	s.DefinitionType = &v
19459	return s
19460}
19461
19462// SetDescription sets the Description field's value.
19463func (s *ServiceActionSummary) SetDescription(v string) *ServiceActionSummary {
19464	s.Description = &v
19465	return s
19466}
19467
19468// SetId sets the Id field's value.
19469func (s *ServiceActionSummary) SetId(v string) *ServiceActionSummary {
19470	s.Id = &v
19471	return s
19472}
19473
19474// SetName sets the Name field's value.
19475func (s *ServiceActionSummary) SetName(v string) *ServiceActionSummary {
19476	s.Name = &v
19477	return s
19478}
19479
19480// Information about the portfolio share operation.
19481type ShareDetails struct {
19482	_ struct{} `type:"structure"`
19483
19484	// List of errors.
19485	ShareErrors []*ShareError `type:"list"`
19486
19487	// List of accounts for whom the operation succeeded.
19488	SuccessfulShares []*string `type:"list"`
19489}
19490
19491// String returns the string representation
19492func (s ShareDetails) String() string {
19493	return awsutil.Prettify(s)
19494}
19495
19496// GoString returns the string representation
19497func (s ShareDetails) GoString() string {
19498	return s.String()
19499}
19500
19501// SetShareErrors sets the ShareErrors field's value.
19502func (s *ShareDetails) SetShareErrors(v []*ShareError) *ShareDetails {
19503	s.ShareErrors = v
19504	return s
19505}
19506
19507// SetSuccessfulShares sets the SuccessfulShares field's value.
19508func (s *ShareDetails) SetSuccessfulShares(v []*string) *ShareDetails {
19509	s.SuccessfulShares = v
19510	return s
19511}
19512
19513// Errors that occurred during the portfolio share operation.
19514type ShareError struct {
19515	_ struct{} `type:"structure"`
19516
19517	// List of accounts impacted by the error.
19518	Accounts []*string `type:"list"`
19519
19520	// Error type that happened when processing the operation.
19521	Error *string `type:"string"`
19522
19523	// Information about the error.
19524	Message *string `type:"string"`
19525}
19526
19527// String returns the string representation
19528func (s ShareError) String() string {
19529	return awsutil.Prettify(s)
19530}
19531
19532// GoString returns the string representation
19533func (s ShareError) GoString() string {
19534	return s.String()
19535}
19536
19537// SetAccounts sets the Accounts field's value.
19538func (s *ShareError) SetAccounts(v []*string) *ShareError {
19539	s.Accounts = v
19540	return s
19541}
19542
19543// SetError sets the Error field's value.
19544func (s *ShareError) SetError(v string) *ShareError {
19545	s.Error = &v
19546	return s
19547}
19548
19549// SetMessage sets the Message field's value.
19550func (s *ShareError) SetMessage(v string) *ShareError {
19551	s.Message = &v
19552	return s
19553}
19554
19555// An AWS CloudFormation stack, in a specific account and region, that's part
19556// of a stack set operation. A stack instance is a reference to an attempted
19557// or actual stack in a given account within a given region. A stack instance
19558// can exist without a stack—for example, if the stack couldn't be created
19559// for some reason. A stack instance is associated with only one stack set.
19560// Each stack instance contains the ID of its associated stack set, as well
19561// as the ID of the actual stack and the stack status.
19562type StackInstance struct {
19563	_ struct{} `type:"structure"`
19564
19565	// The name of the AWS account that the stack instance is associated with.
19566	Account *string `type:"string"`
19567
19568	// The name of the AWS region that the stack instance is associated with.
19569	Region *string `type:"string"`
19570
19571	// The status of the stack instance, in terms of its synchronization with its
19572	// associated stack set.
19573	//
19574	//    * INOPERABLE: A DeleteStackInstances operation has failed and left the
19575	//    stack in an unstable state. Stacks in this state are excluded from further
19576	//    UpdateStackSet operations. You might need to perform a DeleteStackInstances
19577	//    operation, with RetainStacks set to true, to delete the stack instance,
19578	//    and then delete the stack manually.
19579	//
19580	//    * OUTDATED: The stack isn't currently up to date with the stack set because
19581	//    either the associated stack failed during a CreateStackSet or UpdateStackSet
19582	//    operation, or the stack was part of a CreateStackSet or UpdateStackSet
19583	//    operation that failed or was stopped before the stack was created or updated.
19584	//
19585	//    * CURRENT: The stack is currently up to date with the stack set.
19586	StackInstanceStatus *string `type:"string" enum:"StackInstanceStatus"`
19587}
19588
19589// String returns the string representation
19590func (s StackInstance) String() string {
19591	return awsutil.Prettify(s)
19592}
19593
19594// GoString returns the string representation
19595func (s StackInstance) GoString() string {
19596	return s.String()
19597}
19598
19599// SetAccount sets the Account field's value.
19600func (s *StackInstance) SetAccount(v string) *StackInstance {
19601	s.Account = &v
19602	return s
19603}
19604
19605// SetRegion sets the Region field's value.
19606func (s *StackInstance) SetRegion(v string) *StackInstance {
19607	s.Region = &v
19608	return s
19609}
19610
19611// SetStackInstanceStatus sets the StackInstanceStatus field's value.
19612func (s *StackInstance) SetStackInstanceStatus(v string) *StackInstance {
19613	s.StackInstanceStatus = &v
19614	return s
19615}
19616
19617// Information about a tag. A tag is a key-value pair. Tags are propagated to
19618// the resources created when provisioning a product.
19619type Tag struct {
19620	_ struct{} `type:"structure"`
19621
19622	// The tag key.
19623	//
19624	// Key is a required field
19625	Key *string `min:"1" type:"string" required:"true"`
19626
19627	// The value for this key.
19628	//
19629	// Value is a required field
19630	Value *string `min:"1" type:"string" required:"true"`
19631}
19632
19633// String returns the string representation
19634func (s Tag) String() string {
19635	return awsutil.Prettify(s)
19636}
19637
19638// GoString returns the string representation
19639func (s Tag) GoString() string {
19640	return s.String()
19641}
19642
19643// Validate inspects the fields of the type to determine if they are valid.
19644func (s *Tag) Validate() error {
19645	invalidParams := request.ErrInvalidParams{Context: "Tag"}
19646	if s.Key == nil {
19647		invalidParams.Add(request.NewErrParamRequired("Key"))
19648	}
19649	if s.Key != nil && len(*s.Key) < 1 {
19650		invalidParams.Add(request.NewErrParamMinLen("Key", 1))
19651	}
19652	if s.Value == nil {
19653		invalidParams.Add(request.NewErrParamRequired("Value"))
19654	}
19655	if s.Value != nil && len(*s.Value) < 1 {
19656		invalidParams.Add(request.NewErrParamMinLen("Value", 1))
19657	}
19658
19659	if invalidParams.Len() > 0 {
19660		return invalidParams
19661	}
19662	return nil
19663}
19664
19665// SetKey sets the Key field's value.
19666func (s *Tag) SetKey(v string) *Tag {
19667	s.Key = &v
19668	return s
19669}
19670
19671// SetValue sets the Value field's value.
19672func (s *Tag) SetValue(v string) *Tag {
19673	s.Value = &v
19674	return s
19675}
19676
19677// Information about a TagOption.
19678type TagOptionDetail struct {
19679	_ struct{} `type:"structure"`
19680
19681	// The TagOption active state.
19682	Active *bool `type:"boolean"`
19683
19684	// The TagOption identifier.
19685	Id *string `min:"1" type:"string"`
19686
19687	// The TagOption key.
19688	Key *string `min:"1" type:"string"`
19689
19690	// The TagOption value.
19691	Value *string `min:"1" type:"string"`
19692}
19693
19694// String returns the string representation
19695func (s TagOptionDetail) String() string {
19696	return awsutil.Prettify(s)
19697}
19698
19699// GoString returns the string representation
19700func (s TagOptionDetail) GoString() string {
19701	return s.String()
19702}
19703
19704// SetActive sets the Active field's value.
19705func (s *TagOptionDetail) SetActive(v bool) *TagOptionDetail {
19706	s.Active = &v
19707	return s
19708}
19709
19710// SetId sets the Id field's value.
19711func (s *TagOptionDetail) SetId(v string) *TagOptionDetail {
19712	s.Id = &v
19713	return s
19714}
19715
19716// SetKey sets the Key field's value.
19717func (s *TagOptionDetail) SetKey(v string) *TagOptionDetail {
19718	s.Key = &v
19719	return s
19720}
19721
19722// SetValue sets the Value field's value.
19723func (s *TagOptionDetail) SetValue(v string) *TagOptionDetail {
19724	s.Value = &v
19725	return s
19726}
19727
19728// An operation requiring TagOptions failed because the TagOptions migration
19729// process has not been performed for this account. Please use the AWS console
19730// to perform the migration process before retrying the operation.
19731type TagOptionNotMigratedException struct {
19732	_            struct{}                  `type:"structure"`
19733	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
19734
19735	Message_ *string `locationName:"message" type:"string"`
19736}
19737
19738// String returns the string representation
19739func (s TagOptionNotMigratedException) String() string {
19740	return awsutil.Prettify(s)
19741}
19742
19743// GoString returns the string representation
19744func (s TagOptionNotMigratedException) GoString() string {
19745	return s.String()
19746}
19747
19748func newErrorTagOptionNotMigratedException(v protocol.ResponseMetadata) error {
19749	return &TagOptionNotMigratedException{
19750		RespMetadata: v,
19751	}
19752}
19753
19754// Code returns the exception type name.
19755func (s *TagOptionNotMigratedException) Code() string {
19756	return "TagOptionNotMigratedException"
19757}
19758
19759// Message returns the exception's message.
19760func (s *TagOptionNotMigratedException) Message() string {
19761	if s.Message_ != nil {
19762		return *s.Message_
19763	}
19764	return ""
19765}
19766
19767// OrigErr always returns nil, satisfies awserr.Error interface.
19768func (s *TagOptionNotMigratedException) OrigErr() error {
19769	return nil
19770}
19771
19772func (s *TagOptionNotMigratedException) Error() string {
19773	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
19774}
19775
19776// Status code returns the HTTP status code for the request's response error.
19777func (s *TagOptionNotMigratedException) StatusCode() int {
19778	return s.RespMetadata.StatusCode
19779}
19780
19781// RequestID returns the service's response RequestID for request.
19782func (s *TagOptionNotMigratedException) RequestID() string {
19783	return s.RespMetadata.RequestID
19784}
19785
19786// Summary information about a TagOption.
19787type TagOptionSummary struct {
19788	_ struct{} `type:"structure"`
19789
19790	// The TagOption key.
19791	Key *string `min:"1" type:"string"`
19792
19793	// The TagOption value.
19794	Values []*string `type:"list"`
19795}
19796
19797// String returns the string representation
19798func (s TagOptionSummary) String() string {
19799	return awsutil.Prettify(s)
19800}
19801
19802// GoString returns the string representation
19803func (s TagOptionSummary) GoString() string {
19804	return s.String()
19805}
19806
19807// SetKey sets the Key field's value.
19808func (s *TagOptionSummary) SetKey(v string) *TagOptionSummary {
19809	s.Key = &v
19810	return s
19811}
19812
19813// SetValues sets the Values field's value.
19814func (s *TagOptionSummary) SetValues(v []*string) *TagOptionSummary {
19815	s.Values = v
19816	return s
19817}
19818
19819type TerminateProvisionedProductInput struct {
19820	_ struct{} `type:"structure"`
19821
19822	// The language code.
19823	//
19824	//    * en - English (default)
19825	//
19826	//    * jp - Japanese
19827	//
19828	//    * zh - Chinese
19829	AcceptLanguage *string `type:"string"`
19830
19831	// If set to true, AWS Service Catalog stops managing the specified provisioned
19832	// product even if it cannot delete the underlying resources.
19833	IgnoreErrors *bool `type:"boolean"`
19834
19835	// The identifier of the provisioned product. You cannot specify both ProvisionedProductName
19836	// and ProvisionedProductId.
19837	ProvisionedProductId *string `min:"1" type:"string"`
19838
19839	// The name of the provisioned product. You cannot specify both ProvisionedProductName
19840	// and ProvisionedProductId.
19841	ProvisionedProductName *string `min:"1" type:"string"`
19842
19843	// An idempotency token that uniquely identifies the termination request. This
19844	// token is only valid during the termination process. After the provisioned
19845	// product is terminated, subsequent requests to terminate the same provisioned
19846	// product always return ResourceNotFound.
19847	TerminateToken *string `min:"1" type:"string" idempotencyToken:"true"`
19848}
19849
19850// String returns the string representation
19851func (s TerminateProvisionedProductInput) String() string {
19852	return awsutil.Prettify(s)
19853}
19854
19855// GoString returns the string representation
19856func (s TerminateProvisionedProductInput) GoString() string {
19857	return s.String()
19858}
19859
19860// Validate inspects the fields of the type to determine if they are valid.
19861func (s *TerminateProvisionedProductInput) Validate() error {
19862	invalidParams := request.ErrInvalidParams{Context: "TerminateProvisionedProductInput"}
19863	if s.ProvisionedProductId != nil && len(*s.ProvisionedProductId) < 1 {
19864		invalidParams.Add(request.NewErrParamMinLen("ProvisionedProductId", 1))
19865	}
19866	if s.ProvisionedProductName != nil && len(*s.ProvisionedProductName) < 1 {
19867		invalidParams.Add(request.NewErrParamMinLen("ProvisionedProductName", 1))
19868	}
19869	if s.TerminateToken != nil && len(*s.TerminateToken) < 1 {
19870		invalidParams.Add(request.NewErrParamMinLen("TerminateToken", 1))
19871	}
19872
19873	if invalidParams.Len() > 0 {
19874		return invalidParams
19875	}
19876	return nil
19877}
19878
19879// SetAcceptLanguage sets the AcceptLanguage field's value.
19880func (s *TerminateProvisionedProductInput) SetAcceptLanguage(v string) *TerminateProvisionedProductInput {
19881	s.AcceptLanguage = &v
19882	return s
19883}
19884
19885// SetIgnoreErrors sets the IgnoreErrors field's value.
19886func (s *TerminateProvisionedProductInput) SetIgnoreErrors(v bool) *TerminateProvisionedProductInput {
19887	s.IgnoreErrors = &v
19888	return s
19889}
19890
19891// SetProvisionedProductId sets the ProvisionedProductId field's value.
19892func (s *TerminateProvisionedProductInput) SetProvisionedProductId(v string) *TerminateProvisionedProductInput {
19893	s.ProvisionedProductId = &v
19894	return s
19895}
19896
19897// SetProvisionedProductName sets the ProvisionedProductName field's value.
19898func (s *TerminateProvisionedProductInput) SetProvisionedProductName(v string) *TerminateProvisionedProductInput {
19899	s.ProvisionedProductName = &v
19900	return s
19901}
19902
19903// SetTerminateToken sets the TerminateToken field's value.
19904func (s *TerminateProvisionedProductInput) SetTerminateToken(v string) *TerminateProvisionedProductInput {
19905	s.TerminateToken = &v
19906	return s
19907}
19908
19909type TerminateProvisionedProductOutput struct {
19910	_ struct{} `type:"structure"`
19911
19912	// Information about the result of this request.
19913	RecordDetail *RecordDetail `type:"structure"`
19914}
19915
19916// String returns the string representation
19917func (s TerminateProvisionedProductOutput) String() string {
19918	return awsutil.Prettify(s)
19919}
19920
19921// GoString returns the string representation
19922func (s TerminateProvisionedProductOutput) GoString() string {
19923	return s.String()
19924}
19925
19926// SetRecordDetail sets the RecordDetail field's value.
19927func (s *TerminateProvisionedProductOutput) SetRecordDetail(v *RecordDetail) *TerminateProvisionedProductOutput {
19928	s.RecordDetail = v
19929	return s
19930}
19931
19932type UpdateConstraintInput struct {
19933	_ struct{} `type:"structure"`
19934
19935	// The language code.
19936	//
19937	//    * en - English (default)
19938	//
19939	//    * jp - Japanese
19940	//
19941	//    * zh - Chinese
19942	AcceptLanguage *string `type:"string"`
19943
19944	// The updated description of the constraint.
19945	Description *string `type:"string"`
19946
19947	// The identifier of the constraint.
19948	//
19949	// Id is a required field
19950	Id *string `min:"1" type:"string" required:"true"`
19951
19952	// The constraint parameters, in JSON format. The syntax depends on the constraint
19953	// type as follows:
19954	//
19955	// LAUNCH
19956	//
19957	// You are required to specify either the RoleArn or the LocalRoleName but can't
19958	// use both.
19959	//
19960	// Specify the RoleArn property as follows:
19961	//
19962	// {"RoleArn" : "arn:aws:iam::123456789012:role/LaunchRole"}
19963	//
19964	// Specify the LocalRoleName property as follows:
19965	//
19966	// {"LocalRoleName": "SCBasicLaunchRole"}
19967	//
19968	// If you specify the LocalRoleName property, when an account uses the launch
19969	// constraint, the IAM role with that name in the account will be used. This
19970	// allows launch-role constraints to be account-agnostic so the administrator
19971	// can create fewer resources per shared account.
19972	//
19973	// The given role name must exist in the account used to create the launch constraint
19974	// and the account of the user who launches a product with this launch constraint.
19975	//
19976	// You cannot have both a LAUNCH and a STACKSET constraint.
19977	//
19978	// You also cannot have more than one LAUNCH constraint on a product and portfolio.
19979	//
19980	// NOTIFICATION
19981	//
19982	// Specify the NotificationArns property as follows:
19983	//
19984	// {"NotificationArns" : ["arn:aws:sns:us-east-1:123456789012:Topic"]}
19985	//
19986	// RESOURCE_UPDATE
19987	//
19988	// Specify the TagUpdatesOnProvisionedProduct property as follows:
19989	//
19990	// {"Version":"2.0","Properties":{"TagUpdateOnProvisionedProduct":"String"}}
19991	//
19992	// The TagUpdatesOnProvisionedProduct property accepts a string value of ALLOWED
19993	// or NOT_ALLOWED.
19994	//
19995	// STACKSET
19996	//
19997	// Specify the Parameters property as follows:
19998	//
19999	// {"Version": "String", "Properties": {"AccountList": [ "String" ], "RegionList":
20000	// [ "String" ], "AdminRole": "String", "ExecutionRole": "String"}}
20001	//
20002	// You cannot have both a LAUNCH and a STACKSET constraint.
20003	//
20004	// You also cannot have more than one STACKSET constraint on a product and portfolio.
20005	//
20006	// Products with a STACKSET constraint will launch an AWS CloudFormation stack
20007	// set.
20008	//
20009	// TEMPLATE
20010	//
20011	// Specify the Rules property. For more information, see Template Constraint
20012	// Rules (http://docs.aws.amazon.com/servicecatalog/latest/adminguide/reference-template_constraint_rules.html).
20013	Parameters *string `type:"string"`
20014}
20015
20016// String returns the string representation
20017func (s UpdateConstraintInput) String() string {
20018	return awsutil.Prettify(s)
20019}
20020
20021// GoString returns the string representation
20022func (s UpdateConstraintInput) GoString() string {
20023	return s.String()
20024}
20025
20026// Validate inspects the fields of the type to determine if they are valid.
20027func (s *UpdateConstraintInput) Validate() error {
20028	invalidParams := request.ErrInvalidParams{Context: "UpdateConstraintInput"}
20029	if s.Id == nil {
20030		invalidParams.Add(request.NewErrParamRequired("Id"))
20031	}
20032	if s.Id != nil && len(*s.Id) < 1 {
20033		invalidParams.Add(request.NewErrParamMinLen("Id", 1))
20034	}
20035
20036	if invalidParams.Len() > 0 {
20037		return invalidParams
20038	}
20039	return nil
20040}
20041
20042// SetAcceptLanguage sets the AcceptLanguage field's value.
20043func (s *UpdateConstraintInput) SetAcceptLanguage(v string) *UpdateConstraintInput {
20044	s.AcceptLanguage = &v
20045	return s
20046}
20047
20048// SetDescription sets the Description field's value.
20049func (s *UpdateConstraintInput) SetDescription(v string) *UpdateConstraintInput {
20050	s.Description = &v
20051	return s
20052}
20053
20054// SetId sets the Id field's value.
20055func (s *UpdateConstraintInput) SetId(v string) *UpdateConstraintInput {
20056	s.Id = &v
20057	return s
20058}
20059
20060// SetParameters sets the Parameters field's value.
20061func (s *UpdateConstraintInput) SetParameters(v string) *UpdateConstraintInput {
20062	s.Parameters = &v
20063	return s
20064}
20065
20066type UpdateConstraintOutput struct {
20067	_ struct{} `type:"structure"`
20068
20069	// Information about the constraint.
20070	ConstraintDetail *ConstraintDetail `type:"structure"`
20071
20072	// The constraint parameters.
20073	ConstraintParameters *string `type:"string"`
20074
20075	// The status of the current request.
20076	Status *string `type:"string" enum:"Status"`
20077}
20078
20079// String returns the string representation
20080func (s UpdateConstraintOutput) String() string {
20081	return awsutil.Prettify(s)
20082}
20083
20084// GoString returns the string representation
20085func (s UpdateConstraintOutput) GoString() string {
20086	return s.String()
20087}
20088
20089// SetConstraintDetail sets the ConstraintDetail field's value.
20090func (s *UpdateConstraintOutput) SetConstraintDetail(v *ConstraintDetail) *UpdateConstraintOutput {
20091	s.ConstraintDetail = v
20092	return s
20093}
20094
20095// SetConstraintParameters sets the ConstraintParameters field's value.
20096func (s *UpdateConstraintOutput) SetConstraintParameters(v string) *UpdateConstraintOutput {
20097	s.ConstraintParameters = &v
20098	return s
20099}
20100
20101// SetStatus sets the Status field's value.
20102func (s *UpdateConstraintOutput) SetStatus(v string) *UpdateConstraintOutput {
20103	s.Status = &v
20104	return s
20105}
20106
20107type UpdatePortfolioInput struct {
20108	_ struct{} `type:"structure"`
20109
20110	// The language code.
20111	//
20112	//    * en - English (default)
20113	//
20114	//    * jp - Japanese
20115	//
20116	//    * zh - Chinese
20117	AcceptLanguage *string `type:"string"`
20118
20119	// The tags to add.
20120	AddTags []*Tag `type:"list"`
20121
20122	// The updated description of the portfolio.
20123	Description *string `type:"string"`
20124
20125	// The name to use for display purposes.
20126	DisplayName *string `min:"1" type:"string"`
20127
20128	// The portfolio identifier.
20129	//
20130	// Id is a required field
20131	Id *string `min:"1" type:"string" required:"true"`
20132
20133	// The updated name of the portfolio provider.
20134	ProviderName *string `min:"1" type:"string"`
20135
20136	// The tags to remove.
20137	RemoveTags []*string `type:"list"`
20138}
20139
20140// String returns the string representation
20141func (s UpdatePortfolioInput) String() string {
20142	return awsutil.Prettify(s)
20143}
20144
20145// GoString returns the string representation
20146func (s UpdatePortfolioInput) GoString() string {
20147	return s.String()
20148}
20149
20150// Validate inspects the fields of the type to determine if they are valid.
20151func (s *UpdatePortfolioInput) Validate() error {
20152	invalidParams := request.ErrInvalidParams{Context: "UpdatePortfolioInput"}
20153	if s.DisplayName != nil && len(*s.DisplayName) < 1 {
20154		invalidParams.Add(request.NewErrParamMinLen("DisplayName", 1))
20155	}
20156	if s.Id == nil {
20157		invalidParams.Add(request.NewErrParamRequired("Id"))
20158	}
20159	if s.Id != nil && len(*s.Id) < 1 {
20160		invalidParams.Add(request.NewErrParamMinLen("Id", 1))
20161	}
20162	if s.ProviderName != nil && len(*s.ProviderName) < 1 {
20163		invalidParams.Add(request.NewErrParamMinLen("ProviderName", 1))
20164	}
20165	if s.AddTags != nil {
20166		for i, v := range s.AddTags {
20167			if v == nil {
20168				continue
20169			}
20170			if err := v.Validate(); err != nil {
20171				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "AddTags", i), err.(request.ErrInvalidParams))
20172			}
20173		}
20174	}
20175
20176	if invalidParams.Len() > 0 {
20177		return invalidParams
20178	}
20179	return nil
20180}
20181
20182// SetAcceptLanguage sets the AcceptLanguage field's value.
20183func (s *UpdatePortfolioInput) SetAcceptLanguage(v string) *UpdatePortfolioInput {
20184	s.AcceptLanguage = &v
20185	return s
20186}
20187
20188// SetAddTags sets the AddTags field's value.
20189func (s *UpdatePortfolioInput) SetAddTags(v []*Tag) *UpdatePortfolioInput {
20190	s.AddTags = v
20191	return s
20192}
20193
20194// SetDescription sets the Description field's value.
20195func (s *UpdatePortfolioInput) SetDescription(v string) *UpdatePortfolioInput {
20196	s.Description = &v
20197	return s
20198}
20199
20200// SetDisplayName sets the DisplayName field's value.
20201func (s *UpdatePortfolioInput) SetDisplayName(v string) *UpdatePortfolioInput {
20202	s.DisplayName = &v
20203	return s
20204}
20205
20206// SetId sets the Id field's value.
20207func (s *UpdatePortfolioInput) SetId(v string) *UpdatePortfolioInput {
20208	s.Id = &v
20209	return s
20210}
20211
20212// SetProviderName sets the ProviderName field's value.
20213func (s *UpdatePortfolioInput) SetProviderName(v string) *UpdatePortfolioInput {
20214	s.ProviderName = &v
20215	return s
20216}
20217
20218// SetRemoveTags sets the RemoveTags field's value.
20219func (s *UpdatePortfolioInput) SetRemoveTags(v []*string) *UpdatePortfolioInput {
20220	s.RemoveTags = v
20221	return s
20222}
20223
20224type UpdatePortfolioOutput struct {
20225	_ struct{} `type:"structure"`
20226
20227	// Information about the portfolio.
20228	PortfolioDetail *PortfolioDetail `type:"structure"`
20229
20230	// Information about the tags associated with the portfolio.
20231	Tags []*Tag `type:"list"`
20232}
20233
20234// String returns the string representation
20235func (s UpdatePortfolioOutput) String() string {
20236	return awsutil.Prettify(s)
20237}
20238
20239// GoString returns the string representation
20240func (s UpdatePortfolioOutput) GoString() string {
20241	return s.String()
20242}
20243
20244// SetPortfolioDetail sets the PortfolioDetail field's value.
20245func (s *UpdatePortfolioOutput) SetPortfolioDetail(v *PortfolioDetail) *UpdatePortfolioOutput {
20246	s.PortfolioDetail = v
20247	return s
20248}
20249
20250// SetTags sets the Tags field's value.
20251func (s *UpdatePortfolioOutput) SetTags(v []*Tag) *UpdatePortfolioOutput {
20252	s.Tags = v
20253	return s
20254}
20255
20256type UpdateProductInput struct {
20257	_ struct{} `type:"structure"`
20258
20259	// The language code.
20260	//
20261	//    * en - English (default)
20262	//
20263	//    * jp - Japanese
20264	//
20265	//    * zh - Chinese
20266	AcceptLanguage *string `type:"string"`
20267
20268	// The tags to add to the product.
20269	AddTags []*Tag `type:"list"`
20270
20271	// The updated description of the product.
20272	Description *string `type:"string"`
20273
20274	// The updated distributor of the product.
20275	Distributor *string `type:"string"`
20276
20277	// The product identifier.
20278	//
20279	// Id is a required field
20280	Id *string `min:"1" type:"string" required:"true"`
20281
20282	// The updated product name.
20283	Name *string `type:"string"`
20284
20285	// The updated owner of the product.
20286	Owner *string `type:"string"`
20287
20288	// The tags to remove from the product.
20289	RemoveTags []*string `type:"list"`
20290
20291	// The updated support description for the product.
20292	SupportDescription *string `type:"string"`
20293
20294	// The updated support email for the product.
20295	SupportEmail *string `type:"string"`
20296
20297	// The updated support URL for the product.
20298	SupportUrl *string `type:"string"`
20299}
20300
20301// String returns the string representation
20302func (s UpdateProductInput) String() string {
20303	return awsutil.Prettify(s)
20304}
20305
20306// GoString returns the string representation
20307func (s UpdateProductInput) GoString() string {
20308	return s.String()
20309}
20310
20311// Validate inspects the fields of the type to determine if they are valid.
20312func (s *UpdateProductInput) Validate() error {
20313	invalidParams := request.ErrInvalidParams{Context: "UpdateProductInput"}
20314	if s.Id == nil {
20315		invalidParams.Add(request.NewErrParamRequired("Id"))
20316	}
20317	if s.Id != nil && len(*s.Id) < 1 {
20318		invalidParams.Add(request.NewErrParamMinLen("Id", 1))
20319	}
20320	if s.AddTags != nil {
20321		for i, v := range s.AddTags {
20322			if v == nil {
20323				continue
20324			}
20325			if err := v.Validate(); err != nil {
20326				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "AddTags", i), err.(request.ErrInvalidParams))
20327			}
20328		}
20329	}
20330
20331	if invalidParams.Len() > 0 {
20332		return invalidParams
20333	}
20334	return nil
20335}
20336
20337// SetAcceptLanguage sets the AcceptLanguage field's value.
20338func (s *UpdateProductInput) SetAcceptLanguage(v string) *UpdateProductInput {
20339	s.AcceptLanguage = &v
20340	return s
20341}
20342
20343// SetAddTags sets the AddTags field's value.
20344func (s *UpdateProductInput) SetAddTags(v []*Tag) *UpdateProductInput {
20345	s.AddTags = v
20346	return s
20347}
20348
20349// SetDescription sets the Description field's value.
20350func (s *UpdateProductInput) SetDescription(v string) *UpdateProductInput {
20351	s.Description = &v
20352	return s
20353}
20354
20355// SetDistributor sets the Distributor field's value.
20356func (s *UpdateProductInput) SetDistributor(v string) *UpdateProductInput {
20357	s.Distributor = &v
20358	return s
20359}
20360
20361// SetId sets the Id field's value.
20362func (s *UpdateProductInput) SetId(v string) *UpdateProductInput {
20363	s.Id = &v
20364	return s
20365}
20366
20367// SetName sets the Name field's value.
20368func (s *UpdateProductInput) SetName(v string) *UpdateProductInput {
20369	s.Name = &v
20370	return s
20371}
20372
20373// SetOwner sets the Owner field's value.
20374func (s *UpdateProductInput) SetOwner(v string) *UpdateProductInput {
20375	s.Owner = &v
20376	return s
20377}
20378
20379// SetRemoveTags sets the RemoveTags field's value.
20380func (s *UpdateProductInput) SetRemoveTags(v []*string) *UpdateProductInput {
20381	s.RemoveTags = v
20382	return s
20383}
20384
20385// SetSupportDescription sets the SupportDescription field's value.
20386func (s *UpdateProductInput) SetSupportDescription(v string) *UpdateProductInput {
20387	s.SupportDescription = &v
20388	return s
20389}
20390
20391// SetSupportEmail sets the SupportEmail field's value.
20392func (s *UpdateProductInput) SetSupportEmail(v string) *UpdateProductInput {
20393	s.SupportEmail = &v
20394	return s
20395}
20396
20397// SetSupportUrl sets the SupportUrl field's value.
20398func (s *UpdateProductInput) SetSupportUrl(v string) *UpdateProductInput {
20399	s.SupportUrl = &v
20400	return s
20401}
20402
20403type UpdateProductOutput struct {
20404	_ struct{} `type:"structure"`
20405
20406	// Information about the product view.
20407	ProductViewDetail *ProductViewDetail `type:"structure"`
20408
20409	// Information about the tags associated with the product.
20410	Tags []*Tag `type:"list"`
20411}
20412
20413// String returns the string representation
20414func (s UpdateProductOutput) String() string {
20415	return awsutil.Prettify(s)
20416}
20417
20418// GoString returns the string representation
20419func (s UpdateProductOutput) GoString() string {
20420	return s.String()
20421}
20422
20423// SetProductViewDetail sets the ProductViewDetail field's value.
20424func (s *UpdateProductOutput) SetProductViewDetail(v *ProductViewDetail) *UpdateProductOutput {
20425	s.ProductViewDetail = v
20426	return s
20427}
20428
20429// SetTags sets the Tags field's value.
20430func (s *UpdateProductOutput) SetTags(v []*Tag) *UpdateProductOutput {
20431	s.Tags = v
20432	return s
20433}
20434
20435type UpdateProvisionedProductInput struct {
20436	_ struct{} `type:"structure"`
20437
20438	// The language code.
20439	//
20440	//    * en - English (default)
20441	//
20442	//    * jp - Japanese
20443	//
20444	//    * zh - Chinese
20445	AcceptLanguage *string `type:"string"`
20446
20447	// The path identifier. This value is optional if the product has a default
20448	// path, and required if the product has more than one path. You must provide
20449	// the name or ID, but not both.
20450	PathId *string `min:"1" type:"string"`
20451
20452	// The name of the path. You must provide the name or ID, but not both.
20453	PathName *string `min:"1" type:"string"`
20454
20455	// The identifier of the product. You must provide the name or ID, but not both.
20456	ProductId *string `min:"1" type:"string"`
20457
20458	// The name of the product. You must provide the name or ID, but not both.
20459	ProductName *string `type:"string"`
20460
20461	// The identifier of the provisioned product. You must provide the name or ID,
20462	// but not both.
20463	ProvisionedProductId *string `min:"1" type:"string"`
20464
20465	// The name of the provisioned product. You cannot specify both ProvisionedProductName
20466	// and ProvisionedProductId.
20467	ProvisionedProductName *string `min:"1" type:"string"`
20468
20469	// The identifier of the provisioning artifact.
20470	ProvisioningArtifactId *string `min:"1" type:"string"`
20471
20472	// The name of the provisioning artifact. You must provide the name or ID, but
20473	// not both.
20474	ProvisioningArtifactName *string `type:"string"`
20475
20476	// The new parameters.
20477	ProvisioningParameters []*UpdateProvisioningParameter `type:"list"`
20478
20479	// An object that contains information about the provisioning preferences for
20480	// a stack set.
20481	ProvisioningPreferences *UpdateProvisioningPreferences `type:"structure"`
20482
20483	// One or more tags. Requires the product to have RESOURCE_UPDATE constraint
20484	// with TagUpdatesOnProvisionedProduct set to ALLOWED to allow tag updates.
20485	Tags []*Tag `type:"list"`
20486
20487	// The idempotency token that uniquely identifies the provisioning update request.
20488	UpdateToken *string `min:"1" type:"string" idempotencyToken:"true"`
20489}
20490
20491// String returns the string representation
20492func (s UpdateProvisionedProductInput) String() string {
20493	return awsutil.Prettify(s)
20494}
20495
20496// GoString returns the string representation
20497func (s UpdateProvisionedProductInput) GoString() string {
20498	return s.String()
20499}
20500
20501// Validate inspects the fields of the type to determine if they are valid.
20502func (s *UpdateProvisionedProductInput) Validate() error {
20503	invalidParams := request.ErrInvalidParams{Context: "UpdateProvisionedProductInput"}
20504	if s.PathId != nil && len(*s.PathId) < 1 {
20505		invalidParams.Add(request.NewErrParamMinLen("PathId", 1))
20506	}
20507	if s.PathName != nil && len(*s.PathName) < 1 {
20508		invalidParams.Add(request.NewErrParamMinLen("PathName", 1))
20509	}
20510	if s.ProductId != nil && len(*s.ProductId) < 1 {
20511		invalidParams.Add(request.NewErrParamMinLen("ProductId", 1))
20512	}
20513	if s.ProvisionedProductId != nil && len(*s.ProvisionedProductId) < 1 {
20514		invalidParams.Add(request.NewErrParamMinLen("ProvisionedProductId", 1))
20515	}
20516	if s.ProvisionedProductName != nil && len(*s.ProvisionedProductName) < 1 {
20517		invalidParams.Add(request.NewErrParamMinLen("ProvisionedProductName", 1))
20518	}
20519	if s.ProvisioningArtifactId != nil && len(*s.ProvisioningArtifactId) < 1 {
20520		invalidParams.Add(request.NewErrParamMinLen("ProvisioningArtifactId", 1))
20521	}
20522	if s.UpdateToken != nil && len(*s.UpdateToken) < 1 {
20523		invalidParams.Add(request.NewErrParamMinLen("UpdateToken", 1))
20524	}
20525	if s.ProvisioningParameters != nil {
20526		for i, v := range s.ProvisioningParameters {
20527			if v == nil {
20528				continue
20529			}
20530			if err := v.Validate(); err != nil {
20531				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "ProvisioningParameters", i), err.(request.ErrInvalidParams))
20532			}
20533		}
20534	}
20535	if s.ProvisioningPreferences != nil {
20536		if err := s.ProvisioningPreferences.Validate(); err != nil {
20537			invalidParams.AddNested("ProvisioningPreferences", err.(request.ErrInvalidParams))
20538		}
20539	}
20540	if s.Tags != nil {
20541		for i, v := range s.Tags {
20542			if v == nil {
20543				continue
20544			}
20545			if err := v.Validate(); err != nil {
20546				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams))
20547			}
20548		}
20549	}
20550
20551	if invalidParams.Len() > 0 {
20552		return invalidParams
20553	}
20554	return nil
20555}
20556
20557// SetAcceptLanguage sets the AcceptLanguage field's value.
20558func (s *UpdateProvisionedProductInput) SetAcceptLanguage(v string) *UpdateProvisionedProductInput {
20559	s.AcceptLanguage = &v
20560	return s
20561}
20562
20563// SetPathId sets the PathId field's value.
20564func (s *UpdateProvisionedProductInput) SetPathId(v string) *UpdateProvisionedProductInput {
20565	s.PathId = &v
20566	return s
20567}
20568
20569// SetPathName sets the PathName field's value.
20570func (s *UpdateProvisionedProductInput) SetPathName(v string) *UpdateProvisionedProductInput {
20571	s.PathName = &v
20572	return s
20573}
20574
20575// SetProductId sets the ProductId field's value.
20576func (s *UpdateProvisionedProductInput) SetProductId(v string) *UpdateProvisionedProductInput {
20577	s.ProductId = &v
20578	return s
20579}
20580
20581// SetProductName sets the ProductName field's value.
20582func (s *UpdateProvisionedProductInput) SetProductName(v string) *UpdateProvisionedProductInput {
20583	s.ProductName = &v
20584	return s
20585}
20586
20587// SetProvisionedProductId sets the ProvisionedProductId field's value.
20588func (s *UpdateProvisionedProductInput) SetProvisionedProductId(v string) *UpdateProvisionedProductInput {
20589	s.ProvisionedProductId = &v
20590	return s
20591}
20592
20593// SetProvisionedProductName sets the ProvisionedProductName field's value.
20594func (s *UpdateProvisionedProductInput) SetProvisionedProductName(v string) *UpdateProvisionedProductInput {
20595	s.ProvisionedProductName = &v
20596	return s
20597}
20598
20599// SetProvisioningArtifactId sets the ProvisioningArtifactId field's value.
20600func (s *UpdateProvisionedProductInput) SetProvisioningArtifactId(v string) *UpdateProvisionedProductInput {
20601	s.ProvisioningArtifactId = &v
20602	return s
20603}
20604
20605// SetProvisioningArtifactName sets the ProvisioningArtifactName field's value.
20606func (s *UpdateProvisionedProductInput) SetProvisioningArtifactName(v string) *UpdateProvisionedProductInput {
20607	s.ProvisioningArtifactName = &v
20608	return s
20609}
20610
20611// SetProvisioningParameters sets the ProvisioningParameters field's value.
20612func (s *UpdateProvisionedProductInput) SetProvisioningParameters(v []*UpdateProvisioningParameter) *UpdateProvisionedProductInput {
20613	s.ProvisioningParameters = v
20614	return s
20615}
20616
20617// SetProvisioningPreferences sets the ProvisioningPreferences field's value.
20618func (s *UpdateProvisionedProductInput) SetProvisioningPreferences(v *UpdateProvisioningPreferences) *UpdateProvisionedProductInput {
20619	s.ProvisioningPreferences = v
20620	return s
20621}
20622
20623// SetTags sets the Tags field's value.
20624func (s *UpdateProvisionedProductInput) SetTags(v []*Tag) *UpdateProvisionedProductInput {
20625	s.Tags = v
20626	return s
20627}
20628
20629// SetUpdateToken sets the UpdateToken field's value.
20630func (s *UpdateProvisionedProductInput) SetUpdateToken(v string) *UpdateProvisionedProductInput {
20631	s.UpdateToken = &v
20632	return s
20633}
20634
20635type UpdateProvisionedProductOutput struct {
20636	_ struct{} `type:"structure"`
20637
20638	// Information about the result of the request.
20639	RecordDetail *RecordDetail `type:"structure"`
20640}
20641
20642// String returns the string representation
20643func (s UpdateProvisionedProductOutput) String() string {
20644	return awsutil.Prettify(s)
20645}
20646
20647// GoString returns the string representation
20648func (s UpdateProvisionedProductOutput) GoString() string {
20649	return s.String()
20650}
20651
20652// SetRecordDetail sets the RecordDetail field's value.
20653func (s *UpdateProvisionedProductOutput) SetRecordDetail(v *RecordDetail) *UpdateProvisionedProductOutput {
20654	s.RecordDetail = v
20655	return s
20656}
20657
20658type UpdateProvisionedProductPropertiesInput struct {
20659	_ struct{} `type:"structure"`
20660
20661	// The language code.
20662	//
20663	//    * en - English (default)
20664	//
20665	//    * jp - Japanese
20666	//
20667	//    * zh - Chinese
20668	AcceptLanguage *string `type:"string"`
20669
20670	// The idempotency token that uniquely identifies the provisioning product update
20671	// request.
20672	IdempotencyToken *string `min:"1" type:"string" idempotencyToken:"true"`
20673
20674	// The identifier of the provisioned product.
20675	//
20676	// ProvisionedProductId is a required field
20677	ProvisionedProductId *string `min:"1" type:"string" required:"true"`
20678
20679	// A map that contains the provisioned product properties to be updated.
20680	//
20681	// The LAUNCH_ROLE key accepts user ARNs and role ARNs. This key allows an administrator
20682	// to call UpdateProvisionedProductProperties to update the launch role that
20683	// is associated with a provisioned product. This role is used when an end-user
20684	// calls a provisioning operation such as UpdateProvisionedProduct, TerminateProvisionedProduct,
20685	// or ExecuteProvisionedProductServiceAction. Only an ARN role is valid. A user
20686	// ARN is invalid.
20687	//
20688	// The OWNER key accepts user ARNs and role ARNs. The owner is the user that
20689	// has permission to see, update, terminate, and execute service actions in
20690	// the provisioned product.
20691	//
20692	// The administrator can change the owner of a provisioned product to another
20693	// IAM user within the same account. Both end user owners and administrators
20694	// can see ownership history of the provisioned product using the ListRecordHistory
20695	// API. The new owner can describe all past records for the provisioned product
20696	// using the DescribeRecord API. The previous owner can no longer use DescribeRecord,
20697	// but can still see the product's history from when he was an owner using ListRecordHistory.
20698	//
20699	// If a provisioned product ownership is assigned to an end user, they can see
20700	// and perform any action through the API or Service Catalog console such as
20701	// update, terminate, and execute service actions. If an end user provisions
20702	// a product and the owner is updated to someone else, they will no longer be
20703	// able to see or perform any actions through API or the Service Catalog console
20704	// on that provisioned product.
20705	//
20706	// ProvisionedProductProperties is a required field
20707	ProvisionedProductProperties map[string]*string `min:"1" type:"map" required:"true"`
20708}
20709
20710// String returns the string representation
20711func (s UpdateProvisionedProductPropertiesInput) String() string {
20712	return awsutil.Prettify(s)
20713}
20714
20715// GoString returns the string representation
20716func (s UpdateProvisionedProductPropertiesInput) GoString() string {
20717	return s.String()
20718}
20719
20720// Validate inspects the fields of the type to determine if they are valid.
20721func (s *UpdateProvisionedProductPropertiesInput) Validate() error {
20722	invalidParams := request.ErrInvalidParams{Context: "UpdateProvisionedProductPropertiesInput"}
20723	if s.IdempotencyToken != nil && len(*s.IdempotencyToken) < 1 {
20724		invalidParams.Add(request.NewErrParamMinLen("IdempotencyToken", 1))
20725	}
20726	if s.ProvisionedProductId == nil {
20727		invalidParams.Add(request.NewErrParamRequired("ProvisionedProductId"))
20728	}
20729	if s.ProvisionedProductId != nil && len(*s.ProvisionedProductId) < 1 {
20730		invalidParams.Add(request.NewErrParamMinLen("ProvisionedProductId", 1))
20731	}
20732	if s.ProvisionedProductProperties == nil {
20733		invalidParams.Add(request.NewErrParamRequired("ProvisionedProductProperties"))
20734	}
20735	if s.ProvisionedProductProperties != nil && len(s.ProvisionedProductProperties) < 1 {
20736		invalidParams.Add(request.NewErrParamMinLen("ProvisionedProductProperties", 1))
20737	}
20738
20739	if invalidParams.Len() > 0 {
20740		return invalidParams
20741	}
20742	return nil
20743}
20744
20745// SetAcceptLanguage sets the AcceptLanguage field's value.
20746func (s *UpdateProvisionedProductPropertiesInput) SetAcceptLanguage(v string) *UpdateProvisionedProductPropertiesInput {
20747	s.AcceptLanguage = &v
20748	return s
20749}
20750
20751// SetIdempotencyToken sets the IdempotencyToken field's value.
20752func (s *UpdateProvisionedProductPropertiesInput) SetIdempotencyToken(v string) *UpdateProvisionedProductPropertiesInput {
20753	s.IdempotencyToken = &v
20754	return s
20755}
20756
20757// SetProvisionedProductId sets the ProvisionedProductId field's value.
20758func (s *UpdateProvisionedProductPropertiesInput) SetProvisionedProductId(v string) *UpdateProvisionedProductPropertiesInput {
20759	s.ProvisionedProductId = &v
20760	return s
20761}
20762
20763// SetProvisionedProductProperties sets the ProvisionedProductProperties field's value.
20764func (s *UpdateProvisionedProductPropertiesInput) SetProvisionedProductProperties(v map[string]*string) *UpdateProvisionedProductPropertiesInput {
20765	s.ProvisionedProductProperties = v
20766	return s
20767}
20768
20769type UpdateProvisionedProductPropertiesOutput struct {
20770	_ struct{} `type:"structure"`
20771
20772	// The provisioned product identifier.
20773	ProvisionedProductId *string `min:"1" type:"string"`
20774
20775	// A map that contains the properties updated.
20776	ProvisionedProductProperties map[string]*string `min:"1" type:"map"`
20777
20778	// The identifier of the record.
20779	RecordId *string `min:"1" type:"string"`
20780
20781	// The status of the request.
20782	Status *string `type:"string" enum:"RecordStatus"`
20783}
20784
20785// String returns the string representation
20786func (s UpdateProvisionedProductPropertiesOutput) String() string {
20787	return awsutil.Prettify(s)
20788}
20789
20790// GoString returns the string representation
20791func (s UpdateProvisionedProductPropertiesOutput) GoString() string {
20792	return s.String()
20793}
20794
20795// SetProvisionedProductId sets the ProvisionedProductId field's value.
20796func (s *UpdateProvisionedProductPropertiesOutput) SetProvisionedProductId(v string) *UpdateProvisionedProductPropertiesOutput {
20797	s.ProvisionedProductId = &v
20798	return s
20799}
20800
20801// SetProvisionedProductProperties sets the ProvisionedProductProperties field's value.
20802func (s *UpdateProvisionedProductPropertiesOutput) SetProvisionedProductProperties(v map[string]*string) *UpdateProvisionedProductPropertiesOutput {
20803	s.ProvisionedProductProperties = v
20804	return s
20805}
20806
20807// SetRecordId sets the RecordId field's value.
20808func (s *UpdateProvisionedProductPropertiesOutput) SetRecordId(v string) *UpdateProvisionedProductPropertiesOutput {
20809	s.RecordId = &v
20810	return s
20811}
20812
20813// SetStatus sets the Status field's value.
20814func (s *UpdateProvisionedProductPropertiesOutput) SetStatus(v string) *UpdateProvisionedProductPropertiesOutput {
20815	s.Status = &v
20816	return s
20817}
20818
20819type UpdateProvisioningArtifactInput struct {
20820	_ struct{} `type:"structure"`
20821
20822	// The language code.
20823	//
20824	//    * en - English (default)
20825	//
20826	//    * jp - Japanese
20827	//
20828	//    * zh - Chinese
20829	AcceptLanguage *string `type:"string"`
20830
20831	// Indicates whether the product version is active.
20832	//
20833	// Inactive provisioning artifacts are invisible to end users. End users cannot
20834	// launch or update a provisioned product from an inactive provisioning artifact.
20835	Active *bool `type:"boolean"`
20836
20837	// The updated description of the provisioning artifact.
20838	Description *string `type:"string"`
20839
20840	// Information set by the administrator to provide guidance to end users about
20841	// which provisioning artifacts to use.
20842	//
20843	// The DEFAULT value indicates that the product version is active.
20844	//
20845	// The administrator can set the guidance to DEPRECATED to inform users that
20846	// the product version is deprecated. Users are able to make updates to a provisioned
20847	// product of a deprecated version but cannot launch new provisioned products
20848	// using a deprecated version.
20849	Guidance *string `type:"string" enum:"ProvisioningArtifactGuidance"`
20850
20851	// The updated name of the provisioning artifact.
20852	Name *string `type:"string"`
20853
20854	// The product identifier.
20855	//
20856	// ProductId is a required field
20857	ProductId *string `min:"1" type:"string" required:"true"`
20858
20859	// The identifier of the provisioning artifact.
20860	//
20861	// ProvisioningArtifactId is a required field
20862	ProvisioningArtifactId *string `min:"1" type:"string" required:"true"`
20863}
20864
20865// String returns the string representation
20866func (s UpdateProvisioningArtifactInput) String() string {
20867	return awsutil.Prettify(s)
20868}
20869
20870// GoString returns the string representation
20871func (s UpdateProvisioningArtifactInput) GoString() string {
20872	return s.String()
20873}
20874
20875// Validate inspects the fields of the type to determine if they are valid.
20876func (s *UpdateProvisioningArtifactInput) Validate() error {
20877	invalidParams := request.ErrInvalidParams{Context: "UpdateProvisioningArtifactInput"}
20878	if s.ProductId == nil {
20879		invalidParams.Add(request.NewErrParamRequired("ProductId"))
20880	}
20881	if s.ProductId != nil && len(*s.ProductId) < 1 {
20882		invalidParams.Add(request.NewErrParamMinLen("ProductId", 1))
20883	}
20884	if s.ProvisioningArtifactId == nil {
20885		invalidParams.Add(request.NewErrParamRequired("ProvisioningArtifactId"))
20886	}
20887	if s.ProvisioningArtifactId != nil && len(*s.ProvisioningArtifactId) < 1 {
20888		invalidParams.Add(request.NewErrParamMinLen("ProvisioningArtifactId", 1))
20889	}
20890
20891	if invalidParams.Len() > 0 {
20892		return invalidParams
20893	}
20894	return nil
20895}
20896
20897// SetAcceptLanguage sets the AcceptLanguage field's value.
20898func (s *UpdateProvisioningArtifactInput) SetAcceptLanguage(v string) *UpdateProvisioningArtifactInput {
20899	s.AcceptLanguage = &v
20900	return s
20901}
20902
20903// SetActive sets the Active field's value.
20904func (s *UpdateProvisioningArtifactInput) SetActive(v bool) *UpdateProvisioningArtifactInput {
20905	s.Active = &v
20906	return s
20907}
20908
20909// SetDescription sets the Description field's value.
20910func (s *UpdateProvisioningArtifactInput) SetDescription(v string) *UpdateProvisioningArtifactInput {
20911	s.Description = &v
20912	return s
20913}
20914
20915// SetGuidance sets the Guidance field's value.
20916func (s *UpdateProvisioningArtifactInput) SetGuidance(v string) *UpdateProvisioningArtifactInput {
20917	s.Guidance = &v
20918	return s
20919}
20920
20921// SetName sets the Name field's value.
20922func (s *UpdateProvisioningArtifactInput) SetName(v string) *UpdateProvisioningArtifactInput {
20923	s.Name = &v
20924	return s
20925}
20926
20927// SetProductId sets the ProductId field's value.
20928func (s *UpdateProvisioningArtifactInput) SetProductId(v string) *UpdateProvisioningArtifactInput {
20929	s.ProductId = &v
20930	return s
20931}
20932
20933// SetProvisioningArtifactId sets the ProvisioningArtifactId field's value.
20934func (s *UpdateProvisioningArtifactInput) SetProvisioningArtifactId(v string) *UpdateProvisioningArtifactInput {
20935	s.ProvisioningArtifactId = &v
20936	return s
20937}
20938
20939type UpdateProvisioningArtifactOutput struct {
20940	_ struct{} `type:"structure"`
20941
20942	// The URL of the CloudFormation template in Amazon S3.
20943	Info map[string]*string `min:"1" type:"map"`
20944
20945	// Information about the provisioning artifact.
20946	ProvisioningArtifactDetail *ProvisioningArtifactDetail `type:"structure"`
20947
20948	// The status of the current request.
20949	Status *string `type:"string" enum:"Status"`
20950}
20951
20952// String returns the string representation
20953func (s UpdateProvisioningArtifactOutput) String() string {
20954	return awsutil.Prettify(s)
20955}
20956
20957// GoString returns the string representation
20958func (s UpdateProvisioningArtifactOutput) GoString() string {
20959	return s.String()
20960}
20961
20962// SetInfo sets the Info field's value.
20963func (s *UpdateProvisioningArtifactOutput) SetInfo(v map[string]*string) *UpdateProvisioningArtifactOutput {
20964	s.Info = v
20965	return s
20966}
20967
20968// SetProvisioningArtifactDetail sets the ProvisioningArtifactDetail field's value.
20969func (s *UpdateProvisioningArtifactOutput) SetProvisioningArtifactDetail(v *ProvisioningArtifactDetail) *UpdateProvisioningArtifactOutput {
20970	s.ProvisioningArtifactDetail = v
20971	return s
20972}
20973
20974// SetStatus sets the Status field's value.
20975func (s *UpdateProvisioningArtifactOutput) SetStatus(v string) *UpdateProvisioningArtifactOutput {
20976	s.Status = &v
20977	return s
20978}
20979
20980// The parameter key-value pair used to update a provisioned product.
20981type UpdateProvisioningParameter struct {
20982	_ struct{} `type:"structure"`
20983
20984	// The parameter key.
20985	Key *string `min:"1" type:"string"`
20986
20987	// If set to true, Value is ignored and the previous parameter value is kept.
20988	UsePreviousValue *bool `type:"boolean"`
20989
20990	// The parameter value.
20991	Value *string `type:"string"`
20992}
20993
20994// String returns the string representation
20995func (s UpdateProvisioningParameter) String() string {
20996	return awsutil.Prettify(s)
20997}
20998
20999// GoString returns the string representation
21000func (s UpdateProvisioningParameter) GoString() string {
21001	return s.String()
21002}
21003
21004// Validate inspects the fields of the type to determine if they are valid.
21005func (s *UpdateProvisioningParameter) Validate() error {
21006	invalidParams := request.ErrInvalidParams{Context: "UpdateProvisioningParameter"}
21007	if s.Key != nil && len(*s.Key) < 1 {
21008		invalidParams.Add(request.NewErrParamMinLen("Key", 1))
21009	}
21010
21011	if invalidParams.Len() > 0 {
21012		return invalidParams
21013	}
21014	return nil
21015}
21016
21017// SetKey sets the Key field's value.
21018func (s *UpdateProvisioningParameter) SetKey(v string) *UpdateProvisioningParameter {
21019	s.Key = &v
21020	return s
21021}
21022
21023// SetUsePreviousValue sets the UsePreviousValue field's value.
21024func (s *UpdateProvisioningParameter) SetUsePreviousValue(v bool) *UpdateProvisioningParameter {
21025	s.UsePreviousValue = &v
21026	return s
21027}
21028
21029// SetValue sets the Value field's value.
21030func (s *UpdateProvisioningParameter) SetValue(v string) *UpdateProvisioningParameter {
21031	s.Value = &v
21032	return s
21033}
21034
21035// The user-defined preferences that will be applied when updating a provisioned
21036// product. Not all preferences are applicable to all provisioned product types.
21037type UpdateProvisioningPreferences struct {
21038	_ struct{} `type:"structure"`
21039
21040	// One or more AWS accounts that will have access to the provisioned product.
21041	//
21042	// Applicable only to a CFN_STACKSET provisioned product type.
21043	//
21044	// The AWS accounts specified should be within the list of accounts in the STACKSET
21045	// constraint. To get the list of accounts in the STACKSET constraint, use the
21046	// DescribeProvisioningParameters operation.
21047	//
21048	// If no values are specified, the default value is all accounts from the STACKSET
21049	// constraint.
21050	StackSetAccounts []*string `type:"list"`
21051
21052	// The number of accounts, per region, for which this operation can fail before
21053	// AWS Service Catalog stops the operation in that region. If the operation
21054	// is stopped in a region, AWS Service Catalog doesn't attempt the operation
21055	// in any subsequent regions.
21056	//
21057	// Applicable only to a CFN_STACKSET provisioned product type.
21058	//
21059	// Conditional: You must specify either StackSetFailureToleranceCount or StackSetFailureTolerancePercentage,
21060	// but not both.
21061	//
21062	// The default value is 0 if no value is specified.
21063	StackSetFailureToleranceCount *int64 `type:"integer"`
21064
21065	// The percentage of accounts, per region, for which this stack operation can
21066	// fail before AWS Service Catalog stops the operation in that region. If the
21067	// operation is stopped in a region, AWS Service Catalog doesn't attempt the
21068	// operation in any subsequent regions.
21069	//
21070	// When calculating the number of accounts based on the specified percentage,
21071	// AWS Service Catalog rounds down to the next whole number.
21072	//
21073	// Applicable only to a CFN_STACKSET provisioned product type.
21074	//
21075	// Conditional: You must specify either StackSetFailureToleranceCount or StackSetFailureTolerancePercentage,
21076	// but not both.
21077	StackSetFailureTolerancePercentage *int64 `type:"integer"`
21078
21079	// The maximum number of accounts in which to perform this operation at one
21080	// time. This is dependent on the value of StackSetFailureToleranceCount. StackSetMaxConcurrentCount
21081	// is at most one more than the StackSetFailureToleranceCount.
21082	//
21083	// Note that this setting lets you specify the maximum for operations. For large
21084	// deployments, under certain circumstances the actual number of accounts acted
21085	// upon concurrently may be lower due to service throttling.
21086	//
21087	// Applicable only to a CFN_STACKSET provisioned product type.
21088	//
21089	// Conditional: You must specify either StackSetMaxConcurrentCount or StackSetMaxConcurrentPercentage,
21090	// but not both.
21091	StackSetMaxConcurrencyCount *int64 `min:"1" type:"integer"`
21092
21093	// The maximum percentage of accounts in which to perform this operation at
21094	// one time.
21095	//
21096	// When calculating the number of accounts based on the specified percentage,
21097	// AWS Service Catalog rounds down to the next whole number. This is true except
21098	// in cases where rounding down would result is zero. In this case, AWS Service
21099	// Catalog sets the number as 1 instead.
21100	//
21101	// Note that this setting lets you specify the maximum for operations. For large
21102	// deployments, under certain circumstances the actual number of accounts acted
21103	// upon concurrently may be lower due to service throttling.
21104	//
21105	// Applicable only to a CFN_STACKSET provisioned product type.
21106	//
21107	// Conditional: You must specify either StackSetMaxConcurrentCount or StackSetMaxConcurrentPercentage,
21108	// but not both.
21109	StackSetMaxConcurrencyPercentage *int64 `min:"1" type:"integer"`
21110
21111	// Determines what action AWS Service Catalog performs to a stack set or a stack
21112	// instance represented by the provisioned product. The default value is UPDATE
21113	// if nothing is specified.
21114	//
21115	// Applicable only to a CFN_STACKSET provisioned product type.
21116	//
21117	// CREATE
21118	//
21119	// Creates a new stack instance in the stack set represented by the provisioned
21120	// product. In this case, only new stack instances are created based on accounts
21121	// and regions; if new ProductId or ProvisioningArtifactID are passed, they
21122	// will be ignored.
21123	//
21124	// UPDATE
21125	//
21126	// Updates the stack set represented by the provisioned product and also its
21127	// stack instances.
21128	//
21129	// DELETE
21130	//
21131	// Deletes a stack instance in the stack set represented by the provisioned
21132	// product.
21133	StackSetOperationType *string `type:"string" enum:"StackSetOperationType"`
21134
21135	// One or more AWS Regions where the provisioned product will be available.
21136	//
21137	// Applicable only to a CFN_STACKSET provisioned product type.
21138	//
21139	// The specified regions should be within the list of regions from the STACKSET
21140	// constraint. To get the list of regions in the STACKSET constraint, use the
21141	// DescribeProvisioningParameters operation.
21142	//
21143	// If no values are specified, the default value is all regions from the STACKSET
21144	// constraint.
21145	StackSetRegions []*string `type:"list"`
21146}
21147
21148// String returns the string representation
21149func (s UpdateProvisioningPreferences) String() string {
21150	return awsutil.Prettify(s)
21151}
21152
21153// GoString returns the string representation
21154func (s UpdateProvisioningPreferences) GoString() string {
21155	return s.String()
21156}
21157
21158// Validate inspects the fields of the type to determine if they are valid.
21159func (s *UpdateProvisioningPreferences) Validate() error {
21160	invalidParams := request.ErrInvalidParams{Context: "UpdateProvisioningPreferences"}
21161	if s.StackSetMaxConcurrencyCount != nil && *s.StackSetMaxConcurrencyCount < 1 {
21162		invalidParams.Add(request.NewErrParamMinValue("StackSetMaxConcurrencyCount", 1))
21163	}
21164	if s.StackSetMaxConcurrencyPercentage != nil && *s.StackSetMaxConcurrencyPercentage < 1 {
21165		invalidParams.Add(request.NewErrParamMinValue("StackSetMaxConcurrencyPercentage", 1))
21166	}
21167
21168	if invalidParams.Len() > 0 {
21169		return invalidParams
21170	}
21171	return nil
21172}
21173
21174// SetStackSetAccounts sets the StackSetAccounts field's value.
21175func (s *UpdateProvisioningPreferences) SetStackSetAccounts(v []*string) *UpdateProvisioningPreferences {
21176	s.StackSetAccounts = v
21177	return s
21178}
21179
21180// SetStackSetFailureToleranceCount sets the StackSetFailureToleranceCount field's value.
21181func (s *UpdateProvisioningPreferences) SetStackSetFailureToleranceCount(v int64) *UpdateProvisioningPreferences {
21182	s.StackSetFailureToleranceCount = &v
21183	return s
21184}
21185
21186// SetStackSetFailureTolerancePercentage sets the StackSetFailureTolerancePercentage field's value.
21187func (s *UpdateProvisioningPreferences) SetStackSetFailureTolerancePercentage(v int64) *UpdateProvisioningPreferences {
21188	s.StackSetFailureTolerancePercentage = &v
21189	return s
21190}
21191
21192// SetStackSetMaxConcurrencyCount sets the StackSetMaxConcurrencyCount field's value.
21193func (s *UpdateProvisioningPreferences) SetStackSetMaxConcurrencyCount(v int64) *UpdateProvisioningPreferences {
21194	s.StackSetMaxConcurrencyCount = &v
21195	return s
21196}
21197
21198// SetStackSetMaxConcurrencyPercentage sets the StackSetMaxConcurrencyPercentage field's value.
21199func (s *UpdateProvisioningPreferences) SetStackSetMaxConcurrencyPercentage(v int64) *UpdateProvisioningPreferences {
21200	s.StackSetMaxConcurrencyPercentage = &v
21201	return s
21202}
21203
21204// SetStackSetOperationType sets the StackSetOperationType field's value.
21205func (s *UpdateProvisioningPreferences) SetStackSetOperationType(v string) *UpdateProvisioningPreferences {
21206	s.StackSetOperationType = &v
21207	return s
21208}
21209
21210// SetStackSetRegions sets the StackSetRegions field's value.
21211func (s *UpdateProvisioningPreferences) SetStackSetRegions(v []*string) *UpdateProvisioningPreferences {
21212	s.StackSetRegions = v
21213	return s
21214}
21215
21216type UpdateServiceActionInput struct {
21217	_ struct{} `type:"structure"`
21218
21219	// The language code.
21220	//
21221	//    * en - English (default)
21222	//
21223	//    * jp - Japanese
21224	//
21225	//    * zh - Chinese
21226	AcceptLanguage *string `type:"string"`
21227
21228	// A map that defines the self-service action.
21229	Definition map[string]*string `min:"1" type:"map"`
21230
21231	// The self-service action description.
21232	Description *string `type:"string"`
21233
21234	// The self-service action identifier.
21235	//
21236	// Id is a required field
21237	Id *string `min:"1" type:"string" required:"true"`
21238
21239	// The self-service action name.
21240	Name *string `min:"1" type:"string"`
21241}
21242
21243// String returns the string representation
21244func (s UpdateServiceActionInput) String() string {
21245	return awsutil.Prettify(s)
21246}
21247
21248// GoString returns the string representation
21249func (s UpdateServiceActionInput) GoString() string {
21250	return s.String()
21251}
21252
21253// Validate inspects the fields of the type to determine if they are valid.
21254func (s *UpdateServiceActionInput) Validate() error {
21255	invalidParams := request.ErrInvalidParams{Context: "UpdateServiceActionInput"}
21256	if s.Definition != nil && len(s.Definition) < 1 {
21257		invalidParams.Add(request.NewErrParamMinLen("Definition", 1))
21258	}
21259	if s.Id == nil {
21260		invalidParams.Add(request.NewErrParamRequired("Id"))
21261	}
21262	if s.Id != nil && len(*s.Id) < 1 {
21263		invalidParams.Add(request.NewErrParamMinLen("Id", 1))
21264	}
21265	if s.Name != nil && len(*s.Name) < 1 {
21266		invalidParams.Add(request.NewErrParamMinLen("Name", 1))
21267	}
21268
21269	if invalidParams.Len() > 0 {
21270		return invalidParams
21271	}
21272	return nil
21273}
21274
21275// SetAcceptLanguage sets the AcceptLanguage field's value.
21276func (s *UpdateServiceActionInput) SetAcceptLanguage(v string) *UpdateServiceActionInput {
21277	s.AcceptLanguage = &v
21278	return s
21279}
21280
21281// SetDefinition sets the Definition field's value.
21282func (s *UpdateServiceActionInput) SetDefinition(v map[string]*string) *UpdateServiceActionInput {
21283	s.Definition = v
21284	return s
21285}
21286
21287// SetDescription sets the Description field's value.
21288func (s *UpdateServiceActionInput) SetDescription(v string) *UpdateServiceActionInput {
21289	s.Description = &v
21290	return s
21291}
21292
21293// SetId sets the Id field's value.
21294func (s *UpdateServiceActionInput) SetId(v string) *UpdateServiceActionInput {
21295	s.Id = &v
21296	return s
21297}
21298
21299// SetName sets the Name field's value.
21300func (s *UpdateServiceActionInput) SetName(v string) *UpdateServiceActionInput {
21301	s.Name = &v
21302	return s
21303}
21304
21305type UpdateServiceActionOutput struct {
21306	_ struct{} `type:"structure"`
21307
21308	// Detailed information about the self-service action.
21309	ServiceActionDetail *ServiceActionDetail `type:"structure"`
21310}
21311
21312// String returns the string representation
21313func (s UpdateServiceActionOutput) String() string {
21314	return awsutil.Prettify(s)
21315}
21316
21317// GoString returns the string representation
21318func (s UpdateServiceActionOutput) GoString() string {
21319	return s.String()
21320}
21321
21322// SetServiceActionDetail sets the ServiceActionDetail field's value.
21323func (s *UpdateServiceActionOutput) SetServiceActionDetail(v *ServiceActionDetail) *UpdateServiceActionOutput {
21324	s.ServiceActionDetail = v
21325	return s
21326}
21327
21328type UpdateTagOptionInput struct {
21329	_ struct{} `type:"structure"`
21330
21331	// The updated active state.
21332	Active *bool `type:"boolean"`
21333
21334	// The TagOption identifier.
21335	//
21336	// Id is a required field
21337	Id *string `min:"1" type:"string" required:"true"`
21338
21339	// The updated value.
21340	Value *string `min:"1" type:"string"`
21341}
21342
21343// String returns the string representation
21344func (s UpdateTagOptionInput) String() string {
21345	return awsutil.Prettify(s)
21346}
21347
21348// GoString returns the string representation
21349func (s UpdateTagOptionInput) GoString() string {
21350	return s.String()
21351}
21352
21353// Validate inspects the fields of the type to determine if they are valid.
21354func (s *UpdateTagOptionInput) Validate() error {
21355	invalidParams := request.ErrInvalidParams{Context: "UpdateTagOptionInput"}
21356	if s.Id == nil {
21357		invalidParams.Add(request.NewErrParamRequired("Id"))
21358	}
21359	if s.Id != nil && len(*s.Id) < 1 {
21360		invalidParams.Add(request.NewErrParamMinLen("Id", 1))
21361	}
21362	if s.Value != nil && len(*s.Value) < 1 {
21363		invalidParams.Add(request.NewErrParamMinLen("Value", 1))
21364	}
21365
21366	if invalidParams.Len() > 0 {
21367		return invalidParams
21368	}
21369	return nil
21370}
21371
21372// SetActive sets the Active field's value.
21373func (s *UpdateTagOptionInput) SetActive(v bool) *UpdateTagOptionInput {
21374	s.Active = &v
21375	return s
21376}
21377
21378// SetId sets the Id field's value.
21379func (s *UpdateTagOptionInput) SetId(v string) *UpdateTagOptionInput {
21380	s.Id = &v
21381	return s
21382}
21383
21384// SetValue sets the Value field's value.
21385func (s *UpdateTagOptionInput) SetValue(v string) *UpdateTagOptionInput {
21386	s.Value = &v
21387	return s
21388}
21389
21390type UpdateTagOptionOutput struct {
21391	_ struct{} `type:"structure"`
21392
21393	// Information about the TagOption.
21394	TagOptionDetail *TagOptionDetail `type:"structure"`
21395}
21396
21397// String returns the string representation
21398func (s UpdateTagOptionOutput) String() string {
21399	return awsutil.Prettify(s)
21400}
21401
21402// GoString returns the string representation
21403func (s UpdateTagOptionOutput) GoString() string {
21404	return s.String()
21405}
21406
21407// SetTagOptionDetail sets the TagOptionDetail field's value.
21408func (s *UpdateTagOptionOutput) SetTagOptionDetail(v *TagOptionDetail) *UpdateTagOptionOutput {
21409	s.TagOptionDetail = v
21410	return s
21411}
21412
21413// Additional information provided by the administrator.
21414type UsageInstruction struct {
21415	_ struct{} `type:"structure"`
21416
21417	// The usage instruction type for the value.
21418	Type *string `type:"string"`
21419
21420	// The usage instruction value for this type.
21421	Value *string `type:"string"`
21422}
21423
21424// String returns the string representation
21425func (s UsageInstruction) String() string {
21426	return awsutil.Prettify(s)
21427}
21428
21429// GoString returns the string representation
21430func (s UsageInstruction) GoString() string {
21431	return s.String()
21432}
21433
21434// SetType sets the Type field's value.
21435func (s *UsageInstruction) SetType(v string) *UsageInstruction {
21436	s.Type = &v
21437	return s
21438}
21439
21440// SetValue sets the Value field's value.
21441func (s *UsageInstruction) SetValue(v string) *UsageInstruction {
21442	s.Value = &v
21443	return s
21444}
21445
21446const (
21447	// AccessLevelFilterKeyAccount is a AccessLevelFilterKey enum value
21448	AccessLevelFilterKeyAccount = "Account"
21449
21450	// AccessLevelFilterKeyRole is a AccessLevelFilterKey enum value
21451	AccessLevelFilterKeyRole = "Role"
21452
21453	// AccessLevelFilterKeyUser is a AccessLevelFilterKey enum value
21454	AccessLevelFilterKeyUser = "User"
21455)
21456
21457// AccessLevelFilterKey_Values returns all elements of the AccessLevelFilterKey enum
21458func AccessLevelFilterKey_Values() []string {
21459	return []string{
21460		AccessLevelFilterKeyAccount,
21461		AccessLevelFilterKeyRole,
21462		AccessLevelFilterKeyUser,
21463	}
21464}
21465
21466const (
21467	// AccessStatusEnabled is a AccessStatus enum value
21468	AccessStatusEnabled = "ENABLED"
21469
21470	// AccessStatusUnderChange is a AccessStatus enum value
21471	AccessStatusUnderChange = "UNDER_CHANGE"
21472
21473	// AccessStatusDisabled is a AccessStatus enum value
21474	AccessStatusDisabled = "DISABLED"
21475)
21476
21477// AccessStatus_Values returns all elements of the AccessStatus enum
21478func AccessStatus_Values() []string {
21479	return []string{
21480		AccessStatusEnabled,
21481		AccessStatusUnderChange,
21482		AccessStatusDisabled,
21483	}
21484}
21485
21486const (
21487	// ChangeActionAdd is a ChangeAction enum value
21488	ChangeActionAdd = "ADD"
21489
21490	// ChangeActionModify is a ChangeAction enum value
21491	ChangeActionModify = "MODIFY"
21492
21493	// ChangeActionRemove is a ChangeAction enum value
21494	ChangeActionRemove = "REMOVE"
21495)
21496
21497// ChangeAction_Values returns all elements of the ChangeAction enum
21498func ChangeAction_Values() []string {
21499	return []string{
21500		ChangeActionAdd,
21501		ChangeActionModify,
21502		ChangeActionRemove,
21503	}
21504}
21505
21506const (
21507	// CopyOptionCopyTags is a CopyOption enum value
21508	CopyOptionCopyTags = "CopyTags"
21509)
21510
21511// CopyOption_Values returns all elements of the CopyOption enum
21512func CopyOption_Values() []string {
21513	return []string{
21514		CopyOptionCopyTags,
21515	}
21516}
21517
21518const (
21519	// CopyProductStatusSucceeded is a CopyProductStatus enum value
21520	CopyProductStatusSucceeded = "SUCCEEDED"
21521
21522	// CopyProductStatusInProgress is a CopyProductStatus enum value
21523	CopyProductStatusInProgress = "IN_PROGRESS"
21524
21525	// CopyProductStatusFailed is a CopyProductStatus enum value
21526	CopyProductStatusFailed = "FAILED"
21527)
21528
21529// CopyProductStatus_Values returns all elements of the CopyProductStatus enum
21530func CopyProductStatus_Values() []string {
21531	return []string{
21532		CopyProductStatusSucceeded,
21533		CopyProductStatusInProgress,
21534		CopyProductStatusFailed,
21535	}
21536}
21537
21538const (
21539	// EvaluationTypeStatic is a EvaluationType enum value
21540	EvaluationTypeStatic = "STATIC"
21541
21542	// EvaluationTypeDynamic is a EvaluationType enum value
21543	EvaluationTypeDynamic = "DYNAMIC"
21544)
21545
21546// EvaluationType_Values returns all elements of the EvaluationType enum
21547func EvaluationType_Values() []string {
21548	return []string{
21549		EvaluationTypeStatic,
21550		EvaluationTypeDynamic,
21551	}
21552}
21553
21554const (
21555	// OrganizationNodeTypeOrganization is a OrganizationNodeType enum value
21556	OrganizationNodeTypeOrganization = "ORGANIZATION"
21557
21558	// OrganizationNodeTypeOrganizationalUnit is a OrganizationNodeType enum value
21559	OrganizationNodeTypeOrganizationalUnit = "ORGANIZATIONAL_UNIT"
21560
21561	// OrganizationNodeTypeAccount is a OrganizationNodeType enum value
21562	OrganizationNodeTypeAccount = "ACCOUNT"
21563)
21564
21565// OrganizationNodeType_Values returns all elements of the OrganizationNodeType enum
21566func OrganizationNodeType_Values() []string {
21567	return []string{
21568		OrganizationNodeTypeOrganization,
21569		OrganizationNodeTypeOrganizationalUnit,
21570		OrganizationNodeTypeAccount,
21571	}
21572}
21573
21574const (
21575	// PortfolioShareTypeImported is a PortfolioShareType enum value
21576	PortfolioShareTypeImported = "IMPORTED"
21577
21578	// PortfolioShareTypeAwsServicecatalog is a PortfolioShareType enum value
21579	PortfolioShareTypeAwsServicecatalog = "AWS_SERVICECATALOG"
21580
21581	// PortfolioShareTypeAwsOrganizations is a PortfolioShareType enum value
21582	PortfolioShareTypeAwsOrganizations = "AWS_ORGANIZATIONS"
21583)
21584
21585// PortfolioShareType_Values returns all elements of the PortfolioShareType enum
21586func PortfolioShareType_Values() []string {
21587	return []string{
21588		PortfolioShareTypeImported,
21589		PortfolioShareTypeAwsServicecatalog,
21590		PortfolioShareTypeAwsOrganizations,
21591	}
21592}
21593
21594const (
21595	// PrincipalTypeIam is a PrincipalType enum value
21596	PrincipalTypeIam = "IAM"
21597)
21598
21599// PrincipalType_Values returns all elements of the PrincipalType enum
21600func PrincipalType_Values() []string {
21601	return []string{
21602		PrincipalTypeIam,
21603	}
21604}
21605
21606const (
21607	// ProductSourceAccount is a ProductSource enum value
21608	ProductSourceAccount = "ACCOUNT"
21609)
21610
21611// ProductSource_Values returns all elements of the ProductSource enum
21612func ProductSource_Values() []string {
21613	return []string{
21614		ProductSourceAccount,
21615	}
21616}
21617
21618const (
21619	// ProductTypeCloudFormationTemplate is a ProductType enum value
21620	ProductTypeCloudFormationTemplate = "CLOUD_FORMATION_TEMPLATE"
21621
21622	// ProductTypeMarketplace is a ProductType enum value
21623	ProductTypeMarketplace = "MARKETPLACE"
21624)
21625
21626// ProductType_Values returns all elements of the ProductType enum
21627func ProductType_Values() []string {
21628	return []string{
21629		ProductTypeCloudFormationTemplate,
21630		ProductTypeMarketplace,
21631	}
21632}
21633
21634const (
21635	// ProductViewFilterByFullTextSearch is a ProductViewFilterBy enum value
21636	ProductViewFilterByFullTextSearch = "FullTextSearch"
21637
21638	// ProductViewFilterByOwner is a ProductViewFilterBy enum value
21639	ProductViewFilterByOwner = "Owner"
21640
21641	// ProductViewFilterByProductType is a ProductViewFilterBy enum value
21642	ProductViewFilterByProductType = "ProductType"
21643
21644	// ProductViewFilterBySourceProductId is a ProductViewFilterBy enum value
21645	ProductViewFilterBySourceProductId = "SourceProductId"
21646)
21647
21648// ProductViewFilterBy_Values returns all elements of the ProductViewFilterBy enum
21649func ProductViewFilterBy_Values() []string {
21650	return []string{
21651		ProductViewFilterByFullTextSearch,
21652		ProductViewFilterByOwner,
21653		ProductViewFilterByProductType,
21654		ProductViewFilterBySourceProductId,
21655	}
21656}
21657
21658const (
21659	// ProductViewSortByTitle is a ProductViewSortBy enum value
21660	ProductViewSortByTitle = "Title"
21661
21662	// ProductViewSortByVersionCount is a ProductViewSortBy enum value
21663	ProductViewSortByVersionCount = "VersionCount"
21664
21665	// ProductViewSortByCreationDate is a ProductViewSortBy enum value
21666	ProductViewSortByCreationDate = "CreationDate"
21667)
21668
21669// ProductViewSortBy_Values returns all elements of the ProductViewSortBy enum
21670func ProductViewSortBy_Values() []string {
21671	return []string{
21672		ProductViewSortByTitle,
21673		ProductViewSortByVersionCount,
21674		ProductViewSortByCreationDate,
21675	}
21676}
21677
21678const (
21679	// PropertyKeyOwner is a PropertyKey enum value
21680	PropertyKeyOwner = "OWNER"
21681
21682	// PropertyKeyLaunchRole is a PropertyKey enum value
21683	PropertyKeyLaunchRole = "LAUNCH_ROLE"
21684)
21685
21686// PropertyKey_Values returns all elements of the PropertyKey enum
21687func PropertyKey_Values() []string {
21688	return []string{
21689		PropertyKeyOwner,
21690		PropertyKeyLaunchRole,
21691	}
21692}
21693
21694const (
21695	// ProvisionedProductPlanStatusCreateInProgress is a ProvisionedProductPlanStatus enum value
21696	ProvisionedProductPlanStatusCreateInProgress = "CREATE_IN_PROGRESS"
21697
21698	// ProvisionedProductPlanStatusCreateSuccess is a ProvisionedProductPlanStatus enum value
21699	ProvisionedProductPlanStatusCreateSuccess = "CREATE_SUCCESS"
21700
21701	// ProvisionedProductPlanStatusCreateFailed is a ProvisionedProductPlanStatus enum value
21702	ProvisionedProductPlanStatusCreateFailed = "CREATE_FAILED"
21703
21704	// ProvisionedProductPlanStatusExecuteInProgress is a ProvisionedProductPlanStatus enum value
21705	ProvisionedProductPlanStatusExecuteInProgress = "EXECUTE_IN_PROGRESS"
21706
21707	// ProvisionedProductPlanStatusExecuteSuccess is a ProvisionedProductPlanStatus enum value
21708	ProvisionedProductPlanStatusExecuteSuccess = "EXECUTE_SUCCESS"
21709
21710	// ProvisionedProductPlanStatusExecuteFailed is a ProvisionedProductPlanStatus enum value
21711	ProvisionedProductPlanStatusExecuteFailed = "EXECUTE_FAILED"
21712)
21713
21714// ProvisionedProductPlanStatus_Values returns all elements of the ProvisionedProductPlanStatus enum
21715func ProvisionedProductPlanStatus_Values() []string {
21716	return []string{
21717		ProvisionedProductPlanStatusCreateInProgress,
21718		ProvisionedProductPlanStatusCreateSuccess,
21719		ProvisionedProductPlanStatusCreateFailed,
21720		ProvisionedProductPlanStatusExecuteInProgress,
21721		ProvisionedProductPlanStatusExecuteSuccess,
21722		ProvisionedProductPlanStatusExecuteFailed,
21723	}
21724}
21725
21726const (
21727	// ProvisionedProductPlanTypeCloudformation is a ProvisionedProductPlanType enum value
21728	ProvisionedProductPlanTypeCloudformation = "CLOUDFORMATION"
21729)
21730
21731// ProvisionedProductPlanType_Values returns all elements of the ProvisionedProductPlanType enum
21732func ProvisionedProductPlanType_Values() []string {
21733	return []string{
21734		ProvisionedProductPlanTypeCloudformation,
21735	}
21736}
21737
21738const (
21739	// ProvisionedProductStatusAvailable is a ProvisionedProductStatus enum value
21740	ProvisionedProductStatusAvailable = "AVAILABLE"
21741
21742	// ProvisionedProductStatusUnderChange is a ProvisionedProductStatus enum value
21743	ProvisionedProductStatusUnderChange = "UNDER_CHANGE"
21744
21745	// ProvisionedProductStatusTainted is a ProvisionedProductStatus enum value
21746	ProvisionedProductStatusTainted = "TAINTED"
21747
21748	// ProvisionedProductStatusError is a ProvisionedProductStatus enum value
21749	ProvisionedProductStatusError = "ERROR"
21750
21751	// ProvisionedProductStatusPlanInProgress is a ProvisionedProductStatus enum value
21752	ProvisionedProductStatusPlanInProgress = "PLAN_IN_PROGRESS"
21753)
21754
21755// ProvisionedProductStatus_Values returns all elements of the ProvisionedProductStatus enum
21756func ProvisionedProductStatus_Values() []string {
21757	return []string{
21758		ProvisionedProductStatusAvailable,
21759		ProvisionedProductStatusUnderChange,
21760		ProvisionedProductStatusTainted,
21761		ProvisionedProductStatusError,
21762		ProvisionedProductStatusPlanInProgress,
21763	}
21764}
21765
21766const (
21767	// ProvisionedProductViewFilterBySearchQuery is a ProvisionedProductViewFilterBy enum value
21768	ProvisionedProductViewFilterBySearchQuery = "SearchQuery"
21769)
21770
21771// ProvisionedProductViewFilterBy_Values returns all elements of the ProvisionedProductViewFilterBy enum
21772func ProvisionedProductViewFilterBy_Values() []string {
21773	return []string{
21774		ProvisionedProductViewFilterBySearchQuery,
21775	}
21776}
21777
21778const (
21779	// ProvisioningArtifactGuidanceDefault is a ProvisioningArtifactGuidance enum value
21780	ProvisioningArtifactGuidanceDefault = "DEFAULT"
21781
21782	// ProvisioningArtifactGuidanceDeprecated is a ProvisioningArtifactGuidance enum value
21783	ProvisioningArtifactGuidanceDeprecated = "DEPRECATED"
21784)
21785
21786// ProvisioningArtifactGuidance_Values returns all elements of the ProvisioningArtifactGuidance enum
21787func ProvisioningArtifactGuidance_Values() []string {
21788	return []string{
21789		ProvisioningArtifactGuidanceDefault,
21790		ProvisioningArtifactGuidanceDeprecated,
21791	}
21792}
21793
21794const (
21795	// ProvisioningArtifactPropertyNameId is a ProvisioningArtifactPropertyName enum value
21796	ProvisioningArtifactPropertyNameId = "Id"
21797)
21798
21799// ProvisioningArtifactPropertyName_Values returns all elements of the ProvisioningArtifactPropertyName enum
21800func ProvisioningArtifactPropertyName_Values() []string {
21801	return []string{
21802		ProvisioningArtifactPropertyNameId,
21803	}
21804}
21805
21806const (
21807	// ProvisioningArtifactTypeCloudFormationTemplate is a ProvisioningArtifactType enum value
21808	ProvisioningArtifactTypeCloudFormationTemplate = "CLOUD_FORMATION_TEMPLATE"
21809
21810	// ProvisioningArtifactTypeMarketplaceAmi is a ProvisioningArtifactType enum value
21811	ProvisioningArtifactTypeMarketplaceAmi = "MARKETPLACE_AMI"
21812
21813	// ProvisioningArtifactTypeMarketplaceCar is a ProvisioningArtifactType enum value
21814	ProvisioningArtifactTypeMarketplaceCar = "MARKETPLACE_CAR"
21815)
21816
21817// ProvisioningArtifactType_Values returns all elements of the ProvisioningArtifactType enum
21818func ProvisioningArtifactType_Values() []string {
21819	return []string{
21820		ProvisioningArtifactTypeCloudFormationTemplate,
21821		ProvisioningArtifactTypeMarketplaceAmi,
21822		ProvisioningArtifactTypeMarketplaceCar,
21823	}
21824}
21825
21826const (
21827	// RecordStatusCreated is a RecordStatus enum value
21828	RecordStatusCreated = "CREATED"
21829
21830	// RecordStatusInProgress is a RecordStatus enum value
21831	RecordStatusInProgress = "IN_PROGRESS"
21832
21833	// RecordStatusInProgressInError is a RecordStatus enum value
21834	RecordStatusInProgressInError = "IN_PROGRESS_IN_ERROR"
21835
21836	// RecordStatusSucceeded is a RecordStatus enum value
21837	RecordStatusSucceeded = "SUCCEEDED"
21838
21839	// RecordStatusFailed is a RecordStatus enum value
21840	RecordStatusFailed = "FAILED"
21841)
21842
21843// RecordStatus_Values returns all elements of the RecordStatus enum
21844func RecordStatus_Values() []string {
21845	return []string{
21846		RecordStatusCreated,
21847		RecordStatusInProgress,
21848		RecordStatusInProgressInError,
21849		RecordStatusSucceeded,
21850		RecordStatusFailed,
21851	}
21852}
21853
21854const (
21855	// ReplacementTrue is a Replacement enum value
21856	ReplacementTrue = "TRUE"
21857
21858	// ReplacementFalse is a Replacement enum value
21859	ReplacementFalse = "FALSE"
21860
21861	// ReplacementConditional is a Replacement enum value
21862	ReplacementConditional = "CONDITIONAL"
21863)
21864
21865// Replacement_Values returns all elements of the Replacement enum
21866func Replacement_Values() []string {
21867	return []string{
21868		ReplacementTrue,
21869		ReplacementFalse,
21870		ReplacementConditional,
21871	}
21872}
21873
21874const (
21875	// RequiresRecreationNever is a RequiresRecreation enum value
21876	RequiresRecreationNever = "NEVER"
21877
21878	// RequiresRecreationConditionally is a RequiresRecreation enum value
21879	RequiresRecreationConditionally = "CONDITIONALLY"
21880
21881	// RequiresRecreationAlways is a RequiresRecreation enum value
21882	RequiresRecreationAlways = "ALWAYS"
21883)
21884
21885// RequiresRecreation_Values returns all elements of the RequiresRecreation enum
21886func RequiresRecreation_Values() []string {
21887	return []string{
21888		RequiresRecreationNever,
21889		RequiresRecreationConditionally,
21890		RequiresRecreationAlways,
21891	}
21892}
21893
21894const (
21895	// ResourceAttributeProperties is a ResourceAttribute enum value
21896	ResourceAttributeProperties = "PROPERTIES"
21897
21898	// ResourceAttributeMetadata is a ResourceAttribute enum value
21899	ResourceAttributeMetadata = "METADATA"
21900
21901	// ResourceAttributeCreationpolicy is a ResourceAttribute enum value
21902	ResourceAttributeCreationpolicy = "CREATIONPOLICY"
21903
21904	// ResourceAttributeUpdatepolicy is a ResourceAttribute enum value
21905	ResourceAttributeUpdatepolicy = "UPDATEPOLICY"
21906
21907	// ResourceAttributeDeletionpolicy is a ResourceAttribute enum value
21908	ResourceAttributeDeletionpolicy = "DELETIONPOLICY"
21909
21910	// ResourceAttributeTags is a ResourceAttribute enum value
21911	ResourceAttributeTags = "TAGS"
21912)
21913
21914// ResourceAttribute_Values returns all elements of the ResourceAttribute enum
21915func ResourceAttribute_Values() []string {
21916	return []string{
21917		ResourceAttributeProperties,
21918		ResourceAttributeMetadata,
21919		ResourceAttributeCreationpolicy,
21920		ResourceAttributeUpdatepolicy,
21921		ResourceAttributeDeletionpolicy,
21922		ResourceAttributeTags,
21923	}
21924}
21925
21926const (
21927	// ServiceActionAssociationErrorCodeDuplicateResource is a ServiceActionAssociationErrorCode enum value
21928	ServiceActionAssociationErrorCodeDuplicateResource = "DUPLICATE_RESOURCE"
21929
21930	// ServiceActionAssociationErrorCodeInternalFailure is a ServiceActionAssociationErrorCode enum value
21931	ServiceActionAssociationErrorCodeInternalFailure = "INTERNAL_FAILURE"
21932
21933	// ServiceActionAssociationErrorCodeLimitExceeded is a ServiceActionAssociationErrorCode enum value
21934	ServiceActionAssociationErrorCodeLimitExceeded = "LIMIT_EXCEEDED"
21935
21936	// ServiceActionAssociationErrorCodeResourceNotFound is a ServiceActionAssociationErrorCode enum value
21937	ServiceActionAssociationErrorCodeResourceNotFound = "RESOURCE_NOT_FOUND"
21938
21939	// ServiceActionAssociationErrorCodeThrottling is a ServiceActionAssociationErrorCode enum value
21940	ServiceActionAssociationErrorCodeThrottling = "THROTTLING"
21941)
21942
21943// ServiceActionAssociationErrorCode_Values returns all elements of the ServiceActionAssociationErrorCode enum
21944func ServiceActionAssociationErrorCode_Values() []string {
21945	return []string{
21946		ServiceActionAssociationErrorCodeDuplicateResource,
21947		ServiceActionAssociationErrorCodeInternalFailure,
21948		ServiceActionAssociationErrorCodeLimitExceeded,
21949		ServiceActionAssociationErrorCodeResourceNotFound,
21950		ServiceActionAssociationErrorCodeThrottling,
21951	}
21952}
21953
21954const (
21955	// ServiceActionDefinitionKeyName is a ServiceActionDefinitionKey enum value
21956	ServiceActionDefinitionKeyName = "Name"
21957
21958	// ServiceActionDefinitionKeyVersion is a ServiceActionDefinitionKey enum value
21959	ServiceActionDefinitionKeyVersion = "Version"
21960
21961	// ServiceActionDefinitionKeyAssumeRole is a ServiceActionDefinitionKey enum value
21962	ServiceActionDefinitionKeyAssumeRole = "AssumeRole"
21963
21964	// ServiceActionDefinitionKeyParameters is a ServiceActionDefinitionKey enum value
21965	ServiceActionDefinitionKeyParameters = "Parameters"
21966)
21967
21968// ServiceActionDefinitionKey_Values returns all elements of the ServiceActionDefinitionKey enum
21969func ServiceActionDefinitionKey_Values() []string {
21970	return []string{
21971		ServiceActionDefinitionKeyName,
21972		ServiceActionDefinitionKeyVersion,
21973		ServiceActionDefinitionKeyAssumeRole,
21974		ServiceActionDefinitionKeyParameters,
21975	}
21976}
21977
21978const (
21979	// ServiceActionDefinitionTypeSsmAutomation is a ServiceActionDefinitionType enum value
21980	ServiceActionDefinitionTypeSsmAutomation = "SSM_AUTOMATION"
21981)
21982
21983// ServiceActionDefinitionType_Values returns all elements of the ServiceActionDefinitionType enum
21984func ServiceActionDefinitionType_Values() []string {
21985	return []string{
21986		ServiceActionDefinitionTypeSsmAutomation,
21987	}
21988}
21989
21990const (
21991	// ShareStatusNotStarted is a ShareStatus enum value
21992	ShareStatusNotStarted = "NOT_STARTED"
21993
21994	// ShareStatusInProgress is a ShareStatus enum value
21995	ShareStatusInProgress = "IN_PROGRESS"
21996
21997	// ShareStatusCompleted is a ShareStatus enum value
21998	ShareStatusCompleted = "COMPLETED"
21999
22000	// ShareStatusCompletedWithErrors is a ShareStatus enum value
22001	ShareStatusCompletedWithErrors = "COMPLETED_WITH_ERRORS"
22002
22003	// ShareStatusError is a ShareStatus enum value
22004	ShareStatusError = "ERROR"
22005)
22006
22007// ShareStatus_Values returns all elements of the ShareStatus enum
22008func ShareStatus_Values() []string {
22009	return []string{
22010		ShareStatusNotStarted,
22011		ShareStatusInProgress,
22012		ShareStatusCompleted,
22013		ShareStatusCompletedWithErrors,
22014		ShareStatusError,
22015	}
22016}
22017
22018const (
22019	// SortOrderAscending is a SortOrder enum value
22020	SortOrderAscending = "ASCENDING"
22021
22022	// SortOrderDescending is a SortOrder enum value
22023	SortOrderDescending = "DESCENDING"
22024)
22025
22026// SortOrder_Values returns all elements of the SortOrder enum
22027func SortOrder_Values() []string {
22028	return []string{
22029		SortOrderAscending,
22030		SortOrderDescending,
22031	}
22032}
22033
22034const (
22035	// StackInstanceStatusCurrent is a StackInstanceStatus enum value
22036	StackInstanceStatusCurrent = "CURRENT"
22037
22038	// StackInstanceStatusOutdated is a StackInstanceStatus enum value
22039	StackInstanceStatusOutdated = "OUTDATED"
22040
22041	// StackInstanceStatusInoperable is a StackInstanceStatus enum value
22042	StackInstanceStatusInoperable = "INOPERABLE"
22043)
22044
22045// StackInstanceStatus_Values returns all elements of the StackInstanceStatus enum
22046func StackInstanceStatus_Values() []string {
22047	return []string{
22048		StackInstanceStatusCurrent,
22049		StackInstanceStatusOutdated,
22050		StackInstanceStatusInoperable,
22051	}
22052}
22053
22054const (
22055	// StackSetOperationTypeCreate is a StackSetOperationType enum value
22056	StackSetOperationTypeCreate = "CREATE"
22057
22058	// StackSetOperationTypeUpdate is a StackSetOperationType enum value
22059	StackSetOperationTypeUpdate = "UPDATE"
22060
22061	// StackSetOperationTypeDelete is a StackSetOperationType enum value
22062	StackSetOperationTypeDelete = "DELETE"
22063)
22064
22065// StackSetOperationType_Values returns all elements of the StackSetOperationType enum
22066func StackSetOperationType_Values() []string {
22067	return []string{
22068		StackSetOperationTypeCreate,
22069		StackSetOperationTypeUpdate,
22070		StackSetOperationTypeDelete,
22071	}
22072}
22073
22074const (
22075	// StatusAvailable is a Status enum value
22076	StatusAvailable = "AVAILABLE"
22077
22078	// StatusCreating is a Status enum value
22079	StatusCreating = "CREATING"
22080
22081	// StatusFailed is a Status enum value
22082	StatusFailed = "FAILED"
22083)
22084
22085// Status_Values returns all elements of the Status enum
22086func Status_Values() []string {
22087	return []string{
22088		StatusAvailable,
22089		StatusCreating,
22090		StatusFailed,
22091	}
22092}
22093