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 master account
1039// of an organization or by a delegated administrator. You can share portfolios
1040// 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// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1049// with awserr.Error's Code and Message methods to get detailed information about
1050// the error.
1051//
1052// See the AWS API reference guide for AWS Service Catalog's
1053// API operation CreatePortfolioShare for usage and error information.
1054//
1055// Returned Error Types:
1056//   * ResourceNotFoundException
1057//   The specified resource was not found.
1058//
1059//   * LimitExceededException
1060//   The current limits of the service would have been exceeded by this operation.
1061//   Decrease your resource use or increase your service limits and retry the
1062//   operation.
1063//
1064//   * InvalidParametersException
1065//   One or more parameters provided to the operation are not valid.
1066//
1067//   * OperationNotSupportedException
1068//   The operation is not supported.
1069//
1070//   * InvalidStateException
1071//   An attempt was made to modify a resource that is in a state that is not valid.
1072//   Check your resources to ensure that they are in valid states before retrying
1073//   the operation.
1074//
1075// See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/CreatePortfolioShare
1076func (c *ServiceCatalog) CreatePortfolioShare(input *CreatePortfolioShareInput) (*CreatePortfolioShareOutput, error) {
1077	req, out := c.CreatePortfolioShareRequest(input)
1078	return out, req.Send()
1079}
1080
1081// CreatePortfolioShareWithContext is the same as CreatePortfolioShare with the addition of
1082// the ability to pass a context and additional request options.
1083//
1084// See CreatePortfolioShare for details on how to use this API operation.
1085//
1086// The context must be non-nil and will be used for request cancellation. If
1087// the context is nil a panic will occur. In the future the SDK may create
1088// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1089// for more information on using Contexts.
1090func (c *ServiceCatalog) CreatePortfolioShareWithContext(ctx aws.Context, input *CreatePortfolioShareInput, opts ...request.Option) (*CreatePortfolioShareOutput, error) {
1091	req, out := c.CreatePortfolioShareRequest(input)
1092	req.SetContext(ctx)
1093	req.ApplyOptions(opts...)
1094	return out, req.Send()
1095}
1096
1097const opCreateProduct = "CreateProduct"
1098
1099// CreateProductRequest generates a "aws/request.Request" representing the
1100// client's request for the CreateProduct operation. The "output" return
1101// value will be populated with the request's response once the request completes
1102// successfully.
1103//
1104// Use "Send" method on the returned Request to send the API call to the service.
1105// the "output" return value is not valid until after Send returns without error.
1106//
1107// See CreateProduct for more information on using the CreateProduct
1108// API call, and error handling.
1109//
1110// This method is useful when you want to inject custom logic or configuration
1111// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1112//
1113//
1114//    // Example sending a request using the CreateProductRequest method.
1115//    req, resp := client.CreateProductRequest(params)
1116//
1117//    err := req.Send()
1118//    if err == nil { // resp is now filled
1119//        fmt.Println(resp)
1120//    }
1121//
1122// See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/CreateProduct
1123func (c *ServiceCatalog) CreateProductRequest(input *CreateProductInput) (req *request.Request, output *CreateProductOutput) {
1124	op := &request.Operation{
1125		Name:       opCreateProduct,
1126		HTTPMethod: "POST",
1127		HTTPPath:   "/",
1128	}
1129
1130	if input == nil {
1131		input = &CreateProductInput{}
1132	}
1133
1134	output = &CreateProductOutput{}
1135	req = c.newRequest(op, input, output)
1136	return
1137}
1138
1139// CreateProduct API operation for AWS Service Catalog.
1140//
1141// Creates a product.
1142//
1143// A delegated admin is authorized to invoke this command.
1144//
1145// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1146// with awserr.Error's Code and Message methods to get detailed information about
1147// the error.
1148//
1149// See the AWS API reference guide for AWS Service Catalog's
1150// API operation CreateProduct for usage and error information.
1151//
1152// Returned Error Types:
1153//   * InvalidParametersException
1154//   One or more parameters provided to the operation are not valid.
1155//
1156//   * LimitExceededException
1157//   The current limits of the service would have been exceeded by this operation.
1158//   Decrease your resource use or increase your service limits and retry the
1159//   operation.
1160//
1161//   * TagOptionNotMigratedException
1162//   An operation requiring TagOptions failed because the TagOptions migration
1163//   process has not been performed for this account. Please use the AWS console
1164//   to perform the migration process before retrying the operation.
1165//
1166// See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/CreateProduct
1167func (c *ServiceCatalog) CreateProduct(input *CreateProductInput) (*CreateProductOutput, error) {
1168	req, out := c.CreateProductRequest(input)
1169	return out, req.Send()
1170}
1171
1172// CreateProductWithContext is the same as CreateProduct with the addition of
1173// the ability to pass a context and additional request options.
1174//
1175// See CreateProduct for details on how to use this API operation.
1176//
1177// The context must be non-nil and will be used for request cancellation. If
1178// the context is nil a panic will occur. In the future the SDK may create
1179// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1180// for more information on using Contexts.
1181func (c *ServiceCatalog) CreateProductWithContext(ctx aws.Context, input *CreateProductInput, opts ...request.Option) (*CreateProductOutput, error) {
1182	req, out := c.CreateProductRequest(input)
1183	req.SetContext(ctx)
1184	req.ApplyOptions(opts...)
1185	return out, req.Send()
1186}
1187
1188const opCreateProvisionedProductPlan = "CreateProvisionedProductPlan"
1189
1190// CreateProvisionedProductPlanRequest generates a "aws/request.Request" representing the
1191// client's request for the CreateProvisionedProductPlan operation. The "output" return
1192// value will be populated with the request's response once the request completes
1193// successfully.
1194//
1195// Use "Send" method on the returned Request to send the API call to the service.
1196// the "output" return value is not valid until after Send returns without error.
1197//
1198// See CreateProvisionedProductPlan for more information on using the CreateProvisionedProductPlan
1199// API call, and error handling.
1200//
1201// This method is useful when you want to inject custom logic or configuration
1202// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1203//
1204//
1205//    // Example sending a request using the CreateProvisionedProductPlanRequest method.
1206//    req, resp := client.CreateProvisionedProductPlanRequest(params)
1207//
1208//    err := req.Send()
1209//    if err == nil { // resp is now filled
1210//        fmt.Println(resp)
1211//    }
1212//
1213// See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/CreateProvisionedProductPlan
1214func (c *ServiceCatalog) CreateProvisionedProductPlanRequest(input *CreateProvisionedProductPlanInput) (req *request.Request, output *CreateProvisionedProductPlanOutput) {
1215	op := &request.Operation{
1216		Name:       opCreateProvisionedProductPlan,
1217		HTTPMethod: "POST",
1218		HTTPPath:   "/",
1219	}
1220
1221	if input == nil {
1222		input = &CreateProvisionedProductPlanInput{}
1223	}
1224
1225	output = &CreateProvisionedProductPlanOutput{}
1226	req = c.newRequest(op, input, output)
1227	return
1228}
1229
1230// CreateProvisionedProductPlan API operation for AWS Service Catalog.
1231//
1232// Creates a plan. A plan includes the list of resources to be created (when
1233// provisioning a new product) or modified (when updating a provisioned product)
1234// when the plan is executed.
1235//
1236// You can create one plan per provisioned product. To create a plan for an
1237// existing provisioned product, the product status must be AVAILBLE or TAINTED.
1238//
1239// To view the resource changes in the change set, use DescribeProvisionedProductPlan.
1240// To create or modify the provisioned product, use ExecuteProvisionedProductPlan.
1241//
1242// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1243// with awserr.Error's Code and Message methods to get detailed information about
1244// the error.
1245//
1246// See the AWS API reference guide for AWS Service Catalog's
1247// API operation CreateProvisionedProductPlan for usage and error information.
1248//
1249// Returned Error Types:
1250//   * InvalidParametersException
1251//   One or more parameters provided to the operation are not valid.
1252//
1253//   * ResourceNotFoundException
1254//   The specified resource was not found.
1255//
1256//   * InvalidStateException
1257//   An attempt was made to modify a resource that is in a state that is not valid.
1258//   Check your resources to ensure that they are in valid states before retrying
1259//   the operation.
1260//
1261// See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/CreateProvisionedProductPlan
1262func (c *ServiceCatalog) CreateProvisionedProductPlan(input *CreateProvisionedProductPlanInput) (*CreateProvisionedProductPlanOutput, error) {
1263	req, out := c.CreateProvisionedProductPlanRequest(input)
1264	return out, req.Send()
1265}
1266
1267// CreateProvisionedProductPlanWithContext is the same as CreateProvisionedProductPlan with the addition of
1268// the ability to pass a context and additional request options.
1269//
1270// See CreateProvisionedProductPlan for details on how to use this API operation.
1271//
1272// The context must be non-nil and will be used for request cancellation. If
1273// the context is nil a panic will occur. In the future the SDK may create
1274// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1275// for more information on using Contexts.
1276func (c *ServiceCatalog) CreateProvisionedProductPlanWithContext(ctx aws.Context, input *CreateProvisionedProductPlanInput, opts ...request.Option) (*CreateProvisionedProductPlanOutput, error) {
1277	req, out := c.CreateProvisionedProductPlanRequest(input)
1278	req.SetContext(ctx)
1279	req.ApplyOptions(opts...)
1280	return out, req.Send()
1281}
1282
1283const opCreateProvisioningArtifact = "CreateProvisioningArtifact"
1284
1285// CreateProvisioningArtifactRequest generates a "aws/request.Request" representing the
1286// client's request for the CreateProvisioningArtifact operation. The "output" return
1287// value will be populated with the request's response once the request completes
1288// successfully.
1289//
1290// Use "Send" method on the returned Request to send the API call to the service.
1291// the "output" return value is not valid until after Send returns without error.
1292//
1293// See CreateProvisioningArtifact for more information on using the CreateProvisioningArtifact
1294// API call, and error handling.
1295//
1296// This method is useful when you want to inject custom logic or configuration
1297// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1298//
1299//
1300//    // Example sending a request using the CreateProvisioningArtifactRequest method.
1301//    req, resp := client.CreateProvisioningArtifactRequest(params)
1302//
1303//    err := req.Send()
1304//    if err == nil { // resp is now filled
1305//        fmt.Println(resp)
1306//    }
1307//
1308// See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/CreateProvisioningArtifact
1309func (c *ServiceCatalog) CreateProvisioningArtifactRequest(input *CreateProvisioningArtifactInput) (req *request.Request, output *CreateProvisioningArtifactOutput) {
1310	op := &request.Operation{
1311		Name:       opCreateProvisioningArtifact,
1312		HTTPMethod: "POST",
1313		HTTPPath:   "/",
1314	}
1315
1316	if input == nil {
1317		input = &CreateProvisioningArtifactInput{}
1318	}
1319
1320	output = &CreateProvisioningArtifactOutput{}
1321	req = c.newRequest(op, input, output)
1322	return
1323}
1324
1325// CreateProvisioningArtifact API operation for AWS Service Catalog.
1326//
1327// Creates a provisioning artifact (also known as a version) for the specified
1328// product.
1329//
1330// You cannot create a provisioning artifact for a product that was shared with
1331// you.
1332//
1333// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1334// with awserr.Error's Code and Message methods to get detailed information about
1335// the error.
1336//
1337// See the AWS API reference guide for AWS Service Catalog's
1338// API operation CreateProvisioningArtifact for usage and error information.
1339//
1340// Returned Error Types:
1341//   * ResourceNotFoundException
1342//   The specified resource was not found.
1343//
1344//   * InvalidParametersException
1345//   One or more parameters provided to the operation are not valid.
1346//
1347//   * LimitExceededException
1348//   The current limits of the service would have been exceeded by this operation.
1349//   Decrease your resource use or increase your service limits and retry the
1350//   operation.
1351//
1352// See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/CreateProvisioningArtifact
1353func (c *ServiceCatalog) CreateProvisioningArtifact(input *CreateProvisioningArtifactInput) (*CreateProvisioningArtifactOutput, error) {
1354	req, out := c.CreateProvisioningArtifactRequest(input)
1355	return out, req.Send()
1356}
1357
1358// CreateProvisioningArtifactWithContext is the same as CreateProvisioningArtifact with the addition of
1359// the ability to pass a context and additional request options.
1360//
1361// See CreateProvisioningArtifact for details on how to use this API operation.
1362//
1363// The context must be non-nil and will be used for request cancellation. If
1364// the context is nil a panic will occur. In the future the SDK may create
1365// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1366// for more information on using Contexts.
1367func (c *ServiceCatalog) CreateProvisioningArtifactWithContext(ctx aws.Context, input *CreateProvisioningArtifactInput, opts ...request.Option) (*CreateProvisioningArtifactOutput, error) {
1368	req, out := c.CreateProvisioningArtifactRequest(input)
1369	req.SetContext(ctx)
1370	req.ApplyOptions(opts...)
1371	return out, req.Send()
1372}
1373
1374const opCreateServiceAction = "CreateServiceAction"
1375
1376// CreateServiceActionRequest generates a "aws/request.Request" representing the
1377// client's request for the CreateServiceAction operation. The "output" return
1378// value will be populated with the request's response once the request completes
1379// successfully.
1380//
1381// Use "Send" method on the returned Request to send the API call to the service.
1382// the "output" return value is not valid until after Send returns without error.
1383//
1384// See CreateServiceAction for more information on using the CreateServiceAction
1385// API call, and error handling.
1386//
1387// This method is useful when you want to inject custom logic or configuration
1388// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1389//
1390//
1391//    // Example sending a request using the CreateServiceActionRequest method.
1392//    req, resp := client.CreateServiceActionRequest(params)
1393//
1394//    err := req.Send()
1395//    if err == nil { // resp is now filled
1396//        fmt.Println(resp)
1397//    }
1398//
1399// See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/CreateServiceAction
1400func (c *ServiceCatalog) CreateServiceActionRequest(input *CreateServiceActionInput) (req *request.Request, output *CreateServiceActionOutput) {
1401	op := &request.Operation{
1402		Name:       opCreateServiceAction,
1403		HTTPMethod: "POST",
1404		HTTPPath:   "/",
1405	}
1406
1407	if input == nil {
1408		input = &CreateServiceActionInput{}
1409	}
1410
1411	output = &CreateServiceActionOutput{}
1412	req = c.newRequest(op, input, output)
1413	return
1414}
1415
1416// CreateServiceAction API operation for AWS Service Catalog.
1417//
1418// Creates a self-service action.
1419//
1420// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1421// with awserr.Error's Code and Message methods to get detailed information about
1422// the error.
1423//
1424// See the AWS API reference guide for AWS Service Catalog's
1425// API operation CreateServiceAction for usage and error information.
1426//
1427// Returned Error Types:
1428//   * InvalidParametersException
1429//   One or more parameters provided to the operation are not valid.
1430//
1431//   * LimitExceededException
1432//   The current limits of the service would have been exceeded by this operation.
1433//   Decrease your resource use or increase your service limits and retry the
1434//   operation.
1435//
1436// See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/CreateServiceAction
1437func (c *ServiceCatalog) CreateServiceAction(input *CreateServiceActionInput) (*CreateServiceActionOutput, error) {
1438	req, out := c.CreateServiceActionRequest(input)
1439	return out, req.Send()
1440}
1441
1442// CreateServiceActionWithContext is the same as CreateServiceAction with the addition of
1443// the ability to pass a context and additional request options.
1444//
1445// See CreateServiceAction for details on how to use this API operation.
1446//
1447// The context must be non-nil and will be used for request cancellation. If
1448// the context is nil a panic will occur. In the future the SDK may create
1449// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1450// for more information on using Contexts.
1451func (c *ServiceCatalog) CreateServiceActionWithContext(ctx aws.Context, input *CreateServiceActionInput, opts ...request.Option) (*CreateServiceActionOutput, error) {
1452	req, out := c.CreateServiceActionRequest(input)
1453	req.SetContext(ctx)
1454	req.ApplyOptions(opts...)
1455	return out, req.Send()
1456}
1457
1458const opCreateTagOption = "CreateTagOption"
1459
1460// CreateTagOptionRequest generates a "aws/request.Request" representing the
1461// client's request for the CreateTagOption operation. The "output" return
1462// value will be populated with the request's response once the request completes
1463// successfully.
1464//
1465// Use "Send" method on the returned Request to send the API call to the service.
1466// the "output" return value is not valid until after Send returns without error.
1467//
1468// See CreateTagOption for more information on using the CreateTagOption
1469// API call, and error handling.
1470//
1471// This method is useful when you want to inject custom logic or configuration
1472// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1473//
1474//
1475//    // Example sending a request using the CreateTagOptionRequest method.
1476//    req, resp := client.CreateTagOptionRequest(params)
1477//
1478//    err := req.Send()
1479//    if err == nil { // resp is now filled
1480//        fmt.Println(resp)
1481//    }
1482//
1483// See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/CreateTagOption
1484func (c *ServiceCatalog) CreateTagOptionRequest(input *CreateTagOptionInput) (req *request.Request, output *CreateTagOptionOutput) {
1485	op := &request.Operation{
1486		Name:       opCreateTagOption,
1487		HTTPMethod: "POST",
1488		HTTPPath:   "/",
1489	}
1490
1491	if input == nil {
1492		input = &CreateTagOptionInput{}
1493	}
1494
1495	output = &CreateTagOptionOutput{}
1496	req = c.newRequest(op, input, output)
1497	return
1498}
1499
1500// CreateTagOption API operation for AWS Service Catalog.
1501//
1502// Creates a TagOption.
1503//
1504// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1505// with awserr.Error's Code and Message methods to get detailed information about
1506// the error.
1507//
1508// See the AWS API reference guide for AWS Service Catalog's
1509// API operation CreateTagOption for usage and error information.
1510//
1511// Returned Error Types:
1512//   * TagOptionNotMigratedException
1513//   An operation requiring TagOptions failed because the TagOptions migration
1514//   process has not been performed for this account. Please use the AWS console
1515//   to perform the migration process before retrying the operation.
1516//
1517//   * DuplicateResourceException
1518//   The specified resource is a duplicate.
1519//
1520//   * LimitExceededException
1521//   The current limits of the service would have been exceeded by this operation.
1522//   Decrease your resource use or increase your service limits and retry the
1523//   operation.
1524//
1525// See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/CreateTagOption
1526func (c *ServiceCatalog) CreateTagOption(input *CreateTagOptionInput) (*CreateTagOptionOutput, error) {
1527	req, out := c.CreateTagOptionRequest(input)
1528	return out, req.Send()
1529}
1530
1531// CreateTagOptionWithContext is the same as CreateTagOption with the addition of
1532// the ability to pass a context and additional request options.
1533//
1534// See CreateTagOption for details on how to use this API operation.
1535//
1536// The context must be non-nil and will be used for request cancellation. If
1537// the context is nil a panic will occur. In the future the SDK may create
1538// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1539// for more information on using Contexts.
1540func (c *ServiceCatalog) CreateTagOptionWithContext(ctx aws.Context, input *CreateTagOptionInput, opts ...request.Option) (*CreateTagOptionOutput, error) {
1541	req, out := c.CreateTagOptionRequest(input)
1542	req.SetContext(ctx)
1543	req.ApplyOptions(opts...)
1544	return out, req.Send()
1545}
1546
1547const opDeleteConstraint = "DeleteConstraint"
1548
1549// DeleteConstraintRequest generates a "aws/request.Request" representing the
1550// client's request for the DeleteConstraint operation. The "output" return
1551// value will be populated with the request's response once the request completes
1552// successfully.
1553//
1554// Use "Send" method on the returned Request to send the API call to the service.
1555// the "output" return value is not valid until after Send returns without error.
1556//
1557// See DeleteConstraint for more information on using the DeleteConstraint
1558// API call, and error handling.
1559//
1560// This method is useful when you want to inject custom logic or configuration
1561// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1562//
1563//
1564//    // Example sending a request using the DeleteConstraintRequest method.
1565//    req, resp := client.DeleteConstraintRequest(params)
1566//
1567//    err := req.Send()
1568//    if err == nil { // resp is now filled
1569//        fmt.Println(resp)
1570//    }
1571//
1572// See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/DeleteConstraint
1573func (c *ServiceCatalog) DeleteConstraintRequest(input *DeleteConstraintInput) (req *request.Request, output *DeleteConstraintOutput) {
1574	op := &request.Operation{
1575		Name:       opDeleteConstraint,
1576		HTTPMethod: "POST",
1577		HTTPPath:   "/",
1578	}
1579
1580	if input == nil {
1581		input = &DeleteConstraintInput{}
1582	}
1583
1584	output = &DeleteConstraintOutput{}
1585	req = c.newRequest(op, input, output)
1586	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
1587	return
1588}
1589
1590// DeleteConstraint API operation for AWS Service Catalog.
1591//
1592// Deletes the specified constraint.
1593//
1594// A delegated admin is authorized to invoke this command.
1595//
1596// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1597// with awserr.Error's Code and Message methods to get detailed information about
1598// the error.
1599//
1600// See the AWS API reference guide for AWS Service Catalog's
1601// API operation DeleteConstraint for usage and error information.
1602//
1603// Returned Error Types:
1604//   * ResourceNotFoundException
1605//   The specified resource was not found.
1606//
1607//   * InvalidParametersException
1608//   One or more parameters provided to the operation are not valid.
1609//
1610// See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/DeleteConstraint
1611func (c *ServiceCatalog) DeleteConstraint(input *DeleteConstraintInput) (*DeleteConstraintOutput, error) {
1612	req, out := c.DeleteConstraintRequest(input)
1613	return out, req.Send()
1614}
1615
1616// DeleteConstraintWithContext is the same as DeleteConstraint with the addition of
1617// the ability to pass a context and additional request options.
1618//
1619// See DeleteConstraint for details on how to use this API operation.
1620//
1621// The context must be non-nil and will be used for request cancellation. If
1622// the context is nil a panic will occur. In the future the SDK may create
1623// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1624// for more information on using Contexts.
1625func (c *ServiceCatalog) DeleteConstraintWithContext(ctx aws.Context, input *DeleteConstraintInput, opts ...request.Option) (*DeleteConstraintOutput, error) {
1626	req, out := c.DeleteConstraintRequest(input)
1627	req.SetContext(ctx)
1628	req.ApplyOptions(opts...)
1629	return out, req.Send()
1630}
1631
1632const opDeletePortfolio = "DeletePortfolio"
1633
1634// DeletePortfolioRequest generates a "aws/request.Request" representing the
1635// client's request for the DeletePortfolio operation. The "output" return
1636// value will be populated with the request's response once the request completes
1637// successfully.
1638//
1639// Use "Send" method on the returned Request to send the API call to the service.
1640// the "output" return value is not valid until after Send returns without error.
1641//
1642// See DeletePortfolio for more information on using the DeletePortfolio
1643// API call, and error handling.
1644//
1645// This method is useful when you want to inject custom logic or configuration
1646// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1647//
1648//
1649//    // Example sending a request using the DeletePortfolioRequest method.
1650//    req, resp := client.DeletePortfolioRequest(params)
1651//
1652//    err := req.Send()
1653//    if err == nil { // resp is now filled
1654//        fmt.Println(resp)
1655//    }
1656//
1657// See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/DeletePortfolio
1658func (c *ServiceCatalog) DeletePortfolioRequest(input *DeletePortfolioInput) (req *request.Request, output *DeletePortfolioOutput) {
1659	op := &request.Operation{
1660		Name:       opDeletePortfolio,
1661		HTTPMethod: "POST",
1662		HTTPPath:   "/",
1663	}
1664
1665	if input == nil {
1666		input = &DeletePortfolioInput{}
1667	}
1668
1669	output = &DeletePortfolioOutput{}
1670	req = c.newRequest(op, input, output)
1671	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
1672	return
1673}
1674
1675// DeletePortfolio API operation for AWS Service Catalog.
1676//
1677// Deletes the specified portfolio.
1678//
1679// You cannot delete a portfolio if it was shared with you or if it has associated
1680// products, users, constraints, or shared accounts.
1681//
1682// A delegated admin is authorized to invoke this command.
1683//
1684// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1685// with awserr.Error's Code and Message methods to get detailed information about
1686// the error.
1687//
1688// See the AWS API reference guide for AWS Service Catalog's
1689// API operation DeletePortfolio for usage and error information.
1690//
1691// Returned Error Types:
1692//   * ResourceNotFoundException
1693//   The specified resource was not found.
1694//
1695//   * InvalidParametersException
1696//   One or more parameters provided to the operation are not valid.
1697//
1698//   * ResourceInUseException
1699//   A resource that is currently in use. Ensure that the resource is not in use
1700//   and retry the operation.
1701//
1702//   * TagOptionNotMigratedException
1703//   An operation requiring TagOptions failed because the TagOptions migration
1704//   process has not been performed for this account. Please use the AWS console
1705//   to perform the migration process before retrying the operation.
1706//
1707// See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/DeletePortfolio
1708func (c *ServiceCatalog) DeletePortfolio(input *DeletePortfolioInput) (*DeletePortfolioOutput, error) {
1709	req, out := c.DeletePortfolioRequest(input)
1710	return out, req.Send()
1711}
1712
1713// DeletePortfolioWithContext is the same as DeletePortfolio with the addition of
1714// the ability to pass a context and additional request options.
1715//
1716// See DeletePortfolio for details on how to use this API operation.
1717//
1718// The context must be non-nil and will be used for request cancellation. If
1719// the context is nil a panic will occur. In the future the SDK may create
1720// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1721// for more information on using Contexts.
1722func (c *ServiceCatalog) DeletePortfolioWithContext(ctx aws.Context, input *DeletePortfolioInput, opts ...request.Option) (*DeletePortfolioOutput, error) {
1723	req, out := c.DeletePortfolioRequest(input)
1724	req.SetContext(ctx)
1725	req.ApplyOptions(opts...)
1726	return out, req.Send()
1727}
1728
1729const opDeletePortfolioShare = "DeletePortfolioShare"
1730
1731// DeletePortfolioShareRequest generates a "aws/request.Request" representing the
1732// client's request for the DeletePortfolioShare operation. The "output" return
1733// value will be populated with the request's response once the request completes
1734// successfully.
1735//
1736// Use "Send" method on the returned Request to send the API call to the service.
1737// the "output" return value is not valid until after Send returns without error.
1738//
1739// See DeletePortfolioShare for more information on using the DeletePortfolioShare
1740// API call, and error handling.
1741//
1742// This method is useful when you want to inject custom logic or configuration
1743// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1744//
1745//
1746//    // Example sending a request using the DeletePortfolioShareRequest method.
1747//    req, resp := client.DeletePortfolioShareRequest(params)
1748//
1749//    err := req.Send()
1750//    if err == nil { // resp is now filled
1751//        fmt.Println(resp)
1752//    }
1753//
1754// See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/DeletePortfolioShare
1755func (c *ServiceCatalog) DeletePortfolioShareRequest(input *DeletePortfolioShareInput) (req *request.Request, output *DeletePortfolioShareOutput) {
1756	op := &request.Operation{
1757		Name:       opDeletePortfolioShare,
1758		HTTPMethod: "POST",
1759		HTTPPath:   "/",
1760	}
1761
1762	if input == nil {
1763		input = &DeletePortfolioShareInput{}
1764	}
1765
1766	output = &DeletePortfolioShareOutput{}
1767	req = c.newRequest(op, input, output)
1768	return
1769}
1770
1771// DeletePortfolioShare API operation for AWS Service Catalog.
1772//
1773// Stops sharing the specified portfolio with the specified account or organization
1774// node. Shares to an organization node can only be deleted by the master account
1775// of an organization or by a delegated administrator.
1776//
1777// Note that if a delegated admin is de-registered, portfolio shares created
1778// from that account are removed.
1779//
1780// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1781// with awserr.Error's Code and Message methods to get detailed information about
1782// the error.
1783//
1784// See the AWS API reference guide for AWS Service Catalog's
1785// API operation DeletePortfolioShare for usage and error information.
1786//
1787// Returned Error Types:
1788//   * ResourceNotFoundException
1789//   The specified resource was not found.
1790//
1791//   * InvalidParametersException
1792//   One or more parameters provided to the operation are not valid.
1793//
1794//   * OperationNotSupportedException
1795//   The operation is not supported.
1796//
1797//   * InvalidStateException
1798//   An attempt was made to modify a resource that is in a state that is not valid.
1799//   Check your resources to ensure that they are in valid states before retrying
1800//   the operation.
1801//
1802// See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/DeletePortfolioShare
1803func (c *ServiceCatalog) DeletePortfolioShare(input *DeletePortfolioShareInput) (*DeletePortfolioShareOutput, error) {
1804	req, out := c.DeletePortfolioShareRequest(input)
1805	return out, req.Send()
1806}
1807
1808// DeletePortfolioShareWithContext is the same as DeletePortfolioShare with the addition of
1809// the ability to pass a context and additional request options.
1810//
1811// See DeletePortfolioShare for details on how to use this API operation.
1812//
1813// The context must be non-nil and will be used for request cancellation. If
1814// the context is nil a panic will occur. In the future the SDK may create
1815// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1816// for more information on using Contexts.
1817func (c *ServiceCatalog) DeletePortfolioShareWithContext(ctx aws.Context, input *DeletePortfolioShareInput, opts ...request.Option) (*DeletePortfolioShareOutput, error) {
1818	req, out := c.DeletePortfolioShareRequest(input)
1819	req.SetContext(ctx)
1820	req.ApplyOptions(opts...)
1821	return out, req.Send()
1822}
1823
1824const opDeleteProduct = "DeleteProduct"
1825
1826// DeleteProductRequest generates a "aws/request.Request" representing the
1827// client's request for the DeleteProduct operation. The "output" return
1828// value will be populated with the request's response once the request completes
1829// successfully.
1830//
1831// Use "Send" method on the returned Request to send the API call to the service.
1832// the "output" return value is not valid until after Send returns without error.
1833//
1834// See DeleteProduct for more information on using the DeleteProduct
1835// API call, and error handling.
1836//
1837// This method is useful when you want to inject custom logic or configuration
1838// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1839//
1840//
1841//    // Example sending a request using the DeleteProductRequest method.
1842//    req, resp := client.DeleteProductRequest(params)
1843//
1844//    err := req.Send()
1845//    if err == nil { // resp is now filled
1846//        fmt.Println(resp)
1847//    }
1848//
1849// See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/DeleteProduct
1850func (c *ServiceCatalog) DeleteProductRequest(input *DeleteProductInput) (req *request.Request, output *DeleteProductOutput) {
1851	op := &request.Operation{
1852		Name:       opDeleteProduct,
1853		HTTPMethod: "POST",
1854		HTTPPath:   "/",
1855	}
1856
1857	if input == nil {
1858		input = &DeleteProductInput{}
1859	}
1860
1861	output = &DeleteProductOutput{}
1862	req = c.newRequest(op, input, output)
1863	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
1864	return
1865}
1866
1867// DeleteProduct API operation for AWS Service Catalog.
1868//
1869// Deletes the specified product.
1870//
1871// You cannot delete a product if it was shared with you or is associated with
1872// a portfolio.
1873//
1874// A delegated admin is authorized to invoke this command.
1875//
1876// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1877// with awserr.Error's Code and Message methods to get detailed information about
1878// the error.
1879//
1880// See the AWS API reference guide for AWS Service Catalog's
1881// API operation DeleteProduct for usage and error information.
1882//
1883// Returned Error Types:
1884//   * ResourceNotFoundException
1885//   The specified resource was not found.
1886//
1887//   * ResourceInUseException
1888//   A resource that is currently in use. Ensure that the resource is not in use
1889//   and retry the operation.
1890//
1891//   * InvalidParametersException
1892//   One or more parameters provided to the operation are not valid.
1893//
1894//   * TagOptionNotMigratedException
1895//   An operation requiring TagOptions failed because the TagOptions migration
1896//   process has not been performed for this account. Please use the AWS console
1897//   to perform the migration process before retrying the operation.
1898//
1899// See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/DeleteProduct
1900func (c *ServiceCatalog) DeleteProduct(input *DeleteProductInput) (*DeleteProductOutput, error) {
1901	req, out := c.DeleteProductRequest(input)
1902	return out, req.Send()
1903}
1904
1905// DeleteProductWithContext is the same as DeleteProduct with the addition of
1906// the ability to pass a context and additional request options.
1907//
1908// See DeleteProduct for details on how to use this API operation.
1909//
1910// The context must be non-nil and will be used for request cancellation. If
1911// the context is nil a panic will occur. In the future the SDK may create
1912// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1913// for more information on using Contexts.
1914func (c *ServiceCatalog) DeleteProductWithContext(ctx aws.Context, input *DeleteProductInput, opts ...request.Option) (*DeleteProductOutput, error) {
1915	req, out := c.DeleteProductRequest(input)
1916	req.SetContext(ctx)
1917	req.ApplyOptions(opts...)
1918	return out, req.Send()
1919}
1920
1921const opDeleteProvisionedProductPlan = "DeleteProvisionedProductPlan"
1922
1923// DeleteProvisionedProductPlanRequest generates a "aws/request.Request" representing the
1924// client's request for the DeleteProvisionedProductPlan operation. The "output" return
1925// value will be populated with the request's response once the request completes
1926// successfully.
1927//
1928// Use "Send" method on the returned Request to send the API call to the service.
1929// the "output" return value is not valid until after Send returns without error.
1930//
1931// See DeleteProvisionedProductPlan for more information on using the DeleteProvisionedProductPlan
1932// API call, and error handling.
1933//
1934// This method is useful when you want to inject custom logic or configuration
1935// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1936//
1937//
1938//    // Example sending a request using the DeleteProvisionedProductPlanRequest method.
1939//    req, resp := client.DeleteProvisionedProductPlanRequest(params)
1940//
1941//    err := req.Send()
1942//    if err == nil { // resp is now filled
1943//        fmt.Println(resp)
1944//    }
1945//
1946// See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/DeleteProvisionedProductPlan
1947func (c *ServiceCatalog) DeleteProvisionedProductPlanRequest(input *DeleteProvisionedProductPlanInput) (req *request.Request, output *DeleteProvisionedProductPlanOutput) {
1948	op := &request.Operation{
1949		Name:       opDeleteProvisionedProductPlan,
1950		HTTPMethod: "POST",
1951		HTTPPath:   "/",
1952	}
1953
1954	if input == nil {
1955		input = &DeleteProvisionedProductPlanInput{}
1956	}
1957
1958	output = &DeleteProvisionedProductPlanOutput{}
1959	req = c.newRequest(op, input, output)
1960	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
1961	return
1962}
1963
1964// DeleteProvisionedProductPlan API operation for AWS Service Catalog.
1965//
1966// Deletes the specified plan.
1967//
1968// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1969// with awserr.Error's Code and Message methods to get detailed information about
1970// the error.
1971//
1972// See the AWS API reference guide for AWS Service Catalog's
1973// API operation DeleteProvisionedProductPlan for usage and error information.
1974//
1975// Returned Error Types:
1976//   * InvalidParametersException
1977//   One or more parameters provided to the operation are not valid.
1978//
1979//   * ResourceNotFoundException
1980//   The specified resource was not found.
1981//
1982// See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/DeleteProvisionedProductPlan
1983func (c *ServiceCatalog) DeleteProvisionedProductPlan(input *DeleteProvisionedProductPlanInput) (*DeleteProvisionedProductPlanOutput, error) {
1984	req, out := c.DeleteProvisionedProductPlanRequest(input)
1985	return out, req.Send()
1986}
1987
1988// DeleteProvisionedProductPlanWithContext is the same as DeleteProvisionedProductPlan with the addition of
1989// the ability to pass a context and additional request options.
1990//
1991// See DeleteProvisionedProductPlan for details on how to use this API operation.
1992//
1993// The context must be non-nil and will be used for request cancellation. If
1994// the context is nil a panic will occur. In the future the SDK may create
1995// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1996// for more information on using Contexts.
1997func (c *ServiceCatalog) DeleteProvisionedProductPlanWithContext(ctx aws.Context, input *DeleteProvisionedProductPlanInput, opts ...request.Option) (*DeleteProvisionedProductPlanOutput, error) {
1998	req, out := c.DeleteProvisionedProductPlanRequest(input)
1999	req.SetContext(ctx)
2000	req.ApplyOptions(opts...)
2001	return out, req.Send()
2002}
2003
2004const opDeleteProvisioningArtifact = "DeleteProvisioningArtifact"
2005
2006// DeleteProvisioningArtifactRequest generates a "aws/request.Request" representing the
2007// client's request for the DeleteProvisioningArtifact operation. The "output" return
2008// value will be populated with the request's response once the request completes
2009// successfully.
2010//
2011// Use "Send" method on the returned Request to send the API call to the service.
2012// the "output" return value is not valid until after Send returns without error.
2013//
2014// See DeleteProvisioningArtifact for more information on using the DeleteProvisioningArtifact
2015// API call, and error handling.
2016//
2017// This method is useful when you want to inject custom logic or configuration
2018// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2019//
2020//
2021//    // Example sending a request using the DeleteProvisioningArtifactRequest method.
2022//    req, resp := client.DeleteProvisioningArtifactRequest(params)
2023//
2024//    err := req.Send()
2025//    if err == nil { // resp is now filled
2026//        fmt.Println(resp)
2027//    }
2028//
2029// See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/DeleteProvisioningArtifact
2030func (c *ServiceCatalog) DeleteProvisioningArtifactRequest(input *DeleteProvisioningArtifactInput) (req *request.Request, output *DeleteProvisioningArtifactOutput) {
2031	op := &request.Operation{
2032		Name:       opDeleteProvisioningArtifact,
2033		HTTPMethod: "POST",
2034		HTTPPath:   "/",
2035	}
2036
2037	if input == nil {
2038		input = &DeleteProvisioningArtifactInput{}
2039	}
2040
2041	output = &DeleteProvisioningArtifactOutput{}
2042	req = c.newRequest(op, input, output)
2043	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
2044	return
2045}
2046
2047// DeleteProvisioningArtifact API operation for AWS Service Catalog.
2048//
2049// Deletes the specified provisioning artifact (also known as a version) for
2050// the specified product.
2051//
2052// You cannot delete a provisioning artifact associated with a product that
2053// was shared with you. You cannot delete the last provisioning artifact for
2054// a product, because a product must have at least one provisioning artifact.
2055//
2056// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2057// with awserr.Error's Code and Message methods to get detailed information about
2058// the error.
2059//
2060// See the AWS API reference guide for AWS Service Catalog's
2061// API operation DeleteProvisioningArtifact for usage and error information.
2062//
2063// Returned Error Types:
2064//   * ResourceNotFoundException
2065//   The specified resource was not found.
2066//
2067//   * ResourceInUseException
2068//   A resource that is currently in use. Ensure that the resource is not in use
2069//   and retry the operation.
2070//
2071//   * InvalidParametersException
2072//   One or more parameters provided to the operation are not valid.
2073//
2074// See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/DeleteProvisioningArtifact
2075func (c *ServiceCatalog) DeleteProvisioningArtifact(input *DeleteProvisioningArtifactInput) (*DeleteProvisioningArtifactOutput, error) {
2076	req, out := c.DeleteProvisioningArtifactRequest(input)
2077	return out, req.Send()
2078}
2079
2080// DeleteProvisioningArtifactWithContext is the same as DeleteProvisioningArtifact with the addition of
2081// the ability to pass a context and additional request options.
2082//
2083// See DeleteProvisioningArtifact for details on how to use this API operation.
2084//
2085// The context must be non-nil and will be used for request cancellation. If
2086// the context is nil a panic will occur. In the future the SDK may create
2087// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2088// for more information on using Contexts.
2089func (c *ServiceCatalog) DeleteProvisioningArtifactWithContext(ctx aws.Context, input *DeleteProvisioningArtifactInput, opts ...request.Option) (*DeleteProvisioningArtifactOutput, error) {
2090	req, out := c.DeleteProvisioningArtifactRequest(input)
2091	req.SetContext(ctx)
2092	req.ApplyOptions(opts...)
2093	return out, req.Send()
2094}
2095
2096const opDeleteServiceAction = "DeleteServiceAction"
2097
2098// DeleteServiceActionRequest generates a "aws/request.Request" representing the
2099// client's request for the DeleteServiceAction operation. The "output" return
2100// value will be populated with the request's response once the request completes
2101// successfully.
2102//
2103// Use "Send" method on the returned Request to send the API call to the service.
2104// the "output" return value is not valid until after Send returns without error.
2105//
2106// See DeleteServiceAction for more information on using the DeleteServiceAction
2107// API call, and error handling.
2108//
2109// This method is useful when you want to inject custom logic or configuration
2110// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2111//
2112//
2113//    // Example sending a request using the DeleteServiceActionRequest method.
2114//    req, resp := client.DeleteServiceActionRequest(params)
2115//
2116//    err := req.Send()
2117//    if err == nil { // resp is now filled
2118//        fmt.Println(resp)
2119//    }
2120//
2121// See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/DeleteServiceAction
2122func (c *ServiceCatalog) DeleteServiceActionRequest(input *DeleteServiceActionInput) (req *request.Request, output *DeleteServiceActionOutput) {
2123	op := &request.Operation{
2124		Name:       opDeleteServiceAction,
2125		HTTPMethod: "POST",
2126		HTTPPath:   "/",
2127	}
2128
2129	if input == nil {
2130		input = &DeleteServiceActionInput{}
2131	}
2132
2133	output = &DeleteServiceActionOutput{}
2134	req = c.newRequest(op, input, output)
2135	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
2136	return
2137}
2138
2139// DeleteServiceAction API operation for AWS Service Catalog.
2140//
2141// Deletes a self-service action.
2142//
2143// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2144// with awserr.Error's Code and Message methods to get detailed information about
2145// the error.
2146//
2147// See the AWS API reference guide for AWS Service Catalog's
2148// API operation DeleteServiceAction for usage and error information.
2149//
2150// Returned Error Types:
2151//   * ResourceNotFoundException
2152//   The specified resource was not found.
2153//
2154//   * ResourceInUseException
2155//   A resource that is currently in use. Ensure that the resource is not in use
2156//   and retry the operation.
2157//
2158// See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/DeleteServiceAction
2159func (c *ServiceCatalog) DeleteServiceAction(input *DeleteServiceActionInput) (*DeleteServiceActionOutput, error) {
2160	req, out := c.DeleteServiceActionRequest(input)
2161	return out, req.Send()
2162}
2163
2164// DeleteServiceActionWithContext is the same as DeleteServiceAction with the addition of
2165// the ability to pass a context and additional request options.
2166//
2167// See DeleteServiceAction for details on how to use this API operation.
2168//
2169// The context must be non-nil and will be used for request cancellation. If
2170// the context is nil a panic will occur. In the future the SDK may create
2171// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2172// for more information on using Contexts.
2173func (c *ServiceCatalog) DeleteServiceActionWithContext(ctx aws.Context, input *DeleteServiceActionInput, opts ...request.Option) (*DeleteServiceActionOutput, error) {
2174	req, out := c.DeleteServiceActionRequest(input)
2175	req.SetContext(ctx)
2176	req.ApplyOptions(opts...)
2177	return out, req.Send()
2178}
2179
2180const opDeleteTagOption = "DeleteTagOption"
2181
2182// DeleteTagOptionRequest generates a "aws/request.Request" representing the
2183// client's request for the DeleteTagOption operation. The "output" return
2184// value will be populated with the request's response once the request completes
2185// successfully.
2186//
2187// Use "Send" method on the returned Request to send the API call to the service.
2188// the "output" return value is not valid until after Send returns without error.
2189//
2190// See DeleteTagOption for more information on using the DeleteTagOption
2191// API call, and error handling.
2192//
2193// This method is useful when you want to inject custom logic or configuration
2194// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2195//
2196//
2197//    // Example sending a request using the DeleteTagOptionRequest method.
2198//    req, resp := client.DeleteTagOptionRequest(params)
2199//
2200//    err := req.Send()
2201//    if err == nil { // resp is now filled
2202//        fmt.Println(resp)
2203//    }
2204//
2205// See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/DeleteTagOption
2206func (c *ServiceCatalog) DeleteTagOptionRequest(input *DeleteTagOptionInput) (req *request.Request, output *DeleteTagOptionOutput) {
2207	op := &request.Operation{
2208		Name:       opDeleteTagOption,
2209		HTTPMethod: "POST",
2210		HTTPPath:   "/",
2211	}
2212
2213	if input == nil {
2214		input = &DeleteTagOptionInput{}
2215	}
2216
2217	output = &DeleteTagOptionOutput{}
2218	req = c.newRequest(op, input, output)
2219	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
2220	return
2221}
2222
2223// DeleteTagOption API operation for AWS Service Catalog.
2224//
2225// Deletes the specified TagOption.
2226//
2227// You cannot delete a TagOption if it is associated with a product or portfolio.
2228//
2229// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2230// with awserr.Error's Code and Message methods to get detailed information about
2231// the error.
2232//
2233// See the AWS API reference guide for AWS Service Catalog's
2234// API operation DeleteTagOption for usage and error information.
2235//
2236// Returned Error Types:
2237//   * TagOptionNotMigratedException
2238//   An operation requiring TagOptions failed because the TagOptions migration
2239//   process has not been performed for this account. Please use the AWS console
2240//   to perform the migration process before retrying the operation.
2241//
2242//   * ResourceInUseException
2243//   A resource that is currently in use. Ensure that the resource is not in use
2244//   and retry the operation.
2245//
2246//   * ResourceNotFoundException
2247//   The specified resource was not found.
2248//
2249// See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/DeleteTagOption
2250func (c *ServiceCatalog) DeleteTagOption(input *DeleteTagOptionInput) (*DeleteTagOptionOutput, error) {
2251	req, out := c.DeleteTagOptionRequest(input)
2252	return out, req.Send()
2253}
2254
2255// DeleteTagOptionWithContext is the same as DeleteTagOption with the addition of
2256// the ability to pass a context and additional request options.
2257//
2258// See DeleteTagOption for details on how to use this API operation.
2259//
2260// The context must be non-nil and will be used for request cancellation. If
2261// the context is nil a panic will occur. In the future the SDK may create
2262// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2263// for more information on using Contexts.
2264func (c *ServiceCatalog) DeleteTagOptionWithContext(ctx aws.Context, input *DeleteTagOptionInput, opts ...request.Option) (*DeleteTagOptionOutput, error) {
2265	req, out := c.DeleteTagOptionRequest(input)
2266	req.SetContext(ctx)
2267	req.ApplyOptions(opts...)
2268	return out, req.Send()
2269}
2270
2271const opDescribeConstraint = "DescribeConstraint"
2272
2273// DescribeConstraintRequest generates a "aws/request.Request" representing the
2274// client's request for the DescribeConstraint operation. The "output" return
2275// value will be populated with the request's response once the request completes
2276// successfully.
2277//
2278// Use "Send" method on the returned Request to send the API call to the service.
2279// the "output" return value is not valid until after Send returns without error.
2280//
2281// See DescribeConstraint for more information on using the DescribeConstraint
2282// API call, and error handling.
2283//
2284// This method is useful when you want to inject custom logic or configuration
2285// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2286//
2287//
2288//    // Example sending a request using the DescribeConstraintRequest method.
2289//    req, resp := client.DescribeConstraintRequest(params)
2290//
2291//    err := req.Send()
2292//    if err == nil { // resp is now filled
2293//        fmt.Println(resp)
2294//    }
2295//
2296// See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/DescribeConstraint
2297func (c *ServiceCatalog) DescribeConstraintRequest(input *DescribeConstraintInput) (req *request.Request, output *DescribeConstraintOutput) {
2298	op := &request.Operation{
2299		Name:       opDescribeConstraint,
2300		HTTPMethod: "POST",
2301		HTTPPath:   "/",
2302	}
2303
2304	if input == nil {
2305		input = &DescribeConstraintInput{}
2306	}
2307
2308	output = &DescribeConstraintOutput{}
2309	req = c.newRequest(op, input, output)
2310	return
2311}
2312
2313// DescribeConstraint API operation for AWS Service Catalog.
2314//
2315// Gets information about the specified constraint.
2316//
2317// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2318// with awserr.Error's Code and Message methods to get detailed information about
2319// the error.
2320//
2321// See the AWS API reference guide for AWS Service Catalog's
2322// API operation DescribeConstraint for usage and error information.
2323//
2324// Returned Error Types:
2325//   * ResourceNotFoundException
2326//   The specified resource was not found.
2327//
2328// See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/DescribeConstraint
2329func (c *ServiceCatalog) DescribeConstraint(input *DescribeConstraintInput) (*DescribeConstraintOutput, error) {
2330	req, out := c.DescribeConstraintRequest(input)
2331	return out, req.Send()
2332}
2333
2334// DescribeConstraintWithContext is the same as DescribeConstraint with the addition of
2335// the ability to pass a context and additional request options.
2336//
2337// See DescribeConstraint for details on how to use this API operation.
2338//
2339// The context must be non-nil and will be used for request cancellation. If
2340// the context is nil a panic will occur. In the future the SDK may create
2341// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2342// for more information on using Contexts.
2343func (c *ServiceCatalog) DescribeConstraintWithContext(ctx aws.Context, input *DescribeConstraintInput, opts ...request.Option) (*DescribeConstraintOutput, error) {
2344	req, out := c.DescribeConstraintRequest(input)
2345	req.SetContext(ctx)
2346	req.ApplyOptions(opts...)
2347	return out, req.Send()
2348}
2349
2350const opDescribeCopyProductStatus = "DescribeCopyProductStatus"
2351
2352// DescribeCopyProductStatusRequest generates a "aws/request.Request" representing the
2353// client's request for the DescribeCopyProductStatus operation. The "output" return
2354// value will be populated with the request's response once the request completes
2355// successfully.
2356//
2357// Use "Send" method on the returned Request to send the API call to the service.
2358// the "output" return value is not valid until after Send returns without error.
2359//
2360// See DescribeCopyProductStatus for more information on using the DescribeCopyProductStatus
2361// API call, and error handling.
2362//
2363// This method is useful when you want to inject custom logic or configuration
2364// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2365//
2366//
2367//    // Example sending a request using the DescribeCopyProductStatusRequest method.
2368//    req, resp := client.DescribeCopyProductStatusRequest(params)
2369//
2370//    err := req.Send()
2371//    if err == nil { // resp is now filled
2372//        fmt.Println(resp)
2373//    }
2374//
2375// See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/DescribeCopyProductStatus
2376func (c *ServiceCatalog) DescribeCopyProductStatusRequest(input *DescribeCopyProductStatusInput) (req *request.Request, output *DescribeCopyProductStatusOutput) {
2377	op := &request.Operation{
2378		Name:       opDescribeCopyProductStatus,
2379		HTTPMethod: "POST",
2380		HTTPPath:   "/",
2381	}
2382
2383	if input == nil {
2384		input = &DescribeCopyProductStatusInput{}
2385	}
2386
2387	output = &DescribeCopyProductStatusOutput{}
2388	req = c.newRequest(op, input, output)
2389	return
2390}
2391
2392// DescribeCopyProductStatus API operation for AWS Service Catalog.
2393//
2394// Gets the status of the specified copy product operation.
2395//
2396// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2397// with awserr.Error's Code and Message methods to get detailed information about
2398// the error.
2399//
2400// See the AWS API reference guide for AWS Service Catalog's
2401// API operation DescribeCopyProductStatus for usage and error information.
2402//
2403// Returned Error Types:
2404//   * ResourceNotFoundException
2405//   The specified resource was not found.
2406//
2407// See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/DescribeCopyProductStatus
2408func (c *ServiceCatalog) DescribeCopyProductStatus(input *DescribeCopyProductStatusInput) (*DescribeCopyProductStatusOutput, error) {
2409	req, out := c.DescribeCopyProductStatusRequest(input)
2410	return out, req.Send()
2411}
2412
2413// DescribeCopyProductStatusWithContext is the same as DescribeCopyProductStatus with the addition of
2414// the ability to pass a context and additional request options.
2415//
2416// See DescribeCopyProductStatus for details on how to use this API operation.
2417//
2418// The context must be non-nil and will be used for request cancellation. If
2419// the context is nil a panic will occur. In the future the SDK may create
2420// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2421// for more information on using Contexts.
2422func (c *ServiceCatalog) DescribeCopyProductStatusWithContext(ctx aws.Context, input *DescribeCopyProductStatusInput, opts ...request.Option) (*DescribeCopyProductStatusOutput, error) {
2423	req, out := c.DescribeCopyProductStatusRequest(input)
2424	req.SetContext(ctx)
2425	req.ApplyOptions(opts...)
2426	return out, req.Send()
2427}
2428
2429const opDescribePortfolio = "DescribePortfolio"
2430
2431// DescribePortfolioRequest generates a "aws/request.Request" representing the
2432// client's request for the DescribePortfolio operation. The "output" return
2433// value will be populated with the request's response once the request completes
2434// successfully.
2435//
2436// Use "Send" method on the returned Request to send the API call to the service.
2437// the "output" return value is not valid until after Send returns without error.
2438//
2439// See DescribePortfolio for more information on using the DescribePortfolio
2440// API call, and error handling.
2441//
2442// This method is useful when you want to inject custom logic or configuration
2443// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2444//
2445//
2446//    // Example sending a request using the DescribePortfolioRequest method.
2447//    req, resp := client.DescribePortfolioRequest(params)
2448//
2449//    err := req.Send()
2450//    if err == nil { // resp is now filled
2451//        fmt.Println(resp)
2452//    }
2453//
2454// See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/DescribePortfolio
2455func (c *ServiceCatalog) DescribePortfolioRequest(input *DescribePortfolioInput) (req *request.Request, output *DescribePortfolioOutput) {
2456	op := &request.Operation{
2457		Name:       opDescribePortfolio,
2458		HTTPMethod: "POST",
2459		HTTPPath:   "/",
2460	}
2461
2462	if input == nil {
2463		input = &DescribePortfolioInput{}
2464	}
2465
2466	output = &DescribePortfolioOutput{}
2467	req = c.newRequest(op, input, output)
2468	return
2469}
2470
2471// DescribePortfolio API operation for AWS Service Catalog.
2472//
2473// Gets information about the specified portfolio.
2474//
2475// A delegated admin is authorized to invoke this command.
2476//
2477// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2478// with awserr.Error's Code and Message methods to get detailed information about
2479// the error.
2480//
2481// See the AWS API reference guide for AWS Service Catalog's
2482// API operation DescribePortfolio for usage and error information.
2483//
2484// Returned Error Types:
2485//   * ResourceNotFoundException
2486//   The specified resource was not found.
2487//
2488// See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/DescribePortfolio
2489func (c *ServiceCatalog) DescribePortfolio(input *DescribePortfolioInput) (*DescribePortfolioOutput, error) {
2490	req, out := c.DescribePortfolioRequest(input)
2491	return out, req.Send()
2492}
2493
2494// DescribePortfolioWithContext is the same as DescribePortfolio with the addition of
2495// the ability to pass a context and additional request options.
2496//
2497// See DescribePortfolio for details on how to use this API operation.
2498//
2499// The context must be non-nil and will be used for request cancellation. If
2500// the context is nil a panic will occur. In the future the SDK may create
2501// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2502// for more information on using Contexts.
2503func (c *ServiceCatalog) DescribePortfolioWithContext(ctx aws.Context, input *DescribePortfolioInput, opts ...request.Option) (*DescribePortfolioOutput, error) {
2504	req, out := c.DescribePortfolioRequest(input)
2505	req.SetContext(ctx)
2506	req.ApplyOptions(opts...)
2507	return out, req.Send()
2508}
2509
2510const opDescribePortfolioShareStatus = "DescribePortfolioShareStatus"
2511
2512// DescribePortfolioShareStatusRequest generates a "aws/request.Request" representing the
2513// client's request for the DescribePortfolioShareStatus operation. The "output" return
2514// value will be populated with the request's response once the request completes
2515// successfully.
2516//
2517// Use "Send" method on the returned Request to send the API call to the service.
2518// the "output" return value is not valid until after Send returns without error.
2519//
2520// See DescribePortfolioShareStatus for more information on using the DescribePortfolioShareStatus
2521// API call, and error handling.
2522//
2523// This method is useful when you want to inject custom logic or configuration
2524// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2525//
2526//
2527//    // Example sending a request using the DescribePortfolioShareStatusRequest method.
2528//    req, resp := client.DescribePortfolioShareStatusRequest(params)
2529//
2530//    err := req.Send()
2531//    if err == nil { // resp is now filled
2532//        fmt.Println(resp)
2533//    }
2534//
2535// See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/DescribePortfolioShareStatus
2536func (c *ServiceCatalog) DescribePortfolioShareStatusRequest(input *DescribePortfolioShareStatusInput) (req *request.Request, output *DescribePortfolioShareStatusOutput) {
2537	op := &request.Operation{
2538		Name:       opDescribePortfolioShareStatus,
2539		HTTPMethod: "POST",
2540		HTTPPath:   "/",
2541	}
2542
2543	if input == nil {
2544		input = &DescribePortfolioShareStatusInput{}
2545	}
2546
2547	output = &DescribePortfolioShareStatusOutput{}
2548	req = c.newRequest(op, input, output)
2549	return
2550}
2551
2552// DescribePortfolioShareStatus API operation for AWS Service Catalog.
2553//
2554// Gets the status of the specified portfolio share operation. This API can
2555// only be called by the master account in the organization or by a delegated
2556// admin.
2557//
2558// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2559// with awserr.Error's Code and Message methods to get detailed information about
2560// the error.
2561//
2562// See the AWS API reference guide for AWS Service Catalog's
2563// API operation DescribePortfolioShareStatus for usage and error information.
2564//
2565// Returned Error Types:
2566//   * ResourceNotFoundException
2567//   The specified resource was not found.
2568//
2569//   * InvalidParametersException
2570//   One or more parameters provided to the operation are not valid.
2571//
2572//   * OperationNotSupportedException
2573//   The operation is not supported.
2574//
2575// See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/DescribePortfolioShareStatus
2576func (c *ServiceCatalog) DescribePortfolioShareStatus(input *DescribePortfolioShareStatusInput) (*DescribePortfolioShareStatusOutput, error) {
2577	req, out := c.DescribePortfolioShareStatusRequest(input)
2578	return out, req.Send()
2579}
2580
2581// DescribePortfolioShareStatusWithContext is the same as DescribePortfolioShareStatus with the addition of
2582// the ability to pass a context and additional request options.
2583//
2584// See DescribePortfolioShareStatus for details on how to use this API operation.
2585//
2586// The context must be non-nil and will be used for request cancellation. If
2587// the context is nil a panic will occur. In the future the SDK may create
2588// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2589// for more information on using Contexts.
2590func (c *ServiceCatalog) DescribePortfolioShareStatusWithContext(ctx aws.Context, input *DescribePortfolioShareStatusInput, opts ...request.Option) (*DescribePortfolioShareStatusOutput, error) {
2591	req, out := c.DescribePortfolioShareStatusRequest(input)
2592	req.SetContext(ctx)
2593	req.ApplyOptions(opts...)
2594	return out, req.Send()
2595}
2596
2597const opDescribeProduct = "DescribeProduct"
2598
2599// DescribeProductRequest generates a "aws/request.Request" representing the
2600// client's request for the DescribeProduct operation. The "output" return
2601// value will be populated with the request's response once the request completes
2602// successfully.
2603//
2604// Use "Send" method on the returned Request to send the API call to the service.
2605// the "output" return value is not valid until after Send returns without error.
2606//
2607// See DescribeProduct for more information on using the DescribeProduct
2608// API call, and error handling.
2609//
2610// This method is useful when you want to inject custom logic or configuration
2611// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2612//
2613//
2614//    // Example sending a request using the DescribeProductRequest method.
2615//    req, resp := client.DescribeProductRequest(params)
2616//
2617//    err := req.Send()
2618//    if err == nil { // resp is now filled
2619//        fmt.Println(resp)
2620//    }
2621//
2622// See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/DescribeProduct
2623func (c *ServiceCatalog) DescribeProductRequest(input *DescribeProductInput) (req *request.Request, output *DescribeProductOutput) {
2624	op := &request.Operation{
2625		Name:       opDescribeProduct,
2626		HTTPMethod: "POST",
2627		HTTPPath:   "/",
2628	}
2629
2630	if input == nil {
2631		input = &DescribeProductInput{}
2632	}
2633
2634	output = &DescribeProductOutput{}
2635	req = c.newRequest(op, input, output)
2636	return
2637}
2638
2639// DescribeProduct API operation for AWS Service Catalog.
2640//
2641// Gets information about the specified product.
2642//
2643// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2644// with awserr.Error's Code and Message methods to get detailed information about
2645// the error.
2646//
2647// See the AWS API reference guide for AWS Service Catalog's
2648// API operation DescribeProduct for usage and error information.
2649//
2650// Returned Error Types:
2651//   * ResourceNotFoundException
2652//   The specified resource was not found.
2653//
2654//   * InvalidParametersException
2655//   One or more parameters provided to the operation are not valid.
2656//
2657// See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/DescribeProduct
2658func (c *ServiceCatalog) DescribeProduct(input *DescribeProductInput) (*DescribeProductOutput, error) {
2659	req, out := c.DescribeProductRequest(input)
2660	return out, req.Send()
2661}
2662
2663// DescribeProductWithContext is the same as DescribeProduct with the addition of
2664// the ability to pass a context and additional request options.
2665//
2666// See DescribeProduct for details on how to use this API operation.
2667//
2668// The context must be non-nil and will be used for request cancellation. If
2669// the context is nil a panic will occur. In the future the SDK may create
2670// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2671// for more information on using Contexts.
2672func (c *ServiceCatalog) DescribeProductWithContext(ctx aws.Context, input *DescribeProductInput, opts ...request.Option) (*DescribeProductOutput, error) {
2673	req, out := c.DescribeProductRequest(input)
2674	req.SetContext(ctx)
2675	req.ApplyOptions(opts...)
2676	return out, req.Send()
2677}
2678
2679const opDescribeProductAsAdmin = "DescribeProductAsAdmin"
2680
2681// DescribeProductAsAdminRequest generates a "aws/request.Request" representing the
2682// client's request for the DescribeProductAsAdmin operation. The "output" return
2683// value will be populated with the request's response once the request completes
2684// successfully.
2685//
2686// Use "Send" method on the returned Request to send the API call to the service.
2687// the "output" return value is not valid until after Send returns without error.
2688//
2689// See DescribeProductAsAdmin for more information on using the DescribeProductAsAdmin
2690// API call, and error handling.
2691//
2692// This method is useful when you want to inject custom logic or configuration
2693// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2694//
2695//
2696//    // Example sending a request using the DescribeProductAsAdminRequest method.
2697//    req, resp := client.DescribeProductAsAdminRequest(params)
2698//
2699//    err := req.Send()
2700//    if err == nil { // resp is now filled
2701//        fmt.Println(resp)
2702//    }
2703//
2704// See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/DescribeProductAsAdmin
2705func (c *ServiceCatalog) DescribeProductAsAdminRequest(input *DescribeProductAsAdminInput) (req *request.Request, output *DescribeProductAsAdminOutput) {
2706	op := &request.Operation{
2707		Name:       opDescribeProductAsAdmin,
2708		HTTPMethod: "POST",
2709		HTTPPath:   "/",
2710	}
2711
2712	if input == nil {
2713		input = &DescribeProductAsAdminInput{}
2714	}
2715
2716	output = &DescribeProductAsAdminOutput{}
2717	req = c.newRequest(op, input, output)
2718	return
2719}
2720
2721// DescribeProductAsAdmin API operation for AWS Service Catalog.
2722//
2723// Gets information about the specified product. This operation is run with
2724// administrator access.
2725//
2726// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2727// with awserr.Error's Code and Message methods to get detailed information about
2728// the error.
2729//
2730// See the AWS API reference guide for AWS Service Catalog's
2731// API operation DescribeProductAsAdmin for usage and error information.
2732//
2733// Returned Error Types:
2734//   * ResourceNotFoundException
2735//   The specified resource was not found.
2736//
2737//   * InvalidParametersException
2738//   One or more parameters provided to the operation are not valid.
2739//
2740// See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/DescribeProductAsAdmin
2741func (c *ServiceCatalog) DescribeProductAsAdmin(input *DescribeProductAsAdminInput) (*DescribeProductAsAdminOutput, error) {
2742	req, out := c.DescribeProductAsAdminRequest(input)
2743	return out, req.Send()
2744}
2745
2746// DescribeProductAsAdminWithContext is the same as DescribeProductAsAdmin with the addition of
2747// the ability to pass a context and additional request options.
2748//
2749// See DescribeProductAsAdmin for details on how to use this API operation.
2750//
2751// The context must be non-nil and will be used for request cancellation. If
2752// the context is nil a panic will occur. In the future the SDK may create
2753// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2754// for more information on using Contexts.
2755func (c *ServiceCatalog) DescribeProductAsAdminWithContext(ctx aws.Context, input *DescribeProductAsAdminInput, opts ...request.Option) (*DescribeProductAsAdminOutput, error) {
2756	req, out := c.DescribeProductAsAdminRequest(input)
2757	req.SetContext(ctx)
2758	req.ApplyOptions(opts...)
2759	return out, req.Send()
2760}
2761
2762const opDescribeProductView = "DescribeProductView"
2763
2764// DescribeProductViewRequest generates a "aws/request.Request" representing the
2765// client's request for the DescribeProductView operation. The "output" return
2766// value will be populated with the request's response once the request completes
2767// successfully.
2768//
2769// Use "Send" method on the returned Request to send the API call to the service.
2770// the "output" return value is not valid until after Send returns without error.
2771//
2772// See DescribeProductView for more information on using the DescribeProductView
2773// API call, and error handling.
2774//
2775// This method is useful when you want to inject custom logic or configuration
2776// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2777//
2778//
2779//    // Example sending a request using the DescribeProductViewRequest method.
2780//    req, resp := client.DescribeProductViewRequest(params)
2781//
2782//    err := req.Send()
2783//    if err == nil { // resp is now filled
2784//        fmt.Println(resp)
2785//    }
2786//
2787// See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/DescribeProductView
2788func (c *ServiceCatalog) DescribeProductViewRequest(input *DescribeProductViewInput) (req *request.Request, output *DescribeProductViewOutput) {
2789	op := &request.Operation{
2790		Name:       opDescribeProductView,
2791		HTTPMethod: "POST",
2792		HTTPPath:   "/",
2793	}
2794
2795	if input == nil {
2796		input = &DescribeProductViewInput{}
2797	}
2798
2799	output = &DescribeProductViewOutput{}
2800	req = c.newRequest(op, input, output)
2801	return
2802}
2803
2804// DescribeProductView API operation for AWS Service Catalog.
2805//
2806// Gets information about the specified product.
2807//
2808// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2809// with awserr.Error's Code and Message methods to get detailed information about
2810// the error.
2811//
2812// See the AWS API reference guide for AWS Service Catalog's
2813// API operation DescribeProductView for usage and error information.
2814//
2815// Returned Error Types:
2816//   * ResourceNotFoundException
2817//   The specified resource was not found.
2818//
2819//   * InvalidParametersException
2820//   One or more parameters provided to the operation are not valid.
2821//
2822// See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/DescribeProductView
2823func (c *ServiceCatalog) DescribeProductView(input *DescribeProductViewInput) (*DescribeProductViewOutput, error) {
2824	req, out := c.DescribeProductViewRequest(input)
2825	return out, req.Send()
2826}
2827
2828// DescribeProductViewWithContext is the same as DescribeProductView with the addition of
2829// the ability to pass a context and additional request options.
2830//
2831// See DescribeProductView for details on how to use this API operation.
2832//
2833// The context must be non-nil and will be used for request cancellation. If
2834// the context is nil a panic will occur. In the future the SDK may create
2835// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2836// for more information on using Contexts.
2837func (c *ServiceCatalog) DescribeProductViewWithContext(ctx aws.Context, input *DescribeProductViewInput, opts ...request.Option) (*DescribeProductViewOutput, error) {
2838	req, out := c.DescribeProductViewRequest(input)
2839	req.SetContext(ctx)
2840	req.ApplyOptions(opts...)
2841	return out, req.Send()
2842}
2843
2844const opDescribeProvisionedProduct = "DescribeProvisionedProduct"
2845
2846// DescribeProvisionedProductRequest generates a "aws/request.Request" representing the
2847// client's request for the DescribeProvisionedProduct operation. The "output" return
2848// value will be populated with the request's response once the request completes
2849// successfully.
2850//
2851// Use "Send" method on the returned Request to send the API call to the service.
2852// the "output" return value is not valid until after Send returns without error.
2853//
2854// See DescribeProvisionedProduct for more information on using the DescribeProvisionedProduct
2855// API call, and error handling.
2856//
2857// This method is useful when you want to inject custom logic or configuration
2858// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2859//
2860//
2861//    // Example sending a request using the DescribeProvisionedProductRequest method.
2862//    req, resp := client.DescribeProvisionedProductRequest(params)
2863//
2864//    err := req.Send()
2865//    if err == nil { // resp is now filled
2866//        fmt.Println(resp)
2867//    }
2868//
2869// See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/DescribeProvisionedProduct
2870func (c *ServiceCatalog) DescribeProvisionedProductRequest(input *DescribeProvisionedProductInput) (req *request.Request, output *DescribeProvisionedProductOutput) {
2871	op := &request.Operation{
2872		Name:       opDescribeProvisionedProduct,
2873		HTTPMethod: "POST",
2874		HTTPPath:   "/",
2875	}
2876
2877	if input == nil {
2878		input = &DescribeProvisionedProductInput{}
2879	}
2880
2881	output = &DescribeProvisionedProductOutput{}
2882	req = c.newRequest(op, input, output)
2883	return
2884}
2885
2886// DescribeProvisionedProduct API operation for AWS Service Catalog.
2887//
2888// Gets information about the specified provisioned product.
2889//
2890// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2891// with awserr.Error's Code and Message methods to get detailed information about
2892// the error.
2893//
2894// See the AWS API reference guide for AWS Service Catalog's
2895// API operation DescribeProvisionedProduct for usage and error information.
2896//
2897// Returned Error Types:
2898//   * ResourceNotFoundException
2899//   The specified resource was not found.
2900//
2901// See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/DescribeProvisionedProduct
2902func (c *ServiceCatalog) DescribeProvisionedProduct(input *DescribeProvisionedProductInput) (*DescribeProvisionedProductOutput, error) {
2903	req, out := c.DescribeProvisionedProductRequest(input)
2904	return out, req.Send()
2905}
2906
2907// DescribeProvisionedProductWithContext is the same as DescribeProvisionedProduct with the addition of
2908// the ability to pass a context and additional request options.
2909//
2910// See DescribeProvisionedProduct for details on how to use this API operation.
2911//
2912// The context must be non-nil and will be used for request cancellation. If
2913// the context is nil a panic will occur. In the future the SDK may create
2914// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2915// for more information on using Contexts.
2916func (c *ServiceCatalog) DescribeProvisionedProductWithContext(ctx aws.Context, input *DescribeProvisionedProductInput, opts ...request.Option) (*DescribeProvisionedProductOutput, error) {
2917	req, out := c.DescribeProvisionedProductRequest(input)
2918	req.SetContext(ctx)
2919	req.ApplyOptions(opts...)
2920	return out, req.Send()
2921}
2922
2923const opDescribeProvisionedProductPlan = "DescribeProvisionedProductPlan"
2924
2925// DescribeProvisionedProductPlanRequest generates a "aws/request.Request" representing the
2926// client's request for the DescribeProvisionedProductPlan operation. The "output" return
2927// value will be populated with the request's response once the request completes
2928// successfully.
2929//
2930// Use "Send" method on the returned Request to send the API call to the service.
2931// the "output" return value is not valid until after Send returns without error.
2932//
2933// See DescribeProvisionedProductPlan for more information on using the DescribeProvisionedProductPlan
2934// API call, and error handling.
2935//
2936// This method is useful when you want to inject custom logic or configuration
2937// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2938//
2939//
2940//    // Example sending a request using the DescribeProvisionedProductPlanRequest method.
2941//    req, resp := client.DescribeProvisionedProductPlanRequest(params)
2942//
2943//    err := req.Send()
2944//    if err == nil { // resp is now filled
2945//        fmt.Println(resp)
2946//    }
2947//
2948// See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/DescribeProvisionedProductPlan
2949func (c *ServiceCatalog) DescribeProvisionedProductPlanRequest(input *DescribeProvisionedProductPlanInput) (req *request.Request, output *DescribeProvisionedProductPlanOutput) {
2950	op := &request.Operation{
2951		Name:       opDescribeProvisionedProductPlan,
2952		HTTPMethod: "POST",
2953		HTTPPath:   "/",
2954	}
2955
2956	if input == nil {
2957		input = &DescribeProvisionedProductPlanInput{}
2958	}
2959
2960	output = &DescribeProvisionedProductPlanOutput{}
2961	req = c.newRequest(op, input, output)
2962	return
2963}
2964
2965// DescribeProvisionedProductPlan API operation for AWS Service Catalog.
2966//
2967// Gets information about the resource changes for the specified plan.
2968//
2969// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2970// with awserr.Error's Code and Message methods to get detailed information about
2971// the error.
2972//
2973// See the AWS API reference guide for AWS Service Catalog's
2974// API operation DescribeProvisionedProductPlan for usage and error information.
2975//
2976// Returned Error Types:
2977//   * ResourceNotFoundException
2978//   The specified resource was not found.
2979//
2980//   * InvalidParametersException
2981//   One or more parameters provided to the operation are not valid.
2982//
2983// See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/DescribeProvisionedProductPlan
2984func (c *ServiceCatalog) DescribeProvisionedProductPlan(input *DescribeProvisionedProductPlanInput) (*DescribeProvisionedProductPlanOutput, error) {
2985	req, out := c.DescribeProvisionedProductPlanRequest(input)
2986	return out, req.Send()
2987}
2988
2989// DescribeProvisionedProductPlanWithContext is the same as DescribeProvisionedProductPlan with the addition of
2990// the ability to pass a context and additional request options.
2991//
2992// See DescribeProvisionedProductPlan for details on how to use this API operation.
2993//
2994// The context must be non-nil and will be used for request cancellation. If
2995// the context is nil a panic will occur. In the future the SDK may create
2996// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2997// for more information on using Contexts.
2998func (c *ServiceCatalog) DescribeProvisionedProductPlanWithContext(ctx aws.Context, input *DescribeProvisionedProductPlanInput, opts ...request.Option) (*DescribeProvisionedProductPlanOutput, error) {
2999	req, out := c.DescribeProvisionedProductPlanRequest(input)
3000	req.SetContext(ctx)
3001	req.ApplyOptions(opts...)
3002	return out, req.Send()
3003}
3004
3005const opDescribeProvisioningArtifact = "DescribeProvisioningArtifact"
3006
3007// DescribeProvisioningArtifactRequest generates a "aws/request.Request" representing the
3008// client's request for the DescribeProvisioningArtifact operation. The "output" return
3009// value will be populated with the request's response once the request completes
3010// successfully.
3011//
3012// Use "Send" method on the returned Request to send the API call to the service.
3013// the "output" return value is not valid until after Send returns without error.
3014//
3015// See DescribeProvisioningArtifact for more information on using the DescribeProvisioningArtifact
3016// API call, and error handling.
3017//
3018// This method is useful when you want to inject custom logic or configuration
3019// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3020//
3021//
3022//    // Example sending a request using the DescribeProvisioningArtifactRequest method.
3023//    req, resp := client.DescribeProvisioningArtifactRequest(params)
3024//
3025//    err := req.Send()
3026//    if err == nil { // resp is now filled
3027//        fmt.Println(resp)
3028//    }
3029//
3030// See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/DescribeProvisioningArtifact
3031func (c *ServiceCatalog) DescribeProvisioningArtifactRequest(input *DescribeProvisioningArtifactInput) (req *request.Request, output *DescribeProvisioningArtifactOutput) {
3032	op := &request.Operation{
3033		Name:       opDescribeProvisioningArtifact,
3034		HTTPMethod: "POST",
3035		HTTPPath:   "/",
3036	}
3037
3038	if input == nil {
3039		input = &DescribeProvisioningArtifactInput{}
3040	}
3041
3042	output = &DescribeProvisioningArtifactOutput{}
3043	req = c.newRequest(op, input, output)
3044	return
3045}
3046
3047// DescribeProvisioningArtifact API operation for AWS Service Catalog.
3048//
3049// Gets information about the specified provisioning artifact (also known as
3050// a version) for the specified product.
3051//
3052// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3053// with awserr.Error's Code and Message methods to get detailed information about
3054// the error.
3055//
3056// See the AWS API reference guide for AWS Service Catalog's
3057// API operation DescribeProvisioningArtifact for usage and error information.
3058//
3059// Returned Error Types:
3060//   * ResourceNotFoundException
3061//   The specified resource was not found.
3062//
3063//   * InvalidParametersException
3064//   One or more parameters provided to the operation are not valid.
3065//
3066// See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/DescribeProvisioningArtifact
3067func (c *ServiceCatalog) DescribeProvisioningArtifact(input *DescribeProvisioningArtifactInput) (*DescribeProvisioningArtifactOutput, error) {
3068	req, out := c.DescribeProvisioningArtifactRequest(input)
3069	return out, req.Send()
3070}
3071
3072// DescribeProvisioningArtifactWithContext is the same as DescribeProvisioningArtifact with the addition of
3073// the ability to pass a context and additional request options.
3074//
3075// See DescribeProvisioningArtifact for details on how to use this API operation.
3076//
3077// The context must be non-nil and will be used for request cancellation. If
3078// the context is nil a panic will occur. In the future the SDK may create
3079// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3080// for more information on using Contexts.
3081func (c *ServiceCatalog) DescribeProvisioningArtifactWithContext(ctx aws.Context, input *DescribeProvisioningArtifactInput, opts ...request.Option) (*DescribeProvisioningArtifactOutput, error) {
3082	req, out := c.DescribeProvisioningArtifactRequest(input)
3083	req.SetContext(ctx)
3084	req.ApplyOptions(opts...)
3085	return out, req.Send()
3086}
3087
3088const opDescribeProvisioningParameters = "DescribeProvisioningParameters"
3089
3090// DescribeProvisioningParametersRequest generates a "aws/request.Request" representing the
3091// client's request for the DescribeProvisioningParameters operation. The "output" return
3092// value will be populated with the request's response once the request completes
3093// successfully.
3094//
3095// Use "Send" method on the returned Request to send the API call to the service.
3096// the "output" return value is not valid until after Send returns without error.
3097//
3098// See DescribeProvisioningParameters for more information on using the DescribeProvisioningParameters
3099// API call, and error handling.
3100//
3101// This method is useful when you want to inject custom logic or configuration
3102// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3103//
3104//
3105//    // Example sending a request using the DescribeProvisioningParametersRequest method.
3106//    req, resp := client.DescribeProvisioningParametersRequest(params)
3107//
3108//    err := req.Send()
3109//    if err == nil { // resp is now filled
3110//        fmt.Println(resp)
3111//    }
3112//
3113// See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/DescribeProvisioningParameters
3114func (c *ServiceCatalog) DescribeProvisioningParametersRequest(input *DescribeProvisioningParametersInput) (req *request.Request, output *DescribeProvisioningParametersOutput) {
3115	op := &request.Operation{
3116		Name:       opDescribeProvisioningParameters,
3117		HTTPMethod: "POST",
3118		HTTPPath:   "/",
3119	}
3120
3121	if input == nil {
3122		input = &DescribeProvisioningParametersInput{}
3123	}
3124
3125	output = &DescribeProvisioningParametersOutput{}
3126	req = c.newRequest(op, input, output)
3127	return
3128}
3129
3130// DescribeProvisioningParameters API operation for AWS Service Catalog.
3131//
3132// Gets information about the configuration required to provision the specified
3133// product using the specified provisioning artifact.
3134//
3135// If the output contains a TagOption key with an empty list of values, there
3136// is a TagOption conflict for that key. The end user cannot take action to
3137// fix the conflict, and launch is not blocked. In subsequent calls to ProvisionProduct,
3138// do not include conflicted TagOption keys as tags, or this causes the error
3139// "Parameter validation failed: Missing required parameter in Tags[N]:Value".
3140// Tag the provisioned product with the value sc-tagoption-conflict-portfolioId-productId.
3141//
3142// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3143// with awserr.Error's Code and Message methods to get detailed information about
3144// the error.
3145//
3146// See the AWS API reference guide for AWS Service Catalog's
3147// API operation DescribeProvisioningParameters for usage and error information.
3148//
3149// Returned Error Types:
3150//   * InvalidParametersException
3151//   One or more parameters provided to the operation are not valid.
3152//
3153//   * ResourceNotFoundException
3154//   The specified resource was not found.
3155//
3156// See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/DescribeProvisioningParameters
3157func (c *ServiceCatalog) DescribeProvisioningParameters(input *DescribeProvisioningParametersInput) (*DescribeProvisioningParametersOutput, error) {
3158	req, out := c.DescribeProvisioningParametersRequest(input)
3159	return out, req.Send()
3160}
3161
3162// DescribeProvisioningParametersWithContext is the same as DescribeProvisioningParameters with the addition of
3163// the ability to pass a context and additional request options.
3164//
3165// See DescribeProvisioningParameters for details on how to use this API operation.
3166//
3167// The context must be non-nil and will be used for request cancellation. If
3168// the context is nil a panic will occur. In the future the SDK may create
3169// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3170// for more information on using Contexts.
3171func (c *ServiceCatalog) DescribeProvisioningParametersWithContext(ctx aws.Context, input *DescribeProvisioningParametersInput, opts ...request.Option) (*DescribeProvisioningParametersOutput, error) {
3172	req, out := c.DescribeProvisioningParametersRequest(input)
3173	req.SetContext(ctx)
3174	req.ApplyOptions(opts...)
3175	return out, req.Send()
3176}
3177
3178const opDescribeRecord = "DescribeRecord"
3179
3180// DescribeRecordRequest generates a "aws/request.Request" representing the
3181// client's request for the DescribeRecord operation. The "output" return
3182// value will be populated with the request's response once the request completes
3183// successfully.
3184//
3185// Use "Send" method on the returned Request to send the API call to the service.
3186// the "output" return value is not valid until after Send returns without error.
3187//
3188// See DescribeRecord for more information on using the DescribeRecord
3189// API call, and error handling.
3190//
3191// This method is useful when you want to inject custom logic or configuration
3192// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3193//
3194//
3195//    // Example sending a request using the DescribeRecordRequest method.
3196//    req, resp := client.DescribeRecordRequest(params)
3197//
3198//    err := req.Send()
3199//    if err == nil { // resp is now filled
3200//        fmt.Println(resp)
3201//    }
3202//
3203// See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/DescribeRecord
3204func (c *ServiceCatalog) DescribeRecordRequest(input *DescribeRecordInput) (req *request.Request, output *DescribeRecordOutput) {
3205	op := &request.Operation{
3206		Name:       opDescribeRecord,
3207		HTTPMethod: "POST",
3208		HTTPPath:   "/",
3209	}
3210
3211	if input == nil {
3212		input = &DescribeRecordInput{}
3213	}
3214
3215	output = &DescribeRecordOutput{}
3216	req = c.newRequest(op, input, output)
3217	return
3218}
3219
3220// DescribeRecord API operation for AWS Service Catalog.
3221//
3222// Gets information about the specified request operation.
3223//
3224// Use this operation after calling a request operation (for example, ProvisionProduct,
3225// TerminateProvisionedProduct, or UpdateProvisionedProduct).
3226//
3227// If a provisioned product was transferred to a new owner using UpdateProvisionedProductProperties,
3228// the new owner will be able to describe all past records for that product.
3229// The previous owner will no longer be able to describe the records, but will
3230// be able to use ListRecordHistory to see the product's history from when he
3231// was the owner.
3232//
3233// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3234// with awserr.Error's Code and Message methods to get detailed information about
3235// the error.
3236//
3237// See the AWS API reference guide for AWS Service Catalog's
3238// API operation DescribeRecord for usage and error information.
3239//
3240// Returned Error Types:
3241//   * ResourceNotFoundException
3242//   The specified resource was not found.
3243//
3244// See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/DescribeRecord
3245func (c *ServiceCatalog) DescribeRecord(input *DescribeRecordInput) (*DescribeRecordOutput, error) {
3246	req, out := c.DescribeRecordRequest(input)
3247	return out, req.Send()
3248}
3249
3250// DescribeRecordWithContext is the same as DescribeRecord with the addition of
3251// the ability to pass a context and additional request options.
3252//
3253// See DescribeRecord for details on how to use this API operation.
3254//
3255// The context must be non-nil and will be used for request cancellation. If
3256// the context is nil a panic will occur. In the future the SDK may create
3257// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3258// for more information on using Contexts.
3259func (c *ServiceCatalog) DescribeRecordWithContext(ctx aws.Context, input *DescribeRecordInput, opts ...request.Option) (*DescribeRecordOutput, error) {
3260	req, out := c.DescribeRecordRequest(input)
3261	req.SetContext(ctx)
3262	req.ApplyOptions(opts...)
3263	return out, req.Send()
3264}
3265
3266const opDescribeServiceAction = "DescribeServiceAction"
3267
3268// DescribeServiceActionRequest generates a "aws/request.Request" representing the
3269// client's request for the DescribeServiceAction operation. The "output" return
3270// value will be populated with the request's response once the request completes
3271// successfully.
3272//
3273// Use "Send" method on the returned Request to send the API call to the service.
3274// the "output" return value is not valid until after Send returns without error.
3275//
3276// See DescribeServiceAction for more information on using the DescribeServiceAction
3277// API call, and error handling.
3278//
3279// This method is useful when you want to inject custom logic or configuration
3280// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3281//
3282//
3283//    // Example sending a request using the DescribeServiceActionRequest method.
3284//    req, resp := client.DescribeServiceActionRequest(params)
3285//
3286//    err := req.Send()
3287//    if err == nil { // resp is now filled
3288//        fmt.Println(resp)
3289//    }
3290//
3291// See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/DescribeServiceAction
3292func (c *ServiceCatalog) DescribeServiceActionRequest(input *DescribeServiceActionInput) (req *request.Request, output *DescribeServiceActionOutput) {
3293	op := &request.Operation{
3294		Name:       opDescribeServiceAction,
3295		HTTPMethod: "POST",
3296		HTTPPath:   "/",
3297	}
3298
3299	if input == nil {
3300		input = &DescribeServiceActionInput{}
3301	}
3302
3303	output = &DescribeServiceActionOutput{}
3304	req = c.newRequest(op, input, output)
3305	return
3306}
3307
3308// DescribeServiceAction API operation for AWS Service Catalog.
3309//
3310// Describes a self-service action.
3311//
3312// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3313// with awserr.Error's Code and Message methods to get detailed information about
3314// the error.
3315//
3316// See the AWS API reference guide for AWS Service Catalog's
3317// API operation DescribeServiceAction for usage and error information.
3318//
3319// Returned Error Types:
3320//   * ResourceNotFoundException
3321//   The specified resource was not found.
3322//
3323// See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/DescribeServiceAction
3324func (c *ServiceCatalog) DescribeServiceAction(input *DescribeServiceActionInput) (*DescribeServiceActionOutput, error) {
3325	req, out := c.DescribeServiceActionRequest(input)
3326	return out, req.Send()
3327}
3328
3329// DescribeServiceActionWithContext is the same as DescribeServiceAction with the addition of
3330// the ability to pass a context and additional request options.
3331//
3332// See DescribeServiceAction for details on how to use this API operation.
3333//
3334// The context must be non-nil and will be used for request cancellation. If
3335// the context is nil a panic will occur. In the future the SDK may create
3336// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3337// for more information on using Contexts.
3338func (c *ServiceCatalog) DescribeServiceActionWithContext(ctx aws.Context, input *DescribeServiceActionInput, opts ...request.Option) (*DescribeServiceActionOutput, error) {
3339	req, out := c.DescribeServiceActionRequest(input)
3340	req.SetContext(ctx)
3341	req.ApplyOptions(opts...)
3342	return out, req.Send()
3343}
3344
3345const opDescribeServiceActionExecutionParameters = "DescribeServiceActionExecutionParameters"
3346
3347// DescribeServiceActionExecutionParametersRequest generates a "aws/request.Request" representing the
3348// client's request for the DescribeServiceActionExecutionParameters operation. The "output" return
3349// value will be populated with the request's response once the request completes
3350// successfully.
3351//
3352// Use "Send" method on the returned Request to send the API call to the service.
3353// the "output" return value is not valid until after Send returns without error.
3354//
3355// See DescribeServiceActionExecutionParameters for more information on using the DescribeServiceActionExecutionParameters
3356// API call, and error handling.
3357//
3358// This method is useful when you want to inject custom logic or configuration
3359// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3360//
3361//
3362//    // Example sending a request using the DescribeServiceActionExecutionParametersRequest method.
3363//    req, resp := client.DescribeServiceActionExecutionParametersRequest(params)
3364//
3365//    err := req.Send()
3366//    if err == nil { // resp is now filled
3367//        fmt.Println(resp)
3368//    }
3369//
3370// See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/DescribeServiceActionExecutionParameters
3371func (c *ServiceCatalog) DescribeServiceActionExecutionParametersRequest(input *DescribeServiceActionExecutionParametersInput) (req *request.Request, output *DescribeServiceActionExecutionParametersOutput) {
3372	op := &request.Operation{
3373		Name:       opDescribeServiceActionExecutionParameters,
3374		HTTPMethod: "POST",
3375		HTTPPath:   "/",
3376	}
3377
3378	if input == nil {
3379		input = &DescribeServiceActionExecutionParametersInput{}
3380	}
3381
3382	output = &DescribeServiceActionExecutionParametersOutput{}
3383	req = c.newRequest(op, input, output)
3384	return
3385}
3386
3387// DescribeServiceActionExecutionParameters API operation for AWS Service Catalog.
3388//
3389// Finds the default parameters for a specific self-service action on a specific
3390// provisioned product and returns a map of the results to the user.
3391//
3392// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3393// with awserr.Error's Code and Message methods to get detailed information about
3394// the error.
3395//
3396// See the AWS API reference guide for AWS Service Catalog's
3397// API operation DescribeServiceActionExecutionParameters for usage and error information.
3398//
3399// Returned Error Types:
3400//   * InvalidParametersException
3401//   One or more parameters provided to the operation are not valid.
3402//
3403//   * ResourceNotFoundException
3404//   The specified resource was not found.
3405//
3406// See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/DescribeServiceActionExecutionParameters
3407func (c *ServiceCatalog) DescribeServiceActionExecutionParameters(input *DescribeServiceActionExecutionParametersInput) (*DescribeServiceActionExecutionParametersOutput, error) {
3408	req, out := c.DescribeServiceActionExecutionParametersRequest(input)
3409	return out, req.Send()
3410}
3411
3412// DescribeServiceActionExecutionParametersWithContext is the same as DescribeServiceActionExecutionParameters with the addition of
3413// the ability to pass a context and additional request options.
3414//
3415// See DescribeServiceActionExecutionParameters for details on how to use this API operation.
3416//
3417// The context must be non-nil and will be used for request cancellation. If
3418// the context is nil a panic will occur. In the future the SDK may create
3419// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3420// for more information on using Contexts.
3421func (c *ServiceCatalog) DescribeServiceActionExecutionParametersWithContext(ctx aws.Context, input *DescribeServiceActionExecutionParametersInput, opts ...request.Option) (*DescribeServiceActionExecutionParametersOutput, error) {
3422	req, out := c.DescribeServiceActionExecutionParametersRequest(input)
3423	req.SetContext(ctx)
3424	req.ApplyOptions(opts...)
3425	return out, req.Send()
3426}
3427
3428const opDescribeTagOption = "DescribeTagOption"
3429
3430// DescribeTagOptionRequest generates a "aws/request.Request" representing the
3431// client's request for the DescribeTagOption operation. The "output" return
3432// value will be populated with the request's response once the request completes
3433// successfully.
3434//
3435// Use "Send" method on the returned Request to send the API call to the service.
3436// the "output" return value is not valid until after Send returns without error.
3437//
3438// See DescribeTagOption for more information on using the DescribeTagOption
3439// API call, and error handling.
3440//
3441// This method is useful when you want to inject custom logic or configuration
3442// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3443//
3444//
3445//    // Example sending a request using the DescribeTagOptionRequest method.
3446//    req, resp := client.DescribeTagOptionRequest(params)
3447//
3448//    err := req.Send()
3449//    if err == nil { // resp is now filled
3450//        fmt.Println(resp)
3451//    }
3452//
3453// See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/DescribeTagOption
3454func (c *ServiceCatalog) DescribeTagOptionRequest(input *DescribeTagOptionInput) (req *request.Request, output *DescribeTagOptionOutput) {
3455	op := &request.Operation{
3456		Name:       opDescribeTagOption,
3457		HTTPMethod: "POST",
3458		HTTPPath:   "/",
3459	}
3460
3461	if input == nil {
3462		input = &DescribeTagOptionInput{}
3463	}
3464
3465	output = &DescribeTagOptionOutput{}
3466	req = c.newRequest(op, input, output)
3467	return
3468}
3469
3470// DescribeTagOption API operation for AWS Service Catalog.
3471//
3472// Gets information about the specified TagOption.
3473//
3474// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3475// with awserr.Error's Code and Message methods to get detailed information about
3476// the error.
3477//
3478// See the AWS API reference guide for AWS Service Catalog's
3479// API operation DescribeTagOption for usage and error information.
3480//
3481// Returned Error Types:
3482//   * TagOptionNotMigratedException
3483//   An operation requiring TagOptions failed because the TagOptions migration
3484//   process has not been performed for this account. Please use the AWS console
3485//   to perform the migration process before retrying the operation.
3486//
3487//   * ResourceNotFoundException
3488//   The specified resource was not found.
3489//
3490// See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/DescribeTagOption
3491func (c *ServiceCatalog) DescribeTagOption(input *DescribeTagOptionInput) (*DescribeTagOptionOutput, error) {
3492	req, out := c.DescribeTagOptionRequest(input)
3493	return out, req.Send()
3494}
3495
3496// DescribeTagOptionWithContext is the same as DescribeTagOption with the addition of
3497// the ability to pass a context and additional request options.
3498//
3499// See DescribeTagOption for details on how to use this API operation.
3500//
3501// The context must be non-nil and will be used for request cancellation. If
3502// the context is nil a panic will occur. In the future the SDK may create
3503// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3504// for more information on using Contexts.
3505func (c *ServiceCatalog) DescribeTagOptionWithContext(ctx aws.Context, input *DescribeTagOptionInput, opts ...request.Option) (*DescribeTagOptionOutput, error) {
3506	req, out := c.DescribeTagOptionRequest(input)
3507	req.SetContext(ctx)
3508	req.ApplyOptions(opts...)
3509	return out, req.Send()
3510}
3511
3512const opDisableAWSOrganizationsAccess = "DisableAWSOrganizationsAccess"
3513
3514// DisableAWSOrganizationsAccessRequest generates a "aws/request.Request" representing the
3515// client's request for the DisableAWSOrganizationsAccess operation. The "output" return
3516// value will be populated with the request's response once the request completes
3517// successfully.
3518//
3519// Use "Send" method on the returned Request to send the API call to the service.
3520// the "output" return value is not valid until after Send returns without error.
3521//
3522// See DisableAWSOrganizationsAccess for more information on using the DisableAWSOrganizationsAccess
3523// API call, and error handling.
3524//
3525// This method is useful when you want to inject custom logic or configuration
3526// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3527//
3528//
3529//    // Example sending a request using the DisableAWSOrganizationsAccessRequest method.
3530//    req, resp := client.DisableAWSOrganizationsAccessRequest(params)
3531//
3532//    err := req.Send()
3533//    if err == nil { // resp is now filled
3534//        fmt.Println(resp)
3535//    }
3536//
3537// See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/DisableAWSOrganizationsAccess
3538func (c *ServiceCatalog) DisableAWSOrganizationsAccessRequest(input *DisableAWSOrganizationsAccessInput) (req *request.Request, output *DisableAWSOrganizationsAccessOutput) {
3539	op := &request.Operation{
3540		Name:       opDisableAWSOrganizationsAccess,
3541		HTTPMethod: "POST",
3542		HTTPPath:   "/",
3543	}
3544
3545	if input == nil {
3546		input = &DisableAWSOrganizationsAccessInput{}
3547	}
3548
3549	output = &DisableAWSOrganizationsAccessOutput{}
3550	req = c.newRequest(op, input, output)
3551	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
3552	return
3553}
3554
3555// DisableAWSOrganizationsAccess API operation for AWS Service Catalog.
3556//
3557// Disable portfolio sharing through AWS Organizations feature. This feature
3558// will not delete your current shares but it will prevent you from creating
3559// new shares throughout your organization. Current shares will not be in sync
3560// with your organization structure if it changes after calling this API. This
3561// API can only be called by the master account in the organization.
3562//
3563// This API can't be invoked if there are active delegated administrators in
3564// the organization.
3565//
3566// Note that a delegated administrator is not authorized to invoke DisableAWSOrganizationsAccess.
3567//
3568// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3569// with awserr.Error's Code and Message methods to get detailed information about
3570// the error.
3571//
3572// See the AWS API reference guide for AWS Service Catalog's
3573// API operation DisableAWSOrganizationsAccess for usage and error information.
3574//
3575// Returned Error Types:
3576//   * ResourceNotFoundException
3577//   The specified resource was not found.
3578//
3579//   * InvalidStateException
3580//   An attempt was made to modify a resource that is in a state that is not valid.
3581//   Check your resources to ensure that they are in valid states before retrying
3582//   the operation.
3583//
3584//   * OperationNotSupportedException
3585//   The operation is not supported.
3586//
3587// See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/DisableAWSOrganizationsAccess
3588func (c *ServiceCatalog) DisableAWSOrganizationsAccess(input *DisableAWSOrganizationsAccessInput) (*DisableAWSOrganizationsAccessOutput, error) {
3589	req, out := c.DisableAWSOrganizationsAccessRequest(input)
3590	return out, req.Send()
3591}
3592
3593// DisableAWSOrganizationsAccessWithContext is the same as DisableAWSOrganizationsAccess with the addition of
3594// the ability to pass a context and additional request options.
3595//
3596// See DisableAWSOrganizationsAccess for details on how to use this API operation.
3597//
3598// The context must be non-nil and will be used for request cancellation. If
3599// the context is nil a panic will occur. In the future the SDK may create
3600// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3601// for more information on using Contexts.
3602func (c *ServiceCatalog) DisableAWSOrganizationsAccessWithContext(ctx aws.Context, input *DisableAWSOrganizationsAccessInput, opts ...request.Option) (*DisableAWSOrganizationsAccessOutput, error) {
3603	req, out := c.DisableAWSOrganizationsAccessRequest(input)
3604	req.SetContext(ctx)
3605	req.ApplyOptions(opts...)
3606	return out, req.Send()
3607}
3608
3609const opDisassociateBudgetFromResource = "DisassociateBudgetFromResource"
3610
3611// DisassociateBudgetFromResourceRequest generates a "aws/request.Request" representing the
3612// client's request for the DisassociateBudgetFromResource operation. The "output" return
3613// value will be populated with the request's response once the request completes
3614// successfully.
3615//
3616// Use "Send" method on the returned Request to send the API call to the service.
3617// the "output" return value is not valid until after Send returns without error.
3618//
3619// See DisassociateBudgetFromResource for more information on using the DisassociateBudgetFromResource
3620// API call, and error handling.
3621//
3622// This method is useful when you want to inject custom logic or configuration
3623// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3624//
3625//
3626//    // Example sending a request using the DisassociateBudgetFromResourceRequest method.
3627//    req, resp := client.DisassociateBudgetFromResourceRequest(params)
3628//
3629//    err := req.Send()
3630//    if err == nil { // resp is now filled
3631//        fmt.Println(resp)
3632//    }
3633//
3634// See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/DisassociateBudgetFromResource
3635func (c *ServiceCatalog) DisassociateBudgetFromResourceRequest(input *DisassociateBudgetFromResourceInput) (req *request.Request, output *DisassociateBudgetFromResourceOutput) {
3636	op := &request.Operation{
3637		Name:       opDisassociateBudgetFromResource,
3638		HTTPMethod: "POST",
3639		HTTPPath:   "/",
3640	}
3641
3642	if input == nil {
3643		input = &DisassociateBudgetFromResourceInput{}
3644	}
3645
3646	output = &DisassociateBudgetFromResourceOutput{}
3647	req = c.newRequest(op, input, output)
3648	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
3649	return
3650}
3651
3652// DisassociateBudgetFromResource API operation for AWS Service Catalog.
3653//
3654// Disassociates the specified budget from the specified resource.
3655//
3656// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3657// with awserr.Error's Code and Message methods to get detailed information about
3658// the error.
3659//
3660// See the AWS API reference guide for AWS Service Catalog's
3661// API operation DisassociateBudgetFromResource for usage and error information.
3662//
3663// Returned Error Types:
3664//   * ResourceNotFoundException
3665//   The specified resource was not found.
3666//
3667// See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/DisassociateBudgetFromResource
3668func (c *ServiceCatalog) DisassociateBudgetFromResource(input *DisassociateBudgetFromResourceInput) (*DisassociateBudgetFromResourceOutput, error) {
3669	req, out := c.DisassociateBudgetFromResourceRequest(input)
3670	return out, req.Send()
3671}
3672
3673// DisassociateBudgetFromResourceWithContext is the same as DisassociateBudgetFromResource with the addition of
3674// the ability to pass a context and additional request options.
3675//
3676// See DisassociateBudgetFromResource for details on how to use this API operation.
3677//
3678// The context must be non-nil and will be used for request cancellation. If
3679// the context is nil a panic will occur. In the future the SDK may create
3680// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3681// for more information on using Contexts.
3682func (c *ServiceCatalog) DisassociateBudgetFromResourceWithContext(ctx aws.Context, input *DisassociateBudgetFromResourceInput, opts ...request.Option) (*DisassociateBudgetFromResourceOutput, error) {
3683	req, out := c.DisassociateBudgetFromResourceRequest(input)
3684	req.SetContext(ctx)
3685	req.ApplyOptions(opts...)
3686	return out, req.Send()
3687}
3688
3689const opDisassociatePrincipalFromPortfolio = "DisassociatePrincipalFromPortfolio"
3690
3691// DisassociatePrincipalFromPortfolioRequest generates a "aws/request.Request" representing the
3692// client's request for the DisassociatePrincipalFromPortfolio operation. The "output" return
3693// value will be populated with the request's response once the request completes
3694// successfully.
3695//
3696// Use "Send" method on the returned Request to send the API call to the service.
3697// the "output" return value is not valid until after Send returns without error.
3698//
3699// See DisassociatePrincipalFromPortfolio for more information on using the DisassociatePrincipalFromPortfolio
3700// API call, and error handling.
3701//
3702// This method is useful when you want to inject custom logic or configuration
3703// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3704//
3705//
3706//    // Example sending a request using the DisassociatePrincipalFromPortfolioRequest method.
3707//    req, resp := client.DisassociatePrincipalFromPortfolioRequest(params)
3708//
3709//    err := req.Send()
3710//    if err == nil { // resp is now filled
3711//        fmt.Println(resp)
3712//    }
3713//
3714// See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/DisassociatePrincipalFromPortfolio
3715func (c *ServiceCatalog) DisassociatePrincipalFromPortfolioRequest(input *DisassociatePrincipalFromPortfolioInput) (req *request.Request, output *DisassociatePrincipalFromPortfolioOutput) {
3716	op := &request.Operation{
3717		Name:       opDisassociatePrincipalFromPortfolio,
3718		HTTPMethod: "POST",
3719		HTTPPath:   "/",
3720	}
3721
3722	if input == nil {
3723		input = &DisassociatePrincipalFromPortfolioInput{}
3724	}
3725
3726	output = &DisassociatePrincipalFromPortfolioOutput{}
3727	req = c.newRequest(op, input, output)
3728	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
3729	return
3730}
3731
3732// DisassociatePrincipalFromPortfolio API operation for AWS Service Catalog.
3733//
3734// Disassociates a previously associated principal ARN from a specified portfolio.
3735//
3736// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3737// with awserr.Error's Code and Message methods to get detailed information about
3738// the error.
3739//
3740// See the AWS API reference guide for AWS Service Catalog's
3741// API operation DisassociatePrincipalFromPortfolio for usage and error information.
3742//
3743// Returned Error Types:
3744//   * InvalidParametersException
3745//   One or more parameters provided to the operation are not valid.
3746//
3747//   * ResourceNotFoundException
3748//   The specified resource was not found.
3749//
3750// See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/DisassociatePrincipalFromPortfolio
3751func (c *ServiceCatalog) DisassociatePrincipalFromPortfolio(input *DisassociatePrincipalFromPortfolioInput) (*DisassociatePrincipalFromPortfolioOutput, error) {
3752	req, out := c.DisassociatePrincipalFromPortfolioRequest(input)
3753	return out, req.Send()
3754}
3755
3756// DisassociatePrincipalFromPortfolioWithContext is the same as DisassociatePrincipalFromPortfolio with the addition of
3757// the ability to pass a context and additional request options.
3758//
3759// See DisassociatePrincipalFromPortfolio for details on how to use this API operation.
3760//
3761// The context must be non-nil and will be used for request cancellation. If
3762// the context is nil a panic will occur. In the future the SDK may create
3763// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3764// for more information on using Contexts.
3765func (c *ServiceCatalog) DisassociatePrincipalFromPortfolioWithContext(ctx aws.Context, input *DisassociatePrincipalFromPortfolioInput, opts ...request.Option) (*DisassociatePrincipalFromPortfolioOutput, error) {
3766	req, out := c.DisassociatePrincipalFromPortfolioRequest(input)
3767	req.SetContext(ctx)
3768	req.ApplyOptions(opts...)
3769	return out, req.Send()
3770}
3771
3772const opDisassociateProductFromPortfolio = "DisassociateProductFromPortfolio"
3773
3774// DisassociateProductFromPortfolioRequest generates a "aws/request.Request" representing the
3775// client's request for the DisassociateProductFromPortfolio operation. The "output" return
3776// value will be populated with the request's response once the request completes
3777// successfully.
3778//
3779// Use "Send" method on the returned Request to send the API call to the service.
3780// the "output" return value is not valid until after Send returns without error.
3781//
3782// See DisassociateProductFromPortfolio for more information on using the DisassociateProductFromPortfolio
3783// API call, and error handling.
3784//
3785// This method is useful when you want to inject custom logic or configuration
3786// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3787//
3788//
3789//    // Example sending a request using the DisassociateProductFromPortfolioRequest method.
3790//    req, resp := client.DisassociateProductFromPortfolioRequest(params)
3791//
3792//    err := req.Send()
3793//    if err == nil { // resp is now filled
3794//        fmt.Println(resp)
3795//    }
3796//
3797// See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/DisassociateProductFromPortfolio
3798func (c *ServiceCatalog) DisassociateProductFromPortfolioRequest(input *DisassociateProductFromPortfolioInput) (req *request.Request, output *DisassociateProductFromPortfolioOutput) {
3799	op := &request.Operation{
3800		Name:       opDisassociateProductFromPortfolio,
3801		HTTPMethod: "POST",
3802		HTTPPath:   "/",
3803	}
3804
3805	if input == nil {
3806		input = &DisassociateProductFromPortfolioInput{}
3807	}
3808
3809	output = &DisassociateProductFromPortfolioOutput{}
3810	req = c.newRequest(op, input, output)
3811	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
3812	return
3813}
3814
3815// DisassociateProductFromPortfolio API operation for AWS Service Catalog.
3816//
3817// Disassociates the specified product from the specified portfolio.
3818//
3819// A delegated admin is authorized to invoke this command.
3820//
3821// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3822// with awserr.Error's Code and Message methods to get detailed information about
3823// the error.
3824//
3825// See the AWS API reference guide for AWS Service Catalog's
3826// API operation DisassociateProductFromPortfolio for usage and error information.
3827//
3828// Returned Error Types:
3829//   * ResourceNotFoundException
3830//   The specified resource was not found.
3831//
3832//   * ResourceInUseException
3833//   A resource that is currently in use. Ensure that the resource is not in use
3834//   and retry the operation.
3835//
3836//   * InvalidParametersException
3837//   One or more parameters provided to the operation are not valid.
3838//
3839// See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/DisassociateProductFromPortfolio
3840func (c *ServiceCatalog) DisassociateProductFromPortfolio(input *DisassociateProductFromPortfolioInput) (*DisassociateProductFromPortfolioOutput, error) {
3841	req, out := c.DisassociateProductFromPortfolioRequest(input)
3842	return out, req.Send()
3843}
3844
3845// DisassociateProductFromPortfolioWithContext is the same as DisassociateProductFromPortfolio with the addition of
3846// the ability to pass a context and additional request options.
3847//
3848// See DisassociateProductFromPortfolio for details on how to use this API operation.
3849//
3850// The context must be non-nil and will be used for request cancellation. If
3851// the context is nil a panic will occur. In the future the SDK may create
3852// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3853// for more information on using Contexts.
3854func (c *ServiceCatalog) DisassociateProductFromPortfolioWithContext(ctx aws.Context, input *DisassociateProductFromPortfolioInput, opts ...request.Option) (*DisassociateProductFromPortfolioOutput, error) {
3855	req, out := c.DisassociateProductFromPortfolioRequest(input)
3856	req.SetContext(ctx)
3857	req.ApplyOptions(opts...)
3858	return out, req.Send()
3859}
3860
3861const opDisassociateServiceActionFromProvisioningArtifact = "DisassociateServiceActionFromProvisioningArtifact"
3862
3863// DisassociateServiceActionFromProvisioningArtifactRequest generates a "aws/request.Request" representing the
3864// client's request for the DisassociateServiceActionFromProvisioningArtifact operation. The "output" return
3865// value will be populated with the request's response once the request completes
3866// successfully.
3867//
3868// Use "Send" method on the returned Request to send the API call to the service.
3869// the "output" return value is not valid until after Send returns without error.
3870//
3871// See DisassociateServiceActionFromProvisioningArtifact for more information on using the DisassociateServiceActionFromProvisioningArtifact
3872// API call, and error handling.
3873//
3874// This method is useful when you want to inject custom logic or configuration
3875// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3876//
3877//
3878//    // Example sending a request using the DisassociateServiceActionFromProvisioningArtifactRequest method.
3879//    req, resp := client.DisassociateServiceActionFromProvisioningArtifactRequest(params)
3880//
3881//    err := req.Send()
3882//    if err == nil { // resp is now filled
3883//        fmt.Println(resp)
3884//    }
3885//
3886// See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/DisassociateServiceActionFromProvisioningArtifact
3887func (c *ServiceCatalog) DisassociateServiceActionFromProvisioningArtifactRequest(input *DisassociateServiceActionFromProvisioningArtifactInput) (req *request.Request, output *DisassociateServiceActionFromProvisioningArtifactOutput) {
3888	op := &request.Operation{
3889		Name:       opDisassociateServiceActionFromProvisioningArtifact,
3890		HTTPMethod: "POST",
3891		HTTPPath:   "/",
3892	}
3893
3894	if input == nil {
3895		input = &DisassociateServiceActionFromProvisioningArtifactInput{}
3896	}
3897
3898	output = &DisassociateServiceActionFromProvisioningArtifactOutput{}
3899	req = c.newRequest(op, input, output)
3900	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
3901	return
3902}
3903
3904// DisassociateServiceActionFromProvisioningArtifact API operation for AWS Service Catalog.
3905//
3906// Disassociates the specified self-service action association from the specified
3907// provisioning artifact.
3908//
3909// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3910// with awserr.Error's Code and Message methods to get detailed information about
3911// the error.
3912//
3913// See the AWS API reference guide for AWS Service Catalog's
3914// API operation DisassociateServiceActionFromProvisioningArtifact for usage and error information.
3915//
3916// Returned Error Types:
3917//   * ResourceNotFoundException
3918//   The specified resource was not found.
3919//
3920// See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/DisassociateServiceActionFromProvisioningArtifact
3921func (c *ServiceCatalog) DisassociateServiceActionFromProvisioningArtifact(input *DisassociateServiceActionFromProvisioningArtifactInput) (*DisassociateServiceActionFromProvisioningArtifactOutput, error) {
3922	req, out := c.DisassociateServiceActionFromProvisioningArtifactRequest(input)
3923	return out, req.Send()
3924}
3925
3926// DisassociateServiceActionFromProvisioningArtifactWithContext is the same as DisassociateServiceActionFromProvisioningArtifact with the addition of
3927// the ability to pass a context and additional request options.
3928//
3929// See DisassociateServiceActionFromProvisioningArtifact for details on how to use this API operation.
3930//
3931// The context must be non-nil and will be used for request cancellation. If
3932// the context is nil a panic will occur. In the future the SDK may create
3933// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3934// for more information on using Contexts.
3935func (c *ServiceCatalog) DisassociateServiceActionFromProvisioningArtifactWithContext(ctx aws.Context, input *DisassociateServiceActionFromProvisioningArtifactInput, opts ...request.Option) (*DisassociateServiceActionFromProvisioningArtifactOutput, error) {
3936	req, out := c.DisassociateServiceActionFromProvisioningArtifactRequest(input)
3937	req.SetContext(ctx)
3938	req.ApplyOptions(opts...)
3939	return out, req.Send()
3940}
3941
3942const opDisassociateTagOptionFromResource = "DisassociateTagOptionFromResource"
3943
3944// DisassociateTagOptionFromResourceRequest generates a "aws/request.Request" representing the
3945// client's request for the DisassociateTagOptionFromResource operation. The "output" return
3946// value will be populated with the request's response once the request completes
3947// successfully.
3948//
3949// Use "Send" method on the returned Request to send the API call to the service.
3950// the "output" return value is not valid until after Send returns without error.
3951//
3952// See DisassociateTagOptionFromResource for more information on using the DisassociateTagOptionFromResource
3953// API call, and error handling.
3954//
3955// This method is useful when you want to inject custom logic or configuration
3956// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3957//
3958//
3959//    // Example sending a request using the DisassociateTagOptionFromResourceRequest method.
3960//    req, resp := client.DisassociateTagOptionFromResourceRequest(params)
3961//
3962//    err := req.Send()
3963//    if err == nil { // resp is now filled
3964//        fmt.Println(resp)
3965//    }
3966//
3967// See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/DisassociateTagOptionFromResource
3968func (c *ServiceCatalog) DisassociateTagOptionFromResourceRequest(input *DisassociateTagOptionFromResourceInput) (req *request.Request, output *DisassociateTagOptionFromResourceOutput) {
3969	op := &request.Operation{
3970		Name:       opDisassociateTagOptionFromResource,
3971		HTTPMethod: "POST",
3972		HTTPPath:   "/",
3973	}
3974
3975	if input == nil {
3976		input = &DisassociateTagOptionFromResourceInput{}
3977	}
3978
3979	output = &DisassociateTagOptionFromResourceOutput{}
3980	req = c.newRequest(op, input, output)
3981	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
3982	return
3983}
3984
3985// DisassociateTagOptionFromResource API operation for AWS Service Catalog.
3986//
3987// Disassociates the specified TagOption from the specified resource.
3988//
3989// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3990// with awserr.Error's Code and Message methods to get detailed information about
3991// the error.
3992//
3993// See the AWS API reference guide for AWS Service Catalog's
3994// API operation DisassociateTagOptionFromResource for usage and error information.
3995//
3996// Returned Error Types:
3997//   * TagOptionNotMigratedException
3998//   An operation requiring TagOptions failed because the TagOptions migration
3999//   process has not been performed for this account. Please use the AWS console
4000//   to perform the migration process before retrying the operation.
4001//
4002//   * ResourceNotFoundException
4003//   The specified resource was not found.
4004//
4005// See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/DisassociateTagOptionFromResource
4006func (c *ServiceCatalog) DisassociateTagOptionFromResource(input *DisassociateTagOptionFromResourceInput) (*DisassociateTagOptionFromResourceOutput, error) {
4007	req, out := c.DisassociateTagOptionFromResourceRequest(input)
4008	return out, req.Send()
4009}
4010
4011// DisassociateTagOptionFromResourceWithContext is the same as DisassociateTagOptionFromResource with the addition of
4012// the ability to pass a context and additional request options.
4013//
4014// See DisassociateTagOptionFromResource for details on how to use this API operation.
4015//
4016// The context must be non-nil and will be used for request cancellation. If
4017// the context is nil a panic will occur. In the future the SDK may create
4018// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4019// for more information on using Contexts.
4020func (c *ServiceCatalog) DisassociateTagOptionFromResourceWithContext(ctx aws.Context, input *DisassociateTagOptionFromResourceInput, opts ...request.Option) (*DisassociateTagOptionFromResourceOutput, error) {
4021	req, out := c.DisassociateTagOptionFromResourceRequest(input)
4022	req.SetContext(ctx)
4023	req.ApplyOptions(opts...)
4024	return out, req.Send()
4025}
4026
4027const opEnableAWSOrganizationsAccess = "EnableAWSOrganizationsAccess"
4028
4029// EnableAWSOrganizationsAccessRequest generates a "aws/request.Request" representing the
4030// client's request for the EnableAWSOrganizationsAccess operation. The "output" return
4031// value will be populated with the request's response once the request completes
4032// successfully.
4033//
4034// Use "Send" method on the returned Request to send the API call to the service.
4035// the "output" return value is not valid until after Send returns without error.
4036//
4037// See EnableAWSOrganizationsAccess for more information on using the EnableAWSOrganizationsAccess
4038// API call, and error handling.
4039//
4040// This method is useful when you want to inject custom logic or configuration
4041// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4042//
4043//
4044//    // Example sending a request using the EnableAWSOrganizationsAccessRequest method.
4045//    req, resp := client.EnableAWSOrganizationsAccessRequest(params)
4046//
4047//    err := req.Send()
4048//    if err == nil { // resp is now filled
4049//        fmt.Println(resp)
4050//    }
4051//
4052// See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/EnableAWSOrganizationsAccess
4053func (c *ServiceCatalog) EnableAWSOrganizationsAccessRequest(input *EnableAWSOrganizationsAccessInput) (req *request.Request, output *EnableAWSOrganizationsAccessOutput) {
4054	op := &request.Operation{
4055		Name:       opEnableAWSOrganizationsAccess,
4056		HTTPMethod: "POST",
4057		HTTPPath:   "/",
4058	}
4059
4060	if input == nil {
4061		input = &EnableAWSOrganizationsAccessInput{}
4062	}
4063
4064	output = &EnableAWSOrganizationsAccessOutput{}
4065	req = c.newRequest(op, input, output)
4066	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
4067	return
4068}
4069
4070// EnableAWSOrganizationsAccess API operation for AWS Service Catalog.
4071//
4072// Enable portfolio sharing feature through AWS Organizations. This API will
4073// allow Service Catalog to receive updates on your organization in order to
4074// sync your shares with the current structure. This API can only be called
4075// by the master account in the organization.
4076//
4077// By calling this API Service Catalog will make a call to organizations:EnableAWSServiceAccess
4078// on your behalf so that your shares can be in sync with any changes in your
4079// AWS Organizations structure.
4080//
4081// Note that a delegated administrator is not authorized to invoke EnableAWSOrganizationsAccess.
4082//
4083// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4084// with awserr.Error's Code and Message methods to get detailed information about
4085// the error.
4086//
4087// See the AWS API reference guide for AWS Service Catalog's
4088// API operation EnableAWSOrganizationsAccess for usage and error information.
4089//
4090// Returned Error Types:
4091//   * ResourceNotFoundException
4092//   The specified resource was not found.
4093//
4094//   * InvalidStateException
4095//   An attempt was made to modify a resource that is in a state that is not valid.
4096//   Check your resources to ensure that they are in valid states before retrying
4097//   the operation.
4098//
4099//   * OperationNotSupportedException
4100//   The operation is not supported.
4101//
4102// See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/EnableAWSOrganizationsAccess
4103func (c *ServiceCatalog) EnableAWSOrganizationsAccess(input *EnableAWSOrganizationsAccessInput) (*EnableAWSOrganizationsAccessOutput, error) {
4104	req, out := c.EnableAWSOrganizationsAccessRequest(input)
4105	return out, req.Send()
4106}
4107
4108// EnableAWSOrganizationsAccessWithContext is the same as EnableAWSOrganizationsAccess with the addition of
4109// the ability to pass a context and additional request options.
4110//
4111// See EnableAWSOrganizationsAccess for details on how to use this API operation.
4112//
4113// The context must be non-nil and will be used for request cancellation. If
4114// the context is nil a panic will occur. In the future the SDK may create
4115// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4116// for more information on using Contexts.
4117func (c *ServiceCatalog) EnableAWSOrganizationsAccessWithContext(ctx aws.Context, input *EnableAWSOrganizationsAccessInput, opts ...request.Option) (*EnableAWSOrganizationsAccessOutput, error) {
4118	req, out := c.EnableAWSOrganizationsAccessRequest(input)
4119	req.SetContext(ctx)
4120	req.ApplyOptions(opts...)
4121	return out, req.Send()
4122}
4123
4124const opExecuteProvisionedProductPlan = "ExecuteProvisionedProductPlan"
4125
4126// ExecuteProvisionedProductPlanRequest generates a "aws/request.Request" representing the
4127// client's request for the ExecuteProvisionedProductPlan operation. The "output" return
4128// value will be populated with the request's response once the request completes
4129// successfully.
4130//
4131// Use "Send" method on the returned Request to send the API call to the service.
4132// the "output" return value is not valid until after Send returns without error.
4133//
4134// See ExecuteProvisionedProductPlan for more information on using the ExecuteProvisionedProductPlan
4135// API call, and error handling.
4136//
4137// This method is useful when you want to inject custom logic or configuration
4138// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4139//
4140//
4141//    // Example sending a request using the ExecuteProvisionedProductPlanRequest method.
4142//    req, resp := client.ExecuteProvisionedProductPlanRequest(params)
4143//
4144//    err := req.Send()
4145//    if err == nil { // resp is now filled
4146//        fmt.Println(resp)
4147//    }
4148//
4149// See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/ExecuteProvisionedProductPlan
4150func (c *ServiceCatalog) ExecuteProvisionedProductPlanRequest(input *ExecuteProvisionedProductPlanInput) (req *request.Request, output *ExecuteProvisionedProductPlanOutput) {
4151	op := &request.Operation{
4152		Name:       opExecuteProvisionedProductPlan,
4153		HTTPMethod: "POST",
4154		HTTPPath:   "/",
4155	}
4156
4157	if input == nil {
4158		input = &ExecuteProvisionedProductPlanInput{}
4159	}
4160
4161	output = &ExecuteProvisionedProductPlanOutput{}
4162	req = c.newRequest(op, input, output)
4163	return
4164}
4165
4166// ExecuteProvisionedProductPlan API operation for AWS Service Catalog.
4167//
4168// Provisions or modifies a product based on the resource changes for the specified
4169// plan.
4170//
4171// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4172// with awserr.Error's Code and Message methods to get detailed information about
4173// the error.
4174//
4175// See the AWS API reference guide for AWS Service Catalog's
4176// API operation ExecuteProvisionedProductPlan for usage and error information.
4177//
4178// Returned Error Types:
4179//   * InvalidParametersException
4180//   One or more parameters provided to the operation are not valid.
4181//
4182//   * ResourceNotFoundException
4183//   The specified resource was not found.
4184//
4185//   * InvalidStateException
4186//   An attempt was made to modify a resource that is in a state that is not valid.
4187//   Check your resources to ensure that they are in valid states before retrying
4188//   the operation.
4189//
4190// See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/ExecuteProvisionedProductPlan
4191func (c *ServiceCatalog) ExecuteProvisionedProductPlan(input *ExecuteProvisionedProductPlanInput) (*ExecuteProvisionedProductPlanOutput, error) {
4192	req, out := c.ExecuteProvisionedProductPlanRequest(input)
4193	return out, req.Send()
4194}
4195
4196// ExecuteProvisionedProductPlanWithContext is the same as ExecuteProvisionedProductPlan with the addition of
4197// the ability to pass a context and additional request options.
4198//
4199// See ExecuteProvisionedProductPlan for details on how to use this API operation.
4200//
4201// The context must be non-nil and will be used for request cancellation. If
4202// the context is nil a panic will occur. In the future the SDK may create
4203// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4204// for more information on using Contexts.
4205func (c *ServiceCatalog) ExecuteProvisionedProductPlanWithContext(ctx aws.Context, input *ExecuteProvisionedProductPlanInput, opts ...request.Option) (*ExecuteProvisionedProductPlanOutput, error) {
4206	req, out := c.ExecuteProvisionedProductPlanRequest(input)
4207	req.SetContext(ctx)
4208	req.ApplyOptions(opts...)
4209	return out, req.Send()
4210}
4211
4212const opExecuteProvisionedProductServiceAction = "ExecuteProvisionedProductServiceAction"
4213
4214// ExecuteProvisionedProductServiceActionRequest generates a "aws/request.Request" representing the
4215// client's request for the ExecuteProvisionedProductServiceAction operation. The "output" return
4216// value will be populated with the request's response once the request completes
4217// successfully.
4218//
4219// Use "Send" method on the returned Request to send the API call to the service.
4220// the "output" return value is not valid until after Send returns without error.
4221//
4222// See ExecuteProvisionedProductServiceAction for more information on using the ExecuteProvisionedProductServiceAction
4223// API call, and error handling.
4224//
4225// This method is useful when you want to inject custom logic or configuration
4226// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4227//
4228//
4229//    // Example sending a request using the ExecuteProvisionedProductServiceActionRequest method.
4230//    req, resp := client.ExecuteProvisionedProductServiceActionRequest(params)
4231//
4232//    err := req.Send()
4233//    if err == nil { // resp is now filled
4234//        fmt.Println(resp)
4235//    }
4236//
4237// See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/ExecuteProvisionedProductServiceAction
4238func (c *ServiceCatalog) ExecuteProvisionedProductServiceActionRequest(input *ExecuteProvisionedProductServiceActionInput) (req *request.Request, output *ExecuteProvisionedProductServiceActionOutput) {
4239	op := &request.Operation{
4240		Name:       opExecuteProvisionedProductServiceAction,
4241		HTTPMethod: "POST",
4242		HTTPPath:   "/",
4243	}
4244
4245	if input == nil {
4246		input = &ExecuteProvisionedProductServiceActionInput{}
4247	}
4248
4249	output = &ExecuteProvisionedProductServiceActionOutput{}
4250	req = c.newRequest(op, input, output)
4251	return
4252}
4253
4254// ExecuteProvisionedProductServiceAction API operation for AWS Service Catalog.
4255//
4256// Executes a self-service action against a provisioned product.
4257//
4258// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4259// with awserr.Error's Code and Message methods to get detailed information about
4260// the error.
4261//
4262// See the AWS API reference guide for AWS Service Catalog's
4263// API operation ExecuteProvisionedProductServiceAction for usage and error information.
4264//
4265// Returned Error Types:
4266//   * InvalidParametersException
4267//   One or more parameters provided to the operation are not valid.
4268//
4269//   * ResourceNotFoundException
4270//   The specified resource was not found.
4271//
4272//   * InvalidStateException
4273//   An attempt was made to modify a resource that is in a state that is not valid.
4274//   Check your resources to ensure that they are in valid states before retrying
4275//   the operation.
4276//
4277// See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/ExecuteProvisionedProductServiceAction
4278func (c *ServiceCatalog) ExecuteProvisionedProductServiceAction(input *ExecuteProvisionedProductServiceActionInput) (*ExecuteProvisionedProductServiceActionOutput, error) {
4279	req, out := c.ExecuteProvisionedProductServiceActionRequest(input)
4280	return out, req.Send()
4281}
4282
4283// ExecuteProvisionedProductServiceActionWithContext is the same as ExecuteProvisionedProductServiceAction with the addition of
4284// the ability to pass a context and additional request options.
4285//
4286// See ExecuteProvisionedProductServiceAction for details on how to use this API operation.
4287//
4288// The context must be non-nil and will be used for request cancellation. If
4289// the context is nil a panic will occur. In the future the SDK may create
4290// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4291// for more information on using Contexts.
4292func (c *ServiceCatalog) ExecuteProvisionedProductServiceActionWithContext(ctx aws.Context, input *ExecuteProvisionedProductServiceActionInput, opts ...request.Option) (*ExecuteProvisionedProductServiceActionOutput, error) {
4293	req, out := c.ExecuteProvisionedProductServiceActionRequest(input)
4294	req.SetContext(ctx)
4295	req.ApplyOptions(opts...)
4296	return out, req.Send()
4297}
4298
4299const opGetAWSOrganizationsAccessStatus = "GetAWSOrganizationsAccessStatus"
4300
4301// GetAWSOrganizationsAccessStatusRequest generates a "aws/request.Request" representing the
4302// client's request for the GetAWSOrganizationsAccessStatus operation. The "output" return
4303// value will be populated with the request's response once the request completes
4304// successfully.
4305//
4306// Use "Send" method on the returned Request to send the API call to the service.
4307// the "output" return value is not valid until after Send returns without error.
4308//
4309// See GetAWSOrganizationsAccessStatus for more information on using the GetAWSOrganizationsAccessStatus
4310// API call, and error handling.
4311//
4312// This method is useful when you want to inject custom logic or configuration
4313// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4314//
4315//
4316//    // Example sending a request using the GetAWSOrganizationsAccessStatusRequest method.
4317//    req, resp := client.GetAWSOrganizationsAccessStatusRequest(params)
4318//
4319//    err := req.Send()
4320//    if err == nil { // resp is now filled
4321//        fmt.Println(resp)
4322//    }
4323//
4324// See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/GetAWSOrganizationsAccessStatus
4325func (c *ServiceCatalog) GetAWSOrganizationsAccessStatusRequest(input *GetAWSOrganizationsAccessStatusInput) (req *request.Request, output *GetAWSOrganizationsAccessStatusOutput) {
4326	op := &request.Operation{
4327		Name:       opGetAWSOrganizationsAccessStatus,
4328		HTTPMethod: "POST",
4329		HTTPPath:   "/",
4330	}
4331
4332	if input == nil {
4333		input = &GetAWSOrganizationsAccessStatusInput{}
4334	}
4335
4336	output = &GetAWSOrganizationsAccessStatusOutput{}
4337	req = c.newRequest(op, input, output)
4338	return
4339}
4340
4341// GetAWSOrganizationsAccessStatus API operation for AWS Service Catalog.
4342//
4343// Get the Access Status for AWS Organization portfolio share feature. This
4344// API can only be called by the master account in the organization or by a
4345// delegated admin.
4346//
4347// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4348// with awserr.Error's Code and Message methods to get detailed information about
4349// the error.
4350//
4351// See the AWS API reference guide for AWS Service Catalog's
4352// API operation GetAWSOrganizationsAccessStatus for usage and error information.
4353//
4354// Returned Error Types:
4355//   * ResourceNotFoundException
4356//   The specified resource was not found.
4357//
4358//   * OperationNotSupportedException
4359//   The operation is not supported.
4360//
4361// See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/GetAWSOrganizationsAccessStatus
4362func (c *ServiceCatalog) GetAWSOrganizationsAccessStatus(input *GetAWSOrganizationsAccessStatusInput) (*GetAWSOrganizationsAccessStatusOutput, error) {
4363	req, out := c.GetAWSOrganizationsAccessStatusRequest(input)
4364	return out, req.Send()
4365}
4366
4367// GetAWSOrganizationsAccessStatusWithContext is the same as GetAWSOrganizationsAccessStatus with the addition of
4368// the ability to pass a context and additional request options.
4369//
4370// See GetAWSOrganizationsAccessStatus for details on how to use this API operation.
4371//
4372// The context must be non-nil and will be used for request cancellation. If
4373// the context is nil a panic will occur. In the future the SDK may create
4374// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4375// for more information on using Contexts.
4376func (c *ServiceCatalog) GetAWSOrganizationsAccessStatusWithContext(ctx aws.Context, input *GetAWSOrganizationsAccessStatusInput, opts ...request.Option) (*GetAWSOrganizationsAccessStatusOutput, error) {
4377	req, out := c.GetAWSOrganizationsAccessStatusRequest(input)
4378	req.SetContext(ctx)
4379	req.ApplyOptions(opts...)
4380	return out, req.Send()
4381}
4382
4383const opListAcceptedPortfolioShares = "ListAcceptedPortfolioShares"
4384
4385// ListAcceptedPortfolioSharesRequest generates a "aws/request.Request" representing the
4386// client's request for the ListAcceptedPortfolioShares operation. The "output" return
4387// value will be populated with the request's response once the request completes
4388// successfully.
4389//
4390// Use "Send" method on the returned Request to send the API call to the service.
4391// the "output" return value is not valid until after Send returns without error.
4392//
4393// See ListAcceptedPortfolioShares for more information on using the ListAcceptedPortfolioShares
4394// API call, and error handling.
4395//
4396// This method is useful when you want to inject custom logic or configuration
4397// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4398//
4399//
4400//    // Example sending a request using the ListAcceptedPortfolioSharesRequest method.
4401//    req, resp := client.ListAcceptedPortfolioSharesRequest(params)
4402//
4403//    err := req.Send()
4404//    if err == nil { // resp is now filled
4405//        fmt.Println(resp)
4406//    }
4407//
4408// See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/ListAcceptedPortfolioShares
4409func (c *ServiceCatalog) ListAcceptedPortfolioSharesRequest(input *ListAcceptedPortfolioSharesInput) (req *request.Request, output *ListAcceptedPortfolioSharesOutput) {
4410	op := &request.Operation{
4411		Name:       opListAcceptedPortfolioShares,
4412		HTTPMethod: "POST",
4413		HTTPPath:   "/",
4414		Paginator: &request.Paginator{
4415			InputTokens:     []string{"PageToken"},
4416			OutputTokens:    []string{"NextPageToken"},
4417			LimitToken:      "PageSize",
4418			TruncationToken: "",
4419		},
4420	}
4421
4422	if input == nil {
4423		input = &ListAcceptedPortfolioSharesInput{}
4424	}
4425
4426	output = &ListAcceptedPortfolioSharesOutput{}
4427	req = c.newRequest(op, input, output)
4428	return
4429}
4430
4431// ListAcceptedPortfolioShares API operation for AWS Service Catalog.
4432//
4433// Lists all portfolios for which sharing was accepted by this account.
4434//
4435// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4436// with awserr.Error's Code and Message methods to get detailed information about
4437// the error.
4438//
4439// See the AWS API reference guide for AWS Service Catalog's
4440// API operation ListAcceptedPortfolioShares for usage and error information.
4441//
4442// Returned Error Types:
4443//   * InvalidParametersException
4444//   One or more parameters provided to the operation are not valid.
4445//
4446//   * OperationNotSupportedException
4447//   The operation is not supported.
4448//
4449// See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/ListAcceptedPortfolioShares
4450func (c *ServiceCatalog) ListAcceptedPortfolioShares(input *ListAcceptedPortfolioSharesInput) (*ListAcceptedPortfolioSharesOutput, error) {
4451	req, out := c.ListAcceptedPortfolioSharesRequest(input)
4452	return out, req.Send()
4453}
4454
4455// ListAcceptedPortfolioSharesWithContext is the same as ListAcceptedPortfolioShares with the addition of
4456// the ability to pass a context and additional request options.
4457//
4458// See ListAcceptedPortfolioShares for details on how to use this API operation.
4459//
4460// The context must be non-nil and will be used for request cancellation. If
4461// the context is nil a panic will occur. In the future the SDK may create
4462// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4463// for more information on using Contexts.
4464func (c *ServiceCatalog) ListAcceptedPortfolioSharesWithContext(ctx aws.Context, input *ListAcceptedPortfolioSharesInput, opts ...request.Option) (*ListAcceptedPortfolioSharesOutput, error) {
4465	req, out := c.ListAcceptedPortfolioSharesRequest(input)
4466	req.SetContext(ctx)
4467	req.ApplyOptions(opts...)
4468	return out, req.Send()
4469}
4470
4471// ListAcceptedPortfolioSharesPages iterates over the pages of a ListAcceptedPortfolioShares operation,
4472// calling the "fn" function with the response data for each page. To stop
4473// iterating, return false from the fn function.
4474//
4475// See ListAcceptedPortfolioShares method for more information on how to use this operation.
4476//
4477// Note: This operation can generate multiple requests to a service.
4478//
4479//    // Example iterating over at most 3 pages of a ListAcceptedPortfolioShares operation.
4480//    pageNum := 0
4481//    err := client.ListAcceptedPortfolioSharesPages(params,
4482//        func(page *servicecatalog.ListAcceptedPortfolioSharesOutput, lastPage bool) bool {
4483//            pageNum++
4484//            fmt.Println(page)
4485//            return pageNum <= 3
4486//        })
4487//
4488func (c *ServiceCatalog) ListAcceptedPortfolioSharesPages(input *ListAcceptedPortfolioSharesInput, fn func(*ListAcceptedPortfolioSharesOutput, bool) bool) error {
4489	return c.ListAcceptedPortfolioSharesPagesWithContext(aws.BackgroundContext(), input, fn)
4490}
4491
4492// ListAcceptedPortfolioSharesPagesWithContext same as ListAcceptedPortfolioSharesPages except
4493// it takes a Context and allows setting request options on the pages.
4494//
4495// The context must be non-nil and will be used for request cancellation. If
4496// the context is nil a panic will occur. In the future the SDK may create
4497// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4498// for more information on using Contexts.
4499func (c *ServiceCatalog) ListAcceptedPortfolioSharesPagesWithContext(ctx aws.Context, input *ListAcceptedPortfolioSharesInput, fn func(*ListAcceptedPortfolioSharesOutput, bool) bool, opts ...request.Option) error {
4500	p := request.Pagination{
4501		NewRequest: func() (*request.Request, error) {
4502			var inCpy *ListAcceptedPortfolioSharesInput
4503			if input != nil {
4504				tmp := *input
4505				inCpy = &tmp
4506			}
4507			req, _ := c.ListAcceptedPortfolioSharesRequest(inCpy)
4508			req.SetContext(ctx)
4509			req.ApplyOptions(opts...)
4510			return req, nil
4511		},
4512	}
4513
4514	for p.Next() {
4515		if !fn(p.Page().(*ListAcceptedPortfolioSharesOutput), !p.HasNextPage()) {
4516			break
4517		}
4518	}
4519
4520	return p.Err()
4521}
4522
4523const opListBudgetsForResource = "ListBudgetsForResource"
4524
4525// ListBudgetsForResourceRequest generates a "aws/request.Request" representing the
4526// client's request for the ListBudgetsForResource operation. The "output" return
4527// value will be populated with the request's response once the request completes
4528// successfully.
4529//
4530// Use "Send" method on the returned Request to send the API call to the service.
4531// the "output" return value is not valid until after Send returns without error.
4532//
4533// See ListBudgetsForResource for more information on using the ListBudgetsForResource
4534// API call, and error handling.
4535//
4536// This method is useful when you want to inject custom logic or configuration
4537// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4538//
4539//
4540//    // Example sending a request using the ListBudgetsForResourceRequest method.
4541//    req, resp := client.ListBudgetsForResourceRequest(params)
4542//
4543//    err := req.Send()
4544//    if err == nil { // resp is now filled
4545//        fmt.Println(resp)
4546//    }
4547//
4548// See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/ListBudgetsForResource
4549func (c *ServiceCatalog) ListBudgetsForResourceRequest(input *ListBudgetsForResourceInput) (req *request.Request, output *ListBudgetsForResourceOutput) {
4550	op := &request.Operation{
4551		Name:       opListBudgetsForResource,
4552		HTTPMethod: "POST",
4553		HTTPPath:   "/",
4554		Paginator: &request.Paginator{
4555			InputTokens:     []string{"PageToken"},
4556			OutputTokens:    []string{"NextPageToken"},
4557			LimitToken:      "PageSize",
4558			TruncationToken: "",
4559		},
4560	}
4561
4562	if input == nil {
4563		input = &ListBudgetsForResourceInput{}
4564	}
4565
4566	output = &ListBudgetsForResourceOutput{}
4567	req = c.newRequest(op, input, output)
4568	return
4569}
4570
4571// ListBudgetsForResource API operation for AWS Service Catalog.
4572//
4573// Lists all the budgets associated to the specified resource.
4574//
4575// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4576// with awserr.Error's Code and Message methods to get detailed information about
4577// the error.
4578//
4579// See the AWS API reference guide for AWS Service Catalog's
4580// API operation ListBudgetsForResource for usage and error information.
4581//
4582// Returned Error Types:
4583//   * ResourceNotFoundException
4584//   The specified resource was not found.
4585//
4586//   * InvalidParametersException
4587//   One or more parameters provided to the operation are not valid.
4588//
4589// See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/ListBudgetsForResource
4590func (c *ServiceCatalog) ListBudgetsForResource(input *ListBudgetsForResourceInput) (*ListBudgetsForResourceOutput, error) {
4591	req, out := c.ListBudgetsForResourceRequest(input)
4592	return out, req.Send()
4593}
4594
4595// ListBudgetsForResourceWithContext is the same as ListBudgetsForResource with the addition of
4596// the ability to pass a context and additional request options.
4597//
4598// See ListBudgetsForResource for details on how to use this API operation.
4599//
4600// The context must be non-nil and will be used for request cancellation. If
4601// the context is nil a panic will occur. In the future the SDK may create
4602// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4603// for more information on using Contexts.
4604func (c *ServiceCatalog) ListBudgetsForResourceWithContext(ctx aws.Context, input *ListBudgetsForResourceInput, opts ...request.Option) (*ListBudgetsForResourceOutput, error) {
4605	req, out := c.ListBudgetsForResourceRequest(input)
4606	req.SetContext(ctx)
4607	req.ApplyOptions(opts...)
4608	return out, req.Send()
4609}
4610
4611// ListBudgetsForResourcePages iterates over the pages of a ListBudgetsForResource operation,
4612// calling the "fn" function with the response data for each page. To stop
4613// iterating, return false from the fn function.
4614//
4615// See ListBudgetsForResource method for more information on how to use this operation.
4616//
4617// Note: This operation can generate multiple requests to a service.
4618//
4619//    // Example iterating over at most 3 pages of a ListBudgetsForResource operation.
4620//    pageNum := 0
4621//    err := client.ListBudgetsForResourcePages(params,
4622//        func(page *servicecatalog.ListBudgetsForResourceOutput, lastPage bool) bool {
4623//            pageNum++
4624//            fmt.Println(page)
4625//            return pageNum <= 3
4626//        })
4627//
4628func (c *ServiceCatalog) ListBudgetsForResourcePages(input *ListBudgetsForResourceInput, fn func(*ListBudgetsForResourceOutput, bool) bool) error {
4629	return c.ListBudgetsForResourcePagesWithContext(aws.BackgroundContext(), input, fn)
4630}
4631
4632// ListBudgetsForResourcePagesWithContext same as ListBudgetsForResourcePages except
4633// it takes a Context and allows setting request options on the pages.
4634//
4635// The context must be non-nil and will be used for request cancellation. If
4636// the context is nil a panic will occur. In the future the SDK may create
4637// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4638// for more information on using Contexts.
4639func (c *ServiceCatalog) ListBudgetsForResourcePagesWithContext(ctx aws.Context, input *ListBudgetsForResourceInput, fn func(*ListBudgetsForResourceOutput, bool) bool, opts ...request.Option) error {
4640	p := request.Pagination{
4641		NewRequest: func() (*request.Request, error) {
4642			var inCpy *ListBudgetsForResourceInput
4643			if input != nil {
4644				tmp := *input
4645				inCpy = &tmp
4646			}
4647			req, _ := c.ListBudgetsForResourceRequest(inCpy)
4648			req.SetContext(ctx)
4649			req.ApplyOptions(opts...)
4650			return req, nil
4651		},
4652	}
4653
4654	for p.Next() {
4655		if !fn(p.Page().(*ListBudgetsForResourceOutput), !p.HasNextPage()) {
4656			break
4657		}
4658	}
4659
4660	return p.Err()
4661}
4662
4663const opListConstraintsForPortfolio = "ListConstraintsForPortfolio"
4664
4665// ListConstraintsForPortfolioRequest generates a "aws/request.Request" representing the
4666// client's request for the ListConstraintsForPortfolio operation. The "output" return
4667// value will be populated with the request's response once the request completes
4668// successfully.
4669//
4670// Use "Send" method on the returned Request to send the API call to the service.
4671// the "output" return value is not valid until after Send returns without error.
4672//
4673// See ListConstraintsForPortfolio for more information on using the ListConstraintsForPortfolio
4674// API call, and error handling.
4675//
4676// This method is useful when you want to inject custom logic or configuration
4677// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4678//
4679//
4680//    // Example sending a request using the ListConstraintsForPortfolioRequest method.
4681//    req, resp := client.ListConstraintsForPortfolioRequest(params)
4682//
4683//    err := req.Send()
4684//    if err == nil { // resp is now filled
4685//        fmt.Println(resp)
4686//    }
4687//
4688// See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/ListConstraintsForPortfolio
4689func (c *ServiceCatalog) ListConstraintsForPortfolioRequest(input *ListConstraintsForPortfolioInput) (req *request.Request, output *ListConstraintsForPortfolioOutput) {
4690	op := &request.Operation{
4691		Name:       opListConstraintsForPortfolio,
4692		HTTPMethod: "POST",
4693		HTTPPath:   "/",
4694		Paginator: &request.Paginator{
4695			InputTokens:     []string{"PageToken"},
4696			OutputTokens:    []string{"NextPageToken"},
4697			LimitToken:      "PageSize",
4698			TruncationToken: "",
4699		},
4700	}
4701
4702	if input == nil {
4703		input = &ListConstraintsForPortfolioInput{}
4704	}
4705
4706	output = &ListConstraintsForPortfolioOutput{}
4707	req = c.newRequest(op, input, output)
4708	return
4709}
4710
4711// ListConstraintsForPortfolio API operation for AWS Service Catalog.
4712//
4713// Lists the constraints for the specified portfolio and product.
4714//
4715// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4716// with awserr.Error's Code and Message methods to get detailed information about
4717// the error.
4718//
4719// See the AWS API reference guide for AWS Service Catalog's
4720// API operation ListConstraintsForPortfolio for usage and error information.
4721//
4722// Returned Error Types:
4723//   * ResourceNotFoundException
4724//   The specified resource was not found.
4725//
4726//   * InvalidParametersException
4727//   One or more parameters provided to the operation are not valid.
4728//
4729// See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/ListConstraintsForPortfolio
4730func (c *ServiceCatalog) ListConstraintsForPortfolio(input *ListConstraintsForPortfolioInput) (*ListConstraintsForPortfolioOutput, error) {
4731	req, out := c.ListConstraintsForPortfolioRequest(input)
4732	return out, req.Send()
4733}
4734
4735// ListConstraintsForPortfolioWithContext is the same as ListConstraintsForPortfolio with the addition of
4736// the ability to pass a context and additional request options.
4737//
4738// See ListConstraintsForPortfolio for details on how to use this API operation.
4739//
4740// The context must be non-nil and will be used for request cancellation. If
4741// the context is nil a panic will occur. In the future the SDK may create
4742// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4743// for more information on using Contexts.
4744func (c *ServiceCatalog) ListConstraintsForPortfolioWithContext(ctx aws.Context, input *ListConstraintsForPortfolioInput, opts ...request.Option) (*ListConstraintsForPortfolioOutput, error) {
4745	req, out := c.ListConstraintsForPortfolioRequest(input)
4746	req.SetContext(ctx)
4747	req.ApplyOptions(opts...)
4748	return out, req.Send()
4749}
4750
4751// ListConstraintsForPortfolioPages iterates over the pages of a ListConstraintsForPortfolio operation,
4752// calling the "fn" function with the response data for each page. To stop
4753// iterating, return false from the fn function.
4754//
4755// See ListConstraintsForPortfolio method for more information on how to use this operation.
4756//
4757// Note: This operation can generate multiple requests to a service.
4758//
4759//    // Example iterating over at most 3 pages of a ListConstraintsForPortfolio operation.
4760//    pageNum := 0
4761//    err := client.ListConstraintsForPortfolioPages(params,
4762//        func(page *servicecatalog.ListConstraintsForPortfolioOutput, lastPage bool) bool {
4763//            pageNum++
4764//            fmt.Println(page)
4765//            return pageNum <= 3
4766//        })
4767//
4768func (c *ServiceCatalog) ListConstraintsForPortfolioPages(input *ListConstraintsForPortfolioInput, fn func(*ListConstraintsForPortfolioOutput, bool) bool) error {
4769	return c.ListConstraintsForPortfolioPagesWithContext(aws.BackgroundContext(), input, fn)
4770}
4771
4772// ListConstraintsForPortfolioPagesWithContext same as ListConstraintsForPortfolioPages except
4773// it takes a Context and allows setting request options on the pages.
4774//
4775// The context must be non-nil and will be used for request cancellation. If
4776// the context is nil a panic will occur. In the future the SDK may create
4777// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4778// for more information on using Contexts.
4779func (c *ServiceCatalog) ListConstraintsForPortfolioPagesWithContext(ctx aws.Context, input *ListConstraintsForPortfolioInput, fn func(*ListConstraintsForPortfolioOutput, bool) bool, opts ...request.Option) error {
4780	p := request.Pagination{
4781		NewRequest: func() (*request.Request, error) {
4782			var inCpy *ListConstraintsForPortfolioInput
4783			if input != nil {
4784				tmp := *input
4785				inCpy = &tmp
4786			}
4787			req, _ := c.ListConstraintsForPortfolioRequest(inCpy)
4788			req.SetContext(ctx)
4789			req.ApplyOptions(opts...)
4790			return req, nil
4791		},
4792	}
4793
4794	for p.Next() {
4795		if !fn(p.Page().(*ListConstraintsForPortfolioOutput), !p.HasNextPage()) {
4796			break
4797		}
4798	}
4799
4800	return p.Err()
4801}
4802
4803const opListLaunchPaths = "ListLaunchPaths"
4804
4805// ListLaunchPathsRequest generates a "aws/request.Request" representing the
4806// client's request for the ListLaunchPaths operation. The "output" return
4807// value will be populated with the request's response once the request completes
4808// successfully.
4809//
4810// Use "Send" method on the returned Request to send the API call to the service.
4811// the "output" return value is not valid until after Send returns without error.
4812//
4813// See ListLaunchPaths for more information on using the ListLaunchPaths
4814// API call, and error handling.
4815//
4816// This method is useful when you want to inject custom logic or configuration
4817// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4818//
4819//
4820//    // Example sending a request using the ListLaunchPathsRequest method.
4821//    req, resp := client.ListLaunchPathsRequest(params)
4822//
4823//    err := req.Send()
4824//    if err == nil { // resp is now filled
4825//        fmt.Println(resp)
4826//    }
4827//
4828// See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/ListLaunchPaths
4829func (c *ServiceCatalog) ListLaunchPathsRequest(input *ListLaunchPathsInput) (req *request.Request, output *ListLaunchPathsOutput) {
4830	op := &request.Operation{
4831		Name:       opListLaunchPaths,
4832		HTTPMethod: "POST",
4833		HTTPPath:   "/",
4834		Paginator: &request.Paginator{
4835			InputTokens:     []string{"PageToken"},
4836			OutputTokens:    []string{"NextPageToken"},
4837			LimitToken:      "PageSize",
4838			TruncationToken: "",
4839		},
4840	}
4841
4842	if input == nil {
4843		input = &ListLaunchPathsInput{}
4844	}
4845
4846	output = &ListLaunchPathsOutput{}
4847	req = c.newRequest(op, input, output)
4848	return
4849}
4850
4851// ListLaunchPaths API operation for AWS Service Catalog.
4852//
4853// Lists the paths to the specified product. A path is how the user has access
4854// to a specified product, and is necessary when provisioning a product. A path
4855// also determines the constraints put on the product.
4856//
4857// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4858// with awserr.Error's Code and Message methods to get detailed information about
4859// the error.
4860//
4861// See the AWS API reference guide for AWS Service Catalog's
4862// API operation ListLaunchPaths for usage and error information.
4863//
4864// Returned Error Types:
4865//   * InvalidParametersException
4866//   One or more parameters provided to the operation are not valid.
4867//
4868//   * ResourceNotFoundException
4869//   The specified resource was not found.
4870//
4871// See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/ListLaunchPaths
4872func (c *ServiceCatalog) ListLaunchPaths(input *ListLaunchPathsInput) (*ListLaunchPathsOutput, error) {
4873	req, out := c.ListLaunchPathsRequest(input)
4874	return out, req.Send()
4875}
4876
4877// ListLaunchPathsWithContext is the same as ListLaunchPaths with the addition of
4878// the ability to pass a context and additional request options.
4879//
4880// See ListLaunchPaths for details on how to use this API operation.
4881//
4882// The context must be non-nil and will be used for request cancellation. If
4883// the context is nil a panic will occur. In the future the SDK may create
4884// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4885// for more information on using Contexts.
4886func (c *ServiceCatalog) ListLaunchPathsWithContext(ctx aws.Context, input *ListLaunchPathsInput, opts ...request.Option) (*ListLaunchPathsOutput, error) {
4887	req, out := c.ListLaunchPathsRequest(input)
4888	req.SetContext(ctx)
4889	req.ApplyOptions(opts...)
4890	return out, req.Send()
4891}
4892
4893// ListLaunchPathsPages iterates over the pages of a ListLaunchPaths operation,
4894// calling the "fn" function with the response data for each page. To stop
4895// iterating, return false from the fn function.
4896//
4897// See ListLaunchPaths method for more information on how to use this operation.
4898//
4899// Note: This operation can generate multiple requests to a service.
4900//
4901//    // Example iterating over at most 3 pages of a ListLaunchPaths operation.
4902//    pageNum := 0
4903//    err := client.ListLaunchPathsPages(params,
4904//        func(page *servicecatalog.ListLaunchPathsOutput, lastPage bool) bool {
4905//            pageNum++
4906//            fmt.Println(page)
4907//            return pageNum <= 3
4908//        })
4909//
4910func (c *ServiceCatalog) ListLaunchPathsPages(input *ListLaunchPathsInput, fn func(*ListLaunchPathsOutput, bool) bool) error {
4911	return c.ListLaunchPathsPagesWithContext(aws.BackgroundContext(), input, fn)
4912}
4913
4914// ListLaunchPathsPagesWithContext same as ListLaunchPathsPages except
4915// it takes a Context and allows setting request options on the pages.
4916//
4917// The context must be non-nil and will be used for request cancellation. If
4918// the context is nil a panic will occur. In the future the SDK may create
4919// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4920// for more information on using Contexts.
4921func (c *ServiceCatalog) ListLaunchPathsPagesWithContext(ctx aws.Context, input *ListLaunchPathsInput, fn func(*ListLaunchPathsOutput, bool) bool, opts ...request.Option) error {
4922	p := request.Pagination{
4923		NewRequest: func() (*request.Request, error) {
4924			var inCpy *ListLaunchPathsInput
4925			if input != nil {
4926				tmp := *input
4927				inCpy = &tmp
4928			}
4929			req, _ := c.ListLaunchPathsRequest(inCpy)
4930			req.SetContext(ctx)
4931			req.ApplyOptions(opts...)
4932			return req, nil
4933		},
4934	}
4935
4936	for p.Next() {
4937		if !fn(p.Page().(*ListLaunchPathsOutput), !p.HasNextPage()) {
4938			break
4939		}
4940	}
4941
4942	return p.Err()
4943}
4944
4945const opListOrganizationPortfolioAccess = "ListOrganizationPortfolioAccess"
4946
4947// ListOrganizationPortfolioAccessRequest generates a "aws/request.Request" representing the
4948// client's request for the ListOrganizationPortfolioAccess operation. The "output" return
4949// value will be populated with the request's response once the request completes
4950// successfully.
4951//
4952// Use "Send" method on the returned Request to send the API call to the service.
4953// the "output" return value is not valid until after Send returns without error.
4954//
4955// See ListOrganizationPortfolioAccess for more information on using the ListOrganizationPortfolioAccess
4956// API call, and error handling.
4957//
4958// This method is useful when you want to inject custom logic or configuration
4959// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4960//
4961//
4962//    // Example sending a request using the ListOrganizationPortfolioAccessRequest method.
4963//    req, resp := client.ListOrganizationPortfolioAccessRequest(params)
4964//
4965//    err := req.Send()
4966//    if err == nil { // resp is now filled
4967//        fmt.Println(resp)
4968//    }
4969//
4970// See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/ListOrganizationPortfolioAccess
4971func (c *ServiceCatalog) ListOrganizationPortfolioAccessRequest(input *ListOrganizationPortfolioAccessInput) (req *request.Request, output *ListOrganizationPortfolioAccessOutput) {
4972	op := &request.Operation{
4973		Name:       opListOrganizationPortfolioAccess,
4974		HTTPMethod: "POST",
4975		HTTPPath:   "/",
4976		Paginator: &request.Paginator{
4977			InputTokens:     []string{"PageToken"},
4978			OutputTokens:    []string{"NextPageToken"},
4979			LimitToken:      "PageSize",
4980			TruncationToken: "",
4981		},
4982	}
4983
4984	if input == nil {
4985		input = &ListOrganizationPortfolioAccessInput{}
4986	}
4987
4988	output = &ListOrganizationPortfolioAccessOutput{}
4989	req = c.newRequest(op, input, output)
4990	return
4991}
4992
4993// ListOrganizationPortfolioAccess API operation for AWS Service Catalog.
4994//
4995// Lists the organization nodes that have access to the specified portfolio.
4996// This API can only be called by the master account in the organization or
4997// by a delegated admin.
4998//
4999// If a delegated admin is de-registered, they can no longer perform this operation.
5000//
5001// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
5002// with awserr.Error's Code and Message methods to get detailed information about
5003// the error.
5004//
5005// See the AWS API reference guide for AWS Service Catalog's
5006// API operation ListOrganizationPortfolioAccess for usage and error information.
5007//
5008// Returned Error Types:
5009//   * ResourceNotFoundException
5010//   The specified resource was not found.
5011//
5012//   * InvalidParametersException
5013//   One or more parameters provided to the operation are not valid.
5014//
5015//   * OperationNotSupportedException
5016//   The operation is not supported.
5017//
5018// See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/ListOrganizationPortfolioAccess
5019func (c *ServiceCatalog) ListOrganizationPortfolioAccess(input *ListOrganizationPortfolioAccessInput) (*ListOrganizationPortfolioAccessOutput, error) {
5020	req, out := c.ListOrganizationPortfolioAccessRequest(input)
5021	return out, req.Send()
5022}
5023
5024// ListOrganizationPortfolioAccessWithContext is the same as ListOrganizationPortfolioAccess with the addition of
5025// the ability to pass a context and additional request options.
5026//
5027// See ListOrganizationPortfolioAccess for details on how to use this API operation.
5028//
5029// The context must be non-nil and will be used for request cancellation. If
5030// the context is nil a panic will occur. In the future the SDK may create
5031// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5032// for more information on using Contexts.
5033func (c *ServiceCatalog) ListOrganizationPortfolioAccessWithContext(ctx aws.Context, input *ListOrganizationPortfolioAccessInput, opts ...request.Option) (*ListOrganizationPortfolioAccessOutput, error) {
5034	req, out := c.ListOrganizationPortfolioAccessRequest(input)
5035	req.SetContext(ctx)
5036	req.ApplyOptions(opts...)
5037	return out, req.Send()
5038}
5039
5040// ListOrganizationPortfolioAccessPages iterates over the pages of a ListOrganizationPortfolioAccess operation,
5041// calling the "fn" function with the response data for each page. To stop
5042// iterating, return false from the fn function.
5043//
5044// See ListOrganizationPortfolioAccess method for more information on how to use this operation.
5045//
5046// Note: This operation can generate multiple requests to a service.
5047//
5048//    // Example iterating over at most 3 pages of a ListOrganizationPortfolioAccess operation.
5049//    pageNum := 0
5050//    err := client.ListOrganizationPortfolioAccessPages(params,
5051//        func(page *servicecatalog.ListOrganizationPortfolioAccessOutput, lastPage bool) bool {
5052//            pageNum++
5053//            fmt.Println(page)
5054//            return pageNum <= 3
5055//        })
5056//
5057func (c *ServiceCatalog) ListOrganizationPortfolioAccessPages(input *ListOrganizationPortfolioAccessInput, fn func(*ListOrganizationPortfolioAccessOutput, bool) bool) error {
5058	return c.ListOrganizationPortfolioAccessPagesWithContext(aws.BackgroundContext(), input, fn)
5059}
5060
5061// ListOrganizationPortfolioAccessPagesWithContext same as ListOrganizationPortfolioAccessPages except
5062// it takes a Context and allows setting request options on the pages.
5063//
5064// The context must be non-nil and will be used for request cancellation. If
5065// the context is nil a panic will occur. In the future the SDK may create
5066// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5067// for more information on using Contexts.
5068func (c *ServiceCatalog) ListOrganizationPortfolioAccessPagesWithContext(ctx aws.Context, input *ListOrganizationPortfolioAccessInput, fn func(*ListOrganizationPortfolioAccessOutput, bool) bool, opts ...request.Option) error {
5069	p := request.Pagination{
5070		NewRequest: func() (*request.Request, error) {
5071			var inCpy *ListOrganizationPortfolioAccessInput
5072			if input != nil {
5073				tmp := *input
5074				inCpy = &tmp
5075			}
5076			req, _ := c.ListOrganizationPortfolioAccessRequest(inCpy)
5077			req.SetContext(ctx)
5078			req.ApplyOptions(opts...)
5079			return req, nil
5080		},
5081	}
5082
5083	for p.Next() {
5084		if !fn(p.Page().(*ListOrganizationPortfolioAccessOutput), !p.HasNextPage()) {
5085			break
5086		}
5087	}
5088
5089	return p.Err()
5090}
5091
5092const opListPortfolioAccess = "ListPortfolioAccess"
5093
5094// ListPortfolioAccessRequest generates a "aws/request.Request" representing the
5095// client's request for the ListPortfolioAccess operation. The "output" return
5096// value will be populated with the request's response once the request completes
5097// successfully.
5098//
5099// Use "Send" method on the returned Request to send the API call to the service.
5100// the "output" return value is not valid until after Send returns without error.
5101//
5102// See ListPortfolioAccess for more information on using the ListPortfolioAccess
5103// API call, and error handling.
5104//
5105// This method is useful when you want to inject custom logic or configuration
5106// into the SDK's request lifecycle. Such as custom headers, or retry logic.
5107//
5108//
5109//    // Example sending a request using the ListPortfolioAccessRequest method.
5110//    req, resp := client.ListPortfolioAccessRequest(params)
5111//
5112//    err := req.Send()
5113//    if err == nil { // resp is now filled
5114//        fmt.Println(resp)
5115//    }
5116//
5117// See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/ListPortfolioAccess
5118func (c *ServiceCatalog) ListPortfolioAccessRequest(input *ListPortfolioAccessInput) (req *request.Request, output *ListPortfolioAccessOutput) {
5119	op := &request.Operation{
5120		Name:       opListPortfolioAccess,
5121		HTTPMethod: "POST",
5122		HTTPPath:   "/",
5123		Paginator: &request.Paginator{
5124			InputTokens:     []string{"PageToken"},
5125			OutputTokens:    []string{"NextPageToken"},
5126			LimitToken:      "PageSize",
5127			TruncationToken: "",
5128		},
5129	}
5130
5131	if input == nil {
5132		input = &ListPortfolioAccessInput{}
5133	}
5134
5135	output = &ListPortfolioAccessOutput{}
5136	req = c.newRequest(op, input, output)
5137	return
5138}
5139
5140// ListPortfolioAccess API operation for AWS Service Catalog.
5141//
5142// Lists the account IDs that have access to the specified portfolio.
5143//
5144// A delegated admin can list the accounts that have access to the shared portfolio.
5145// Note that if a delegated admin is de-registered, they can no longer perform
5146// this operation.
5147//
5148// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
5149// with awserr.Error's Code and Message methods to get detailed information about
5150// the error.
5151//
5152// See the AWS API reference guide for AWS Service Catalog's
5153// API operation ListPortfolioAccess for usage and error information.
5154//
5155// Returned Error Types:
5156//   * ResourceNotFoundException
5157//   The specified resource was not found.
5158//
5159//   * InvalidParametersException
5160//   One or more parameters provided to the operation are not valid.
5161//
5162// See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/ListPortfolioAccess
5163func (c *ServiceCatalog) ListPortfolioAccess(input *ListPortfolioAccessInput) (*ListPortfolioAccessOutput, error) {
5164	req, out := c.ListPortfolioAccessRequest(input)
5165	return out, req.Send()
5166}
5167
5168// ListPortfolioAccessWithContext is the same as ListPortfolioAccess with the addition of
5169// the ability to pass a context and additional request options.
5170//
5171// See ListPortfolioAccess for details on how to use this API operation.
5172//
5173// The context must be non-nil and will be used for request cancellation. If
5174// the context is nil a panic will occur. In the future the SDK may create
5175// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5176// for more information on using Contexts.
5177func (c *ServiceCatalog) ListPortfolioAccessWithContext(ctx aws.Context, input *ListPortfolioAccessInput, opts ...request.Option) (*ListPortfolioAccessOutput, error) {
5178	req, out := c.ListPortfolioAccessRequest(input)
5179	req.SetContext(ctx)
5180	req.ApplyOptions(opts...)
5181	return out, req.Send()
5182}
5183
5184// ListPortfolioAccessPages iterates over the pages of a ListPortfolioAccess operation,
5185// calling the "fn" function with the response data for each page. To stop
5186// iterating, return false from the fn function.
5187//
5188// See ListPortfolioAccess method for more information on how to use this operation.
5189//
5190// Note: This operation can generate multiple requests to a service.
5191//
5192//    // Example iterating over at most 3 pages of a ListPortfolioAccess operation.
5193//    pageNum := 0
5194//    err := client.ListPortfolioAccessPages(params,
5195//        func(page *servicecatalog.ListPortfolioAccessOutput, lastPage bool) bool {
5196//            pageNum++
5197//            fmt.Println(page)
5198//            return pageNum <= 3
5199//        })
5200//
5201func (c *ServiceCatalog) ListPortfolioAccessPages(input *ListPortfolioAccessInput, fn func(*ListPortfolioAccessOutput, bool) bool) error {
5202	return c.ListPortfolioAccessPagesWithContext(aws.BackgroundContext(), input, fn)
5203}
5204
5205// ListPortfolioAccessPagesWithContext same as ListPortfolioAccessPages except
5206// it takes a Context and allows setting request options on the pages.
5207//
5208// The context must be non-nil and will be used for request cancellation. If
5209// the context is nil a panic will occur. In the future the SDK may create
5210// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5211// for more information on using Contexts.
5212func (c *ServiceCatalog) ListPortfolioAccessPagesWithContext(ctx aws.Context, input *ListPortfolioAccessInput, fn func(*ListPortfolioAccessOutput, bool) bool, opts ...request.Option) error {
5213	p := request.Pagination{
5214		NewRequest: func() (*request.Request, error) {
5215			var inCpy *ListPortfolioAccessInput
5216			if input != nil {
5217				tmp := *input
5218				inCpy = &tmp
5219			}
5220			req, _ := c.ListPortfolioAccessRequest(inCpy)
5221			req.SetContext(ctx)
5222			req.ApplyOptions(opts...)
5223			return req, nil
5224		},
5225	}
5226
5227	for p.Next() {
5228		if !fn(p.Page().(*ListPortfolioAccessOutput), !p.HasNextPage()) {
5229			break
5230		}
5231	}
5232
5233	return p.Err()
5234}
5235
5236const opListPortfolios = "ListPortfolios"
5237
5238// ListPortfoliosRequest generates a "aws/request.Request" representing the
5239// client's request for the ListPortfolios operation. The "output" return
5240// value will be populated with the request's response once the request completes
5241// successfully.
5242//
5243// Use "Send" method on the returned Request to send the API call to the service.
5244// the "output" return value is not valid until after Send returns without error.
5245//
5246// See ListPortfolios for more information on using the ListPortfolios
5247// API call, and error handling.
5248//
5249// This method is useful when you want to inject custom logic or configuration
5250// into the SDK's request lifecycle. Such as custom headers, or retry logic.
5251//
5252//
5253//    // Example sending a request using the ListPortfoliosRequest method.
5254//    req, resp := client.ListPortfoliosRequest(params)
5255//
5256//    err := req.Send()
5257//    if err == nil { // resp is now filled
5258//        fmt.Println(resp)
5259//    }
5260//
5261// See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/ListPortfolios
5262func (c *ServiceCatalog) ListPortfoliosRequest(input *ListPortfoliosInput) (req *request.Request, output *ListPortfoliosOutput) {
5263	op := &request.Operation{
5264		Name:       opListPortfolios,
5265		HTTPMethod: "POST",
5266		HTTPPath:   "/",
5267		Paginator: &request.Paginator{
5268			InputTokens:     []string{"PageToken"},
5269			OutputTokens:    []string{"NextPageToken"},
5270			LimitToken:      "PageSize",
5271			TruncationToken: "",
5272		},
5273	}
5274
5275	if input == nil {
5276		input = &ListPortfoliosInput{}
5277	}
5278
5279	output = &ListPortfoliosOutput{}
5280	req = c.newRequest(op, input, output)
5281	return
5282}
5283
5284// ListPortfolios API operation for AWS Service Catalog.
5285//
5286// Lists all portfolios in the catalog.
5287//
5288// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
5289// with awserr.Error's Code and Message methods to get detailed information about
5290// the error.
5291//
5292// See the AWS API reference guide for AWS Service Catalog's
5293// API operation ListPortfolios for usage and error information.
5294//
5295// Returned Error Types:
5296//   * InvalidParametersException
5297//   One or more parameters provided to the operation are not valid.
5298//
5299// See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/ListPortfolios
5300func (c *ServiceCatalog) ListPortfolios(input *ListPortfoliosInput) (*ListPortfoliosOutput, error) {
5301	req, out := c.ListPortfoliosRequest(input)
5302	return out, req.Send()
5303}
5304
5305// ListPortfoliosWithContext is the same as ListPortfolios with the addition of
5306// the ability to pass a context and additional request options.
5307//
5308// See ListPortfolios for details on how to use this API operation.
5309//
5310// The context must be non-nil and will be used for request cancellation. If
5311// the context is nil a panic will occur. In the future the SDK may create
5312// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5313// for more information on using Contexts.
5314func (c *ServiceCatalog) ListPortfoliosWithContext(ctx aws.Context, input *ListPortfoliosInput, opts ...request.Option) (*ListPortfoliosOutput, error) {
5315	req, out := c.ListPortfoliosRequest(input)
5316	req.SetContext(ctx)
5317	req.ApplyOptions(opts...)
5318	return out, req.Send()
5319}
5320
5321// ListPortfoliosPages iterates over the pages of a ListPortfolios operation,
5322// calling the "fn" function with the response data for each page. To stop
5323// iterating, return false from the fn function.
5324//
5325// See ListPortfolios method for more information on how to use this operation.
5326//
5327// Note: This operation can generate multiple requests to a service.
5328//
5329//    // Example iterating over at most 3 pages of a ListPortfolios operation.
5330//    pageNum := 0
5331//    err := client.ListPortfoliosPages(params,
5332//        func(page *servicecatalog.ListPortfoliosOutput, lastPage bool) bool {
5333//            pageNum++
5334//            fmt.Println(page)
5335//            return pageNum <= 3
5336//        })
5337//
5338func (c *ServiceCatalog) ListPortfoliosPages(input *ListPortfoliosInput, fn func(*ListPortfoliosOutput, bool) bool) error {
5339	return c.ListPortfoliosPagesWithContext(aws.BackgroundContext(), input, fn)
5340}
5341
5342// ListPortfoliosPagesWithContext same as ListPortfoliosPages except
5343// it takes a Context and allows setting request options on the pages.
5344//
5345// The context must be non-nil and will be used for request cancellation. If
5346// the context is nil a panic will occur. In the future the SDK may create
5347// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5348// for more information on using Contexts.
5349func (c *ServiceCatalog) ListPortfoliosPagesWithContext(ctx aws.Context, input *ListPortfoliosInput, fn func(*ListPortfoliosOutput, bool) bool, opts ...request.Option) error {
5350	p := request.Pagination{
5351		NewRequest: func() (*request.Request, error) {
5352			var inCpy *ListPortfoliosInput
5353			if input != nil {
5354				tmp := *input
5355				inCpy = &tmp
5356			}
5357			req, _ := c.ListPortfoliosRequest(inCpy)
5358			req.SetContext(ctx)
5359			req.ApplyOptions(opts...)
5360			return req, nil
5361		},
5362	}
5363
5364	for p.Next() {
5365		if !fn(p.Page().(*ListPortfoliosOutput), !p.HasNextPage()) {
5366			break
5367		}
5368	}
5369
5370	return p.Err()
5371}
5372
5373const opListPortfoliosForProduct = "ListPortfoliosForProduct"
5374
5375// ListPortfoliosForProductRequest generates a "aws/request.Request" representing the
5376// client's request for the ListPortfoliosForProduct operation. The "output" return
5377// value will be populated with the request's response once the request completes
5378// successfully.
5379//
5380// Use "Send" method on the returned Request to send the API call to the service.
5381// the "output" return value is not valid until after Send returns without error.
5382//
5383// See ListPortfoliosForProduct for more information on using the ListPortfoliosForProduct
5384// API call, and error handling.
5385//
5386// This method is useful when you want to inject custom logic or configuration
5387// into the SDK's request lifecycle. Such as custom headers, or retry logic.
5388//
5389//
5390//    // Example sending a request using the ListPortfoliosForProductRequest method.
5391//    req, resp := client.ListPortfoliosForProductRequest(params)
5392//
5393//    err := req.Send()
5394//    if err == nil { // resp is now filled
5395//        fmt.Println(resp)
5396//    }
5397//
5398// See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/ListPortfoliosForProduct
5399func (c *ServiceCatalog) ListPortfoliosForProductRequest(input *ListPortfoliosForProductInput) (req *request.Request, output *ListPortfoliosForProductOutput) {
5400	op := &request.Operation{
5401		Name:       opListPortfoliosForProduct,
5402		HTTPMethod: "POST",
5403		HTTPPath:   "/",
5404		Paginator: &request.Paginator{
5405			InputTokens:     []string{"PageToken"},
5406			OutputTokens:    []string{"NextPageToken"},
5407			LimitToken:      "PageSize",
5408			TruncationToken: "",
5409		},
5410	}
5411
5412	if input == nil {
5413		input = &ListPortfoliosForProductInput{}
5414	}
5415
5416	output = &ListPortfoliosForProductOutput{}
5417	req = c.newRequest(op, input, output)
5418	return
5419}
5420
5421// ListPortfoliosForProduct API operation for AWS Service Catalog.
5422//
5423// Lists all portfolios that the specified product is associated with.
5424//
5425// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
5426// with awserr.Error's Code and Message methods to get detailed information about
5427// the error.
5428//
5429// See the AWS API reference guide for AWS Service Catalog's
5430// API operation ListPortfoliosForProduct for usage and error information.
5431//
5432// Returned Error Types:
5433//   * InvalidParametersException
5434//   One or more parameters provided to the operation are not valid.
5435//
5436//   * ResourceNotFoundException
5437//   The specified resource was not found.
5438//
5439// See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/ListPortfoliosForProduct
5440func (c *ServiceCatalog) ListPortfoliosForProduct(input *ListPortfoliosForProductInput) (*ListPortfoliosForProductOutput, error) {
5441	req, out := c.ListPortfoliosForProductRequest(input)
5442	return out, req.Send()
5443}
5444
5445// ListPortfoliosForProductWithContext is the same as ListPortfoliosForProduct with the addition of
5446// the ability to pass a context and additional request options.
5447//
5448// See ListPortfoliosForProduct for details on how to use this API operation.
5449//
5450// The context must be non-nil and will be used for request cancellation. If
5451// the context is nil a panic will occur. In the future the SDK may create
5452// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5453// for more information on using Contexts.
5454func (c *ServiceCatalog) ListPortfoliosForProductWithContext(ctx aws.Context, input *ListPortfoliosForProductInput, opts ...request.Option) (*ListPortfoliosForProductOutput, error) {
5455	req, out := c.ListPortfoliosForProductRequest(input)
5456	req.SetContext(ctx)
5457	req.ApplyOptions(opts...)
5458	return out, req.Send()
5459}
5460
5461// ListPortfoliosForProductPages iterates over the pages of a ListPortfoliosForProduct operation,
5462// calling the "fn" function with the response data for each page. To stop
5463// iterating, return false from the fn function.
5464//
5465// See ListPortfoliosForProduct method for more information on how to use this operation.
5466//
5467// Note: This operation can generate multiple requests to a service.
5468//
5469//    // Example iterating over at most 3 pages of a ListPortfoliosForProduct operation.
5470//    pageNum := 0
5471//    err := client.ListPortfoliosForProductPages(params,
5472//        func(page *servicecatalog.ListPortfoliosForProductOutput, lastPage bool) bool {
5473//            pageNum++
5474//            fmt.Println(page)
5475//            return pageNum <= 3
5476//        })
5477//
5478func (c *ServiceCatalog) ListPortfoliosForProductPages(input *ListPortfoliosForProductInput, fn func(*ListPortfoliosForProductOutput, bool) bool) error {
5479	return c.ListPortfoliosForProductPagesWithContext(aws.BackgroundContext(), input, fn)
5480}
5481
5482// ListPortfoliosForProductPagesWithContext same as ListPortfoliosForProductPages except
5483// it takes a Context and allows setting request options on the pages.
5484//
5485// The context must be non-nil and will be used for request cancellation. If
5486// the context is nil a panic will occur. In the future the SDK may create
5487// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5488// for more information on using Contexts.
5489func (c *ServiceCatalog) ListPortfoliosForProductPagesWithContext(ctx aws.Context, input *ListPortfoliosForProductInput, fn func(*ListPortfoliosForProductOutput, bool) bool, opts ...request.Option) error {
5490	p := request.Pagination{
5491		NewRequest: func() (*request.Request, error) {
5492			var inCpy *ListPortfoliosForProductInput
5493			if input != nil {
5494				tmp := *input
5495				inCpy = &tmp
5496			}
5497			req, _ := c.ListPortfoliosForProductRequest(inCpy)
5498			req.SetContext(ctx)
5499			req.ApplyOptions(opts...)
5500			return req, nil
5501		},
5502	}
5503
5504	for p.Next() {
5505		if !fn(p.Page().(*ListPortfoliosForProductOutput), !p.HasNextPage()) {
5506			break
5507		}
5508	}
5509
5510	return p.Err()
5511}
5512
5513const opListPrincipalsForPortfolio = "ListPrincipalsForPortfolio"
5514
5515// ListPrincipalsForPortfolioRequest generates a "aws/request.Request" representing the
5516// client's request for the ListPrincipalsForPortfolio operation. The "output" return
5517// value will be populated with the request's response once the request completes
5518// successfully.
5519//
5520// Use "Send" method on the returned Request to send the API call to the service.
5521// the "output" return value is not valid until after Send returns without error.
5522//
5523// See ListPrincipalsForPortfolio for more information on using the ListPrincipalsForPortfolio
5524// API call, and error handling.
5525//
5526// This method is useful when you want to inject custom logic or configuration
5527// into the SDK's request lifecycle. Such as custom headers, or retry logic.
5528//
5529//
5530//    // Example sending a request using the ListPrincipalsForPortfolioRequest method.
5531//    req, resp := client.ListPrincipalsForPortfolioRequest(params)
5532//
5533//    err := req.Send()
5534//    if err == nil { // resp is now filled
5535//        fmt.Println(resp)
5536//    }
5537//
5538// See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/ListPrincipalsForPortfolio
5539func (c *ServiceCatalog) ListPrincipalsForPortfolioRequest(input *ListPrincipalsForPortfolioInput) (req *request.Request, output *ListPrincipalsForPortfolioOutput) {
5540	op := &request.Operation{
5541		Name:       opListPrincipalsForPortfolio,
5542		HTTPMethod: "POST",
5543		HTTPPath:   "/",
5544		Paginator: &request.Paginator{
5545			InputTokens:     []string{"PageToken"},
5546			OutputTokens:    []string{"NextPageToken"},
5547			LimitToken:      "PageSize",
5548			TruncationToken: "",
5549		},
5550	}
5551
5552	if input == nil {
5553		input = &ListPrincipalsForPortfolioInput{}
5554	}
5555
5556	output = &ListPrincipalsForPortfolioOutput{}
5557	req = c.newRequest(op, input, output)
5558	return
5559}
5560
5561// ListPrincipalsForPortfolio API operation for AWS Service Catalog.
5562//
5563// Lists all principal ARNs associated with the specified portfolio.
5564//
5565// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
5566// with awserr.Error's Code and Message methods to get detailed information about
5567// the error.
5568//
5569// See the AWS API reference guide for AWS Service Catalog's
5570// API operation ListPrincipalsForPortfolio for usage and error information.
5571//
5572// Returned Error Types:
5573//   * ResourceNotFoundException
5574//   The specified resource was not found.
5575//
5576//   * InvalidParametersException
5577//   One or more parameters provided to the operation are not valid.
5578//
5579// See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/ListPrincipalsForPortfolio
5580func (c *ServiceCatalog) ListPrincipalsForPortfolio(input *ListPrincipalsForPortfolioInput) (*ListPrincipalsForPortfolioOutput, error) {
5581	req, out := c.ListPrincipalsForPortfolioRequest(input)
5582	return out, req.Send()
5583}
5584
5585// ListPrincipalsForPortfolioWithContext is the same as ListPrincipalsForPortfolio with the addition of
5586// the ability to pass a context and additional request options.
5587//
5588// See ListPrincipalsForPortfolio for details on how to use this API operation.
5589//
5590// The context must be non-nil and will be used for request cancellation. If
5591// the context is nil a panic will occur. In the future the SDK may create
5592// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5593// for more information on using Contexts.
5594func (c *ServiceCatalog) ListPrincipalsForPortfolioWithContext(ctx aws.Context, input *ListPrincipalsForPortfolioInput, opts ...request.Option) (*ListPrincipalsForPortfolioOutput, error) {
5595	req, out := c.ListPrincipalsForPortfolioRequest(input)
5596	req.SetContext(ctx)
5597	req.ApplyOptions(opts...)
5598	return out, req.Send()
5599}
5600
5601// ListPrincipalsForPortfolioPages iterates over the pages of a ListPrincipalsForPortfolio operation,
5602// calling the "fn" function with the response data for each page. To stop
5603// iterating, return false from the fn function.
5604//
5605// See ListPrincipalsForPortfolio method for more information on how to use this operation.
5606//
5607// Note: This operation can generate multiple requests to a service.
5608//
5609//    // Example iterating over at most 3 pages of a ListPrincipalsForPortfolio operation.
5610//    pageNum := 0
5611//    err := client.ListPrincipalsForPortfolioPages(params,
5612//        func(page *servicecatalog.ListPrincipalsForPortfolioOutput, lastPage bool) bool {
5613//            pageNum++
5614//            fmt.Println(page)
5615//            return pageNum <= 3
5616//        })
5617//
5618func (c *ServiceCatalog) ListPrincipalsForPortfolioPages(input *ListPrincipalsForPortfolioInput, fn func(*ListPrincipalsForPortfolioOutput, bool) bool) error {
5619	return c.ListPrincipalsForPortfolioPagesWithContext(aws.BackgroundContext(), input, fn)
5620}
5621
5622// ListPrincipalsForPortfolioPagesWithContext same as ListPrincipalsForPortfolioPages except
5623// it takes a Context and allows setting request options on the pages.
5624//
5625// The context must be non-nil and will be used for request cancellation. If
5626// the context is nil a panic will occur. In the future the SDK may create
5627// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5628// for more information on using Contexts.
5629func (c *ServiceCatalog) ListPrincipalsForPortfolioPagesWithContext(ctx aws.Context, input *ListPrincipalsForPortfolioInput, fn func(*ListPrincipalsForPortfolioOutput, bool) bool, opts ...request.Option) error {
5630	p := request.Pagination{
5631		NewRequest: func() (*request.Request, error) {
5632			var inCpy *ListPrincipalsForPortfolioInput
5633			if input != nil {
5634				tmp := *input
5635				inCpy = &tmp
5636			}
5637			req, _ := c.ListPrincipalsForPortfolioRequest(inCpy)
5638			req.SetContext(ctx)
5639			req.ApplyOptions(opts...)
5640			return req, nil
5641		},
5642	}
5643
5644	for p.Next() {
5645		if !fn(p.Page().(*ListPrincipalsForPortfolioOutput), !p.HasNextPage()) {
5646			break
5647		}
5648	}
5649
5650	return p.Err()
5651}
5652
5653const opListProvisionedProductPlans = "ListProvisionedProductPlans"
5654
5655// ListProvisionedProductPlansRequest generates a "aws/request.Request" representing the
5656// client's request for the ListProvisionedProductPlans operation. The "output" return
5657// value will be populated with the request's response once the request completes
5658// successfully.
5659//
5660// Use "Send" method on the returned Request to send the API call to the service.
5661// the "output" return value is not valid until after Send returns without error.
5662//
5663// See ListProvisionedProductPlans for more information on using the ListProvisionedProductPlans
5664// API call, and error handling.
5665//
5666// This method is useful when you want to inject custom logic or configuration
5667// into the SDK's request lifecycle. Such as custom headers, or retry logic.
5668//
5669//
5670//    // Example sending a request using the ListProvisionedProductPlansRequest method.
5671//    req, resp := client.ListProvisionedProductPlansRequest(params)
5672//
5673//    err := req.Send()
5674//    if err == nil { // resp is now filled
5675//        fmt.Println(resp)
5676//    }
5677//
5678// See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/ListProvisionedProductPlans
5679func (c *ServiceCatalog) ListProvisionedProductPlansRequest(input *ListProvisionedProductPlansInput) (req *request.Request, output *ListProvisionedProductPlansOutput) {
5680	op := &request.Operation{
5681		Name:       opListProvisionedProductPlans,
5682		HTTPMethod: "POST",
5683		HTTPPath:   "/",
5684	}
5685
5686	if input == nil {
5687		input = &ListProvisionedProductPlansInput{}
5688	}
5689
5690	output = &ListProvisionedProductPlansOutput{}
5691	req = c.newRequest(op, input, output)
5692	return
5693}
5694
5695// ListProvisionedProductPlans API operation for AWS Service Catalog.
5696//
5697// Lists the plans for the specified provisioned product or all plans to which
5698// the user has access.
5699//
5700// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
5701// with awserr.Error's Code and Message methods to get detailed information about
5702// the error.
5703//
5704// See the AWS API reference guide for AWS Service Catalog's
5705// API operation ListProvisionedProductPlans for usage and error information.
5706//
5707// Returned Error Types:
5708//   * ResourceNotFoundException
5709//   The specified resource was not found.
5710//
5711//   * InvalidParametersException
5712//   One or more parameters provided to the operation are not valid.
5713//
5714// See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/ListProvisionedProductPlans
5715func (c *ServiceCatalog) ListProvisionedProductPlans(input *ListProvisionedProductPlansInput) (*ListProvisionedProductPlansOutput, error) {
5716	req, out := c.ListProvisionedProductPlansRequest(input)
5717	return out, req.Send()
5718}
5719
5720// ListProvisionedProductPlansWithContext is the same as ListProvisionedProductPlans with the addition of
5721// the ability to pass a context and additional request options.
5722//
5723// See ListProvisionedProductPlans for details on how to use this API operation.
5724//
5725// The context must be non-nil and will be used for request cancellation. If
5726// the context is nil a panic will occur. In the future the SDK may create
5727// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5728// for more information on using Contexts.
5729func (c *ServiceCatalog) ListProvisionedProductPlansWithContext(ctx aws.Context, input *ListProvisionedProductPlansInput, opts ...request.Option) (*ListProvisionedProductPlansOutput, error) {
5730	req, out := c.ListProvisionedProductPlansRequest(input)
5731	req.SetContext(ctx)
5732	req.ApplyOptions(opts...)
5733	return out, req.Send()
5734}
5735
5736const opListProvisioningArtifacts = "ListProvisioningArtifacts"
5737
5738// ListProvisioningArtifactsRequest generates a "aws/request.Request" representing the
5739// client's request for the ListProvisioningArtifacts operation. The "output" return
5740// value will be populated with the request's response once the request completes
5741// successfully.
5742//
5743// Use "Send" method on the returned Request to send the API call to the service.
5744// the "output" return value is not valid until after Send returns without error.
5745//
5746// See ListProvisioningArtifacts for more information on using the ListProvisioningArtifacts
5747// API call, and error handling.
5748//
5749// This method is useful when you want to inject custom logic or configuration
5750// into the SDK's request lifecycle. Such as custom headers, or retry logic.
5751//
5752//
5753//    // Example sending a request using the ListProvisioningArtifactsRequest method.
5754//    req, resp := client.ListProvisioningArtifactsRequest(params)
5755//
5756//    err := req.Send()
5757//    if err == nil { // resp is now filled
5758//        fmt.Println(resp)
5759//    }
5760//
5761// See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/ListProvisioningArtifacts
5762func (c *ServiceCatalog) ListProvisioningArtifactsRequest(input *ListProvisioningArtifactsInput) (req *request.Request, output *ListProvisioningArtifactsOutput) {
5763	op := &request.Operation{
5764		Name:       opListProvisioningArtifacts,
5765		HTTPMethod: "POST",
5766		HTTPPath:   "/",
5767	}
5768
5769	if input == nil {
5770		input = &ListProvisioningArtifactsInput{}
5771	}
5772
5773	output = &ListProvisioningArtifactsOutput{}
5774	req = c.newRequest(op, input, output)
5775	return
5776}
5777
5778// ListProvisioningArtifacts API operation for AWS Service Catalog.
5779//
5780// Lists all provisioning artifacts (also known as versions) for the specified
5781// product.
5782//
5783// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
5784// with awserr.Error's Code and Message methods to get detailed information about
5785// the error.
5786//
5787// See the AWS API reference guide for AWS Service Catalog's
5788// API operation ListProvisioningArtifacts for usage and error information.
5789//
5790// Returned Error Types:
5791//   * ResourceNotFoundException
5792//   The specified resource was not found.
5793//
5794//   * InvalidParametersException
5795//   One or more parameters provided to the operation are not valid.
5796//
5797// See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/ListProvisioningArtifacts
5798func (c *ServiceCatalog) ListProvisioningArtifacts(input *ListProvisioningArtifactsInput) (*ListProvisioningArtifactsOutput, error) {
5799	req, out := c.ListProvisioningArtifactsRequest(input)
5800	return out, req.Send()
5801}
5802
5803// ListProvisioningArtifactsWithContext is the same as ListProvisioningArtifacts with the addition of
5804// the ability to pass a context and additional request options.
5805//
5806// See ListProvisioningArtifacts for details on how to use this API operation.
5807//
5808// The context must be non-nil and will be used for request cancellation. If
5809// the context is nil a panic will occur. In the future the SDK may create
5810// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5811// for more information on using Contexts.
5812func (c *ServiceCatalog) ListProvisioningArtifactsWithContext(ctx aws.Context, input *ListProvisioningArtifactsInput, opts ...request.Option) (*ListProvisioningArtifactsOutput, error) {
5813	req, out := c.ListProvisioningArtifactsRequest(input)
5814	req.SetContext(ctx)
5815	req.ApplyOptions(opts...)
5816	return out, req.Send()
5817}
5818
5819const opListProvisioningArtifactsForServiceAction = "ListProvisioningArtifactsForServiceAction"
5820
5821// ListProvisioningArtifactsForServiceActionRequest generates a "aws/request.Request" representing the
5822// client's request for the ListProvisioningArtifactsForServiceAction operation. The "output" return
5823// value will be populated with the request's response once the request completes
5824// successfully.
5825//
5826// Use "Send" method on the returned Request to send the API call to the service.
5827// the "output" return value is not valid until after Send returns without error.
5828//
5829// See ListProvisioningArtifactsForServiceAction for more information on using the ListProvisioningArtifactsForServiceAction
5830// API call, and error handling.
5831//
5832// This method is useful when you want to inject custom logic or configuration
5833// into the SDK's request lifecycle. Such as custom headers, or retry logic.
5834//
5835//
5836//    // Example sending a request using the ListProvisioningArtifactsForServiceActionRequest method.
5837//    req, resp := client.ListProvisioningArtifactsForServiceActionRequest(params)
5838//
5839//    err := req.Send()
5840//    if err == nil { // resp is now filled
5841//        fmt.Println(resp)
5842//    }
5843//
5844// See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/ListProvisioningArtifactsForServiceAction
5845func (c *ServiceCatalog) ListProvisioningArtifactsForServiceActionRequest(input *ListProvisioningArtifactsForServiceActionInput) (req *request.Request, output *ListProvisioningArtifactsForServiceActionOutput) {
5846	op := &request.Operation{
5847		Name:       opListProvisioningArtifactsForServiceAction,
5848		HTTPMethod: "POST",
5849		HTTPPath:   "/",
5850		Paginator: &request.Paginator{
5851			InputTokens:     []string{"PageToken"},
5852			OutputTokens:    []string{"NextPageToken"},
5853			LimitToken:      "PageSize",
5854			TruncationToken: "",
5855		},
5856	}
5857
5858	if input == nil {
5859		input = &ListProvisioningArtifactsForServiceActionInput{}
5860	}
5861
5862	output = &ListProvisioningArtifactsForServiceActionOutput{}
5863	req = c.newRequest(op, input, output)
5864	return
5865}
5866
5867// ListProvisioningArtifactsForServiceAction API operation for AWS Service Catalog.
5868//
5869// Lists all provisioning artifacts (also known as versions) for the specified
5870// self-service action.
5871//
5872// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
5873// with awserr.Error's Code and Message methods to get detailed information about
5874// the error.
5875//
5876// See the AWS API reference guide for AWS Service Catalog's
5877// API operation ListProvisioningArtifactsForServiceAction for usage and error information.
5878//
5879// Returned Error Types:
5880//   * ResourceNotFoundException
5881//   The specified resource was not found.
5882//
5883//   * InvalidParametersException
5884//   One or more parameters provided to the operation are not valid.
5885//
5886// See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/ListProvisioningArtifactsForServiceAction
5887func (c *ServiceCatalog) ListProvisioningArtifactsForServiceAction(input *ListProvisioningArtifactsForServiceActionInput) (*ListProvisioningArtifactsForServiceActionOutput, error) {
5888	req, out := c.ListProvisioningArtifactsForServiceActionRequest(input)
5889	return out, req.Send()
5890}
5891
5892// ListProvisioningArtifactsForServiceActionWithContext is the same as ListProvisioningArtifactsForServiceAction with the addition of
5893// the ability to pass a context and additional request options.
5894//
5895// See ListProvisioningArtifactsForServiceAction for details on how to use this API operation.
5896//
5897// The context must be non-nil and will be used for request cancellation. If
5898// the context is nil a panic will occur. In the future the SDK may create
5899// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5900// for more information on using Contexts.
5901func (c *ServiceCatalog) ListProvisioningArtifactsForServiceActionWithContext(ctx aws.Context, input *ListProvisioningArtifactsForServiceActionInput, opts ...request.Option) (*ListProvisioningArtifactsForServiceActionOutput, error) {
5902	req, out := c.ListProvisioningArtifactsForServiceActionRequest(input)
5903	req.SetContext(ctx)
5904	req.ApplyOptions(opts...)
5905	return out, req.Send()
5906}
5907
5908// ListProvisioningArtifactsForServiceActionPages iterates over the pages of a ListProvisioningArtifactsForServiceAction operation,
5909// calling the "fn" function with the response data for each page. To stop
5910// iterating, return false from the fn function.
5911//
5912// See ListProvisioningArtifactsForServiceAction method for more information on how to use this operation.
5913//
5914// Note: This operation can generate multiple requests to a service.
5915//
5916//    // Example iterating over at most 3 pages of a ListProvisioningArtifactsForServiceAction operation.
5917//    pageNum := 0
5918//    err := client.ListProvisioningArtifactsForServiceActionPages(params,
5919//        func(page *servicecatalog.ListProvisioningArtifactsForServiceActionOutput, lastPage bool) bool {
5920//            pageNum++
5921//            fmt.Println(page)
5922//            return pageNum <= 3
5923//        })
5924//
5925func (c *ServiceCatalog) ListProvisioningArtifactsForServiceActionPages(input *ListProvisioningArtifactsForServiceActionInput, fn func(*ListProvisioningArtifactsForServiceActionOutput, bool) bool) error {
5926	return c.ListProvisioningArtifactsForServiceActionPagesWithContext(aws.BackgroundContext(), input, fn)
5927}
5928
5929// ListProvisioningArtifactsForServiceActionPagesWithContext same as ListProvisioningArtifactsForServiceActionPages except
5930// it takes a Context and allows setting request options on the pages.
5931//
5932// The context must be non-nil and will be used for request cancellation. If
5933// the context is nil a panic will occur. In the future the SDK may create
5934// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5935// for more information on using Contexts.
5936func (c *ServiceCatalog) ListProvisioningArtifactsForServiceActionPagesWithContext(ctx aws.Context, input *ListProvisioningArtifactsForServiceActionInput, fn func(*ListProvisioningArtifactsForServiceActionOutput, bool) bool, opts ...request.Option) error {
5937	p := request.Pagination{
5938		NewRequest: func() (*request.Request, error) {
5939			var inCpy *ListProvisioningArtifactsForServiceActionInput
5940			if input != nil {
5941				tmp := *input
5942				inCpy = &tmp
5943			}
5944			req, _ := c.ListProvisioningArtifactsForServiceActionRequest(inCpy)
5945			req.SetContext(ctx)
5946			req.ApplyOptions(opts...)
5947			return req, nil
5948		},
5949	}
5950
5951	for p.Next() {
5952		if !fn(p.Page().(*ListProvisioningArtifactsForServiceActionOutput), !p.HasNextPage()) {
5953			break
5954		}
5955	}
5956
5957	return p.Err()
5958}
5959
5960const opListRecordHistory = "ListRecordHistory"
5961
5962// ListRecordHistoryRequest generates a "aws/request.Request" representing the
5963// client's request for the ListRecordHistory operation. The "output" return
5964// value will be populated with the request's response once the request completes
5965// successfully.
5966//
5967// Use "Send" method on the returned Request to send the API call to the service.
5968// the "output" return value is not valid until after Send returns without error.
5969//
5970// See ListRecordHistory for more information on using the ListRecordHistory
5971// API call, and error handling.
5972//
5973// This method is useful when you want to inject custom logic or configuration
5974// into the SDK's request lifecycle. Such as custom headers, or retry logic.
5975//
5976//
5977//    // Example sending a request using the ListRecordHistoryRequest method.
5978//    req, resp := client.ListRecordHistoryRequest(params)
5979//
5980//    err := req.Send()
5981//    if err == nil { // resp is now filled
5982//        fmt.Println(resp)
5983//    }
5984//
5985// See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/ListRecordHistory
5986func (c *ServiceCatalog) ListRecordHistoryRequest(input *ListRecordHistoryInput) (req *request.Request, output *ListRecordHistoryOutput) {
5987	op := &request.Operation{
5988		Name:       opListRecordHistory,
5989		HTTPMethod: "POST",
5990		HTTPPath:   "/",
5991	}
5992
5993	if input == nil {
5994		input = &ListRecordHistoryInput{}
5995	}
5996
5997	output = &ListRecordHistoryOutput{}
5998	req = c.newRequest(op, input, output)
5999	return
6000}
6001
6002// ListRecordHistory API operation for AWS Service Catalog.
6003//
6004// Lists the specified requests or all performed requests.
6005//
6006// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
6007// with awserr.Error's Code and Message methods to get detailed information about
6008// the error.
6009//
6010// See the AWS API reference guide for AWS Service Catalog's
6011// API operation ListRecordHistory for usage and error information.
6012//
6013// Returned Error Types:
6014//   * InvalidParametersException
6015//   One or more parameters provided to the operation are not valid.
6016//
6017// See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/ListRecordHistory
6018func (c *ServiceCatalog) ListRecordHistory(input *ListRecordHistoryInput) (*ListRecordHistoryOutput, error) {
6019	req, out := c.ListRecordHistoryRequest(input)
6020	return out, req.Send()
6021}
6022
6023// ListRecordHistoryWithContext is the same as ListRecordHistory with the addition of
6024// the ability to pass a context and additional request options.
6025//
6026// See ListRecordHistory for details on how to use this API operation.
6027//
6028// The context must be non-nil and will be used for request cancellation. If
6029// the context is nil a panic will occur. In the future the SDK may create
6030// sub-contexts for http.Requests. See https://golang.org/pkg/context/
6031// for more information on using Contexts.
6032func (c *ServiceCatalog) ListRecordHistoryWithContext(ctx aws.Context, input *ListRecordHistoryInput, opts ...request.Option) (*ListRecordHistoryOutput, error) {
6033	req, out := c.ListRecordHistoryRequest(input)
6034	req.SetContext(ctx)
6035	req.ApplyOptions(opts...)
6036	return out, req.Send()
6037}
6038
6039const opListResourcesForTagOption = "ListResourcesForTagOption"
6040
6041// ListResourcesForTagOptionRequest generates a "aws/request.Request" representing the
6042// client's request for the ListResourcesForTagOption operation. The "output" return
6043// value will be populated with the request's response once the request completes
6044// successfully.
6045//
6046// Use "Send" method on the returned Request to send the API call to the service.
6047// the "output" return value is not valid until after Send returns without error.
6048//
6049// See ListResourcesForTagOption for more information on using the ListResourcesForTagOption
6050// API call, and error handling.
6051//
6052// This method is useful when you want to inject custom logic or configuration
6053// into the SDK's request lifecycle. Such as custom headers, or retry logic.
6054//
6055//
6056//    // Example sending a request using the ListResourcesForTagOptionRequest method.
6057//    req, resp := client.ListResourcesForTagOptionRequest(params)
6058//
6059//    err := req.Send()
6060//    if err == nil { // resp is now filled
6061//        fmt.Println(resp)
6062//    }
6063//
6064// See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/ListResourcesForTagOption
6065func (c *ServiceCatalog) ListResourcesForTagOptionRequest(input *ListResourcesForTagOptionInput) (req *request.Request, output *ListResourcesForTagOptionOutput) {
6066	op := &request.Operation{
6067		Name:       opListResourcesForTagOption,
6068		HTTPMethod: "POST",
6069		HTTPPath:   "/",
6070		Paginator: &request.Paginator{
6071			InputTokens:     []string{"PageToken"},
6072			OutputTokens:    []string{"PageToken"},
6073			LimitToken:      "PageSize",
6074			TruncationToken: "",
6075		},
6076	}
6077
6078	if input == nil {
6079		input = &ListResourcesForTagOptionInput{}
6080	}
6081
6082	output = &ListResourcesForTagOptionOutput{}
6083	req = c.newRequest(op, input, output)
6084	return
6085}
6086
6087// ListResourcesForTagOption API operation for AWS Service Catalog.
6088//
6089// Lists the resources associated with the specified TagOption.
6090//
6091// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
6092// with awserr.Error's Code and Message methods to get detailed information about
6093// the error.
6094//
6095// See the AWS API reference guide for AWS Service Catalog's
6096// API operation ListResourcesForTagOption for usage and error information.
6097//
6098// Returned Error Types:
6099//   * TagOptionNotMigratedException
6100//   An operation requiring TagOptions failed because the TagOptions migration
6101//   process has not been performed for this account. Please use the AWS console
6102//   to perform the migration process before retrying the operation.
6103//
6104//   * ResourceNotFoundException
6105//   The specified resource was not found.
6106//
6107//   * InvalidParametersException
6108//   One or more parameters provided to the operation are not valid.
6109//
6110// See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/ListResourcesForTagOption
6111func (c *ServiceCatalog) ListResourcesForTagOption(input *ListResourcesForTagOptionInput) (*ListResourcesForTagOptionOutput, error) {
6112	req, out := c.ListResourcesForTagOptionRequest(input)
6113	return out, req.Send()
6114}
6115
6116// ListResourcesForTagOptionWithContext is the same as ListResourcesForTagOption with the addition of
6117// the ability to pass a context and additional request options.
6118//
6119// See ListResourcesForTagOption for details on how to use this API operation.
6120//
6121// The context must be non-nil and will be used for request cancellation. If
6122// the context is nil a panic will occur. In the future the SDK may create
6123// sub-contexts for http.Requests. See https://golang.org/pkg/context/
6124// for more information on using Contexts.
6125func (c *ServiceCatalog) ListResourcesForTagOptionWithContext(ctx aws.Context, input *ListResourcesForTagOptionInput, opts ...request.Option) (*ListResourcesForTagOptionOutput, error) {
6126	req, out := c.ListResourcesForTagOptionRequest(input)
6127	req.SetContext(ctx)
6128	req.ApplyOptions(opts...)
6129	return out, req.Send()
6130}
6131
6132// ListResourcesForTagOptionPages iterates over the pages of a ListResourcesForTagOption operation,
6133// calling the "fn" function with the response data for each page. To stop
6134// iterating, return false from the fn function.
6135//
6136// See ListResourcesForTagOption method for more information on how to use this operation.
6137//
6138// Note: This operation can generate multiple requests to a service.
6139//
6140//    // Example iterating over at most 3 pages of a ListResourcesForTagOption operation.
6141//    pageNum := 0
6142//    err := client.ListResourcesForTagOptionPages(params,
6143//        func(page *servicecatalog.ListResourcesForTagOptionOutput, lastPage bool) bool {
6144//            pageNum++
6145//            fmt.Println(page)
6146//            return pageNum <= 3
6147//        })
6148//
6149func (c *ServiceCatalog) ListResourcesForTagOptionPages(input *ListResourcesForTagOptionInput, fn func(*ListResourcesForTagOptionOutput, bool) bool) error {
6150	return c.ListResourcesForTagOptionPagesWithContext(aws.BackgroundContext(), input, fn)
6151}
6152
6153// ListResourcesForTagOptionPagesWithContext same as ListResourcesForTagOptionPages except
6154// it takes a Context and allows setting request options on the pages.
6155//
6156// The context must be non-nil and will be used for request cancellation. If
6157// the context is nil a panic will occur. In the future the SDK may create
6158// sub-contexts for http.Requests. See https://golang.org/pkg/context/
6159// for more information on using Contexts.
6160func (c *ServiceCatalog) ListResourcesForTagOptionPagesWithContext(ctx aws.Context, input *ListResourcesForTagOptionInput, fn func(*ListResourcesForTagOptionOutput, bool) bool, opts ...request.Option) error {
6161	p := request.Pagination{
6162		NewRequest: func() (*request.Request, error) {
6163			var inCpy *ListResourcesForTagOptionInput
6164			if input != nil {
6165				tmp := *input
6166				inCpy = &tmp
6167			}
6168			req, _ := c.ListResourcesForTagOptionRequest(inCpy)
6169			req.SetContext(ctx)
6170			req.ApplyOptions(opts...)
6171			return req, nil
6172		},
6173	}
6174
6175	for p.Next() {
6176		if !fn(p.Page().(*ListResourcesForTagOptionOutput), !p.HasNextPage()) {
6177			break
6178		}
6179	}
6180
6181	return p.Err()
6182}
6183
6184const opListServiceActions = "ListServiceActions"
6185
6186// ListServiceActionsRequest generates a "aws/request.Request" representing the
6187// client's request for the ListServiceActions operation. The "output" return
6188// value will be populated with the request's response once the request completes
6189// successfully.
6190//
6191// Use "Send" method on the returned Request to send the API call to the service.
6192// the "output" return value is not valid until after Send returns without error.
6193//
6194// See ListServiceActions for more information on using the ListServiceActions
6195// API call, and error handling.
6196//
6197// This method is useful when you want to inject custom logic or configuration
6198// into the SDK's request lifecycle. Such as custom headers, or retry logic.
6199//
6200//
6201//    // Example sending a request using the ListServiceActionsRequest method.
6202//    req, resp := client.ListServiceActionsRequest(params)
6203//
6204//    err := req.Send()
6205//    if err == nil { // resp is now filled
6206//        fmt.Println(resp)
6207//    }
6208//
6209// See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/ListServiceActions
6210func (c *ServiceCatalog) ListServiceActionsRequest(input *ListServiceActionsInput) (req *request.Request, output *ListServiceActionsOutput) {
6211	op := &request.Operation{
6212		Name:       opListServiceActions,
6213		HTTPMethod: "POST",
6214		HTTPPath:   "/",
6215		Paginator: &request.Paginator{
6216			InputTokens:     []string{"PageToken"},
6217			OutputTokens:    []string{"NextPageToken"},
6218			LimitToken:      "PageSize",
6219			TruncationToken: "",
6220		},
6221	}
6222
6223	if input == nil {
6224		input = &ListServiceActionsInput{}
6225	}
6226
6227	output = &ListServiceActionsOutput{}
6228	req = c.newRequest(op, input, output)
6229	return
6230}
6231
6232// ListServiceActions API operation for AWS Service Catalog.
6233//
6234// Lists all self-service actions.
6235//
6236// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
6237// with awserr.Error's Code and Message methods to get detailed information about
6238// the error.
6239//
6240// See the AWS API reference guide for AWS Service Catalog's
6241// API operation ListServiceActions for usage and error information.
6242//
6243// Returned Error Types:
6244//   * InvalidParametersException
6245//   One or more parameters provided to the operation are not valid.
6246//
6247// See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/ListServiceActions
6248func (c *ServiceCatalog) ListServiceActions(input *ListServiceActionsInput) (*ListServiceActionsOutput, error) {
6249	req, out := c.ListServiceActionsRequest(input)
6250	return out, req.Send()
6251}
6252
6253// ListServiceActionsWithContext is the same as ListServiceActions with the addition of
6254// the ability to pass a context and additional request options.
6255//
6256// See ListServiceActions for details on how to use this API operation.
6257//
6258// The context must be non-nil and will be used for request cancellation. If
6259// the context is nil a panic will occur. In the future the SDK may create
6260// sub-contexts for http.Requests. See https://golang.org/pkg/context/
6261// for more information on using Contexts.
6262func (c *ServiceCatalog) ListServiceActionsWithContext(ctx aws.Context, input *ListServiceActionsInput, opts ...request.Option) (*ListServiceActionsOutput, error) {
6263	req, out := c.ListServiceActionsRequest(input)
6264	req.SetContext(ctx)
6265	req.ApplyOptions(opts...)
6266	return out, req.Send()
6267}
6268
6269// ListServiceActionsPages iterates over the pages of a ListServiceActions operation,
6270// calling the "fn" function with the response data for each page. To stop
6271// iterating, return false from the fn function.
6272//
6273// See ListServiceActions method for more information on how to use this operation.
6274//
6275// Note: This operation can generate multiple requests to a service.
6276//
6277//    // Example iterating over at most 3 pages of a ListServiceActions operation.
6278//    pageNum := 0
6279//    err := client.ListServiceActionsPages(params,
6280//        func(page *servicecatalog.ListServiceActionsOutput, lastPage bool) bool {
6281//            pageNum++
6282//            fmt.Println(page)
6283//            return pageNum <= 3
6284//        })
6285//
6286func (c *ServiceCatalog) ListServiceActionsPages(input *ListServiceActionsInput, fn func(*ListServiceActionsOutput, bool) bool) error {
6287	return c.ListServiceActionsPagesWithContext(aws.BackgroundContext(), input, fn)
6288}
6289
6290// ListServiceActionsPagesWithContext same as ListServiceActionsPages except
6291// it takes a Context and allows setting request options on the pages.
6292//
6293// The context must be non-nil and will be used for request cancellation. If
6294// the context is nil a panic will occur. In the future the SDK may create
6295// sub-contexts for http.Requests. See https://golang.org/pkg/context/
6296// for more information on using Contexts.
6297func (c *ServiceCatalog) ListServiceActionsPagesWithContext(ctx aws.Context, input *ListServiceActionsInput, fn func(*ListServiceActionsOutput, bool) bool, opts ...request.Option) error {
6298	p := request.Pagination{
6299		NewRequest: func() (*request.Request, error) {
6300			var inCpy *ListServiceActionsInput
6301			if input != nil {
6302				tmp := *input
6303				inCpy = &tmp
6304			}
6305			req, _ := c.ListServiceActionsRequest(inCpy)
6306			req.SetContext(ctx)
6307			req.ApplyOptions(opts...)
6308			return req, nil
6309		},
6310	}
6311
6312	for p.Next() {
6313		if !fn(p.Page().(*ListServiceActionsOutput), !p.HasNextPage()) {
6314			break
6315		}
6316	}
6317
6318	return p.Err()
6319}
6320
6321const opListServiceActionsForProvisioningArtifact = "ListServiceActionsForProvisioningArtifact"
6322
6323// ListServiceActionsForProvisioningArtifactRequest generates a "aws/request.Request" representing the
6324// client's request for the ListServiceActionsForProvisioningArtifact operation. The "output" return
6325// value will be populated with the request's response once the request completes
6326// successfully.
6327//
6328// Use "Send" method on the returned Request to send the API call to the service.
6329// the "output" return value is not valid until after Send returns without error.
6330//
6331// See ListServiceActionsForProvisioningArtifact for more information on using the ListServiceActionsForProvisioningArtifact
6332// API call, and error handling.
6333//
6334// This method is useful when you want to inject custom logic or configuration
6335// into the SDK's request lifecycle. Such as custom headers, or retry logic.
6336//
6337//
6338//    // Example sending a request using the ListServiceActionsForProvisioningArtifactRequest method.
6339//    req, resp := client.ListServiceActionsForProvisioningArtifactRequest(params)
6340//
6341//    err := req.Send()
6342//    if err == nil { // resp is now filled
6343//        fmt.Println(resp)
6344//    }
6345//
6346// See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/ListServiceActionsForProvisioningArtifact
6347func (c *ServiceCatalog) ListServiceActionsForProvisioningArtifactRequest(input *ListServiceActionsForProvisioningArtifactInput) (req *request.Request, output *ListServiceActionsForProvisioningArtifactOutput) {
6348	op := &request.Operation{
6349		Name:       opListServiceActionsForProvisioningArtifact,
6350		HTTPMethod: "POST",
6351		HTTPPath:   "/",
6352		Paginator: &request.Paginator{
6353			InputTokens:     []string{"PageToken"},
6354			OutputTokens:    []string{"NextPageToken"},
6355			LimitToken:      "PageSize",
6356			TruncationToken: "",
6357		},
6358	}
6359
6360	if input == nil {
6361		input = &ListServiceActionsForProvisioningArtifactInput{}
6362	}
6363
6364	output = &ListServiceActionsForProvisioningArtifactOutput{}
6365	req = c.newRequest(op, input, output)
6366	return
6367}
6368
6369// ListServiceActionsForProvisioningArtifact API operation for AWS Service Catalog.
6370//
6371// Returns a paginated list of self-service actions associated with the specified
6372// Product ID and Provisioning Artifact ID.
6373//
6374// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
6375// with awserr.Error's Code and Message methods to get detailed information about
6376// the error.
6377//
6378// See the AWS API reference guide for AWS Service Catalog's
6379// API operation ListServiceActionsForProvisioningArtifact for usage and error information.
6380//
6381// Returned Error Types:
6382//   * ResourceNotFoundException
6383//   The specified resource was not found.
6384//
6385//   * InvalidParametersException
6386//   One or more parameters provided to the operation are not valid.
6387//
6388// See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/ListServiceActionsForProvisioningArtifact
6389func (c *ServiceCatalog) ListServiceActionsForProvisioningArtifact(input *ListServiceActionsForProvisioningArtifactInput) (*ListServiceActionsForProvisioningArtifactOutput, error) {
6390	req, out := c.ListServiceActionsForProvisioningArtifactRequest(input)
6391	return out, req.Send()
6392}
6393
6394// ListServiceActionsForProvisioningArtifactWithContext is the same as ListServiceActionsForProvisioningArtifact with the addition of
6395// the ability to pass a context and additional request options.
6396//
6397// See ListServiceActionsForProvisioningArtifact for details on how to use this API operation.
6398//
6399// The context must be non-nil and will be used for request cancellation. If
6400// the context is nil a panic will occur. In the future the SDK may create
6401// sub-contexts for http.Requests. See https://golang.org/pkg/context/
6402// for more information on using Contexts.
6403func (c *ServiceCatalog) ListServiceActionsForProvisioningArtifactWithContext(ctx aws.Context, input *ListServiceActionsForProvisioningArtifactInput, opts ...request.Option) (*ListServiceActionsForProvisioningArtifactOutput, error) {
6404	req, out := c.ListServiceActionsForProvisioningArtifactRequest(input)
6405	req.SetContext(ctx)
6406	req.ApplyOptions(opts...)
6407	return out, req.Send()
6408}
6409
6410// ListServiceActionsForProvisioningArtifactPages iterates over the pages of a ListServiceActionsForProvisioningArtifact operation,
6411// calling the "fn" function with the response data for each page. To stop
6412// iterating, return false from the fn function.
6413//
6414// See ListServiceActionsForProvisioningArtifact method for more information on how to use this operation.
6415//
6416// Note: This operation can generate multiple requests to a service.
6417//
6418//    // Example iterating over at most 3 pages of a ListServiceActionsForProvisioningArtifact operation.
6419//    pageNum := 0
6420//    err := client.ListServiceActionsForProvisioningArtifactPages(params,
6421//        func(page *servicecatalog.ListServiceActionsForProvisioningArtifactOutput, lastPage bool) bool {
6422//            pageNum++
6423//            fmt.Println(page)
6424//            return pageNum <= 3
6425//        })
6426//
6427func (c *ServiceCatalog) ListServiceActionsForProvisioningArtifactPages(input *ListServiceActionsForProvisioningArtifactInput, fn func(*ListServiceActionsForProvisioningArtifactOutput, bool) bool) error {
6428	return c.ListServiceActionsForProvisioningArtifactPagesWithContext(aws.BackgroundContext(), input, fn)
6429}
6430
6431// ListServiceActionsForProvisioningArtifactPagesWithContext same as ListServiceActionsForProvisioningArtifactPages except
6432// it takes a Context and allows setting request options on the pages.
6433//
6434// The context must be non-nil and will be used for request cancellation. If
6435// the context is nil a panic will occur. In the future the SDK may create
6436// sub-contexts for http.Requests. See https://golang.org/pkg/context/
6437// for more information on using Contexts.
6438func (c *ServiceCatalog) ListServiceActionsForProvisioningArtifactPagesWithContext(ctx aws.Context, input *ListServiceActionsForProvisioningArtifactInput, fn func(*ListServiceActionsForProvisioningArtifactOutput, bool) bool, opts ...request.Option) error {
6439	p := request.Pagination{
6440		NewRequest: func() (*request.Request, error) {
6441			var inCpy *ListServiceActionsForProvisioningArtifactInput
6442			if input != nil {
6443				tmp := *input
6444				inCpy = &tmp
6445			}
6446			req, _ := c.ListServiceActionsForProvisioningArtifactRequest(inCpy)
6447			req.SetContext(ctx)
6448			req.ApplyOptions(opts...)
6449			return req, nil
6450		},
6451	}
6452
6453	for p.Next() {
6454		if !fn(p.Page().(*ListServiceActionsForProvisioningArtifactOutput), !p.HasNextPage()) {
6455			break
6456		}
6457	}
6458
6459	return p.Err()
6460}
6461
6462const opListStackInstancesForProvisionedProduct = "ListStackInstancesForProvisionedProduct"
6463
6464// ListStackInstancesForProvisionedProductRequest generates a "aws/request.Request" representing the
6465// client's request for the ListStackInstancesForProvisionedProduct operation. The "output" return
6466// value will be populated with the request's response once the request completes
6467// successfully.
6468//
6469// Use "Send" method on the returned Request to send the API call to the service.
6470// the "output" return value is not valid until after Send returns without error.
6471//
6472// See ListStackInstancesForProvisionedProduct for more information on using the ListStackInstancesForProvisionedProduct
6473// API call, and error handling.
6474//
6475// This method is useful when you want to inject custom logic or configuration
6476// into the SDK's request lifecycle. Such as custom headers, or retry logic.
6477//
6478//
6479//    // Example sending a request using the ListStackInstancesForProvisionedProductRequest method.
6480//    req, resp := client.ListStackInstancesForProvisionedProductRequest(params)
6481//
6482//    err := req.Send()
6483//    if err == nil { // resp is now filled
6484//        fmt.Println(resp)
6485//    }
6486//
6487// See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/ListStackInstancesForProvisionedProduct
6488func (c *ServiceCatalog) ListStackInstancesForProvisionedProductRequest(input *ListStackInstancesForProvisionedProductInput) (req *request.Request, output *ListStackInstancesForProvisionedProductOutput) {
6489	op := &request.Operation{
6490		Name:       opListStackInstancesForProvisionedProduct,
6491		HTTPMethod: "POST",
6492		HTTPPath:   "/",
6493	}
6494
6495	if input == nil {
6496		input = &ListStackInstancesForProvisionedProductInput{}
6497	}
6498
6499	output = &ListStackInstancesForProvisionedProductOutput{}
6500	req = c.newRequest(op, input, output)
6501	return
6502}
6503
6504// ListStackInstancesForProvisionedProduct API operation for AWS Service Catalog.
6505//
6506// Returns summary information about stack instances that are associated with
6507// the specified CFN_STACKSET type provisioned product. You can filter for stack
6508// instances that are associated with a specific AWS account name or region.
6509//
6510// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
6511// with awserr.Error's Code and Message methods to get detailed information about
6512// the error.
6513//
6514// See the AWS API reference guide for AWS Service Catalog's
6515// API operation ListStackInstancesForProvisionedProduct for usage and error information.
6516//
6517// Returned Error Types:
6518//   * InvalidParametersException
6519//   One or more parameters provided to the operation are not valid.
6520//
6521//   * ResourceNotFoundException
6522//   The specified resource was not found.
6523//
6524// See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/ListStackInstancesForProvisionedProduct
6525func (c *ServiceCatalog) ListStackInstancesForProvisionedProduct(input *ListStackInstancesForProvisionedProductInput) (*ListStackInstancesForProvisionedProductOutput, error) {
6526	req, out := c.ListStackInstancesForProvisionedProductRequest(input)
6527	return out, req.Send()
6528}
6529
6530// ListStackInstancesForProvisionedProductWithContext is the same as ListStackInstancesForProvisionedProduct with the addition of
6531// the ability to pass a context and additional request options.
6532//
6533// See ListStackInstancesForProvisionedProduct for details on how to use this API operation.
6534//
6535// The context must be non-nil and will be used for request cancellation. If
6536// the context is nil a panic will occur. In the future the SDK may create
6537// sub-contexts for http.Requests. See https://golang.org/pkg/context/
6538// for more information on using Contexts.
6539func (c *ServiceCatalog) ListStackInstancesForProvisionedProductWithContext(ctx aws.Context, input *ListStackInstancesForProvisionedProductInput, opts ...request.Option) (*ListStackInstancesForProvisionedProductOutput, error) {
6540	req, out := c.ListStackInstancesForProvisionedProductRequest(input)
6541	req.SetContext(ctx)
6542	req.ApplyOptions(opts...)
6543	return out, req.Send()
6544}
6545
6546const opListTagOptions = "ListTagOptions"
6547
6548// ListTagOptionsRequest generates a "aws/request.Request" representing the
6549// client's request for the ListTagOptions operation. The "output" return
6550// value will be populated with the request's response once the request completes
6551// successfully.
6552//
6553// Use "Send" method on the returned Request to send the API call to the service.
6554// the "output" return value is not valid until after Send returns without error.
6555//
6556// See ListTagOptions for more information on using the ListTagOptions
6557// API call, and error handling.
6558//
6559// This method is useful when you want to inject custom logic or configuration
6560// into the SDK's request lifecycle. Such as custom headers, or retry logic.
6561//
6562//
6563//    // Example sending a request using the ListTagOptionsRequest method.
6564//    req, resp := client.ListTagOptionsRequest(params)
6565//
6566//    err := req.Send()
6567//    if err == nil { // resp is now filled
6568//        fmt.Println(resp)
6569//    }
6570//
6571// See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/ListTagOptions
6572func (c *ServiceCatalog) ListTagOptionsRequest(input *ListTagOptionsInput) (req *request.Request, output *ListTagOptionsOutput) {
6573	op := &request.Operation{
6574		Name:       opListTagOptions,
6575		HTTPMethod: "POST",
6576		HTTPPath:   "/",
6577		Paginator: &request.Paginator{
6578			InputTokens:     []string{"PageToken"},
6579			OutputTokens:    []string{"PageToken"},
6580			LimitToken:      "PageSize",
6581			TruncationToken: "",
6582		},
6583	}
6584
6585	if input == nil {
6586		input = &ListTagOptionsInput{}
6587	}
6588
6589	output = &ListTagOptionsOutput{}
6590	req = c.newRequest(op, input, output)
6591	return
6592}
6593
6594// ListTagOptions API operation for AWS Service Catalog.
6595//
6596// Lists the specified TagOptions or all TagOptions.
6597//
6598// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
6599// with awserr.Error's Code and Message methods to get detailed information about
6600// the error.
6601//
6602// See the AWS API reference guide for AWS Service Catalog's
6603// API operation ListTagOptions for usage and error information.
6604//
6605// Returned Error Types:
6606//   * TagOptionNotMigratedException
6607//   An operation requiring TagOptions failed because the TagOptions migration
6608//   process has not been performed for this account. Please use the AWS console
6609//   to perform the migration process before retrying the operation.
6610//
6611//   * InvalidParametersException
6612//   One or more parameters provided to the operation are not valid.
6613//
6614// See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/ListTagOptions
6615func (c *ServiceCatalog) ListTagOptions(input *ListTagOptionsInput) (*ListTagOptionsOutput, error) {
6616	req, out := c.ListTagOptionsRequest(input)
6617	return out, req.Send()
6618}
6619
6620// ListTagOptionsWithContext is the same as ListTagOptions with the addition of
6621// the ability to pass a context and additional request options.
6622//
6623// See ListTagOptions for details on how to use this API operation.
6624//
6625// The context must be non-nil and will be used for request cancellation. If
6626// the context is nil a panic will occur. In the future the SDK may create
6627// sub-contexts for http.Requests. See https://golang.org/pkg/context/
6628// for more information on using Contexts.
6629func (c *ServiceCatalog) ListTagOptionsWithContext(ctx aws.Context, input *ListTagOptionsInput, opts ...request.Option) (*ListTagOptionsOutput, error) {
6630	req, out := c.ListTagOptionsRequest(input)
6631	req.SetContext(ctx)
6632	req.ApplyOptions(opts...)
6633	return out, req.Send()
6634}
6635
6636// ListTagOptionsPages iterates over the pages of a ListTagOptions operation,
6637// calling the "fn" function with the response data for each page. To stop
6638// iterating, return false from the fn function.
6639//
6640// See ListTagOptions method for more information on how to use this operation.
6641//
6642// Note: This operation can generate multiple requests to a service.
6643//
6644//    // Example iterating over at most 3 pages of a ListTagOptions operation.
6645//    pageNum := 0
6646//    err := client.ListTagOptionsPages(params,
6647//        func(page *servicecatalog.ListTagOptionsOutput, lastPage bool) bool {
6648//            pageNum++
6649//            fmt.Println(page)
6650//            return pageNum <= 3
6651//        })
6652//
6653func (c *ServiceCatalog) ListTagOptionsPages(input *ListTagOptionsInput, fn func(*ListTagOptionsOutput, bool) bool) error {
6654	return c.ListTagOptionsPagesWithContext(aws.BackgroundContext(), input, fn)
6655}
6656
6657// ListTagOptionsPagesWithContext same as ListTagOptionsPages except
6658// it takes a Context and allows setting request options on the pages.
6659//
6660// The context must be non-nil and will be used for request cancellation. If
6661// the context is nil a panic will occur. In the future the SDK may create
6662// sub-contexts for http.Requests. See https://golang.org/pkg/context/
6663// for more information on using Contexts.
6664func (c *ServiceCatalog) ListTagOptionsPagesWithContext(ctx aws.Context, input *ListTagOptionsInput, fn func(*ListTagOptionsOutput, bool) bool, opts ...request.Option) error {
6665	p := request.Pagination{
6666		NewRequest: func() (*request.Request, error) {
6667			var inCpy *ListTagOptionsInput
6668			if input != nil {
6669				tmp := *input
6670				inCpy = &tmp
6671			}
6672			req, _ := c.ListTagOptionsRequest(inCpy)
6673			req.SetContext(ctx)
6674			req.ApplyOptions(opts...)
6675			return req, nil
6676		},
6677	}
6678
6679	for p.Next() {
6680		if !fn(p.Page().(*ListTagOptionsOutput), !p.HasNextPage()) {
6681			break
6682		}
6683	}
6684
6685	return p.Err()
6686}
6687
6688const opProvisionProduct = "ProvisionProduct"
6689
6690// ProvisionProductRequest generates a "aws/request.Request" representing the
6691// client's request for the ProvisionProduct operation. The "output" return
6692// value will be populated with the request's response once the request completes
6693// successfully.
6694//
6695// Use "Send" method on the returned Request to send the API call to the service.
6696// the "output" return value is not valid until after Send returns without error.
6697//
6698// See ProvisionProduct for more information on using the ProvisionProduct
6699// API call, and error handling.
6700//
6701// This method is useful when you want to inject custom logic or configuration
6702// into the SDK's request lifecycle. Such as custom headers, or retry logic.
6703//
6704//
6705//    // Example sending a request using the ProvisionProductRequest method.
6706//    req, resp := client.ProvisionProductRequest(params)
6707//
6708//    err := req.Send()
6709//    if err == nil { // resp is now filled
6710//        fmt.Println(resp)
6711//    }
6712//
6713// See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/ProvisionProduct
6714func (c *ServiceCatalog) ProvisionProductRequest(input *ProvisionProductInput) (req *request.Request, output *ProvisionProductOutput) {
6715	op := &request.Operation{
6716		Name:       opProvisionProduct,
6717		HTTPMethod: "POST",
6718		HTTPPath:   "/",
6719	}
6720
6721	if input == nil {
6722		input = &ProvisionProductInput{}
6723	}
6724
6725	output = &ProvisionProductOutput{}
6726	req = c.newRequest(op, input, output)
6727	return
6728}
6729
6730// ProvisionProduct API operation for AWS Service Catalog.
6731//
6732// Provisions the specified product.
6733//
6734// A provisioned product is a resourced instance of a product. For example,
6735// provisioning a product based on a CloudFormation template launches a CloudFormation
6736// stack and its underlying resources. You can check the status of this request
6737// using DescribeRecord.
6738//
6739// If the request contains a tag key with an empty list of values, there is
6740// a tag conflict for that key. Do not include conflicted keys as tags, or this
6741// causes the error "Parameter validation failed: Missing required parameter
6742// in Tags[N]:Value".
6743//
6744// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
6745// with awserr.Error's Code and Message methods to get detailed information about
6746// the error.
6747//
6748// See the AWS API reference guide for AWS Service Catalog's
6749// API operation ProvisionProduct for usage and error information.
6750//
6751// Returned Error Types:
6752//   * InvalidParametersException
6753//   One or more parameters provided to the operation are not valid.
6754//
6755//   * ResourceNotFoundException
6756//   The specified resource was not found.
6757//
6758//   * DuplicateResourceException
6759//   The specified resource is a duplicate.
6760//
6761// See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/ProvisionProduct
6762func (c *ServiceCatalog) ProvisionProduct(input *ProvisionProductInput) (*ProvisionProductOutput, error) {
6763	req, out := c.ProvisionProductRequest(input)
6764	return out, req.Send()
6765}
6766
6767// ProvisionProductWithContext is the same as ProvisionProduct with the addition of
6768// the ability to pass a context and additional request options.
6769//
6770// See ProvisionProduct for details on how to use this API operation.
6771//
6772// The context must be non-nil and will be used for request cancellation. If
6773// the context is nil a panic will occur. In the future the SDK may create
6774// sub-contexts for http.Requests. See https://golang.org/pkg/context/
6775// for more information on using Contexts.
6776func (c *ServiceCatalog) ProvisionProductWithContext(ctx aws.Context, input *ProvisionProductInput, opts ...request.Option) (*ProvisionProductOutput, error) {
6777	req, out := c.ProvisionProductRequest(input)
6778	req.SetContext(ctx)
6779	req.ApplyOptions(opts...)
6780	return out, req.Send()
6781}
6782
6783const opRejectPortfolioShare = "RejectPortfolioShare"
6784
6785// RejectPortfolioShareRequest generates a "aws/request.Request" representing the
6786// client's request for the RejectPortfolioShare operation. The "output" return
6787// value will be populated with the request's response once the request completes
6788// successfully.
6789//
6790// Use "Send" method on the returned Request to send the API call to the service.
6791// the "output" return value is not valid until after Send returns without error.
6792//
6793// See RejectPortfolioShare for more information on using the RejectPortfolioShare
6794// API call, and error handling.
6795//
6796// This method is useful when you want to inject custom logic or configuration
6797// into the SDK's request lifecycle. Such as custom headers, or retry logic.
6798//
6799//
6800//    // Example sending a request using the RejectPortfolioShareRequest method.
6801//    req, resp := client.RejectPortfolioShareRequest(params)
6802//
6803//    err := req.Send()
6804//    if err == nil { // resp is now filled
6805//        fmt.Println(resp)
6806//    }
6807//
6808// See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/RejectPortfolioShare
6809func (c *ServiceCatalog) RejectPortfolioShareRequest(input *RejectPortfolioShareInput) (req *request.Request, output *RejectPortfolioShareOutput) {
6810	op := &request.Operation{
6811		Name:       opRejectPortfolioShare,
6812		HTTPMethod: "POST",
6813		HTTPPath:   "/",
6814	}
6815
6816	if input == nil {
6817		input = &RejectPortfolioShareInput{}
6818	}
6819
6820	output = &RejectPortfolioShareOutput{}
6821	req = c.newRequest(op, input, output)
6822	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
6823	return
6824}
6825
6826// RejectPortfolioShare API operation for AWS Service Catalog.
6827//
6828// Rejects an offer to share the specified portfolio.
6829//
6830// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
6831// with awserr.Error's Code and Message methods to get detailed information about
6832// the error.
6833//
6834// See the AWS API reference guide for AWS Service Catalog's
6835// API operation RejectPortfolioShare for usage and error information.
6836//
6837// Returned Error Types:
6838//   * ResourceNotFoundException
6839//   The specified resource was not found.
6840//
6841// See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/RejectPortfolioShare
6842func (c *ServiceCatalog) RejectPortfolioShare(input *RejectPortfolioShareInput) (*RejectPortfolioShareOutput, error) {
6843	req, out := c.RejectPortfolioShareRequest(input)
6844	return out, req.Send()
6845}
6846
6847// RejectPortfolioShareWithContext is the same as RejectPortfolioShare with the addition of
6848// the ability to pass a context and additional request options.
6849//
6850// See RejectPortfolioShare for details on how to use this API operation.
6851//
6852// The context must be non-nil and will be used for request cancellation. If
6853// the context is nil a panic will occur. In the future the SDK may create
6854// sub-contexts for http.Requests. See https://golang.org/pkg/context/
6855// for more information on using Contexts.
6856func (c *ServiceCatalog) RejectPortfolioShareWithContext(ctx aws.Context, input *RejectPortfolioShareInput, opts ...request.Option) (*RejectPortfolioShareOutput, error) {
6857	req, out := c.RejectPortfolioShareRequest(input)
6858	req.SetContext(ctx)
6859	req.ApplyOptions(opts...)
6860	return out, req.Send()
6861}
6862
6863const opScanProvisionedProducts = "ScanProvisionedProducts"
6864
6865// ScanProvisionedProductsRequest generates a "aws/request.Request" representing the
6866// client's request for the ScanProvisionedProducts operation. The "output" return
6867// value will be populated with the request's response once the request completes
6868// successfully.
6869//
6870// Use "Send" method on the returned Request to send the API call to the service.
6871// the "output" return value is not valid until after Send returns without error.
6872//
6873// See ScanProvisionedProducts for more information on using the ScanProvisionedProducts
6874// API call, and error handling.
6875//
6876// This method is useful when you want to inject custom logic or configuration
6877// into the SDK's request lifecycle. Such as custom headers, or retry logic.
6878//
6879//
6880//    // Example sending a request using the ScanProvisionedProductsRequest method.
6881//    req, resp := client.ScanProvisionedProductsRequest(params)
6882//
6883//    err := req.Send()
6884//    if err == nil { // resp is now filled
6885//        fmt.Println(resp)
6886//    }
6887//
6888// See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/ScanProvisionedProducts
6889func (c *ServiceCatalog) ScanProvisionedProductsRequest(input *ScanProvisionedProductsInput) (req *request.Request, output *ScanProvisionedProductsOutput) {
6890	op := &request.Operation{
6891		Name:       opScanProvisionedProducts,
6892		HTTPMethod: "POST",
6893		HTTPPath:   "/",
6894	}
6895
6896	if input == nil {
6897		input = &ScanProvisionedProductsInput{}
6898	}
6899
6900	output = &ScanProvisionedProductsOutput{}
6901	req = c.newRequest(op, input, output)
6902	return
6903}
6904
6905// ScanProvisionedProducts API operation for AWS Service Catalog.
6906//
6907// Lists the provisioned products that are available (not terminated).
6908//
6909// To use additional filtering, see SearchProvisionedProducts.
6910//
6911// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
6912// with awserr.Error's Code and Message methods to get detailed information about
6913// the error.
6914//
6915// See the AWS API reference guide for AWS Service Catalog's
6916// API operation ScanProvisionedProducts for usage and error information.
6917//
6918// Returned Error Types:
6919//   * InvalidParametersException
6920//   One or more parameters provided to the operation are not valid.
6921//
6922// See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/ScanProvisionedProducts
6923func (c *ServiceCatalog) ScanProvisionedProducts(input *ScanProvisionedProductsInput) (*ScanProvisionedProductsOutput, error) {
6924	req, out := c.ScanProvisionedProductsRequest(input)
6925	return out, req.Send()
6926}
6927
6928// ScanProvisionedProductsWithContext is the same as ScanProvisionedProducts with the addition of
6929// the ability to pass a context and additional request options.
6930//
6931// See ScanProvisionedProducts for details on how to use this API operation.
6932//
6933// The context must be non-nil and will be used for request cancellation. If
6934// the context is nil a panic will occur. In the future the SDK may create
6935// sub-contexts for http.Requests. See https://golang.org/pkg/context/
6936// for more information on using Contexts.
6937func (c *ServiceCatalog) ScanProvisionedProductsWithContext(ctx aws.Context, input *ScanProvisionedProductsInput, opts ...request.Option) (*ScanProvisionedProductsOutput, error) {
6938	req, out := c.ScanProvisionedProductsRequest(input)
6939	req.SetContext(ctx)
6940	req.ApplyOptions(opts...)
6941	return out, req.Send()
6942}
6943
6944const opSearchProducts = "SearchProducts"
6945
6946// SearchProductsRequest generates a "aws/request.Request" representing the
6947// client's request for the SearchProducts operation. The "output" return
6948// value will be populated with the request's response once the request completes
6949// successfully.
6950//
6951// Use "Send" method on the returned Request to send the API call to the service.
6952// the "output" return value is not valid until after Send returns without error.
6953//
6954// See SearchProducts for more information on using the SearchProducts
6955// API call, and error handling.
6956//
6957// This method is useful when you want to inject custom logic or configuration
6958// into the SDK's request lifecycle. Such as custom headers, or retry logic.
6959//
6960//
6961//    // Example sending a request using the SearchProductsRequest method.
6962//    req, resp := client.SearchProductsRequest(params)
6963//
6964//    err := req.Send()
6965//    if err == nil { // resp is now filled
6966//        fmt.Println(resp)
6967//    }
6968//
6969// See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/SearchProducts
6970func (c *ServiceCatalog) SearchProductsRequest(input *SearchProductsInput) (req *request.Request, output *SearchProductsOutput) {
6971	op := &request.Operation{
6972		Name:       opSearchProducts,
6973		HTTPMethod: "POST",
6974		HTTPPath:   "/",
6975		Paginator: &request.Paginator{
6976			InputTokens:     []string{"PageToken"},
6977			OutputTokens:    []string{"NextPageToken"},
6978			LimitToken:      "PageSize",
6979			TruncationToken: "",
6980		},
6981	}
6982
6983	if input == nil {
6984		input = &SearchProductsInput{}
6985	}
6986
6987	output = &SearchProductsOutput{}
6988	req = c.newRequest(op, input, output)
6989	return
6990}
6991
6992// SearchProducts API operation for AWS Service Catalog.
6993//
6994// Gets information about the products to which the caller has access.
6995//
6996// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
6997// with awserr.Error's Code and Message methods to get detailed information about
6998// the error.
6999//
7000// See the AWS API reference guide for AWS Service Catalog's
7001// API operation SearchProducts for usage and error information.
7002//
7003// Returned Error Types:
7004//   * InvalidParametersException
7005//   One or more parameters provided to the operation are not valid.
7006//
7007// See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/SearchProducts
7008func (c *ServiceCatalog) SearchProducts(input *SearchProductsInput) (*SearchProductsOutput, error) {
7009	req, out := c.SearchProductsRequest(input)
7010	return out, req.Send()
7011}
7012
7013// SearchProductsWithContext is the same as SearchProducts with the addition of
7014// the ability to pass a context and additional request options.
7015//
7016// See SearchProducts for details on how to use this API operation.
7017//
7018// The context must be non-nil and will be used for request cancellation. If
7019// the context is nil a panic will occur. In the future the SDK may create
7020// sub-contexts for http.Requests. See https://golang.org/pkg/context/
7021// for more information on using Contexts.
7022func (c *ServiceCatalog) SearchProductsWithContext(ctx aws.Context, input *SearchProductsInput, opts ...request.Option) (*SearchProductsOutput, error) {
7023	req, out := c.SearchProductsRequest(input)
7024	req.SetContext(ctx)
7025	req.ApplyOptions(opts...)
7026	return out, req.Send()
7027}
7028
7029// SearchProductsPages iterates over the pages of a SearchProducts operation,
7030// calling the "fn" function with the response data for each page. To stop
7031// iterating, return false from the fn function.
7032//
7033// See SearchProducts method for more information on how to use this operation.
7034//
7035// Note: This operation can generate multiple requests to a service.
7036//
7037//    // Example iterating over at most 3 pages of a SearchProducts operation.
7038//    pageNum := 0
7039//    err := client.SearchProductsPages(params,
7040//        func(page *servicecatalog.SearchProductsOutput, lastPage bool) bool {
7041//            pageNum++
7042//            fmt.Println(page)
7043//            return pageNum <= 3
7044//        })
7045//
7046func (c *ServiceCatalog) SearchProductsPages(input *SearchProductsInput, fn func(*SearchProductsOutput, bool) bool) error {
7047	return c.SearchProductsPagesWithContext(aws.BackgroundContext(), input, fn)
7048}
7049
7050// SearchProductsPagesWithContext same as SearchProductsPages except
7051// it takes a Context and allows setting request options on the pages.
7052//
7053// The context must be non-nil and will be used for request cancellation. If
7054// the context is nil a panic will occur. In the future the SDK may create
7055// sub-contexts for http.Requests. See https://golang.org/pkg/context/
7056// for more information on using Contexts.
7057func (c *ServiceCatalog) SearchProductsPagesWithContext(ctx aws.Context, input *SearchProductsInput, fn func(*SearchProductsOutput, bool) bool, opts ...request.Option) error {
7058	p := request.Pagination{
7059		NewRequest: func() (*request.Request, error) {
7060			var inCpy *SearchProductsInput
7061			if input != nil {
7062				tmp := *input
7063				inCpy = &tmp
7064			}
7065			req, _ := c.SearchProductsRequest(inCpy)
7066			req.SetContext(ctx)
7067			req.ApplyOptions(opts...)
7068			return req, nil
7069		},
7070	}
7071
7072	for p.Next() {
7073		if !fn(p.Page().(*SearchProductsOutput), !p.HasNextPage()) {
7074			break
7075		}
7076	}
7077
7078	return p.Err()
7079}
7080
7081const opSearchProductsAsAdmin = "SearchProductsAsAdmin"
7082
7083// SearchProductsAsAdminRequest generates a "aws/request.Request" representing the
7084// client's request for the SearchProductsAsAdmin operation. The "output" return
7085// value will be populated with the request's response once the request completes
7086// successfully.
7087//
7088// Use "Send" method on the returned Request to send the API call to the service.
7089// the "output" return value is not valid until after Send returns without error.
7090//
7091// See SearchProductsAsAdmin for more information on using the SearchProductsAsAdmin
7092// API call, and error handling.
7093//
7094// This method is useful when you want to inject custom logic or configuration
7095// into the SDK's request lifecycle. Such as custom headers, or retry logic.
7096//
7097//
7098//    // Example sending a request using the SearchProductsAsAdminRequest method.
7099//    req, resp := client.SearchProductsAsAdminRequest(params)
7100//
7101//    err := req.Send()
7102//    if err == nil { // resp is now filled
7103//        fmt.Println(resp)
7104//    }
7105//
7106// See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/SearchProductsAsAdmin
7107func (c *ServiceCatalog) SearchProductsAsAdminRequest(input *SearchProductsAsAdminInput) (req *request.Request, output *SearchProductsAsAdminOutput) {
7108	op := &request.Operation{
7109		Name:       opSearchProductsAsAdmin,
7110		HTTPMethod: "POST",
7111		HTTPPath:   "/",
7112		Paginator: &request.Paginator{
7113			InputTokens:     []string{"PageToken"},
7114			OutputTokens:    []string{"NextPageToken"},
7115			LimitToken:      "PageSize",
7116			TruncationToken: "",
7117		},
7118	}
7119
7120	if input == nil {
7121		input = &SearchProductsAsAdminInput{}
7122	}
7123
7124	output = &SearchProductsAsAdminOutput{}
7125	req = c.newRequest(op, input, output)
7126	return
7127}
7128
7129// SearchProductsAsAdmin API operation for AWS Service Catalog.
7130//
7131// Gets information about the products for the specified portfolio or all products.
7132//
7133// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
7134// with awserr.Error's Code and Message methods to get detailed information about
7135// the error.
7136//
7137// See the AWS API reference guide for AWS Service Catalog's
7138// API operation SearchProductsAsAdmin for usage and error information.
7139//
7140// Returned Error Types:
7141//   * ResourceNotFoundException
7142//   The specified resource was not found.
7143//
7144//   * InvalidParametersException
7145//   One or more parameters provided to the operation are not valid.
7146//
7147// See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/SearchProductsAsAdmin
7148func (c *ServiceCatalog) SearchProductsAsAdmin(input *SearchProductsAsAdminInput) (*SearchProductsAsAdminOutput, error) {
7149	req, out := c.SearchProductsAsAdminRequest(input)
7150	return out, req.Send()
7151}
7152
7153// SearchProductsAsAdminWithContext is the same as SearchProductsAsAdmin with the addition of
7154// the ability to pass a context and additional request options.
7155//
7156// See SearchProductsAsAdmin for details on how to use this API operation.
7157//
7158// The context must be non-nil and will be used for request cancellation. If
7159// the context is nil a panic will occur. In the future the SDK may create
7160// sub-contexts for http.Requests. See https://golang.org/pkg/context/
7161// for more information on using Contexts.
7162func (c *ServiceCatalog) SearchProductsAsAdminWithContext(ctx aws.Context, input *SearchProductsAsAdminInput, opts ...request.Option) (*SearchProductsAsAdminOutput, error) {
7163	req, out := c.SearchProductsAsAdminRequest(input)
7164	req.SetContext(ctx)
7165	req.ApplyOptions(opts...)
7166	return out, req.Send()
7167}
7168
7169// SearchProductsAsAdminPages iterates over the pages of a SearchProductsAsAdmin operation,
7170// calling the "fn" function with the response data for each page. To stop
7171// iterating, return false from the fn function.
7172//
7173// See SearchProductsAsAdmin method for more information on how to use this operation.
7174//
7175// Note: This operation can generate multiple requests to a service.
7176//
7177//    // Example iterating over at most 3 pages of a SearchProductsAsAdmin operation.
7178//    pageNum := 0
7179//    err := client.SearchProductsAsAdminPages(params,
7180//        func(page *servicecatalog.SearchProductsAsAdminOutput, lastPage bool) bool {
7181//            pageNum++
7182//            fmt.Println(page)
7183//            return pageNum <= 3
7184//        })
7185//
7186func (c *ServiceCatalog) SearchProductsAsAdminPages(input *SearchProductsAsAdminInput, fn func(*SearchProductsAsAdminOutput, bool) bool) error {
7187	return c.SearchProductsAsAdminPagesWithContext(aws.BackgroundContext(), input, fn)
7188}
7189
7190// SearchProductsAsAdminPagesWithContext same as SearchProductsAsAdminPages except
7191// it takes a Context and allows setting request options on the pages.
7192//
7193// The context must be non-nil and will be used for request cancellation. If
7194// the context is nil a panic will occur. In the future the SDK may create
7195// sub-contexts for http.Requests. See https://golang.org/pkg/context/
7196// for more information on using Contexts.
7197func (c *ServiceCatalog) SearchProductsAsAdminPagesWithContext(ctx aws.Context, input *SearchProductsAsAdminInput, fn func(*SearchProductsAsAdminOutput, bool) bool, opts ...request.Option) error {
7198	p := request.Pagination{
7199		NewRequest: func() (*request.Request, error) {
7200			var inCpy *SearchProductsAsAdminInput
7201			if input != nil {
7202				tmp := *input
7203				inCpy = &tmp
7204			}
7205			req, _ := c.SearchProductsAsAdminRequest(inCpy)
7206			req.SetContext(ctx)
7207			req.ApplyOptions(opts...)
7208			return req, nil
7209		},
7210	}
7211
7212	for p.Next() {
7213		if !fn(p.Page().(*SearchProductsAsAdminOutput), !p.HasNextPage()) {
7214			break
7215		}
7216	}
7217
7218	return p.Err()
7219}
7220
7221const opSearchProvisionedProducts = "SearchProvisionedProducts"
7222
7223// SearchProvisionedProductsRequest generates a "aws/request.Request" representing the
7224// client's request for the SearchProvisionedProducts operation. The "output" return
7225// value will be populated with the request's response once the request completes
7226// successfully.
7227//
7228// Use "Send" method on the returned Request to send the API call to the service.
7229// the "output" return value is not valid until after Send returns without error.
7230//
7231// See SearchProvisionedProducts for more information on using the SearchProvisionedProducts
7232// API call, and error handling.
7233//
7234// This method is useful when you want to inject custom logic or configuration
7235// into the SDK's request lifecycle. Such as custom headers, or retry logic.
7236//
7237//
7238//    // Example sending a request using the SearchProvisionedProductsRequest method.
7239//    req, resp := client.SearchProvisionedProductsRequest(params)
7240//
7241//    err := req.Send()
7242//    if err == nil { // resp is now filled
7243//        fmt.Println(resp)
7244//    }
7245//
7246// See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/SearchProvisionedProducts
7247func (c *ServiceCatalog) SearchProvisionedProductsRequest(input *SearchProvisionedProductsInput) (req *request.Request, output *SearchProvisionedProductsOutput) {
7248	op := &request.Operation{
7249		Name:       opSearchProvisionedProducts,
7250		HTTPMethod: "POST",
7251		HTTPPath:   "/",
7252		Paginator: &request.Paginator{
7253			InputTokens:     []string{"PageToken"},
7254			OutputTokens:    []string{"NextPageToken"},
7255			LimitToken:      "PageSize",
7256			TruncationToken: "",
7257		},
7258	}
7259
7260	if input == nil {
7261		input = &SearchProvisionedProductsInput{}
7262	}
7263
7264	output = &SearchProvisionedProductsOutput{}
7265	req = c.newRequest(op, input, output)
7266	return
7267}
7268
7269// SearchProvisionedProducts API operation for AWS Service Catalog.
7270//
7271// Gets information about the provisioned products that meet the specified criteria.
7272//
7273// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
7274// with awserr.Error's Code and Message methods to get detailed information about
7275// the error.
7276//
7277// See the AWS API reference guide for AWS Service Catalog's
7278// API operation SearchProvisionedProducts for usage and error information.
7279//
7280// Returned Error Types:
7281//   * InvalidParametersException
7282//   One or more parameters provided to the operation are not valid.
7283//
7284// See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/SearchProvisionedProducts
7285func (c *ServiceCatalog) SearchProvisionedProducts(input *SearchProvisionedProductsInput) (*SearchProvisionedProductsOutput, error) {
7286	req, out := c.SearchProvisionedProductsRequest(input)
7287	return out, req.Send()
7288}
7289
7290// SearchProvisionedProductsWithContext is the same as SearchProvisionedProducts with the addition of
7291// the ability to pass a context and additional request options.
7292//
7293// See SearchProvisionedProducts for details on how to use this API operation.
7294//
7295// The context must be non-nil and will be used for request cancellation. If
7296// the context is nil a panic will occur. In the future the SDK may create
7297// sub-contexts for http.Requests. See https://golang.org/pkg/context/
7298// for more information on using Contexts.
7299func (c *ServiceCatalog) SearchProvisionedProductsWithContext(ctx aws.Context, input *SearchProvisionedProductsInput, opts ...request.Option) (*SearchProvisionedProductsOutput, error) {
7300	req, out := c.SearchProvisionedProductsRequest(input)
7301	req.SetContext(ctx)
7302	req.ApplyOptions(opts...)
7303	return out, req.Send()
7304}
7305
7306// SearchProvisionedProductsPages iterates over the pages of a SearchProvisionedProducts operation,
7307// calling the "fn" function with the response data for each page. To stop
7308// iterating, return false from the fn function.
7309//
7310// See SearchProvisionedProducts method for more information on how to use this operation.
7311//
7312// Note: This operation can generate multiple requests to a service.
7313//
7314//    // Example iterating over at most 3 pages of a SearchProvisionedProducts operation.
7315//    pageNum := 0
7316//    err := client.SearchProvisionedProductsPages(params,
7317//        func(page *servicecatalog.SearchProvisionedProductsOutput, lastPage bool) bool {
7318//            pageNum++
7319//            fmt.Println(page)
7320//            return pageNum <= 3
7321//        })
7322//
7323func (c *ServiceCatalog) SearchProvisionedProductsPages(input *SearchProvisionedProductsInput, fn func(*SearchProvisionedProductsOutput, bool) bool) error {
7324	return c.SearchProvisionedProductsPagesWithContext(aws.BackgroundContext(), input, fn)
7325}
7326
7327// SearchProvisionedProductsPagesWithContext same as SearchProvisionedProductsPages except
7328// it takes a Context and allows setting request options on the pages.
7329//
7330// The context must be non-nil and will be used for request cancellation. If
7331// the context is nil a panic will occur. In the future the SDK may create
7332// sub-contexts for http.Requests. See https://golang.org/pkg/context/
7333// for more information on using Contexts.
7334func (c *ServiceCatalog) SearchProvisionedProductsPagesWithContext(ctx aws.Context, input *SearchProvisionedProductsInput, fn func(*SearchProvisionedProductsOutput, bool) bool, opts ...request.Option) error {
7335	p := request.Pagination{
7336		NewRequest: func() (*request.Request, error) {
7337			var inCpy *SearchProvisionedProductsInput
7338			if input != nil {
7339				tmp := *input
7340				inCpy = &tmp
7341			}
7342			req, _ := c.SearchProvisionedProductsRequest(inCpy)
7343			req.SetContext(ctx)
7344			req.ApplyOptions(opts...)
7345			return req, nil
7346		},
7347	}
7348
7349	for p.Next() {
7350		if !fn(p.Page().(*SearchProvisionedProductsOutput), !p.HasNextPage()) {
7351			break
7352		}
7353	}
7354
7355	return p.Err()
7356}
7357
7358const opTerminateProvisionedProduct = "TerminateProvisionedProduct"
7359
7360// TerminateProvisionedProductRequest generates a "aws/request.Request" representing the
7361// client's request for the TerminateProvisionedProduct operation. The "output" return
7362// value will be populated with the request's response once the request completes
7363// successfully.
7364//
7365// Use "Send" method on the returned Request to send the API call to the service.
7366// the "output" return value is not valid until after Send returns without error.
7367//
7368// See TerminateProvisionedProduct for more information on using the TerminateProvisionedProduct
7369// API call, and error handling.
7370//
7371// This method is useful when you want to inject custom logic or configuration
7372// into the SDK's request lifecycle. Such as custom headers, or retry logic.
7373//
7374//
7375//    // Example sending a request using the TerminateProvisionedProductRequest method.
7376//    req, resp := client.TerminateProvisionedProductRequest(params)
7377//
7378//    err := req.Send()
7379//    if err == nil { // resp is now filled
7380//        fmt.Println(resp)
7381//    }
7382//
7383// See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/TerminateProvisionedProduct
7384func (c *ServiceCatalog) TerminateProvisionedProductRequest(input *TerminateProvisionedProductInput) (req *request.Request, output *TerminateProvisionedProductOutput) {
7385	op := &request.Operation{
7386		Name:       opTerminateProvisionedProduct,
7387		HTTPMethod: "POST",
7388		HTTPPath:   "/",
7389	}
7390
7391	if input == nil {
7392		input = &TerminateProvisionedProductInput{}
7393	}
7394
7395	output = &TerminateProvisionedProductOutput{}
7396	req = c.newRequest(op, input, output)
7397	return
7398}
7399
7400// TerminateProvisionedProduct API operation for AWS Service Catalog.
7401//
7402// Terminates the specified provisioned product.
7403//
7404// This operation does not delete any records associated with the provisioned
7405// product.
7406//
7407// You can check the status of this request using DescribeRecord.
7408//
7409// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
7410// with awserr.Error's Code and Message methods to get detailed information about
7411// the error.
7412//
7413// See the AWS API reference guide for AWS Service Catalog's
7414// API operation TerminateProvisionedProduct for usage and error information.
7415//
7416// Returned Error Types:
7417//   * ResourceNotFoundException
7418//   The specified resource was not found.
7419//
7420// See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/TerminateProvisionedProduct
7421func (c *ServiceCatalog) TerminateProvisionedProduct(input *TerminateProvisionedProductInput) (*TerminateProvisionedProductOutput, error) {
7422	req, out := c.TerminateProvisionedProductRequest(input)
7423	return out, req.Send()
7424}
7425
7426// TerminateProvisionedProductWithContext is the same as TerminateProvisionedProduct with the addition of
7427// the ability to pass a context and additional request options.
7428//
7429// See TerminateProvisionedProduct for details on how to use this API operation.
7430//
7431// The context must be non-nil and will be used for request cancellation. If
7432// the context is nil a panic will occur. In the future the SDK may create
7433// sub-contexts for http.Requests. See https://golang.org/pkg/context/
7434// for more information on using Contexts.
7435func (c *ServiceCatalog) TerminateProvisionedProductWithContext(ctx aws.Context, input *TerminateProvisionedProductInput, opts ...request.Option) (*TerminateProvisionedProductOutput, error) {
7436	req, out := c.TerminateProvisionedProductRequest(input)
7437	req.SetContext(ctx)
7438	req.ApplyOptions(opts...)
7439	return out, req.Send()
7440}
7441
7442const opUpdateConstraint = "UpdateConstraint"
7443
7444// UpdateConstraintRequest generates a "aws/request.Request" representing the
7445// client's request for the UpdateConstraint operation. The "output" return
7446// value will be populated with the request's response once the request completes
7447// successfully.
7448//
7449// Use "Send" method on the returned Request to send the API call to the service.
7450// the "output" return value is not valid until after Send returns without error.
7451//
7452// See UpdateConstraint for more information on using the UpdateConstraint
7453// API call, and error handling.
7454//
7455// This method is useful when you want to inject custom logic or configuration
7456// into the SDK's request lifecycle. Such as custom headers, or retry logic.
7457//
7458//
7459//    // Example sending a request using the UpdateConstraintRequest method.
7460//    req, resp := client.UpdateConstraintRequest(params)
7461//
7462//    err := req.Send()
7463//    if err == nil { // resp is now filled
7464//        fmt.Println(resp)
7465//    }
7466//
7467// See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/UpdateConstraint
7468func (c *ServiceCatalog) UpdateConstraintRequest(input *UpdateConstraintInput) (req *request.Request, output *UpdateConstraintOutput) {
7469	op := &request.Operation{
7470		Name:       opUpdateConstraint,
7471		HTTPMethod: "POST",
7472		HTTPPath:   "/",
7473	}
7474
7475	if input == nil {
7476		input = &UpdateConstraintInput{}
7477	}
7478
7479	output = &UpdateConstraintOutput{}
7480	req = c.newRequest(op, input, output)
7481	return
7482}
7483
7484// UpdateConstraint API operation for AWS Service Catalog.
7485//
7486// Updates the specified constraint.
7487//
7488// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
7489// with awserr.Error's Code and Message methods to get detailed information about
7490// the error.
7491//
7492// See the AWS API reference guide for AWS Service Catalog's
7493// API operation UpdateConstraint for usage and error information.
7494//
7495// Returned Error Types:
7496//   * ResourceNotFoundException
7497//   The specified resource was not found.
7498//
7499//   * InvalidParametersException
7500//   One or more parameters provided to the operation are not valid.
7501//
7502// See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/UpdateConstraint
7503func (c *ServiceCatalog) UpdateConstraint(input *UpdateConstraintInput) (*UpdateConstraintOutput, error) {
7504	req, out := c.UpdateConstraintRequest(input)
7505	return out, req.Send()
7506}
7507
7508// UpdateConstraintWithContext is the same as UpdateConstraint with the addition of
7509// the ability to pass a context and additional request options.
7510//
7511// See UpdateConstraint for details on how to use this API operation.
7512//
7513// The context must be non-nil and will be used for request cancellation. If
7514// the context is nil a panic will occur. In the future the SDK may create
7515// sub-contexts for http.Requests. See https://golang.org/pkg/context/
7516// for more information on using Contexts.
7517func (c *ServiceCatalog) UpdateConstraintWithContext(ctx aws.Context, input *UpdateConstraintInput, opts ...request.Option) (*UpdateConstraintOutput, error) {
7518	req, out := c.UpdateConstraintRequest(input)
7519	req.SetContext(ctx)
7520	req.ApplyOptions(opts...)
7521	return out, req.Send()
7522}
7523
7524const opUpdatePortfolio = "UpdatePortfolio"
7525
7526// UpdatePortfolioRequest generates a "aws/request.Request" representing the
7527// client's request for the UpdatePortfolio operation. The "output" return
7528// value will be populated with the request's response once the request completes
7529// successfully.
7530//
7531// Use "Send" method on the returned Request to send the API call to the service.
7532// the "output" return value is not valid until after Send returns without error.
7533//
7534// See UpdatePortfolio for more information on using the UpdatePortfolio
7535// API call, and error handling.
7536//
7537// This method is useful when you want to inject custom logic or configuration
7538// into the SDK's request lifecycle. Such as custom headers, or retry logic.
7539//
7540//
7541//    // Example sending a request using the UpdatePortfolioRequest method.
7542//    req, resp := client.UpdatePortfolioRequest(params)
7543//
7544//    err := req.Send()
7545//    if err == nil { // resp is now filled
7546//        fmt.Println(resp)
7547//    }
7548//
7549// See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/UpdatePortfolio
7550func (c *ServiceCatalog) UpdatePortfolioRequest(input *UpdatePortfolioInput) (req *request.Request, output *UpdatePortfolioOutput) {
7551	op := &request.Operation{
7552		Name:       opUpdatePortfolio,
7553		HTTPMethod: "POST",
7554		HTTPPath:   "/",
7555	}
7556
7557	if input == nil {
7558		input = &UpdatePortfolioInput{}
7559	}
7560
7561	output = &UpdatePortfolioOutput{}
7562	req = c.newRequest(op, input, output)
7563	return
7564}
7565
7566// UpdatePortfolio API operation for AWS Service Catalog.
7567//
7568// Updates the specified portfolio.
7569//
7570// You cannot update a product that was shared with you.
7571//
7572// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
7573// with awserr.Error's Code and Message methods to get detailed information about
7574// the error.
7575//
7576// See the AWS API reference guide for AWS Service Catalog's
7577// API operation UpdatePortfolio for usage and error information.
7578//
7579// Returned Error Types:
7580//   * InvalidParametersException
7581//   One or more parameters provided to the operation are not valid.
7582//
7583//   * ResourceNotFoundException
7584//   The specified resource was not found.
7585//
7586//   * LimitExceededException
7587//   The current limits of the service would have been exceeded by this operation.
7588//   Decrease your resource use or increase your service limits and retry the
7589//   operation.
7590//
7591//   * TagOptionNotMigratedException
7592//   An operation requiring TagOptions failed because the TagOptions migration
7593//   process has not been performed for this account. Please use the AWS console
7594//   to perform the migration process before retrying the operation.
7595//
7596// See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/UpdatePortfolio
7597func (c *ServiceCatalog) UpdatePortfolio(input *UpdatePortfolioInput) (*UpdatePortfolioOutput, error) {
7598	req, out := c.UpdatePortfolioRequest(input)
7599	return out, req.Send()
7600}
7601
7602// UpdatePortfolioWithContext is the same as UpdatePortfolio with the addition of
7603// the ability to pass a context and additional request options.
7604//
7605// See UpdatePortfolio for details on how to use this API operation.
7606//
7607// The context must be non-nil and will be used for request cancellation. If
7608// the context is nil a panic will occur. In the future the SDK may create
7609// sub-contexts for http.Requests. See https://golang.org/pkg/context/
7610// for more information on using Contexts.
7611func (c *ServiceCatalog) UpdatePortfolioWithContext(ctx aws.Context, input *UpdatePortfolioInput, opts ...request.Option) (*UpdatePortfolioOutput, error) {
7612	req, out := c.UpdatePortfolioRequest(input)
7613	req.SetContext(ctx)
7614	req.ApplyOptions(opts...)
7615	return out, req.Send()
7616}
7617
7618const opUpdateProduct = "UpdateProduct"
7619
7620// UpdateProductRequest generates a "aws/request.Request" representing the
7621// client's request for the UpdateProduct operation. The "output" return
7622// value will be populated with the request's response once the request completes
7623// successfully.
7624//
7625// Use "Send" method on the returned Request to send the API call to the service.
7626// the "output" return value is not valid until after Send returns without error.
7627//
7628// See UpdateProduct for more information on using the UpdateProduct
7629// API call, and error handling.
7630//
7631// This method is useful when you want to inject custom logic or configuration
7632// into the SDK's request lifecycle. Such as custom headers, or retry logic.
7633//
7634//
7635//    // Example sending a request using the UpdateProductRequest method.
7636//    req, resp := client.UpdateProductRequest(params)
7637//
7638//    err := req.Send()
7639//    if err == nil { // resp is now filled
7640//        fmt.Println(resp)
7641//    }
7642//
7643// See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/UpdateProduct
7644func (c *ServiceCatalog) UpdateProductRequest(input *UpdateProductInput) (req *request.Request, output *UpdateProductOutput) {
7645	op := &request.Operation{
7646		Name:       opUpdateProduct,
7647		HTTPMethod: "POST",
7648		HTTPPath:   "/",
7649	}
7650
7651	if input == nil {
7652		input = &UpdateProductInput{}
7653	}
7654
7655	output = &UpdateProductOutput{}
7656	req = c.newRequest(op, input, output)
7657	return
7658}
7659
7660// UpdateProduct API operation for AWS Service Catalog.
7661//
7662// Updates the specified product.
7663//
7664// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
7665// with awserr.Error's Code and Message methods to get detailed information about
7666// the error.
7667//
7668// See the AWS API reference guide for AWS Service Catalog's
7669// API operation UpdateProduct for usage and error information.
7670//
7671// Returned Error Types:
7672//   * ResourceNotFoundException
7673//   The specified resource was not found.
7674//
7675//   * InvalidParametersException
7676//   One or more parameters provided to the operation are not valid.
7677//
7678//   * TagOptionNotMigratedException
7679//   An operation requiring TagOptions failed because the TagOptions migration
7680//   process has not been performed for this account. Please use the AWS console
7681//   to perform the migration process before retrying the operation.
7682//
7683// See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/UpdateProduct
7684func (c *ServiceCatalog) UpdateProduct(input *UpdateProductInput) (*UpdateProductOutput, error) {
7685	req, out := c.UpdateProductRequest(input)
7686	return out, req.Send()
7687}
7688
7689// UpdateProductWithContext is the same as UpdateProduct with the addition of
7690// the ability to pass a context and additional request options.
7691//
7692// See UpdateProduct for details on how to use this API operation.
7693//
7694// The context must be non-nil and will be used for request cancellation. If
7695// the context is nil a panic will occur. In the future the SDK may create
7696// sub-contexts for http.Requests. See https://golang.org/pkg/context/
7697// for more information on using Contexts.
7698func (c *ServiceCatalog) UpdateProductWithContext(ctx aws.Context, input *UpdateProductInput, opts ...request.Option) (*UpdateProductOutput, error) {
7699	req, out := c.UpdateProductRequest(input)
7700	req.SetContext(ctx)
7701	req.ApplyOptions(opts...)
7702	return out, req.Send()
7703}
7704
7705const opUpdateProvisionedProduct = "UpdateProvisionedProduct"
7706
7707// UpdateProvisionedProductRequest generates a "aws/request.Request" representing the
7708// client's request for the UpdateProvisionedProduct operation. The "output" return
7709// value will be populated with the request's response once the request completes
7710// successfully.
7711//
7712// Use "Send" method on the returned Request to send the API call to the service.
7713// the "output" return value is not valid until after Send returns without error.
7714//
7715// See UpdateProvisionedProduct for more information on using the UpdateProvisionedProduct
7716// API call, and error handling.
7717//
7718// This method is useful when you want to inject custom logic or configuration
7719// into the SDK's request lifecycle. Such as custom headers, or retry logic.
7720//
7721//
7722//    // Example sending a request using the UpdateProvisionedProductRequest method.
7723//    req, resp := client.UpdateProvisionedProductRequest(params)
7724//
7725//    err := req.Send()
7726//    if err == nil { // resp is now filled
7727//        fmt.Println(resp)
7728//    }
7729//
7730// See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/UpdateProvisionedProduct
7731func (c *ServiceCatalog) UpdateProvisionedProductRequest(input *UpdateProvisionedProductInput) (req *request.Request, output *UpdateProvisionedProductOutput) {
7732	op := &request.Operation{
7733		Name:       opUpdateProvisionedProduct,
7734		HTTPMethod: "POST",
7735		HTTPPath:   "/",
7736	}
7737
7738	if input == nil {
7739		input = &UpdateProvisionedProductInput{}
7740	}
7741
7742	output = &UpdateProvisionedProductOutput{}
7743	req = c.newRequest(op, input, output)
7744	return
7745}
7746
7747// UpdateProvisionedProduct API operation for AWS Service Catalog.
7748//
7749// Requests updates to the configuration of the specified provisioned product.
7750//
7751// If there are tags associated with the object, they cannot be updated or added.
7752// Depending on the specific updates requested, this operation can update with
7753// no interruption, with some interruption, or replace the provisioned product
7754// entirely.
7755//
7756// You can check the status of this request using DescribeRecord.
7757//
7758// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
7759// with awserr.Error's Code and Message methods to get detailed information about
7760// the error.
7761//
7762// See the AWS API reference guide for AWS Service Catalog's
7763// API operation UpdateProvisionedProduct for usage and error information.
7764//
7765// Returned Error Types:
7766//   * InvalidParametersException
7767//   One or more parameters provided to the operation are not valid.
7768//
7769//   * ResourceNotFoundException
7770//   The specified resource was not found.
7771//
7772// See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/UpdateProvisionedProduct
7773func (c *ServiceCatalog) UpdateProvisionedProduct(input *UpdateProvisionedProductInput) (*UpdateProvisionedProductOutput, error) {
7774	req, out := c.UpdateProvisionedProductRequest(input)
7775	return out, req.Send()
7776}
7777
7778// UpdateProvisionedProductWithContext is the same as UpdateProvisionedProduct with the addition of
7779// the ability to pass a context and additional request options.
7780//
7781// See UpdateProvisionedProduct for details on how to use this API operation.
7782//
7783// The context must be non-nil and will be used for request cancellation. If
7784// the context is nil a panic will occur. In the future the SDK may create
7785// sub-contexts for http.Requests. See https://golang.org/pkg/context/
7786// for more information on using Contexts.
7787func (c *ServiceCatalog) UpdateProvisionedProductWithContext(ctx aws.Context, input *UpdateProvisionedProductInput, opts ...request.Option) (*UpdateProvisionedProductOutput, error) {
7788	req, out := c.UpdateProvisionedProductRequest(input)
7789	req.SetContext(ctx)
7790	req.ApplyOptions(opts...)
7791	return out, req.Send()
7792}
7793
7794const opUpdateProvisionedProductProperties = "UpdateProvisionedProductProperties"
7795
7796// UpdateProvisionedProductPropertiesRequest generates a "aws/request.Request" representing the
7797// client's request for the UpdateProvisionedProductProperties operation. The "output" return
7798// value will be populated with the request's response once the request completes
7799// successfully.
7800//
7801// Use "Send" method on the returned Request to send the API call to the service.
7802// the "output" return value is not valid until after Send returns without error.
7803//
7804// See UpdateProvisionedProductProperties for more information on using the UpdateProvisionedProductProperties
7805// API call, and error handling.
7806//
7807// This method is useful when you want to inject custom logic or configuration
7808// into the SDK's request lifecycle. Such as custom headers, or retry logic.
7809//
7810//
7811//    // Example sending a request using the UpdateProvisionedProductPropertiesRequest method.
7812//    req, resp := client.UpdateProvisionedProductPropertiesRequest(params)
7813//
7814//    err := req.Send()
7815//    if err == nil { // resp is now filled
7816//        fmt.Println(resp)
7817//    }
7818//
7819// See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/UpdateProvisionedProductProperties
7820func (c *ServiceCatalog) UpdateProvisionedProductPropertiesRequest(input *UpdateProvisionedProductPropertiesInput) (req *request.Request, output *UpdateProvisionedProductPropertiesOutput) {
7821	op := &request.Operation{
7822		Name:       opUpdateProvisionedProductProperties,
7823		HTTPMethod: "POST",
7824		HTTPPath:   "/",
7825	}
7826
7827	if input == nil {
7828		input = &UpdateProvisionedProductPropertiesInput{}
7829	}
7830
7831	output = &UpdateProvisionedProductPropertiesOutput{}
7832	req = c.newRequest(op, input, output)
7833	return
7834}
7835
7836// UpdateProvisionedProductProperties API operation for AWS Service Catalog.
7837//
7838// Requests updates to the properties of the specified provisioned product.
7839//
7840// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
7841// with awserr.Error's Code and Message methods to get detailed information about
7842// the error.
7843//
7844// See the AWS API reference guide for AWS Service Catalog's
7845// API operation UpdateProvisionedProductProperties for usage and error information.
7846//
7847// Returned Error Types:
7848//   * InvalidParametersException
7849//   One or more parameters provided to the operation are not valid.
7850//
7851//   * ResourceNotFoundException
7852//   The specified resource was not found.
7853//
7854//   * InvalidStateException
7855//   An attempt was made to modify a resource that is in a state that is not valid.
7856//   Check your resources to ensure that they are in valid states before retrying
7857//   the operation.
7858//
7859// See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/UpdateProvisionedProductProperties
7860func (c *ServiceCatalog) UpdateProvisionedProductProperties(input *UpdateProvisionedProductPropertiesInput) (*UpdateProvisionedProductPropertiesOutput, error) {
7861	req, out := c.UpdateProvisionedProductPropertiesRequest(input)
7862	return out, req.Send()
7863}
7864
7865// UpdateProvisionedProductPropertiesWithContext is the same as UpdateProvisionedProductProperties with the addition of
7866// the ability to pass a context and additional request options.
7867//
7868// See UpdateProvisionedProductProperties for details on how to use this API operation.
7869//
7870// The context must be non-nil and will be used for request cancellation. If
7871// the context is nil a panic will occur. In the future the SDK may create
7872// sub-contexts for http.Requests. See https://golang.org/pkg/context/
7873// for more information on using Contexts.
7874func (c *ServiceCatalog) UpdateProvisionedProductPropertiesWithContext(ctx aws.Context, input *UpdateProvisionedProductPropertiesInput, opts ...request.Option) (*UpdateProvisionedProductPropertiesOutput, error) {
7875	req, out := c.UpdateProvisionedProductPropertiesRequest(input)
7876	req.SetContext(ctx)
7877	req.ApplyOptions(opts...)
7878	return out, req.Send()
7879}
7880
7881const opUpdateProvisioningArtifact = "UpdateProvisioningArtifact"
7882
7883// UpdateProvisioningArtifactRequest generates a "aws/request.Request" representing the
7884// client's request for the UpdateProvisioningArtifact operation. The "output" return
7885// value will be populated with the request's response once the request completes
7886// successfully.
7887//
7888// Use "Send" method on the returned Request to send the API call to the service.
7889// the "output" return value is not valid until after Send returns without error.
7890//
7891// See UpdateProvisioningArtifact for more information on using the UpdateProvisioningArtifact
7892// API call, and error handling.
7893//
7894// This method is useful when you want to inject custom logic or configuration
7895// into the SDK's request lifecycle. Such as custom headers, or retry logic.
7896//
7897//
7898//    // Example sending a request using the UpdateProvisioningArtifactRequest method.
7899//    req, resp := client.UpdateProvisioningArtifactRequest(params)
7900//
7901//    err := req.Send()
7902//    if err == nil { // resp is now filled
7903//        fmt.Println(resp)
7904//    }
7905//
7906// See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/UpdateProvisioningArtifact
7907func (c *ServiceCatalog) UpdateProvisioningArtifactRequest(input *UpdateProvisioningArtifactInput) (req *request.Request, output *UpdateProvisioningArtifactOutput) {
7908	op := &request.Operation{
7909		Name:       opUpdateProvisioningArtifact,
7910		HTTPMethod: "POST",
7911		HTTPPath:   "/",
7912	}
7913
7914	if input == nil {
7915		input = &UpdateProvisioningArtifactInput{}
7916	}
7917
7918	output = &UpdateProvisioningArtifactOutput{}
7919	req = c.newRequest(op, input, output)
7920	return
7921}
7922
7923// UpdateProvisioningArtifact API operation for AWS Service Catalog.
7924//
7925// Updates the specified provisioning artifact (also known as a version) for
7926// the specified product.
7927//
7928// You cannot update a provisioning artifact for a product that was shared with
7929// you.
7930//
7931// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
7932// with awserr.Error's Code and Message methods to get detailed information about
7933// the error.
7934//
7935// See the AWS API reference guide for AWS Service Catalog's
7936// API operation UpdateProvisioningArtifact for usage and error information.
7937//
7938// Returned Error Types:
7939//   * ResourceNotFoundException
7940//   The specified resource was not found.
7941//
7942//   * InvalidParametersException
7943//   One or more parameters provided to the operation are not valid.
7944//
7945// See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/UpdateProvisioningArtifact
7946func (c *ServiceCatalog) UpdateProvisioningArtifact(input *UpdateProvisioningArtifactInput) (*UpdateProvisioningArtifactOutput, error) {
7947	req, out := c.UpdateProvisioningArtifactRequest(input)
7948	return out, req.Send()
7949}
7950
7951// UpdateProvisioningArtifactWithContext is the same as UpdateProvisioningArtifact with the addition of
7952// the ability to pass a context and additional request options.
7953//
7954// See UpdateProvisioningArtifact for details on how to use this API operation.
7955//
7956// The context must be non-nil and will be used for request cancellation. If
7957// the context is nil a panic will occur. In the future the SDK may create
7958// sub-contexts for http.Requests. See https://golang.org/pkg/context/
7959// for more information on using Contexts.
7960func (c *ServiceCatalog) UpdateProvisioningArtifactWithContext(ctx aws.Context, input *UpdateProvisioningArtifactInput, opts ...request.Option) (*UpdateProvisioningArtifactOutput, error) {
7961	req, out := c.UpdateProvisioningArtifactRequest(input)
7962	req.SetContext(ctx)
7963	req.ApplyOptions(opts...)
7964	return out, req.Send()
7965}
7966
7967const opUpdateServiceAction = "UpdateServiceAction"
7968
7969// UpdateServiceActionRequest generates a "aws/request.Request" representing the
7970// client's request for the UpdateServiceAction operation. The "output" return
7971// value will be populated with the request's response once the request completes
7972// successfully.
7973//
7974// Use "Send" method on the returned Request to send the API call to the service.
7975// the "output" return value is not valid until after Send returns without error.
7976//
7977// See UpdateServiceAction for more information on using the UpdateServiceAction
7978// API call, and error handling.
7979//
7980// This method is useful when you want to inject custom logic or configuration
7981// into the SDK's request lifecycle. Such as custom headers, or retry logic.
7982//
7983//
7984//    // Example sending a request using the UpdateServiceActionRequest method.
7985//    req, resp := client.UpdateServiceActionRequest(params)
7986//
7987//    err := req.Send()
7988//    if err == nil { // resp is now filled
7989//        fmt.Println(resp)
7990//    }
7991//
7992// See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/UpdateServiceAction
7993func (c *ServiceCatalog) UpdateServiceActionRequest(input *UpdateServiceActionInput) (req *request.Request, output *UpdateServiceActionOutput) {
7994	op := &request.Operation{
7995		Name:       opUpdateServiceAction,
7996		HTTPMethod: "POST",
7997		HTTPPath:   "/",
7998	}
7999
8000	if input == nil {
8001		input = &UpdateServiceActionInput{}
8002	}
8003
8004	output = &UpdateServiceActionOutput{}
8005	req = c.newRequest(op, input, output)
8006	return
8007}
8008
8009// UpdateServiceAction API operation for AWS Service Catalog.
8010//
8011// Updates a self-service action.
8012//
8013// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
8014// with awserr.Error's Code and Message methods to get detailed information about
8015// the error.
8016//
8017// See the AWS API reference guide for AWS Service Catalog's
8018// API operation UpdateServiceAction for usage and error information.
8019//
8020// Returned Error Types:
8021//   * ResourceNotFoundException
8022//   The specified resource was not found.
8023//
8024//   * InvalidParametersException
8025//   One or more parameters provided to the operation are not valid.
8026//
8027// See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/UpdateServiceAction
8028func (c *ServiceCatalog) UpdateServiceAction(input *UpdateServiceActionInput) (*UpdateServiceActionOutput, error) {
8029	req, out := c.UpdateServiceActionRequest(input)
8030	return out, req.Send()
8031}
8032
8033// UpdateServiceActionWithContext is the same as UpdateServiceAction with the addition of
8034// the ability to pass a context and additional request options.
8035//
8036// See UpdateServiceAction for details on how to use this API operation.
8037//
8038// The context must be non-nil and will be used for request cancellation. If
8039// the context is nil a panic will occur. In the future the SDK may create
8040// sub-contexts for http.Requests. See https://golang.org/pkg/context/
8041// for more information on using Contexts.
8042func (c *ServiceCatalog) UpdateServiceActionWithContext(ctx aws.Context, input *UpdateServiceActionInput, opts ...request.Option) (*UpdateServiceActionOutput, error) {
8043	req, out := c.UpdateServiceActionRequest(input)
8044	req.SetContext(ctx)
8045	req.ApplyOptions(opts...)
8046	return out, req.Send()
8047}
8048
8049const opUpdateTagOption = "UpdateTagOption"
8050
8051// UpdateTagOptionRequest generates a "aws/request.Request" representing the
8052// client's request for the UpdateTagOption operation. The "output" return
8053// value will be populated with the request's response once the request completes
8054// successfully.
8055//
8056// Use "Send" method on the returned Request to send the API call to the service.
8057// the "output" return value is not valid until after Send returns without error.
8058//
8059// See UpdateTagOption for more information on using the UpdateTagOption
8060// API call, and error handling.
8061//
8062// This method is useful when you want to inject custom logic or configuration
8063// into the SDK's request lifecycle. Such as custom headers, or retry logic.
8064//
8065//
8066//    // Example sending a request using the UpdateTagOptionRequest method.
8067//    req, resp := client.UpdateTagOptionRequest(params)
8068//
8069//    err := req.Send()
8070//    if err == nil { // resp is now filled
8071//        fmt.Println(resp)
8072//    }
8073//
8074// See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/UpdateTagOption
8075func (c *ServiceCatalog) UpdateTagOptionRequest(input *UpdateTagOptionInput) (req *request.Request, output *UpdateTagOptionOutput) {
8076	op := &request.Operation{
8077		Name:       opUpdateTagOption,
8078		HTTPMethod: "POST",
8079		HTTPPath:   "/",
8080	}
8081
8082	if input == nil {
8083		input = &UpdateTagOptionInput{}
8084	}
8085
8086	output = &UpdateTagOptionOutput{}
8087	req = c.newRequest(op, input, output)
8088	return
8089}
8090
8091// UpdateTagOption API operation for AWS Service Catalog.
8092//
8093// Updates the specified TagOption.
8094//
8095// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
8096// with awserr.Error's Code and Message methods to get detailed information about
8097// the error.
8098//
8099// See the AWS API reference guide for AWS Service Catalog's
8100// API operation UpdateTagOption for usage and error information.
8101//
8102// Returned Error Types:
8103//   * TagOptionNotMigratedException
8104//   An operation requiring TagOptions failed because the TagOptions migration
8105//   process has not been performed for this account. Please use the AWS console
8106//   to perform the migration process before retrying the operation.
8107//
8108//   * ResourceNotFoundException
8109//   The specified resource was not found.
8110//
8111//   * DuplicateResourceException
8112//   The specified resource is a duplicate.
8113//
8114//   * InvalidParametersException
8115//   One or more parameters provided to the operation are not valid.
8116//
8117// See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/UpdateTagOption
8118func (c *ServiceCatalog) UpdateTagOption(input *UpdateTagOptionInput) (*UpdateTagOptionOutput, error) {
8119	req, out := c.UpdateTagOptionRequest(input)
8120	return out, req.Send()
8121}
8122
8123// UpdateTagOptionWithContext is the same as UpdateTagOption with the addition of
8124// the ability to pass a context and additional request options.
8125//
8126// See UpdateTagOption for details on how to use this API operation.
8127//
8128// The context must be non-nil and will be used for request cancellation. If
8129// the context is nil a panic will occur. In the future the SDK may create
8130// sub-contexts for http.Requests. See https://golang.org/pkg/context/
8131// for more information on using Contexts.
8132func (c *ServiceCatalog) UpdateTagOptionWithContext(ctx aws.Context, input *UpdateTagOptionInput, opts ...request.Option) (*UpdateTagOptionOutput, error) {
8133	req, out := c.UpdateTagOptionRequest(input)
8134	req.SetContext(ctx)
8135	req.ApplyOptions(opts...)
8136	return out, req.Send()
8137}
8138
8139type AcceptPortfolioShareInput struct {
8140	_ struct{} `type:"structure"`
8141
8142	// The language code.
8143	//
8144	//    * en - English (default)
8145	//
8146	//    * jp - Japanese
8147	//
8148	//    * zh - Chinese
8149	AcceptLanguage *string `type:"string"`
8150
8151	// The portfolio identifier.
8152	//
8153	// PortfolioId is a required field
8154	PortfolioId *string `min:"1" type:"string" required:"true"`
8155
8156	// The type of shared portfolios to accept. The default is to accept imported
8157	// portfolios.
8158	//
8159	//    * AWS_ORGANIZATIONS - Accept portfolios shared by the master account of
8160	//    your organization.
8161	//
8162	//    * IMPORTED - Accept imported portfolios.
8163	//
8164	//    * AWS_SERVICECATALOG - Not supported. (Throws ResourceNotFoundException.)
8165	//
8166	// For example, aws servicecatalog accept-portfolio-share --portfolio-id "port-2qwzkwxt3y5fk"
8167	// --portfolio-share-type AWS_ORGANIZATIONS
8168	PortfolioShareType *string `type:"string" enum:"PortfolioShareType"`
8169}
8170
8171// String returns the string representation
8172func (s AcceptPortfolioShareInput) String() string {
8173	return awsutil.Prettify(s)
8174}
8175
8176// GoString returns the string representation
8177func (s AcceptPortfolioShareInput) GoString() string {
8178	return s.String()
8179}
8180
8181// Validate inspects the fields of the type to determine if they are valid.
8182func (s *AcceptPortfolioShareInput) Validate() error {
8183	invalidParams := request.ErrInvalidParams{Context: "AcceptPortfolioShareInput"}
8184	if s.PortfolioId == nil {
8185		invalidParams.Add(request.NewErrParamRequired("PortfolioId"))
8186	}
8187	if s.PortfolioId != nil && len(*s.PortfolioId) < 1 {
8188		invalidParams.Add(request.NewErrParamMinLen("PortfolioId", 1))
8189	}
8190
8191	if invalidParams.Len() > 0 {
8192		return invalidParams
8193	}
8194	return nil
8195}
8196
8197// SetAcceptLanguage sets the AcceptLanguage field's value.
8198func (s *AcceptPortfolioShareInput) SetAcceptLanguage(v string) *AcceptPortfolioShareInput {
8199	s.AcceptLanguage = &v
8200	return s
8201}
8202
8203// SetPortfolioId sets the PortfolioId field's value.
8204func (s *AcceptPortfolioShareInput) SetPortfolioId(v string) *AcceptPortfolioShareInput {
8205	s.PortfolioId = &v
8206	return s
8207}
8208
8209// SetPortfolioShareType sets the PortfolioShareType field's value.
8210func (s *AcceptPortfolioShareInput) SetPortfolioShareType(v string) *AcceptPortfolioShareInput {
8211	s.PortfolioShareType = &v
8212	return s
8213}
8214
8215type AcceptPortfolioShareOutput struct {
8216	_ struct{} `type:"structure"`
8217}
8218
8219// String returns the string representation
8220func (s AcceptPortfolioShareOutput) String() string {
8221	return awsutil.Prettify(s)
8222}
8223
8224// GoString returns the string representation
8225func (s AcceptPortfolioShareOutput) GoString() string {
8226	return s.String()
8227}
8228
8229// The access level to use to filter results.
8230type AccessLevelFilter struct {
8231	_ struct{} `type:"structure"`
8232
8233	// The access level.
8234	//
8235	//    * Account - Filter results based on the account.
8236	//
8237	//    * Role - Filter results based on the federated role of the specified user.
8238	//
8239	//    * User - Filter results based on the specified user.
8240	Key *string `type:"string" enum:"AccessLevelFilterKey"`
8241
8242	// The user to which the access level applies. The only supported value is Self.
8243	Value *string `type:"string"`
8244}
8245
8246// String returns the string representation
8247func (s AccessLevelFilter) String() string {
8248	return awsutil.Prettify(s)
8249}
8250
8251// GoString returns the string representation
8252func (s AccessLevelFilter) GoString() string {
8253	return s.String()
8254}
8255
8256// SetKey sets the Key field's value.
8257func (s *AccessLevelFilter) SetKey(v string) *AccessLevelFilter {
8258	s.Key = &v
8259	return s
8260}
8261
8262// SetValue sets the Value field's value.
8263func (s *AccessLevelFilter) SetValue(v string) *AccessLevelFilter {
8264	s.Value = &v
8265	return s
8266}
8267
8268type AssociateBudgetWithResourceInput struct {
8269	_ struct{} `type:"structure"`
8270
8271	// The name of the budget you want to associate.
8272	//
8273	// BudgetName is a required field
8274	BudgetName *string `min:"1" type:"string" required:"true"`
8275
8276	// The resource identifier. Either a portfolio-id or a product-id.
8277	//
8278	// ResourceId is a required field
8279	ResourceId *string `min:"1" type:"string" required:"true"`
8280}
8281
8282// String returns the string representation
8283func (s AssociateBudgetWithResourceInput) String() string {
8284	return awsutil.Prettify(s)
8285}
8286
8287// GoString returns the string representation
8288func (s AssociateBudgetWithResourceInput) GoString() string {
8289	return s.String()
8290}
8291
8292// Validate inspects the fields of the type to determine if they are valid.
8293func (s *AssociateBudgetWithResourceInput) Validate() error {
8294	invalidParams := request.ErrInvalidParams{Context: "AssociateBudgetWithResourceInput"}
8295	if s.BudgetName == nil {
8296		invalidParams.Add(request.NewErrParamRequired("BudgetName"))
8297	}
8298	if s.BudgetName != nil && len(*s.BudgetName) < 1 {
8299		invalidParams.Add(request.NewErrParamMinLen("BudgetName", 1))
8300	}
8301	if s.ResourceId == nil {
8302		invalidParams.Add(request.NewErrParamRequired("ResourceId"))
8303	}
8304	if s.ResourceId != nil && len(*s.ResourceId) < 1 {
8305		invalidParams.Add(request.NewErrParamMinLen("ResourceId", 1))
8306	}
8307
8308	if invalidParams.Len() > 0 {
8309		return invalidParams
8310	}
8311	return nil
8312}
8313
8314// SetBudgetName sets the BudgetName field's value.
8315func (s *AssociateBudgetWithResourceInput) SetBudgetName(v string) *AssociateBudgetWithResourceInput {
8316	s.BudgetName = &v
8317	return s
8318}
8319
8320// SetResourceId sets the ResourceId field's value.
8321func (s *AssociateBudgetWithResourceInput) SetResourceId(v string) *AssociateBudgetWithResourceInput {
8322	s.ResourceId = &v
8323	return s
8324}
8325
8326type AssociateBudgetWithResourceOutput struct {
8327	_ struct{} `type:"structure"`
8328}
8329
8330// String returns the string representation
8331func (s AssociateBudgetWithResourceOutput) String() string {
8332	return awsutil.Prettify(s)
8333}
8334
8335// GoString returns the string representation
8336func (s AssociateBudgetWithResourceOutput) GoString() string {
8337	return s.String()
8338}
8339
8340type AssociatePrincipalWithPortfolioInput struct {
8341	_ struct{} `type:"structure"`
8342
8343	// The language code.
8344	//
8345	//    * en - English (default)
8346	//
8347	//    * jp - Japanese
8348	//
8349	//    * zh - Chinese
8350	AcceptLanguage *string `type:"string"`
8351
8352	// The portfolio identifier.
8353	//
8354	// PortfolioId is a required field
8355	PortfolioId *string `min:"1" type:"string" required:"true"`
8356
8357	// The ARN of the principal (IAM user, role, or group).
8358	//
8359	// PrincipalARN is a required field
8360	PrincipalARN *string `min:"1" type:"string" required:"true"`
8361
8362	// The principal type. The supported value is IAM.
8363	//
8364	// PrincipalType is a required field
8365	PrincipalType *string `type:"string" required:"true" enum:"PrincipalType"`
8366}
8367
8368// String returns the string representation
8369func (s AssociatePrincipalWithPortfolioInput) String() string {
8370	return awsutil.Prettify(s)
8371}
8372
8373// GoString returns the string representation
8374func (s AssociatePrincipalWithPortfolioInput) GoString() string {
8375	return s.String()
8376}
8377
8378// Validate inspects the fields of the type to determine if they are valid.
8379func (s *AssociatePrincipalWithPortfolioInput) Validate() error {
8380	invalidParams := request.ErrInvalidParams{Context: "AssociatePrincipalWithPortfolioInput"}
8381	if s.PortfolioId == nil {
8382		invalidParams.Add(request.NewErrParamRequired("PortfolioId"))
8383	}
8384	if s.PortfolioId != nil && len(*s.PortfolioId) < 1 {
8385		invalidParams.Add(request.NewErrParamMinLen("PortfolioId", 1))
8386	}
8387	if s.PrincipalARN == nil {
8388		invalidParams.Add(request.NewErrParamRequired("PrincipalARN"))
8389	}
8390	if s.PrincipalARN != nil && len(*s.PrincipalARN) < 1 {
8391		invalidParams.Add(request.NewErrParamMinLen("PrincipalARN", 1))
8392	}
8393	if s.PrincipalType == nil {
8394		invalidParams.Add(request.NewErrParamRequired("PrincipalType"))
8395	}
8396
8397	if invalidParams.Len() > 0 {
8398		return invalidParams
8399	}
8400	return nil
8401}
8402
8403// SetAcceptLanguage sets the AcceptLanguage field's value.
8404func (s *AssociatePrincipalWithPortfolioInput) SetAcceptLanguage(v string) *AssociatePrincipalWithPortfolioInput {
8405	s.AcceptLanguage = &v
8406	return s
8407}
8408
8409// SetPortfolioId sets the PortfolioId field's value.
8410func (s *AssociatePrincipalWithPortfolioInput) SetPortfolioId(v string) *AssociatePrincipalWithPortfolioInput {
8411	s.PortfolioId = &v
8412	return s
8413}
8414
8415// SetPrincipalARN sets the PrincipalARN field's value.
8416func (s *AssociatePrincipalWithPortfolioInput) SetPrincipalARN(v string) *AssociatePrincipalWithPortfolioInput {
8417	s.PrincipalARN = &v
8418	return s
8419}
8420
8421// SetPrincipalType sets the PrincipalType field's value.
8422func (s *AssociatePrincipalWithPortfolioInput) SetPrincipalType(v string) *AssociatePrincipalWithPortfolioInput {
8423	s.PrincipalType = &v
8424	return s
8425}
8426
8427type AssociatePrincipalWithPortfolioOutput struct {
8428	_ struct{} `type:"structure"`
8429}
8430
8431// String returns the string representation
8432func (s AssociatePrincipalWithPortfolioOutput) String() string {
8433	return awsutil.Prettify(s)
8434}
8435
8436// GoString returns the string representation
8437func (s AssociatePrincipalWithPortfolioOutput) GoString() string {
8438	return s.String()
8439}
8440
8441type AssociateProductWithPortfolioInput struct {
8442	_ struct{} `type:"structure"`
8443
8444	// The language code.
8445	//
8446	//    * en - English (default)
8447	//
8448	//    * jp - Japanese
8449	//
8450	//    * zh - Chinese
8451	AcceptLanguage *string `type:"string"`
8452
8453	// The portfolio identifier.
8454	//
8455	// PortfolioId is a required field
8456	PortfolioId *string `min:"1" type:"string" required:"true"`
8457
8458	// The product identifier.
8459	//
8460	// ProductId is a required field
8461	ProductId *string `min:"1" type:"string" required:"true"`
8462
8463	// The identifier of the source portfolio.
8464	SourcePortfolioId *string `min:"1" type:"string"`
8465}
8466
8467// String returns the string representation
8468func (s AssociateProductWithPortfolioInput) String() string {
8469	return awsutil.Prettify(s)
8470}
8471
8472// GoString returns the string representation
8473func (s AssociateProductWithPortfolioInput) GoString() string {
8474	return s.String()
8475}
8476
8477// Validate inspects the fields of the type to determine if they are valid.
8478func (s *AssociateProductWithPortfolioInput) Validate() error {
8479	invalidParams := request.ErrInvalidParams{Context: "AssociateProductWithPortfolioInput"}
8480	if s.PortfolioId == nil {
8481		invalidParams.Add(request.NewErrParamRequired("PortfolioId"))
8482	}
8483	if s.PortfolioId != nil && len(*s.PortfolioId) < 1 {
8484		invalidParams.Add(request.NewErrParamMinLen("PortfolioId", 1))
8485	}
8486	if s.ProductId == nil {
8487		invalidParams.Add(request.NewErrParamRequired("ProductId"))
8488	}
8489	if s.ProductId != nil && len(*s.ProductId) < 1 {
8490		invalidParams.Add(request.NewErrParamMinLen("ProductId", 1))
8491	}
8492	if s.SourcePortfolioId != nil && len(*s.SourcePortfolioId) < 1 {
8493		invalidParams.Add(request.NewErrParamMinLen("SourcePortfolioId", 1))
8494	}
8495
8496	if invalidParams.Len() > 0 {
8497		return invalidParams
8498	}
8499	return nil
8500}
8501
8502// SetAcceptLanguage sets the AcceptLanguage field's value.
8503func (s *AssociateProductWithPortfolioInput) SetAcceptLanguage(v string) *AssociateProductWithPortfolioInput {
8504	s.AcceptLanguage = &v
8505	return s
8506}
8507
8508// SetPortfolioId sets the PortfolioId field's value.
8509func (s *AssociateProductWithPortfolioInput) SetPortfolioId(v string) *AssociateProductWithPortfolioInput {
8510	s.PortfolioId = &v
8511	return s
8512}
8513
8514// SetProductId sets the ProductId field's value.
8515func (s *AssociateProductWithPortfolioInput) SetProductId(v string) *AssociateProductWithPortfolioInput {
8516	s.ProductId = &v
8517	return s
8518}
8519
8520// SetSourcePortfolioId sets the SourcePortfolioId field's value.
8521func (s *AssociateProductWithPortfolioInput) SetSourcePortfolioId(v string) *AssociateProductWithPortfolioInput {
8522	s.SourcePortfolioId = &v
8523	return s
8524}
8525
8526type AssociateProductWithPortfolioOutput struct {
8527	_ struct{} `type:"structure"`
8528}
8529
8530// String returns the string representation
8531func (s AssociateProductWithPortfolioOutput) String() string {
8532	return awsutil.Prettify(s)
8533}
8534
8535// GoString returns the string representation
8536func (s AssociateProductWithPortfolioOutput) GoString() string {
8537	return s.String()
8538}
8539
8540type AssociateServiceActionWithProvisioningArtifactInput struct {
8541	_ struct{} `type:"structure"`
8542
8543	// The language code.
8544	//
8545	//    * en - English (default)
8546	//
8547	//    * jp - Japanese
8548	//
8549	//    * zh - Chinese
8550	AcceptLanguage *string `type:"string"`
8551
8552	// The product identifier. For example, prod-abcdzk7xy33qa.
8553	//
8554	// ProductId is a required field
8555	ProductId *string `min:"1" type:"string" required:"true"`
8556
8557	// The identifier of the provisioning artifact. For example, pa-4abcdjnxjj6ne.
8558	//
8559	// ProvisioningArtifactId is a required field
8560	ProvisioningArtifactId *string `min:"1" type:"string" required:"true"`
8561
8562	// The self-service action identifier. For example, act-fs7abcd89wxyz.
8563	//
8564	// ServiceActionId is a required field
8565	ServiceActionId *string `min:"1" type:"string" required:"true"`
8566}
8567
8568// String returns the string representation
8569func (s AssociateServiceActionWithProvisioningArtifactInput) String() string {
8570	return awsutil.Prettify(s)
8571}
8572
8573// GoString returns the string representation
8574func (s AssociateServiceActionWithProvisioningArtifactInput) GoString() string {
8575	return s.String()
8576}
8577
8578// Validate inspects the fields of the type to determine if they are valid.
8579func (s *AssociateServiceActionWithProvisioningArtifactInput) Validate() error {
8580	invalidParams := request.ErrInvalidParams{Context: "AssociateServiceActionWithProvisioningArtifactInput"}
8581	if s.ProductId == nil {
8582		invalidParams.Add(request.NewErrParamRequired("ProductId"))
8583	}
8584	if s.ProductId != nil && len(*s.ProductId) < 1 {
8585		invalidParams.Add(request.NewErrParamMinLen("ProductId", 1))
8586	}
8587	if s.ProvisioningArtifactId == nil {
8588		invalidParams.Add(request.NewErrParamRequired("ProvisioningArtifactId"))
8589	}
8590	if s.ProvisioningArtifactId != nil && len(*s.ProvisioningArtifactId) < 1 {
8591		invalidParams.Add(request.NewErrParamMinLen("ProvisioningArtifactId", 1))
8592	}
8593	if s.ServiceActionId == nil {
8594		invalidParams.Add(request.NewErrParamRequired("ServiceActionId"))
8595	}
8596	if s.ServiceActionId != nil && len(*s.ServiceActionId) < 1 {
8597		invalidParams.Add(request.NewErrParamMinLen("ServiceActionId", 1))
8598	}
8599
8600	if invalidParams.Len() > 0 {
8601		return invalidParams
8602	}
8603	return nil
8604}
8605
8606// SetAcceptLanguage sets the AcceptLanguage field's value.
8607func (s *AssociateServiceActionWithProvisioningArtifactInput) SetAcceptLanguage(v string) *AssociateServiceActionWithProvisioningArtifactInput {
8608	s.AcceptLanguage = &v
8609	return s
8610}
8611
8612// SetProductId sets the ProductId field's value.
8613func (s *AssociateServiceActionWithProvisioningArtifactInput) SetProductId(v string) *AssociateServiceActionWithProvisioningArtifactInput {
8614	s.ProductId = &v
8615	return s
8616}
8617
8618// SetProvisioningArtifactId sets the ProvisioningArtifactId field's value.
8619func (s *AssociateServiceActionWithProvisioningArtifactInput) SetProvisioningArtifactId(v string) *AssociateServiceActionWithProvisioningArtifactInput {
8620	s.ProvisioningArtifactId = &v
8621	return s
8622}
8623
8624// SetServiceActionId sets the ServiceActionId field's value.
8625func (s *AssociateServiceActionWithProvisioningArtifactInput) SetServiceActionId(v string) *AssociateServiceActionWithProvisioningArtifactInput {
8626	s.ServiceActionId = &v
8627	return s
8628}
8629
8630type AssociateServiceActionWithProvisioningArtifactOutput struct {
8631	_ struct{} `type:"structure"`
8632}
8633
8634// String returns the string representation
8635func (s AssociateServiceActionWithProvisioningArtifactOutput) String() string {
8636	return awsutil.Prettify(s)
8637}
8638
8639// GoString returns the string representation
8640func (s AssociateServiceActionWithProvisioningArtifactOutput) GoString() string {
8641	return s.String()
8642}
8643
8644type AssociateTagOptionWithResourceInput struct {
8645	_ struct{} `type:"structure"`
8646
8647	// The resource identifier.
8648	//
8649	// ResourceId is a required field
8650	ResourceId *string `type:"string" required:"true"`
8651
8652	// The TagOption identifier.
8653	//
8654	// TagOptionId is a required field
8655	TagOptionId *string `min:"1" type:"string" required:"true"`
8656}
8657
8658// String returns the string representation
8659func (s AssociateTagOptionWithResourceInput) String() string {
8660	return awsutil.Prettify(s)
8661}
8662
8663// GoString returns the string representation
8664func (s AssociateTagOptionWithResourceInput) GoString() string {
8665	return s.String()
8666}
8667
8668// Validate inspects the fields of the type to determine if they are valid.
8669func (s *AssociateTagOptionWithResourceInput) Validate() error {
8670	invalidParams := request.ErrInvalidParams{Context: "AssociateTagOptionWithResourceInput"}
8671	if s.ResourceId == nil {
8672		invalidParams.Add(request.NewErrParamRequired("ResourceId"))
8673	}
8674	if s.TagOptionId == nil {
8675		invalidParams.Add(request.NewErrParamRequired("TagOptionId"))
8676	}
8677	if s.TagOptionId != nil && len(*s.TagOptionId) < 1 {
8678		invalidParams.Add(request.NewErrParamMinLen("TagOptionId", 1))
8679	}
8680
8681	if invalidParams.Len() > 0 {
8682		return invalidParams
8683	}
8684	return nil
8685}
8686
8687// SetResourceId sets the ResourceId field's value.
8688func (s *AssociateTagOptionWithResourceInput) SetResourceId(v string) *AssociateTagOptionWithResourceInput {
8689	s.ResourceId = &v
8690	return s
8691}
8692
8693// SetTagOptionId sets the TagOptionId field's value.
8694func (s *AssociateTagOptionWithResourceInput) SetTagOptionId(v string) *AssociateTagOptionWithResourceInput {
8695	s.TagOptionId = &v
8696	return s
8697}
8698
8699type AssociateTagOptionWithResourceOutput struct {
8700	_ struct{} `type:"structure"`
8701}
8702
8703// String returns the string representation
8704func (s AssociateTagOptionWithResourceOutput) String() string {
8705	return awsutil.Prettify(s)
8706}
8707
8708// GoString returns the string representation
8709func (s AssociateTagOptionWithResourceOutput) GoString() string {
8710	return s.String()
8711}
8712
8713type BatchAssociateServiceActionWithProvisioningArtifactInput struct {
8714	_ struct{} `type:"structure"`
8715
8716	// The language code.
8717	//
8718	//    * en - English (default)
8719	//
8720	//    * jp - Japanese
8721	//
8722	//    * zh - Chinese
8723	AcceptLanguage *string `type:"string"`
8724
8725	// One or more associations, each consisting of the Action ID, the Product ID,
8726	// and the Provisioning Artifact ID.
8727	//
8728	// ServiceActionAssociations is a required field
8729	ServiceActionAssociations []*ServiceActionAssociation `min:"1" type:"list" required:"true"`
8730}
8731
8732// String returns the string representation
8733func (s BatchAssociateServiceActionWithProvisioningArtifactInput) String() string {
8734	return awsutil.Prettify(s)
8735}
8736
8737// GoString returns the string representation
8738func (s BatchAssociateServiceActionWithProvisioningArtifactInput) GoString() string {
8739	return s.String()
8740}
8741
8742// Validate inspects the fields of the type to determine if they are valid.
8743func (s *BatchAssociateServiceActionWithProvisioningArtifactInput) Validate() error {
8744	invalidParams := request.ErrInvalidParams{Context: "BatchAssociateServiceActionWithProvisioningArtifactInput"}
8745	if s.ServiceActionAssociations == nil {
8746		invalidParams.Add(request.NewErrParamRequired("ServiceActionAssociations"))
8747	}
8748	if s.ServiceActionAssociations != nil && len(s.ServiceActionAssociations) < 1 {
8749		invalidParams.Add(request.NewErrParamMinLen("ServiceActionAssociations", 1))
8750	}
8751	if s.ServiceActionAssociations != nil {
8752		for i, v := range s.ServiceActionAssociations {
8753			if v == nil {
8754				continue
8755			}
8756			if err := v.Validate(); err != nil {
8757				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "ServiceActionAssociations", i), err.(request.ErrInvalidParams))
8758			}
8759		}
8760	}
8761
8762	if invalidParams.Len() > 0 {
8763		return invalidParams
8764	}
8765	return nil
8766}
8767
8768// SetAcceptLanguage sets the AcceptLanguage field's value.
8769func (s *BatchAssociateServiceActionWithProvisioningArtifactInput) SetAcceptLanguage(v string) *BatchAssociateServiceActionWithProvisioningArtifactInput {
8770	s.AcceptLanguage = &v
8771	return s
8772}
8773
8774// SetServiceActionAssociations sets the ServiceActionAssociations field's value.
8775func (s *BatchAssociateServiceActionWithProvisioningArtifactInput) SetServiceActionAssociations(v []*ServiceActionAssociation) *BatchAssociateServiceActionWithProvisioningArtifactInput {
8776	s.ServiceActionAssociations = v
8777	return s
8778}
8779
8780type BatchAssociateServiceActionWithProvisioningArtifactOutput struct {
8781	_ struct{} `type:"structure"`
8782
8783	// An object that contains a list of errors, along with information to help
8784	// you identify the self-service action.
8785	FailedServiceActionAssociations []*FailedServiceActionAssociation `type:"list"`
8786}
8787
8788// String returns the string representation
8789func (s BatchAssociateServiceActionWithProvisioningArtifactOutput) String() string {
8790	return awsutil.Prettify(s)
8791}
8792
8793// GoString returns the string representation
8794func (s BatchAssociateServiceActionWithProvisioningArtifactOutput) GoString() string {
8795	return s.String()
8796}
8797
8798// SetFailedServiceActionAssociations sets the FailedServiceActionAssociations field's value.
8799func (s *BatchAssociateServiceActionWithProvisioningArtifactOutput) SetFailedServiceActionAssociations(v []*FailedServiceActionAssociation) *BatchAssociateServiceActionWithProvisioningArtifactOutput {
8800	s.FailedServiceActionAssociations = v
8801	return s
8802}
8803
8804type BatchDisassociateServiceActionFromProvisioningArtifactInput struct {
8805	_ struct{} `type:"structure"`
8806
8807	// The language code.
8808	//
8809	//    * en - English (default)
8810	//
8811	//    * jp - Japanese
8812	//
8813	//    * zh - Chinese
8814	AcceptLanguage *string `type:"string"`
8815
8816	// One or more associations, each consisting of the Action ID, the Product ID,
8817	// and the Provisioning Artifact ID.
8818	//
8819	// ServiceActionAssociations is a required field
8820	ServiceActionAssociations []*ServiceActionAssociation `min:"1" type:"list" required:"true"`
8821}
8822
8823// String returns the string representation
8824func (s BatchDisassociateServiceActionFromProvisioningArtifactInput) String() string {
8825	return awsutil.Prettify(s)
8826}
8827
8828// GoString returns the string representation
8829func (s BatchDisassociateServiceActionFromProvisioningArtifactInput) GoString() string {
8830	return s.String()
8831}
8832
8833// Validate inspects the fields of the type to determine if they are valid.
8834func (s *BatchDisassociateServiceActionFromProvisioningArtifactInput) Validate() error {
8835	invalidParams := request.ErrInvalidParams{Context: "BatchDisassociateServiceActionFromProvisioningArtifactInput"}
8836	if s.ServiceActionAssociations == nil {
8837		invalidParams.Add(request.NewErrParamRequired("ServiceActionAssociations"))
8838	}
8839	if s.ServiceActionAssociations != nil && len(s.ServiceActionAssociations) < 1 {
8840		invalidParams.Add(request.NewErrParamMinLen("ServiceActionAssociations", 1))
8841	}
8842	if s.ServiceActionAssociations != nil {
8843		for i, v := range s.ServiceActionAssociations {
8844			if v == nil {
8845				continue
8846			}
8847			if err := v.Validate(); err != nil {
8848				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "ServiceActionAssociations", i), err.(request.ErrInvalidParams))
8849			}
8850		}
8851	}
8852
8853	if invalidParams.Len() > 0 {
8854		return invalidParams
8855	}
8856	return nil
8857}
8858
8859// SetAcceptLanguage sets the AcceptLanguage field's value.
8860func (s *BatchDisassociateServiceActionFromProvisioningArtifactInput) SetAcceptLanguage(v string) *BatchDisassociateServiceActionFromProvisioningArtifactInput {
8861	s.AcceptLanguage = &v
8862	return s
8863}
8864
8865// SetServiceActionAssociations sets the ServiceActionAssociations field's value.
8866func (s *BatchDisassociateServiceActionFromProvisioningArtifactInput) SetServiceActionAssociations(v []*ServiceActionAssociation) *BatchDisassociateServiceActionFromProvisioningArtifactInput {
8867	s.ServiceActionAssociations = v
8868	return s
8869}
8870
8871type BatchDisassociateServiceActionFromProvisioningArtifactOutput struct {
8872	_ struct{} `type:"structure"`
8873
8874	// An object that contains a list of errors, along with information to help
8875	// you identify the self-service action.
8876	FailedServiceActionAssociations []*FailedServiceActionAssociation `type:"list"`
8877}
8878
8879// String returns the string representation
8880func (s BatchDisassociateServiceActionFromProvisioningArtifactOutput) String() string {
8881	return awsutil.Prettify(s)
8882}
8883
8884// GoString returns the string representation
8885func (s BatchDisassociateServiceActionFromProvisioningArtifactOutput) GoString() string {
8886	return s.String()
8887}
8888
8889// SetFailedServiceActionAssociations sets the FailedServiceActionAssociations field's value.
8890func (s *BatchDisassociateServiceActionFromProvisioningArtifactOutput) SetFailedServiceActionAssociations(v []*FailedServiceActionAssociation) *BatchDisassociateServiceActionFromProvisioningArtifactOutput {
8891	s.FailedServiceActionAssociations = v
8892	return s
8893}
8894
8895// Information about a budget.
8896type BudgetDetail struct {
8897	_ struct{} `type:"structure"`
8898
8899	// Name of the associated budget.
8900	BudgetName *string `min:"1" type:"string"`
8901}
8902
8903// String returns the string representation
8904func (s BudgetDetail) String() string {
8905	return awsutil.Prettify(s)
8906}
8907
8908// GoString returns the string representation
8909func (s BudgetDetail) GoString() string {
8910	return s.String()
8911}
8912
8913// SetBudgetName sets the BudgetName field's value.
8914func (s *BudgetDetail) SetBudgetName(v string) *BudgetDetail {
8915	s.BudgetName = &v
8916	return s
8917}
8918
8919// Information about a CloudWatch dashboard.
8920type CloudWatchDashboard struct {
8921	_ struct{} `type:"structure"`
8922
8923	// The name of the CloudWatch dashboard.
8924	Name *string `type:"string"`
8925}
8926
8927// String returns the string representation
8928func (s CloudWatchDashboard) String() string {
8929	return awsutil.Prettify(s)
8930}
8931
8932// GoString returns the string representation
8933func (s CloudWatchDashboard) GoString() string {
8934	return s.String()
8935}
8936
8937// SetName sets the Name field's value.
8938func (s *CloudWatchDashboard) SetName(v string) *CloudWatchDashboard {
8939	s.Name = &v
8940	return s
8941}
8942
8943// Information about a constraint.
8944type ConstraintDetail struct {
8945	_ struct{} `type:"structure"`
8946
8947	// The identifier of the constraint.
8948	ConstraintId *string `min:"1" type:"string"`
8949
8950	// The description of the constraint.
8951	Description *string `type:"string"`
8952
8953	// The owner of the constraint.
8954	Owner *string `type:"string"`
8955
8956	// The identifier of the portfolio the product resides in. The constraint applies
8957	// only to the instance of the product that lives within this portfolio.
8958	PortfolioId *string `min:"1" type:"string"`
8959
8960	// The identifier of the product the constraint applies to. Note that a constraint
8961	// applies to a specific instance of a product within a certain portfolio.
8962	ProductId *string `min:"1" type:"string"`
8963
8964	// The type of constraint.
8965	//
8966	//    * LAUNCH
8967	//
8968	//    * NOTIFICATION
8969	//
8970	//    * STACKSET
8971	//
8972	//    * TEMPLATE
8973	Type *string `min:"1" type:"string"`
8974}
8975
8976// String returns the string representation
8977func (s ConstraintDetail) String() string {
8978	return awsutil.Prettify(s)
8979}
8980
8981// GoString returns the string representation
8982func (s ConstraintDetail) GoString() string {
8983	return s.String()
8984}
8985
8986// SetConstraintId sets the ConstraintId field's value.
8987func (s *ConstraintDetail) SetConstraintId(v string) *ConstraintDetail {
8988	s.ConstraintId = &v
8989	return s
8990}
8991
8992// SetDescription sets the Description field's value.
8993func (s *ConstraintDetail) SetDescription(v string) *ConstraintDetail {
8994	s.Description = &v
8995	return s
8996}
8997
8998// SetOwner sets the Owner field's value.
8999func (s *ConstraintDetail) SetOwner(v string) *ConstraintDetail {
9000	s.Owner = &v
9001	return s
9002}
9003
9004// SetPortfolioId sets the PortfolioId field's value.
9005func (s *ConstraintDetail) SetPortfolioId(v string) *ConstraintDetail {
9006	s.PortfolioId = &v
9007	return s
9008}
9009
9010// SetProductId sets the ProductId field's value.
9011func (s *ConstraintDetail) SetProductId(v string) *ConstraintDetail {
9012	s.ProductId = &v
9013	return s
9014}
9015
9016// SetType sets the Type field's value.
9017func (s *ConstraintDetail) SetType(v string) *ConstraintDetail {
9018	s.Type = &v
9019	return s
9020}
9021
9022// Summary information about a constraint.
9023type ConstraintSummary struct {
9024	_ struct{} `type:"structure"`
9025
9026	// The description of the constraint.
9027	Description *string `type:"string"`
9028
9029	// The type of constraint.
9030	//
9031	//    * LAUNCH
9032	//
9033	//    * NOTIFICATION
9034	//
9035	//    * STACKSET
9036	//
9037	//    * TEMPLATE
9038	Type *string `min:"1" type:"string"`
9039}
9040
9041// String returns the string representation
9042func (s ConstraintSummary) String() string {
9043	return awsutil.Prettify(s)
9044}
9045
9046// GoString returns the string representation
9047func (s ConstraintSummary) GoString() string {
9048	return s.String()
9049}
9050
9051// SetDescription sets the Description field's value.
9052func (s *ConstraintSummary) SetDescription(v string) *ConstraintSummary {
9053	s.Description = &v
9054	return s
9055}
9056
9057// SetType sets the Type field's value.
9058func (s *ConstraintSummary) SetType(v string) *ConstraintSummary {
9059	s.Type = &v
9060	return s
9061}
9062
9063type CopyProductInput struct {
9064	_ struct{} `type:"structure"`
9065
9066	// The language code.
9067	//
9068	//    * en - English (default)
9069	//
9070	//    * jp - Japanese
9071	//
9072	//    * zh - Chinese
9073	AcceptLanguage *string `type:"string"`
9074
9075	// The copy options. If the value is CopyTags, the tags from the source product
9076	// are copied to the target product.
9077	CopyOptions []*string `type:"list"`
9078
9079	// A unique identifier that you provide to ensure idempotency. If multiple requests
9080	// differ only by the idempotency token, the same response is returned for each
9081	// repeated request.
9082	IdempotencyToken *string `min:"1" type:"string" idempotencyToken:"true"`
9083
9084	// The Amazon Resource Name (ARN) of the source product.
9085	//
9086	// SourceProductArn is a required field
9087	SourceProductArn *string `min:"1" type:"string" required:"true"`
9088
9089	// The identifiers of the provisioning artifacts (also known as versions) of
9090	// the product to copy. By default, all provisioning artifacts are copied.
9091	SourceProvisioningArtifactIdentifiers []map[string]*string `type:"list"`
9092
9093	// The identifier of the target product. By default, a new product is created.
9094	TargetProductId *string `min:"1" type:"string"`
9095
9096	// A name for the target product. The default is the name of the source product.
9097	TargetProductName *string `type:"string"`
9098}
9099
9100// String returns the string representation
9101func (s CopyProductInput) String() string {
9102	return awsutil.Prettify(s)
9103}
9104
9105// GoString returns the string representation
9106func (s CopyProductInput) GoString() string {
9107	return s.String()
9108}
9109
9110// Validate inspects the fields of the type to determine if they are valid.
9111func (s *CopyProductInput) Validate() error {
9112	invalidParams := request.ErrInvalidParams{Context: "CopyProductInput"}
9113	if s.IdempotencyToken != nil && len(*s.IdempotencyToken) < 1 {
9114		invalidParams.Add(request.NewErrParamMinLen("IdempotencyToken", 1))
9115	}
9116	if s.SourceProductArn == nil {
9117		invalidParams.Add(request.NewErrParamRequired("SourceProductArn"))
9118	}
9119	if s.SourceProductArn != nil && len(*s.SourceProductArn) < 1 {
9120		invalidParams.Add(request.NewErrParamMinLen("SourceProductArn", 1))
9121	}
9122	if s.TargetProductId != nil && len(*s.TargetProductId) < 1 {
9123		invalidParams.Add(request.NewErrParamMinLen("TargetProductId", 1))
9124	}
9125
9126	if invalidParams.Len() > 0 {
9127		return invalidParams
9128	}
9129	return nil
9130}
9131
9132// SetAcceptLanguage sets the AcceptLanguage field's value.
9133func (s *CopyProductInput) SetAcceptLanguage(v string) *CopyProductInput {
9134	s.AcceptLanguage = &v
9135	return s
9136}
9137
9138// SetCopyOptions sets the CopyOptions field's value.
9139func (s *CopyProductInput) SetCopyOptions(v []*string) *CopyProductInput {
9140	s.CopyOptions = v
9141	return s
9142}
9143
9144// SetIdempotencyToken sets the IdempotencyToken field's value.
9145func (s *CopyProductInput) SetIdempotencyToken(v string) *CopyProductInput {
9146	s.IdempotencyToken = &v
9147	return s
9148}
9149
9150// SetSourceProductArn sets the SourceProductArn field's value.
9151func (s *CopyProductInput) SetSourceProductArn(v string) *CopyProductInput {
9152	s.SourceProductArn = &v
9153	return s
9154}
9155
9156// SetSourceProvisioningArtifactIdentifiers sets the SourceProvisioningArtifactIdentifiers field's value.
9157func (s *CopyProductInput) SetSourceProvisioningArtifactIdentifiers(v []map[string]*string) *CopyProductInput {
9158	s.SourceProvisioningArtifactIdentifiers = v
9159	return s
9160}
9161
9162// SetTargetProductId sets the TargetProductId field's value.
9163func (s *CopyProductInput) SetTargetProductId(v string) *CopyProductInput {
9164	s.TargetProductId = &v
9165	return s
9166}
9167
9168// SetTargetProductName sets the TargetProductName field's value.
9169func (s *CopyProductInput) SetTargetProductName(v string) *CopyProductInput {
9170	s.TargetProductName = &v
9171	return s
9172}
9173
9174type CopyProductOutput struct {
9175	_ struct{} `type:"structure"`
9176
9177	// The token to use to track the progress of the operation.
9178	CopyProductToken *string `min:"1" type:"string"`
9179}
9180
9181// String returns the string representation
9182func (s CopyProductOutput) String() string {
9183	return awsutil.Prettify(s)
9184}
9185
9186// GoString returns the string representation
9187func (s CopyProductOutput) GoString() string {
9188	return s.String()
9189}
9190
9191// SetCopyProductToken sets the CopyProductToken field's value.
9192func (s *CopyProductOutput) SetCopyProductToken(v string) *CopyProductOutput {
9193	s.CopyProductToken = &v
9194	return s
9195}
9196
9197type CreateConstraintInput struct {
9198	_ struct{} `type:"structure"`
9199
9200	// The language code.
9201	//
9202	//    * en - English (default)
9203	//
9204	//    * jp - Japanese
9205	//
9206	//    * zh - Chinese
9207	AcceptLanguage *string `type:"string"`
9208
9209	// The description of the constraint.
9210	Description *string `type:"string"`
9211
9212	// A unique identifier that you provide to ensure idempotency. If multiple requests
9213	// differ only by the idempotency token, the same response is returned for each
9214	// repeated request.
9215	IdempotencyToken *string `min:"1" type:"string" idempotencyToken:"true"`
9216
9217	// The constraint parameters, in JSON format. The syntax depends on the constraint
9218	// type as follows:
9219	//
9220	// LAUNCH
9221	//
9222	// You are required to specify either the RoleArn or the LocalRoleName but can't
9223	// use both.
9224	//
9225	// Specify the RoleArn property as follows:
9226	//
9227	// {"RoleArn" : "arn:aws:iam::123456789012:role/LaunchRole"}
9228	//
9229	// Specify the LocalRoleName property as follows:
9230	//
9231	// {"LocalRoleName": "SCBasicLaunchRole"}
9232	//
9233	// If you specify the LocalRoleName property, when an account uses the launch
9234	// constraint, the IAM role with that name in the account will be used. This
9235	// allows launch-role constraints to be account-agnostic so the administrator
9236	// can create fewer resources per shared account.
9237	//
9238	// The given role name must exist in the account used to create the launch constraint
9239	// and the account of the user who launches a product with this launch constraint.
9240	//
9241	// You cannot have both a LAUNCH and a STACKSET constraint.
9242	//
9243	// You also cannot have more than one LAUNCH constraint on a product and portfolio.
9244	//
9245	// NOTIFICATION
9246	//
9247	// Specify the NotificationArns property as follows:
9248	//
9249	// {"NotificationArns" : ["arn:aws:sns:us-east-1:123456789012:Topic"]}
9250	//
9251	// RESOURCE_UPDATE
9252	//
9253	// Specify the TagUpdatesOnProvisionedProduct property as follows:
9254	//
9255	// {"Version":"2.0","Properties":{"TagUpdateOnProvisionedProduct":"String"}}
9256	//
9257	// The TagUpdatesOnProvisionedProduct property accepts a string value of ALLOWED
9258	// or NOT_ALLOWED.
9259	//
9260	// STACKSET
9261	//
9262	// Specify the Parameters property as follows:
9263	//
9264	// {"Version": "String", "Properties": {"AccountList": [ "String" ], "RegionList":
9265	// [ "String" ], "AdminRole": "String", "ExecutionRole": "String"}}
9266	//
9267	// You cannot have both a LAUNCH and a STACKSET constraint.
9268	//
9269	// You also cannot have more than one STACKSET constraint on a product and portfolio.
9270	//
9271	// Products with a STACKSET constraint will launch an AWS CloudFormation stack
9272	// set.
9273	//
9274	// TEMPLATE
9275	//
9276	// Specify the Rules property. For more information, see Template Constraint
9277	// Rules (http://docs.aws.amazon.com/servicecatalog/latest/adminguide/reference-template_constraint_rules.html).
9278	//
9279	// Parameters is a required field
9280	Parameters *string `type:"string" required:"true"`
9281
9282	// The portfolio identifier.
9283	//
9284	// PortfolioId is a required field
9285	PortfolioId *string `min:"1" type:"string" required:"true"`
9286
9287	// The product identifier.
9288	//
9289	// ProductId is a required field
9290	ProductId *string `min:"1" type:"string" required:"true"`
9291
9292	// The type of constraint.
9293	//
9294	//    * LAUNCH
9295	//
9296	//    * NOTIFICATION
9297	//
9298	//    * RESOURCE_UPDATE
9299	//
9300	//    * STACKSET
9301	//
9302	//    * TEMPLATE
9303	//
9304	// Type is a required field
9305	Type *string `min:"1" type:"string" required:"true"`
9306}
9307
9308// String returns the string representation
9309func (s CreateConstraintInput) String() string {
9310	return awsutil.Prettify(s)
9311}
9312
9313// GoString returns the string representation
9314func (s CreateConstraintInput) GoString() string {
9315	return s.String()
9316}
9317
9318// Validate inspects the fields of the type to determine if they are valid.
9319func (s *CreateConstraintInput) Validate() error {
9320	invalidParams := request.ErrInvalidParams{Context: "CreateConstraintInput"}
9321	if s.IdempotencyToken != nil && len(*s.IdempotencyToken) < 1 {
9322		invalidParams.Add(request.NewErrParamMinLen("IdempotencyToken", 1))
9323	}
9324	if s.Parameters == nil {
9325		invalidParams.Add(request.NewErrParamRequired("Parameters"))
9326	}
9327	if s.PortfolioId == nil {
9328		invalidParams.Add(request.NewErrParamRequired("PortfolioId"))
9329	}
9330	if s.PortfolioId != nil && len(*s.PortfolioId) < 1 {
9331		invalidParams.Add(request.NewErrParamMinLen("PortfolioId", 1))
9332	}
9333	if s.ProductId == nil {
9334		invalidParams.Add(request.NewErrParamRequired("ProductId"))
9335	}
9336	if s.ProductId != nil && len(*s.ProductId) < 1 {
9337		invalidParams.Add(request.NewErrParamMinLen("ProductId", 1))
9338	}
9339	if s.Type == nil {
9340		invalidParams.Add(request.NewErrParamRequired("Type"))
9341	}
9342	if s.Type != nil && len(*s.Type) < 1 {
9343		invalidParams.Add(request.NewErrParamMinLen("Type", 1))
9344	}
9345
9346	if invalidParams.Len() > 0 {
9347		return invalidParams
9348	}
9349	return nil
9350}
9351
9352// SetAcceptLanguage sets the AcceptLanguage field's value.
9353func (s *CreateConstraintInput) SetAcceptLanguage(v string) *CreateConstraintInput {
9354	s.AcceptLanguage = &v
9355	return s
9356}
9357
9358// SetDescription sets the Description field's value.
9359func (s *CreateConstraintInput) SetDescription(v string) *CreateConstraintInput {
9360	s.Description = &v
9361	return s
9362}
9363
9364// SetIdempotencyToken sets the IdempotencyToken field's value.
9365func (s *CreateConstraintInput) SetIdempotencyToken(v string) *CreateConstraintInput {
9366	s.IdempotencyToken = &v
9367	return s
9368}
9369
9370// SetParameters sets the Parameters field's value.
9371func (s *CreateConstraintInput) SetParameters(v string) *CreateConstraintInput {
9372	s.Parameters = &v
9373	return s
9374}
9375
9376// SetPortfolioId sets the PortfolioId field's value.
9377func (s *CreateConstraintInput) SetPortfolioId(v string) *CreateConstraintInput {
9378	s.PortfolioId = &v
9379	return s
9380}
9381
9382// SetProductId sets the ProductId field's value.
9383func (s *CreateConstraintInput) SetProductId(v string) *CreateConstraintInput {
9384	s.ProductId = &v
9385	return s
9386}
9387
9388// SetType sets the Type field's value.
9389func (s *CreateConstraintInput) SetType(v string) *CreateConstraintInput {
9390	s.Type = &v
9391	return s
9392}
9393
9394type CreateConstraintOutput struct {
9395	_ struct{} `type:"structure"`
9396
9397	// Information about the constraint.
9398	ConstraintDetail *ConstraintDetail `type:"structure"`
9399
9400	// The constraint parameters.
9401	ConstraintParameters *string `type:"string"`
9402
9403	// The status of the current request.
9404	Status *string `type:"string" enum:"Status"`
9405}
9406
9407// String returns the string representation
9408func (s CreateConstraintOutput) String() string {
9409	return awsutil.Prettify(s)
9410}
9411
9412// GoString returns the string representation
9413func (s CreateConstraintOutput) GoString() string {
9414	return s.String()
9415}
9416
9417// SetConstraintDetail sets the ConstraintDetail field's value.
9418func (s *CreateConstraintOutput) SetConstraintDetail(v *ConstraintDetail) *CreateConstraintOutput {
9419	s.ConstraintDetail = v
9420	return s
9421}
9422
9423// SetConstraintParameters sets the ConstraintParameters field's value.
9424func (s *CreateConstraintOutput) SetConstraintParameters(v string) *CreateConstraintOutput {
9425	s.ConstraintParameters = &v
9426	return s
9427}
9428
9429// SetStatus sets the Status field's value.
9430func (s *CreateConstraintOutput) SetStatus(v string) *CreateConstraintOutput {
9431	s.Status = &v
9432	return s
9433}
9434
9435type CreatePortfolioInput struct {
9436	_ struct{} `type:"structure"`
9437
9438	// The language code.
9439	//
9440	//    * en - English (default)
9441	//
9442	//    * jp - Japanese
9443	//
9444	//    * zh - Chinese
9445	AcceptLanguage *string `type:"string"`
9446
9447	// The description of the portfolio.
9448	Description *string `type:"string"`
9449
9450	// The name to use for display purposes.
9451	//
9452	// DisplayName is a required field
9453	DisplayName *string `min:"1" type:"string" required:"true"`
9454
9455	// A unique identifier that you provide to ensure idempotency. If multiple requests
9456	// differ only by the idempotency token, the same response is returned for each
9457	// repeated request.
9458	IdempotencyToken *string `min:"1" type:"string" idempotencyToken:"true"`
9459
9460	// The name of the portfolio provider.
9461	//
9462	// ProviderName is a required field
9463	ProviderName *string `min:"1" type:"string" required:"true"`
9464
9465	// One or more tags.
9466	Tags []*Tag `type:"list"`
9467}
9468
9469// String returns the string representation
9470func (s CreatePortfolioInput) String() string {
9471	return awsutil.Prettify(s)
9472}
9473
9474// GoString returns the string representation
9475func (s CreatePortfolioInput) GoString() string {
9476	return s.String()
9477}
9478
9479// Validate inspects the fields of the type to determine if they are valid.
9480func (s *CreatePortfolioInput) Validate() error {
9481	invalidParams := request.ErrInvalidParams{Context: "CreatePortfolioInput"}
9482	if s.DisplayName == nil {
9483		invalidParams.Add(request.NewErrParamRequired("DisplayName"))
9484	}
9485	if s.DisplayName != nil && len(*s.DisplayName) < 1 {
9486		invalidParams.Add(request.NewErrParamMinLen("DisplayName", 1))
9487	}
9488	if s.IdempotencyToken != nil && len(*s.IdempotencyToken) < 1 {
9489		invalidParams.Add(request.NewErrParamMinLen("IdempotencyToken", 1))
9490	}
9491	if s.ProviderName == nil {
9492		invalidParams.Add(request.NewErrParamRequired("ProviderName"))
9493	}
9494	if s.ProviderName != nil && len(*s.ProviderName) < 1 {
9495		invalidParams.Add(request.NewErrParamMinLen("ProviderName", 1))
9496	}
9497	if s.Tags != nil {
9498		for i, v := range s.Tags {
9499			if v == nil {
9500				continue
9501			}
9502			if err := v.Validate(); err != nil {
9503				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams))
9504			}
9505		}
9506	}
9507
9508	if invalidParams.Len() > 0 {
9509		return invalidParams
9510	}
9511	return nil
9512}
9513
9514// SetAcceptLanguage sets the AcceptLanguage field's value.
9515func (s *CreatePortfolioInput) SetAcceptLanguage(v string) *CreatePortfolioInput {
9516	s.AcceptLanguage = &v
9517	return s
9518}
9519
9520// SetDescription sets the Description field's value.
9521func (s *CreatePortfolioInput) SetDescription(v string) *CreatePortfolioInput {
9522	s.Description = &v
9523	return s
9524}
9525
9526// SetDisplayName sets the DisplayName field's value.
9527func (s *CreatePortfolioInput) SetDisplayName(v string) *CreatePortfolioInput {
9528	s.DisplayName = &v
9529	return s
9530}
9531
9532// SetIdempotencyToken sets the IdempotencyToken field's value.
9533func (s *CreatePortfolioInput) SetIdempotencyToken(v string) *CreatePortfolioInput {
9534	s.IdempotencyToken = &v
9535	return s
9536}
9537
9538// SetProviderName sets the ProviderName field's value.
9539func (s *CreatePortfolioInput) SetProviderName(v string) *CreatePortfolioInput {
9540	s.ProviderName = &v
9541	return s
9542}
9543
9544// SetTags sets the Tags field's value.
9545func (s *CreatePortfolioInput) SetTags(v []*Tag) *CreatePortfolioInput {
9546	s.Tags = v
9547	return s
9548}
9549
9550type CreatePortfolioOutput struct {
9551	_ struct{} `type:"structure"`
9552
9553	// Information about the portfolio.
9554	PortfolioDetail *PortfolioDetail `type:"structure"`
9555
9556	// Information about the tags associated with the portfolio.
9557	Tags []*Tag `type:"list"`
9558}
9559
9560// String returns the string representation
9561func (s CreatePortfolioOutput) String() string {
9562	return awsutil.Prettify(s)
9563}
9564
9565// GoString returns the string representation
9566func (s CreatePortfolioOutput) GoString() string {
9567	return s.String()
9568}
9569
9570// SetPortfolioDetail sets the PortfolioDetail field's value.
9571func (s *CreatePortfolioOutput) SetPortfolioDetail(v *PortfolioDetail) *CreatePortfolioOutput {
9572	s.PortfolioDetail = v
9573	return s
9574}
9575
9576// SetTags sets the Tags field's value.
9577func (s *CreatePortfolioOutput) SetTags(v []*Tag) *CreatePortfolioOutput {
9578	s.Tags = v
9579	return s
9580}
9581
9582type CreatePortfolioShareInput struct {
9583	_ struct{} `type:"structure"`
9584
9585	// The language code.
9586	//
9587	//    * en - English (default)
9588	//
9589	//    * jp - Japanese
9590	//
9591	//    * zh - Chinese
9592	AcceptLanguage *string `type:"string"`
9593
9594	// The AWS account ID. For example, 123456789012.
9595	AccountId *string `type:"string"`
9596
9597	// The organization node to whom you are going to share. If OrganizationNode
9598	// is passed in, PortfolioShare will be created for the node and its children
9599	// (when applies), and a PortfolioShareToken will be returned in the output
9600	// in order for the administrator to monitor the status of the PortfolioShare
9601	// creation process.
9602	OrganizationNode *OrganizationNode `type:"structure"`
9603
9604	// The portfolio identifier.
9605	//
9606	// PortfolioId is a required field
9607	PortfolioId *string `min:"1" type:"string" required:"true"`
9608}
9609
9610// String returns the string representation
9611func (s CreatePortfolioShareInput) String() string {
9612	return awsutil.Prettify(s)
9613}
9614
9615// GoString returns the string representation
9616func (s CreatePortfolioShareInput) GoString() string {
9617	return s.String()
9618}
9619
9620// Validate inspects the fields of the type to determine if they are valid.
9621func (s *CreatePortfolioShareInput) Validate() error {
9622	invalidParams := request.ErrInvalidParams{Context: "CreatePortfolioShareInput"}
9623	if s.PortfolioId == nil {
9624		invalidParams.Add(request.NewErrParamRequired("PortfolioId"))
9625	}
9626	if s.PortfolioId != nil && len(*s.PortfolioId) < 1 {
9627		invalidParams.Add(request.NewErrParamMinLen("PortfolioId", 1))
9628	}
9629
9630	if invalidParams.Len() > 0 {
9631		return invalidParams
9632	}
9633	return nil
9634}
9635
9636// SetAcceptLanguage sets the AcceptLanguage field's value.
9637func (s *CreatePortfolioShareInput) SetAcceptLanguage(v string) *CreatePortfolioShareInput {
9638	s.AcceptLanguage = &v
9639	return s
9640}
9641
9642// SetAccountId sets the AccountId field's value.
9643func (s *CreatePortfolioShareInput) SetAccountId(v string) *CreatePortfolioShareInput {
9644	s.AccountId = &v
9645	return s
9646}
9647
9648// SetOrganizationNode sets the OrganizationNode field's value.
9649func (s *CreatePortfolioShareInput) SetOrganizationNode(v *OrganizationNode) *CreatePortfolioShareInput {
9650	s.OrganizationNode = v
9651	return s
9652}
9653
9654// SetPortfolioId sets the PortfolioId field's value.
9655func (s *CreatePortfolioShareInput) SetPortfolioId(v string) *CreatePortfolioShareInput {
9656	s.PortfolioId = &v
9657	return s
9658}
9659
9660type CreatePortfolioShareOutput struct {
9661	_ struct{} `type:"structure"`
9662
9663	// The portfolio share unique identifier. This will only be returned if portfolio
9664	// is shared to an organization node.
9665	PortfolioShareToken *string `min:"1" type:"string"`
9666}
9667
9668// String returns the string representation
9669func (s CreatePortfolioShareOutput) String() string {
9670	return awsutil.Prettify(s)
9671}
9672
9673// GoString returns the string representation
9674func (s CreatePortfolioShareOutput) GoString() string {
9675	return s.String()
9676}
9677
9678// SetPortfolioShareToken sets the PortfolioShareToken field's value.
9679func (s *CreatePortfolioShareOutput) SetPortfolioShareToken(v string) *CreatePortfolioShareOutput {
9680	s.PortfolioShareToken = &v
9681	return s
9682}
9683
9684type CreateProductInput struct {
9685	_ struct{} `type:"structure"`
9686
9687	// The language code.
9688	//
9689	//    * en - English (default)
9690	//
9691	//    * jp - Japanese
9692	//
9693	//    * zh - Chinese
9694	AcceptLanguage *string `type:"string"`
9695
9696	// The description of the product.
9697	Description *string `type:"string"`
9698
9699	// The distributor of the product.
9700	Distributor *string `type:"string"`
9701
9702	// A unique identifier that you provide to ensure idempotency. If multiple requests
9703	// differ only by the idempotency token, the same response is returned for each
9704	// repeated request.
9705	IdempotencyToken *string `min:"1" type:"string" idempotencyToken:"true"`
9706
9707	// The name of the product.
9708	//
9709	// Name is a required field
9710	Name *string `type:"string" required:"true"`
9711
9712	// The owner of the product.
9713	//
9714	// Owner is a required field
9715	Owner *string `type:"string" required:"true"`
9716
9717	// The type of product.
9718	//
9719	// ProductType is a required field
9720	ProductType *string `type:"string" required:"true" enum:"ProductType"`
9721
9722	// The configuration of the provisioning artifact.
9723	//
9724	// ProvisioningArtifactParameters is a required field
9725	ProvisioningArtifactParameters *ProvisioningArtifactProperties `type:"structure" required:"true"`
9726
9727	// The support information about the product.
9728	SupportDescription *string `type:"string"`
9729
9730	// The contact email for product support.
9731	SupportEmail *string `type:"string"`
9732
9733	// The contact URL for product support.
9734	SupportUrl *string `type:"string"`
9735
9736	// One or more tags.
9737	Tags []*Tag `type:"list"`
9738}
9739
9740// String returns the string representation
9741func (s CreateProductInput) String() string {
9742	return awsutil.Prettify(s)
9743}
9744
9745// GoString returns the string representation
9746func (s CreateProductInput) GoString() string {
9747	return s.String()
9748}
9749
9750// Validate inspects the fields of the type to determine if they are valid.
9751func (s *CreateProductInput) Validate() error {
9752	invalidParams := request.ErrInvalidParams{Context: "CreateProductInput"}
9753	if s.IdempotencyToken != nil && len(*s.IdempotencyToken) < 1 {
9754		invalidParams.Add(request.NewErrParamMinLen("IdempotencyToken", 1))
9755	}
9756	if s.Name == nil {
9757		invalidParams.Add(request.NewErrParamRequired("Name"))
9758	}
9759	if s.Owner == nil {
9760		invalidParams.Add(request.NewErrParamRequired("Owner"))
9761	}
9762	if s.ProductType == nil {
9763		invalidParams.Add(request.NewErrParamRequired("ProductType"))
9764	}
9765	if s.ProvisioningArtifactParameters == nil {
9766		invalidParams.Add(request.NewErrParamRequired("ProvisioningArtifactParameters"))
9767	}
9768	if s.ProvisioningArtifactParameters != nil {
9769		if err := s.ProvisioningArtifactParameters.Validate(); err != nil {
9770			invalidParams.AddNested("ProvisioningArtifactParameters", err.(request.ErrInvalidParams))
9771		}
9772	}
9773	if s.Tags != nil {
9774		for i, v := range s.Tags {
9775			if v == nil {
9776				continue
9777			}
9778			if err := v.Validate(); err != nil {
9779				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams))
9780			}
9781		}
9782	}
9783
9784	if invalidParams.Len() > 0 {
9785		return invalidParams
9786	}
9787	return nil
9788}
9789
9790// SetAcceptLanguage sets the AcceptLanguage field's value.
9791func (s *CreateProductInput) SetAcceptLanguage(v string) *CreateProductInput {
9792	s.AcceptLanguage = &v
9793	return s
9794}
9795
9796// SetDescription sets the Description field's value.
9797func (s *CreateProductInput) SetDescription(v string) *CreateProductInput {
9798	s.Description = &v
9799	return s
9800}
9801
9802// SetDistributor sets the Distributor field's value.
9803func (s *CreateProductInput) SetDistributor(v string) *CreateProductInput {
9804	s.Distributor = &v
9805	return s
9806}
9807
9808// SetIdempotencyToken sets the IdempotencyToken field's value.
9809func (s *CreateProductInput) SetIdempotencyToken(v string) *CreateProductInput {
9810	s.IdempotencyToken = &v
9811	return s
9812}
9813
9814// SetName sets the Name field's value.
9815func (s *CreateProductInput) SetName(v string) *CreateProductInput {
9816	s.Name = &v
9817	return s
9818}
9819
9820// SetOwner sets the Owner field's value.
9821func (s *CreateProductInput) SetOwner(v string) *CreateProductInput {
9822	s.Owner = &v
9823	return s
9824}
9825
9826// SetProductType sets the ProductType field's value.
9827func (s *CreateProductInput) SetProductType(v string) *CreateProductInput {
9828	s.ProductType = &v
9829	return s
9830}
9831
9832// SetProvisioningArtifactParameters sets the ProvisioningArtifactParameters field's value.
9833func (s *CreateProductInput) SetProvisioningArtifactParameters(v *ProvisioningArtifactProperties) *CreateProductInput {
9834	s.ProvisioningArtifactParameters = v
9835	return s
9836}
9837
9838// SetSupportDescription sets the SupportDescription field's value.
9839func (s *CreateProductInput) SetSupportDescription(v string) *CreateProductInput {
9840	s.SupportDescription = &v
9841	return s
9842}
9843
9844// SetSupportEmail sets the SupportEmail field's value.
9845func (s *CreateProductInput) SetSupportEmail(v string) *CreateProductInput {
9846	s.SupportEmail = &v
9847	return s
9848}
9849
9850// SetSupportUrl sets the SupportUrl field's value.
9851func (s *CreateProductInput) SetSupportUrl(v string) *CreateProductInput {
9852	s.SupportUrl = &v
9853	return s
9854}
9855
9856// SetTags sets the Tags field's value.
9857func (s *CreateProductInput) SetTags(v []*Tag) *CreateProductInput {
9858	s.Tags = v
9859	return s
9860}
9861
9862type CreateProductOutput struct {
9863	_ struct{} `type:"structure"`
9864
9865	// Information about the product view.
9866	ProductViewDetail *ProductViewDetail `type:"structure"`
9867
9868	// Information about the provisioning artifact.
9869	ProvisioningArtifactDetail *ProvisioningArtifactDetail `type:"structure"`
9870
9871	// Information about the tags associated with the product.
9872	Tags []*Tag `type:"list"`
9873}
9874
9875// String returns the string representation
9876func (s CreateProductOutput) String() string {
9877	return awsutil.Prettify(s)
9878}
9879
9880// GoString returns the string representation
9881func (s CreateProductOutput) GoString() string {
9882	return s.String()
9883}
9884
9885// SetProductViewDetail sets the ProductViewDetail field's value.
9886func (s *CreateProductOutput) SetProductViewDetail(v *ProductViewDetail) *CreateProductOutput {
9887	s.ProductViewDetail = v
9888	return s
9889}
9890
9891// SetProvisioningArtifactDetail sets the ProvisioningArtifactDetail field's value.
9892func (s *CreateProductOutput) SetProvisioningArtifactDetail(v *ProvisioningArtifactDetail) *CreateProductOutput {
9893	s.ProvisioningArtifactDetail = v
9894	return s
9895}
9896
9897// SetTags sets the Tags field's value.
9898func (s *CreateProductOutput) SetTags(v []*Tag) *CreateProductOutput {
9899	s.Tags = v
9900	return s
9901}
9902
9903type CreateProvisionedProductPlanInput struct {
9904	_ struct{} `type:"structure"`
9905
9906	// The language code.
9907	//
9908	//    * en - English (default)
9909	//
9910	//    * jp - Japanese
9911	//
9912	//    * zh - Chinese
9913	AcceptLanguage *string `type:"string"`
9914
9915	// A unique identifier that you provide to ensure idempotency. If multiple requests
9916	// differ only by the idempotency token, the same response is returned for each
9917	// repeated request.
9918	IdempotencyToken *string `min:"1" type:"string" idempotencyToken:"true"`
9919
9920	// Passed to CloudFormation. The SNS topic ARNs to which to publish stack-related
9921	// events.
9922	NotificationArns []*string `type:"list"`
9923
9924	// The path identifier of the product. This value is optional if the product
9925	// has a default path, and required if the product has more than one path. To
9926	// list the paths for a product, use ListLaunchPaths.
9927	PathId *string `min:"1" type:"string"`
9928
9929	// The name of the plan.
9930	//
9931	// PlanName is a required field
9932	PlanName *string `type:"string" required:"true"`
9933
9934	// The plan type.
9935	//
9936	// PlanType is a required field
9937	PlanType *string `type:"string" required:"true" enum:"ProvisionedProductPlanType"`
9938
9939	// The product identifier.
9940	//
9941	// ProductId is a required field
9942	ProductId *string `min:"1" type:"string" required:"true"`
9943
9944	// A user-friendly name for the provisioned product. This value must be unique
9945	// for the AWS account and cannot be updated after the product is provisioned.
9946	//
9947	// ProvisionedProductName is a required field
9948	ProvisionedProductName *string `min:"1" type:"string" required:"true"`
9949
9950	// The identifier of the provisioning artifact.
9951	//
9952	// ProvisioningArtifactId is a required field
9953	ProvisioningArtifactId *string `min:"1" type:"string" required:"true"`
9954
9955	// Parameters specified by the administrator that are required for provisioning
9956	// the product.
9957	ProvisioningParameters []*UpdateProvisioningParameter `type:"list"`
9958
9959	// One or more tags.
9960	//
9961	// If the plan is for an existing provisioned product, the product must have
9962	// a RESOURCE_UPDATE constraint with TagUpdatesOnProvisionedProduct set to ALLOWED
9963	// to allow tag updates.
9964	Tags []*Tag `type:"list"`
9965}
9966
9967// String returns the string representation
9968func (s CreateProvisionedProductPlanInput) String() string {
9969	return awsutil.Prettify(s)
9970}
9971
9972// GoString returns the string representation
9973func (s CreateProvisionedProductPlanInput) GoString() string {
9974	return s.String()
9975}
9976
9977// Validate inspects the fields of the type to determine if they are valid.
9978func (s *CreateProvisionedProductPlanInput) Validate() error {
9979	invalidParams := request.ErrInvalidParams{Context: "CreateProvisionedProductPlanInput"}
9980	if s.IdempotencyToken != nil && len(*s.IdempotencyToken) < 1 {
9981		invalidParams.Add(request.NewErrParamMinLen("IdempotencyToken", 1))
9982	}
9983	if s.PathId != nil && len(*s.PathId) < 1 {
9984		invalidParams.Add(request.NewErrParamMinLen("PathId", 1))
9985	}
9986	if s.PlanName == nil {
9987		invalidParams.Add(request.NewErrParamRequired("PlanName"))
9988	}
9989	if s.PlanType == nil {
9990		invalidParams.Add(request.NewErrParamRequired("PlanType"))
9991	}
9992	if s.ProductId == nil {
9993		invalidParams.Add(request.NewErrParamRequired("ProductId"))
9994	}
9995	if s.ProductId != nil && len(*s.ProductId) < 1 {
9996		invalidParams.Add(request.NewErrParamMinLen("ProductId", 1))
9997	}
9998	if s.ProvisionedProductName == nil {
9999		invalidParams.Add(request.NewErrParamRequired("ProvisionedProductName"))
10000	}
10001	if s.ProvisionedProductName != nil && len(*s.ProvisionedProductName) < 1 {
10002		invalidParams.Add(request.NewErrParamMinLen("ProvisionedProductName", 1))
10003	}
10004	if s.ProvisioningArtifactId == nil {
10005		invalidParams.Add(request.NewErrParamRequired("ProvisioningArtifactId"))
10006	}
10007	if s.ProvisioningArtifactId != nil && len(*s.ProvisioningArtifactId) < 1 {
10008		invalidParams.Add(request.NewErrParamMinLen("ProvisioningArtifactId", 1))
10009	}
10010	if s.ProvisioningParameters != nil {
10011		for i, v := range s.ProvisioningParameters {
10012			if v == nil {
10013				continue
10014			}
10015			if err := v.Validate(); err != nil {
10016				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "ProvisioningParameters", i), err.(request.ErrInvalidParams))
10017			}
10018		}
10019	}
10020	if s.Tags != nil {
10021		for i, v := range s.Tags {
10022			if v == nil {
10023				continue
10024			}
10025			if err := v.Validate(); err != nil {
10026				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams))
10027			}
10028		}
10029	}
10030
10031	if invalidParams.Len() > 0 {
10032		return invalidParams
10033	}
10034	return nil
10035}
10036
10037// SetAcceptLanguage sets the AcceptLanguage field's value.
10038func (s *CreateProvisionedProductPlanInput) SetAcceptLanguage(v string) *CreateProvisionedProductPlanInput {
10039	s.AcceptLanguage = &v
10040	return s
10041}
10042
10043// SetIdempotencyToken sets the IdempotencyToken field's value.
10044func (s *CreateProvisionedProductPlanInput) SetIdempotencyToken(v string) *CreateProvisionedProductPlanInput {
10045	s.IdempotencyToken = &v
10046	return s
10047}
10048
10049// SetNotificationArns sets the NotificationArns field's value.
10050func (s *CreateProvisionedProductPlanInput) SetNotificationArns(v []*string) *CreateProvisionedProductPlanInput {
10051	s.NotificationArns = v
10052	return s
10053}
10054
10055// SetPathId sets the PathId field's value.
10056func (s *CreateProvisionedProductPlanInput) SetPathId(v string) *CreateProvisionedProductPlanInput {
10057	s.PathId = &v
10058	return s
10059}
10060
10061// SetPlanName sets the PlanName field's value.
10062func (s *CreateProvisionedProductPlanInput) SetPlanName(v string) *CreateProvisionedProductPlanInput {
10063	s.PlanName = &v
10064	return s
10065}
10066
10067// SetPlanType sets the PlanType field's value.
10068func (s *CreateProvisionedProductPlanInput) SetPlanType(v string) *CreateProvisionedProductPlanInput {
10069	s.PlanType = &v
10070	return s
10071}
10072
10073// SetProductId sets the ProductId field's value.
10074func (s *CreateProvisionedProductPlanInput) SetProductId(v string) *CreateProvisionedProductPlanInput {
10075	s.ProductId = &v
10076	return s
10077}
10078
10079// SetProvisionedProductName sets the ProvisionedProductName field's value.
10080func (s *CreateProvisionedProductPlanInput) SetProvisionedProductName(v string) *CreateProvisionedProductPlanInput {
10081	s.ProvisionedProductName = &v
10082	return s
10083}
10084
10085// SetProvisioningArtifactId sets the ProvisioningArtifactId field's value.
10086func (s *CreateProvisionedProductPlanInput) SetProvisioningArtifactId(v string) *CreateProvisionedProductPlanInput {
10087	s.ProvisioningArtifactId = &v
10088	return s
10089}
10090
10091// SetProvisioningParameters sets the ProvisioningParameters field's value.
10092func (s *CreateProvisionedProductPlanInput) SetProvisioningParameters(v []*UpdateProvisioningParameter) *CreateProvisionedProductPlanInput {
10093	s.ProvisioningParameters = v
10094	return s
10095}
10096
10097// SetTags sets the Tags field's value.
10098func (s *CreateProvisionedProductPlanInput) SetTags(v []*Tag) *CreateProvisionedProductPlanInput {
10099	s.Tags = v
10100	return s
10101}
10102
10103type CreateProvisionedProductPlanOutput struct {
10104	_ struct{} `type:"structure"`
10105
10106	// The plan identifier.
10107	PlanId *string `min:"1" type:"string"`
10108
10109	// The name of the plan.
10110	PlanName *string `type:"string"`
10111
10112	// The product identifier.
10113	ProvisionProductId *string `min:"1" type:"string"`
10114
10115	// The user-friendly name of the provisioned product.
10116	ProvisionedProductName *string `min:"1" type:"string"`
10117
10118	// The identifier of the provisioning artifact.
10119	ProvisioningArtifactId *string `min:"1" type:"string"`
10120}
10121
10122// String returns the string representation
10123func (s CreateProvisionedProductPlanOutput) String() string {
10124	return awsutil.Prettify(s)
10125}
10126
10127// GoString returns the string representation
10128func (s CreateProvisionedProductPlanOutput) GoString() string {
10129	return s.String()
10130}
10131
10132// SetPlanId sets the PlanId field's value.
10133func (s *CreateProvisionedProductPlanOutput) SetPlanId(v string) *CreateProvisionedProductPlanOutput {
10134	s.PlanId = &v
10135	return s
10136}
10137
10138// SetPlanName sets the PlanName field's value.
10139func (s *CreateProvisionedProductPlanOutput) SetPlanName(v string) *CreateProvisionedProductPlanOutput {
10140	s.PlanName = &v
10141	return s
10142}
10143
10144// SetProvisionProductId sets the ProvisionProductId field's value.
10145func (s *CreateProvisionedProductPlanOutput) SetProvisionProductId(v string) *CreateProvisionedProductPlanOutput {
10146	s.ProvisionProductId = &v
10147	return s
10148}
10149
10150// SetProvisionedProductName sets the ProvisionedProductName field's value.
10151func (s *CreateProvisionedProductPlanOutput) SetProvisionedProductName(v string) *CreateProvisionedProductPlanOutput {
10152	s.ProvisionedProductName = &v
10153	return s
10154}
10155
10156// SetProvisioningArtifactId sets the ProvisioningArtifactId field's value.
10157func (s *CreateProvisionedProductPlanOutput) SetProvisioningArtifactId(v string) *CreateProvisionedProductPlanOutput {
10158	s.ProvisioningArtifactId = &v
10159	return s
10160}
10161
10162type CreateProvisioningArtifactInput struct {
10163	_ struct{} `type:"structure"`
10164
10165	// The language code.
10166	//
10167	//    * en - English (default)
10168	//
10169	//    * jp - Japanese
10170	//
10171	//    * zh - Chinese
10172	AcceptLanguage *string `type:"string"`
10173
10174	// A unique identifier that you provide to ensure idempotency. If multiple requests
10175	// differ only by the idempotency token, the same response is returned for each
10176	// repeated request.
10177	IdempotencyToken *string `min:"1" type:"string" idempotencyToken:"true"`
10178
10179	// The configuration for the provisioning artifact.
10180	//
10181	// Parameters is a required field
10182	Parameters *ProvisioningArtifactProperties `type:"structure" required:"true"`
10183
10184	// The product identifier.
10185	//
10186	// ProductId is a required field
10187	ProductId *string `min:"1" type:"string" required:"true"`
10188}
10189
10190// String returns the string representation
10191func (s CreateProvisioningArtifactInput) String() string {
10192	return awsutil.Prettify(s)
10193}
10194
10195// GoString returns the string representation
10196func (s CreateProvisioningArtifactInput) GoString() string {
10197	return s.String()
10198}
10199
10200// Validate inspects the fields of the type to determine if they are valid.
10201func (s *CreateProvisioningArtifactInput) Validate() error {
10202	invalidParams := request.ErrInvalidParams{Context: "CreateProvisioningArtifactInput"}
10203	if s.IdempotencyToken != nil && len(*s.IdempotencyToken) < 1 {
10204		invalidParams.Add(request.NewErrParamMinLen("IdempotencyToken", 1))
10205	}
10206	if s.Parameters == nil {
10207		invalidParams.Add(request.NewErrParamRequired("Parameters"))
10208	}
10209	if s.ProductId == nil {
10210		invalidParams.Add(request.NewErrParamRequired("ProductId"))
10211	}
10212	if s.ProductId != nil && len(*s.ProductId) < 1 {
10213		invalidParams.Add(request.NewErrParamMinLen("ProductId", 1))
10214	}
10215	if s.Parameters != nil {
10216		if err := s.Parameters.Validate(); err != nil {
10217			invalidParams.AddNested("Parameters", err.(request.ErrInvalidParams))
10218		}
10219	}
10220
10221	if invalidParams.Len() > 0 {
10222		return invalidParams
10223	}
10224	return nil
10225}
10226
10227// SetAcceptLanguage sets the AcceptLanguage field's value.
10228func (s *CreateProvisioningArtifactInput) SetAcceptLanguage(v string) *CreateProvisioningArtifactInput {
10229	s.AcceptLanguage = &v
10230	return s
10231}
10232
10233// SetIdempotencyToken sets the IdempotencyToken field's value.
10234func (s *CreateProvisioningArtifactInput) SetIdempotencyToken(v string) *CreateProvisioningArtifactInput {
10235	s.IdempotencyToken = &v
10236	return s
10237}
10238
10239// SetParameters sets the Parameters field's value.
10240func (s *CreateProvisioningArtifactInput) SetParameters(v *ProvisioningArtifactProperties) *CreateProvisioningArtifactInput {
10241	s.Parameters = v
10242	return s
10243}
10244
10245// SetProductId sets the ProductId field's value.
10246func (s *CreateProvisioningArtifactInput) SetProductId(v string) *CreateProvisioningArtifactInput {
10247	s.ProductId = &v
10248	return s
10249}
10250
10251type CreateProvisioningArtifactOutput struct {
10252	_ struct{} `type:"structure"`
10253
10254	// The URL of the CloudFormation template in Amazon S3, in JSON format.
10255	Info map[string]*string `min:"1" type:"map"`
10256
10257	// Information about the provisioning artifact.
10258	ProvisioningArtifactDetail *ProvisioningArtifactDetail `type:"structure"`
10259
10260	// The status of the current request.
10261	Status *string `type:"string" enum:"Status"`
10262}
10263
10264// String returns the string representation
10265func (s CreateProvisioningArtifactOutput) String() string {
10266	return awsutil.Prettify(s)
10267}
10268
10269// GoString returns the string representation
10270func (s CreateProvisioningArtifactOutput) GoString() string {
10271	return s.String()
10272}
10273
10274// SetInfo sets the Info field's value.
10275func (s *CreateProvisioningArtifactOutput) SetInfo(v map[string]*string) *CreateProvisioningArtifactOutput {
10276	s.Info = v
10277	return s
10278}
10279
10280// SetProvisioningArtifactDetail sets the ProvisioningArtifactDetail field's value.
10281func (s *CreateProvisioningArtifactOutput) SetProvisioningArtifactDetail(v *ProvisioningArtifactDetail) *CreateProvisioningArtifactOutput {
10282	s.ProvisioningArtifactDetail = v
10283	return s
10284}
10285
10286// SetStatus sets the Status field's value.
10287func (s *CreateProvisioningArtifactOutput) SetStatus(v string) *CreateProvisioningArtifactOutput {
10288	s.Status = &v
10289	return s
10290}
10291
10292type CreateServiceActionInput struct {
10293	_ struct{} `type:"structure"`
10294
10295	// The language code.
10296	//
10297	//    * en - English (default)
10298	//
10299	//    * jp - Japanese
10300	//
10301	//    * zh - Chinese
10302	AcceptLanguage *string `type:"string"`
10303
10304	// The self-service action definition. Can be one of the following:
10305	//
10306	// Name
10307	//
10308	// The name of the AWS Systems Manager document (SSM document). For example,
10309	// AWS-RestartEC2Instance.
10310	//
10311	// If you are using a shared SSM document, you must provide the ARN instead
10312	// of the name.
10313	//
10314	// Version
10315	//
10316	// The AWS Systems Manager automation document version. For example, "Version":
10317	// "1"
10318	//
10319	// AssumeRole
10320	//
10321	// The Amazon Resource Name (ARN) of the role that performs the self-service
10322	// actions on your behalf. For example, "AssumeRole": "arn:aws:iam::12345678910:role/ActionRole".
10323	//
10324	// To reuse the provisioned product launch role, set to "AssumeRole": "LAUNCH_ROLE".
10325	//
10326	// Parameters
10327	//
10328	// The list of parameters in JSON format.
10329	//
10330	// For example: [{\"Name\":\"InstanceId\",\"Type\":\"TARGET\"}] or [{\"Name\":\"InstanceId\",\"Type\":\"TEXT_VALUE\"}].
10331	//
10332	// Definition is a required field
10333	Definition map[string]*string `min:"1" type:"map" required:"true"`
10334
10335	// The service action definition type. For example, SSM_AUTOMATION.
10336	//
10337	// DefinitionType is a required field
10338	DefinitionType *string `type:"string" required:"true" enum:"ServiceActionDefinitionType"`
10339
10340	// The self-service action description.
10341	Description *string `type:"string"`
10342
10343	// A unique identifier that you provide to ensure idempotency. If multiple requests
10344	// differ only by the idempotency token, the same response is returned for each
10345	// repeated request.
10346	IdempotencyToken *string `min:"1" type:"string" idempotencyToken:"true"`
10347
10348	// The self-service action name.
10349	//
10350	// Name is a required field
10351	Name *string `min:"1" type:"string" required:"true"`
10352}
10353
10354// String returns the string representation
10355func (s CreateServiceActionInput) String() string {
10356	return awsutil.Prettify(s)
10357}
10358
10359// GoString returns the string representation
10360func (s CreateServiceActionInput) GoString() string {
10361	return s.String()
10362}
10363
10364// Validate inspects the fields of the type to determine if they are valid.
10365func (s *CreateServiceActionInput) Validate() error {
10366	invalidParams := request.ErrInvalidParams{Context: "CreateServiceActionInput"}
10367	if s.Definition == nil {
10368		invalidParams.Add(request.NewErrParamRequired("Definition"))
10369	}
10370	if s.Definition != nil && len(s.Definition) < 1 {
10371		invalidParams.Add(request.NewErrParamMinLen("Definition", 1))
10372	}
10373	if s.DefinitionType == nil {
10374		invalidParams.Add(request.NewErrParamRequired("DefinitionType"))
10375	}
10376	if s.IdempotencyToken != nil && len(*s.IdempotencyToken) < 1 {
10377		invalidParams.Add(request.NewErrParamMinLen("IdempotencyToken", 1))
10378	}
10379	if s.Name == nil {
10380		invalidParams.Add(request.NewErrParamRequired("Name"))
10381	}
10382	if s.Name != nil && len(*s.Name) < 1 {
10383		invalidParams.Add(request.NewErrParamMinLen("Name", 1))
10384	}
10385
10386	if invalidParams.Len() > 0 {
10387		return invalidParams
10388	}
10389	return nil
10390}
10391
10392// SetAcceptLanguage sets the AcceptLanguage field's value.
10393func (s *CreateServiceActionInput) SetAcceptLanguage(v string) *CreateServiceActionInput {
10394	s.AcceptLanguage = &v
10395	return s
10396}
10397
10398// SetDefinition sets the Definition field's value.
10399func (s *CreateServiceActionInput) SetDefinition(v map[string]*string) *CreateServiceActionInput {
10400	s.Definition = v
10401	return s
10402}
10403
10404// SetDefinitionType sets the DefinitionType field's value.
10405func (s *CreateServiceActionInput) SetDefinitionType(v string) *CreateServiceActionInput {
10406	s.DefinitionType = &v
10407	return s
10408}
10409
10410// SetDescription sets the Description field's value.
10411func (s *CreateServiceActionInput) SetDescription(v string) *CreateServiceActionInput {
10412	s.Description = &v
10413	return s
10414}
10415
10416// SetIdempotencyToken sets the IdempotencyToken field's value.
10417func (s *CreateServiceActionInput) SetIdempotencyToken(v string) *CreateServiceActionInput {
10418	s.IdempotencyToken = &v
10419	return s
10420}
10421
10422// SetName sets the Name field's value.
10423func (s *CreateServiceActionInput) SetName(v string) *CreateServiceActionInput {
10424	s.Name = &v
10425	return s
10426}
10427
10428type CreateServiceActionOutput struct {
10429	_ struct{} `type:"structure"`
10430
10431	// An object containing information about the self-service action.
10432	ServiceActionDetail *ServiceActionDetail `type:"structure"`
10433}
10434
10435// String returns the string representation
10436func (s CreateServiceActionOutput) String() string {
10437	return awsutil.Prettify(s)
10438}
10439
10440// GoString returns the string representation
10441func (s CreateServiceActionOutput) GoString() string {
10442	return s.String()
10443}
10444
10445// SetServiceActionDetail sets the ServiceActionDetail field's value.
10446func (s *CreateServiceActionOutput) SetServiceActionDetail(v *ServiceActionDetail) *CreateServiceActionOutput {
10447	s.ServiceActionDetail = v
10448	return s
10449}
10450
10451type CreateTagOptionInput struct {
10452	_ struct{} `type:"structure"`
10453
10454	// The TagOption key.
10455	//
10456	// Key is a required field
10457	Key *string `min:"1" type:"string" required:"true"`
10458
10459	// The TagOption value.
10460	//
10461	// Value is a required field
10462	Value *string `min:"1" type:"string" required:"true"`
10463}
10464
10465// String returns the string representation
10466func (s CreateTagOptionInput) String() string {
10467	return awsutil.Prettify(s)
10468}
10469
10470// GoString returns the string representation
10471func (s CreateTagOptionInput) GoString() string {
10472	return s.String()
10473}
10474
10475// Validate inspects the fields of the type to determine if they are valid.
10476func (s *CreateTagOptionInput) Validate() error {
10477	invalidParams := request.ErrInvalidParams{Context: "CreateTagOptionInput"}
10478	if s.Key == nil {
10479		invalidParams.Add(request.NewErrParamRequired("Key"))
10480	}
10481	if s.Key != nil && len(*s.Key) < 1 {
10482		invalidParams.Add(request.NewErrParamMinLen("Key", 1))
10483	}
10484	if s.Value == nil {
10485		invalidParams.Add(request.NewErrParamRequired("Value"))
10486	}
10487	if s.Value != nil && len(*s.Value) < 1 {
10488		invalidParams.Add(request.NewErrParamMinLen("Value", 1))
10489	}
10490
10491	if invalidParams.Len() > 0 {
10492		return invalidParams
10493	}
10494	return nil
10495}
10496
10497// SetKey sets the Key field's value.
10498func (s *CreateTagOptionInput) SetKey(v string) *CreateTagOptionInput {
10499	s.Key = &v
10500	return s
10501}
10502
10503// SetValue sets the Value field's value.
10504func (s *CreateTagOptionInput) SetValue(v string) *CreateTagOptionInput {
10505	s.Value = &v
10506	return s
10507}
10508
10509type CreateTagOptionOutput struct {
10510	_ struct{} `type:"structure"`
10511
10512	// Information about the TagOption.
10513	TagOptionDetail *TagOptionDetail `type:"structure"`
10514}
10515
10516// String returns the string representation
10517func (s CreateTagOptionOutput) String() string {
10518	return awsutil.Prettify(s)
10519}
10520
10521// GoString returns the string representation
10522func (s CreateTagOptionOutput) GoString() string {
10523	return s.String()
10524}
10525
10526// SetTagOptionDetail sets the TagOptionDetail field's value.
10527func (s *CreateTagOptionOutput) SetTagOptionDetail(v *TagOptionDetail) *CreateTagOptionOutput {
10528	s.TagOptionDetail = v
10529	return s
10530}
10531
10532type DeleteConstraintInput struct {
10533	_ struct{} `type:"structure"`
10534
10535	// The language code.
10536	//
10537	//    * en - English (default)
10538	//
10539	//    * jp - Japanese
10540	//
10541	//    * zh - Chinese
10542	AcceptLanguage *string `type:"string"`
10543
10544	// The identifier of the constraint.
10545	//
10546	// Id is a required field
10547	Id *string `min:"1" type:"string" required:"true"`
10548}
10549
10550// String returns the string representation
10551func (s DeleteConstraintInput) String() string {
10552	return awsutil.Prettify(s)
10553}
10554
10555// GoString returns the string representation
10556func (s DeleteConstraintInput) GoString() string {
10557	return s.String()
10558}
10559
10560// Validate inspects the fields of the type to determine if they are valid.
10561func (s *DeleteConstraintInput) Validate() error {
10562	invalidParams := request.ErrInvalidParams{Context: "DeleteConstraintInput"}
10563	if s.Id == nil {
10564		invalidParams.Add(request.NewErrParamRequired("Id"))
10565	}
10566	if s.Id != nil && len(*s.Id) < 1 {
10567		invalidParams.Add(request.NewErrParamMinLen("Id", 1))
10568	}
10569
10570	if invalidParams.Len() > 0 {
10571		return invalidParams
10572	}
10573	return nil
10574}
10575
10576// SetAcceptLanguage sets the AcceptLanguage field's value.
10577func (s *DeleteConstraintInput) SetAcceptLanguage(v string) *DeleteConstraintInput {
10578	s.AcceptLanguage = &v
10579	return s
10580}
10581
10582// SetId sets the Id field's value.
10583func (s *DeleteConstraintInput) SetId(v string) *DeleteConstraintInput {
10584	s.Id = &v
10585	return s
10586}
10587
10588type DeleteConstraintOutput struct {
10589	_ struct{} `type:"structure"`
10590}
10591
10592// String returns the string representation
10593func (s DeleteConstraintOutput) String() string {
10594	return awsutil.Prettify(s)
10595}
10596
10597// GoString returns the string representation
10598func (s DeleteConstraintOutput) GoString() string {
10599	return s.String()
10600}
10601
10602type DeletePortfolioInput struct {
10603	_ struct{} `type:"structure"`
10604
10605	// The language code.
10606	//
10607	//    * en - English (default)
10608	//
10609	//    * jp - Japanese
10610	//
10611	//    * zh - Chinese
10612	AcceptLanguage *string `type:"string"`
10613
10614	// The portfolio identifier.
10615	//
10616	// Id is a required field
10617	Id *string `min:"1" type:"string" required:"true"`
10618}
10619
10620// String returns the string representation
10621func (s DeletePortfolioInput) String() string {
10622	return awsutil.Prettify(s)
10623}
10624
10625// GoString returns the string representation
10626func (s DeletePortfolioInput) GoString() string {
10627	return s.String()
10628}
10629
10630// Validate inspects the fields of the type to determine if they are valid.
10631func (s *DeletePortfolioInput) Validate() error {
10632	invalidParams := request.ErrInvalidParams{Context: "DeletePortfolioInput"}
10633	if s.Id == nil {
10634		invalidParams.Add(request.NewErrParamRequired("Id"))
10635	}
10636	if s.Id != nil && len(*s.Id) < 1 {
10637		invalidParams.Add(request.NewErrParamMinLen("Id", 1))
10638	}
10639
10640	if invalidParams.Len() > 0 {
10641		return invalidParams
10642	}
10643	return nil
10644}
10645
10646// SetAcceptLanguage sets the AcceptLanguage field's value.
10647func (s *DeletePortfolioInput) SetAcceptLanguage(v string) *DeletePortfolioInput {
10648	s.AcceptLanguage = &v
10649	return s
10650}
10651
10652// SetId sets the Id field's value.
10653func (s *DeletePortfolioInput) SetId(v string) *DeletePortfolioInput {
10654	s.Id = &v
10655	return s
10656}
10657
10658type DeletePortfolioOutput struct {
10659	_ struct{} `type:"structure"`
10660}
10661
10662// String returns the string representation
10663func (s DeletePortfolioOutput) String() string {
10664	return awsutil.Prettify(s)
10665}
10666
10667// GoString returns the string representation
10668func (s DeletePortfolioOutput) GoString() string {
10669	return s.String()
10670}
10671
10672type DeletePortfolioShareInput struct {
10673	_ struct{} `type:"structure"`
10674
10675	// The language code.
10676	//
10677	//    * en - English (default)
10678	//
10679	//    * jp - Japanese
10680	//
10681	//    * zh - Chinese
10682	AcceptLanguage *string `type:"string"`
10683
10684	// The AWS account ID.
10685	AccountId *string `type:"string"`
10686
10687	// The organization node to whom you are going to stop sharing.
10688	OrganizationNode *OrganizationNode `type:"structure"`
10689
10690	// The portfolio identifier.
10691	//
10692	// PortfolioId is a required field
10693	PortfolioId *string `min:"1" type:"string" required:"true"`
10694}
10695
10696// String returns the string representation
10697func (s DeletePortfolioShareInput) String() string {
10698	return awsutil.Prettify(s)
10699}
10700
10701// GoString returns the string representation
10702func (s DeletePortfolioShareInput) GoString() string {
10703	return s.String()
10704}
10705
10706// Validate inspects the fields of the type to determine if they are valid.
10707func (s *DeletePortfolioShareInput) Validate() error {
10708	invalidParams := request.ErrInvalidParams{Context: "DeletePortfolioShareInput"}
10709	if s.PortfolioId == nil {
10710		invalidParams.Add(request.NewErrParamRequired("PortfolioId"))
10711	}
10712	if s.PortfolioId != nil && len(*s.PortfolioId) < 1 {
10713		invalidParams.Add(request.NewErrParamMinLen("PortfolioId", 1))
10714	}
10715
10716	if invalidParams.Len() > 0 {
10717		return invalidParams
10718	}
10719	return nil
10720}
10721
10722// SetAcceptLanguage sets the AcceptLanguage field's value.
10723func (s *DeletePortfolioShareInput) SetAcceptLanguage(v string) *DeletePortfolioShareInput {
10724	s.AcceptLanguage = &v
10725	return s
10726}
10727
10728// SetAccountId sets the AccountId field's value.
10729func (s *DeletePortfolioShareInput) SetAccountId(v string) *DeletePortfolioShareInput {
10730	s.AccountId = &v
10731	return s
10732}
10733
10734// SetOrganizationNode sets the OrganizationNode field's value.
10735func (s *DeletePortfolioShareInput) SetOrganizationNode(v *OrganizationNode) *DeletePortfolioShareInput {
10736	s.OrganizationNode = v
10737	return s
10738}
10739
10740// SetPortfolioId sets the PortfolioId field's value.
10741func (s *DeletePortfolioShareInput) SetPortfolioId(v string) *DeletePortfolioShareInput {
10742	s.PortfolioId = &v
10743	return s
10744}
10745
10746type DeletePortfolioShareOutput struct {
10747	_ struct{} `type:"structure"`
10748
10749	// The portfolio share unique identifier. This will only be returned if delete
10750	// is made to an organization node.
10751	PortfolioShareToken *string `min:"1" type:"string"`
10752}
10753
10754// String returns the string representation
10755func (s DeletePortfolioShareOutput) String() string {
10756	return awsutil.Prettify(s)
10757}
10758
10759// GoString returns the string representation
10760func (s DeletePortfolioShareOutput) GoString() string {
10761	return s.String()
10762}
10763
10764// SetPortfolioShareToken sets the PortfolioShareToken field's value.
10765func (s *DeletePortfolioShareOutput) SetPortfolioShareToken(v string) *DeletePortfolioShareOutput {
10766	s.PortfolioShareToken = &v
10767	return s
10768}
10769
10770type DeleteProductInput struct {
10771	_ struct{} `type:"structure"`
10772
10773	// The language code.
10774	//
10775	//    * en - English (default)
10776	//
10777	//    * jp - Japanese
10778	//
10779	//    * zh - Chinese
10780	AcceptLanguage *string `type:"string"`
10781
10782	// The product identifier.
10783	//
10784	// Id is a required field
10785	Id *string `min:"1" type:"string" required:"true"`
10786}
10787
10788// String returns the string representation
10789func (s DeleteProductInput) String() string {
10790	return awsutil.Prettify(s)
10791}
10792
10793// GoString returns the string representation
10794func (s DeleteProductInput) GoString() string {
10795	return s.String()
10796}
10797
10798// Validate inspects the fields of the type to determine if they are valid.
10799func (s *DeleteProductInput) Validate() error {
10800	invalidParams := request.ErrInvalidParams{Context: "DeleteProductInput"}
10801	if s.Id == nil {
10802		invalidParams.Add(request.NewErrParamRequired("Id"))
10803	}
10804	if s.Id != nil && len(*s.Id) < 1 {
10805		invalidParams.Add(request.NewErrParamMinLen("Id", 1))
10806	}
10807
10808	if invalidParams.Len() > 0 {
10809		return invalidParams
10810	}
10811	return nil
10812}
10813
10814// SetAcceptLanguage sets the AcceptLanguage field's value.
10815func (s *DeleteProductInput) SetAcceptLanguage(v string) *DeleteProductInput {
10816	s.AcceptLanguage = &v
10817	return s
10818}
10819
10820// SetId sets the Id field's value.
10821func (s *DeleteProductInput) SetId(v string) *DeleteProductInput {
10822	s.Id = &v
10823	return s
10824}
10825
10826type DeleteProductOutput struct {
10827	_ struct{} `type:"structure"`
10828}
10829
10830// String returns the string representation
10831func (s DeleteProductOutput) String() string {
10832	return awsutil.Prettify(s)
10833}
10834
10835// GoString returns the string representation
10836func (s DeleteProductOutput) GoString() string {
10837	return s.String()
10838}
10839
10840type DeleteProvisionedProductPlanInput struct {
10841	_ struct{} `type:"structure"`
10842
10843	// The language code.
10844	//
10845	//    * en - English (default)
10846	//
10847	//    * jp - Japanese
10848	//
10849	//    * zh - Chinese
10850	AcceptLanguage *string `type:"string"`
10851
10852	// If set to true, AWS Service Catalog stops managing the specified provisioned
10853	// product even if it cannot delete the underlying resources.
10854	IgnoreErrors *bool `type:"boolean"`
10855
10856	// The plan identifier.
10857	//
10858	// PlanId is a required field
10859	PlanId *string `min:"1" type:"string" required:"true"`
10860}
10861
10862// String returns the string representation
10863func (s DeleteProvisionedProductPlanInput) String() string {
10864	return awsutil.Prettify(s)
10865}
10866
10867// GoString returns the string representation
10868func (s DeleteProvisionedProductPlanInput) GoString() string {
10869	return s.String()
10870}
10871
10872// Validate inspects the fields of the type to determine if they are valid.
10873func (s *DeleteProvisionedProductPlanInput) Validate() error {
10874	invalidParams := request.ErrInvalidParams{Context: "DeleteProvisionedProductPlanInput"}
10875	if s.PlanId == nil {
10876		invalidParams.Add(request.NewErrParamRequired("PlanId"))
10877	}
10878	if s.PlanId != nil && len(*s.PlanId) < 1 {
10879		invalidParams.Add(request.NewErrParamMinLen("PlanId", 1))
10880	}
10881
10882	if invalidParams.Len() > 0 {
10883		return invalidParams
10884	}
10885	return nil
10886}
10887
10888// SetAcceptLanguage sets the AcceptLanguage field's value.
10889func (s *DeleteProvisionedProductPlanInput) SetAcceptLanguage(v string) *DeleteProvisionedProductPlanInput {
10890	s.AcceptLanguage = &v
10891	return s
10892}
10893
10894// SetIgnoreErrors sets the IgnoreErrors field's value.
10895func (s *DeleteProvisionedProductPlanInput) SetIgnoreErrors(v bool) *DeleteProvisionedProductPlanInput {
10896	s.IgnoreErrors = &v
10897	return s
10898}
10899
10900// SetPlanId sets the PlanId field's value.
10901func (s *DeleteProvisionedProductPlanInput) SetPlanId(v string) *DeleteProvisionedProductPlanInput {
10902	s.PlanId = &v
10903	return s
10904}
10905
10906type DeleteProvisionedProductPlanOutput struct {
10907	_ struct{} `type:"structure"`
10908}
10909
10910// String returns the string representation
10911func (s DeleteProvisionedProductPlanOutput) String() string {
10912	return awsutil.Prettify(s)
10913}
10914
10915// GoString returns the string representation
10916func (s DeleteProvisionedProductPlanOutput) GoString() string {
10917	return s.String()
10918}
10919
10920type DeleteProvisioningArtifactInput struct {
10921	_ struct{} `type:"structure"`
10922
10923	// The language code.
10924	//
10925	//    * en - English (default)
10926	//
10927	//    * jp - Japanese
10928	//
10929	//    * zh - Chinese
10930	AcceptLanguage *string `type:"string"`
10931
10932	// The product identifier.
10933	//
10934	// ProductId is a required field
10935	ProductId *string `min:"1" type:"string" required:"true"`
10936
10937	// The identifier of the provisioning artifact.
10938	//
10939	// ProvisioningArtifactId is a required field
10940	ProvisioningArtifactId *string `min:"1" type:"string" required:"true"`
10941}
10942
10943// String returns the string representation
10944func (s DeleteProvisioningArtifactInput) String() string {
10945	return awsutil.Prettify(s)
10946}
10947
10948// GoString returns the string representation
10949func (s DeleteProvisioningArtifactInput) GoString() string {
10950	return s.String()
10951}
10952
10953// Validate inspects the fields of the type to determine if they are valid.
10954func (s *DeleteProvisioningArtifactInput) Validate() error {
10955	invalidParams := request.ErrInvalidParams{Context: "DeleteProvisioningArtifactInput"}
10956	if s.ProductId == nil {
10957		invalidParams.Add(request.NewErrParamRequired("ProductId"))
10958	}
10959	if s.ProductId != nil && len(*s.ProductId) < 1 {
10960		invalidParams.Add(request.NewErrParamMinLen("ProductId", 1))
10961	}
10962	if s.ProvisioningArtifactId == nil {
10963		invalidParams.Add(request.NewErrParamRequired("ProvisioningArtifactId"))
10964	}
10965	if s.ProvisioningArtifactId != nil && len(*s.ProvisioningArtifactId) < 1 {
10966		invalidParams.Add(request.NewErrParamMinLen("ProvisioningArtifactId", 1))
10967	}
10968
10969	if invalidParams.Len() > 0 {
10970		return invalidParams
10971	}
10972	return nil
10973}
10974
10975// SetAcceptLanguage sets the AcceptLanguage field's value.
10976func (s *DeleteProvisioningArtifactInput) SetAcceptLanguage(v string) *DeleteProvisioningArtifactInput {
10977	s.AcceptLanguage = &v
10978	return s
10979}
10980
10981// SetProductId sets the ProductId field's value.
10982func (s *DeleteProvisioningArtifactInput) SetProductId(v string) *DeleteProvisioningArtifactInput {
10983	s.ProductId = &v
10984	return s
10985}
10986
10987// SetProvisioningArtifactId sets the ProvisioningArtifactId field's value.
10988func (s *DeleteProvisioningArtifactInput) SetProvisioningArtifactId(v string) *DeleteProvisioningArtifactInput {
10989	s.ProvisioningArtifactId = &v
10990	return s
10991}
10992
10993type DeleteProvisioningArtifactOutput struct {
10994	_ struct{} `type:"structure"`
10995}
10996
10997// String returns the string representation
10998func (s DeleteProvisioningArtifactOutput) String() string {
10999	return awsutil.Prettify(s)
11000}
11001
11002// GoString returns the string representation
11003func (s DeleteProvisioningArtifactOutput) GoString() string {
11004	return s.String()
11005}
11006
11007type DeleteServiceActionInput struct {
11008	_ struct{} `type:"structure"`
11009
11010	// The language code.
11011	//
11012	//    * en - English (default)
11013	//
11014	//    * jp - Japanese
11015	//
11016	//    * zh - Chinese
11017	AcceptLanguage *string `type:"string"`
11018
11019	// The self-service action identifier. For example, act-fs7abcd89wxyz.
11020	//
11021	// Id is a required field
11022	Id *string `min:"1" type:"string" required:"true"`
11023}
11024
11025// String returns the string representation
11026func (s DeleteServiceActionInput) String() string {
11027	return awsutil.Prettify(s)
11028}
11029
11030// GoString returns the string representation
11031func (s DeleteServiceActionInput) GoString() string {
11032	return s.String()
11033}
11034
11035// Validate inspects the fields of the type to determine if they are valid.
11036func (s *DeleteServiceActionInput) Validate() error {
11037	invalidParams := request.ErrInvalidParams{Context: "DeleteServiceActionInput"}
11038	if s.Id == nil {
11039		invalidParams.Add(request.NewErrParamRequired("Id"))
11040	}
11041	if s.Id != nil && len(*s.Id) < 1 {
11042		invalidParams.Add(request.NewErrParamMinLen("Id", 1))
11043	}
11044
11045	if invalidParams.Len() > 0 {
11046		return invalidParams
11047	}
11048	return nil
11049}
11050
11051// SetAcceptLanguage sets the AcceptLanguage field's value.
11052func (s *DeleteServiceActionInput) SetAcceptLanguage(v string) *DeleteServiceActionInput {
11053	s.AcceptLanguage = &v
11054	return s
11055}
11056
11057// SetId sets the Id field's value.
11058func (s *DeleteServiceActionInput) SetId(v string) *DeleteServiceActionInput {
11059	s.Id = &v
11060	return s
11061}
11062
11063type DeleteServiceActionOutput struct {
11064	_ struct{} `type:"structure"`
11065}
11066
11067// String returns the string representation
11068func (s DeleteServiceActionOutput) String() string {
11069	return awsutil.Prettify(s)
11070}
11071
11072// GoString returns the string representation
11073func (s DeleteServiceActionOutput) GoString() string {
11074	return s.String()
11075}
11076
11077type DeleteTagOptionInput struct {
11078	_ struct{} `type:"structure"`
11079
11080	// The TagOption identifier.
11081	//
11082	// Id is a required field
11083	Id *string `min:"1" type:"string" required:"true"`
11084}
11085
11086// String returns the string representation
11087func (s DeleteTagOptionInput) String() string {
11088	return awsutil.Prettify(s)
11089}
11090
11091// GoString returns the string representation
11092func (s DeleteTagOptionInput) GoString() string {
11093	return s.String()
11094}
11095
11096// Validate inspects the fields of the type to determine if they are valid.
11097func (s *DeleteTagOptionInput) Validate() error {
11098	invalidParams := request.ErrInvalidParams{Context: "DeleteTagOptionInput"}
11099	if s.Id == nil {
11100		invalidParams.Add(request.NewErrParamRequired("Id"))
11101	}
11102	if s.Id != nil && len(*s.Id) < 1 {
11103		invalidParams.Add(request.NewErrParamMinLen("Id", 1))
11104	}
11105
11106	if invalidParams.Len() > 0 {
11107		return invalidParams
11108	}
11109	return nil
11110}
11111
11112// SetId sets the Id field's value.
11113func (s *DeleteTagOptionInput) SetId(v string) *DeleteTagOptionInput {
11114	s.Id = &v
11115	return s
11116}
11117
11118type DeleteTagOptionOutput struct {
11119	_ struct{} `type:"structure"`
11120}
11121
11122// String returns the string representation
11123func (s DeleteTagOptionOutput) String() string {
11124	return awsutil.Prettify(s)
11125}
11126
11127// GoString returns the string representation
11128func (s DeleteTagOptionOutput) GoString() string {
11129	return s.String()
11130}
11131
11132type DescribeConstraintInput struct {
11133	_ struct{} `type:"structure"`
11134
11135	// The language code.
11136	//
11137	//    * en - English (default)
11138	//
11139	//    * jp - Japanese
11140	//
11141	//    * zh - Chinese
11142	AcceptLanguage *string `type:"string"`
11143
11144	// The identifier of the constraint.
11145	//
11146	// Id is a required field
11147	Id *string `min:"1" type:"string" required:"true"`
11148}
11149
11150// String returns the string representation
11151func (s DescribeConstraintInput) String() string {
11152	return awsutil.Prettify(s)
11153}
11154
11155// GoString returns the string representation
11156func (s DescribeConstraintInput) GoString() string {
11157	return s.String()
11158}
11159
11160// Validate inspects the fields of the type to determine if they are valid.
11161func (s *DescribeConstraintInput) Validate() error {
11162	invalidParams := request.ErrInvalidParams{Context: "DescribeConstraintInput"}
11163	if s.Id == nil {
11164		invalidParams.Add(request.NewErrParamRequired("Id"))
11165	}
11166	if s.Id != nil && len(*s.Id) < 1 {
11167		invalidParams.Add(request.NewErrParamMinLen("Id", 1))
11168	}
11169
11170	if invalidParams.Len() > 0 {
11171		return invalidParams
11172	}
11173	return nil
11174}
11175
11176// SetAcceptLanguage sets the AcceptLanguage field's value.
11177func (s *DescribeConstraintInput) SetAcceptLanguage(v string) *DescribeConstraintInput {
11178	s.AcceptLanguage = &v
11179	return s
11180}
11181
11182// SetId sets the Id field's value.
11183func (s *DescribeConstraintInput) SetId(v string) *DescribeConstraintInput {
11184	s.Id = &v
11185	return s
11186}
11187
11188type DescribeConstraintOutput struct {
11189	_ struct{} `type:"structure"`
11190
11191	// Information about the constraint.
11192	ConstraintDetail *ConstraintDetail `type:"structure"`
11193
11194	// The constraint parameters.
11195	ConstraintParameters *string `type:"string"`
11196
11197	// The status of the current request.
11198	Status *string `type:"string" enum:"Status"`
11199}
11200
11201// String returns the string representation
11202func (s DescribeConstraintOutput) String() string {
11203	return awsutil.Prettify(s)
11204}
11205
11206// GoString returns the string representation
11207func (s DescribeConstraintOutput) GoString() string {
11208	return s.String()
11209}
11210
11211// SetConstraintDetail sets the ConstraintDetail field's value.
11212func (s *DescribeConstraintOutput) SetConstraintDetail(v *ConstraintDetail) *DescribeConstraintOutput {
11213	s.ConstraintDetail = v
11214	return s
11215}
11216
11217// SetConstraintParameters sets the ConstraintParameters field's value.
11218func (s *DescribeConstraintOutput) SetConstraintParameters(v string) *DescribeConstraintOutput {
11219	s.ConstraintParameters = &v
11220	return s
11221}
11222
11223// SetStatus sets the Status field's value.
11224func (s *DescribeConstraintOutput) SetStatus(v string) *DescribeConstraintOutput {
11225	s.Status = &v
11226	return s
11227}
11228
11229type DescribeCopyProductStatusInput struct {
11230	_ struct{} `type:"structure"`
11231
11232	// The language code.
11233	//
11234	//    * en - English (default)
11235	//
11236	//    * jp - Japanese
11237	//
11238	//    * zh - Chinese
11239	AcceptLanguage *string `type:"string"`
11240
11241	// The token for the copy product operation. This token is returned by CopyProduct.
11242	//
11243	// CopyProductToken is a required field
11244	CopyProductToken *string `min:"1" type:"string" required:"true"`
11245}
11246
11247// String returns the string representation
11248func (s DescribeCopyProductStatusInput) String() string {
11249	return awsutil.Prettify(s)
11250}
11251
11252// GoString returns the string representation
11253func (s DescribeCopyProductStatusInput) GoString() string {
11254	return s.String()
11255}
11256
11257// Validate inspects the fields of the type to determine if they are valid.
11258func (s *DescribeCopyProductStatusInput) Validate() error {
11259	invalidParams := request.ErrInvalidParams{Context: "DescribeCopyProductStatusInput"}
11260	if s.CopyProductToken == nil {
11261		invalidParams.Add(request.NewErrParamRequired("CopyProductToken"))
11262	}
11263	if s.CopyProductToken != nil && len(*s.CopyProductToken) < 1 {
11264		invalidParams.Add(request.NewErrParamMinLen("CopyProductToken", 1))
11265	}
11266
11267	if invalidParams.Len() > 0 {
11268		return invalidParams
11269	}
11270	return nil
11271}
11272
11273// SetAcceptLanguage sets the AcceptLanguage field's value.
11274func (s *DescribeCopyProductStatusInput) SetAcceptLanguage(v string) *DescribeCopyProductStatusInput {
11275	s.AcceptLanguage = &v
11276	return s
11277}
11278
11279// SetCopyProductToken sets the CopyProductToken field's value.
11280func (s *DescribeCopyProductStatusInput) SetCopyProductToken(v string) *DescribeCopyProductStatusInput {
11281	s.CopyProductToken = &v
11282	return s
11283}
11284
11285type DescribeCopyProductStatusOutput struct {
11286	_ struct{} `type:"structure"`
11287
11288	// The status of the copy product operation.
11289	CopyProductStatus *string `type:"string" enum:"CopyProductStatus"`
11290
11291	// The status message.
11292	StatusDetail *string `type:"string"`
11293
11294	// The identifier of the copied product.
11295	TargetProductId *string `min:"1" type:"string"`
11296}
11297
11298// String returns the string representation
11299func (s DescribeCopyProductStatusOutput) String() string {
11300	return awsutil.Prettify(s)
11301}
11302
11303// GoString returns the string representation
11304func (s DescribeCopyProductStatusOutput) GoString() string {
11305	return s.String()
11306}
11307
11308// SetCopyProductStatus sets the CopyProductStatus field's value.
11309func (s *DescribeCopyProductStatusOutput) SetCopyProductStatus(v string) *DescribeCopyProductStatusOutput {
11310	s.CopyProductStatus = &v
11311	return s
11312}
11313
11314// SetStatusDetail sets the StatusDetail field's value.
11315func (s *DescribeCopyProductStatusOutput) SetStatusDetail(v string) *DescribeCopyProductStatusOutput {
11316	s.StatusDetail = &v
11317	return s
11318}
11319
11320// SetTargetProductId sets the TargetProductId field's value.
11321func (s *DescribeCopyProductStatusOutput) SetTargetProductId(v string) *DescribeCopyProductStatusOutput {
11322	s.TargetProductId = &v
11323	return s
11324}
11325
11326type DescribePortfolioInput struct {
11327	_ struct{} `type:"structure"`
11328
11329	// The language code.
11330	//
11331	//    * en - English (default)
11332	//
11333	//    * jp - Japanese
11334	//
11335	//    * zh - Chinese
11336	AcceptLanguage *string `type:"string"`
11337
11338	// The portfolio identifier.
11339	//
11340	// Id is a required field
11341	Id *string `min:"1" type:"string" required:"true"`
11342}
11343
11344// String returns the string representation
11345func (s DescribePortfolioInput) String() string {
11346	return awsutil.Prettify(s)
11347}
11348
11349// GoString returns the string representation
11350func (s DescribePortfolioInput) GoString() string {
11351	return s.String()
11352}
11353
11354// Validate inspects the fields of the type to determine if they are valid.
11355func (s *DescribePortfolioInput) Validate() error {
11356	invalidParams := request.ErrInvalidParams{Context: "DescribePortfolioInput"}
11357	if s.Id == nil {
11358		invalidParams.Add(request.NewErrParamRequired("Id"))
11359	}
11360	if s.Id != nil && len(*s.Id) < 1 {
11361		invalidParams.Add(request.NewErrParamMinLen("Id", 1))
11362	}
11363
11364	if invalidParams.Len() > 0 {
11365		return invalidParams
11366	}
11367	return nil
11368}
11369
11370// SetAcceptLanguage sets the AcceptLanguage field's value.
11371func (s *DescribePortfolioInput) SetAcceptLanguage(v string) *DescribePortfolioInput {
11372	s.AcceptLanguage = &v
11373	return s
11374}
11375
11376// SetId sets the Id field's value.
11377func (s *DescribePortfolioInput) SetId(v string) *DescribePortfolioInput {
11378	s.Id = &v
11379	return s
11380}
11381
11382type DescribePortfolioOutput struct {
11383	_ struct{} `type:"structure"`
11384
11385	// Information about the associated budgets.
11386	Budgets []*BudgetDetail `type:"list"`
11387
11388	// Information about the portfolio.
11389	PortfolioDetail *PortfolioDetail `type:"structure"`
11390
11391	// Information about the TagOptions associated with the portfolio.
11392	TagOptions []*TagOptionDetail `type:"list"`
11393
11394	// Information about the tags associated with the portfolio.
11395	Tags []*Tag `type:"list"`
11396}
11397
11398// String returns the string representation
11399func (s DescribePortfolioOutput) String() string {
11400	return awsutil.Prettify(s)
11401}
11402
11403// GoString returns the string representation
11404func (s DescribePortfolioOutput) GoString() string {
11405	return s.String()
11406}
11407
11408// SetBudgets sets the Budgets field's value.
11409func (s *DescribePortfolioOutput) SetBudgets(v []*BudgetDetail) *DescribePortfolioOutput {
11410	s.Budgets = v
11411	return s
11412}
11413
11414// SetPortfolioDetail sets the PortfolioDetail field's value.
11415func (s *DescribePortfolioOutput) SetPortfolioDetail(v *PortfolioDetail) *DescribePortfolioOutput {
11416	s.PortfolioDetail = v
11417	return s
11418}
11419
11420// SetTagOptions sets the TagOptions field's value.
11421func (s *DescribePortfolioOutput) SetTagOptions(v []*TagOptionDetail) *DescribePortfolioOutput {
11422	s.TagOptions = v
11423	return s
11424}
11425
11426// SetTags sets the Tags field's value.
11427func (s *DescribePortfolioOutput) SetTags(v []*Tag) *DescribePortfolioOutput {
11428	s.Tags = v
11429	return s
11430}
11431
11432type DescribePortfolioShareStatusInput struct {
11433	_ struct{} `type:"structure"`
11434
11435	// The token for the portfolio share operation. This token is returned either
11436	// by CreatePortfolioShare or by DeletePortfolioShare.
11437	//
11438	// PortfolioShareToken is a required field
11439	PortfolioShareToken *string `min:"1" type:"string" required:"true"`
11440}
11441
11442// String returns the string representation
11443func (s DescribePortfolioShareStatusInput) String() string {
11444	return awsutil.Prettify(s)
11445}
11446
11447// GoString returns the string representation
11448func (s DescribePortfolioShareStatusInput) GoString() string {
11449	return s.String()
11450}
11451
11452// Validate inspects the fields of the type to determine if they are valid.
11453func (s *DescribePortfolioShareStatusInput) Validate() error {
11454	invalidParams := request.ErrInvalidParams{Context: "DescribePortfolioShareStatusInput"}
11455	if s.PortfolioShareToken == nil {
11456		invalidParams.Add(request.NewErrParamRequired("PortfolioShareToken"))
11457	}
11458	if s.PortfolioShareToken != nil && len(*s.PortfolioShareToken) < 1 {
11459		invalidParams.Add(request.NewErrParamMinLen("PortfolioShareToken", 1))
11460	}
11461
11462	if invalidParams.Len() > 0 {
11463		return invalidParams
11464	}
11465	return nil
11466}
11467
11468// SetPortfolioShareToken sets the PortfolioShareToken field's value.
11469func (s *DescribePortfolioShareStatusInput) SetPortfolioShareToken(v string) *DescribePortfolioShareStatusInput {
11470	s.PortfolioShareToken = &v
11471	return s
11472}
11473
11474type DescribePortfolioShareStatusOutput struct {
11475	_ struct{} `type:"structure"`
11476
11477	// Organization node identifier. It can be either account id, organizational
11478	// unit id or organization id.
11479	OrganizationNodeValue *string `type:"string"`
11480
11481	// The portfolio identifier.
11482	PortfolioId *string `min:"1" type:"string"`
11483
11484	// The token for the portfolio share operation. For example, share-6v24abcdefghi.
11485	PortfolioShareToken *string `min:"1" type:"string"`
11486
11487	// Information about the portfolio share operation.
11488	ShareDetails *ShareDetails `type:"structure"`
11489
11490	// Status of the portfolio share operation.
11491	Status *string `type:"string" enum:"ShareStatus"`
11492}
11493
11494// String returns the string representation
11495func (s DescribePortfolioShareStatusOutput) String() string {
11496	return awsutil.Prettify(s)
11497}
11498
11499// GoString returns the string representation
11500func (s DescribePortfolioShareStatusOutput) GoString() string {
11501	return s.String()
11502}
11503
11504// SetOrganizationNodeValue sets the OrganizationNodeValue field's value.
11505func (s *DescribePortfolioShareStatusOutput) SetOrganizationNodeValue(v string) *DescribePortfolioShareStatusOutput {
11506	s.OrganizationNodeValue = &v
11507	return s
11508}
11509
11510// SetPortfolioId sets the PortfolioId field's value.
11511func (s *DescribePortfolioShareStatusOutput) SetPortfolioId(v string) *DescribePortfolioShareStatusOutput {
11512	s.PortfolioId = &v
11513	return s
11514}
11515
11516// SetPortfolioShareToken sets the PortfolioShareToken field's value.
11517func (s *DescribePortfolioShareStatusOutput) SetPortfolioShareToken(v string) *DescribePortfolioShareStatusOutput {
11518	s.PortfolioShareToken = &v
11519	return s
11520}
11521
11522// SetShareDetails sets the ShareDetails field's value.
11523func (s *DescribePortfolioShareStatusOutput) SetShareDetails(v *ShareDetails) *DescribePortfolioShareStatusOutput {
11524	s.ShareDetails = v
11525	return s
11526}
11527
11528// SetStatus sets the Status field's value.
11529func (s *DescribePortfolioShareStatusOutput) SetStatus(v string) *DescribePortfolioShareStatusOutput {
11530	s.Status = &v
11531	return s
11532}
11533
11534type DescribeProductAsAdminInput struct {
11535	_ struct{} `type:"structure"`
11536
11537	// The language code.
11538	//
11539	//    * en - English (default)
11540	//
11541	//    * jp - Japanese
11542	//
11543	//    * zh - Chinese
11544	AcceptLanguage *string `type:"string"`
11545
11546	// The product identifier.
11547	Id *string `min:"1" type:"string"`
11548
11549	// The product name.
11550	Name *string `type:"string"`
11551}
11552
11553// String returns the string representation
11554func (s DescribeProductAsAdminInput) String() string {
11555	return awsutil.Prettify(s)
11556}
11557
11558// GoString returns the string representation
11559func (s DescribeProductAsAdminInput) GoString() string {
11560	return s.String()
11561}
11562
11563// Validate inspects the fields of the type to determine if they are valid.
11564func (s *DescribeProductAsAdminInput) Validate() error {
11565	invalidParams := request.ErrInvalidParams{Context: "DescribeProductAsAdminInput"}
11566	if s.Id != nil && len(*s.Id) < 1 {
11567		invalidParams.Add(request.NewErrParamMinLen("Id", 1))
11568	}
11569
11570	if invalidParams.Len() > 0 {
11571		return invalidParams
11572	}
11573	return nil
11574}
11575
11576// SetAcceptLanguage sets the AcceptLanguage field's value.
11577func (s *DescribeProductAsAdminInput) SetAcceptLanguage(v string) *DescribeProductAsAdminInput {
11578	s.AcceptLanguage = &v
11579	return s
11580}
11581
11582// SetId sets the Id field's value.
11583func (s *DescribeProductAsAdminInput) SetId(v string) *DescribeProductAsAdminInput {
11584	s.Id = &v
11585	return s
11586}
11587
11588// SetName sets the Name field's value.
11589func (s *DescribeProductAsAdminInput) SetName(v string) *DescribeProductAsAdminInput {
11590	s.Name = &v
11591	return s
11592}
11593
11594type DescribeProductAsAdminOutput struct {
11595	_ struct{} `type:"structure"`
11596
11597	// Information about the associated budgets.
11598	Budgets []*BudgetDetail `type:"list"`
11599
11600	// Information about the product view.
11601	ProductViewDetail *ProductViewDetail `type:"structure"`
11602
11603	// Information about the provisioning artifacts (also known as versions) for
11604	// the specified product.
11605	ProvisioningArtifactSummaries []*ProvisioningArtifactSummary `type:"list"`
11606
11607	// Information about the TagOptions associated with the product.
11608	TagOptions []*TagOptionDetail `type:"list"`
11609
11610	// Information about the tags associated with the product.
11611	Tags []*Tag `type:"list"`
11612}
11613
11614// String returns the string representation
11615func (s DescribeProductAsAdminOutput) String() string {
11616	return awsutil.Prettify(s)
11617}
11618
11619// GoString returns the string representation
11620func (s DescribeProductAsAdminOutput) GoString() string {
11621	return s.String()
11622}
11623
11624// SetBudgets sets the Budgets field's value.
11625func (s *DescribeProductAsAdminOutput) SetBudgets(v []*BudgetDetail) *DescribeProductAsAdminOutput {
11626	s.Budgets = v
11627	return s
11628}
11629
11630// SetProductViewDetail sets the ProductViewDetail field's value.
11631func (s *DescribeProductAsAdminOutput) SetProductViewDetail(v *ProductViewDetail) *DescribeProductAsAdminOutput {
11632	s.ProductViewDetail = v
11633	return s
11634}
11635
11636// SetProvisioningArtifactSummaries sets the ProvisioningArtifactSummaries field's value.
11637func (s *DescribeProductAsAdminOutput) SetProvisioningArtifactSummaries(v []*ProvisioningArtifactSummary) *DescribeProductAsAdminOutput {
11638	s.ProvisioningArtifactSummaries = v
11639	return s
11640}
11641
11642// SetTagOptions sets the TagOptions field's value.
11643func (s *DescribeProductAsAdminOutput) SetTagOptions(v []*TagOptionDetail) *DescribeProductAsAdminOutput {
11644	s.TagOptions = v
11645	return s
11646}
11647
11648// SetTags sets the Tags field's value.
11649func (s *DescribeProductAsAdminOutput) SetTags(v []*Tag) *DescribeProductAsAdminOutput {
11650	s.Tags = v
11651	return s
11652}
11653
11654type DescribeProductInput struct {
11655	_ struct{} `type:"structure"`
11656
11657	// The language code.
11658	//
11659	//    * en - English (default)
11660	//
11661	//    * jp - Japanese
11662	//
11663	//    * zh - Chinese
11664	AcceptLanguage *string `type:"string"`
11665
11666	// The product identifier.
11667	Id *string `min:"1" type:"string"`
11668
11669	// The product name.
11670	Name *string `type:"string"`
11671}
11672
11673// String returns the string representation
11674func (s DescribeProductInput) String() string {
11675	return awsutil.Prettify(s)
11676}
11677
11678// GoString returns the string representation
11679func (s DescribeProductInput) GoString() string {
11680	return s.String()
11681}
11682
11683// Validate inspects the fields of the type to determine if they are valid.
11684func (s *DescribeProductInput) Validate() error {
11685	invalidParams := request.ErrInvalidParams{Context: "DescribeProductInput"}
11686	if s.Id != nil && len(*s.Id) < 1 {
11687		invalidParams.Add(request.NewErrParamMinLen("Id", 1))
11688	}
11689
11690	if invalidParams.Len() > 0 {
11691		return invalidParams
11692	}
11693	return nil
11694}
11695
11696// SetAcceptLanguage sets the AcceptLanguage field's value.
11697func (s *DescribeProductInput) SetAcceptLanguage(v string) *DescribeProductInput {
11698	s.AcceptLanguage = &v
11699	return s
11700}
11701
11702// SetId sets the Id field's value.
11703func (s *DescribeProductInput) SetId(v string) *DescribeProductInput {
11704	s.Id = &v
11705	return s
11706}
11707
11708// SetName sets the Name field's value.
11709func (s *DescribeProductInput) SetName(v string) *DescribeProductInput {
11710	s.Name = &v
11711	return s
11712}
11713
11714type DescribeProductOutput struct {
11715	_ struct{} `type:"structure"`
11716
11717	// Information about the associated budgets.
11718	Budgets []*BudgetDetail `type:"list"`
11719
11720	// Information about the associated launch paths.
11721	LaunchPaths []*LaunchPath `type:"list"`
11722
11723	// Summary information about the product view.
11724	ProductViewSummary *ProductViewSummary `type:"structure"`
11725
11726	// Information about the provisioning artifacts for the specified product.
11727	ProvisioningArtifacts []*ProvisioningArtifact `type:"list"`
11728}
11729
11730// String returns the string representation
11731func (s DescribeProductOutput) String() string {
11732	return awsutil.Prettify(s)
11733}
11734
11735// GoString returns the string representation
11736func (s DescribeProductOutput) GoString() string {
11737	return s.String()
11738}
11739
11740// SetBudgets sets the Budgets field's value.
11741func (s *DescribeProductOutput) SetBudgets(v []*BudgetDetail) *DescribeProductOutput {
11742	s.Budgets = v
11743	return s
11744}
11745
11746// SetLaunchPaths sets the LaunchPaths field's value.
11747func (s *DescribeProductOutput) SetLaunchPaths(v []*LaunchPath) *DescribeProductOutput {
11748	s.LaunchPaths = v
11749	return s
11750}
11751
11752// SetProductViewSummary sets the ProductViewSummary field's value.
11753func (s *DescribeProductOutput) SetProductViewSummary(v *ProductViewSummary) *DescribeProductOutput {
11754	s.ProductViewSummary = v
11755	return s
11756}
11757
11758// SetProvisioningArtifacts sets the ProvisioningArtifacts field's value.
11759func (s *DescribeProductOutput) SetProvisioningArtifacts(v []*ProvisioningArtifact) *DescribeProductOutput {
11760	s.ProvisioningArtifacts = v
11761	return s
11762}
11763
11764type DescribeProductViewInput struct {
11765	_ struct{} `type:"structure"`
11766
11767	// The language code.
11768	//
11769	//    * en - English (default)
11770	//
11771	//    * jp - Japanese
11772	//
11773	//    * zh - Chinese
11774	AcceptLanguage *string `type:"string"`
11775
11776	// The product view identifier.
11777	//
11778	// Id is a required field
11779	Id *string `min:"1" type:"string" required:"true"`
11780}
11781
11782// String returns the string representation
11783func (s DescribeProductViewInput) String() string {
11784	return awsutil.Prettify(s)
11785}
11786
11787// GoString returns the string representation
11788func (s DescribeProductViewInput) GoString() string {
11789	return s.String()
11790}
11791
11792// Validate inspects the fields of the type to determine if they are valid.
11793func (s *DescribeProductViewInput) Validate() error {
11794	invalidParams := request.ErrInvalidParams{Context: "DescribeProductViewInput"}
11795	if s.Id == nil {
11796		invalidParams.Add(request.NewErrParamRequired("Id"))
11797	}
11798	if s.Id != nil && len(*s.Id) < 1 {
11799		invalidParams.Add(request.NewErrParamMinLen("Id", 1))
11800	}
11801
11802	if invalidParams.Len() > 0 {
11803		return invalidParams
11804	}
11805	return nil
11806}
11807
11808// SetAcceptLanguage sets the AcceptLanguage field's value.
11809func (s *DescribeProductViewInput) SetAcceptLanguage(v string) *DescribeProductViewInput {
11810	s.AcceptLanguage = &v
11811	return s
11812}
11813
11814// SetId sets the Id field's value.
11815func (s *DescribeProductViewInput) SetId(v string) *DescribeProductViewInput {
11816	s.Id = &v
11817	return s
11818}
11819
11820type DescribeProductViewOutput struct {
11821	_ struct{} `type:"structure"`
11822
11823	// Summary information about the product.
11824	ProductViewSummary *ProductViewSummary `type:"structure"`
11825
11826	// Information about the provisioning artifacts for the product.
11827	ProvisioningArtifacts []*ProvisioningArtifact `type:"list"`
11828}
11829
11830// String returns the string representation
11831func (s DescribeProductViewOutput) String() string {
11832	return awsutil.Prettify(s)
11833}
11834
11835// GoString returns the string representation
11836func (s DescribeProductViewOutput) GoString() string {
11837	return s.String()
11838}
11839
11840// SetProductViewSummary sets the ProductViewSummary field's value.
11841func (s *DescribeProductViewOutput) SetProductViewSummary(v *ProductViewSummary) *DescribeProductViewOutput {
11842	s.ProductViewSummary = v
11843	return s
11844}
11845
11846// SetProvisioningArtifacts sets the ProvisioningArtifacts field's value.
11847func (s *DescribeProductViewOutput) SetProvisioningArtifacts(v []*ProvisioningArtifact) *DescribeProductViewOutput {
11848	s.ProvisioningArtifacts = v
11849	return s
11850}
11851
11852type DescribeProvisionedProductInput struct {
11853	_ struct{} `type:"structure"`
11854
11855	// The language code.
11856	//
11857	//    * en - English (default)
11858	//
11859	//    * jp - Japanese
11860	//
11861	//    * zh - Chinese
11862	AcceptLanguage *string `type:"string"`
11863
11864	// The provisioned product identifier.
11865	//
11866	// Id is a required field
11867	Id *string `min:"1" type:"string" required:"true"`
11868}
11869
11870// String returns the string representation
11871func (s DescribeProvisionedProductInput) String() string {
11872	return awsutil.Prettify(s)
11873}
11874
11875// GoString returns the string representation
11876func (s DescribeProvisionedProductInput) GoString() string {
11877	return s.String()
11878}
11879
11880// Validate inspects the fields of the type to determine if they are valid.
11881func (s *DescribeProvisionedProductInput) Validate() error {
11882	invalidParams := request.ErrInvalidParams{Context: "DescribeProvisionedProductInput"}
11883	if s.Id == nil {
11884		invalidParams.Add(request.NewErrParamRequired("Id"))
11885	}
11886	if s.Id != nil && len(*s.Id) < 1 {
11887		invalidParams.Add(request.NewErrParamMinLen("Id", 1))
11888	}
11889
11890	if invalidParams.Len() > 0 {
11891		return invalidParams
11892	}
11893	return nil
11894}
11895
11896// SetAcceptLanguage sets the AcceptLanguage field's value.
11897func (s *DescribeProvisionedProductInput) SetAcceptLanguage(v string) *DescribeProvisionedProductInput {
11898	s.AcceptLanguage = &v
11899	return s
11900}
11901
11902// SetId sets the Id field's value.
11903func (s *DescribeProvisionedProductInput) SetId(v string) *DescribeProvisionedProductInput {
11904	s.Id = &v
11905	return s
11906}
11907
11908type DescribeProvisionedProductOutput struct {
11909	_ struct{} `type:"structure"`
11910
11911	// Any CloudWatch dashboards that were created when provisioning the product.
11912	CloudWatchDashboards []*CloudWatchDashboard `type:"list"`
11913
11914	// Information about the provisioned product.
11915	ProvisionedProductDetail *ProvisionedProductDetail `type:"structure"`
11916}
11917
11918// String returns the string representation
11919func (s DescribeProvisionedProductOutput) String() string {
11920	return awsutil.Prettify(s)
11921}
11922
11923// GoString returns the string representation
11924func (s DescribeProvisionedProductOutput) GoString() string {
11925	return s.String()
11926}
11927
11928// SetCloudWatchDashboards sets the CloudWatchDashboards field's value.
11929func (s *DescribeProvisionedProductOutput) SetCloudWatchDashboards(v []*CloudWatchDashboard) *DescribeProvisionedProductOutput {
11930	s.CloudWatchDashboards = v
11931	return s
11932}
11933
11934// SetProvisionedProductDetail sets the ProvisionedProductDetail field's value.
11935func (s *DescribeProvisionedProductOutput) SetProvisionedProductDetail(v *ProvisionedProductDetail) *DescribeProvisionedProductOutput {
11936	s.ProvisionedProductDetail = v
11937	return s
11938}
11939
11940type DescribeProvisionedProductPlanInput struct {
11941	_ struct{} `type:"structure"`
11942
11943	// The language code.
11944	//
11945	//    * en - English (default)
11946	//
11947	//    * jp - Japanese
11948	//
11949	//    * zh - Chinese
11950	AcceptLanguage *string `type:"string"`
11951
11952	// The maximum number of items to return with this call.
11953	PageSize *int64 `type:"integer"`
11954
11955	// The page token for the next set of results. To retrieve the first set of
11956	// results, use null.
11957	PageToken *string `type:"string"`
11958
11959	// The plan identifier.
11960	//
11961	// PlanId is a required field
11962	PlanId *string `min:"1" type:"string" required:"true"`
11963}
11964
11965// String returns the string representation
11966func (s DescribeProvisionedProductPlanInput) String() string {
11967	return awsutil.Prettify(s)
11968}
11969
11970// GoString returns the string representation
11971func (s DescribeProvisionedProductPlanInput) GoString() string {
11972	return s.String()
11973}
11974
11975// Validate inspects the fields of the type to determine if they are valid.
11976func (s *DescribeProvisionedProductPlanInput) Validate() error {
11977	invalidParams := request.ErrInvalidParams{Context: "DescribeProvisionedProductPlanInput"}
11978	if s.PlanId == nil {
11979		invalidParams.Add(request.NewErrParamRequired("PlanId"))
11980	}
11981	if s.PlanId != nil && len(*s.PlanId) < 1 {
11982		invalidParams.Add(request.NewErrParamMinLen("PlanId", 1))
11983	}
11984
11985	if invalidParams.Len() > 0 {
11986		return invalidParams
11987	}
11988	return nil
11989}
11990
11991// SetAcceptLanguage sets the AcceptLanguage field's value.
11992func (s *DescribeProvisionedProductPlanInput) SetAcceptLanguage(v string) *DescribeProvisionedProductPlanInput {
11993	s.AcceptLanguage = &v
11994	return s
11995}
11996
11997// SetPageSize sets the PageSize field's value.
11998func (s *DescribeProvisionedProductPlanInput) SetPageSize(v int64) *DescribeProvisionedProductPlanInput {
11999	s.PageSize = &v
12000	return s
12001}
12002
12003// SetPageToken sets the PageToken field's value.
12004func (s *DescribeProvisionedProductPlanInput) SetPageToken(v string) *DescribeProvisionedProductPlanInput {
12005	s.PageToken = &v
12006	return s
12007}
12008
12009// SetPlanId sets the PlanId field's value.
12010func (s *DescribeProvisionedProductPlanInput) SetPlanId(v string) *DescribeProvisionedProductPlanInput {
12011	s.PlanId = &v
12012	return s
12013}
12014
12015type DescribeProvisionedProductPlanOutput struct {
12016	_ struct{} `type:"structure"`
12017
12018	// The page token to use to retrieve the next set of results. If there are no
12019	// additional results, this value is null.
12020	NextPageToken *string `type:"string"`
12021
12022	// Information about the plan.
12023	ProvisionedProductPlanDetails *ProvisionedProductPlanDetails `type:"structure"`
12024
12025	// Information about the resource changes that will occur when the plan is executed.
12026	ResourceChanges []*ResourceChange `type:"list"`
12027}
12028
12029// String returns the string representation
12030func (s DescribeProvisionedProductPlanOutput) String() string {
12031	return awsutil.Prettify(s)
12032}
12033
12034// GoString returns the string representation
12035func (s DescribeProvisionedProductPlanOutput) GoString() string {
12036	return s.String()
12037}
12038
12039// SetNextPageToken sets the NextPageToken field's value.
12040func (s *DescribeProvisionedProductPlanOutput) SetNextPageToken(v string) *DescribeProvisionedProductPlanOutput {
12041	s.NextPageToken = &v
12042	return s
12043}
12044
12045// SetProvisionedProductPlanDetails sets the ProvisionedProductPlanDetails field's value.
12046func (s *DescribeProvisionedProductPlanOutput) SetProvisionedProductPlanDetails(v *ProvisionedProductPlanDetails) *DescribeProvisionedProductPlanOutput {
12047	s.ProvisionedProductPlanDetails = v
12048	return s
12049}
12050
12051// SetResourceChanges sets the ResourceChanges field's value.
12052func (s *DescribeProvisionedProductPlanOutput) SetResourceChanges(v []*ResourceChange) *DescribeProvisionedProductPlanOutput {
12053	s.ResourceChanges = v
12054	return s
12055}
12056
12057type DescribeProvisioningArtifactInput struct {
12058	_ struct{} `type:"structure"`
12059
12060	// The language code.
12061	//
12062	//    * en - English (default)
12063	//
12064	//    * jp - Japanese
12065	//
12066	//    * zh - Chinese
12067	AcceptLanguage *string `type:"string"`
12068
12069	// The product identifier.
12070	ProductId *string `min:"1" type:"string"`
12071
12072	// The product name.
12073	ProductName *string `type:"string"`
12074
12075	// The identifier of the provisioning artifact.
12076	ProvisioningArtifactId *string `min:"1" type:"string"`
12077
12078	// The provisioning artifact name.
12079	ProvisioningArtifactName *string `type:"string"`
12080
12081	// Indicates whether a verbose level of detail is enabled.
12082	Verbose *bool `type:"boolean"`
12083}
12084
12085// String returns the string representation
12086func (s DescribeProvisioningArtifactInput) String() string {
12087	return awsutil.Prettify(s)
12088}
12089
12090// GoString returns the string representation
12091func (s DescribeProvisioningArtifactInput) GoString() string {
12092	return s.String()
12093}
12094
12095// Validate inspects the fields of the type to determine if they are valid.
12096func (s *DescribeProvisioningArtifactInput) Validate() error {
12097	invalidParams := request.ErrInvalidParams{Context: "DescribeProvisioningArtifactInput"}
12098	if s.ProductId != nil && len(*s.ProductId) < 1 {
12099		invalidParams.Add(request.NewErrParamMinLen("ProductId", 1))
12100	}
12101	if s.ProvisioningArtifactId != nil && len(*s.ProvisioningArtifactId) < 1 {
12102		invalidParams.Add(request.NewErrParamMinLen("ProvisioningArtifactId", 1))
12103	}
12104
12105	if invalidParams.Len() > 0 {
12106		return invalidParams
12107	}
12108	return nil
12109}
12110
12111// SetAcceptLanguage sets the AcceptLanguage field's value.
12112func (s *DescribeProvisioningArtifactInput) SetAcceptLanguage(v string) *DescribeProvisioningArtifactInput {
12113	s.AcceptLanguage = &v
12114	return s
12115}
12116
12117// SetProductId sets the ProductId field's value.
12118func (s *DescribeProvisioningArtifactInput) SetProductId(v string) *DescribeProvisioningArtifactInput {
12119	s.ProductId = &v
12120	return s
12121}
12122
12123// SetProductName sets the ProductName field's value.
12124func (s *DescribeProvisioningArtifactInput) SetProductName(v string) *DescribeProvisioningArtifactInput {
12125	s.ProductName = &v
12126	return s
12127}
12128
12129// SetProvisioningArtifactId sets the ProvisioningArtifactId field's value.
12130func (s *DescribeProvisioningArtifactInput) SetProvisioningArtifactId(v string) *DescribeProvisioningArtifactInput {
12131	s.ProvisioningArtifactId = &v
12132	return s
12133}
12134
12135// SetProvisioningArtifactName sets the ProvisioningArtifactName field's value.
12136func (s *DescribeProvisioningArtifactInput) SetProvisioningArtifactName(v string) *DescribeProvisioningArtifactInput {
12137	s.ProvisioningArtifactName = &v
12138	return s
12139}
12140
12141// SetVerbose sets the Verbose field's value.
12142func (s *DescribeProvisioningArtifactInput) SetVerbose(v bool) *DescribeProvisioningArtifactInput {
12143	s.Verbose = &v
12144	return s
12145}
12146
12147type DescribeProvisioningArtifactOutput struct {
12148	_ struct{} `type:"structure"`
12149
12150	// The URL of the CloudFormation template in Amazon S3.
12151	Info map[string]*string `min:"1" type:"map"`
12152
12153	// Information about the provisioning artifact.
12154	ProvisioningArtifactDetail *ProvisioningArtifactDetail `type:"structure"`
12155
12156	// The status of the current request.
12157	Status *string `type:"string" enum:"Status"`
12158}
12159
12160// String returns the string representation
12161func (s DescribeProvisioningArtifactOutput) String() string {
12162	return awsutil.Prettify(s)
12163}
12164
12165// GoString returns the string representation
12166func (s DescribeProvisioningArtifactOutput) GoString() string {
12167	return s.String()
12168}
12169
12170// SetInfo sets the Info field's value.
12171func (s *DescribeProvisioningArtifactOutput) SetInfo(v map[string]*string) *DescribeProvisioningArtifactOutput {
12172	s.Info = v
12173	return s
12174}
12175
12176// SetProvisioningArtifactDetail sets the ProvisioningArtifactDetail field's value.
12177func (s *DescribeProvisioningArtifactOutput) SetProvisioningArtifactDetail(v *ProvisioningArtifactDetail) *DescribeProvisioningArtifactOutput {
12178	s.ProvisioningArtifactDetail = v
12179	return s
12180}
12181
12182// SetStatus sets the Status field's value.
12183func (s *DescribeProvisioningArtifactOutput) SetStatus(v string) *DescribeProvisioningArtifactOutput {
12184	s.Status = &v
12185	return s
12186}
12187
12188type DescribeProvisioningParametersInput struct {
12189	_ struct{} `type:"structure"`
12190
12191	// The language code.
12192	//
12193	//    * en - English (default)
12194	//
12195	//    * jp - Japanese
12196	//
12197	//    * zh - Chinese
12198	AcceptLanguage *string `type:"string"`
12199
12200	// The path identifier of the product. This value is optional if the product
12201	// has a default path, and required if the product has more than one path. To
12202	// list the paths for a product, use ListLaunchPaths.
12203	PathId *string `min:"1" type:"string"`
12204
12205	// The product identifier.
12206	//
12207	// ProductId is a required field
12208	ProductId *string `min:"1" type:"string" required:"true"`
12209
12210	// The identifier of the provisioning artifact.
12211	//
12212	// ProvisioningArtifactId is a required field
12213	ProvisioningArtifactId *string `min:"1" type:"string" required:"true"`
12214}
12215
12216// String returns the string representation
12217func (s DescribeProvisioningParametersInput) String() string {
12218	return awsutil.Prettify(s)
12219}
12220
12221// GoString returns the string representation
12222func (s DescribeProvisioningParametersInput) GoString() string {
12223	return s.String()
12224}
12225
12226// Validate inspects the fields of the type to determine if they are valid.
12227func (s *DescribeProvisioningParametersInput) Validate() error {
12228	invalidParams := request.ErrInvalidParams{Context: "DescribeProvisioningParametersInput"}
12229	if s.PathId != nil && len(*s.PathId) < 1 {
12230		invalidParams.Add(request.NewErrParamMinLen("PathId", 1))
12231	}
12232	if s.ProductId == nil {
12233		invalidParams.Add(request.NewErrParamRequired("ProductId"))
12234	}
12235	if s.ProductId != nil && len(*s.ProductId) < 1 {
12236		invalidParams.Add(request.NewErrParamMinLen("ProductId", 1))
12237	}
12238	if s.ProvisioningArtifactId == nil {
12239		invalidParams.Add(request.NewErrParamRequired("ProvisioningArtifactId"))
12240	}
12241	if s.ProvisioningArtifactId != nil && len(*s.ProvisioningArtifactId) < 1 {
12242		invalidParams.Add(request.NewErrParamMinLen("ProvisioningArtifactId", 1))
12243	}
12244
12245	if invalidParams.Len() > 0 {
12246		return invalidParams
12247	}
12248	return nil
12249}
12250
12251// SetAcceptLanguage sets the AcceptLanguage field's value.
12252func (s *DescribeProvisioningParametersInput) SetAcceptLanguage(v string) *DescribeProvisioningParametersInput {
12253	s.AcceptLanguage = &v
12254	return s
12255}
12256
12257// SetPathId sets the PathId field's value.
12258func (s *DescribeProvisioningParametersInput) SetPathId(v string) *DescribeProvisioningParametersInput {
12259	s.PathId = &v
12260	return s
12261}
12262
12263// SetProductId sets the ProductId field's value.
12264func (s *DescribeProvisioningParametersInput) SetProductId(v string) *DescribeProvisioningParametersInput {
12265	s.ProductId = &v
12266	return s
12267}
12268
12269// SetProvisioningArtifactId sets the ProvisioningArtifactId field's value.
12270func (s *DescribeProvisioningParametersInput) SetProvisioningArtifactId(v string) *DescribeProvisioningParametersInput {
12271	s.ProvisioningArtifactId = &v
12272	return s
12273}
12274
12275type DescribeProvisioningParametersOutput struct {
12276	_ struct{} `type:"structure"`
12277
12278	// Information about the constraints used to provision the product.
12279	ConstraintSummaries []*ConstraintSummary `type:"list"`
12280
12281	// Information about the parameters used to provision the product.
12282	ProvisioningArtifactParameters []*ProvisioningArtifactParameter `type:"list"`
12283
12284	// An object that contains information about preferences, such as regions and
12285	// accounts, for the provisioning artifact.
12286	ProvisioningArtifactPreferences *ProvisioningArtifactPreferences `type:"structure"`
12287
12288	// Information about the TagOptions associated with the resource.
12289	TagOptions []*TagOptionSummary `type:"list"`
12290
12291	// Any additional metadata specifically related to the provisioning of the product.
12292	// For example, see the Version field of the CloudFormation template.
12293	UsageInstructions []*UsageInstruction `type:"list"`
12294}
12295
12296// String returns the string representation
12297func (s DescribeProvisioningParametersOutput) String() string {
12298	return awsutil.Prettify(s)
12299}
12300
12301// GoString returns the string representation
12302func (s DescribeProvisioningParametersOutput) GoString() string {
12303	return s.String()
12304}
12305
12306// SetConstraintSummaries sets the ConstraintSummaries field's value.
12307func (s *DescribeProvisioningParametersOutput) SetConstraintSummaries(v []*ConstraintSummary) *DescribeProvisioningParametersOutput {
12308	s.ConstraintSummaries = v
12309	return s
12310}
12311
12312// SetProvisioningArtifactParameters sets the ProvisioningArtifactParameters field's value.
12313func (s *DescribeProvisioningParametersOutput) SetProvisioningArtifactParameters(v []*ProvisioningArtifactParameter) *DescribeProvisioningParametersOutput {
12314	s.ProvisioningArtifactParameters = v
12315	return s
12316}
12317
12318// SetProvisioningArtifactPreferences sets the ProvisioningArtifactPreferences field's value.
12319func (s *DescribeProvisioningParametersOutput) SetProvisioningArtifactPreferences(v *ProvisioningArtifactPreferences) *DescribeProvisioningParametersOutput {
12320	s.ProvisioningArtifactPreferences = v
12321	return s
12322}
12323
12324// SetTagOptions sets the TagOptions field's value.
12325func (s *DescribeProvisioningParametersOutput) SetTagOptions(v []*TagOptionSummary) *DescribeProvisioningParametersOutput {
12326	s.TagOptions = v
12327	return s
12328}
12329
12330// SetUsageInstructions sets the UsageInstructions field's value.
12331func (s *DescribeProvisioningParametersOutput) SetUsageInstructions(v []*UsageInstruction) *DescribeProvisioningParametersOutput {
12332	s.UsageInstructions = v
12333	return s
12334}
12335
12336type DescribeRecordInput struct {
12337	_ struct{} `type:"structure"`
12338
12339	// The language code.
12340	//
12341	//    * en - English (default)
12342	//
12343	//    * jp - Japanese
12344	//
12345	//    * zh - Chinese
12346	AcceptLanguage *string `type:"string"`
12347
12348	// The record identifier of the provisioned product. This identifier is returned
12349	// by the request operation.
12350	//
12351	// Id is a required field
12352	Id *string `min:"1" type:"string" required:"true"`
12353
12354	// The maximum number of items to return with this call.
12355	PageSize *int64 `type:"integer"`
12356
12357	// The page token for the next set of results. To retrieve the first set of
12358	// results, use null.
12359	PageToken *string `type:"string"`
12360}
12361
12362// String returns the string representation
12363func (s DescribeRecordInput) String() string {
12364	return awsutil.Prettify(s)
12365}
12366
12367// GoString returns the string representation
12368func (s DescribeRecordInput) GoString() string {
12369	return s.String()
12370}
12371
12372// Validate inspects the fields of the type to determine if they are valid.
12373func (s *DescribeRecordInput) Validate() error {
12374	invalidParams := request.ErrInvalidParams{Context: "DescribeRecordInput"}
12375	if s.Id == nil {
12376		invalidParams.Add(request.NewErrParamRequired("Id"))
12377	}
12378	if s.Id != nil && len(*s.Id) < 1 {
12379		invalidParams.Add(request.NewErrParamMinLen("Id", 1))
12380	}
12381
12382	if invalidParams.Len() > 0 {
12383		return invalidParams
12384	}
12385	return nil
12386}
12387
12388// SetAcceptLanguage sets the AcceptLanguage field's value.
12389func (s *DescribeRecordInput) SetAcceptLanguage(v string) *DescribeRecordInput {
12390	s.AcceptLanguage = &v
12391	return s
12392}
12393
12394// SetId sets the Id field's value.
12395func (s *DescribeRecordInput) SetId(v string) *DescribeRecordInput {
12396	s.Id = &v
12397	return s
12398}
12399
12400// SetPageSize sets the PageSize field's value.
12401func (s *DescribeRecordInput) SetPageSize(v int64) *DescribeRecordInput {
12402	s.PageSize = &v
12403	return s
12404}
12405
12406// SetPageToken sets the PageToken field's value.
12407func (s *DescribeRecordInput) SetPageToken(v string) *DescribeRecordInput {
12408	s.PageToken = &v
12409	return s
12410}
12411
12412type DescribeRecordOutput struct {
12413	_ struct{} `type:"structure"`
12414
12415	// The page token to use to retrieve the next set of results. If there are no
12416	// additional results, this value is null.
12417	NextPageToken *string `type:"string"`
12418
12419	// Information about the product.
12420	RecordDetail *RecordDetail `type:"structure"`
12421
12422	// Information about the product created as the result of a request. For example,
12423	// the output for a CloudFormation-backed product that creates an S3 bucket
12424	// would include the S3 bucket URL.
12425	RecordOutputs []*RecordOutput `type:"list"`
12426}
12427
12428// String returns the string representation
12429func (s DescribeRecordOutput) String() string {
12430	return awsutil.Prettify(s)
12431}
12432
12433// GoString returns the string representation
12434func (s DescribeRecordOutput) GoString() string {
12435	return s.String()
12436}
12437
12438// SetNextPageToken sets the NextPageToken field's value.
12439func (s *DescribeRecordOutput) SetNextPageToken(v string) *DescribeRecordOutput {
12440	s.NextPageToken = &v
12441	return s
12442}
12443
12444// SetRecordDetail sets the RecordDetail field's value.
12445func (s *DescribeRecordOutput) SetRecordDetail(v *RecordDetail) *DescribeRecordOutput {
12446	s.RecordDetail = v
12447	return s
12448}
12449
12450// SetRecordOutputs sets the RecordOutputs field's value.
12451func (s *DescribeRecordOutput) SetRecordOutputs(v []*RecordOutput) *DescribeRecordOutput {
12452	s.RecordOutputs = v
12453	return s
12454}
12455
12456type DescribeServiceActionExecutionParametersInput struct {
12457	_ struct{} `type:"structure"`
12458
12459	// The language code.
12460	//
12461	//    * en - English (default)
12462	//
12463	//    * jp - Japanese
12464	//
12465	//    * zh - Chinese
12466	AcceptLanguage *string `type:"string"`
12467
12468	// The identifier of the provisioned product.
12469	//
12470	// ProvisionedProductId is a required field
12471	ProvisionedProductId *string `min:"1" type:"string" required:"true"`
12472
12473	// The self-service action identifier.
12474	//
12475	// ServiceActionId is a required field
12476	ServiceActionId *string `min:"1" type:"string" required:"true"`
12477}
12478
12479// String returns the string representation
12480func (s DescribeServiceActionExecutionParametersInput) String() string {
12481	return awsutil.Prettify(s)
12482}
12483
12484// GoString returns the string representation
12485func (s DescribeServiceActionExecutionParametersInput) GoString() string {
12486	return s.String()
12487}
12488
12489// Validate inspects the fields of the type to determine if they are valid.
12490func (s *DescribeServiceActionExecutionParametersInput) Validate() error {
12491	invalidParams := request.ErrInvalidParams{Context: "DescribeServiceActionExecutionParametersInput"}
12492	if s.ProvisionedProductId == nil {
12493		invalidParams.Add(request.NewErrParamRequired("ProvisionedProductId"))
12494	}
12495	if s.ProvisionedProductId != nil && len(*s.ProvisionedProductId) < 1 {
12496		invalidParams.Add(request.NewErrParamMinLen("ProvisionedProductId", 1))
12497	}
12498	if s.ServiceActionId == nil {
12499		invalidParams.Add(request.NewErrParamRequired("ServiceActionId"))
12500	}
12501	if s.ServiceActionId != nil && len(*s.ServiceActionId) < 1 {
12502		invalidParams.Add(request.NewErrParamMinLen("ServiceActionId", 1))
12503	}
12504
12505	if invalidParams.Len() > 0 {
12506		return invalidParams
12507	}
12508	return nil
12509}
12510
12511// SetAcceptLanguage sets the AcceptLanguage field's value.
12512func (s *DescribeServiceActionExecutionParametersInput) SetAcceptLanguage(v string) *DescribeServiceActionExecutionParametersInput {
12513	s.AcceptLanguage = &v
12514	return s
12515}
12516
12517// SetProvisionedProductId sets the ProvisionedProductId field's value.
12518func (s *DescribeServiceActionExecutionParametersInput) SetProvisionedProductId(v string) *DescribeServiceActionExecutionParametersInput {
12519	s.ProvisionedProductId = &v
12520	return s
12521}
12522
12523// SetServiceActionId sets the ServiceActionId field's value.
12524func (s *DescribeServiceActionExecutionParametersInput) SetServiceActionId(v string) *DescribeServiceActionExecutionParametersInput {
12525	s.ServiceActionId = &v
12526	return s
12527}
12528
12529type DescribeServiceActionExecutionParametersOutput struct {
12530	_ struct{} `type:"structure"`
12531
12532	// The parameters of the self-service action.
12533	ServiceActionParameters []*ExecutionParameter `type:"list"`
12534}
12535
12536// String returns the string representation
12537func (s DescribeServiceActionExecutionParametersOutput) String() string {
12538	return awsutil.Prettify(s)
12539}
12540
12541// GoString returns the string representation
12542func (s DescribeServiceActionExecutionParametersOutput) GoString() string {
12543	return s.String()
12544}
12545
12546// SetServiceActionParameters sets the ServiceActionParameters field's value.
12547func (s *DescribeServiceActionExecutionParametersOutput) SetServiceActionParameters(v []*ExecutionParameter) *DescribeServiceActionExecutionParametersOutput {
12548	s.ServiceActionParameters = v
12549	return s
12550}
12551
12552type DescribeServiceActionInput struct {
12553	_ struct{} `type:"structure"`
12554
12555	// The language code.
12556	//
12557	//    * en - English (default)
12558	//
12559	//    * jp - Japanese
12560	//
12561	//    * zh - Chinese
12562	AcceptLanguage *string `type:"string"`
12563
12564	// The self-service action identifier.
12565	//
12566	// Id is a required field
12567	Id *string `min:"1" type:"string" required:"true"`
12568}
12569
12570// String returns the string representation
12571func (s DescribeServiceActionInput) String() string {
12572	return awsutil.Prettify(s)
12573}
12574
12575// GoString returns the string representation
12576func (s DescribeServiceActionInput) GoString() string {
12577	return s.String()
12578}
12579
12580// Validate inspects the fields of the type to determine if they are valid.
12581func (s *DescribeServiceActionInput) Validate() error {
12582	invalidParams := request.ErrInvalidParams{Context: "DescribeServiceActionInput"}
12583	if s.Id == nil {
12584		invalidParams.Add(request.NewErrParamRequired("Id"))
12585	}
12586	if s.Id != nil && len(*s.Id) < 1 {
12587		invalidParams.Add(request.NewErrParamMinLen("Id", 1))
12588	}
12589
12590	if invalidParams.Len() > 0 {
12591		return invalidParams
12592	}
12593	return nil
12594}
12595
12596// SetAcceptLanguage sets the AcceptLanguage field's value.
12597func (s *DescribeServiceActionInput) SetAcceptLanguage(v string) *DescribeServiceActionInput {
12598	s.AcceptLanguage = &v
12599	return s
12600}
12601
12602// SetId sets the Id field's value.
12603func (s *DescribeServiceActionInput) SetId(v string) *DescribeServiceActionInput {
12604	s.Id = &v
12605	return s
12606}
12607
12608type DescribeServiceActionOutput struct {
12609	_ struct{} `type:"structure"`
12610
12611	// Detailed information about the self-service action.
12612	ServiceActionDetail *ServiceActionDetail `type:"structure"`
12613}
12614
12615// String returns the string representation
12616func (s DescribeServiceActionOutput) String() string {
12617	return awsutil.Prettify(s)
12618}
12619
12620// GoString returns the string representation
12621func (s DescribeServiceActionOutput) GoString() string {
12622	return s.String()
12623}
12624
12625// SetServiceActionDetail sets the ServiceActionDetail field's value.
12626func (s *DescribeServiceActionOutput) SetServiceActionDetail(v *ServiceActionDetail) *DescribeServiceActionOutput {
12627	s.ServiceActionDetail = v
12628	return s
12629}
12630
12631type DescribeTagOptionInput struct {
12632	_ struct{} `type:"structure"`
12633
12634	// The TagOption identifier.
12635	//
12636	// Id is a required field
12637	Id *string `min:"1" type:"string" required:"true"`
12638}
12639
12640// String returns the string representation
12641func (s DescribeTagOptionInput) String() string {
12642	return awsutil.Prettify(s)
12643}
12644
12645// GoString returns the string representation
12646func (s DescribeTagOptionInput) GoString() string {
12647	return s.String()
12648}
12649
12650// Validate inspects the fields of the type to determine if they are valid.
12651func (s *DescribeTagOptionInput) Validate() error {
12652	invalidParams := request.ErrInvalidParams{Context: "DescribeTagOptionInput"}
12653	if s.Id == nil {
12654		invalidParams.Add(request.NewErrParamRequired("Id"))
12655	}
12656	if s.Id != nil && len(*s.Id) < 1 {
12657		invalidParams.Add(request.NewErrParamMinLen("Id", 1))
12658	}
12659
12660	if invalidParams.Len() > 0 {
12661		return invalidParams
12662	}
12663	return nil
12664}
12665
12666// SetId sets the Id field's value.
12667func (s *DescribeTagOptionInput) SetId(v string) *DescribeTagOptionInput {
12668	s.Id = &v
12669	return s
12670}
12671
12672type DescribeTagOptionOutput struct {
12673	_ struct{} `type:"structure"`
12674
12675	// Information about the TagOption.
12676	TagOptionDetail *TagOptionDetail `type:"structure"`
12677}
12678
12679// String returns the string representation
12680func (s DescribeTagOptionOutput) String() string {
12681	return awsutil.Prettify(s)
12682}
12683
12684// GoString returns the string representation
12685func (s DescribeTagOptionOutput) GoString() string {
12686	return s.String()
12687}
12688
12689// SetTagOptionDetail sets the TagOptionDetail field's value.
12690func (s *DescribeTagOptionOutput) SetTagOptionDetail(v *TagOptionDetail) *DescribeTagOptionOutput {
12691	s.TagOptionDetail = v
12692	return s
12693}
12694
12695type DisableAWSOrganizationsAccessInput struct {
12696	_ struct{} `type:"structure"`
12697}
12698
12699// String returns the string representation
12700func (s DisableAWSOrganizationsAccessInput) String() string {
12701	return awsutil.Prettify(s)
12702}
12703
12704// GoString returns the string representation
12705func (s DisableAWSOrganizationsAccessInput) GoString() string {
12706	return s.String()
12707}
12708
12709type DisableAWSOrganizationsAccessOutput struct {
12710	_ struct{} `type:"structure"`
12711}
12712
12713// String returns the string representation
12714func (s DisableAWSOrganizationsAccessOutput) String() string {
12715	return awsutil.Prettify(s)
12716}
12717
12718// GoString returns the string representation
12719func (s DisableAWSOrganizationsAccessOutput) GoString() string {
12720	return s.String()
12721}
12722
12723type DisassociateBudgetFromResourceInput struct {
12724	_ struct{} `type:"structure"`
12725
12726	// The name of the budget you want to disassociate.
12727	//
12728	// BudgetName is a required field
12729	BudgetName *string `min:"1" type:"string" required:"true"`
12730
12731	// The resource identifier you want to disassociate from. Either a portfolio-id
12732	// or a product-id.
12733	//
12734	// ResourceId is a required field
12735	ResourceId *string `min:"1" type:"string" required:"true"`
12736}
12737
12738// String returns the string representation
12739func (s DisassociateBudgetFromResourceInput) String() string {
12740	return awsutil.Prettify(s)
12741}
12742
12743// GoString returns the string representation
12744func (s DisassociateBudgetFromResourceInput) GoString() string {
12745	return s.String()
12746}
12747
12748// Validate inspects the fields of the type to determine if they are valid.
12749func (s *DisassociateBudgetFromResourceInput) Validate() error {
12750	invalidParams := request.ErrInvalidParams{Context: "DisassociateBudgetFromResourceInput"}
12751	if s.BudgetName == nil {
12752		invalidParams.Add(request.NewErrParamRequired("BudgetName"))
12753	}
12754	if s.BudgetName != nil && len(*s.BudgetName) < 1 {
12755		invalidParams.Add(request.NewErrParamMinLen("BudgetName", 1))
12756	}
12757	if s.ResourceId == nil {
12758		invalidParams.Add(request.NewErrParamRequired("ResourceId"))
12759	}
12760	if s.ResourceId != nil && len(*s.ResourceId) < 1 {
12761		invalidParams.Add(request.NewErrParamMinLen("ResourceId", 1))
12762	}
12763
12764	if invalidParams.Len() > 0 {
12765		return invalidParams
12766	}
12767	return nil
12768}
12769
12770// SetBudgetName sets the BudgetName field's value.
12771func (s *DisassociateBudgetFromResourceInput) SetBudgetName(v string) *DisassociateBudgetFromResourceInput {
12772	s.BudgetName = &v
12773	return s
12774}
12775
12776// SetResourceId sets the ResourceId field's value.
12777func (s *DisassociateBudgetFromResourceInput) SetResourceId(v string) *DisassociateBudgetFromResourceInput {
12778	s.ResourceId = &v
12779	return s
12780}
12781
12782type DisassociateBudgetFromResourceOutput struct {
12783	_ struct{} `type:"structure"`
12784}
12785
12786// String returns the string representation
12787func (s DisassociateBudgetFromResourceOutput) String() string {
12788	return awsutil.Prettify(s)
12789}
12790
12791// GoString returns the string representation
12792func (s DisassociateBudgetFromResourceOutput) GoString() string {
12793	return s.String()
12794}
12795
12796type DisassociatePrincipalFromPortfolioInput struct {
12797	_ struct{} `type:"structure"`
12798
12799	// The language code.
12800	//
12801	//    * en - English (default)
12802	//
12803	//    * jp - Japanese
12804	//
12805	//    * zh - Chinese
12806	AcceptLanguage *string `type:"string"`
12807
12808	// The portfolio identifier.
12809	//
12810	// PortfolioId is a required field
12811	PortfolioId *string `min:"1" type:"string" required:"true"`
12812
12813	// The ARN of the principal (IAM user, role, or group).
12814	//
12815	// PrincipalARN is a required field
12816	PrincipalARN *string `min:"1" type:"string" required:"true"`
12817}
12818
12819// String returns the string representation
12820func (s DisassociatePrincipalFromPortfolioInput) String() string {
12821	return awsutil.Prettify(s)
12822}
12823
12824// GoString returns the string representation
12825func (s DisassociatePrincipalFromPortfolioInput) GoString() string {
12826	return s.String()
12827}
12828
12829// Validate inspects the fields of the type to determine if they are valid.
12830func (s *DisassociatePrincipalFromPortfolioInput) Validate() error {
12831	invalidParams := request.ErrInvalidParams{Context: "DisassociatePrincipalFromPortfolioInput"}
12832	if s.PortfolioId == nil {
12833		invalidParams.Add(request.NewErrParamRequired("PortfolioId"))
12834	}
12835	if s.PortfolioId != nil && len(*s.PortfolioId) < 1 {
12836		invalidParams.Add(request.NewErrParamMinLen("PortfolioId", 1))
12837	}
12838	if s.PrincipalARN == nil {
12839		invalidParams.Add(request.NewErrParamRequired("PrincipalARN"))
12840	}
12841	if s.PrincipalARN != nil && len(*s.PrincipalARN) < 1 {
12842		invalidParams.Add(request.NewErrParamMinLen("PrincipalARN", 1))
12843	}
12844
12845	if invalidParams.Len() > 0 {
12846		return invalidParams
12847	}
12848	return nil
12849}
12850
12851// SetAcceptLanguage sets the AcceptLanguage field's value.
12852func (s *DisassociatePrincipalFromPortfolioInput) SetAcceptLanguage(v string) *DisassociatePrincipalFromPortfolioInput {
12853	s.AcceptLanguage = &v
12854	return s
12855}
12856
12857// SetPortfolioId sets the PortfolioId field's value.
12858func (s *DisassociatePrincipalFromPortfolioInput) SetPortfolioId(v string) *DisassociatePrincipalFromPortfolioInput {
12859	s.PortfolioId = &v
12860	return s
12861}
12862
12863// SetPrincipalARN sets the PrincipalARN field's value.
12864func (s *DisassociatePrincipalFromPortfolioInput) SetPrincipalARN(v string) *DisassociatePrincipalFromPortfolioInput {
12865	s.PrincipalARN = &v
12866	return s
12867}
12868
12869type DisassociatePrincipalFromPortfolioOutput struct {
12870	_ struct{} `type:"structure"`
12871}
12872
12873// String returns the string representation
12874func (s DisassociatePrincipalFromPortfolioOutput) String() string {
12875	return awsutil.Prettify(s)
12876}
12877
12878// GoString returns the string representation
12879func (s DisassociatePrincipalFromPortfolioOutput) GoString() string {
12880	return s.String()
12881}
12882
12883type DisassociateProductFromPortfolioInput struct {
12884	_ struct{} `type:"structure"`
12885
12886	// The language code.
12887	//
12888	//    * en - English (default)
12889	//
12890	//    * jp - Japanese
12891	//
12892	//    * zh - Chinese
12893	AcceptLanguage *string `type:"string"`
12894
12895	// The portfolio identifier.
12896	//
12897	// PortfolioId is a required field
12898	PortfolioId *string `min:"1" type:"string" required:"true"`
12899
12900	// The product identifier.
12901	//
12902	// ProductId is a required field
12903	ProductId *string `min:"1" type:"string" required:"true"`
12904}
12905
12906// String returns the string representation
12907func (s DisassociateProductFromPortfolioInput) String() string {
12908	return awsutil.Prettify(s)
12909}
12910
12911// GoString returns the string representation
12912func (s DisassociateProductFromPortfolioInput) GoString() string {
12913	return s.String()
12914}
12915
12916// Validate inspects the fields of the type to determine if they are valid.
12917func (s *DisassociateProductFromPortfolioInput) Validate() error {
12918	invalidParams := request.ErrInvalidParams{Context: "DisassociateProductFromPortfolioInput"}
12919	if s.PortfolioId == nil {
12920		invalidParams.Add(request.NewErrParamRequired("PortfolioId"))
12921	}
12922	if s.PortfolioId != nil && len(*s.PortfolioId) < 1 {
12923		invalidParams.Add(request.NewErrParamMinLen("PortfolioId", 1))
12924	}
12925	if s.ProductId == nil {
12926		invalidParams.Add(request.NewErrParamRequired("ProductId"))
12927	}
12928	if s.ProductId != nil && len(*s.ProductId) < 1 {
12929		invalidParams.Add(request.NewErrParamMinLen("ProductId", 1))
12930	}
12931
12932	if invalidParams.Len() > 0 {
12933		return invalidParams
12934	}
12935	return nil
12936}
12937
12938// SetAcceptLanguage sets the AcceptLanguage field's value.
12939func (s *DisassociateProductFromPortfolioInput) SetAcceptLanguage(v string) *DisassociateProductFromPortfolioInput {
12940	s.AcceptLanguage = &v
12941	return s
12942}
12943
12944// SetPortfolioId sets the PortfolioId field's value.
12945func (s *DisassociateProductFromPortfolioInput) SetPortfolioId(v string) *DisassociateProductFromPortfolioInput {
12946	s.PortfolioId = &v
12947	return s
12948}
12949
12950// SetProductId sets the ProductId field's value.
12951func (s *DisassociateProductFromPortfolioInput) SetProductId(v string) *DisassociateProductFromPortfolioInput {
12952	s.ProductId = &v
12953	return s
12954}
12955
12956type DisassociateProductFromPortfolioOutput struct {
12957	_ struct{} `type:"structure"`
12958}
12959
12960// String returns the string representation
12961func (s DisassociateProductFromPortfolioOutput) String() string {
12962	return awsutil.Prettify(s)
12963}
12964
12965// GoString returns the string representation
12966func (s DisassociateProductFromPortfolioOutput) GoString() string {
12967	return s.String()
12968}
12969
12970type DisassociateServiceActionFromProvisioningArtifactInput struct {
12971	_ struct{} `type:"structure"`
12972
12973	// The language code.
12974	//
12975	//    * en - English (default)
12976	//
12977	//    * jp - Japanese
12978	//
12979	//    * zh - Chinese
12980	AcceptLanguage *string `type:"string"`
12981
12982	// The product identifier. For example, prod-abcdzk7xy33qa.
12983	//
12984	// ProductId is a required field
12985	ProductId *string `min:"1" type:"string" required:"true"`
12986
12987	// The identifier of the provisioning artifact. For example, pa-4abcdjnxjj6ne.
12988	//
12989	// ProvisioningArtifactId is a required field
12990	ProvisioningArtifactId *string `min:"1" type:"string" required:"true"`
12991
12992	// The self-service action identifier. For example, act-fs7abcd89wxyz.
12993	//
12994	// ServiceActionId is a required field
12995	ServiceActionId *string `min:"1" type:"string" required:"true"`
12996}
12997
12998// String returns the string representation
12999func (s DisassociateServiceActionFromProvisioningArtifactInput) String() string {
13000	return awsutil.Prettify(s)
13001}
13002
13003// GoString returns the string representation
13004func (s DisassociateServiceActionFromProvisioningArtifactInput) GoString() string {
13005	return s.String()
13006}
13007
13008// Validate inspects the fields of the type to determine if they are valid.
13009func (s *DisassociateServiceActionFromProvisioningArtifactInput) Validate() error {
13010	invalidParams := request.ErrInvalidParams{Context: "DisassociateServiceActionFromProvisioningArtifactInput"}
13011	if s.ProductId == nil {
13012		invalidParams.Add(request.NewErrParamRequired("ProductId"))
13013	}
13014	if s.ProductId != nil && len(*s.ProductId) < 1 {
13015		invalidParams.Add(request.NewErrParamMinLen("ProductId", 1))
13016	}
13017	if s.ProvisioningArtifactId == nil {
13018		invalidParams.Add(request.NewErrParamRequired("ProvisioningArtifactId"))
13019	}
13020	if s.ProvisioningArtifactId != nil && len(*s.ProvisioningArtifactId) < 1 {
13021		invalidParams.Add(request.NewErrParamMinLen("ProvisioningArtifactId", 1))
13022	}
13023	if s.ServiceActionId == nil {
13024		invalidParams.Add(request.NewErrParamRequired("ServiceActionId"))
13025	}
13026	if s.ServiceActionId != nil && len(*s.ServiceActionId) < 1 {
13027		invalidParams.Add(request.NewErrParamMinLen("ServiceActionId", 1))
13028	}
13029
13030	if invalidParams.Len() > 0 {
13031		return invalidParams
13032	}
13033	return nil
13034}
13035
13036// SetAcceptLanguage sets the AcceptLanguage field's value.
13037func (s *DisassociateServiceActionFromProvisioningArtifactInput) SetAcceptLanguage(v string) *DisassociateServiceActionFromProvisioningArtifactInput {
13038	s.AcceptLanguage = &v
13039	return s
13040}
13041
13042// SetProductId sets the ProductId field's value.
13043func (s *DisassociateServiceActionFromProvisioningArtifactInput) SetProductId(v string) *DisassociateServiceActionFromProvisioningArtifactInput {
13044	s.ProductId = &v
13045	return s
13046}
13047
13048// SetProvisioningArtifactId sets the ProvisioningArtifactId field's value.
13049func (s *DisassociateServiceActionFromProvisioningArtifactInput) SetProvisioningArtifactId(v string) *DisassociateServiceActionFromProvisioningArtifactInput {
13050	s.ProvisioningArtifactId = &v
13051	return s
13052}
13053
13054// SetServiceActionId sets the ServiceActionId field's value.
13055func (s *DisassociateServiceActionFromProvisioningArtifactInput) SetServiceActionId(v string) *DisassociateServiceActionFromProvisioningArtifactInput {
13056	s.ServiceActionId = &v
13057	return s
13058}
13059
13060type DisassociateServiceActionFromProvisioningArtifactOutput struct {
13061	_ struct{} `type:"structure"`
13062}
13063
13064// String returns the string representation
13065func (s DisassociateServiceActionFromProvisioningArtifactOutput) String() string {
13066	return awsutil.Prettify(s)
13067}
13068
13069// GoString returns the string representation
13070func (s DisassociateServiceActionFromProvisioningArtifactOutput) GoString() string {
13071	return s.String()
13072}
13073
13074type DisassociateTagOptionFromResourceInput struct {
13075	_ struct{} `type:"structure"`
13076
13077	// The resource identifier.
13078	//
13079	// ResourceId is a required field
13080	ResourceId *string `type:"string" required:"true"`
13081
13082	// The TagOption identifier.
13083	//
13084	// TagOptionId is a required field
13085	TagOptionId *string `min:"1" type:"string" required:"true"`
13086}
13087
13088// String returns the string representation
13089func (s DisassociateTagOptionFromResourceInput) String() string {
13090	return awsutil.Prettify(s)
13091}
13092
13093// GoString returns the string representation
13094func (s DisassociateTagOptionFromResourceInput) GoString() string {
13095	return s.String()
13096}
13097
13098// Validate inspects the fields of the type to determine if they are valid.
13099func (s *DisassociateTagOptionFromResourceInput) Validate() error {
13100	invalidParams := request.ErrInvalidParams{Context: "DisassociateTagOptionFromResourceInput"}
13101	if s.ResourceId == nil {
13102		invalidParams.Add(request.NewErrParamRequired("ResourceId"))
13103	}
13104	if s.TagOptionId == nil {
13105		invalidParams.Add(request.NewErrParamRequired("TagOptionId"))
13106	}
13107	if s.TagOptionId != nil && len(*s.TagOptionId) < 1 {
13108		invalidParams.Add(request.NewErrParamMinLen("TagOptionId", 1))
13109	}
13110
13111	if invalidParams.Len() > 0 {
13112		return invalidParams
13113	}
13114	return nil
13115}
13116
13117// SetResourceId sets the ResourceId field's value.
13118func (s *DisassociateTagOptionFromResourceInput) SetResourceId(v string) *DisassociateTagOptionFromResourceInput {
13119	s.ResourceId = &v
13120	return s
13121}
13122
13123// SetTagOptionId sets the TagOptionId field's value.
13124func (s *DisassociateTagOptionFromResourceInput) SetTagOptionId(v string) *DisassociateTagOptionFromResourceInput {
13125	s.TagOptionId = &v
13126	return s
13127}
13128
13129type DisassociateTagOptionFromResourceOutput struct {
13130	_ struct{} `type:"structure"`
13131}
13132
13133// String returns the string representation
13134func (s DisassociateTagOptionFromResourceOutput) String() string {
13135	return awsutil.Prettify(s)
13136}
13137
13138// GoString returns the string representation
13139func (s DisassociateTagOptionFromResourceOutput) GoString() string {
13140	return s.String()
13141}
13142
13143// The specified resource is a duplicate.
13144type DuplicateResourceException struct {
13145	_            struct{}                  `type:"structure"`
13146	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
13147
13148	Message_ *string `locationName:"message" type:"string"`
13149}
13150
13151// String returns the string representation
13152func (s DuplicateResourceException) String() string {
13153	return awsutil.Prettify(s)
13154}
13155
13156// GoString returns the string representation
13157func (s DuplicateResourceException) GoString() string {
13158	return s.String()
13159}
13160
13161func newErrorDuplicateResourceException(v protocol.ResponseMetadata) error {
13162	return &DuplicateResourceException{
13163		RespMetadata: v,
13164	}
13165}
13166
13167// Code returns the exception type name.
13168func (s *DuplicateResourceException) Code() string {
13169	return "DuplicateResourceException"
13170}
13171
13172// Message returns the exception's message.
13173func (s *DuplicateResourceException) Message() string {
13174	if s.Message_ != nil {
13175		return *s.Message_
13176	}
13177	return ""
13178}
13179
13180// OrigErr always returns nil, satisfies awserr.Error interface.
13181func (s *DuplicateResourceException) OrigErr() error {
13182	return nil
13183}
13184
13185func (s *DuplicateResourceException) Error() string {
13186	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
13187}
13188
13189// Status code returns the HTTP status code for the request's response error.
13190func (s *DuplicateResourceException) StatusCode() int {
13191	return s.RespMetadata.StatusCode
13192}
13193
13194// RequestID returns the service's response RequestID for request.
13195func (s *DuplicateResourceException) RequestID() string {
13196	return s.RespMetadata.RequestID
13197}
13198
13199type EnableAWSOrganizationsAccessInput struct {
13200	_ struct{} `type:"structure"`
13201}
13202
13203// String returns the string representation
13204func (s EnableAWSOrganizationsAccessInput) String() string {
13205	return awsutil.Prettify(s)
13206}
13207
13208// GoString returns the string representation
13209func (s EnableAWSOrganizationsAccessInput) GoString() string {
13210	return s.String()
13211}
13212
13213type EnableAWSOrganizationsAccessOutput struct {
13214	_ struct{} `type:"structure"`
13215}
13216
13217// String returns the string representation
13218func (s EnableAWSOrganizationsAccessOutput) String() string {
13219	return awsutil.Prettify(s)
13220}
13221
13222// GoString returns the string representation
13223func (s EnableAWSOrganizationsAccessOutput) GoString() string {
13224	return s.String()
13225}
13226
13227type ExecuteProvisionedProductPlanInput struct {
13228	_ struct{} `type:"structure"`
13229
13230	// The language code.
13231	//
13232	//    * en - English (default)
13233	//
13234	//    * jp - Japanese
13235	//
13236	//    * zh - Chinese
13237	AcceptLanguage *string `type:"string"`
13238
13239	// A unique identifier that you provide to ensure idempotency. If multiple requests
13240	// differ only by the idempotency token, the same response is returned for each
13241	// repeated request.
13242	IdempotencyToken *string `min:"1" type:"string" idempotencyToken:"true"`
13243
13244	// The plan identifier.
13245	//
13246	// PlanId is a required field
13247	PlanId *string `min:"1" type:"string" required:"true"`
13248}
13249
13250// String returns the string representation
13251func (s ExecuteProvisionedProductPlanInput) String() string {
13252	return awsutil.Prettify(s)
13253}
13254
13255// GoString returns the string representation
13256func (s ExecuteProvisionedProductPlanInput) GoString() string {
13257	return s.String()
13258}
13259
13260// Validate inspects the fields of the type to determine if they are valid.
13261func (s *ExecuteProvisionedProductPlanInput) Validate() error {
13262	invalidParams := request.ErrInvalidParams{Context: "ExecuteProvisionedProductPlanInput"}
13263	if s.IdempotencyToken != nil && len(*s.IdempotencyToken) < 1 {
13264		invalidParams.Add(request.NewErrParamMinLen("IdempotencyToken", 1))
13265	}
13266	if s.PlanId == nil {
13267		invalidParams.Add(request.NewErrParamRequired("PlanId"))
13268	}
13269	if s.PlanId != nil && len(*s.PlanId) < 1 {
13270		invalidParams.Add(request.NewErrParamMinLen("PlanId", 1))
13271	}
13272
13273	if invalidParams.Len() > 0 {
13274		return invalidParams
13275	}
13276	return nil
13277}
13278
13279// SetAcceptLanguage sets the AcceptLanguage field's value.
13280func (s *ExecuteProvisionedProductPlanInput) SetAcceptLanguage(v string) *ExecuteProvisionedProductPlanInput {
13281	s.AcceptLanguage = &v
13282	return s
13283}
13284
13285// SetIdempotencyToken sets the IdempotencyToken field's value.
13286func (s *ExecuteProvisionedProductPlanInput) SetIdempotencyToken(v string) *ExecuteProvisionedProductPlanInput {
13287	s.IdempotencyToken = &v
13288	return s
13289}
13290
13291// SetPlanId sets the PlanId field's value.
13292func (s *ExecuteProvisionedProductPlanInput) SetPlanId(v string) *ExecuteProvisionedProductPlanInput {
13293	s.PlanId = &v
13294	return s
13295}
13296
13297type ExecuteProvisionedProductPlanOutput struct {
13298	_ struct{} `type:"structure"`
13299
13300	// Information about the result of provisioning the product.
13301	RecordDetail *RecordDetail `type:"structure"`
13302}
13303
13304// String returns the string representation
13305func (s ExecuteProvisionedProductPlanOutput) String() string {
13306	return awsutil.Prettify(s)
13307}
13308
13309// GoString returns the string representation
13310func (s ExecuteProvisionedProductPlanOutput) GoString() string {
13311	return s.String()
13312}
13313
13314// SetRecordDetail sets the RecordDetail field's value.
13315func (s *ExecuteProvisionedProductPlanOutput) SetRecordDetail(v *RecordDetail) *ExecuteProvisionedProductPlanOutput {
13316	s.RecordDetail = v
13317	return s
13318}
13319
13320type ExecuteProvisionedProductServiceActionInput struct {
13321	_ struct{} `type:"structure"`
13322
13323	// The language code.
13324	//
13325	//    * en - English (default)
13326	//
13327	//    * jp - Japanese
13328	//
13329	//    * zh - Chinese
13330	AcceptLanguage *string `type:"string"`
13331
13332	// An idempotency token that uniquely identifies the execute request.
13333	ExecuteToken *string `min:"1" type:"string" idempotencyToken:"true"`
13334
13335	// A map of all self-service action parameters and their values. If a provided
13336	// parameter is of a special type, such as TARGET, the provided value will override
13337	// the default value generated by AWS Service Catalog. If the parameters field
13338	// is not provided, no additional parameters are passed and default values will
13339	// be used for any special parameters such as TARGET.
13340	Parameters map[string][]*string `min:"1" type:"map"`
13341
13342	// The identifier of the provisioned product.
13343	//
13344	// ProvisionedProductId is a required field
13345	ProvisionedProductId *string `min:"1" type:"string" required:"true"`
13346
13347	// The self-service action identifier. For example, act-fs7abcd89wxyz.
13348	//
13349	// ServiceActionId is a required field
13350	ServiceActionId *string `min:"1" type:"string" required:"true"`
13351}
13352
13353// String returns the string representation
13354func (s ExecuteProvisionedProductServiceActionInput) String() string {
13355	return awsutil.Prettify(s)
13356}
13357
13358// GoString returns the string representation
13359func (s ExecuteProvisionedProductServiceActionInput) GoString() string {
13360	return s.String()
13361}
13362
13363// Validate inspects the fields of the type to determine if they are valid.
13364func (s *ExecuteProvisionedProductServiceActionInput) Validate() error {
13365	invalidParams := request.ErrInvalidParams{Context: "ExecuteProvisionedProductServiceActionInput"}
13366	if s.ExecuteToken != nil && len(*s.ExecuteToken) < 1 {
13367		invalidParams.Add(request.NewErrParamMinLen("ExecuteToken", 1))
13368	}
13369	if s.Parameters != nil && len(s.Parameters) < 1 {
13370		invalidParams.Add(request.NewErrParamMinLen("Parameters", 1))
13371	}
13372	if s.ProvisionedProductId == nil {
13373		invalidParams.Add(request.NewErrParamRequired("ProvisionedProductId"))
13374	}
13375	if s.ProvisionedProductId != nil && len(*s.ProvisionedProductId) < 1 {
13376		invalidParams.Add(request.NewErrParamMinLen("ProvisionedProductId", 1))
13377	}
13378	if s.ServiceActionId == nil {
13379		invalidParams.Add(request.NewErrParamRequired("ServiceActionId"))
13380	}
13381	if s.ServiceActionId != nil && len(*s.ServiceActionId) < 1 {
13382		invalidParams.Add(request.NewErrParamMinLen("ServiceActionId", 1))
13383	}
13384
13385	if invalidParams.Len() > 0 {
13386		return invalidParams
13387	}
13388	return nil
13389}
13390
13391// SetAcceptLanguage sets the AcceptLanguage field's value.
13392func (s *ExecuteProvisionedProductServiceActionInput) SetAcceptLanguage(v string) *ExecuteProvisionedProductServiceActionInput {
13393	s.AcceptLanguage = &v
13394	return s
13395}
13396
13397// SetExecuteToken sets the ExecuteToken field's value.
13398func (s *ExecuteProvisionedProductServiceActionInput) SetExecuteToken(v string) *ExecuteProvisionedProductServiceActionInput {
13399	s.ExecuteToken = &v
13400	return s
13401}
13402
13403// SetParameters sets the Parameters field's value.
13404func (s *ExecuteProvisionedProductServiceActionInput) SetParameters(v map[string][]*string) *ExecuteProvisionedProductServiceActionInput {
13405	s.Parameters = v
13406	return s
13407}
13408
13409// SetProvisionedProductId sets the ProvisionedProductId field's value.
13410func (s *ExecuteProvisionedProductServiceActionInput) SetProvisionedProductId(v string) *ExecuteProvisionedProductServiceActionInput {
13411	s.ProvisionedProductId = &v
13412	return s
13413}
13414
13415// SetServiceActionId sets the ServiceActionId field's value.
13416func (s *ExecuteProvisionedProductServiceActionInput) SetServiceActionId(v string) *ExecuteProvisionedProductServiceActionInput {
13417	s.ServiceActionId = &v
13418	return s
13419}
13420
13421type ExecuteProvisionedProductServiceActionOutput struct {
13422	_ struct{} `type:"structure"`
13423
13424	// An object containing detailed information about the result of provisioning
13425	// the product.
13426	RecordDetail *RecordDetail `type:"structure"`
13427}
13428
13429// String returns the string representation
13430func (s ExecuteProvisionedProductServiceActionOutput) String() string {
13431	return awsutil.Prettify(s)
13432}
13433
13434// GoString returns the string representation
13435func (s ExecuteProvisionedProductServiceActionOutput) GoString() string {
13436	return s.String()
13437}
13438
13439// SetRecordDetail sets the RecordDetail field's value.
13440func (s *ExecuteProvisionedProductServiceActionOutput) SetRecordDetail(v *RecordDetail) *ExecuteProvisionedProductServiceActionOutput {
13441	s.RecordDetail = v
13442	return s
13443}
13444
13445// Details of an execution parameter value that is passed to a self-service
13446// action when executed on a provisioned product.
13447type ExecutionParameter struct {
13448	_ struct{} `type:"structure"`
13449
13450	// The default values for the execution parameter.
13451	DefaultValues []*string `type:"list"`
13452
13453	// The name of the execution parameter.
13454	Name *string `min:"1" type:"string"`
13455
13456	// The execution parameter type.
13457	Type *string `min:"1" type:"string"`
13458}
13459
13460// String returns the string representation
13461func (s ExecutionParameter) String() string {
13462	return awsutil.Prettify(s)
13463}
13464
13465// GoString returns the string representation
13466func (s ExecutionParameter) GoString() string {
13467	return s.String()
13468}
13469
13470// SetDefaultValues sets the DefaultValues field's value.
13471func (s *ExecutionParameter) SetDefaultValues(v []*string) *ExecutionParameter {
13472	s.DefaultValues = v
13473	return s
13474}
13475
13476// SetName sets the Name field's value.
13477func (s *ExecutionParameter) SetName(v string) *ExecutionParameter {
13478	s.Name = &v
13479	return s
13480}
13481
13482// SetType sets the Type field's value.
13483func (s *ExecutionParameter) SetType(v string) *ExecutionParameter {
13484	s.Type = &v
13485	return s
13486}
13487
13488// An object containing information about the error, along with identifying
13489// information about the self-service action and its associations.
13490type FailedServiceActionAssociation struct {
13491	_ struct{} `type:"structure"`
13492
13493	// The error code. Valid values are listed below.
13494	ErrorCode *string `type:"string" enum:"ServiceActionAssociationErrorCode"`
13495
13496	// A text description of the error.
13497	ErrorMessage *string `min:"1" type:"string"`
13498
13499	// The product identifier. For example, prod-abcdzk7xy33qa.
13500	ProductId *string `min:"1" type:"string"`
13501
13502	// The identifier of the provisioning artifact. For example, pa-4abcdjnxjj6ne.
13503	ProvisioningArtifactId *string `min:"1" type:"string"`
13504
13505	// The self-service action identifier. For example, act-fs7abcd89wxyz.
13506	ServiceActionId *string `min:"1" type:"string"`
13507}
13508
13509// String returns the string representation
13510func (s FailedServiceActionAssociation) String() string {
13511	return awsutil.Prettify(s)
13512}
13513
13514// GoString returns the string representation
13515func (s FailedServiceActionAssociation) GoString() string {
13516	return s.String()
13517}
13518
13519// SetErrorCode sets the ErrorCode field's value.
13520func (s *FailedServiceActionAssociation) SetErrorCode(v string) *FailedServiceActionAssociation {
13521	s.ErrorCode = &v
13522	return s
13523}
13524
13525// SetErrorMessage sets the ErrorMessage field's value.
13526func (s *FailedServiceActionAssociation) SetErrorMessage(v string) *FailedServiceActionAssociation {
13527	s.ErrorMessage = &v
13528	return s
13529}
13530
13531// SetProductId sets the ProductId field's value.
13532func (s *FailedServiceActionAssociation) SetProductId(v string) *FailedServiceActionAssociation {
13533	s.ProductId = &v
13534	return s
13535}
13536
13537// SetProvisioningArtifactId sets the ProvisioningArtifactId field's value.
13538func (s *FailedServiceActionAssociation) SetProvisioningArtifactId(v string) *FailedServiceActionAssociation {
13539	s.ProvisioningArtifactId = &v
13540	return s
13541}
13542
13543// SetServiceActionId sets the ServiceActionId field's value.
13544func (s *FailedServiceActionAssociation) SetServiceActionId(v string) *FailedServiceActionAssociation {
13545	s.ServiceActionId = &v
13546	return s
13547}
13548
13549type GetAWSOrganizationsAccessStatusInput struct {
13550	_ struct{} `type:"structure"`
13551}
13552
13553// String returns the string representation
13554func (s GetAWSOrganizationsAccessStatusInput) String() string {
13555	return awsutil.Prettify(s)
13556}
13557
13558// GoString returns the string representation
13559func (s GetAWSOrganizationsAccessStatusInput) GoString() string {
13560	return s.String()
13561}
13562
13563type GetAWSOrganizationsAccessStatusOutput struct {
13564	_ struct{} `type:"structure"`
13565
13566	// The status of the portfolio share feature.
13567	AccessStatus *string `type:"string" enum:"AccessStatus"`
13568}
13569
13570// String returns the string representation
13571func (s GetAWSOrganizationsAccessStatusOutput) String() string {
13572	return awsutil.Prettify(s)
13573}
13574
13575// GoString returns the string representation
13576func (s GetAWSOrganizationsAccessStatusOutput) GoString() string {
13577	return s.String()
13578}
13579
13580// SetAccessStatus sets the AccessStatus field's value.
13581func (s *GetAWSOrganizationsAccessStatusOutput) SetAccessStatus(v string) *GetAWSOrganizationsAccessStatusOutput {
13582	s.AccessStatus = &v
13583	return s
13584}
13585
13586// One or more parameters provided to the operation are not valid.
13587type InvalidParametersException struct {
13588	_            struct{}                  `type:"structure"`
13589	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
13590
13591	Message_ *string `locationName:"message" type:"string"`
13592}
13593
13594// String returns the string representation
13595func (s InvalidParametersException) String() string {
13596	return awsutil.Prettify(s)
13597}
13598
13599// GoString returns the string representation
13600func (s InvalidParametersException) GoString() string {
13601	return s.String()
13602}
13603
13604func newErrorInvalidParametersException(v protocol.ResponseMetadata) error {
13605	return &InvalidParametersException{
13606		RespMetadata: v,
13607	}
13608}
13609
13610// Code returns the exception type name.
13611func (s *InvalidParametersException) Code() string {
13612	return "InvalidParametersException"
13613}
13614
13615// Message returns the exception's message.
13616func (s *InvalidParametersException) Message() string {
13617	if s.Message_ != nil {
13618		return *s.Message_
13619	}
13620	return ""
13621}
13622
13623// OrigErr always returns nil, satisfies awserr.Error interface.
13624func (s *InvalidParametersException) OrigErr() error {
13625	return nil
13626}
13627
13628func (s *InvalidParametersException) Error() string {
13629	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
13630}
13631
13632// Status code returns the HTTP status code for the request's response error.
13633func (s *InvalidParametersException) StatusCode() int {
13634	return s.RespMetadata.StatusCode
13635}
13636
13637// RequestID returns the service's response RequestID for request.
13638func (s *InvalidParametersException) RequestID() string {
13639	return s.RespMetadata.RequestID
13640}
13641
13642// An attempt was made to modify a resource that is in a state that is not valid.
13643// Check your resources to ensure that they are in valid states before retrying
13644// the operation.
13645type InvalidStateException struct {
13646	_            struct{}                  `type:"structure"`
13647	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
13648
13649	Message_ *string `locationName:"message" type:"string"`
13650}
13651
13652// String returns the string representation
13653func (s InvalidStateException) String() string {
13654	return awsutil.Prettify(s)
13655}
13656
13657// GoString returns the string representation
13658func (s InvalidStateException) GoString() string {
13659	return s.String()
13660}
13661
13662func newErrorInvalidStateException(v protocol.ResponseMetadata) error {
13663	return &InvalidStateException{
13664		RespMetadata: v,
13665	}
13666}
13667
13668// Code returns the exception type name.
13669func (s *InvalidStateException) Code() string {
13670	return "InvalidStateException"
13671}
13672
13673// Message returns the exception's message.
13674func (s *InvalidStateException) Message() string {
13675	if s.Message_ != nil {
13676		return *s.Message_
13677	}
13678	return ""
13679}
13680
13681// OrigErr always returns nil, satisfies awserr.Error interface.
13682func (s *InvalidStateException) OrigErr() error {
13683	return nil
13684}
13685
13686func (s *InvalidStateException) Error() string {
13687	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
13688}
13689
13690// Status code returns the HTTP status code for the request's response error.
13691func (s *InvalidStateException) StatusCode() int {
13692	return s.RespMetadata.StatusCode
13693}
13694
13695// RequestID returns the service's response RequestID for request.
13696func (s *InvalidStateException) RequestID() string {
13697	return s.RespMetadata.RequestID
13698}
13699
13700// A launch path object.
13701type LaunchPath struct {
13702	_ struct{} `type:"structure"`
13703
13704	// The identifier of the launch path.
13705	Id *string `min:"1" type:"string"`
13706
13707	// The name of the launch path.
13708	Name *string `type:"string"`
13709}
13710
13711// String returns the string representation
13712func (s LaunchPath) String() string {
13713	return awsutil.Prettify(s)
13714}
13715
13716// GoString returns the string representation
13717func (s LaunchPath) GoString() string {
13718	return s.String()
13719}
13720
13721// SetId sets the Id field's value.
13722func (s *LaunchPath) SetId(v string) *LaunchPath {
13723	s.Id = &v
13724	return s
13725}
13726
13727// SetName sets the Name field's value.
13728func (s *LaunchPath) SetName(v string) *LaunchPath {
13729	s.Name = &v
13730	return s
13731}
13732
13733// Summary information about a product path for a user.
13734type LaunchPathSummary struct {
13735	_ struct{} `type:"structure"`
13736
13737	// The constraints on the portfolio-product relationship.
13738	ConstraintSummaries []*ConstraintSummary `type:"list"`
13739
13740	// The identifier of the product path.
13741	Id *string `min:"1" type:"string"`
13742
13743	// The name of the portfolio to which the user was assigned.
13744	Name *string `type:"string"`
13745
13746	// The tags associated with this product path.
13747	Tags []*Tag `type:"list"`
13748}
13749
13750// String returns the string representation
13751func (s LaunchPathSummary) String() string {
13752	return awsutil.Prettify(s)
13753}
13754
13755// GoString returns the string representation
13756func (s LaunchPathSummary) GoString() string {
13757	return s.String()
13758}
13759
13760// SetConstraintSummaries sets the ConstraintSummaries field's value.
13761func (s *LaunchPathSummary) SetConstraintSummaries(v []*ConstraintSummary) *LaunchPathSummary {
13762	s.ConstraintSummaries = v
13763	return s
13764}
13765
13766// SetId sets the Id field's value.
13767func (s *LaunchPathSummary) SetId(v string) *LaunchPathSummary {
13768	s.Id = &v
13769	return s
13770}
13771
13772// SetName sets the Name field's value.
13773func (s *LaunchPathSummary) SetName(v string) *LaunchPathSummary {
13774	s.Name = &v
13775	return s
13776}
13777
13778// SetTags sets the Tags field's value.
13779func (s *LaunchPathSummary) SetTags(v []*Tag) *LaunchPathSummary {
13780	s.Tags = v
13781	return s
13782}
13783
13784// The current limits of the service would have been exceeded by this operation.
13785// Decrease your resource use or increase your service limits and retry the
13786// operation.
13787type LimitExceededException struct {
13788	_            struct{}                  `type:"structure"`
13789	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
13790
13791	Message_ *string `locationName:"message" type:"string"`
13792}
13793
13794// String returns the string representation
13795func (s LimitExceededException) String() string {
13796	return awsutil.Prettify(s)
13797}
13798
13799// GoString returns the string representation
13800func (s LimitExceededException) GoString() string {
13801	return s.String()
13802}
13803
13804func newErrorLimitExceededException(v protocol.ResponseMetadata) error {
13805	return &LimitExceededException{
13806		RespMetadata: v,
13807	}
13808}
13809
13810// Code returns the exception type name.
13811func (s *LimitExceededException) Code() string {
13812	return "LimitExceededException"
13813}
13814
13815// Message returns the exception's message.
13816func (s *LimitExceededException) Message() string {
13817	if s.Message_ != nil {
13818		return *s.Message_
13819	}
13820	return ""
13821}
13822
13823// OrigErr always returns nil, satisfies awserr.Error interface.
13824func (s *LimitExceededException) OrigErr() error {
13825	return nil
13826}
13827
13828func (s *LimitExceededException) Error() string {
13829	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
13830}
13831
13832// Status code returns the HTTP status code for the request's response error.
13833func (s *LimitExceededException) StatusCode() int {
13834	return s.RespMetadata.StatusCode
13835}
13836
13837// RequestID returns the service's response RequestID for request.
13838func (s *LimitExceededException) RequestID() string {
13839	return s.RespMetadata.RequestID
13840}
13841
13842type ListAcceptedPortfolioSharesInput struct {
13843	_ struct{} `type:"structure"`
13844
13845	// The language code.
13846	//
13847	//    * en - English (default)
13848	//
13849	//    * jp - Japanese
13850	//
13851	//    * zh - Chinese
13852	AcceptLanguage *string `type:"string"`
13853
13854	// The maximum number of items to return with this call.
13855	PageSize *int64 `type:"integer"`
13856
13857	// The page token for the next set of results. To retrieve the first set of
13858	// results, use null.
13859	PageToken *string `type:"string"`
13860
13861	// The type of shared portfolios to list. The default is to list imported portfolios.
13862	//
13863	//    * AWS_ORGANIZATIONS - List portfolios shared by the master account of
13864	//    your organization
13865	//
13866	//    * AWS_SERVICECATALOG - List default portfolios
13867	//
13868	//    * IMPORTED - List imported portfolios
13869	PortfolioShareType *string `type:"string" enum:"PortfolioShareType"`
13870}
13871
13872// String returns the string representation
13873func (s ListAcceptedPortfolioSharesInput) String() string {
13874	return awsutil.Prettify(s)
13875}
13876
13877// GoString returns the string representation
13878func (s ListAcceptedPortfolioSharesInput) GoString() string {
13879	return s.String()
13880}
13881
13882// SetAcceptLanguage sets the AcceptLanguage field's value.
13883func (s *ListAcceptedPortfolioSharesInput) SetAcceptLanguage(v string) *ListAcceptedPortfolioSharesInput {
13884	s.AcceptLanguage = &v
13885	return s
13886}
13887
13888// SetPageSize sets the PageSize field's value.
13889func (s *ListAcceptedPortfolioSharesInput) SetPageSize(v int64) *ListAcceptedPortfolioSharesInput {
13890	s.PageSize = &v
13891	return s
13892}
13893
13894// SetPageToken sets the PageToken field's value.
13895func (s *ListAcceptedPortfolioSharesInput) SetPageToken(v string) *ListAcceptedPortfolioSharesInput {
13896	s.PageToken = &v
13897	return s
13898}
13899
13900// SetPortfolioShareType sets the PortfolioShareType field's value.
13901func (s *ListAcceptedPortfolioSharesInput) SetPortfolioShareType(v string) *ListAcceptedPortfolioSharesInput {
13902	s.PortfolioShareType = &v
13903	return s
13904}
13905
13906type ListAcceptedPortfolioSharesOutput struct {
13907	_ struct{} `type:"structure"`
13908
13909	// The page token to use to retrieve the next set of results. If there are no
13910	// additional results, this value is null.
13911	NextPageToken *string `type:"string"`
13912
13913	// Information about the portfolios.
13914	PortfolioDetails []*PortfolioDetail `type:"list"`
13915}
13916
13917// String returns the string representation
13918func (s ListAcceptedPortfolioSharesOutput) String() string {
13919	return awsutil.Prettify(s)
13920}
13921
13922// GoString returns the string representation
13923func (s ListAcceptedPortfolioSharesOutput) GoString() string {
13924	return s.String()
13925}
13926
13927// SetNextPageToken sets the NextPageToken field's value.
13928func (s *ListAcceptedPortfolioSharesOutput) SetNextPageToken(v string) *ListAcceptedPortfolioSharesOutput {
13929	s.NextPageToken = &v
13930	return s
13931}
13932
13933// SetPortfolioDetails sets the PortfolioDetails field's value.
13934func (s *ListAcceptedPortfolioSharesOutput) SetPortfolioDetails(v []*PortfolioDetail) *ListAcceptedPortfolioSharesOutput {
13935	s.PortfolioDetails = v
13936	return s
13937}
13938
13939type ListBudgetsForResourceInput struct {
13940	_ struct{} `type:"structure"`
13941
13942	// The language code.
13943	//
13944	//    * en - English (default)
13945	//
13946	//    * jp - Japanese
13947	//
13948	//    * zh - Chinese
13949	AcceptLanguage *string `type:"string"`
13950
13951	// The maximum number of items to return with this call.
13952	PageSize *int64 `type:"integer"`
13953
13954	// The page token for the next set of results. To retrieve the first set of
13955	// results, use null.
13956	PageToken *string `type:"string"`
13957
13958	// The resource identifier.
13959	//
13960	// ResourceId is a required field
13961	ResourceId *string `min:"1" type:"string" required:"true"`
13962}
13963
13964// String returns the string representation
13965func (s ListBudgetsForResourceInput) String() string {
13966	return awsutil.Prettify(s)
13967}
13968
13969// GoString returns the string representation
13970func (s ListBudgetsForResourceInput) GoString() string {
13971	return s.String()
13972}
13973
13974// Validate inspects the fields of the type to determine if they are valid.
13975func (s *ListBudgetsForResourceInput) Validate() error {
13976	invalidParams := request.ErrInvalidParams{Context: "ListBudgetsForResourceInput"}
13977	if s.ResourceId == nil {
13978		invalidParams.Add(request.NewErrParamRequired("ResourceId"))
13979	}
13980	if s.ResourceId != nil && len(*s.ResourceId) < 1 {
13981		invalidParams.Add(request.NewErrParamMinLen("ResourceId", 1))
13982	}
13983
13984	if invalidParams.Len() > 0 {
13985		return invalidParams
13986	}
13987	return nil
13988}
13989
13990// SetAcceptLanguage sets the AcceptLanguage field's value.
13991func (s *ListBudgetsForResourceInput) SetAcceptLanguage(v string) *ListBudgetsForResourceInput {
13992	s.AcceptLanguage = &v
13993	return s
13994}
13995
13996// SetPageSize sets the PageSize field's value.
13997func (s *ListBudgetsForResourceInput) SetPageSize(v int64) *ListBudgetsForResourceInput {
13998	s.PageSize = &v
13999	return s
14000}
14001
14002// SetPageToken sets the PageToken field's value.
14003func (s *ListBudgetsForResourceInput) SetPageToken(v string) *ListBudgetsForResourceInput {
14004	s.PageToken = &v
14005	return s
14006}
14007
14008// SetResourceId sets the ResourceId field's value.
14009func (s *ListBudgetsForResourceInput) SetResourceId(v string) *ListBudgetsForResourceInput {
14010	s.ResourceId = &v
14011	return s
14012}
14013
14014type ListBudgetsForResourceOutput struct {
14015	_ struct{} `type:"structure"`
14016
14017	// Information about the associated budgets.
14018	Budgets []*BudgetDetail `type:"list"`
14019
14020	// The page token to use to retrieve the next set of results. If there are no
14021	// additional results, this value is null.
14022	NextPageToken *string `type:"string"`
14023}
14024
14025// String returns the string representation
14026func (s ListBudgetsForResourceOutput) String() string {
14027	return awsutil.Prettify(s)
14028}
14029
14030// GoString returns the string representation
14031func (s ListBudgetsForResourceOutput) GoString() string {
14032	return s.String()
14033}
14034
14035// SetBudgets sets the Budgets field's value.
14036func (s *ListBudgetsForResourceOutput) SetBudgets(v []*BudgetDetail) *ListBudgetsForResourceOutput {
14037	s.Budgets = v
14038	return s
14039}
14040
14041// SetNextPageToken sets the NextPageToken field's value.
14042func (s *ListBudgetsForResourceOutput) SetNextPageToken(v string) *ListBudgetsForResourceOutput {
14043	s.NextPageToken = &v
14044	return s
14045}
14046
14047type ListConstraintsForPortfolioInput struct {
14048	_ struct{} `type:"structure"`
14049
14050	// The language code.
14051	//
14052	//    * en - English (default)
14053	//
14054	//    * jp - Japanese
14055	//
14056	//    * zh - Chinese
14057	AcceptLanguage *string `type:"string"`
14058
14059	// The maximum number of items to return with this call.
14060	PageSize *int64 `type:"integer"`
14061
14062	// The page token for the next set of results. To retrieve the first set of
14063	// results, use null.
14064	PageToken *string `type:"string"`
14065
14066	// The portfolio identifier.
14067	//
14068	// PortfolioId is a required field
14069	PortfolioId *string `min:"1" type:"string" required:"true"`
14070
14071	// The product identifier.
14072	ProductId *string `min:"1" type:"string"`
14073}
14074
14075// String returns the string representation
14076func (s ListConstraintsForPortfolioInput) String() string {
14077	return awsutil.Prettify(s)
14078}
14079
14080// GoString returns the string representation
14081func (s ListConstraintsForPortfolioInput) GoString() string {
14082	return s.String()
14083}
14084
14085// Validate inspects the fields of the type to determine if they are valid.
14086func (s *ListConstraintsForPortfolioInput) Validate() error {
14087	invalidParams := request.ErrInvalidParams{Context: "ListConstraintsForPortfolioInput"}
14088	if s.PortfolioId == nil {
14089		invalidParams.Add(request.NewErrParamRequired("PortfolioId"))
14090	}
14091	if s.PortfolioId != nil && len(*s.PortfolioId) < 1 {
14092		invalidParams.Add(request.NewErrParamMinLen("PortfolioId", 1))
14093	}
14094	if s.ProductId != nil && len(*s.ProductId) < 1 {
14095		invalidParams.Add(request.NewErrParamMinLen("ProductId", 1))
14096	}
14097
14098	if invalidParams.Len() > 0 {
14099		return invalidParams
14100	}
14101	return nil
14102}
14103
14104// SetAcceptLanguage sets the AcceptLanguage field's value.
14105func (s *ListConstraintsForPortfolioInput) SetAcceptLanguage(v string) *ListConstraintsForPortfolioInput {
14106	s.AcceptLanguage = &v
14107	return s
14108}
14109
14110// SetPageSize sets the PageSize field's value.
14111func (s *ListConstraintsForPortfolioInput) SetPageSize(v int64) *ListConstraintsForPortfolioInput {
14112	s.PageSize = &v
14113	return s
14114}
14115
14116// SetPageToken sets the PageToken field's value.
14117func (s *ListConstraintsForPortfolioInput) SetPageToken(v string) *ListConstraintsForPortfolioInput {
14118	s.PageToken = &v
14119	return s
14120}
14121
14122// SetPortfolioId sets the PortfolioId field's value.
14123func (s *ListConstraintsForPortfolioInput) SetPortfolioId(v string) *ListConstraintsForPortfolioInput {
14124	s.PortfolioId = &v
14125	return s
14126}
14127
14128// SetProductId sets the ProductId field's value.
14129func (s *ListConstraintsForPortfolioInput) SetProductId(v string) *ListConstraintsForPortfolioInput {
14130	s.ProductId = &v
14131	return s
14132}
14133
14134type ListConstraintsForPortfolioOutput struct {
14135	_ struct{} `type:"structure"`
14136
14137	// Information about the constraints.
14138	ConstraintDetails []*ConstraintDetail `type:"list"`
14139
14140	// The page token to use to retrieve the next set of results. If there are no
14141	// additional results, this value is null.
14142	NextPageToken *string `type:"string"`
14143}
14144
14145// String returns the string representation
14146func (s ListConstraintsForPortfolioOutput) String() string {
14147	return awsutil.Prettify(s)
14148}
14149
14150// GoString returns the string representation
14151func (s ListConstraintsForPortfolioOutput) GoString() string {
14152	return s.String()
14153}
14154
14155// SetConstraintDetails sets the ConstraintDetails field's value.
14156func (s *ListConstraintsForPortfolioOutput) SetConstraintDetails(v []*ConstraintDetail) *ListConstraintsForPortfolioOutput {
14157	s.ConstraintDetails = v
14158	return s
14159}
14160
14161// SetNextPageToken sets the NextPageToken field's value.
14162func (s *ListConstraintsForPortfolioOutput) SetNextPageToken(v string) *ListConstraintsForPortfolioOutput {
14163	s.NextPageToken = &v
14164	return s
14165}
14166
14167type ListLaunchPathsInput struct {
14168	_ struct{} `type:"structure"`
14169
14170	// The language code.
14171	//
14172	//    * en - English (default)
14173	//
14174	//    * jp - Japanese
14175	//
14176	//    * zh - Chinese
14177	AcceptLanguage *string `type:"string"`
14178
14179	// The maximum number of items to return with this call.
14180	PageSize *int64 `type:"integer"`
14181
14182	// The page token for the next set of results. To retrieve the first set of
14183	// results, use null.
14184	PageToken *string `type:"string"`
14185
14186	// The product identifier.
14187	//
14188	// ProductId is a required field
14189	ProductId *string `min:"1" type:"string" required:"true"`
14190}
14191
14192// String returns the string representation
14193func (s ListLaunchPathsInput) String() string {
14194	return awsutil.Prettify(s)
14195}
14196
14197// GoString returns the string representation
14198func (s ListLaunchPathsInput) GoString() string {
14199	return s.String()
14200}
14201
14202// Validate inspects the fields of the type to determine if they are valid.
14203func (s *ListLaunchPathsInput) Validate() error {
14204	invalidParams := request.ErrInvalidParams{Context: "ListLaunchPathsInput"}
14205	if s.ProductId == nil {
14206		invalidParams.Add(request.NewErrParamRequired("ProductId"))
14207	}
14208	if s.ProductId != nil && len(*s.ProductId) < 1 {
14209		invalidParams.Add(request.NewErrParamMinLen("ProductId", 1))
14210	}
14211
14212	if invalidParams.Len() > 0 {
14213		return invalidParams
14214	}
14215	return nil
14216}
14217
14218// SetAcceptLanguage sets the AcceptLanguage field's value.
14219func (s *ListLaunchPathsInput) SetAcceptLanguage(v string) *ListLaunchPathsInput {
14220	s.AcceptLanguage = &v
14221	return s
14222}
14223
14224// SetPageSize sets the PageSize field's value.
14225func (s *ListLaunchPathsInput) SetPageSize(v int64) *ListLaunchPathsInput {
14226	s.PageSize = &v
14227	return s
14228}
14229
14230// SetPageToken sets the PageToken field's value.
14231func (s *ListLaunchPathsInput) SetPageToken(v string) *ListLaunchPathsInput {
14232	s.PageToken = &v
14233	return s
14234}
14235
14236// SetProductId sets the ProductId field's value.
14237func (s *ListLaunchPathsInput) SetProductId(v string) *ListLaunchPathsInput {
14238	s.ProductId = &v
14239	return s
14240}
14241
14242type ListLaunchPathsOutput struct {
14243	_ struct{} `type:"structure"`
14244
14245	// Information about the launch path.
14246	LaunchPathSummaries []*LaunchPathSummary `type:"list"`
14247
14248	// The page token to use to retrieve the next set of results. If there are no
14249	// additional results, this value is null.
14250	NextPageToken *string `type:"string"`
14251}
14252
14253// String returns the string representation
14254func (s ListLaunchPathsOutput) String() string {
14255	return awsutil.Prettify(s)
14256}
14257
14258// GoString returns the string representation
14259func (s ListLaunchPathsOutput) GoString() string {
14260	return s.String()
14261}
14262
14263// SetLaunchPathSummaries sets the LaunchPathSummaries field's value.
14264func (s *ListLaunchPathsOutput) SetLaunchPathSummaries(v []*LaunchPathSummary) *ListLaunchPathsOutput {
14265	s.LaunchPathSummaries = v
14266	return s
14267}
14268
14269// SetNextPageToken sets the NextPageToken field's value.
14270func (s *ListLaunchPathsOutput) SetNextPageToken(v string) *ListLaunchPathsOutput {
14271	s.NextPageToken = &v
14272	return s
14273}
14274
14275type ListOrganizationPortfolioAccessInput struct {
14276	_ struct{} `type:"structure"`
14277
14278	// The language code.
14279	//
14280	//    * en - English (default)
14281	//
14282	//    * jp - Japanese
14283	//
14284	//    * zh - Chinese
14285	AcceptLanguage *string `type:"string"`
14286
14287	// The organization node type that will be returned in the output.
14288	//
14289	//    * ORGANIZATION - Organization that has access to the portfolio.
14290	//
14291	//    * ORGANIZATIONAL_UNIT - Organizational unit that has access to the portfolio
14292	//    within your organization.
14293	//
14294	//    * ACCOUNT - Account that has access to the portfolio within your organization.
14295	//
14296	// OrganizationNodeType is a required field
14297	OrganizationNodeType *string `type:"string" required:"true" enum:"OrganizationNodeType"`
14298
14299	// The maximum number of items to return with this call.
14300	PageSize *int64 `type:"integer"`
14301
14302	// The page token for the next set of results. To retrieve the first set of
14303	// results, use null.
14304	PageToken *string `type:"string"`
14305
14306	// The portfolio identifier. For example, port-2abcdext3y5fk.
14307	//
14308	// PortfolioId is a required field
14309	PortfolioId *string `min:"1" type:"string" required:"true"`
14310}
14311
14312// String returns the string representation
14313func (s ListOrganizationPortfolioAccessInput) String() string {
14314	return awsutil.Prettify(s)
14315}
14316
14317// GoString returns the string representation
14318func (s ListOrganizationPortfolioAccessInput) GoString() string {
14319	return s.String()
14320}
14321
14322// Validate inspects the fields of the type to determine if they are valid.
14323func (s *ListOrganizationPortfolioAccessInput) Validate() error {
14324	invalidParams := request.ErrInvalidParams{Context: "ListOrganizationPortfolioAccessInput"}
14325	if s.OrganizationNodeType == nil {
14326		invalidParams.Add(request.NewErrParamRequired("OrganizationNodeType"))
14327	}
14328	if s.PortfolioId == nil {
14329		invalidParams.Add(request.NewErrParamRequired("PortfolioId"))
14330	}
14331	if s.PortfolioId != nil && len(*s.PortfolioId) < 1 {
14332		invalidParams.Add(request.NewErrParamMinLen("PortfolioId", 1))
14333	}
14334
14335	if invalidParams.Len() > 0 {
14336		return invalidParams
14337	}
14338	return nil
14339}
14340
14341// SetAcceptLanguage sets the AcceptLanguage field's value.
14342func (s *ListOrganizationPortfolioAccessInput) SetAcceptLanguage(v string) *ListOrganizationPortfolioAccessInput {
14343	s.AcceptLanguage = &v
14344	return s
14345}
14346
14347// SetOrganizationNodeType sets the OrganizationNodeType field's value.
14348func (s *ListOrganizationPortfolioAccessInput) SetOrganizationNodeType(v string) *ListOrganizationPortfolioAccessInput {
14349	s.OrganizationNodeType = &v
14350	return s
14351}
14352
14353// SetPageSize sets the PageSize field's value.
14354func (s *ListOrganizationPortfolioAccessInput) SetPageSize(v int64) *ListOrganizationPortfolioAccessInput {
14355	s.PageSize = &v
14356	return s
14357}
14358
14359// SetPageToken sets the PageToken field's value.
14360func (s *ListOrganizationPortfolioAccessInput) SetPageToken(v string) *ListOrganizationPortfolioAccessInput {
14361	s.PageToken = &v
14362	return s
14363}
14364
14365// SetPortfolioId sets the PortfolioId field's value.
14366func (s *ListOrganizationPortfolioAccessInput) SetPortfolioId(v string) *ListOrganizationPortfolioAccessInput {
14367	s.PortfolioId = &v
14368	return s
14369}
14370
14371type ListOrganizationPortfolioAccessOutput struct {
14372	_ struct{} `type:"structure"`
14373
14374	// The page token to use to retrieve the next set of results. If there are no
14375	// additional results, this value is null.
14376	NextPageToken *string `type:"string"`
14377
14378	// Displays information about the organization nodes.
14379	OrganizationNodes []*OrganizationNode `type:"list"`
14380}
14381
14382// String returns the string representation
14383func (s ListOrganizationPortfolioAccessOutput) String() string {
14384	return awsutil.Prettify(s)
14385}
14386
14387// GoString returns the string representation
14388func (s ListOrganizationPortfolioAccessOutput) GoString() string {
14389	return s.String()
14390}
14391
14392// SetNextPageToken sets the NextPageToken field's value.
14393func (s *ListOrganizationPortfolioAccessOutput) SetNextPageToken(v string) *ListOrganizationPortfolioAccessOutput {
14394	s.NextPageToken = &v
14395	return s
14396}
14397
14398// SetOrganizationNodes sets the OrganizationNodes field's value.
14399func (s *ListOrganizationPortfolioAccessOutput) SetOrganizationNodes(v []*OrganizationNode) *ListOrganizationPortfolioAccessOutput {
14400	s.OrganizationNodes = v
14401	return s
14402}
14403
14404type ListPortfolioAccessInput struct {
14405	_ struct{} `type:"structure"`
14406
14407	// The language code.
14408	//
14409	//    * en - English (default)
14410	//
14411	//    * jp - Japanese
14412	//
14413	//    * zh - Chinese
14414	AcceptLanguage *string `type:"string"`
14415
14416	// The ID of an organization node the portfolio is shared with. All children
14417	// of this node with an inherited portfolio share will be returned.
14418	OrganizationParentId *string `min:"1" type:"string"`
14419
14420	// The maximum number of items to return with this call.
14421	PageSize *int64 `type:"integer"`
14422
14423	// The page token for the next set of results. To retrieve the first set of
14424	// results, use null.
14425	PageToken *string `type:"string"`
14426
14427	// The portfolio identifier.
14428	//
14429	// PortfolioId is a required field
14430	PortfolioId *string `min:"1" type:"string" required:"true"`
14431}
14432
14433// String returns the string representation
14434func (s ListPortfolioAccessInput) String() string {
14435	return awsutil.Prettify(s)
14436}
14437
14438// GoString returns the string representation
14439func (s ListPortfolioAccessInput) GoString() string {
14440	return s.String()
14441}
14442
14443// Validate inspects the fields of the type to determine if they are valid.
14444func (s *ListPortfolioAccessInput) Validate() error {
14445	invalidParams := request.ErrInvalidParams{Context: "ListPortfolioAccessInput"}
14446	if s.OrganizationParentId != nil && len(*s.OrganizationParentId) < 1 {
14447		invalidParams.Add(request.NewErrParamMinLen("OrganizationParentId", 1))
14448	}
14449	if s.PortfolioId == nil {
14450		invalidParams.Add(request.NewErrParamRequired("PortfolioId"))
14451	}
14452	if s.PortfolioId != nil && len(*s.PortfolioId) < 1 {
14453		invalidParams.Add(request.NewErrParamMinLen("PortfolioId", 1))
14454	}
14455
14456	if invalidParams.Len() > 0 {
14457		return invalidParams
14458	}
14459	return nil
14460}
14461
14462// SetAcceptLanguage sets the AcceptLanguage field's value.
14463func (s *ListPortfolioAccessInput) SetAcceptLanguage(v string) *ListPortfolioAccessInput {
14464	s.AcceptLanguage = &v
14465	return s
14466}
14467
14468// SetOrganizationParentId sets the OrganizationParentId field's value.
14469func (s *ListPortfolioAccessInput) SetOrganizationParentId(v string) *ListPortfolioAccessInput {
14470	s.OrganizationParentId = &v
14471	return s
14472}
14473
14474// SetPageSize sets the PageSize field's value.
14475func (s *ListPortfolioAccessInput) SetPageSize(v int64) *ListPortfolioAccessInput {
14476	s.PageSize = &v
14477	return s
14478}
14479
14480// SetPageToken sets the PageToken field's value.
14481func (s *ListPortfolioAccessInput) SetPageToken(v string) *ListPortfolioAccessInput {
14482	s.PageToken = &v
14483	return s
14484}
14485
14486// SetPortfolioId sets the PortfolioId field's value.
14487func (s *ListPortfolioAccessInput) SetPortfolioId(v string) *ListPortfolioAccessInput {
14488	s.PortfolioId = &v
14489	return s
14490}
14491
14492type ListPortfolioAccessOutput struct {
14493	_ struct{} `type:"structure"`
14494
14495	// Information about the AWS accounts with access to the portfolio.
14496	AccountIds []*string `type:"list"`
14497
14498	// The page token to use to retrieve the next set of results. If there are no
14499	// additional results, this value is null.
14500	NextPageToken *string `type:"string"`
14501}
14502
14503// String returns the string representation
14504func (s ListPortfolioAccessOutput) String() string {
14505	return awsutil.Prettify(s)
14506}
14507
14508// GoString returns the string representation
14509func (s ListPortfolioAccessOutput) GoString() string {
14510	return s.String()
14511}
14512
14513// SetAccountIds sets the AccountIds field's value.
14514func (s *ListPortfolioAccessOutput) SetAccountIds(v []*string) *ListPortfolioAccessOutput {
14515	s.AccountIds = v
14516	return s
14517}
14518
14519// SetNextPageToken sets the NextPageToken field's value.
14520func (s *ListPortfolioAccessOutput) SetNextPageToken(v string) *ListPortfolioAccessOutput {
14521	s.NextPageToken = &v
14522	return s
14523}
14524
14525type ListPortfoliosForProductInput struct {
14526	_ struct{} `type:"structure"`
14527
14528	// The language code.
14529	//
14530	//    * en - English (default)
14531	//
14532	//    * jp - Japanese
14533	//
14534	//    * zh - Chinese
14535	AcceptLanguage *string `type:"string"`
14536
14537	// The maximum number of items to return with this call.
14538	PageSize *int64 `type:"integer"`
14539
14540	// The page token for the next set of results. To retrieve the first set of
14541	// results, use null.
14542	PageToken *string `type:"string"`
14543
14544	// The product identifier.
14545	//
14546	// ProductId is a required field
14547	ProductId *string `min:"1" type:"string" required:"true"`
14548}
14549
14550// String returns the string representation
14551func (s ListPortfoliosForProductInput) String() string {
14552	return awsutil.Prettify(s)
14553}
14554
14555// GoString returns the string representation
14556func (s ListPortfoliosForProductInput) GoString() string {
14557	return s.String()
14558}
14559
14560// Validate inspects the fields of the type to determine if they are valid.
14561func (s *ListPortfoliosForProductInput) Validate() error {
14562	invalidParams := request.ErrInvalidParams{Context: "ListPortfoliosForProductInput"}
14563	if s.ProductId == nil {
14564		invalidParams.Add(request.NewErrParamRequired("ProductId"))
14565	}
14566	if s.ProductId != nil && len(*s.ProductId) < 1 {
14567		invalidParams.Add(request.NewErrParamMinLen("ProductId", 1))
14568	}
14569
14570	if invalidParams.Len() > 0 {
14571		return invalidParams
14572	}
14573	return nil
14574}
14575
14576// SetAcceptLanguage sets the AcceptLanguage field's value.
14577func (s *ListPortfoliosForProductInput) SetAcceptLanguage(v string) *ListPortfoliosForProductInput {
14578	s.AcceptLanguage = &v
14579	return s
14580}
14581
14582// SetPageSize sets the PageSize field's value.
14583func (s *ListPortfoliosForProductInput) SetPageSize(v int64) *ListPortfoliosForProductInput {
14584	s.PageSize = &v
14585	return s
14586}
14587
14588// SetPageToken sets the PageToken field's value.
14589func (s *ListPortfoliosForProductInput) SetPageToken(v string) *ListPortfoliosForProductInput {
14590	s.PageToken = &v
14591	return s
14592}
14593
14594// SetProductId sets the ProductId field's value.
14595func (s *ListPortfoliosForProductInput) SetProductId(v string) *ListPortfoliosForProductInput {
14596	s.ProductId = &v
14597	return s
14598}
14599
14600type ListPortfoliosForProductOutput struct {
14601	_ struct{} `type:"structure"`
14602
14603	// The page token to use to retrieve the next set of results. If there are no
14604	// additional results, this value is null.
14605	NextPageToken *string `type:"string"`
14606
14607	// Information about the portfolios.
14608	PortfolioDetails []*PortfolioDetail `type:"list"`
14609}
14610
14611// String returns the string representation
14612func (s ListPortfoliosForProductOutput) String() string {
14613	return awsutil.Prettify(s)
14614}
14615
14616// GoString returns the string representation
14617func (s ListPortfoliosForProductOutput) GoString() string {
14618	return s.String()
14619}
14620
14621// SetNextPageToken sets the NextPageToken field's value.
14622func (s *ListPortfoliosForProductOutput) SetNextPageToken(v string) *ListPortfoliosForProductOutput {
14623	s.NextPageToken = &v
14624	return s
14625}
14626
14627// SetPortfolioDetails sets the PortfolioDetails field's value.
14628func (s *ListPortfoliosForProductOutput) SetPortfolioDetails(v []*PortfolioDetail) *ListPortfoliosForProductOutput {
14629	s.PortfolioDetails = v
14630	return s
14631}
14632
14633type ListPortfoliosInput struct {
14634	_ struct{} `type:"structure"`
14635
14636	// The language code.
14637	//
14638	//    * en - English (default)
14639	//
14640	//    * jp - Japanese
14641	//
14642	//    * zh - Chinese
14643	AcceptLanguage *string `type:"string"`
14644
14645	// The maximum number of items to return with this call.
14646	PageSize *int64 `type:"integer"`
14647
14648	// The page token for the next set of results. To retrieve the first set of
14649	// results, use null.
14650	PageToken *string `type:"string"`
14651}
14652
14653// String returns the string representation
14654func (s ListPortfoliosInput) String() string {
14655	return awsutil.Prettify(s)
14656}
14657
14658// GoString returns the string representation
14659func (s ListPortfoliosInput) GoString() string {
14660	return s.String()
14661}
14662
14663// SetAcceptLanguage sets the AcceptLanguage field's value.
14664func (s *ListPortfoliosInput) SetAcceptLanguage(v string) *ListPortfoliosInput {
14665	s.AcceptLanguage = &v
14666	return s
14667}
14668
14669// SetPageSize sets the PageSize field's value.
14670func (s *ListPortfoliosInput) SetPageSize(v int64) *ListPortfoliosInput {
14671	s.PageSize = &v
14672	return s
14673}
14674
14675// SetPageToken sets the PageToken field's value.
14676func (s *ListPortfoliosInput) SetPageToken(v string) *ListPortfoliosInput {
14677	s.PageToken = &v
14678	return s
14679}
14680
14681type ListPortfoliosOutput struct {
14682	_ struct{} `type:"structure"`
14683
14684	// The page token to use to retrieve the next set of results. If there are no
14685	// additional results, this value is null.
14686	NextPageToken *string `type:"string"`
14687
14688	// Information about the portfolios.
14689	PortfolioDetails []*PortfolioDetail `type:"list"`
14690}
14691
14692// String returns the string representation
14693func (s ListPortfoliosOutput) String() string {
14694	return awsutil.Prettify(s)
14695}
14696
14697// GoString returns the string representation
14698func (s ListPortfoliosOutput) GoString() string {
14699	return s.String()
14700}
14701
14702// SetNextPageToken sets the NextPageToken field's value.
14703func (s *ListPortfoliosOutput) SetNextPageToken(v string) *ListPortfoliosOutput {
14704	s.NextPageToken = &v
14705	return s
14706}
14707
14708// SetPortfolioDetails sets the PortfolioDetails field's value.
14709func (s *ListPortfoliosOutput) SetPortfolioDetails(v []*PortfolioDetail) *ListPortfoliosOutput {
14710	s.PortfolioDetails = v
14711	return s
14712}
14713
14714type ListPrincipalsForPortfolioInput struct {
14715	_ struct{} `type:"structure"`
14716
14717	// The language code.
14718	//
14719	//    * en - English (default)
14720	//
14721	//    * jp - Japanese
14722	//
14723	//    * zh - Chinese
14724	AcceptLanguage *string `type:"string"`
14725
14726	// The maximum number of items to return with this call.
14727	PageSize *int64 `type:"integer"`
14728
14729	// The page token for the next set of results. To retrieve the first set of
14730	// results, use null.
14731	PageToken *string `type:"string"`
14732
14733	// The portfolio identifier.
14734	//
14735	// PortfolioId is a required field
14736	PortfolioId *string `min:"1" type:"string" required:"true"`
14737}
14738
14739// String returns the string representation
14740func (s ListPrincipalsForPortfolioInput) String() string {
14741	return awsutil.Prettify(s)
14742}
14743
14744// GoString returns the string representation
14745func (s ListPrincipalsForPortfolioInput) GoString() string {
14746	return s.String()
14747}
14748
14749// Validate inspects the fields of the type to determine if they are valid.
14750func (s *ListPrincipalsForPortfolioInput) Validate() error {
14751	invalidParams := request.ErrInvalidParams{Context: "ListPrincipalsForPortfolioInput"}
14752	if s.PortfolioId == nil {
14753		invalidParams.Add(request.NewErrParamRequired("PortfolioId"))
14754	}
14755	if s.PortfolioId != nil && len(*s.PortfolioId) < 1 {
14756		invalidParams.Add(request.NewErrParamMinLen("PortfolioId", 1))
14757	}
14758
14759	if invalidParams.Len() > 0 {
14760		return invalidParams
14761	}
14762	return nil
14763}
14764
14765// SetAcceptLanguage sets the AcceptLanguage field's value.
14766func (s *ListPrincipalsForPortfolioInput) SetAcceptLanguage(v string) *ListPrincipalsForPortfolioInput {
14767	s.AcceptLanguage = &v
14768	return s
14769}
14770
14771// SetPageSize sets the PageSize field's value.
14772func (s *ListPrincipalsForPortfolioInput) SetPageSize(v int64) *ListPrincipalsForPortfolioInput {
14773	s.PageSize = &v
14774	return s
14775}
14776
14777// SetPageToken sets the PageToken field's value.
14778func (s *ListPrincipalsForPortfolioInput) SetPageToken(v string) *ListPrincipalsForPortfolioInput {
14779	s.PageToken = &v
14780	return s
14781}
14782
14783// SetPortfolioId sets the PortfolioId field's value.
14784func (s *ListPrincipalsForPortfolioInput) SetPortfolioId(v string) *ListPrincipalsForPortfolioInput {
14785	s.PortfolioId = &v
14786	return s
14787}
14788
14789type ListPrincipalsForPortfolioOutput struct {
14790	_ struct{} `type:"structure"`
14791
14792	// The page token to use to retrieve the next set of results. If there are no
14793	// additional results, this value is null.
14794	NextPageToken *string `type:"string"`
14795
14796	// The IAM principals (users or roles) associated with the portfolio.
14797	Principals []*Principal `type:"list"`
14798}
14799
14800// String returns the string representation
14801func (s ListPrincipalsForPortfolioOutput) String() string {
14802	return awsutil.Prettify(s)
14803}
14804
14805// GoString returns the string representation
14806func (s ListPrincipalsForPortfolioOutput) GoString() string {
14807	return s.String()
14808}
14809
14810// SetNextPageToken sets the NextPageToken field's value.
14811func (s *ListPrincipalsForPortfolioOutput) SetNextPageToken(v string) *ListPrincipalsForPortfolioOutput {
14812	s.NextPageToken = &v
14813	return s
14814}
14815
14816// SetPrincipals sets the Principals field's value.
14817func (s *ListPrincipalsForPortfolioOutput) SetPrincipals(v []*Principal) *ListPrincipalsForPortfolioOutput {
14818	s.Principals = v
14819	return s
14820}
14821
14822type ListProvisionedProductPlansInput struct {
14823	_ struct{} `type:"structure"`
14824
14825	// The language code.
14826	//
14827	//    * en - English (default)
14828	//
14829	//    * jp - Japanese
14830	//
14831	//    * zh - Chinese
14832	AcceptLanguage *string `type:"string"`
14833
14834	// The access level to use to obtain results. The default is User.
14835	AccessLevelFilter *AccessLevelFilter `type:"structure"`
14836
14837	// The maximum number of items to return with this call.
14838	PageSize *int64 `type:"integer"`
14839
14840	// The page token for the next set of results. To retrieve the first set of
14841	// results, use null.
14842	PageToken *string `type:"string"`
14843
14844	// The product identifier.
14845	ProvisionProductId *string `min:"1" type:"string"`
14846}
14847
14848// String returns the string representation
14849func (s ListProvisionedProductPlansInput) String() string {
14850	return awsutil.Prettify(s)
14851}
14852
14853// GoString returns the string representation
14854func (s ListProvisionedProductPlansInput) GoString() string {
14855	return s.String()
14856}
14857
14858// Validate inspects the fields of the type to determine if they are valid.
14859func (s *ListProvisionedProductPlansInput) Validate() error {
14860	invalidParams := request.ErrInvalidParams{Context: "ListProvisionedProductPlansInput"}
14861	if s.ProvisionProductId != nil && len(*s.ProvisionProductId) < 1 {
14862		invalidParams.Add(request.NewErrParamMinLen("ProvisionProductId", 1))
14863	}
14864
14865	if invalidParams.Len() > 0 {
14866		return invalidParams
14867	}
14868	return nil
14869}
14870
14871// SetAcceptLanguage sets the AcceptLanguage field's value.
14872func (s *ListProvisionedProductPlansInput) SetAcceptLanguage(v string) *ListProvisionedProductPlansInput {
14873	s.AcceptLanguage = &v
14874	return s
14875}
14876
14877// SetAccessLevelFilter sets the AccessLevelFilter field's value.
14878func (s *ListProvisionedProductPlansInput) SetAccessLevelFilter(v *AccessLevelFilter) *ListProvisionedProductPlansInput {
14879	s.AccessLevelFilter = v
14880	return s
14881}
14882
14883// SetPageSize sets the PageSize field's value.
14884func (s *ListProvisionedProductPlansInput) SetPageSize(v int64) *ListProvisionedProductPlansInput {
14885	s.PageSize = &v
14886	return s
14887}
14888
14889// SetPageToken sets the PageToken field's value.
14890func (s *ListProvisionedProductPlansInput) SetPageToken(v string) *ListProvisionedProductPlansInput {
14891	s.PageToken = &v
14892	return s
14893}
14894
14895// SetProvisionProductId sets the ProvisionProductId field's value.
14896func (s *ListProvisionedProductPlansInput) SetProvisionProductId(v string) *ListProvisionedProductPlansInput {
14897	s.ProvisionProductId = &v
14898	return s
14899}
14900
14901type ListProvisionedProductPlansOutput struct {
14902	_ struct{} `type:"structure"`
14903
14904	// The page token to use to retrieve the next set of results. If there are no
14905	// additional results, this value is null.
14906	NextPageToken *string `type:"string"`
14907
14908	// Information about the plans.
14909	ProvisionedProductPlans []*ProvisionedProductPlanSummary `type:"list"`
14910}
14911
14912// String returns the string representation
14913func (s ListProvisionedProductPlansOutput) String() string {
14914	return awsutil.Prettify(s)
14915}
14916
14917// GoString returns the string representation
14918func (s ListProvisionedProductPlansOutput) GoString() string {
14919	return s.String()
14920}
14921
14922// SetNextPageToken sets the NextPageToken field's value.
14923func (s *ListProvisionedProductPlansOutput) SetNextPageToken(v string) *ListProvisionedProductPlansOutput {
14924	s.NextPageToken = &v
14925	return s
14926}
14927
14928// SetProvisionedProductPlans sets the ProvisionedProductPlans field's value.
14929func (s *ListProvisionedProductPlansOutput) SetProvisionedProductPlans(v []*ProvisionedProductPlanSummary) *ListProvisionedProductPlansOutput {
14930	s.ProvisionedProductPlans = v
14931	return s
14932}
14933
14934type ListProvisioningArtifactsForServiceActionInput struct {
14935	_ struct{} `type:"structure"`
14936
14937	// The language code.
14938	//
14939	//    * en - English (default)
14940	//
14941	//    * jp - Japanese
14942	//
14943	//    * zh - Chinese
14944	AcceptLanguage *string `type:"string"`
14945
14946	// The maximum number of items to return with this call.
14947	PageSize *int64 `type:"integer"`
14948
14949	// The page token for the next set of results. To retrieve the first set of
14950	// results, use null.
14951	PageToken *string `type:"string"`
14952
14953	// The self-service action identifier. For example, act-fs7abcd89wxyz.
14954	//
14955	// ServiceActionId is a required field
14956	ServiceActionId *string `min:"1" type:"string" required:"true"`
14957}
14958
14959// String returns the string representation
14960func (s ListProvisioningArtifactsForServiceActionInput) String() string {
14961	return awsutil.Prettify(s)
14962}
14963
14964// GoString returns the string representation
14965func (s ListProvisioningArtifactsForServiceActionInput) GoString() string {
14966	return s.String()
14967}
14968
14969// Validate inspects the fields of the type to determine if they are valid.
14970func (s *ListProvisioningArtifactsForServiceActionInput) Validate() error {
14971	invalidParams := request.ErrInvalidParams{Context: "ListProvisioningArtifactsForServiceActionInput"}
14972	if s.ServiceActionId == nil {
14973		invalidParams.Add(request.NewErrParamRequired("ServiceActionId"))
14974	}
14975	if s.ServiceActionId != nil && len(*s.ServiceActionId) < 1 {
14976		invalidParams.Add(request.NewErrParamMinLen("ServiceActionId", 1))
14977	}
14978
14979	if invalidParams.Len() > 0 {
14980		return invalidParams
14981	}
14982	return nil
14983}
14984
14985// SetAcceptLanguage sets the AcceptLanguage field's value.
14986func (s *ListProvisioningArtifactsForServiceActionInput) SetAcceptLanguage(v string) *ListProvisioningArtifactsForServiceActionInput {
14987	s.AcceptLanguage = &v
14988	return s
14989}
14990
14991// SetPageSize sets the PageSize field's value.
14992func (s *ListProvisioningArtifactsForServiceActionInput) SetPageSize(v int64) *ListProvisioningArtifactsForServiceActionInput {
14993	s.PageSize = &v
14994	return s
14995}
14996
14997// SetPageToken sets the PageToken field's value.
14998func (s *ListProvisioningArtifactsForServiceActionInput) SetPageToken(v string) *ListProvisioningArtifactsForServiceActionInput {
14999	s.PageToken = &v
15000	return s
15001}
15002
15003// SetServiceActionId sets the ServiceActionId field's value.
15004func (s *ListProvisioningArtifactsForServiceActionInput) SetServiceActionId(v string) *ListProvisioningArtifactsForServiceActionInput {
15005	s.ServiceActionId = &v
15006	return s
15007}
15008
15009type ListProvisioningArtifactsForServiceActionOutput struct {
15010	_ struct{} `type:"structure"`
15011
15012	// The page token to use to retrieve the next set of results. If there are no
15013	// additional results, this value is null.
15014	NextPageToken *string `type:"string"`
15015
15016	// An array of objects with information about product views and provisioning
15017	// artifacts.
15018	ProvisioningArtifactViews []*ProvisioningArtifactView `type:"list"`
15019}
15020
15021// String returns the string representation
15022func (s ListProvisioningArtifactsForServiceActionOutput) String() string {
15023	return awsutil.Prettify(s)
15024}
15025
15026// GoString returns the string representation
15027func (s ListProvisioningArtifactsForServiceActionOutput) GoString() string {
15028	return s.String()
15029}
15030
15031// SetNextPageToken sets the NextPageToken field's value.
15032func (s *ListProvisioningArtifactsForServiceActionOutput) SetNextPageToken(v string) *ListProvisioningArtifactsForServiceActionOutput {
15033	s.NextPageToken = &v
15034	return s
15035}
15036
15037// SetProvisioningArtifactViews sets the ProvisioningArtifactViews field's value.
15038func (s *ListProvisioningArtifactsForServiceActionOutput) SetProvisioningArtifactViews(v []*ProvisioningArtifactView) *ListProvisioningArtifactsForServiceActionOutput {
15039	s.ProvisioningArtifactViews = v
15040	return s
15041}
15042
15043type ListProvisioningArtifactsInput struct {
15044	_ struct{} `type:"structure"`
15045
15046	// The language code.
15047	//
15048	//    * en - English (default)
15049	//
15050	//    * jp - Japanese
15051	//
15052	//    * zh - Chinese
15053	AcceptLanguage *string `type:"string"`
15054
15055	// The product identifier.
15056	//
15057	// ProductId is a required field
15058	ProductId *string `min:"1" type:"string" required:"true"`
15059}
15060
15061// String returns the string representation
15062func (s ListProvisioningArtifactsInput) String() string {
15063	return awsutil.Prettify(s)
15064}
15065
15066// GoString returns the string representation
15067func (s ListProvisioningArtifactsInput) GoString() string {
15068	return s.String()
15069}
15070
15071// Validate inspects the fields of the type to determine if they are valid.
15072func (s *ListProvisioningArtifactsInput) Validate() error {
15073	invalidParams := request.ErrInvalidParams{Context: "ListProvisioningArtifactsInput"}
15074	if s.ProductId == nil {
15075		invalidParams.Add(request.NewErrParamRequired("ProductId"))
15076	}
15077	if s.ProductId != nil && len(*s.ProductId) < 1 {
15078		invalidParams.Add(request.NewErrParamMinLen("ProductId", 1))
15079	}
15080
15081	if invalidParams.Len() > 0 {
15082		return invalidParams
15083	}
15084	return nil
15085}
15086
15087// SetAcceptLanguage sets the AcceptLanguage field's value.
15088func (s *ListProvisioningArtifactsInput) SetAcceptLanguage(v string) *ListProvisioningArtifactsInput {
15089	s.AcceptLanguage = &v
15090	return s
15091}
15092
15093// SetProductId sets the ProductId field's value.
15094func (s *ListProvisioningArtifactsInput) SetProductId(v string) *ListProvisioningArtifactsInput {
15095	s.ProductId = &v
15096	return s
15097}
15098
15099type ListProvisioningArtifactsOutput struct {
15100	_ struct{} `type:"structure"`
15101
15102	// The page token to use to retrieve the next set of results. If there are no
15103	// additional results, this value is null.
15104	NextPageToken *string `type:"string"`
15105
15106	// Information about the provisioning artifacts.
15107	ProvisioningArtifactDetails []*ProvisioningArtifactDetail `type:"list"`
15108}
15109
15110// String returns the string representation
15111func (s ListProvisioningArtifactsOutput) String() string {
15112	return awsutil.Prettify(s)
15113}
15114
15115// GoString returns the string representation
15116func (s ListProvisioningArtifactsOutput) GoString() string {
15117	return s.String()
15118}
15119
15120// SetNextPageToken sets the NextPageToken field's value.
15121func (s *ListProvisioningArtifactsOutput) SetNextPageToken(v string) *ListProvisioningArtifactsOutput {
15122	s.NextPageToken = &v
15123	return s
15124}
15125
15126// SetProvisioningArtifactDetails sets the ProvisioningArtifactDetails field's value.
15127func (s *ListProvisioningArtifactsOutput) SetProvisioningArtifactDetails(v []*ProvisioningArtifactDetail) *ListProvisioningArtifactsOutput {
15128	s.ProvisioningArtifactDetails = v
15129	return s
15130}
15131
15132type ListRecordHistoryInput struct {
15133	_ struct{} `type:"structure"`
15134
15135	// The language code.
15136	//
15137	//    * en - English (default)
15138	//
15139	//    * jp - Japanese
15140	//
15141	//    * zh - Chinese
15142	AcceptLanguage *string `type:"string"`
15143
15144	// The access level to use to obtain results. The default is User.
15145	AccessLevelFilter *AccessLevelFilter `type:"structure"`
15146
15147	// The maximum number of items to return with this call.
15148	PageSize *int64 `type:"integer"`
15149
15150	// The page token for the next set of results. To retrieve the first set of
15151	// results, use null.
15152	PageToken *string `type:"string"`
15153
15154	// The search filter to scope the results.
15155	SearchFilter *ListRecordHistorySearchFilter `type:"structure"`
15156}
15157
15158// String returns the string representation
15159func (s ListRecordHistoryInput) String() string {
15160	return awsutil.Prettify(s)
15161}
15162
15163// GoString returns the string representation
15164func (s ListRecordHistoryInput) GoString() string {
15165	return s.String()
15166}
15167
15168// SetAcceptLanguage sets the AcceptLanguage field's value.
15169func (s *ListRecordHistoryInput) SetAcceptLanguage(v string) *ListRecordHistoryInput {
15170	s.AcceptLanguage = &v
15171	return s
15172}
15173
15174// SetAccessLevelFilter sets the AccessLevelFilter field's value.
15175func (s *ListRecordHistoryInput) SetAccessLevelFilter(v *AccessLevelFilter) *ListRecordHistoryInput {
15176	s.AccessLevelFilter = v
15177	return s
15178}
15179
15180// SetPageSize sets the PageSize field's value.
15181func (s *ListRecordHistoryInput) SetPageSize(v int64) *ListRecordHistoryInput {
15182	s.PageSize = &v
15183	return s
15184}
15185
15186// SetPageToken sets the PageToken field's value.
15187func (s *ListRecordHistoryInput) SetPageToken(v string) *ListRecordHistoryInput {
15188	s.PageToken = &v
15189	return s
15190}
15191
15192// SetSearchFilter sets the SearchFilter field's value.
15193func (s *ListRecordHistoryInput) SetSearchFilter(v *ListRecordHistorySearchFilter) *ListRecordHistoryInput {
15194	s.SearchFilter = v
15195	return s
15196}
15197
15198type ListRecordHistoryOutput struct {
15199	_ struct{} `type:"structure"`
15200
15201	// The page token to use to retrieve the next set of results. If there are no
15202	// additional results, this value is null.
15203	NextPageToken *string `type:"string"`
15204
15205	// The records, in reverse chronological order.
15206	RecordDetails []*RecordDetail `type:"list"`
15207}
15208
15209// String returns the string representation
15210func (s ListRecordHistoryOutput) String() string {
15211	return awsutil.Prettify(s)
15212}
15213
15214// GoString returns the string representation
15215func (s ListRecordHistoryOutput) GoString() string {
15216	return s.String()
15217}
15218
15219// SetNextPageToken sets the NextPageToken field's value.
15220func (s *ListRecordHistoryOutput) SetNextPageToken(v string) *ListRecordHistoryOutput {
15221	s.NextPageToken = &v
15222	return s
15223}
15224
15225// SetRecordDetails sets the RecordDetails field's value.
15226func (s *ListRecordHistoryOutput) SetRecordDetails(v []*RecordDetail) *ListRecordHistoryOutput {
15227	s.RecordDetails = v
15228	return s
15229}
15230
15231// The search filter to use when listing history records.
15232type ListRecordHistorySearchFilter struct {
15233	_ struct{} `type:"structure"`
15234
15235	// The filter key.
15236	//
15237	//    * product - Filter results based on the specified product identifier.
15238	//
15239	//    * provisionedproduct - Filter results based on the provisioned product
15240	//    identifier.
15241	Key *string `type:"string"`
15242
15243	// The filter value.
15244	Value *string `type:"string"`
15245}
15246
15247// String returns the string representation
15248func (s ListRecordHistorySearchFilter) String() string {
15249	return awsutil.Prettify(s)
15250}
15251
15252// GoString returns the string representation
15253func (s ListRecordHistorySearchFilter) GoString() string {
15254	return s.String()
15255}
15256
15257// SetKey sets the Key field's value.
15258func (s *ListRecordHistorySearchFilter) SetKey(v string) *ListRecordHistorySearchFilter {
15259	s.Key = &v
15260	return s
15261}
15262
15263// SetValue sets the Value field's value.
15264func (s *ListRecordHistorySearchFilter) SetValue(v string) *ListRecordHistorySearchFilter {
15265	s.Value = &v
15266	return s
15267}
15268
15269type ListResourcesForTagOptionInput struct {
15270	_ struct{} `type:"structure"`
15271
15272	// The maximum number of items to return with this call.
15273	PageSize *int64 `type:"integer"`
15274
15275	// The page token for the next set of results. To retrieve the first set of
15276	// results, use null.
15277	PageToken *string `type:"string"`
15278
15279	// The resource type.
15280	//
15281	//    * Portfolio
15282	//
15283	//    * Product
15284	ResourceType *string `type:"string"`
15285
15286	// The TagOption identifier.
15287	//
15288	// TagOptionId is a required field
15289	TagOptionId *string `min:"1" type:"string" required:"true"`
15290}
15291
15292// String returns the string representation
15293func (s ListResourcesForTagOptionInput) String() string {
15294	return awsutil.Prettify(s)
15295}
15296
15297// GoString returns the string representation
15298func (s ListResourcesForTagOptionInput) GoString() string {
15299	return s.String()
15300}
15301
15302// Validate inspects the fields of the type to determine if they are valid.
15303func (s *ListResourcesForTagOptionInput) Validate() error {
15304	invalidParams := request.ErrInvalidParams{Context: "ListResourcesForTagOptionInput"}
15305	if s.TagOptionId == nil {
15306		invalidParams.Add(request.NewErrParamRequired("TagOptionId"))
15307	}
15308	if s.TagOptionId != nil && len(*s.TagOptionId) < 1 {
15309		invalidParams.Add(request.NewErrParamMinLen("TagOptionId", 1))
15310	}
15311
15312	if invalidParams.Len() > 0 {
15313		return invalidParams
15314	}
15315	return nil
15316}
15317
15318// SetPageSize sets the PageSize field's value.
15319func (s *ListResourcesForTagOptionInput) SetPageSize(v int64) *ListResourcesForTagOptionInput {
15320	s.PageSize = &v
15321	return s
15322}
15323
15324// SetPageToken sets the PageToken field's value.
15325func (s *ListResourcesForTagOptionInput) SetPageToken(v string) *ListResourcesForTagOptionInput {
15326	s.PageToken = &v
15327	return s
15328}
15329
15330// SetResourceType sets the ResourceType field's value.
15331func (s *ListResourcesForTagOptionInput) SetResourceType(v string) *ListResourcesForTagOptionInput {
15332	s.ResourceType = &v
15333	return s
15334}
15335
15336// SetTagOptionId sets the TagOptionId field's value.
15337func (s *ListResourcesForTagOptionInput) SetTagOptionId(v string) *ListResourcesForTagOptionInput {
15338	s.TagOptionId = &v
15339	return s
15340}
15341
15342type ListResourcesForTagOptionOutput struct {
15343	_ struct{} `type:"structure"`
15344
15345	// The page token for the next set of results. To retrieve the first set of
15346	// results, use null.
15347	PageToken *string `type:"string"`
15348
15349	// Information about the resources.
15350	ResourceDetails []*ResourceDetail `type:"list"`
15351}
15352
15353// String returns the string representation
15354func (s ListResourcesForTagOptionOutput) String() string {
15355	return awsutil.Prettify(s)
15356}
15357
15358// GoString returns the string representation
15359func (s ListResourcesForTagOptionOutput) GoString() string {
15360	return s.String()
15361}
15362
15363// SetPageToken sets the PageToken field's value.
15364func (s *ListResourcesForTagOptionOutput) SetPageToken(v string) *ListResourcesForTagOptionOutput {
15365	s.PageToken = &v
15366	return s
15367}
15368
15369// SetResourceDetails sets the ResourceDetails field's value.
15370func (s *ListResourcesForTagOptionOutput) SetResourceDetails(v []*ResourceDetail) *ListResourcesForTagOptionOutput {
15371	s.ResourceDetails = v
15372	return s
15373}
15374
15375type ListServiceActionsForProvisioningArtifactInput struct {
15376	_ struct{} `type:"structure"`
15377
15378	// The language code.
15379	//
15380	//    * en - English (default)
15381	//
15382	//    * jp - Japanese
15383	//
15384	//    * zh - Chinese
15385	AcceptLanguage *string `type:"string"`
15386
15387	// The maximum number of items to return with this call.
15388	PageSize *int64 `type:"integer"`
15389
15390	// The page token for the next set of results. To retrieve the first set of
15391	// results, use null.
15392	PageToken *string `type:"string"`
15393
15394	// The product identifier. For example, prod-abcdzk7xy33qa.
15395	//
15396	// ProductId is a required field
15397	ProductId *string `min:"1" type:"string" required:"true"`
15398
15399	// The identifier of the provisioning artifact. For example, pa-4abcdjnxjj6ne.
15400	//
15401	// ProvisioningArtifactId is a required field
15402	ProvisioningArtifactId *string `min:"1" type:"string" required:"true"`
15403}
15404
15405// String returns the string representation
15406func (s ListServiceActionsForProvisioningArtifactInput) String() string {
15407	return awsutil.Prettify(s)
15408}
15409
15410// GoString returns the string representation
15411func (s ListServiceActionsForProvisioningArtifactInput) GoString() string {
15412	return s.String()
15413}
15414
15415// Validate inspects the fields of the type to determine if they are valid.
15416func (s *ListServiceActionsForProvisioningArtifactInput) Validate() error {
15417	invalidParams := request.ErrInvalidParams{Context: "ListServiceActionsForProvisioningArtifactInput"}
15418	if s.ProductId == nil {
15419		invalidParams.Add(request.NewErrParamRequired("ProductId"))
15420	}
15421	if s.ProductId != nil && len(*s.ProductId) < 1 {
15422		invalidParams.Add(request.NewErrParamMinLen("ProductId", 1))
15423	}
15424	if s.ProvisioningArtifactId == nil {
15425		invalidParams.Add(request.NewErrParamRequired("ProvisioningArtifactId"))
15426	}
15427	if s.ProvisioningArtifactId != nil && len(*s.ProvisioningArtifactId) < 1 {
15428		invalidParams.Add(request.NewErrParamMinLen("ProvisioningArtifactId", 1))
15429	}
15430
15431	if invalidParams.Len() > 0 {
15432		return invalidParams
15433	}
15434	return nil
15435}
15436
15437// SetAcceptLanguage sets the AcceptLanguage field's value.
15438func (s *ListServiceActionsForProvisioningArtifactInput) SetAcceptLanguage(v string) *ListServiceActionsForProvisioningArtifactInput {
15439	s.AcceptLanguage = &v
15440	return s
15441}
15442
15443// SetPageSize sets the PageSize field's value.
15444func (s *ListServiceActionsForProvisioningArtifactInput) SetPageSize(v int64) *ListServiceActionsForProvisioningArtifactInput {
15445	s.PageSize = &v
15446	return s
15447}
15448
15449// SetPageToken sets the PageToken field's value.
15450func (s *ListServiceActionsForProvisioningArtifactInput) SetPageToken(v string) *ListServiceActionsForProvisioningArtifactInput {
15451	s.PageToken = &v
15452	return s
15453}
15454
15455// SetProductId sets the ProductId field's value.
15456func (s *ListServiceActionsForProvisioningArtifactInput) SetProductId(v string) *ListServiceActionsForProvisioningArtifactInput {
15457	s.ProductId = &v
15458	return s
15459}
15460
15461// SetProvisioningArtifactId sets the ProvisioningArtifactId field's value.
15462func (s *ListServiceActionsForProvisioningArtifactInput) SetProvisioningArtifactId(v string) *ListServiceActionsForProvisioningArtifactInput {
15463	s.ProvisioningArtifactId = &v
15464	return s
15465}
15466
15467type ListServiceActionsForProvisioningArtifactOutput struct {
15468	_ struct{} `type:"structure"`
15469
15470	// The page token to use to retrieve the next set of results. If there are no
15471	// additional results, this value is null.
15472	NextPageToken *string `type:"string"`
15473
15474	// An object containing information about the self-service actions associated
15475	// with the provisioning artifact.
15476	ServiceActionSummaries []*ServiceActionSummary `type:"list"`
15477}
15478
15479// String returns the string representation
15480func (s ListServiceActionsForProvisioningArtifactOutput) String() string {
15481	return awsutil.Prettify(s)
15482}
15483
15484// GoString returns the string representation
15485func (s ListServiceActionsForProvisioningArtifactOutput) GoString() string {
15486	return s.String()
15487}
15488
15489// SetNextPageToken sets the NextPageToken field's value.
15490func (s *ListServiceActionsForProvisioningArtifactOutput) SetNextPageToken(v string) *ListServiceActionsForProvisioningArtifactOutput {
15491	s.NextPageToken = &v
15492	return s
15493}
15494
15495// SetServiceActionSummaries sets the ServiceActionSummaries field's value.
15496func (s *ListServiceActionsForProvisioningArtifactOutput) SetServiceActionSummaries(v []*ServiceActionSummary) *ListServiceActionsForProvisioningArtifactOutput {
15497	s.ServiceActionSummaries = v
15498	return s
15499}
15500
15501type ListServiceActionsInput struct {
15502	_ struct{} `type:"structure"`
15503
15504	// The language code.
15505	//
15506	//    * en - English (default)
15507	//
15508	//    * jp - Japanese
15509	//
15510	//    * zh - Chinese
15511	AcceptLanguage *string `type:"string"`
15512
15513	// The maximum number of items to return with this call.
15514	PageSize *int64 `type:"integer"`
15515
15516	// The page token for the next set of results. To retrieve the first set of
15517	// results, use null.
15518	PageToken *string `type:"string"`
15519}
15520
15521// String returns the string representation
15522func (s ListServiceActionsInput) String() string {
15523	return awsutil.Prettify(s)
15524}
15525
15526// GoString returns the string representation
15527func (s ListServiceActionsInput) GoString() string {
15528	return s.String()
15529}
15530
15531// SetAcceptLanguage sets the AcceptLanguage field's value.
15532func (s *ListServiceActionsInput) SetAcceptLanguage(v string) *ListServiceActionsInput {
15533	s.AcceptLanguage = &v
15534	return s
15535}
15536
15537// SetPageSize sets the PageSize field's value.
15538func (s *ListServiceActionsInput) SetPageSize(v int64) *ListServiceActionsInput {
15539	s.PageSize = &v
15540	return s
15541}
15542
15543// SetPageToken sets the PageToken field's value.
15544func (s *ListServiceActionsInput) SetPageToken(v string) *ListServiceActionsInput {
15545	s.PageToken = &v
15546	return s
15547}
15548
15549type ListServiceActionsOutput struct {
15550	_ struct{} `type:"structure"`
15551
15552	// The page token to use to retrieve the next set of results. If there are no
15553	// additional results, this value is null.
15554	NextPageToken *string `type:"string"`
15555
15556	// An object containing information about the service actions associated with
15557	// the provisioning artifact.
15558	ServiceActionSummaries []*ServiceActionSummary `type:"list"`
15559}
15560
15561// String returns the string representation
15562func (s ListServiceActionsOutput) String() string {
15563	return awsutil.Prettify(s)
15564}
15565
15566// GoString returns the string representation
15567func (s ListServiceActionsOutput) GoString() string {
15568	return s.String()
15569}
15570
15571// SetNextPageToken sets the NextPageToken field's value.
15572func (s *ListServiceActionsOutput) SetNextPageToken(v string) *ListServiceActionsOutput {
15573	s.NextPageToken = &v
15574	return s
15575}
15576
15577// SetServiceActionSummaries sets the ServiceActionSummaries field's value.
15578func (s *ListServiceActionsOutput) SetServiceActionSummaries(v []*ServiceActionSummary) *ListServiceActionsOutput {
15579	s.ServiceActionSummaries = v
15580	return s
15581}
15582
15583type ListStackInstancesForProvisionedProductInput struct {
15584	_ struct{} `type:"structure"`
15585
15586	// The language code.
15587	//
15588	//    * en - English (default)
15589	//
15590	//    * jp - Japanese
15591	//
15592	//    * zh - Chinese
15593	AcceptLanguage *string `type:"string"`
15594
15595	// The maximum number of items to return with this call.
15596	PageSize *int64 `type:"integer"`
15597
15598	// The page token for the next set of results. To retrieve the first set of
15599	// results, use null.
15600	PageToken *string `type:"string"`
15601
15602	// The identifier of the provisioned product.
15603	//
15604	// ProvisionedProductId is a required field
15605	ProvisionedProductId *string `min:"1" type:"string" required:"true"`
15606}
15607
15608// String returns the string representation
15609func (s ListStackInstancesForProvisionedProductInput) String() string {
15610	return awsutil.Prettify(s)
15611}
15612
15613// GoString returns the string representation
15614func (s ListStackInstancesForProvisionedProductInput) GoString() string {
15615	return s.String()
15616}
15617
15618// Validate inspects the fields of the type to determine if they are valid.
15619func (s *ListStackInstancesForProvisionedProductInput) Validate() error {
15620	invalidParams := request.ErrInvalidParams{Context: "ListStackInstancesForProvisionedProductInput"}
15621	if s.ProvisionedProductId == nil {
15622		invalidParams.Add(request.NewErrParamRequired("ProvisionedProductId"))
15623	}
15624	if s.ProvisionedProductId != nil && len(*s.ProvisionedProductId) < 1 {
15625		invalidParams.Add(request.NewErrParamMinLen("ProvisionedProductId", 1))
15626	}
15627
15628	if invalidParams.Len() > 0 {
15629		return invalidParams
15630	}
15631	return nil
15632}
15633
15634// SetAcceptLanguage sets the AcceptLanguage field's value.
15635func (s *ListStackInstancesForProvisionedProductInput) SetAcceptLanguage(v string) *ListStackInstancesForProvisionedProductInput {
15636	s.AcceptLanguage = &v
15637	return s
15638}
15639
15640// SetPageSize sets the PageSize field's value.
15641func (s *ListStackInstancesForProvisionedProductInput) SetPageSize(v int64) *ListStackInstancesForProvisionedProductInput {
15642	s.PageSize = &v
15643	return s
15644}
15645
15646// SetPageToken sets the PageToken field's value.
15647func (s *ListStackInstancesForProvisionedProductInput) SetPageToken(v string) *ListStackInstancesForProvisionedProductInput {
15648	s.PageToken = &v
15649	return s
15650}
15651
15652// SetProvisionedProductId sets the ProvisionedProductId field's value.
15653func (s *ListStackInstancesForProvisionedProductInput) SetProvisionedProductId(v string) *ListStackInstancesForProvisionedProductInput {
15654	s.ProvisionedProductId = &v
15655	return s
15656}
15657
15658type ListStackInstancesForProvisionedProductOutput struct {
15659	_ struct{} `type:"structure"`
15660
15661	// The page token to use to retrieve the next set of results. If there are no
15662	// additional results, this value is null.
15663	NextPageToken *string `type:"string"`
15664
15665	// List of stack instances.
15666	StackInstances []*StackInstance `type:"list"`
15667}
15668
15669// String returns the string representation
15670func (s ListStackInstancesForProvisionedProductOutput) String() string {
15671	return awsutil.Prettify(s)
15672}
15673
15674// GoString returns the string representation
15675func (s ListStackInstancesForProvisionedProductOutput) GoString() string {
15676	return s.String()
15677}
15678
15679// SetNextPageToken sets the NextPageToken field's value.
15680func (s *ListStackInstancesForProvisionedProductOutput) SetNextPageToken(v string) *ListStackInstancesForProvisionedProductOutput {
15681	s.NextPageToken = &v
15682	return s
15683}
15684
15685// SetStackInstances sets the StackInstances field's value.
15686func (s *ListStackInstancesForProvisionedProductOutput) SetStackInstances(v []*StackInstance) *ListStackInstancesForProvisionedProductOutput {
15687	s.StackInstances = v
15688	return s
15689}
15690
15691// Filters to use when listing TagOptions.
15692type ListTagOptionsFilters struct {
15693	_ struct{} `type:"structure"`
15694
15695	// The active state.
15696	Active *bool `type:"boolean"`
15697
15698	// The TagOption key.
15699	Key *string `min:"1" type:"string"`
15700
15701	// The TagOption value.
15702	Value *string `min:"1" type:"string"`
15703}
15704
15705// String returns the string representation
15706func (s ListTagOptionsFilters) String() string {
15707	return awsutil.Prettify(s)
15708}
15709
15710// GoString returns the string representation
15711func (s ListTagOptionsFilters) GoString() string {
15712	return s.String()
15713}
15714
15715// Validate inspects the fields of the type to determine if they are valid.
15716func (s *ListTagOptionsFilters) Validate() error {
15717	invalidParams := request.ErrInvalidParams{Context: "ListTagOptionsFilters"}
15718	if s.Key != nil && len(*s.Key) < 1 {
15719		invalidParams.Add(request.NewErrParamMinLen("Key", 1))
15720	}
15721	if s.Value != nil && len(*s.Value) < 1 {
15722		invalidParams.Add(request.NewErrParamMinLen("Value", 1))
15723	}
15724
15725	if invalidParams.Len() > 0 {
15726		return invalidParams
15727	}
15728	return nil
15729}
15730
15731// SetActive sets the Active field's value.
15732func (s *ListTagOptionsFilters) SetActive(v bool) *ListTagOptionsFilters {
15733	s.Active = &v
15734	return s
15735}
15736
15737// SetKey sets the Key field's value.
15738func (s *ListTagOptionsFilters) SetKey(v string) *ListTagOptionsFilters {
15739	s.Key = &v
15740	return s
15741}
15742
15743// SetValue sets the Value field's value.
15744func (s *ListTagOptionsFilters) SetValue(v string) *ListTagOptionsFilters {
15745	s.Value = &v
15746	return s
15747}
15748
15749type ListTagOptionsInput struct {
15750	_ struct{} `type:"structure"`
15751
15752	// The search filters. If no search filters are specified, the output includes
15753	// all TagOptions.
15754	Filters *ListTagOptionsFilters `type:"structure"`
15755
15756	// The maximum number of items to return with this call.
15757	PageSize *int64 `type:"integer"`
15758
15759	// The page token for the next set of results. To retrieve the first set of
15760	// results, use null.
15761	PageToken *string `type:"string"`
15762}
15763
15764// String returns the string representation
15765func (s ListTagOptionsInput) String() string {
15766	return awsutil.Prettify(s)
15767}
15768
15769// GoString returns the string representation
15770func (s ListTagOptionsInput) GoString() string {
15771	return s.String()
15772}
15773
15774// Validate inspects the fields of the type to determine if they are valid.
15775func (s *ListTagOptionsInput) Validate() error {
15776	invalidParams := request.ErrInvalidParams{Context: "ListTagOptionsInput"}
15777	if s.Filters != nil {
15778		if err := s.Filters.Validate(); err != nil {
15779			invalidParams.AddNested("Filters", err.(request.ErrInvalidParams))
15780		}
15781	}
15782
15783	if invalidParams.Len() > 0 {
15784		return invalidParams
15785	}
15786	return nil
15787}
15788
15789// SetFilters sets the Filters field's value.
15790func (s *ListTagOptionsInput) SetFilters(v *ListTagOptionsFilters) *ListTagOptionsInput {
15791	s.Filters = v
15792	return s
15793}
15794
15795// SetPageSize sets the PageSize field's value.
15796func (s *ListTagOptionsInput) SetPageSize(v int64) *ListTagOptionsInput {
15797	s.PageSize = &v
15798	return s
15799}
15800
15801// SetPageToken sets the PageToken field's value.
15802func (s *ListTagOptionsInput) SetPageToken(v string) *ListTagOptionsInput {
15803	s.PageToken = &v
15804	return s
15805}
15806
15807type ListTagOptionsOutput struct {
15808	_ struct{} `type:"structure"`
15809
15810	// The page token for the next set of results. To retrieve the first set of
15811	// results, use null.
15812	PageToken *string `type:"string"`
15813
15814	// Information about the TagOptions.
15815	TagOptionDetails []*TagOptionDetail `type:"list"`
15816}
15817
15818// String returns the string representation
15819func (s ListTagOptionsOutput) String() string {
15820	return awsutil.Prettify(s)
15821}
15822
15823// GoString returns the string representation
15824func (s ListTagOptionsOutput) GoString() string {
15825	return s.String()
15826}
15827
15828// SetPageToken sets the PageToken field's value.
15829func (s *ListTagOptionsOutput) SetPageToken(v string) *ListTagOptionsOutput {
15830	s.PageToken = &v
15831	return s
15832}
15833
15834// SetTagOptionDetails sets the TagOptionDetails field's value.
15835func (s *ListTagOptionsOutput) SetTagOptionDetails(v []*TagOptionDetail) *ListTagOptionsOutput {
15836	s.TagOptionDetails = v
15837	return s
15838}
15839
15840// The operation is not supported.
15841type OperationNotSupportedException struct {
15842	_            struct{}                  `type:"structure"`
15843	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
15844
15845	Message_ *string `locationName:"message" type:"string"`
15846}
15847
15848// String returns the string representation
15849func (s OperationNotSupportedException) String() string {
15850	return awsutil.Prettify(s)
15851}
15852
15853// GoString returns the string representation
15854func (s OperationNotSupportedException) GoString() string {
15855	return s.String()
15856}
15857
15858func newErrorOperationNotSupportedException(v protocol.ResponseMetadata) error {
15859	return &OperationNotSupportedException{
15860		RespMetadata: v,
15861	}
15862}
15863
15864// Code returns the exception type name.
15865func (s *OperationNotSupportedException) Code() string {
15866	return "OperationNotSupportedException"
15867}
15868
15869// Message returns the exception's message.
15870func (s *OperationNotSupportedException) Message() string {
15871	if s.Message_ != nil {
15872		return *s.Message_
15873	}
15874	return ""
15875}
15876
15877// OrigErr always returns nil, satisfies awserr.Error interface.
15878func (s *OperationNotSupportedException) OrigErr() error {
15879	return nil
15880}
15881
15882func (s *OperationNotSupportedException) Error() string {
15883	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
15884}
15885
15886// Status code returns the HTTP status code for the request's response error.
15887func (s *OperationNotSupportedException) StatusCode() int {
15888	return s.RespMetadata.StatusCode
15889}
15890
15891// RequestID returns the service's response RequestID for request.
15892func (s *OperationNotSupportedException) RequestID() string {
15893	return s.RespMetadata.RequestID
15894}
15895
15896// Information about the organization node.
15897type OrganizationNode struct {
15898	_ struct{} `type:"structure"`
15899
15900	// The organization node type.
15901	Type *string `type:"string" enum:"OrganizationNodeType"`
15902
15903	// The identifier of the organization node.
15904	Value *string `type:"string"`
15905}
15906
15907// String returns the string representation
15908func (s OrganizationNode) String() string {
15909	return awsutil.Prettify(s)
15910}
15911
15912// GoString returns the string representation
15913func (s OrganizationNode) GoString() string {
15914	return s.String()
15915}
15916
15917// SetType sets the Type field's value.
15918func (s *OrganizationNode) SetType(v string) *OrganizationNode {
15919	s.Type = &v
15920	return s
15921}
15922
15923// SetValue sets the Value field's value.
15924func (s *OrganizationNode) SetValue(v string) *OrganizationNode {
15925	s.Value = &v
15926	return s
15927}
15928
15929// The constraints that the administrator has put on the parameter.
15930type ParameterConstraints struct {
15931	_ struct{} `type:"structure"`
15932
15933	// The values that the administrator has allowed for the parameter.
15934	AllowedValues []*string `type:"list"`
15935}
15936
15937// String returns the string representation
15938func (s ParameterConstraints) String() string {
15939	return awsutil.Prettify(s)
15940}
15941
15942// GoString returns the string representation
15943func (s ParameterConstraints) GoString() string {
15944	return s.String()
15945}
15946
15947// SetAllowedValues sets the AllowedValues field's value.
15948func (s *ParameterConstraints) SetAllowedValues(v []*string) *ParameterConstraints {
15949	s.AllowedValues = v
15950	return s
15951}
15952
15953// Information about a portfolio.
15954type PortfolioDetail struct {
15955	_ struct{} `type:"structure"`
15956
15957	// The ARN assigned to the portfolio.
15958	ARN *string `min:"1" type:"string"`
15959
15960	// The UTC time stamp of the creation time.
15961	CreatedTime *time.Time `type:"timestamp"`
15962
15963	// The description of the portfolio.
15964	Description *string `type:"string"`
15965
15966	// The name to use for display purposes.
15967	DisplayName *string `min:"1" type:"string"`
15968
15969	// The portfolio identifier.
15970	Id *string `min:"1" type:"string"`
15971
15972	// The name of the portfolio provider.
15973	ProviderName *string `min:"1" type:"string"`
15974}
15975
15976// String returns the string representation
15977func (s PortfolioDetail) String() string {
15978	return awsutil.Prettify(s)
15979}
15980
15981// GoString returns the string representation
15982func (s PortfolioDetail) GoString() string {
15983	return s.String()
15984}
15985
15986// SetARN sets the ARN field's value.
15987func (s *PortfolioDetail) SetARN(v string) *PortfolioDetail {
15988	s.ARN = &v
15989	return s
15990}
15991
15992// SetCreatedTime sets the CreatedTime field's value.
15993func (s *PortfolioDetail) SetCreatedTime(v time.Time) *PortfolioDetail {
15994	s.CreatedTime = &v
15995	return s
15996}
15997
15998// SetDescription sets the Description field's value.
15999func (s *PortfolioDetail) SetDescription(v string) *PortfolioDetail {
16000	s.Description = &v
16001	return s
16002}
16003
16004// SetDisplayName sets the DisplayName field's value.
16005func (s *PortfolioDetail) SetDisplayName(v string) *PortfolioDetail {
16006	s.DisplayName = &v
16007	return s
16008}
16009
16010// SetId sets the Id field's value.
16011func (s *PortfolioDetail) SetId(v string) *PortfolioDetail {
16012	s.Id = &v
16013	return s
16014}
16015
16016// SetProviderName sets the ProviderName field's value.
16017func (s *PortfolioDetail) SetProviderName(v string) *PortfolioDetail {
16018	s.ProviderName = &v
16019	return s
16020}
16021
16022// Information about a principal.
16023type Principal struct {
16024	_ struct{} `type:"structure"`
16025
16026	// The ARN of the principal (IAM user, role, or group).
16027	PrincipalARN *string `min:"1" type:"string"`
16028
16029	// The principal type. The supported value is IAM.
16030	PrincipalType *string `type:"string" enum:"PrincipalType"`
16031}
16032
16033// String returns the string representation
16034func (s Principal) String() string {
16035	return awsutil.Prettify(s)
16036}
16037
16038// GoString returns the string representation
16039func (s Principal) GoString() string {
16040	return s.String()
16041}
16042
16043// SetPrincipalARN sets the PrincipalARN field's value.
16044func (s *Principal) SetPrincipalARN(v string) *Principal {
16045	s.PrincipalARN = &v
16046	return s
16047}
16048
16049// SetPrincipalType sets the PrincipalType field's value.
16050func (s *Principal) SetPrincipalType(v string) *Principal {
16051	s.PrincipalType = &v
16052	return s
16053}
16054
16055// A single product view aggregation value/count pair, containing metadata about
16056// each product to which the calling user has access.
16057type ProductViewAggregationValue struct {
16058	_ struct{} `type:"structure"`
16059
16060	// An approximate count of the products that match the value.
16061	ApproximateCount *int64 `type:"integer"`
16062
16063	// The value of the product view aggregation.
16064	Value *string `type:"string"`
16065}
16066
16067// String returns the string representation
16068func (s ProductViewAggregationValue) String() string {
16069	return awsutil.Prettify(s)
16070}
16071
16072// GoString returns the string representation
16073func (s ProductViewAggregationValue) GoString() string {
16074	return s.String()
16075}
16076
16077// SetApproximateCount sets the ApproximateCount field's value.
16078func (s *ProductViewAggregationValue) SetApproximateCount(v int64) *ProductViewAggregationValue {
16079	s.ApproximateCount = &v
16080	return s
16081}
16082
16083// SetValue sets the Value field's value.
16084func (s *ProductViewAggregationValue) SetValue(v string) *ProductViewAggregationValue {
16085	s.Value = &v
16086	return s
16087}
16088
16089// Information about a product view.
16090type ProductViewDetail struct {
16091	_ struct{} `type:"structure"`
16092
16093	// The UTC time stamp of the creation time.
16094	CreatedTime *time.Time `type:"timestamp"`
16095
16096	// The ARN of the product.
16097	ProductARN *string `min:"1" type:"string"`
16098
16099	// Summary information about the product view.
16100	ProductViewSummary *ProductViewSummary `type:"structure"`
16101
16102	// The status of the product.
16103	//
16104	//    * AVAILABLE - The product is ready for use.
16105	//
16106	//    * CREATING - Product creation has started; the product is not ready for
16107	//    use.
16108	//
16109	//    * FAILED - An action failed.
16110	Status *string `type:"string" enum:"Status"`
16111}
16112
16113// String returns the string representation
16114func (s ProductViewDetail) String() string {
16115	return awsutil.Prettify(s)
16116}
16117
16118// GoString returns the string representation
16119func (s ProductViewDetail) GoString() string {
16120	return s.String()
16121}
16122
16123// SetCreatedTime sets the CreatedTime field's value.
16124func (s *ProductViewDetail) SetCreatedTime(v time.Time) *ProductViewDetail {
16125	s.CreatedTime = &v
16126	return s
16127}
16128
16129// SetProductARN sets the ProductARN field's value.
16130func (s *ProductViewDetail) SetProductARN(v string) *ProductViewDetail {
16131	s.ProductARN = &v
16132	return s
16133}
16134
16135// SetProductViewSummary sets the ProductViewSummary field's value.
16136func (s *ProductViewDetail) SetProductViewSummary(v *ProductViewSummary) *ProductViewDetail {
16137	s.ProductViewSummary = v
16138	return s
16139}
16140
16141// SetStatus sets the Status field's value.
16142func (s *ProductViewDetail) SetStatus(v string) *ProductViewDetail {
16143	s.Status = &v
16144	return s
16145}
16146
16147// Summary information about a product view.
16148type ProductViewSummary struct {
16149	_ struct{} `type:"structure"`
16150
16151	// The distributor of the product. Contact the product administrator for the
16152	// significance of this value.
16153	Distributor *string `type:"string"`
16154
16155	// Indicates whether the product has a default path. If the product does not
16156	// have a default path, call ListLaunchPaths to disambiguate between paths.
16157	// Otherwise, ListLaunchPaths is not required, and the output of ProductViewSummary
16158	// can be used directly with DescribeProvisioningParameters.
16159	HasDefaultPath *bool `type:"boolean"`
16160
16161	// The product view identifier.
16162	Id *string `min:"1" type:"string"`
16163
16164	// The name of the product.
16165	Name *string `type:"string"`
16166
16167	// The owner of the product. Contact the product administrator for the significance
16168	// of this value.
16169	Owner *string `type:"string"`
16170
16171	// The product identifier.
16172	ProductId *string `min:"1" type:"string"`
16173
16174	// Short description of the product.
16175	ShortDescription *string `type:"string"`
16176
16177	// The description of the support for this Product.
16178	SupportDescription *string `type:"string"`
16179
16180	// The email contact information to obtain support for this Product.
16181	SupportEmail *string `type:"string"`
16182
16183	// The URL information to obtain support for this Product.
16184	SupportUrl *string `type:"string"`
16185
16186	// The product type. Contact the product administrator for the significance
16187	// of this value. If this value is MARKETPLACE, the product was created by AWS
16188	// Marketplace.
16189	Type *string `type:"string" enum:"ProductType"`
16190}
16191
16192// String returns the string representation
16193func (s ProductViewSummary) String() string {
16194	return awsutil.Prettify(s)
16195}
16196
16197// GoString returns the string representation
16198func (s ProductViewSummary) GoString() string {
16199	return s.String()
16200}
16201
16202// SetDistributor sets the Distributor field's value.
16203func (s *ProductViewSummary) SetDistributor(v string) *ProductViewSummary {
16204	s.Distributor = &v
16205	return s
16206}
16207
16208// SetHasDefaultPath sets the HasDefaultPath field's value.
16209func (s *ProductViewSummary) SetHasDefaultPath(v bool) *ProductViewSummary {
16210	s.HasDefaultPath = &v
16211	return s
16212}
16213
16214// SetId sets the Id field's value.
16215func (s *ProductViewSummary) SetId(v string) *ProductViewSummary {
16216	s.Id = &v
16217	return s
16218}
16219
16220// SetName sets the Name field's value.
16221func (s *ProductViewSummary) SetName(v string) *ProductViewSummary {
16222	s.Name = &v
16223	return s
16224}
16225
16226// SetOwner sets the Owner field's value.
16227func (s *ProductViewSummary) SetOwner(v string) *ProductViewSummary {
16228	s.Owner = &v
16229	return s
16230}
16231
16232// SetProductId sets the ProductId field's value.
16233func (s *ProductViewSummary) SetProductId(v string) *ProductViewSummary {
16234	s.ProductId = &v
16235	return s
16236}
16237
16238// SetShortDescription sets the ShortDescription field's value.
16239func (s *ProductViewSummary) SetShortDescription(v string) *ProductViewSummary {
16240	s.ShortDescription = &v
16241	return s
16242}
16243
16244// SetSupportDescription sets the SupportDescription field's value.
16245func (s *ProductViewSummary) SetSupportDescription(v string) *ProductViewSummary {
16246	s.SupportDescription = &v
16247	return s
16248}
16249
16250// SetSupportEmail sets the SupportEmail field's value.
16251func (s *ProductViewSummary) SetSupportEmail(v string) *ProductViewSummary {
16252	s.SupportEmail = &v
16253	return s
16254}
16255
16256// SetSupportUrl sets the SupportUrl field's value.
16257func (s *ProductViewSummary) SetSupportUrl(v string) *ProductViewSummary {
16258	s.SupportUrl = &v
16259	return s
16260}
16261
16262// SetType sets the Type field's value.
16263func (s *ProductViewSummary) SetType(v string) *ProductViewSummary {
16264	s.Type = &v
16265	return s
16266}
16267
16268type ProvisionProductInput struct {
16269	_ struct{} `type:"structure"`
16270
16271	// The language code.
16272	//
16273	//    * en - English (default)
16274	//
16275	//    * jp - Japanese
16276	//
16277	//    * zh - Chinese
16278	AcceptLanguage *string `type:"string"`
16279
16280	// Passed to CloudFormation. The SNS topic ARNs to which to publish stack-related
16281	// events.
16282	NotificationArns []*string `type:"list"`
16283
16284	// The path identifier of the product. This value is optional if the product
16285	// has a default path, and required if the product has more than one path. To
16286	// list the paths for a product, use ListLaunchPaths.
16287	PathId *string `min:"1" type:"string"`
16288
16289	// The product identifier.
16290	//
16291	// ProductId is a required field
16292	ProductId *string `min:"1" type:"string" required:"true"`
16293
16294	// An idempotency token that uniquely identifies the provisioning request.
16295	ProvisionToken *string `min:"1" type:"string" idempotencyToken:"true"`
16296
16297	// A user-friendly name for the provisioned product. This value must be unique
16298	// for the AWS account and cannot be updated after the product is provisioned.
16299	//
16300	// ProvisionedProductName is a required field
16301	ProvisionedProductName *string `min:"1" type:"string" required:"true"`
16302
16303	// The identifier of the provisioning artifact.
16304	//
16305	// ProvisioningArtifactId is a required field
16306	ProvisioningArtifactId *string `min:"1" type:"string" required:"true"`
16307
16308	// Parameters specified by the administrator that are required for provisioning
16309	// the product.
16310	ProvisioningParameters []*ProvisioningParameter `type:"list"`
16311
16312	// An object that contains information about the provisioning preferences for
16313	// a stack set.
16314	ProvisioningPreferences *ProvisioningPreferences `type:"structure"`
16315
16316	// One or more tags.
16317	Tags []*Tag `type:"list"`
16318}
16319
16320// String returns the string representation
16321func (s ProvisionProductInput) String() string {
16322	return awsutil.Prettify(s)
16323}
16324
16325// GoString returns the string representation
16326func (s ProvisionProductInput) GoString() string {
16327	return s.String()
16328}
16329
16330// Validate inspects the fields of the type to determine if they are valid.
16331func (s *ProvisionProductInput) Validate() error {
16332	invalidParams := request.ErrInvalidParams{Context: "ProvisionProductInput"}
16333	if s.PathId != nil && len(*s.PathId) < 1 {
16334		invalidParams.Add(request.NewErrParamMinLen("PathId", 1))
16335	}
16336	if s.ProductId == nil {
16337		invalidParams.Add(request.NewErrParamRequired("ProductId"))
16338	}
16339	if s.ProductId != nil && len(*s.ProductId) < 1 {
16340		invalidParams.Add(request.NewErrParamMinLen("ProductId", 1))
16341	}
16342	if s.ProvisionToken != nil && len(*s.ProvisionToken) < 1 {
16343		invalidParams.Add(request.NewErrParamMinLen("ProvisionToken", 1))
16344	}
16345	if s.ProvisionedProductName == nil {
16346		invalidParams.Add(request.NewErrParamRequired("ProvisionedProductName"))
16347	}
16348	if s.ProvisionedProductName != nil && len(*s.ProvisionedProductName) < 1 {
16349		invalidParams.Add(request.NewErrParamMinLen("ProvisionedProductName", 1))
16350	}
16351	if s.ProvisioningArtifactId == nil {
16352		invalidParams.Add(request.NewErrParamRequired("ProvisioningArtifactId"))
16353	}
16354	if s.ProvisioningArtifactId != nil && len(*s.ProvisioningArtifactId) < 1 {
16355		invalidParams.Add(request.NewErrParamMinLen("ProvisioningArtifactId", 1))
16356	}
16357	if s.ProvisioningParameters != nil {
16358		for i, v := range s.ProvisioningParameters {
16359			if v == nil {
16360				continue
16361			}
16362			if err := v.Validate(); err != nil {
16363				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "ProvisioningParameters", i), err.(request.ErrInvalidParams))
16364			}
16365		}
16366	}
16367	if s.ProvisioningPreferences != nil {
16368		if err := s.ProvisioningPreferences.Validate(); err != nil {
16369			invalidParams.AddNested("ProvisioningPreferences", err.(request.ErrInvalidParams))
16370		}
16371	}
16372	if s.Tags != nil {
16373		for i, v := range s.Tags {
16374			if v == nil {
16375				continue
16376			}
16377			if err := v.Validate(); err != nil {
16378				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams))
16379			}
16380		}
16381	}
16382
16383	if invalidParams.Len() > 0 {
16384		return invalidParams
16385	}
16386	return nil
16387}
16388
16389// SetAcceptLanguage sets the AcceptLanguage field's value.
16390func (s *ProvisionProductInput) SetAcceptLanguage(v string) *ProvisionProductInput {
16391	s.AcceptLanguage = &v
16392	return s
16393}
16394
16395// SetNotificationArns sets the NotificationArns field's value.
16396func (s *ProvisionProductInput) SetNotificationArns(v []*string) *ProvisionProductInput {
16397	s.NotificationArns = v
16398	return s
16399}
16400
16401// SetPathId sets the PathId field's value.
16402func (s *ProvisionProductInput) SetPathId(v string) *ProvisionProductInput {
16403	s.PathId = &v
16404	return s
16405}
16406
16407// SetProductId sets the ProductId field's value.
16408func (s *ProvisionProductInput) SetProductId(v string) *ProvisionProductInput {
16409	s.ProductId = &v
16410	return s
16411}
16412
16413// SetProvisionToken sets the ProvisionToken field's value.
16414func (s *ProvisionProductInput) SetProvisionToken(v string) *ProvisionProductInput {
16415	s.ProvisionToken = &v
16416	return s
16417}
16418
16419// SetProvisionedProductName sets the ProvisionedProductName field's value.
16420func (s *ProvisionProductInput) SetProvisionedProductName(v string) *ProvisionProductInput {
16421	s.ProvisionedProductName = &v
16422	return s
16423}
16424
16425// SetProvisioningArtifactId sets the ProvisioningArtifactId field's value.
16426func (s *ProvisionProductInput) SetProvisioningArtifactId(v string) *ProvisionProductInput {
16427	s.ProvisioningArtifactId = &v
16428	return s
16429}
16430
16431// SetProvisioningParameters sets the ProvisioningParameters field's value.
16432func (s *ProvisionProductInput) SetProvisioningParameters(v []*ProvisioningParameter) *ProvisionProductInput {
16433	s.ProvisioningParameters = v
16434	return s
16435}
16436
16437// SetProvisioningPreferences sets the ProvisioningPreferences field's value.
16438func (s *ProvisionProductInput) SetProvisioningPreferences(v *ProvisioningPreferences) *ProvisionProductInput {
16439	s.ProvisioningPreferences = v
16440	return s
16441}
16442
16443// SetTags sets the Tags field's value.
16444func (s *ProvisionProductInput) SetTags(v []*Tag) *ProvisionProductInput {
16445	s.Tags = v
16446	return s
16447}
16448
16449type ProvisionProductOutput struct {
16450	_ struct{} `type:"structure"`
16451
16452	// Information about the result of provisioning the product.
16453	RecordDetail *RecordDetail `type:"structure"`
16454}
16455
16456// String returns the string representation
16457func (s ProvisionProductOutput) String() string {
16458	return awsutil.Prettify(s)
16459}
16460
16461// GoString returns the string representation
16462func (s ProvisionProductOutput) GoString() string {
16463	return s.String()
16464}
16465
16466// SetRecordDetail sets the RecordDetail field's value.
16467func (s *ProvisionProductOutput) SetRecordDetail(v *RecordDetail) *ProvisionProductOutput {
16468	s.RecordDetail = v
16469	return s
16470}
16471
16472// Information about a provisioned product.
16473type ProvisionedProductAttribute struct {
16474	_ struct{} `type:"structure"`
16475
16476	// The ARN of the provisioned product.
16477	Arn *string `min:"1" type:"string"`
16478
16479	// The UTC time stamp of the creation time.
16480	CreatedTime *time.Time `type:"timestamp"`
16481
16482	// The identifier of the provisioned product.
16483	Id *string `min:"1" type:"string"`
16484
16485	// A unique identifier that you provide to ensure idempotency. If multiple requests
16486	// differ only by the idempotency token, the same response is returned for each
16487	// repeated request.
16488	IdempotencyToken *string `min:"1" type:"string"`
16489
16490	// The record identifier of the last request performed on this provisioned product.
16491	LastRecordId *string `min:"1" type:"string"`
16492
16493	// The user-friendly name of the provisioned product.
16494	Name *string `min:"1" type:"string"`
16495
16496	// The assigned identifier for the resource, such as an EC2 instance ID or an
16497	// S3 bucket name.
16498	PhysicalId *string `type:"string"`
16499
16500	// The product identifier.
16501	ProductId *string `min:"1" type:"string"`
16502
16503	// The identifier of the provisioning artifact.
16504	ProvisioningArtifactId *string `min:"1" type:"string"`
16505
16506	// The current status of the provisioned product.
16507	//
16508	//    * AVAILABLE - Stable state, ready to perform any operation. The most recent
16509	//    operation succeeded and completed.
16510	//
16511	//    * UNDER_CHANGE - Transitive state. Operations performed might not have
16512	//    valid results. Wait for an AVAILABLE status before performing operations.
16513	//
16514	//    * TAINTED - Stable state, ready to perform any operation. The stack has
16515	//    completed the requested operation but is not exactly what was requested.
16516	//    For example, a request to update to a new version failed and the stack
16517	//    rolled back to the current version.
16518	//
16519	//    * ERROR - An unexpected error occurred. The provisioned product exists
16520	//    but the stack is not running. For example, CloudFormation received a parameter
16521	//    value that was not valid and could not launch the stack.
16522	//
16523	//    * PLAN_IN_PROGRESS - Transitive state. The plan operations were performed
16524	//    to provision a new product, but resources have not yet been created. After
16525	//    reviewing the list of resources to be created, execute the plan. Wait
16526	//    for an AVAILABLE status before performing operations.
16527	Status *string `type:"string" enum:"ProvisionedProductStatus"`
16528
16529	// The current status message of the provisioned product.
16530	StatusMessage *string `type:"string"`
16531
16532	// One or more tags.
16533	Tags []*Tag `type:"list"`
16534
16535	// The type of provisioned product. The supported values are CFN_STACK and CFN_STACKSET.
16536	Type *string `type:"string"`
16537
16538	// The Amazon Resource Name (ARN) of the IAM user.
16539	UserArn *string `type:"string"`
16540
16541	// The ARN of the IAM user in the session. This ARN might contain a session
16542	// ID.
16543	UserArnSession *string `type:"string"`
16544}
16545
16546// String returns the string representation
16547func (s ProvisionedProductAttribute) String() string {
16548	return awsutil.Prettify(s)
16549}
16550
16551// GoString returns the string representation
16552func (s ProvisionedProductAttribute) GoString() string {
16553	return s.String()
16554}
16555
16556// SetArn sets the Arn field's value.
16557func (s *ProvisionedProductAttribute) SetArn(v string) *ProvisionedProductAttribute {
16558	s.Arn = &v
16559	return s
16560}
16561
16562// SetCreatedTime sets the CreatedTime field's value.
16563func (s *ProvisionedProductAttribute) SetCreatedTime(v time.Time) *ProvisionedProductAttribute {
16564	s.CreatedTime = &v
16565	return s
16566}
16567
16568// SetId sets the Id field's value.
16569func (s *ProvisionedProductAttribute) SetId(v string) *ProvisionedProductAttribute {
16570	s.Id = &v
16571	return s
16572}
16573
16574// SetIdempotencyToken sets the IdempotencyToken field's value.
16575func (s *ProvisionedProductAttribute) SetIdempotencyToken(v string) *ProvisionedProductAttribute {
16576	s.IdempotencyToken = &v
16577	return s
16578}
16579
16580// SetLastRecordId sets the LastRecordId field's value.
16581func (s *ProvisionedProductAttribute) SetLastRecordId(v string) *ProvisionedProductAttribute {
16582	s.LastRecordId = &v
16583	return s
16584}
16585
16586// SetName sets the Name field's value.
16587func (s *ProvisionedProductAttribute) SetName(v string) *ProvisionedProductAttribute {
16588	s.Name = &v
16589	return s
16590}
16591
16592// SetPhysicalId sets the PhysicalId field's value.
16593func (s *ProvisionedProductAttribute) SetPhysicalId(v string) *ProvisionedProductAttribute {
16594	s.PhysicalId = &v
16595	return s
16596}
16597
16598// SetProductId sets the ProductId field's value.
16599func (s *ProvisionedProductAttribute) SetProductId(v string) *ProvisionedProductAttribute {
16600	s.ProductId = &v
16601	return s
16602}
16603
16604// SetProvisioningArtifactId sets the ProvisioningArtifactId field's value.
16605func (s *ProvisionedProductAttribute) SetProvisioningArtifactId(v string) *ProvisionedProductAttribute {
16606	s.ProvisioningArtifactId = &v
16607	return s
16608}
16609
16610// SetStatus sets the Status field's value.
16611func (s *ProvisionedProductAttribute) SetStatus(v string) *ProvisionedProductAttribute {
16612	s.Status = &v
16613	return s
16614}
16615
16616// SetStatusMessage sets the StatusMessage field's value.
16617func (s *ProvisionedProductAttribute) SetStatusMessage(v string) *ProvisionedProductAttribute {
16618	s.StatusMessage = &v
16619	return s
16620}
16621
16622// SetTags sets the Tags field's value.
16623func (s *ProvisionedProductAttribute) SetTags(v []*Tag) *ProvisionedProductAttribute {
16624	s.Tags = v
16625	return s
16626}
16627
16628// SetType sets the Type field's value.
16629func (s *ProvisionedProductAttribute) SetType(v string) *ProvisionedProductAttribute {
16630	s.Type = &v
16631	return s
16632}
16633
16634// SetUserArn sets the UserArn field's value.
16635func (s *ProvisionedProductAttribute) SetUserArn(v string) *ProvisionedProductAttribute {
16636	s.UserArn = &v
16637	return s
16638}
16639
16640// SetUserArnSession sets the UserArnSession field's value.
16641func (s *ProvisionedProductAttribute) SetUserArnSession(v string) *ProvisionedProductAttribute {
16642	s.UserArnSession = &v
16643	return s
16644}
16645
16646// Information about a provisioned product.
16647type ProvisionedProductDetail struct {
16648	_ struct{} `type:"structure"`
16649
16650	// The ARN of the provisioned product.
16651	Arn *string `min:"1" type:"string"`
16652
16653	// The UTC time stamp of the creation time.
16654	CreatedTime *time.Time `type:"timestamp"`
16655
16656	// The identifier of the provisioned product.
16657	Id *string `type:"string"`
16658
16659	// A unique identifier that you provide to ensure idempotency. If multiple requests
16660	// differ only by the idempotency token, the same response is returned for each
16661	// repeated request.
16662	IdempotencyToken *string `min:"1" type:"string"`
16663
16664	// The record identifier of the last request performed on this provisioned product.
16665	LastRecordId *string `type:"string"`
16666
16667	// The user-friendly name of the provisioned product.
16668	Name *string `min:"1" type:"string"`
16669
16670	// The product identifier. For example, prod-abcdzk7xy33qa.
16671	ProductId *string `min:"1" type:"string"`
16672
16673	// The identifier of the provisioning artifact. For example, pa-4abcdjnxjj6ne.
16674	ProvisioningArtifactId *string `min:"1" type:"string"`
16675
16676	// The current status of the provisioned product.
16677	//
16678	//    * AVAILABLE - Stable state, ready to perform any operation. The most recent
16679	//    operation succeeded and completed.
16680	//
16681	//    * UNDER_CHANGE - Transitive state. Operations performed might not have
16682	//    valid results. Wait for an AVAILABLE status before performing operations.
16683	//
16684	//    * TAINTED - Stable state, ready to perform any operation. The stack has
16685	//    completed the requested operation but is not exactly what was requested.
16686	//    For example, a request to update to a new version failed and the stack
16687	//    rolled back to the current version.
16688	//
16689	//    * ERROR - An unexpected error occurred. The provisioned product exists
16690	//    but the stack is not running. For example, CloudFormation received a parameter
16691	//    value that was not valid and could not launch the stack.
16692	//
16693	//    * PLAN_IN_PROGRESS - Transitive state. The plan operations were performed
16694	//    to provision a new product, but resources have not yet been created. After
16695	//    reviewing the list of resources to be created, execute the plan. Wait
16696	//    for an AVAILABLE status before performing operations.
16697	Status *string `type:"string" enum:"ProvisionedProductStatus"`
16698
16699	// The current status message of the provisioned product.
16700	StatusMessage *string `type:"string"`
16701
16702	// The type of provisioned product. The supported values are CFN_STACK and CFN_STACKSET.
16703	Type *string `type:"string"`
16704}
16705
16706// String returns the string representation
16707func (s ProvisionedProductDetail) String() string {
16708	return awsutil.Prettify(s)
16709}
16710
16711// GoString returns the string representation
16712func (s ProvisionedProductDetail) GoString() string {
16713	return s.String()
16714}
16715
16716// SetArn sets the Arn field's value.
16717func (s *ProvisionedProductDetail) SetArn(v string) *ProvisionedProductDetail {
16718	s.Arn = &v
16719	return s
16720}
16721
16722// SetCreatedTime sets the CreatedTime field's value.
16723func (s *ProvisionedProductDetail) SetCreatedTime(v time.Time) *ProvisionedProductDetail {
16724	s.CreatedTime = &v
16725	return s
16726}
16727
16728// SetId sets the Id field's value.
16729func (s *ProvisionedProductDetail) SetId(v string) *ProvisionedProductDetail {
16730	s.Id = &v
16731	return s
16732}
16733
16734// SetIdempotencyToken sets the IdempotencyToken field's value.
16735func (s *ProvisionedProductDetail) SetIdempotencyToken(v string) *ProvisionedProductDetail {
16736	s.IdempotencyToken = &v
16737	return s
16738}
16739
16740// SetLastRecordId sets the LastRecordId field's value.
16741func (s *ProvisionedProductDetail) SetLastRecordId(v string) *ProvisionedProductDetail {
16742	s.LastRecordId = &v
16743	return s
16744}
16745
16746// SetName sets the Name field's value.
16747func (s *ProvisionedProductDetail) SetName(v string) *ProvisionedProductDetail {
16748	s.Name = &v
16749	return s
16750}
16751
16752// SetProductId sets the ProductId field's value.
16753func (s *ProvisionedProductDetail) SetProductId(v string) *ProvisionedProductDetail {
16754	s.ProductId = &v
16755	return s
16756}
16757
16758// SetProvisioningArtifactId sets the ProvisioningArtifactId field's value.
16759func (s *ProvisionedProductDetail) SetProvisioningArtifactId(v string) *ProvisionedProductDetail {
16760	s.ProvisioningArtifactId = &v
16761	return s
16762}
16763
16764// SetStatus sets the Status field's value.
16765func (s *ProvisionedProductDetail) SetStatus(v string) *ProvisionedProductDetail {
16766	s.Status = &v
16767	return s
16768}
16769
16770// SetStatusMessage sets the StatusMessage field's value.
16771func (s *ProvisionedProductDetail) SetStatusMessage(v string) *ProvisionedProductDetail {
16772	s.StatusMessage = &v
16773	return s
16774}
16775
16776// SetType sets the Type field's value.
16777func (s *ProvisionedProductDetail) SetType(v string) *ProvisionedProductDetail {
16778	s.Type = &v
16779	return s
16780}
16781
16782// Information about a plan.
16783type ProvisionedProductPlanDetails struct {
16784	_ struct{} `type:"structure"`
16785
16786	// The UTC time stamp of the creation time.
16787	CreatedTime *time.Time `type:"timestamp"`
16788
16789	// Passed to CloudFormation. The SNS topic ARNs to which to publish stack-related
16790	// events.
16791	NotificationArns []*string `type:"list"`
16792
16793	// The path identifier of the product. This value is optional if the product
16794	// has a default path, and required if the product has more than one path. To
16795	// list the paths for a product, use ListLaunchPaths.
16796	PathId *string `min:"1" type:"string"`
16797
16798	// The plan identifier.
16799	PlanId *string `min:"1" type:"string"`
16800
16801	// The name of the plan.
16802	PlanName *string `type:"string"`
16803
16804	// The plan type.
16805	PlanType *string `type:"string" enum:"ProvisionedProductPlanType"`
16806
16807	// The product identifier.
16808	ProductId *string `min:"1" type:"string"`
16809
16810	// The product identifier.
16811	ProvisionProductId *string `min:"1" type:"string"`
16812
16813	// The user-friendly name of the provisioned product.
16814	ProvisionProductName *string `min:"1" type:"string"`
16815
16816	// The identifier of the provisioning artifact.
16817	ProvisioningArtifactId *string `min:"1" type:"string"`
16818
16819	// Parameters specified by the administrator that are required for provisioning
16820	// the product.
16821	ProvisioningParameters []*UpdateProvisioningParameter `type:"list"`
16822
16823	// The status.
16824	Status *string `type:"string" enum:"ProvisionedProductPlanStatus"`
16825
16826	// The status message.
16827	StatusMessage *string `type:"string"`
16828
16829	// One or more tags.
16830	Tags []*Tag `type:"list"`
16831
16832	// The time when the plan was last updated.
16833	UpdatedTime *time.Time `type:"timestamp"`
16834}
16835
16836// String returns the string representation
16837func (s ProvisionedProductPlanDetails) String() string {
16838	return awsutil.Prettify(s)
16839}
16840
16841// GoString returns the string representation
16842func (s ProvisionedProductPlanDetails) GoString() string {
16843	return s.String()
16844}
16845
16846// SetCreatedTime sets the CreatedTime field's value.
16847func (s *ProvisionedProductPlanDetails) SetCreatedTime(v time.Time) *ProvisionedProductPlanDetails {
16848	s.CreatedTime = &v
16849	return s
16850}
16851
16852// SetNotificationArns sets the NotificationArns field's value.
16853func (s *ProvisionedProductPlanDetails) SetNotificationArns(v []*string) *ProvisionedProductPlanDetails {
16854	s.NotificationArns = v
16855	return s
16856}
16857
16858// SetPathId sets the PathId field's value.
16859func (s *ProvisionedProductPlanDetails) SetPathId(v string) *ProvisionedProductPlanDetails {
16860	s.PathId = &v
16861	return s
16862}
16863
16864// SetPlanId sets the PlanId field's value.
16865func (s *ProvisionedProductPlanDetails) SetPlanId(v string) *ProvisionedProductPlanDetails {
16866	s.PlanId = &v
16867	return s
16868}
16869
16870// SetPlanName sets the PlanName field's value.
16871func (s *ProvisionedProductPlanDetails) SetPlanName(v string) *ProvisionedProductPlanDetails {
16872	s.PlanName = &v
16873	return s
16874}
16875
16876// SetPlanType sets the PlanType field's value.
16877func (s *ProvisionedProductPlanDetails) SetPlanType(v string) *ProvisionedProductPlanDetails {
16878	s.PlanType = &v
16879	return s
16880}
16881
16882// SetProductId sets the ProductId field's value.
16883func (s *ProvisionedProductPlanDetails) SetProductId(v string) *ProvisionedProductPlanDetails {
16884	s.ProductId = &v
16885	return s
16886}
16887
16888// SetProvisionProductId sets the ProvisionProductId field's value.
16889func (s *ProvisionedProductPlanDetails) SetProvisionProductId(v string) *ProvisionedProductPlanDetails {
16890	s.ProvisionProductId = &v
16891	return s
16892}
16893
16894// SetProvisionProductName sets the ProvisionProductName field's value.
16895func (s *ProvisionedProductPlanDetails) SetProvisionProductName(v string) *ProvisionedProductPlanDetails {
16896	s.ProvisionProductName = &v
16897	return s
16898}
16899
16900// SetProvisioningArtifactId sets the ProvisioningArtifactId field's value.
16901func (s *ProvisionedProductPlanDetails) SetProvisioningArtifactId(v string) *ProvisionedProductPlanDetails {
16902	s.ProvisioningArtifactId = &v
16903	return s
16904}
16905
16906// SetProvisioningParameters sets the ProvisioningParameters field's value.
16907func (s *ProvisionedProductPlanDetails) SetProvisioningParameters(v []*UpdateProvisioningParameter) *ProvisionedProductPlanDetails {
16908	s.ProvisioningParameters = v
16909	return s
16910}
16911
16912// SetStatus sets the Status field's value.
16913func (s *ProvisionedProductPlanDetails) SetStatus(v string) *ProvisionedProductPlanDetails {
16914	s.Status = &v
16915	return s
16916}
16917
16918// SetStatusMessage sets the StatusMessage field's value.
16919func (s *ProvisionedProductPlanDetails) SetStatusMessage(v string) *ProvisionedProductPlanDetails {
16920	s.StatusMessage = &v
16921	return s
16922}
16923
16924// SetTags sets the Tags field's value.
16925func (s *ProvisionedProductPlanDetails) SetTags(v []*Tag) *ProvisionedProductPlanDetails {
16926	s.Tags = v
16927	return s
16928}
16929
16930// SetUpdatedTime sets the UpdatedTime field's value.
16931func (s *ProvisionedProductPlanDetails) SetUpdatedTime(v time.Time) *ProvisionedProductPlanDetails {
16932	s.UpdatedTime = &v
16933	return s
16934}
16935
16936// Summary information about a plan.
16937type ProvisionedProductPlanSummary struct {
16938	_ struct{} `type:"structure"`
16939
16940	// The plan identifier.
16941	PlanId *string `min:"1" type:"string"`
16942
16943	// The name of the plan.
16944	PlanName *string `type:"string"`
16945
16946	// The plan type.
16947	PlanType *string `type:"string" enum:"ProvisionedProductPlanType"`
16948
16949	// The product identifier.
16950	ProvisionProductId *string `min:"1" type:"string"`
16951
16952	// The user-friendly name of the provisioned product.
16953	ProvisionProductName *string `min:"1" type:"string"`
16954
16955	// The identifier of the provisioning artifact.
16956	ProvisioningArtifactId *string `min:"1" type:"string"`
16957}
16958
16959// String returns the string representation
16960func (s ProvisionedProductPlanSummary) String() string {
16961	return awsutil.Prettify(s)
16962}
16963
16964// GoString returns the string representation
16965func (s ProvisionedProductPlanSummary) GoString() string {
16966	return s.String()
16967}
16968
16969// SetPlanId sets the PlanId field's value.
16970func (s *ProvisionedProductPlanSummary) SetPlanId(v string) *ProvisionedProductPlanSummary {
16971	s.PlanId = &v
16972	return s
16973}
16974
16975// SetPlanName sets the PlanName field's value.
16976func (s *ProvisionedProductPlanSummary) SetPlanName(v string) *ProvisionedProductPlanSummary {
16977	s.PlanName = &v
16978	return s
16979}
16980
16981// SetPlanType sets the PlanType field's value.
16982func (s *ProvisionedProductPlanSummary) SetPlanType(v string) *ProvisionedProductPlanSummary {
16983	s.PlanType = &v
16984	return s
16985}
16986
16987// SetProvisionProductId sets the ProvisionProductId field's value.
16988func (s *ProvisionedProductPlanSummary) SetProvisionProductId(v string) *ProvisionedProductPlanSummary {
16989	s.ProvisionProductId = &v
16990	return s
16991}
16992
16993// SetProvisionProductName sets the ProvisionProductName field's value.
16994func (s *ProvisionedProductPlanSummary) SetProvisionProductName(v string) *ProvisionedProductPlanSummary {
16995	s.ProvisionProductName = &v
16996	return s
16997}
16998
16999// SetProvisioningArtifactId sets the ProvisioningArtifactId field's value.
17000func (s *ProvisionedProductPlanSummary) SetProvisioningArtifactId(v string) *ProvisionedProductPlanSummary {
17001	s.ProvisioningArtifactId = &v
17002	return s
17003}
17004
17005// Information about a provisioning artifact. A provisioning artifact is also
17006// known as a product version.
17007type ProvisioningArtifact struct {
17008	_ struct{} `type:"structure"`
17009
17010	// The UTC time stamp of the creation time.
17011	CreatedTime *time.Time `type:"timestamp"`
17012
17013	// The description of the provisioning artifact.
17014	Description *string `type:"string"`
17015
17016	// Information set by the administrator to provide guidance to end users about
17017	// which provisioning artifacts to use.
17018	Guidance *string `type:"string" enum:"ProvisioningArtifactGuidance"`
17019
17020	// The identifier of the provisioning artifact.
17021	Id *string `min:"1" type:"string"`
17022
17023	// The name of the provisioning artifact.
17024	Name *string `type:"string"`
17025}
17026
17027// String returns the string representation
17028func (s ProvisioningArtifact) String() string {
17029	return awsutil.Prettify(s)
17030}
17031
17032// GoString returns the string representation
17033func (s ProvisioningArtifact) GoString() string {
17034	return s.String()
17035}
17036
17037// SetCreatedTime sets the CreatedTime field's value.
17038func (s *ProvisioningArtifact) SetCreatedTime(v time.Time) *ProvisioningArtifact {
17039	s.CreatedTime = &v
17040	return s
17041}
17042
17043// SetDescription sets the Description field's value.
17044func (s *ProvisioningArtifact) SetDescription(v string) *ProvisioningArtifact {
17045	s.Description = &v
17046	return s
17047}
17048
17049// SetGuidance sets the Guidance field's value.
17050func (s *ProvisioningArtifact) SetGuidance(v string) *ProvisioningArtifact {
17051	s.Guidance = &v
17052	return s
17053}
17054
17055// SetId sets the Id field's value.
17056func (s *ProvisioningArtifact) SetId(v string) *ProvisioningArtifact {
17057	s.Id = &v
17058	return s
17059}
17060
17061// SetName sets the Name field's value.
17062func (s *ProvisioningArtifact) SetName(v string) *ProvisioningArtifact {
17063	s.Name = &v
17064	return s
17065}
17066
17067// Information about a provisioning artifact (also known as a version) for a
17068// product.
17069type ProvisioningArtifactDetail struct {
17070	_ struct{} `type:"structure"`
17071
17072	// Indicates whether the product version is active.
17073	Active *bool `type:"boolean"`
17074
17075	// The UTC time stamp of the creation time.
17076	CreatedTime *time.Time `type:"timestamp"`
17077
17078	// The description of the provisioning artifact.
17079	Description *string `type:"string"`
17080
17081	// Information set by the administrator to provide guidance to end users about
17082	// which provisioning artifacts to use.
17083	Guidance *string `type:"string" enum:"ProvisioningArtifactGuidance"`
17084
17085	// The identifier of the provisioning artifact.
17086	Id *string `min:"1" type:"string"`
17087
17088	// The name of the provisioning artifact.
17089	Name *string `type:"string"`
17090
17091	// The type of provisioning artifact.
17092	//
17093	//    * CLOUD_FORMATION_TEMPLATE - AWS CloudFormation template
17094	//
17095	//    * MARKETPLACE_AMI - AWS Marketplace AMI
17096	//
17097	//    * MARKETPLACE_CAR - AWS Marketplace Clusters and AWS Resources
17098	Type *string `type:"string" enum:"ProvisioningArtifactType"`
17099}
17100
17101// String returns the string representation
17102func (s ProvisioningArtifactDetail) String() string {
17103	return awsutil.Prettify(s)
17104}
17105
17106// GoString returns the string representation
17107func (s ProvisioningArtifactDetail) GoString() string {
17108	return s.String()
17109}
17110
17111// SetActive sets the Active field's value.
17112func (s *ProvisioningArtifactDetail) SetActive(v bool) *ProvisioningArtifactDetail {
17113	s.Active = &v
17114	return s
17115}
17116
17117// SetCreatedTime sets the CreatedTime field's value.
17118func (s *ProvisioningArtifactDetail) SetCreatedTime(v time.Time) *ProvisioningArtifactDetail {
17119	s.CreatedTime = &v
17120	return s
17121}
17122
17123// SetDescription sets the Description field's value.
17124func (s *ProvisioningArtifactDetail) SetDescription(v string) *ProvisioningArtifactDetail {
17125	s.Description = &v
17126	return s
17127}
17128
17129// SetGuidance sets the Guidance field's value.
17130func (s *ProvisioningArtifactDetail) SetGuidance(v string) *ProvisioningArtifactDetail {
17131	s.Guidance = &v
17132	return s
17133}
17134
17135// SetId sets the Id field's value.
17136func (s *ProvisioningArtifactDetail) SetId(v string) *ProvisioningArtifactDetail {
17137	s.Id = &v
17138	return s
17139}
17140
17141// SetName sets the Name field's value.
17142func (s *ProvisioningArtifactDetail) SetName(v string) *ProvisioningArtifactDetail {
17143	s.Name = &v
17144	return s
17145}
17146
17147// SetType sets the Type field's value.
17148func (s *ProvisioningArtifactDetail) SetType(v string) *ProvisioningArtifactDetail {
17149	s.Type = &v
17150	return s
17151}
17152
17153// Information about a parameter used to provision a product.
17154type ProvisioningArtifactParameter struct {
17155	_ struct{} `type:"structure"`
17156
17157	// The default value.
17158	DefaultValue *string `type:"string"`
17159
17160	// The description of the parameter.
17161	Description *string `type:"string"`
17162
17163	// If this value is true, the value for this parameter is obfuscated from view
17164	// when the parameter is retrieved. This parameter is used to hide sensitive
17165	// information.
17166	IsNoEcho *bool `type:"boolean"`
17167
17168	// Constraints that the administrator has put on a parameter.
17169	ParameterConstraints *ParameterConstraints `type:"structure"`
17170
17171	// The parameter key.
17172	ParameterKey *string `min:"1" type:"string"`
17173
17174	// The parameter type.
17175	ParameterType *string `type:"string"`
17176}
17177
17178// String returns the string representation
17179func (s ProvisioningArtifactParameter) String() string {
17180	return awsutil.Prettify(s)
17181}
17182
17183// GoString returns the string representation
17184func (s ProvisioningArtifactParameter) GoString() string {
17185	return s.String()
17186}
17187
17188// SetDefaultValue sets the DefaultValue field's value.
17189func (s *ProvisioningArtifactParameter) SetDefaultValue(v string) *ProvisioningArtifactParameter {
17190	s.DefaultValue = &v
17191	return s
17192}
17193
17194// SetDescription sets the Description field's value.
17195func (s *ProvisioningArtifactParameter) SetDescription(v string) *ProvisioningArtifactParameter {
17196	s.Description = &v
17197	return s
17198}
17199
17200// SetIsNoEcho sets the IsNoEcho field's value.
17201func (s *ProvisioningArtifactParameter) SetIsNoEcho(v bool) *ProvisioningArtifactParameter {
17202	s.IsNoEcho = &v
17203	return s
17204}
17205
17206// SetParameterConstraints sets the ParameterConstraints field's value.
17207func (s *ProvisioningArtifactParameter) SetParameterConstraints(v *ParameterConstraints) *ProvisioningArtifactParameter {
17208	s.ParameterConstraints = v
17209	return s
17210}
17211
17212// SetParameterKey sets the ParameterKey field's value.
17213func (s *ProvisioningArtifactParameter) SetParameterKey(v string) *ProvisioningArtifactParameter {
17214	s.ParameterKey = &v
17215	return s
17216}
17217
17218// SetParameterType sets the ParameterType field's value.
17219func (s *ProvisioningArtifactParameter) SetParameterType(v string) *ProvisioningArtifactParameter {
17220	s.ParameterType = &v
17221	return s
17222}
17223
17224// The user-defined preferences that will be applied during product provisioning,
17225// unless overridden by ProvisioningPreferences or UpdateProvisioningPreferences.
17226//
17227// For more information on maximum concurrent accounts and failure tolerance,
17228// see Stack set operation options (https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/stacksets-concepts.html#stackset-ops-options)
17229// in the AWS CloudFormation User Guide.
17230type ProvisioningArtifactPreferences struct {
17231	_ struct{} `type:"structure"`
17232
17233	// One or more AWS accounts where stack instances are deployed from the stack
17234	// set. These accounts can be scoped in ProvisioningPreferences$StackSetAccounts
17235	// and UpdateProvisioningPreferences$StackSetAccounts.
17236	//
17237	// Applicable only to a CFN_STACKSET provisioned product type.
17238	StackSetAccounts []*string `type:"list"`
17239
17240	// One or more AWS Regions where stack instances are deployed from the stack
17241	// set. These regions can be scoped in ProvisioningPreferences$StackSetRegions
17242	// and UpdateProvisioningPreferences$StackSetRegions.
17243	//
17244	// Applicable only to a CFN_STACKSET provisioned product type.
17245	StackSetRegions []*string `type:"list"`
17246}
17247
17248// String returns the string representation
17249func (s ProvisioningArtifactPreferences) String() string {
17250	return awsutil.Prettify(s)
17251}
17252
17253// GoString returns the string representation
17254func (s ProvisioningArtifactPreferences) GoString() string {
17255	return s.String()
17256}
17257
17258// SetStackSetAccounts sets the StackSetAccounts field's value.
17259func (s *ProvisioningArtifactPreferences) SetStackSetAccounts(v []*string) *ProvisioningArtifactPreferences {
17260	s.StackSetAccounts = v
17261	return s
17262}
17263
17264// SetStackSetRegions sets the StackSetRegions field's value.
17265func (s *ProvisioningArtifactPreferences) SetStackSetRegions(v []*string) *ProvisioningArtifactPreferences {
17266	s.StackSetRegions = v
17267	return s
17268}
17269
17270// Information about a provisioning artifact (also known as a version) for a
17271// product.
17272type ProvisioningArtifactProperties struct {
17273	_ struct{} `type:"structure"`
17274
17275	// The description of the provisioning artifact, including how it differs from
17276	// the previous provisioning artifact.
17277	Description *string `type:"string"`
17278
17279	// If set to true, AWS Service Catalog stops validating the specified provisioning
17280	// artifact even if it is invalid.
17281	DisableTemplateValidation *bool `type:"boolean"`
17282
17283	// The URL of the CloudFormation template in Amazon S3. Specify the URL in JSON
17284	// format as follows:
17285	//
17286	// "LoadTemplateFromURL": "https://s3.amazonaws.com/cf-templates-ozkq9d3hgiq2-us-east-1/..."
17287	//
17288	// Info is a required field
17289	Info map[string]*string `min:"1" type:"map" required:"true"`
17290
17291	// The name of the provisioning artifact (for example, v1 v2beta). No spaces
17292	// are allowed.
17293	Name *string `type:"string"`
17294
17295	// The type of provisioning artifact.
17296	//
17297	//    * CLOUD_FORMATION_TEMPLATE - AWS CloudFormation template
17298	//
17299	//    * MARKETPLACE_AMI - AWS Marketplace AMI
17300	//
17301	//    * MARKETPLACE_CAR - AWS Marketplace Clusters and AWS Resources
17302	Type *string `type:"string" enum:"ProvisioningArtifactType"`
17303}
17304
17305// String returns the string representation
17306func (s ProvisioningArtifactProperties) String() string {
17307	return awsutil.Prettify(s)
17308}
17309
17310// GoString returns the string representation
17311func (s ProvisioningArtifactProperties) GoString() string {
17312	return s.String()
17313}
17314
17315// Validate inspects the fields of the type to determine if they are valid.
17316func (s *ProvisioningArtifactProperties) Validate() error {
17317	invalidParams := request.ErrInvalidParams{Context: "ProvisioningArtifactProperties"}
17318	if s.Info == nil {
17319		invalidParams.Add(request.NewErrParamRequired("Info"))
17320	}
17321	if s.Info != nil && len(s.Info) < 1 {
17322		invalidParams.Add(request.NewErrParamMinLen("Info", 1))
17323	}
17324
17325	if invalidParams.Len() > 0 {
17326		return invalidParams
17327	}
17328	return nil
17329}
17330
17331// SetDescription sets the Description field's value.
17332func (s *ProvisioningArtifactProperties) SetDescription(v string) *ProvisioningArtifactProperties {
17333	s.Description = &v
17334	return s
17335}
17336
17337// SetDisableTemplateValidation sets the DisableTemplateValidation field's value.
17338func (s *ProvisioningArtifactProperties) SetDisableTemplateValidation(v bool) *ProvisioningArtifactProperties {
17339	s.DisableTemplateValidation = &v
17340	return s
17341}
17342
17343// SetInfo sets the Info field's value.
17344func (s *ProvisioningArtifactProperties) SetInfo(v map[string]*string) *ProvisioningArtifactProperties {
17345	s.Info = v
17346	return s
17347}
17348
17349// SetName sets the Name field's value.
17350func (s *ProvisioningArtifactProperties) SetName(v string) *ProvisioningArtifactProperties {
17351	s.Name = &v
17352	return s
17353}
17354
17355// SetType sets the Type field's value.
17356func (s *ProvisioningArtifactProperties) SetType(v string) *ProvisioningArtifactProperties {
17357	s.Type = &v
17358	return s
17359}
17360
17361// Summary information about a provisioning artifact (also known as a version)
17362// for a product.
17363type ProvisioningArtifactSummary struct {
17364	_ struct{} `type:"structure"`
17365
17366	// The UTC time stamp of the creation time.
17367	CreatedTime *time.Time `type:"timestamp"`
17368
17369	// The description of the provisioning artifact.
17370	Description *string `type:"string"`
17371
17372	// The identifier of the provisioning artifact.
17373	Id *string `min:"1" type:"string"`
17374
17375	// The name of the provisioning artifact.
17376	Name *string `type:"string"`
17377
17378	// The metadata for the provisioning artifact. This is used with AWS Marketplace
17379	// products.
17380	ProvisioningArtifactMetadata map[string]*string `min:"1" type:"map"`
17381}
17382
17383// String returns the string representation
17384func (s ProvisioningArtifactSummary) String() string {
17385	return awsutil.Prettify(s)
17386}
17387
17388// GoString returns the string representation
17389func (s ProvisioningArtifactSummary) GoString() string {
17390	return s.String()
17391}
17392
17393// SetCreatedTime sets the CreatedTime field's value.
17394func (s *ProvisioningArtifactSummary) SetCreatedTime(v time.Time) *ProvisioningArtifactSummary {
17395	s.CreatedTime = &v
17396	return s
17397}
17398
17399// SetDescription sets the Description field's value.
17400func (s *ProvisioningArtifactSummary) SetDescription(v string) *ProvisioningArtifactSummary {
17401	s.Description = &v
17402	return s
17403}
17404
17405// SetId sets the Id field's value.
17406func (s *ProvisioningArtifactSummary) SetId(v string) *ProvisioningArtifactSummary {
17407	s.Id = &v
17408	return s
17409}
17410
17411// SetName sets the Name field's value.
17412func (s *ProvisioningArtifactSummary) SetName(v string) *ProvisioningArtifactSummary {
17413	s.Name = &v
17414	return s
17415}
17416
17417// SetProvisioningArtifactMetadata sets the ProvisioningArtifactMetadata field's value.
17418func (s *ProvisioningArtifactSummary) SetProvisioningArtifactMetadata(v map[string]*string) *ProvisioningArtifactSummary {
17419	s.ProvisioningArtifactMetadata = v
17420	return s
17421}
17422
17423// An object that contains summary information about a product view and a provisioning
17424// artifact.
17425type ProvisioningArtifactView struct {
17426	_ struct{} `type:"structure"`
17427
17428	// Summary information about a product view.
17429	ProductViewSummary *ProductViewSummary `type:"structure"`
17430
17431	// Information about a provisioning artifact. A provisioning artifact is also
17432	// known as a product version.
17433	ProvisioningArtifact *ProvisioningArtifact `type:"structure"`
17434}
17435
17436// String returns the string representation
17437func (s ProvisioningArtifactView) String() string {
17438	return awsutil.Prettify(s)
17439}
17440
17441// GoString returns the string representation
17442func (s ProvisioningArtifactView) GoString() string {
17443	return s.String()
17444}
17445
17446// SetProductViewSummary sets the ProductViewSummary field's value.
17447func (s *ProvisioningArtifactView) SetProductViewSummary(v *ProductViewSummary) *ProvisioningArtifactView {
17448	s.ProductViewSummary = v
17449	return s
17450}
17451
17452// SetProvisioningArtifact sets the ProvisioningArtifact field's value.
17453func (s *ProvisioningArtifactView) SetProvisioningArtifact(v *ProvisioningArtifact) *ProvisioningArtifactView {
17454	s.ProvisioningArtifact = v
17455	return s
17456}
17457
17458// Information about a parameter used to provision a product.
17459type ProvisioningParameter struct {
17460	_ struct{} `type:"structure"`
17461
17462	// The parameter key.
17463	Key *string `min:"1" type:"string"`
17464
17465	// The parameter value.
17466	Value *string `type:"string"`
17467}
17468
17469// String returns the string representation
17470func (s ProvisioningParameter) String() string {
17471	return awsutil.Prettify(s)
17472}
17473
17474// GoString returns the string representation
17475func (s ProvisioningParameter) GoString() string {
17476	return s.String()
17477}
17478
17479// Validate inspects the fields of the type to determine if they are valid.
17480func (s *ProvisioningParameter) Validate() error {
17481	invalidParams := request.ErrInvalidParams{Context: "ProvisioningParameter"}
17482	if s.Key != nil && len(*s.Key) < 1 {
17483		invalidParams.Add(request.NewErrParamMinLen("Key", 1))
17484	}
17485
17486	if invalidParams.Len() > 0 {
17487		return invalidParams
17488	}
17489	return nil
17490}
17491
17492// SetKey sets the Key field's value.
17493func (s *ProvisioningParameter) SetKey(v string) *ProvisioningParameter {
17494	s.Key = &v
17495	return s
17496}
17497
17498// SetValue sets the Value field's value.
17499func (s *ProvisioningParameter) SetValue(v string) *ProvisioningParameter {
17500	s.Value = &v
17501	return s
17502}
17503
17504// The user-defined preferences that will be applied when updating a provisioned
17505// product. Not all preferences are applicable to all provisioned product types.
17506type ProvisioningPreferences struct {
17507	_ struct{} `type:"structure"`
17508
17509	// One or more AWS accounts that will have access to the provisioned product.
17510	//
17511	// Applicable only to a CFN_STACKSET provisioned product type.
17512	//
17513	// The AWS accounts specified should be within the list of accounts in the STACKSET
17514	// constraint. To get the list of accounts in the STACKSET constraint, use the
17515	// DescribeProvisioningParameters operation.
17516	//
17517	// If no values are specified, the default value is all accounts from the STACKSET
17518	// constraint.
17519	StackSetAccounts []*string `type:"list"`
17520
17521	// The number of accounts, per region, for which this operation can fail before
17522	// AWS Service Catalog stops the operation in that region. If the operation
17523	// is stopped in a region, AWS Service Catalog doesn't attempt the operation
17524	// in any subsequent regions.
17525	//
17526	// Applicable only to a CFN_STACKSET provisioned product type.
17527	//
17528	// Conditional: You must specify either StackSetFailureToleranceCount or StackSetFailureTolerancePercentage,
17529	// but not both.
17530	//
17531	// The default value is 0 if no value is specified.
17532	StackSetFailureToleranceCount *int64 `type:"integer"`
17533
17534	// The percentage of accounts, per region, for which this stack operation can
17535	// fail before AWS Service Catalog stops the operation in that region. If the
17536	// operation is stopped in a region, AWS Service Catalog doesn't attempt the
17537	// operation in any subsequent regions.
17538	//
17539	// When calculating the number of accounts based on the specified percentage,
17540	// AWS Service Catalog rounds down to the next whole number.
17541	//
17542	// Applicable only to a CFN_STACKSET provisioned product type.
17543	//
17544	// Conditional: You must specify either StackSetFailureToleranceCount or StackSetFailureTolerancePercentage,
17545	// but not both.
17546	StackSetFailureTolerancePercentage *int64 `type:"integer"`
17547
17548	// The maximum number of accounts in which to perform this operation at one
17549	// time. This is dependent on the value of StackSetFailureToleranceCount. StackSetMaxConcurrentCount
17550	// is at most one more than the StackSetFailureToleranceCount.
17551	//
17552	// Note that this setting lets you specify the maximum for operations. For large
17553	// deployments, under certain circumstances the actual number of accounts acted
17554	// upon concurrently may be lower due to service throttling.
17555	//
17556	// Applicable only to a CFN_STACKSET provisioned product type.
17557	//
17558	// Conditional: You must specify either StackSetMaxConcurrentCount or StackSetMaxConcurrentPercentage,
17559	// but not both.
17560	StackSetMaxConcurrencyCount *int64 `min:"1" type:"integer"`
17561
17562	// The maximum percentage of accounts in which to perform this operation at
17563	// one time.
17564	//
17565	// When calculating the number of accounts based on the specified percentage,
17566	// AWS Service Catalog rounds down to the next whole number. This is true except
17567	// in cases where rounding down would result is zero. In this case, AWS Service
17568	// Catalog sets the number as 1 instead.
17569	//
17570	// Note that this setting lets you specify the maximum for operations. For large
17571	// deployments, under certain circumstances the actual number of accounts acted
17572	// upon concurrently may be lower due to service throttling.
17573	//
17574	// Applicable only to a CFN_STACKSET provisioned product type.
17575	//
17576	// Conditional: You must specify either StackSetMaxConcurrentCount or StackSetMaxConcurrentPercentage,
17577	// but not both.
17578	StackSetMaxConcurrencyPercentage *int64 `min:"1" type:"integer"`
17579
17580	// One or more AWS Regions where the provisioned product will be available.
17581	//
17582	// Applicable only to a CFN_STACKSET provisioned product type.
17583	//
17584	// The specified regions should be within the list of regions from the STACKSET
17585	// constraint. To get the list of regions in the STACKSET constraint, use the
17586	// DescribeProvisioningParameters operation.
17587	//
17588	// If no values are specified, the default value is all regions from the STACKSET
17589	// constraint.
17590	StackSetRegions []*string `type:"list"`
17591}
17592
17593// String returns the string representation
17594func (s ProvisioningPreferences) String() string {
17595	return awsutil.Prettify(s)
17596}
17597
17598// GoString returns the string representation
17599func (s ProvisioningPreferences) GoString() string {
17600	return s.String()
17601}
17602
17603// Validate inspects the fields of the type to determine if they are valid.
17604func (s *ProvisioningPreferences) Validate() error {
17605	invalidParams := request.ErrInvalidParams{Context: "ProvisioningPreferences"}
17606	if s.StackSetMaxConcurrencyCount != nil && *s.StackSetMaxConcurrencyCount < 1 {
17607		invalidParams.Add(request.NewErrParamMinValue("StackSetMaxConcurrencyCount", 1))
17608	}
17609	if s.StackSetMaxConcurrencyPercentage != nil && *s.StackSetMaxConcurrencyPercentage < 1 {
17610		invalidParams.Add(request.NewErrParamMinValue("StackSetMaxConcurrencyPercentage", 1))
17611	}
17612
17613	if invalidParams.Len() > 0 {
17614		return invalidParams
17615	}
17616	return nil
17617}
17618
17619// SetStackSetAccounts sets the StackSetAccounts field's value.
17620func (s *ProvisioningPreferences) SetStackSetAccounts(v []*string) *ProvisioningPreferences {
17621	s.StackSetAccounts = v
17622	return s
17623}
17624
17625// SetStackSetFailureToleranceCount sets the StackSetFailureToleranceCount field's value.
17626func (s *ProvisioningPreferences) SetStackSetFailureToleranceCount(v int64) *ProvisioningPreferences {
17627	s.StackSetFailureToleranceCount = &v
17628	return s
17629}
17630
17631// SetStackSetFailureTolerancePercentage sets the StackSetFailureTolerancePercentage field's value.
17632func (s *ProvisioningPreferences) SetStackSetFailureTolerancePercentage(v int64) *ProvisioningPreferences {
17633	s.StackSetFailureTolerancePercentage = &v
17634	return s
17635}
17636
17637// SetStackSetMaxConcurrencyCount sets the StackSetMaxConcurrencyCount field's value.
17638func (s *ProvisioningPreferences) SetStackSetMaxConcurrencyCount(v int64) *ProvisioningPreferences {
17639	s.StackSetMaxConcurrencyCount = &v
17640	return s
17641}
17642
17643// SetStackSetMaxConcurrencyPercentage sets the StackSetMaxConcurrencyPercentage field's value.
17644func (s *ProvisioningPreferences) SetStackSetMaxConcurrencyPercentage(v int64) *ProvisioningPreferences {
17645	s.StackSetMaxConcurrencyPercentage = &v
17646	return s
17647}
17648
17649// SetStackSetRegions sets the StackSetRegions field's value.
17650func (s *ProvisioningPreferences) SetStackSetRegions(v []*string) *ProvisioningPreferences {
17651	s.StackSetRegions = v
17652	return s
17653}
17654
17655// Information about a request operation.
17656type RecordDetail struct {
17657	_ struct{} `type:"structure"`
17658
17659	// The UTC time stamp of the creation time.
17660	CreatedTime *time.Time `type:"timestamp"`
17661
17662	// The path identifier.
17663	PathId *string `min:"1" type:"string"`
17664
17665	// The product identifier.
17666	ProductId *string `min:"1" type:"string"`
17667
17668	// The identifier of the provisioned product.
17669	ProvisionedProductId *string `min:"1" type:"string"`
17670
17671	// The user-friendly name of the provisioned product.
17672	ProvisionedProductName *string `min:"1" type:"string"`
17673
17674	// The type of provisioned product. The supported values are CFN_STACK and CFN_STACKSET.
17675	ProvisionedProductType *string `type:"string"`
17676
17677	// The identifier of the provisioning artifact.
17678	ProvisioningArtifactId *string `min:"1" type:"string"`
17679
17680	// The errors that occurred.
17681	RecordErrors []*RecordError `type:"list"`
17682
17683	// The identifier of the record.
17684	RecordId *string `min:"1" type:"string"`
17685
17686	// One or more tags.
17687	RecordTags []*RecordTag `type:"list"`
17688
17689	// The record type.
17690	//
17691	//    * PROVISION_PRODUCT
17692	//
17693	//    * UPDATE_PROVISIONED_PRODUCT
17694	//
17695	//    * TERMINATE_PROVISIONED_PRODUCT
17696	RecordType *string `type:"string"`
17697
17698	// The status of the provisioned product.
17699	//
17700	//    * CREATED - The request was created but the operation has not started.
17701	//
17702	//    * IN_PROGRESS - The requested operation is in progress.
17703	//
17704	//    * IN_PROGRESS_IN_ERROR - The provisioned product is under change but the
17705	//    requested operation failed and some remediation is occurring. For example,
17706	//    a rollback.
17707	//
17708	//    * SUCCEEDED - The requested operation has successfully completed.
17709	//
17710	//    * FAILED - The requested operation has unsuccessfully completed. Investigate
17711	//    using the error messages returned.
17712	Status *string `type:"string" enum:"RecordStatus"`
17713
17714	// The time when the record was last updated.
17715	UpdatedTime *time.Time `type:"timestamp"`
17716}
17717
17718// String returns the string representation
17719func (s RecordDetail) String() string {
17720	return awsutil.Prettify(s)
17721}
17722
17723// GoString returns the string representation
17724func (s RecordDetail) GoString() string {
17725	return s.String()
17726}
17727
17728// SetCreatedTime sets the CreatedTime field's value.
17729func (s *RecordDetail) SetCreatedTime(v time.Time) *RecordDetail {
17730	s.CreatedTime = &v
17731	return s
17732}
17733
17734// SetPathId sets the PathId field's value.
17735func (s *RecordDetail) SetPathId(v string) *RecordDetail {
17736	s.PathId = &v
17737	return s
17738}
17739
17740// SetProductId sets the ProductId field's value.
17741func (s *RecordDetail) SetProductId(v string) *RecordDetail {
17742	s.ProductId = &v
17743	return s
17744}
17745
17746// SetProvisionedProductId sets the ProvisionedProductId field's value.
17747func (s *RecordDetail) SetProvisionedProductId(v string) *RecordDetail {
17748	s.ProvisionedProductId = &v
17749	return s
17750}
17751
17752// SetProvisionedProductName sets the ProvisionedProductName field's value.
17753func (s *RecordDetail) SetProvisionedProductName(v string) *RecordDetail {
17754	s.ProvisionedProductName = &v
17755	return s
17756}
17757
17758// SetProvisionedProductType sets the ProvisionedProductType field's value.
17759func (s *RecordDetail) SetProvisionedProductType(v string) *RecordDetail {
17760	s.ProvisionedProductType = &v
17761	return s
17762}
17763
17764// SetProvisioningArtifactId sets the ProvisioningArtifactId field's value.
17765func (s *RecordDetail) SetProvisioningArtifactId(v string) *RecordDetail {
17766	s.ProvisioningArtifactId = &v
17767	return s
17768}
17769
17770// SetRecordErrors sets the RecordErrors field's value.
17771func (s *RecordDetail) SetRecordErrors(v []*RecordError) *RecordDetail {
17772	s.RecordErrors = v
17773	return s
17774}
17775
17776// SetRecordId sets the RecordId field's value.
17777func (s *RecordDetail) SetRecordId(v string) *RecordDetail {
17778	s.RecordId = &v
17779	return s
17780}
17781
17782// SetRecordTags sets the RecordTags field's value.
17783func (s *RecordDetail) SetRecordTags(v []*RecordTag) *RecordDetail {
17784	s.RecordTags = v
17785	return s
17786}
17787
17788// SetRecordType sets the RecordType field's value.
17789func (s *RecordDetail) SetRecordType(v string) *RecordDetail {
17790	s.RecordType = &v
17791	return s
17792}
17793
17794// SetStatus sets the Status field's value.
17795func (s *RecordDetail) SetStatus(v string) *RecordDetail {
17796	s.Status = &v
17797	return s
17798}
17799
17800// SetUpdatedTime sets the UpdatedTime field's value.
17801func (s *RecordDetail) SetUpdatedTime(v time.Time) *RecordDetail {
17802	s.UpdatedTime = &v
17803	return s
17804}
17805
17806// The error code and description resulting from an operation.
17807type RecordError struct {
17808	_ struct{} `type:"structure"`
17809
17810	// The numeric value of the error.
17811	Code *string `type:"string"`
17812
17813	// The description of the error.
17814	Description *string `type:"string"`
17815}
17816
17817// String returns the string representation
17818func (s RecordError) String() string {
17819	return awsutil.Prettify(s)
17820}
17821
17822// GoString returns the string representation
17823func (s RecordError) GoString() string {
17824	return s.String()
17825}
17826
17827// SetCode sets the Code field's value.
17828func (s *RecordError) SetCode(v string) *RecordError {
17829	s.Code = &v
17830	return s
17831}
17832
17833// SetDescription sets the Description field's value.
17834func (s *RecordError) SetDescription(v string) *RecordError {
17835	s.Description = &v
17836	return s
17837}
17838
17839// The output for the product created as the result of a request. For example,
17840// the output for a CloudFormation-backed product that creates an S3 bucket
17841// would include the S3 bucket URL.
17842type RecordOutput struct {
17843	_ struct{} `type:"structure"`
17844
17845	// The description of the output.
17846	Description *string `type:"string"`
17847
17848	// The output key.
17849	OutputKey *string `type:"string"`
17850
17851	// The output value.
17852	OutputValue *string `type:"string"`
17853}
17854
17855// String returns the string representation
17856func (s RecordOutput) String() string {
17857	return awsutil.Prettify(s)
17858}
17859
17860// GoString returns the string representation
17861func (s RecordOutput) GoString() string {
17862	return s.String()
17863}
17864
17865// SetDescription sets the Description field's value.
17866func (s *RecordOutput) SetDescription(v string) *RecordOutput {
17867	s.Description = &v
17868	return s
17869}
17870
17871// SetOutputKey sets the OutputKey field's value.
17872func (s *RecordOutput) SetOutputKey(v string) *RecordOutput {
17873	s.OutputKey = &v
17874	return s
17875}
17876
17877// SetOutputValue sets the OutputValue field's value.
17878func (s *RecordOutput) SetOutputValue(v string) *RecordOutput {
17879	s.OutputValue = &v
17880	return s
17881}
17882
17883// Information about a tag, which is a key-value pair.
17884type RecordTag struct {
17885	_ struct{} `type:"structure"`
17886
17887	// The key for this tag.
17888	Key *string `min:"1" type:"string"`
17889
17890	// The value for this tag.
17891	Value *string `min:"1" type:"string"`
17892}
17893
17894// String returns the string representation
17895func (s RecordTag) String() string {
17896	return awsutil.Prettify(s)
17897}
17898
17899// GoString returns the string representation
17900func (s RecordTag) GoString() string {
17901	return s.String()
17902}
17903
17904// SetKey sets the Key field's value.
17905func (s *RecordTag) SetKey(v string) *RecordTag {
17906	s.Key = &v
17907	return s
17908}
17909
17910// SetValue sets the Value field's value.
17911func (s *RecordTag) SetValue(v string) *RecordTag {
17912	s.Value = &v
17913	return s
17914}
17915
17916type RejectPortfolioShareInput struct {
17917	_ struct{} `type:"structure"`
17918
17919	// The language code.
17920	//
17921	//    * en - English (default)
17922	//
17923	//    * jp - Japanese
17924	//
17925	//    * zh - Chinese
17926	AcceptLanguage *string `type:"string"`
17927
17928	// The portfolio identifier.
17929	//
17930	// PortfolioId is a required field
17931	PortfolioId *string `min:"1" type:"string" required:"true"`
17932
17933	// The type of shared portfolios to reject. The default is to reject imported
17934	// portfolios.
17935	//
17936	//    * AWS_ORGANIZATIONS - Reject portfolios shared by the master account of
17937	//    your organization.
17938	//
17939	//    * IMPORTED - Reject imported portfolios.
17940	//
17941	//    * AWS_SERVICECATALOG - Not supported. (Throws ResourceNotFoundException.)
17942	//
17943	// For example, aws servicecatalog reject-portfolio-share --portfolio-id "port-2qwzkwxt3y5fk"
17944	// --portfolio-share-type AWS_ORGANIZATIONS
17945	PortfolioShareType *string `type:"string" enum:"PortfolioShareType"`
17946}
17947
17948// String returns the string representation
17949func (s RejectPortfolioShareInput) String() string {
17950	return awsutil.Prettify(s)
17951}
17952
17953// GoString returns the string representation
17954func (s RejectPortfolioShareInput) GoString() string {
17955	return s.String()
17956}
17957
17958// Validate inspects the fields of the type to determine if they are valid.
17959func (s *RejectPortfolioShareInput) Validate() error {
17960	invalidParams := request.ErrInvalidParams{Context: "RejectPortfolioShareInput"}
17961	if s.PortfolioId == nil {
17962		invalidParams.Add(request.NewErrParamRequired("PortfolioId"))
17963	}
17964	if s.PortfolioId != nil && len(*s.PortfolioId) < 1 {
17965		invalidParams.Add(request.NewErrParamMinLen("PortfolioId", 1))
17966	}
17967
17968	if invalidParams.Len() > 0 {
17969		return invalidParams
17970	}
17971	return nil
17972}
17973
17974// SetAcceptLanguage sets the AcceptLanguage field's value.
17975func (s *RejectPortfolioShareInput) SetAcceptLanguage(v string) *RejectPortfolioShareInput {
17976	s.AcceptLanguage = &v
17977	return s
17978}
17979
17980// SetPortfolioId sets the PortfolioId field's value.
17981func (s *RejectPortfolioShareInput) SetPortfolioId(v string) *RejectPortfolioShareInput {
17982	s.PortfolioId = &v
17983	return s
17984}
17985
17986// SetPortfolioShareType sets the PortfolioShareType field's value.
17987func (s *RejectPortfolioShareInput) SetPortfolioShareType(v string) *RejectPortfolioShareInput {
17988	s.PortfolioShareType = &v
17989	return s
17990}
17991
17992type RejectPortfolioShareOutput struct {
17993	_ struct{} `type:"structure"`
17994}
17995
17996// String returns the string representation
17997func (s RejectPortfolioShareOutput) String() string {
17998	return awsutil.Prettify(s)
17999}
18000
18001// GoString returns the string representation
18002func (s RejectPortfolioShareOutput) GoString() string {
18003	return s.String()
18004}
18005
18006// Information about a resource change that will occur when a plan is executed.
18007type ResourceChange struct {
18008	_ struct{} `type:"structure"`
18009
18010	// The change action.
18011	Action *string `type:"string" enum:"ChangeAction"`
18012
18013	// Information about the resource changes.
18014	Details []*ResourceChangeDetail `type:"list"`
18015
18016	// The ID of the resource, as defined in the CloudFormation template.
18017	LogicalResourceId *string `type:"string"`
18018
18019	// The ID of the resource, if it was already created.
18020	PhysicalResourceId *string `type:"string"`
18021
18022	// If the change type is Modify, indicates whether the existing resource is
18023	// deleted and replaced with a new one.
18024	Replacement *string `type:"string" enum:"Replacement"`
18025
18026	// The type of resource.
18027	ResourceType *string `min:"1" type:"string"`
18028
18029	// The change scope.
18030	Scope []*string `type:"list"`
18031}
18032
18033// String returns the string representation
18034func (s ResourceChange) String() string {
18035	return awsutil.Prettify(s)
18036}
18037
18038// GoString returns the string representation
18039func (s ResourceChange) GoString() string {
18040	return s.String()
18041}
18042
18043// SetAction sets the Action field's value.
18044func (s *ResourceChange) SetAction(v string) *ResourceChange {
18045	s.Action = &v
18046	return s
18047}
18048
18049// SetDetails sets the Details field's value.
18050func (s *ResourceChange) SetDetails(v []*ResourceChangeDetail) *ResourceChange {
18051	s.Details = v
18052	return s
18053}
18054
18055// SetLogicalResourceId sets the LogicalResourceId field's value.
18056func (s *ResourceChange) SetLogicalResourceId(v string) *ResourceChange {
18057	s.LogicalResourceId = &v
18058	return s
18059}
18060
18061// SetPhysicalResourceId sets the PhysicalResourceId field's value.
18062func (s *ResourceChange) SetPhysicalResourceId(v string) *ResourceChange {
18063	s.PhysicalResourceId = &v
18064	return s
18065}
18066
18067// SetReplacement sets the Replacement field's value.
18068func (s *ResourceChange) SetReplacement(v string) *ResourceChange {
18069	s.Replacement = &v
18070	return s
18071}
18072
18073// SetResourceType sets the ResourceType field's value.
18074func (s *ResourceChange) SetResourceType(v string) *ResourceChange {
18075	s.ResourceType = &v
18076	return s
18077}
18078
18079// SetScope sets the Scope field's value.
18080func (s *ResourceChange) SetScope(v []*string) *ResourceChange {
18081	s.Scope = v
18082	return s
18083}
18084
18085// Information about a change to a resource attribute.
18086type ResourceChangeDetail struct {
18087	_ struct{} `type:"structure"`
18088
18089	// The ID of the entity that caused the change.
18090	CausingEntity *string `type:"string"`
18091
18092	// For static evaluations, the value of the resource attribute will change and
18093	// the new value is known. For dynamic evaluations, the value might change,
18094	// and any new value will be determined when the plan is updated.
18095	Evaluation *string `type:"string" enum:"EvaluationType"`
18096
18097	// Information about the resource attribute to be modified.
18098	Target *ResourceTargetDefinition `type:"structure"`
18099}
18100
18101// String returns the string representation
18102func (s ResourceChangeDetail) String() string {
18103	return awsutil.Prettify(s)
18104}
18105
18106// GoString returns the string representation
18107func (s ResourceChangeDetail) GoString() string {
18108	return s.String()
18109}
18110
18111// SetCausingEntity sets the CausingEntity field's value.
18112func (s *ResourceChangeDetail) SetCausingEntity(v string) *ResourceChangeDetail {
18113	s.CausingEntity = &v
18114	return s
18115}
18116
18117// SetEvaluation sets the Evaluation field's value.
18118func (s *ResourceChangeDetail) SetEvaluation(v string) *ResourceChangeDetail {
18119	s.Evaluation = &v
18120	return s
18121}
18122
18123// SetTarget sets the Target field's value.
18124func (s *ResourceChangeDetail) SetTarget(v *ResourceTargetDefinition) *ResourceChangeDetail {
18125	s.Target = v
18126	return s
18127}
18128
18129// Information about a resource.
18130type ResourceDetail struct {
18131	_ struct{} `type:"structure"`
18132
18133	// The ARN of the resource.
18134	ARN *string `type:"string"`
18135
18136	// The creation time of the resource.
18137	CreatedTime *time.Time `type:"timestamp"`
18138
18139	// The description of the resource.
18140	Description *string `type:"string"`
18141
18142	// The identifier of the resource.
18143	Id *string `type:"string"`
18144
18145	// The name of the resource.
18146	Name *string `type:"string"`
18147}
18148
18149// String returns the string representation
18150func (s ResourceDetail) String() string {
18151	return awsutil.Prettify(s)
18152}
18153
18154// GoString returns the string representation
18155func (s ResourceDetail) GoString() string {
18156	return s.String()
18157}
18158
18159// SetARN sets the ARN field's value.
18160func (s *ResourceDetail) SetARN(v string) *ResourceDetail {
18161	s.ARN = &v
18162	return s
18163}
18164
18165// SetCreatedTime sets the CreatedTime field's value.
18166func (s *ResourceDetail) SetCreatedTime(v time.Time) *ResourceDetail {
18167	s.CreatedTime = &v
18168	return s
18169}
18170
18171// SetDescription sets the Description field's value.
18172func (s *ResourceDetail) SetDescription(v string) *ResourceDetail {
18173	s.Description = &v
18174	return s
18175}
18176
18177// SetId sets the Id field's value.
18178func (s *ResourceDetail) SetId(v string) *ResourceDetail {
18179	s.Id = &v
18180	return s
18181}
18182
18183// SetName sets the Name field's value.
18184func (s *ResourceDetail) SetName(v string) *ResourceDetail {
18185	s.Name = &v
18186	return s
18187}
18188
18189// A resource that is currently in use. Ensure that the resource is not in use
18190// and retry the operation.
18191type ResourceInUseException struct {
18192	_            struct{}                  `type:"structure"`
18193	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
18194
18195	Message_ *string `locationName:"message" type:"string"`
18196}
18197
18198// String returns the string representation
18199func (s ResourceInUseException) String() string {
18200	return awsutil.Prettify(s)
18201}
18202
18203// GoString returns the string representation
18204func (s ResourceInUseException) GoString() string {
18205	return s.String()
18206}
18207
18208func newErrorResourceInUseException(v protocol.ResponseMetadata) error {
18209	return &ResourceInUseException{
18210		RespMetadata: v,
18211	}
18212}
18213
18214// Code returns the exception type name.
18215func (s *ResourceInUseException) Code() string {
18216	return "ResourceInUseException"
18217}
18218
18219// Message returns the exception's message.
18220func (s *ResourceInUseException) Message() string {
18221	if s.Message_ != nil {
18222		return *s.Message_
18223	}
18224	return ""
18225}
18226
18227// OrigErr always returns nil, satisfies awserr.Error interface.
18228func (s *ResourceInUseException) OrigErr() error {
18229	return nil
18230}
18231
18232func (s *ResourceInUseException) Error() string {
18233	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
18234}
18235
18236// Status code returns the HTTP status code for the request's response error.
18237func (s *ResourceInUseException) StatusCode() int {
18238	return s.RespMetadata.StatusCode
18239}
18240
18241// RequestID returns the service's response RequestID for request.
18242func (s *ResourceInUseException) RequestID() string {
18243	return s.RespMetadata.RequestID
18244}
18245
18246// The specified resource was not found.
18247type ResourceNotFoundException struct {
18248	_            struct{}                  `type:"structure"`
18249	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
18250
18251	Message_ *string `locationName:"message" type:"string"`
18252}
18253
18254// String returns the string representation
18255func (s ResourceNotFoundException) String() string {
18256	return awsutil.Prettify(s)
18257}
18258
18259// GoString returns the string representation
18260func (s ResourceNotFoundException) GoString() string {
18261	return s.String()
18262}
18263
18264func newErrorResourceNotFoundException(v protocol.ResponseMetadata) error {
18265	return &ResourceNotFoundException{
18266		RespMetadata: v,
18267	}
18268}
18269
18270// Code returns the exception type name.
18271func (s *ResourceNotFoundException) Code() string {
18272	return "ResourceNotFoundException"
18273}
18274
18275// Message returns the exception's message.
18276func (s *ResourceNotFoundException) Message() string {
18277	if s.Message_ != nil {
18278		return *s.Message_
18279	}
18280	return ""
18281}
18282
18283// OrigErr always returns nil, satisfies awserr.Error interface.
18284func (s *ResourceNotFoundException) OrigErr() error {
18285	return nil
18286}
18287
18288func (s *ResourceNotFoundException) Error() string {
18289	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
18290}
18291
18292// Status code returns the HTTP status code for the request's response error.
18293func (s *ResourceNotFoundException) StatusCode() int {
18294	return s.RespMetadata.StatusCode
18295}
18296
18297// RequestID returns the service's response RequestID for request.
18298func (s *ResourceNotFoundException) RequestID() string {
18299	return s.RespMetadata.RequestID
18300}
18301
18302// Information about a change to a resource attribute.
18303type ResourceTargetDefinition struct {
18304	_ struct{} `type:"structure"`
18305
18306	// The attribute to be changed.
18307	Attribute *string `type:"string" enum:"ResourceAttribute"`
18308
18309	// If the attribute is Properties, the value is the name of the property. Otherwise,
18310	// the value is null.
18311	Name *string `type:"string"`
18312
18313	// If the attribute is Properties, indicates whether a change to this property
18314	// causes the resource to be re-created.
18315	RequiresRecreation *string `type:"string" enum:"RequiresRecreation"`
18316}
18317
18318// String returns the string representation
18319func (s ResourceTargetDefinition) String() string {
18320	return awsutil.Prettify(s)
18321}
18322
18323// GoString returns the string representation
18324func (s ResourceTargetDefinition) GoString() string {
18325	return s.String()
18326}
18327
18328// SetAttribute sets the Attribute field's value.
18329func (s *ResourceTargetDefinition) SetAttribute(v string) *ResourceTargetDefinition {
18330	s.Attribute = &v
18331	return s
18332}
18333
18334// SetName sets the Name field's value.
18335func (s *ResourceTargetDefinition) SetName(v string) *ResourceTargetDefinition {
18336	s.Name = &v
18337	return s
18338}
18339
18340// SetRequiresRecreation sets the RequiresRecreation field's value.
18341func (s *ResourceTargetDefinition) SetRequiresRecreation(v string) *ResourceTargetDefinition {
18342	s.RequiresRecreation = &v
18343	return s
18344}
18345
18346type ScanProvisionedProductsInput struct {
18347	_ struct{} `type:"structure"`
18348
18349	// The language code.
18350	//
18351	//    * en - English (default)
18352	//
18353	//    * jp - Japanese
18354	//
18355	//    * zh - Chinese
18356	AcceptLanguage *string `type:"string"`
18357
18358	// The access level to use to obtain results. The default is User.
18359	AccessLevelFilter *AccessLevelFilter `type:"structure"`
18360
18361	// The maximum number of items to return with this call.
18362	PageSize *int64 `type:"integer"`
18363
18364	// The page token for the next set of results. To retrieve the first set of
18365	// results, use null.
18366	PageToken *string `type:"string"`
18367}
18368
18369// String returns the string representation
18370func (s ScanProvisionedProductsInput) String() string {
18371	return awsutil.Prettify(s)
18372}
18373
18374// GoString returns the string representation
18375func (s ScanProvisionedProductsInput) GoString() string {
18376	return s.String()
18377}
18378
18379// SetAcceptLanguage sets the AcceptLanguage field's value.
18380func (s *ScanProvisionedProductsInput) SetAcceptLanguage(v string) *ScanProvisionedProductsInput {
18381	s.AcceptLanguage = &v
18382	return s
18383}
18384
18385// SetAccessLevelFilter sets the AccessLevelFilter field's value.
18386func (s *ScanProvisionedProductsInput) SetAccessLevelFilter(v *AccessLevelFilter) *ScanProvisionedProductsInput {
18387	s.AccessLevelFilter = v
18388	return s
18389}
18390
18391// SetPageSize sets the PageSize field's value.
18392func (s *ScanProvisionedProductsInput) SetPageSize(v int64) *ScanProvisionedProductsInput {
18393	s.PageSize = &v
18394	return s
18395}
18396
18397// SetPageToken sets the PageToken field's value.
18398func (s *ScanProvisionedProductsInput) SetPageToken(v string) *ScanProvisionedProductsInput {
18399	s.PageToken = &v
18400	return s
18401}
18402
18403type ScanProvisionedProductsOutput struct {
18404	_ struct{} `type:"structure"`
18405
18406	// The page token to use to retrieve the next set of results. If there are no
18407	// additional results, this value is null.
18408	NextPageToken *string `type:"string"`
18409
18410	// Information about the provisioned products.
18411	ProvisionedProducts []*ProvisionedProductDetail `type:"list"`
18412}
18413
18414// String returns the string representation
18415func (s ScanProvisionedProductsOutput) String() string {
18416	return awsutil.Prettify(s)
18417}
18418
18419// GoString returns the string representation
18420func (s ScanProvisionedProductsOutput) GoString() string {
18421	return s.String()
18422}
18423
18424// SetNextPageToken sets the NextPageToken field's value.
18425func (s *ScanProvisionedProductsOutput) SetNextPageToken(v string) *ScanProvisionedProductsOutput {
18426	s.NextPageToken = &v
18427	return s
18428}
18429
18430// SetProvisionedProducts sets the ProvisionedProducts field's value.
18431func (s *ScanProvisionedProductsOutput) SetProvisionedProducts(v []*ProvisionedProductDetail) *ScanProvisionedProductsOutput {
18432	s.ProvisionedProducts = v
18433	return s
18434}
18435
18436type SearchProductsAsAdminInput struct {
18437	_ struct{} `type:"structure"`
18438
18439	// The language code.
18440	//
18441	//    * en - English (default)
18442	//
18443	//    * jp - Japanese
18444	//
18445	//    * zh - Chinese
18446	AcceptLanguage *string `type:"string"`
18447
18448	// The search filters. If no search filters are specified, the output includes
18449	// all products to which the administrator has access.
18450	Filters map[string][]*string `type:"map"`
18451
18452	// The maximum number of items to return with this call.
18453	PageSize *int64 `type:"integer"`
18454
18455	// The page token for the next set of results. To retrieve the first set of
18456	// results, use null.
18457	PageToken *string `type:"string"`
18458
18459	// The portfolio identifier.
18460	PortfolioId *string `min:"1" type:"string"`
18461
18462	// Access level of the source of the product.
18463	ProductSource *string `type:"string" enum:"ProductSource"`
18464
18465	// The sort field. If no value is specified, the results are not sorted.
18466	SortBy *string `type:"string" enum:"ProductViewSortBy"`
18467
18468	// The sort order. If no value is specified, the results are not sorted.
18469	SortOrder *string `type:"string" enum:"SortOrder"`
18470}
18471
18472// String returns the string representation
18473func (s SearchProductsAsAdminInput) String() string {
18474	return awsutil.Prettify(s)
18475}
18476
18477// GoString returns the string representation
18478func (s SearchProductsAsAdminInput) GoString() string {
18479	return s.String()
18480}
18481
18482// Validate inspects the fields of the type to determine if they are valid.
18483func (s *SearchProductsAsAdminInput) Validate() error {
18484	invalidParams := request.ErrInvalidParams{Context: "SearchProductsAsAdminInput"}
18485	if s.PortfolioId != nil && len(*s.PortfolioId) < 1 {
18486		invalidParams.Add(request.NewErrParamMinLen("PortfolioId", 1))
18487	}
18488
18489	if invalidParams.Len() > 0 {
18490		return invalidParams
18491	}
18492	return nil
18493}
18494
18495// SetAcceptLanguage sets the AcceptLanguage field's value.
18496func (s *SearchProductsAsAdminInput) SetAcceptLanguage(v string) *SearchProductsAsAdminInput {
18497	s.AcceptLanguage = &v
18498	return s
18499}
18500
18501// SetFilters sets the Filters field's value.
18502func (s *SearchProductsAsAdminInput) SetFilters(v map[string][]*string) *SearchProductsAsAdminInput {
18503	s.Filters = v
18504	return s
18505}
18506
18507// SetPageSize sets the PageSize field's value.
18508func (s *SearchProductsAsAdminInput) SetPageSize(v int64) *SearchProductsAsAdminInput {
18509	s.PageSize = &v
18510	return s
18511}
18512
18513// SetPageToken sets the PageToken field's value.
18514func (s *SearchProductsAsAdminInput) SetPageToken(v string) *SearchProductsAsAdminInput {
18515	s.PageToken = &v
18516	return s
18517}
18518
18519// SetPortfolioId sets the PortfolioId field's value.
18520func (s *SearchProductsAsAdminInput) SetPortfolioId(v string) *SearchProductsAsAdminInput {
18521	s.PortfolioId = &v
18522	return s
18523}
18524
18525// SetProductSource sets the ProductSource field's value.
18526func (s *SearchProductsAsAdminInput) SetProductSource(v string) *SearchProductsAsAdminInput {
18527	s.ProductSource = &v
18528	return s
18529}
18530
18531// SetSortBy sets the SortBy field's value.
18532func (s *SearchProductsAsAdminInput) SetSortBy(v string) *SearchProductsAsAdminInput {
18533	s.SortBy = &v
18534	return s
18535}
18536
18537// SetSortOrder sets the SortOrder field's value.
18538func (s *SearchProductsAsAdminInput) SetSortOrder(v string) *SearchProductsAsAdminInput {
18539	s.SortOrder = &v
18540	return s
18541}
18542
18543type SearchProductsAsAdminOutput struct {
18544	_ struct{} `type:"structure"`
18545
18546	// The page token to use to retrieve the next set of results. If there are no
18547	// additional results, this value is null.
18548	NextPageToken *string `type:"string"`
18549
18550	// Information about the product views.
18551	ProductViewDetails []*ProductViewDetail `type:"list"`
18552}
18553
18554// String returns the string representation
18555func (s SearchProductsAsAdminOutput) String() string {
18556	return awsutil.Prettify(s)
18557}
18558
18559// GoString returns the string representation
18560func (s SearchProductsAsAdminOutput) GoString() string {
18561	return s.String()
18562}
18563
18564// SetNextPageToken sets the NextPageToken field's value.
18565func (s *SearchProductsAsAdminOutput) SetNextPageToken(v string) *SearchProductsAsAdminOutput {
18566	s.NextPageToken = &v
18567	return s
18568}
18569
18570// SetProductViewDetails sets the ProductViewDetails field's value.
18571func (s *SearchProductsAsAdminOutput) SetProductViewDetails(v []*ProductViewDetail) *SearchProductsAsAdminOutput {
18572	s.ProductViewDetails = v
18573	return s
18574}
18575
18576type SearchProductsInput struct {
18577	_ struct{} `type:"structure"`
18578
18579	// The language code.
18580	//
18581	//    * en - English (default)
18582	//
18583	//    * jp - Japanese
18584	//
18585	//    * zh - Chinese
18586	AcceptLanguage *string `type:"string"`
18587
18588	// The search filters. If no search filters are specified, the output includes
18589	// all products to which the caller has access.
18590	Filters map[string][]*string `type:"map"`
18591
18592	// The maximum number of items to return with this call.
18593	PageSize *int64 `type:"integer"`
18594
18595	// The page token for the next set of results. To retrieve the first set of
18596	// results, use null.
18597	PageToken *string `type:"string"`
18598
18599	// The sort field. If no value is specified, the results are not sorted.
18600	SortBy *string `type:"string" enum:"ProductViewSortBy"`
18601
18602	// The sort order. If no value is specified, the results are not sorted.
18603	SortOrder *string `type:"string" enum:"SortOrder"`
18604}
18605
18606// String returns the string representation
18607func (s SearchProductsInput) String() string {
18608	return awsutil.Prettify(s)
18609}
18610
18611// GoString returns the string representation
18612func (s SearchProductsInput) GoString() string {
18613	return s.String()
18614}
18615
18616// SetAcceptLanguage sets the AcceptLanguage field's value.
18617func (s *SearchProductsInput) SetAcceptLanguage(v string) *SearchProductsInput {
18618	s.AcceptLanguage = &v
18619	return s
18620}
18621
18622// SetFilters sets the Filters field's value.
18623func (s *SearchProductsInput) SetFilters(v map[string][]*string) *SearchProductsInput {
18624	s.Filters = v
18625	return s
18626}
18627
18628// SetPageSize sets the PageSize field's value.
18629func (s *SearchProductsInput) SetPageSize(v int64) *SearchProductsInput {
18630	s.PageSize = &v
18631	return s
18632}
18633
18634// SetPageToken sets the PageToken field's value.
18635func (s *SearchProductsInput) SetPageToken(v string) *SearchProductsInput {
18636	s.PageToken = &v
18637	return s
18638}
18639
18640// SetSortBy sets the SortBy field's value.
18641func (s *SearchProductsInput) SetSortBy(v string) *SearchProductsInput {
18642	s.SortBy = &v
18643	return s
18644}
18645
18646// SetSortOrder sets the SortOrder field's value.
18647func (s *SearchProductsInput) SetSortOrder(v string) *SearchProductsInput {
18648	s.SortOrder = &v
18649	return s
18650}
18651
18652type SearchProductsOutput struct {
18653	_ struct{} `type:"structure"`
18654
18655	// The page token to use to retrieve the next set of results. If there are no
18656	// additional results, this value is null.
18657	NextPageToken *string `type:"string"`
18658
18659	// The product view aggregations.
18660	ProductViewAggregations map[string][]*ProductViewAggregationValue `type:"map"`
18661
18662	// Information about the product views.
18663	ProductViewSummaries []*ProductViewSummary `type:"list"`
18664}
18665
18666// String returns the string representation
18667func (s SearchProductsOutput) String() string {
18668	return awsutil.Prettify(s)
18669}
18670
18671// GoString returns the string representation
18672func (s SearchProductsOutput) GoString() string {
18673	return s.String()
18674}
18675
18676// SetNextPageToken sets the NextPageToken field's value.
18677func (s *SearchProductsOutput) SetNextPageToken(v string) *SearchProductsOutput {
18678	s.NextPageToken = &v
18679	return s
18680}
18681
18682// SetProductViewAggregations sets the ProductViewAggregations field's value.
18683func (s *SearchProductsOutput) SetProductViewAggregations(v map[string][]*ProductViewAggregationValue) *SearchProductsOutput {
18684	s.ProductViewAggregations = v
18685	return s
18686}
18687
18688// SetProductViewSummaries sets the ProductViewSummaries field's value.
18689func (s *SearchProductsOutput) SetProductViewSummaries(v []*ProductViewSummary) *SearchProductsOutput {
18690	s.ProductViewSummaries = v
18691	return s
18692}
18693
18694type SearchProvisionedProductsInput struct {
18695	_ struct{} `type:"structure"`
18696
18697	// The language code.
18698	//
18699	//    * en - English (default)
18700	//
18701	//    * jp - Japanese
18702	//
18703	//    * zh - Chinese
18704	AcceptLanguage *string `type:"string"`
18705
18706	// The access level to use to obtain results. The default is User.
18707	AccessLevelFilter *AccessLevelFilter `type:"structure"`
18708
18709	// The search filters.
18710	//
18711	// When the key is SearchQuery, the searchable fields are arn, createdTime,
18712	// id, lastRecordId, idempotencyToken, name, physicalId, productId, provisioningArtifact,
18713	// type, status, tags, userArn, and userArnSession.
18714	//
18715	// Example: "SearchQuery":["status:AVAILABLE"]
18716	Filters map[string][]*string `type:"map"`
18717
18718	// The maximum number of items to return with this call.
18719	PageSize *int64 `type:"integer"`
18720
18721	// The page token for the next set of results. To retrieve the first set of
18722	// results, use null.
18723	PageToken *string `type:"string"`
18724
18725	// The sort field. If no value is specified, the results are not sorted. The
18726	// valid values are arn, id, name, and lastRecordId.
18727	SortBy *string `type:"string"`
18728
18729	// The sort order. If no value is specified, the results are not sorted.
18730	SortOrder *string `type:"string" enum:"SortOrder"`
18731}
18732
18733// String returns the string representation
18734func (s SearchProvisionedProductsInput) String() string {
18735	return awsutil.Prettify(s)
18736}
18737
18738// GoString returns the string representation
18739func (s SearchProvisionedProductsInput) GoString() string {
18740	return s.String()
18741}
18742
18743// SetAcceptLanguage sets the AcceptLanguage field's value.
18744func (s *SearchProvisionedProductsInput) SetAcceptLanguage(v string) *SearchProvisionedProductsInput {
18745	s.AcceptLanguage = &v
18746	return s
18747}
18748
18749// SetAccessLevelFilter sets the AccessLevelFilter field's value.
18750func (s *SearchProvisionedProductsInput) SetAccessLevelFilter(v *AccessLevelFilter) *SearchProvisionedProductsInput {
18751	s.AccessLevelFilter = v
18752	return s
18753}
18754
18755// SetFilters sets the Filters field's value.
18756func (s *SearchProvisionedProductsInput) SetFilters(v map[string][]*string) *SearchProvisionedProductsInput {
18757	s.Filters = v
18758	return s
18759}
18760
18761// SetPageSize sets the PageSize field's value.
18762func (s *SearchProvisionedProductsInput) SetPageSize(v int64) *SearchProvisionedProductsInput {
18763	s.PageSize = &v
18764	return s
18765}
18766
18767// SetPageToken sets the PageToken field's value.
18768func (s *SearchProvisionedProductsInput) SetPageToken(v string) *SearchProvisionedProductsInput {
18769	s.PageToken = &v
18770	return s
18771}
18772
18773// SetSortBy sets the SortBy field's value.
18774func (s *SearchProvisionedProductsInput) SetSortBy(v string) *SearchProvisionedProductsInput {
18775	s.SortBy = &v
18776	return s
18777}
18778
18779// SetSortOrder sets the SortOrder field's value.
18780func (s *SearchProvisionedProductsInput) SetSortOrder(v string) *SearchProvisionedProductsInput {
18781	s.SortOrder = &v
18782	return s
18783}
18784
18785type SearchProvisionedProductsOutput struct {
18786	_ struct{} `type:"structure"`
18787
18788	// The page token to use to retrieve the next set of results. If there are no
18789	// additional results, this value is null.
18790	NextPageToken *string `type:"string"`
18791
18792	// Information about the provisioned products.
18793	ProvisionedProducts []*ProvisionedProductAttribute `type:"list"`
18794
18795	// The number of provisioned products found.
18796	TotalResultsCount *int64 `type:"integer"`
18797}
18798
18799// String returns the string representation
18800func (s SearchProvisionedProductsOutput) String() string {
18801	return awsutil.Prettify(s)
18802}
18803
18804// GoString returns the string representation
18805func (s SearchProvisionedProductsOutput) GoString() string {
18806	return s.String()
18807}
18808
18809// SetNextPageToken sets the NextPageToken field's value.
18810func (s *SearchProvisionedProductsOutput) SetNextPageToken(v string) *SearchProvisionedProductsOutput {
18811	s.NextPageToken = &v
18812	return s
18813}
18814
18815// SetProvisionedProducts sets the ProvisionedProducts field's value.
18816func (s *SearchProvisionedProductsOutput) SetProvisionedProducts(v []*ProvisionedProductAttribute) *SearchProvisionedProductsOutput {
18817	s.ProvisionedProducts = v
18818	return s
18819}
18820
18821// SetTotalResultsCount sets the TotalResultsCount field's value.
18822func (s *SearchProvisionedProductsOutput) SetTotalResultsCount(v int64) *SearchProvisionedProductsOutput {
18823	s.TotalResultsCount = &v
18824	return s
18825}
18826
18827// A self-service action association consisting of the Action ID, the Product
18828// ID, and the Provisioning Artifact ID.
18829type ServiceActionAssociation struct {
18830	_ struct{} `type:"structure"`
18831
18832	// The product identifier. For example, prod-abcdzk7xy33qa.
18833	//
18834	// ProductId is a required field
18835	ProductId *string `min:"1" type:"string" required:"true"`
18836
18837	// The identifier of the provisioning artifact. For example, pa-4abcdjnxjj6ne.
18838	//
18839	// ProvisioningArtifactId is a required field
18840	ProvisioningArtifactId *string `min:"1" type:"string" required:"true"`
18841
18842	// The self-service action identifier. For example, act-fs7abcd89wxyz.
18843	//
18844	// ServiceActionId is a required field
18845	ServiceActionId *string `min:"1" type:"string" required:"true"`
18846}
18847
18848// String returns the string representation
18849func (s ServiceActionAssociation) String() string {
18850	return awsutil.Prettify(s)
18851}
18852
18853// GoString returns the string representation
18854func (s ServiceActionAssociation) GoString() string {
18855	return s.String()
18856}
18857
18858// Validate inspects the fields of the type to determine if they are valid.
18859func (s *ServiceActionAssociation) Validate() error {
18860	invalidParams := request.ErrInvalidParams{Context: "ServiceActionAssociation"}
18861	if s.ProductId == nil {
18862		invalidParams.Add(request.NewErrParamRequired("ProductId"))
18863	}
18864	if s.ProductId != nil && len(*s.ProductId) < 1 {
18865		invalidParams.Add(request.NewErrParamMinLen("ProductId", 1))
18866	}
18867	if s.ProvisioningArtifactId == nil {
18868		invalidParams.Add(request.NewErrParamRequired("ProvisioningArtifactId"))
18869	}
18870	if s.ProvisioningArtifactId != nil && len(*s.ProvisioningArtifactId) < 1 {
18871		invalidParams.Add(request.NewErrParamMinLen("ProvisioningArtifactId", 1))
18872	}
18873	if s.ServiceActionId == nil {
18874		invalidParams.Add(request.NewErrParamRequired("ServiceActionId"))
18875	}
18876	if s.ServiceActionId != nil && len(*s.ServiceActionId) < 1 {
18877		invalidParams.Add(request.NewErrParamMinLen("ServiceActionId", 1))
18878	}
18879
18880	if invalidParams.Len() > 0 {
18881		return invalidParams
18882	}
18883	return nil
18884}
18885
18886// SetProductId sets the ProductId field's value.
18887func (s *ServiceActionAssociation) SetProductId(v string) *ServiceActionAssociation {
18888	s.ProductId = &v
18889	return s
18890}
18891
18892// SetProvisioningArtifactId sets the ProvisioningArtifactId field's value.
18893func (s *ServiceActionAssociation) SetProvisioningArtifactId(v string) *ServiceActionAssociation {
18894	s.ProvisioningArtifactId = &v
18895	return s
18896}
18897
18898// SetServiceActionId sets the ServiceActionId field's value.
18899func (s *ServiceActionAssociation) SetServiceActionId(v string) *ServiceActionAssociation {
18900	s.ServiceActionId = &v
18901	return s
18902}
18903
18904// An object containing detailed information about the self-service action.
18905type ServiceActionDetail struct {
18906	_ struct{} `type:"structure"`
18907
18908	// A map that defines the self-service action.
18909	Definition map[string]*string `min:"1" type:"map"`
18910
18911	// Summary information about the self-service action.
18912	ServiceActionSummary *ServiceActionSummary `type:"structure"`
18913}
18914
18915// String returns the string representation
18916func (s ServiceActionDetail) String() string {
18917	return awsutil.Prettify(s)
18918}
18919
18920// GoString returns the string representation
18921func (s ServiceActionDetail) GoString() string {
18922	return s.String()
18923}
18924
18925// SetDefinition sets the Definition field's value.
18926func (s *ServiceActionDetail) SetDefinition(v map[string]*string) *ServiceActionDetail {
18927	s.Definition = v
18928	return s
18929}
18930
18931// SetServiceActionSummary sets the ServiceActionSummary field's value.
18932func (s *ServiceActionDetail) SetServiceActionSummary(v *ServiceActionSummary) *ServiceActionDetail {
18933	s.ServiceActionSummary = v
18934	return s
18935}
18936
18937// Detailed information about the self-service action.
18938type ServiceActionSummary struct {
18939	_ struct{} `type:"structure"`
18940
18941	// The self-service action definition type. For example, SSM_AUTOMATION.
18942	DefinitionType *string `type:"string" enum:"ServiceActionDefinitionType"`
18943
18944	// The self-service action description.
18945	Description *string `type:"string"`
18946
18947	// The self-service action identifier.
18948	Id *string `min:"1" type:"string"`
18949
18950	// The self-service action name.
18951	Name *string `min:"1" type:"string"`
18952}
18953
18954// String returns the string representation
18955func (s ServiceActionSummary) String() string {
18956	return awsutil.Prettify(s)
18957}
18958
18959// GoString returns the string representation
18960func (s ServiceActionSummary) GoString() string {
18961	return s.String()
18962}
18963
18964// SetDefinitionType sets the DefinitionType field's value.
18965func (s *ServiceActionSummary) SetDefinitionType(v string) *ServiceActionSummary {
18966	s.DefinitionType = &v
18967	return s
18968}
18969
18970// SetDescription sets the Description field's value.
18971func (s *ServiceActionSummary) SetDescription(v string) *ServiceActionSummary {
18972	s.Description = &v
18973	return s
18974}
18975
18976// SetId sets the Id field's value.
18977func (s *ServiceActionSummary) SetId(v string) *ServiceActionSummary {
18978	s.Id = &v
18979	return s
18980}
18981
18982// SetName sets the Name field's value.
18983func (s *ServiceActionSummary) SetName(v string) *ServiceActionSummary {
18984	s.Name = &v
18985	return s
18986}
18987
18988// Information about the portfolio share operation.
18989type ShareDetails struct {
18990	_ struct{} `type:"structure"`
18991
18992	// List of errors.
18993	ShareErrors []*ShareError `type:"list"`
18994
18995	// List of accounts for whom the operation succeeded.
18996	SuccessfulShares []*string `type:"list"`
18997}
18998
18999// String returns the string representation
19000func (s ShareDetails) String() string {
19001	return awsutil.Prettify(s)
19002}
19003
19004// GoString returns the string representation
19005func (s ShareDetails) GoString() string {
19006	return s.String()
19007}
19008
19009// SetShareErrors sets the ShareErrors field's value.
19010func (s *ShareDetails) SetShareErrors(v []*ShareError) *ShareDetails {
19011	s.ShareErrors = v
19012	return s
19013}
19014
19015// SetSuccessfulShares sets the SuccessfulShares field's value.
19016func (s *ShareDetails) SetSuccessfulShares(v []*string) *ShareDetails {
19017	s.SuccessfulShares = v
19018	return s
19019}
19020
19021// Errors that occurred during the portfolio share operation.
19022type ShareError struct {
19023	_ struct{} `type:"structure"`
19024
19025	// List of accounts impacted by the error.
19026	Accounts []*string `type:"list"`
19027
19028	// Error type that happened when processing the operation.
19029	Error *string `type:"string"`
19030
19031	// Information about the error.
19032	Message *string `type:"string"`
19033}
19034
19035// String returns the string representation
19036func (s ShareError) String() string {
19037	return awsutil.Prettify(s)
19038}
19039
19040// GoString returns the string representation
19041func (s ShareError) GoString() string {
19042	return s.String()
19043}
19044
19045// SetAccounts sets the Accounts field's value.
19046func (s *ShareError) SetAccounts(v []*string) *ShareError {
19047	s.Accounts = v
19048	return s
19049}
19050
19051// SetError sets the Error field's value.
19052func (s *ShareError) SetError(v string) *ShareError {
19053	s.Error = &v
19054	return s
19055}
19056
19057// SetMessage sets the Message field's value.
19058func (s *ShareError) SetMessage(v string) *ShareError {
19059	s.Message = &v
19060	return s
19061}
19062
19063// An AWS CloudFormation stack, in a specific account and region, that's part
19064// of a stack set operation. A stack instance is a reference to an attempted
19065// or actual stack in a given account within a given region. A stack instance
19066// can exist without a stack—for example, if the stack couldn't be created
19067// for some reason. A stack instance is associated with only one stack set.
19068// Each stack instance contains the ID of its associated stack set, as well
19069// as the ID of the actual stack and the stack status.
19070type StackInstance struct {
19071	_ struct{} `type:"structure"`
19072
19073	// The name of the AWS account that the stack instance is associated with.
19074	Account *string `type:"string"`
19075
19076	// The name of the AWS region that the stack instance is associated with.
19077	Region *string `type:"string"`
19078
19079	// The status of the stack instance, in terms of its synchronization with its
19080	// associated stack set.
19081	//
19082	//    * INOPERABLE: A DeleteStackInstances operation has failed and left the
19083	//    stack in an unstable state. Stacks in this state are excluded from further
19084	//    UpdateStackSet operations. You might need to perform a DeleteStackInstances
19085	//    operation, with RetainStacks set to true, to delete the stack instance,
19086	//    and then delete the stack manually.
19087	//
19088	//    * OUTDATED: The stack isn't currently up to date with the stack set because
19089	//    either the associated stack failed during a CreateStackSet or UpdateStackSet
19090	//    operation, or the stack was part of a CreateStackSet or UpdateStackSet
19091	//    operation that failed or was stopped before the stack was created or updated.
19092	//
19093	//    * CURRENT: The stack is currently up to date with the stack set.
19094	StackInstanceStatus *string `type:"string" enum:"StackInstanceStatus"`
19095}
19096
19097// String returns the string representation
19098func (s StackInstance) String() string {
19099	return awsutil.Prettify(s)
19100}
19101
19102// GoString returns the string representation
19103func (s StackInstance) GoString() string {
19104	return s.String()
19105}
19106
19107// SetAccount sets the Account field's value.
19108func (s *StackInstance) SetAccount(v string) *StackInstance {
19109	s.Account = &v
19110	return s
19111}
19112
19113// SetRegion sets the Region field's value.
19114func (s *StackInstance) SetRegion(v string) *StackInstance {
19115	s.Region = &v
19116	return s
19117}
19118
19119// SetStackInstanceStatus sets the StackInstanceStatus field's value.
19120func (s *StackInstance) SetStackInstanceStatus(v string) *StackInstance {
19121	s.StackInstanceStatus = &v
19122	return s
19123}
19124
19125// Information about a tag. A tag is a key-value pair. Tags are propagated to
19126// the resources created when provisioning a product.
19127type Tag struct {
19128	_ struct{} `type:"structure"`
19129
19130	// The tag key.
19131	//
19132	// Key is a required field
19133	Key *string `min:"1" type:"string" required:"true"`
19134
19135	// The value for this key.
19136	//
19137	// Value is a required field
19138	Value *string `min:"1" type:"string" required:"true"`
19139}
19140
19141// String returns the string representation
19142func (s Tag) String() string {
19143	return awsutil.Prettify(s)
19144}
19145
19146// GoString returns the string representation
19147func (s Tag) GoString() string {
19148	return s.String()
19149}
19150
19151// Validate inspects the fields of the type to determine if they are valid.
19152func (s *Tag) Validate() error {
19153	invalidParams := request.ErrInvalidParams{Context: "Tag"}
19154	if s.Key == nil {
19155		invalidParams.Add(request.NewErrParamRequired("Key"))
19156	}
19157	if s.Key != nil && len(*s.Key) < 1 {
19158		invalidParams.Add(request.NewErrParamMinLen("Key", 1))
19159	}
19160	if s.Value == nil {
19161		invalidParams.Add(request.NewErrParamRequired("Value"))
19162	}
19163	if s.Value != nil && len(*s.Value) < 1 {
19164		invalidParams.Add(request.NewErrParamMinLen("Value", 1))
19165	}
19166
19167	if invalidParams.Len() > 0 {
19168		return invalidParams
19169	}
19170	return nil
19171}
19172
19173// SetKey sets the Key field's value.
19174func (s *Tag) SetKey(v string) *Tag {
19175	s.Key = &v
19176	return s
19177}
19178
19179// SetValue sets the Value field's value.
19180func (s *Tag) SetValue(v string) *Tag {
19181	s.Value = &v
19182	return s
19183}
19184
19185// Information about a TagOption.
19186type TagOptionDetail struct {
19187	_ struct{} `type:"structure"`
19188
19189	// The TagOption active state.
19190	Active *bool `type:"boolean"`
19191
19192	// The TagOption identifier.
19193	Id *string `min:"1" type:"string"`
19194
19195	// The TagOption key.
19196	Key *string `min:"1" type:"string"`
19197
19198	// The TagOption value.
19199	Value *string `min:"1" type:"string"`
19200}
19201
19202// String returns the string representation
19203func (s TagOptionDetail) String() string {
19204	return awsutil.Prettify(s)
19205}
19206
19207// GoString returns the string representation
19208func (s TagOptionDetail) GoString() string {
19209	return s.String()
19210}
19211
19212// SetActive sets the Active field's value.
19213func (s *TagOptionDetail) SetActive(v bool) *TagOptionDetail {
19214	s.Active = &v
19215	return s
19216}
19217
19218// SetId sets the Id field's value.
19219func (s *TagOptionDetail) SetId(v string) *TagOptionDetail {
19220	s.Id = &v
19221	return s
19222}
19223
19224// SetKey sets the Key field's value.
19225func (s *TagOptionDetail) SetKey(v string) *TagOptionDetail {
19226	s.Key = &v
19227	return s
19228}
19229
19230// SetValue sets the Value field's value.
19231func (s *TagOptionDetail) SetValue(v string) *TagOptionDetail {
19232	s.Value = &v
19233	return s
19234}
19235
19236// An operation requiring TagOptions failed because the TagOptions migration
19237// process has not been performed for this account. Please use the AWS console
19238// to perform the migration process before retrying the operation.
19239type TagOptionNotMigratedException struct {
19240	_            struct{}                  `type:"structure"`
19241	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
19242
19243	Message_ *string `locationName:"message" type:"string"`
19244}
19245
19246// String returns the string representation
19247func (s TagOptionNotMigratedException) String() string {
19248	return awsutil.Prettify(s)
19249}
19250
19251// GoString returns the string representation
19252func (s TagOptionNotMigratedException) GoString() string {
19253	return s.String()
19254}
19255
19256func newErrorTagOptionNotMigratedException(v protocol.ResponseMetadata) error {
19257	return &TagOptionNotMigratedException{
19258		RespMetadata: v,
19259	}
19260}
19261
19262// Code returns the exception type name.
19263func (s *TagOptionNotMigratedException) Code() string {
19264	return "TagOptionNotMigratedException"
19265}
19266
19267// Message returns the exception's message.
19268func (s *TagOptionNotMigratedException) Message() string {
19269	if s.Message_ != nil {
19270		return *s.Message_
19271	}
19272	return ""
19273}
19274
19275// OrigErr always returns nil, satisfies awserr.Error interface.
19276func (s *TagOptionNotMigratedException) OrigErr() error {
19277	return nil
19278}
19279
19280func (s *TagOptionNotMigratedException) Error() string {
19281	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
19282}
19283
19284// Status code returns the HTTP status code for the request's response error.
19285func (s *TagOptionNotMigratedException) StatusCode() int {
19286	return s.RespMetadata.StatusCode
19287}
19288
19289// RequestID returns the service's response RequestID for request.
19290func (s *TagOptionNotMigratedException) RequestID() string {
19291	return s.RespMetadata.RequestID
19292}
19293
19294// Summary information about a TagOption.
19295type TagOptionSummary struct {
19296	_ struct{} `type:"structure"`
19297
19298	// The TagOption key.
19299	Key *string `min:"1" type:"string"`
19300
19301	// The TagOption value.
19302	Values []*string `type:"list"`
19303}
19304
19305// String returns the string representation
19306func (s TagOptionSummary) String() string {
19307	return awsutil.Prettify(s)
19308}
19309
19310// GoString returns the string representation
19311func (s TagOptionSummary) GoString() string {
19312	return s.String()
19313}
19314
19315// SetKey sets the Key field's value.
19316func (s *TagOptionSummary) SetKey(v string) *TagOptionSummary {
19317	s.Key = &v
19318	return s
19319}
19320
19321// SetValues sets the Values field's value.
19322func (s *TagOptionSummary) SetValues(v []*string) *TagOptionSummary {
19323	s.Values = v
19324	return s
19325}
19326
19327type TerminateProvisionedProductInput struct {
19328	_ struct{} `type:"structure"`
19329
19330	// The language code.
19331	//
19332	//    * en - English (default)
19333	//
19334	//    * jp - Japanese
19335	//
19336	//    * zh - Chinese
19337	AcceptLanguage *string `type:"string"`
19338
19339	// If set to true, AWS Service Catalog stops managing the specified provisioned
19340	// product even if it cannot delete the underlying resources.
19341	IgnoreErrors *bool `type:"boolean"`
19342
19343	// The identifier of the provisioned product. You cannot specify both ProvisionedProductName
19344	// and ProvisionedProductId.
19345	ProvisionedProductId *string `min:"1" type:"string"`
19346
19347	// The name of the provisioned product. You cannot specify both ProvisionedProductName
19348	// and ProvisionedProductId.
19349	ProvisionedProductName *string `min:"1" type:"string"`
19350
19351	// An idempotency token that uniquely identifies the termination request. This
19352	// token is only valid during the termination process. After the provisioned
19353	// product is terminated, subsequent requests to terminate the same provisioned
19354	// product always return ResourceNotFound.
19355	TerminateToken *string `min:"1" type:"string" idempotencyToken:"true"`
19356}
19357
19358// String returns the string representation
19359func (s TerminateProvisionedProductInput) String() string {
19360	return awsutil.Prettify(s)
19361}
19362
19363// GoString returns the string representation
19364func (s TerminateProvisionedProductInput) GoString() string {
19365	return s.String()
19366}
19367
19368// Validate inspects the fields of the type to determine if they are valid.
19369func (s *TerminateProvisionedProductInput) Validate() error {
19370	invalidParams := request.ErrInvalidParams{Context: "TerminateProvisionedProductInput"}
19371	if s.ProvisionedProductId != nil && len(*s.ProvisionedProductId) < 1 {
19372		invalidParams.Add(request.NewErrParamMinLen("ProvisionedProductId", 1))
19373	}
19374	if s.ProvisionedProductName != nil && len(*s.ProvisionedProductName) < 1 {
19375		invalidParams.Add(request.NewErrParamMinLen("ProvisionedProductName", 1))
19376	}
19377	if s.TerminateToken != nil && len(*s.TerminateToken) < 1 {
19378		invalidParams.Add(request.NewErrParamMinLen("TerminateToken", 1))
19379	}
19380
19381	if invalidParams.Len() > 0 {
19382		return invalidParams
19383	}
19384	return nil
19385}
19386
19387// SetAcceptLanguage sets the AcceptLanguage field's value.
19388func (s *TerminateProvisionedProductInput) SetAcceptLanguage(v string) *TerminateProvisionedProductInput {
19389	s.AcceptLanguage = &v
19390	return s
19391}
19392
19393// SetIgnoreErrors sets the IgnoreErrors field's value.
19394func (s *TerminateProvisionedProductInput) SetIgnoreErrors(v bool) *TerminateProvisionedProductInput {
19395	s.IgnoreErrors = &v
19396	return s
19397}
19398
19399// SetProvisionedProductId sets the ProvisionedProductId field's value.
19400func (s *TerminateProvisionedProductInput) SetProvisionedProductId(v string) *TerminateProvisionedProductInput {
19401	s.ProvisionedProductId = &v
19402	return s
19403}
19404
19405// SetProvisionedProductName sets the ProvisionedProductName field's value.
19406func (s *TerminateProvisionedProductInput) SetProvisionedProductName(v string) *TerminateProvisionedProductInput {
19407	s.ProvisionedProductName = &v
19408	return s
19409}
19410
19411// SetTerminateToken sets the TerminateToken field's value.
19412func (s *TerminateProvisionedProductInput) SetTerminateToken(v string) *TerminateProvisionedProductInput {
19413	s.TerminateToken = &v
19414	return s
19415}
19416
19417type TerminateProvisionedProductOutput struct {
19418	_ struct{} `type:"structure"`
19419
19420	// Information about the result of this request.
19421	RecordDetail *RecordDetail `type:"structure"`
19422}
19423
19424// String returns the string representation
19425func (s TerminateProvisionedProductOutput) String() string {
19426	return awsutil.Prettify(s)
19427}
19428
19429// GoString returns the string representation
19430func (s TerminateProvisionedProductOutput) GoString() string {
19431	return s.String()
19432}
19433
19434// SetRecordDetail sets the RecordDetail field's value.
19435func (s *TerminateProvisionedProductOutput) SetRecordDetail(v *RecordDetail) *TerminateProvisionedProductOutput {
19436	s.RecordDetail = v
19437	return s
19438}
19439
19440type UpdateConstraintInput struct {
19441	_ struct{} `type:"structure"`
19442
19443	// The language code.
19444	//
19445	//    * en - English (default)
19446	//
19447	//    * jp - Japanese
19448	//
19449	//    * zh - Chinese
19450	AcceptLanguage *string `type:"string"`
19451
19452	// The updated description of the constraint.
19453	Description *string `type:"string"`
19454
19455	// The identifier of the constraint.
19456	//
19457	// Id is a required field
19458	Id *string `min:"1" type:"string" required:"true"`
19459
19460	// The constraint parameters, in JSON format. The syntax depends on the constraint
19461	// type as follows:
19462	//
19463	// LAUNCH
19464	//
19465	// You are required to specify either the RoleArn or the LocalRoleName but can't
19466	// use both.
19467	//
19468	// Specify the RoleArn property as follows:
19469	//
19470	// {"RoleArn" : "arn:aws:iam::123456789012:role/LaunchRole"}
19471	//
19472	// Specify the LocalRoleName property as follows:
19473	//
19474	// {"LocalRoleName": "SCBasicLaunchRole"}
19475	//
19476	// If you specify the LocalRoleName property, when an account uses the launch
19477	// constraint, the IAM role with that name in the account will be used. This
19478	// allows launch-role constraints to be account-agnostic so the administrator
19479	// can create fewer resources per shared account.
19480	//
19481	// The given role name must exist in the account used to create the launch constraint
19482	// and the account of the user who launches a product with this launch constraint.
19483	//
19484	// You cannot have both a LAUNCH and a STACKSET constraint.
19485	//
19486	// You also cannot have more than one LAUNCH constraint on a product and portfolio.
19487	//
19488	// NOTIFICATION
19489	//
19490	// Specify the NotificationArns property as follows:
19491	//
19492	// {"NotificationArns" : ["arn:aws:sns:us-east-1:123456789012:Topic"]}
19493	//
19494	// RESOURCE_UPDATE
19495	//
19496	// Specify the TagUpdatesOnProvisionedProduct property as follows:
19497	//
19498	// {"Version":"2.0","Properties":{"TagUpdateOnProvisionedProduct":"String"}}
19499	//
19500	// The TagUpdatesOnProvisionedProduct property accepts a string value of ALLOWED
19501	// or NOT_ALLOWED.
19502	//
19503	// STACKSET
19504	//
19505	// Specify the Parameters property as follows:
19506	//
19507	// {"Version": "String", "Properties": {"AccountList": [ "String" ], "RegionList":
19508	// [ "String" ], "AdminRole": "String", "ExecutionRole": "String"}}
19509	//
19510	// You cannot have both a LAUNCH and a STACKSET constraint.
19511	//
19512	// You also cannot have more than one STACKSET constraint on a product and portfolio.
19513	//
19514	// Products with a STACKSET constraint will launch an AWS CloudFormation stack
19515	// set.
19516	//
19517	// TEMPLATE
19518	//
19519	// Specify the Rules property. For more information, see Template Constraint
19520	// Rules (http://docs.aws.amazon.com/servicecatalog/latest/adminguide/reference-template_constraint_rules.html).
19521	Parameters *string `type:"string"`
19522}
19523
19524// String returns the string representation
19525func (s UpdateConstraintInput) String() string {
19526	return awsutil.Prettify(s)
19527}
19528
19529// GoString returns the string representation
19530func (s UpdateConstraintInput) GoString() string {
19531	return s.String()
19532}
19533
19534// Validate inspects the fields of the type to determine if they are valid.
19535func (s *UpdateConstraintInput) Validate() error {
19536	invalidParams := request.ErrInvalidParams{Context: "UpdateConstraintInput"}
19537	if s.Id == nil {
19538		invalidParams.Add(request.NewErrParamRequired("Id"))
19539	}
19540	if s.Id != nil && len(*s.Id) < 1 {
19541		invalidParams.Add(request.NewErrParamMinLen("Id", 1))
19542	}
19543
19544	if invalidParams.Len() > 0 {
19545		return invalidParams
19546	}
19547	return nil
19548}
19549
19550// SetAcceptLanguage sets the AcceptLanguage field's value.
19551func (s *UpdateConstraintInput) SetAcceptLanguage(v string) *UpdateConstraintInput {
19552	s.AcceptLanguage = &v
19553	return s
19554}
19555
19556// SetDescription sets the Description field's value.
19557func (s *UpdateConstraintInput) SetDescription(v string) *UpdateConstraintInput {
19558	s.Description = &v
19559	return s
19560}
19561
19562// SetId sets the Id field's value.
19563func (s *UpdateConstraintInput) SetId(v string) *UpdateConstraintInput {
19564	s.Id = &v
19565	return s
19566}
19567
19568// SetParameters sets the Parameters field's value.
19569func (s *UpdateConstraintInput) SetParameters(v string) *UpdateConstraintInput {
19570	s.Parameters = &v
19571	return s
19572}
19573
19574type UpdateConstraintOutput struct {
19575	_ struct{} `type:"structure"`
19576
19577	// Information about the constraint.
19578	ConstraintDetail *ConstraintDetail `type:"structure"`
19579
19580	// The constraint parameters.
19581	ConstraintParameters *string `type:"string"`
19582
19583	// The status of the current request.
19584	Status *string `type:"string" enum:"Status"`
19585}
19586
19587// String returns the string representation
19588func (s UpdateConstraintOutput) String() string {
19589	return awsutil.Prettify(s)
19590}
19591
19592// GoString returns the string representation
19593func (s UpdateConstraintOutput) GoString() string {
19594	return s.String()
19595}
19596
19597// SetConstraintDetail sets the ConstraintDetail field's value.
19598func (s *UpdateConstraintOutput) SetConstraintDetail(v *ConstraintDetail) *UpdateConstraintOutput {
19599	s.ConstraintDetail = v
19600	return s
19601}
19602
19603// SetConstraintParameters sets the ConstraintParameters field's value.
19604func (s *UpdateConstraintOutput) SetConstraintParameters(v string) *UpdateConstraintOutput {
19605	s.ConstraintParameters = &v
19606	return s
19607}
19608
19609// SetStatus sets the Status field's value.
19610func (s *UpdateConstraintOutput) SetStatus(v string) *UpdateConstraintOutput {
19611	s.Status = &v
19612	return s
19613}
19614
19615type UpdatePortfolioInput struct {
19616	_ struct{} `type:"structure"`
19617
19618	// The language code.
19619	//
19620	//    * en - English (default)
19621	//
19622	//    * jp - Japanese
19623	//
19624	//    * zh - Chinese
19625	AcceptLanguage *string `type:"string"`
19626
19627	// The tags to add.
19628	AddTags []*Tag `type:"list"`
19629
19630	// The updated description of the portfolio.
19631	Description *string `type:"string"`
19632
19633	// The name to use for display purposes.
19634	DisplayName *string `min:"1" type:"string"`
19635
19636	// The portfolio identifier.
19637	//
19638	// Id is a required field
19639	Id *string `min:"1" type:"string" required:"true"`
19640
19641	// The updated name of the portfolio provider.
19642	ProviderName *string `min:"1" type:"string"`
19643
19644	// The tags to remove.
19645	RemoveTags []*string `type:"list"`
19646}
19647
19648// String returns the string representation
19649func (s UpdatePortfolioInput) String() string {
19650	return awsutil.Prettify(s)
19651}
19652
19653// GoString returns the string representation
19654func (s UpdatePortfolioInput) GoString() string {
19655	return s.String()
19656}
19657
19658// Validate inspects the fields of the type to determine if they are valid.
19659func (s *UpdatePortfolioInput) Validate() error {
19660	invalidParams := request.ErrInvalidParams{Context: "UpdatePortfolioInput"}
19661	if s.DisplayName != nil && len(*s.DisplayName) < 1 {
19662		invalidParams.Add(request.NewErrParamMinLen("DisplayName", 1))
19663	}
19664	if s.Id == nil {
19665		invalidParams.Add(request.NewErrParamRequired("Id"))
19666	}
19667	if s.Id != nil && len(*s.Id) < 1 {
19668		invalidParams.Add(request.NewErrParamMinLen("Id", 1))
19669	}
19670	if s.ProviderName != nil && len(*s.ProviderName) < 1 {
19671		invalidParams.Add(request.NewErrParamMinLen("ProviderName", 1))
19672	}
19673	if s.AddTags != nil {
19674		for i, v := range s.AddTags {
19675			if v == nil {
19676				continue
19677			}
19678			if err := v.Validate(); err != nil {
19679				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "AddTags", i), err.(request.ErrInvalidParams))
19680			}
19681		}
19682	}
19683
19684	if invalidParams.Len() > 0 {
19685		return invalidParams
19686	}
19687	return nil
19688}
19689
19690// SetAcceptLanguage sets the AcceptLanguage field's value.
19691func (s *UpdatePortfolioInput) SetAcceptLanguage(v string) *UpdatePortfolioInput {
19692	s.AcceptLanguage = &v
19693	return s
19694}
19695
19696// SetAddTags sets the AddTags field's value.
19697func (s *UpdatePortfolioInput) SetAddTags(v []*Tag) *UpdatePortfolioInput {
19698	s.AddTags = v
19699	return s
19700}
19701
19702// SetDescription sets the Description field's value.
19703func (s *UpdatePortfolioInput) SetDescription(v string) *UpdatePortfolioInput {
19704	s.Description = &v
19705	return s
19706}
19707
19708// SetDisplayName sets the DisplayName field's value.
19709func (s *UpdatePortfolioInput) SetDisplayName(v string) *UpdatePortfolioInput {
19710	s.DisplayName = &v
19711	return s
19712}
19713
19714// SetId sets the Id field's value.
19715func (s *UpdatePortfolioInput) SetId(v string) *UpdatePortfolioInput {
19716	s.Id = &v
19717	return s
19718}
19719
19720// SetProviderName sets the ProviderName field's value.
19721func (s *UpdatePortfolioInput) SetProviderName(v string) *UpdatePortfolioInput {
19722	s.ProviderName = &v
19723	return s
19724}
19725
19726// SetRemoveTags sets the RemoveTags field's value.
19727func (s *UpdatePortfolioInput) SetRemoveTags(v []*string) *UpdatePortfolioInput {
19728	s.RemoveTags = v
19729	return s
19730}
19731
19732type UpdatePortfolioOutput struct {
19733	_ struct{} `type:"structure"`
19734
19735	// Information about the portfolio.
19736	PortfolioDetail *PortfolioDetail `type:"structure"`
19737
19738	// Information about the tags associated with the portfolio.
19739	Tags []*Tag `type:"list"`
19740}
19741
19742// String returns the string representation
19743func (s UpdatePortfolioOutput) String() string {
19744	return awsutil.Prettify(s)
19745}
19746
19747// GoString returns the string representation
19748func (s UpdatePortfolioOutput) GoString() string {
19749	return s.String()
19750}
19751
19752// SetPortfolioDetail sets the PortfolioDetail field's value.
19753func (s *UpdatePortfolioOutput) SetPortfolioDetail(v *PortfolioDetail) *UpdatePortfolioOutput {
19754	s.PortfolioDetail = v
19755	return s
19756}
19757
19758// SetTags sets the Tags field's value.
19759func (s *UpdatePortfolioOutput) SetTags(v []*Tag) *UpdatePortfolioOutput {
19760	s.Tags = v
19761	return s
19762}
19763
19764type UpdateProductInput struct {
19765	_ struct{} `type:"structure"`
19766
19767	// The language code.
19768	//
19769	//    * en - English (default)
19770	//
19771	//    * jp - Japanese
19772	//
19773	//    * zh - Chinese
19774	AcceptLanguage *string `type:"string"`
19775
19776	// The tags to add to the product.
19777	AddTags []*Tag `type:"list"`
19778
19779	// The updated description of the product.
19780	Description *string `type:"string"`
19781
19782	// The updated distributor of the product.
19783	Distributor *string `type:"string"`
19784
19785	// The product identifier.
19786	//
19787	// Id is a required field
19788	Id *string `min:"1" type:"string" required:"true"`
19789
19790	// The updated product name.
19791	Name *string `type:"string"`
19792
19793	// The updated owner of the product.
19794	Owner *string `type:"string"`
19795
19796	// The tags to remove from the product.
19797	RemoveTags []*string `type:"list"`
19798
19799	// The updated support description for the product.
19800	SupportDescription *string `type:"string"`
19801
19802	// The updated support email for the product.
19803	SupportEmail *string `type:"string"`
19804
19805	// The updated support URL for the product.
19806	SupportUrl *string `type:"string"`
19807}
19808
19809// String returns the string representation
19810func (s UpdateProductInput) String() string {
19811	return awsutil.Prettify(s)
19812}
19813
19814// GoString returns the string representation
19815func (s UpdateProductInput) GoString() string {
19816	return s.String()
19817}
19818
19819// Validate inspects the fields of the type to determine if they are valid.
19820func (s *UpdateProductInput) Validate() error {
19821	invalidParams := request.ErrInvalidParams{Context: "UpdateProductInput"}
19822	if s.Id == nil {
19823		invalidParams.Add(request.NewErrParamRequired("Id"))
19824	}
19825	if s.Id != nil && len(*s.Id) < 1 {
19826		invalidParams.Add(request.NewErrParamMinLen("Id", 1))
19827	}
19828	if s.AddTags != nil {
19829		for i, v := range s.AddTags {
19830			if v == nil {
19831				continue
19832			}
19833			if err := v.Validate(); err != nil {
19834				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "AddTags", i), err.(request.ErrInvalidParams))
19835			}
19836		}
19837	}
19838
19839	if invalidParams.Len() > 0 {
19840		return invalidParams
19841	}
19842	return nil
19843}
19844
19845// SetAcceptLanguage sets the AcceptLanguage field's value.
19846func (s *UpdateProductInput) SetAcceptLanguage(v string) *UpdateProductInput {
19847	s.AcceptLanguage = &v
19848	return s
19849}
19850
19851// SetAddTags sets the AddTags field's value.
19852func (s *UpdateProductInput) SetAddTags(v []*Tag) *UpdateProductInput {
19853	s.AddTags = v
19854	return s
19855}
19856
19857// SetDescription sets the Description field's value.
19858func (s *UpdateProductInput) SetDescription(v string) *UpdateProductInput {
19859	s.Description = &v
19860	return s
19861}
19862
19863// SetDistributor sets the Distributor field's value.
19864func (s *UpdateProductInput) SetDistributor(v string) *UpdateProductInput {
19865	s.Distributor = &v
19866	return s
19867}
19868
19869// SetId sets the Id field's value.
19870func (s *UpdateProductInput) SetId(v string) *UpdateProductInput {
19871	s.Id = &v
19872	return s
19873}
19874
19875// SetName sets the Name field's value.
19876func (s *UpdateProductInput) SetName(v string) *UpdateProductInput {
19877	s.Name = &v
19878	return s
19879}
19880
19881// SetOwner sets the Owner field's value.
19882func (s *UpdateProductInput) SetOwner(v string) *UpdateProductInput {
19883	s.Owner = &v
19884	return s
19885}
19886
19887// SetRemoveTags sets the RemoveTags field's value.
19888func (s *UpdateProductInput) SetRemoveTags(v []*string) *UpdateProductInput {
19889	s.RemoveTags = v
19890	return s
19891}
19892
19893// SetSupportDescription sets the SupportDescription field's value.
19894func (s *UpdateProductInput) SetSupportDescription(v string) *UpdateProductInput {
19895	s.SupportDescription = &v
19896	return s
19897}
19898
19899// SetSupportEmail sets the SupportEmail field's value.
19900func (s *UpdateProductInput) SetSupportEmail(v string) *UpdateProductInput {
19901	s.SupportEmail = &v
19902	return s
19903}
19904
19905// SetSupportUrl sets the SupportUrl field's value.
19906func (s *UpdateProductInput) SetSupportUrl(v string) *UpdateProductInput {
19907	s.SupportUrl = &v
19908	return s
19909}
19910
19911type UpdateProductOutput struct {
19912	_ struct{} `type:"structure"`
19913
19914	// Information about the product view.
19915	ProductViewDetail *ProductViewDetail `type:"structure"`
19916
19917	// Information about the tags associated with the product.
19918	Tags []*Tag `type:"list"`
19919}
19920
19921// String returns the string representation
19922func (s UpdateProductOutput) String() string {
19923	return awsutil.Prettify(s)
19924}
19925
19926// GoString returns the string representation
19927func (s UpdateProductOutput) GoString() string {
19928	return s.String()
19929}
19930
19931// SetProductViewDetail sets the ProductViewDetail field's value.
19932func (s *UpdateProductOutput) SetProductViewDetail(v *ProductViewDetail) *UpdateProductOutput {
19933	s.ProductViewDetail = v
19934	return s
19935}
19936
19937// SetTags sets the Tags field's value.
19938func (s *UpdateProductOutput) SetTags(v []*Tag) *UpdateProductOutput {
19939	s.Tags = v
19940	return s
19941}
19942
19943type UpdateProvisionedProductInput struct {
19944	_ struct{} `type:"structure"`
19945
19946	// The language code.
19947	//
19948	//    * en - English (default)
19949	//
19950	//    * jp - Japanese
19951	//
19952	//    * zh - Chinese
19953	AcceptLanguage *string `type:"string"`
19954
19955	// The new path identifier. This value is optional if the product has a default
19956	// path, and required if the product has more than one path.
19957	PathId *string `min:"1" type:"string"`
19958
19959	// The identifier of the product.
19960	ProductId *string `min:"1" type:"string"`
19961
19962	// The identifier of the provisioned product. You cannot specify both ProvisionedProductName
19963	// and ProvisionedProductId.
19964	ProvisionedProductId *string `min:"1" type:"string"`
19965
19966	// The name of the provisioned product. You cannot specify both ProvisionedProductName
19967	// and ProvisionedProductId.
19968	ProvisionedProductName *string `min:"1" type:"string"`
19969
19970	// The identifier of the provisioning artifact.
19971	ProvisioningArtifactId *string `min:"1" type:"string"`
19972
19973	// The new parameters.
19974	ProvisioningParameters []*UpdateProvisioningParameter `type:"list"`
19975
19976	// An object that contains information about the provisioning preferences for
19977	// a stack set.
19978	ProvisioningPreferences *UpdateProvisioningPreferences `type:"structure"`
19979
19980	// One or more tags. Requires the product to have RESOURCE_UPDATE constraint
19981	// with TagUpdatesOnProvisionedProduct set to ALLOWED to allow tag updates.
19982	Tags []*Tag `type:"list"`
19983
19984	// The idempotency token that uniquely identifies the provisioning update request.
19985	UpdateToken *string `min:"1" type:"string" idempotencyToken:"true"`
19986}
19987
19988// String returns the string representation
19989func (s UpdateProvisionedProductInput) String() string {
19990	return awsutil.Prettify(s)
19991}
19992
19993// GoString returns the string representation
19994func (s UpdateProvisionedProductInput) GoString() string {
19995	return s.String()
19996}
19997
19998// Validate inspects the fields of the type to determine if they are valid.
19999func (s *UpdateProvisionedProductInput) Validate() error {
20000	invalidParams := request.ErrInvalidParams{Context: "UpdateProvisionedProductInput"}
20001	if s.PathId != nil && len(*s.PathId) < 1 {
20002		invalidParams.Add(request.NewErrParamMinLen("PathId", 1))
20003	}
20004	if s.ProductId != nil && len(*s.ProductId) < 1 {
20005		invalidParams.Add(request.NewErrParamMinLen("ProductId", 1))
20006	}
20007	if s.ProvisionedProductId != nil && len(*s.ProvisionedProductId) < 1 {
20008		invalidParams.Add(request.NewErrParamMinLen("ProvisionedProductId", 1))
20009	}
20010	if s.ProvisionedProductName != nil && len(*s.ProvisionedProductName) < 1 {
20011		invalidParams.Add(request.NewErrParamMinLen("ProvisionedProductName", 1))
20012	}
20013	if s.ProvisioningArtifactId != nil && len(*s.ProvisioningArtifactId) < 1 {
20014		invalidParams.Add(request.NewErrParamMinLen("ProvisioningArtifactId", 1))
20015	}
20016	if s.UpdateToken != nil && len(*s.UpdateToken) < 1 {
20017		invalidParams.Add(request.NewErrParamMinLen("UpdateToken", 1))
20018	}
20019	if s.ProvisioningParameters != nil {
20020		for i, v := range s.ProvisioningParameters {
20021			if v == nil {
20022				continue
20023			}
20024			if err := v.Validate(); err != nil {
20025				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "ProvisioningParameters", i), err.(request.ErrInvalidParams))
20026			}
20027		}
20028	}
20029	if s.ProvisioningPreferences != nil {
20030		if err := s.ProvisioningPreferences.Validate(); err != nil {
20031			invalidParams.AddNested("ProvisioningPreferences", err.(request.ErrInvalidParams))
20032		}
20033	}
20034	if s.Tags != nil {
20035		for i, v := range s.Tags {
20036			if v == nil {
20037				continue
20038			}
20039			if err := v.Validate(); err != nil {
20040				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams))
20041			}
20042		}
20043	}
20044
20045	if invalidParams.Len() > 0 {
20046		return invalidParams
20047	}
20048	return nil
20049}
20050
20051// SetAcceptLanguage sets the AcceptLanguage field's value.
20052func (s *UpdateProvisionedProductInput) SetAcceptLanguage(v string) *UpdateProvisionedProductInput {
20053	s.AcceptLanguage = &v
20054	return s
20055}
20056
20057// SetPathId sets the PathId field's value.
20058func (s *UpdateProvisionedProductInput) SetPathId(v string) *UpdateProvisionedProductInput {
20059	s.PathId = &v
20060	return s
20061}
20062
20063// SetProductId sets the ProductId field's value.
20064func (s *UpdateProvisionedProductInput) SetProductId(v string) *UpdateProvisionedProductInput {
20065	s.ProductId = &v
20066	return s
20067}
20068
20069// SetProvisionedProductId sets the ProvisionedProductId field's value.
20070func (s *UpdateProvisionedProductInput) SetProvisionedProductId(v string) *UpdateProvisionedProductInput {
20071	s.ProvisionedProductId = &v
20072	return s
20073}
20074
20075// SetProvisionedProductName sets the ProvisionedProductName field's value.
20076func (s *UpdateProvisionedProductInput) SetProvisionedProductName(v string) *UpdateProvisionedProductInput {
20077	s.ProvisionedProductName = &v
20078	return s
20079}
20080
20081// SetProvisioningArtifactId sets the ProvisioningArtifactId field's value.
20082func (s *UpdateProvisionedProductInput) SetProvisioningArtifactId(v string) *UpdateProvisionedProductInput {
20083	s.ProvisioningArtifactId = &v
20084	return s
20085}
20086
20087// SetProvisioningParameters sets the ProvisioningParameters field's value.
20088func (s *UpdateProvisionedProductInput) SetProvisioningParameters(v []*UpdateProvisioningParameter) *UpdateProvisionedProductInput {
20089	s.ProvisioningParameters = v
20090	return s
20091}
20092
20093// SetProvisioningPreferences sets the ProvisioningPreferences field's value.
20094func (s *UpdateProvisionedProductInput) SetProvisioningPreferences(v *UpdateProvisioningPreferences) *UpdateProvisionedProductInput {
20095	s.ProvisioningPreferences = v
20096	return s
20097}
20098
20099// SetTags sets the Tags field's value.
20100func (s *UpdateProvisionedProductInput) SetTags(v []*Tag) *UpdateProvisionedProductInput {
20101	s.Tags = v
20102	return s
20103}
20104
20105// SetUpdateToken sets the UpdateToken field's value.
20106func (s *UpdateProvisionedProductInput) SetUpdateToken(v string) *UpdateProvisionedProductInput {
20107	s.UpdateToken = &v
20108	return s
20109}
20110
20111type UpdateProvisionedProductOutput struct {
20112	_ struct{} `type:"structure"`
20113
20114	// Information about the result of the request.
20115	RecordDetail *RecordDetail `type:"structure"`
20116}
20117
20118// String returns the string representation
20119func (s UpdateProvisionedProductOutput) String() string {
20120	return awsutil.Prettify(s)
20121}
20122
20123// GoString returns the string representation
20124func (s UpdateProvisionedProductOutput) GoString() string {
20125	return s.String()
20126}
20127
20128// SetRecordDetail sets the RecordDetail field's value.
20129func (s *UpdateProvisionedProductOutput) SetRecordDetail(v *RecordDetail) *UpdateProvisionedProductOutput {
20130	s.RecordDetail = v
20131	return s
20132}
20133
20134type UpdateProvisionedProductPropertiesInput struct {
20135	_ struct{} `type:"structure"`
20136
20137	// The language code.
20138	//
20139	//    * en - English (default)
20140	//
20141	//    * jp - Japanese
20142	//
20143	//    * zh - Chinese
20144	AcceptLanguage *string `type:"string"`
20145
20146	// The idempotency token that uniquely identifies the provisioning product update
20147	// request.
20148	IdempotencyToken *string `min:"1" type:"string" idempotencyToken:"true"`
20149
20150	// The identifier of the provisioned product.
20151	//
20152	// ProvisionedProductId is a required field
20153	ProvisionedProductId *string `min:"1" type:"string" required:"true"`
20154
20155	// A map that contains the provisioned product properties to be updated.
20156	//
20157	// The OWNER key accepts user ARNs and role ARNs. The owner is the user that
20158	// is allowed to see, update, terminate, and execute service actions in the
20159	// provisioned product.
20160	//
20161	// The administrator can change the owner of a provisioned product to another
20162	// IAM user within the same account. Both end user owners and administrators
20163	// can see ownership history of the provisioned product using the ListRecordHistory
20164	// API. The new owner can describe all past records for the provisioned product
20165	// using the DescribeRecord API. The previous owner can no longer use DescribeRecord,
20166	// but can still see the product's history from when he was an owner using ListRecordHistory.
20167	//
20168	// If a provisioned product ownership is assigned to an end user, they can see
20169	// and perform any action through the API or Service Catalog console such as
20170	// update, terminate, and execute service actions. If an end user provisions
20171	// a product and the owner is updated to someone else, they will no longer be
20172	// able to see or perform any actions through API or the Service Catalog console
20173	// on that provisioned product.
20174	//
20175	// ProvisionedProductProperties is a required field
20176	ProvisionedProductProperties map[string]*string `min:"1" type:"map" required:"true"`
20177}
20178
20179// String returns the string representation
20180func (s UpdateProvisionedProductPropertiesInput) String() string {
20181	return awsutil.Prettify(s)
20182}
20183
20184// GoString returns the string representation
20185func (s UpdateProvisionedProductPropertiesInput) GoString() string {
20186	return s.String()
20187}
20188
20189// Validate inspects the fields of the type to determine if they are valid.
20190func (s *UpdateProvisionedProductPropertiesInput) Validate() error {
20191	invalidParams := request.ErrInvalidParams{Context: "UpdateProvisionedProductPropertiesInput"}
20192	if s.IdempotencyToken != nil && len(*s.IdempotencyToken) < 1 {
20193		invalidParams.Add(request.NewErrParamMinLen("IdempotencyToken", 1))
20194	}
20195	if s.ProvisionedProductId == nil {
20196		invalidParams.Add(request.NewErrParamRequired("ProvisionedProductId"))
20197	}
20198	if s.ProvisionedProductId != nil && len(*s.ProvisionedProductId) < 1 {
20199		invalidParams.Add(request.NewErrParamMinLen("ProvisionedProductId", 1))
20200	}
20201	if s.ProvisionedProductProperties == nil {
20202		invalidParams.Add(request.NewErrParamRequired("ProvisionedProductProperties"))
20203	}
20204	if s.ProvisionedProductProperties != nil && len(s.ProvisionedProductProperties) < 1 {
20205		invalidParams.Add(request.NewErrParamMinLen("ProvisionedProductProperties", 1))
20206	}
20207
20208	if invalidParams.Len() > 0 {
20209		return invalidParams
20210	}
20211	return nil
20212}
20213
20214// SetAcceptLanguage sets the AcceptLanguage field's value.
20215func (s *UpdateProvisionedProductPropertiesInput) SetAcceptLanguage(v string) *UpdateProvisionedProductPropertiesInput {
20216	s.AcceptLanguage = &v
20217	return s
20218}
20219
20220// SetIdempotencyToken sets the IdempotencyToken field's value.
20221func (s *UpdateProvisionedProductPropertiesInput) SetIdempotencyToken(v string) *UpdateProvisionedProductPropertiesInput {
20222	s.IdempotencyToken = &v
20223	return s
20224}
20225
20226// SetProvisionedProductId sets the ProvisionedProductId field's value.
20227func (s *UpdateProvisionedProductPropertiesInput) SetProvisionedProductId(v string) *UpdateProvisionedProductPropertiesInput {
20228	s.ProvisionedProductId = &v
20229	return s
20230}
20231
20232// SetProvisionedProductProperties sets the ProvisionedProductProperties field's value.
20233func (s *UpdateProvisionedProductPropertiesInput) SetProvisionedProductProperties(v map[string]*string) *UpdateProvisionedProductPropertiesInput {
20234	s.ProvisionedProductProperties = v
20235	return s
20236}
20237
20238type UpdateProvisionedProductPropertiesOutput struct {
20239	_ struct{} `type:"structure"`
20240
20241	// The provisioned product identifier.
20242	ProvisionedProductId *string `min:"1" type:"string"`
20243
20244	// A map that contains the properties updated.
20245	ProvisionedProductProperties map[string]*string `min:"1" type:"map"`
20246
20247	// The identifier of the record.
20248	RecordId *string `min:"1" type:"string"`
20249
20250	// The status of the request.
20251	Status *string `type:"string" enum:"RecordStatus"`
20252}
20253
20254// String returns the string representation
20255func (s UpdateProvisionedProductPropertiesOutput) String() string {
20256	return awsutil.Prettify(s)
20257}
20258
20259// GoString returns the string representation
20260func (s UpdateProvisionedProductPropertiesOutput) GoString() string {
20261	return s.String()
20262}
20263
20264// SetProvisionedProductId sets the ProvisionedProductId field's value.
20265func (s *UpdateProvisionedProductPropertiesOutput) SetProvisionedProductId(v string) *UpdateProvisionedProductPropertiesOutput {
20266	s.ProvisionedProductId = &v
20267	return s
20268}
20269
20270// SetProvisionedProductProperties sets the ProvisionedProductProperties field's value.
20271func (s *UpdateProvisionedProductPropertiesOutput) SetProvisionedProductProperties(v map[string]*string) *UpdateProvisionedProductPropertiesOutput {
20272	s.ProvisionedProductProperties = v
20273	return s
20274}
20275
20276// SetRecordId sets the RecordId field's value.
20277func (s *UpdateProvisionedProductPropertiesOutput) SetRecordId(v string) *UpdateProvisionedProductPropertiesOutput {
20278	s.RecordId = &v
20279	return s
20280}
20281
20282// SetStatus sets the Status field's value.
20283func (s *UpdateProvisionedProductPropertiesOutput) SetStatus(v string) *UpdateProvisionedProductPropertiesOutput {
20284	s.Status = &v
20285	return s
20286}
20287
20288type UpdateProvisioningArtifactInput struct {
20289	_ struct{} `type:"structure"`
20290
20291	// The language code.
20292	//
20293	//    * en - English (default)
20294	//
20295	//    * jp - Japanese
20296	//
20297	//    * zh - Chinese
20298	AcceptLanguage *string `type:"string"`
20299
20300	// Indicates whether the product version is active.
20301	//
20302	// Inactive provisioning artifacts are invisible to end users. End users cannot
20303	// launch or update a provisioned product from an inactive provisioning artifact.
20304	Active *bool `type:"boolean"`
20305
20306	// The updated description of the provisioning artifact.
20307	Description *string `type:"string"`
20308
20309	// Information set by the administrator to provide guidance to end users about
20310	// which provisioning artifacts to use.
20311	//
20312	// The DEFAULT value indicates that the product version is active.
20313	//
20314	// The administrator can set the guidance to DEPRECATED to inform users that
20315	// the product version is deprecated. Users are able to make updates to a provisioned
20316	// product of a deprecated version but cannot launch new provisioned products
20317	// using a deprecated version.
20318	Guidance *string `type:"string" enum:"ProvisioningArtifactGuidance"`
20319
20320	// The updated name of the provisioning artifact.
20321	Name *string `type:"string"`
20322
20323	// The product identifier.
20324	//
20325	// ProductId is a required field
20326	ProductId *string `min:"1" type:"string" required:"true"`
20327
20328	// The identifier of the provisioning artifact.
20329	//
20330	// ProvisioningArtifactId is a required field
20331	ProvisioningArtifactId *string `min:"1" type:"string" required:"true"`
20332}
20333
20334// String returns the string representation
20335func (s UpdateProvisioningArtifactInput) String() string {
20336	return awsutil.Prettify(s)
20337}
20338
20339// GoString returns the string representation
20340func (s UpdateProvisioningArtifactInput) GoString() string {
20341	return s.String()
20342}
20343
20344// Validate inspects the fields of the type to determine if they are valid.
20345func (s *UpdateProvisioningArtifactInput) Validate() error {
20346	invalidParams := request.ErrInvalidParams{Context: "UpdateProvisioningArtifactInput"}
20347	if s.ProductId == nil {
20348		invalidParams.Add(request.NewErrParamRequired("ProductId"))
20349	}
20350	if s.ProductId != nil && len(*s.ProductId) < 1 {
20351		invalidParams.Add(request.NewErrParamMinLen("ProductId", 1))
20352	}
20353	if s.ProvisioningArtifactId == nil {
20354		invalidParams.Add(request.NewErrParamRequired("ProvisioningArtifactId"))
20355	}
20356	if s.ProvisioningArtifactId != nil && len(*s.ProvisioningArtifactId) < 1 {
20357		invalidParams.Add(request.NewErrParamMinLen("ProvisioningArtifactId", 1))
20358	}
20359
20360	if invalidParams.Len() > 0 {
20361		return invalidParams
20362	}
20363	return nil
20364}
20365
20366// SetAcceptLanguage sets the AcceptLanguage field's value.
20367func (s *UpdateProvisioningArtifactInput) SetAcceptLanguage(v string) *UpdateProvisioningArtifactInput {
20368	s.AcceptLanguage = &v
20369	return s
20370}
20371
20372// SetActive sets the Active field's value.
20373func (s *UpdateProvisioningArtifactInput) SetActive(v bool) *UpdateProvisioningArtifactInput {
20374	s.Active = &v
20375	return s
20376}
20377
20378// SetDescription sets the Description field's value.
20379func (s *UpdateProvisioningArtifactInput) SetDescription(v string) *UpdateProvisioningArtifactInput {
20380	s.Description = &v
20381	return s
20382}
20383
20384// SetGuidance sets the Guidance field's value.
20385func (s *UpdateProvisioningArtifactInput) SetGuidance(v string) *UpdateProvisioningArtifactInput {
20386	s.Guidance = &v
20387	return s
20388}
20389
20390// SetName sets the Name field's value.
20391func (s *UpdateProvisioningArtifactInput) SetName(v string) *UpdateProvisioningArtifactInput {
20392	s.Name = &v
20393	return s
20394}
20395
20396// SetProductId sets the ProductId field's value.
20397func (s *UpdateProvisioningArtifactInput) SetProductId(v string) *UpdateProvisioningArtifactInput {
20398	s.ProductId = &v
20399	return s
20400}
20401
20402// SetProvisioningArtifactId sets the ProvisioningArtifactId field's value.
20403func (s *UpdateProvisioningArtifactInput) SetProvisioningArtifactId(v string) *UpdateProvisioningArtifactInput {
20404	s.ProvisioningArtifactId = &v
20405	return s
20406}
20407
20408type UpdateProvisioningArtifactOutput struct {
20409	_ struct{} `type:"structure"`
20410
20411	// The URL of the CloudFormation template in Amazon S3.
20412	Info map[string]*string `min:"1" type:"map"`
20413
20414	// Information about the provisioning artifact.
20415	ProvisioningArtifactDetail *ProvisioningArtifactDetail `type:"structure"`
20416
20417	// The status of the current request.
20418	Status *string `type:"string" enum:"Status"`
20419}
20420
20421// String returns the string representation
20422func (s UpdateProvisioningArtifactOutput) String() string {
20423	return awsutil.Prettify(s)
20424}
20425
20426// GoString returns the string representation
20427func (s UpdateProvisioningArtifactOutput) GoString() string {
20428	return s.String()
20429}
20430
20431// SetInfo sets the Info field's value.
20432func (s *UpdateProvisioningArtifactOutput) SetInfo(v map[string]*string) *UpdateProvisioningArtifactOutput {
20433	s.Info = v
20434	return s
20435}
20436
20437// SetProvisioningArtifactDetail sets the ProvisioningArtifactDetail field's value.
20438func (s *UpdateProvisioningArtifactOutput) SetProvisioningArtifactDetail(v *ProvisioningArtifactDetail) *UpdateProvisioningArtifactOutput {
20439	s.ProvisioningArtifactDetail = v
20440	return s
20441}
20442
20443// SetStatus sets the Status field's value.
20444func (s *UpdateProvisioningArtifactOutput) SetStatus(v string) *UpdateProvisioningArtifactOutput {
20445	s.Status = &v
20446	return s
20447}
20448
20449// The parameter key-value pair used to update a provisioned product.
20450type UpdateProvisioningParameter struct {
20451	_ struct{} `type:"structure"`
20452
20453	// The parameter key.
20454	Key *string `min:"1" type:"string"`
20455
20456	// If set to true, Value is ignored and the previous parameter value is kept.
20457	UsePreviousValue *bool `type:"boolean"`
20458
20459	// The parameter value.
20460	Value *string `type:"string"`
20461}
20462
20463// String returns the string representation
20464func (s UpdateProvisioningParameter) String() string {
20465	return awsutil.Prettify(s)
20466}
20467
20468// GoString returns the string representation
20469func (s UpdateProvisioningParameter) GoString() string {
20470	return s.String()
20471}
20472
20473// Validate inspects the fields of the type to determine if they are valid.
20474func (s *UpdateProvisioningParameter) Validate() error {
20475	invalidParams := request.ErrInvalidParams{Context: "UpdateProvisioningParameter"}
20476	if s.Key != nil && len(*s.Key) < 1 {
20477		invalidParams.Add(request.NewErrParamMinLen("Key", 1))
20478	}
20479
20480	if invalidParams.Len() > 0 {
20481		return invalidParams
20482	}
20483	return nil
20484}
20485
20486// SetKey sets the Key field's value.
20487func (s *UpdateProvisioningParameter) SetKey(v string) *UpdateProvisioningParameter {
20488	s.Key = &v
20489	return s
20490}
20491
20492// SetUsePreviousValue sets the UsePreviousValue field's value.
20493func (s *UpdateProvisioningParameter) SetUsePreviousValue(v bool) *UpdateProvisioningParameter {
20494	s.UsePreviousValue = &v
20495	return s
20496}
20497
20498// SetValue sets the Value field's value.
20499func (s *UpdateProvisioningParameter) SetValue(v string) *UpdateProvisioningParameter {
20500	s.Value = &v
20501	return s
20502}
20503
20504// The user-defined preferences that will be applied when updating a provisioned
20505// product. Not all preferences are applicable to all provisioned product types.
20506type UpdateProvisioningPreferences struct {
20507	_ struct{} `type:"structure"`
20508
20509	// One or more AWS accounts that will have access to the provisioned product.
20510	//
20511	// Applicable only to a CFN_STACKSET provisioned product type.
20512	//
20513	// The AWS accounts specified should be within the list of accounts in the STACKSET
20514	// constraint. To get the list of accounts in the STACKSET constraint, use the
20515	// DescribeProvisioningParameters operation.
20516	//
20517	// If no values are specified, the default value is all accounts from the STACKSET
20518	// constraint.
20519	StackSetAccounts []*string `type:"list"`
20520
20521	// The number of accounts, per region, for which this operation can fail before
20522	// AWS Service Catalog stops the operation in that region. If the operation
20523	// is stopped in a region, AWS Service Catalog doesn't attempt the operation
20524	// in any subsequent regions.
20525	//
20526	// Applicable only to a CFN_STACKSET provisioned product type.
20527	//
20528	// Conditional: You must specify either StackSetFailureToleranceCount or StackSetFailureTolerancePercentage,
20529	// but not both.
20530	//
20531	// The default value is 0 if no value is specified.
20532	StackSetFailureToleranceCount *int64 `type:"integer"`
20533
20534	// The percentage of accounts, per region, for which this stack operation can
20535	// fail before AWS Service Catalog stops the operation in that region. If the
20536	// operation is stopped in a region, AWS Service Catalog doesn't attempt the
20537	// operation in any subsequent regions.
20538	//
20539	// When calculating the number of accounts based on the specified percentage,
20540	// AWS Service Catalog rounds down to the next whole number.
20541	//
20542	// Applicable only to a CFN_STACKSET provisioned product type.
20543	//
20544	// Conditional: You must specify either StackSetFailureToleranceCount or StackSetFailureTolerancePercentage,
20545	// but not both.
20546	StackSetFailureTolerancePercentage *int64 `type:"integer"`
20547
20548	// The maximum number of accounts in which to perform this operation at one
20549	// time. This is dependent on the value of StackSetFailureToleranceCount. StackSetMaxConcurrentCount
20550	// is at most one more than the StackSetFailureToleranceCount.
20551	//
20552	// Note that this setting lets you specify the maximum for operations. For large
20553	// deployments, under certain circumstances the actual number of accounts acted
20554	// upon concurrently may be lower due to service throttling.
20555	//
20556	// Applicable only to a CFN_STACKSET provisioned product type.
20557	//
20558	// Conditional: You must specify either StackSetMaxConcurrentCount or StackSetMaxConcurrentPercentage,
20559	// but not both.
20560	StackSetMaxConcurrencyCount *int64 `min:"1" type:"integer"`
20561
20562	// The maximum percentage of accounts in which to perform this operation at
20563	// one time.
20564	//
20565	// When calculating the number of accounts based on the specified percentage,
20566	// AWS Service Catalog rounds down to the next whole number. This is true except
20567	// in cases where rounding down would result is zero. In this case, AWS Service
20568	// Catalog sets the number as 1 instead.
20569	//
20570	// Note that this setting lets you specify the maximum for operations. For large
20571	// deployments, under certain circumstances the actual number of accounts acted
20572	// upon concurrently may be lower due to service throttling.
20573	//
20574	// Applicable only to a CFN_STACKSET provisioned product type.
20575	//
20576	// Conditional: You must specify either StackSetMaxConcurrentCount or StackSetMaxConcurrentPercentage,
20577	// but not both.
20578	StackSetMaxConcurrencyPercentage *int64 `min:"1" type:"integer"`
20579
20580	// Determines what action AWS Service Catalog performs to a stack set or a stack
20581	// instance represented by the provisioned product. The default value is UPDATE
20582	// if nothing is specified.
20583	//
20584	// Applicable only to a CFN_STACKSET provisioned product type.
20585	//
20586	// CREATE
20587	//
20588	// Creates a new stack instance in the stack set represented by the provisioned
20589	// product. In this case, only new stack instances are created based on accounts
20590	// and regions; if new ProductId or ProvisioningArtifactID are passed, they
20591	// will be ignored.
20592	//
20593	// UPDATE
20594	//
20595	// Updates the stack set represented by the provisioned product and also its
20596	// stack instances.
20597	//
20598	// DELETE
20599	//
20600	// Deletes a stack instance in the stack set represented by the provisioned
20601	// product.
20602	StackSetOperationType *string `type:"string" enum:"StackSetOperationType"`
20603
20604	// One or more AWS Regions where the provisioned product will be available.
20605	//
20606	// Applicable only to a CFN_STACKSET provisioned product type.
20607	//
20608	// The specified regions should be within the list of regions from the STACKSET
20609	// constraint. To get the list of regions in the STACKSET constraint, use the
20610	// DescribeProvisioningParameters operation.
20611	//
20612	// If no values are specified, the default value is all regions from the STACKSET
20613	// constraint.
20614	StackSetRegions []*string `type:"list"`
20615}
20616
20617// String returns the string representation
20618func (s UpdateProvisioningPreferences) String() string {
20619	return awsutil.Prettify(s)
20620}
20621
20622// GoString returns the string representation
20623func (s UpdateProvisioningPreferences) GoString() string {
20624	return s.String()
20625}
20626
20627// Validate inspects the fields of the type to determine if they are valid.
20628func (s *UpdateProvisioningPreferences) Validate() error {
20629	invalidParams := request.ErrInvalidParams{Context: "UpdateProvisioningPreferences"}
20630	if s.StackSetMaxConcurrencyCount != nil && *s.StackSetMaxConcurrencyCount < 1 {
20631		invalidParams.Add(request.NewErrParamMinValue("StackSetMaxConcurrencyCount", 1))
20632	}
20633	if s.StackSetMaxConcurrencyPercentage != nil && *s.StackSetMaxConcurrencyPercentage < 1 {
20634		invalidParams.Add(request.NewErrParamMinValue("StackSetMaxConcurrencyPercentage", 1))
20635	}
20636
20637	if invalidParams.Len() > 0 {
20638		return invalidParams
20639	}
20640	return nil
20641}
20642
20643// SetStackSetAccounts sets the StackSetAccounts field's value.
20644func (s *UpdateProvisioningPreferences) SetStackSetAccounts(v []*string) *UpdateProvisioningPreferences {
20645	s.StackSetAccounts = v
20646	return s
20647}
20648
20649// SetStackSetFailureToleranceCount sets the StackSetFailureToleranceCount field's value.
20650func (s *UpdateProvisioningPreferences) SetStackSetFailureToleranceCount(v int64) *UpdateProvisioningPreferences {
20651	s.StackSetFailureToleranceCount = &v
20652	return s
20653}
20654
20655// SetStackSetFailureTolerancePercentage sets the StackSetFailureTolerancePercentage field's value.
20656func (s *UpdateProvisioningPreferences) SetStackSetFailureTolerancePercentage(v int64) *UpdateProvisioningPreferences {
20657	s.StackSetFailureTolerancePercentage = &v
20658	return s
20659}
20660
20661// SetStackSetMaxConcurrencyCount sets the StackSetMaxConcurrencyCount field's value.
20662func (s *UpdateProvisioningPreferences) SetStackSetMaxConcurrencyCount(v int64) *UpdateProvisioningPreferences {
20663	s.StackSetMaxConcurrencyCount = &v
20664	return s
20665}
20666
20667// SetStackSetMaxConcurrencyPercentage sets the StackSetMaxConcurrencyPercentage field's value.
20668func (s *UpdateProvisioningPreferences) SetStackSetMaxConcurrencyPercentage(v int64) *UpdateProvisioningPreferences {
20669	s.StackSetMaxConcurrencyPercentage = &v
20670	return s
20671}
20672
20673// SetStackSetOperationType sets the StackSetOperationType field's value.
20674func (s *UpdateProvisioningPreferences) SetStackSetOperationType(v string) *UpdateProvisioningPreferences {
20675	s.StackSetOperationType = &v
20676	return s
20677}
20678
20679// SetStackSetRegions sets the StackSetRegions field's value.
20680func (s *UpdateProvisioningPreferences) SetStackSetRegions(v []*string) *UpdateProvisioningPreferences {
20681	s.StackSetRegions = v
20682	return s
20683}
20684
20685type UpdateServiceActionInput struct {
20686	_ struct{} `type:"structure"`
20687
20688	// The language code.
20689	//
20690	//    * en - English (default)
20691	//
20692	//    * jp - Japanese
20693	//
20694	//    * zh - Chinese
20695	AcceptLanguage *string `type:"string"`
20696
20697	// A map that defines the self-service action.
20698	Definition map[string]*string `min:"1" type:"map"`
20699
20700	// The self-service action description.
20701	Description *string `type:"string"`
20702
20703	// The self-service action identifier.
20704	//
20705	// Id is a required field
20706	Id *string `min:"1" type:"string" required:"true"`
20707
20708	// The self-service action name.
20709	Name *string `min:"1" type:"string"`
20710}
20711
20712// String returns the string representation
20713func (s UpdateServiceActionInput) String() string {
20714	return awsutil.Prettify(s)
20715}
20716
20717// GoString returns the string representation
20718func (s UpdateServiceActionInput) GoString() string {
20719	return s.String()
20720}
20721
20722// Validate inspects the fields of the type to determine if they are valid.
20723func (s *UpdateServiceActionInput) Validate() error {
20724	invalidParams := request.ErrInvalidParams{Context: "UpdateServiceActionInput"}
20725	if s.Definition != nil && len(s.Definition) < 1 {
20726		invalidParams.Add(request.NewErrParamMinLen("Definition", 1))
20727	}
20728	if s.Id == nil {
20729		invalidParams.Add(request.NewErrParamRequired("Id"))
20730	}
20731	if s.Id != nil && len(*s.Id) < 1 {
20732		invalidParams.Add(request.NewErrParamMinLen("Id", 1))
20733	}
20734	if s.Name != nil && len(*s.Name) < 1 {
20735		invalidParams.Add(request.NewErrParamMinLen("Name", 1))
20736	}
20737
20738	if invalidParams.Len() > 0 {
20739		return invalidParams
20740	}
20741	return nil
20742}
20743
20744// SetAcceptLanguage sets the AcceptLanguage field's value.
20745func (s *UpdateServiceActionInput) SetAcceptLanguage(v string) *UpdateServiceActionInput {
20746	s.AcceptLanguage = &v
20747	return s
20748}
20749
20750// SetDefinition sets the Definition field's value.
20751func (s *UpdateServiceActionInput) SetDefinition(v map[string]*string) *UpdateServiceActionInput {
20752	s.Definition = v
20753	return s
20754}
20755
20756// SetDescription sets the Description field's value.
20757func (s *UpdateServiceActionInput) SetDescription(v string) *UpdateServiceActionInput {
20758	s.Description = &v
20759	return s
20760}
20761
20762// SetId sets the Id field's value.
20763func (s *UpdateServiceActionInput) SetId(v string) *UpdateServiceActionInput {
20764	s.Id = &v
20765	return s
20766}
20767
20768// SetName sets the Name field's value.
20769func (s *UpdateServiceActionInput) SetName(v string) *UpdateServiceActionInput {
20770	s.Name = &v
20771	return s
20772}
20773
20774type UpdateServiceActionOutput struct {
20775	_ struct{} `type:"structure"`
20776
20777	// Detailed information about the self-service action.
20778	ServiceActionDetail *ServiceActionDetail `type:"structure"`
20779}
20780
20781// String returns the string representation
20782func (s UpdateServiceActionOutput) String() string {
20783	return awsutil.Prettify(s)
20784}
20785
20786// GoString returns the string representation
20787func (s UpdateServiceActionOutput) GoString() string {
20788	return s.String()
20789}
20790
20791// SetServiceActionDetail sets the ServiceActionDetail field's value.
20792func (s *UpdateServiceActionOutput) SetServiceActionDetail(v *ServiceActionDetail) *UpdateServiceActionOutput {
20793	s.ServiceActionDetail = v
20794	return s
20795}
20796
20797type UpdateTagOptionInput struct {
20798	_ struct{} `type:"structure"`
20799
20800	// The updated active state.
20801	Active *bool `type:"boolean"`
20802
20803	// The TagOption identifier.
20804	//
20805	// Id is a required field
20806	Id *string `min:"1" type:"string" required:"true"`
20807
20808	// The updated value.
20809	Value *string `min:"1" type:"string"`
20810}
20811
20812// String returns the string representation
20813func (s UpdateTagOptionInput) String() string {
20814	return awsutil.Prettify(s)
20815}
20816
20817// GoString returns the string representation
20818func (s UpdateTagOptionInput) GoString() string {
20819	return s.String()
20820}
20821
20822// Validate inspects the fields of the type to determine if they are valid.
20823func (s *UpdateTagOptionInput) Validate() error {
20824	invalidParams := request.ErrInvalidParams{Context: "UpdateTagOptionInput"}
20825	if s.Id == nil {
20826		invalidParams.Add(request.NewErrParamRequired("Id"))
20827	}
20828	if s.Id != nil && len(*s.Id) < 1 {
20829		invalidParams.Add(request.NewErrParamMinLen("Id", 1))
20830	}
20831	if s.Value != nil && len(*s.Value) < 1 {
20832		invalidParams.Add(request.NewErrParamMinLen("Value", 1))
20833	}
20834
20835	if invalidParams.Len() > 0 {
20836		return invalidParams
20837	}
20838	return nil
20839}
20840
20841// SetActive sets the Active field's value.
20842func (s *UpdateTagOptionInput) SetActive(v bool) *UpdateTagOptionInput {
20843	s.Active = &v
20844	return s
20845}
20846
20847// SetId sets the Id field's value.
20848func (s *UpdateTagOptionInput) SetId(v string) *UpdateTagOptionInput {
20849	s.Id = &v
20850	return s
20851}
20852
20853// SetValue sets the Value field's value.
20854func (s *UpdateTagOptionInput) SetValue(v string) *UpdateTagOptionInput {
20855	s.Value = &v
20856	return s
20857}
20858
20859type UpdateTagOptionOutput struct {
20860	_ struct{} `type:"structure"`
20861
20862	// Information about the TagOption.
20863	TagOptionDetail *TagOptionDetail `type:"structure"`
20864}
20865
20866// String returns the string representation
20867func (s UpdateTagOptionOutput) String() string {
20868	return awsutil.Prettify(s)
20869}
20870
20871// GoString returns the string representation
20872func (s UpdateTagOptionOutput) GoString() string {
20873	return s.String()
20874}
20875
20876// SetTagOptionDetail sets the TagOptionDetail field's value.
20877func (s *UpdateTagOptionOutput) SetTagOptionDetail(v *TagOptionDetail) *UpdateTagOptionOutput {
20878	s.TagOptionDetail = v
20879	return s
20880}
20881
20882// Additional information provided by the administrator.
20883type UsageInstruction struct {
20884	_ struct{} `type:"structure"`
20885
20886	// The usage instruction type for the value.
20887	Type *string `type:"string"`
20888
20889	// The usage instruction value for this type.
20890	Value *string `type:"string"`
20891}
20892
20893// String returns the string representation
20894func (s UsageInstruction) String() string {
20895	return awsutil.Prettify(s)
20896}
20897
20898// GoString returns the string representation
20899func (s UsageInstruction) GoString() string {
20900	return s.String()
20901}
20902
20903// SetType sets the Type field's value.
20904func (s *UsageInstruction) SetType(v string) *UsageInstruction {
20905	s.Type = &v
20906	return s
20907}
20908
20909// SetValue sets the Value field's value.
20910func (s *UsageInstruction) SetValue(v string) *UsageInstruction {
20911	s.Value = &v
20912	return s
20913}
20914
20915const (
20916	// AccessLevelFilterKeyAccount is a AccessLevelFilterKey enum value
20917	AccessLevelFilterKeyAccount = "Account"
20918
20919	// AccessLevelFilterKeyRole is a AccessLevelFilterKey enum value
20920	AccessLevelFilterKeyRole = "Role"
20921
20922	// AccessLevelFilterKeyUser is a AccessLevelFilterKey enum value
20923	AccessLevelFilterKeyUser = "User"
20924)
20925
20926const (
20927	// AccessStatusEnabled is a AccessStatus enum value
20928	AccessStatusEnabled = "ENABLED"
20929
20930	// AccessStatusUnderChange is a AccessStatus enum value
20931	AccessStatusUnderChange = "UNDER_CHANGE"
20932
20933	// AccessStatusDisabled is a AccessStatus enum value
20934	AccessStatusDisabled = "DISABLED"
20935)
20936
20937const (
20938	// ChangeActionAdd is a ChangeAction enum value
20939	ChangeActionAdd = "ADD"
20940
20941	// ChangeActionModify is a ChangeAction enum value
20942	ChangeActionModify = "MODIFY"
20943
20944	// ChangeActionRemove is a ChangeAction enum value
20945	ChangeActionRemove = "REMOVE"
20946)
20947
20948const (
20949	// CopyOptionCopyTags is a CopyOption enum value
20950	CopyOptionCopyTags = "CopyTags"
20951)
20952
20953const (
20954	// CopyProductStatusSucceeded is a CopyProductStatus enum value
20955	CopyProductStatusSucceeded = "SUCCEEDED"
20956
20957	// CopyProductStatusInProgress is a CopyProductStatus enum value
20958	CopyProductStatusInProgress = "IN_PROGRESS"
20959
20960	// CopyProductStatusFailed is a CopyProductStatus enum value
20961	CopyProductStatusFailed = "FAILED"
20962)
20963
20964const (
20965	// EvaluationTypeStatic is a EvaluationType enum value
20966	EvaluationTypeStatic = "STATIC"
20967
20968	// EvaluationTypeDynamic is a EvaluationType enum value
20969	EvaluationTypeDynamic = "DYNAMIC"
20970)
20971
20972const (
20973	// OrganizationNodeTypeOrganization is a OrganizationNodeType enum value
20974	OrganizationNodeTypeOrganization = "ORGANIZATION"
20975
20976	// OrganizationNodeTypeOrganizationalUnit is a OrganizationNodeType enum value
20977	OrganizationNodeTypeOrganizationalUnit = "ORGANIZATIONAL_UNIT"
20978
20979	// OrganizationNodeTypeAccount is a OrganizationNodeType enum value
20980	OrganizationNodeTypeAccount = "ACCOUNT"
20981)
20982
20983const (
20984	// PortfolioShareTypeImported is a PortfolioShareType enum value
20985	PortfolioShareTypeImported = "IMPORTED"
20986
20987	// PortfolioShareTypeAwsServicecatalog is a PortfolioShareType enum value
20988	PortfolioShareTypeAwsServicecatalog = "AWS_SERVICECATALOG"
20989
20990	// PortfolioShareTypeAwsOrganizations is a PortfolioShareType enum value
20991	PortfolioShareTypeAwsOrganizations = "AWS_ORGANIZATIONS"
20992)
20993
20994const (
20995	// PrincipalTypeIam is a PrincipalType enum value
20996	PrincipalTypeIam = "IAM"
20997)
20998
20999const (
21000	// ProductSourceAccount is a ProductSource enum value
21001	ProductSourceAccount = "ACCOUNT"
21002)
21003
21004const (
21005	// ProductTypeCloudFormationTemplate is a ProductType enum value
21006	ProductTypeCloudFormationTemplate = "CLOUD_FORMATION_TEMPLATE"
21007
21008	// ProductTypeMarketplace is a ProductType enum value
21009	ProductTypeMarketplace = "MARKETPLACE"
21010)
21011
21012const (
21013	// ProductViewFilterByFullTextSearch is a ProductViewFilterBy enum value
21014	ProductViewFilterByFullTextSearch = "FullTextSearch"
21015
21016	// ProductViewFilterByOwner is a ProductViewFilterBy enum value
21017	ProductViewFilterByOwner = "Owner"
21018
21019	// ProductViewFilterByProductType is a ProductViewFilterBy enum value
21020	ProductViewFilterByProductType = "ProductType"
21021
21022	// ProductViewFilterBySourceProductId is a ProductViewFilterBy enum value
21023	ProductViewFilterBySourceProductId = "SourceProductId"
21024)
21025
21026const (
21027	// ProductViewSortByTitle is a ProductViewSortBy enum value
21028	ProductViewSortByTitle = "Title"
21029
21030	// ProductViewSortByVersionCount is a ProductViewSortBy enum value
21031	ProductViewSortByVersionCount = "VersionCount"
21032
21033	// ProductViewSortByCreationDate is a ProductViewSortBy enum value
21034	ProductViewSortByCreationDate = "CreationDate"
21035)
21036
21037const (
21038	// PropertyKeyOwner is a PropertyKey enum value
21039	PropertyKeyOwner = "OWNER"
21040)
21041
21042const (
21043	// ProvisionedProductPlanStatusCreateInProgress is a ProvisionedProductPlanStatus enum value
21044	ProvisionedProductPlanStatusCreateInProgress = "CREATE_IN_PROGRESS"
21045
21046	// ProvisionedProductPlanStatusCreateSuccess is a ProvisionedProductPlanStatus enum value
21047	ProvisionedProductPlanStatusCreateSuccess = "CREATE_SUCCESS"
21048
21049	// ProvisionedProductPlanStatusCreateFailed is a ProvisionedProductPlanStatus enum value
21050	ProvisionedProductPlanStatusCreateFailed = "CREATE_FAILED"
21051
21052	// ProvisionedProductPlanStatusExecuteInProgress is a ProvisionedProductPlanStatus enum value
21053	ProvisionedProductPlanStatusExecuteInProgress = "EXECUTE_IN_PROGRESS"
21054
21055	// ProvisionedProductPlanStatusExecuteSuccess is a ProvisionedProductPlanStatus enum value
21056	ProvisionedProductPlanStatusExecuteSuccess = "EXECUTE_SUCCESS"
21057
21058	// ProvisionedProductPlanStatusExecuteFailed is a ProvisionedProductPlanStatus enum value
21059	ProvisionedProductPlanStatusExecuteFailed = "EXECUTE_FAILED"
21060)
21061
21062const (
21063	// ProvisionedProductPlanTypeCloudformation is a ProvisionedProductPlanType enum value
21064	ProvisionedProductPlanTypeCloudformation = "CLOUDFORMATION"
21065)
21066
21067const (
21068	// ProvisionedProductStatusAvailable is a ProvisionedProductStatus enum value
21069	ProvisionedProductStatusAvailable = "AVAILABLE"
21070
21071	// ProvisionedProductStatusUnderChange is a ProvisionedProductStatus enum value
21072	ProvisionedProductStatusUnderChange = "UNDER_CHANGE"
21073
21074	// ProvisionedProductStatusTainted is a ProvisionedProductStatus enum value
21075	ProvisionedProductStatusTainted = "TAINTED"
21076
21077	// ProvisionedProductStatusError is a ProvisionedProductStatus enum value
21078	ProvisionedProductStatusError = "ERROR"
21079
21080	// ProvisionedProductStatusPlanInProgress is a ProvisionedProductStatus enum value
21081	ProvisionedProductStatusPlanInProgress = "PLAN_IN_PROGRESS"
21082)
21083
21084const (
21085	// ProvisionedProductViewFilterBySearchQuery is a ProvisionedProductViewFilterBy enum value
21086	ProvisionedProductViewFilterBySearchQuery = "SearchQuery"
21087)
21088
21089const (
21090	// ProvisioningArtifactGuidanceDefault is a ProvisioningArtifactGuidance enum value
21091	ProvisioningArtifactGuidanceDefault = "DEFAULT"
21092
21093	// ProvisioningArtifactGuidanceDeprecated is a ProvisioningArtifactGuidance enum value
21094	ProvisioningArtifactGuidanceDeprecated = "DEPRECATED"
21095)
21096
21097const (
21098	// ProvisioningArtifactPropertyNameId is a ProvisioningArtifactPropertyName enum value
21099	ProvisioningArtifactPropertyNameId = "Id"
21100)
21101
21102const (
21103	// ProvisioningArtifactTypeCloudFormationTemplate is a ProvisioningArtifactType enum value
21104	ProvisioningArtifactTypeCloudFormationTemplate = "CLOUD_FORMATION_TEMPLATE"
21105
21106	// ProvisioningArtifactTypeMarketplaceAmi is a ProvisioningArtifactType enum value
21107	ProvisioningArtifactTypeMarketplaceAmi = "MARKETPLACE_AMI"
21108
21109	// ProvisioningArtifactTypeMarketplaceCar is a ProvisioningArtifactType enum value
21110	ProvisioningArtifactTypeMarketplaceCar = "MARKETPLACE_CAR"
21111)
21112
21113const (
21114	// RecordStatusCreated is a RecordStatus enum value
21115	RecordStatusCreated = "CREATED"
21116
21117	// RecordStatusInProgress is a RecordStatus enum value
21118	RecordStatusInProgress = "IN_PROGRESS"
21119
21120	// RecordStatusInProgressInError is a RecordStatus enum value
21121	RecordStatusInProgressInError = "IN_PROGRESS_IN_ERROR"
21122
21123	// RecordStatusSucceeded is a RecordStatus enum value
21124	RecordStatusSucceeded = "SUCCEEDED"
21125
21126	// RecordStatusFailed is a RecordStatus enum value
21127	RecordStatusFailed = "FAILED"
21128)
21129
21130const (
21131	// ReplacementTrue is a Replacement enum value
21132	ReplacementTrue = "TRUE"
21133
21134	// ReplacementFalse is a Replacement enum value
21135	ReplacementFalse = "FALSE"
21136
21137	// ReplacementConditional is a Replacement enum value
21138	ReplacementConditional = "CONDITIONAL"
21139)
21140
21141const (
21142	// RequiresRecreationNever is a RequiresRecreation enum value
21143	RequiresRecreationNever = "NEVER"
21144
21145	// RequiresRecreationConditionally is a RequiresRecreation enum value
21146	RequiresRecreationConditionally = "CONDITIONALLY"
21147
21148	// RequiresRecreationAlways is a RequiresRecreation enum value
21149	RequiresRecreationAlways = "ALWAYS"
21150)
21151
21152const (
21153	// ResourceAttributeProperties is a ResourceAttribute enum value
21154	ResourceAttributeProperties = "PROPERTIES"
21155
21156	// ResourceAttributeMetadata is a ResourceAttribute enum value
21157	ResourceAttributeMetadata = "METADATA"
21158
21159	// ResourceAttributeCreationpolicy is a ResourceAttribute enum value
21160	ResourceAttributeCreationpolicy = "CREATIONPOLICY"
21161
21162	// ResourceAttributeUpdatepolicy is a ResourceAttribute enum value
21163	ResourceAttributeUpdatepolicy = "UPDATEPOLICY"
21164
21165	// ResourceAttributeDeletionpolicy is a ResourceAttribute enum value
21166	ResourceAttributeDeletionpolicy = "DELETIONPOLICY"
21167
21168	// ResourceAttributeTags is a ResourceAttribute enum value
21169	ResourceAttributeTags = "TAGS"
21170)
21171
21172const (
21173	// ServiceActionAssociationErrorCodeDuplicateResource is a ServiceActionAssociationErrorCode enum value
21174	ServiceActionAssociationErrorCodeDuplicateResource = "DUPLICATE_RESOURCE"
21175
21176	// ServiceActionAssociationErrorCodeInternalFailure is a ServiceActionAssociationErrorCode enum value
21177	ServiceActionAssociationErrorCodeInternalFailure = "INTERNAL_FAILURE"
21178
21179	// ServiceActionAssociationErrorCodeLimitExceeded is a ServiceActionAssociationErrorCode enum value
21180	ServiceActionAssociationErrorCodeLimitExceeded = "LIMIT_EXCEEDED"
21181
21182	// ServiceActionAssociationErrorCodeResourceNotFound is a ServiceActionAssociationErrorCode enum value
21183	ServiceActionAssociationErrorCodeResourceNotFound = "RESOURCE_NOT_FOUND"
21184
21185	// ServiceActionAssociationErrorCodeThrottling is a ServiceActionAssociationErrorCode enum value
21186	ServiceActionAssociationErrorCodeThrottling = "THROTTLING"
21187)
21188
21189const (
21190	// ServiceActionDefinitionKeyName is a ServiceActionDefinitionKey enum value
21191	ServiceActionDefinitionKeyName = "Name"
21192
21193	// ServiceActionDefinitionKeyVersion is a ServiceActionDefinitionKey enum value
21194	ServiceActionDefinitionKeyVersion = "Version"
21195
21196	// ServiceActionDefinitionKeyAssumeRole is a ServiceActionDefinitionKey enum value
21197	ServiceActionDefinitionKeyAssumeRole = "AssumeRole"
21198
21199	// ServiceActionDefinitionKeyParameters is a ServiceActionDefinitionKey enum value
21200	ServiceActionDefinitionKeyParameters = "Parameters"
21201)
21202
21203const (
21204	// ServiceActionDefinitionTypeSsmAutomation is a ServiceActionDefinitionType enum value
21205	ServiceActionDefinitionTypeSsmAutomation = "SSM_AUTOMATION"
21206)
21207
21208const (
21209	// ShareStatusNotStarted is a ShareStatus enum value
21210	ShareStatusNotStarted = "NOT_STARTED"
21211
21212	// ShareStatusInProgress is a ShareStatus enum value
21213	ShareStatusInProgress = "IN_PROGRESS"
21214
21215	// ShareStatusCompleted is a ShareStatus enum value
21216	ShareStatusCompleted = "COMPLETED"
21217
21218	// ShareStatusCompletedWithErrors is a ShareStatus enum value
21219	ShareStatusCompletedWithErrors = "COMPLETED_WITH_ERRORS"
21220
21221	// ShareStatusError is a ShareStatus enum value
21222	ShareStatusError = "ERROR"
21223)
21224
21225const (
21226	// SortOrderAscending is a SortOrder enum value
21227	SortOrderAscending = "ASCENDING"
21228
21229	// SortOrderDescending is a SortOrder enum value
21230	SortOrderDescending = "DESCENDING"
21231)
21232
21233const (
21234	// StackInstanceStatusCurrent is a StackInstanceStatus enum value
21235	StackInstanceStatusCurrent = "CURRENT"
21236
21237	// StackInstanceStatusOutdated is a StackInstanceStatus enum value
21238	StackInstanceStatusOutdated = "OUTDATED"
21239
21240	// StackInstanceStatusInoperable is a StackInstanceStatus enum value
21241	StackInstanceStatusInoperable = "INOPERABLE"
21242)
21243
21244const (
21245	// StackSetOperationTypeCreate is a StackSetOperationType enum value
21246	StackSetOperationTypeCreate = "CREATE"
21247
21248	// StackSetOperationTypeUpdate is a StackSetOperationType enum value
21249	StackSetOperationTypeUpdate = "UPDATE"
21250
21251	// StackSetOperationTypeDelete is a StackSetOperationType enum value
21252	StackSetOperationTypeDelete = "DELETE"
21253)
21254
21255const (
21256	// StatusAvailable is a Status enum value
21257	StatusAvailable = "AVAILABLE"
21258
21259	// StatusCreating is a Status enum value
21260	StatusCreating = "CREATING"
21261
21262	// StatusFailed is a Status enum value
21263	StatusFailed = "FAILED"
21264)
21265