1// Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT.
2
3package servicecatalog
4
5import (
6	"fmt"
7	"time"
8
9	"github.com/aws/aws-sdk-go/aws"
10	"github.com/aws/aws-sdk-go/aws/awsutil"
11	"github.com/aws/aws-sdk-go/aws/request"
12	"github.com/aws/aws-sdk-go/private/protocol"
13	"github.com/aws/aws-sdk-go/private/protocol/jsonrpc"
14)
15
16const opAcceptPortfolioShare = "AcceptPortfolioShare"
17
18// AcceptPortfolioShareRequest generates a "aws/request.Request" representing the
19// client's request for the AcceptPortfolioShare operation. The "output" return
20// value will be populated with the request's response once the request completes
21// successfully.
22//
23// Use "Send" method on the returned Request to send the API call to the service.
24// the "output" return value is not valid until after Send returns without error.
25//
26// See AcceptPortfolioShare for more information on using the AcceptPortfolioShare
27// API call, and error handling.
28//
29// This method is useful when you want to inject custom logic or configuration
30// into the SDK's request lifecycle. Such as custom headers, or retry logic.
31//
32//
33//    // Example sending a request using the AcceptPortfolioShareRequest method.
34//    req, resp := client.AcceptPortfolioShareRequest(params)
35//
36//    err := req.Send()
37//    if err == nil { // resp is now filled
38//        fmt.Println(resp)
39//    }
40//
41// See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/AcceptPortfolioShare
42func (c *ServiceCatalog) AcceptPortfolioShareRequest(input *AcceptPortfolioShareInput) (req *request.Request, output *AcceptPortfolioShareOutput) {
43	op := &request.Operation{
44		Name:       opAcceptPortfolioShare,
45		HTTPMethod: "POST",
46		HTTPPath:   "/",
47	}
48
49	if input == nil {
50		input = &AcceptPortfolioShareInput{}
51	}
52
53	output = &AcceptPortfolioShareOutput{}
54	req = c.newRequest(op, input, output)
55	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
56	return
57}
58
59// AcceptPortfolioShare API operation for AWS Service Catalog.
60//
61// Accepts an offer to share the specified portfolio.
62//
63// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
64// with awserr.Error's Code and Message methods to get detailed information about
65// the error.
66//
67// See the AWS API reference guide for AWS Service Catalog's
68// API operation AcceptPortfolioShare for usage and error information.
69//
70// Returned Error Types:
71//   * InvalidParametersException
72//   One or more parameters provided to the operation are not valid.
73//
74//   * ResourceNotFoundException
75//   The specified resource was not found.
76//
77//   * LimitExceededException
78//   The current limits of the service would have been exceeded by this operation.
79//   Decrease your resource use or increase your service limits and retry the
80//   operation.
81//
82// See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/AcceptPortfolioShare
83func (c *ServiceCatalog) AcceptPortfolioShare(input *AcceptPortfolioShareInput) (*AcceptPortfolioShareOutput, error) {
84	req, out := c.AcceptPortfolioShareRequest(input)
85	return out, req.Send()
86}
87
88// AcceptPortfolioShareWithContext is the same as AcceptPortfolioShare with the addition of
89// the ability to pass a context and additional request options.
90//
91// See AcceptPortfolioShare for details on how to use this API operation.
92//
93// The context must be non-nil and will be used for request cancellation. If
94// the context is nil a panic will occur. In the future the SDK may create
95// sub-contexts for http.Requests. See https://golang.org/pkg/context/
96// for more information on using Contexts.
97func (c *ServiceCatalog) AcceptPortfolioShareWithContext(ctx aws.Context, input *AcceptPortfolioShareInput, opts ...request.Option) (*AcceptPortfolioShareOutput, error) {
98	req, out := c.AcceptPortfolioShareRequest(input)
99	req.SetContext(ctx)
100	req.ApplyOptions(opts...)
101	return out, req.Send()
102}
103
104const opAssociateBudgetWithResource = "AssociateBudgetWithResource"
105
106// AssociateBudgetWithResourceRequest generates a "aws/request.Request" representing the
107// client's request for the AssociateBudgetWithResource operation. The "output" return
108// value will be populated with the request's response once the request completes
109// successfully.
110//
111// Use "Send" method on the returned Request to send the API call to the service.
112// the "output" return value is not valid until after Send returns without error.
113//
114// See AssociateBudgetWithResource for more information on using the AssociateBudgetWithResource
115// API call, and error handling.
116//
117// This method is useful when you want to inject custom logic or configuration
118// into the SDK's request lifecycle. Such as custom headers, or retry logic.
119//
120//
121//    // Example sending a request using the AssociateBudgetWithResourceRequest method.
122//    req, resp := client.AssociateBudgetWithResourceRequest(params)
123//
124//    err := req.Send()
125//    if err == nil { // resp is now filled
126//        fmt.Println(resp)
127//    }
128//
129// See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/AssociateBudgetWithResource
130func (c *ServiceCatalog) AssociateBudgetWithResourceRequest(input *AssociateBudgetWithResourceInput) (req *request.Request, output *AssociateBudgetWithResourceOutput) {
131	op := &request.Operation{
132		Name:       opAssociateBudgetWithResource,
133		HTTPMethod: "POST",
134		HTTPPath:   "/",
135	}
136
137	if input == nil {
138		input = &AssociateBudgetWithResourceInput{}
139	}
140
141	output = &AssociateBudgetWithResourceOutput{}
142	req = c.newRequest(op, input, output)
143	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
144	return
145}
146
147// AssociateBudgetWithResource API operation for AWS Service Catalog.
148//
149// Associates the specified budget with the specified resource.
150//
151// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
152// with awserr.Error's Code and Message methods to get detailed information about
153// the error.
154//
155// See the AWS API reference guide for AWS Service Catalog's
156// API operation AssociateBudgetWithResource for usage and error information.
157//
158// Returned Error Types:
159//   * InvalidParametersException
160//   One or more parameters provided to the operation are not valid.
161//
162//   * DuplicateResourceException
163//   The specified resource is a duplicate.
164//
165//   * LimitExceededException
166//   The current limits of the service would have been exceeded by this operation.
167//   Decrease your resource use or increase your service limits and retry the
168//   operation.
169//
170//   * ResourceNotFoundException
171//   The specified resource was not found.
172//
173// See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/AssociateBudgetWithResource
174func (c *ServiceCatalog) AssociateBudgetWithResource(input *AssociateBudgetWithResourceInput) (*AssociateBudgetWithResourceOutput, error) {
175	req, out := c.AssociateBudgetWithResourceRequest(input)
176	return out, req.Send()
177}
178
179// AssociateBudgetWithResourceWithContext is the same as AssociateBudgetWithResource with the addition of
180// the ability to pass a context and additional request options.
181//
182// See AssociateBudgetWithResource for details on how to use this API operation.
183//
184// The context must be non-nil and will be used for request cancellation. If
185// the context is nil a panic will occur. In the future the SDK may create
186// sub-contexts for http.Requests. See https://golang.org/pkg/context/
187// for more information on using Contexts.
188func (c *ServiceCatalog) AssociateBudgetWithResourceWithContext(ctx aws.Context, input *AssociateBudgetWithResourceInput, opts ...request.Option) (*AssociateBudgetWithResourceOutput, error) {
189	req, out := c.AssociateBudgetWithResourceRequest(input)
190	req.SetContext(ctx)
191	req.ApplyOptions(opts...)
192	return out, req.Send()
193}
194
195const opAssociatePrincipalWithPortfolio = "AssociatePrincipalWithPortfolio"
196
197// AssociatePrincipalWithPortfolioRequest generates a "aws/request.Request" representing the
198// client's request for the AssociatePrincipalWithPortfolio operation. The "output" return
199// value will be populated with the request's response once the request completes
200// successfully.
201//
202// Use "Send" method on the returned Request to send the API call to the service.
203// the "output" return value is not valid until after Send returns without error.
204//
205// See AssociatePrincipalWithPortfolio for more information on using the AssociatePrincipalWithPortfolio
206// API call, and error handling.
207//
208// This method is useful when you want to inject custom logic or configuration
209// into the SDK's request lifecycle. Such as custom headers, or retry logic.
210//
211//
212//    // Example sending a request using the AssociatePrincipalWithPortfolioRequest method.
213//    req, resp := client.AssociatePrincipalWithPortfolioRequest(params)
214//
215//    err := req.Send()
216//    if err == nil { // resp is now filled
217//        fmt.Println(resp)
218//    }
219//
220// See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/AssociatePrincipalWithPortfolio
221func (c *ServiceCatalog) AssociatePrincipalWithPortfolioRequest(input *AssociatePrincipalWithPortfolioInput) (req *request.Request, output *AssociatePrincipalWithPortfolioOutput) {
222	op := &request.Operation{
223		Name:       opAssociatePrincipalWithPortfolio,
224		HTTPMethod: "POST",
225		HTTPPath:   "/",
226	}
227
228	if input == nil {
229		input = &AssociatePrincipalWithPortfolioInput{}
230	}
231
232	output = &AssociatePrincipalWithPortfolioOutput{}
233	req = c.newRequest(op, input, output)
234	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
235	return
236}
237
238// AssociatePrincipalWithPortfolio API operation for AWS Service Catalog.
239//
240// Associates the specified principal ARN with the specified portfolio.
241//
242// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
243// with awserr.Error's Code and Message methods to get detailed information about
244// the error.
245//
246// See the AWS API reference guide for AWS Service Catalog's
247// API operation AssociatePrincipalWithPortfolio for usage and error information.
248//
249// Returned Error Types:
250//   * InvalidParametersException
251//   One or more parameters provided to the operation are not valid.
252//
253//   * ResourceNotFoundException
254//   The specified resource was not found.
255//
256//   * LimitExceededException
257//   The current limits of the service would have been exceeded by this operation.
258//   Decrease your resource use or increase your service limits and retry the
259//   operation.
260//
261// See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/AssociatePrincipalWithPortfolio
262func (c *ServiceCatalog) AssociatePrincipalWithPortfolio(input *AssociatePrincipalWithPortfolioInput) (*AssociatePrincipalWithPortfolioOutput, error) {
263	req, out := c.AssociatePrincipalWithPortfolioRequest(input)
264	return out, req.Send()
265}
266
267// AssociatePrincipalWithPortfolioWithContext is the same as AssociatePrincipalWithPortfolio with the addition of
268// the ability to pass a context and additional request options.
269//
270// See AssociatePrincipalWithPortfolio for details on how to use this API operation.
271//
272// The context must be non-nil and will be used for request cancellation. If
273// the context is nil a panic will occur. In the future the SDK may create
274// sub-contexts for http.Requests. See https://golang.org/pkg/context/
275// for more information on using Contexts.
276func (c *ServiceCatalog) AssociatePrincipalWithPortfolioWithContext(ctx aws.Context, input *AssociatePrincipalWithPortfolioInput, opts ...request.Option) (*AssociatePrincipalWithPortfolioOutput, error) {
277	req, out := c.AssociatePrincipalWithPortfolioRequest(input)
278	req.SetContext(ctx)
279	req.ApplyOptions(opts...)
280	return out, req.Send()
281}
282
283const opAssociateProductWithPortfolio = "AssociateProductWithPortfolio"
284
285// AssociateProductWithPortfolioRequest generates a "aws/request.Request" representing the
286// client's request for the AssociateProductWithPortfolio operation. The "output" return
287// value will be populated with the request's response once the request completes
288// successfully.
289//
290// Use "Send" method on the returned Request to send the API call to the service.
291// the "output" return value is not valid until after Send returns without error.
292//
293// See AssociateProductWithPortfolio for more information on using the AssociateProductWithPortfolio
294// API call, and error handling.
295//
296// This method is useful when you want to inject custom logic or configuration
297// into the SDK's request lifecycle. Such as custom headers, or retry logic.
298//
299//
300//    // Example sending a request using the AssociateProductWithPortfolioRequest method.
301//    req, resp := client.AssociateProductWithPortfolioRequest(params)
302//
303//    err := req.Send()
304//    if err == nil { // resp is now filled
305//        fmt.Println(resp)
306//    }
307//
308// See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/AssociateProductWithPortfolio
309func (c *ServiceCatalog) AssociateProductWithPortfolioRequest(input *AssociateProductWithPortfolioInput) (req *request.Request, output *AssociateProductWithPortfolioOutput) {
310	op := &request.Operation{
311		Name:       opAssociateProductWithPortfolio,
312		HTTPMethod: "POST",
313		HTTPPath:   "/",
314	}
315
316	if input == nil {
317		input = &AssociateProductWithPortfolioInput{}
318	}
319
320	output = &AssociateProductWithPortfolioOutput{}
321	req = c.newRequest(op, input, output)
322	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
323	return
324}
325
326// AssociateProductWithPortfolio API operation for AWS Service Catalog.
327//
328// Associates the specified product with the specified portfolio.
329//
330// A delegated admin is authorized to invoke this command.
331//
332// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
333// with awserr.Error's Code and Message methods to get detailed information about
334// the error.
335//
336// See the AWS API reference guide for AWS Service Catalog's
337// API operation AssociateProductWithPortfolio for usage and error information.
338//
339// Returned Error Types:
340//   * InvalidParametersException
341//   One or more parameters provided to the operation are not valid.
342//
343//   * ResourceNotFoundException
344//   The specified resource was not found.
345//
346//   * LimitExceededException
347//   The current limits of the service would have been exceeded by this operation.
348//   Decrease your resource use or increase your service limits and retry the
349//   operation.
350//
351// See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/AssociateProductWithPortfolio
352func (c *ServiceCatalog) AssociateProductWithPortfolio(input *AssociateProductWithPortfolioInput) (*AssociateProductWithPortfolioOutput, error) {
353	req, out := c.AssociateProductWithPortfolioRequest(input)
354	return out, req.Send()
355}
356
357// AssociateProductWithPortfolioWithContext is the same as AssociateProductWithPortfolio with the addition of
358// the ability to pass a context and additional request options.
359//
360// See AssociateProductWithPortfolio for details on how to use this API operation.
361//
362// The context must be non-nil and will be used for request cancellation. If
363// the context is nil a panic will occur. In the future the SDK may create
364// sub-contexts for http.Requests. See https://golang.org/pkg/context/
365// for more information on using Contexts.
366func (c *ServiceCatalog) AssociateProductWithPortfolioWithContext(ctx aws.Context, input *AssociateProductWithPortfolioInput, opts ...request.Option) (*AssociateProductWithPortfolioOutput, error) {
367	req, out := c.AssociateProductWithPortfolioRequest(input)
368	req.SetContext(ctx)
369	req.ApplyOptions(opts...)
370	return out, req.Send()
371}
372
373const opAssociateServiceActionWithProvisioningArtifact = "AssociateServiceActionWithProvisioningArtifact"
374
375// AssociateServiceActionWithProvisioningArtifactRequest generates a "aws/request.Request" representing the
376// client's request for the AssociateServiceActionWithProvisioningArtifact operation. The "output" return
377// value will be populated with the request's response once the request completes
378// successfully.
379//
380// Use "Send" method on the returned Request to send the API call to the service.
381// the "output" return value is not valid until after Send returns without error.
382//
383// See AssociateServiceActionWithProvisioningArtifact for more information on using the AssociateServiceActionWithProvisioningArtifact
384// API call, and error handling.
385//
386// This method is useful when you want to inject custom logic or configuration
387// into the SDK's request lifecycle. Such as custom headers, or retry logic.
388//
389//
390//    // Example sending a request using the AssociateServiceActionWithProvisioningArtifactRequest method.
391//    req, resp := client.AssociateServiceActionWithProvisioningArtifactRequest(params)
392//
393//    err := req.Send()
394//    if err == nil { // resp is now filled
395//        fmt.Println(resp)
396//    }
397//
398// See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/AssociateServiceActionWithProvisioningArtifact
399func (c *ServiceCatalog) AssociateServiceActionWithProvisioningArtifactRequest(input *AssociateServiceActionWithProvisioningArtifactInput) (req *request.Request, output *AssociateServiceActionWithProvisioningArtifactOutput) {
400	op := &request.Operation{
401		Name:       opAssociateServiceActionWithProvisioningArtifact,
402		HTTPMethod: "POST",
403		HTTPPath:   "/",
404	}
405
406	if input == nil {
407		input = &AssociateServiceActionWithProvisioningArtifactInput{}
408	}
409
410	output = &AssociateServiceActionWithProvisioningArtifactOutput{}
411	req = c.newRequest(op, input, output)
412	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
413	return
414}
415
416// AssociateServiceActionWithProvisioningArtifact API operation for AWS Service Catalog.
417//
418// Associates a self-service action with a provisioning artifact.
419//
420// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
421// with awserr.Error's Code and Message methods to get detailed information about
422// the error.
423//
424// See the AWS API reference guide for AWS Service Catalog's
425// API operation AssociateServiceActionWithProvisioningArtifact for usage and error information.
426//
427// Returned Error Types:
428//   * ResourceNotFoundException
429//   The specified resource was not found.
430//
431//   * DuplicateResourceException
432//   The specified resource is a duplicate.
433//
434//   * LimitExceededException
435//   The current limits of the service would have been exceeded by this operation.
436//   Decrease your resource use or increase your service limits and retry the
437//   operation.
438//
439// See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/AssociateServiceActionWithProvisioningArtifact
440func (c *ServiceCatalog) AssociateServiceActionWithProvisioningArtifact(input *AssociateServiceActionWithProvisioningArtifactInput) (*AssociateServiceActionWithProvisioningArtifactOutput, error) {
441	req, out := c.AssociateServiceActionWithProvisioningArtifactRequest(input)
442	return out, req.Send()
443}
444
445// AssociateServiceActionWithProvisioningArtifactWithContext is the same as AssociateServiceActionWithProvisioningArtifact with the addition of
446// the ability to pass a context and additional request options.
447//
448// See AssociateServiceActionWithProvisioningArtifact for details on how to use this API operation.
449//
450// The context must be non-nil and will be used for request cancellation. If
451// the context is nil a panic will occur. In the future the SDK may create
452// sub-contexts for http.Requests. See https://golang.org/pkg/context/
453// for more information on using Contexts.
454func (c *ServiceCatalog) AssociateServiceActionWithProvisioningArtifactWithContext(ctx aws.Context, input *AssociateServiceActionWithProvisioningArtifactInput, opts ...request.Option) (*AssociateServiceActionWithProvisioningArtifactOutput, error) {
455	req, out := c.AssociateServiceActionWithProvisioningArtifactRequest(input)
456	req.SetContext(ctx)
457	req.ApplyOptions(opts...)
458	return out, req.Send()
459}
460
461const opAssociateTagOptionWithResource = "AssociateTagOptionWithResource"
462
463// AssociateTagOptionWithResourceRequest generates a "aws/request.Request" representing the
464// client's request for the AssociateTagOptionWithResource operation. The "output" return
465// value will be populated with the request's response once the request completes
466// successfully.
467//
468// Use "Send" method on the returned Request to send the API call to the service.
469// the "output" return value is not valid until after Send returns without error.
470//
471// See AssociateTagOptionWithResource for more information on using the AssociateTagOptionWithResource
472// API call, and error handling.
473//
474// This method is useful when you want to inject custom logic or configuration
475// into the SDK's request lifecycle. Such as custom headers, or retry logic.
476//
477//
478//    // Example sending a request using the AssociateTagOptionWithResourceRequest method.
479//    req, resp := client.AssociateTagOptionWithResourceRequest(params)
480//
481//    err := req.Send()
482//    if err == nil { // resp is now filled
483//        fmt.Println(resp)
484//    }
485//
486// See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/AssociateTagOptionWithResource
487func (c *ServiceCatalog) AssociateTagOptionWithResourceRequest(input *AssociateTagOptionWithResourceInput) (req *request.Request, output *AssociateTagOptionWithResourceOutput) {
488	op := &request.Operation{
489		Name:       opAssociateTagOptionWithResource,
490		HTTPMethod: "POST",
491		HTTPPath:   "/",
492	}
493
494	if input == nil {
495		input = &AssociateTagOptionWithResourceInput{}
496	}
497
498	output = &AssociateTagOptionWithResourceOutput{}
499	req = c.newRequest(op, input, output)
500	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
501	return
502}
503
504// AssociateTagOptionWithResource API operation for AWS Service Catalog.
505//
506// Associate the specified TagOption with the specified portfolio or product.
507//
508// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
509// with awserr.Error's Code and Message methods to get detailed information about
510// the error.
511//
512// See the AWS API reference guide for AWS Service Catalog's
513// API operation AssociateTagOptionWithResource for usage and error information.
514//
515// Returned Error Types:
516//   * TagOptionNotMigratedException
517//   An operation requiring TagOptions failed because the TagOptions migration
518//   process has not been performed for this account. Please use the AWS console
519//   to perform the migration process before retrying the operation.
520//
521//   * ResourceNotFoundException
522//   The specified resource was not found.
523//
524//   * InvalidParametersException
525//   One or more parameters provided to the operation are not valid.
526//
527//   * LimitExceededException
528//   The current limits of the service would have been exceeded by this operation.
529//   Decrease your resource use or increase your service limits and retry the
530//   operation.
531//
532//   * DuplicateResourceException
533//   The specified resource is a duplicate.
534//
535//   * InvalidStateException
536//   An attempt was made to modify a resource that is in a state that is not valid.
537//   Check your resources to ensure that they are in valid states before retrying
538//   the operation.
539//
540// See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/AssociateTagOptionWithResource
541func (c *ServiceCatalog) AssociateTagOptionWithResource(input *AssociateTagOptionWithResourceInput) (*AssociateTagOptionWithResourceOutput, error) {
542	req, out := c.AssociateTagOptionWithResourceRequest(input)
543	return out, req.Send()
544}
545
546// AssociateTagOptionWithResourceWithContext is the same as AssociateTagOptionWithResource with the addition of
547// the ability to pass a context and additional request options.
548//
549// See AssociateTagOptionWithResource for details on how to use this API operation.
550//
551// The context must be non-nil and will be used for request cancellation. If
552// the context is nil a panic will occur. In the future the SDK may create
553// sub-contexts for http.Requests. See https://golang.org/pkg/context/
554// for more information on using Contexts.
555func (c *ServiceCatalog) AssociateTagOptionWithResourceWithContext(ctx aws.Context, input *AssociateTagOptionWithResourceInput, opts ...request.Option) (*AssociateTagOptionWithResourceOutput, error) {
556	req, out := c.AssociateTagOptionWithResourceRequest(input)
557	req.SetContext(ctx)
558	req.ApplyOptions(opts...)
559	return out, req.Send()
560}
561
562const opBatchAssociateServiceActionWithProvisioningArtifact = "BatchAssociateServiceActionWithProvisioningArtifact"
563
564// BatchAssociateServiceActionWithProvisioningArtifactRequest generates a "aws/request.Request" representing the
565// client's request for the BatchAssociateServiceActionWithProvisioningArtifact operation. The "output" return
566// value will be populated with the request's response once the request completes
567// successfully.
568//
569// Use "Send" method on the returned Request to send the API call to the service.
570// the "output" return value is not valid until after Send returns without error.
571//
572// See BatchAssociateServiceActionWithProvisioningArtifact for more information on using the BatchAssociateServiceActionWithProvisioningArtifact
573// API call, and error handling.
574//
575// This method is useful when you want to inject custom logic or configuration
576// into the SDK's request lifecycle. Such as custom headers, or retry logic.
577//
578//
579//    // Example sending a request using the BatchAssociateServiceActionWithProvisioningArtifactRequest method.
580//    req, resp := client.BatchAssociateServiceActionWithProvisioningArtifactRequest(params)
581//
582//    err := req.Send()
583//    if err == nil { // resp is now filled
584//        fmt.Println(resp)
585//    }
586//
587// See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/BatchAssociateServiceActionWithProvisioningArtifact
588func (c *ServiceCatalog) BatchAssociateServiceActionWithProvisioningArtifactRequest(input *BatchAssociateServiceActionWithProvisioningArtifactInput) (req *request.Request, output *BatchAssociateServiceActionWithProvisioningArtifactOutput) {
589	op := &request.Operation{
590		Name:       opBatchAssociateServiceActionWithProvisioningArtifact,
591		HTTPMethod: "POST",
592		HTTPPath:   "/",
593	}
594
595	if input == nil {
596		input = &BatchAssociateServiceActionWithProvisioningArtifactInput{}
597	}
598
599	output = &BatchAssociateServiceActionWithProvisioningArtifactOutput{}
600	req = c.newRequest(op, input, output)
601	return
602}
603
604// BatchAssociateServiceActionWithProvisioningArtifact API operation for AWS Service Catalog.
605//
606// Associates multiple self-service actions with provisioning artifacts.
607//
608// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
609// with awserr.Error's Code and Message methods to get detailed information about
610// the error.
611//
612// See the AWS API reference guide for AWS Service Catalog's
613// API operation BatchAssociateServiceActionWithProvisioningArtifact for usage and error information.
614//
615// Returned Error Types:
616//   * InvalidParametersException
617//   One or more parameters provided to the operation are not valid.
618//
619// See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/BatchAssociateServiceActionWithProvisioningArtifact
620func (c *ServiceCatalog) BatchAssociateServiceActionWithProvisioningArtifact(input *BatchAssociateServiceActionWithProvisioningArtifactInput) (*BatchAssociateServiceActionWithProvisioningArtifactOutput, error) {
621	req, out := c.BatchAssociateServiceActionWithProvisioningArtifactRequest(input)
622	return out, req.Send()
623}
624
625// BatchAssociateServiceActionWithProvisioningArtifactWithContext is the same as BatchAssociateServiceActionWithProvisioningArtifact with the addition of
626// the ability to pass a context and additional request options.
627//
628// See BatchAssociateServiceActionWithProvisioningArtifact for details on how to use this API operation.
629//
630// The context must be non-nil and will be used for request cancellation. If
631// the context is nil a panic will occur. In the future the SDK may create
632// sub-contexts for http.Requests. See https://golang.org/pkg/context/
633// for more information on using Contexts.
634func (c *ServiceCatalog) BatchAssociateServiceActionWithProvisioningArtifactWithContext(ctx aws.Context, input *BatchAssociateServiceActionWithProvisioningArtifactInput, opts ...request.Option) (*BatchAssociateServiceActionWithProvisioningArtifactOutput, error) {
635	req, out := c.BatchAssociateServiceActionWithProvisioningArtifactRequest(input)
636	req.SetContext(ctx)
637	req.ApplyOptions(opts...)
638	return out, req.Send()
639}
640
641const opBatchDisassociateServiceActionFromProvisioningArtifact = "BatchDisassociateServiceActionFromProvisioningArtifact"
642
643// BatchDisassociateServiceActionFromProvisioningArtifactRequest generates a "aws/request.Request" representing the
644// client's request for the BatchDisassociateServiceActionFromProvisioningArtifact operation. The "output" return
645// value will be populated with the request's response once the request completes
646// successfully.
647//
648// Use "Send" method on the returned Request to send the API call to the service.
649// the "output" return value is not valid until after Send returns without error.
650//
651// See BatchDisassociateServiceActionFromProvisioningArtifact for more information on using the BatchDisassociateServiceActionFromProvisioningArtifact
652// API call, and error handling.
653//
654// This method is useful when you want to inject custom logic or configuration
655// into the SDK's request lifecycle. Such as custom headers, or retry logic.
656//
657//
658//    // Example sending a request using the BatchDisassociateServiceActionFromProvisioningArtifactRequest method.
659//    req, resp := client.BatchDisassociateServiceActionFromProvisioningArtifactRequest(params)
660//
661//    err := req.Send()
662//    if err == nil { // resp is now filled
663//        fmt.Println(resp)
664//    }
665//
666// See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/BatchDisassociateServiceActionFromProvisioningArtifact
667func (c *ServiceCatalog) BatchDisassociateServiceActionFromProvisioningArtifactRequest(input *BatchDisassociateServiceActionFromProvisioningArtifactInput) (req *request.Request, output *BatchDisassociateServiceActionFromProvisioningArtifactOutput) {
668	op := &request.Operation{
669		Name:       opBatchDisassociateServiceActionFromProvisioningArtifact,
670		HTTPMethod: "POST",
671		HTTPPath:   "/",
672	}
673
674	if input == nil {
675		input = &BatchDisassociateServiceActionFromProvisioningArtifactInput{}
676	}
677
678	output = &BatchDisassociateServiceActionFromProvisioningArtifactOutput{}
679	req = c.newRequest(op, input, output)
680	return
681}
682
683// BatchDisassociateServiceActionFromProvisioningArtifact API operation for AWS Service Catalog.
684//
685// Disassociates a batch of self-service actions from the specified provisioning
686// artifact.
687//
688// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
689// with awserr.Error's Code and Message methods to get detailed information about
690// the error.
691//
692// See the AWS API reference guide for AWS Service Catalog's
693// API operation BatchDisassociateServiceActionFromProvisioningArtifact for usage and error information.
694//
695// Returned Error Types:
696//   * InvalidParametersException
697//   One or more parameters provided to the operation are not valid.
698//
699// See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/BatchDisassociateServiceActionFromProvisioningArtifact
700func (c *ServiceCatalog) BatchDisassociateServiceActionFromProvisioningArtifact(input *BatchDisassociateServiceActionFromProvisioningArtifactInput) (*BatchDisassociateServiceActionFromProvisioningArtifactOutput, error) {
701	req, out := c.BatchDisassociateServiceActionFromProvisioningArtifactRequest(input)
702	return out, req.Send()
703}
704
705// BatchDisassociateServiceActionFromProvisioningArtifactWithContext is the same as BatchDisassociateServiceActionFromProvisioningArtifact with the addition of
706// the ability to pass a context and additional request options.
707//
708// See BatchDisassociateServiceActionFromProvisioningArtifact for details on how to use this API operation.
709//
710// The context must be non-nil and will be used for request cancellation. If
711// the context is nil a panic will occur. In the future the SDK may create
712// sub-contexts for http.Requests. See https://golang.org/pkg/context/
713// for more information on using Contexts.
714func (c *ServiceCatalog) BatchDisassociateServiceActionFromProvisioningArtifactWithContext(ctx aws.Context, input *BatchDisassociateServiceActionFromProvisioningArtifactInput, opts ...request.Option) (*BatchDisassociateServiceActionFromProvisioningArtifactOutput, error) {
715	req, out := c.BatchDisassociateServiceActionFromProvisioningArtifactRequest(input)
716	req.SetContext(ctx)
717	req.ApplyOptions(opts...)
718	return out, req.Send()
719}
720
721const opCopyProduct = "CopyProduct"
722
723// CopyProductRequest generates a "aws/request.Request" representing the
724// client's request for the CopyProduct operation. The "output" return
725// value will be populated with the request's response once the request completes
726// successfully.
727//
728// Use "Send" method on the returned Request to send the API call to the service.
729// the "output" return value is not valid until after Send returns without error.
730//
731// See CopyProduct for more information on using the CopyProduct
732// API call, and error handling.
733//
734// This method is useful when you want to inject custom logic or configuration
735// into the SDK's request lifecycle. Such as custom headers, or retry logic.
736//
737//
738//    // Example sending a request using the CopyProductRequest method.
739//    req, resp := client.CopyProductRequest(params)
740//
741//    err := req.Send()
742//    if err == nil { // resp is now filled
743//        fmt.Println(resp)
744//    }
745//
746// See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/CopyProduct
747func (c *ServiceCatalog) CopyProductRequest(input *CopyProductInput) (req *request.Request, output *CopyProductOutput) {
748	op := &request.Operation{
749		Name:       opCopyProduct,
750		HTTPMethod: "POST",
751		HTTPPath:   "/",
752	}
753
754	if input == nil {
755		input = &CopyProductInput{}
756	}
757
758	output = &CopyProductOutput{}
759	req = c.newRequest(op, input, output)
760	return
761}
762
763// CopyProduct API operation for AWS Service Catalog.
764//
765// Copies the specified source product to the specified target product or a
766// new product.
767//
768// You can copy a product to the same account or another account. You can copy
769// a product to the same region or another region.
770//
771// This operation is performed asynchronously. To track the progress of the
772// operation, use DescribeCopyProductStatus.
773//
774// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
775// with awserr.Error's Code and Message methods to get detailed information about
776// the error.
777//
778// See the AWS API reference guide for AWS Service Catalog's
779// API operation CopyProduct for usage and error information.
780//
781// Returned Error Types:
782//   * ResourceNotFoundException
783//   The specified resource was not found.
784//
785//   * InvalidParametersException
786//   One or more parameters provided to the operation are not valid.
787//
788// See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/CopyProduct
789func (c *ServiceCatalog) CopyProduct(input *CopyProductInput) (*CopyProductOutput, error) {
790	req, out := c.CopyProductRequest(input)
791	return out, req.Send()
792}
793
794// CopyProductWithContext is the same as CopyProduct with the addition of
795// the ability to pass a context and additional request options.
796//
797// See CopyProduct for details on how to use this API operation.
798//
799// The context must be non-nil and will be used for request cancellation. If
800// the context is nil a panic will occur. In the future the SDK may create
801// sub-contexts for http.Requests. See https://golang.org/pkg/context/
802// for more information on using Contexts.
803func (c *ServiceCatalog) CopyProductWithContext(ctx aws.Context, input *CopyProductInput, opts ...request.Option) (*CopyProductOutput, error) {
804	req, out := c.CopyProductRequest(input)
805	req.SetContext(ctx)
806	req.ApplyOptions(opts...)
807	return out, req.Send()
808}
809
810const opCreateConstraint = "CreateConstraint"
811
812// CreateConstraintRequest generates a "aws/request.Request" representing the
813// client's request for the CreateConstraint operation. The "output" return
814// value will be populated with the request's response once the request completes
815// successfully.
816//
817// Use "Send" method on the returned Request to send the API call to the service.
818// the "output" return value is not valid until after Send returns without error.
819//
820// See CreateConstraint for more information on using the CreateConstraint
821// API call, and error handling.
822//
823// This method is useful when you want to inject custom logic or configuration
824// into the SDK's request lifecycle. Such as custom headers, or retry logic.
825//
826//
827//    // Example sending a request using the CreateConstraintRequest method.
828//    req, resp := client.CreateConstraintRequest(params)
829//
830//    err := req.Send()
831//    if err == nil { // resp is now filled
832//        fmt.Println(resp)
833//    }
834//
835// See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/CreateConstraint
836func (c *ServiceCatalog) CreateConstraintRequest(input *CreateConstraintInput) (req *request.Request, output *CreateConstraintOutput) {
837	op := &request.Operation{
838		Name:       opCreateConstraint,
839		HTTPMethod: "POST",
840		HTTPPath:   "/",
841	}
842
843	if input == nil {
844		input = &CreateConstraintInput{}
845	}
846
847	output = &CreateConstraintOutput{}
848	req = c.newRequest(op, input, output)
849	return
850}
851
852// CreateConstraint API operation for AWS Service Catalog.
853//
854// Creates a constraint.
855//
856// A delegated admin is authorized to invoke this command.
857//
858// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
859// with awserr.Error's Code and Message methods to get detailed information about
860// the error.
861//
862// See the AWS API reference guide for AWS Service Catalog's
863// API operation CreateConstraint for usage and error information.
864//
865// Returned Error Types:
866//   * ResourceNotFoundException
867//   The specified resource was not found.
868//
869//   * InvalidParametersException
870//   One or more parameters provided to the operation are not valid.
871//
872//   * LimitExceededException
873//   The current limits of the service would have been exceeded by this operation.
874//   Decrease your resource use or increase your service limits and retry the
875//   operation.
876//
877//   * DuplicateResourceException
878//   The specified resource is a duplicate.
879//
880// See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/CreateConstraint
881func (c *ServiceCatalog) CreateConstraint(input *CreateConstraintInput) (*CreateConstraintOutput, error) {
882	req, out := c.CreateConstraintRequest(input)
883	return out, req.Send()
884}
885
886// CreateConstraintWithContext is the same as CreateConstraint with the addition of
887// the ability to pass a context and additional request options.
888//
889// See CreateConstraint for details on how to use this API operation.
890//
891// The context must be non-nil and will be used for request cancellation. If
892// the context is nil a panic will occur. In the future the SDK may create
893// sub-contexts for http.Requests. See https://golang.org/pkg/context/
894// for more information on using Contexts.
895func (c *ServiceCatalog) CreateConstraintWithContext(ctx aws.Context, input *CreateConstraintInput, opts ...request.Option) (*CreateConstraintOutput, error) {
896	req, out := c.CreateConstraintRequest(input)
897	req.SetContext(ctx)
898	req.ApplyOptions(opts...)
899	return out, req.Send()
900}
901
902const opCreatePortfolio = "CreatePortfolio"
903
904// CreatePortfolioRequest generates a "aws/request.Request" representing the
905// client's request for the CreatePortfolio operation. The "output" return
906// value will be populated with the request's response once the request completes
907// successfully.
908//
909// Use "Send" method on the returned Request to send the API call to the service.
910// the "output" return value is not valid until after Send returns without error.
911//
912// See CreatePortfolio for more information on using the CreatePortfolio
913// API call, and error handling.
914//
915// This method is useful when you want to inject custom logic or configuration
916// into the SDK's request lifecycle. Such as custom headers, or retry logic.
917//
918//
919//    // Example sending a request using the CreatePortfolioRequest method.
920//    req, resp := client.CreatePortfolioRequest(params)
921//
922//    err := req.Send()
923//    if err == nil { // resp is now filled
924//        fmt.Println(resp)
925//    }
926//
927// See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/CreatePortfolio
928func (c *ServiceCatalog) CreatePortfolioRequest(input *CreatePortfolioInput) (req *request.Request, output *CreatePortfolioOutput) {
929	op := &request.Operation{
930		Name:       opCreatePortfolio,
931		HTTPMethod: "POST",
932		HTTPPath:   "/",
933	}
934
935	if input == nil {
936		input = &CreatePortfolioInput{}
937	}
938
939	output = &CreatePortfolioOutput{}
940	req = c.newRequest(op, input, output)
941	return
942}
943
944// CreatePortfolio API operation for AWS Service Catalog.
945//
946// Creates a portfolio.
947//
948// A delegated admin is authorized to invoke this command.
949//
950// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
951// with awserr.Error's Code and Message methods to get detailed information about
952// the error.
953//
954// See the AWS API reference guide for AWS Service Catalog's
955// API operation CreatePortfolio for usage and error information.
956//
957// Returned Error Types:
958//   * InvalidParametersException
959//   One or more parameters provided to the operation are not valid.
960//
961//   * LimitExceededException
962//   The current limits of the service would have been exceeded by this operation.
963//   Decrease your resource use or increase your service limits and retry the
964//   operation.
965//
966//   * TagOptionNotMigratedException
967//   An operation requiring TagOptions failed because the TagOptions migration
968//   process has not been performed for this account. Please use the AWS console
969//   to perform the migration process before retrying the operation.
970//
971// See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/CreatePortfolio
972func (c *ServiceCatalog) CreatePortfolio(input *CreatePortfolioInput) (*CreatePortfolioOutput, error) {
973	req, out := c.CreatePortfolioRequest(input)
974	return out, req.Send()
975}
976
977// CreatePortfolioWithContext is the same as CreatePortfolio with the addition of
978// the ability to pass a context and additional request options.
979//
980// See CreatePortfolio for details on how to use this API operation.
981//
982// The context must be non-nil and will be used for request cancellation. If
983// the context is nil a panic will occur. In the future the SDK may create
984// sub-contexts for http.Requests. See https://golang.org/pkg/context/
985// for more information on using Contexts.
986func (c *ServiceCatalog) CreatePortfolioWithContext(ctx aws.Context, input *CreatePortfolioInput, opts ...request.Option) (*CreatePortfolioOutput, error) {
987	req, out := c.CreatePortfolioRequest(input)
988	req.SetContext(ctx)
989	req.ApplyOptions(opts...)
990	return out, req.Send()
991}
992
993const opCreatePortfolioShare = "CreatePortfolioShare"
994
995// CreatePortfolioShareRequest generates a "aws/request.Request" representing the
996// client's request for the CreatePortfolioShare operation. The "output" return
997// value will be populated with the request's response once the request completes
998// successfully.
999//
1000// Use "Send" method on the returned Request to send the API call to the service.
1001// the "output" return value is not valid until after Send returns without error.
1002//
1003// See CreatePortfolioShare for more information on using the CreatePortfolioShare
1004// API call, and error handling.
1005//
1006// This method is useful when you want to inject custom logic or configuration
1007// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1008//
1009//
1010//    // Example sending a request using the CreatePortfolioShareRequest method.
1011//    req, resp := client.CreatePortfolioShareRequest(params)
1012//
1013//    err := req.Send()
1014//    if err == nil { // resp is now filled
1015//        fmt.Println(resp)
1016//    }
1017//
1018// See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/CreatePortfolioShare
1019func (c *ServiceCatalog) CreatePortfolioShareRequest(input *CreatePortfolioShareInput) (req *request.Request, output *CreatePortfolioShareOutput) {
1020	op := &request.Operation{
1021		Name:       opCreatePortfolioShare,
1022		HTTPMethod: "POST",
1023		HTTPPath:   "/",
1024	}
1025
1026	if input == nil {
1027		input = &CreatePortfolioShareInput{}
1028	}
1029
1030	output = &CreatePortfolioShareOutput{}
1031	req = c.newRequest(op, input, output)
1032	return
1033}
1034
1035// CreatePortfolioShare API operation for AWS Service Catalog.
1036//
1037// Shares the specified portfolio with the specified account or organization
1038// node. Shares to an organization node can only be created by the management
1039// account of an organization or by a delegated administrator. You can share
1040// portfolios to an organization, an organizational unit, or a specific account.
1041//
1042// Note that if a delegated admin is de-registered, they can no longer create
1043// portfolio shares.
1044//
1045// AWSOrganizationsAccess must be enabled in order to create a portfolio share
1046// to an organization node.
1047//
1048// You can't share a shared resource, including portfolios that contain a shared
1049// product.
1050//
1051// If the portfolio share with the specified account or organization node already
1052// exists, this action will have no effect and will not return an error. To
1053// update an existing share, you must use the UpdatePortfolioShare API instead.
1054//
1055// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1056// with awserr.Error's Code and Message methods to get detailed information about
1057// the error.
1058//
1059// See the AWS API reference guide for AWS Service Catalog's
1060// API operation CreatePortfolioShare for usage and error information.
1061//
1062// Returned Error Types:
1063//   * ResourceNotFoundException
1064//   The specified resource was not found.
1065//
1066//   * LimitExceededException
1067//   The current limits of the service would have been exceeded by this operation.
1068//   Decrease your resource use or increase your service limits and retry the
1069//   operation.
1070//
1071//   * InvalidParametersException
1072//   One or more parameters provided to the operation are not valid.
1073//
1074//   * OperationNotSupportedException
1075//   The operation is not supported.
1076//
1077//   * InvalidStateException
1078//   An attempt was made to modify a resource that is in a state that is not valid.
1079//   Check your resources to ensure that they are in valid states before retrying
1080//   the operation.
1081//
1082// See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/CreatePortfolioShare
1083func (c *ServiceCatalog) CreatePortfolioShare(input *CreatePortfolioShareInput) (*CreatePortfolioShareOutput, error) {
1084	req, out := c.CreatePortfolioShareRequest(input)
1085	return out, req.Send()
1086}
1087
1088// CreatePortfolioShareWithContext is the same as CreatePortfolioShare with the addition of
1089// the ability to pass a context and additional request options.
1090//
1091// See CreatePortfolioShare for details on how to use this API operation.
1092//
1093// The context must be non-nil and will be used for request cancellation. If
1094// the context is nil a panic will occur. In the future the SDK may create
1095// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1096// for more information on using Contexts.
1097func (c *ServiceCatalog) CreatePortfolioShareWithContext(ctx aws.Context, input *CreatePortfolioShareInput, opts ...request.Option) (*CreatePortfolioShareOutput, error) {
1098	req, out := c.CreatePortfolioShareRequest(input)
1099	req.SetContext(ctx)
1100	req.ApplyOptions(opts...)
1101	return out, req.Send()
1102}
1103
1104const opCreateProduct = "CreateProduct"
1105
1106// CreateProductRequest generates a "aws/request.Request" representing the
1107// client's request for the CreateProduct operation. The "output" return
1108// value will be populated with the request's response once the request completes
1109// successfully.
1110//
1111// Use "Send" method on the returned Request to send the API call to the service.
1112// the "output" return value is not valid until after Send returns without error.
1113//
1114// See CreateProduct for more information on using the CreateProduct
1115// API call, and error handling.
1116//
1117// This method is useful when you want to inject custom logic or configuration
1118// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1119//
1120//
1121//    // Example sending a request using the CreateProductRequest method.
1122//    req, resp := client.CreateProductRequest(params)
1123//
1124//    err := req.Send()
1125//    if err == nil { // resp is now filled
1126//        fmt.Println(resp)
1127//    }
1128//
1129// See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/CreateProduct
1130func (c *ServiceCatalog) CreateProductRequest(input *CreateProductInput) (req *request.Request, output *CreateProductOutput) {
1131	op := &request.Operation{
1132		Name:       opCreateProduct,
1133		HTTPMethod: "POST",
1134		HTTPPath:   "/",
1135	}
1136
1137	if input == nil {
1138		input = &CreateProductInput{}
1139	}
1140
1141	output = &CreateProductOutput{}
1142	req = c.newRequest(op, input, output)
1143	return
1144}
1145
1146// CreateProduct API operation for AWS Service Catalog.
1147//
1148// Creates a product.
1149//
1150// A delegated admin is authorized to invoke this command.
1151//
1152// The user or role that performs this operation must have the cloudformation:GetTemplate
1153// IAM policy permission. This policy permission is required when using the
1154// ImportFromPhysicalId template source in the information data section.
1155//
1156// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1157// with awserr.Error's Code and Message methods to get detailed information about
1158// the error.
1159//
1160// See the AWS API reference guide for AWS Service Catalog's
1161// API operation CreateProduct for usage and error information.
1162//
1163// Returned Error Types:
1164//   * InvalidParametersException
1165//   One or more parameters provided to the operation are not valid.
1166//
1167//   * LimitExceededException
1168//   The current limits of the service would have been exceeded by this operation.
1169//   Decrease your resource use or increase your service limits and retry the
1170//   operation.
1171//
1172//   * TagOptionNotMigratedException
1173//   An operation requiring TagOptions failed because the TagOptions migration
1174//   process has not been performed for this account. Please use the AWS console
1175//   to perform the migration process before retrying the operation.
1176//
1177// See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/CreateProduct
1178func (c *ServiceCatalog) CreateProduct(input *CreateProductInput) (*CreateProductOutput, error) {
1179	req, out := c.CreateProductRequest(input)
1180	return out, req.Send()
1181}
1182
1183// CreateProductWithContext is the same as CreateProduct with the addition of
1184// the ability to pass a context and additional request options.
1185//
1186// See CreateProduct for details on how to use this API operation.
1187//
1188// The context must be non-nil and will be used for request cancellation. If
1189// the context is nil a panic will occur. In the future the SDK may create
1190// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1191// for more information on using Contexts.
1192func (c *ServiceCatalog) CreateProductWithContext(ctx aws.Context, input *CreateProductInput, opts ...request.Option) (*CreateProductOutput, error) {
1193	req, out := c.CreateProductRequest(input)
1194	req.SetContext(ctx)
1195	req.ApplyOptions(opts...)
1196	return out, req.Send()
1197}
1198
1199const opCreateProvisionedProductPlan = "CreateProvisionedProductPlan"
1200
1201// CreateProvisionedProductPlanRequest generates a "aws/request.Request" representing the
1202// client's request for the CreateProvisionedProductPlan operation. The "output" return
1203// value will be populated with the request's response once the request completes
1204// successfully.
1205//
1206// Use "Send" method on the returned Request to send the API call to the service.
1207// the "output" return value is not valid until after Send returns without error.
1208//
1209// See CreateProvisionedProductPlan for more information on using the CreateProvisionedProductPlan
1210// API call, and error handling.
1211//
1212// This method is useful when you want to inject custom logic or configuration
1213// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1214//
1215//
1216//    // Example sending a request using the CreateProvisionedProductPlanRequest method.
1217//    req, resp := client.CreateProvisionedProductPlanRequest(params)
1218//
1219//    err := req.Send()
1220//    if err == nil { // resp is now filled
1221//        fmt.Println(resp)
1222//    }
1223//
1224// See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/CreateProvisionedProductPlan
1225func (c *ServiceCatalog) CreateProvisionedProductPlanRequest(input *CreateProvisionedProductPlanInput) (req *request.Request, output *CreateProvisionedProductPlanOutput) {
1226	op := &request.Operation{
1227		Name:       opCreateProvisionedProductPlan,
1228		HTTPMethod: "POST",
1229		HTTPPath:   "/",
1230	}
1231
1232	if input == nil {
1233		input = &CreateProvisionedProductPlanInput{}
1234	}
1235
1236	output = &CreateProvisionedProductPlanOutput{}
1237	req = c.newRequest(op, input, output)
1238	return
1239}
1240
1241// CreateProvisionedProductPlan API operation for AWS Service Catalog.
1242//
1243// Creates a plan. A plan includes the list of resources to be created (when
1244// provisioning a new product) or modified (when updating a provisioned product)
1245// when the plan is executed.
1246//
1247// You can create one plan per provisioned product. To create a plan for an
1248// existing provisioned product, the product status must be AVAILBLE or TAINTED.
1249//
1250// To view the resource changes in the change set, use DescribeProvisionedProductPlan.
1251// To create or modify the provisioned product, use ExecuteProvisionedProductPlan.
1252//
1253// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1254// with awserr.Error's Code and Message methods to get detailed information about
1255// the error.
1256//
1257// See the AWS API reference guide for AWS Service Catalog's
1258// API operation CreateProvisionedProductPlan for usage and error information.
1259//
1260// Returned Error Types:
1261//   * InvalidParametersException
1262//   One or more parameters provided to the operation are not valid.
1263//
1264//   * ResourceNotFoundException
1265//   The specified resource was not found.
1266//
1267//   * InvalidStateException
1268//   An attempt was made to modify a resource that is in a state that is not valid.
1269//   Check your resources to ensure that they are in valid states before retrying
1270//   the operation.
1271//
1272// See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/CreateProvisionedProductPlan
1273func (c *ServiceCatalog) CreateProvisionedProductPlan(input *CreateProvisionedProductPlanInput) (*CreateProvisionedProductPlanOutput, error) {
1274	req, out := c.CreateProvisionedProductPlanRequest(input)
1275	return out, req.Send()
1276}
1277
1278// CreateProvisionedProductPlanWithContext is the same as CreateProvisionedProductPlan with the addition of
1279// the ability to pass a context and additional request options.
1280//
1281// See CreateProvisionedProductPlan for details on how to use this API operation.
1282//
1283// The context must be non-nil and will be used for request cancellation. If
1284// the context is nil a panic will occur. In the future the SDK may create
1285// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1286// for more information on using Contexts.
1287func (c *ServiceCatalog) CreateProvisionedProductPlanWithContext(ctx aws.Context, input *CreateProvisionedProductPlanInput, opts ...request.Option) (*CreateProvisionedProductPlanOutput, error) {
1288	req, out := c.CreateProvisionedProductPlanRequest(input)
1289	req.SetContext(ctx)
1290	req.ApplyOptions(opts...)
1291	return out, req.Send()
1292}
1293
1294const opCreateProvisioningArtifact = "CreateProvisioningArtifact"
1295
1296// CreateProvisioningArtifactRequest generates a "aws/request.Request" representing the
1297// client's request for the CreateProvisioningArtifact operation. The "output" return
1298// value will be populated with the request's response once the request completes
1299// successfully.
1300//
1301// Use "Send" method on the returned Request to send the API call to the service.
1302// the "output" return value is not valid until after Send returns without error.
1303//
1304// See CreateProvisioningArtifact for more information on using the CreateProvisioningArtifact
1305// API call, and error handling.
1306//
1307// This method is useful when you want to inject custom logic or configuration
1308// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1309//
1310//
1311//    // Example sending a request using the CreateProvisioningArtifactRequest method.
1312//    req, resp := client.CreateProvisioningArtifactRequest(params)
1313//
1314//    err := req.Send()
1315//    if err == nil { // resp is now filled
1316//        fmt.Println(resp)
1317//    }
1318//
1319// See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/CreateProvisioningArtifact
1320func (c *ServiceCatalog) CreateProvisioningArtifactRequest(input *CreateProvisioningArtifactInput) (req *request.Request, output *CreateProvisioningArtifactOutput) {
1321	op := &request.Operation{
1322		Name:       opCreateProvisioningArtifact,
1323		HTTPMethod: "POST",
1324		HTTPPath:   "/",
1325	}
1326
1327	if input == nil {
1328		input = &CreateProvisioningArtifactInput{}
1329	}
1330
1331	output = &CreateProvisioningArtifactOutput{}
1332	req = c.newRequest(op, input, output)
1333	return
1334}
1335
1336// CreateProvisioningArtifact API operation for AWS Service Catalog.
1337//
1338// Creates a provisioning artifact (also known as a version) for the specified
1339// product.
1340//
1341// You cannot create a provisioning artifact for a product that was shared with
1342// you.
1343//
1344// The user or role that performs this operation must have the cloudformation:GetTemplate
1345// IAM policy permission. This policy permission is required when using the
1346// ImportFromPhysicalId template source in the information data section.
1347//
1348// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1349// with awserr.Error's Code and Message methods to get detailed information about
1350// the error.
1351//
1352// See the AWS API reference guide for AWS Service Catalog's
1353// API operation CreateProvisioningArtifact for usage and error information.
1354//
1355// Returned Error Types:
1356//   * ResourceNotFoundException
1357//   The specified resource was not found.
1358//
1359//   * InvalidParametersException
1360//   One or more parameters provided to the operation are not valid.
1361//
1362//   * LimitExceededException
1363//   The current limits of the service would have been exceeded by this operation.
1364//   Decrease your resource use or increase your service limits and retry the
1365//   operation.
1366//
1367// See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/CreateProvisioningArtifact
1368func (c *ServiceCatalog) CreateProvisioningArtifact(input *CreateProvisioningArtifactInput) (*CreateProvisioningArtifactOutput, error) {
1369	req, out := c.CreateProvisioningArtifactRequest(input)
1370	return out, req.Send()
1371}
1372
1373// CreateProvisioningArtifactWithContext is the same as CreateProvisioningArtifact with the addition of
1374// the ability to pass a context and additional request options.
1375//
1376// See CreateProvisioningArtifact for details on how to use this API operation.
1377//
1378// The context must be non-nil and will be used for request cancellation. If
1379// the context is nil a panic will occur. In the future the SDK may create
1380// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1381// for more information on using Contexts.
1382func (c *ServiceCatalog) CreateProvisioningArtifactWithContext(ctx aws.Context, input *CreateProvisioningArtifactInput, opts ...request.Option) (*CreateProvisioningArtifactOutput, error) {
1383	req, out := c.CreateProvisioningArtifactRequest(input)
1384	req.SetContext(ctx)
1385	req.ApplyOptions(opts...)
1386	return out, req.Send()
1387}
1388
1389const opCreateServiceAction = "CreateServiceAction"
1390
1391// CreateServiceActionRequest generates a "aws/request.Request" representing the
1392// client's request for the CreateServiceAction operation. The "output" return
1393// value will be populated with the request's response once the request completes
1394// successfully.
1395//
1396// Use "Send" method on the returned Request to send the API call to the service.
1397// the "output" return value is not valid until after Send returns without error.
1398//
1399// See CreateServiceAction for more information on using the CreateServiceAction
1400// API call, and error handling.
1401//
1402// This method is useful when you want to inject custom logic or configuration
1403// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1404//
1405//
1406//    // Example sending a request using the CreateServiceActionRequest method.
1407//    req, resp := client.CreateServiceActionRequest(params)
1408//
1409//    err := req.Send()
1410//    if err == nil { // resp is now filled
1411//        fmt.Println(resp)
1412//    }
1413//
1414// See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/CreateServiceAction
1415func (c *ServiceCatalog) CreateServiceActionRequest(input *CreateServiceActionInput) (req *request.Request, output *CreateServiceActionOutput) {
1416	op := &request.Operation{
1417		Name:       opCreateServiceAction,
1418		HTTPMethod: "POST",
1419		HTTPPath:   "/",
1420	}
1421
1422	if input == nil {
1423		input = &CreateServiceActionInput{}
1424	}
1425
1426	output = &CreateServiceActionOutput{}
1427	req = c.newRequest(op, input, output)
1428	return
1429}
1430
1431// CreateServiceAction API operation for AWS Service Catalog.
1432//
1433// Creates a self-service action.
1434//
1435// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1436// with awserr.Error's Code and Message methods to get detailed information about
1437// the error.
1438//
1439// See the AWS API reference guide for AWS Service Catalog's
1440// API operation CreateServiceAction for usage and error information.
1441//
1442// Returned Error Types:
1443//   * InvalidParametersException
1444//   One or more parameters provided to the operation are not valid.
1445//
1446//   * LimitExceededException
1447//   The current limits of the service would have been exceeded by this operation.
1448//   Decrease your resource use or increase your service limits and retry the
1449//   operation.
1450//
1451// See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/CreateServiceAction
1452func (c *ServiceCatalog) CreateServiceAction(input *CreateServiceActionInput) (*CreateServiceActionOutput, error) {
1453	req, out := c.CreateServiceActionRequest(input)
1454	return out, req.Send()
1455}
1456
1457// CreateServiceActionWithContext is the same as CreateServiceAction with the addition of
1458// the ability to pass a context and additional request options.
1459//
1460// See CreateServiceAction for details on how to use this API operation.
1461//
1462// The context must be non-nil and will be used for request cancellation. If
1463// the context is nil a panic will occur. In the future the SDK may create
1464// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1465// for more information on using Contexts.
1466func (c *ServiceCatalog) CreateServiceActionWithContext(ctx aws.Context, input *CreateServiceActionInput, opts ...request.Option) (*CreateServiceActionOutput, error) {
1467	req, out := c.CreateServiceActionRequest(input)
1468	req.SetContext(ctx)
1469	req.ApplyOptions(opts...)
1470	return out, req.Send()
1471}
1472
1473const opCreateTagOption = "CreateTagOption"
1474
1475// CreateTagOptionRequest generates a "aws/request.Request" representing the
1476// client's request for the CreateTagOption operation. The "output" return
1477// value will be populated with the request's response once the request completes
1478// successfully.
1479//
1480// Use "Send" method on the returned Request to send the API call to the service.
1481// the "output" return value is not valid until after Send returns without error.
1482//
1483// See CreateTagOption for more information on using the CreateTagOption
1484// API call, and error handling.
1485//
1486// This method is useful when you want to inject custom logic or configuration
1487// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1488//
1489//
1490//    // Example sending a request using the CreateTagOptionRequest method.
1491//    req, resp := client.CreateTagOptionRequest(params)
1492//
1493//    err := req.Send()
1494//    if err == nil { // resp is now filled
1495//        fmt.Println(resp)
1496//    }
1497//
1498// See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/CreateTagOption
1499func (c *ServiceCatalog) CreateTagOptionRequest(input *CreateTagOptionInput) (req *request.Request, output *CreateTagOptionOutput) {
1500	op := &request.Operation{
1501		Name:       opCreateTagOption,
1502		HTTPMethod: "POST",
1503		HTTPPath:   "/",
1504	}
1505
1506	if input == nil {
1507		input = &CreateTagOptionInput{}
1508	}
1509
1510	output = &CreateTagOptionOutput{}
1511	req = c.newRequest(op, input, output)
1512	return
1513}
1514
1515// CreateTagOption API operation for AWS Service Catalog.
1516//
1517// Creates a TagOption.
1518//
1519// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1520// with awserr.Error's Code and Message methods to get detailed information about
1521// the error.
1522//
1523// See the AWS API reference guide for AWS Service Catalog's
1524// API operation CreateTagOption for usage and error information.
1525//
1526// Returned Error Types:
1527//   * TagOptionNotMigratedException
1528//   An operation requiring TagOptions failed because the TagOptions migration
1529//   process has not been performed for this account. Please use the AWS console
1530//   to perform the migration process before retrying the operation.
1531//
1532//   * DuplicateResourceException
1533//   The specified resource is a duplicate.
1534//
1535//   * LimitExceededException
1536//   The current limits of the service would have been exceeded by this operation.
1537//   Decrease your resource use or increase your service limits and retry the
1538//   operation.
1539//
1540// See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/CreateTagOption
1541func (c *ServiceCatalog) CreateTagOption(input *CreateTagOptionInput) (*CreateTagOptionOutput, error) {
1542	req, out := c.CreateTagOptionRequest(input)
1543	return out, req.Send()
1544}
1545
1546// CreateTagOptionWithContext is the same as CreateTagOption with the addition of
1547// the ability to pass a context and additional request options.
1548//
1549// See CreateTagOption for details on how to use this API operation.
1550//
1551// The context must be non-nil and will be used for request cancellation. If
1552// the context is nil a panic will occur. In the future the SDK may create
1553// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1554// for more information on using Contexts.
1555func (c *ServiceCatalog) CreateTagOptionWithContext(ctx aws.Context, input *CreateTagOptionInput, opts ...request.Option) (*CreateTagOptionOutput, error) {
1556	req, out := c.CreateTagOptionRequest(input)
1557	req.SetContext(ctx)
1558	req.ApplyOptions(opts...)
1559	return out, req.Send()
1560}
1561
1562const opDeleteConstraint = "DeleteConstraint"
1563
1564// DeleteConstraintRequest generates a "aws/request.Request" representing the
1565// client's request for the DeleteConstraint operation. The "output" return
1566// value will be populated with the request's response once the request completes
1567// successfully.
1568//
1569// Use "Send" method on the returned Request to send the API call to the service.
1570// the "output" return value is not valid until after Send returns without error.
1571//
1572// See DeleteConstraint for more information on using the DeleteConstraint
1573// API call, and error handling.
1574//
1575// This method is useful when you want to inject custom logic or configuration
1576// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1577//
1578//
1579//    // Example sending a request using the DeleteConstraintRequest method.
1580//    req, resp := client.DeleteConstraintRequest(params)
1581//
1582//    err := req.Send()
1583//    if err == nil { // resp is now filled
1584//        fmt.Println(resp)
1585//    }
1586//
1587// See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/DeleteConstraint
1588func (c *ServiceCatalog) DeleteConstraintRequest(input *DeleteConstraintInput) (req *request.Request, output *DeleteConstraintOutput) {
1589	op := &request.Operation{
1590		Name:       opDeleteConstraint,
1591		HTTPMethod: "POST",
1592		HTTPPath:   "/",
1593	}
1594
1595	if input == nil {
1596		input = &DeleteConstraintInput{}
1597	}
1598
1599	output = &DeleteConstraintOutput{}
1600	req = c.newRequest(op, input, output)
1601	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
1602	return
1603}
1604
1605// DeleteConstraint API operation for AWS Service Catalog.
1606//
1607// Deletes the specified constraint.
1608//
1609// A delegated admin is authorized to invoke this command.
1610//
1611// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1612// with awserr.Error's Code and Message methods to get detailed information about
1613// the error.
1614//
1615// See the AWS API reference guide for AWS Service Catalog's
1616// API operation DeleteConstraint for usage and error information.
1617//
1618// Returned Error Types:
1619//   * ResourceNotFoundException
1620//   The specified resource was not found.
1621//
1622//   * InvalidParametersException
1623//   One or more parameters provided to the operation are not valid.
1624//
1625// See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/DeleteConstraint
1626func (c *ServiceCatalog) DeleteConstraint(input *DeleteConstraintInput) (*DeleteConstraintOutput, error) {
1627	req, out := c.DeleteConstraintRequest(input)
1628	return out, req.Send()
1629}
1630
1631// DeleteConstraintWithContext is the same as DeleteConstraint with the addition of
1632// the ability to pass a context and additional request options.
1633//
1634// See DeleteConstraint for details on how to use this API operation.
1635//
1636// The context must be non-nil and will be used for request cancellation. If
1637// the context is nil a panic will occur. In the future the SDK may create
1638// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1639// for more information on using Contexts.
1640func (c *ServiceCatalog) DeleteConstraintWithContext(ctx aws.Context, input *DeleteConstraintInput, opts ...request.Option) (*DeleteConstraintOutput, error) {
1641	req, out := c.DeleteConstraintRequest(input)
1642	req.SetContext(ctx)
1643	req.ApplyOptions(opts...)
1644	return out, req.Send()
1645}
1646
1647const opDeletePortfolio = "DeletePortfolio"
1648
1649// DeletePortfolioRequest generates a "aws/request.Request" representing the
1650// client's request for the DeletePortfolio operation. The "output" return
1651// value will be populated with the request's response once the request completes
1652// successfully.
1653//
1654// Use "Send" method on the returned Request to send the API call to the service.
1655// the "output" return value is not valid until after Send returns without error.
1656//
1657// See DeletePortfolio for more information on using the DeletePortfolio
1658// API call, and error handling.
1659//
1660// This method is useful when you want to inject custom logic or configuration
1661// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1662//
1663//
1664//    // Example sending a request using the DeletePortfolioRequest method.
1665//    req, resp := client.DeletePortfolioRequest(params)
1666//
1667//    err := req.Send()
1668//    if err == nil { // resp is now filled
1669//        fmt.Println(resp)
1670//    }
1671//
1672// See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/DeletePortfolio
1673func (c *ServiceCatalog) DeletePortfolioRequest(input *DeletePortfolioInput) (req *request.Request, output *DeletePortfolioOutput) {
1674	op := &request.Operation{
1675		Name:       opDeletePortfolio,
1676		HTTPMethod: "POST",
1677		HTTPPath:   "/",
1678	}
1679
1680	if input == nil {
1681		input = &DeletePortfolioInput{}
1682	}
1683
1684	output = &DeletePortfolioOutput{}
1685	req = c.newRequest(op, input, output)
1686	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
1687	return
1688}
1689
1690// DeletePortfolio API operation for AWS Service Catalog.
1691//
1692// Deletes the specified portfolio.
1693//
1694// You cannot delete a portfolio if it was shared with you or if it has associated
1695// products, users, constraints, or shared accounts.
1696//
1697// A delegated admin is authorized to invoke this command.
1698//
1699// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1700// with awserr.Error's Code and Message methods to get detailed information about
1701// the error.
1702//
1703// See the AWS API reference guide for AWS Service Catalog's
1704// API operation DeletePortfolio for usage and error information.
1705//
1706// Returned Error Types:
1707//   * ResourceNotFoundException
1708//   The specified resource was not found.
1709//
1710//   * InvalidParametersException
1711//   One or more parameters provided to the operation are not valid.
1712//
1713//   * ResourceInUseException
1714//   A resource that is currently in use. Ensure that the resource is not in use
1715//   and retry the operation.
1716//
1717//   * TagOptionNotMigratedException
1718//   An operation requiring TagOptions failed because the TagOptions migration
1719//   process has not been performed for this account. Please use the AWS console
1720//   to perform the migration process before retrying the operation.
1721//
1722// See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/DeletePortfolio
1723func (c *ServiceCatalog) DeletePortfolio(input *DeletePortfolioInput) (*DeletePortfolioOutput, error) {
1724	req, out := c.DeletePortfolioRequest(input)
1725	return out, req.Send()
1726}
1727
1728// DeletePortfolioWithContext is the same as DeletePortfolio with the addition of
1729// the ability to pass a context and additional request options.
1730//
1731// See DeletePortfolio for details on how to use this API operation.
1732//
1733// The context must be non-nil and will be used for request cancellation. If
1734// the context is nil a panic will occur. In the future the SDK may create
1735// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1736// for more information on using Contexts.
1737func (c *ServiceCatalog) DeletePortfolioWithContext(ctx aws.Context, input *DeletePortfolioInput, opts ...request.Option) (*DeletePortfolioOutput, error) {
1738	req, out := c.DeletePortfolioRequest(input)
1739	req.SetContext(ctx)
1740	req.ApplyOptions(opts...)
1741	return out, req.Send()
1742}
1743
1744const opDeletePortfolioShare = "DeletePortfolioShare"
1745
1746// DeletePortfolioShareRequest generates a "aws/request.Request" representing the
1747// client's request for the DeletePortfolioShare operation. The "output" return
1748// value will be populated with the request's response once the request completes
1749// successfully.
1750//
1751// Use "Send" method on the returned Request to send the API call to the service.
1752// the "output" return value is not valid until after Send returns without error.
1753//
1754// See DeletePortfolioShare for more information on using the DeletePortfolioShare
1755// API call, and error handling.
1756//
1757// This method is useful when you want to inject custom logic or configuration
1758// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1759//
1760//
1761//    // Example sending a request using the DeletePortfolioShareRequest method.
1762//    req, resp := client.DeletePortfolioShareRequest(params)
1763//
1764//    err := req.Send()
1765//    if err == nil { // resp is now filled
1766//        fmt.Println(resp)
1767//    }
1768//
1769// See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/DeletePortfolioShare
1770func (c *ServiceCatalog) DeletePortfolioShareRequest(input *DeletePortfolioShareInput) (req *request.Request, output *DeletePortfolioShareOutput) {
1771	op := &request.Operation{
1772		Name:       opDeletePortfolioShare,
1773		HTTPMethod: "POST",
1774		HTTPPath:   "/",
1775	}
1776
1777	if input == nil {
1778		input = &DeletePortfolioShareInput{}
1779	}
1780
1781	output = &DeletePortfolioShareOutput{}
1782	req = c.newRequest(op, input, output)
1783	return
1784}
1785
1786// DeletePortfolioShare API operation for AWS Service Catalog.
1787//
1788// Stops sharing the specified portfolio with the specified account or organization
1789// node. Shares to an organization node can only be deleted by the management
1790// account of an organization or by a delegated administrator.
1791//
1792// Note that if a delegated admin is de-registered, portfolio shares created
1793// from that account are removed.
1794//
1795// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1796// with awserr.Error's Code and Message methods to get detailed information about
1797// the error.
1798//
1799// See the AWS API reference guide for AWS Service Catalog's
1800// API operation DeletePortfolioShare for usage and error information.
1801//
1802// Returned Error Types:
1803//   * ResourceNotFoundException
1804//   The specified resource was not found.
1805//
1806//   * InvalidParametersException
1807//   One or more parameters provided to the operation are not valid.
1808//
1809//   * OperationNotSupportedException
1810//   The operation is not supported.
1811//
1812//   * InvalidStateException
1813//   An attempt was made to modify a resource that is in a state that is not valid.
1814//   Check your resources to ensure that they are in valid states before retrying
1815//   the operation.
1816//
1817// See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/DeletePortfolioShare
1818func (c *ServiceCatalog) DeletePortfolioShare(input *DeletePortfolioShareInput) (*DeletePortfolioShareOutput, error) {
1819	req, out := c.DeletePortfolioShareRequest(input)
1820	return out, req.Send()
1821}
1822
1823// DeletePortfolioShareWithContext is the same as DeletePortfolioShare with the addition of
1824// the ability to pass a context and additional request options.
1825//
1826// See DeletePortfolioShare for details on how to use this API operation.
1827//
1828// The context must be non-nil and will be used for request cancellation. If
1829// the context is nil a panic will occur. In the future the SDK may create
1830// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1831// for more information on using Contexts.
1832func (c *ServiceCatalog) DeletePortfolioShareWithContext(ctx aws.Context, input *DeletePortfolioShareInput, opts ...request.Option) (*DeletePortfolioShareOutput, error) {
1833	req, out := c.DeletePortfolioShareRequest(input)
1834	req.SetContext(ctx)
1835	req.ApplyOptions(opts...)
1836	return out, req.Send()
1837}
1838
1839const opDeleteProduct = "DeleteProduct"
1840
1841// DeleteProductRequest generates a "aws/request.Request" representing the
1842// client's request for the DeleteProduct operation. The "output" return
1843// value will be populated with the request's response once the request completes
1844// successfully.
1845//
1846// Use "Send" method on the returned Request to send the API call to the service.
1847// the "output" return value is not valid until after Send returns without error.
1848//
1849// See DeleteProduct for more information on using the DeleteProduct
1850// API call, and error handling.
1851//
1852// This method is useful when you want to inject custom logic or configuration
1853// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1854//
1855//
1856//    // Example sending a request using the DeleteProductRequest method.
1857//    req, resp := client.DeleteProductRequest(params)
1858//
1859//    err := req.Send()
1860//    if err == nil { // resp is now filled
1861//        fmt.Println(resp)
1862//    }
1863//
1864// See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/DeleteProduct
1865func (c *ServiceCatalog) DeleteProductRequest(input *DeleteProductInput) (req *request.Request, output *DeleteProductOutput) {
1866	op := &request.Operation{
1867		Name:       opDeleteProduct,
1868		HTTPMethod: "POST",
1869		HTTPPath:   "/",
1870	}
1871
1872	if input == nil {
1873		input = &DeleteProductInput{}
1874	}
1875
1876	output = &DeleteProductOutput{}
1877	req = c.newRequest(op, input, output)
1878	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
1879	return
1880}
1881
1882// DeleteProduct API operation for AWS Service Catalog.
1883//
1884// Deletes the specified product.
1885//
1886// You cannot delete a product if it was shared with you or is associated with
1887// a portfolio.
1888//
1889// A delegated admin is authorized to invoke this command.
1890//
1891// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1892// with awserr.Error's Code and Message methods to get detailed information about
1893// the error.
1894//
1895// See the AWS API reference guide for AWS Service Catalog's
1896// API operation DeleteProduct for usage and error information.
1897//
1898// Returned Error Types:
1899//   * ResourceNotFoundException
1900//   The specified resource was not found.
1901//
1902//   * ResourceInUseException
1903//   A resource that is currently in use. Ensure that the resource is not in use
1904//   and retry the operation.
1905//
1906//   * InvalidParametersException
1907//   One or more parameters provided to the operation are not valid.
1908//
1909//   * TagOptionNotMigratedException
1910//   An operation requiring TagOptions failed because the TagOptions migration
1911//   process has not been performed for this account. Please use the AWS console
1912//   to perform the migration process before retrying the operation.
1913//
1914// See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/DeleteProduct
1915func (c *ServiceCatalog) DeleteProduct(input *DeleteProductInput) (*DeleteProductOutput, error) {
1916	req, out := c.DeleteProductRequest(input)
1917	return out, req.Send()
1918}
1919
1920// DeleteProductWithContext is the same as DeleteProduct with the addition of
1921// the ability to pass a context and additional request options.
1922//
1923// See DeleteProduct for details on how to use this API operation.
1924//
1925// The context must be non-nil and will be used for request cancellation. If
1926// the context is nil a panic will occur. In the future the SDK may create
1927// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1928// for more information on using Contexts.
1929func (c *ServiceCatalog) DeleteProductWithContext(ctx aws.Context, input *DeleteProductInput, opts ...request.Option) (*DeleteProductOutput, error) {
1930	req, out := c.DeleteProductRequest(input)
1931	req.SetContext(ctx)
1932	req.ApplyOptions(opts...)
1933	return out, req.Send()
1934}
1935
1936const opDeleteProvisionedProductPlan = "DeleteProvisionedProductPlan"
1937
1938// DeleteProvisionedProductPlanRequest generates a "aws/request.Request" representing the
1939// client's request for the DeleteProvisionedProductPlan operation. The "output" return
1940// value will be populated with the request's response once the request completes
1941// successfully.
1942//
1943// Use "Send" method on the returned Request to send the API call to the service.
1944// the "output" return value is not valid until after Send returns without error.
1945//
1946// See DeleteProvisionedProductPlan for more information on using the DeleteProvisionedProductPlan
1947// API call, and error handling.
1948//
1949// This method is useful when you want to inject custom logic or configuration
1950// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1951//
1952//
1953//    // Example sending a request using the DeleteProvisionedProductPlanRequest method.
1954//    req, resp := client.DeleteProvisionedProductPlanRequest(params)
1955//
1956//    err := req.Send()
1957//    if err == nil { // resp is now filled
1958//        fmt.Println(resp)
1959//    }
1960//
1961// See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/DeleteProvisionedProductPlan
1962func (c *ServiceCatalog) DeleteProvisionedProductPlanRequest(input *DeleteProvisionedProductPlanInput) (req *request.Request, output *DeleteProvisionedProductPlanOutput) {
1963	op := &request.Operation{
1964		Name:       opDeleteProvisionedProductPlan,
1965		HTTPMethod: "POST",
1966		HTTPPath:   "/",
1967	}
1968
1969	if input == nil {
1970		input = &DeleteProvisionedProductPlanInput{}
1971	}
1972
1973	output = &DeleteProvisionedProductPlanOutput{}
1974	req = c.newRequest(op, input, output)
1975	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
1976	return
1977}
1978
1979// DeleteProvisionedProductPlan API operation for AWS Service Catalog.
1980//
1981// Deletes the specified plan.
1982//
1983// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1984// with awserr.Error's Code and Message methods to get detailed information about
1985// the error.
1986//
1987// See the AWS API reference guide for AWS Service Catalog's
1988// API operation DeleteProvisionedProductPlan for usage and error information.
1989//
1990// Returned Error Types:
1991//   * InvalidParametersException
1992//   One or more parameters provided to the operation are not valid.
1993//
1994//   * ResourceNotFoundException
1995//   The specified resource was not found.
1996//
1997// See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/DeleteProvisionedProductPlan
1998func (c *ServiceCatalog) DeleteProvisionedProductPlan(input *DeleteProvisionedProductPlanInput) (*DeleteProvisionedProductPlanOutput, error) {
1999	req, out := c.DeleteProvisionedProductPlanRequest(input)
2000	return out, req.Send()
2001}
2002
2003// DeleteProvisionedProductPlanWithContext is the same as DeleteProvisionedProductPlan with the addition of
2004// the ability to pass a context and additional request options.
2005//
2006// See DeleteProvisionedProductPlan for details on how to use this API operation.
2007//
2008// The context must be non-nil and will be used for request cancellation. If
2009// the context is nil a panic will occur. In the future the SDK may create
2010// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2011// for more information on using Contexts.
2012func (c *ServiceCatalog) DeleteProvisionedProductPlanWithContext(ctx aws.Context, input *DeleteProvisionedProductPlanInput, opts ...request.Option) (*DeleteProvisionedProductPlanOutput, error) {
2013	req, out := c.DeleteProvisionedProductPlanRequest(input)
2014	req.SetContext(ctx)
2015	req.ApplyOptions(opts...)
2016	return out, req.Send()
2017}
2018
2019const opDeleteProvisioningArtifact = "DeleteProvisioningArtifact"
2020
2021// DeleteProvisioningArtifactRequest generates a "aws/request.Request" representing the
2022// client's request for the DeleteProvisioningArtifact operation. The "output" return
2023// value will be populated with the request's response once the request completes
2024// successfully.
2025//
2026// Use "Send" method on the returned Request to send the API call to the service.
2027// the "output" return value is not valid until after Send returns without error.
2028//
2029// See DeleteProvisioningArtifact for more information on using the DeleteProvisioningArtifact
2030// API call, and error handling.
2031//
2032// This method is useful when you want to inject custom logic or configuration
2033// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2034//
2035//
2036//    // Example sending a request using the DeleteProvisioningArtifactRequest method.
2037//    req, resp := client.DeleteProvisioningArtifactRequest(params)
2038//
2039//    err := req.Send()
2040//    if err == nil { // resp is now filled
2041//        fmt.Println(resp)
2042//    }
2043//
2044// See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/DeleteProvisioningArtifact
2045func (c *ServiceCatalog) DeleteProvisioningArtifactRequest(input *DeleteProvisioningArtifactInput) (req *request.Request, output *DeleteProvisioningArtifactOutput) {
2046	op := &request.Operation{
2047		Name:       opDeleteProvisioningArtifact,
2048		HTTPMethod: "POST",
2049		HTTPPath:   "/",
2050	}
2051
2052	if input == nil {
2053		input = &DeleteProvisioningArtifactInput{}
2054	}
2055
2056	output = &DeleteProvisioningArtifactOutput{}
2057	req = c.newRequest(op, input, output)
2058	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
2059	return
2060}
2061
2062// DeleteProvisioningArtifact API operation for AWS Service Catalog.
2063//
2064// Deletes the specified provisioning artifact (also known as a version) for
2065// the specified product.
2066//
2067// You cannot delete a provisioning artifact associated with a product that
2068// was shared with you. You cannot delete the last provisioning artifact for
2069// a product, because a product must have at least one provisioning artifact.
2070//
2071// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2072// with awserr.Error's Code and Message methods to get detailed information about
2073// the error.
2074//
2075// See the AWS API reference guide for AWS Service Catalog's
2076// API operation DeleteProvisioningArtifact for usage and error information.
2077//
2078// Returned Error Types:
2079//   * ResourceNotFoundException
2080//   The specified resource was not found.
2081//
2082//   * ResourceInUseException
2083//   A resource that is currently in use. Ensure that the resource is not in use
2084//   and retry the operation.
2085//
2086//   * InvalidParametersException
2087//   One or more parameters provided to the operation are not valid.
2088//
2089// See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/DeleteProvisioningArtifact
2090func (c *ServiceCatalog) DeleteProvisioningArtifact(input *DeleteProvisioningArtifactInput) (*DeleteProvisioningArtifactOutput, error) {
2091	req, out := c.DeleteProvisioningArtifactRequest(input)
2092	return out, req.Send()
2093}
2094
2095// DeleteProvisioningArtifactWithContext is the same as DeleteProvisioningArtifact with the addition of
2096// the ability to pass a context and additional request options.
2097//
2098// See DeleteProvisioningArtifact for details on how to use this API operation.
2099//
2100// The context must be non-nil and will be used for request cancellation. If
2101// the context is nil a panic will occur. In the future the SDK may create
2102// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2103// for more information on using Contexts.
2104func (c *ServiceCatalog) DeleteProvisioningArtifactWithContext(ctx aws.Context, input *DeleteProvisioningArtifactInput, opts ...request.Option) (*DeleteProvisioningArtifactOutput, error) {
2105	req, out := c.DeleteProvisioningArtifactRequest(input)
2106	req.SetContext(ctx)
2107	req.ApplyOptions(opts...)
2108	return out, req.Send()
2109}
2110
2111const opDeleteServiceAction = "DeleteServiceAction"
2112
2113// DeleteServiceActionRequest generates a "aws/request.Request" representing the
2114// client's request for the DeleteServiceAction operation. The "output" return
2115// value will be populated with the request's response once the request completes
2116// successfully.
2117//
2118// Use "Send" method on the returned Request to send the API call to the service.
2119// the "output" return value is not valid until after Send returns without error.
2120//
2121// See DeleteServiceAction for more information on using the DeleteServiceAction
2122// API call, and error handling.
2123//
2124// This method is useful when you want to inject custom logic or configuration
2125// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2126//
2127//
2128//    // Example sending a request using the DeleteServiceActionRequest method.
2129//    req, resp := client.DeleteServiceActionRequest(params)
2130//
2131//    err := req.Send()
2132//    if err == nil { // resp is now filled
2133//        fmt.Println(resp)
2134//    }
2135//
2136// See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/DeleteServiceAction
2137func (c *ServiceCatalog) DeleteServiceActionRequest(input *DeleteServiceActionInput) (req *request.Request, output *DeleteServiceActionOutput) {
2138	op := &request.Operation{
2139		Name:       opDeleteServiceAction,
2140		HTTPMethod: "POST",
2141		HTTPPath:   "/",
2142	}
2143
2144	if input == nil {
2145		input = &DeleteServiceActionInput{}
2146	}
2147
2148	output = &DeleteServiceActionOutput{}
2149	req = c.newRequest(op, input, output)
2150	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
2151	return
2152}
2153
2154// DeleteServiceAction API operation for AWS Service Catalog.
2155//
2156// Deletes a self-service action.
2157//
2158// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2159// with awserr.Error's Code and Message methods to get detailed information about
2160// the error.
2161//
2162// See the AWS API reference guide for AWS Service Catalog's
2163// API operation DeleteServiceAction for usage and error information.
2164//
2165// Returned Error Types:
2166//   * ResourceNotFoundException
2167//   The specified resource was not found.
2168//
2169//   * ResourceInUseException
2170//   A resource that is currently in use. Ensure that the resource is not in use
2171//   and retry the operation.
2172//
2173// See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/DeleteServiceAction
2174func (c *ServiceCatalog) DeleteServiceAction(input *DeleteServiceActionInput) (*DeleteServiceActionOutput, error) {
2175	req, out := c.DeleteServiceActionRequest(input)
2176	return out, req.Send()
2177}
2178
2179// DeleteServiceActionWithContext is the same as DeleteServiceAction with the addition of
2180// the ability to pass a context and additional request options.
2181//
2182// See DeleteServiceAction for details on how to use this API operation.
2183//
2184// The context must be non-nil and will be used for request cancellation. If
2185// the context is nil a panic will occur. In the future the SDK may create
2186// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2187// for more information on using Contexts.
2188func (c *ServiceCatalog) DeleteServiceActionWithContext(ctx aws.Context, input *DeleteServiceActionInput, opts ...request.Option) (*DeleteServiceActionOutput, error) {
2189	req, out := c.DeleteServiceActionRequest(input)
2190	req.SetContext(ctx)
2191	req.ApplyOptions(opts...)
2192	return out, req.Send()
2193}
2194
2195const opDeleteTagOption = "DeleteTagOption"
2196
2197// DeleteTagOptionRequest generates a "aws/request.Request" representing the
2198// client's request for the DeleteTagOption operation. The "output" return
2199// value will be populated with the request's response once the request completes
2200// successfully.
2201//
2202// Use "Send" method on the returned Request to send the API call to the service.
2203// the "output" return value is not valid until after Send returns without error.
2204//
2205// See DeleteTagOption for more information on using the DeleteTagOption
2206// API call, and error handling.
2207//
2208// This method is useful when you want to inject custom logic or configuration
2209// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2210//
2211//
2212//    // Example sending a request using the DeleteTagOptionRequest method.
2213//    req, resp := client.DeleteTagOptionRequest(params)
2214//
2215//    err := req.Send()
2216//    if err == nil { // resp is now filled
2217//        fmt.Println(resp)
2218//    }
2219//
2220// See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/DeleteTagOption
2221func (c *ServiceCatalog) DeleteTagOptionRequest(input *DeleteTagOptionInput) (req *request.Request, output *DeleteTagOptionOutput) {
2222	op := &request.Operation{
2223		Name:       opDeleteTagOption,
2224		HTTPMethod: "POST",
2225		HTTPPath:   "/",
2226	}
2227
2228	if input == nil {
2229		input = &DeleteTagOptionInput{}
2230	}
2231
2232	output = &DeleteTagOptionOutput{}
2233	req = c.newRequest(op, input, output)
2234	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
2235	return
2236}
2237
2238// DeleteTagOption API operation for AWS Service Catalog.
2239//
2240// Deletes the specified TagOption.
2241//
2242// You cannot delete a TagOption if it is associated with a product or portfolio.
2243//
2244// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2245// with awserr.Error's Code and Message methods to get detailed information about
2246// the error.
2247//
2248// See the AWS API reference guide for AWS Service Catalog's
2249// API operation DeleteTagOption for usage and error information.
2250//
2251// Returned Error Types:
2252//   * TagOptionNotMigratedException
2253//   An operation requiring TagOptions failed because the TagOptions migration
2254//   process has not been performed for this account. Please use the AWS console
2255//   to perform the migration process before retrying the operation.
2256//
2257//   * ResourceInUseException
2258//   A resource that is currently in use. Ensure that the resource is not in use
2259//   and retry the operation.
2260//
2261//   * ResourceNotFoundException
2262//   The specified resource was not found.
2263//
2264// See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/DeleteTagOption
2265func (c *ServiceCatalog) DeleteTagOption(input *DeleteTagOptionInput) (*DeleteTagOptionOutput, error) {
2266	req, out := c.DeleteTagOptionRequest(input)
2267	return out, req.Send()
2268}
2269
2270// DeleteTagOptionWithContext is the same as DeleteTagOption with the addition of
2271// the ability to pass a context and additional request options.
2272//
2273// See DeleteTagOption for details on how to use this API operation.
2274//
2275// The context must be non-nil and will be used for request cancellation. If
2276// the context is nil a panic will occur. In the future the SDK may create
2277// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2278// for more information on using Contexts.
2279func (c *ServiceCatalog) DeleteTagOptionWithContext(ctx aws.Context, input *DeleteTagOptionInput, opts ...request.Option) (*DeleteTagOptionOutput, error) {
2280	req, out := c.DeleteTagOptionRequest(input)
2281	req.SetContext(ctx)
2282	req.ApplyOptions(opts...)
2283	return out, req.Send()
2284}
2285
2286const opDescribeConstraint = "DescribeConstraint"
2287
2288// DescribeConstraintRequest generates a "aws/request.Request" representing the
2289// client's request for the DescribeConstraint operation. The "output" return
2290// value will be populated with the request's response once the request completes
2291// successfully.
2292//
2293// Use "Send" method on the returned Request to send the API call to the service.
2294// the "output" return value is not valid until after Send returns without error.
2295//
2296// See DescribeConstraint for more information on using the DescribeConstraint
2297// API call, and error handling.
2298//
2299// This method is useful when you want to inject custom logic or configuration
2300// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2301//
2302//
2303//    // Example sending a request using the DescribeConstraintRequest method.
2304//    req, resp := client.DescribeConstraintRequest(params)
2305//
2306//    err := req.Send()
2307//    if err == nil { // resp is now filled
2308//        fmt.Println(resp)
2309//    }
2310//
2311// See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/DescribeConstraint
2312func (c *ServiceCatalog) DescribeConstraintRequest(input *DescribeConstraintInput) (req *request.Request, output *DescribeConstraintOutput) {
2313	op := &request.Operation{
2314		Name:       opDescribeConstraint,
2315		HTTPMethod: "POST",
2316		HTTPPath:   "/",
2317	}
2318
2319	if input == nil {
2320		input = &DescribeConstraintInput{}
2321	}
2322
2323	output = &DescribeConstraintOutput{}
2324	req = c.newRequest(op, input, output)
2325	return
2326}
2327
2328// DescribeConstraint API operation for AWS Service Catalog.
2329//
2330// Gets information about the specified constraint.
2331//
2332// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2333// with awserr.Error's Code and Message methods to get detailed information about
2334// the error.
2335//
2336// See the AWS API reference guide for AWS Service Catalog's
2337// API operation DescribeConstraint for usage and error information.
2338//
2339// Returned Error Types:
2340//   * ResourceNotFoundException
2341//   The specified resource was not found.
2342//
2343// See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/DescribeConstraint
2344func (c *ServiceCatalog) DescribeConstraint(input *DescribeConstraintInput) (*DescribeConstraintOutput, error) {
2345	req, out := c.DescribeConstraintRequest(input)
2346	return out, req.Send()
2347}
2348
2349// DescribeConstraintWithContext is the same as DescribeConstraint with the addition of
2350// the ability to pass a context and additional request options.
2351//
2352// See DescribeConstraint for details on how to use this API operation.
2353//
2354// The context must be non-nil and will be used for request cancellation. If
2355// the context is nil a panic will occur. In the future the SDK may create
2356// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2357// for more information on using Contexts.
2358func (c *ServiceCatalog) DescribeConstraintWithContext(ctx aws.Context, input *DescribeConstraintInput, opts ...request.Option) (*DescribeConstraintOutput, error) {
2359	req, out := c.DescribeConstraintRequest(input)
2360	req.SetContext(ctx)
2361	req.ApplyOptions(opts...)
2362	return out, req.Send()
2363}
2364
2365const opDescribeCopyProductStatus = "DescribeCopyProductStatus"
2366
2367// DescribeCopyProductStatusRequest generates a "aws/request.Request" representing the
2368// client's request for the DescribeCopyProductStatus operation. The "output" return
2369// value will be populated with the request's response once the request completes
2370// successfully.
2371//
2372// Use "Send" method on the returned Request to send the API call to the service.
2373// the "output" return value is not valid until after Send returns without error.
2374//
2375// See DescribeCopyProductStatus for more information on using the DescribeCopyProductStatus
2376// API call, and error handling.
2377//
2378// This method is useful when you want to inject custom logic or configuration
2379// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2380//
2381//
2382//    // Example sending a request using the DescribeCopyProductStatusRequest method.
2383//    req, resp := client.DescribeCopyProductStatusRequest(params)
2384//
2385//    err := req.Send()
2386//    if err == nil { // resp is now filled
2387//        fmt.Println(resp)
2388//    }
2389//
2390// See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/DescribeCopyProductStatus
2391func (c *ServiceCatalog) DescribeCopyProductStatusRequest(input *DescribeCopyProductStatusInput) (req *request.Request, output *DescribeCopyProductStatusOutput) {
2392	op := &request.Operation{
2393		Name:       opDescribeCopyProductStatus,
2394		HTTPMethod: "POST",
2395		HTTPPath:   "/",
2396	}
2397
2398	if input == nil {
2399		input = &DescribeCopyProductStatusInput{}
2400	}
2401
2402	output = &DescribeCopyProductStatusOutput{}
2403	req = c.newRequest(op, input, output)
2404	return
2405}
2406
2407// DescribeCopyProductStatus API operation for AWS Service Catalog.
2408//
2409// Gets the status of the specified copy product operation.
2410//
2411// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2412// with awserr.Error's Code and Message methods to get detailed information about
2413// the error.
2414//
2415// See the AWS API reference guide for AWS Service Catalog's
2416// API operation DescribeCopyProductStatus for usage and error information.
2417//
2418// Returned Error Types:
2419//   * ResourceNotFoundException
2420//   The specified resource was not found.
2421//
2422// See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/DescribeCopyProductStatus
2423func (c *ServiceCatalog) DescribeCopyProductStatus(input *DescribeCopyProductStatusInput) (*DescribeCopyProductStatusOutput, error) {
2424	req, out := c.DescribeCopyProductStatusRequest(input)
2425	return out, req.Send()
2426}
2427
2428// DescribeCopyProductStatusWithContext is the same as DescribeCopyProductStatus with the addition of
2429// the ability to pass a context and additional request options.
2430//
2431// See DescribeCopyProductStatus for details on how to use this API operation.
2432//
2433// The context must be non-nil and will be used for request cancellation. If
2434// the context is nil a panic will occur. In the future the SDK may create
2435// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2436// for more information on using Contexts.
2437func (c *ServiceCatalog) DescribeCopyProductStatusWithContext(ctx aws.Context, input *DescribeCopyProductStatusInput, opts ...request.Option) (*DescribeCopyProductStatusOutput, error) {
2438	req, out := c.DescribeCopyProductStatusRequest(input)
2439	req.SetContext(ctx)
2440	req.ApplyOptions(opts...)
2441	return out, req.Send()
2442}
2443
2444const opDescribePortfolio = "DescribePortfolio"
2445
2446// DescribePortfolioRequest generates a "aws/request.Request" representing the
2447// client's request for the DescribePortfolio operation. The "output" return
2448// value will be populated with the request's response once the request completes
2449// successfully.
2450//
2451// Use "Send" method on the returned Request to send the API call to the service.
2452// the "output" return value is not valid until after Send returns without error.
2453//
2454// See DescribePortfolio for more information on using the DescribePortfolio
2455// API call, and error handling.
2456//
2457// This method is useful when you want to inject custom logic or configuration
2458// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2459//
2460//
2461//    // Example sending a request using the DescribePortfolioRequest method.
2462//    req, resp := client.DescribePortfolioRequest(params)
2463//
2464//    err := req.Send()
2465//    if err == nil { // resp is now filled
2466//        fmt.Println(resp)
2467//    }
2468//
2469// See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/DescribePortfolio
2470func (c *ServiceCatalog) DescribePortfolioRequest(input *DescribePortfolioInput) (req *request.Request, output *DescribePortfolioOutput) {
2471	op := &request.Operation{
2472		Name:       opDescribePortfolio,
2473		HTTPMethod: "POST",
2474		HTTPPath:   "/",
2475	}
2476
2477	if input == nil {
2478		input = &DescribePortfolioInput{}
2479	}
2480
2481	output = &DescribePortfolioOutput{}
2482	req = c.newRequest(op, input, output)
2483	return
2484}
2485
2486// DescribePortfolio API operation for AWS Service Catalog.
2487//
2488// Gets information about the specified portfolio.
2489//
2490// A delegated admin is authorized to invoke this command.
2491//
2492// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2493// with awserr.Error's Code and Message methods to get detailed information about
2494// the error.
2495//
2496// See the AWS API reference guide for AWS Service Catalog's
2497// API operation DescribePortfolio for usage and error information.
2498//
2499// Returned Error Types:
2500//   * ResourceNotFoundException
2501//   The specified resource was not found.
2502//
2503// See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/DescribePortfolio
2504func (c *ServiceCatalog) DescribePortfolio(input *DescribePortfolioInput) (*DescribePortfolioOutput, error) {
2505	req, out := c.DescribePortfolioRequest(input)
2506	return out, req.Send()
2507}
2508
2509// DescribePortfolioWithContext is the same as DescribePortfolio with the addition of
2510// the ability to pass a context and additional request options.
2511//
2512// See DescribePortfolio for details on how to use this API operation.
2513//
2514// The context must be non-nil and will be used for request cancellation. If
2515// the context is nil a panic will occur. In the future the SDK may create
2516// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2517// for more information on using Contexts.
2518func (c *ServiceCatalog) DescribePortfolioWithContext(ctx aws.Context, input *DescribePortfolioInput, opts ...request.Option) (*DescribePortfolioOutput, error) {
2519	req, out := c.DescribePortfolioRequest(input)
2520	req.SetContext(ctx)
2521	req.ApplyOptions(opts...)
2522	return out, req.Send()
2523}
2524
2525const opDescribePortfolioShareStatus = "DescribePortfolioShareStatus"
2526
2527// DescribePortfolioShareStatusRequest generates a "aws/request.Request" representing the
2528// client's request for the DescribePortfolioShareStatus operation. The "output" return
2529// value will be populated with the request's response once the request completes
2530// successfully.
2531//
2532// Use "Send" method on the returned Request to send the API call to the service.
2533// the "output" return value is not valid until after Send returns without error.
2534//
2535// See DescribePortfolioShareStatus for more information on using the DescribePortfolioShareStatus
2536// API call, and error handling.
2537//
2538// This method is useful when you want to inject custom logic or configuration
2539// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2540//
2541//
2542//    // Example sending a request using the DescribePortfolioShareStatusRequest method.
2543//    req, resp := client.DescribePortfolioShareStatusRequest(params)
2544//
2545//    err := req.Send()
2546//    if err == nil { // resp is now filled
2547//        fmt.Println(resp)
2548//    }
2549//
2550// See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/DescribePortfolioShareStatus
2551func (c *ServiceCatalog) DescribePortfolioShareStatusRequest(input *DescribePortfolioShareStatusInput) (req *request.Request, output *DescribePortfolioShareStatusOutput) {
2552	op := &request.Operation{
2553		Name:       opDescribePortfolioShareStatus,
2554		HTTPMethod: "POST",
2555		HTTPPath:   "/",
2556	}
2557
2558	if input == nil {
2559		input = &DescribePortfolioShareStatusInput{}
2560	}
2561
2562	output = &DescribePortfolioShareStatusOutput{}
2563	req = c.newRequest(op, input, output)
2564	return
2565}
2566
2567// DescribePortfolioShareStatus API operation for AWS Service Catalog.
2568//
2569// Gets the status of the specified portfolio share operation. This API can
2570// only be called by the management account in the organization or by a delegated
2571// admin.
2572//
2573// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2574// with awserr.Error's Code and Message methods to get detailed information about
2575// the error.
2576//
2577// See the AWS API reference guide for AWS Service Catalog's
2578// API operation DescribePortfolioShareStatus for usage and error information.
2579//
2580// Returned Error Types:
2581//   * ResourceNotFoundException
2582//   The specified resource was not found.
2583//
2584//   * InvalidParametersException
2585//   One or more parameters provided to the operation are not valid.
2586//
2587//   * OperationNotSupportedException
2588//   The operation is not supported.
2589//
2590// See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/DescribePortfolioShareStatus
2591func (c *ServiceCatalog) DescribePortfolioShareStatus(input *DescribePortfolioShareStatusInput) (*DescribePortfolioShareStatusOutput, error) {
2592	req, out := c.DescribePortfolioShareStatusRequest(input)
2593	return out, req.Send()
2594}
2595
2596// DescribePortfolioShareStatusWithContext is the same as DescribePortfolioShareStatus with the addition of
2597// the ability to pass a context and additional request options.
2598//
2599// See DescribePortfolioShareStatus for details on how to use this API operation.
2600//
2601// The context must be non-nil and will be used for request cancellation. If
2602// the context is nil a panic will occur. In the future the SDK may create
2603// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2604// for more information on using Contexts.
2605func (c *ServiceCatalog) DescribePortfolioShareStatusWithContext(ctx aws.Context, input *DescribePortfolioShareStatusInput, opts ...request.Option) (*DescribePortfolioShareStatusOutput, error) {
2606	req, out := c.DescribePortfolioShareStatusRequest(input)
2607	req.SetContext(ctx)
2608	req.ApplyOptions(opts...)
2609	return out, req.Send()
2610}
2611
2612const opDescribePortfolioShares = "DescribePortfolioShares"
2613
2614// DescribePortfolioSharesRequest generates a "aws/request.Request" representing the
2615// client's request for the DescribePortfolioShares operation. The "output" return
2616// value will be populated with the request's response once the request completes
2617// successfully.
2618//
2619// Use "Send" method on the returned Request to send the API call to the service.
2620// the "output" return value is not valid until after Send returns without error.
2621//
2622// See DescribePortfolioShares for more information on using the DescribePortfolioShares
2623// API call, and error handling.
2624//
2625// This method is useful when you want to inject custom logic or configuration
2626// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2627//
2628//
2629//    // Example sending a request using the DescribePortfolioSharesRequest method.
2630//    req, resp := client.DescribePortfolioSharesRequest(params)
2631//
2632//    err := req.Send()
2633//    if err == nil { // resp is now filled
2634//        fmt.Println(resp)
2635//    }
2636//
2637// See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/DescribePortfolioShares
2638func (c *ServiceCatalog) DescribePortfolioSharesRequest(input *DescribePortfolioSharesInput) (req *request.Request, output *DescribePortfolioSharesOutput) {
2639	op := &request.Operation{
2640		Name:       opDescribePortfolioShares,
2641		HTTPMethod: "POST",
2642		HTTPPath:   "/",
2643		Paginator: &request.Paginator{
2644			InputTokens:     []string{"PageToken"},
2645			OutputTokens:    []string{"NextPageToken"},
2646			LimitToken:      "PageSize",
2647			TruncationToken: "",
2648		},
2649	}
2650
2651	if input == nil {
2652		input = &DescribePortfolioSharesInput{}
2653	}
2654
2655	output = &DescribePortfolioSharesOutput{}
2656	req = c.newRequest(op, input, output)
2657	return
2658}
2659
2660// DescribePortfolioShares API operation for AWS Service Catalog.
2661//
2662// Returns a summary of each of the portfolio shares that were created for the
2663// specified portfolio.
2664//
2665// You can use this API to determine which accounts or organizational nodes
2666// this portfolio have been shared, whether the recipient entity has imported
2667// the share, and whether TagOptions are included with the share.
2668//
2669// The PortfolioId and Type parameters are both required.
2670//
2671// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2672// with awserr.Error's Code and Message methods to get detailed information about
2673// the error.
2674//
2675// See the AWS API reference guide for AWS Service Catalog's
2676// API operation DescribePortfolioShares for usage and error information.
2677//
2678// Returned Error Types:
2679//   * ResourceNotFoundException
2680//   The specified resource was not found.
2681//
2682//   * InvalidParametersException
2683//   One or more parameters provided to the operation are not valid.
2684//
2685// See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/DescribePortfolioShares
2686func (c *ServiceCatalog) DescribePortfolioShares(input *DescribePortfolioSharesInput) (*DescribePortfolioSharesOutput, error) {
2687	req, out := c.DescribePortfolioSharesRequest(input)
2688	return out, req.Send()
2689}
2690
2691// DescribePortfolioSharesWithContext is the same as DescribePortfolioShares with the addition of
2692// the ability to pass a context and additional request options.
2693//
2694// See DescribePortfolioShares for details on how to use this API operation.
2695//
2696// The context must be non-nil and will be used for request cancellation. If
2697// the context is nil a panic will occur. In the future the SDK may create
2698// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2699// for more information on using Contexts.
2700func (c *ServiceCatalog) DescribePortfolioSharesWithContext(ctx aws.Context, input *DescribePortfolioSharesInput, opts ...request.Option) (*DescribePortfolioSharesOutput, error) {
2701	req, out := c.DescribePortfolioSharesRequest(input)
2702	req.SetContext(ctx)
2703	req.ApplyOptions(opts...)
2704	return out, req.Send()
2705}
2706
2707// DescribePortfolioSharesPages iterates over the pages of a DescribePortfolioShares operation,
2708// calling the "fn" function with the response data for each page. To stop
2709// iterating, return false from the fn function.
2710//
2711// See DescribePortfolioShares method for more information on how to use this operation.
2712//
2713// Note: This operation can generate multiple requests to a service.
2714//
2715//    // Example iterating over at most 3 pages of a DescribePortfolioShares operation.
2716//    pageNum := 0
2717//    err := client.DescribePortfolioSharesPages(params,
2718//        func(page *servicecatalog.DescribePortfolioSharesOutput, lastPage bool) bool {
2719//            pageNum++
2720//            fmt.Println(page)
2721//            return pageNum <= 3
2722//        })
2723//
2724func (c *ServiceCatalog) DescribePortfolioSharesPages(input *DescribePortfolioSharesInput, fn func(*DescribePortfolioSharesOutput, bool) bool) error {
2725	return c.DescribePortfolioSharesPagesWithContext(aws.BackgroundContext(), input, fn)
2726}
2727
2728// DescribePortfolioSharesPagesWithContext same as DescribePortfolioSharesPages except
2729// it takes a Context and allows setting request options on the pages.
2730//
2731// The context must be non-nil and will be used for request cancellation. If
2732// the context is nil a panic will occur. In the future the SDK may create
2733// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2734// for more information on using Contexts.
2735func (c *ServiceCatalog) DescribePortfolioSharesPagesWithContext(ctx aws.Context, input *DescribePortfolioSharesInput, fn func(*DescribePortfolioSharesOutput, bool) bool, opts ...request.Option) error {
2736	p := request.Pagination{
2737		NewRequest: func() (*request.Request, error) {
2738			var inCpy *DescribePortfolioSharesInput
2739			if input != nil {
2740				tmp := *input
2741				inCpy = &tmp
2742			}
2743			req, _ := c.DescribePortfolioSharesRequest(inCpy)
2744			req.SetContext(ctx)
2745			req.ApplyOptions(opts...)
2746			return req, nil
2747		},
2748	}
2749
2750	for p.Next() {
2751		if !fn(p.Page().(*DescribePortfolioSharesOutput), !p.HasNextPage()) {
2752			break
2753		}
2754	}
2755
2756	return p.Err()
2757}
2758
2759const opDescribeProduct = "DescribeProduct"
2760
2761// DescribeProductRequest generates a "aws/request.Request" representing the
2762// client's request for the DescribeProduct operation. The "output" return
2763// value will be populated with the request's response once the request completes
2764// successfully.
2765//
2766// Use "Send" method on the returned Request to send the API call to the service.
2767// the "output" return value is not valid until after Send returns without error.
2768//
2769// See DescribeProduct for more information on using the DescribeProduct
2770// API call, and error handling.
2771//
2772// This method is useful when you want to inject custom logic or configuration
2773// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2774//
2775//
2776//    // Example sending a request using the DescribeProductRequest method.
2777//    req, resp := client.DescribeProductRequest(params)
2778//
2779//    err := req.Send()
2780//    if err == nil { // resp is now filled
2781//        fmt.Println(resp)
2782//    }
2783//
2784// See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/DescribeProduct
2785func (c *ServiceCatalog) DescribeProductRequest(input *DescribeProductInput) (req *request.Request, output *DescribeProductOutput) {
2786	op := &request.Operation{
2787		Name:       opDescribeProduct,
2788		HTTPMethod: "POST",
2789		HTTPPath:   "/",
2790	}
2791
2792	if input == nil {
2793		input = &DescribeProductInput{}
2794	}
2795
2796	output = &DescribeProductOutput{}
2797	req = c.newRequest(op, input, output)
2798	return
2799}
2800
2801// DescribeProduct API operation for AWS Service Catalog.
2802//
2803// Gets information about the specified product.
2804//
2805// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2806// with awserr.Error's Code and Message methods to get detailed information about
2807// the error.
2808//
2809// See the AWS API reference guide for AWS Service Catalog's
2810// API operation DescribeProduct for usage and error information.
2811//
2812// Returned Error Types:
2813//   * ResourceNotFoundException
2814//   The specified resource was not found.
2815//
2816//   * InvalidParametersException
2817//   One or more parameters provided to the operation are not valid.
2818//
2819// See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/DescribeProduct
2820func (c *ServiceCatalog) DescribeProduct(input *DescribeProductInput) (*DescribeProductOutput, error) {
2821	req, out := c.DescribeProductRequest(input)
2822	return out, req.Send()
2823}
2824
2825// DescribeProductWithContext is the same as DescribeProduct with the addition of
2826// the ability to pass a context and additional request options.
2827//
2828// See DescribeProduct for details on how to use this API operation.
2829//
2830// The context must be non-nil and will be used for request cancellation. If
2831// the context is nil a panic will occur. In the future the SDK may create
2832// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2833// for more information on using Contexts.
2834func (c *ServiceCatalog) DescribeProductWithContext(ctx aws.Context, input *DescribeProductInput, opts ...request.Option) (*DescribeProductOutput, error) {
2835	req, out := c.DescribeProductRequest(input)
2836	req.SetContext(ctx)
2837	req.ApplyOptions(opts...)
2838	return out, req.Send()
2839}
2840
2841const opDescribeProductAsAdmin = "DescribeProductAsAdmin"
2842
2843// DescribeProductAsAdminRequest generates a "aws/request.Request" representing the
2844// client's request for the DescribeProductAsAdmin operation. The "output" return
2845// value will be populated with the request's response once the request completes
2846// successfully.
2847//
2848// Use "Send" method on the returned Request to send the API call to the service.
2849// the "output" return value is not valid until after Send returns without error.
2850//
2851// See DescribeProductAsAdmin for more information on using the DescribeProductAsAdmin
2852// API call, and error handling.
2853//
2854// This method is useful when you want to inject custom logic or configuration
2855// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2856//
2857//
2858//    // Example sending a request using the DescribeProductAsAdminRequest method.
2859//    req, resp := client.DescribeProductAsAdminRequest(params)
2860//
2861//    err := req.Send()
2862//    if err == nil { // resp is now filled
2863//        fmt.Println(resp)
2864//    }
2865//
2866// See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/DescribeProductAsAdmin
2867func (c *ServiceCatalog) DescribeProductAsAdminRequest(input *DescribeProductAsAdminInput) (req *request.Request, output *DescribeProductAsAdminOutput) {
2868	op := &request.Operation{
2869		Name:       opDescribeProductAsAdmin,
2870		HTTPMethod: "POST",
2871		HTTPPath:   "/",
2872	}
2873
2874	if input == nil {
2875		input = &DescribeProductAsAdminInput{}
2876	}
2877
2878	output = &DescribeProductAsAdminOutput{}
2879	req = c.newRequest(op, input, output)
2880	return
2881}
2882
2883// DescribeProductAsAdmin API operation for AWS Service Catalog.
2884//
2885// Gets information about the specified product. This operation is run with
2886// administrator access.
2887//
2888// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2889// with awserr.Error's Code and Message methods to get detailed information about
2890// the error.
2891//
2892// See the AWS API reference guide for AWS Service Catalog's
2893// API operation DescribeProductAsAdmin for usage and error information.
2894//
2895// Returned Error Types:
2896//   * ResourceNotFoundException
2897//   The specified resource was not found.
2898//
2899//   * InvalidParametersException
2900//   One or more parameters provided to the operation are not valid.
2901//
2902// See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/DescribeProductAsAdmin
2903func (c *ServiceCatalog) DescribeProductAsAdmin(input *DescribeProductAsAdminInput) (*DescribeProductAsAdminOutput, error) {
2904	req, out := c.DescribeProductAsAdminRequest(input)
2905	return out, req.Send()
2906}
2907
2908// DescribeProductAsAdminWithContext is the same as DescribeProductAsAdmin with the addition of
2909// the ability to pass a context and additional request options.
2910//
2911// See DescribeProductAsAdmin for details on how to use this API operation.
2912//
2913// The context must be non-nil and will be used for request cancellation. If
2914// the context is nil a panic will occur. In the future the SDK may create
2915// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2916// for more information on using Contexts.
2917func (c *ServiceCatalog) DescribeProductAsAdminWithContext(ctx aws.Context, input *DescribeProductAsAdminInput, opts ...request.Option) (*DescribeProductAsAdminOutput, error) {
2918	req, out := c.DescribeProductAsAdminRequest(input)
2919	req.SetContext(ctx)
2920	req.ApplyOptions(opts...)
2921	return out, req.Send()
2922}
2923
2924const opDescribeProductView = "DescribeProductView"
2925
2926// DescribeProductViewRequest generates a "aws/request.Request" representing the
2927// client's request for the DescribeProductView operation. The "output" return
2928// value will be populated with the request's response once the request completes
2929// successfully.
2930//
2931// Use "Send" method on the returned Request to send the API call to the service.
2932// the "output" return value is not valid until after Send returns without error.
2933//
2934// See DescribeProductView for more information on using the DescribeProductView
2935// API call, and error handling.
2936//
2937// This method is useful when you want to inject custom logic or configuration
2938// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2939//
2940//
2941//    // Example sending a request using the DescribeProductViewRequest method.
2942//    req, resp := client.DescribeProductViewRequest(params)
2943//
2944//    err := req.Send()
2945//    if err == nil { // resp is now filled
2946//        fmt.Println(resp)
2947//    }
2948//
2949// See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/DescribeProductView
2950func (c *ServiceCatalog) DescribeProductViewRequest(input *DescribeProductViewInput) (req *request.Request, output *DescribeProductViewOutput) {
2951	op := &request.Operation{
2952		Name:       opDescribeProductView,
2953		HTTPMethod: "POST",
2954		HTTPPath:   "/",
2955	}
2956
2957	if input == nil {
2958		input = &DescribeProductViewInput{}
2959	}
2960
2961	output = &DescribeProductViewOutput{}
2962	req = c.newRequest(op, input, output)
2963	return
2964}
2965
2966// DescribeProductView API operation for AWS Service Catalog.
2967//
2968// Gets information about the specified product.
2969//
2970// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2971// with awserr.Error's Code and Message methods to get detailed information about
2972// the error.
2973//
2974// See the AWS API reference guide for AWS Service Catalog's
2975// API operation DescribeProductView for usage and error information.
2976//
2977// Returned Error Types:
2978//   * ResourceNotFoundException
2979//   The specified resource was not found.
2980//
2981//   * InvalidParametersException
2982//   One or more parameters provided to the operation are not valid.
2983//
2984// See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/DescribeProductView
2985func (c *ServiceCatalog) DescribeProductView(input *DescribeProductViewInput) (*DescribeProductViewOutput, error) {
2986	req, out := c.DescribeProductViewRequest(input)
2987	return out, req.Send()
2988}
2989
2990// DescribeProductViewWithContext is the same as DescribeProductView with the addition of
2991// the ability to pass a context and additional request options.
2992//
2993// See DescribeProductView for details on how to use this API operation.
2994//
2995// The context must be non-nil and will be used for request cancellation. If
2996// the context is nil a panic will occur. In the future the SDK may create
2997// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2998// for more information on using Contexts.
2999func (c *ServiceCatalog) DescribeProductViewWithContext(ctx aws.Context, input *DescribeProductViewInput, opts ...request.Option) (*DescribeProductViewOutput, error) {
3000	req, out := c.DescribeProductViewRequest(input)
3001	req.SetContext(ctx)
3002	req.ApplyOptions(opts...)
3003	return out, req.Send()
3004}
3005
3006const opDescribeProvisionedProduct = "DescribeProvisionedProduct"
3007
3008// DescribeProvisionedProductRequest generates a "aws/request.Request" representing the
3009// client's request for the DescribeProvisionedProduct operation. The "output" return
3010// value will be populated with the request's response once the request completes
3011// successfully.
3012//
3013// Use "Send" method on the returned Request to send the API call to the service.
3014// the "output" return value is not valid until after Send returns without error.
3015//
3016// See DescribeProvisionedProduct for more information on using the DescribeProvisionedProduct
3017// API call, and error handling.
3018//
3019// This method is useful when you want to inject custom logic or configuration
3020// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3021//
3022//
3023//    // Example sending a request using the DescribeProvisionedProductRequest method.
3024//    req, resp := client.DescribeProvisionedProductRequest(params)
3025//
3026//    err := req.Send()
3027//    if err == nil { // resp is now filled
3028//        fmt.Println(resp)
3029//    }
3030//
3031// See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/DescribeProvisionedProduct
3032func (c *ServiceCatalog) DescribeProvisionedProductRequest(input *DescribeProvisionedProductInput) (req *request.Request, output *DescribeProvisionedProductOutput) {
3033	op := &request.Operation{
3034		Name:       opDescribeProvisionedProduct,
3035		HTTPMethod: "POST",
3036		HTTPPath:   "/",
3037	}
3038
3039	if input == nil {
3040		input = &DescribeProvisionedProductInput{}
3041	}
3042
3043	output = &DescribeProvisionedProductOutput{}
3044	req = c.newRequest(op, input, output)
3045	return
3046}
3047
3048// DescribeProvisionedProduct API operation for AWS Service Catalog.
3049//
3050// Gets information about the specified provisioned product.
3051//
3052// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3053// with awserr.Error's Code and Message methods to get detailed information about
3054// the error.
3055//
3056// See the AWS API reference guide for AWS Service Catalog's
3057// API operation DescribeProvisionedProduct for usage and error information.
3058//
3059// Returned Error Types:
3060//   * ResourceNotFoundException
3061//   The specified resource was not found.
3062//
3063//   * InvalidParametersException
3064//   One or more parameters provided to the operation are not valid.
3065//
3066// See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/DescribeProvisionedProduct
3067func (c *ServiceCatalog) DescribeProvisionedProduct(input *DescribeProvisionedProductInput) (*DescribeProvisionedProductOutput, error) {
3068	req, out := c.DescribeProvisionedProductRequest(input)
3069	return out, req.Send()
3070}
3071
3072// DescribeProvisionedProductWithContext is the same as DescribeProvisionedProduct with the addition of
3073// the ability to pass a context and additional request options.
3074//
3075// See DescribeProvisionedProduct for details on how to use this API operation.
3076//
3077// The context must be non-nil and will be used for request cancellation. If
3078// the context is nil a panic will occur. In the future the SDK may create
3079// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3080// for more information on using Contexts.
3081func (c *ServiceCatalog) DescribeProvisionedProductWithContext(ctx aws.Context, input *DescribeProvisionedProductInput, opts ...request.Option) (*DescribeProvisionedProductOutput, error) {
3082	req, out := c.DescribeProvisionedProductRequest(input)
3083	req.SetContext(ctx)
3084	req.ApplyOptions(opts...)
3085	return out, req.Send()
3086}
3087
3088const opDescribeProvisionedProductPlan = "DescribeProvisionedProductPlan"
3089
3090// DescribeProvisionedProductPlanRequest generates a "aws/request.Request" representing the
3091// client's request for the DescribeProvisionedProductPlan operation. The "output" return
3092// value will be populated with the request's response once the request completes
3093// successfully.
3094//
3095// Use "Send" method on the returned Request to send the API call to the service.
3096// the "output" return value is not valid until after Send returns without error.
3097//
3098// See DescribeProvisionedProductPlan for more information on using the DescribeProvisionedProductPlan
3099// API call, and error handling.
3100//
3101// This method is useful when you want to inject custom logic or configuration
3102// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3103//
3104//
3105//    // Example sending a request using the DescribeProvisionedProductPlanRequest method.
3106//    req, resp := client.DescribeProvisionedProductPlanRequest(params)
3107//
3108//    err := req.Send()
3109//    if err == nil { // resp is now filled
3110//        fmt.Println(resp)
3111//    }
3112//
3113// See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/DescribeProvisionedProductPlan
3114func (c *ServiceCatalog) DescribeProvisionedProductPlanRequest(input *DescribeProvisionedProductPlanInput) (req *request.Request, output *DescribeProvisionedProductPlanOutput) {
3115	op := &request.Operation{
3116		Name:       opDescribeProvisionedProductPlan,
3117		HTTPMethod: "POST",
3118		HTTPPath:   "/",
3119	}
3120
3121	if input == nil {
3122		input = &DescribeProvisionedProductPlanInput{}
3123	}
3124
3125	output = &DescribeProvisionedProductPlanOutput{}
3126	req = c.newRequest(op, input, output)
3127	return
3128}
3129
3130// DescribeProvisionedProductPlan API operation for AWS Service Catalog.
3131//
3132// Gets information about the resource changes for the specified plan.
3133//
3134// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3135// with awserr.Error's Code and Message methods to get detailed information about
3136// the error.
3137//
3138// See the AWS API reference guide for AWS Service Catalog's
3139// API operation DescribeProvisionedProductPlan for usage and error information.
3140//
3141// Returned Error Types:
3142//   * ResourceNotFoundException
3143//   The specified resource was not found.
3144//
3145//   * InvalidParametersException
3146//   One or more parameters provided to the operation are not valid.
3147//
3148// See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/DescribeProvisionedProductPlan
3149func (c *ServiceCatalog) DescribeProvisionedProductPlan(input *DescribeProvisionedProductPlanInput) (*DescribeProvisionedProductPlanOutput, error) {
3150	req, out := c.DescribeProvisionedProductPlanRequest(input)
3151	return out, req.Send()
3152}
3153
3154// DescribeProvisionedProductPlanWithContext is the same as DescribeProvisionedProductPlan with the addition of
3155// the ability to pass a context and additional request options.
3156//
3157// See DescribeProvisionedProductPlan for details on how to use this API operation.
3158//
3159// The context must be non-nil and will be used for request cancellation. If
3160// the context is nil a panic will occur. In the future the SDK may create
3161// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3162// for more information on using Contexts.
3163func (c *ServiceCatalog) DescribeProvisionedProductPlanWithContext(ctx aws.Context, input *DescribeProvisionedProductPlanInput, opts ...request.Option) (*DescribeProvisionedProductPlanOutput, error) {
3164	req, out := c.DescribeProvisionedProductPlanRequest(input)
3165	req.SetContext(ctx)
3166	req.ApplyOptions(opts...)
3167	return out, req.Send()
3168}
3169
3170const opDescribeProvisioningArtifact = "DescribeProvisioningArtifact"
3171
3172// DescribeProvisioningArtifactRequest generates a "aws/request.Request" representing the
3173// client's request for the DescribeProvisioningArtifact operation. The "output" return
3174// value will be populated with the request's response once the request completes
3175// successfully.
3176//
3177// Use "Send" method on the returned Request to send the API call to the service.
3178// the "output" return value is not valid until after Send returns without error.
3179//
3180// See DescribeProvisioningArtifact for more information on using the DescribeProvisioningArtifact
3181// API call, and error handling.
3182//
3183// This method is useful when you want to inject custom logic or configuration
3184// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3185//
3186//
3187//    // Example sending a request using the DescribeProvisioningArtifactRequest method.
3188//    req, resp := client.DescribeProvisioningArtifactRequest(params)
3189//
3190//    err := req.Send()
3191//    if err == nil { // resp is now filled
3192//        fmt.Println(resp)
3193//    }
3194//
3195// See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/DescribeProvisioningArtifact
3196func (c *ServiceCatalog) DescribeProvisioningArtifactRequest(input *DescribeProvisioningArtifactInput) (req *request.Request, output *DescribeProvisioningArtifactOutput) {
3197	op := &request.Operation{
3198		Name:       opDescribeProvisioningArtifact,
3199		HTTPMethod: "POST",
3200		HTTPPath:   "/",
3201	}
3202
3203	if input == nil {
3204		input = &DescribeProvisioningArtifactInput{}
3205	}
3206
3207	output = &DescribeProvisioningArtifactOutput{}
3208	req = c.newRequest(op, input, output)
3209	return
3210}
3211
3212// DescribeProvisioningArtifact API operation for AWS Service Catalog.
3213//
3214// Gets information about the specified provisioning artifact (also known as
3215// a version) for the specified product.
3216//
3217// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3218// with awserr.Error's Code and Message methods to get detailed information about
3219// the error.
3220//
3221// See the AWS API reference guide for AWS Service Catalog's
3222// API operation DescribeProvisioningArtifact for usage and error information.
3223//
3224// Returned Error Types:
3225//   * ResourceNotFoundException
3226//   The specified resource was not found.
3227//
3228//   * InvalidParametersException
3229//   One or more parameters provided to the operation are not valid.
3230//
3231// See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/DescribeProvisioningArtifact
3232func (c *ServiceCatalog) DescribeProvisioningArtifact(input *DescribeProvisioningArtifactInput) (*DescribeProvisioningArtifactOutput, error) {
3233	req, out := c.DescribeProvisioningArtifactRequest(input)
3234	return out, req.Send()
3235}
3236
3237// DescribeProvisioningArtifactWithContext is the same as DescribeProvisioningArtifact with the addition of
3238// the ability to pass a context and additional request options.
3239//
3240// See DescribeProvisioningArtifact for details on how to use this API operation.
3241//
3242// The context must be non-nil and will be used for request cancellation. If
3243// the context is nil a panic will occur. In the future the SDK may create
3244// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3245// for more information on using Contexts.
3246func (c *ServiceCatalog) DescribeProvisioningArtifactWithContext(ctx aws.Context, input *DescribeProvisioningArtifactInput, opts ...request.Option) (*DescribeProvisioningArtifactOutput, error) {
3247	req, out := c.DescribeProvisioningArtifactRequest(input)
3248	req.SetContext(ctx)
3249	req.ApplyOptions(opts...)
3250	return out, req.Send()
3251}
3252
3253const opDescribeProvisioningParameters = "DescribeProvisioningParameters"
3254
3255// DescribeProvisioningParametersRequest generates a "aws/request.Request" representing the
3256// client's request for the DescribeProvisioningParameters operation. The "output" return
3257// value will be populated with the request's response once the request completes
3258// successfully.
3259//
3260// Use "Send" method on the returned Request to send the API call to the service.
3261// the "output" return value is not valid until after Send returns without error.
3262//
3263// See DescribeProvisioningParameters for more information on using the DescribeProvisioningParameters
3264// API call, and error handling.
3265//
3266// This method is useful when you want to inject custom logic or configuration
3267// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3268//
3269//
3270//    // Example sending a request using the DescribeProvisioningParametersRequest method.
3271//    req, resp := client.DescribeProvisioningParametersRequest(params)
3272//
3273//    err := req.Send()
3274//    if err == nil { // resp is now filled
3275//        fmt.Println(resp)
3276//    }
3277//
3278// See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/DescribeProvisioningParameters
3279func (c *ServiceCatalog) DescribeProvisioningParametersRequest(input *DescribeProvisioningParametersInput) (req *request.Request, output *DescribeProvisioningParametersOutput) {
3280	op := &request.Operation{
3281		Name:       opDescribeProvisioningParameters,
3282		HTTPMethod: "POST",
3283		HTTPPath:   "/",
3284	}
3285
3286	if input == nil {
3287		input = &DescribeProvisioningParametersInput{}
3288	}
3289
3290	output = &DescribeProvisioningParametersOutput{}
3291	req = c.newRequest(op, input, output)
3292	return
3293}
3294
3295// DescribeProvisioningParameters API operation for AWS Service Catalog.
3296//
3297// Gets information about the configuration required to provision the specified
3298// product using the specified provisioning artifact.
3299//
3300// If the output contains a TagOption key with an empty list of values, there
3301// is a TagOption conflict for that key. The end user cannot take action to
3302// fix the conflict, and launch is not blocked. In subsequent calls to ProvisionProduct,
3303// do not include conflicted TagOption keys as tags, or this causes the error
3304// "Parameter validation failed: Missing required parameter in Tags[N]:Value".
3305// Tag the provisioned product with the value sc-tagoption-conflict-portfolioId-productId.
3306//
3307// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3308// with awserr.Error's Code and Message methods to get detailed information about
3309// the error.
3310//
3311// See the AWS API reference guide for AWS Service Catalog's
3312// API operation DescribeProvisioningParameters for usage and error information.
3313//
3314// Returned Error Types:
3315//   * InvalidParametersException
3316//   One or more parameters provided to the operation are not valid.
3317//
3318//   * ResourceNotFoundException
3319//   The specified resource was not found.
3320//
3321// See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/DescribeProvisioningParameters
3322func (c *ServiceCatalog) DescribeProvisioningParameters(input *DescribeProvisioningParametersInput) (*DescribeProvisioningParametersOutput, error) {
3323	req, out := c.DescribeProvisioningParametersRequest(input)
3324	return out, req.Send()
3325}
3326
3327// DescribeProvisioningParametersWithContext is the same as DescribeProvisioningParameters with the addition of
3328// the ability to pass a context and additional request options.
3329//
3330// See DescribeProvisioningParameters for details on how to use this API operation.
3331//
3332// The context must be non-nil and will be used for request cancellation. If
3333// the context is nil a panic will occur. In the future the SDK may create
3334// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3335// for more information on using Contexts.
3336func (c *ServiceCatalog) DescribeProvisioningParametersWithContext(ctx aws.Context, input *DescribeProvisioningParametersInput, opts ...request.Option) (*DescribeProvisioningParametersOutput, error) {
3337	req, out := c.DescribeProvisioningParametersRequest(input)
3338	req.SetContext(ctx)
3339	req.ApplyOptions(opts...)
3340	return out, req.Send()
3341}
3342
3343const opDescribeRecord = "DescribeRecord"
3344
3345// DescribeRecordRequest generates a "aws/request.Request" representing the
3346// client's request for the DescribeRecord operation. The "output" return
3347// value will be populated with the request's response once the request completes
3348// successfully.
3349//
3350// Use "Send" method on the returned Request to send the API call to the service.
3351// the "output" return value is not valid until after Send returns without error.
3352//
3353// See DescribeRecord for more information on using the DescribeRecord
3354// API call, and error handling.
3355//
3356// This method is useful when you want to inject custom logic or configuration
3357// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3358//
3359//
3360//    // Example sending a request using the DescribeRecordRequest method.
3361//    req, resp := client.DescribeRecordRequest(params)
3362//
3363//    err := req.Send()
3364//    if err == nil { // resp is now filled
3365//        fmt.Println(resp)
3366//    }
3367//
3368// See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/DescribeRecord
3369func (c *ServiceCatalog) DescribeRecordRequest(input *DescribeRecordInput) (req *request.Request, output *DescribeRecordOutput) {
3370	op := &request.Operation{
3371		Name:       opDescribeRecord,
3372		HTTPMethod: "POST",
3373		HTTPPath:   "/",
3374	}
3375
3376	if input == nil {
3377		input = &DescribeRecordInput{}
3378	}
3379
3380	output = &DescribeRecordOutput{}
3381	req = c.newRequest(op, input, output)
3382	return
3383}
3384
3385// DescribeRecord API operation for AWS Service Catalog.
3386//
3387// Gets information about the specified request operation.
3388//
3389// Use this operation after calling a request operation (for example, ProvisionProduct,
3390// TerminateProvisionedProduct, or UpdateProvisionedProduct).
3391//
3392// If a provisioned product was transferred to a new owner using UpdateProvisionedProductProperties,
3393// the new owner will be able to describe all past records for that product.
3394// The previous owner will no longer be able to describe the records, but will
3395// be able to use ListRecordHistory to see the product's history from when he
3396// was the owner.
3397//
3398// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3399// with awserr.Error's Code and Message methods to get detailed information about
3400// the error.
3401//
3402// See the AWS API reference guide for AWS Service Catalog's
3403// API operation DescribeRecord for usage and error information.
3404//
3405// Returned Error Types:
3406//   * ResourceNotFoundException
3407//   The specified resource was not found.
3408//
3409// See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/DescribeRecord
3410func (c *ServiceCatalog) DescribeRecord(input *DescribeRecordInput) (*DescribeRecordOutput, error) {
3411	req, out := c.DescribeRecordRequest(input)
3412	return out, req.Send()
3413}
3414
3415// DescribeRecordWithContext is the same as DescribeRecord with the addition of
3416// the ability to pass a context and additional request options.
3417//
3418// See DescribeRecord for details on how to use this API operation.
3419//
3420// The context must be non-nil and will be used for request cancellation. If
3421// the context is nil a panic will occur. In the future the SDK may create
3422// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3423// for more information on using Contexts.
3424func (c *ServiceCatalog) DescribeRecordWithContext(ctx aws.Context, input *DescribeRecordInput, opts ...request.Option) (*DescribeRecordOutput, error) {
3425	req, out := c.DescribeRecordRequest(input)
3426	req.SetContext(ctx)
3427	req.ApplyOptions(opts...)
3428	return out, req.Send()
3429}
3430
3431const opDescribeServiceAction = "DescribeServiceAction"
3432
3433// DescribeServiceActionRequest generates a "aws/request.Request" representing the
3434// client's request for the DescribeServiceAction operation. The "output" return
3435// value will be populated with the request's response once the request completes
3436// successfully.
3437//
3438// Use "Send" method on the returned Request to send the API call to the service.
3439// the "output" return value is not valid until after Send returns without error.
3440//
3441// See DescribeServiceAction for more information on using the DescribeServiceAction
3442// API call, and error handling.
3443//
3444// This method is useful when you want to inject custom logic or configuration
3445// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3446//
3447//
3448//    // Example sending a request using the DescribeServiceActionRequest method.
3449//    req, resp := client.DescribeServiceActionRequest(params)
3450//
3451//    err := req.Send()
3452//    if err == nil { // resp is now filled
3453//        fmt.Println(resp)
3454//    }
3455//
3456// See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/DescribeServiceAction
3457func (c *ServiceCatalog) DescribeServiceActionRequest(input *DescribeServiceActionInput) (req *request.Request, output *DescribeServiceActionOutput) {
3458	op := &request.Operation{
3459		Name:       opDescribeServiceAction,
3460		HTTPMethod: "POST",
3461		HTTPPath:   "/",
3462	}
3463
3464	if input == nil {
3465		input = &DescribeServiceActionInput{}
3466	}
3467
3468	output = &DescribeServiceActionOutput{}
3469	req = c.newRequest(op, input, output)
3470	return
3471}
3472
3473// DescribeServiceAction API operation for AWS Service Catalog.
3474//
3475// Describes a self-service action.
3476//
3477// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3478// with awserr.Error's Code and Message methods to get detailed information about
3479// the error.
3480//
3481// See the AWS API reference guide for AWS Service Catalog's
3482// API operation DescribeServiceAction for usage and error information.
3483//
3484// Returned Error Types:
3485//   * ResourceNotFoundException
3486//   The specified resource was not found.
3487//
3488// See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/DescribeServiceAction
3489func (c *ServiceCatalog) DescribeServiceAction(input *DescribeServiceActionInput) (*DescribeServiceActionOutput, error) {
3490	req, out := c.DescribeServiceActionRequest(input)
3491	return out, req.Send()
3492}
3493
3494// DescribeServiceActionWithContext is the same as DescribeServiceAction with the addition of
3495// the ability to pass a context and additional request options.
3496//
3497// See DescribeServiceAction for details on how to use this API operation.
3498//
3499// The context must be non-nil and will be used for request cancellation. If
3500// the context is nil a panic will occur. In the future the SDK may create
3501// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3502// for more information on using Contexts.
3503func (c *ServiceCatalog) DescribeServiceActionWithContext(ctx aws.Context, input *DescribeServiceActionInput, opts ...request.Option) (*DescribeServiceActionOutput, error) {
3504	req, out := c.DescribeServiceActionRequest(input)
3505	req.SetContext(ctx)
3506	req.ApplyOptions(opts...)
3507	return out, req.Send()
3508}
3509
3510const opDescribeServiceActionExecutionParameters = "DescribeServiceActionExecutionParameters"
3511
3512// DescribeServiceActionExecutionParametersRequest generates a "aws/request.Request" representing the
3513// client's request for the DescribeServiceActionExecutionParameters operation. The "output" return
3514// value will be populated with the request's response once the request completes
3515// successfully.
3516//
3517// Use "Send" method on the returned Request to send the API call to the service.
3518// the "output" return value is not valid until after Send returns without error.
3519//
3520// See DescribeServiceActionExecutionParameters for more information on using the DescribeServiceActionExecutionParameters
3521// API call, and error handling.
3522//
3523// This method is useful when you want to inject custom logic or configuration
3524// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3525//
3526//
3527//    // Example sending a request using the DescribeServiceActionExecutionParametersRequest method.
3528//    req, resp := client.DescribeServiceActionExecutionParametersRequest(params)
3529//
3530//    err := req.Send()
3531//    if err == nil { // resp is now filled
3532//        fmt.Println(resp)
3533//    }
3534//
3535// See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/DescribeServiceActionExecutionParameters
3536func (c *ServiceCatalog) DescribeServiceActionExecutionParametersRequest(input *DescribeServiceActionExecutionParametersInput) (req *request.Request, output *DescribeServiceActionExecutionParametersOutput) {
3537	op := &request.Operation{
3538		Name:       opDescribeServiceActionExecutionParameters,
3539		HTTPMethod: "POST",
3540		HTTPPath:   "/",
3541	}
3542
3543	if input == nil {
3544		input = &DescribeServiceActionExecutionParametersInput{}
3545	}
3546
3547	output = &DescribeServiceActionExecutionParametersOutput{}
3548	req = c.newRequest(op, input, output)
3549	return
3550}
3551
3552// DescribeServiceActionExecutionParameters API operation for AWS Service Catalog.
3553//
3554// Finds the default parameters for a specific self-service action on a specific
3555// provisioned product and returns a map of the results to the user.
3556//
3557// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3558// with awserr.Error's Code and Message methods to get detailed information about
3559// the error.
3560//
3561// See the AWS API reference guide for AWS Service Catalog's
3562// API operation DescribeServiceActionExecutionParameters for usage and error information.
3563//
3564// Returned Error Types:
3565//   * InvalidParametersException
3566//   One or more parameters provided to the operation are not valid.
3567//
3568//   * ResourceNotFoundException
3569//   The specified resource was not found.
3570//
3571// See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/DescribeServiceActionExecutionParameters
3572func (c *ServiceCatalog) DescribeServiceActionExecutionParameters(input *DescribeServiceActionExecutionParametersInput) (*DescribeServiceActionExecutionParametersOutput, error) {
3573	req, out := c.DescribeServiceActionExecutionParametersRequest(input)
3574	return out, req.Send()
3575}
3576
3577// DescribeServiceActionExecutionParametersWithContext is the same as DescribeServiceActionExecutionParameters with the addition of
3578// the ability to pass a context and additional request options.
3579//
3580// See DescribeServiceActionExecutionParameters for details on how to use this API operation.
3581//
3582// The context must be non-nil and will be used for request cancellation. If
3583// the context is nil a panic will occur. In the future the SDK may create
3584// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3585// for more information on using Contexts.
3586func (c *ServiceCatalog) DescribeServiceActionExecutionParametersWithContext(ctx aws.Context, input *DescribeServiceActionExecutionParametersInput, opts ...request.Option) (*DescribeServiceActionExecutionParametersOutput, error) {
3587	req, out := c.DescribeServiceActionExecutionParametersRequest(input)
3588	req.SetContext(ctx)
3589	req.ApplyOptions(opts...)
3590	return out, req.Send()
3591}
3592
3593const opDescribeTagOption = "DescribeTagOption"
3594
3595// DescribeTagOptionRequest generates a "aws/request.Request" representing the
3596// client's request for the DescribeTagOption operation. The "output" return
3597// value will be populated with the request's response once the request completes
3598// successfully.
3599//
3600// Use "Send" method on the returned Request to send the API call to the service.
3601// the "output" return value is not valid until after Send returns without error.
3602//
3603// See DescribeTagOption for more information on using the DescribeTagOption
3604// API call, and error handling.
3605//
3606// This method is useful when you want to inject custom logic or configuration
3607// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3608//
3609//
3610//    // Example sending a request using the DescribeTagOptionRequest method.
3611//    req, resp := client.DescribeTagOptionRequest(params)
3612//
3613//    err := req.Send()
3614//    if err == nil { // resp is now filled
3615//        fmt.Println(resp)
3616//    }
3617//
3618// See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/DescribeTagOption
3619func (c *ServiceCatalog) DescribeTagOptionRequest(input *DescribeTagOptionInput) (req *request.Request, output *DescribeTagOptionOutput) {
3620	op := &request.Operation{
3621		Name:       opDescribeTagOption,
3622		HTTPMethod: "POST",
3623		HTTPPath:   "/",
3624	}
3625
3626	if input == nil {
3627		input = &DescribeTagOptionInput{}
3628	}
3629
3630	output = &DescribeTagOptionOutput{}
3631	req = c.newRequest(op, input, output)
3632	return
3633}
3634
3635// DescribeTagOption API operation for AWS Service Catalog.
3636//
3637// Gets information about the specified TagOption.
3638//
3639// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3640// with awserr.Error's Code and Message methods to get detailed information about
3641// the error.
3642//
3643// See the AWS API reference guide for AWS Service Catalog's
3644// API operation DescribeTagOption for usage and error information.
3645//
3646// Returned Error Types:
3647//   * TagOptionNotMigratedException
3648//   An operation requiring TagOptions failed because the TagOptions migration
3649//   process has not been performed for this account. Please use the AWS console
3650//   to perform the migration process before retrying the operation.
3651//
3652//   * ResourceNotFoundException
3653//   The specified resource was not found.
3654//
3655// See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/DescribeTagOption
3656func (c *ServiceCatalog) DescribeTagOption(input *DescribeTagOptionInput) (*DescribeTagOptionOutput, error) {
3657	req, out := c.DescribeTagOptionRequest(input)
3658	return out, req.Send()
3659}
3660
3661// DescribeTagOptionWithContext is the same as DescribeTagOption with the addition of
3662// the ability to pass a context and additional request options.
3663//
3664// See DescribeTagOption for details on how to use this API operation.
3665//
3666// The context must be non-nil and will be used for request cancellation. If
3667// the context is nil a panic will occur. In the future the SDK may create
3668// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3669// for more information on using Contexts.
3670func (c *ServiceCatalog) DescribeTagOptionWithContext(ctx aws.Context, input *DescribeTagOptionInput, opts ...request.Option) (*DescribeTagOptionOutput, error) {
3671	req, out := c.DescribeTagOptionRequest(input)
3672	req.SetContext(ctx)
3673	req.ApplyOptions(opts...)
3674	return out, req.Send()
3675}
3676
3677const opDisableAWSOrganizationsAccess = "DisableAWSOrganizationsAccess"
3678
3679// DisableAWSOrganizationsAccessRequest generates a "aws/request.Request" representing the
3680// client's request for the DisableAWSOrganizationsAccess operation. The "output" return
3681// value will be populated with the request's response once the request completes
3682// successfully.
3683//
3684// Use "Send" method on the returned Request to send the API call to the service.
3685// the "output" return value is not valid until after Send returns without error.
3686//
3687// See DisableAWSOrganizationsAccess for more information on using the DisableAWSOrganizationsAccess
3688// API call, and error handling.
3689//
3690// This method is useful when you want to inject custom logic or configuration
3691// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3692//
3693//
3694//    // Example sending a request using the DisableAWSOrganizationsAccessRequest method.
3695//    req, resp := client.DisableAWSOrganizationsAccessRequest(params)
3696//
3697//    err := req.Send()
3698//    if err == nil { // resp is now filled
3699//        fmt.Println(resp)
3700//    }
3701//
3702// See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/DisableAWSOrganizationsAccess
3703func (c *ServiceCatalog) DisableAWSOrganizationsAccessRequest(input *DisableAWSOrganizationsAccessInput) (req *request.Request, output *DisableAWSOrganizationsAccessOutput) {
3704	op := &request.Operation{
3705		Name:       opDisableAWSOrganizationsAccess,
3706		HTTPMethod: "POST",
3707		HTTPPath:   "/",
3708	}
3709
3710	if input == nil {
3711		input = &DisableAWSOrganizationsAccessInput{}
3712	}
3713
3714	output = &DisableAWSOrganizationsAccessOutput{}
3715	req = c.newRequest(op, input, output)
3716	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
3717	return
3718}
3719
3720// DisableAWSOrganizationsAccess API operation for AWS Service Catalog.
3721//
3722// Disable portfolio sharing through AWS Organizations feature. This feature
3723// will not delete your current shares but it will prevent you from creating
3724// new shares throughout your organization. Current shares will not be in sync
3725// with your organization structure if it changes after calling this API. This
3726// API can only be called by the management account in the organization.
3727//
3728// This API can't be invoked if there are active delegated administrators in
3729// the organization.
3730//
3731// Note that a delegated administrator is not authorized to invoke DisableAWSOrganizationsAccess.
3732//
3733// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3734// with awserr.Error's Code and Message methods to get detailed information about
3735// the error.
3736//
3737// See the AWS API reference guide for AWS Service Catalog's
3738// API operation DisableAWSOrganizationsAccess for usage and error information.
3739//
3740// Returned Error Types:
3741//   * ResourceNotFoundException
3742//   The specified resource was not found.
3743//
3744//   * InvalidStateException
3745//   An attempt was made to modify a resource that is in a state that is not valid.
3746//   Check your resources to ensure that they are in valid states before retrying
3747//   the operation.
3748//
3749//   * OperationNotSupportedException
3750//   The operation is not supported.
3751//
3752// See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/DisableAWSOrganizationsAccess
3753func (c *ServiceCatalog) DisableAWSOrganizationsAccess(input *DisableAWSOrganizationsAccessInput) (*DisableAWSOrganizationsAccessOutput, error) {
3754	req, out := c.DisableAWSOrganizationsAccessRequest(input)
3755	return out, req.Send()
3756}
3757
3758// DisableAWSOrganizationsAccessWithContext is the same as DisableAWSOrganizationsAccess with the addition of
3759// the ability to pass a context and additional request options.
3760//
3761// See DisableAWSOrganizationsAccess for details on how to use this API operation.
3762//
3763// The context must be non-nil and will be used for request cancellation. If
3764// the context is nil a panic will occur. In the future the SDK may create
3765// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3766// for more information on using Contexts.
3767func (c *ServiceCatalog) DisableAWSOrganizationsAccessWithContext(ctx aws.Context, input *DisableAWSOrganizationsAccessInput, opts ...request.Option) (*DisableAWSOrganizationsAccessOutput, error) {
3768	req, out := c.DisableAWSOrganizationsAccessRequest(input)
3769	req.SetContext(ctx)
3770	req.ApplyOptions(opts...)
3771	return out, req.Send()
3772}
3773
3774const opDisassociateBudgetFromResource = "DisassociateBudgetFromResource"
3775
3776// DisassociateBudgetFromResourceRequest generates a "aws/request.Request" representing the
3777// client's request for the DisassociateBudgetFromResource operation. The "output" return
3778// value will be populated with the request's response once the request completes
3779// successfully.
3780//
3781// Use "Send" method on the returned Request to send the API call to the service.
3782// the "output" return value is not valid until after Send returns without error.
3783//
3784// See DisassociateBudgetFromResource for more information on using the DisassociateBudgetFromResource
3785// API call, and error handling.
3786//
3787// This method is useful when you want to inject custom logic or configuration
3788// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3789//
3790//
3791//    // Example sending a request using the DisassociateBudgetFromResourceRequest method.
3792//    req, resp := client.DisassociateBudgetFromResourceRequest(params)
3793//
3794//    err := req.Send()
3795//    if err == nil { // resp is now filled
3796//        fmt.Println(resp)
3797//    }
3798//
3799// See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/DisassociateBudgetFromResource
3800func (c *ServiceCatalog) DisassociateBudgetFromResourceRequest(input *DisassociateBudgetFromResourceInput) (req *request.Request, output *DisassociateBudgetFromResourceOutput) {
3801	op := &request.Operation{
3802		Name:       opDisassociateBudgetFromResource,
3803		HTTPMethod: "POST",
3804		HTTPPath:   "/",
3805	}
3806
3807	if input == nil {
3808		input = &DisassociateBudgetFromResourceInput{}
3809	}
3810
3811	output = &DisassociateBudgetFromResourceOutput{}
3812	req = c.newRequest(op, input, output)
3813	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
3814	return
3815}
3816
3817// DisassociateBudgetFromResource API operation for AWS Service Catalog.
3818//
3819// Disassociates the specified budget from the specified resource.
3820//
3821// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3822// with awserr.Error's Code and Message methods to get detailed information about
3823// the error.
3824//
3825// See the AWS API reference guide for AWS Service Catalog's
3826// API operation DisassociateBudgetFromResource for usage and error information.
3827//
3828// Returned Error Types:
3829//   * ResourceNotFoundException
3830//   The specified resource was not found.
3831//
3832// See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/DisassociateBudgetFromResource
3833func (c *ServiceCatalog) DisassociateBudgetFromResource(input *DisassociateBudgetFromResourceInput) (*DisassociateBudgetFromResourceOutput, error) {
3834	req, out := c.DisassociateBudgetFromResourceRequest(input)
3835	return out, req.Send()
3836}
3837
3838// DisassociateBudgetFromResourceWithContext is the same as DisassociateBudgetFromResource with the addition of
3839// the ability to pass a context and additional request options.
3840//
3841// See DisassociateBudgetFromResource for details on how to use this API operation.
3842//
3843// The context must be non-nil and will be used for request cancellation. If
3844// the context is nil a panic will occur. In the future the SDK may create
3845// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3846// for more information on using Contexts.
3847func (c *ServiceCatalog) DisassociateBudgetFromResourceWithContext(ctx aws.Context, input *DisassociateBudgetFromResourceInput, opts ...request.Option) (*DisassociateBudgetFromResourceOutput, error) {
3848	req, out := c.DisassociateBudgetFromResourceRequest(input)
3849	req.SetContext(ctx)
3850	req.ApplyOptions(opts...)
3851	return out, req.Send()
3852}
3853
3854const opDisassociatePrincipalFromPortfolio = "DisassociatePrincipalFromPortfolio"
3855
3856// DisassociatePrincipalFromPortfolioRequest generates a "aws/request.Request" representing the
3857// client's request for the DisassociatePrincipalFromPortfolio operation. The "output" return
3858// value will be populated with the request's response once the request completes
3859// successfully.
3860//
3861// Use "Send" method on the returned Request to send the API call to the service.
3862// the "output" return value is not valid until after Send returns without error.
3863//
3864// See DisassociatePrincipalFromPortfolio for more information on using the DisassociatePrincipalFromPortfolio
3865// API call, and error handling.
3866//
3867// This method is useful when you want to inject custom logic or configuration
3868// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3869//
3870//
3871//    // Example sending a request using the DisassociatePrincipalFromPortfolioRequest method.
3872//    req, resp := client.DisassociatePrincipalFromPortfolioRequest(params)
3873//
3874//    err := req.Send()
3875//    if err == nil { // resp is now filled
3876//        fmt.Println(resp)
3877//    }
3878//
3879// See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/DisassociatePrincipalFromPortfolio
3880func (c *ServiceCatalog) DisassociatePrincipalFromPortfolioRequest(input *DisassociatePrincipalFromPortfolioInput) (req *request.Request, output *DisassociatePrincipalFromPortfolioOutput) {
3881	op := &request.Operation{
3882		Name:       opDisassociatePrincipalFromPortfolio,
3883		HTTPMethod: "POST",
3884		HTTPPath:   "/",
3885	}
3886
3887	if input == nil {
3888		input = &DisassociatePrincipalFromPortfolioInput{}
3889	}
3890
3891	output = &DisassociatePrincipalFromPortfolioOutput{}
3892	req = c.newRequest(op, input, output)
3893	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
3894	return
3895}
3896
3897// DisassociatePrincipalFromPortfolio API operation for AWS Service Catalog.
3898//
3899// Disassociates a previously associated principal ARN from a specified portfolio.
3900//
3901// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3902// with awserr.Error's Code and Message methods to get detailed information about
3903// the error.
3904//
3905// See the AWS API reference guide for AWS Service Catalog's
3906// API operation DisassociatePrincipalFromPortfolio for usage and error information.
3907//
3908// Returned Error Types:
3909//   * InvalidParametersException
3910//   One or more parameters provided to the operation are not valid.
3911//
3912//   * ResourceNotFoundException
3913//   The specified resource was not found.
3914//
3915// See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/DisassociatePrincipalFromPortfolio
3916func (c *ServiceCatalog) DisassociatePrincipalFromPortfolio(input *DisassociatePrincipalFromPortfolioInput) (*DisassociatePrincipalFromPortfolioOutput, error) {
3917	req, out := c.DisassociatePrincipalFromPortfolioRequest(input)
3918	return out, req.Send()
3919}
3920
3921// DisassociatePrincipalFromPortfolioWithContext is the same as DisassociatePrincipalFromPortfolio with the addition of
3922// the ability to pass a context and additional request options.
3923//
3924// See DisassociatePrincipalFromPortfolio for details on how to use this API operation.
3925//
3926// The context must be non-nil and will be used for request cancellation. If
3927// the context is nil a panic will occur. In the future the SDK may create
3928// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3929// for more information on using Contexts.
3930func (c *ServiceCatalog) DisassociatePrincipalFromPortfolioWithContext(ctx aws.Context, input *DisassociatePrincipalFromPortfolioInput, opts ...request.Option) (*DisassociatePrincipalFromPortfolioOutput, error) {
3931	req, out := c.DisassociatePrincipalFromPortfolioRequest(input)
3932	req.SetContext(ctx)
3933	req.ApplyOptions(opts...)
3934	return out, req.Send()
3935}
3936
3937const opDisassociateProductFromPortfolio = "DisassociateProductFromPortfolio"
3938
3939// DisassociateProductFromPortfolioRequest generates a "aws/request.Request" representing the
3940// client's request for the DisassociateProductFromPortfolio operation. The "output" return
3941// value will be populated with the request's response once the request completes
3942// successfully.
3943//
3944// Use "Send" method on the returned Request to send the API call to the service.
3945// the "output" return value is not valid until after Send returns without error.
3946//
3947// See DisassociateProductFromPortfolio for more information on using the DisassociateProductFromPortfolio
3948// API call, and error handling.
3949//
3950// This method is useful when you want to inject custom logic or configuration
3951// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3952//
3953//
3954//    // Example sending a request using the DisassociateProductFromPortfolioRequest method.
3955//    req, resp := client.DisassociateProductFromPortfolioRequest(params)
3956//
3957//    err := req.Send()
3958//    if err == nil { // resp is now filled
3959//        fmt.Println(resp)
3960//    }
3961//
3962// See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/DisassociateProductFromPortfolio
3963func (c *ServiceCatalog) DisassociateProductFromPortfolioRequest(input *DisassociateProductFromPortfolioInput) (req *request.Request, output *DisassociateProductFromPortfolioOutput) {
3964	op := &request.Operation{
3965		Name:       opDisassociateProductFromPortfolio,
3966		HTTPMethod: "POST",
3967		HTTPPath:   "/",
3968	}
3969
3970	if input == nil {
3971		input = &DisassociateProductFromPortfolioInput{}
3972	}
3973
3974	output = &DisassociateProductFromPortfolioOutput{}
3975	req = c.newRequest(op, input, output)
3976	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
3977	return
3978}
3979
3980// DisassociateProductFromPortfolio API operation for AWS Service Catalog.
3981//
3982// Disassociates the specified product from the specified portfolio.
3983//
3984// A delegated admin is authorized to invoke this command.
3985//
3986// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3987// with awserr.Error's Code and Message methods to get detailed information about
3988// the error.
3989//
3990// See the AWS API reference guide for AWS Service Catalog's
3991// API operation DisassociateProductFromPortfolio for usage and error information.
3992//
3993// Returned Error Types:
3994//   * ResourceNotFoundException
3995//   The specified resource was not found.
3996//
3997//   * ResourceInUseException
3998//   A resource that is currently in use. Ensure that the resource is not in use
3999//   and retry the operation.
4000//
4001//   * InvalidParametersException
4002//   One or more parameters provided to the operation are not valid.
4003//
4004// See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/DisassociateProductFromPortfolio
4005func (c *ServiceCatalog) DisassociateProductFromPortfolio(input *DisassociateProductFromPortfolioInput) (*DisassociateProductFromPortfolioOutput, error) {
4006	req, out := c.DisassociateProductFromPortfolioRequest(input)
4007	return out, req.Send()
4008}
4009
4010// DisassociateProductFromPortfolioWithContext is the same as DisassociateProductFromPortfolio with the addition of
4011// the ability to pass a context and additional request options.
4012//
4013// See DisassociateProductFromPortfolio for details on how to use this API operation.
4014//
4015// The context must be non-nil and will be used for request cancellation. If
4016// the context is nil a panic will occur. In the future the SDK may create
4017// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4018// for more information on using Contexts.
4019func (c *ServiceCatalog) DisassociateProductFromPortfolioWithContext(ctx aws.Context, input *DisassociateProductFromPortfolioInput, opts ...request.Option) (*DisassociateProductFromPortfolioOutput, error) {
4020	req, out := c.DisassociateProductFromPortfolioRequest(input)
4021	req.SetContext(ctx)
4022	req.ApplyOptions(opts...)
4023	return out, req.Send()
4024}
4025
4026const opDisassociateServiceActionFromProvisioningArtifact = "DisassociateServiceActionFromProvisioningArtifact"
4027
4028// DisassociateServiceActionFromProvisioningArtifactRequest generates a "aws/request.Request" representing the
4029// client's request for the DisassociateServiceActionFromProvisioningArtifact operation. The "output" return
4030// value will be populated with the request's response once the request completes
4031// successfully.
4032//
4033// Use "Send" method on the returned Request to send the API call to the service.
4034// the "output" return value is not valid until after Send returns without error.
4035//
4036// See DisassociateServiceActionFromProvisioningArtifact for more information on using the DisassociateServiceActionFromProvisioningArtifact
4037// API call, and error handling.
4038//
4039// This method is useful when you want to inject custom logic or configuration
4040// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4041//
4042//
4043//    // Example sending a request using the DisassociateServiceActionFromProvisioningArtifactRequest method.
4044//    req, resp := client.DisassociateServiceActionFromProvisioningArtifactRequest(params)
4045//
4046//    err := req.Send()
4047//    if err == nil { // resp is now filled
4048//        fmt.Println(resp)
4049//    }
4050//
4051// See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/DisassociateServiceActionFromProvisioningArtifact
4052func (c *ServiceCatalog) DisassociateServiceActionFromProvisioningArtifactRequest(input *DisassociateServiceActionFromProvisioningArtifactInput) (req *request.Request, output *DisassociateServiceActionFromProvisioningArtifactOutput) {
4053	op := &request.Operation{
4054		Name:       opDisassociateServiceActionFromProvisioningArtifact,
4055		HTTPMethod: "POST",
4056		HTTPPath:   "/",
4057	}
4058
4059	if input == nil {
4060		input = &DisassociateServiceActionFromProvisioningArtifactInput{}
4061	}
4062
4063	output = &DisassociateServiceActionFromProvisioningArtifactOutput{}
4064	req = c.newRequest(op, input, output)
4065	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
4066	return
4067}
4068
4069// DisassociateServiceActionFromProvisioningArtifact API operation for AWS Service Catalog.
4070//
4071// Disassociates the specified self-service action association from the specified
4072// provisioning artifact.
4073//
4074// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4075// with awserr.Error's Code and Message methods to get detailed information about
4076// the error.
4077//
4078// See the AWS API reference guide for AWS Service Catalog's
4079// API operation DisassociateServiceActionFromProvisioningArtifact for usage and error information.
4080//
4081// Returned Error Types:
4082//   * ResourceNotFoundException
4083//   The specified resource was not found.
4084//
4085// See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/DisassociateServiceActionFromProvisioningArtifact
4086func (c *ServiceCatalog) DisassociateServiceActionFromProvisioningArtifact(input *DisassociateServiceActionFromProvisioningArtifactInput) (*DisassociateServiceActionFromProvisioningArtifactOutput, error) {
4087	req, out := c.DisassociateServiceActionFromProvisioningArtifactRequest(input)
4088	return out, req.Send()
4089}
4090
4091// DisassociateServiceActionFromProvisioningArtifactWithContext is the same as DisassociateServiceActionFromProvisioningArtifact with the addition of
4092// the ability to pass a context and additional request options.
4093//
4094// See DisassociateServiceActionFromProvisioningArtifact for details on how to use this API operation.
4095//
4096// The context must be non-nil and will be used for request cancellation. If
4097// the context is nil a panic will occur. In the future the SDK may create
4098// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4099// for more information on using Contexts.
4100func (c *ServiceCatalog) DisassociateServiceActionFromProvisioningArtifactWithContext(ctx aws.Context, input *DisassociateServiceActionFromProvisioningArtifactInput, opts ...request.Option) (*DisassociateServiceActionFromProvisioningArtifactOutput, error) {
4101	req, out := c.DisassociateServiceActionFromProvisioningArtifactRequest(input)
4102	req.SetContext(ctx)
4103	req.ApplyOptions(opts...)
4104	return out, req.Send()
4105}
4106
4107const opDisassociateTagOptionFromResource = "DisassociateTagOptionFromResource"
4108
4109// DisassociateTagOptionFromResourceRequest generates a "aws/request.Request" representing the
4110// client's request for the DisassociateTagOptionFromResource operation. The "output" return
4111// value will be populated with the request's response once the request completes
4112// successfully.
4113//
4114// Use "Send" method on the returned Request to send the API call to the service.
4115// the "output" return value is not valid until after Send returns without error.
4116//
4117// See DisassociateTagOptionFromResource for more information on using the DisassociateTagOptionFromResource
4118// API call, and error handling.
4119//
4120// This method is useful when you want to inject custom logic or configuration
4121// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4122//
4123//
4124//    // Example sending a request using the DisassociateTagOptionFromResourceRequest method.
4125//    req, resp := client.DisassociateTagOptionFromResourceRequest(params)
4126//
4127//    err := req.Send()
4128//    if err == nil { // resp is now filled
4129//        fmt.Println(resp)
4130//    }
4131//
4132// See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/DisassociateTagOptionFromResource
4133func (c *ServiceCatalog) DisassociateTagOptionFromResourceRequest(input *DisassociateTagOptionFromResourceInput) (req *request.Request, output *DisassociateTagOptionFromResourceOutput) {
4134	op := &request.Operation{
4135		Name:       opDisassociateTagOptionFromResource,
4136		HTTPMethod: "POST",
4137		HTTPPath:   "/",
4138	}
4139
4140	if input == nil {
4141		input = &DisassociateTagOptionFromResourceInput{}
4142	}
4143
4144	output = &DisassociateTagOptionFromResourceOutput{}
4145	req = c.newRequest(op, input, output)
4146	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
4147	return
4148}
4149
4150// DisassociateTagOptionFromResource API operation for AWS Service Catalog.
4151//
4152// Disassociates the specified TagOption from the specified resource.
4153//
4154// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4155// with awserr.Error's Code and Message methods to get detailed information about
4156// the error.
4157//
4158// See the AWS API reference guide for AWS Service Catalog's
4159// API operation DisassociateTagOptionFromResource for usage and error information.
4160//
4161// Returned Error Types:
4162//   * TagOptionNotMigratedException
4163//   An operation requiring TagOptions failed because the TagOptions migration
4164//   process has not been performed for this account. Please use the AWS console
4165//   to perform the migration process before retrying the operation.
4166//
4167//   * ResourceNotFoundException
4168//   The specified resource was not found.
4169//
4170// See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/DisassociateTagOptionFromResource
4171func (c *ServiceCatalog) DisassociateTagOptionFromResource(input *DisassociateTagOptionFromResourceInput) (*DisassociateTagOptionFromResourceOutput, error) {
4172	req, out := c.DisassociateTagOptionFromResourceRequest(input)
4173	return out, req.Send()
4174}
4175
4176// DisassociateTagOptionFromResourceWithContext is the same as DisassociateTagOptionFromResource with the addition of
4177// the ability to pass a context and additional request options.
4178//
4179// See DisassociateTagOptionFromResource for details on how to use this API operation.
4180//
4181// The context must be non-nil and will be used for request cancellation. If
4182// the context is nil a panic will occur. In the future the SDK may create
4183// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4184// for more information on using Contexts.
4185func (c *ServiceCatalog) DisassociateTagOptionFromResourceWithContext(ctx aws.Context, input *DisassociateTagOptionFromResourceInput, opts ...request.Option) (*DisassociateTagOptionFromResourceOutput, error) {
4186	req, out := c.DisassociateTagOptionFromResourceRequest(input)
4187	req.SetContext(ctx)
4188	req.ApplyOptions(opts...)
4189	return out, req.Send()
4190}
4191
4192const opEnableAWSOrganizationsAccess = "EnableAWSOrganizationsAccess"
4193
4194// EnableAWSOrganizationsAccessRequest generates a "aws/request.Request" representing the
4195// client's request for the EnableAWSOrganizationsAccess operation. The "output" return
4196// value will be populated with the request's response once the request completes
4197// successfully.
4198//
4199// Use "Send" method on the returned Request to send the API call to the service.
4200// the "output" return value is not valid until after Send returns without error.
4201//
4202// See EnableAWSOrganizationsAccess for more information on using the EnableAWSOrganizationsAccess
4203// API call, and error handling.
4204//
4205// This method is useful when you want to inject custom logic or configuration
4206// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4207//
4208//
4209//    // Example sending a request using the EnableAWSOrganizationsAccessRequest method.
4210//    req, resp := client.EnableAWSOrganizationsAccessRequest(params)
4211//
4212//    err := req.Send()
4213//    if err == nil { // resp is now filled
4214//        fmt.Println(resp)
4215//    }
4216//
4217// See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/EnableAWSOrganizationsAccess
4218func (c *ServiceCatalog) EnableAWSOrganizationsAccessRequest(input *EnableAWSOrganizationsAccessInput) (req *request.Request, output *EnableAWSOrganizationsAccessOutput) {
4219	op := &request.Operation{
4220		Name:       opEnableAWSOrganizationsAccess,
4221		HTTPMethod: "POST",
4222		HTTPPath:   "/",
4223	}
4224
4225	if input == nil {
4226		input = &EnableAWSOrganizationsAccessInput{}
4227	}
4228
4229	output = &EnableAWSOrganizationsAccessOutput{}
4230	req = c.newRequest(op, input, output)
4231	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
4232	return
4233}
4234
4235// EnableAWSOrganizationsAccess API operation for AWS Service Catalog.
4236//
4237// Enable portfolio sharing feature through AWS Organizations. This API will
4238// allow Service Catalog to receive updates on your organization in order to
4239// sync your shares with the current structure. This API can only be called
4240// by the management account in the organization.
4241//
4242// By calling this API Service Catalog will make a call to organizations:EnableAWSServiceAccess
4243// on your behalf so that your shares can be in sync with any changes in your
4244// AWS Organizations structure.
4245//
4246// Note that a delegated administrator is not authorized to invoke EnableAWSOrganizationsAccess.
4247//
4248// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4249// with awserr.Error's Code and Message methods to get detailed information about
4250// the error.
4251//
4252// See the AWS API reference guide for AWS Service Catalog's
4253// API operation EnableAWSOrganizationsAccess for usage and error information.
4254//
4255// Returned Error Types:
4256//   * ResourceNotFoundException
4257//   The specified resource was not found.
4258//
4259//   * InvalidStateException
4260//   An attempt was made to modify a resource that is in a state that is not valid.
4261//   Check your resources to ensure that they are in valid states before retrying
4262//   the operation.
4263//
4264//   * OperationNotSupportedException
4265//   The operation is not supported.
4266//
4267// See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/EnableAWSOrganizationsAccess
4268func (c *ServiceCatalog) EnableAWSOrganizationsAccess(input *EnableAWSOrganizationsAccessInput) (*EnableAWSOrganizationsAccessOutput, error) {
4269	req, out := c.EnableAWSOrganizationsAccessRequest(input)
4270	return out, req.Send()
4271}
4272
4273// EnableAWSOrganizationsAccessWithContext is the same as EnableAWSOrganizationsAccess with the addition of
4274// the ability to pass a context and additional request options.
4275//
4276// See EnableAWSOrganizationsAccess for details on how to use this API operation.
4277//
4278// The context must be non-nil and will be used for request cancellation. If
4279// the context is nil a panic will occur. In the future the SDK may create
4280// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4281// for more information on using Contexts.
4282func (c *ServiceCatalog) EnableAWSOrganizationsAccessWithContext(ctx aws.Context, input *EnableAWSOrganizationsAccessInput, opts ...request.Option) (*EnableAWSOrganizationsAccessOutput, error) {
4283	req, out := c.EnableAWSOrganizationsAccessRequest(input)
4284	req.SetContext(ctx)
4285	req.ApplyOptions(opts...)
4286	return out, req.Send()
4287}
4288
4289const opExecuteProvisionedProductPlan = "ExecuteProvisionedProductPlan"
4290
4291// ExecuteProvisionedProductPlanRequest generates a "aws/request.Request" representing the
4292// client's request for the ExecuteProvisionedProductPlan operation. The "output" return
4293// value will be populated with the request's response once the request completes
4294// successfully.
4295//
4296// Use "Send" method on the returned Request to send the API call to the service.
4297// the "output" return value is not valid until after Send returns without error.
4298//
4299// See ExecuteProvisionedProductPlan for more information on using the ExecuteProvisionedProductPlan
4300// API call, and error handling.
4301//
4302// This method is useful when you want to inject custom logic or configuration
4303// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4304//
4305//
4306//    // Example sending a request using the ExecuteProvisionedProductPlanRequest method.
4307//    req, resp := client.ExecuteProvisionedProductPlanRequest(params)
4308//
4309//    err := req.Send()
4310//    if err == nil { // resp is now filled
4311//        fmt.Println(resp)
4312//    }
4313//
4314// See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/ExecuteProvisionedProductPlan
4315func (c *ServiceCatalog) ExecuteProvisionedProductPlanRequest(input *ExecuteProvisionedProductPlanInput) (req *request.Request, output *ExecuteProvisionedProductPlanOutput) {
4316	op := &request.Operation{
4317		Name:       opExecuteProvisionedProductPlan,
4318		HTTPMethod: "POST",
4319		HTTPPath:   "/",
4320	}
4321
4322	if input == nil {
4323		input = &ExecuteProvisionedProductPlanInput{}
4324	}
4325
4326	output = &ExecuteProvisionedProductPlanOutput{}
4327	req = c.newRequest(op, input, output)
4328	return
4329}
4330
4331// ExecuteProvisionedProductPlan API operation for AWS Service Catalog.
4332//
4333// Provisions or modifies a product based on the resource changes for the specified
4334// plan.
4335//
4336// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4337// with awserr.Error's Code and Message methods to get detailed information about
4338// the error.
4339//
4340// See the AWS API reference guide for AWS Service Catalog's
4341// API operation ExecuteProvisionedProductPlan for usage and error information.
4342//
4343// Returned Error Types:
4344//   * InvalidParametersException
4345//   One or more parameters provided to the operation are not valid.
4346//
4347//   * ResourceNotFoundException
4348//   The specified resource was not found.
4349//
4350//   * InvalidStateException
4351//   An attempt was made to modify a resource that is in a state that is not valid.
4352//   Check your resources to ensure that they are in valid states before retrying
4353//   the operation.
4354//
4355// See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/ExecuteProvisionedProductPlan
4356func (c *ServiceCatalog) ExecuteProvisionedProductPlan(input *ExecuteProvisionedProductPlanInput) (*ExecuteProvisionedProductPlanOutput, error) {
4357	req, out := c.ExecuteProvisionedProductPlanRequest(input)
4358	return out, req.Send()
4359}
4360
4361// ExecuteProvisionedProductPlanWithContext is the same as ExecuteProvisionedProductPlan with the addition of
4362// the ability to pass a context and additional request options.
4363//
4364// See ExecuteProvisionedProductPlan for details on how to use this API operation.
4365//
4366// The context must be non-nil and will be used for request cancellation. If
4367// the context is nil a panic will occur. In the future the SDK may create
4368// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4369// for more information on using Contexts.
4370func (c *ServiceCatalog) ExecuteProvisionedProductPlanWithContext(ctx aws.Context, input *ExecuteProvisionedProductPlanInput, opts ...request.Option) (*ExecuteProvisionedProductPlanOutput, error) {
4371	req, out := c.ExecuteProvisionedProductPlanRequest(input)
4372	req.SetContext(ctx)
4373	req.ApplyOptions(opts...)
4374	return out, req.Send()
4375}
4376
4377const opExecuteProvisionedProductServiceAction = "ExecuteProvisionedProductServiceAction"
4378
4379// ExecuteProvisionedProductServiceActionRequest generates a "aws/request.Request" representing the
4380// client's request for the ExecuteProvisionedProductServiceAction operation. The "output" return
4381// value will be populated with the request's response once the request completes
4382// successfully.
4383//
4384// Use "Send" method on the returned Request to send the API call to the service.
4385// the "output" return value is not valid until after Send returns without error.
4386//
4387// See ExecuteProvisionedProductServiceAction for more information on using the ExecuteProvisionedProductServiceAction
4388// API call, and error handling.
4389//
4390// This method is useful when you want to inject custom logic or configuration
4391// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4392//
4393//
4394//    // Example sending a request using the ExecuteProvisionedProductServiceActionRequest method.
4395//    req, resp := client.ExecuteProvisionedProductServiceActionRequest(params)
4396//
4397//    err := req.Send()
4398//    if err == nil { // resp is now filled
4399//        fmt.Println(resp)
4400//    }
4401//
4402// See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/ExecuteProvisionedProductServiceAction
4403func (c *ServiceCatalog) ExecuteProvisionedProductServiceActionRequest(input *ExecuteProvisionedProductServiceActionInput) (req *request.Request, output *ExecuteProvisionedProductServiceActionOutput) {
4404	op := &request.Operation{
4405		Name:       opExecuteProvisionedProductServiceAction,
4406		HTTPMethod: "POST",
4407		HTTPPath:   "/",
4408	}
4409
4410	if input == nil {
4411		input = &ExecuteProvisionedProductServiceActionInput{}
4412	}
4413
4414	output = &ExecuteProvisionedProductServiceActionOutput{}
4415	req = c.newRequest(op, input, output)
4416	return
4417}
4418
4419// ExecuteProvisionedProductServiceAction API operation for AWS Service Catalog.
4420//
4421// Executes a self-service action against a provisioned product.
4422//
4423// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4424// with awserr.Error's Code and Message methods to get detailed information about
4425// the error.
4426//
4427// See the AWS API reference guide for AWS Service Catalog's
4428// API operation ExecuteProvisionedProductServiceAction for usage and error information.
4429//
4430// Returned Error Types:
4431//   * InvalidParametersException
4432//   One or more parameters provided to the operation are not valid.
4433//
4434//   * ResourceNotFoundException
4435//   The specified resource was not found.
4436//
4437//   * InvalidStateException
4438//   An attempt was made to modify a resource that is in a state that is not valid.
4439//   Check your resources to ensure that they are in valid states before retrying
4440//   the operation.
4441//
4442// See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/ExecuteProvisionedProductServiceAction
4443func (c *ServiceCatalog) ExecuteProvisionedProductServiceAction(input *ExecuteProvisionedProductServiceActionInput) (*ExecuteProvisionedProductServiceActionOutput, error) {
4444	req, out := c.ExecuteProvisionedProductServiceActionRequest(input)
4445	return out, req.Send()
4446}
4447
4448// ExecuteProvisionedProductServiceActionWithContext is the same as ExecuteProvisionedProductServiceAction with the addition of
4449// the ability to pass a context and additional request options.
4450//
4451// See ExecuteProvisionedProductServiceAction for details on how to use this API operation.
4452//
4453// The context must be non-nil and will be used for request cancellation. If
4454// the context is nil a panic will occur. In the future the SDK may create
4455// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4456// for more information on using Contexts.
4457func (c *ServiceCatalog) ExecuteProvisionedProductServiceActionWithContext(ctx aws.Context, input *ExecuteProvisionedProductServiceActionInput, opts ...request.Option) (*ExecuteProvisionedProductServiceActionOutput, error) {
4458	req, out := c.ExecuteProvisionedProductServiceActionRequest(input)
4459	req.SetContext(ctx)
4460	req.ApplyOptions(opts...)
4461	return out, req.Send()
4462}
4463
4464const opGetAWSOrganizationsAccessStatus = "GetAWSOrganizationsAccessStatus"
4465
4466// GetAWSOrganizationsAccessStatusRequest generates a "aws/request.Request" representing the
4467// client's request for the GetAWSOrganizationsAccessStatus operation. The "output" return
4468// value will be populated with the request's response once the request completes
4469// successfully.
4470//
4471// Use "Send" method on the returned Request to send the API call to the service.
4472// the "output" return value is not valid until after Send returns without error.
4473//
4474// See GetAWSOrganizationsAccessStatus for more information on using the GetAWSOrganizationsAccessStatus
4475// API call, and error handling.
4476//
4477// This method is useful when you want to inject custom logic or configuration
4478// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4479//
4480//
4481//    // Example sending a request using the GetAWSOrganizationsAccessStatusRequest method.
4482//    req, resp := client.GetAWSOrganizationsAccessStatusRequest(params)
4483//
4484//    err := req.Send()
4485//    if err == nil { // resp is now filled
4486//        fmt.Println(resp)
4487//    }
4488//
4489// See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/GetAWSOrganizationsAccessStatus
4490func (c *ServiceCatalog) GetAWSOrganizationsAccessStatusRequest(input *GetAWSOrganizationsAccessStatusInput) (req *request.Request, output *GetAWSOrganizationsAccessStatusOutput) {
4491	op := &request.Operation{
4492		Name:       opGetAWSOrganizationsAccessStatus,
4493		HTTPMethod: "POST",
4494		HTTPPath:   "/",
4495	}
4496
4497	if input == nil {
4498		input = &GetAWSOrganizationsAccessStatusInput{}
4499	}
4500
4501	output = &GetAWSOrganizationsAccessStatusOutput{}
4502	req = c.newRequest(op, input, output)
4503	return
4504}
4505
4506// GetAWSOrganizationsAccessStatus API operation for AWS Service Catalog.
4507//
4508// Get the Access Status for AWS Organization portfolio share feature. This
4509// API can only be called by the management account in the organization or by
4510// a delegated admin.
4511//
4512// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4513// with awserr.Error's Code and Message methods to get detailed information about
4514// the error.
4515//
4516// See the AWS API reference guide for AWS Service Catalog's
4517// API operation GetAWSOrganizationsAccessStatus for usage and error information.
4518//
4519// Returned Error Types:
4520//   * ResourceNotFoundException
4521//   The specified resource was not found.
4522//
4523//   * OperationNotSupportedException
4524//   The operation is not supported.
4525//
4526// See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/GetAWSOrganizationsAccessStatus
4527func (c *ServiceCatalog) GetAWSOrganizationsAccessStatus(input *GetAWSOrganizationsAccessStatusInput) (*GetAWSOrganizationsAccessStatusOutput, error) {
4528	req, out := c.GetAWSOrganizationsAccessStatusRequest(input)
4529	return out, req.Send()
4530}
4531
4532// GetAWSOrganizationsAccessStatusWithContext is the same as GetAWSOrganizationsAccessStatus with the addition of
4533// the ability to pass a context and additional request options.
4534//
4535// See GetAWSOrganizationsAccessStatus for details on how to use this API operation.
4536//
4537// The context must be non-nil and will be used for request cancellation. If
4538// the context is nil a panic will occur. In the future the SDK may create
4539// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4540// for more information on using Contexts.
4541func (c *ServiceCatalog) GetAWSOrganizationsAccessStatusWithContext(ctx aws.Context, input *GetAWSOrganizationsAccessStatusInput, opts ...request.Option) (*GetAWSOrganizationsAccessStatusOutput, error) {
4542	req, out := c.GetAWSOrganizationsAccessStatusRequest(input)
4543	req.SetContext(ctx)
4544	req.ApplyOptions(opts...)
4545	return out, req.Send()
4546}
4547
4548const opGetProvisionedProductOutputs = "GetProvisionedProductOutputs"
4549
4550// GetProvisionedProductOutputsRequest generates a "aws/request.Request" representing the
4551// client's request for the GetProvisionedProductOutputs operation. The "output" return
4552// value will be populated with the request's response once the request completes
4553// successfully.
4554//
4555// Use "Send" method on the returned Request to send the API call to the service.
4556// the "output" return value is not valid until after Send returns without error.
4557//
4558// See GetProvisionedProductOutputs for more information on using the GetProvisionedProductOutputs
4559// API call, and error handling.
4560//
4561// This method is useful when you want to inject custom logic or configuration
4562// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4563//
4564//
4565//    // Example sending a request using the GetProvisionedProductOutputsRequest method.
4566//    req, resp := client.GetProvisionedProductOutputsRequest(params)
4567//
4568//    err := req.Send()
4569//    if err == nil { // resp is now filled
4570//        fmt.Println(resp)
4571//    }
4572//
4573// See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/GetProvisionedProductOutputs
4574func (c *ServiceCatalog) GetProvisionedProductOutputsRequest(input *GetProvisionedProductOutputsInput) (req *request.Request, output *GetProvisionedProductOutputsOutput) {
4575	op := &request.Operation{
4576		Name:       opGetProvisionedProductOutputs,
4577		HTTPMethod: "POST",
4578		HTTPPath:   "/",
4579		Paginator: &request.Paginator{
4580			InputTokens:     []string{"PageToken"},
4581			OutputTokens:    []string{"NextPageToken"},
4582			LimitToken:      "PageSize",
4583			TruncationToken: "",
4584		},
4585	}
4586
4587	if input == nil {
4588		input = &GetProvisionedProductOutputsInput{}
4589	}
4590
4591	output = &GetProvisionedProductOutputsOutput{}
4592	req = c.newRequest(op, input, output)
4593	return
4594}
4595
4596// GetProvisionedProductOutputs API operation for AWS Service Catalog.
4597//
4598// This API takes either a ProvisonedProductId or a ProvisionedProductName,
4599// along with a list of one or more output keys, and responds with the key/value
4600// pairs of those outputs.
4601//
4602// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4603// with awserr.Error's Code and Message methods to get detailed information about
4604// the error.
4605//
4606// See the AWS API reference guide for AWS Service Catalog's
4607// API operation GetProvisionedProductOutputs for usage and error information.
4608//
4609// Returned Error Types:
4610//   * InvalidParametersException
4611//   One or more parameters provided to the operation are not valid.
4612//
4613//   * ResourceNotFoundException
4614//   The specified resource was not found.
4615//
4616// See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/GetProvisionedProductOutputs
4617func (c *ServiceCatalog) GetProvisionedProductOutputs(input *GetProvisionedProductOutputsInput) (*GetProvisionedProductOutputsOutput, error) {
4618	req, out := c.GetProvisionedProductOutputsRequest(input)
4619	return out, req.Send()
4620}
4621
4622// GetProvisionedProductOutputsWithContext is the same as GetProvisionedProductOutputs with the addition of
4623// the ability to pass a context and additional request options.
4624//
4625// See GetProvisionedProductOutputs for details on how to use this API operation.
4626//
4627// The context must be non-nil and will be used for request cancellation. If
4628// the context is nil a panic will occur. In the future the SDK may create
4629// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4630// for more information on using Contexts.
4631func (c *ServiceCatalog) GetProvisionedProductOutputsWithContext(ctx aws.Context, input *GetProvisionedProductOutputsInput, opts ...request.Option) (*GetProvisionedProductOutputsOutput, error) {
4632	req, out := c.GetProvisionedProductOutputsRequest(input)
4633	req.SetContext(ctx)
4634	req.ApplyOptions(opts...)
4635	return out, req.Send()
4636}
4637
4638// GetProvisionedProductOutputsPages iterates over the pages of a GetProvisionedProductOutputs operation,
4639// calling the "fn" function with the response data for each page. To stop
4640// iterating, return false from the fn function.
4641//
4642// See GetProvisionedProductOutputs method for more information on how to use this operation.
4643//
4644// Note: This operation can generate multiple requests to a service.
4645//
4646//    // Example iterating over at most 3 pages of a GetProvisionedProductOutputs operation.
4647//    pageNum := 0
4648//    err := client.GetProvisionedProductOutputsPages(params,
4649//        func(page *servicecatalog.GetProvisionedProductOutputsOutput, lastPage bool) bool {
4650//            pageNum++
4651//            fmt.Println(page)
4652//            return pageNum <= 3
4653//        })
4654//
4655func (c *ServiceCatalog) GetProvisionedProductOutputsPages(input *GetProvisionedProductOutputsInput, fn func(*GetProvisionedProductOutputsOutput, bool) bool) error {
4656	return c.GetProvisionedProductOutputsPagesWithContext(aws.BackgroundContext(), input, fn)
4657}
4658
4659// GetProvisionedProductOutputsPagesWithContext same as GetProvisionedProductOutputsPages except
4660// it takes a Context and allows setting request options on the pages.
4661//
4662// The context must be non-nil and will be used for request cancellation. If
4663// the context is nil a panic will occur. In the future the SDK may create
4664// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4665// for more information on using Contexts.
4666func (c *ServiceCatalog) GetProvisionedProductOutputsPagesWithContext(ctx aws.Context, input *GetProvisionedProductOutputsInput, fn func(*GetProvisionedProductOutputsOutput, bool) bool, opts ...request.Option) error {
4667	p := request.Pagination{
4668		NewRequest: func() (*request.Request, error) {
4669			var inCpy *GetProvisionedProductOutputsInput
4670			if input != nil {
4671				tmp := *input
4672				inCpy = &tmp
4673			}
4674			req, _ := c.GetProvisionedProductOutputsRequest(inCpy)
4675			req.SetContext(ctx)
4676			req.ApplyOptions(opts...)
4677			return req, nil
4678		},
4679	}
4680
4681	for p.Next() {
4682		if !fn(p.Page().(*GetProvisionedProductOutputsOutput), !p.HasNextPage()) {
4683			break
4684		}
4685	}
4686
4687	return p.Err()
4688}
4689
4690const opImportAsProvisionedProduct = "ImportAsProvisionedProduct"
4691
4692// ImportAsProvisionedProductRequest generates a "aws/request.Request" representing the
4693// client's request for the ImportAsProvisionedProduct operation. The "output" return
4694// value will be populated with the request's response once the request completes
4695// successfully.
4696//
4697// Use "Send" method on the returned Request to send the API call to the service.
4698// the "output" return value is not valid until after Send returns without error.
4699//
4700// See ImportAsProvisionedProduct for more information on using the ImportAsProvisionedProduct
4701// API call, and error handling.
4702//
4703// This method is useful when you want to inject custom logic or configuration
4704// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4705//
4706//
4707//    // Example sending a request using the ImportAsProvisionedProductRequest method.
4708//    req, resp := client.ImportAsProvisionedProductRequest(params)
4709//
4710//    err := req.Send()
4711//    if err == nil { // resp is now filled
4712//        fmt.Println(resp)
4713//    }
4714//
4715// See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/ImportAsProvisionedProduct
4716func (c *ServiceCatalog) ImportAsProvisionedProductRequest(input *ImportAsProvisionedProductInput) (req *request.Request, output *ImportAsProvisionedProductOutput) {
4717	op := &request.Operation{
4718		Name:       opImportAsProvisionedProduct,
4719		HTTPMethod: "POST",
4720		HTTPPath:   "/",
4721	}
4722
4723	if input == nil {
4724		input = &ImportAsProvisionedProductInput{}
4725	}
4726
4727	output = &ImportAsProvisionedProductOutput{}
4728	req = c.newRequest(op, input, output)
4729	return
4730}
4731
4732// ImportAsProvisionedProduct API operation for AWS Service Catalog.
4733//
4734// Requests the import of a resource as a Service Catalog provisioned product
4735// that is associated to a Service Catalog product and provisioning artifact.
4736// Once imported, all supported Service Catalog governance actions are supported
4737// on the provisioned product.
4738//
4739// Resource import only supports CloudFormation stack ARNs. CloudFormation StackSets
4740// and non-root nested stacks are not supported.
4741//
4742// The CloudFormation stack must have one of the following statuses to be imported:
4743// CREATE_COMPLETE, UPDATE_COMPLETE, UPDATE_ROLLBACK_COMPLETE, IMPORT_COMPLETE,
4744// IMPORT_ROLLBACK_COMPLETE.
4745//
4746// Import of the resource requires that the CloudFormation stack template matches
4747// the associated Service Catalog product provisioning artifact.
4748//
4749// The user or role that performs this operation must have the cloudformation:GetTemplate
4750// and cloudformation:DescribeStacks IAM policy permissions.
4751//
4752// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4753// with awserr.Error's Code and Message methods to get detailed information about
4754// the error.
4755//
4756// See the AWS API reference guide for AWS Service Catalog's
4757// API operation ImportAsProvisionedProduct for usage and error information.
4758//
4759// Returned Error Types:
4760//   * DuplicateResourceException
4761//   The specified resource is a duplicate.
4762//
4763//   * InvalidStateException
4764//   An attempt was made to modify a resource that is in a state that is not valid.
4765//   Check your resources to ensure that they are in valid states before retrying
4766//   the operation.
4767//
4768//   * ResourceNotFoundException
4769//   The specified resource was not found.
4770//
4771//   * InvalidParametersException
4772//   One or more parameters provided to the operation are not valid.
4773//
4774// See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/ImportAsProvisionedProduct
4775func (c *ServiceCatalog) ImportAsProvisionedProduct(input *ImportAsProvisionedProductInput) (*ImportAsProvisionedProductOutput, error) {
4776	req, out := c.ImportAsProvisionedProductRequest(input)
4777	return out, req.Send()
4778}
4779
4780// ImportAsProvisionedProductWithContext is the same as ImportAsProvisionedProduct with the addition of
4781// the ability to pass a context and additional request options.
4782//
4783// See ImportAsProvisionedProduct for details on how to use this API operation.
4784//
4785// The context must be non-nil and will be used for request cancellation. If
4786// the context is nil a panic will occur. In the future the SDK may create
4787// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4788// for more information on using Contexts.
4789func (c *ServiceCatalog) ImportAsProvisionedProductWithContext(ctx aws.Context, input *ImportAsProvisionedProductInput, opts ...request.Option) (*ImportAsProvisionedProductOutput, error) {
4790	req, out := c.ImportAsProvisionedProductRequest(input)
4791	req.SetContext(ctx)
4792	req.ApplyOptions(opts...)
4793	return out, req.Send()
4794}
4795
4796const opListAcceptedPortfolioShares = "ListAcceptedPortfolioShares"
4797
4798// ListAcceptedPortfolioSharesRequest generates a "aws/request.Request" representing the
4799// client's request for the ListAcceptedPortfolioShares operation. The "output" return
4800// value will be populated with the request's response once the request completes
4801// successfully.
4802//
4803// Use "Send" method on the returned Request to send the API call to the service.
4804// the "output" return value is not valid until after Send returns without error.
4805//
4806// See ListAcceptedPortfolioShares for more information on using the ListAcceptedPortfolioShares
4807// API call, and error handling.
4808//
4809// This method is useful when you want to inject custom logic or configuration
4810// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4811//
4812//
4813//    // Example sending a request using the ListAcceptedPortfolioSharesRequest method.
4814//    req, resp := client.ListAcceptedPortfolioSharesRequest(params)
4815//
4816//    err := req.Send()
4817//    if err == nil { // resp is now filled
4818//        fmt.Println(resp)
4819//    }
4820//
4821// See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/ListAcceptedPortfolioShares
4822func (c *ServiceCatalog) ListAcceptedPortfolioSharesRequest(input *ListAcceptedPortfolioSharesInput) (req *request.Request, output *ListAcceptedPortfolioSharesOutput) {
4823	op := &request.Operation{
4824		Name:       opListAcceptedPortfolioShares,
4825		HTTPMethod: "POST",
4826		HTTPPath:   "/",
4827		Paginator: &request.Paginator{
4828			InputTokens:     []string{"PageToken"},
4829			OutputTokens:    []string{"NextPageToken"},
4830			LimitToken:      "PageSize",
4831			TruncationToken: "",
4832		},
4833	}
4834
4835	if input == nil {
4836		input = &ListAcceptedPortfolioSharesInput{}
4837	}
4838
4839	output = &ListAcceptedPortfolioSharesOutput{}
4840	req = c.newRequest(op, input, output)
4841	return
4842}
4843
4844// ListAcceptedPortfolioShares API operation for AWS Service Catalog.
4845//
4846// Lists all portfolios for which sharing was accepted by this account.
4847//
4848// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4849// with awserr.Error's Code and Message methods to get detailed information about
4850// the error.
4851//
4852// See the AWS API reference guide for AWS Service Catalog's
4853// API operation ListAcceptedPortfolioShares for usage and error information.
4854//
4855// Returned Error Types:
4856//   * InvalidParametersException
4857//   One or more parameters provided to the operation are not valid.
4858//
4859//   * OperationNotSupportedException
4860//   The operation is not supported.
4861//
4862// See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/ListAcceptedPortfolioShares
4863func (c *ServiceCatalog) ListAcceptedPortfolioShares(input *ListAcceptedPortfolioSharesInput) (*ListAcceptedPortfolioSharesOutput, error) {
4864	req, out := c.ListAcceptedPortfolioSharesRequest(input)
4865	return out, req.Send()
4866}
4867
4868// ListAcceptedPortfolioSharesWithContext is the same as ListAcceptedPortfolioShares with the addition of
4869// the ability to pass a context and additional request options.
4870//
4871// See ListAcceptedPortfolioShares for details on how to use this API operation.
4872//
4873// The context must be non-nil and will be used for request cancellation. If
4874// the context is nil a panic will occur. In the future the SDK may create
4875// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4876// for more information on using Contexts.
4877func (c *ServiceCatalog) ListAcceptedPortfolioSharesWithContext(ctx aws.Context, input *ListAcceptedPortfolioSharesInput, opts ...request.Option) (*ListAcceptedPortfolioSharesOutput, error) {
4878	req, out := c.ListAcceptedPortfolioSharesRequest(input)
4879	req.SetContext(ctx)
4880	req.ApplyOptions(opts...)
4881	return out, req.Send()
4882}
4883
4884// ListAcceptedPortfolioSharesPages iterates over the pages of a ListAcceptedPortfolioShares operation,
4885// calling the "fn" function with the response data for each page. To stop
4886// iterating, return false from the fn function.
4887//
4888// See ListAcceptedPortfolioShares method for more information on how to use this operation.
4889//
4890// Note: This operation can generate multiple requests to a service.
4891//
4892//    // Example iterating over at most 3 pages of a ListAcceptedPortfolioShares operation.
4893//    pageNum := 0
4894//    err := client.ListAcceptedPortfolioSharesPages(params,
4895//        func(page *servicecatalog.ListAcceptedPortfolioSharesOutput, lastPage bool) bool {
4896//            pageNum++
4897//            fmt.Println(page)
4898//            return pageNum <= 3
4899//        })
4900//
4901func (c *ServiceCatalog) ListAcceptedPortfolioSharesPages(input *ListAcceptedPortfolioSharesInput, fn func(*ListAcceptedPortfolioSharesOutput, bool) bool) error {
4902	return c.ListAcceptedPortfolioSharesPagesWithContext(aws.BackgroundContext(), input, fn)
4903}
4904
4905// ListAcceptedPortfolioSharesPagesWithContext same as ListAcceptedPortfolioSharesPages except
4906// it takes a Context and allows setting request options on the pages.
4907//
4908// The context must be non-nil and will be used for request cancellation. If
4909// the context is nil a panic will occur. In the future the SDK may create
4910// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4911// for more information on using Contexts.
4912func (c *ServiceCatalog) ListAcceptedPortfolioSharesPagesWithContext(ctx aws.Context, input *ListAcceptedPortfolioSharesInput, fn func(*ListAcceptedPortfolioSharesOutput, bool) bool, opts ...request.Option) error {
4913	p := request.Pagination{
4914		NewRequest: func() (*request.Request, error) {
4915			var inCpy *ListAcceptedPortfolioSharesInput
4916			if input != nil {
4917				tmp := *input
4918				inCpy = &tmp
4919			}
4920			req, _ := c.ListAcceptedPortfolioSharesRequest(inCpy)
4921			req.SetContext(ctx)
4922			req.ApplyOptions(opts...)
4923			return req, nil
4924		},
4925	}
4926
4927	for p.Next() {
4928		if !fn(p.Page().(*ListAcceptedPortfolioSharesOutput), !p.HasNextPage()) {
4929			break
4930		}
4931	}
4932
4933	return p.Err()
4934}
4935
4936const opListBudgetsForResource = "ListBudgetsForResource"
4937
4938// ListBudgetsForResourceRequest generates a "aws/request.Request" representing the
4939// client's request for the ListBudgetsForResource operation. The "output" return
4940// value will be populated with the request's response once the request completes
4941// successfully.
4942//
4943// Use "Send" method on the returned Request to send the API call to the service.
4944// the "output" return value is not valid until after Send returns without error.
4945//
4946// See ListBudgetsForResource for more information on using the ListBudgetsForResource
4947// API call, and error handling.
4948//
4949// This method is useful when you want to inject custom logic or configuration
4950// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4951//
4952//
4953//    // Example sending a request using the ListBudgetsForResourceRequest method.
4954//    req, resp := client.ListBudgetsForResourceRequest(params)
4955//
4956//    err := req.Send()
4957//    if err == nil { // resp is now filled
4958//        fmt.Println(resp)
4959//    }
4960//
4961// See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/ListBudgetsForResource
4962func (c *ServiceCatalog) ListBudgetsForResourceRequest(input *ListBudgetsForResourceInput) (req *request.Request, output *ListBudgetsForResourceOutput) {
4963	op := &request.Operation{
4964		Name:       opListBudgetsForResource,
4965		HTTPMethod: "POST",
4966		HTTPPath:   "/",
4967		Paginator: &request.Paginator{
4968			InputTokens:     []string{"PageToken"},
4969			OutputTokens:    []string{"NextPageToken"},
4970			LimitToken:      "PageSize",
4971			TruncationToken: "",
4972		},
4973	}
4974
4975	if input == nil {
4976		input = &ListBudgetsForResourceInput{}
4977	}
4978
4979	output = &ListBudgetsForResourceOutput{}
4980	req = c.newRequest(op, input, output)
4981	return
4982}
4983
4984// ListBudgetsForResource API operation for AWS Service Catalog.
4985//
4986// Lists all the budgets associated to the specified resource.
4987//
4988// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4989// with awserr.Error's Code and Message methods to get detailed information about
4990// the error.
4991//
4992// See the AWS API reference guide for AWS Service Catalog's
4993// API operation ListBudgetsForResource for usage and error information.
4994//
4995// Returned Error Types:
4996//   * ResourceNotFoundException
4997//   The specified resource was not found.
4998//
4999//   * InvalidParametersException
5000//   One or more parameters provided to the operation are not valid.
5001//
5002// See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/ListBudgetsForResource
5003func (c *ServiceCatalog) ListBudgetsForResource(input *ListBudgetsForResourceInput) (*ListBudgetsForResourceOutput, error) {
5004	req, out := c.ListBudgetsForResourceRequest(input)
5005	return out, req.Send()
5006}
5007
5008// ListBudgetsForResourceWithContext is the same as ListBudgetsForResource with the addition of
5009// the ability to pass a context and additional request options.
5010//
5011// See ListBudgetsForResource for details on how to use this API operation.
5012//
5013// The context must be non-nil and will be used for request cancellation. If
5014// the context is nil a panic will occur. In the future the SDK may create
5015// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5016// for more information on using Contexts.
5017func (c *ServiceCatalog) ListBudgetsForResourceWithContext(ctx aws.Context, input *ListBudgetsForResourceInput, opts ...request.Option) (*ListBudgetsForResourceOutput, error) {
5018	req, out := c.ListBudgetsForResourceRequest(input)
5019	req.SetContext(ctx)
5020	req.ApplyOptions(opts...)
5021	return out, req.Send()
5022}
5023
5024// ListBudgetsForResourcePages iterates over the pages of a ListBudgetsForResource operation,
5025// calling the "fn" function with the response data for each page. To stop
5026// iterating, return false from the fn function.
5027//
5028// See ListBudgetsForResource method for more information on how to use this operation.
5029//
5030// Note: This operation can generate multiple requests to a service.
5031//
5032//    // Example iterating over at most 3 pages of a ListBudgetsForResource operation.
5033//    pageNum := 0
5034//    err := client.ListBudgetsForResourcePages(params,
5035//        func(page *servicecatalog.ListBudgetsForResourceOutput, lastPage bool) bool {
5036//            pageNum++
5037//            fmt.Println(page)
5038//            return pageNum <= 3
5039//        })
5040//
5041func (c *ServiceCatalog) ListBudgetsForResourcePages(input *ListBudgetsForResourceInput, fn func(*ListBudgetsForResourceOutput, bool) bool) error {
5042	return c.ListBudgetsForResourcePagesWithContext(aws.BackgroundContext(), input, fn)
5043}
5044
5045// ListBudgetsForResourcePagesWithContext same as ListBudgetsForResourcePages except
5046// it takes a Context and allows setting request options on the pages.
5047//
5048// The context must be non-nil and will be used for request cancellation. If
5049// the context is nil a panic will occur. In the future the SDK may create
5050// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5051// for more information on using Contexts.
5052func (c *ServiceCatalog) ListBudgetsForResourcePagesWithContext(ctx aws.Context, input *ListBudgetsForResourceInput, fn func(*ListBudgetsForResourceOutput, bool) bool, opts ...request.Option) error {
5053	p := request.Pagination{
5054		NewRequest: func() (*request.Request, error) {
5055			var inCpy *ListBudgetsForResourceInput
5056			if input != nil {
5057				tmp := *input
5058				inCpy = &tmp
5059			}
5060			req, _ := c.ListBudgetsForResourceRequest(inCpy)
5061			req.SetContext(ctx)
5062			req.ApplyOptions(opts...)
5063			return req, nil
5064		},
5065	}
5066
5067	for p.Next() {
5068		if !fn(p.Page().(*ListBudgetsForResourceOutput), !p.HasNextPage()) {
5069			break
5070		}
5071	}
5072
5073	return p.Err()
5074}
5075
5076const opListConstraintsForPortfolio = "ListConstraintsForPortfolio"
5077
5078// ListConstraintsForPortfolioRequest generates a "aws/request.Request" representing the
5079// client's request for the ListConstraintsForPortfolio operation. The "output" return
5080// value will be populated with the request's response once the request completes
5081// successfully.
5082//
5083// Use "Send" method on the returned Request to send the API call to the service.
5084// the "output" return value is not valid until after Send returns without error.
5085//
5086// See ListConstraintsForPortfolio for more information on using the ListConstraintsForPortfolio
5087// API call, and error handling.
5088//
5089// This method is useful when you want to inject custom logic or configuration
5090// into the SDK's request lifecycle. Such as custom headers, or retry logic.
5091//
5092//
5093//    // Example sending a request using the ListConstraintsForPortfolioRequest method.
5094//    req, resp := client.ListConstraintsForPortfolioRequest(params)
5095//
5096//    err := req.Send()
5097//    if err == nil { // resp is now filled
5098//        fmt.Println(resp)
5099//    }
5100//
5101// See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/ListConstraintsForPortfolio
5102func (c *ServiceCatalog) ListConstraintsForPortfolioRequest(input *ListConstraintsForPortfolioInput) (req *request.Request, output *ListConstraintsForPortfolioOutput) {
5103	op := &request.Operation{
5104		Name:       opListConstraintsForPortfolio,
5105		HTTPMethod: "POST",
5106		HTTPPath:   "/",
5107		Paginator: &request.Paginator{
5108			InputTokens:     []string{"PageToken"},
5109			OutputTokens:    []string{"NextPageToken"},
5110			LimitToken:      "PageSize",
5111			TruncationToken: "",
5112		},
5113	}
5114
5115	if input == nil {
5116		input = &ListConstraintsForPortfolioInput{}
5117	}
5118
5119	output = &ListConstraintsForPortfolioOutput{}
5120	req = c.newRequest(op, input, output)
5121	return
5122}
5123
5124// ListConstraintsForPortfolio API operation for AWS Service Catalog.
5125//
5126// Lists the constraints for the specified portfolio and product.
5127//
5128// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
5129// with awserr.Error's Code and Message methods to get detailed information about
5130// the error.
5131//
5132// See the AWS API reference guide for AWS Service Catalog's
5133// API operation ListConstraintsForPortfolio for usage and error information.
5134//
5135// Returned Error Types:
5136//   * ResourceNotFoundException
5137//   The specified resource was not found.
5138//
5139//   * InvalidParametersException
5140//   One or more parameters provided to the operation are not valid.
5141//
5142// See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/ListConstraintsForPortfolio
5143func (c *ServiceCatalog) ListConstraintsForPortfolio(input *ListConstraintsForPortfolioInput) (*ListConstraintsForPortfolioOutput, error) {
5144	req, out := c.ListConstraintsForPortfolioRequest(input)
5145	return out, req.Send()
5146}
5147
5148// ListConstraintsForPortfolioWithContext is the same as ListConstraintsForPortfolio with the addition of
5149// the ability to pass a context and additional request options.
5150//
5151// See ListConstraintsForPortfolio for details on how to use this API operation.
5152//
5153// The context must be non-nil and will be used for request cancellation. If
5154// the context is nil a panic will occur. In the future the SDK may create
5155// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5156// for more information on using Contexts.
5157func (c *ServiceCatalog) ListConstraintsForPortfolioWithContext(ctx aws.Context, input *ListConstraintsForPortfolioInput, opts ...request.Option) (*ListConstraintsForPortfolioOutput, error) {
5158	req, out := c.ListConstraintsForPortfolioRequest(input)
5159	req.SetContext(ctx)
5160	req.ApplyOptions(opts...)
5161	return out, req.Send()
5162}
5163
5164// ListConstraintsForPortfolioPages iterates over the pages of a ListConstraintsForPortfolio operation,
5165// calling the "fn" function with the response data for each page. To stop
5166// iterating, return false from the fn function.
5167//
5168// See ListConstraintsForPortfolio method for more information on how to use this operation.
5169//
5170// Note: This operation can generate multiple requests to a service.
5171//
5172//    // Example iterating over at most 3 pages of a ListConstraintsForPortfolio operation.
5173//    pageNum := 0
5174//    err := client.ListConstraintsForPortfolioPages(params,
5175//        func(page *servicecatalog.ListConstraintsForPortfolioOutput, lastPage bool) bool {
5176//            pageNum++
5177//            fmt.Println(page)
5178//            return pageNum <= 3
5179//        })
5180//
5181func (c *ServiceCatalog) ListConstraintsForPortfolioPages(input *ListConstraintsForPortfolioInput, fn func(*ListConstraintsForPortfolioOutput, bool) bool) error {
5182	return c.ListConstraintsForPortfolioPagesWithContext(aws.BackgroundContext(), input, fn)
5183}
5184
5185// ListConstraintsForPortfolioPagesWithContext same as ListConstraintsForPortfolioPages except
5186// it takes a Context and allows setting request options on the pages.
5187//
5188// The context must be non-nil and will be used for request cancellation. If
5189// the context is nil a panic will occur. In the future the SDK may create
5190// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5191// for more information on using Contexts.
5192func (c *ServiceCatalog) ListConstraintsForPortfolioPagesWithContext(ctx aws.Context, input *ListConstraintsForPortfolioInput, fn func(*ListConstraintsForPortfolioOutput, bool) bool, opts ...request.Option) error {
5193	p := request.Pagination{
5194		NewRequest: func() (*request.Request, error) {
5195			var inCpy *ListConstraintsForPortfolioInput
5196			if input != nil {
5197				tmp := *input
5198				inCpy = &tmp
5199			}
5200			req, _ := c.ListConstraintsForPortfolioRequest(inCpy)
5201			req.SetContext(ctx)
5202			req.ApplyOptions(opts...)
5203			return req, nil
5204		},
5205	}
5206
5207	for p.Next() {
5208		if !fn(p.Page().(*ListConstraintsForPortfolioOutput), !p.HasNextPage()) {
5209			break
5210		}
5211	}
5212
5213	return p.Err()
5214}
5215
5216const opListLaunchPaths = "ListLaunchPaths"
5217
5218// ListLaunchPathsRequest generates a "aws/request.Request" representing the
5219// client's request for the ListLaunchPaths operation. The "output" return
5220// value will be populated with the request's response once the request completes
5221// successfully.
5222//
5223// Use "Send" method on the returned Request to send the API call to the service.
5224// the "output" return value is not valid until after Send returns without error.
5225//
5226// See ListLaunchPaths for more information on using the ListLaunchPaths
5227// API call, and error handling.
5228//
5229// This method is useful when you want to inject custom logic or configuration
5230// into the SDK's request lifecycle. Such as custom headers, or retry logic.
5231//
5232//
5233//    // Example sending a request using the ListLaunchPathsRequest method.
5234//    req, resp := client.ListLaunchPathsRequest(params)
5235//
5236//    err := req.Send()
5237//    if err == nil { // resp is now filled
5238//        fmt.Println(resp)
5239//    }
5240//
5241// See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/ListLaunchPaths
5242func (c *ServiceCatalog) ListLaunchPathsRequest(input *ListLaunchPathsInput) (req *request.Request, output *ListLaunchPathsOutput) {
5243	op := &request.Operation{
5244		Name:       opListLaunchPaths,
5245		HTTPMethod: "POST",
5246		HTTPPath:   "/",
5247		Paginator: &request.Paginator{
5248			InputTokens:     []string{"PageToken"},
5249			OutputTokens:    []string{"NextPageToken"},
5250			LimitToken:      "PageSize",
5251			TruncationToken: "",
5252		},
5253	}
5254
5255	if input == nil {
5256		input = &ListLaunchPathsInput{}
5257	}
5258
5259	output = &ListLaunchPathsOutput{}
5260	req = c.newRequest(op, input, output)
5261	return
5262}
5263
5264// ListLaunchPaths API operation for AWS Service Catalog.
5265//
5266// Lists the paths to the specified product. A path is how the user has access
5267// to a specified product, and is necessary when provisioning a product. A path
5268// also determines the constraints put on the product.
5269//
5270// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
5271// with awserr.Error's Code and Message methods to get detailed information about
5272// the error.
5273//
5274// See the AWS API reference guide for AWS Service Catalog's
5275// API operation ListLaunchPaths for usage and error information.
5276//
5277// Returned Error Types:
5278//   * InvalidParametersException
5279//   One or more parameters provided to the operation are not valid.
5280//
5281//   * ResourceNotFoundException
5282//   The specified resource was not found.
5283//
5284// See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/ListLaunchPaths
5285func (c *ServiceCatalog) ListLaunchPaths(input *ListLaunchPathsInput) (*ListLaunchPathsOutput, error) {
5286	req, out := c.ListLaunchPathsRequest(input)
5287	return out, req.Send()
5288}
5289
5290// ListLaunchPathsWithContext is the same as ListLaunchPaths with the addition of
5291// the ability to pass a context and additional request options.
5292//
5293// See ListLaunchPaths for details on how to use this API operation.
5294//
5295// The context must be non-nil and will be used for request cancellation. If
5296// the context is nil a panic will occur. In the future the SDK may create
5297// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5298// for more information on using Contexts.
5299func (c *ServiceCatalog) ListLaunchPathsWithContext(ctx aws.Context, input *ListLaunchPathsInput, opts ...request.Option) (*ListLaunchPathsOutput, error) {
5300	req, out := c.ListLaunchPathsRequest(input)
5301	req.SetContext(ctx)
5302	req.ApplyOptions(opts...)
5303	return out, req.Send()
5304}
5305
5306// ListLaunchPathsPages iterates over the pages of a ListLaunchPaths operation,
5307// calling the "fn" function with the response data for each page. To stop
5308// iterating, return false from the fn function.
5309//
5310// See ListLaunchPaths method for more information on how to use this operation.
5311//
5312// Note: This operation can generate multiple requests to a service.
5313//
5314//    // Example iterating over at most 3 pages of a ListLaunchPaths operation.
5315//    pageNum := 0
5316//    err := client.ListLaunchPathsPages(params,
5317//        func(page *servicecatalog.ListLaunchPathsOutput, lastPage bool) bool {
5318//            pageNum++
5319//            fmt.Println(page)
5320//            return pageNum <= 3
5321//        })
5322//
5323func (c *ServiceCatalog) ListLaunchPathsPages(input *ListLaunchPathsInput, fn func(*ListLaunchPathsOutput, bool) bool) error {
5324	return c.ListLaunchPathsPagesWithContext(aws.BackgroundContext(), input, fn)
5325}
5326
5327// ListLaunchPathsPagesWithContext same as ListLaunchPathsPages except
5328// it takes a Context and allows setting request options on the pages.
5329//
5330// The context must be non-nil and will be used for request cancellation. If
5331// the context is nil a panic will occur. In the future the SDK may create
5332// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5333// for more information on using Contexts.
5334func (c *ServiceCatalog) ListLaunchPathsPagesWithContext(ctx aws.Context, input *ListLaunchPathsInput, fn func(*ListLaunchPathsOutput, bool) bool, opts ...request.Option) error {
5335	p := request.Pagination{
5336		NewRequest: func() (*request.Request, error) {
5337			var inCpy *ListLaunchPathsInput
5338			if input != nil {
5339				tmp := *input
5340				inCpy = &tmp
5341			}
5342			req, _ := c.ListLaunchPathsRequest(inCpy)
5343			req.SetContext(ctx)
5344			req.ApplyOptions(opts...)
5345			return req, nil
5346		},
5347	}
5348
5349	for p.Next() {
5350		if !fn(p.Page().(*ListLaunchPathsOutput), !p.HasNextPage()) {
5351			break
5352		}
5353	}
5354
5355	return p.Err()
5356}
5357
5358const opListOrganizationPortfolioAccess = "ListOrganizationPortfolioAccess"
5359
5360// ListOrganizationPortfolioAccessRequest generates a "aws/request.Request" representing the
5361// client's request for the ListOrganizationPortfolioAccess operation. The "output" return
5362// value will be populated with the request's response once the request completes
5363// successfully.
5364//
5365// Use "Send" method on the returned Request to send the API call to the service.
5366// the "output" return value is not valid until after Send returns without error.
5367//
5368// See ListOrganizationPortfolioAccess for more information on using the ListOrganizationPortfolioAccess
5369// API call, and error handling.
5370//
5371// This method is useful when you want to inject custom logic or configuration
5372// into the SDK's request lifecycle. Such as custom headers, or retry logic.
5373//
5374//
5375//    // Example sending a request using the ListOrganizationPortfolioAccessRequest method.
5376//    req, resp := client.ListOrganizationPortfolioAccessRequest(params)
5377//
5378//    err := req.Send()
5379//    if err == nil { // resp is now filled
5380//        fmt.Println(resp)
5381//    }
5382//
5383// See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/ListOrganizationPortfolioAccess
5384func (c *ServiceCatalog) ListOrganizationPortfolioAccessRequest(input *ListOrganizationPortfolioAccessInput) (req *request.Request, output *ListOrganizationPortfolioAccessOutput) {
5385	op := &request.Operation{
5386		Name:       opListOrganizationPortfolioAccess,
5387		HTTPMethod: "POST",
5388		HTTPPath:   "/",
5389		Paginator: &request.Paginator{
5390			InputTokens:     []string{"PageToken"},
5391			OutputTokens:    []string{"NextPageToken"},
5392			LimitToken:      "PageSize",
5393			TruncationToken: "",
5394		},
5395	}
5396
5397	if input == nil {
5398		input = &ListOrganizationPortfolioAccessInput{}
5399	}
5400
5401	output = &ListOrganizationPortfolioAccessOutput{}
5402	req = c.newRequest(op, input, output)
5403	return
5404}
5405
5406// ListOrganizationPortfolioAccess API operation for AWS Service Catalog.
5407//
5408// Lists the organization nodes that have access to the specified portfolio.
5409// This API can only be called by the management account in the organization
5410// or by a delegated admin.
5411//
5412// If a delegated admin is de-registered, they can no longer perform this operation.
5413//
5414// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
5415// with awserr.Error's Code and Message methods to get detailed information about
5416// the error.
5417//
5418// See the AWS API reference guide for AWS Service Catalog's
5419// API operation ListOrganizationPortfolioAccess for usage and error information.
5420//
5421// Returned Error Types:
5422//   * ResourceNotFoundException
5423//   The specified resource was not found.
5424//
5425//   * InvalidParametersException
5426//   One or more parameters provided to the operation are not valid.
5427//
5428//   * OperationNotSupportedException
5429//   The operation is not supported.
5430//
5431// See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/ListOrganizationPortfolioAccess
5432func (c *ServiceCatalog) ListOrganizationPortfolioAccess(input *ListOrganizationPortfolioAccessInput) (*ListOrganizationPortfolioAccessOutput, error) {
5433	req, out := c.ListOrganizationPortfolioAccessRequest(input)
5434	return out, req.Send()
5435}
5436
5437// ListOrganizationPortfolioAccessWithContext is the same as ListOrganizationPortfolioAccess with the addition of
5438// the ability to pass a context and additional request options.
5439//
5440// See ListOrganizationPortfolioAccess for details on how to use this API operation.
5441//
5442// The context must be non-nil and will be used for request cancellation. If
5443// the context is nil a panic will occur. In the future the SDK may create
5444// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5445// for more information on using Contexts.
5446func (c *ServiceCatalog) ListOrganizationPortfolioAccessWithContext(ctx aws.Context, input *ListOrganizationPortfolioAccessInput, opts ...request.Option) (*ListOrganizationPortfolioAccessOutput, error) {
5447	req, out := c.ListOrganizationPortfolioAccessRequest(input)
5448	req.SetContext(ctx)
5449	req.ApplyOptions(opts...)
5450	return out, req.Send()
5451}
5452
5453// ListOrganizationPortfolioAccessPages iterates over the pages of a ListOrganizationPortfolioAccess operation,
5454// calling the "fn" function with the response data for each page. To stop
5455// iterating, return false from the fn function.
5456//
5457// See ListOrganizationPortfolioAccess method for more information on how to use this operation.
5458//
5459// Note: This operation can generate multiple requests to a service.
5460//
5461//    // Example iterating over at most 3 pages of a ListOrganizationPortfolioAccess operation.
5462//    pageNum := 0
5463//    err := client.ListOrganizationPortfolioAccessPages(params,
5464//        func(page *servicecatalog.ListOrganizationPortfolioAccessOutput, lastPage bool) bool {
5465//            pageNum++
5466//            fmt.Println(page)
5467//            return pageNum <= 3
5468//        })
5469//
5470func (c *ServiceCatalog) ListOrganizationPortfolioAccessPages(input *ListOrganizationPortfolioAccessInput, fn func(*ListOrganizationPortfolioAccessOutput, bool) bool) error {
5471	return c.ListOrganizationPortfolioAccessPagesWithContext(aws.BackgroundContext(), input, fn)
5472}
5473
5474// ListOrganizationPortfolioAccessPagesWithContext same as ListOrganizationPortfolioAccessPages except
5475// it takes a Context and allows setting request options on the pages.
5476//
5477// The context must be non-nil and will be used for request cancellation. If
5478// the context is nil a panic will occur. In the future the SDK may create
5479// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5480// for more information on using Contexts.
5481func (c *ServiceCatalog) ListOrganizationPortfolioAccessPagesWithContext(ctx aws.Context, input *ListOrganizationPortfolioAccessInput, fn func(*ListOrganizationPortfolioAccessOutput, bool) bool, opts ...request.Option) error {
5482	p := request.Pagination{
5483		NewRequest: func() (*request.Request, error) {
5484			var inCpy *ListOrganizationPortfolioAccessInput
5485			if input != nil {
5486				tmp := *input
5487				inCpy = &tmp
5488			}
5489			req, _ := c.ListOrganizationPortfolioAccessRequest(inCpy)
5490			req.SetContext(ctx)
5491			req.ApplyOptions(opts...)
5492			return req, nil
5493		},
5494	}
5495
5496	for p.Next() {
5497		if !fn(p.Page().(*ListOrganizationPortfolioAccessOutput), !p.HasNextPage()) {
5498			break
5499		}
5500	}
5501
5502	return p.Err()
5503}
5504
5505const opListPortfolioAccess = "ListPortfolioAccess"
5506
5507// ListPortfolioAccessRequest generates a "aws/request.Request" representing the
5508// client's request for the ListPortfolioAccess operation. The "output" return
5509// value will be populated with the request's response once the request completes
5510// successfully.
5511//
5512// Use "Send" method on the returned Request to send the API call to the service.
5513// the "output" return value is not valid until after Send returns without error.
5514//
5515// See ListPortfolioAccess for more information on using the ListPortfolioAccess
5516// API call, and error handling.
5517//
5518// This method is useful when you want to inject custom logic or configuration
5519// into the SDK's request lifecycle. Such as custom headers, or retry logic.
5520//
5521//
5522//    // Example sending a request using the ListPortfolioAccessRequest method.
5523//    req, resp := client.ListPortfolioAccessRequest(params)
5524//
5525//    err := req.Send()
5526//    if err == nil { // resp is now filled
5527//        fmt.Println(resp)
5528//    }
5529//
5530// See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/ListPortfolioAccess
5531func (c *ServiceCatalog) ListPortfolioAccessRequest(input *ListPortfolioAccessInput) (req *request.Request, output *ListPortfolioAccessOutput) {
5532	op := &request.Operation{
5533		Name:       opListPortfolioAccess,
5534		HTTPMethod: "POST",
5535		HTTPPath:   "/",
5536		Paginator: &request.Paginator{
5537			InputTokens:     []string{"PageToken"},
5538			OutputTokens:    []string{"NextPageToken"},
5539			LimitToken:      "PageSize",
5540			TruncationToken: "",
5541		},
5542	}
5543
5544	if input == nil {
5545		input = &ListPortfolioAccessInput{}
5546	}
5547
5548	output = &ListPortfolioAccessOutput{}
5549	req = c.newRequest(op, input, output)
5550	return
5551}
5552
5553// ListPortfolioAccess API operation for AWS Service Catalog.
5554//
5555// Lists the account IDs that have access to the specified portfolio.
5556//
5557// A delegated admin can list the accounts that have access to the shared portfolio.
5558// Note that if a delegated admin is de-registered, they can no longer perform
5559// this operation.
5560//
5561// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
5562// with awserr.Error's Code and Message methods to get detailed information about
5563// the error.
5564//
5565// See the AWS API reference guide for AWS Service Catalog's
5566// API operation ListPortfolioAccess for usage and error information.
5567//
5568// Returned Error Types:
5569//   * ResourceNotFoundException
5570//   The specified resource was not found.
5571//
5572//   * InvalidParametersException
5573//   One or more parameters provided to the operation are not valid.
5574//
5575// See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/ListPortfolioAccess
5576func (c *ServiceCatalog) ListPortfolioAccess(input *ListPortfolioAccessInput) (*ListPortfolioAccessOutput, error) {
5577	req, out := c.ListPortfolioAccessRequest(input)
5578	return out, req.Send()
5579}
5580
5581// ListPortfolioAccessWithContext is the same as ListPortfolioAccess with the addition of
5582// the ability to pass a context and additional request options.
5583//
5584// See ListPortfolioAccess for details on how to use this API operation.
5585//
5586// The context must be non-nil and will be used for request cancellation. If
5587// the context is nil a panic will occur. In the future the SDK may create
5588// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5589// for more information on using Contexts.
5590func (c *ServiceCatalog) ListPortfolioAccessWithContext(ctx aws.Context, input *ListPortfolioAccessInput, opts ...request.Option) (*ListPortfolioAccessOutput, error) {
5591	req, out := c.ListPortfolioAccessRequest(input)
5592	req.SetContext(ctx)
5593	req.ApplyOptions(opts...)
5594	return out, req.Send()
5595}
5596
5597// ListPortfolioAccessPages iterates over the pages of a ListPortfolioAccess operation,
5598// calling the "fn" function with the response data for each page. To stop
5599// iterating, return false from the fn function.
5600//
5601// See ListPortfolioAccess method for more information on how to use this operation.
5602//
5603// Note: This operation can generate multiple requests to a service.
5604//
5605//    // Example iterating over at most 3 pages of a ListPortfolioAccess operation.
5606//    pageNum := 0
5607//    err := client.ListPortfolioAccessPages(params,
5608//        func(page *servicecatalog.ListPortfolioAccessOutput, lastPage bool) bool {
5609//            pageNum++
5610//            fmt.Println(page)
5611//            return pageNum <= 3
5612//        })
5613//
5614func (c *ServiceCatalog) ListPortfolioAccessPages(input *ListPortfolioAccessInput, fn func(*ListPortfolioAccessOutput, bool) bool) error {
5615	return c.ListPortfolioAccessPagesWithContext(aws.BackgroundContext(), input, fn)
5616}
5617
5618// ListPortfolioAccessPagesWithContext same as ListPortfolioAccessPages except
5619// it takes a Context and allows setting request options on the pages.
5620//
5621// The context must be non-nil and will be used for request cancellation. If
5622// the context is nil a panic will occur. In the future the SDK may create
5623// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5624// for more information on using Contexts.
5625func (c *ServiceCatalog) ListPortfolioAccessPagesWithContext(ctx aws.Context, input *ListPortfolioAccessInput, fn func(*ListPortfolioAccessOutput, bool) bool, opts ...request.Option) error {
5626	p := request.Pagination{
5627		NewRequest: func() (*request.Request, error) {
5628			var inCpy *ListPortfolioAccessInput
5629			if input != nil {
5630				tmp := *input
5631				inCpy = &tmp
5632			}
5633			req, _ := c.ListPortfolioAccessRequest(inCpy)
5634			req.SetContext(ctx)
5635			req.ApplyOptions(opts...)
5636			return req, nil
5637		},
5638	}
5639
5640	for p.Next() {
5641		if !fn(p.Page().(*ListPortfolioAccessOutput), !p.HasNextPage()) {
5642			break
5643		}
5644	}
5645
5646	return p.Err()
5647}
5648
5649const opListPortfolios = "ListPortfolios"
5650
5651// ListPortfoliosRequest generates a "aws/request.Request" representing the
5652// client's request for the ListPortfolios operation. The "output" return
5653// value will be populated with the request's response once the request completes
5654// successfully.
5655//
5656// Use "Send" method on the returned Request to send the API call to the service.
5657// the "output" return value is not valid until after Send returns without error.
5658//
5659// See ListPortfolios for more information on using the ListPortfolios
5660// API call, and error handling.
5661//
5662// This method is useful when you want to inject custom logic or configuration
5663// into the SDK's request lifecycle. Such as custom headers, or retry logic.
5664//
5665//
5666//    // Example sending a request using the ListPortfoliosRequest method.
5667//    req, resp := client.ListPortfoliosRequest(params)
5668//
5669//    err := req.Send()
5670//    if err == nil { // resp is now filled
5671//        fmt.Println(resp)
5672//    }
5673//
5674// See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/ListPortfolios
5675func (c *ServiceCatalog) ListPortfoliosRequest(input *ListPortfoliosInput) (req *request.Request, output *ListPortfoliosOutput) {
5676	op := &request.Operation{
5677		Name:       opListPortfolios,
5678		HTTPMethod: "POST",
5679		HTTPPath:   "/",
5680		Paginator: &request.Paginator{
5681			InputTokens:     []string{"PageToken"},
5682			OutputTokens:    []string{"NextPageToken"},
5683			LimitToken:      "PageSize",
5684			TruncationToken: "",
5685		},
5686	}
5687
5688	if input == nil {
5689		input = &ListPortfoliosInput{}
5690	}
5691
5692	output = &ListPortfoliosOutput{}
5693	req = c.newRequest(op, input, output)
5694	return
5695}
5696
5697// ListPortfolios API operation for AWS Service Catalog.
5698//
5699// Lists all portfolios in the catalog.
5700//
5701// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
5702// with awserr.Error's Code and Message methods to get detailed information about
5703// the error.
5704//
5705// See the AWS API reference guide for AWS Service Catalog's
5706// API operation ListPortfolios for usage and error information.
5707//
5708// Returned Error Types:
5709//   * InvalidParametersException
5710//   One or more parameters provided to the operation are not valid.
5711//
5712// See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/ListPortfolios
5713func (c *ServiceCatalog) ListPortfolios(input *ListPortfoliosInput) (*ListPortfoliosOutput, error) {
5714	req, out := c.ListPortfoliosRequest(input)
5715	return out, req.Send()
5716}
5717
5718// ListPortfoliosWithContext is the same as ListPortfolios with the addition of
5719// the ability to pass a context and additional request options.
5720//
5721// See ListPortfolios for details on how to use this API operation.
5722//
5723// The context must be non-nil and will be used for request cancellation. If
5724// the context is nil a panic will occur. In the future the SDK may create
5725// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5726// for more information on using Contexts.
5727func (c *ServiceCatalog) ListPortfoliosWithContext(ctx aws.Context, input *ListPortfoliosInput, opts ...request.Option) (*ListPortfoliosOutput, error) {
5728	req, out := c.ListPortfoliosRequest(input)
5729	req.SetContext(ctx)
5730	req.ApplyOptions(opts...)
5731	return out, req.Send()
5732}
5733
5734// ListPortfoliosPages iterates over the pages of a ListPortfolios operation,
5735// calling the "fn" function with the response data for each page. To stop
5736// iterating, return false from the fn function.
5737//
5738// See ListPortfolios method for more information on how to use this operation.
5739//
5740// Note: This operation can generate multiple requests to a service.
5741//
5742//    // Example iterating over at most 3 pages of a ListPortfolios operation.
5743//    pageNum := 0
5744//    err := client.ListPortfoliosPages(params,
5745//        func(page *servicecatalog.ListPortfoliosOutput, lastPage bool) bool {
5746//            pageNum++
5747//            fmt.Println(page)
5748//            return pageNum <= 3
5749//        })
5750//
5751func (c *ServiceCatalog) ListPortfoliosPages(input *ListPortfoliosInput, fn func(*ListPortfoliosOutput, bool) bool) error {
5752	return c.ListPortfoliosPagesWithContext(aws.BackgroundContext(), input, fn)
5753}
5754
5755// ListPortfoliosPagesWithContext same as ListPortfoliosPages except
5756// it takes a Context and allows setting request options on the pages.
5757//
5758// The context must be non-nil and will be used for request cancellation. If
5759// the context is nil a panic will occur. In the future the SDK may create
5760// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5761// for more information on using Contexts.
5762func (c *ServiceCatalog) ListPortfoliosPagesWithContext(ctx aws.Context, input *ListPortfoliosInput, fn func(*ListPortfoliosOutput, bool) bool, opts ...request.Option) error {
5763	p := request.Pagination{
5764		NewRequest: func() (*request.Request, error) {
5765			var inCpy *ListPortfoliosInput
5766			if input != nil {
5767				tmp := *input
5768				inCpy = &tmp
5769			}
5770			req, _ := c.ListPortfoliosRequest(inCpy)
5771			req.SetContext(ctx)
5772			req.ApplyOptions(opts...)
5773			return req, nil
5774		},
5775	}
5776
5777	for p.Next() {
5778		if !fn(p.Page().(*ListPortfoliosOutput), !p.HasNextPage()) {
5779			break
5780		}
5781	}
5782
5783	return p.Err()
5784}
5785
5786const opListPortfoliosForProduct = "ListPortfoliosForProduct"
5787
5788// ListPortfoliosForProductRequest generates a "aws/request.Request" representing the
5789// client's request for the ListPortfoliosForProduct operation. The "output" return
5790// value will be populated with the request's response once the request completes
5791// successfully.
5792//
5793// Use "Send" method on the returned Request to send the API call to the service.
5794// the "output" return value is not valid until after Send returns without error.
5795//
5796// See ListPortfoliosForProduct for more information on using the ListPortfoliosForProduct
5797// API call, and error handling.
5798//
5799// This method is useful when you want to inject custom logic or configuration
5800// into the SDK's request lifecycle. Such as custom headers, or retry logic.
5801//
5802//
5803//    // Example sending a request using the ListPortfoliosForProductRequest method.
5804//    req, resp := client.ListPortfoliosForProductRequest(params)
5805//
5806//    err := req.Send()
5807//    if err == nil { // resp is now filled
5808//        fmt.Println(resp)
5809//    }
5810//
5811// See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/ListPortfoliosForProduct
5812func (c *ServiceCatalog) ListPortfoliosForProductRequest(input *ListPortfoliosForProductInput) (req *request.Request, output *ListPortfoliosForProductOutput) {
5813	op := &request.Operation{
5814		Name:       opListPortfoliosForProduct,
5815		HTTPMethod: "POST",
5816		HTTPPath:   "/",
5817		Paginator: &request.Paginator{
5818			InputTokens:     []string{"PageToken"},
5819			OutputTokens:    []string{"NextPageToken"},
5820			LimitToken:      "PageSize",
5821			TruncationToken: "",
5822		},
5823	}
5824
5825	if input == nil {
5826		input = &ListPortfoliosForProductInput{}
5827	}
5828
5829	output = &ListPortfoliosForProductOutput{}
5830	req = c.newRequest(op, input, output)
5831	return
5832}
5833
5834// ListPortfoliosForProduct API operation for AWS Service Catalog.
5835//
5836// Lists all portfolios that the specified product is associated with.
5837//
5838// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
5839// with awserr.Error's Code and Message methods to get detailed information about
5840// the error.
5841//
5842// See the AWS API reference guide for AWS Service Catalog's
5843// API operation ListPortfoliosForProduct for usage and error information.
5844//
5845// Returned Error Types:
5846//   * InvalidParametersException
5847//   One or more parameters provided to the operation are not valid.
5848//
5849//   * ResourceNotFoundException
5850//   The specified resource was not found.
5851//
5852// See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/ListPortfoliosForProduct
5853func (c *ServiceCatalog) ListPortfoliosForProduct(input *ListPortfoliosForProductInput) (*ListPortfoliosForProductOutput, error) {
5854	req, out := c.ListPortfoliosForProductRequest(input)
5855	return out, req.Send()
5856}
5857
5858// ListPortfoliosForProductWithContext is the same as ListPortfoliosForProduct with the addition of
5859// the ability to pass a context and additional request options.
5860//
5861// See ListPortfoliosForProduct for details on how to use this API operation.
5862//
5863// The context must be non-nil and will be used for request cancellation. If
5864// the context is nil a panic will occur. In the future the SDK may create
5865// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5866// for more information on using Contexts.
5867func (c *ServiceCatalog) ListPortfoliosForProductWithContext(ctx aws.Context, input *ListPortfoliosForProductInput, opts ...request.Option) (*ListPortfoliosForProductOutput, error) {
5868	req, out := c.ListPortfoliosForProductRequest(input)
5869	req.SetContext(ctx)
5870	req.ApplyOptions(opts...)
5871	return out, req.Send()
5872}
5873
5874// ListPortfoliosForProductPages iterates over the pages of a ListPortfoliosForProduct operation,
5875// calling the "fn" function with the response data for each page. To stop
5876// iterating, return false from the fn function.
5877//
5878// See ListPortfoliosForProduct method for more information on how to use this operation.
5879//
5880// Note: This operation can generate multiple requests to a service.
5881//
5882//    // Example iterating over at most 3 pages of a ListPortfoliosForProduct operation.
5883//    pageNum := 0
5884//    err := client.ListPortfoliosForProductPages(params,
5885//        func(page *servicecatalog.ListPortfoliosForProductOutput, lastPage bool) bool {
5886//            pageNum++
5887//            fmt.Println(page)
5888//            return pageNum <= 3
5889//        })
5890//
5891func (c *ServiceCatalog) ListPortfoliosForProductPages(input *ListPortfoliosForProductInput, fn func(*ListPortfoliosForProductOutput, bool) bool) error {
5892	return c.ListPortfoliosForProductPagesWithContext(aws.BackgroundContext(), input, fn)
5893}
5894
5895// ListPortfoliosForProductPagesWithContext same as ListPortfoliosForProductPages except
5896// it takes a Context and allows setting request options on the pages.
5897//
5898// The context must be non-nil and will be used for request cancellation. If
5899// the context is nil a panic will occur. In the future the SDK may create
5900// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5901// for more information on using Contexts.
5902func (c *ServiceCatalog) ListPortfoliosForProductPagesWithContext(ctx aws.Context, input *ListPortfoliosForProductInput, fn func(*ListPortfoliosForProductOutput, bool) bool, opts ...request.Option) error {
5903	p := request.Pagination{
5904		NewRequest: func() (*request.Request, error) {
5905			var inCpy *ListPortfoliosForProductInput
5906			if input != nil {
5907				tmp := *input
5908				inCpy = &tmp
5909			}
5910			req, _ := c.ListPortfoliosForProductRequest(inCpy)
5911			req.SetContext(ctx)
5912			req.ApplyOptions(opts...)
5913			return req, nil
5914		},
5915	}
5916
5917	for p.Next() {
5918		if !fn(p.Page().(*ListPortfoliosForProductOutput), !p.HasNextPage()) {
5919			break
5920		}
5921	}
5922
5923	return p.Err()
5924}
5925
5926const opListPrincipalsForPortfolio = "ListPrincipalsForPortfolio"
5927
5928// ListPrincipalsForPortfolioRequest generates a "aws/request.Request" representing the
5929// client's request for the ListPrincipalsForPortfolio operation. The "output" return
5930// value will be populated with the request's response once the request completes
5931// successfully.
5932//
5933// Use "Send" method on the returned Request to send the API call to the service.
5934// the "output" return value is not valid until after Send returns without error.
5935//
5936// See ListPrincipalsForPortfolio for more information on using the ListPrincipalsForPortfolio
5937// API call, and error handling.
5938//
5939// This method is useful when you want to inject custom logic or configuration
5940// into the SDK's request lifecycle. Such as custom headers, or retry logic.
5941//
5942//
5943//    // Example sending a request using the ListPrincipalsForPortfolioRequest method.
5944//    req, resp := client.ListPrincipalsForPortfolioRequest(params)
5945//
5946//    err := req.Send()
5947//    if err == nil { // resp is now filled
5948//        fmt.Println(resp)
5949//    }
5950//
5951// See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/ListPrincipalsForPortfolio
5952func (c *ServiceCatalog) ListPrincipalsForPortfolioRequest(input *ListPrincipalsForPortfolioInput) (req *request.Request, output *ListPrincipalsForPortfolioOutput) {
5953	op := &request.Operation{
5954		Name:       opListPrincipalsForPortfolio,
5955		HTTPMethod: "POST",
5956		HTTPPath:   "/",
5957		Paginator: &request.Paginator{
5958			InputTokens:     []string{"PageToken"},
5959			OutputTokens:    []string{"NextPageToken"},
5960			LimitToken:      "PageSize",
5961			TruncationToken: "",
5962		},
5963	}
5964
5965	if input == nil {
5966		input = &ListPrincipalsForPortfolioInput{}
5967	}
5968
5969	output = &ListPrincipalsForPortfolioOutput{}
5970	req = c.newRequest(op, input, output)
5971	return
5972}
5973
5974// ListPrincipalsForPortfolio API operation for AWS Service Catalog.
5975//
5976// Lists all principal ARNs associated with the specified portfolio.
5977//
5978// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
5979// with awserr.Error's Code and Message methods to get detailed information about
5980// the error.
5981//
5982// See the AWS API reference guide for AWS Service Catalog's
5983// API operation ListPrincipalsForPortfolio for usage and error information.
5984//
5985// Returned Error Types:
5986//   * ResourceNotFoundException
5987//   The specified resource was not found.
5988//
5989//   * InvalidParametersException
5990//   One or more parameters provided to the operation are not valid.
5991//
5992// See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/ListPrincipalsForPortfolio
5993func (c *ServiceCatalog) ListPrincipalsForPortfolio(input *ListPrincipalsForPortfolioInput) (*ListPrincipalsForPortfolioOutput, error) {
5994	req, out := c.ListPrincipalsForPortfolioRequest(input)
5995	return out, req.Send()
5996}
5997
5998// ListPrincipalsForPortfolioWithContext is the same as ListPrincipalsForPortfolio with the addition of
5999// the ability to pass a context and additional request options.
6000//
6001// See ListPrincipalsForPortfolio for details on how to use this API operation.
6002//
6003// The context must be non-nil and will be used for request cancellation. If
6004// the context is nil a panic will occur. In the future the SDK may create
6005// sub-contexts for http.Requests. See https://golang.org/pkg/context/
6006// for more information on using Contexts.
6007func (c *ServiceCatalog) ListPrincipalsForPortfolioWithContext(ctx aws.Context, input *ListPrincipalsForPortfolioInput, opts ...request.Option) (*ListPrincipalsForPortfolioOutput, error) {
6008	req, out := c.ListPrincipalsForPortfolioRequest(input)
6009	req.SetContext(ctx)
6010	req.ApplyOptions(opts...)
6011	return out, req.Send()
6012}
6013
6014// ListPrincipalsForPortfolioPages iterates over the pages of a ListPrincipalsForPortfolio operation,
6015// calling the "fn" function with the response data for each page. To stop
6016// iterating, return false from the fn function.
6017//
6018// See ListPrincipalsForPortfolio method for more information on how to use this operation.
6019//
6020// Note: This operation can generate multiple requests to a service.
6021//
6022//    // Example iterating over at most 3 pages of a ListPrincipalsForPortfolio operation.
6023//    pageNum := 0
6024//    err := client.ListPrincipalsForPortfolioPages(params,
6025//        func(page *servicecatalog.ListPrincipalsForPortfolioOutput, lastPage bool) bool {
6026//            pageNum++
6027//            fmt.Println(page)
6028//            return pageNum <= 3
6029//        })
6030//
6031func (c *ServiceCatalog) ListPrincipalsForPortfolioPages(input *ListPrincipalsForPortfolioInput, fn func(*ListPrincipalsForPortfolioOutput, bool) bool) error {
6032	return c.ListPrincipalsForPortfolioPagesWithContext(aws.BackgroundContext(), input, fn)
6033}
6034
6035// ListPrincipalsForPortfolioPagesWithContext same as ListPrincipalsForPortfolioPages except
6036// it takes a Context and allows setting request options on the pages.
6037//
6038// The context must be non-nil and will be used for request cancellation. If
6039// the context is nil a panic will occur. In the future the SDK may create
6040// sub-contexts for http.Requests. See https://golang.org/pkg/context/
6041// for more information on using Contexts.
6042func (c *ServiceCatalog) ListPrincipalsForPortfolioPagesWithContext(ctx aws.Context, input *ListPrincipalsForPortfolioInput, fn func(*ListPrincipalsForPortfolioOutput, bool) bool, opts ...request.Option) error {
6043	p := request.Pagination{
6044		NewRequest: func() (*request.Request, error) {
6045			var inCpy *ListPrincipalsForPortfolioInput
6046			if input != nil {
6047				tmp := *input
6048				inCpy = &tmp
6049			}
6050			req, _ := c.ListPrincipalsForPortfolioRequest(inCpy)
6051			req.SetContext(ctx)
6052			req.ApplyOptions(opts...)
6053			return req, nil
6054		},
6055	}
6056
6057	for p.Next() {
6058		if !fn(p.Page().(*ListPrincipalsForPortfolioOutput), !p.HasNextPage()) {
6059			break
6060		}
6061	}
6062
6063	return p.Err()
6064}
6065
6066const opListProvisionedProductPlans = "ListProvisionedProductPlans"
6067
6068// ListProvisionedProductPlansRequest generates a "aws/request.Request" representing the
6069// client's request for the ListProvisionedProductPlans operation. The "output" return
6070// value will be populated with the request's response once the request completes
6071// successfully.
6072//
6073// Use "Send" method on the returned Request to send the API call to the service.
6074// the "output" return value is not valid until after Send returns without error.
6075//
6076// See ListProvisionedProductPlans for more information on using the ListProvisionedProductPlans
6077// API call, and error handling.
6078//
6079// This method is useful when you want to inject custom logic or configuration
6080// into the SDK's request lifecycle. Such as custom headers, or retry logic.
6081//
6082//
6083//    // Example sending a request using the ListProvisionedProductPlansRequest method.
6084//    req, resp := client.ListProvisionedProductPlansRequest(params)
6085//
6086//    err := req.Send()
6087//    if err == nil { // resp is now filled
6088//        fmt.Println(resp)
6089//    }
6090//
6091// See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/ListProvisionedProductPlans
6092func (c *ServiceCatalog) ListProvisionedProductPlansRequest(input *ListProvisionedProductPlansInput) (req *request.Request, output *ListProvisionedProductPlansOutput) {
6093	op := &request.Operation{
6094		Name:       opListProvisionedProductPlans,
6095		HTTPMethod: "POST",
6096		HTTPPath:   "/",
6097	}
6098
6099	if input == nil {
6100		input = &ListProvisionedProductPlansInput{}
6101	}
6102
6103	output = &ListProvisionedProductPlansOutput{}
6104	req = c.newRequest(op, input, output)
6105	return
6106}
6107
6108// ListProvisionedProductPlans API operation for AWS Service Catalog.
6109//
6110// Lists the plans for the specified provisioned product or all plans to which
6111// the user has access.
6112//
6113// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
6114// with awserr.Error's Code and Message methods to get detailed information about
6115// the error.
6116//
6117// See the AWS API reference guide for AWS Service Catalog's
6118// API operation ListProvisionedProductPlans for usage and error information.
6119//
6120// Returned Error Types:
6121//   * ResourceNotFoundException
6122//   The specified resource was not found.
6123//
6124//   * InvalidParametersException
6125//   One or more parameters provided to the operation are not valid.
6126//
6127// See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/ListProvisionedProductPlans
6128func (c *ServiceCatalog) ListProvisionedProductPlans(input *ListProvisionedProductPlansInput) (*ListProvisionedProductPlansOutput, error) {
6129	req, out := c.ListProvisionedProductPlansRequest(input)
6130	return out, req.Send()
6131}
6132
6133// ListProvisionedProductPlansWithContext is the same as ListProvisionedProductPlans with the addition of
6134// the ability to pass a context and additional request options.
6135//
6136// See ListProvisionedProductPlans for details on how to use this API operation.
6137//
6138// The context must be non-nil and will be used for request cancellation. If
6139// the context is nil a panic will occur. In the future the SDK may create
6140// sub-contexts for http.Requests. See https://golang.org/pkg/context/
6141// for more information on using Contexts.
6142func (c *ServiceCatalog) ListProvisionedProductPlansWithContext(ctx aws.Context, input *ListProvisionedProductPlansInput, opts ...request.Option) (*ListProvisionedProductPlansOutput, error) {
6143	req, out := c.ListProvisionedProductPlansRequest(input)
6144	req.SetContext(ctx)
6145	req.ApplyOptions(opts...)
6146	return out, req.Send()
6147}
6148
6149const opListProvisioningArtifacts = "ListProvisioningArtifacts"
6150
6151// ListProvisioningArtifactsRequest generates a "aws/request.Request" representing the
6152// client's request for the ListProvisioningArtifacts operation. The "output" return
6153// value will be populated with the request's response once the request completes
6154// successfully.
6155//
6156// Use "Send" method on the returned Request to send the API call to the service.
6157// the "output" return value is not valid until after Send returns without error.
6158//
6159// See ListProvisioningArtifacts for more information on using the ListProvisioningArtifacts
6160// API call, and error handling.
6161//
6162// This method is useful when you want to inject custom logic or configuration
6163// into the SDK's request lifecycle. Such as custom headers, or retry logic.
6164//
6165//
6166//    // Example sending a request using the ListProvisioningArtifactsRequest method.
6167//    req, resp := client.ListProvisioningArtifactsRequest(params)
6168//
6169//    err := req.Send()
6170//    if err == nil { // resp is now filled
6171//        fmt.Println(resp)
6172//    }
6173//
6174// See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/ListProvisioningArtifacts
6175func (c *ServiceCatalog) ListProvisioningArtifactsRequest(input *ListProvisioningArtifactsInput) (req *request.Request, output *ListProvisioningArtifactsOutput) {
6176	op := &request.Operation{
6177		Name:       opListProvisioningArtifacts,
6178		HTTPMethod: "POST",
6179		HTTPPath:   "/",
6180	}
6181
6182	if input == nil {
6183		input = &ListProvisioningArtifactsInput{}
6184	}
6185
6186	output = &ListProvisioningArtifactsOutput{}
6187	req = c.newRequest(op, input, output)
6188	return
6189}
6190
6191// ListProvisioningArtifacts API operation for AWS Service Catalog.
6192//
6193// Lists all provisioning artifacts (also known as versions) for the specified
6194// product.
6195//
6196// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
6197// with awserr.Error's Code and Message methods to get detailed information about
6198// the error.
6199//
6200// See the AWS API reference guide for AWS Service Catalog's
6201// API operation ListProvisioningArtifacts for usage and error information.
6202//
6203// Returned Error Types:
6204//   * ResourceNotFoundException
6205//   The specified resource was not found.
6206//
6207//   * InvalidParametersException
6208//   One or more parameters provided to the operation are not valid.
6209//
6210// See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/ListProvisioningArtifacts
6211func (c *ServiceCatalog) ListProvisioningArtifacts(input *ListProvisioningArtifactsInput) (*ListProvisioningArtifactsOutput, error) {
6212	req, out := c.ListProvisioningArtifactsRequest(input)
6213	return out, req.Send()
6214}
6215
6216// ListProvisioningArtifactsWithContext is the same as ListProvisioningArtifacts with the addition of
6217// the ability to pass a context and additional request options.
6218//
6219// See ListProvisioningArtifacts for details on how to use this API operation.
6220//
6221// The context must be non-nil and will be used for request cancellation. If
6222// the context is nil a panic will occur. In the future the SDK may create
6223// sub-contexts for http.Requests. See https://golang.org/pkg/context/
6224// for more information on using Contexts.
6225func (c *ServiceCatalog) ListProvisioningArtifactsWithContext(ctx aws.Context, input *ListProvisioningArtifactsInput, opts ...request.Option) (*ListProvisioningArtifactsOutput, error) {
6226	req, out := c.ListProvisioningArtifactsRequest(input)
6227	req.SetContext(ctx)
6228	req.ApplyOptions(opts...)
6229	return out, req.Send()
6230}
6231
6232const opListProvisioningArtifactsForServiceAction = "ListProvisioningArtifactsForServiceAction"
6233
6234// ListProvisioningArtifactsForServiceActionRequest generates a "aws/request.Request" representing the
6235// client's request for the ListProvisioningArtifactsForServiceAction operation. The "output" return
6236// value will be populated with the request's response once the request completes
6237// successfully.
6238//
6239// Use "Send" method on the returned Request to send the API call to the service.
6240// the "output" return value is not valid until after Send returns without error.
6241//
6242// See ListProvisioningArtifactsForServiceAction for more information on using the ListProvisioningArtifactsForServiceAction
6243// API call, and error handling.
6244//
6245// This method is useful when you want to inject custom logic or configuration
6246// into the SDK's request lifecycle. Such as custom headers, or retry logic.
6247//
6248//
6249//    // Example sending a request using the ListProvisioningArtifactsForServiceActionRequest method.
6250//    req, resp := client.ListProvisioningArtifactsForServiceActionRequest(params)
6251//
6252//    err := req.Send()
6253//    if err == nil { // resp is now filled
6254//        fmt.Println(resp)
6255//    }
6256//
6257// See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/ListProvisioningArtifactsForServiceAction
6258func (c *ServiceCatalog) ListProvisioningArtifactsForServiceActionRequest(input *ListProvisioningArtifactsForServiceActionInput) (req *request.Request, output *ListProvisioningArtifactsForServiceActionOutput) {
6259	op := &request.Operation{
6260		Name:       opListProvisioningArtifactsForServiceAction,
6261		HTTPMethod: "POST",
6262		HTTPPath:   "/",
6263		Paginator: &request.Paginator{
6264			InputTokens:     []string{"PageToken"},
6265			OutputTokens:    []string{"NextPageToken"},
6266			LimitToken:      "PageSize",
6267			TruncationToken: "",
6268		},
6269	}
6270
6271	if input == nil {
6272		input = &ListProvisioningArtifactsForServiceActionInput{}
6273	}
6274
6275	output = &ListProvisioningArtifactsForServiceActionOutput{}
6276	req = c.newRequest(op, input, output)
6277	return
6278}
6279
6280// ListProvisioningArtifactsForServiceAction API operation for AWS Service Catalog.
6281//
6282// Lists all provisioning artifacts (also known as versions) for the specified
6283// self-service action.
6284//
6285// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
6286// with awserr.Error's Code and Message methods to get detailed information about
6287// the error.
6288//
6289// See the AWS API reference guide for AWS Service Catalog's
6290// API operation ListProvisioningArtifactsForServiceAction for usage and error information.
6291//
6292// Returned Error Types:
6293//   * ResourceNotFoundException
6294//   The specified resource was not found.
6295//
6296//   * InvalidParametersException
6297//   One or more parameters provided to the operation are not valid.
6298//
6299// See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/ListProvisioningArtifactsForServiceAction
6300func (c *ServiceCatalog) ListProvisioningArtifactsForServiceAction(input *ListProvisioningArtifactsForServiceActionInput) (*ListProvisioningArtifactsForServiceActionOutput, error) {
6301	req, out := c.ListProvisioningArtifactsForServiceActionRequest(input)
6302	return out, req.Send()
6303}
6304
6305// ListProvisioningArtifactsForServiceActionWithContext is the same as ListProvisioningArtifactsForServiceAction with the addition of
6306// the ability to pass a context and additional request options.
6307//
6308// See ListProvisioningArtifactsForServiceAction for details on how to use this API operation.
6309//
6310// The context must be non-nil and will be used for request cancellation. If
6311// the context is nil a panic will occur. In the future the SDK may create
6312// sub-contexts for http.Requests. See https://golang.org/pkg/context/
6313// for more information on using Contexts.
6314func (c *ServiceCatalog) ListProvisioningArtifactsForServiceActionWithContext(ctx aws.Context, input *ListProvisioningArtifactsForServiceActionInput, opts ...request.Option) (*ListProvisioningArtifactsForServiceActionOutput, error) {
6315	req, out := c.ListProvisioningArtifactsForServiceActionRequest(input)
6316	req.SetContext(ctx)
6317	req.ApplyOptions(opts...)
6318	return out, req.Send()
6319}
6320
6321// ListProvisioningArtifactsForServiceActionPages iterates over the pages of a ListProvisioningArtifactsForServiceAction operation,
6322// calling the "fn" function with the response data for each page. To stop
6323// iterating, return false from the fn function.
6324//
6325// See ListProvisioningArtifactsForServiceAction method for more information on how to use this operation.
6326//
6327// Note: This operation can generate multiple requests to a service.
6328//
6329//    // Example iterating over at most 3 pages of a ListProvisioningArtifactsForServiceAction operation.
6330//    pageNum := 0
6331//    err := client.ListProvisioningArtifactsForServiceActionPages(params,
6332//        func(page *servicecatalog.ListProvisioningArtifactsForServiceActionOutput, lastPage bool) bool {
6333//            pageNum++
6334//            fmt.Println(page)
6335//            return pageNum <= 3
6336//        })
6337//
6338func (c *ServiceCatalog) ListProvisioningArtifactsForServiceActionPages(input *ListProvisioningArtifactsForServiceActionInput, fn func(*ListProvisioningArtifactsForServiceActionOutput, bool) bool) error {
6339	return c.ListProvisioningArtifactsForServiceActionPagesWithContext(aws.BackgroundContext(), input, fn)
6340}
6341
6342// ListProvisioningArtifactsForServiceActionPagesWithContext same as ListProvisioningArtifactsForServiceActionPages except
6343// it takes a Context and allows setting request options on the pages.
6344//
6345// The context must be non-nil and will be used for request cancellation. If
6346// the context is nil a panic will occur. In the future the SDK may create
6347// sub-contexts for http.Requests. See https://golang.org/pkg/context/
6348// for more information on using Contexts.
6349func (c *ServiceCatalog) ListProvisioningArtifactsForServiceActionPagesWithContext(ctx aws.Context, input *ListProvisioningArtifactsForServiceActionInput, fn func(*ListProvisioningArtifactsForServiceActionOutput, bool) bool, opts ...request.Option) error {
6350	p := request.Pagination{
6351		NewRequest: func() (*request.Request, error) {
6352			var inCpy *ListProvisioningArtifactsForServiceActionInput
6353			if input != nil {
6354				tmp := *input
6355				inCpy = &tmp
6356			}
6357			req, _ := c.ListProvisioningArtifactsForServiceActionRequest(inCpy)
6358			req.SetContext(ctx)
6359			req.ApplyOptions(opts...)
6360			return req, nil
6361		},
6362	}
6363
6364	for p.Next() {
6365		if !fn(p.Page().(*ListProvisioningArtifactsForServiceActionOutput), !p.HasNextPage()) {
6366			break
6367		}
6368	}
6369
6370	return p.Err()
6371}
6372
6373const opListRecordHistory = "ListRecordHistory"
6374
6375// ListRecordHistoryRequest generates a "aws/request.Request" representing the
6376// client's request for the ListRecordHistory operation. The "output" return
6377// value will be populated with the request's response once the request completes
6378// successfully.
6379//
6380// Use "Send" method on the returned Request to send the API call to the service.
6381// the "output" return value is not valid until after Send returns without error.
6382//
6383// See ListRecordHistory for more information on using the ListRecordHistory
6384// API call, and error handling.
6385//
6386// This method is useful when you want to inject custom logic or configuration
6387// into the SDK's request lifecycle. Such as custom headers, or retry logic.
6388//
6389//
6390//    // Example sending a request using the ListRecordHistoryRequest method.
6391//    req, resp := client.ListRecordHistoryRequest(params)
6392//
6393//    err := req.Send()
6394//    if err == nil { // resp is now filled
6395//        fmt.Println(resp)
6396//    }
6397//
6398// See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/ListRecordHistory
6399func (c *ServiceCatalog) ListRecordHistoryRequest(input *ListRecordHistoryInput) (req *request.Request, output *ListRecordHistoryOutput) {
6400	op := &request.Operation{
6401		Name:       opListRecordHistory,
6402		HTTPMethod: "POST",
6403		HTTPPath:   "/",
6404	}
6405
6406	if input == nil {
6407		input = &ListRecordHistoryInput{}
6408	}
6409
6410	output = &ListRecordHistoryOutput{}
6411	req = c.newRequest(op, input, output)
6412	return
6413}
6414
6415// ListRecordHistory API operation for AWS Service Catalog.
6416//
6417// Lists the specified requests or all performed requests.
6418//
6419// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
6420// with awserr.Error's Code and Message methods to get detailed information about
6421// the error.
6422//
6423// See the AWS API reference guide for AWS Service Catalog's
6424// API operation ListRecordHistory for usage and error information.
6425//
6426// Returned Error Types:
6427//   * InvalidParametersException
6428//   One or more parameters provided to the operation are not valid.
6429//
6430// See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/ListRecordHistory
6431func (c *ServiceCatalog) ListRecordHistory(input *ListRecordHistoryInput) (*ListRecordHistoryOutput, error) {
6432	req, out := c.ListRecordHistoryRequest(input)
6433	return out, req.Send()
6434}
6435
6436// ListRecordHistoryWithContext is the same as ListRecordHistory with the addition of
6437// the ability to pass a context and additional request options.
6438//
6439// See ListRecordHistory for details on how to use this API operation.
6440//
6441// The context must be non-nil and will be used for request cancellation. If
6442// the context is nil a panic will occur. In the future the SDK may create
6443// sub-contexts for http.Requests. See https://golang.org/pkg/context/
6444// for more information on using Contexts.
6445func (c *ServiceCatalog) ListRecordHistoryWithContext(ctx aws.Context, input *ListRecordHistoryInput, opts ...request.Option) (*ListRecordHistoryOutput, error) {
6446	req, out := c.ListRecordHistoryRequest(input)
6447	req.SetContext(ctx)
6448	req.ApplyOptions(opts...)
6449	return out, req.Send()
6450}
6451
6452const opListResourcesForTagOption = "ListResourcesForTagOption"
6453
6454// ListResourcesForTagOptionRequest generates a "aws/request.Request" representing the
6455// client's request for the ListResourcesForTagOption operation. The "output" return
6456// value will be populated with the request's response once the request completes
6457// successfully.
6458//
6459// Use "Send" method on the returned Request to send the API call to the service.
6460// the "output" return value is not valid until after Send returns without error.
6461//
6462// See ListResourcesForTagOption for more information on using the ListResourcesForTagOption
6463// API call, and error handling.
6464//
6465// This method is useful when you want to inject custom logic or configuration
6466// into the SDK's request lifecycle. Such as custom headers, or retry logic.
6467//
6468//
6469//    // Example sending a request using the ListResourcesForTagOptionRequest method.
6470//    req, resp := client.ListResourcesForTagOptionRequest(params)
6471//
6472//    err := req.Send()
6473//    if err == nil { // resp is now filled
6474//        fmt.Println(resp)
6475//    }
6476//
6477// See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/ListResourcesForTagOption
6478func (c *ServiceCatalog) ListResourcesForTagOptionRequest(input *ListResourcesForTagOptionInput) (req *request.Request, output *ListResourcesForTagOptionOutput) {
6479	op := &request.Operation{
6480		Name:       opListResourcesForTagOption,
6481		HTTPMethod: "POST",
6482		HTTPPath:   "/",
6483		Paginator: &request.Paginator{
6484			InputTokens:     []string{"PageToken"},
6485			OutputTokens:    []string{"PageToken"},
6486			LimitToken:      "PageSize",
6487			TruncationToken: "",
6488		},
6489	}
6490
6491	if input == nil {
6492		input = &ListResourcesForTagOptionInput{}
6493	}
6494
6495	output = &ListResourcesForTagOptionOutput{}
6496	req = c.newRequest(op, input, output)
6497	return
6498}
6499
6500// ListResourcesForTagOption API operation for AWS Service Catalog.
6501//
6502// Lists the resources associated with the specified TagOption.
6503//
6504// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
6505// with awserr.Error's Code and Message methods to get detailed information about
6506// the error.
6507//
6508// See the AWS API reference guide for AWS Service Catalog's
6509// API operation ListResourcesForTagOption for usage and error information.
6510//
6511// Returned Error Types:
6512//   * TagOptionNotMigratedException
6513//   An operation requiring TagOptions failed because the TagOptions migration
6514//   process has not been performed for this account. Please use the AWS console
6515//   to perform the migration process before retrying the operation.
6516//
6517//   * ResourceNotFoundException
6518//   The specified resource was not found.
6519//
6520//   * InvalidParametersException
6521//   One or more parameters provided to the operation are not valid.
6522//
6523// See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/ListResourcesForTagOption
6524func (c *ServiceCatalog) ListResourcesForTagOption(input *ListResourcesForTagOptionInput) (*ListResourcesForTagOptionOutput, error) {
6525	req, out := c.ListResourcesForTagOptionRequest(input)
6526	return out, req.Send()
6527}
6528
6529// ListResourcesForTagOptionWithContext is the same as ListResourcesForTagOption with the addition of
6530// the ability to pass a context and additional request options.
6531//
6532// See ListResourcesForTagOption for details on how to use this API operation.
6533//
6534// The context must be non-nil and will be used for request cancellation. If
6535// the context is nil a panic will occur. In the future the SDK may create
6536// sub-contexts for http.Requests. See https://golang.org/pkg/context/
6537// for more information on using Contexts.
6538func (c *ServiceCatalog) ListResourcesForTagOptionWithContext(ctx aws.Context, input *ListResourcesForTagOptionInput, opts ...request.Option) (*ListResourcesForTagOptionOutput, error) {
6539	req, out := c.ListResourcesForTagOptionRequest(input)
6540	req.SetContext(ctx)
6541	req.ApplyOptions(opts...)
6542	return out, req.Send()
6543}
6544
6545// ListResourcesForTagOptionPages iterates over the pages of a ListResourcesForTagOption operation,
6546// calling the "fn" function with the response data for each page. To stop
6547// iterating, return false from the fn function.
6548//
6549// See ListResourcesForTagOption method for more information on how to use this operation.
6550//
6551// Note: This operation can generate multiple requests to a service.
6552//
6553//    // Example iterating over at most 3 pages of a ListResourcesForTagOption operation.
6554//    pageNum := 0
6555//    err := client.ListResourcesForTagOptionPages(params,
6556//        func(page *servicecatalog.ListResourcesForTagOptionOutput, lastPage bool) bool {
6557//            pageNum++
6558//            fmt.Println(page)
6559//            return pageNum <= 3
6560//        })
6561//
6562func (c *ServiceCatalog) ListResourcesForTagOptionPages(input *ListResourcesForTagOptionInput, fn func(*ListResourcesForTagOptionOutput, bool) bool) error {
6563	return c.ListResourcesForTagOptionPagesWithContext(aws.BackgroundContext(), input, fn)
6564}
6565
6566// ListResourcesForTagOptionPagesWithContext same as ListResourcesForTagOptionPages except
6567// it takes a Context and allows setting request options on the pages.
6568//
6569// The context must be non-nil and will be used for request cancellation. If
6570// the context is nil a panic will occur. In the future the SDK may create
6571// sub-contexts for http.Requests. See https://golang.org/pkg/context/
6572// for more information on using Contexts.
6573func (c *ServiceCatalog) ListResourcesForTagOptionPagesWithContext(ctx aws.Context, input *ListResourcesForTagOptionInput, fn func(*ListResourcesForTagOptionOutput, bool) bool, opts ...request.Option) error {
6574	p := request.Pagination{
6575		NewRequest: func() (*request.Request, error) {
6576			var inCpy *ListResourcesForTagOptionInput
6577			if input != nil {
6578				tmp := *input
6579				inCpy = &tmp
6580			}
6581			req, _ := c.ListResourcesForTagOptionRequest(inCpy)
6582			req.SetContext(ctx)
6583			req.ApplyOptions(opts...)
6584			return req, nil
6585		},
6586	}
6587
6588	for p.Next() {
6589		if !fn(p.Page().(*ListResourcesForTagOptionOutput), !p.HasNextPage()) {
6590			break
6591		}
6592	}
6593
6594	return p.Err()
6595}
6596
6597const opListServiceActions = "ListServiceActions"
6598
6599// ListServiceActionsRequest generates a "aws/request.Request" representing the
6600// client's request for the ListServiceActions operation. The "output" return
6601// value will be populated with the request's response once the request completes
6602// successfully.
6603//
6604// Use "Send" method on the returned Request to send the API call to the service.
6605// the "output" return value is not valid until after Send returns without error.
6606//
6607// See ListServiceActions for more information on using the ListServiceActions
6608// API call, and error handling.
6609//
6610// This method is useful when you want to inject custom logic or configuration
6611// into the SDK's request lifecycle. Such as custom headers, or retry logic.
6612//
6613//
6614//    // Example sending a request using the ListServiceActionsRequest method.
6615//    req, resp := client.ListServiceActionsRequest(params)
6616//
6617//    err := req.Send()
6618//    if err == nil { // resp is now filled
6619//        fmt.Println(resp)
6620//    }
6621//
6622// See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/ListServiceActions
6623func (c *ServiceCatalog) ListServiceActionsRequest(input *ListServiceActionsInput) (req *request.Request, output *ListServiceActionsOutput) {
6624	op := &request.Operation{
6625		Name:       opListServiceActions,
6626		HTTPMethod: "POST",
6627		HTTPPath:   "/",
6628		Paginator: &request.Paginator{
6629			InputTokens:     []string{"PageToken"},
6630			OutputTokens:    []string{"NextPageToken"},
6631			LimitToken:      "PageSize",
6632			TruncationToken: "",
6633		},
6634	}
6635
6636	if input == nil {
6637		input = &ListServiceActionsInput{}
6638	}
6639
6640	output = &ListServiceActionsOutput{}
6641	req = c.newRequest(op, input, output)
6642	return
6643}
6644
6645// ListServiceActions API operation for AWS Service Catalog.
6646//
6647// Lists all self-service actions.
6648//
6649// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
6650// with awserr.Error's Code and Message methods to get detailed information about
6651// the error.
6652//
6653// See the AWS API reference guide for AWS Service Catalog's
6654// API operation ListServiceActions for usage and error information.
6655//
6656// Returned Error Types:
6657//   * InvalidParametersException
6658//   One or more parameters provided to the operation are not valid.
6659//
6660// See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/ListServiceActions
6661func (c *ServiceCatalog) ListServiceActions(input *ListServiceActionsInput) (*ListServiceActionsOutput, error) {
6662	req, out := c.ListServiceActionsRequest(input)
6663	return out, req.Send()
6664}
6665
6666// ListServiceActionsWithContext is the same as ListServiceActions with the addition of
6667// the ability to pass a context and additional request options.
6668//
6669// See ListServiceActions for details on how to use this API operation.
6670//
6671// The context must be non-nil and will be used for request cancellation. If
6672// the context is nil a panic will occur. In the future the SDK may create
6673// sub-contexts for http.Requests. See https://golang.org/pkg/context/
6674// for more information on using Contexts.
6675func (c *ServiceCatalog) ListServiceActionsWithContext(ctx aws.Context, input *ListServiceActionsInput, opts ...request.Option) (*ListServiceActionsOutput, error) {
6676	req, out := c.ListServiceActionsRequest(input)
6677	req.SetContext(ctx)
6678	req.ApplyOptions(opts...)
6679	return out, req.Send()
6680}
6681
6682// ListServiceActionsPages iterates over the pages of a ListServiceActions operation,
6683// calling the "fn" function with the response data for each page. To stop
6684// iterating, return false from the fn function.
6685//
6686// See ListServiceActions method for more information on how to use this operation.
6687//
6688// Note: This operation can generate multiple requests to a service.
6689//
6690//    // Example iterating over at most 3 pages of a ListServiceActions operation.
6691//    pageNum := 0
6692//    err := client.ListServiceActionsPages(params,
6693//        func(page *servicecatalog.ListServiceActionsOutput, lastPage bool) bool {
6694//            pageNum++
6695//            fmt.Println(page)
6696//            return pageNum <= 3
6697//        })
6698//
6699func (c *ServiceCatalog) ListServiceActionsPages(input *ListServiceActionsInput, fn func(*ListServiceActionsOutput, bool) bool) error {
6700	return c.ListServiceActionsPagesWithContext(aws.BackgroundContext(), input, fn)
6701}
6702
6703// ListServiceActionsPagesWithContext same as ListServiceActionsPages except
6704// it takes a Context and allows setting request options on the pages.
6705//
6706// The context must be non-nil and will be used for request cancellation. If
6707// the context is nil a panic will occur. In the future the SDK may create
6708// sub-contexts for http.Requests. See https://golang.org/pkg/context/
6709// for more information on using Contexts.
6710func (c *ServiceCatalog) ListServiceActionsPagesWithContext(ctx aws.Context, input *ListServiceActionsInput, fn func(*ListServiceActionsOutput, bool) bool, opts ...request.Option) error {
6711	p := request.Pagination{
6712		NewRequest: func() (*request.Request, error) {
6713			var inCpy *ListServiceActionsInput
6714			if input != nil {
6715				tmp := *input
6716				inCpy = &tmp
6717			}
6718			req, _ := c.ListServiceActionsRequest(inCpy)
6719			req.SetContext(ctx)
6720			req.ApplyOptions(opts...)
6721			return req, nil
6722		},
6723	}
6724
6725	for p.Next() {
6726		if !fn(p.Page().(*ListServiceActionsOutput), !p.HasNextPage()) {
6727			break
6728		}
6729	}
6730
6731	return p.Err()
6732}
6733
6734const opListServiceActionsForProvisioningArtifact = "ListServiceActionsForProvisioningArtifact"
6735
6736// ListServiceActionsForProvisioningArtifactRequest generates a "aws/request.Request" representing the
6737// client's request for the ListServiceActionsForProvisioningArtifact operation. The "output" return
6738// value will be populated with the request's response once the request completes
6739// successfully.
6740//
6741// Use "Send" method on the returned Request to send the API call to the service.
6742// the "output" return value is not valid until after Send returns without error.
6743//
6744// See ListServiceActionsForProvisioningArtifact for more information on using the ListServiceActionsForProvisioningArtifact
6745// API call, and error handling.
6746//
6747// This method is useful when you want to inject custom logic or configuration
6748// into the SDK's request lifecycle. Such as custom headers, or retry logic.
6749//
6750//
6751//    // Example sending a request using the ListServiceActionsForProvisioningArtifactRequest method.
6752//    req, resp := client.ListServiceActionsForProvisioningArtifactRequest(params)
6753//
6754//    err := req.Send()
6755//    if err == nil { // resp is now filled
6756//        fmt.Println(resp)
6757//    }
6758//
6759// See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/ListServiceActionsForProvisioningArtifact
6760func (c *ServiceCatalog) ListServiceActionsForProvisioningArtifactRequest(input *ListServiceActionsForProvisioningArtifactInput) (req *request.Request, output *ListServiceActionsForProvisioningArtifactOutput) {
6761	op := &request.Operation{
6762		Name:       opListServiceActionsForProvisioningArtifact,
6763		HTTPMethod: "POST",
6764		HTTPPath:   "/",
6765		Paginator: &request.Paginator{
6766			InputTokens:     []string{"PageToken"},
6767			OutputTokens:    []string{"NextPageToken"},
6768			LimitToken:      "PageSize",
6769			TruncationToken: "",
6770		},
6771	}
6772
6773	if input == nil {
6774		input = &ListServiceActionsForProvisioningArtifactInput{}
6775	}
6776
6777	output = &ListServiceActionsForProvisioningArtifactOutput{}
6778	req = c.newRequest(op, input, output)
6779	return
6780}
6781
6782// ListServiceActionsForProvisioningArtifact API operation for AWS Service Catalog.
6783//
6784// Returns a paginated list of self-service actions associated with the specified
6785// Product ID and Provisioning Artifact ID.
6786//
6787// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
6788// with awserr.Error's Code and Message methods to get detailed information about
6789// the error.
6790//
6791// See the AWS API reference guide for AWS Service Catalog's
6792// API operation ListServiceActionsForProvisioningArtifact for usage and error information.
6793//
6794// Returned Error Types:
6795//   * ResourceNotFoundException
6796//   The specified resource was not found.
6797//
6798//   * InvalidParametersException
6799//   One or more parameters provided to the operation are not valid.
6800//
6801// See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/ListServiceActionsForProvisioningArtifact
6802func (c *ServiceCatalog) ListServiceActionsForProvisioningArtifact(input *ListServiceActionsForProvisioningArtifactInput) (*ListServiceActionsForProvisioningArtifactOutput, error) {
6803	req, out := c.ListServiceActionsForProvisioningArtifactRequest(input)
6804	return out, req.Send()
6805}
6806
6807// ListServiceActionsForProvisioningArtifactWithContext is the same as ListServiceActionsForProvisioningArtifact with the addition of
6808// the ability to pass a context and additional request options.
6809//
6810// See ListServiceActionsForProvisioningArtifact for details on how to use this API operation.
6811//
6812// The context must be non-nil and will be used for request cancellation. If
6813// the context is nil a panic will occur. In the future the SDK may create
6814// sub-contexts for http.Requests. See https://golang.org/pkg/context/
6815// for more information on using Contexts.
6816func (c *ServiceCatalog) ListServiceActionsForProvisioningArtifactWithContext(ctx aws.Context, input *ListServiceActionsForProvisioningArtifactInput, opts ...request.Option) (*ListServiceActionsForProvisioningArtifactOutput, error) {
6817	req, out := c.ListServiceActionsForProvisioningArtifactRequest(input)
6818	req.SetContext(ctx)
6819	req.ApplyOptions(opts...)
6820	return out, req.Send()
6821}
6822
6823// ListServiceActionsForProvisioningArtifactPages iterates over the pages of a ListServiceActionsForProvisioningArtifact operation,
6824// calling the "fn" function with the response data for each page. To stop
6825// iterating, return false from the fn function.
6826//
6827// See ListServiceActionsForProvisioningArtifact method for more information on how to use this operation.
6828//
6829// Note: This operation can generate multiple requests to a service.
6830//
6831//    // Example iterating over at most 3 pages of a ListServiceActionsForProvisioningArtifact operation.
6832//    pageNum := 0
6833//    err := client.ListServiceActionsForProvisioningArtifactPages(params,
6834//        func(page *servicecatalog.ListServiceActionsForProvisioningArtifactOutput, lastPage bool) bool {
6835//            pageNum++
6836//            fmt.Println(page)
6837//            return pageNum <= 3
6838//        })
6839//
6840func (c *ServiceCatalog) ListServiceActionsForProvisioningArtifactPages(input *ListServiceActionsForProvisioningArtifactInput, fn func(*ListServiceActionsForProvisioningArtifactOutput, bool) bool) error {
6841	return c.ListServiceActionsForProvisioningArtifactPagesWithContext(aws.BackgroundContext(), input, fn)
6842}
6843
6844// ListServiceActionsForProvisioningArtifactPagesWithContext same as ListServiceActionsForProvisioningArtifactPages except
6845// it takes a Context and allows setting request options on the pages.
6846//
6847// The context must be non-nil and will be used for request cancellation. If
6848// the context is nil a panic will occur. In the future the SDK may create
6849// sub-contexts for http.Requests. See https://golang.org/pkg/context/
6850// for more information on using Contexts.
6851func (c *ServiceCatalog) ListServiceActionsForProvisioningArtifactPagesWithContext(ctx aws.Context, input *ListServiceActionsForProvisioningArtifactInput, fn func(*ListServiceActionsForProvisioningArtifactOutput, bool) bool, opts ...request.Option) error {
6852	p := request.Pagination{
6853		NewRequest: func() (*request.Request, error) {
6854			var inCpy *ListServiceActionsForProvisioningArtifactInput
6855			if input != nil {
6856				tmp := *input
6857				inCpy = &tmp
6858			}
6859			req, _ := c.ListServiceActionsForProvisioningArtifactRequest(inCpy)
6860			req.SetContext(ctx)
6861			req.ApplyOptions(opts...)
6862			return req, nil
6863		},
6864	}
6865
6866	for p.Next() {
6867		if !fn(p.Page().(*ListServiceActionsForProvisioningArtifactOutput), !p.HasNextPage()) {
6868			break
6869		}
6870	}
6871
6872	return p.Err()
6873}
6874
6875const opListStackInstancesForProvisionedProduct = "ListStackInstancesForProvisionedProduct"
6876
6877// ListStackInstancesForProvisionedProductRequest generates a "aws/request.Request" representing the
6878// client's request for the ListStackInstancesForProvisionedProduct operation. The "output" return
6879// value will be populated with the request's response once the request completes
6880// successfully.
6881//
6882// Use "Send" method on the returned Request to send the API call to the service.
6883// the "output" return value is not valid until after Send returns without error.
6884//
6885// See ListStackInstancesForProvisionedProduct for more information on using the ListStackInstancesForProvisionedProduct
6886// API call, and error handling.
6887//
6888// This method is useful when you want to inject custom logic or configuration
6889// into the SDK's request lifecycle. Such as custom headers, or retry logic.
6890//
6891//
6892//    // Example sending a request using the ListStackInstancesForProvisionedProductRequest method.
6893//    req, resp := client.ListStackInstancesForProvisionedProductRequest(params)
6894//
6895//    err := req.Send()
6896//    if err == nil { // resp is now filled
6897//        fmt.Println(resp)
6898//    }
6899//
6900// See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/ListStackInstancesForProvisionedProduct
6901func (c *ServiceCatalog) ListStackInstancesForProvisionedProductRequest(input *ListStackInstancesForProvisionedProductInput) (req *request.Request, output *ListStackInstancesForProvisionedProductOutput) {
6902	op := &request.Operation{
6903		Name:       opListStackInstancesForProvisionedProduct,
6904		HTTPMethod: "POST",
6905		HTTPPath:   "/",
6906	}
6907
6908	if input == nil {
6909		input = &ListStackInstancesForProvisionedProductInput{}
6910	}
6911
6912	output = &ListStackInstancesForProvisionedProductOutput{}
6913	req = c.newRequest(op, input, output)
6914	return
6915}
6916
6917// ListStackInstancesForProvisionedProduct API operation for AWS Service Catalog.
6918//
6919// Returns summary information about stack instances that are associated with
6920// the specified CFN_STACKSET type provisioned product. You can filter for stack
6921// instances that are associated with a specific AWS account name or region.
6922//
6923// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
6924// with awserr.Error's Code and Message methods to get detailed information about
6925// the error.
6926//
6927// See the AWS API reference guide for AWS Service Catalog's
6928// API operation ListStackInstancesForProvisionedProduct for usage and error information.
6929//
6930// Returned Error Types:
6931//   * InvalidParametersException
6932//   One or more parameters provided to the operation are not valid.
6933//
6934//   * ResourceNotFoundException
6935//   The specified resource was not found.
6936//
6937// See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/ListStackInstancesForProvisionedProduct
6938func (c *ServiceCatalog) ListStackInstancesForProvisionedProduct(input *ListStackInstancesForProvisionedProductInput) (*ListStackInstancesForProvisionedProductOutput, error) {
6939	req, out := c.ListStackInstancesForProvisionedProductRequest(input)
6940	return out, req.Send()
6941}
6942
6943// ListStackInstancesForProvisionedProductWithContext is the same as ListStackInstancesForProvisionedProduct with the addition of
6944// the ability to pass a context and additional request options.
6945//
6946// See ListStackInstancesForProvisionedProduct for details on how to use this API operation.
6947//
6948// The context must be non-nil and will be used for request cancellation. If
6949// the context is nil a panic will occur. In the future the SDK may create
6950// sub-contexts for http.Requests. See https://golang.org/pkg/context/
6951// for more information on using Contexts.
6952func (c *ServiceCatalog) ListStackInstancesForProvisionedProductWithContext(ctx aws.Context, input *ListStackInstancesForProvisionedProductInput, opts ...request.Option) (*ListStackInstancesForProvisionedProductOutput, error) {
6953	req, out := c.ListStackInstancesForProvisionedProductRequest(input)
6954	req.SetContext(ctx)
6955	req.ApplyOptions(opts...)
6956	return out, req.Send()
6957}
6958
6959const opListTagOptions = "ListTagOptions"
6960
6961// ListTagOptionsRequest generates a "aws/request.Request" representing the
6962// client's request for the ListTagOptions operation. The "output" return
6963// value will be populated with the request's response once the request completes
6964// successfully.
6965//
6966// Use "Send" method on the returned Request to send the API call to the service.
6967// the "output" return value is not valid until after Send returns without error.
6968//
6969// See ListTagOptions for more information on using the ListTagOptions
6970// API call, and error handling.
6971//
6972// This method is useful when you want to inject custom logic or configuration
6973// into the SDK's request lifecycle. Such as custom headers, or retry logic.
6974//
6975//
6976//    // Example sending a request using the ListTagOptionsRequest method.
6977//    req, resp := client.ListTagOptionsRequest(params)
6978//
6979//    err := req.Send()
6980//    if err == nil { // resp is now filled
6981//        fmt.Println(resp)
6982//    }
6983//
6984// See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/ListTagOptions
6985func (c *ServiceCatalog) ListTagOptionsRequest(input *ListTagOptionsInput) (req *request.Request, output *ListTagOptionsOutput) {
6986	op := &request.Operation{
6987		Name:       opListTagOptions,
6988		HTTPMethod: "POST",
6989		HTTPPath:   "/",
6990		Paginator: &request.Paginator{
6991			InputTokens:     []string{"PageToken"},
6992			OutputTokens:    []string{"PageToken"},
6993			LimitToken:      "PageSize",
6994			TruncationToken: "",
6995		},
6996	}
6997
6998	if input == nil {
6999		input = &ListTagOptionsInput{}
7000	}
7001
7002	output = &ListTagOptionsOutput{}
7003	req = c.newRequest(op, input, output)
7004	return
7005}
7006
7007// ListTagOptions API operation for AWS Service Catalog.
7008//
7009// Lists the specified TagOptions or all TagOptions.
7010//
7011// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
7012// with awserr.Error's Code and Message methods to get detailed information about
7013// the error.
7014//
7015// See the AWS API reference guide for AWS Service Catalog's
7016// API operation ListTagOptions for usage and error information.
7017//
7018// Returned Error Types:
7019//   * TagOptionNotMigratedException
7020//   An operation requiring TagOptions failed because the TagOptions migration
7021//   process has not been performed for this account. Please use the AWS console
7022//   to perform the migration process before retrying the operation.
7023//
7024//   * InvalidParametersException
7025//   One or more parameters provided to the operation are not valid.
7026//
7027// See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/ListTagOptions
7028func (c *ServiceCatalog) ListTagOptions(input *ListTagOptionsInput) (*ListTagOptionsOutput, error) {
7029	req, out := c.ListTagOptionsRequest(input)
7030	return out, req.Send()
7031}
7032
7033// ListTagOptionsWithContext is the same as ListTagOptions with the addition of
7034// the ability to pass a context and additional request options.
7035//
7036// See ListTagOptions for details on how to use this API operation.
7037//
7038// The context must be non-nil and will be used for request cancellation. If
7039// the context is nil a panic will occur. In the future the SDK may create
7040// sub-contexts for http.Requests. See https://golang.org/pkg/context/
7041// for more information on using Contexts.
7042func (c *ServiceCatalog) ListTagOptionsWithContext(ctx aws.Context, input *ListTagOptionsInput, opts ...request.Option) (*ListTagOptionsOutput, error) {
7043	req, out := c.ListTagOptionsRequest(input)
7044	req.SetContext(ctx)
7045	req.ApplyOptions(opts...)
7046	return out, req.Send()
7047}
7048
7049// ListTagOptionsPages iterates over the pages of a ListTagOptions operation,
7050// calling the "fn" function with the response data for each page. To stop
7051// iterating, return false from the fn function.
7052//
7053// See ListTagOptions method for more information on how to use this operation.
7054//
7055// Note: This operation can generate multiple requests to a service.
7056//
7057//    // Example iterating over at most 3 pages of a ListTagOptions operation.
7058//    pageNum := 0
7059//    err := client.ListTagOptionsPages(params,
7060//        func(page *servicecatalog.ListTagOptionsOutput, lastPage bool) bool {
7061//            pageNum++
7062//            fmt.Println(page)
7063//            return pageNum <= 3
7064//        })
7065//
7066func (c *ServiceCatalog) ListTagOptionsPages(input *ListTagOptionsInput, fn func(*ListTagOptionsOutput, bool) bool) error {
7067	return c.ListTagOptionsPagesWithContext(aws.BackgroundContext(), input, fn)
7068}
7069
7070// ListTagOptionsPagesWithContext same as ListTagOptionsPages except
7071// it takes a Context and allows setting request options on the pages.
7072//
7073// The context must be non-nil and will be used for request cancellation. If
7074// the context is nil a panic will occur. In the future the SDK may create
7075// sub-contexts for http.Requests. See https://golang.org/pkg/context/
7076// for more information on using Contexts.
7077func (c *ServiceCatalog) ListTagOptionsPagesWithContext(ctx aws.Context, input *ListTagOptionsInput, fn func(*ListTagOptionsOutput, bool) bool, opts ...request.Option) error {
7078	p := request.Pagination{
7079		NewRequest: func() (*request.Request, error) {
7080			var inCpy *ListTagOptionsInput
7081			if input != nil {
7082				tmp := *input
7083				inCpy = &tmp
7084			}
7085			req, _ := c.ListTagOptionsRequest(inCpy)
7086			req.SetContext(ctx)
7087			req.ApplyOptions(opts...)
7088			return req, nil
7089		},
7090	}
7091
7092	for p.Next() {
7093		if !fn(p.Page().(*ListTagOptionsOutput), !p.HasNextPage()) {
7094			break
7095		}
7096	}
7097
7098	return p.Err()
7099}
7100
7101const opProvisionProduct = "ProvisionProduct"
7102
7103// ProvisionProductRequest generates a "aws/request.Request" representing the
7104// client's request for the ProvisionProduct operation. The "output" return
7105// value will be populated with the request's response once the request completes
7106// successfully.
7107//
7108// Use "Send" method on the returned Request to send the API call to the service.
7109// the "output" return value is not valid until after Send returns without error.
7110//
7111// See ProvisionProduct for more information on using the ProvisionProduct
7112// API call, and error handling.
7113//
7114// This method is useful when you want to inject custom logic or configuration
7115// into the SDK's request lifecycle. Such as custom headers, or retry logic.
7116//
7117//
7118//    // Example sending a request using the ProvisionProductRequest method.
7119//    req, resp := client.ProvisionProductRequest(params)
7120//
7121//    err := req.Send()
7122//    if err == nil { // resp is now filled
7123//        fmt.Println(resp)
7124//    }
7125//
7126// See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/ProvisionProduct
7127func (c *ServiceCatalog) ProvisionProductRequest(input *ProvisionProductInput) (req *request.Request, output *ProvisionProductOutput) {
7128	op := &request.Operation{
7129		Name:       opProvisionProduct,
7130		HTTPMethod: "POST",
7131		HTTPPath:   "/",
7132	}
7133
7134	if input == nil {
7135		input = &ProvisionProductInput{}
7136	}
7137
7138	output = &ProvisionProductOutput{}
7139	req = c.newRequest(op, input, output)
7140	return
7141}
7142
7143// ProvisionProduct API operation for AWS Service Catalog.
7144//
7145// Provisions the specified product.
7146//
7147// A provisioned product is a resourced instance of a product. For example,
7148// provisioning a product based on a CloudFormation template launches a CloudFormation
7149// stack and its underlying resources. You can check the status of this request
7150// using DescribeRecord.
7151//
7152// If the request contains a tag key with an empty list of values, there is
7153// a tag conflict for that key. Do not include conflicted keys as tags, or this
7154// causes the error "Parameter validation failed: Missing required parameter
7155// in Tags[N]:Value".
7156//
7157// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
7158// with awserr.Error's Code and Message methods to get detailed information about
7159// the error.
7160//
7161// See the AWS API reference guide for AWS Service Catalog's
7162// API operation ProvisionProduct for usage and error information.
7163//
7164// Returned Error Types:
7165//   * InvalidParametersException
7166//   One or more parameters provided to the operation are not valid.
7167//
7168//   * ResourceNotFoundException
7169//   The specified resource was not found.
7170//
7171//   * DuplicateResourceException
7172//   The specified resource is a duplicate.
7173//
7174// See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/ProvisionProduct
7175func (c *ServiceCatalog) ProvisionProduct(input *ProvisionProductInput) (*ProvisionProductOutput, error) {
7176	req, out := c.ProvisionProductRequest(input)
7177	return out, req.Send()
7178}
7179
7180// ProvisionProductWithContext is the same as ProvisionProduct with the addition of
7181// the ability to pass a context and additional request options.
7182//
7183// See ProvisionProduct for details on how to use this API operation.
7184//
7185// The context must be non-nil and will be used for request cancellation. If
7186// the context is nil a panic will occur. In the future the SDK may create
7187// sub-contexts for http.Requests. See https://golang.org/pkg/context/
7188// for more information on using Contexts.
7189func (c *ServiceCatalog) ProvisionProductWithContext(ctx aws.Context, input *ProvisionProductInput, opts ...request.Option) (*ProvisionProductOutput, error) {
7190	req, out := c.ProvisionProductRequest(input)
7191	req.SetContext(ctx)
7192	req.ApplyOptions(opts...)
7193	return out, req.Send()
7194}
7195
7196const opRejectPortfolioShare = "RejectPortfolioShare"
7197
7198// RejectPortfolioShareRequest generates a "aws/request.Request" representing the
7199// client's request for the RejectPortfolioShare operation. The "output" return
7200// value will be populated with the request's response once the request completes
7201// successfully.
7202//
7203// Use "Send" method on the returned Request to send the API call to the service.
7204// the "output" return value is not valid until after Send returns without error.
7205//
7206// See RejectPortfolioShare for more information on using the RejectPortfolioShare
7207// API call, and error handling.
7208//
7209// This method is useful when you want to inject custom logic or configuration
7210// into the SDK's request lifecycle. Such as custom headers, or retry logic.
7211//
7212//
7213//    // Example sending a request using the RejectPortfolioShareRequest method.
7214//    req, resp := client.RejectPortfolioShareRequest(params)
7215//
7216//    err := req.Send()
7217//    if err == nil { // resp is now filled
7218//        fmt.Println(resp)
7219//    }
7220//
7221// See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/RejectPortfolioShare
7222func (c *ServiceCatalog) RejectPortfolioShareRequest(input *RejectPortfolioShareInput) (req *request.Request, output *RejectPortfolioShareOutput) {
7223	op := &request.Operation{
7224		Name:       opRejectPortfolioShare,
7225		HTTPMethod: "POST",
7226		HTTPPath:   "/",
7227	}
7228
7229	if input == nil {
7230		input = &RejectPortfolioShareInput{}
7231	}
7232
7233	output = &RejectPortfolioShareOutput{}
7234	req = c.newRequest(op, input, output)
7235	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
7236	return
7237}
7238
7239// RejectPortfolioShare API operation for AWS Service Catalog.
7240//
7241// Rejects an offer to share the specified portfolio.
7242//
7243// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
7244// with awserr.Error's Code and Message methods to get detailed information about
7245// the error.
7246//
7247// See the AWS API reference guide for AWS Service Catalog's
7248// API operation RejectPortfolioShare for usage and error information.
7249//
7250// Returned Error Types:
7251//   * ResourceNotFoundException
7252//   The specified resource was not found.
7253//
7254// See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/RejectPortfolioShare
7255func (c *ServiceCatalog) RejectPortfolioShare(input *RejectPortfolioShareInput) (*RejectPortfolioShareOutput, error) {
7256	req, out := c.RejectPortfolioShareRequest(input)
7257	return out, req.Send()
7258}
7259
7260// RejectPortfolioShareWithContext is the same as RejectPortfolioShare with the addition of
7261// the ability to pass a context and additional request options.
7262//
7263// See RejectPortfolioShare for details on how to use this API operation.
7264//
7265// The context must be non-nil and will be used for request cancellation. If
7266// the context is nil a panic will occur. In the future the SDK may create
7267// sub-contexts for http.Requests. See https://golang.org/pkg/context/
7268// for more information on using Contexts.
7269func (c *ServiceCatalog) RejectPortfolioShareWithContext(ctx aws.Context, input *RejectPortfolioShareInput, opts ...request.Option) (*RejectPortfolioShareOutput, error) {
7270	req, out := c.RejectPortfolioShareRequest(input)
7271	req.SetContext(ctx)
7272	req.ApplyOptions(opts...)
7273	return out, req.Send()
7274}
7275
7276const opScanProvisionedProducts = "ScanProvisionedProducts"
7277
7278// ScanProvisionedProductsRequest generates a "aws/request.Request" representing the
7279// client's request for the ScanProvisionedProducts operation. The "output" return
7280// value will be populated with the request's response once the request completes
7281// successfully.
7282//
7283// Use "Send" method on the returned Request to send the API call to the service.
7284// the "output" return value is not valid until after Send returns without error.
7285//
7286// See ScanProvisionedProducts for more information on using the ScanProvisionedProducts
7287// API call, and error handling.
7288//
7289// This method is useful when you want to inject custom logic or configuration
7290// into the SDK's request lifecycle. Such as custom headers, or retry logic.
7291//
7292//
7293//    // Example sending a request using the ScanProvisionedProductsRequest method.
7294//    req, resp := client.ScanProvisionedProductsRequest(params)
7295//
7296//    err := req.Send()
7297//    if err == nil { // resp is now filled
7298//        fmt.Println(resp)
7299//    }
7300//
7301// See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/ScanProvisionedProducts
7302func (c *ServiceCatalog) ScanProvisionedProductsRequest(input *ScanProvisionedProductsInput) (req *request.Request, output *ScanProvisionedProductsOutput) {
7303	op := &request.Operation{
7304		Name:       opScanProvisionedProducts,
7305		HTTPMethod: "POST",
7306		HTTPPath:   "/",
7307	}
7308
7309	if input == nil {
7310		input = &ScanProvisionedProductsInput{}
7311	}
7312
7313	output = &ScanProvisionedProductsOutput{}
7314	req = c.newRequest(op, input, output)
7315	return
7316}
7317
7318// ScanProvisionedProducts API operation for AWS Service Catalog.
7319//
7320// Lists the provisioned products that are available (not terminated).
7321//
7322// To use additional filtering, see SearchProvisionedProducts.
7323//
7324// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
7325// with awserr.Error's Code and Message methods to get detailed information about
7326// the error.
7327//
7328// See the AWS API reference guide for AWS Service Catalog's
7329// API operation ScanProvisionedProducts for usage and error information.
7330//
7331// Returned Error Types:
7332//   * InvalidParametersException
7333//   One or more parameters provided to the operation are not valid.
7334//
7335// See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/ScanProvisionedProducts
7336func (c *ServiceCatalog) ScanProvisionedProducts(input *ScanProvisionedProductsInput) (*ScanProvisionedProductsOutput, error) {
7337	req, out := c.ScanProvisionedProductsRequest(input)
7338	return out, req.Send()
7339}
7340
7341// ScanProvisionedProductsWithContext is the same as ScanProvisionedProducts with the addition of
7342// the ability to pass a context and additional request options.
7343//
7344// See ScanProvisionedProducts for details on how to use this API operation.
7345//
7346// The context must be non-nil and will be used for request cancellation. If
7347// the context is nil a panic will occur. In the future the SDK may create
7348// sub-contexts for http.Requests. See https://golang.org/pkg/context/
7349// for more information on using Contexts.
7350func (c *ServiceCatalog) ScanProvisionedProductsWithContext(ctx aws.Context, input *ScanProvisionedProductsInput, opts ...request.Option) (*ScanProvisionedProductsOutput, error) {
7351	req, out := c.ScanProvisionedProductsRequest(input)
7352	req.SetContext(ctx)
7353	req.ApplyOptions(opts...)
7354	return out, req.Send()
7355}
7356
7357const opSearchProducts = "SearchProducts"
7358
7359// SearchProductsRequest generates a "aws/request.Request" representing the
7360// client's request for the SearchProducts operation. The "output" return
7361// value will be populated with the request's response once the request completes
7362// successfully.
7363//
7364// Use "Send" method on the returned Request to send the API call to the service.
7365// the "output" return value is not valid until after Send returns without error.
7366//
7367// See SearchProducts for more information on using the SearchProducts
7368// API call, and error handling.
7369//
7370// This method is useful when you want to inject custom logic or configuration
7371// into the SDK's request lifecycle. Such as custom headers, or retry logic.
7372//
7373//
7374//    // Example sending a request using the SearchProductsRequest method.
7375//    req, resp := client.SearchProductsRequest(params)
7376//
7377//    err := req.Send()
7378//    if err == nil { // resp is now filled
7379//        fmt.Println(resp)
7380//    }
7381//
7382// See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/SearchProducts
7383func (c *ServiceCatalog) SearchProductsRequest(input *SearchProductsInput) (req *request.Request, output *SearchProductsOutput) {
7384	op := &request.Operation{
7385		Name:       opSearchProducts,
7386		HTTPMethod: "POST",
7387		HTTPPath:   "/",
7388		Paginator: &request.Paginator{
7389			InputTokens:     []string{"PageToken"},
7390			OutputTokens:    []string{"NextPageToken"},
7391			LimitToken:      "PageSize",
7392			TruncationToken: "",
7393		},
7394	}
7395
7396	if input == nil {
7397		input = &SearchProductsInput{}
7398	}
7399
7400	output = &SearchProductsOutput{}
7401	req = c.newRequest(op, input, output)
7402	return
7403}
7404
7405// SearchProducts API operation for AWS Service Catalog.
7406//
7407// Gets information about the products to which the caller has access.
7408//
7409// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
7410// with awserr.Error's Code and Message methods to get detailed information about
7411// the error.
7412//
7413// See the AWS API reference guide for AWS Service Catalog's
7414// API operation SearchProducts for usage and error information.
7415//
7416// Returned Error Types:
7417//   * InvalidParametersException
7418//   One or more parameters provided to the operation are not valid.
7419//
7420// See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/SearchProducts
7421func (c *ServiceCatalog) SearchProducts(input *SearchProductsInput) (*SearchProductsOutput, error) {
7422	req, out := c.SearchProductsRequest(input)
7423	return out, req.Send()
7424}
7425
7426// SearchProductsWithContext is the same as SearchProducts with the addition of
7427// the ability to pass a context and additional request options.
7428//
7429// See SearchProducts for details on how to use this API operation.
7430//
7431// The context must be non-nil and will be used for request cancellation. If
7432// the context is nil a panic will occur. In the future the SDK may create
7433// sub-contexts for http.Requests. See https://golang.org/pkg/context/
7434// for more information on using Contexts.
7435func (c *ServiceCatalog) SearchProductsWithContext(ctx aws.Context, input *SearchProductsInput, opts ...request.Option) (*SearchProductsOutput, error) {
7436	req, out := c.SearchProductsRequest(input)
7437	req.SetContext(ctx)
7438	req.ApplyOptions(opts...)
7439	return out, req.Send()
7440}
7441
7442// SearchProductsPages iterates over the pages of a SearchProducts operation,
7443// calling the "fn" function with the response data for each page. To stop
7444// iterating, return false from the fn function.
7445//
7446// See SearchProducts method for more information on how to use this operation.
7447//
7448// Note: This operation can generate multiple requests to a service.
7449//
7450//    // Example iterating over at most 3 pages of a SearchProducts operation.
7451//    pageNum := 0
7452//    err := client.SearchProductsPages(params,
7453//        func(page *servicecatalog.SearchProductsOutput, lastPage bool) bool {
7454//            pageNum++
7455//            fmt.Println(page)
7456//            return pageNum <= 3
7457//        })
7458//
7459func (c *ServiceCatalog) SearchProductsPages(input *SearchProductsInput, fn func(*SearchProductsOutput, bool) bool) error {
7460	return c.SearchProductsPagesWithContext(aws.BackgroundContext(), input, fn)
7461}
7462
7463// SearchProductsPagesWithContext same as SearchProductsPages except
7464// it takes a Context and allows setting request options on the pages.
7465//
7466// The context must be non-nil and will be used for request cancellation. If
7467// the context is nil a panic will occur. In the future the SDK may create
7468// sub-contexts for http.Requests. See https://golang.org/pkg/context/
7469// for more information on using Contexts.
7470func (c *ServiceCatalog) SearchProductsPagesWithContext(ctx aws.Context, input *SearchProductsInput, fn func(*SearchProductsOutput, bool) bool, opts ...request.Option) error {
7471	p := request.Pagination{
7472		NewRequest: func() (*request.Request, error) {
7473			var inCpy *SearchProductsInput
7474			if input != nil {
7475				tmp := *input
7476				inCpy = &tmp
7477			}
7478			req, _ := c.SearchProductsRequest(inCpy)
7479			req.SetContext(ctx)
7480			req.ApplyOptions(opts...)
7481			return req, nil
7482		},
7483	}
7484
7485	for p.Next() {
7486		if !fn(p.Page().(*SearchProductsOutput), !p.HasNextPage()) {
7487			break
7488		}
7489	}
7490
7491	return p.Err()
7492}
7493
7494const opSearchProductsAsAdmin = "SearchProductsAsAdmin"
7495
7496// SearchProductsAsAdminRequest generates a "aws/request.Request" representing the
7497// client's request for the SearchProductsAsAdmin operation. The "output" return
7498// value will be populated with the request's response once the request completes
7499// successfully.
7500//
7501// Use "Send" method on the returned Request to send the API call to the service.
7502// the "output" return value is not valid until after Send returns without error.
7503//
7504// See SearchProductsAsAdmin for more information on using the SearchProductsAsAdmin
7505// API call, and error handling.
7506//
7507// This method is useful when you want to inject custom logic or configuration
7508// into the SDK's request lifecycle. Such as custom headers, or retry logic.
7509//
7510//
7511//    // Example sending a request using the SearchProductsAsAdminRequest method.
7512//    req, resp := client.SearchProductsAsAdminRequest(params)
7513//
7514//    err := req.Send()
7515//    if err == nil { // resp is now filled
7516//        fmt.Println(resp)
7517//    }
7518//
7519// See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/SearchProductsAsAdmin
7520func (c *ServiceCatalog) SearchProductsAsAdminRequest(input *SearchProductsAsAdminInput) (req *request.Request, output *SearchProductsAsAdminOutput) {
7521	op := &request.Operation{
7522		Name:       opSearchProductsAsAdmin,
7523		HTTPMethod: "POST",
7524		HTTPPath:   "/",
7525		Paginator: &request.Paginator{
7526			InputTokens:     []string{"PageToken"},
7527			OutputTokens:    []string{"NextPageToken"},
7528			LimitToken:      "PageSize",
7529			TruncationToken: "",
7530		},
7531	}
7532
7533	if input == nil {
7534		input = &SearchProductsAsAdminInput{}
7535	}
7536
7537	output = &SearchProductsAsAdminOutput{}
7538	req = c.newRequest(op, input, output)
7539	return
7540}
7541
7542// SearchProductsAsAdmin API operation for AWS Service Catalog.
7543//
7544// Gets information about the products for the specified portfolio or all products.
7545//
7546// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
7547// with awserr.Error's Code and Message methods to get detailed information about
7548// the error.
7549//
7550// See the AWS API reference guide for AWS Service Catalog's
7551// API operation SearchProductsAsAdmin for usage and error information.
7552//
7553// Returned Error Types:
7554//   * ResourceNotFoundException
7555//   The specified resource was not found.
7556//
7557//   * InvalidParametersException
7558//   One or more parameters provided to the operation are not valid.
7559//
7560// See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/SearchProductsAsAdmin
7561func (c *ServiceCatalog) SearchProductsAsAdmin(input *SearchProductsAsAdminInput) (*SearchProductsAsAdminOutput, error) {
7562	req, out := c.SearchProductsAsAdminRequest(input)
7563	return out, req.Send()
7564}
7565
7566// SearchProductsAsAdminWithContext is the same as SearchProductsAsAdmin with the addition of
7567// the ability to pass a context and additional request options.
7568//
7569// See SearchProductsAsAdmin for details on how to use this API operation.
7570//
7571// The context must be non-nil and will be used for request cancellation. If
7572// the context is nil a panic will occur. In the future the SDK may create
7573// sub-contexts for http.Requests. See https://golang.org/pkg/context/
7574// for more information on using Contexts.
7575func (c *ServiceCatalog) SearchProductsAsAdminWithContext(ctx aws.Context, input *SearchProductsAsAdminInput, opts ...request.Option) (*SearchProductsAsAdminOutput, error) {
7576	req, out := c.SearchProductsAsAdminRequest(input)
7577	req.SetContext(ctx)
7578	req.ApplyOptions(opts...)
7579	return out, req.Send()
7580}
7581
7582// SearchProductsAsAdminPages iterates over the pages of a SearchProductsAsAdmin operation,
7583// calling the "fn" function with the response data for each page. To stop
7584// iterating, return false from the fn function.
7585//
7586// See SearchProductsAsAdmin method for more information on how to use this operation.
7587//
7588// Note: This operation can generate multiple requests to a service.
7589//
7590//    // Example iterating over at most 3 pages of a SearchProductsAsAdmin operation.
7591//    pageNum := 0
7592//    err := client.SearchProductsAsAdminPages(params,
7593//        func(page *servicecatalog.SearchProductsAsAdminOutput, lastPage bool) bool {
7594//            pageNum++
7595//            fmt.Println(page)
7596//            return pageNum <= 3
7597//        })
7598//
7599func (c *ServiceCatalog) SearchProductsAsAdminPages(input *SearchProductsAsAdminInput, fn func(*SearchProductsAsAdminOutput, bool) bool) error {
7600	return c.SearchProductsAsAdminPagesWithContext(aws.BackgroundContext(), input, fn)
7601}
7602
7603// SearchProductsAsAdminPagesWithContext same as SearchProductsAsAdminPages except
7604// it takes a Context and allows setting request options on the pages.
7605//
7606// The context must be non-nil and will be used for request cancellation. If
7607// the context is nil a panic will occur. In the future the SDK may create
7608// sub-contexts for http.Requests. See https://golang.org/pkg/context/
7609// for more information on using Contexts.
7610func (c *ServiceCatalog) SearchProductsAsAdminPagesWithContext(ctx aws.Context, input *SearchProductsAsAdminInput, fn func(*SearchProductsAsAdminOutput, bool) bool, opts ...request.Option) error {
7611	p := request.Pagination{
7612		NewRequest: func() (*request.Request, error) {
7613			var inCpy *SearchProductsAsAdminInput
7614			if input != nil {
7615				tmp := *input
7616				inCpy = &tmp
7617			}
7618			req, _ := c.SearchProductsAsAdminRequest(inCpy)
7619			req.SetContext(ctx)
7620			req.ApplyOptions(opts...)
7621			return req, nil
7622		},
7623	}
7624
7625	for p.Next() {
7626		if !fn(p.Page().(*SearchProductsAsAdminOutput), !p.HasNextPage()) {
7627			break
7628		}
7629	}
7630
7631	return p.Err()
7632}
7633
7634const opSearchProvisionedProducts = "SearchProvisionedProducts"
7635
7636// SearchProvisionedProductsRequest generates a "aws/request.Request" representing the
7637// client's request for the SearchProvisionedProducts operation. The "output" return
7638// value will be populated with the request's response once the request completes
7639// successfully.
7640//
7641// Use "Send" method on the returned Request to send the API call to the service.
7642// the "output" return value is not valid until after Send returns without error.
7643//
7644// See SearchProvisionedProducts for more information on using the SearchProvisionedProducts
7645// API call, and error handling.
7646//
7647// This method is useful when you want to inject custom logic or configuration
7648// into the SDK's request lifecycle. Such as custom headers, or retry logic.
7649//
7650//
7651//    // Example sending a request using the SearchProvisionedProductsRequest method.
7652//    req, resp := client.SearchProvisionedProductsRequest(params)
7653//
7654//    err := req.Send()
7655//    if err == nil { // resp is now filled
7656//        fmt.Println(resp)
7657//    }
7658//
7659// See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/SearchProvisionedProducts
7660func (c *ServiceCatalog) SearchProvisionedProductsRequest(input *SearchProvisionedProductsInput) (req *request.Request, output *SearchProvisionedProductsOutput) {
7661	op := &request.Operation{
7662		Name:       opSearchProvisionedProducts,
7663		HTTPMethod: "POST",
7664		HTTPPath:   "/",
7665		Paginator: &request.Paginator{
7666			InputTokens:     []string{"PageToken"},
7667			OutputTokens:    []string{"NextPageToken"},
7668			LimitToken:      "PageSize",
7669			TruncationToken: "",
7670		},
7671	}
7672
7673	if input == nil {
7674		input = &SearchProvisionedProductsInput{}
7675	}
7676
7677	output = &SearchProvisionedProductsOutput{}
7678	req = c.newRequest(op, input, output)
7679	return
7680}
7681
7682// SearchProvisionedProducts API operation for AWS Service Catalog.
7683//
7684// Gets information about the provisioned products that meet the specified criteria.
7685//
7686// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
7687// with awserr.Error's Code and Message methods to get detailed information about
7688// the error.
7689//
7690// See the AWS API reference guide for AWS Service Catalog's
7691// API operation SearchProvisionedProducts for usage and error information.
7692//
7693// Returned Error Types:
7694//   * InvalidParametersException
7695//   One or more parameters provided to the operation are not valid.
7696//
7697// See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/SearchProvisionedProducts
7698func (c *ServiceCatalog) SearchProvisionedProducts(input *SearchProvisionedProductsInput) (*SearchProvisionedProductsOutput, error) {
7699	req, out := c.SearchProvisionedProductsRequest(input)
7700	return out, req.Send()
7701}
7702
7703// SearchProvisionedProductsWithContext is the same as SearchProvisionedProducts with the addition of
7704// the ability to pass a context and additional request options.
7705//
7706// See SearchProvisionedProducts for details on how to use this API operation.
7707//
7708// The context must be non-nil and will be used for request cancellation. If
7709// the context is nil a panic will occur. In the future the SDK may create
7710// sub-contexts for http.Requests. See https://golang.org/pkg/context/
7711// for more information on using Contexts.
7712func (c *ServiceCatalog) SearchProvisionedProductsWithContext(ctx aws.Context, input *SearchProvisionedProductsInput, opts ...request.Option) (*SearchProvisionedProductsOutput, error) {
7713	req, out := c.SearchProvisionedProductsRequest(input)
7714	req.SetContext(ctx)
7715	req.ApplyOptions(opts...)
7716	return out, req.Send()
7717}
7718
7719// SearchProvisionedProductsPages iterates over the pages of a SearchProvisionedProducts operation,
7720// calling the "fn" function with the response data for each page. To stop
7721// iterating, return false from the fn function.
7722//
7723// See SearchProvisionedProducts method for more information on how to use this operation.
7724//
7725// Note: This operation can generate multiple requests to a service.
7726//
7727//    // Example iterating over at most 3 pages of a SearchProvisionedProducts operation.
7728//    pageNum := 0
7729//    err := client.SearchProvisionedProductsPages(params,
7730//        func(page *servicecatalog.SearchProvisionedProductsOutput, lastPage bool) bool {
7731//            pageNum++
7732//            fmt.Println(page)
7733//            return pageNum <= 3
7734//        })
7735//
7736func (c *ServiceCatalog) SearchProvisionedProductsPages(input *SearchProvisionedProductsInput, fn func(*SearchProvisionedProductsOutput, bool) bool) error {
7737	return c.SearchProvisionedProductsPagesWithContext(aws.BackgroundContext(), input, fn)
7738}
7739
7740// SearchProvisionedProductsPagesWithContext same as SearchProvisionedProductsPages except
7741// it takes a Context and allows setting request options on the pages.
7742//
7743// The context must be non-nil and will be used for request cancellation. If
7744// the context is nil a panic will occur. In the future the SDK may create
7745// sub-contexts for http.Requests. See https://golang.org/pkg/context/
7746// for more information on using Contexts.
7747func (c *ServiceCatalog) SearchProvisionedProductsPagesWithContext(ctx aws.Context, input *SearchProvisionedProductsInput, fn func(*SearchProvisionedProductsOutput, bool) bool, opts ...request.Option) error {
7748	p := request.Pagination{
7749		NewRequest: func() (*request.Request, error) {
7750			var inCpy *SearchProvisionedProductsInput
7751			if input != nil {
7752				tmp := *input
7753				inCpy = &tmp
7754			}
7755			req, _ := c.SearchProvisionedProductsRequest(inCpy)
7756			req.SetContext(ctx)
7757			req.ApplyOptions(opts...)
7758			return req, nil
7759		},
7760	}
7761
7762	for p.Next() {
7763		if !fn(p.Page().(*SearchProvisionedProductsOutput), !p.HasNextPage()) {
7764			break
7765		}
7766	}
7767
7768	return p.Err()
7769}
7770
7771const opTerminateProvisionedProduct = "TerminateProvisionedProduct"
7772
7773// TerminateProvisionedProductRequest generates a "aws/request.Request" representing the
7774// client's request for the TerminateProvisionedProduct operation. The "output" return
7775// value will be populated with the request's response once the request completes
7776// successfully.
7777//
7778// Use "Send" method on the returned Request to send the API call to the service.
7779// the "output" return value is not valid until after Send returns without error.
7780//
7781// See TerminateProvisionedProduct for more information on using the TerminateProvisionedProduct
7782// API call, and error handling.
7783//
7784// This method is useful when you want to inject custom logic or configuration
7785// into the SDK's request lifecycle. Such as custom headers, or retry logic.
7786//
7787//
7788//    // Example sending a request using the TerminateProvisionedProductRequest method.
7789//    req, resp := client.TerminateProvisionedProductRequest(params)
7790//
7791//    err := req.Send()
7792//    if err == nil { // resp is now filled
7793//        fmt.Println(resp)
7794//    }
7795//
7796// See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/TerminateProvisionedProduct
7797func (c *ServiceCatalog) TerminateProvisionedProductRequest(input *TerminateProvisionedProductInput) (req *request.Request, output *TerminateProvisionedProductOutput) {
7798	op := &request.Operation{
7799		Name:       opTerminateProvisionedProduct,
7800		HTTPMethod: "POST",
7801		HTTPPath:   "/",
7802	}
7803
7804	if input == nil {
7805		input = &TerminateProvisionedProductInput{}
7806	}
7807
7808	output = &TerminateProvisionedProductOutput{}
7809	req = c.newRequest(op, input, output)
7810	return
7811}
7812
7813// TerminateProvisionedProduct API operation for AWS Service Catalog.
7814//
7815// Terminates the specified provisioned product.
7816//
7817// This operation does not delete any records associated with the provisioned
7818// product.
7819//
7820// You can check the status of this request using DescribeRecord.
7821//
7822// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
7823// with awserr.Error's Code and Message methods to get detailed information about
7824// the error.
7825//
7826// See the AWS API reference guide for AWS Service Catalog's
7827// API operation TerminateProvisionedProduct for usage and error information.
7828//
7829// Returned Error Types:
7830//   * ResourceNotFoundException
7831//   The specified resource was not found.
7832//
7833// See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/TerminateProvisionedProduct
7834func (c *ServiceCatalog) TerminateProvisionedProduct(input *TerminateProvisionedProductInput) (*TerminateProvisionedProductOutput, error) {
7835	req, out := c.TerminateProvisionedProductRequest(input)
7836	return out, req.Send()
7837}
7838
7839// TerminateProvisionedProductWithContext is the same as TerminateProvisionedProduct with the addition of
7840// the ability to pass a context and additional request options.
7841//
7842// See TerminateProvisionedProduct for details on how to use this API operation.
7843//
7844// The context must be non-nil and will be used for request cancellation. If
7845// the context is nil a panic will occur. In the future the SDK may create
7846// sub-contexts for http.Requests. See https://golang.org/pkg/context/
7847// for more information on using Contexts.
7848func (c *ServiceCatalog) TerminateProvisionedProductWithContext(ctx aws.Context, input *TerminateProvisionedProductInput, opts ...request.Option) (*TerminateProvisionedProductOutput, error) {
7849	req, out := c.TerminateProvisionedProductRequest(input)
7850	req.SetContext(ctx)
7851	req.ApplyOptions(opts...)
7852	return out, req.Send()
7853}
7854
7855const opUpdateConstraint = "UpdateConstraint"
7856
7857// UpdateConstraintRequest generates a "aws/request.Request" representing the
7858// client's request for the UpdateConstraint operation. The "output" return
7859// value will be populated with the request's response once the request completes
7860// successfully.
7861//
7862// Use "Send" method on the returned Request to send the API call to the service.
7863// the "output" return value is not valid until after Send returns without error.
7864//
7865// See UpdateConstraint for more information on using the UpdateConstraint
7866// API call, and error handling.
7867//
7868// This method is useful when you want to inject custom logic or configuration
7869// into the SDK's request lifecycle. Such as custom headers, or retry logic.
7870//
7871//
7872//    // Example sending a request using the UpdateConstraintRequest method.
7873//    req, resp := client.UpdateConstraintRequest(params)
7874//
7875//    err := req.Send()
7876//    if err == nil { // resp is now filled
7877//        fmt.Println(resp)
7878//    }
7879//
7880// See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/UpdateConstraint
7881func (c *ServiceCatalog) UpdateConstraintRequest(input *UpdateConstraintInput) (req *request.Request, output *UpdateConstraintOutput) {
7882	op := &request.Operation{
7883		Name:       opUpdateConstraint,
7884		HTTPMethod: "POST",
7885		HTTPPath:   "/",
7886	}
7887
7888	if input == nil {
7889		input = &UpdateConstraintInput{}
7890	}
7891
7892	output = &UpdateConstraintOutput{}
7893	req = c.newRequest(op, input, output)
7894	return
7895}
7896
7897// UpdateConstraint API operation for AWS Service Catalog.
7898//
7899// Updates the specified constraint.
7900//
7901// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
7902// with awserr.Error's Code and Message methods to get detailed information about
7903// the error.
7904//
7905// See the AWS API reference guide for AWS Service Catalog's
7906// API operation UpdateConstraint for usage and error information.
7907//
7908// Returned Error Types:
7909//   * ResourceNotFoundException
7910//   The specified resource was not found.
7911//
7912//   * InvalidParametersException
7913//   One or more parameters provided to the operation are not valid.
7914//
7915// See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/UpdateConstraint
7916func (c *ServiceCatalog) UpdateConstraint(input *UpdateConstraintInput) (*UpdateConstraintOutput, error) {
7917	req, out := c.UpdateConstraintRequest(input)
7918	return out, req.Send()
7919}
7920
7921// UpdateConstraintWithContext is the same as UpdateConstraint with the addition of
7922// the ability to pass a context and additional request options.
7923//
7924// See UpdateConstraint for details on how to use this API operation.
7925//
7926// The context must be non-nil and will be used for request cancellation. If
7927// the context is nil a panic will occur. In the future the SDK may create
7928// sub-contexts for http.Requests. See https://golang.org/pkg/context/
7929// for more information on using Contexts.
7930func (c *ServiceCatalog) UpdateConstraintWithContext(ctx aws.Context, input *UpdateConstraintInput, opts ...request.Option) (*UpdateConstraintOutput, error) {
7931	req, out := c.UpdateConstraintRequest(input)
7932	req.SetContext(ctx)
7933	req.ApplyOptions(opts...)
7934	return out, req.Send()
7935}
7936
7937const opUpdatePortfolio = "UpdatePortfolio"
7938
7939// UpdatePortfolioRequest generates a "aws/request.Request" representing the
7940// client's request for the UpdatePortfolio operation. The "output" return
7941// value will be populated with the request's response once the request completes
7942// successfully.
7943//
7944// Use "Send" method on the returned Request to send the API call to the service.
7945// the "output" return value is not valid until after Send returns without error.
7946//
7947// See UpdatePortfolio for more information on using the UpdatePortfolio
7948// API call, and error handling.
7949//
7950// This method is useful when you want to inject custom logic or configuration
7951// into the SDK's request lifecycle. Such as custom headers, or retry logic.
7952//
7953//
7954//    // Example sending a request using the UpdatePortfolioRequest method.
7955//    req, resp := client.UpdatePortfolioRequest(params)
7956//
7957//    err := req.Send()
7958//    if err == nil { // resp is now filled
7959//        fmt.Println(resp)
7960//    }
7961//
7962// See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/UpdatePortfolio
7963func (c *ServiceCatalog) UpdatePortfolioRequest(input *UpdatePortfolioInput) (req *request.Request, output *UpdatePortfolioOutput) {
7964	op := &request.Operation{
7965		Name:       opUpdatePortfolio,
7966		HTTPMethod: "POST",
7967		HTTPPath:   "/",
7968	}
7969
7970	if input == nil {
7971		input = &UpdatePortfolioInput{}
7972	}
7973
7974	output = &UpdatePortfolioOutput{}
7975	req = c.newRequest(op, input, output)
7976	return
7977}
7978
7979// UpdatePortfolio API operation for AWS Service Catalog.
7980//
7981// Updates the specified portfolio.
7982//
7983// You cannot update a product that was shared with you.
7984//
7985// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
7986// with awserr.Error's Code and Message methods to get detailed information about
7987// the error.
7988//
7989// See the AWS API reference guide for AWS Service Catalog's
7990// API operation UpdatePortfolio for usage and error information.
7991//
7992// Returned Error Types:
7993//   * InvalidParametersException
7994//   One or more parameters provided to the operation are not valid.
7995//
7996//   * ResourceNotFoundException
7997//   The specified resource was not found.
7998//
7999//   * LimitExceededException
8000//   The current limits of the service would have been exceeded by this operation.
8001//   Decrease your resource use or increase your service limits and retry the
8002//   operation.
8003//
8004//   * TagOptionNotMigratedException
8005//   An operation requiring TagOptions failed because the TagOptions migration
8006//   process has not been performed for this account. Please use the AWS console
8007//   to perform the migration process before retrying the operation.
8008//
8009// See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/UpdatePortfolio
8010func (c *ServiceCatalog) UpdatePortfolio(input *UpdatePortfolioInput) (*UpdatePortfolioOutput, error) {
8011	req, out := c.UpdatePortfolioRequest(input)
8012	return out, req.Send()
8013}
8014
8015// UpdatePortfolioWithContext is the same as UpdatePortfolio with the addition of
8016// the ability to pass a context and additional request options.
8017//
8018// See UpdatePortfolio for details on how to use this API operation.
8019//
8020// The context must be non-nil and will be used for request cancellation. If
8021// the context is nil a panic will occur. In the future the SDK may create
8022// sub-contexts for http.Requests. See https://golang.org/pkg/context/
8023// for more information on using Contexts.
8024func (c *ServiceCatalog) UpdatePortfolioWithContext(ctx aws.Context, input *UpdatePortfolioInput, opts ...request.Option) (*UpdatePortfolioOutput, error) {
8025	req, out := c.UpdatePortfolioRequest(input)
8026	req.SetContext(ctx)
8027	req.ApplyOptions(opts...)
8028	return out, req.Send()
8029}
8030
8031const opUpdatePortfolioShare = "UpdatePortfolioShare"
8032
8033// UpdatePortfolioShareRequest generates a "aws/request.Request" representing the
8034// client's request for the UpdatePortfolioShare operation. The "output" return
8035// value will be populated with the request's response once the request completes
8036// successfully.
8037//
8038// Use "Send" method on the returned Request to send the API call to the service.
8039// the "output" return value is not valid until after Send returns without error.
8040//
8041// See UpdatePortfolioShare for more information on using the UpdatePortfolioShare
8042// API call, and error handling.
8043//
8044// This method is useful when you want to inject custom logic or configuration
8045// into the SDK's request lifecycle. Such as custom headers, or retry logic.
8046//
8047//
8048//    // Example sending a request using the UpdatePortfolioShareRequest method.
8049//    req, resp := client.UpdatePortfolioShareRequest(params)
8050//
8051//    err := req.Send()
8052//    if err == nil { // resp is now filled
8053//        fmt.Println(resp)
8054//    }
8055//
8056// See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/UpdatePortfolioShare
8057func (c *ServiceCatalog) UpdatePortfolioShareRequest(input *UpdatePortfolioShareInput) (req *request.Request, output *UpdatePortfolioShareOutput) {
8058	op := &request.Operation{
8059		Name:       opUpdatePortfolioShare,
8060		HTTPMethod: "POST",
8061		HTTPPath:   "/",
8062	}
8063
8064	if input == nil {
8065		input = &UpdatePortfolioShareInput{}
8066	}
8067
8068	output = &UpdatePortfolioShareOutput{}
8069	req = c.newRequest(op, input, output)
8070	return
8071}
8072
8073// UpdatePortfolioShare API operation for AWS Service Catalog.
8074//
8075// Updates the specified portfolio share. You can use this API to enable or
8076// disable TagOptions sharing for an existing portfolio share.
8077//
8078// The portfolio share cannot be updated if the CreatePortfolioShare operation
8079// is IN_PROGRESS, as the share is not available to recipient entities. In this
8080// case, you must wait for the portfolio share to be COMPLETED.
8081//
8082// You must provide the accountId or organization node in the input, but not
8083// both.
8084//
8085// If the portfolio is shared to both an external account and an organization
8086// node, and both shares need to be updated, you must invoke UpdatePortfolioShare
8087// separately for each share type.
8088//
8089// This API cannot be used for removing the portfolio share. You must use DeletePortfolioShare
8090// API for that action.
8091//
8092// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
8093// with awserr.Error's Code and Message methods to get detailed information about
8094// the error.
8095//
8096// See the AWS API reference guide for AWS Service Catalog's
8097// API operation UpdatePortfolioShare for usage and error information.
8098//
8099// Returned Error Types:
8100//   * ResourceNotFoundException
8101//   The specified resource was not found.
8102//
8103//   * InvalidParametersException
8104//   One or more parameters provided to the operation are not valid.
8105//
8106//   * OperationNotSupportedException
8107//   The operation is not supported.
8108//
8109//   * InvalidStateException
8110//   An attempt was made to modify a resource that is in a state that is not valid.
8111//   Check your resources to ensure that they are in valid states before retrying
8112//   the operation.
8113//
8114// See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/UpdatePortfolioShare
8115func (c *ServiceCatalog) UpdatePortfolioShare(input *UpdatePortfolioShareInput) (*UpdatePortfolioShareOutput, error) {
8116	req, out := c.UpdatePortfolioShareRequest(input)
8117	return out, req.Send()
8118}
8119
8120// UpdatePortfolioShareWithContext is the same as UpdatePortfolioShare with the addition of
8121// the ability to pass a context and additional request options.
8122//
8123// See UpdatePortfolioShare for details on how to use this API operation.
8124//
8125// The context must be non-nil and will be used for request cancellation. If
8126// the context is nil a panic will occur. In the future the SDK may create
8127// sub-contexts for http.Requests. See https://golang.org/pkg/context/
8128// for more information on using Contexts.
8129func (c *ServiceCatalog) UpdatePortfolioShareWithContext(ctx aws.Context, input *UpdatePortfolioShareInput, opts ...request.Option) (*UpdatePortfolioShareOutput, error) {
8130	req, out := c.UpdatePortfolioShareRequest(input)
8131	req.SetContext(ctx)
8132	req.ApplyOptions(opts...)
8133	return out, req.Send()
8134}
8135
8136const opUpdateProduct = "UpdateProduct"
8137
8138// UpdateProductRequest generates a "aws/request.Request" representing the
8139// client's request for the UpdateProduct operation. The "output" return
8140// value will be populated with the request's response once the request completes
8141// successfully.
8142//
8143// Use "Send" method on the returned Request to send the API call to the service.
8144// the "output" return value is not valid until after Send returns without error.
8145//
8146// See UpdateProduct for more information on using the UpdateProduct
8147// API call, and error handling.
8148//
8149// This method is useful when you want to inject custom logic or configuration
8150// into the SDK's request lifecycle. Such as custom headers, or retry logic.
8151//
8152//
8153//    // Example sending a request using the UpdateProductRequest method.
8154//    req, resp := client.UpdateProductRequest(params)
8155//
8156//    err := req.Send()
8157//    if err == nil { // resp is now filled
8158//        fmt.Println(resp)
8159//    }
8160//
8161// See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/UpdateProduct
8162func (c *ServiceCatalog) UpdateProductRequest(input *UpdateProductInput) (req *request.Request, output *UpdateProductOutput) {
8163	op := &request.Operation{
8164		Name:       opUpdateProduct,
8165		HTTPMethod: "POST",
8166		HTTPPath:   "/",
8167	}
8168
8169	if input == nil {
8170		input = &UpdateProductInput{}
8171	}
8172
8173	output = &UpdateProductOutput{}
8174	req = c.newRequest(op, input, output)
8175	return
8176}
8177
8178// UpdateProduct API operation for AWS Service Catalog.
8179//
8180// Updates the specified product.
8181//
8182// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
8183// with awserr.Error's Code and Message methods to get detailed information about
8184// the error.
8185//
8186// See the AWS API reference guide for AWS Service Catalog's
8187// API operation UpdateProduct for usage and error information.
8188//
8189// Returned Error Types:
8190//   * ResourceNotFoundException
8191//   The specified resource was not found.
8192//
8193//   * InvalidParametersException
8194//   One or more parameters provided to the operation are not valid.
8195//
8196//   * TagOptionNotMigratedException
8197//   An operation requiring TagOptions failed because the TagOptions migration
8198//   process has not been performed for this account. Please use the AWS console
8199//   to perform the migration process before retrying the operation.
8200//
8201// See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/UpdateProduct
8202func (c *ServiceCatalog) UpdateProduct(input *UpdateProductInput) (*UpdateProductOutput, error) {
8203	req, out := c.UpdateProductRequest(input)
8204	return out, req.Send()
8205}
8206
8207// UpdateProductWithContext is the same as UpdateProduct with the addition of
8208// the ability to pass a context and additional request options.
8209//
8210// See UpdateProduct for details on how to use this API operation.
8211//
8212// The context must be non-nil and will be used for request cancellation. If
8213// the context is nil a panic will occur. In the future the SDK may create
8214// sub-contexts for http.Requests. See https://golang.org/pkg/context/
8215// for more information on using Contexts.
8216func (c *ServiceCatalog) UpdateProductWithContext(ctx aws.Context, input *UpdateProductInput, opts ...request.Option) (*UpdateProductOutput, error) {
8217	req, out := c.UpdateProductRequest(input)
8218	req.SetContext(ctx)
8219	req.ApplyOptions(opts...)
8220	return out, req.Send()
8221}
8222
8223const opUpdateProvisionedProduct = "UpdateProvisionedProduct"
8224
8225// UpdateProvisionedProductRequest generates a "aws/request.Request" representing the
8226// client's request for the UpdateProvisionedProduct operation. The "output" return
8227// value will be populated with the request's response once the request completes
8228// successfully.
8229//
8230// Use "Send" method on the returned Request to send the API call to the service.
8231// the "output" return value is not valid until after Send returns without error.
8232//
8233// See UpdateProvisionedProduct for more information on using the UpdateProvisionedProduct
8234// API call, and error handling.
8235//
8236// This method is useful when you want to inject custom logic or configuration
8237// into the SDK's request lifecycle. Such as custom headers, or retry logic.
8238//
8239//
8240//    // Example sending a request using the UpdateProvisionedProductRequest method.
8241//    req, resp := client.UpdateProvisionedProductRequest(params)
8242//
8243//    err := req.Send()
8244//    if err == nil { // resp is now filled
8245//        fmt.Println(resp)
8246//    }
8247//
8248// See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/UpdateProvisionedProduct
8249func (c *ServiceCatalog) UpdateProvisionedProductRequest(input *UpdateProvisionedProductInput) (req *request.Request, output *UpdateProvisionedProductOutput) {
8250	op := &request.Operation{
8251		Name:       opUpdateProvisionedProduct,
8252		HTTPMethod: "POST",
8253		HTTPPath:   "/",
8254	}
8255
8256	if input == nil {
8257		input = &UpdateProvisionedProductInput{}
8258	}
8259
8260	output = &UpdateProvisionedProductOutput{}
8261	req = c.newRequest(op, input, output)
8262	return
8263}
8264
8265// UpdateProvisionedProduct API operation for AWS Service Catalog.
8266//
8267// Requests updates to the configuration of the specified provisioned product.
8268//
8269// If there are tags associated with the object, they cannot be updated or added.
8270// Depending on the specific updates requested, this operation can update with
8271// no interruption, with some interruption, or replace the provisioned product
8272// entirely.
8273//
8274// You can check the status of this request using DescribeRecord.
8275//
8276// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
8277// with awserr.Error's Code and Message methods to get detailed information about
8278// the error.
8279//
8280// See the AWS API reference guide for AWS Service Catalog's
8281// API operation UpdateProvisionedProduct for usage and error information.
8282//
8283// Returned Error Types:
8284//   * InvalidParametersException
8285//   One or more parameters provided to the operation are not valid.
8286//
8287//   * ResourceNotFoundException
8288//   The specified resource was not found.
8289//
8290// See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/UpdateProvisionedProduct
8291func (c *ServiceCatalog) UpdateProvisionedProduct(input *UpdateProvisionedProductInput) (*UpdateProvisionedProductOutput, error) {
8292	req, out := c.UpdateProvisionedProductRequest(input)
8293	return out, req.Send()
8294}
8295
8296// UpdateProvisionedProductWithContext is the same as UpdateProvisionedProduct with the addition of
8297// the ability to pass a context and additional request options.
8298//
8299// See UpdateProvisionedProduct for details on how to use this API operation.
8300//
8301// The context must be non-nil and will be used for request cancellation. If
8302// the context is nil a panic will occur. In the future the SDK may create
8303// sub-contexts for http.Requests. See https://golang.org/pkg/context/
8304// for more information on using Contexts.
8305func (c *ServiceCatalog) UpdateProvisionedProductWithContext(ctx aws.Context, input *UpdateProvisionedProductInput, opts ...request.Option) (*UpdateProvisionedProductOutput, error) {
8306	req, out := c.UpdateProvisionedProductRequest(input)
8307	req.SetContext(ctx)
8308	req.ApplyOptions(opts...)
8309	return out, req.Send()
8310}
8311
8312const opUpdateProvisionedProductProperties = "UpdateProvisionedProductProperties"
8313
8314// UpdateProvisionedProductPropertiesRequest generates a "aws/request.Request" representing the
8315// client's request for the UpdateProvisionedProductProperties operation. The "output" return
8316// value will be populated with the request's response once the request completes
8317// successfully.
8318//
8319// Use "Send" method on the returned Request to send the API call to the service.
8320// the "output" return value is not valid until after Send returns without error.
8321//
8322// See UpdateProvisionedProductProperties for more information on using the UpdateProvisionedProductProperties
8323// API call, and error handling.
8324//
8325// This method is useful when you want to inject custom logic or configuration
8326// into the SDK's request lifecycle. Such as custom headers, or retry logic.
8327//
8328//
8329//    // Example sending a request using the UpdateProvisionedProductPropertiesRequest method.
8330//    req, resp := client.UpdateProvisionedProductPropertiesRequest(params)
8331//
8332//    err := req.Send()
8333//    if err == nil { // resp is now filled
8334//        fmt.Println(resp)
8335//    }
8336//
8337// See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/UpdateProvisionedProductProperties
8338func (c *ServiceCatalog) UpdateProvisionedProductPropertiesRequest(input *UpdateProvisionedProductPropertiesInput) (req *request.Request, output *UpdateProvisionedProductPropertiesOutput) {
8339	op := &request.Operation{
8340		Name:       opUpdateProvisionedProductProperties,
8341		HTTPMethod: "POST",
8342		HTTPPath:   "/",
8343	}
8344
8345	if input == nil {
8346		input = &UpdateProvisionedProductPropertiesInput{}
8347	}
8348
8349	output = &UpdateProvisionedProductPropertiesOutput{}
8350	req = c.newRequest(op, input, output)
8351	return
8352}
8353
8354// UpdateProvisionedProductProperties API operation for AWS Service Catalog.
8355//
8356// Requests updates to the properties of the specified provisioned product.
8357//
8358// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
8359// with awserr.Error's Code and Message methods to get detailed information about
8360// the error.
8361//
8362// See the AWS API reference guide for AWS Service Catalog's
8363// API operation UpdateProvisionedProductProperties for usage and error information.
8364//
8365// Returned Error Types:
8366//   * InvalidParametersException
8367//   One or more parameters provided to the operation are not valid.
8368//
8369//   * ResourceNotFoundException
8370//   The specified resource was not found.
8371//
8372//   * InvalidStateException
8373//   An attempt was made to modify a resource that is in a state that is not valid.
8374//   Check your resources to ensure that they are in valid states before retrying
8375//   the operation.
8376//
8377// See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/UpdateProvisionedProductProperties
8378func (c *ServiceCatalog) UpdateProvisionedProductProperties(input *UpdateProvisionedProductPropertiesInput) (*UpdateProvisionedProductPropertiesOutput, error) {
8379	req, out := c.UpdateProvisionedProductPropertiesRequest(input)
8380	return out, req.Send()
8381}
8382
8383// UpdateProvisionedProductPropertiesWithContext is the same as UpdateProvisionedProductProperties with the addition of
8384// the ability to pass a context and additional request options.
8385//
8386// See UpdateProvisionedProductProperties for details on how to use this API operation.
8387//
8388// The context must be non-nil and will be used for request cancellation. If
8389// the context is nil a panic will occur. In the future the SDK may create
8390// sub-contexts for http.Requests. See https://golang.org/pkg/context/
8391// for more information on using Contexts.
8392func (c *ServiceCatalog) UpdateProvisionedProductPropertiesWithContext(ctx aws.Context, input *UpdateProvisionedProductPropertiesInput, opts ...request.Option) (*UpdateProvisionedProductPropertiesOutput, error) {
8393	req, out := c.UpdateProvisionedProductPropertiesRequest(input)
8394	req.SetContext(ctx)
8395	req.ApplyOptions(opts...)
8396	return out, req.Send()
8397}
8398
8399const opUpdateProvisioningArtifact = "UpdateProvisioningArtifact"
8400
8401// UpdateProvisioningArtifactRequest generates a "aws/request.Request" representing the
8402// client's request for the UpdateProvisioningArtifact operation. The "output" return
8403// value will be populated with the request's response once the request completes
8404// successfully.
8405//
8406// Use "Send" method on the returned Request to send the API call to the service.
8407// the "output" return value is not valid until after Send returns without error.
8408//
8409// See UpdateProvisioningArtifact for more information on using the UpdateProvisioningArtifact
8410// API call, and error handling.
8411//
8412// This method is useful when you want to inject custom logic or configuration
8413// into the SDK's request lifecycle. Such as custom headers, or retry logic.
8414//
8415//
8416//    // Example sending a request using the UpdateProvisioningArtifactRequest method.
8417//    req, resp := client.UpdateProvisioningArtifactRequest(params)
8418//
8419//    err := req.Send()
8420//    if err == nil { // resp is now filled
8421//        fmt.Println(resp)
8422//    }
8423//
8424// See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/UpdateProvisioningArtifact
8425func (c *ServiceCatalog) UpdateProvisioningArtifactRequest(input *UpdateProvisioningArtifactInput) (req *request.Request, output *UpdateProvisioningArtifactOutput) {
8426	op := &request.Operation{
8427		Name:       opUpdateProvisioningArtifact,
8428		HTTPMethod: "POST",
8429		HTTPPath:   "/",
8430	}
8431
8432	if input == nil {
8433		input = &UpdateProvisioningArtifactInput{}
8434	}
8435
8436	output = &UpdateProvisioningArtifactOutput{}
8437	req = c.newRequest(op, input, output)
8438	return
8439}
8440
8441// UpdateProvisioningArtifact API operation for AWS Service Catalog.
8442//
8443// Updates the specified provisioning artifact (also known as a version) for
8444// the specified product.
8445//
8446// You cannot update a provisioning artifact for a product that was shared with
8447// you.
8448//
8449// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
8450// with awserr.Error's Code and Message methods to get detailed information about
8451// the error.
8452//
8453// See the AWS API reference guide for AWS Service Catalog's
8454// API operation UpdateProvisioningArtifact for usage and error information.
8455//
8456// Returned Error Types:
8457//   * ResourceNotFoundException
8458//   The specified resource was not found.
8459//
8460//   * InvalidParametersException
8461//   One or more parameters provided to the operation are not valid.
8462//
8463// See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/UpdateProvisioningArtifact
8464func (c *ServiceCatalog) UpdateProvisioningArtifact(input *UpdateProvisioningArtifactInput) (*UpdateProvisioningArtifactOutput, error) {
8465	req, out := c.UpdateProvisioningArtifactRequest(input)
8466	return out, req.Send()
8467}
8468
8469// UpdateProvisioningArtifactWithContext is the same as UpdateProvisioningArtifact with the addition of
8470// the ability to pass a context and additional request options.
8471//
8472// See UpdateProvisioningArtifact for details on how to use this API operation.
8473//
8474// The context must be non-nil and will be used for request cancellation. If
8475// the context is nil a panic will occur. In the future the SDK may create
8476// sub-contexts for http.Requests. See https://golang.org/pkg/context/
8477// for more information on using Contexts.
8478func (c *ServiceCatalog) UpdateProvisioningArtifactWithContext(ctx aws.Context, input *UpdateProvisioningArtifactInput, opts ...request.Option) (*UpdateProvisioningArtifactOutput, error) {
8479	req, out := c.UpdateProvisioningArtifactRequest(input)
8480	req.SetContext(ctx)
8481	req.ApplyOptions(opts...)
8482	return out, req.Send()
8483}
8484
8485const opUpdateServiceAction = "UpdateServiceAction"
8486
8487// UpdateServiceActionRequest generates a "aws/request.Request" representing the
8488// client's request for the UpdateServiceAction operation. The "output" return
8489// value will be populated with the request's response once the request completes
8490// successfully.
8491//
8492// Use "Send" method on the returned Request to send the API call to the service.
8493// the "output" return value is not valid until after Send returns without error.
8494//
8495// See UpdateServiceAction for more information on using the UpdateServiceAction
8496// API call, and error handling.
8497//
8498// This method is useful when you want to inject custom logic or configuration
8499// into the SDK's request lifecycle. Such as custom headers, or retry logic.
8500//
8501//
8502//    // Example sending a request using the UpdateServiceActionRequest method.
8503//    req, resp := client.UpdateServiceActionRequest(params)
8504//
8505//    err := req.Send()
8506//    if err == nil { // resp is now filled
8507//        fmt.Println(resp)
8508//    }
8509//
8510// See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/UpdateServiceAction
8511func (c *ServiceCatalog) UpdateServiceActionRequest(input *UpdateServiceActionInput) (req *request.Request, output *UpdateServiceActionOutput) {
8512	op := &request.Operation{
8513		Name:       opUpdateServiceAction,
8514		HTTPMethod: "POST",
8515		HTTPPath:   "/",
8516	}
8517
8518	if input == nil {
8519		input = &UpdateServiceActionInput{}
8520	}
8521
8522	output = &UpdateServiceActionOutput{}
8523	req = c.newRequest(op, input, output)
8524	return
8525}
8526
8527// UpdateServiceAction API operation for AWS Service Catalog.
8528//
8529// Updates a self-service action.
8530//
8531// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
8532// with awserr.Error's Code and Message methods to get detailed information about
8533// the error.
8534//
8535// See the AWS API reference guide for AWS Service Catalog's
8536// API operation UpdateServiceAction for usage and error information.
8537//
8538// Returned Error Types:
8539//   * ResourceNotFoundException
8540//   The specified resource was not found.
8541//
8542//   * InvalidParametersException
8543//   One or more parameters provided to the operation are not valid.
8544//
8545// See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/UpdateServiceAction
8546func (c *ServiceCatalog) UpdateServiceAction(input *UpdateServiceActionInput) (*UpdateServiceActionOutput, error) {
8547	req, out := c.UpdateServiceActionRequest(input)
8548	return out, req.Send()
8549}
8550
8551// UpdateServiceActionWithContext is the same as UpdateServiceAction with the addition of
8552// the ability to pass a context and additional request options.
8553//
8554// See UpdateServiceAction for details on how to use this API operation.
8555//
8556// The context must be non-nil and will be used for request cancellation. If
8557// the context is nil a panic will occur. In the future the SDK may create
8558// sub-contexts for http.Requests. See https://golang.org/pkg/context/
8559// for more information on using Contexts.
8560func (c *ServiceCatalog) UpdateServiceActionWithContext(ctx aws.Context, input *UpdateServiceActionInput, opts ...request.Option) (*UpdateServiceActionOutput, error) {
8561	req, out := c.UpdateServiceActionRequest(input)
8562	req.SetContext(ctx)
8563	req.ApplyOptions(opts...)
8564	return out, req.Send()
8565}
8566
8567const opUpdateTagOption = "UpdateTagOption"
8568
8569// UpdateTagOptionRequest generates a "aws/request.Request" representing the
8570// client's request for the UpdateTagOption operation. The "output" return
8571// value will be populated with the request's response once the request completes
8572// successfully.
8573//
8574// Use "Send" method on the returned Request to send the API call to the service.
8575// the "output" return value is not valid until after Send returns without error.
8576//
8577// See UpdateTagOption for more information on using the UpdateTagOption
8578// API call, and error handling.
8579//
8580// This method is useful when you want to inject custom logic or configuration
8581// into the SDK's request lifecycle. Such as custom headers, or retry logic.
8582//
8583//
8584//    // Example sending a request using the UpdateTagOptionRequest method.
8585//    req, resp := client.UpdateTagOptionRequest(params)
8586//
8587//    err := req.Send()
8588//    if err == nil { // resp is now filled
8589//        fmt.Println(resp)
8590//    }
8591//
8592// See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/UpdateTagOption
8593func (c *ServiceCatalog) UpdateTagOptionRequest(input *UpdateTagOptionInput) (req *request.Request, output *UpdateTagOptionOutput) {
8594	op := &request.Operation{
8595		Name:       opUpdateTagOption,
8596		HTTPMethod: "POST",
8597		HTTPPath:   "/",
8598	}
8599
8600	if input == nil {
8601		input = &UpdateTagOptionInput{}
8602	}
8603
8604	output = &UpdateTagOptionOutput{}
8605	req = c.newRequest(op, input, output)
8606	return
8607}
8608
8609// UpdateTagOption API operation for AWS Service Catalog.
8610//
8611// Updates the specified TagOption.
8612//
8613// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
8614// with awserr.Error's Code and Message methods to get detailed information about
8615// the error.
8616//
8617// See the AWS API reference guide for AWS Service Catalog's
8618// API operation UpdateTagOption for usage and error information.
8619//
8620// Returned Error Types:
8621//   * TagOptionNotMigratedException
8622//   An operation requiring TagOptions failed because the TagOptions migration
8623//   process has not been performed for this account. Please use the AWS console
8624//   to perform the migration process before retrying the operation.
8625//
8626//   * ResourceNotFoundException
8627//   The specified resource was not found.
8628//
8629//   * DuplicateResourceException
8630//   The specified resource is a duplicate.
8631//
8632//   * InvalidParametersException
8633//   One or more parameters provided to the operation are not valid.
8634//
8635// See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/UpdateTagOption
8636func (c *ServiceCatalog) UpdateTagOption(input *UpdateTagOptionInput) (*UpdateTagOptionOutput, error) {
8637	req, out := c.UpdateTagOptionRequest(input)
8638	return out, req.Send()
8639}
8640
8641// UpdateTagOptionWithContext is the same as UpdateTagOption with the addition of
8642// the ability to pass a context and additional request options.
8643//
8644// See UpdateTagOption for details on how to use this API operation.
8645//
8646// The context must be non-nil and will be used for request cancellation. If
8647// the context is nil a panic will occur. In the future the SDK may create
8648// sub-contexts for http.Requests. See https://golang.org/pkg/context/
8649// for more information on using Contexts.
8650func (c *ServiceCatalog) UpdateTagOptionWithContext(ctx aws.Context, input *UpdateTagOptionInput, opts ...request.Option) (*UpdateTagOptionOutput, error) {
8651	req, out := c.UpdateTagOptionRequest(input)
8652	req.SetContext(ctx)
8653	req.ApplyOptions(opts...)
8654	return out, req.Send()
8655}
8656
8657type AcceptPortfolioShareInput struct {
8658	_ struct{} `type:"structure"`
8659
8660	// The language code.
8661	//
8662	//    * en - English (default)
8663	//
8664	//    * jp - Japanese
8665	//
8666	//    * zh - Chinese
8667	AcceptLanguage *string `type:"string"`
8668
8669	// The portfolio identifier.
8670	//
8671	// PortfolioId is a required field
8672	PortfolioId *string `min:"1" type:"string" required:"true"`
8673
8674	// The type of shared portfolios to accept. The default is to accept imported
8675	// portfolios.
8676	//
8677	//    * AWS_ORGANIZATIONS - Accept portfolios shared by the management account
8678	//    of your organization.
8679	//
8680	//    * IMPORTED - Accept imported portfolios.
8681	//
8682	//    * AWS_SERVICECATALOG - Not supported. (Throws ResourceNotFoundException.)
8683	//
8684	// For example, aws servicecatalog accept-portfolio-share --portfolio-id "port-2qwzkwxt3y5fk"
8685	// --portfolio-share-type AWS_ORGANIZATIONS
8686	PortfolioShareType *string `type:"string" enum:"PortfolioShareType"`
8687}
8688
8689// String returns the string representation
8690func (s AcceptPortfolioShareInput) String() string {
8691	return awsutil.Prettify(s)
8692}
8693
8694// GoString returns the string representation
8695func (s AcceptPortfolioShareInput) GoString() string {
8696	return s.String()
8697}
8698
8699// Validate inspects the fields of the type to determine if they are valid.
8700func (s *AcceptPortfolioShareInput) Validate() error {
8701	invalidParams := request.ErrInvalidParams{Context: "AcceptPortfolioShareInput"}
8702	if s.PortfolioId == nil {
8703		invalidParams.Add(request.NewErrParamRequired("PortfolioId"))
8704	}
8705	if s.PortfolioId != nil && len(*s.PortfolioId) < 1 {
8706		invalidParams.Add(request.NewErrParamMinLen("PortfolioId", 1))
8707	}
8708
8709	if invalidParams.Len() > 0 {
8710		return invalidParams
8711	}
8712	return nil
8713}
8714
8715// SetAcceptLanguage sets the AcceptLanguage field's value.
8716func (s *AcceptPortfolioShareInput) SetAcceptLanguage(v string) *AcceptPortfolioShareInput {
8717	s.AcceptLanguage = &v
8718	return s
8719}
8720
8721// SetPortfolioId sets the PortfolioId field's value.
8722func (s *AcceptPortfolioShareInput) SetPortfolioId(v string) *AcceptPortfolioShareInput {
8723	s.PortfolioId = &v
8724	return s
8725}
8726
8727// SetPortfolioShareType sets the PortfolioShareType field's value.
8728func (s *AcceptPortfolioShareInput) SetPortfolioShareType(v string) *AcceptPortfolioShareInput {
8729	s.PortfolioShareType = &v
8730	return s
8731}
8732
8733type AcceptPortfolioShareOutput struct {
8734	_ struct{} `type:"structure"`
8735}
8736
8737// String returns the string representation
8738func (s AcceptPortfolioShareOutput) String() string {
8739	return awsutil.Prettify(s)
8740}
8741
8742// GoString returns the string representation
8743func (s AcceptPortfolioShareOutput) GoString() string {
8744	return s.String()
8745}
8746
8747// The access level to use to filter results.
8748type AccessLevelFilter struct {
8749	_ struct{} `type:"structure"`
8750
8751	// The access level.
8752	//
8753	//    * Account - Filter results based on the account.
8754	//
8755	//    * Role - Filter results based on the federated role of the specified user.
8756	//
8757	//    * User - Filter results based on the specified user.
8758	Key *string `type:"string" enum:"AccessLevelFilterKey"`
8759
8760	// The user to which the access level applies. The only supported value is Self.
8761	Value *string `type:"string"`
8762}
8763
8764// String returns the string representation
8765func (s AccessLevelFilter) String() string {
8766	return awsutil.Prettify(s)
8767}
8768
8769// GoString returns the string representation
8770func (s AccessLevelFilter) GoString() string {
8771	return s.String()
8772}
8773
8774// SetKey sets the Key field's value.
8775func (s *AccessLevelFilter) SetKey(v string) *AccessLevelFilter {
8776	s.Key = &v
8777	return s
8778}
8779
8780// SetValue sets the Value field's value.
8781func (s *AccessLevelFilter) SetValue(v string) *AccessLevelFilter {
8782	s.Value = &v
8783	return s
8784}
8785
8786type AssociateBudgetWithResourceInput struct {
8787	_ struct{} `type:"structure"`
8788
8789	// The name of the budget you want to associate.
8790	//
8791	// BudgetName is a required field
8792	BudgetName *string `min:"1" type:"string" required:"true"`
8793
8794	// The resource identifier. Either a portfolio-id or a product-id.
8795	//
8796	// ResourceId is a required field
8797	ResourceId *string `min:"1" type:"string" required:"true"`
8798}
8799
8800// String returns the string representation
8801func (s AssociateBudgetWithResourceInput) String() string {
8802	return awsutil.Prettify(s)
8803}
8804
8805// GoString returns the string representation
8806func (s AssociateBudgetWithResourceInput) GoString() string {
8807	return s.String()
8808}
8809
8810// Validate inspects the fields of the type to determine if they are valid.
8811func (s *AssociateBudgetWithResourceInput) Validate() error {
8812	invalidParams := request.ErrInvalidParams{Context: "AssociateBudgetWithResourceInput"}
8813	if s.BudgetName == nil {
8814		invalidParams.Add(request.NewErrParamRequired("BudgetName"))
8815	}
8816	if s.BudgetName != nil && len(*s.BudgetName) < 1 {
8817		invalidParams.Add(request.NewErrParamMinLen("BudgetName", 1))
8818	}
8819	if s.ResourceId == nil {
8820		invalidParams.Add(request.NewErrParamRequired("ResourceId"))
8821	}
8822	if s.ResourceId != nil && len(*s.ResourceId) < 1 {
8823		invalidParams.Add(request.NewErrParamMinLen("ResourceId", 1))
8824	}
8825
8826	if invalidParams.Len() > 0 {
8827		return invalidParams
8828	}
8829	return nil
8830}
8831
8832// SetBudgetName sets the BudgetName field's value.
8833func (s *AssociateBudgetWithResourceInput) SetBudgetName(v string) *AssociateBudgetWithResourceInput {
8834	s.BudgetName = &v
8835	return s
8836}
8837
8838// SetResourceId sets the ResourceId field's value.
8839func (s *AssociateBudgetWithResourceInput) SetResourceId(v string) *AssociateBudgetWithResourceInput {
8840	s.ResourceId = &v
8841	return s
8842}
8843
8844type AssociateBudgetWithResourceOutput struct {
8845	_ struct{} `type:"structure"`
8846}
8847
8848// String returns the string representation
8849func (s AssociateBudgetWithResourceOutput) String() string {
8850	return awsutil.Prettify(s)
8851}
8852
8853// GoString returns the string representation
8854func (s AssociateBudgetWithResourceOutput) GoString() string {
8855	return s.String()
8856}
8857
8858type AssociatePrincipalWithPortfolioInput struct {
8859	_ struct{} `type:"structure"`
8860
8861	// The language code.
8862	//
8863	//    * en - English (default)
8864	//
8865	//    * jp - Japanese
8866	//
8867	//    * zh - Chinese
8868	AcceptLanguage *string `type:"string"`
8869
8870	// The portfolio identifier.
8871	//
8872	// PortfolioId is a required field
8873	PortfolioId *string `min:"1" type:"string" required:"true"`
8874
8875	// The ARN of the principal (IAM user, role, or group).
8876	//
8877	// PrincipalARN is a required field
8878	PrincipalARN *string `min:"1" type:"string" required:"true"`
8879
8880	// The principal type. The supported value is IAM.
8881	//
8882	// PrincipalType is a required field
8883	PrincipalType *string `type:"string" required:"true" enum:"PrincipalType"`
8884}
8885
8886// String returns the string representation
8887func (s AssociatePrincipalWithPortfolioInput) String() string {
8888	return awsutil.Prettify(s)
8889}
8890
8891// GoString returns the string representation
8892func (s AssociatePrincipalWithPortfolioInput) GoString() string {
8893	return s.String()
8894}
8895
8896// Validate inspects the fields of the type to determine if they are valid.
8897func (s *AssociatePrincipalWithPortfolioInput) Validate() error {
8898	invalidParams := request.ErrInvalidParams{Context: "AssociatePrincipalWithPortfolioInput"}
8899	if s.PortfolioId == nil {
8900		invalidParams.Add(request.NewErrParamRequired("PortfolioId"))
8901	}
8902	if s.PortfolioId != nil && len(*s.PortfolioId) < 1 {
8903		invalidParams.Add(request.NewErrParamMinLen("PortfolioId", 1))
8904	}
8905	if s.PrincipalARN == nil {
8906		invalidParams.Add(request.NewErrParamRequired("PrincipalARN"))
8907	}
8908	if s.PrincipalARN != nil && len(*s.PrincipalARN) < 1 {
8909		invalidParams.Add(request.NewErrParamMinLen("PrincipalARN", 1))
8910	}
8911	if s.PrincipalType == nil {
8912		invalidParams.Add(request.NewErrParamRequired("PrincipalType"))
8913	}
8914
8915	if invalidParams.Len() > 0 {
8916		return invalidParams
8917	}
8918	return nil
8919}
8920
8921// SetAcceptLanguage sets the AcceptLanguage field's value.
8922func (s *AssociatePrincipalWithPortfolioInput) SetAcceptLanguage(v string) *AssociatePrincipalWithPortfolioInput {
8923	s.AcceptLanguage = &v
8924	return s
8925}
8926
8927// SetPortfolioId sets the PortfolioId field's value.
8928func (s *AssociatePrincipalWithPortfolioInput) SetPortfolioId(v string) *AssociatePrincipalWithPortfolioInput {
8929	s.PortfolioId = &v
8930	return s
8931}
8932
8933// SetPrincipalARN sets the PrincipalARN field's value.
8934func (s *AssociatePrincipalWithPortfolioInput) SetPrincipalARN(v string) *AssociatePrincipalWithPortfolioInput {
8935	s.PrincipalARN = &v
8936	return s
8937}
8938
8939// SetPrincipalType sets the PrincipalType field's value.
8940func (s *AssociatePrincipalWithPortfolioInput) SetPrincipalType(v string) *AssociatePrincipalWithPortfolioInput {
8941	s.PrincipalType = &v
8942	return s
8943}
8944
8945type AssociatePrincipalWithPortfolioOutput struct {
8946	_ struct{} `type:"structure"`
8947}
8948
8949// String returns the string representation
8950func (s AssociatePrincipalWithPortfolioOutput) String() string {
8951	return awsutil.Prettify(s)
8952}
8953
8954// GoString returns the string representation
8955func (s AssociatePrincipalWithPortfolioOutput) GoString() string {
8956	return s.String()
8957}
8958
8959type AssociateProductWithPortfolioInput struct {
8960	_ struct{} `type:"structure"`
8961
8962	// The language code.
8963	//
8964	//    * en - English (default)
8965	//
8966	//    * jp - Japanese
8967	//
8968	//    * zh - Chinese
8969	AcceptLanguage *string `type:"string"`
8970
8971	// The portfolio identifier.
8972	//
8973	// PortfolioId is a required field
8974	PortfolioId *string `min:"1" type:"string" required:"true"`
8975
8976	// The product identifier.
8977	//
8978	// ProductId is a required field
8979	ProductId *string `min:"1" type:"string" required:"true"`
8980
8981	// The identifier of the source portfolio.
8982	SourcePortfolioId *string `min:"1" type:"string"`
8983}
8984
8985// String returns the string representation
8986func (s AssociateProductWithPortfolioInput) String() string {
8987	return awsutil.Prettify(s)
8988}
8989
8990// GoString returns the string representation
8991func (s AssociateProductWithPortfolioInput) GoString() string {
8992	return s.String()
8993}
8994
8995// Validate inspects the fields of the type to determine if they are valid.
8996func (s *AssociateProductWithPortfolioInput) Validate() error {
8997	invalidParams := request.ErrInvalidParams{Context: "AssociateProductWithPortfolioInput"}
8998	if s.PortfolioId == nil {
8999		invalidParams.Add(request.NewErrParamRequired("PortfolioId"))
9000	}
9001	if s.PortfolioId != nil && len(*s.PortfolioId) < 1 {
9002		invalidParams.Add(request.NewErrParamMinLen("PortfolioId", 1))
9003	}
9004	if s.ProductId == nil {
9005		invalidParams.Add(request.NewErrParamRequired("ProductId"))
9006	}
9007	if s.ProductId != nil && len(*s.ProductId) < 1 {
9008		invalidParams.Add(request.NewErrParamMinLen("ProductId", 1))
9009	}
9010	if s.SourcePortfolioId != nil && len(*s.SourcePortfolioId) < 1 {
9011		invalidParams.Add(request.NewErrParamMinLen("SourcePortfolioId", 1))
9012	}
9013
9014	if invalidParams.Len() > 0 {
9015		return invalidParams
9016	}
9017	return nil
9018}
9019
9020// SetAcceptLanguage sets the AcceptLanguage field's value.
9021func (s *AssociateProductWithPortfolioInput) SetAcceptLanguage(v string) *AssociateProductWithPortfolioInput {
9022	s.AcceptLanguage = &v
9023	return s
9024}
9025
9026// SetPortfolioId sets the PortfolioId field's value.
9027func (s *AssociateProductWithPortfolioInput) SetPortfolioId(v string) *AssociateProductWithPortfolioInput {
9028	s.PortfolioId = &v
9029	return s
9030}
9031
9032// SetProductId sets the ProductId field's value.
9033func (s *AssociateProductWithPortfolioInput) SetProductId(v string) *AssociateProductWithPortfolioInput {
9034	s.ProductId = &v
9035	return s
9036}
9037
9038// SetSourcePortfolioId sets the SourcePortfolioId field's value.
9039func (s *AssociateProductWithPortfolioInput) SetSourcePortfolioId(v string) *AssociateProductWithPortfolioInput {
9040	s.SourcePortfolioId = &v
9041	return s
9042}
9043
9044type AssociateProductWithPortfolioOutput struct {
9045	_ struct{} `type:"structure"`
9046}
9047
9048// String returns the string representation
9049func (s AssociateProductWithPortfolioOutput) String() string {
9050	return awsutil.Prettify(s)
9051}
9052
9053// GoString returns the string representation
9054func (s AssociateProductWithPortfolioOutput) GoString() string {
9055	return s.String()
9056}
9057
9058type AssociateServiceActionWithProvisioningArtifactInput struct {
9059	_ struct{} `type:"structure"`
9060
9061	// The language code.
9062	//
9063	//    * en - English (default)
9064	//
9065	//    * jp - Japanese
9066	//
9067	//    * zh - Chinese
9068	AcceptLanguage *string `type:"string"`
9069
9070	// The product identifier. For example, prod-abcdzk7xy33qa.
9071	//
9072	// ProductId is a required field
9073	ProductId *string `min:"1" type:"string" required:"true"`
9074
9075	// The identifier of the provisioning artifact. For example, pa-4abcdjnxjj6ne.
9076	//
9077	// ProvisioningArtifactId is a required field
9078	ProvisioningArtifactId *string `min:"1" type:"string" required:"true"`
9079
9080	// The self-service action identifier. For example, act-fs7abcd89wxyz.
9081	//
9082	// ServiceActionId is a required field
9083	ServiceActionId *string `min:"1" type:"string" required:"true"`
9084}
9085
9086// String returns the string representation
9087func (s AssociateServiceActionWithProvisioningArtifactInput) String() string {
9088	return awsutil.Prettify(s)
9089}
9090
9091// GoString returns the string representation
9092func (s AssociateServiceActionWithProvisioningArtifactInput) GoString() string {
9093	return s.String()
9094}
9095
9096// Validate inspects the fields of the type to determine if they are valid.
9097func (s *AssociateServiceActionWithProvisioningArtifactInput) Validate() error {
9098	invalidParams := request.ErrInvalidParams{Context: "AssociateServiceActionWithProvisioningArtifactInput"}
9099	if s.ProductId == nil {
9100		invalidParams.Add(request.NewErrParamRequired("ProductId"))
9101	}
9102	if s.ProductId != nil && len(*s.ProductId) < 1 {
9103		invalidParams.Add(request.NewErrParamMinLen("ProductId", 1))
9104	}
9105	if s.ProvisioningArtifactId == nil {
9106		invalidParams.Add(request.NewErrParamRequired("ProvisioningArtifactId"))
9107	}
9108	if s.ProvisioningArtifactId != nil && len(*s.ProvisioningArtifactId) < 1 {
9109		invalidParams.Add(request.NewErrParamMinLen("ProvisioningArtifactId", 1))
9110	}
9111	if s.ServiceActionId == nil {
9112		invalidParams.Add(request.NewErrParamRequired("ServiceActionId"))
9113	}
9114	if s.ServiceActionId != nil && len(*s.ServiceActionId) < 1 {
9115		invalidParams.Add(request.NewErrParamMinLen("ServiceActionId", 1))
9116	}
9117
9118	if invalidParams.Len() > 0 {
9119		return invalidParams
9120	}
9121	return nil
9122}
9123
9124// SetAcceptLanguage sets the AcceptLanguage field's value.
9125func (s *AssociateServiceActionWithProvisioningArtifactInput) SetAcceptLanguage(v string) *AssociateServiceActionWithProvisioningArtifactInput {
9126	s.AcceptLanguage = &v
9127	return s
9128}
9129
9130// SetProductId sets the ProductId field's value.
9131func (s *AssociateServiceActionWithProvisioningArtifactInput) SetProductId(v string) *AssociateServiceActionWithProvisioningArtifactInput {
9132	s.ProductId = &v
9133	return s
9134}
9135
9136// SetProvisioningArtifactId sets the ProvisioningArtifactId field's value.
9137func (s *AssociateServiceActionWithProvisioningArtifactInput) SetProvisioningArtifactId(v string) *AssociateServiceActionWithProvisioningArtifactInput {
9138	s.ProvisioningArtifactId = &v
9139	return s
9140}
9141
9142// SetServiceActionId sets the ServiceActionId field's value.
9143func (s *AssociateServiceActionWithProvisioningArtifactInput) SetServiceActionId(v string) *AssociateServiceActionWithProvisioningArtifactInput {
9144	s.ServiceActionId = &v
9145	return s
9146}
9147
9148type AssociateServiceActionWithProvisioningArtifactOutput struct {
9149	_ struct{} `type:"structure"`
9150}
9151
9152// String returns the string representation
9153func (s AssociateServiceActionWithProvisioningArtifactOutput) String() string {
9154	return awsutil.Prettify(s)
9155}
9156
9157// GoString returns the string representation
9158func (s AssociateServiceActionWithProvisioningArtifactOutput) GoString() string {
9159	return s.String()
9160}
9161
9162type AssociateTagOptionWithResourceInput struct {
9163	_ struct{} `type:"structure"`
9164
9165	// The resource identifier.
9166	//
9167	// ResourceId is a required field
9168	ResourceId *string `type:"string" required:"true"`
9169
9170	// The TagOption identifier.
9171	//
9172	// TagOptionId is a required field
9173	TagOptionId *string `min:"1" type:"string" required:"true"`
9174}
9175
9176// String returns the string representation
9177func (s AssociateTagOptionWithResourceInput) String() string {
9178	return awsutil.Prettify(s)
9179}
9180
9181// GoString returns the string representation
9182func (s AssociateTagOptionWithResourceInput) GoString() string {
9183	return s.String()
9184}
9185
9186// Validate inspects the fields of the type to determine if they are valid.
9187func (s *AssociateTagOptionWithResourceInput) Validate() error {
9188	invalidParams := request.ErrInvalidParams{Context: "AssociateTagOptionWithResourceInput"}
9189	if s.ResourceId == nil {
9190		invalidParams.Add(request.NewErrParamRequired("ResourceId"))
9191	}
9192	if s.TagOptionId == nil {
9193		invalidParams.Add(request.NewErrParamRequired("TagOptionId"))
9194	}
9195	if s.TagOptionId != nil && len(*s.TagOptionId) < 1 {
9196		invalidParams.Add(request.NewErrParamMinLen("TagOptionId", 1))
9197	}
9198
9199	if invalidParams.Len() > 0 {
9200		return invalidParams
9201	}
9202	return nil
9203}
9204
9205// SetResourceId sets the ResourceId field's value.
9206func (s *AssociateTagOptionWithResourceInput) SetResourceId(v string) *AssociateTagOptionWithResourceInput {
9207	s.ResourceId = &v
9208	return s
9209}
9210
9211// SetTagOptionId sets the TagOptionId field's value.
9212func (s *AssociateTagOptionWithResourceInput) SetTagOptionId(v string) *AssociateTagOptionWithResourceInput {
9213	s.TagOptionId = &v
9214	return s
9215}
9216
9217type AssociateTagOptionWithResourceOutput struct {
9218	_ struct{} `type:"structure"`
9219}
9220
9221// String returns the string representation
9222func (s AssociateTagOptionWithResourceOutput) String() string {
9223	return awsutil.Prettify(s)
9224}
9225
9226// GoString returns the string representation
9227func (s AssociateTagOptionWithResourceOutput) GoString() string {
9228	return s.String()
9229}
9230
9231type BatchAssociateServiceActionWithProvisioningArtifactInput struct {
9232	_ struct{} `type:"structure"`
9233
9234	// The language code.
9235	//
9236	//    * en - English (default)
9237	//
9238	//    * jp - Japanese
9239	//
9240	//    * zh - Chinese
9241	AcceptLanguage *string `type:"string"`
9242
9243	// One or more associations, each consisting of the Action ID, the Product ID,
9244	// and the Provisioning Artifact ID.
9245	//
9246	// ServiceActionAssociations is a required field
9247	ServiceActionAssociations []*ServiceActionAssociation `min:"1" type:"list" required:"true"`
9248}
9249
9250// String returns the string representation
9251func (s BatchAssociateServiceActionWithProvisioningArtifactInput) String() string {
9252	return awsutil.Prettify(s)
9253}
9254
9255// GoString returns the string representation
9256func (s BatchAssociateServiceActionWithProvisioningArtifactInput) GoString() string {
9257	return s.String()
9258}
9259
9260// Validate inspects the fields of the type to determine if they are valid.
9261func (s *BatchAssociateServiceActionWithProvisioningArtifactInput) Validate() error {
9262	invalidParams := request.ErrInvalidParams{Context: "BatchAssociateServiceActionWithProvisioningArtifactInput"}
9263	if s.ServiceActionAssociations == nil {
9264		invalidParams.Add(request.NewErrParamRequired("ServiceActionAssociations"))
9265	}
9266	if s.ServiceActionAssociations != nil && len(s.ServiceActionAssociations) < 1 {
9267		invalidParams.Add(request.NewErrParamMinLen("ServiceActionAssociations", 1))
9268	}
9269	if s.ServiceActionAssociations != nil {
9270		for i, v := range s.ServiceActionAssociations {
9271			if v == nil {
9272				continue
9273			}
9274			if err := v.Validate(); err != nil {
9275				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "ServiceActionAssociations", i), err.(request.ErrInvalidParams))
9276			}
9277		}
9278	}
9279
9280	if invalidParams.Len() > 0 {
9281		return invalidParams
9282	}
9283	return nil
9284}
9285
9286// SetAcceptLanguage sets the AcceptLanguage field's value.
9287func (s *BatchAssociateServiceActionWithProvisioningArtifactInput) SetAcceptLanguage(v string) *BatchAssociateServiceActionWithProvisioningArtifactInput {
9288	s.AcceptLanguage = &v
9289	return s
9290}
9291
9292// SetServiceActionAssociations sets the ServiceActionAssociations field's value.
9293func (s *BatchAssociateServiceActionWithProvisioningArtifactInput) SetServiceActionAssociations(v []*ServiceActionAssociation) *BatchAssociateServiceActionWithProvisioningArtifactInput {
9294	s.ServiceActionAssociations = v
9295	return s
9296}
9297
9298type BatchAssociateServiceActionWithProvisioningArtifactOutput struct {
9299	_ struct{} `type:"structure"`
9300
9301	// An object that contains a list of errors, along with information to help
9302	// you identify the self-service action.
9303	FailedServiceActionAssociations []*FailedServiceActionAssociation `type:"list"`
9304}
9305
9306// String returns the string representation
9307func (s BatchAssociateServiceActionWithProvisioningArtifactOutput) String() string {
9308	return awsutil.Prettify(s)
9309}
9310
9311// GoString returns the string representation
9312func (s BatchAssociateServiceActionWithProvisioningArtifactOutput) GoString() string {
9313	return s.String()
9314}
9315
9316// SetFailedServiceActionAssociations sets the FailedServiceActionAssociations field's value.
9317func (s *BatchAssociateServiceActionWithProvisioningArtifactOutput) SetFailedServiceActionAssociations(v []*FailedServiceActionAssociation) *BatchAssociateServiceActionWithProvisioningArtifactOutput {
9318	s.FailedServiceActionAssociations = v
9319	return s
9320}
9321
9322type BatchDisassociateServiceActionFromProvisioningArtifactInput struct {
9323	_ struct{} `type:"structure"`
9324
9325	// The language code.
9326	//
9327	//    * en - English (default)
9328	//
9329	//    * jp - Japanese
9330	//
9331	//    * zh - Chinese
9332	AcceptLanguage *string `type:"string"`
9333
9334	// One or more associations, each consisting of the Action ID, the Product ID,
9335	// and the Provisioning Artifact ID.
9336	//
9337	// ServiceActionAssociations is a required field
9338	ServiceActionAssociations []*ServiceActionAssociation `min:"1" type:"list" required:"true"`
9339}
9340
9341// String returns the string representation
9342func (s BatchDisassociateServiceActionFromProvisioningArtifactInput) String() string {
9343	return awsutil.Prettify(s)
9344}
9345
9346// GoString returns the string representation
9347func (s BatchDisassociateServiceActionFromProvisioningArtifactInput) GoString() string {
9348	return s.String()
9349}
9350
9351// Validate inspects the fields of the type to determine if they are valid.
9352func (s *BatchDisassociateServiceActionFromProvisioningArtifactInput) Validate() error {
9353	invalidParams := request.ErrInvalidParams{Context: "BatchDisassociateServiceActionFromProvisioningArtifactInput"}
9354	if s.ServiceActionAssociations == nil {
9355		invalidParams.Add(request.NewErrParamRequired("ServiceActionAssociations"))
9356	}
9357	if s.ServiceActionAssociations != nil && len(s.ServiceActionAssociations) < 1 {
9358		invalidParams.Add(request.NewErrParamMinLen("ServiceActionAssociations", 1))
9359	}
9360	if s.ServiceActionAssociations != nil {
9361		for i, v := range s.ServiceActionAssociations {
9362			if v == nil {
9363				continue
9364			}
9365			if err := v.Validate(); err != nil {
9366				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "ServiceActionAssociations", i), err.(request.ErrInvalidParams))
9367			}
9368		}
9369	}
9370
9371	if invalidParams.Len() > 0 {
9372		return invalidParams
9373	}
9374	return nil
9375}
9376
9377// SetAcceptLanguage sets the AcceptLanguage field's value.
9378func (s *BatchDisassociateServiceActionFromProvisioningArtifactInput) SetAcceptLanguage(v string) *BatchDisassociateServiceActionFromProvisioningArtifactInput {
9379	s.AcceptLanguage = &v
9380	return s
9381}
9382
9383// SetServiceActionAssociations sets the ServiceActionAssociations field's value.
9384func (s *BatchDisassociateServiceActionFromProvisioningArtifactInput) SetServiceActionAssociations(v []*ServiceActionAssociation) *BatchDisassociateServiceActionFromProvisioningArtifactInput {
9385	s.ServiceActionAssociations = v
9386	return s
9387}
9388
9389type BatchDisassociateServiceActionFromProvisioningArtifactOutput struct {
9390	_ struct{} `type:"structure"`
9391
9392	// An object that contains a list of errors, along with information to help
9393	// you identify the self-service action.
9394	FailedServiceActionAssociations []*FailedServiceActionAssociation `type:"list"`
9395}
9396
9397// String returns the string representation
9398func (s BatchDisassociateServiceActionFromProvisioningArtifactOutput) String() string {
9399	return awsutil.Prettify(s)
9400}
9401
9402// GoString returns the string representation
9403func (s BatchDisassociateServiceActionFromProvisioningArtifactOutput) GoString() string {
9404	return s.String()
9405}
9406
9407// SetFailedServiceActionAssociations sets the FailedServiceActionAssociations field's value.
9408func (s *BatchDisassociateServiceActionFromProvisioningArtifactOutput) SetFailedServiceActionAssociations(v []*FailedServiceActionAssociation) *BatchDisassociateServiceActionFromProvisioningArtifactOutput {
9409	s.FailedServiceActionAssociations = v
9410	return s
9411}
9412
9413// Information about a budget.
9414type BudgetDetail struct {
9415	_ struct{} `type:"structure"`
9416
9417	// Name of the associated budget.
9418	BudgetName *string `min:"1" type:"string"`
9419}
9420
9421// String returns the string representation
9422func (s BudgetDetail) String() string {
9423	return awsutil.Prettify(s)
9424}
9425
9426// GoString returns the string representation
9427func (s BudgetDetail) GoString() string {
9428	return s.String()
9429}
9430
9431// SetBudgetName sets the BudgetName field's value.
9432func (s *BudgetDetail) SetBudgetName(v string) *BudgetDetail {
9433	s.BudgetName = &v
9434	return s
9435}
9436
9437// Information about a CloudWatch dashboard.
9438type CloudWatchDashboard struct {
9439	_ struct{} `type:"structure"`
9440
9441	// The name of the CloudWatch dashboard.
9442	Name *string `type:"string"`
9443}
9444
9445// String returns the string representation
9446func (s CloudWatchDashboard) String() string {
9447	return awsutil.Prettify(s)
9448}
9449
9450// GoString returns the string representation
9451func (s CloudWatchDashboard) GoString() string {
9452	return s.String()
9453}
9454
9455// SetName sets the Name field's value.
9456func (s *CloudWatchDashboard) SetName(v string) *CloudWatchDashboard {
9457	s.Name = &v
9458	return s
9459}
9460
9461// Information about a constraint.
9462type ConstraintDetail struct {
9463	_ struct{} `type:"structure"`
9464
9465	// The identifier of the constraint.
9466	ConstraintId *string `min:"1" type:"string"`
9467
9468	// The description of the constraint.
9469	Description *string `type:"string"`
9470
9471	// The owner of the constraint.
9472	Owner *string `type:"string"`
9473
9474	// The identifier of the portfolio the product resides in. The constraint applies
9475	// only to the instance of the product that lives within this portfolio.
9476	PortfolioId *string `min:"1" type:"string"`
9477
9478	// The identifier of the product the constraint applies to. Note that a constraint
9479	// applies to a specific instance of a product within a certain portfolio.
9480	ProductId *string `min:"1" type:"string"`
9481
9482	// The type of constraint.
9483	//
9484	//    * LAUNCH
9485	//
9486	//    * NOTIFICATION
9487	//
9488	//    * STACKSET
9489	//
9490	//    * TEMPLATE
9491	Type *string `min:"1" type:"string"`
9492}
9493
9494// String returns the string representation
9495func (s ConstraintDetail) String() string {
9496	return awsutil.Prettify(s)
9497}
9498
9499// GoString returns the string representation
9500func (s ConstraintDetail) GoString() string {
9501	return s.String()
9502}
9503
9504// SetConstraintId sets the ConstraintId field's value.
9505func (s *ConstraintDetail) SetConstraintId(v string) *ConstraintDetail {
9506	s.ConstraintId = &v
9507	return s
9508}
9509
9510// SetDescription sets the Description field's value.
9511func (s *ConstraintDetail) SetDescription(v string) *ConstraintDetail {
9512	s.Description = &v
9513	return s
9514}
9515
9516// SetOwner sets the Owner field's value.
9517func (s *ConstraintDetail) SetOwner(v string) *ConstraintDetail {
9518	s.Owner = &v
9519	return s
9520}
9521
9522// SetPortfolioId sets the PortfolioId field's value.
9523func (s *ConstraintDetail) SetPortfolioId(v string) *ConstraintDetail {
9524	s.PortfolioId = &v
9525	return s
9526}
9527
9528// SetProductId sets the ProductId field's value.
9529func (s *ConstraintDetail) SetProductId(v string) *ConstraintDetail {
9530	s.ProductId = &v
9531	return s
9532}
9533
9534// SetType sets the Type field's value.
9535func (s *ConstraintDetail) SetType(v string) *ConstraintDetail {
9536	s.Type = &v
9537	return s
9538}
9539
9540// Summary information about a constraint.
9541type ConstraintSummary struct {
9542	_ struct{} `type:"structure"`
9543
9544	// The description of the constraint.
9545	Description *string `type:"string"`
9546
9547	// The type of constraint.
9548	//
9549	//    * LAUNCH
9550	//
9551	//    * NOTIFICATION
9552	//
9553	//    * STACKSET
9554	//
9555	//    * TEMPLATE
9556	Type *string `min:"1" type:"string"`
9557}
9558
9559// String returns the string representation
9560func (s ConstraintSummary) String() string {
9561	return awsutil.Prettify(s)
9562}
9563
9564// GoString returns the string representation
9565func (s ConstraintSummary) GoString() string {
9566	return s.String()
9567}
9568
9569// SetDescription sets the Description field's value.
9570func (s *ConstraintSummary) SetDescription(v string) *ConstraintSummary {
9571	s.Description = &v
9572	return s
9573}
9574
9575// SetType sets the Type field's value.
9576func (s *ConstraintSummary) SetType(v string) *ConstraintSummary {
9577	s.Type = &v
9578	return s
9579}
9580
9581type CopyProductInput struct {
9582	_ struct{} `type:"structure"`
9583
9584	// The language code.
9585	//
9586	//    * en - English (default)
9587	//
9588	//    * jp - Japanese
9589	//
9590	//    * zh - Chinese
9591	AcceptLanguage *string `type:"string"`
9592
9593	// The copy options. If the value is CopyTags, the tags from the source product
9594	// are copied to the target product.
9595	CopyOptions []*string `type:"list"`
9596
9597	// A unique identifier that you provide to ensure idempotency. If multiple requests
9598	// differ only by the idempotency token, the same response is returned for each
9599	// repeated request.
9600	IdempotencyToken *string `min:"1" type:"string" idempotencyToken:"true"`
9601
9602	// The Amazon Resource Name (ARN) of the source product.
9603	//
9604	// SourceProductArn is a required field
9605	SourceProductArn *string `min:"1" type:"string" required:"true"`
9606
9607	// The identifiers of the provisioning artifacts (also known as versions) of
9608	// the product to copy. By default, all provisioning artifacts are copied.
9609	SourceProvisioningArtifactIdentifiers []map[string]*string `type:"list"`
9610
9611	// The identifier of the target product. By default, a new product is created.
9612	TargetProductId *string `min:"1" type:"string"`
9613
9614	// A name for the target product. The default is the name of the source product.
9615	TargetProductName *string `type:"string"`
9616}
9617
9618// String returns the string representation
9619func (s CopyProductInput) String() string {
9620	return awsutil.Prettify(s)
9621}
9622
9623// GoString returns the string representation
9624func (s CopyProductInput) GoString() string {
9625	return s.String()
9626}
9627
9628// Validate inspects the fields of the type to determine if they are valid.
9629func (s *CopyProductInput) Validate() error {
9630	invalidParams := request.ErrInvalidParams{Context: "CopyProductInput"}
9631	if s.IdempotencyToken != nil && len(*s.IdempotencyToken) < 1 {
9632		invalidParams.Add(request.NewErrParamMinLen("IdempotencyToken", 1))
9633	}
9634	if s.SourceProductArn == nil {
9635		invalidParams.Add(request.NewErrParamRequired("SourceProductArn"))
9636	}
9637	if s.SourceProductArn != nil && len(*s.SourceProductArn) < 1 {
9638		invalidParams.Add(request.NewErrParamMinLen("SourceProductArn", 1))
9639	}
9640	if s.TargetProductId != nil && len(*s.TargetProductId) < 1 {
9641		invalidParams.Add(request.NewErrParamMinLen("TargetProductId", 1))
9642	}
9643
9644	if invalidParams.Len() > 0 {
9645		return invalidParams
9646	}
9647	return nil
9648}
9649
9650// SetAcceptLanguage sets the AcceptLanguage field's value.
9651func (s *CopyProductInput) SetAcceptLanguage(v string) *CopyProductInput {
9652	s.AcceptLanguage = &v
9653	return s
9654}
9655
9656// SetCopyOptions sets the CopyOptions field's value.
9657func (s *CopyProductInput) SetCopyOptions(v []*string) *CopyProductInput {
9658	s.CopyOptions = v
9659	return s
9660}
9661
9662// SetIdempotencyToken sets the IdempotencyToken field's value.
9663func (s *CopyProductInput) SetIdempotencyToken(v string) *CopyProductInput {
9664	s.IdempotencyToken = &v
9665	return s
9666}
9667
9668// SetSourceProductArn sets the SourceProductArn field's value.
9669func (s *CopyProductInput) SetSourceProductArn(v string) *CopyProductInput {
9670	s.SourceProductArn = &v
9671	return s
9672}
9673
9674// SetSourceProvisioningArtifactIdentifiers sets the SourceProvisioningArtifactIdentifiers field's value.
9675func (s *CopyProductInput) SetSourceProvisioningArtifactIdentifiers(v []map[string]*string) *CopyProductInput {
9676	s.SourceProvisioningArtifactIdentifiers = v
9677	return s
9678}
9679
9680// SetTargetProductId sets the TargetProductId field's value.
9681func (s *CopyProductInput) SetTargetProductId(v string) *CopyProductInput {
9682	s.TargetProductId = &v
9683	return s
9684}
9685
9686// SetTargetProductName sets the TargetProductName field's value.
9687func (s *CopyProductInput) SetTargetProductName(v string) *CopyProductInput {
9688	s.TargetProductName = &v
9689	return s
9690}
9691
9692type CopyProductOutput struct {
9693	_ struct{} `type:"structure"`
9694
9695	// The token to use to track the progress of the operation.
9696	CopyProductToken *string `min:"1" type:"string"`
9697}
9698
9699// String returns the string representation
9700func (s CopyProductOutput) String() string {
9701	return awsutil.Prettify(s)
9702}
9703
9704// GoString returns the string representation
9705func (s CopyProductOutput) GoString() string {
9706	return s.String()
9707}
9708
9709// SetCopyProductToken sets the CopyProductToken field's value.
9710func (s *CopyProductOutput) SetCopyProductToken(v string) *CopyProductOutput {
9711	s.CopyProductToken = &v
9712	return s
9713}
9714
9715type CreateConstraintInput struct {
9716	_ struct{} `type:"structure"`
9717
9718	// The language code.
9719	//
9720	//    * en - English (default)
9721	//
9722	//    * jp - Japanese
9723	//
9724	//    * zh - Chinese
9725	AcceptLanguage *string `type:"string"`
9726
9727	// The description of the constraint.
9728	Description *string `type:"string"`
9729
9730	// A unique identifier that you provide to ensure idempotency. If multiple requests
9731	// differ only by the idempotency token, the same response is returned for each
9732	// repeated request.
9733	IdempotencyToken *string `min:"1" type:"string" idempotencyToken:"true"`
9734
9735	// The constraint parameters, in JSON format. The syntax depends on the constraint
9736	// type as follows:
9737	//
9738	// LAUNCH
9739	//
9740	// You are required to specify either the RoleArn or the LocalRoleName but can't
9741	// use both.
9742	//
9743	// Specify the RoleArn property as follows:
9744	//
9745	// {"RoleArn" : "arn:aws:iam::123456789012:role/LaunchRole"}
9746	//
9747	// Specify the LocalRoleName property as follows:
9748	//
9749	// {"LocalRoleName": "SCBasicLaunchRole"}
9750	//
9751	// If you specify the LocalRoleName property, when an account uses the launch
9752	// constraint, the IAM role with that name in the account will be used. This
9753	// allows launch-role constraints to be account-agnostic so the administrator
9754	// can create fewer resources per shared account.
9755	//
9756	// The given role name must exist in the account used to create the launch constraint
9757	// and the account of the user who launches a product with this launch constraint.
9758	//
9759	// You cannot have both a LAUNCH and a STACKSET constraint.
9760	//
9761	// You also cannot have more than one LAUNCH constraint on a product and portfolio.
9762	//
9763	// NOTIFICATION
9764	//
9765	// Specify the NotificationArns property as follows:
9766	//
9767	// {"NotificationArns" : ["arn:aws:sns:us-east-1:123456789012:Topic"]}
9768	//
9769	// RESOURCE_UPDATE
9770	//
9771	// Specify the TagUpdatesOnProvisionedProduct property as follows:
9772	//
9773	// {"Version":"2.0","Properties":{"TagUpdateOnProvisionedProduct":"String"}}
9774	//
9775	// The TagUpdatesOnProvisionedProduct property accepts a string value of ALLOWED
9776	// or NOT_ALLOWED.
9777	//
9778	// STACKSET
9779	//
9780	// Specify the Parameters property as follows:
9781	//
9782	// {"Version": "String", "Properties": {"AccountList": [ "String" ], "RegionList":
9783	// [ "String" ], "AdminRole": "String", "ExecutionRole": "String"}}
9784	//
9785	// You cannot have both a LAUNCH and a STACKSET constraint.
9786	//
9787	// You also cannot have more than one STACKSET constraint on a product and portfolio.
9788	//
9789	// Products with a STACKSET constraint will launch an AWS CloudFormation stack
9790	// set.
9791	//
9792	// TEMPLATE
9793	//
9794	// Specify the Rules property. For more information, see Template Constraint
9795	// Rules (http://docs.aws.amazon.com/servicecatalog/latest/adminguide/reference-template_constraint_rules.html).
9796	//
9797	// Parameters is a required field
9798	Parameters *string `type:"string" required:"true"`
9799
9800	// The portfolio identifier.
9801	//
9802	// PortfolioId is a required field
9803	PortfolioId *string `min:"1" type:"string" required:"true"`
9804
9805	// The product identifier.
9806	//
9807	// ProductId is a required field
9808	ProductId *string `min:"1" type:"string" required:"true"`
9809
9810	// The type of constraint.
9811	//
9812	//    * LAUNCH
9813	//
9814	//    * NOTIFICATION
9815	//
9816	//    * RESOURCE_UPDATE
9817	//
9818	//    * STACKSET
9819	//
9820	//    * TEMPLATE
9821	//
9822	// Type is a required field
9823	Type *string `min:"1" type:"string" required:"true"`
9824}
9825
9826// String returns the string representation
9827func (s CreateConstraintInput) String() string {
9828	return awsutil.Prettify(s)
9829}
9830
9831// GoString returns the string representation
9832func (s CreateConstraintInput) GoString() string {
9833	return s.String()
9834}
9835
9836// Validate inspects the fields of the type to determine if they are valid.
9837func (s *CreateConstraintInput) Validate() error {
9838	invalidParams := request.ErrInvalidParams{Context: "CreateConstraintInput"}
9839	if s.IdempotencyToken != nil && len(*s.IdempotencyToken) < 1 {
9840		invalidParams.Add(request.NewErrParamMinLen("IdempotencyToken", 1))
9841	}
9842	if s.Parameters == nil {
9843		invalidParams.Add(request.NewErrParamRequired("Parameters"))
9844	}
9845	if s.PortfolioId == nil {
9846		invalidParams.Add(request.NewErrParamRequired("PortfolioId"))
9847	}
9848	if s.PortfolioId != nil && len(*s.PortfolioId) < 1 {
9849		invalidParams.Add(request.NewErrParamMinLen("PortfolioId", 1))
9850	}
9851	if s.ProductId == nil {
9852		invalidParams.Add(request.NewErrParamRequired("ProductId"))
9853	}
9854	if s.ProductId != nil && len(*s.ProductId) < 1 {
9855		invalidParams.Add(request.NewErrParamMinLen("ProductId", 1))
9856	}
9857	if s.Type == nil {
9858		invalidParams.Add(request.NewErrParamRequired("Type"))
9859	}
9860	if s.Type != nil && len(*s.Type) < 1 {
9861		invalidParams.Add(request.NewErrParamMinLen("Type", 1))
9862	}
9863
9864	if invalidParams.Len() > 0 {
9865		return invalidParams
9866	}
9867	return nil
9868}
9869
9870// SetAcceptLanguage sets the AcceptLanguage field's value.
9871func (s *CreateConstraintInput) SetAcceptLanguage(v string) *CreateConstraintInput {
9872	s.AcceptLanguage = &v
9873	return s
9874}
9875
9876// SetDescription sets the Description field's value.
9877func (s *CreateConstraintInput) SetDescription(v string) *CreateConstraintInput {
9878	s.Description = &v
9879	return s
9880}
9881
9882// SetIdempotencyToken sets the IdempotencyToken field's value.
9883func (s *CreateConstraintInput) SetIdempotencyToken(v string) *CreateConstraintInput {
9884	s.IdempotencyToken = &v
9885	return s
9886}
9887
9888// SetParameters sets the Parameters field's value.
9889func (s *CreateConstraintInput) SetParameters(v string) *CreateConstraintInput {
9890	s.Parameters = &v
9891	return s
9892}
9893
9894// SetPortfolioId sets the PortfolioId field's value.
9895func (s *CreateConstraintInput) SetPortfolioId(v string) *CreateConstraintInput {
9896	s.PortfolioId = &v
9897	return s
9898}
9899
9900// SetProductId sets the ProductId field's value.
9901func (s *CreateConstraintInput) SetProductId(v string) *CreateConstraintInput {
9902	s.ProductId = &v
9903	return s
9904}
9905
9906// SetType sets the Type field's value.
9907func (s *CreateConstraintInput) SetType(v string) *CreateConstraintInput {
9908	s.Type = &v
9909	return s
9910}
9911
9912type CreateConstraintOutput struct {
9913	_ struct{} `type:"structure"`
9914
9915	// Information about the constraint.
9916	ConstraintDetail *ConstraintDetail `type:"structure"`
9917
9918	// The constraint parameters.
9919	ConstraintParameters *string `type:"string"`
9920
9921	// The status of the current request.
9922	Status *string `type:"string" enum:"Status"`
9923}
9924
9925// String returns the string representation
9926func (s CreateConstraintOutput) String() string {
9927	return awsutil.Prettify(s)
9928}
9929
9930// GoString returns the string representation
9931func (s CreateConstraintOutput) GoString() string {
9932	return s.String()
9933}
9934
9935// SetConstraintDetail sets the ConstraintDetail field's value.
9936func (s *CreateConstraintOutput) SetConstraintDetail(v *ConstraintDetail) *CreateConstraintOutput {
9937	s.ConstraintDetail = v
9938	return s
9939}
9940
9941// SetConstraintParameters sets the ConstraintParameters field's value.
9942func (s *CreateConstraintOutput) SetConstraintParameters(v string) *CreateConstraintOutput {
9943	s.ConstraintParameters = &v
9944	return s
9945}
9946
9947// SetStatus sets the Status field's value.
9948func (s *CreateConstraintOutput) SetStatus(v string) *CreateConstraintOutput {
9949	s.Status = &v
9950	return s
9951}
9952
9953type CreatePortfolioInput struct {
9954	_ struct{} `type:"structure"`
9955
9956	// The language code.
9957	//
9958	//    * en - English (default)
9959	//
9960	//    * jp - Japanese
9961	//
9962	//    * zh - Chinese
9963	AcceptLanguage *string `type:"string"`
9964
9965	// The description of the portfolio.
9966	Description *string `type:"string"`
9967
9968	// The name to use for display purposes.
9969	//
9970	// DisplayName is a required field
9971	DisplayName *string `min:"1" type:"string" required:"true"`
9972
9973	// A unique identifier that you provide to ensure idempotency. If multiple requests
9974	// differ only by the idempotency token, the same response is returned for each
9975	// repeated request.
9976	IdempotencyToken *string `min:"1" type:"string" idempotencyToken:"true"`
9977
9978	// The name of the portfolio provider.
9979	//
9980	// ProviderName is a required field
9981	ProviderName *string `min:"1" type:"string" required:"true"`
9982
9983	// One or more tags.
9984	Tags []*Tag `type:"list"`
9985}
9986
9987// String returns the string representation
9988func (s CreatePortfolioInput) String() string {
9989	return awsutil.Prettify(s)
9990}
9991
9992// GoString returns the string representation
9993func (s CreatePortfolioInput) GoString() string {
9994	return s.String()
9995}
9996
9997// Validate inspects the fields of the type to determine if they are valid.
9998func (s *CreatePortfolioInput) Validate() error {
9999	invalidParams := request.ErrInvalidParams{Context: "CreatePortfolioInput"}
10000	if s.DisplayName == nil {
10001		invalidParams.Add(request.NewErrParamRequired("DisplayName"))
10002	}
10003	if s.DisplayName != nil && len(*s.DisplayName) < 1 {
10004		invalidParams.Add(request.NewErrParamMinLen("DisplayName", 1))
10005	}
10006	if s.IdempotencyToken != nil && len(*s.IdempotencyToken) < 1 {
10007		invalidParams.Add(request.NewErrParamMinLen("IdempotencyToken", 1))
10008	}
10009	if s.ProviderName == nil {
10010		invalidParams.Add(request.NewErrParamRequired("ProviderName"))
10011	}
10012	if s.ProviderName != nil && len(*s.ProviderName) < 1 {
10013		invalidParams.Add(request.NewErrParamMinLen("ProviderName", 1))
10014	}
10015	if s.Tags != nil {
10016		for i, v := range s.Tags {
10017			if v == nil {
10018				continue
10019			}
10020			if err := v.Validate(); err != nil {
10021				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams))
10022			}
10023		}
10024	}
10025
10026	if invalidParams.Len() > 0 {
10027		return invalidParams
10028	}
10029	return nil
10030}
10031
10032// SetAcceptLanguage sets the AcceptLanguage field's value.
10033func (s *CreatePortfolioInput) SetAcceptLanguage(v string) *CreatePortfolioInput {
10034	s.AcceptLanguage = &v
10035	return s
10036}
10037
10038// SetDescription sets the Description field's value.
10039func (s *CreatePortfolioInput) SetDescription(v string) *CreatePortfolioInput {
10040	s.Description = &v
10041	return s
10042}
10043
10044// SetDisplayName sets the DisplayName field's value.
10045func (s *CreatePortfolioInput) SetDisplayName(v string) *CreatePortfolioInput {
10046	s.DisplayName = &v
10047	return s
10048}
10049
10050// SetIdempotencyToken sets the IdempotencyToken field's value.
10051func (s *CreatePortfolioInput) SetIdempotencyToken(v string) *CreatePortfolioInput {
10052	s.IdempotencyToken = &v
10053	return s
10054}
10055
10056// SetProviderName sets the ProviderName field's value.
10057func (s *CreatePortfolioInput) SetProviderName(v string) *CreatePortfolioInput {
10058	s.ProviderName = &v
10059	return s
10060}
10061
10062// SetTags sets the Tags field's value.
10063func (s *CreatePortfolioInput) SetTags(v []*Tag) *CreatePortfolioInput {
10064	s.Tags = v
10065	return s
10066}
10067
10068type CreatePortfolioOutput struct {
10069	_ struct{} `type:"structure"`
10070
10071	// Information about the portfolio.
10072	PortfolioDetail *PortfolioDetail `type:"structure"`
10073
10074	// Information about the tags associated with the portfolio.
10075	Tags []*Tag `type:"list"`
10076}
10077
10078// String returns the string representation
10079func (s CreatePortfolioOutput) String() string {
10080	return awsutil.Prettify(s)
10081}
10082
10083// GoString returns the string representation
10084func (s CreatePortfolioOutput) GoString() string {
10085	return s.String()
10086}
10087
10088// SetPortfolioDetail sets the PortfolioDetail field's value.
10089func (s *CreatePortfolioOutput) SetPortfolioDetail(v *PortfolioDetail) *CreatePortfolioOutput {
10090	s.PortfolioDetail = v
10091	return s
10092}
10093
10094// SetTags sets the Tags field's value.
10095func (s *CreatePortfolioOutput) SetTags(v []*Tag) *CreatePortfolioOutput {
10096	s.Tags = v
10097	return s
10098}
10099
10100type CreatePortfolioShareInput struct {
10101	_ struct{} `type:"structure"`
10102
10103	// The language code.
10104	//
10105	//    * en - English (default)
10106	//
10107	//    * jp - Japanese
10108	//
10109	//    * zh - Chinese
10110	AcceptLanguage *string `type:"string"`
10111
10112	// The AWS account ID. For example, 123456789012.
10113	AccountId *string `type:"string"`
10114
10115	// The organization node to whom you are going to share. If OrganizationNode
10116	// is passed in, PortfolioShare will be created for the node an ListOrganizationPortfolioAccessd
10117	// its children (when applies), and a PortfolioShareToken will be returned in
10118	// the output in order for the administrator to monitor the status of the PortfolioShare
10119	// creation process.
10120	OrganizationNode *OrganizationNode `type:"structure"`
10121
10122	// The portfolio identifier.
10123	//
10124	// PortfolioId is a required field
10125	PortfolioId *string `min:"1" type:"string" required:"true"`
10126
10127	// Enables or disables TagOptions sharing when creating the portfolio share.
10128	// If this flag is not provided, TagOptions sharing is disabled.
10129	ShareTagOptions *bool `type:"boolean"`
10130}
10131
10132// String returns the string representation
10133func (s CreatePortfolioShareInput) String() string {
10134	return awsutil.Prettify(s)
10135}
10136
10137// GoString returns the string representation
10138func (s CreatePortfolioShareInput) GoString() string {
10139	return s.String()
10140}
10141
10142// Validate inspects the fields of the type to determine if they are valid.
10143func (s *CreatePortfolioShareInput) Validate() error {
10144	invalidParams := request.ErrInvalidParams{Context: "CreatePortfolioShareInput"}
10145	if s.PortfolioId == nil {
10146		invalidParams.Add(request.NewErrParamRequired("PortfolioId"))
10147	}
10148	if s.PortfolioId != nil && len(*s.PortfolioId) < 1 {
10149		invalidParams.Add(request.NewErrParamMinLen("PortfolioId", 1))
10150	}
10151
10152	if invalidParams.Len() > 0 {
10153		return invalidParams
10154	}
10155	return nil
10156}
10157
10158// SetAcceptLanguage sets the AcceptLanguage field's value.
10159func (s *CreatePortfolioShareInput) SetAcceptLanguage(v string) *CreatePortfolioShareInput {
10160	s.AcceptLanguage = &v
10161	return s
10162}
10163
10164// SetAccountId sets the AccountId field's value.
10165func (s *CreatePortfolioShareInput) SetAccountId(v string) *CreatePortfolioShareInput {
10166	s.AccountId = &v
10167	return s
10168}
10169
10170// SetOrganizationNode sets the OrganizationNode field's value.
10171func (s *CreatePortfolioShareInput) SetOrganizationNode(v *OrganizationNode) *CreatePortfolioShareInput {
10172	s.OrganizationNode = v
10173	return s
10174}
10175
10176// SetPortfolioId sets the PortfolioId field's value.
10177func (s *CreatePortfolioShareInput) SetPortfolioId(v string) *CreatePortfolioShareInput {
10178	s.PortfolioId = &v
10179	return s
10180}
10181
10182// SetShareTagOptions sets the ShareTagOptions field's value.
10183func (s *CreatePortfolioShareInput) SetShareTagOptions(v bool) *CreatePortfolioShareInput {
10184	s.ShareTagOptions = &v
10185	return s
10186}
10187
10188type CreatePortfolioShareOutput struct {
10189	_ struct{} `type:"structure"`
10190
10191	// The portfolio shares a unique identifier that only returns if the portfolio
10192	// is shared to an organization node.
10193	PortfolioShareToken *string `min:"1" type:"string"`
10194}
10195
10196// String returns the string representation
10197func (s CreatePortfolioShareOutput) String() string {
10198	return awsutil.Prettify(s)
10199}
10200
10201// GoString returns the string representation
10202func (s CreatePortfolioShareOutput) GoString() string {
10203	return s.String()
10204}
10205
10206// SetPortfolioShareToken sets the PortfolioShareToken field's value.
10207func (s *CreatePortfolioShareOutput) SetPortfolioShareToken(v string) *CreatePortfolioShareOutput {
10208	s.PortfolioShareToken = &v
10209	return s
10210}
10211
10212type CreateProductInput struct {
10213	_ struct{} `type:"structure"`
10214
10215	// The language code.
10216	//
10217	//    * en - English (default)
10218	//
10219	//    * jp - Japanese
10220	//
10221	//    * zh - Chinese
10222	AcceptLanguage *string `type:"string"`
10223
10224	// The description of the product.
10225	Description *string `type:"string"`
10226
10227	// The distributor of the product.
10228	Distributor *string `type:"string"`
10229
10230	// A unique identifier that you provide to ensure idempotency. If multiple requests
10231	// differ only by the idempotency token, the same response is returned for each
10232	// repeated request.
10233	IdempotencyToken *string `min:"1" type:"string" idempotencyToken:"true"`
10234
10235	// The name of the product.
10236	//
10237	// Name is a required field
10238	Name *string `type:"string" required:"true"`
10239
10240	// The owner of the product.
10241	//
10242	// Owner is a required field
10243	Owner *string `type:"string" required:"true"`
10244
10245	// The type of product.
10246	//
10247	// ProductType is a required field
10248	ProductType *string `type:"string" required:"true" enum:"ProductType"`
10249
10250	// The configuration of the provisioning artifact.
10251	//
10252	// ProvisioningArtifactParameters is a required field
10253	ProvisioningArtifactParameters *ProvisioningArtifactProperties `type:"structure" required:"true"`
10254
10255	// The support information about the product.
10256	SupportDescription *string `type:"string"`
10257
10258	// The contact email for product support.
10259	SupportEmail *string `type:"string"`
10260
10261	// The contact URL for product support.
10262	//
10263	// ^https?:\/\// / is the pattern used to validate SupportUrl.
10264	SupportUrl *string `type:"string"`
10265
10266	// One or more tags.
10267	Tags []*Tag `type:"list"`
10268}
10269
10270// String returns the string representation
10271func (s CreateProductInput) String() string {
10272	return awsutil.Prettify(s)
10273}
10274
10275// GoString returns the string representation
10276func (s CreateProductInput) GoString() string {
10277	return s.String()
10278}
10279
10280// Validate inspects the fields of the type to determine if they are valid.
10281func (s *CreateProductInput) Validate() error {
10282	invalidParams := request.ErrInvalidParams{Context: "CreateProductInput"}
10283	if s.IdempotencyToken != nil && len(*s.IdempotencyToken) < 1 {
10284		invalidParams.Add(request.NewErrParamMinLen("IdempotencyToken", 1))
10285	}
10286	if s.Name == nil {
10287		invalidParams.Add(request.NewErrParamRequired("Name"))
10288	}
10289	if s.Owner == nil {
10290		invalidParams.Add(request.NewErrParamRequired("Owner"))
10291	}
10292	if s.ProductType == nil {
10293		invalidParams.Add(request.NewErrParamRequired("ProductType"))
10294	}
10295	if s.ProvisioningArtifactParameters == nil {
10296		invalidParams.Add(request.NewErrParamRequired("ProvisioningArtifactParameters"))
10297	}
10298	if s.ProvisioningArtifactParameters != nil {
10299		if err := s.ProvisioningArtifactParameters.Validate(); err != nil {
10300			invalidParams.AddNested("ProvisioningArtifactParameters", err.(request.ErrInvalidParams))
10301		}
10302	}
10303	if s.Tags != nil {
10304		for i, v := range s.Tags {
10305			if v == nil {
10306				continue
10307			}
10308			if err := v.Validate(); err != nil {
10309				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams))
10310			}
10311		}
10312	}
10313
10314	if invalidParams.Len() > 0 {
10315		return invalidParams
10316	}
10317	return nil
10318}
10319
10320// SetAcceptLanguage sets the AcceptLanguage field's value.
10321func (s *CreateProductInput) SetAcceptLanguage(v string) *CreateProductInput {
10322	s.AcceptLanguage = &v
10323	return s
10324}
10325
10326// SetDescription sets the Description field's value.
10327func (s *CreateProductInput) SetDescription(v string) *CreateProductInput {
10328	s.Description = &v
10329	return s
10330}
10331
10332// SetDistributor sets the Distributor field's value.
10333func (s *CreateProductInput) SetDistributor(v string) *CreateProductInput {
10334	s.Distributor = &v
10335	return s
10336}
10337
10338// SetIdempotencyToken sets the IdempotencyToken field's value.
10339func (s *CreateProductInput) SetIdempotencyToken(v string) *CreateProductInput {
10340	s.IdempotencyToken = &v
10341	return s
10342}
10343
10344// SetName sets the Name field's value.
10345func (s *CreateProductInput) SetName(v string) *CreateProductInput {
10346	s.Name = &v
10347	return s
10348}
10349
10350// SetOwner sets the Owner field's value.
10351func (s *CreateProductInput) SetOwner(v string) *CreateProductInput {
10352	s.Owner = &v
10353	return s
10354}
10355
10356// SetProductType sets the ProductType field's value.
10357func (s *CreateProductInput) SetProductType(v string) *CreateProductInput {
10358	s.ProductType = &v
10359	return s
10360}
10361
10362// SetProvisioningArtifactParameters sets the ProvisioningArtifactParameters field's value.
10363func (s *CreateProductInput) SetProvisioningArtifactParameters(v *ProvisioningArtifactProperties) *CreateProductInput {
10364	s.ProvisioningArtifactParameters = v
10365	return s
10366}
10367
10368// SetSupportDescription sets the SupportDescription field's value.
10369func (s *CreateProductInput) SetSupportDescription(v string) *CreateProductInput {
10370	s.SupportDescription = &v
10371	return s
10372}
10373
10374// SetSupportEmail sets the SupportEmail field's value.
10375func (s *CreateProductInput) SetSupportEmail(v string) *CreateProductInput {
10376	s.SupportEmail = &v
10377	return s
10378}
10379
10380// SetSupportUrl sets the SupportUrl field's value.
10381func (s *CreateProductInput) SetSupportUrl(v string) *CreateProductInput {
10382	s.SupportUrl = &v
10383	return s
10384}
10385
10386// SetTags sets the Tags field's value.
10387func (s *CreateProductInput) SetTags(v []*Tag) *CreateProductInput {
10388	s.Tags = v
10389	return s
10390}
10391
10392type CreateProductOutput struct {
10393	_ struct{} `type:"structure"`
10394
10395	// Information about the product view.
10396	ProductViewDetail *ProductViewDetail `type:"structure"`
10397
10398	// Information about the provisioning artifact.
10399	ProvisioningArtifactDetail *ProvisioningArtifactDetail `type:"structure"`
10400
10401	// Information about the tags associated with the product.
10402	Tags []*Tag `type:"list"`
10403}
10404
10405// String returns the string representation
10406func (s CreateProductOutput) String() string {
10407	return awsutil.Prettify(s)
10408}
10409
10410// GoString returns the string representation
10411func (s CreateProductOutput) GoString() string {
10412	return s.String()
10413}
10414
10415// SetProductViewDetail sets the ProductViewDetail field's value.
10416func (s *CreateProductOutput) SetProductViewDetail(v *ProductViewDetail) *CreateProductOutput {
10417	s.ProductViewDetail = v
10418	return s
10419}
10420
10421// SetProvisioningArtifactDetail sets the ProvisioningArtifactDetail field's value.
10422func (s *CreateProductOutput) SetProvisioningArtifactDetail(v *ProvisioningArtifactDetail) *CreateProductOutput {
10423	s.ProvisioningArtifactDetail = v
10424	return s
10425}
10426
10427// SetTags sets the Tags field's value.
10428func (s *CreateProductOutput) SetTags(v []*Tag) *CreateProductOutput {
10429	s.Tags = v
10430	return s
10431}
10432
10433type CreateProvisionedProductPlanInput struct {
10434	_ struct{} `type:"structure"`
10435
10436	// The language code.
10437	//
10438	//    * en - English (default)
10439	//
10440	//    * jp - Japanese
10441	//
10442	//    * zh - Chinese
10443	AcceptLanguage *string `type:"string"`
10444
10445	// A unique identifier that you provide to ensure idempotency. If multiple requests
10446	// differ only by the idempotency token, the same response is returned for each
10447	// repeated request.
10448	IdempotencyToken *string `min:"1" type:"string" idempotencyToken:"true"`
10449
10450	// Passed to CloudFormation. The SNS topic ARNs to which to publish stack-related
10451	// events.
10452	NotificationArns []*string `type:"list"`
10453
10454	// The path identifier of the product. This value is optional if the product
10455	// has a default path, and required if the product has more than one path. To
10456	// list the paths for a product, use ListLaunchPaths.
10457	PathId *string `min:"1" type:"string"`
10458
10459	// The name of the plan.
10460	//
10461	// PlanName is a required field
10462	PlanName *string `type:"string" required:"true"`
10463
10464	// The plan type.
10465	//
10466	// PlanType is a required field
10467	PlanType *string `type:"string" required:"true" enum:"ProvisionedProductPlanType"`
10468
10469	// The product identifier.
10470	//
10471	// ProductId is a required field
10472	ProductId *string `min:"1" type:"string" required:"true"`
10473
10474	// A user-friendly name for the provisioned product. This value must be unique
10475	// for the AWS account and cannot be updated after the product is provisioned.
10476	//
10477	// ProvisionedProductName is a required field
10478	ProvisionedProductName *string `min:"1" type:"string" required:"true"`
10479
10480	// The identifier of the provisioning artifact.
10481	//
10482	// ProvisioningArtifactId is a required field
10483	ProvisioningArtifactId *string `min:"1" type:"string" required:"true"`
10484
10485	// Parameters specified by the administrator that are required for provisioning
10486	// the product.
10487	ProvisioningParameters []*UpdateProvisioningParameter `type:"list"`
10488
10489	// One or more tags.
10490	//
10491	// If the plan is for an existing provisioned product, the product must have
10492	// a RESOURCE_UPDATE constraint with TagUpdatesOnProvisionedProduct set to ALLOWED
10493	// to allow tag updates.
10494	Tags []*Tag `type:"list"`
10495}
10496
10497// String returns the string representation
10498func (s CreateProvisionedProductPlanInput) String() string {
10499	return awsutil.Prettify(s)
10500}
10501
10502// GoString returns the string representation
10503func (s CreateProvisionedProductPlanInput) GoString() string {
10504	return s.String()
10505}
10506
10507// Validate inspects the fields of the type to determine if they are valid.
10508func (s *CreateProvisionedProductPlanInput) Validate() error {
10509	invalidParams := request.ErrInvalidParams{Context: "CreateProvisionedProductPlanInput"}
10510	if s.IdempotencyToken != nil && len(*s.IdempotencyToken) < 1 {
10511		invalidParams.Add(request.NewErrParamMinLen("IdempotencyToken", 1))
10512	}
10513	if s.PathId != nil && len(*s.PathId) < 1 {
10514		invalidParams.Add(request.NewErrParamMinLen("PathId", 1))
10515	}
10516	if s.PlanName == nil {
10517		invalidParams.Add(request.NewErrParamRequired("PlanName"))
10518	}
10519	if s.PlanType == nil {
10520		invalidParams.Add(request.NewErrParamRequired("PlanType"))
10521	}
10522	if s.ProductId == nil {
10523		invalidParams.Add(request.NewErrParamRequired("ProductId"))
10524	}
10525	if s.ProductId != nil && len(*s.ProductId) < 1 {
10526		invalidParams.Add(request.NewErrParamMinLen("ProductId", 1))
10527	}
10528	if s.ProvisionedProductName == nil {
10529		invalidParams.Add(request.NewErrParamRequired("ProvisionedProductName"))
10530	}
10531	if s.ProvisionedProductName != nil && len(*s.ProvisionedProductName) < 1 {
10532		invalidParams.Add(request.NewErrParamMinLen("ProvisionedProductName", 1))
10533	}
10534	if s.ProvisioningArtifactId == nil {
10535		invalidParams.Add(request.NewErrParamRequired("ProvisioningArtifactId"))
10536	}
10537	if s.ProvisioningArtifactId != nil && len(*s.ProvisioningArtifactId) < 1 {
10538		invalidParams.Add(request.NewErrParamMinLen("ProvisioningArtifactId", 1))
10539	}
10540	if s.ProvisioningParameters != nil {
10541		for i, v := range s.ProvisioningParameters {
10542			if v == nil {
10543				continue
10544			}
10545			if err := v.Validate(); err != nil {
10546				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "ProvisioningParameters", i), err.(request.ErrInvalidParams))
10547			}
10548		}
10549	}
10550	if s.Tags != nil {
10551		for i, v := range s.Tags {
10552			if v == nil {
10553				continue
10554			}
10555			if err := v.Validate(); err != nil {
10556				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams))
10557			}
10558		}
10559	}
10560
10561	if invalidParams.Len() > 0 {
10562		return invalidParams
10563	}
10564	return nil
10565}
10566
10567// SetAcceptLanguage sets the AcceptLanguage field's value.
10568func (s *CreateProvisionedProductPlanInput) SetAcceptLanguage(v string) *CreateProvisionedProductPlanInput {
10569	s.AcceptLanguage = &v
10570	return s
10571}
10572
10573// SetIdempotencyToken sets the IdempotencyToken field's value.
10574func (s *CreateProvisionedProductPlanInput) SetIdempotencyToken(v string) *CreateProvisionedProductPlanInput {
10575	s.IdempotencyToken = &v
10576	return s
10577}
10578
10579// SetNotificationArns sets the NotificationArns field's value.
10580func (s *CreateProvisionedProductPlanInput) SetNotificationArns(v []*string) *CreateProvisionedProductPlanInput {
10581	s.NotificationArns = v
10582	return s
10583}
10584
10585// SetPathId sets the PathId field's value.
10586func (s *CreateProvisionedProductPlanInput) SetPathId(v string) *CreateProvisionedProductPlanInput {
10587	s.PathId = &v
10588	return s
10589}
10590
10591// SetPlanName sets the PlanName field's value.
10592func (s *CreateProvisionedProductPlanInput) SetPlanName(v string) *CreateProvisionedProductPlanInput {
10593	s.PlanName = &v
10594	return s
10595}
10596
10597// SetPlanType sets the PlanType field's value.
10598func (s *CreateProvisionedProductPlanInput) SetPlanType(v string) *CreateProvisionedProductPlanInput {
10599	s.PlanType = &v
10600	return s
10601}
10602
10603// SetProductId sets the ProductId field's value.
10604func (s *CreateProvisionedProductPlanInput) SetProductId(v string) *CreateProvisionedProductPlanInput {
10605	s.ProductId = &v
10606	return s
10607}
10608
10609// SetProvisionedProductName sets the ProvisionedProductName field's value.
10610func (s *CreateProvisionedProductPlanInput) SetProvisionedProductName(v string) *CreateProvisionedProductPlanInput {
10611	s.ProvisionedProductName = &v
10612	return s
10613}
10614
10615// SetProvisioningArtifactId sets the ProvisioningArtifactId field's value.
10616func (s *CreateProvisionedProductPlanInput) SetProvisioningArtifactId(v string) *CreateProvisionedProductPlanInput {
10617	s.ProvisioningArtifactId = &v
10618	return s
10619}
10620
10621// SetProvisioningParameters sets the ProvisioningParameters field's value.
10622func (s *CreateProvisionedProductPlanInput) SetProvisioningParameters(v []*UpdateProvisioningParameter) *CreateProvisionedProductPlanInput {
10623	s.ProvisioningParameters = v
10624	return s
10625}
10626
10627// SetTags sets the Tags field's value.
10628func (s *CreateProvisionedProductPlanInput) SetTags(v []*Tag) *CreateProvisionedProductPlanInput {
10629	s.Tags = v
10630	return s
10631}
10632
10633type CreateProvisionedProductPlanOutput struct {
10634	_ struct{} `type:"structure"`
10635
10636	// The plan identifier.
10637	PlanId *string `min:"1" type:"string"`
10638
10639	// The name of the plan.
10640	PlanName *string `type:"string"`
10641
10642	// The product identifier.
10643	ProvisionProductId *string `min:"1" type:"string"`
10644
10645	// The user-friendly name of the provisioned product.
10646	ProvisionedProductName *string `min:"1" type:"string"`
10647
10648	// The identifier of the provisioning artifact.
10649	ProvisioningArtifactId *string `min:"1" type:"string"`
10650}
10651
10652// String returns the string representation
10653func (s CreateProvisionedProductPlanOutput) String() string {
10654	return awsutil.Prettify(s)
10655}
10656
10657// GoString returns the string representation
10658func (s CreateProvisionedProductPlanOutput) GoString() string {
10659	return s.String()
10660}
10661
10662// SetPlanId sets the PlanId field's value.
10663func (s *CreateProvisionedProductPlanOutput) SetPlanId(v string) *CreateProvisionedProductPlanOutput {
10664	s.PlanId = &v
10665	return s
10666}
10667
10668// SetPlanName sets the PlanName field's value.
10669func (s *CreateProvisionedProductPlanOutput) SetPlanName(v string) *CreateProvisionedProductPlanOutput {
10670	s.PlanName = &v
10671	return s
10672}
10673
10674// SetProvisionProductId sets the ProvisionProductId field's value.
10675func (s *CreateProvisionedProductPlanOutput) SetProvisionProductId(v string) *CreateProvisionedProductPlanOutput {
10676	s.ProvisionProductId = &v
10677	return s
10678}
10679
10680// SetProvisionedProductName sets the ProvisionedProductName field's value.
10681func (s *CreateProvisionedProductPlanOutput) SetProvisionedProductName(v string) *CreateProvisionedProductPlanOutput {
10682	s.ProvisionedProductName = &v
10683	return s
10684}
10685
10686// SetProvisioningArtifactId sets the ProvisioningArtifactId field's value.
10687func (s *CreateProvisionedProductPlanOutput) SetProvisioningArtifactId(v string) *CreateProvisionedProductPlanOutput {
10688	s.ProvisioningArtifactId = &v
10689	return s
10690}
10691
10692type CreateProvisioningArtifactInput struct {
10693	_ struct{} `type:"structure"`
10694
10695	// The language code.
10696	//
10697	//    * en - English (default)
10698	//
10699	//    * jp - Japanese
10700	//
10701	//    * zh - Chinese
10702	AcceptLanguage *string `type:"string"`
10703
10704	// A unique identifier that you provide to ensure idempotency. If multiple requests
10705	// differ only by the idempotency token, the same response is returned for each
10706	// repeated request.
10707	IdempotencyToken *string `min:"1" type:"string" idempotencyToken:"true"`
10708
10709	// The configuration for the provisioning artifact.
10710	//
10711	// Parameters is a required field
10712	Parameters *ProvisioningArtifactProperties `type:"structure" required:"true"`
10713
10714	// The product identifier.
10715	//
10716	// ProductId is a required field
10717	ProductId *string `min:"1" type:"string" required:"true"`
10718}
10719
10720// String returns the string representation
10721func (s CreateProvisioningArtifactInput) String() string {
10722	return awsutil.Prettify(s)
10723}
10724
10725// GoString returns the string representation
10726func (s CreateProvisioningArtifactInput) GoString() string {
10727	return s.String()
10728}
10729
10730// Validate inspects the fields of the type to determine if they are valid.
10731func (s *CreateProvisioningArtifactInput) Validate() error {
10732	invalidParams := request.ErrInvalidParams{Context: "CreateProvisioningArtifactInput"}
10733	if s.IdempotencyToken != nil && len(*s.IdempotencyToken) < 1 {
10734		invalidParams.Add(request.NewErrParamMinLen("IdempotencyToken", 1))
10735	}
10736	if s.Parameters == nil {
10737		invalidParams.Add(request.NewErrParamRequired("Parameters"))
10738	}
10739	if s.ProductId == nil {
10740		invalidParams.Add(request.NewErrParamRequired("ProductId"))
10741	}
10742	if s.ProductId != nil && len(*s.ProductId) < 1 {
10743		invalidParams.Add(request.NewErrParamMinLen("ProductId", 1))
10744	}
10745	if s.Parameters != nil {
10746		if err := s.Parameters.Validate(); err != nil {
10747			invalidParams.AddNested("Parameters", err.(request.ErrInvalidParams))
10748		}
10749	}
10750
10751	if invalidParams.Len() > 0 {
10752		return invalidParams
10753	}
10754	return nil
10755}
10756
10757// SetAcceptLanguage sets the AcceptLanguage field's value.
10758func (s *CreateProvisioningArtifactInput) SetAcceptLanguage(v string) *CreateProvisioningArtifactInput {
10759	s.AcceptLanguage = &v
10760	return s
10761}
10762
10763// SetIdempotencyToken sets the IdempotencyToken field's value.
10764func (s *CreateProvisioningArtifactInput) SetIdempotencyToken(v string) *CreateProvisioningArtifactInput {
10765	s.IdempotencyToken = &v
10766	return s
10767}
10768
10769// SetParameters sets the Parameters field's value.
10770func (s *CreateProvisioningArtifactInput) SetParameters(v *ProvisioningArtifactProperties) *CreateProvisioningArtifactInput {
10771	s.Parameters = v
10772	return s
10773}
10774
10775// SetProductId sets the ProductId field's value.
10776func (s *CreateProvisioningArtifactInput) SetProductId(v string) *CreateProvisioningArtifactInput {
10777	s.ProductId = &v
10778	return s
10779}
10780
10781type CreateProvisioningArtifactOutput struct {
10782	_ struct{} `type:"structure"`
10783
10784	// Specify the template source with one of the following options, but not both.
10785	// Keys accepted: [ LoadTemplateFromURL, ImportFromPhysicalId ].
10786	//
10787	// The URL of the CloudFormation template in Amazon S3, in JSON format.
10788	//
10789	// LoadTemplateFromURL
10790	//
10791	// Use the URL of the CloudFormation template in Amazon S3 in JSON format.
10792	//
10793	// ImportFromPhysicalId
10794	//
10795	// Use the physical id of the resource that contains the template; currently
10796	// supports CloudFormation stack ARN.
10797	Info map[string]*string `min:"1" type:"map"`
10798
10799	// Information about the provisioning artifact.
10800	ProvisioningArtifactDetail *ProvisioningArtifactDetail `type:"structure"`
10801
10802	// The status of the current request.
10803	Status *string `type:"string" enum:"Status"`
10804}
10805
10806// String returns the string representation
10807func (s CreateProvisioningArtifactOutput) String() string {
10808	return awsutil.Prettify(s)
10809}
10810
10811// GoString returns the string representation
10812func (s CreateProvisioningArtifactOutput) GoString() string {
10813	return s.String()
10814}
10815
10816// SetInfo sets the Info field's value.
10817func (s *CreateProvisioningArtifactOutput) SetInfo(v map[string]*string) *CreateProvisioningArtifactOutput {
10818	s.Info = v
10819	return s
10820}
10821
10822// SetProvisioningArtifactDetail sets the ProvisioningArtifactDetail field's value.
10823func (s *CreateProvisioningArtifactOutput) SetProvisioningArtifactDetail(v *ProvisioningArtifactDetail) *CreateProvisioningArtifactOutput {
10824	s.ProvisioningArtifactDetail = v
10825	return s
10826}
10827
10828// SetStatus sets the Status field's value.
10829func (s *CreateProvisioningArtifactOutput) SetStatus(v string) *CreateProvisioningArtifactOutput {
10830	s.Status = &v
10831	return s
10832}
10833
10834type CreateServiceActionInput struct {
10835	_ struct{} `type:"structure"`
10836
10837	// The language code.
10838	//
10839	//    * en - English (default)
10840	//
10841	//    * jp - Japanese
10842	//
10843	//    * zh - Chinese
10844	AcceptLanguage *string `type:"string"`
10845
10846	// The self-service action definition. Can be one of the following:
10847	//
10848	// Name
10849	//
10850	// The name of the AWS Systems Manager document (SSM document). For example,
10851	// AWS-RestartEC2Instance.
10852	//
10853	// If you are using a shared SSM document, you must provide the ARN instead
10854	// of the name.
10855	//
10856	// Version
10857	//
10858	// The AWS Systems Manager automation document version. For example, "Version":
10859	// "1"
10860	//
10861	// AssumeRole
10862	//
10863	// The Amazon Resource Name (ARN) of the role that performs the self-service
10864	// actions on your behalf. For example, "AssumeRole": "arn:aws:iam::12345678910:role/ActionRole".
10865	//
10866	// To reuse the provisioned product launch role, set to "AssumeRole": "LAUNCH_ROLE".
10867	//
10868	// Parameters
10869	//
10870	// The list of parameters in JSON format.
10871	//
10872	// For example: [{\"Name\":\"InstanceId\",\"Type\":\"TARGET\"}] or [{\"Name\":\"InstanceId\",\"Type\":\"TEXT_VALUE\"}].
10873	//
10874	// Definition is a required field
10875	Definition map[string]*string `min:"1" type:"map" required:"true"`
10876
10877	// The service action definition type. For example, SSM_AUTOMATION.
10878	//
10879	// DefinitionType is a required field
10880	DefinitionType *string `type:"string" required:"true" enum:"ServiceActionDefinitionType"`
10881
10882	// The self-service action description.
10883	Description *string `type:"string"`
10884
10885	// A unique identifier that you provide to ensure idempotency. If multiple requests
10886	// differ only by the idempotency token, the same response is returned for each
10887	// repeated request.
10888	IdempotencyToken *string `min:"1" type:"string" idempotencyToken:"true"`
10889
10890	// The self-service action name.
10891	//
10892	// Name is a required field
10893	Name *string `min:"1" type:"string" required:"true"`
10894}
10895
10896// String returns the string representation
10897func (s CreateServiceActionInput) String() string {
10898	return awsutil.Prettify(s)
10899}
10900
10901// GoString returns the string representation
10902func (s CreateServiceActionInput) GoString() string {
10903	return s.String()
10904}
10905
10906// Validate inspects the fields of the type to determine if they are valid.
10907func (s *CreateServiceActionInput) Validate() error {
10908	invalidParams := request.ErrInvalidParams{Context: "CreateServiceActionInput"}
10909	if s.Definition == nil {
10910		invalidParams.Add(request.NewErrParamRequired("Definition"))
10911	}
10912	if s.Definition != nil && len(s.Definition) < 1 {
10913		invalidParams.Add(request.NewErrParamMinLen("Definition", 1))
10914	}
10915	if s.DefinitionType == nil {
10916		invalidParams.Add(request.NewErrParamRequired("DefinitionType"))
10917	}
10918	if s.IdempotencyToken != nil && len(*s.IdempotencyToken) < 1 {
10919		invalidParams.Add(request.NewErrParamMinLen("IdempotencyToken", 1))
10920	}
10921	if s.Name == nil {
10922		invalidParams.Add(request.NewErrParamRequired("Name"))
10923	}
10924	if s.Name != nil && len(*s.Name) < 1 {
10925		invalidParams.Add(request.NewErrParamMinLen("Name", 1))
10926	}
10927
10928	if invalidParams.Len() > 0 {
10929		return invalidParams
10930	}
10931	return nil
10932}
10933
10934// SetAcceptLanguage sets the AcceptLanguage field's value.
10935func (s *CreateServiceActionInput) SetAcceptLanguage(v string) *CreateServiceActionInput {
10936	s.AcceptLanguage = &v
10937	return s
10938}
10939
10940// SetDefinition sets the Definition field's value.
10941func (s *CreateServiceActionInput) SetDefinition(v map[string]*string) *CreateServiceActionInput {
10942	s.Definition = v
10943	return s
10944}
10945
10946// SetDefinitionType sets the DefinitionType field's value.
10947func (s *CreateServiceActionInput) SetDefinitionType(v string) *CreateServiceActionInput {
10948	s.DefinitionType = &v
10949	return s
10950}
10951
10952// SetDescription sets the Description field's value.
10953func (s *CreateServiceActionInput) SetDescription(v string) *CreateServiceActionInput {
10954	s.Description = &v
10955	return s
10956}
10957
10958// SetIdempotencyToken sets the IdempotencyToken field's value.
10959func (s *CreateServiceActionInput) SetIdempotencyToken(v string) *CreateServiceActionInput {
10960	s.IdempotencyToken = &v
10961	return s
10962}
10963
10964// SetName sets the Name field's value.
10965func (s *CreateServiceActionInput) SetName(v string) *CreateServiceActionInput {
10966	s.Name = &v
10967	return s
10968}
10969
10970type CreateServiceActionOutput struct {
10971	_ struct{} `type:"structure"`
10972
10973	// An object containing information about the self-service action.
10974	ServiceActionDetail *ServiceActionDetail `type:"structure"`
10975}
10976
10977// String returns the string representation
10978func (s CreateServiceActionOutput) String() string {
10979	return awsutil.Prettify(s)
10980}
10981
10982// GoString returns the string representation
10983func (s CreateServiceActionOutput) GoString() string {
10984	return s.String()
10985}
10986
10987// SetServiceActionDetail sets the ServiceActionDetail field's value.
10988func (s *CreateServiceActionOutput) SetServiceActionDetail(v *ServiceActionDetail) *CreateServiceActionOutput {
10989	s.ServiceActionDetail = v
10990	return s
10991}
10992
10993type CreateTagOptionInput struct {
10994	_ struct{} `type:"structure"`
10995
10996	// The TagOption key.
10997	//
10998	// Key is a required field
10999	Key *string `min:"1" type:"string" required:"true"`
11000
11001	// The TagOption value.
11002	//
11003	// Value is a required field
11004	Value *string `min:"1" type:"string" required:"true"`
11005}
11006
11007// String returns the string representation
11008func (s CreateTagOptionInput) String() string {
11009	return awsutil.Prettify(s)
11010}
11011
11012// GoString returns the string representation
11013func (s CreateTagOptionInput) GoString() string {
11014	return s.String()
11015}
11016
11017// Validate inspects the fields of the type to determine if they are valid.
11018func (s *CreateTagOptionInput) Validate() error {
11019	invalidParams := request.ErrInvalidParams{Context: "CreateTagOptionInput"}
11020	if s.Key == nil {
11021		invalidParams.Add(request.NewErrParamRequired("Key"))
11022	}
11023	if s.Key != nil && len(*s.Key) < 1 {
11024		invalidParams.Add(request.NewErrParamMinLen("Key", 1))
11025	}
11026	if s.Value == nil {
11027		invalidParams.Add(request.NewErrParamRequired("Value"))
11028	}
11029	if s.Value != nil && len(*s.Value) < 1 {
11030		invalidParams.Add(request.NewErrParamMinLen("Value", 1))
11031	}
11032
11033	if invalidParams.Len() > 0 {
11034		return invalidParams
11035	}
11036	return nil
11037}
11038
11039// SetKey sets the Key field's value.
11040func (s *CreateTagOptionInput) SetKey(v string) *CreateTagOptionInput {
11041	s.Key = &v
11042	return s
11043}
11044
11045// SetValue sets the Value field's value.
11046func (s *CreateTagOptionInput) SetValue(v string) *CreateTagOptionInput {
11047	s.Value = &v
11048	return s
11049}
11050
11051type CreateTagOptionOutput struct {
11052	_ struct{} `type:"structure"`
11053
11054	// Information about the TagOption.
11055	TagOptionDetail *TagOptionDetail `type:"structure"`
11056}
11057
11058// String returns the string representation
11059func (s CreateTagOptionOutput) String() string {
11060	return awsutil.Prettify(s)
11061}
11062
11063// GoString returns the string representation
11064func (s CreateTagOptionOutput) GoString() string {
11065	return s.String()
11066}
11067
11068// SetTagOptionDetail sets the TagOptionDetail field's value.
11069func (s *CreateTagOptionOutput) SetTagOptionDetail(v *TagOptionDetail) *CreateTagOptionOutput {
11070	s.TagOptionDetail = v
11071	return s
11072}
11073
11074type DeleteConstraintInput struct {
11075	_ struct{} `type:"structure"`
11076
11077	// The language code.
11078	//
11079	//    * en - English (default)
11080	//
11081	//    * jp - Japanese
11082	//
11083	//    * zh - Chinese
11084	AcceptLanguage *string `type:"string"`
11085
11086	// The identifier of the constraint.
11087	//
11088	// Id is a required field
11089	Id *string `min:"1" type:"string" required:"true"`
11090}
11091
11092// String returns the string representation
11093func (s DeleteConstraintInput) String() string {
11094	return awsutil.Prettify(s)
11095}
11096
11097// GoString returns the string representation
11098func (s DeleteConstraintInput) GoString() string {
11099	return s.String()
11100}
11101
11102// Validate inspects the fields of the type to determine if they are valid.
11103func (s *DeleteConstraintInput) Validate() error {
11104	invalidParams := request.ErrInvalidParams{Context: "DeleteConstraintInput"}
11105	if s.Id == nil {
11106		invalidParams.Add(request.NewErrParamRequired("Id"))
11107	}
11108	if s.Id != nil && len(*s.Id) < 1 {
11109		invalidParams.Add(request.NewErrParamMinLen("Id", 1))
11110	}
11111
11112	if invalidParams.Len() > 0 {
11113		return invalidParams
11114	}
11115	return nil
11116}
11117
11118// SetAcceptLanguage sets the AcceptLanguage field's value.
11119func (s *DeleteConstraintInput) SetAcceptLanguage(v string) *DeleteConstraintInput {
11120	s.AcceptLanguage = &v
11121	return s
11122}
11123
11124// SetId sets the Id field's value.
11125func (s *DeleteConstraintInput) SetId(v string) *DeleteConstraintInput {
11126	s.Id = &v
11127	return s
11128}
11129
11130type DeleteConstraintOutput struct {
11131	_ struct{} `type:"structure"`
11132}
11133
11134// String returns the string representation
11135func (s DeleteConstraintOutput) String() string {
11136	return awsutil.Prettify(s)
11137}
11138
11139// GoString returns the string representation
11140func (s DeleteConstraintOutput) GoString() string {
11141	return s.String()
11142}
11143
11144type DeletePortfolioInput struct {
11145	_ struct{} `type:"structure"`
11146
11147	// The language code.
11148	//
11149	//    * en - English (default)
11150	//
11151	//    * jp - Japanese
11152	//
11153	//    * zh - Chinese
11154	AcceptLanguage *string `type:"string"`
11155
11156	// The portfolio identifier.
11157	//
11158	// Id is a required field
11159	Id *string `min:"1" type:"string" required:"true"`
11160}
11161
11162// String returns the string representation
11163func (s DeletePortfolioInput) String() string {
11164	return awsutil.Prettify(s)
11165}
11166
11167// GoString returns the string representation
11168func (s DeletePortfolioInput) GoString() string {
11169	return s.String()
11170}
11171
11172// Validate inspects the fields of the type to determine if they are valid.
11173func (s *DeletePortfolioInput) Validate() error {
11174	invalidParams := request.ErrInvalidParams{Context: "DeletePortfolioInput"}
11175	if s.Id == nil {
11176		invalidParams.Add(request.NewErrParamRequired("Id"))
11177	}
11178	if s.Id != nil && len(*s.Id) < 1 {
11179		invalidParams.Add(request.NewErrParamMinLen("Id", 1))
11180	}
11181
11182	if invalidParams.Len() > 0 {
11183		return invalidParams
11184	}
11185	return nil
11186}
11187
11188// SetAcceptLanguage sets the AcceptLanguage field's value.
11189func (s *DeletePortfolioInput) SetAcceptLanguage(v string) *DeletePortfolioInput {
11190	s.AcceptLanguage = &v
11191	return s
11192}
11193
11194// SetId sets the Id field's value.
11195func (s *DeletePortfolioInput) SetId(v string) *DeletePortfolioInput {
11196	s.Id = &v
11197	return s
11198}
11199
11200type DeletePortfolioOutput struct {
11201	_ struct{} `type:"structure"`
11202}
11203
11204// String returns the string representation
11205func (s DeletePortfolioOutput) String() string {
11206	return awsutil.Prettify(s)
11207}
11208
11209// GoString returns the string representation
11210func (s DeletePortfolioOutput) GoString() string {
11211	return s.String()
11212}
11213
11214type DeletePortfolioShareInput struct {
11215	_ struct{} `type:"structure"`
11216
11217	// The language code.
11218	//
11219	//    * en - English (default)
11220	//
11221	//    * jp - Japanese
11222	//
11223	//    * zh - Chinese
11224	AcceptLanguage *string `type:"string"`
11225
11226	// The AWS account ID.
11227	AccountId *string `type:"string"`
11228
11229	// The organization node to whom you are going to stop sharing.
11230	OrganizationNode *OrganizationNode `type:"structure"`
11231
11232	// The portfolio identifier.
11233	//
11234	// PortfolioId is a required field
11235	PortfolioId *string `min:"1" type:"string" required:"true"`
11236}
11237
11238// String returns the string representation
11239func (s DeletePortfolioShareInput) String() string {
11240	return awsutil.Prettify(s)
11241}
11242
11243// GoString returns the string representation
11244func (s DeletePortfolioShareInput) GoString() string {
11245	return s.String()
11246}
11247
11248// Validate inspects the fields of the type to determine if they are valid.
11249func (s *DeletePortfolioShareInput) Validate() error {
11250	invalidParams := request.ErrInvalidParams{Context: "DeletePortfolioShareInput"}
11251	if s.PortfolioId == nil {
11252		invalidParams.Add(request.NewErrParamRequired("PortfolioId"))
11253	}
11254	if s.PortfolioId != nil && len(*s.PortfolioId) < 1 {
11255		invalidParams.Add(request.NewErrParamMinLen("PortfolioId", 1))
11256	}
11257
11258	if invalidParams.Len() > 0 {
11259		return invalidParams
11260	}
11261	return nil
11262}
11263
11264// SetAcceptLanguage sets the AcceptLanguage field's value.
11265func (s *DeletePortfolioShareInput) SetAcceptLanguage(v string) *DeletePortfolioShareInput {
11266	s.AcceptLanguage = &v
11267	return s
11268}
11269
11270// SetAccountId sets the AccountId field's value.
11271func (s *DeletePortfolioShareInput) SetAccountId(v string) *DeletePortfolioShareInput {
11272	s.AccountId = &v
11273	return s
11274}
11275
11276// SetOrganizationNode sets the OrganizationNode field's value.
11277func (s *DeletePortfolioShareInput) SetOrganizationNode(v *OrganizationNode) *DeletePortfolioShareInput {
11278	s.OrganizationNode = v
11279	return s
11280}
11281
11282// SetPortfolioId sets the PortfolioId field's value.
11283func (s *DeletePortfolioShareInput) SetPortfolioId(v string) *DeletePortfolioShareInput {
11284	s.PortfolioId = &v
11285	return s
11286}
11287
11288type DeletePortfolioShareOutput struct {
11289	_ struct{} `type:"structure"`
11290
11291	// The portfolio share unique identifier. This will only be returned if delete
11292	// is made to an organization node.
11293	PortfolioShareToken *string `min:"1" type:"string"`
11294}
11295
11296// String returns the string representation
11297func (s DeletePortfolioShareOutput) String() string {
11298	return awsutil.Prettify(s)
11299}
11300
11301// GoString returns the string representation
11302func (s DeletePortfolioShareOutput) GoString() string {
11303	return s.String()
11304}
11305
11306// SetPortfolioShareToken sets the PortfolioShareToken field's value.
11307func (s *DeletePortfolioShareOutput) SetPortfolioShareToken(v string) *DeletePortfolioShareOutput {
11308	s.PortfolioShareToken = &v
11309	return s
11310}
11311
11312type DeleteProductInput struct {
11313	_ struct{} `type:"structure"`
11314
11315	// The language code.
11316	//
11317	//    * en - English (default)
11318	//
11319	//    * jp - Japanese
11320	//
11321	//    * zh - Chinese
11322	AcceptLanguage *string `type:"string"`
11323
11324	// The product identifier.
11325	//
11326	// Id is a required field
11327	Id *string `min:"1" type:"string" required:"true"`
11328}
11329
11330// String returns the string representation
11331func (s DeleteProductInput) String() string {
11332	return awsutil.Prettify(s)
11333}
11334
11335// GoString returns the string representation
11336func (s DeleteProductInput) GoString() string {
11337	return s.String()
11338}
11339
11340// Validate inspects the fields of the type to determine if they are valid.
11341func (s *DeleteProductInput) Validate() error {
11342	invalidParams := request.ErrInvalidParams{Context: "DeleteProductInput"}
11343	if s.Id == nil {
11344		invalidParams.Add(request.NewErrParamRequired("Id"))
11345	}
11346	if s.Id != nil && len(*s.Id) < 1 {
11347		invalidParams.Add(request.NewErrParamMinLen("Id", 1))
11348	}
11349
11350	if invalidParams.Len() > 0 {
11351		return invalidParams
11352	}
11353	return nil
11354}
11355
11356// SetAcceptLanguage sets the AcceptLanguage field's value.
11357func (s *DeleteProductInput) SetAcceptLanguage(v string) *DeleteProductInput {
11358	s.AcceptLanguage = &v
11359	return s
11360}
11361
11362// SetId sets the Id field's value.
11363func (s *DeleteProductInput) SetId(v string) *DeleteProductInput {
11364	s.Id = &v
11365	return s
11366}
11367
11368type DeleteProductOutput struct {
11369	_ struct{} `type:"structure"`
11370}
11371
11372// String returns the string representation
11373func (s DeleteProductOutput) String() string {
11374	return awsutil.Prettify(s)
11375}
11376
11377// GoString returns the string representation
11378func (s DeleteProductOutput) GoString() string {
11379	return s.String()
11380}
11381
11382type DeleteProvisionedProductPlanInput struct {
11383	_ struct{} `type:"structure"`
11384
11385	// The language code.
11386	//
11387	//    * en - English (default)
11388	//
11389	//    * jp - Japanese
11390	//
11391	//    * zh - Chinese
11392	AcceptLanguage *string `type:"string"`
11393
11394	// If set to true, AWS Service Catalog stops managing the specified provisioned
11395	// product even if it cannot delete the underlying resources.
11396	IgnoreErrors *bool `type:"boolean"`
11397
11398	// The plan identifier.
11399	//
11400	// PlanId is a required field
11401	PlanId *string `min:"1" type:"string" required:"true"`
11402}
11403
11404// String returns the string representation
11405func (s DeleteProvisionedProductPlanInput) String() string {
11406	return awsutil.Prettify(s)
11407}
11408
11409// GoString returns the string representation
11410func (s DeleteProvisionedProductPlanInput) GoString() string {
11411	return s.String()
11412}
11413
11414// Validate inspects the fields of the type to determine if they are valid.
11415func (s *DeleteProvisionedProductPlanInput) Validate() error {
11416	invalidParams := request.ErrInvalidParams{Context: "DeleteProvisionedProductPlanInput"}
11417	if s.PlanId == nil {
11418		invalidParams.Add(request.NewErrParamRequired("PlanId"))
11419	}
11420	if s.PlanId != nil && len(*s.PlanId) < 1 {
11421		invalidParams.Add(request.NewErrParamMinLen("PlanId", 1))
11422	}
11423
11424	if invalidParams.Len() > 0 {
11425		return invalidParams
11426	}
11427	return nil
11428}
11429
11430// SetAcceptLanguage sets the AcceptLanguage field's value.
11431func (s *DeleteProvisionedProductPlanInput) SetAcceptLanguage(v string) *DeleteProvisionedProductPlanInput {
11432	s.AcceptLanguage = &v
11433	return s
11434}
11435
11436// SetIgnoreErrors sets the IgnoreErrors field's value.
11437func (s *DeleteProvisionedProductPlanInput) SetIgnoreErrors(v bool) *DeleteProvisionedProductPlanInput {
11438	s.IgnoreErrors = &v
11439	return s
11440}
11441
11442// SetPlanId sets the PlanId field's value.
11443func (s *DeleteProvisionedProductPlanInput) SetPlanId(v string) *DeleteProvisionedProductPlanInput {
11444	s.PlanId = &v
11445	return s
11446}
11447
11448type DeleteProvisionedProductPlanOutput struct {
11449	_ struct{} `type:"structure"`
11450}
11451
11452// String returns the string representation
11453func (s DeleteProvisionedProductPlanOutput) String() string {
11454	return awsutil.Prettify(s)
11455}
11456
11457// GoString returns the string representation
11458func (s DeleteProvisionedProductPlanOutput) GoString() string {
11459	return s.String()
11460}
11461
11462type DeleteProvisioningArtifactInput struct {
11463	_ struct{} `type:"structure"`
11464
11465	// The language code.
11466	//
11467	//    * en - English (default)
11468	//
11469	//    * jp - Japanese
11470	//
11471	//    * zh - Chinese
11472	AcceptLanguage *string `type:"string"`
11473
11474	// The product identifier.
11475	//
11476	// ProductId is a required field
11477	ProductId *string `min:"1" type:"string" required:"true"`
11478
11479	// The identifier of the provisioning artifact.
11480	//
11481	// ProvisioningArtifactId is a required field
11482	ProvisioningArtifactId *string `min:"1" type:"string" required:"true"`
11483}
11484
11485// String returns the string representation
11486func (s DeleteProvisioningArtifactInput) String() string {
11487	return awsutil.Prettify(s)
11488}
11489
11490// GoString returns the string representation
11491func (s DeleteProvisioningArtifactInput) GoString() string {
11492	return s.String()
11493}
11494
11495// Validate inspects the fields of the type to determine if they are valid.
11496func (s *DeleteProvisioningArtifactInput) Validate() error {
11497	invalidParams := request.ErrInvalidParams{Context: "DeleteProvisioningArtifactInput"}
11498	if s.ProductId == nil {
11499		invalidParams.Add(request.NewErrParamRequired("ProductId"))
11500	}
11501	if s.ProductId != nil && len(*s.ProductId) < 1 {
11502		invalidParams.Add(request.NewErrParamMinLen("ProductId", 1))
11503	}
11504	if s.ProvisioningArtifactId == nil {
11505		invalidParams.Add(request.NewErrParamRequired("ProvisioningArtifactId"))
11506	}
11507	if s.ProvisioningArtifactId != nil && len(*s.ProvisioningArtifactId) < 1 {
11508		invalidParams.Add(request.NewErrParamMinLen("ProvisioningArtifactId", 1))
11509	}
11510
11511	if invalidParams.Len() > 0 {
11512		return invalidParams
11513	}
11514	return nil
11515}
11516
11517// SetAcceptLanguage sets the AcceptLanguage field's value.
11518func (s *DeleteProvisioningArtifactInput) SetAcceptLanguage(v string) *DeleteProvisioningArtifactInput {
11519	s.AcceptLanguage = &v
11520	return s
11521}
11522
11523// SetProductId sets the ProductId field's value.
11524func (s *DeleteProvisioningArtifactInput) SetProductId(v string) *DeleteProvisioningArtifactInput {
11525	s.ProductId = &v
11526	return s
11527}
11528
11529// SetProvisioningArtifactId sets the ProvisioningArtifactId field's value.
11530func (s *DeleteProvisioningArtifactInput) SetProvisioningArtifactId(v string) *DeleteProvisioningArtifactInput {
11531	s.ProvisioningArtifactId = &v
11532	return s
11533}
11534
11535type DeleteProvisioningArtifactOutput struct {
11536	_ struct{} `type:"structure"`
11537}
11538
11539// String returns the string representation
11540func (s DeleteProvisioningArtifactOutput) String() string {
11541	return awsutil.Prettify(s)
11542}
11543
11544// GoString returns the string representation
11545func (s DeleteProvisioningArtifactOutput) GoString() string {
11546	return s.String()
11547}
11548
11549type DeleteServiceActionInput struct {
11550	_ struct{} `type:"structure"`
11551
11552	// The language code.
11553	//
11554	//    * en - English (default)
11555	//
11556	//    * jp - Japanese
11557	//
11558	//    * zh - Chinese
11559	AcceptLanguage *string `type:"string"`
11560
11561	// The self-service action identifier. For example, act-fs7abcd89wxyz.
11562	//
11563	// Id is a required field
11564	Id *string `min:"1" type:"string" required:"true"`
11565}
11566
11567// String returns the string representation
11568func (s DeleteServiceActionInput) String() string {
11569	return awsutil.Prettify(s)
11570}
11571
11572// GoString returns the string representation
11573func (s DeleteServiceActionInput) GoString() string {
11574	return s.String()
11575}
11576
11577// Validate inspects the fields of the type to determine if they are valid.
11578func (s *DeleteServiceActionInput) Validate() error {
11579	invalidParams := request.ErrInvalidParams{Context: "DeleteServiceActionInput"}
11580	if s.Id == nil {
11581		invalidParams.Add(request.NewErrParamRequired("Id"))
11582	}
11583	if s.Id != nil && len(*s.Id) < 1 {
11584		invalidParams.Add(request.NewErrParamMinLen("Id", 1))
11585	}
11586
11587	if invalidParams.Len() > 0 {
11588		return invalidParams
11589	}
11590	return nil
11591}
11592
11593// SetAcceptLanguage sets the AcceptLanguage field's value.
11594func (s *DeleteServiceActionInput) SetAcceptLanguage(v string) *DeleteServiceActionInput {
11595	s.AcceptLanguage = &v
11596	return s
11597}
11598
11599// SetId sets the Id field's value.
11600func (s *DeleteServiceActionInput) SetId(v string) *DeleteServiceActionInput {
11601	s.Id = &v
11602	return s
11603}
11604
11605type DeleteServiceActionOutput struct {
11606	_ struct{} `type:"structure"`
11607}
11608
11609// String returns the string representation
11610func (s DeleteServiceActionOutput) String() string {
11611	return awsutil.Prettify(s)
11612}
11613
11614// GoString returns the string representation
11615func (s DeleteServiceActionOutput) GoString() string {
11616	return s.String()
11617}
11618
11619type DeleteTagOptionInput struct {
11620	_ struct{} `type:"structure"`
11621
11622	// The TagOption identifier.
11623	//
11624	// Id is a required field
11625	Id *string `min:"1" type:"string" required:"true"`
11626}
11627
11628// String returns the string representation
11629func (s DeleteTagOptionInput) String() string {
11630	return awsutil.Prettify(s)
11631}
11632
11633// GoString returns the string representation
11634func (s DeleteTagOptionInput) GoString() string {
11635	return s.String()
11636}
11637
11638// Validate inspects the fields of the type to determine if they are valid.
11639func (s *DeleteTagOptionInput) Validate() error {
11640	invalidParams := request.ErrInvalidParams{Context: "DeleteTagOptionInput"}
11641	if s.Id == nil {
11642		invalidParams.Add(request.NewErrParamRequired("Id"))
11643	}
11644	if s.Id != nil && len(*s.Id) < 1 {
11645		invalidParams.Add(request.NewErrParamMinLen("Id", 1))
11646	}
11647
11648	if invalidParams.Len() > 0 {
11649		return invalidParams
11650	}
11651	return nil
11652}
11653
11654// SetId sets the Id field's value.
11655func (s *DeleteTagOptionInput) SetId(v string) *DeleteTagOptionInput {
11656	s.Id = &v
11657	return s
11658}
11659
11660type DeleteTagOptionOutput struct {
11661	_ struct{} `type:"structure"`
11662}
11663
11664// String returns the string representation
11665func (s DeleteTagOptionOutput) String() string {
11666	return awsutil.Prettify(s)
11667}
11668
11669// GoString returns the string representation
11670func (s DeleteTagOptionOutput) GoString() string {
11671	return s.String()
11672}
11673
11674type DescribeConstraintInput struct {
11675	_ struct{} `type:"structure"`
11676
11677	// The language code.
11678	//
11679	//    * en - English (default)
11680	//
11681	//    * jp - Japanese
11682	//
11683	//    * zh - Chinese
11684	AcceptLanguage *string `type:"string"`
11685
11686	// The identifier of the constraint.
11687	//
11688	// Id is a required field
11689	Id *string `min:"1" type:"string" required:"true"`
11690}
11691
11692// String returns the string representation
11693func (s DescribeConstraintInput) String() string {
11694	return awsutil.Prettify(s)
11695}
11696
11697// GoString returns the string representation
11698func (s DescribeConstraintInput) GoString() string {
11699	return s.String()
11700}
11701
11702// Validate inspects the fields of the type to determine if they are valid.
11703func (s *DescribeConstraintInput) Validate() error {
11704	invalidParams := request.ErrInvalidParams{Context: "DescribeConstraintInput"}
11705	if s.Id == nil {
11706		invalidParams.Add(request.NewErrParamRequired("Id"))
11707	}
11708	if s.Id != nil && len(*s.Id) < 1 {
11709		invalidParams.Add(request.NewErrParamMinLen("Id", 1))
11710	}
11711
11712	if invalidParams.Len() > 0 {
11713		return invalidParams
11714	}
11715	return nil
11716}
11717
11718// SetAcceptLanguage sets the AcceptLanguage field's value.
11719func (s *DescribeConstraintInput) SetAcceptLanguage(v string) *DescribeConstraintInput {
11720	s.AcceptLanguage = &v
11721	return s
11722}
11723
11724// SetId sets the Id field's value.
11725func (s *DescribeConstraintInput) SetId(v string) *DescribeConstraintInput {
11726	s.Id = &v
11727	return s
11728}
11729
11730type DescribeConstraintOutput struct {
11731	_ struct{} `type:"structure"`
11732
11733	// Information about the constraint.
11734	ConstraintDetail *ConstraintDetail `type:"structure"`
11735
11736	// The constraint parameters.
11737	ConstraintParameters *string `type:"string"`
11738
11739	// The status of the current request.
11740	Status *string `type:"string" enum:"Status"`
11741}
11742
11743// String returns the string representation
11744func (s DescribeConstraintOutput) String() string {
11745	return awsutil.Prettify(s)
11746}
11747
11748// GoString returns the string representation
11749func (s DescribeConstraintOutput) GoString() string {
11750	return s.String()
11751}
11752
11753// SetConstraintDetail sets the ConstraintDetail field's value.
11754func (s *DescribeConstraintOutput) SetConstraintDetail(v *ConstraintDetail) *DescribeConstraintOutput {
11755	s.ConstraintDetail = v
11756	return s
11757}
11758
11759// SetConstraintParameters sets the ConstraintParameters field's value.
11760func (s *DescribeConstraintOutput) SetConstraintParameters(v string) *DescribeConstraintOutput {
11761	s.ConstraintParameters = &v
11762	return s
11763}
11764
11765// SetStatus sets the Status field's value.
11766func (s *DescribeConstraintOutput) SetStatus(v string) *DescribeConstraintOutput {
11767	s.Status = &v
11768	return s
11769}
11770
11771type DescribeCopyProductStatusInput struct {
11772	_ struct{} `type:"structure"`
11773
11774	// The language code.
11775	//
11776	//    * en - English (default)
11777	//
11778	//    * jp - Japanese
11779	//
11780	//    * zh - Chinese
11781	AcceptLanguage *string `type:"string"`
11782
11783	// The token for the copy product operation. This token is returned by CopyProduct.
11784	//
11785	// CopyProductToken is a required field
11786	CopyProductToken *string `min:"1" type:"string" required:"true"`
11787}
11788
11789// String returns the string representation
11790func (s DescribeCopyProductStatusInput) String() string {
11791	return awsutil.Prettify(s)
11792}
11793
11794// GoString returns the string representation
11795func (s DescribeCopyProductStatusInput) GoString() string {
11796	return s.String()
11797}
11798
11799// Validate inspects the fields of the type to determine if they are valid.
11800func (s *DescribeCopyProductStatusInput) Validate() error {
11801	invalidParams := request.ErrInvalidParams{Context: "DescribeCopyProductStatusInput"}
11802	if s.CopyProductToken == nil {
11803		invalidParams.Add(request.NewErrParamRequired("CopyProductToken"))
11804	}
11805	if s.CopyProductToken != nil && len(*s.CopyProductToken) < 1 {
11806		invalidParams.Add(request.NewErrParamMinLen("CopyProductToken", 1))
11807	}
11808
11809	if invalidParams.Len() > 0 {
11810		return invalidParams
11811	}
11812	return nil
11813}
11814
11815// SetAcceptLanguage sets the AcceptLanguage field's value.
11816func (s *DescribeCopyProductStatusInput) SetAcceptLanguage(v string) *DescribeCopyProductStatusInput {
11817	s.AcceptLanguage = &v
11818	return s
11819}
11820
11821// SetCopyProductToken sets the CopyProductToken field's value.
11822func (s *DescribeCopyProductStatusInput) SetCopyProductToken(v string) *DescribeCopyProductStatusInput {
11823	s.CopyProductToken = &v
11824	return s
11825}
11826
11827type DescribeCopyProductStatusOutput struct {
11828	_ struct{} `type:"structure"`
11829
11830	// The status of the copy product operation.
11831	CopyProductStatus *string `type:"string" enum:"CopyProductStatus"`
11832
11833	// The status message.
11834	StatusDetail *string `type:"string"`
11835
11836	// The identifier of the copied product.
11837	TargetProductId *string `min:"1" type:"string"`
11838}
11839
11840// String returns the string representation
11841func (s DescribeCopyProductStatusOutput) String() string {
11842	return awsutil.Prettify(s)
11843}
11844
11845// GoString returns the string representation
11846func (s DescribeCopyProductStatusOutput) GoString() string {
11847	return s.String()
11848}
11849
11850// SetCopyProductStatus sets the CopyProductStatus field's value.
11851func (s *DescribeCopyProductStatusOutput) SetCopyProductStatus(v string) *DescribeCopyProductStatusOutput {
11852	s.CopyProductStatus = &v
11853	return s
11854}
11855
11856// SetStatusDetail sets the StatusDetail field's value.
11857func (s *DescribeCopyProductStatusOutput) SetStatusDetail(v string) *DescribeCopyProductStatusOutput {
11858	s.StatusDetail = &v
11859	return s
11860}
11861
11862// SetTargetProductId sets the TargetProductId field's value.
11863func (s *DescribeCopyProductStatusOutput) SetTargetProductId(v string) *DescribeCopyProductStatusOutput {
11864	s.TargetProductId = &v
11865	return s
11866}
11867
11868type DescribePortfolioInput struct {
11869	_ struct{} `type:"structure"`
11870
11871	// The language code.
11872	//
11873	//    * en - English (default)
11874	//
11875	//    * jp - Japanese
11876	//
11877	//    * zh - Chinese
11878	AcceptLanguage *string `type:"string"`
11879
11880	// The portfolio identifier.
11881	//
11882	// Id is a required field
11883	Id *string `min:"1" type:"string" required:"true"`
11884}
11885
11886// String returns the string representation
11887func (s DescribePortfolioInput) String() string {
11888	return awsutil.Prettify(s)
11889}
11890
11891// GoString returns the string representation
11892func (s DescribePortfolioInput) GoString() string {
11893	return s.String()
11894}
11895
11896// Validate inspects the fields of the type to determine if they are valid.
11897func (s *DescribePortfolioInput) Validate() error {
11898	invalidParams := request.ErrInvalidParams{Context: "DescribePortfolioInput"}
11899	if s.Id == nil {
11900		invalidParams.Add(request.NewErrParamRequired("Id"))
11901	}
11902	if s.Id != nil && len(*s.Id) < 1 {
11903		invalidParams.Add(request.NewErrParamMinLen("Id", 1))
11904	}
11905
11906	if invalidParams.Len() > 0 {
11907		return invalidParams
11908	}
11909	return nil
11910}
11911
11912// SetAcceptLanguage sets the AcceptLanguage field's value.
11913func (s *DescribePortfolioInput) SetAcceptLanguage(v string) *DescribePortfolioInput {
11914	s.AcceptLanguage = &v
11915	return s
11916}
11917
11918// SetId sets the Id field's value.
11919func (s *DescribePortfolioInput) SetId(v string) *DescribePortfolioInput {
11920	s.Id = &v
11921	return s
11922}
11923
11924type DescribePortfolioOutput struct {
11925	_ struct{} `type:"structure"`
11926
11927	// Information about the associated budgets.
11928	Budgets []*BudgetDetail `type:"list"`
11929
11930	// Information about the portfolio.
11931	PortfolioDetail *PortfolioDetail `type:"structure"`
11932
11933	// Information about the TagOptions associated with the portfolio.
11934	TagOptions []*TagOptionDetail `type:"list"`
11935
11936	// Information about the tags associated with the portfolio.
11937	Tags []*Tag `type:"list"`
11938}
11939
11940// String returns the string representation
11941func (s DescribePortfolioOutput) String() string {
11942	return awsutil.Prettify(s)
11943}
11944
11945// GoString returns the string representation
11946func (s DescribePortfolioOutput) GoString() string {
11947	return s.String()
11948}
11949
11950// SetBudgets sets the Budgets field's value.
11951func (s *DescribePortfolioOutput) SetBudgets(v []*BudgetDetail) *DescribePortfolioOutput {
11952	s.Budgets = v
11953	return s
11954}
11955
11956// SetPortfolioDetail sets the PortfolioDetail field's value.
11957func (s *DescribePortfolioOutput) SetPortfolioDetail(v *PortfolioDetail) *DescribePortfolioOutput {
11958	s.PortfolioDetail = v
11959	return s
11960}
11961
11962// SetTagOptions sets the TagOptions field's value.
11963func (s *DescribePortfolioOutput) SetTagOptions(v []*TagOptionDetail) *DescribePortfolioOutput {
11964	s.TagOptions = v
11965	return s
11966}
11967
11968// SetTags sets the Tags field's value.
11969func (s *DescribePortfolioOutput) SetTags(v []*Tag) *DescribePortfolioOutput {
11970	s.Tags = v
11971	return s
11972}
11973
11974type DescribePortfolioShareStatusInput struct {
11975	_ struct{} `type:"structure"`
11976
11977	// The token for the portfolio share operation. This token is returned either
11978	// by CreatePortfolioShare or by DeletePortfolioShare.
11979	//
11980	// PortfolioShareToken is a required field
11981	PortfolioShareToken *string `min:"1" type:"string" required:"true"`
11982}
11983
11984// String returns the string representation
11985func (s DescribePortfolioShareStatusInput) String() string {
11986	return awsutil.Prettify(s)
11987}
11988
11989// GoString returns the string representation
11990func (s DescribePortfolioShareStatusInput) GoString() string {
11991	return s.String()
11992}
11993
11994// Validate inspects the fields of the type to determine if they are valid.
11995func (s *DescribePortfolioShareStatusInput) Validate() error {
11996	invalidParams := request.ErrInvalidParams{Context: "DescribePortfolioShareStatusInput"}
11997	if s.PortfolioShareToken == nil {
11998		invalidParams.Add(request.NewErrParamRequired("PortfolioShareToken"))
11999	}
12000	if s.PortfolioShareToken != nil && len(*s.PortfolioShareToken) < 1 {
12001		invalidParams.Add(request.NewErrParamMinLen("PortfolioShareToken", 1))
12002	}
12003
12004	if invalidParams.Len() > 0 {
12005		return invalidParams
12006	}
12007	return nil
12008}
12009
12010// SetPortfolioShareToken sets the PortfolioShareToken field's value.
12011func (s *DescribePortfolioShareStatusInput) SetPortfolioShareToken(v string) *DescribePortfolioShareStatusInput {
12012	s.PortfolioShareToken = &v
12013	return s
12014}
12015
12016type DescribePortfolioShareStatusOutput struct {
12017	_ struct{} `type:"structure"`
12018
12019	// Organization node identifier. It can be either account id, organizational
12020	// unit id or organization id.
12021	OrganizationNodeValue *string `type:"string"`
12022
12023	// The portfolio identifier.
12024	PortfolioId *string `min:"1" type:"string"`
12025
12026	// The token for the portfolio share operation. For example, share-6v24abcdefghi.
12027	PortfolioShareToken *string `min:"1" type:"string"`
12028
12029	// Information about the portfolio share operation.
12030	ShareDetails *ShareDetails `type:"structure"`
12031
12032	// Status of the portfolio share operation.
12033	Status *string `type:"string" enum:"ShareStatus"`
12034}
12035
12036// String returns the string representation
12037func (s DescribePortfolioShareStatusOutput) String() string {
12038	return awsutil.Prettify(s)
12039}
12040
12041// GoString returns the string representation
12042func (s DescribePortfolioShareStatusOutput) GoString() string {
12043	return s.String()
12044}
12045
12046// SetOrganizationNodeValue sets the OrganizationNodeValue field's value.
12047func (s *DescribePortfolioShareStatusOutput) SetOrganizationNodeValue(v string) *DescribePortfolioShareStatusOutput {
12048	s.OrganizationNodeValue = &v
12049	return s
12050}
12051
12052// SetPortfolioId sets the PortfolioId field's value.
12053func (s *DescribePortfolioShareStatusOutput) SetPortfolioId(v string) *DescribePortfolioShareStatusOutput {
12054	s.PortfolioId = &v
12055	return s
12056}
12057
12058// SetPortfolioShareToken sets the PortfolioShareToken field's value.
12059func (s *DescribePortfolioShareStatusOutput) SetPortfolioShareToken(v string) *DescribePortfolioShareStatusOutput {
12060	s.PortfolioShareToken = &v
12061	return s
12062}
12063
12064// SetShareDetails sets the ShareDetails field's value.
12065func (s *DescribePortfolioShareStatusOutput) SetShareDetails(v *ShareDetails) *DescribePortfolioShareStatusOutput {
12066	s.ShareDetails = v
12067	return s
12068}
12069
12070// SetStatus sets the Status field's value.
12071func (s *DescribePortfolioShareStatusOutput) SetStatus(v string) *DescribePortfolioShareStatusOutput {
12072	s.Status = &v
12073	return s
12074}
12075
12076type DescribePortfolioSharesInput struct {
12077	_ struct{} `type:"structure"`
12078
12079	// The maximum number of items to return with this call.
12080	PageSize *int64 `type:"integer"`
12081
12082	// The page token for the next set of results. To retrieve the first set of
12083	// results, use null.
12084	PageToken *string `type:"string"`
12085
12086	// The unique identifier of the portfolio for which shares will be retrieved.
12087	//
12088	// PortfolioId is a required field
12089	PortfolioId *string `min:"1" type:"string" required:"true"`
12090
12091	// The type of portfolio share to summarize. This field acts as a filter on
12092	// the type of portfolio share, which can be one of the following:
12093	//
12094	// 1. ACCOUNT - Represents an external account to account share.
12095	//
12096	// 2. ORGANIZATION - Represents a share to an organization. This share is available
12097	// to every account in the organization.
12098	//
12099	// 3. ORGANIZATIONAL_UNIT - Represents a share to an organizational unit.
12100	//
12101	// 4. ORGANIZATION_MEMBER_ACCOUNT - Represents a share to an account in the
12102	// organization.
12103	//
12104	// Type is a required field
12105	Type *string `type:"string" required:"true" enum:"DescribePortfolioShareType"`
12106}
12107
12108// String returns the string representation
12109func (s DescribePortfolioSharesInput) String() string {
12110	return awsutil.Prettify(s)
12111}
12112
12113// GoString returns the string representation
12114func (s DescribePortfolioSharesInput) GoString() string {
12115	return s.String()
12116}
12117
12118// Validate inspects the fields of the type to determine if they are valid.
12119func (s *DescribePortfolioSharesInput) Validate() error {
12120	invalidParams := request.ErrInvalidParams{Context: "DescribePortfolioSharesInput"}
12121	if s.PortfolioId == nil {
12122		invalidParams.Add(request.NewErrParamRequired("PortfolioId"))
12123	}
12124	if s.PortfolioId != nil && len(*s.PortfolioId) < 1 {
12125		invalidParams.Add(request.NewErrParamMinLen("PortfolioId", 1))
12126	}
12127	if s.Type == nil {
12128		invalidParams.Add(request.NewErrParamRequired("Type"))
12129	}
12130
12131	if invalidParams.Len() > 0 {
12132		return invalidParams
12133	}
12134	return nil
12135}
12136
12137// SetPageSize sets the PageSize field's value.
12138func (s *DescribePortfolioSharesInput) SetPageSize(v int64) *DescribePortfolioSharesInput {
12139	s.PageSize = &v
12140	return s
12141}
12142
12143// SetPageToken sets the PageToken field's value.
12144func (s *DescribePortfolioSharesInput) SetPageToken(v string) *DescribePortfolioSharesInput {
12145	s.PageToken = &v
12146	return s
12147}
12148
12149// SetPortfolioId sets the PortfolioId field's value.
12150func (s *DescribePortfolioSharesInput) SetPortfolioId(v string) *DescribePortfolioSharesInput {
12151	s.PortfolioId = &v
12152	return s
12153}
12154
12155// SetType sets the Type field's value.
12156func (s *DescribePortfolioSharesInput) SetType(v string) *DescribePortfolioSharesInput {
12157	s.Type = &v
12158	return s
12159}
12160
12161type DescribePortfolioSharesOutput struct {
12162	_ struct{} `type:"structure"`
12163
12164	// The page token to use to retrieve the next set of results. If there are no
12165	// additional results, this value is null.
12166	NextPageToken *string `type:"string"`
12167
12168	// Summaries about each of the portfolio shares.
12169	PortfolioShareDetails []*PortfolioShareDetail `type:"list"`
12170}
12171
12172// String returns the string representation
12173func (s DescribePortfolioSharesOutput) String() string {
12174	return awsutil.Prettify(s)
12175}
12176
12177// GoString returns the string representation
12178func (s DescribePortfolioSharesOutput) GoString() string {
12179	return s.String()
12180}
12181
12182// SetNextPageToken sets the NextPageToken field's value.
12183func (s *DescribePortfolioSharesOutput) SetNextPageToken(v string) *DescribePortfolioSharesOutput {
12184	s.NextPageToken = &v
12185	return s
12186}
12187
12188// SetPortfolioShareDetails sets the PortfolioShareDetails field's value.
12189func (s *DescribePortfolioSharesOutput) SetPortfolioShareDetails(v []*PortfolioShareDetail) *DescribePortfolioSharesOutput {
12190	s.PortfolioShareDetails = v
12191	return s
12192}
12193
12194type DescribeProductAsAdminInput struct {
12195	_ struct{} `type:"structure"`
12196
12197	// The language code.
12198	//
12199	//    * en - English (default)
12200	//
12201	//    * jp - Japanese
12202	//
12203	//    * zh - Chinese
12204	AcceptLanguage *string `type:"string"`
12205
12206	// The product identifier.
12207	Id *string `min:"1" type:"string"`
12208
12209	// The product name.
12210	Name *string `type:"string"`
12211
12212	// The unique identifier of the shared portfolio that the specified product
12213	// is associated with.
12214	//
12215	// You can provide this parameter to retrieve the shared TagOptions associated
12216	// with the product. If this parameter is provided and if TagOptions sharing
12217	// is enabled in the portfolio share, the API returns both local and shared
12218	// TagOptions associated with the product. Otherwise only local TagOptions will
12219	// be returned.
12220	SourcePortfolioId *string `min:"1" type:"string"`
12221}
12222
12223// String returns the string representation
12224func (s DescribeProductAsAdminInput) String() string {
12225	return awsutil.Prettify(s)
12226}
12227
12228// GoString returns the string representation
12229func (s DescribeProductAsAdminInput) GoString() string {
12230	return s.String()
12231}
12232
12233// Validate inspects the fields of the type to determine if they are valid.
12234func (s *DescribeProductAsAdminInput) Validate() error {
12235	invalidParams := request.ErrInvalidParams{Context: "DescribeProductAsAdminInput"}
12236	if s.Id != nil && len(*s.Id) < 1 {
12237		invalidParams.Add(request.NewErrParamMinLen("Id", 1))
12238	}
12239	if s.SourcePortfolioId != nil && len(*s.SourcePortfolioId) < 1 {
12240		invalidParams.Add(request.NewErrParamMinLen("SourcePortfolioId", 1))
12241	}
12242
12243	if invalidParams.Len() > 0 {
12244		return invalidParams
12245	}
12246	return nil
12247}
12248
12249// SetAcceptLanguage sets the AcceptLanguage field's value.
12250func (s *DescribeProductAsAdminInput) SetAcceptLanguage(v string) *DescribeProductAsAdminInput {
12251	s.AcceptLanguage = &v
12252	return s
12253}
12254
12255// SetId sets the Id field's value.
12256func (s *DescribeProductAsAdminInput) SetId(v string) *DescribeProductAsAdminInput {
12257	s.Id = &v
12258	return s
12259}
12260
12261// SetName sets the Name field's value.
12262func (s *DescribeProductAsAdminInput) SetName(v string) *DescribeProductAsAdminInput {
12263	s.Name = &v
12264	return s
12265}
12266
12267// SetSourcePortfolioId sets the SourcePortfolioId field's value.
12268func (s *DescribeProductAsAdminInput) SetSourcePortfolioId(v string) *DescribeProductAsAdminInput {
12269	s.SourcePortfolioId = &v
12270	return s
12271}
12272
12273type DescribeProductAsAdminOutput struct {
12274	_ struct{} `type:"structure"`
12275
12276	// Information about the associated budgets.
12277	Budgets []*BudgetDetail `type:"list"`
12278
12279	// Information about the product view.
12280	ProductViewDetail *ProductViewDetail `type:"structure"`
12281
12282	// Information about the provisioning artifacts (also known as versions) for
12283	// the specified product.
12284	ProvisioningArtifactSummaries []*ProvisioningArtifactSummary `type:"list"`
12285
12286	// Information about the TagOptions associated with the product.
12287	TagOptions []*TagOptionDetail `type:"list"`
12288
12289	// Information about the tags associated with the product.
12290	Tags []*Tag `type:"list"`
12291}
12292
12293// String returns the string representation
12294func (s DescribeProductAsAdminOutput) String() string {
12295	return awsutil.Prettify(s)
12296}
12297
12298// GoString returns the string representation
12299func (s DescribeProductAsAdminOutput) GoString() string {
12300	return s.String()
12301}
12302
12303// SetBudgets sets the Budgets field's value.
12304func (s *DescribeProductAsAdminOutput) SetBudgets(v []*BudgetDetail) *DescribeProductAsAdminOutput {
12305	s.Budgets = v
12306	return s
12307}
12308
12309// SetProductViewDetail sets the ProductViewDetail field's value.
12310func (s *DescribeProductAsAdminOutput) SetProductViewDetail(v *ProductViewDetail) *DescribeProductAsAdminOutput {
12311	s.ProductViewDetail = v
12312	return s
12313}
12314
12315// SetProvisioningArtifactSummaries sets the ProvisioningArtifactSummaries field's value.
12316func (s *DescribeProductAsAdminOutput) SetProvisioningArtifactSummaries(v []*ProvisioningArtifactSummary) *DescribeProductAsAdminOutput {
12317	s.ProvisioningArtifactSummaries = v
12318	return s
12319}
12320
12321// SetTagOptions sets the TagOptions field's value.
12322func (s *DescribeProductAsAdminOutput) SetTagOptions(v []*TagOptionDetail) *DescribeProductAsAdminOutput {
12323	s.TagOptions = v
12324	return s
12325}
12326
12327// SetTags sets the Tags field's value.
12328func (s *DescribeProductAsAdminOutput) SetTags(v []*Tag) *DescribeProductAsAdminOutput {
12329	s.Tags = v
12330	return s
12331}
12332
12333type DescribeProductInput struct {
12334	_ struct{} `type:"structure"`
12335
12336	// The language code.
12337	//
12338	//    * en - English (default)
12339	//
12340	//    * jp - Japanese
12341	//
12342	//    * zh - Chinese
12343	AcceptLanguage *string `type:"string"`
12344
12345	// The product identifier.
12346	Id *string `min:"1" type:"string"`
12347
12348	// The product name.
12349	Name *string `type:"string"`
12350}
12351
12352// String returns the string representation
12353func (s DescribeProductInput) String() string {
12354	return awsutil.Prettify(s)
12355}
12356
12357// GoString returns the string representation
12358func (s DescribeProductInput) GoString() string {
12359	return s.String()
12360}
12361
12362// Validate inspects the fields of the type to determine if they are valid.
12363func (s *DescribeProductInput) Validate() error {
12364	invalidParams := request.ErrInvalidParams{Context: "DescribeProductInput"}
12365	if s.Id != nil && len(*s.Id) < 1 {
12366		invalidParams.Add(request.NewErrParamMinLen("Id", 1))
12367	}
12368
12369	if invalidParams.Len() > 0 {
12370		return invalidParams
12371	}
12372	return nil
12373}
12374
12375// SetAcceptLanguage sets the AcceptLanguage field's value.
12376func (s *DescribeProductInput) SetAcceptLanguage(v string) *DescribeProductInput {
12377	s.AcceptLanguage = &v
12378	return s
12379}
12380
12381// SetId sets the Id field's value.
12382func (s *DescribeProductInput) SetId(v string) *DescribeProductInput {
12383	s.Id = &v
12384	return s
12385}
12386
12387// SetName sets the Name field's value.
12388func (s *DescribeProductInput) SetName(v string) *DescribeProductInput {
12389	s.Name = &v
12390	return s
12391}
12392
12393type DescribeProductOutput struct {
12394	_ struct{} `type:"structure"`
12395
12396	// Information about the associated budgets.
12397	Budgets []*BudgetDetail `type:"list"`
12398
12399	// Information about the associated launch paths.
12400	LaunchPaths []*LaunchPath `type:"list"`
12401
12402	// Summary information about the product view.
12403	ProductViewSummary *ProductViewSummary `type:"structure"`
12404
12405	// Information about the provisioning artifacts for the specified product.
12406	ProvisioningArtifacts []*ProvisioningArtifact `type:"list"`
12407}
12408
12409// String returns the string representation
12410func (s DescribeProductOutput) String() string {
12411	return awsutil.Prettify(s)
12412}
12413
12414// GoString returns the string representation
12415func (s DescribeProductOutput) GoString() string {
12416	return s.String()
12417}
12418
12419// SetBudgets sets the Budgets field's value.
12420func (s *DescribeProductOutput) SetBudgets(v []*BudgetDetail) *DescribeProductOutput {
12421	s.Budgets = v
12422	return s
12423}
12424
12425// SetLaunchPaths sets the LaunchPaths field's value.
12426func (s *DescribeProductOutput) SetLaunchPaths(v []*LaunchPath) *DescribeProductOutput {
12427	s.LaunchPaths = v
12428	return s
12429}
12430
12431// SetProductViewSummary sets the ProductViewSummary field's value.
12432func (s *DescribeProductOutput) SetProductViewSummary(v *ProductViewSummary) *DescribeProductOutput {
12433	s.ProductViewSummary = v
12434	return s
12435}
12436
12437// SetProvisioningArtifacts sets the ProvisioningArtifacts field's value.
12438func (s *DescribeProductOutput) SetProvisioningArtifacts(v []*ProvisioningArtifact) *DescribeProductOutput {
12439	s.ProvisioningArtifacts = v
12440	return s
12441}
12442
12443type DescribeProductViewInput struct {
12444	_ struct{} `type:"structure"`
12445
12446	// The language code.
12447	//
12448	//    * en - English (default)
12449	//
12450	//    * jp - Japanese
12451	//
12452	//    * zh - Chinese
12453	AcceptLanguage *string `type:"string"`
12454
12455	// The product view identifier.
12456	//
12457	// Id is a required field
12458	Id *string `min:"1" type:"string" required:"true"`
12459}
12460
12461// String returns the string representation
12462func (s DescribeProductViewInput) String() string {
12463	return awsutil.Prettify(s)
12464}
12465
12466// GoString returns the string representation
12467func (s DescribeProductViewInput) GoString() string {
12468	return s.String()
12469}
12470
12471// Validate inspects the fields of the type to determine if they are valid.
12472func (s *DescribeProductViewInput) Validate() error {
12473	invalidParams := request.ErrInvalidParams{Context: "DescribeProductViewInput"}
12474	if s.Id == nil {
12475		invalidParams.Add(request.NewErrParamRequired("Id"))
12476	}
12477	if s.Id != nil && len(*s.Id) < 1 {
12478		invalidParams.Add(request.NewErrParamMinLen("Id", 1))
12479	}
12480
12481	if invalidParams.Len() > 0 {
12482		return invalidParams
12483	}
12484	return nil
12485}
12486
12487// SetAcceptLanguage sets the AcceptLanguage field's value.
12488func (s *DescribeProductViewInput) SetAcceptLanguage(v string) *DescribeProductViewInput {
12489	s.AcceptLanguage = &v
12490	return s
12491}
12492
12493// SetId sets the Id field's value.
12494func (s *DescribeProductViewInput) SetId(v string) *DescribeProductViewInput {
12495	s.Id = &v
12496	return s
12497}
12498
12499type DescribeProductViewOutput struct {
12500	_ struct{} `type:"structure"`
12501
12502	// Summary information about the product.
12503	ProductViewSummary *ProductViewSummary `type:"structure"`
12504
12505	// Information about the provisioning artifacts for the product.
12506	ProvisioningArtifacts []*ProvisioningArtifact `type:"list"`
12507}
12508
12509// String returns the string representation
12510func (s DescribeProductViewOutput) String() string {
12511	return awsutil.Prettify(s)
12512}
12513
12514// GoString returns the string representation
12515func (s DescribeProductViewOutput) GoString() string {
12516	return s.String()
12517}
12518
12519// SetProductViewSummary sets the ProductViewSummary field's value.
12520func (s *DescribeProductViewOutput) SetProductViewSummary(v *ProductViewSummary) *DescribeProductViewOutput {
12521	s.ProductViewSummary = v
12522	return s
12523}
12524
12525// SetProvisioningArtifacts sets the ProvisioningArtifacts field's value.
12526func (s *DescribeProductViewOutput) SetProvisioningArtifacts(v []*ProvisioningArtifact) *DescribeProductViewOutput {
12527	s.ProvisioningArtifacts = v
12528	return s
12529}
12530
12531// DescribeProvisionedProductAPI input structure. AcceptLanguage - [Optional]
12532// The language code for localization. Id - [Optional] The provisioned product
12533// identifier. Name - [Optional] Another provisioned product identifier. Customers
12534// must provide either Id or Name.
12535type DescribeProvisionedProductInput struct {
12536	_ struct{} `type:"structure"`
12537
12538	// The language code.
12539	//
12540	//    * en - English (default)
12541	//
12542	//    * jp - Japanese
12543	//
12544	//    * zh - Chinese
12545	AcceptLanguage *string `type:"string"`
12546
12547	// The provisioned product identifier. You must provide the name or ID, but
12548	// not both.
12549	//
12550	// If you do not provide a name or ID, or you provide both name and ID, an InvalidParametersException
12551	// will occur.
12552	Id *string `min:"1" type:"string"`
12553
12554	// The name of the provisioned product. You must provide the name or ID, but
12555	// not both.
12556	//
12557	// If you do not provide a name or ID, or you provide both name and ID, an InvalidParametersException
12558	// will occur.
12559	Name *string `min:"1" type:"string"`
12560}
12561
12562// String returns the string representation
12563func (s DescribeProvisionedProductInput) String() string {
12564	return awsutil.Prettify(s)
12565}
12566
12567// GoString returns the string representation
12568func (s DescribeProvisionedProductInput) GoString() string {
12569	return s.String()
12570}
12571
12572// Validate inspects the fields of the type to determine if they are valid.
12573func (s *DescribeProvisionedProductInput) Validate() error {
12574	invalidParams := request.ErrInvalidParams{Context: "DescribeProvisionedProductInput"}
12575	if s.Id != nil && len(*s.Id) < 1 {
12576		invalidParams.Add(request.NewErrParamMinLen("Id", 1))
12577	}
12578	if s.Name != nil && len(*s.Name) < 1 {
12579		invalidParams.Add(request.NewErrParamMinLen("Name", 1))
12580	}
12581
12582	if invalidParams.Len() > 0 {
12583		return invalidParams
12584	}
12585	return nil
12586}
12587
12588// SetAcceptLanguage sets the AcceptLanguage field's value.
12589func (s *DescribeProvisionedProductInput) SetAcceptLanguage(v string) *DescribeProvisionedProductInput {
12590	s.AcceptLanguage = &v
12591	return s
12592}
12593
12594// SetId sets the Id field's value.
12595func (s *DescribeProvisionedProductInput) SetId(v string) *DescribeProvisionedProductInput {
12596	s.Id = &v
12597	return s
12598}
12599
12600// SetName sets the Name field's value.
12601func (s *DescribeProvisionedProductInput) SetName(v string) *DescribeProvisionedProductInput {
12602	s.Name = &v
12603	return s
12604}
12605
12606type DescribeProvisionedProductOutput struct {
12607	_ struct{} `type:"structure"`
12608
12609	// Any CloudWatch dashboards that were created when provisioning the product.
12610	CloudWatchDashboards []*CloudWatchDashboard `type:"list"`
12611
12612	// Information about the provisioned product.
12613	ProvisionedProductDetail *ProvisionedProductDetail `type:"structure"`
12614}
12615
12616// String returns the string representation
12617func (s DescribeProvisionedProductOutput) String() string {
12618	return awsutil.Prettify(s)
12619}
12620
12621// GoString returns the string representation
12622func (s DescribeProvisionedProductOutput) GoString() string {
12623	return s.String()
12624}
12625
12626// SetCloudWatchDashboards sets the CloudWatchDashboards field's value.
12627func (s *DescribeProvisionedProductOutput) SetCloudWatchDashboards(v []*CloudWatchDashboard) *DescribeProvisionedProductOutput {
12628	s.CloudWatchDashboards = v
12629	return s
12630}
12631
12632// SetProvisionedProductDetail sets the ProvisionedProductDetail field's value.
12633func (s *DescribeProvisionedProductOutput) SetProvisionedProductDetail(v *ProvisionedProductDetail) *DescribeProvisionedProductOutput {
12634	s.ProvisionedProductDetail = v
12635	return s
12636}
12637
12638type DescribeProvisionedProductPlanInput struct {
12639	_ struct{} `type:"structure"`
12640
12641	// The language code.
12642	//
12643	//    * en - English (default)
12644	//
12645	//    * jp - Japanese
12646	//
12647	//    * zh - Chinese
12648	AcceptLanguage *string `type:"string"`
12649
12650	// The maximum number of items to return with this call.
12651	PageSize *int64 `type:"integer"`
12652
12653	// The page token for the next set of results. To retrieve the first set of
12654	// results, use null.
12655	PageToken *string `type:"string"`
12656
12657	// The plan identifier.
12658	//
12659	// PlanId is a required field
12660	PlanId *string `min:"1" type:"string" required:"true"`
12661}
12662
12663// String returns the string representation
12664func (s DescribeProvisionedProductPlanInput) String() string {
12665	return awsutil.Prettify(s)
12666}
12667
12668// GoString returns the string representation
12669func (s DescribeProvisionedProductPlanInput) GoString() string {
12670	return s.String()
12671}
12672
12673// Validate inspects the fields of the type to determine if they are valid.
12674func (s *DescribeProvisionedProductPlanInput) Validate() error {
12675	invalidParams := request.ErrInvalidParams{Context: "DescribeProvisionedProductPlanInput"}
12676	if s.PlanId == nil {
12677		invalidParams.Add(request.NewErrParamRequired("PlanId"))
12678	}
12679	if s.PlanId != nil && len(*s.PlanId) < 1 {
12680		invalidParams.Add(request.NewErrParamMinLen("PlanId", 1))
12681	}
12682
12683	if invalidParams.Len() > 0 {
12684		return invalidParams
12685	}
12686	return nil
12687}
12688
12689// SetAcceptLanguage sets the AcceptLanguage field's value.
12690func (s *DescribeProvisionedProductPlanInput) SetAcceptLanguage(v string) *DescribeProvisionedProductPlanInput {
12691	s.AcceptLanguage = &v
12692	return s
12693}
12694
12695// SetPageSize sets the PageSize field's value.
12696func (s *DescribeProvisionedProductPlanInput) SetPageSize(v int64) *DescribeProvisionedProductPlanInput {
12697	s.PageSize = &v
12698	return s
12699}
12700
12701// SetPageToken sets the PageToken field's value.
12702func (s *DescribeProvisionedProductPlanInput) SetPageToken(v string) *DescribeProvisionedProductPlanInput {
12703	s.PageToken = &v
12704	return s
12705}
12706
12707// SetPlanId sets the PlanId field's value.
12708func (s *DescribeProvisionedProductPlanInput) SetPlanId(v string) *DescribeProvisionedProductPlanInput {
12709	s.PlanId = &v
12710	return s
12711}
12712
12713type DescribeProvisionedProductPlanOutput struct {
12714	_ struct{} `type:"structure"`
12715
12716	// The page token to use to retrieve the next set of results. If there are no
12717	// additional results, this value is null.
12718	NextPageToken *string `type:"string"`
12719
12720	// Information about the plan.
12721	ProvisionedProductPlanDetails *ProvisionedProductPlanDetails `type:"structure"`
12722
12723	// Information about the resource changes that will occur when the plan is executed.
12724	ResourceChanges []*ResourceChange `type:"list"`
12725}
12726
12727// String returns the string representation
12728func (s DescribeProvisionedProductPlanOutput) String() string {
12729	return awsutil.Prettify(s)
12730}
12731
12732// GoString returns the string representation
12733func (s DescribeProvisionedProductPlanOutput) GoString() string {
12734	return s.String()
12735}
12736
12737// SetNextPageToken sets the NextPageToken field's value.
12738func (s *DescribeProvisionedProductPlanOutput) SetNextPageToken(v string) *DescribeProvisionedProductPlanOutput {
12739	s.NextPageToken = &v
12740	return s
12741}
12742
12743// SetProvisionedProductPlanDetails sets the ProvisionedProductPlanDetails field's value.
12744func (s *DescribeProvisionedProductPlanOutput) SetProvisionedProductPlanDetails(v *ProvisionedProductPlanDetails) *DescribeProvisionedProductPlanOutput {
12745	s.ProvisionedProductPlanDetails = v
12746	return s
12747}
12748
12749// SetResourceChanges sets the ResourceChanges field's value.
12750func (s *DescribeProvisionedProductPlanOutput) SetResourceChanges(v []*ResourceChange) *DescribeProvisionedProductPlanOutput {
12751	s.ResourceChanges = v
12752	return s
12753}
12754
12755type DescribeProvisioningArtifactInput struct {
12756	_ struct{} `type:"structure"`
12757
12758	// The language code.
12759	//
12760	//    * en - English (default)
12761	//
12762	//    * jp - Japanese
12763	//
12764	//    * zh - Chinese
12765	AcceptLanguage *string `type:"string"`
12766
12767	// The product identifier.
12768	ProductId *string `min:"1" type:"string"`
12769
12770	// The product name.
12771	ProductName *string `type:"string"`
12772
12773	// The identifier of the provisioning artifact.
12774	ProvisioningArtifactId *string `min:"1" type:"string"`
12775
12776	// The provisioning artifact name.
12777	ProvisioningArtifactName *string `type:"string"`
12778
12779	// Indicates whether a verbose level of detail is enabled.
12780	Verbose *bool `type:"boolean"`
12781}
12782
12783// String returns the string representation
12784func (s DescribeProvisioningArtifactInput) String() string {
12785	return awsutil.Prettify(s)
12786}
12787
12788// GoString returns the string representation
12789func (s DescribeProvisioningArtifactInput) GoString() string {
12790	return s.String()
12791}
12792
12793// Validate inspects the fields of the type to determine if they are valid.
12794func (s *DescribeProvisioningArtifactInput) Validate() error {
12795	invalidParams := request.ErrInvalidParams{Context: "DescribeProvisioningArtifactInput"}
12796	if s.ProductId != nil && len(*s.ProductId) < 1 {
12797		invalidParams.Add(request.NewErrParamMinLen("ProductId", 1))
12798	}
12799	if s.ProvisioningArtifactId != nil && len(*s.ProvisioningArtifactId) < 1 {
12800		invalidParams.Add(request.NewErrParamMinLen("ProvisioningArtifactId", 1))
12801	}
12802
12803	if invalidParams.Len() > 0 {
12804		return invalidParams
12805	}
12806	return nil
12807}
12808
12809// SetAcceptLanguage sets the AcceptLanguage field's value.
12810func (s *DescribeProvisioningArtifactInput) SetAcceptLanguage(v string) *DescribeProvisioningArtifactInput {
12811	s.AcceptLanguage = &v
12812	return s
12813}
12814
12815// SetProductId sets the ProductId field's value.
12816func (s *DescribeProvisioningArtifactInput) SetProductId(v string) *DescribeProvisioningArtifactInput {
12817	s.ProductId = &v
12818	return s
12819}
12820
12821// SetProductName sets the ProductName field's value.
12822func (s *DescribeProvisioningArtifactInput) SetProductName(v string) *DescribeProvisioningArtifactInput {
12823	s.ProductName = &v
12824	return s
12825}
12826
12827// SetProvisioningArtifactId sets the ProvisioningArtifactId field's value.
12828func (s *DescribeProvisioningArtifactInput) SetProvisioningArtifactId(v string) *DescribeProvisioningArtifactInput {
12829	s.ProvisioningArtifactId = &v
12830	return s
12831}
12832
12833// SetProvisioningArtifactName sets the ProvisioningArtifactName field's value.
12834func (s *DescribeProvisioningArtifactInput) SetProvisioningArtifactName(v string) *DescribeProvisioningArtifactInput {
12835	s.ProvisioningArtifactName = &v
12836	return s
12837}
12838
12839// SetVerbose sets the Verbose field's value.
12840func (s *DescribeProvisioningArtifactInput) SetVerbose(v bool) *DescribeProvisioningArtifactInput {
12841	s.Verbose = &v
12842	return s
12843}
12844
12845type DescribeProvisioningArtifactOutput struct {
12846	_ struct{} `type:"structure"`
12847
12848	// The URL of the CloudFormation template in Amazon S3.
12849	Info map[string]*string `min:"1" type:"map"`
12850
12851	// Information about the provisioning artifact.
12852	ProvisioningArtifactDetail *ProvisioningArtifactDetail `type:"structure"`
12853
12854	// The status of the current request.
12855	Status *string `type:"string" enum:"Status"`
12856}
12857
12858// String returns the string representation
12859func (s DescribeProvisioningArtifactOutput) String() string {
12860	return awsutil.Prettify(s)
12861}
12862
12863// GoString returns the string representation
12864func (s DescribeProvisioningArtifactOutput) GoString() string {
12865	return s.String()
12866}
12867
12868// SetInfo sets the Info field's value.
12869func (s *DescribeProvisioningArtifactOutput) SetInfo(v map[string]*string) *DescribeProvisioningArtifactOutput {
12870	s.Info = v
12871	return s
12872}
12873
12874// SetProvisioningArtifactDetail sets the ProvisioningArtifactDetail field's value.
12875func (s *DescribeProvisioningArtifactOutput) SetProvisioningArtifactDetail(v *ProvisioningArtifactDetail) *DescribeProvisioningArtifactOutput {
12876	s.ProvisioningArtifactDetail = v
12877	return s
12878}
12879
12880// SetStatus sets the Status field's value.
12881func (s *DescribeProvisioningArtifactOutput) SetStatus(v string) *DescribeProvisioningArtifactOutput {
12882	s.Status = &v
12883	return s
12884}
12885
12886type DescribeProvisioningParametersInput struct {
12887	_ struct{} `type:"structure"`
12888
12889	// The language code.
12890	//
12891	//    * en - English (default)
12892	//
12893	//    * jp - Japanese
12894	//
12895	//    * zh - Chinese
12896	AcceptLanguage *string `type:"string"`
12897
12898	// The path identifier of the product. This value is optional if the product
12899	// has a default path, and required if the product has more than one path. To
12900	// list the paths for a product, use ListLaunchPaths. You must provide the name
12901	// or ID, but not both.
12902	PathId *string `min:"1" type:"string"`
12903
12904	// The name of the path. You must provide the name or ID, but not both.
12905	PathName *string `min:"1" type:"string"`
12906
12907	// The product identifier. You must provide the product name or ID, but not
12908	// both.
12909	ProductId *string `min:"1" type:"string"`
12910
12911	// The name of the product. You must provide the name or ID, but not both.
12912	ProductName *string `type:"string"`
12913
12914	// The identifier of the provisioning artifact. You must provide the name or
12915	// ID, but not both.
12916	ProvisioningArtifactId *string `min:"1" type:"string"`
12917
12918	// The name of the provisioning artifact. You must provide the name or ID, but
12919	// not both.
12920	ProvisioningArtifactName *string `type:"string"`
12921}
12922
12923// String returns the string representation
12924func (s DescribeProvisioningParametersInput) String() string {
12925	return awsutil.Prettify(s)
12926}
12927
12928// GoString returns the string representation
12929func (s DescribeProvisioningParametersInput) GoString() string {
12930	return s.String()
12931}
12932
12933// Validate inspects the fields of the type to determine if they are valid.
12934func (s *DescribeProvisioningParametersInput) Validate() error {
12935	invalidParams := request.ErrInvalidParams{Context: "DescribeProvisioningParametersInput"}
12936	if s.PathId != nil && len(*s.PathId) < 1 {
12937		invalidParams.Add(request.NewErrParamMinLen("PathId", 1))
12938	}
12939	if s.PathName != nil && len(*s.PathName) < 1 {
12940		invalidParams.Add(request.NewErrParamMinLen("PathName", 1))
12941	}
12942	if s.ProductId != nil && len(*s.ProductId) < 1 {
12943		invalidParams.Add(request.NewErrParamMinLen("ProductId", 1))
12944	}
12945	if s.ProvisioningArtifactId != nil && len(*s.ProvisioningArtifactId) < 1 {
12946		invalidParams.Add(request.NewErrParamMinLen("ProvisioningArtifactId", 1))
12947	}
12948
12949	if invalidParams.Len() > 0 {
12950		return invalidParams
12951	}
12952	return nil
12953}
12954
12955// SetAcceptLanguage sets the AcceptLanguage field's value.
12956func (s *DescribeProvisioningParametersInput) SetAcceptLanguage(v string) *DescribeProvisioningParametersInput {
12957	s.AcceptLanguage = &v
12958	return s
12959}
12960
12961// SetPathId sets the PathId field's value.
12962func (s *DescribeProvisioningParametersInput) SetPathId(v string) *DescribeProvisioningParametersInput {
12963	s.PathId = &v
12964	return s
12965}
12966
12967// SetPathName sets the PathName field's value.
12968func (s *DescribeProvisioningParametersInput) SetPathName(v string) *DescribeProvisioningParametersInput {
12969	s.PathName = &v
12970	return s
12971}
12972
12973// SetProductId sets the ProductId field's value.
12974func (s *DescribeProvisioningParametersInput) SetProductId(v string) *DescribeProvisioningParametersInput {
12975	s.ProductId = &v
12976	return s
12977}
12978
12979// SetProductName sets the ProductName field's value.
12980func (s *DescribeProvisioningParametersInput) SetProductName(v string) *DescribeProvisioningParametersInput {
12981	s.ProductName = &v
12982	return s
12983}
12984
12985// SetProvisioningArtifactId sets the ProvisioningArtifactId field's value.
12986func (s *DescribeProvisioningParametersInput) SetProvisioningArtifactId(v string) *DescribeProvisioningParametersInput {
12987	s.ProvisioningArtifactId = &v
12988	return s
12989}
12990
12991// SetProvisioningArtifactName sets the ProvisioningArtifactName field's value.
12992func (s *DescribeProvisioningParametersInput) SetProvisioningArtifactName(v string) *DescribeProvisioningParametersInput {
12993	s.ProvisioningArtifactName = &v
12994	return s
12995}
12996
12997type DescribeProvisioningParametersOutput struct {
12998	_ struct{} `type:"structure"`
12999
13000	// Information about the constraints used to provision the product.
13001	ConstraintSummaries []*ConstraintSummary `type:"list"`
13002
13003	// The output of the provisioning artifact.
13004	ProvisioningArtifactOutputs []*ProvisioningArtifactOutput `type:"list"`
13005
13006	// Information about the parameters used to provision the product.
13007	ProvisioningArtifactParameters []*ProvisioningArtifactParameter `type:"list"`
13008
13009	// An object that contains information about preferences, such as regions and
13010	// accounts, for the provisioning artifact.
13011	ProvisioningArtifactPreferences *ProvisioningArtifactPreferences `type:"structure"`
13012
13013	// Information about the TagOptions associated with the resource.
13014	TagOptions []*TagOptionSummary `type:"list"`
13015
13016	// Any additional metadata specifically related to the provisioning of the product.
13017	// For example, see the Version field of the CloudFormation template.
13018	UsageInstructions []*UsageInstruction `type:"list"`
13019}
13020
13021// String returns the string representation
13022func (s DescribeProvisioningParametersOutput) String() string {
13023	return awsutil.Prettify(s)
13024}
13025
13026// GoString returns the string representation
13027func (s DescribeProvisioningParametersOutput) GoString() string {
13028	return s.String()
13029}
13030
13031// SetConstraintSummaries sets the ConstraintSummaries field's value.
13032func (s *DescribeProvisioningParametersOutput) SetConstraintSummaries(v []*ConstraintSummary) *DescribeProvisioningParametersOutput {
13033	s.ConstraintSummaries = v
13034	return s
13035}
13036
13037// SetProvisioningArtifactOutputs sets the ProvisioningArtifactOutputs field's value.
13038func (s *DescribeProvisioningParametersOutput) SetProvisioningArtifactOutputs(v []*ProvisioningArtifactOutput) *DescribeProvisioningParametersOutput {
13039	s.ProvisioningArtifactOutputs = v
13040	return s
13041}
13042
13043// SetProvisioningArtifactParameters sets the ProvisioningArtifactParameters field's value.
13044func (s *DescribeProvisioningParametersOutput) SetProvisioningArtifactParameters(v []*ProvisioningArtifactParameter) *DescribeProvisioningParametersOutput {
13045	s.ProvisioningArtifactParameters = v
13046	return s
13047}
13048
13049// SetProvisioningArtifactPreferences sets the ProvisioningArtifactPreferences field's value.
13050func (s *DescribeProvisioningParametersOutput) SetProvisioningArtifactPreferences(v *ProvisioningArtifactPreferences) *DescribeProvisioningParametersOutput {
13051	s.ProvisioningArtifactPreferences = v
13052	return s
13053}
13054
13055// SetTagOptions sets the TagOptions field's value.
13056func (s *DescribeProvisioningParametersOutput) SetTagOptions(v []*TagOptionSummary) *DescribeProvisioningParametersOutput {
13057	s.TagOptions = v
13058	return s
13059}
13060
13061// SetUsageInstructions sets the UsageInstructions field's value.
13062func (s *DescribeProvisioningParametersOutput) SetUsageInstructions(v []*UsageInstruction) *DescribeProvisioningParametersOutput {
13063	s.UsageInstructions = v
13064	return s
13065}
13066
13067type DescribeRecordInput struct {
13068	_ struct{} `type:"structure"`
13069
13070	// The language code.
13071	//
13072	//    * en - English (default)
13073	//
13074	//    * jp - Japanese
13075	//
13076	//    * zh - Chinese
13077	AcceptLanguage *string `type:"string"`
13078
13079	// The record identifier of the provisioned product. This identifier is returned
13080	// by the request operation.
13081	//
13082	// Id is a required field
13083	Id *string `min:"1" type:"string" required:"true"`
13084
13085	// The maximum number of items to return with this call.
13086	PageSize *int64 `type:"integer"`
13087
13088	// The page token for the next set of results. To retrieve the first set of
13089	// results, use null.
13090	PageToken *string `type:"string"`
13091}
13092
13093// String returns the string representation
13094func (s DescribeRecordInput) String() string {
13095	return awsutil.Prettify(s)
13096}
13097
13098// GoString returns the string representation
13099func (s DescribeRecordInput) GoString() string {
13100	return s.String()
13101}
13102
13103// Validate inspects the fields of the type to determine if they are valid.
13104func (s *DescribeRecordInput) Validate() error {
13105	invalidParams := request.ErrInvalidParams{Context: "DescribeRecordInput"}
13106	if s.Id == nil {
13107		invalidParams.Add(request.NewErrParamRequired("Id"))
13108	}
13109	if s.Id != nil && len(*s.Id) < 1 {
13110		invalidParams.Add(request.NewErrParamMinLen("Id", 1))
13111	}
13112
13113	if invalidParams.Len() > 0 {
13114		return invalidParams
13115	}
13116	return nil
13117}
13118
13119// SetAcceptLanguage sets the AcceptLanguage field's value.
13120func (s *DescribeRecordInput) SetAcceptLanguage(v string) *DescribeRecordInput {
13121	s.AcceptLanguage = &v
13122	return s
13123}
13124
13125// SetId sets the Id field's value.
13126func (s *DescribeRecordInput) SetId(v string) *DescribeRecordInput {
13127	s.Id = &v
13128	return s
13129}
13130
13131// SetPageSize sets the PageSize field's value.
13132func (s *DescribeRecordInput) SetPageSize(v int64) *DescribeRecordInput {
13133	s.PageSize = &v
13134	return s
13135}
13136
13137// SetPageToken sets the PageToken field's value.
13138func (s *DescribeRecordInput) SetPageToken(v string) *DescribeRecordInput {
13139	s.PageToken = &v
13140	return s
13141}
13142
13143type DescribeRecordOutput struct {
13144	_ struct{} `type:"structure"`
13145
13146	// The page token to use to retrieve the next set of results. If there are no
13147	// additional results, this value is null.
13148	NextPageToken *string `type:"string"`
13149
13150	// Information about the product.
13151	RecordDetail *RecordDetail `type:"structure"`
13152
13153	// Information about the product created as the result of a request. For example,
13154	// the output for a CloudFormation-backed product that creates an S3 bucket
13155	// would include the S3 bucket URL.
13156	RecordOutputs []*RecordOutput `type:"list"`
13157}
13158
13159// String returns the string representation
13160func (s DescribeRecordOutput) String() string {
13161	return awsutil.Prettify(s)
13162}
13163
13164// GoString returns the string representation
13165func (s DescribeRecordOutput) GoString() string {
13166	return s.String()
13167}
13168
13169// SetNextPageToken sets the NextPageToken field's value.
13170func (s *DescribeRecordOutput) SetNextPageToken(v string) *DescribeRecordOutput {
13171	s.NextPageToken = &v
13172	return s
13173}
13174
13175// SetRecordDetail sets the RecordDetail field's value.
13176func (s *DescribeRecordOutput) SetRecordDetail(v *RecordDetail) *DescribeRecordOutput {
13177	s.RecordDetail = v
13178	return s
13179}
13180
13181// SetRecordOutputs sets the RecordOutputs field's value.
13182func (s *DescribeRecordOutput) SetRecordOutputs(v []*RecordOutput) *DescribeRecordOutput {
13183	s.RecordOutputs = v
13184	return s
13185}
13186
13187type DescribeServiceActionExecutionParametersInput struct {
13188	_ struct{} `type:"structure"`
13189
13190	// The language code.
13191	//
13192	//    * en - English (default)
13193	//
13194	//    * jp - Japanese
13195	//
13196	//    * zh - Chinese
13197	AcceptLanguage *string `type:"string"`
13198
13199	// The identifier of the provisioned product.
13200	//
13201	// ProvisionedProductId is a required field
13202	ProvisionedProductId *string `min:"1" type:"string" required:"true"`
13203
13204	// The self-service action identifier.
13205	//
13206	// ServiceActionId is a required field
13207	ServiceActionId *string `min:"1" type:"string" required:"true"`
13208}
13209
13210// String returns the string representation
13211func (s DescribeServiceActionExecutionParametersInput) String() string {
13212	return awsutil.Prettify(s)
13213}
13214
13215// GoString returns the string representation
13216func (s DescribeServiceActionExecutionParametersInput) GoString() string {
13217	return s.String()
13218}
13219
13220// Validate inspects the fields of the type to determine if they are valid.
13221func (s *DescribeServiceActionExecutionParametersInput) Validate() error {
13222	invalidParams := request.ErrInvalidParams{Context: "DescribeServiceActionExecutionParametersInput"}
13223	if s.ProvisionedProductId == nil {
13224		invalidParams.Add(request.NewErrParamRequired("ProvisionedProductId"))
13225	}
13226	if s.ProvisionedProductId != nil && len(*s.ProvisionedProductId) < 1 {
13227		invalidParams.Add(request.NewErrParamMinLen("ProvisionedProductId", 1))
13228	}
13229	if s.ServiceActionId == nil {
13230		invalidParams.Add(request.NewErrParamRequired("ServiceActionId"))
13231	}
13232	if s.ServiceActionId != nil && len(*s.ServiceActionId) < 1 {
13233		invalidParams.Add(request.NewErrParamMinLen("ServiceActionId", 1))
13234	}
13235
13236	if invalidParams.Len() > 0 {
13237		return invalidParams
13238	}
13239	return nil
13240}
13241
13242// SetAcceptLanguage sets the AcceptLanguage field's value.
13243func (s *DescribeServiceActionExecutionParametersInput) SetAcceptLanguage(v string) *DescribeServiceActionExecutionParametersInput {
13244	s.AcceptLanguage = &v
13245	return s
13246}
13247
13248// SetProvisionedProductId sets the ProvisionedProductId field's value.
13249func (s *DescribeServiceActionExecutionParametersInput) SetProvisionedProductId(v string) *DescribeServiceActionExecutionParametersInput {
13250	s.ProvisionedProductId = &v
13251	return s
13252}
13253
13254// SetServiceActionId sets the ServiceActionId field's value.
13255func (s *DescribeServiceActionExecutionParametersInput) SetServiceActionId(v string) *DescribeServiceActionExecutionParametersInput {
13256	s.ServiceActionId = &v
13257	return s
13258}
13259
13260type DescribeServiceActionExecutionParametersOutput struct {
13261	_ struct{} `type:"structure"`
13262
13263	// The parameters of the self-service action.
13264	ServiceActionParameters []*ExecutionParameter `type:"list"`
13265}
13266
13267// String returns the string representation
13268func (s DescribeServiceActionExecutionParametersOutput) String() string {
13269	return awsutil.Prettify(s)
13270}
13271
13272// GoString returns the string representation
13273func (s DescribeServiceActionExecutionParametersOutput) GoString() string {
13274	return s.String()
13275}
13276
13277// SetServiceActionParameters sets the ServiceActionParameters field's value.
13278func (s *DescribeServiceActionExecutionParametersOutput) SetServiceActionParameters(v []*ExecutionParameter) *DescribeServiceActionExecutionParametersOutput {
13279	s.ServiceActionParameters = v
13280	return s
13281}
13282
13283type DescribeServiceActionInput struct {
13284	_ struct{} `type:"structure"`
13285
13286	// The language code.
13287	//
13288	//    * en - English (default)
13289	//
13290	//    * jp - Japanese
13291	//
13292	//    * zh - Chinese
13293	AcceptLanguage *string `type:"string"`
13294
13295	// The self-service action identifier.
13296	//
13297	// Id is a required field
13298	Id *string `min:"1" type:"string" required:"true"`
13299}
13300
13301// String returns the string representation
13302func (s DescribeServiceActionInput) String() string {
13303	return awsutil.Prettify(s)
13304}
13305
13306// GoString returns the string representation
13307func (s DescribeServiceActionInput) GoString() string {
13308	return s.String()
13309}
13310
13311// Validate inspects the fields of the type to determine if they are valid.
13312func (s *DescribeServiceActionInput) Validate() error {
13313	invalidParams := request.ErrInvalidParams{Context: "DescribeServiceActionInput"}
13314	if s.Id == nil {
13315		invalidParams.Add(request.NewErrParamRequired("Id"))
13316	}
13317	if s.Id != nil && len(*s.Id) < 1 {
13318		invalidParams.Add(request.NewErrParamMinLen("Id", 1))
13319	}
13320
13321	if invalidParams.Len() > 0 {
13322		return invalidParams
13323	}
13324	return nil
13325}
13326
13327// SetAcceptLanguage sets the AcceptLanguage field's value.
13328func (s *DescribeServiceActionInput) SetAcceptLanguage(v string) *DescribeServiceActionInput {
13329	s.AcceptLanguage = &v
13330	return s
13331}
13332
13333// SetId sets the Id field's value.
13334func (s *DescribeServiceActionInput) SetId(v string) *DescribeServiceActionInput {
13335	s.Id = &v
13336	return s
13337}
13338
13339type DescribeServiceActionOutput struct {
13340	_ struct{} `type:"structure"`
13341
13342	// Detailed information about the self-service action.
13343	ServiceActionDetail *ServiceActionDetail `type:"structure"`
13344}
13345
13346// String returns the string representation
13347func (s DescribeServiceActionOutput) String() string {
13348	return awsutil.Prettify(s)
13349}
13350
13351// GoString returns the string representation
13352func (s DescribeServiceActionOutput) GoString() string {
13353	return s.String()
13354}
13355
13356// SetServiceActionDetail sets the ServiceActionDetail field's value.
13357func (s *DescribeServiceActionOutput) SetServiceActionDetail(v *ServiceActionDetail) *DescribeServiceActionOutput {
13358	s.ServiceActionDetail = v
13359	return s
13360}
13361
13362type DescribeTagOptionInput struct {
13363	_ struct{} `type:"structure"`
13364
13365	// The TagOption identifier.
13366	//
13367	// Id is a required field
13368	Id *string `min:"1" type:"string" required:"true"`
13369}
13370
13371// String returns the string representation
13372func (s DescribeTagOptionInput) String() string {
13373	return awsutil.Prettify(s)
13374}
13375
13376// GoString returns the string representation
13377func (s DescribeTagOptionInput) GoString() string {
13378	return s.String()
13379}
13380
13381// Validate inspects the fields of the type to determine if they are valid.
13382func (s *DescribeTagOptionInput) Validate() error {
13383	invalidParams := request.ErrInvalidParams{Context: "DescribeTagOptionInput"}
13384	if s.Id == nil {
13385		invalidParams.Add(request.NewErrParamRequired("Id"))
13386	}
13387	if s.Id != nil && len(*s.Id) < 1 {
13388		invalidParams.Add(request.NewErrParamMinLen("Id", 1))
13389	}
13390
13391	if invalidParams.Len() > 0 {
13392		return invalidParams
13393	}
13394	return nil
13395}
13396
13397// SetId sets the Id field's value.
13398func (s *DescribeTagOptionInput) SetId(v string) *DescribeTagOptionInput {
13399	s.Id = &v
13400	return s
13401}
13402
13403type DescribeTagOptionOutput struct {
13404	_ struct{} `type:"structure"`
13405
13406	// Information about the TagOption.
13407	TagOptionDetail *TagOptionDetail `type:"structure"`
13408}
13409
13410// String returns the string representation
13411func (s DescribeTagOptionOutput) String() string {
13412	return awsutil.Prettify(s)
13413}
13414
13415// GoString returns the string representation
13416func (s DescribeTagOptionOutput) GoString() string {
13417	return s.String()
13418}
13419
13420// SetTagOptionDetail sets the TagOptionDetail field's value.
13421func (s *DescribeTagOptionOutput) SetTagOptionDetail(v *TagOptionDetail) *DescribeTagOptionOutput {
13422	s.TagOptionDetail = v
13423	return s
13424}
13425
13426type DisableAWSOrganizationsAccessInput struct {
13427	_ struct{} `type:"structure"`
13428}
13429
13430// String returns the string representation
13431func (s DisableAWSOrganizationsAccessInput) String() string {
13432	return awsutil.Prettify(s)
13433}
13434
13435// GoString returns the string representation
13436func (s DisableAWSOrganizationsAccessInput) GoString() string {
13437	return s.String()
13438}
13439
13440type DisableAWSOrganizationsAccessOutput struct {
13441	_ struct{} `type:"structure"`
13442}
13443
13444// String returns the string representation
13445func (s DisableAWSOrganizationsAccessOutput) String() string {
13446	return awsutil.Prettify(s)
13447}
13448
13449// GoString returns the string representation
13450func (s DisableAWSOrganizationsAccessOutput) GoString() string {
13451	return s.String()
13452}
13453
13454type DisassociateBudgetFromResourceInput struct {
13455	_ struct{} `type:"structure"`
13456
13457	// The name of the budget you want to disassociate.
13458	//
13459	// BudgetName is a required field
13460	BudgetName *string `min:"1" type:"string" required:"true"`
13461
13462	// The resource identifier you want to disassociate from. Either a portfolio-id
13463	// or a product-id.
13464	//
13465	// ResourceId is a required field
13466	ResourceId *string `min:"1" type:"string" required:"true"`
13467}
13468
13469// String returns the string representation
13470func (s DisassociateBudgetFromResourceInput) String() string {
13471	return awsutil.Prettify(s)
13472}
13473
13474// GoString returns the string representation
13475func (s DisassociateBudgetFromResourceInput) GoString() string {
13476	return s.String()
13477}
13478
13479// Validate inspects the fields of the type to determine if they are valid.
13480func (s *DisassociateBudgetFromResourceInput) Validate() error {
13481	invalidParams := request.ErrInvalidParams{Context: "DisassociateBudgetFromResourceInput"}
13482	if s.BudgetName == nil {
13483		invalidParams.Add(request.NewErrParamRequired("BudgetName"))
13484	}
13485	if s.BudgetName != nil && len(*s.BudgetName) < 1 {
13486		invalidParams.Add(request.NewErrParamMinLen("BudgetName", 1))
13487	}
13488	if s.ResourceId == nil {
13489		invalidParams.Add(request.NewErrParamRequired("ResourceId"))
13490	}
13491	if s.ResourceId != nil && len(*s.ResourceId) < 1 {
13492		invalidParams.Add(request.NewErrParamMinLen("ResourceId", 1))
13493	}
13494
13495	if invalidParams.Len() > 0 {
13496		return invalidParams
13497	}
13498	return nil
13499}
13500
13501// SetBudgetName sets the BudgetName field's value.
13502func (s *DisassociateBudgetFromResourceInput) SetBudgetName(v string) *DisassociateBudgetFromResourceInput {
13503	s.BudgetName = &v
13504	return s
13505}
13506
13507// SetResourceId sets the ResourceId field's value.
13508func (s *DisassociateBudgetFromResourceInput) SetResourceId(v string) *DisassociateBudgetFromResourceInput {
13509	s.ResourceId = &v
13510	return s
13511}
13512
13513type DisassociateBudgetFromResourceOutput struct {
13514	_ struct{} `type:"structure"`
13515}
13516
13517// String returns the string representation
13518func (s DisassociateBudgetFromResourceOutput) String() string {
13519	return awsutil.Prettify(s)
13520}
13521
13522// GoString returns the string representation
13523func (s DisassociateBudgetFromResourceOutput) GoString() string {
13524	return s.String()
13525}
13526
13527type DisassociatePrincipalFromPortfolioInput struct {
13528	_ struct{} `type:"structure"`
13529
13530	// The language code.
13531	//
13532	//    * en - English (default)
13533	//
13534	//    * jp - Japanese
13535	//
13536	//    * zh - Chinese
13537	AcceptLanguage *string `type:"string"`
13538
13539	// The portfolio identifier.
13540	//
13541	// PortfolioId is a required field
13542	PortfolioId *string `min:"1" type:"string" required:"true"`
13543
13544	// The ARN of the principal (IAM user, role, or group).
13545	//
13546	// PrincipalARN is a required field
13547	PrincipalARN *string `min:"1" type:"string" required:"true"`
13548}
13549
13550// String returns the string representation
13551func (s DisassociatePrincipalFromPortfolioInput) String() string {
13552	return awsutil.Prettify(s)
13553}
13554
13555// GoString returns the string representation
13556func (s DisassociatePrincipalFromPortfolioInput) GoString() string {
13557	return s.String()
13558}
13559
13560// Validate inspects the fields of the type to determine if they are valid.
13561func (s *DisassociatePrincipalFromPortfolioInput) Validate() error {
13562	invalidParams := request.ErrInvalidParams{Context: "DisassociatePrincipalFromPortfolioInput"}
13563	if s.PortfolioId == nil {
13564		invalidParams.Add(request.NewErrParamRequired("PortfolioId"))
13565	}
13566	if s.PortfolioId != nil && len(*s.PortfolioId) < 1 {
13567		invalidParams.Add(request.NewErrParamMinLen("PortfolioId", 1))
13568	}
13569	if s.PrincipalARN == nil {
13570		invalidParams.Add(request.NewErrParamRequired("PrincipalARN"))
13571	}
13572	if s.PrincipalARN != nil && len(*s.PrincipalARN) < 1 {
13573		invalidParams.Add(request.NewErrParamMinLen("PrincipalARN", 1))
13574	}
13575
13576	if invalidParams.Len() > 0 {
13577		return invalidParams
13578	}
13579	return nil
13580}
13581
13582// SetAcceptLanguage sets the AcceptLanguage field's value.
13583func (s *DisassociatePrincipalFromPortfolioInput) SetAcceptLanguage(v string) *DisassociatePrincipalFromPortfolioInput {
13584	s.AcceptLanguage = &v
13585	return s
13586}
13587
13588// SetPortfolioId sets the PortfolioId field's value.
13589func (s *DisassociatePrincipalFromPortfolioInput) SetPortfolioId(v string) *DisassociatePrincipalFromPortfolioInput {
13590	s.PortfolioId = &v
13591	return s
13592}
13593
13594// SetPrincipalARN sets the PrincipalARN field's value.
13595func (s *DisassociatePrincipalFromPortfolioInput) SetPrincipalARN(v string) *DisassociatePrincipalFromPortfolioInput {
13596	s.PrincipalARN = &v
13597	return s
13598}
13599
13600type DisassociatePrincipalFromPortfolioOutput struct {
13601	_ struct{} `type:"structure"`
13602}
13603
13604// String returns the string representation
13605func (s DisassociatePrincipalFromPortfolioOutput) String() string {
13606	return awsutil.Prettify(s)
13607}
13608
13609// GoString returns the string representation
13610func (s DisassociatePrincipalFromPortfolioOutput) GoString() string {
13611	return s.String()
13612}
13613
13614type DisassociateProductFromPortfolioInput struct {
13615	_ struct{} `type:"structure"`
13616
13617	// The language code.
13618	//
13619	//    * en - English (default)
13620	//
13621	//    * jp - Japanese
13622	//
13623	//    * zh - Chinese
13624	AcceptLanguage *string `type:"string"`
13625
13626	// The portfolio identifier.
13627	//
13628	// PortfolioId is a required field
13629	PortfolioId *string `min:"1" type:"string" required:"true"`
13630
13631	// The product identifier.
13632	//
13633	// ProductId is a required field
13634	ProductId *string `min:"1" type:"string" required:"true"`
13635}
13636
13637// String returns the string representation
13638func (s DisassociateProductFromPortfolioInput) String() string {
13639	return awsutil.Prettify(s)
13640}
13641
13642// GoString returns the string representation
13643func (s DisassociateProductFromPortfolioInput) GoString() string {
13644	return s.String()
13645}
13646
13647// Validate inspects the fields of the type to determine if they are valid.
13648func (s *DisassociateProductFromPortfolioInput) Validate() error {
13649	invalidParams := request.ErrInvalidParams{Context: "DisassociateProductFromPortfolioInput"}
13650	if s.PortfolioId == nil {
13651		invalidParams.Add(request.NewErrParamRequired("PortfolioId"))
13652	}
13653	if s.PortfolioId != nil && len(*s.PortfolioId) < 1 {
13654		invalidParams.Add(request.NewErrParamMinLen("PortfolioId", 1))
13655	}
13656	if s.ProductId == nil {
13657		invalidParams.Add(request.NewErrParamRequired("ProductId"))
13658	}
13659	if s.ProductId != nil && len(*s.ProductId) < 1 {
13660		invalidParams.Add(request.NewErrParamMinLen("ProductId", 1))
13661	}
13662
13663	if invalidParams.Len() > 0 {
13664		return invalidParams
13665	}
13666	return nil
13667}
13668
13669// SetAcceptLanguage sets the AcceptLanguage field's value.
13670func (s *DisassociateProductFromPortfolioInput) SetAcceptLanguage(v string) *DisassociateProductFromPortfolioInput {
13671	s.AcceptLanguage = &v
13672	return s
13673}
13674
13675// SetPortfolioId sets the PortfolioId field's value.
13676func (s *DisassociateProductFromPortfolioInput) SetPortfolioId(v string) *DisassociateProductFromPortfolioInput {
13677	s.PortfolioId = &v
13678	return s
13679}
13680
13681// SetProductId sets the ProductId field's value.
13682func (s *DisassociateProductFromPortfolioInput) SetProductId(v string) *DisassociateProductFromPortfolioInput {
13683	s.ProductId = &v
13684	return s
13685}
13686
13687type DisassociateProductFromPortfolioOutput struct {
13688	_ struct{} `type:"structure"`
13689}
13690
13691// String returns the string representation
13692func (s DisassociateProductFromPortfolioOutput) String() string {
13693	return awsutil.Prettify(s)
13694}
13695
13696// GoString returns the string representation
13697func (s DisassociateProductFromPortfolioOutput) GoString() string {
13698	return s.String()
13699}
13700
13701type DisassociateServiceActionFromProvisioningArtifactInput struct {
13702	_ struct{} `type:"structure"`
13703
13704	// The language code.
13705	//
13706	//    * en - English (default)
13707	//
13708	//    * jp - Japanese
13709	//
13710	//    * zh - Chinese
13711	AcceptLanguage *string `type:"string"`
13712
13713	// The product identifier. For example, prod-abcdzk7xy33qa.
13714	//
13715	// ProductId is a required field
13716	ProductId *string `min:"1" type:"string" required:"true"`
13717
13718	// The identifier of the provisioning artifact. For example, pa-4abcdjnxjj6ne.
13719	//
13720	// ProvisioningArtifactId is a required field
13721	ProvisioningArtifactId *string `min:"1" type:"string" required:"true"`
13722
13723	// The self-service action identifier. For example, act-fs7abcd89wxyz.
13724	//
13725	// ServiceActionId is a required field
13726	ServiceActionId *string `min:"1" type:"string" required:"true"`
13727}
13728
13729// String returns the string representation
13730func (s DisassociateServiceActionFromProvisioningArtifactInput) String() string {
13731	return awsutil.Prettify(s)
13732}
13733
13734// GoString returns the string representation
13735func (s DisassociateServiceActionFromProvisioningArtifactInput) GoString() string {
13736	return s.String()
13737}
13738
13739// Validate inspects the fields of the type to determine if they are valid.
13740func (s *DisassociateServiceActionFromProvisioningArtifactInput) Validate() error {
13741	invalidParams := request.ErrInvalidParams{Context: "DisassociateServiceActionFromProvisioningArtifactInput"}
13742	if s.ProductId == nil {
13743		invalidParams.Add(request.NewErrParamRequired("ProductId"))
13744	}
13745	if s.ProductId != nil && len(*s.ProductId) < 1 {
13746		invalidParams.Add(request.NewErrParamMinLen("ProductId", 1))
13747	}
13748	if s.ProvisioningArtifactId == nil {
13749		invalidParams.Add(request.NewErrParamRequired("ProvisioningArtifactId"))
13750	}
13751	if s.ProvisioningArtifactId != nil && len(*s.ProvisioningArtifactId) < 1 {
13752		invalidParams.Add(request.NewErrParamMinLen("ProvisioningArtifactId", 1))
13753	}
13754	if s.ServiceActionId == nil {
13755		invalidParams.Add(request.NewErrParamRequired("ServiceActionId"))
13756	}
13757	if s.ServiceActionId != nil && len(*s.ServiceActionId) < 1 {
13758		invalidParams.Add(request.NewErrParamMinLen("ServiceActionId", 1))
13759	}
13760
13761	if invalidParams.Len() > 0 {
13762		return invalidParams
13763	}
13764	return nil
13765}
13766
13767// SetAcceptLanguage sets the AcceptLanguage field's value.
13768func (s *DisassociateServiceActionFromProvisioningArtifactInput) SetAcceptLanguage(v string) *DisassociateServiceActionFromProvisioningArtifactInput {
13769	s.AcceptLanguage = &v
13770	return s
13771}
13772
13773// SetProductId sets the ProductId field's value.
13774func (s *DisassociateServiceActionFromProvisioningArtifactInput) SetProductId(v string) *DisassociateServiceActionFromProvisioningArtifactInput {
13775	s.ProductId = &v
13776	return s
13777}
13778
13779// SetProvisioningArtifactId sets the ProvisioningArtifactId field's value.
13780func (s *DisassociateServiceActionFromProvisioningArtifactInput) SetProvisioningArtifactId(v string) *DisassociateServiceActionFromProvisioningArtifactInput {
13781	s.ProvisioningArtifactId = &v
13782	return s
13783}
13784
13785// SetServiceActionId sets the ServiceActionId field's value.
13786func (s *DisassociateServiceActionFromProvisioningArtifactInput) SetServiceActionId(v string) *DisassociateServiceActionFromProvisioningArtifactInput {
13787	s.ServiceActionId = &v
13788	return s
13789}
13790
13791type DisassociateServiceActionFromProvisioningArtifactOutput struct {
13792	_ struct{} `type:"structure"`
13793}
13794
13795// String returns the string representation
13796func (s DisassociateServiceActionFromProvisioningArtifactOutput) String() string {
13797	return awsutil.Prettify(s)
13798}
13799
13800// GoString returns the string representation
13801func (s DisassociateServiceActionFromProvisioningArtifactOutput) GoString() string {
13802	return s.String()
13803}
13804
13805type DisassociateTagOptionFromResourceInput struct {
13806	_ struct{} `type:"structure"`
13807
13808	// The resource identifier.
13809	//
13810	// ResourceId is a required field
13811	ResourceId *string `type:"string" required:"true"`
13812
13813	// The TagOption identifier.
13814	//
13815	// TagOptionId is a required field
13816	TagOptionId *string `min:"1" type:"string" required:"true"`
13817}
13818
13819// String returns the string representation
13820func (s DisassociateTagOptionFromResourceInput) String() string {
13821	return awsutil.Prettify(s)
13822}
13823
13824// GoString returns the string representation
13825func (s DisassociateTagOptionFromResourceInput) GoString() string {
13826	return s.String()
13827}
13828
13829// Validate inspects the fields of the type to determine if they are valid.
13830func (s *DisassociateTagOptionFromResourceInput) Validate() error {
13831	invalidParams := request.ErrInvalidParams{Context: "DisassociateTagOptionFromResourceInput"}
13832	if s.ResourceId == nil {
13833		invalidParams.Add(request.NewErrParamRequired("ResourceId"))
13834	}
13835	if s.TagOptionId == nil {
13836		invalidParams.Add(request.NewErrParamRequired("TagOptionId"))
13837	}
13838	if s.TagOptionId != nil && len(*s.TagOptionId) < 1 {
13839		invalidParams.Add(request.NewErrParamMinLen("TagOptionId", 1))
13840	}
13841
13842	if invalidParams.Len() > 0 {
13843		return invalidParams
13844	}
13845	return nil
13846}
13847
13848// SetResourceId sets the ResourceId field's value.
13849func (s *DisassociateTagOptionFromResourceInput) SetResourceId(v string) *DisassociateTagOptionFromResourceInput {
13850	s.ResourceId = &v
13851	return s
13852}
13853
13854// SetTagOptionId sets the TagOptionId field's value.
13855func (s *DisassociateTagOptionFromResourceInput) SetTagOptionId(v string) *DisassociateTagOptionFromResourceInput {
13856	s.TagOptionId = &v
13857	return s
13858}
13859
13860type DisassociateTagOptionFromResourceOutput struct {
13861	_ struct{} `type:"structure"`
13862}
13863
13864// String returns the string representation
13865func (s DisassociateTagOptionFromResourceOutput) String() string {
13866	return awsutil.Prettify(s)
13867}
13868
13869// GoString returns the string representation
13870func (s DisassociateTagOptionFromResourceOutput) GoString() string {
13871	return s.String()
13872}
13873
13874// The specified resource is a duplicate.
13875type DuplicateResourceException struct {
13876	_            struct{}                  `type:"structure"`
13877	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
13878
13879	Message_ *string `locationName:"message" type:"string"`
13880}
13881
13882// String returns the string representation
13883func (s DuplicateResourceException) String() string {
13884	return awsutil.Prettify(s)
13885}
13886
13887// GoString returns the string representation
13888func (s DuplicateResourceException) GoString() string {
13889	return s.String()
13890}
13891
13892func newErrorDuplicateResourceException(v protocol.ResponseMetadata) error {
13893	return &DuplicateResourceException{
13894		RespMetadata: v,
13895	}
13896}
13897
13898// Code returns the exception type name.
13899func (s *DuplicateResourceException) Code() string {
13900	return "DuplicateResourceException"
13901}
13902
13903// Message returns the exception's message.
13904func (s *DuplicateResourceException) Message() string {
13905	if s.Message_ != nil {
13906		return *s.Message_
13907	}
13908	return ""
13909}
13910
13911// OrigErr always returns nil, satisfies awserr.Error interface.
13912func (s *DuplicateResourceException) OrigErr() error {
13913	return nil
13914}
13915
13916func (s *DuplicateResourceException) Error() string {
13917	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
13918}
13919
13920// Status code returns the HTTP status code for the request's response error.
13921func (s *DuplicateResourceException) StatusCode() int {
13922	return s.RespMetadata.StatusCode
13923}
13924
13925// RequestID returns the service's response RequestID for request.
13926func (s *DuplicateResourceException) RequestID() string {
13927	return s.RespMetadata.RequestID
13928}
13929
13930type EnableAWSOrganizationsAccessInput struct {
13931	_ struct{} `type:"structure"`
13932}
13933
13934// String returns the string representation
13935func (s EnableAWSOrganizationsAccessInput) String() string {
13936	return awsutil.Prettify(s)
13937}
13938
13939// GoString returns the string representation
13940func (s EnableAWSOrganizationsAccessInput) GoString() string {
13941	return s.String()
13942}
13943
13944type EnableAWSOrganizationsAccessOutput struct {
13945	_ struct{} `type:"structure"`
13946}
13947
13948// String returns the string representation
13949func (s EnableAWSOrganizationsAccessOutput) String() string {
13950	return awsutil.Prettify(s)
13951}
13952
13953// GoString returns the string representation
13954func (s EnableAWSOrganizationsAccessOutput) GoString() string {
13955	return s.String()
13956}
13957
13958type ExecuteProvisionedProductPlanInput struct {
13959	_ struct{} `type:"structure"`
13960
13961	// The language code.
13962	//
13963	//    * en - English (default)
13964	//
13965	//    * jp - Japanese
13966	//
13967	//    * zh - Chinese
13968	AcceptLanguage *string `type:"string"`
13969
13970	// A unique identifier that you provide to ensure idempotency. If multiple requests
13971	// differ only by the idempotency token, the same response is returned for each
13972	// repeated request.
13973	IdempotencyToken *string `min:"1" type:"string" idempotencyToken:"true"`
13974
13975	// The plan identifier.
13976	//
13977	// PlanId is a required field
13978	PlanId *string `min:"1" type:"string" required:"true"`
13979}
13980
13981// String returns the string representation
13982func (s ExecuteProvisionedProductPlanInput) String() string {
13983	return awsutil.Prettify(s)
13984}
13985
13986// GoString returns the string representation
13987func (s ExecuteProvisionedProductPlanInput) GoString() string {
13988	return s.String()
13989}
13990
13991// Validate inspects the fields of the type to determine if they are valid.
13992func (s *ExecuteProvisionedProductPlanInput) Validate() error {
13993	invalidParams := request.ErrInvalidParams{Context: "ExecuteProvisionedProductPlanInput"}
13994	if s.IdempotencyToken != nil && len(*s.IdempotencyToken) < 1 {
13995		invalidParams.Add(request.NewErrParamMinLen("IdempotencyToken", 1))
13996	}
13997	if s.PlanId == nil {
13998		invalidParams.Add(request.NewErrParamRequired("PlanId"))
13999	}
14000	if s.PlanId != nil && len(*s.PlanId) < 1 {
14001		invalidParams.Add(request.NewErrParamMinLen("PlanId", 1))
14002	}
14003
14004	if invalidParams.Len() > 0 {
14005		return invalidParams
14006	}
14007	return nil
14008}
14009
14010// SetAcceptLanguage sets the AcceptLanguage field's value.
14011func (s *ExecuteProvisionedProductPlanInput) SetAcceptLanguage(v string) *ExecuteProvisionedProductPlanInput {
14012	s.AcceptLanguage = &v
14013	return s
14014}
14015
14016// SetIdempotencyToken sets the IdempotencyToken field's value.
14017func (s *ExecuteProvisionedProductPlanInput) SetIdempotencyToken(v string) *ExecuteProvisionedProductPlanInput {
14018	s.IdempotencyToken = &v
14019	return s
14020}
14021
14022// SetPlanId sets the PlanId field's value.
14023func (s *ExecuteProvisionedProductPlanInput) SetPlanId(v string) *ExecuteProvisionedProductPlanInput {
14024	s.PlanId = &v
14025	return s
14026}
14027
14028type ExecuteProvisionedProductPlanOutput struct {
14029	_ struct{} `type:"structure"`
14030
14031	// Information about the result of provisioning the product.
14032	RecordDetail *RecordDetail `type:"structure"`
14033}
14034
14035// String returns the string representation
14036func (s ExecuteProvisionedProductPlanOutput) String() string {
14037	return awsutil.Prettify(s)
14038}
14039
14040// GoString returns the string representation
14041func (s ExecuteProvisionedProductPlanOutput) GoString() string {
14042	return s.String()
14043}
14044
14045// SetRecordDetail sets the RecordDetail field's value.
14046func (s *ExecuteProvisionedProductPlanOutput) SetRecordDetail(v *RecordDetail) *ExecuteProvisionedProductPlanOutput {
14047	s.RecordDetail = v
14048	return s
14049}
14050
14051type ExecuteProvisionedProductServiceActionInput struct {
14052	_ struct{} `type:"structure"`
14053
14054	// The language code.
14055	//
14056	//    * en - English (default)
14057	//
14058	//    * jp - Japanese
14059	//
14060	//    * zh - Chinese
14061	AcceptLanguage *string `type:"string"`
14062
14063	// An idempotency token that uniquely identifies the execute request.
14064	ExecuteToken *string `min:"1" type:"string" idempotencyToken:"true"`
14065
14066	// A map of all self-service action parameters and their values. If a provided
14067	// parameter is of a special type, such as TARGET, the provided value will override
14068	// the default value generated by AWS Service Catalog. If the parameters field
14069	// is not provided, no additional parameters are passed and default values will
14070	// be used for any special parameters such as TARGET.
14071	Parameters map[string][]*string `min:"1" type:"map"`
14072
14073	// The identifier of the provisioned product.
14074	//
14075	// ProvisionedProductId is a required field
14076	ProvisionedProductId *string `min:"1" type:"string" required:"true"`
14077
14078	// The self-service action identifier. For example, act-fs7abcd89wxyz.
14079	//
14080	// ServiceActionId is a required field
14081	ServiceActionId *string `min:"1" type:"string" required:"true"`
14082}
14083
14084// String returns the string representation
14085func (s ExecuteProvisionedProductServiceActionInput) String() string {
14086	return awsutil.Prettify(s)
14087}
14088
14089// GoString returns the string representation
14090func (s ExecuteProvisionedProductServiceActionInput) GoString() string {
14091	return s.String()
14092}
14093
14094// Validate inspects the fields of the type to determine if they are valid.
14095func (s *ExecuteProvisionedProductServiceActionInput) Validate() error {
14096	invalidParams := request.ErrInvalidParams{Context: "ExecuteProvisionedProductServiceActionInput"}
14097	if s.ExecuteToken != nil && len(*s.ExecuteToken) < 1 {
14098		invalidParams.Add(request.NewErrParamMinLen("ExecuteToken", 1))
14099	}
14100	if s.Parameters != nil && len(s.Parameters) < 1 {
14101		invalidParams.Add(request.NewErrParamMinLen("Parameters", 1))
14102	}
14103	if s.ProvisionedProductId == nil {
14104		invalidParams.Add(request.NewErrParamRequired("ProvisionedProductId"))
14105	}
14106	if s.ProvisionedProductId != nil && len(*s.ProvisionedProductId) < 1 {
14107		invalidParams.Add(request.NewErrParamMinLen("ProvisionedProductId", 1))
14108	}
14109	if s.ServiceActionId == nil {
14110		invalidParams.Add(request.NewErrParamRequired("ServiceActionId"))
14111	}
14112	if s.ServiceActionId != nil && len(*s.ServiceActionId) < 1 {
14113		invalidParams.Add(request.NewErrParamMinLen("ServiceActionId", 1))
14114	}
14115
14116	if invalidParams.Len() > 0 {
14117		return invalidParams
14118	}
14119	return nil
14120}
14121
14122// SetAcceptLanguage sets the AcceptLanguage field's value.
14123func (s *ExecuteProvisionedProductServiceActionInput) SetAcceptLanguage(v string) *ExecuteProvisionedProductServiceActionInput {
14124	s.AcceptLanguage = &v
14125	return s
14126}
14127
14128// SetExecuteToken sets the ExecuteToken field's value.
14129func (s *ExecuteProvisionedProductServiceActionInput) SetExecuteToken(v string) *ExecuteProvisionedProductServiceActionInput {
14130	s.ExecuteToken = &v
14131	return s
14132}
14133
14134// SetParameters sets the Parameters field's value.
14135func (s *ExecuteProvisionedProductServiceActionInput) SetParameters(v map[string][]*string) *ExecuteProvisionedProductServiceActionInput {
14136	s.Parameters = v
14137	return s
14138}
14139
14140// SetProvisionedProductId sets the ProvisionedProductId field's value.
14141func (s *ExecuteProvisionedProductServiceActionInput) SetProvisionedProductId(v string) *ExecuteProvisionedProductServiceActionInput {
14142	s.ProvisionedProductId = &v
14143	return s
14144}
14145
14146// SetServiceActionId sets the ServiceActionId field's value.
14147func (s *ExecuteProvisionedProductServiceActionInput) SetServiceActionId(v string) *ExecuteProvisionedProductServiceActionInput {
14148	s.ServiceActionId = &v
14149	return s
14150}
14151
14152type ExecuteProvisionedProductServiceActionOutput struct {
14153	_ struct{} `type:"structure"`
14154
14155	// An object containing detailed information about the result of provisioning
14156	// the product.
14157	RecordDetail *RecordDetail `type:"structure"`
14158}
14159
14160// String returns the string representation
14161func (s ExecuteProvisionedProductServiceActionOutput) String() string {
14162	return awsutil.Prettify(s)
14163}
14164
14165// GoString returns the string representation
14166func (s ExecuteProvisionedProductServiceActionOutput) GoString() string {
14167	return s.String()
14168}
14169
14170// SetRecordDetail sets the RecordDetail field's value.
14171func (s *ExecuteProvisionedProductServiceActionOutput) SetRecordDetail(v *RecordDetail) *ExecuteProvisionedProductServiceActionOutput {
14172	s.RecordDetail = v
14173	return s
14174}
14175
14176// Details of an execution parameter value that is passed to a self-service
14177// action when executed on a provisioned product.
14178type ExecutionParameter struct {
14179	_ struct{} `type:"structure"`
14180
14181	// The default values for the execution parameter.
14182	DefaultValues []*string `type:"list"`
14183
14184	// The name of the execution parameter.
14185	Name *string `min:"1" type:"string"`
14186
14187	// The execution parameter type.
14188	Type *string `min:"1" type:"string"`
14189}
14190
14191// String returns the string representation
14192func (s ExecutionParameter) String() string {
14193	return awsutil.Prettify(s)
14194}
14195
14196// GoString returns the string representation
14197func (s ExecutionParameter) GoString() string {
14198	return s.String()
14199}
14200
14201// SetDefaultValues sets the DefaultValues field's value.
14202func (s *ExecutionParameter) SetDefaultValues(v []*string) *ExecutionParameter {
14203	s.DefaultValues = v
14204	return s
14205}
14206
14207// SetName sets the Name field's value.
14208func (s *ExecutionParameter) SetName(v string) *ExecutionParameter {
14209	s.Name = &v
14210	return s
14211}
14212
14213// SetType sets the Type field's value.
14214func (s *ExecutionParameter) SetType(v string) *ExecutionParameter {
14215	s.Type = &v
14216	return s
14217}
14218
14219// An object containing information about the error, along with identifying
14220// information about the self-service action and its associations.
14221type FailedServiceActionAssociation struct {
14222	_ struct{} `type:"structure"`
14223
14224	// The error code. Valid values are listed below.
14225	ErrorCode *string `type:"string" enum:"ServiceActionAssociationErrorCode"`
14226
14227	// A text description of the error.
14228	ErrorMessage *string `min:"1" type:"string"`
14229
14230	// The product identifier. For example, prod-abcdzk7xy33qa.
14231	ProductId *string `min:"1" type:"string"`
14232
14233	// The identifier of the provisioning artifact. For example, pa-4abcdjnxjj6ne.
14234	ProvisioningArtifactId *string `min:"1" type:"string"`
14235
14236	// The self-service action identifier. For example, act-fs7abcd89wxyz.
14237	ServiceActionId *string `min:"1" type:"string"`
14238}
14239
14240// String returns the string representation
14241func (s FailedServiceActionAssociation) String() string {
14242	return awsutil.Prettify(s)
14243}
14244
14245// GoString returns the string representation
14246func (s FailedServiceActionAssociation) GoString() string {
14247	return s.String()
14248}
14249
14250// SetErrorCode sets the ErrorCode field's value.
14251func (s *FailedServiceActionAssociation) SetErrorCode(v string) *FailedServiceActionAssociation {
14252	s.ErrorCode = &v
14253	return s
14254}
14255
14256// SetErrorMessage sets the ErrorMessage field's value.
14257func (s *FailedServiceActionAssociation) SetErrorMessage(v string) *FailedServiceActionAssociation {
14258	s.ErrorMessage = &v
14259	return s
14260}
14261
14262// SetProductId sets the ProductId field's value.
14263func (s *FailedServiceActionAssociation) SetProductId(v string) *FailedServiceActionAssociation {
14264	s.ProductId = &v
14265	return s
14266}
14267
14268// SetProvisioningArtifactId sets the ProvisioningArtifactId field's value.
14269func (s *FailedServiceActionAssociation) SetProvisioningArtifactId(v string) *FailedServiceActionAssociation {
14270	s.ProvisioningArtifactId = &v
14271	return s
14272}
14273
14274// SetServiceActionId sets the ServiceActionId field's value.
14275func (s *FailedServiceActionAssociation) SetServiceActionId(v string) *FailedServiceActionAssociation {
14276	s.ServiceActionId = &v
14277	return s
14278}
14279
14280type GetAWSOrganizationsAccessStatusInput struct {
14281	_ struct{} `type:"structure"`
14282}
14283
14284// String returns the string representation
14285func (s GetAWSOrganizationsAccessStatusInput) String() string {
14286	return awsutil.Prettify(s)
14287}
14288
14289// GoString returns the string representation
14290func (s GetAWSOrganizationsAccessStatusInput) GoString() string {
14291	return s.String()
14292}
14293
14294type GetAWSOrganizationsAccessStatusOutput struct {
14295	_ struct{} `type:"structure"`
14296
14297	// The status of the portfolio share feature.
14298	AccessStatus *string `type:"string" enum:"AccessStatus"`
14299}
14300
14301// String returns the string representation
14302func (s GetAWSOrganizationsAccessStatusOutput) String() string {
14303	return awsutil.Prettify(s)
14304}
14305
14306// GoString returns the string representation
14307func (s GetAWSOrganizationsAccessStatusOutput) GoString() string {
14308	return s.String()
14309}
14310
14311// SetAccessStatus sets the AccessStatus field's value.
14312func (s *GetAWSOrganizationsAccessStatusOutput) SetAccessStatus(v string) *GetAWSOrganizationsAccessStatusOutput {
14313	s.AccessStatus = &v
14314	return s
14315}
14316
14317type GetProvisionedProductOutputsInput struct {
14318	_ struct{} `type:"structure"`
14319
14320	// The language code.
14321	//
14322	//    * en - English (default)
14323	//
14324	//    * jp - Japanese
14325	//
14326	//    * zh - Chinese
14327	AcceptLanguage *string `type:"string"`
14328
14329	// The list of keys that the API should return with their values. If none are
14330	// provided, the API will return all outputs of the provisioned product.
14331	OutputKeys []*string `type:"list"`
14332
14333	// The maximum number of items to return with this call.
14334	PageSize *int64 `type:"integer"`
14335
14336	// The page token for the next set of results. To retrieve the first set of
14337	// results, use null.
14338	PageToken *string `type:"string"`
14339
14340	// The identifier of the provisioned product that you want the outputs from.
14341	ProvisionedProductId *string `min:"1" type:"string"`
14342
14343	// The name of the provisioned product that you want the outputs from.
14344	ProvisionedProductName *string `min:"1" type:"string"`
14345}
14346
14347// String returns the string representation
14348func (s GetProvisionedProductOutputsInput) String() string {
14349	return awsutil.Prettify(s)
14350}
14351
14352// GoString returns the string representation
14353func (s GetProvisionedProductOutputsInput) GoString() string {
14354	return s.String()
14355}
14356
14357// Validate inspects the fields of the type to determine if they are valid.
14358func (s *GetProvisionedProductOutputsInput) Validate() error {
14359	invalidParams := request.ErrInvalidParams{Context: "GetProvisionedProductOutputsInput"}
14360	if s.ProvisionedProductId != nil && len(*s.ProvisionedProductId) < 1 {
14361		invalidParams.Add(request.NewErrParamMinLen("ProvisionedProductId", 1))
14362	}
14363	if s.ProvisionedProductName != nil && len(*s.ProvisionedProductName) < 1 {
14364		invalidParams.Add(request.NewErrParamMinLen("ProvisionedProductName", 1))
14365	}
14366
14367	if invalidParams.Len() > 0 {
14368		return invalidParams
14369	}
14370	return nil
14371}
14372
14373// SetAcceptLanguage sets the AcceptLanguage field's value.
14374func (s *GetProvisionedProductOutputsInput) SetAcceptLanguage(v string) *GetProvisionedProductOutputsInput {
14375	s.AcceptLanguage = &v
14376	return s
14377}
14378
14379// SetOutputKeys sets the OutputKeys field's value.
14380func (s *GetProvisionedProductOutputsInput) SetOutputKeys(v []*string) *GetProvisionedProductOutputsInput {
14381	s.OutputKeys = v
14382	return s
14383}
14384
14385// SetPageSize sets the PageSize field's value.
14386func (s *GetProvisionedProductOutputsInput) SetPageSize(v int64) *GetProvisionedProductOutputsInput {
14387	s.PageSize = &v
14388	return s
14389}
14390
14391// SetPageToken sets the PageToken field's value.
14392func (s *GetProvisionedProductOutputsInput) SetPageToken(v string) *GetProvisionedProductOutputsInput {
14393	s.PageToken = &v
14394	return s
14395}
14396
14397// SetProvisionedProductId sets the ProvisionedProductId field's value.
14398func (s *GetProvisionedProductOutputsInput) SetProvisionedProductId(v string) *GetProvisionedProductOutputsInput {
14399	s.ProvisionedProductId = &v
14400	return s
14401}
14402
14403// SetProvisionedProductName sets the ProvisionedProductName field's value.
14404func (s *GetProvisionedProductOutputsInput) SetProvisionedProductName(v string) *GetProvisionedProductOutputsInput {
14405	s.ProvisionedProductName = &v
14406	return s
14407}
14408
14409type GetProvisionedProductOutputsOutput struct {
14410	_ struct{} `type:"structure"`
14411
14412	// The page token to use to retrieve the next set of results. If there are no
14413	// additional results, this value is null.
14414	NextPageToken *string `type:"string"`
14415
14416	// Information about the product created as the result of a request. For example,
14417	// the output for a CloudFormation-backed product that creates an S3 bucket
14418	// would include the S3 bucket URL.
14419	Outputs []*RecordOutput `type:"list"`
14420}
14421
14422// String returns the string representation
14423func (s GetProvisionedProductOutputsOutput) String() string {
14424	return awsutil.Prettify(s)
14425}
14426
14427// GoString returns the string representation
14428func (s GetProvisionedProductOutputsOutput) GoString() string {
14429	return s.String()
14430}
14431
14432// SetNextPageToken sets the NextPageToken field's value.
14433func (s *GetProvisionedProductOutputsOutput) SetNextPageToken(v string) *GetProvisionedProductOutputsOutput {
14434	s.NextPageToken = &v
14435	return s
14436}
14437
14438// SetOutputs sets the Outputs field's value.
14439func (s *GetProvisionedProductOutputsOutput) SetOutputs(v []*RecordOutput) *GetProvisionedProductOutputsOutput {
14440	s.Outputs = v
14441	return s
14442}
14443
14444type ImportAsProvisionedProductInput struct {
14445	_ struct{} `type:"structure"`
14446
14447	// The language code.
14448	//
14449	//    * en - English (default)
14450	//
14451	//    * jp - Japanese
14452	//
14453	//    * zh - Chinese
14454	AcceptLanguage *string `type:"string"`
14455
14456	// A unique identifier that you provide to ensure idempotency. If multiple requests
14457	// differ only by the idempotency token, the same response is returned for each
14458	// repeated request.
14459	IdempotencyToken *string `min:"1" type:"string" idempotencyToken:"true"`
14460
14461	// The unique identifier of the resource to be imported. It only currently supports
14462	// CloudFormation stack IDs.
14463	//
14464	// PhysicalId is a required field
14465	PhysicalId *string `type:"string" required:"true"`
14466
14467	// The product identifier.
14468	//
14469	// ProductId is a required field
14470	ProductId *string `min:"1" type:"string" required:"true"`
14471
14472	// The user-friendly name of the provisioned product. The value must be unique
14473	// for the AWS account. The name cannot be updated after the product is provisioned.
14474	//
14475	// ProvisionedProductName is a required field
14476	ProvisionedProductName *string `min:"1" type:"string" required:"true"`
14477
14478	// The identifier of the provisioning artifact.
14479	//
14480	// ProvisioningArtifactId is a required field
14481	ProvisioningArtifactId *string `min:"1" type:"string" required:"true"`
14482}
14483
14484// String returns the string representation
14485func (s ImportAsProvisionedProductInput) String() string {
14486	return awsutil.Prettify(s)
14487}
14488
14489// GoString returns the string representation
14490func (s ImportAsProvisionedProductInput) GoString() string {
14491	return s.String()
14492}
14493
14494// Validate inspects the fields of the type to determine if they are valid.
14495func (s *ImportAsProvisionedProductInput) Validate() error {
14496	invalidParams := request.ErrInvalidParams{Context: "ImportAsProvisionedProductInput"}
14497	if s.IdempotencyToken != nil && len(*s.IdempotencyToken) < 1 {
14498		invalidParams.Add(request.NewErrParamMinLen("IdempotencyToken", 1))
14499	}
14500	if s.PhysicalId == nil {
14501		invalidParams.Add(request.NewErrParamRequired("PhysicalId"))
14502	}
14503	if s.ProductId == nil {
14504		invalidParams.Add(request.NewErrParamRequired("ProductId"))
14505	}
14506	if s.ProductId != nil && len(*s.ProductId) < 1 {
14507		invalidParams.Add(request.NewErrParamMinLen("ProductId", 1))
14508	}
14509	if s.ProvisionedProductName == nil {
14510		invalidParams.Add(request.NewErrParamRequired("ProvisionedProductName"))
14511	}
14512	if s.ProvisionedProductName != nil && len(*s.ProvisionedProductName) < 1 {
14513		invalidParams.Add(request.NewErrParamMinLen("ProvisionedProductName", 1))
14514	}
14515	if s.ProvisioningArtifactId == nil {
14516		invalidParams.Add(request.NewErrParamRequired("ProvisioningArtifactId"))
14517	}
14518	if s.ProvisioningArtifactId != nil && len(*s.ProvisioningArtifactId) < 1 {
14519		invalidParams.Add(request.NewErrParamMinLen("ProvisioningArtifactId", 1))
14520	}
14521
14522	if invalidParams.Len() > 0 {
14523		return invalidParams
14524	}
14525	return nil
14526}
14527
14528// SetAcceptLanguage sets the AcceptLanguage field's value.
14529func (s *ImportAsProvisionedProductInput) SetAcceptLanguage(v string) *ImportAsProvisionedProductInput {
14530	s.AcceptLanguage = &v
14531	return s
14532}
14533
14534// SetIdempotencyToken sets the IdempotencyToken field's value.
14535func (s *ImportAsProvisionedProductInput) SetIdempotencyToken(v string) *ImportAsProvisionedProductInput {
14536	s.IdempotencyToken = &v
14537	return s
14538}
14539
14540// SetPhysicalId sets the PhysicalId field's value.
14541func (s *ImportAsProvisionedProductInput) SetPhysicalId(v string) *ImportAsProvisionedProductInput {
14542	s.PhysicalId = &v
14543	return s
14544}
14545
14546// SetProductId sets the ProductId field's value.
14547func (s *ImportAsProvisionedProductInput) SetProductId(v string) *ImportAsProvisionedProductInput {
14548	s.ProductId = &v
14549	return s
14550}
14551
14552// SetProvisionedProductName sets the ProvisionedProductName field's value.
14553func (s *ImportAsProvisionedProductInput) SetProvisionedProductName(v string) *ImportAsProvisionedProductInput {
14554	s.ProvisionedProductName = &v
14555	return s
14556}
14557
14558// SetProvisioningArtifactId sets the ProvisioningArtifactId field's value.
14559func (s *ImportAsProvisionedProductInput) SetProvisioningArtifactId(v string) *ImportAsProvisionedProductInput {
14560	s.ProvisioningArtifactId = &v
14561	return s
14562}
14563
14564type ImportAsProvisionedProductOutput struct {
14565	_ struct{} `type:"structure"`
14566
14567	// Information about a request operation.
14568	RecordDetail *RecordDetail `type:"structure"`
14569}
14570
14571// String returns the string representation
14572func (s ImportAsProvisionedProductOutput) String() string {
14573	return awsutil.Prettify(s)
14574}
14575
14576// GoString returns the string representation
14577func (s ImportAsProvisionedProductOutput) GoString() string {
14578	return s.String()
14579}
14580
14581// SetRecordDetail sets the RecordDetail field's value.
14582func (s *ImportAsProvisionedProductOutput) SetRecordDetail(v *RecordDetail) *ImportAsProvisionedProductOutput {
14583	s.RecordDetail = v
14584	return s
14585}
14586
14587// One or more parameters provided to the operation are not valid.
14588type InvalidParametersException struct {
14589	_            struct{}                  `type:"structure"`
14590	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
14591
14592	Message_ *string `locationName:"message" type:"string"`
14593}
14594
14595// String returns the string representation
14596func (s InvalidParametersException) String() string {
14597	return awsutil.Prettify(s)
14598}
14599
14600// GoString returns the string representation
14601func (s InvalidParametersException) GoString() string {
14602	return s.String()
14603}
14604
14605func newErrorInvalidParametersException(v protocol.ResponseMetadata) error {
14606	return &InvalidParametersException{
14607		RespMetadata: v,
14608	}
14609}
14610
14611// Code returns the exception type name.
14612func (s *InvalidParametersException) Code() string {
14613	return "InvalidParametersException"
14614}
14615
14616// Message returns the exception's message.
14617func (s *InvalidParametersException) Message() string {
14618	if s.Message_ != nil {
14619		return *s.Message_
14620	}
14621	return ""
14622}
14623
14624// OrigErr always returns nil, satisfies awserr.Error interface.
14625func (s *InvalidParametersException) OrigErr() error {
14626	return nil
14627}
14628
14629func (s *InvalidParametersException) Error() string {
14630	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
14631}
14632
14633// Status code returns the HTTP status code for the request's response error.
14634func (s *InvalidParametersException) StatusCode() int {
14635	return s.RespMetadata.StatusCode
14636}
14637
14638// RequestID returns the service's response RequestID for request.
14639func (s *InvalidParametersException) RequestID() string {
14640	return s.RespMetadata.RequestID
14641}
14642
14643// An attempt was made to modify a resource that is in a state that is not valid.
14644// Check your resources to ensure that they are in valid states before retrying
14645// the operation.
14646type InvalidStateException struct {
14647	_            struct{}                  `type:"structure"`
14648	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
14649
14650	Message_ *string `locationName:"message" type:"string"`
14651}
14652
14653// String returns the string representation
14654func (s InvalidStateException) String() string {
14655	return awsutil.Prettify(s)
14656}
14657
14658// GoString returns the string representation
14659func (s InvalidStateException) GoString() string {
14660	return s.String()
14661}
14662
14663func newErrorInvalidStateException(v protocol.ResponseMetadata) error {
14664	return &InvalidStateException{
14665		RespMetadata: v,
14666	}
14667}
14668
14669// Code returns the exception type name.
14670func (s *InvalidStateException) Code() string {
14671	return "InvalidStateException"
14672}
14673
14674// Message returns the exception's message.
14675func (s *InvalidStateException) Message() string {
14676	if s.Message_ != nil {
14677		return *s.Message_
14678	}
14679	return ""
14680}
14681
14682// OrigErr always returns nil, satisfies awserr.Error interface.
14683func (s *InvalidStateException) OrigErr() error {
14684	return nil
14685}
14686
14687func (s *InvalidStateException) Error() string {
14688	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
14689}
14690
14691// Status code returns the HTTP status code for the request's response error.
14692func (s *InvalidStateException) StatusCode() int {
14693	return s.RespMetadata.StatusCode
14694}
14695
14696// RequestID returns the service's response RequestID for request.
14697func (s *InvalidStateException) RequestID() string {
14698	return s.RespMetadata.RequestID
14699}
14700
14701// A launch path object.
14702type LaunchPath struct {
14703	_ struct{} `type:"structure"`
14704
14705	// The identifier of the launch path.
14706	Id *string `min:"1" type:"string"`
14707
14708	// The name of the launch path.
14709	Name *string `type:"string"`
14710}
14711
14712// String returns the string representation
14713func (s LaunchPath) String() string {
14714	return awsutil.Prettify(s)
14715}
14716
14717// GoString returns the string representation
14718func (s LaunchPath) GoString() string {
14719	return s.String()
14720}
14721
14722// SetId sets the Id field's value.
14723func (s *LaunchPath) SetId(v string) *LaunchPath {
14724	s.Id = &v
14725	return s
14726}
14727
14728// SetName sets the Name field's value.
14729func (s *LaunchPath) SetName(v string) *LaunchPath {
14730	s.Name = &v
14731	return s
14732}
14733
14734// Summary information about a product path for a user.
14735type LaunchPathSummary struct {
14736	_ struct{} `type:"structure"`
14737
14738	// The constraints on the portfolio-product relationship.
14739	ConstraintSummaries []*ConstraintSummary `type:"list"`
14740
14741	// The identifier of the product path.
14742	Id *string `min:"1" type:"string"`
14743
14744	// The name of the portfolio to which the user was assigned.
14745	Name *string `type:"string"`
14746
14747	// The tags associated with this product path.
14748	Tags []*Tag `type:"list"`
14749}
14750
14751// String returns the string representation
14752func (s LaunchPathSummary) String() string {
14753	return awsutil.Prettify(s)
14754}
14755
14756// GoString returns the string representation
14757func (s LaunchPathSummary) GoString() string {
14758	return s.String()
14759}
14760
14761// SetConstraintSummaries sets the ConstraintSummaries field's value.
14762func (s *LaunchPathSummary) SetConstraintSummaries(v []*ConstraintSummary) *LaunchPathSummary {
14763	s.ConstraintSummaries = v
14764	return s
14765}
14766
14767// SetId sets the Id field's value.
14768func (s *LaunchPathSummary) SetId(v string) *LaunchPathSummary {
14769	s.Id = &v
14770	return s
14771}
14772
14773// SetName sets the Name field's value.
14774func (s *LaunchPathSummary) SetName(v string) *LaunchPathSummary {
14775	s.Name = &v
14776	return s
14777}
14778
14779// SetTags sets the Tags field's value.
14780func (s *LaunchPathSummary) SetTags(v []*Tag) *LaunchPathSummary {
14781	s.Tags = v
14782	return s
14783}
14784
14785// The current limits of the service would have been exceeded by this operation.
14786// Decrease your resource use or increase your service limits and retry the
14787// operation.
14788type LimitExceededException struct {
14789	_            struct{}                  `type:"structure"`
14790	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
14791
14792	Message_ *string `locationName:"message" type:"string"`
14793}
14794
14795// String returns the string representation
14796func (s LimitExceededException) String() string {
14797	return awsutil.Prettify(s)
14798}
14799
14800// GoString returns the string representation
14801func (s LimitExceededException) GoString() string {
14802	return s.String()
14803}
14804
14805func newErrorLimitExceededException(v protocol.ResponseMetadata) error {
14806	return &LimitExceededException{
14807		RespMetadata: v,
14808	}
14809}
14810
14811// Code returns the exception type name.
14812func (s *LimitExceededException) Code() string {
14813	return "LimitExceededException"
14814}
14815
14816// Message returns the exception's message.
14817func (s *LimitExceededException) Message() string {
14818	if s.Message_ != nil {
14819		return *s.Message_
14820	}
14821	return ""
14822}
14823
14824// OrigErr always returns nil, satisfies awserr.Error interface.
14825func (s *LimitExceededException) OrigErr() error {
14826	return nil
14827}
14828
14829func (s *LimitExceededException) Error() string {
14830	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
14831}
14832
14833// Status code returns the HTTP status code for the request's response error.
14834func (s *LimitExceededException) StatusCode() int {
14835	return s.RespMetadata.StatusCode
14836}
14837
14838// RequestID returns the service's response RequestID for request.
14839func (s *LimitExceededException) RequestID() string {
14840	return s.RespMetadata.RequestID
14841}
14842
14843type ListAcceptedPortfolioSharesInput struct {
14844	_ struct{} `type:"structure"`
14845
14846	// The language code.
14847	//
14848	//    * en - English (default)
14849	//
14850	//    * jp - Japanese
14851	//
14852	//    * zh - Chinese
14853	AcceptLanguage *string `type:"string"`
14854
14855	// The maximum number of items to return with this call.
14856	PageSize *int64 `type:"integer"`
14857
14858	// The page token for the next set of results. To retrieve the first set of
14859	// results, use null.
14860	PageToken *string `type:"string"`
14861
14862	// The type of shared portfolios to list. The default is to list imported portfolios.
14863	//
14864	//    * AWS_ORGANIZATIONS - List portfolios shared by the management account
14865	//    of your organization
14866	//
14867	//    * AWS_SERVICECATALOG - List default portfolios
14868	//
14869	//    * IMPORTED - List imported portfolios
14870	PortfolioShareType *string `type:"string" enum:"PortfolioShareType"`
14871}
14872
14873// String returns the string representation
14874func (s ListAcceptedPortfolioSharesInput) String() string {
14875	return awsutil.Prettify(s)
14876}
14877
14878// GoString returns the string representation
14879func (s ListAcceptedPortfolioSharesInput) GoString() string {
14880	return s.String()
14881}
14882
14883// SetAcceptLanguage sets the AcceptLanguage field's value.
14884func (s *ListAcceptedPortfolioSharesInput) SetAcceptLanguage(v string) *ListAcceptedPortfolioSharesInput {
14885	s.AcceptLanguage = &v
14886	return s
14887}
14888
14889// SetPageSize sets the PageSize field's value.
14890func (s *ListAcceptedPortfolioSharesInput) SetPageSize(v int64) *ListAcceptedPortfolioSharesInput {
14891	s.PageSize = &v
14892	return s
14893}
14894
14895// SetPageToken sets the PageToken field's value.
14896func (s *ListAcceptedPortfolioSharesInput) SetPageToken(v string) *ListAcceptedPortfolioSharesInput {
14897	s.PageToken = &v
14898	return s
14899}
14900
14901// SetPortfolioShareType sets the PortfolioShareType field's value.
14902func (s *ListAcceptedPortfolioSharesInput) SetPortfolioShareType(v string) *ListAcceptedPortfolioSharesInput {
14903	s.PortfolioShareType = &v
14904	return s
14905}
14906
14907type ListAcceptedPortfolioSharesOutput struct {
14908	_ struct{} `type:"structure"`
14909
14910	// The page token to use to retrieve the next set of results. If there are no
14911	// additional results, this value is null.
14912	NextPageToken *string `type:"string"`
14913
14914	// Information about the portfolios.
14915	PortfolioDetails []*PortfolioDetail `type:"list"`
14916}
14917
14918// String returns the string representation
14919func (s ListAcceptedPortfolioSharesOutput) String() string {
14920	return awsutil.Prettify(s)
14921}
14922
14923// GoString returns the string representation
14924func (s ListAcceptedPortfolioSharesOutput) GoString() string {
14925	return s.String()
14926}
14927
14928// SetNextPageToken sets the NextPageToken field's value.
14929func (s *ListAcceptedPortfolioSharesOutput) SetNextPageToken(v string) *ListAcceptedPortfolioSharesOutput {
14930	s.NextPageToken = &v
14931	return s
14932}
14933
14934// SetPortfolioDetails sets the PortfolioDetails field's value.
14935func (s *ListAcceptedPortfolioSharesOutput) SetPortfolioDetails(v []*PortfolioDetail) *ListAcceptedPortfolioSharesOutput {
14936	s.PortfolioDetails = v
14937	return s
14938}
14939
14940type ListBudgetsForResourceInput struct {
14941	_ struct{} `type:"structure"`
14942
14943	// The language code.
14944	//
14945	//    * en - English (default)
14946	//
14947	//    * jp - Japanese
14948	//
14949	//    * zh - Chinese
14950	AcceptLanguage *string `type:"string"`
14951
14952	// The maximum number of items to return with this call.
14953	PageSize *int64 `type:"integer"`
14954
14955	// The page token for the next set of results. To retrieve the first set of
14956	// results, use null.
14957	PageToken *string `type:"string"`
14958
14959	// The resource identifier.
14960	//
14961	// ResourceId is a required field
14962	ResourceId *string `min:"1" type:"string" required:"true"`
14963}
14964
14965// String returns the string representation
14966func (s ListBudgetsForResourceInput) String() string {
14967	return awsutil.Prettify(s)
14968}
14969
14970// GoString returns the string representation
14971func (s ListBudgetsForResourceInput) GoString() string {
14972	return s.String()
14973}
14974
14975// Validate inspects the fields of the type to determine if they are valid.
14976func (s *ListBudgetsForResourceInput) Validate() error {
14977	invalidParams := request.ErrInvalidParams{Context: "ListBudgetsForResourceInput"}
14978	if s.ResourceId == nil {
14979		invalidParams.Add(request.NewErrParamRequired("ResourceId"))
14980	}
14981	if s.ResourceId != nil && len(*s.ResourceId) < 1 {
14982		invalidParams.Add(request.NewErrParamMinLen("ResourceId", 1))
14983	}
14984
14985	if invalidParams.Len() > 0 {
14986		return invalidParams
14987	}
14988	return nil
14989}
14990
14991// SetAcceptLanguage sets the AcceptLanguage field's value.
14992func (s *ListBudgetsForResourceInput) SetAcceptLanguage(v string) *ListBudgetsForResourceInput {
14993	s.AcceptLanguage = &v
14994	return s
14995}
14996
14997// SetPageSize sets the PageSize field's value.
14998func (s *ListBudgetsForResourceInput) SetPageSize(v int64) *ListBudgetsForResourceInput {
14999	s.PageSize = &v
15000	return s
15001}
15002
15003// SetPageToken sets the PageToken field's value.
15004func (s *ListBudgetsForResourceInput) SetPageToken(v string) *ListBudgetsForResourceInput {
15005	s.PageToken = &v
15006	return s
15007}
15008
15009// SetResourceId sets the ResourceId field's value.
15010func (s *ListBudgetsForResourceInput) SetResourceId(v string) *ListBudgetsForResourceInput {
15011	s.ResourceId = &v
15012	return s
15013}
15014
15015type ListBudgetsForResourceOutput struct {
15016	_ struct{} `type:"structure"`
15017
15018	// Information about the associated budgets.
15019	Budgets []*BudgetDetail `type:"list"`
15020
15021	// The page token to use to retrieve the next set of results. If there are no
15022	// additional results, this value is null.
15023	NextPageToken *string `type:"string"`
15024}
15025
15026// String returns the string representation
15027func (s ListBudgetsForResourceOutput) String() string {
15028	return awsutil.Prettify(s)
15029}
15030
15031// GoString returns the string representation
15032func (s ListBudgetsForResourceOutput) GoString() string {
15033	return s.String()
15034}
15035
15036// SetBudgets sets the Budgets field's value.
15037func (s *ListBudgetsForResourceOutput) SetBudgets(v []*BudgetDetail) *ListBudgetsForResourceOutput {
15038	s.Budgets = v
15039	return s
15040}
15041
15042// SetNextPageToken sets the NextPageToken field's value.
15043func (s *ListBudgetsForResourceOutput) SetNextPageToken(v string) *ListBudgetsForResourceOutput {
15044	s.NextPageToken = &v
15045	return s
15046}
15047
15048type ListConstraintsForPortfolioInput struct {
15049	_ struct{} `type:"structure"`
15050
15051	// The language code.
15052	//
15053	//    * en - English (default)
15054	//
15055	//    * jp - Japanese
15056	//
15057	//    * zh - Chinese
15058	AcceptLanguage *string `type:"string"`
15059
15060	// The maximum number of items to return with this call.
15061	PageSize *int64 `type:"integer"`
15062
15063	// The page token for the next set of results. To retrieve the first set of
15064	// results, use null.
15065	PageToken *string `type:"string"`
15066
15067	// The portfolio identifier.
15068	//
15069	// PortfolioId is a required field
15070	PortfolioId *string `min:"1" type:"string" required:"true"`
15071
15072	// The product identifier.
15073	ProductId *string `min:"1" type:"string"`
15074}
15075
15076// String returns the string representation
15077func (s ListConstraintsForPortfolioInput) String() string {
15078	return awsutil.Prettify(s)
15079}
15080
15081// GoString returns the string representation
15082func (s ListConstraintsForPortfolioInput) GoString() string {
15083	return s.String()
15084}
15085
15086// Validate inspects the fields of the type to determine if they are valid.
15087func (s *ListConstraintsForPortfolioInput) Validate() error {
15088	invalidParams := request.ErrInvalidParams{Context: "ListConstraintsForPortfolioInput"}
15089	if s.PortfolioId == nil {
15090		invalidParams.Add(request.NewErrParamRequired("PortfolioId"))
15091	}
15092	if s.PortfolioId != nil && len(*s.PortfolioId) < 1 {
15093		invalidParams.Add(request.NewErrParamMinLen("PortfolioId", 1))
15094	}
15095	if s.ProductId != nil && len(*s.ProductId) < 1 {
15096		invalidParams.Add(request.NewErrParamMinLen("ProductId", 1))
15097	}
15098
15099	if invalidParams.Len() > 0 {
15100		return invalidParams
15101	}
15102	return nil
15103}
15104
15105// SetAcceptLanguage sets the AcceptLanguage field's value.
15106func (s *ListConstraintsForPortfolioInput) SetAcceptLanguage(v string) *ListConstraintsForPortfolioInput {
15107	s.AcceptLanguage = &v
15108	return s
15109}
15110
15111// SetPageSize sets the PageSize field's value.
15112func (s *ListConstraintsForPortfolioInput) SetPageSize(v int64) *ListConstraintsForPortfolioInput {
15113	s.PageSize = &v
15114	return s
15115}
15116
15117// SetPageToken sets the PageToken field's value.
15118func (s *ListConstraintsForPortfolioInput) SetPageToken(v string) *ListConstraintsForPortfolioInput {
15119	s.PageToken = &v
15120	return s
15121}
15122
15123// SetPortfolioId sets the PortfolioId field's value.
15124func (s *ListConstraintsForPortfolioInput) SetPortfolioId(v string) *ListConstraintsForPortfolioInput {
15125	s.PortfolioId = &v
15126	return s
15127}
15128
15129// SetProductId sets the ProductId field's value.
15130func (s *ListConstraintsForPortfolioInput) SetProductId(v string) *ListConstraintsForPortfolioInput {
15131	s.ProductId = &v
15132	return s
15133}
15134
15135type ListConstraintsForPortfolioOutput struct {
15136	_ struct{} `type:"structure"`
15137
15138	// Information about the constraints.
15139	ConstraintDetails []*ConstraintDetail `type:"list"`
15140
15141	// The page token to use to retrieve the next set of results. If there are no
15142	// additional results, this value is null.
15143	NextPageToken *string `type:"string"`
15144}
15145
15146// String returns the string representation
15147func (s ListConstraintsForPortfolioOutput) String() string {
15148	return awsutil.Prettify(s)
15149}
15150
15151// GoString returns the string representation
15152func (s ListConstraintsForPortfolioOutput) GoString() string {
15153	return s.String()
15154}
15155
15156// SetConstraintDetails sets the ConstraintDetails field's value.
15157func (s *ListConstraintsForPortfolioOutput) SetConstraintDetails(v []*ConstraintDetail) *ListConstraintsForPortfolioOutput {
15158	s.ConstraintDetails = v
15159	return s
15160}
15161
15162// SetNextPageToken sets the NextPageToken field's value.
15163func (s *ListConstraintsForPortfolioOutput) SetNextPageToken(v string) *ListConstraintsForPortfolioOutput {
15164	s.NextPageToken = &v
15165	return s
15166}
15167
15168type ListLaunchPathsInput struct {
15169	_ struct{} `type:"structure"`
15170
15171	// The language code.
15172	//
15173	//    * en - English (default)
15174	//
15175	//    * jp - Japanese
15176	//
15177	//    * zh - Chinese
15178	AcceptLanguage *string `type:"string"`
15179
15180	// The maximum number of items to return with this call.
15181	PageSize *int64 `type:"integer"`
15182
15183	// The page token for the next set of results. To retrieve the first set of
15184	// results, use null.
15185	PageToken *string `type:"string"`
15186
15187	// The product identifier.
15188	//
15189	// ProductId is a required field
15190	ProductId *string `min:"1" type:"string" required:"true"`
15191}
15192
15193// String returns the string representation
15194func (s ListLaunchPathsInput) String() string {
15195	return awsutil.Prettify(s)
15196}
15197
15198// GoString returns the string representation
15199func (s ListLaunchPathsInput) GoString() string {
15200	return s.String()
15201}
15202
15203// Validate inspects the fields of the type to determine if they are valid.
15204func (s *ListLaunchPathsInput) Validate() error {
15205	invalidParams := request.ErrInvalidParams{Context: "ListLaunchPathsInput"}
15206	if s.ProductId == nil {
15207		invalidParams.Add(request.NewErrParamRequired("ProductId"))
15208	}
15209	if s.ProductId != nil && len(*s.ProductId) < 1 {
15210		invalidParams.Add(request.NewErrParamMinLen("ProductId", 1))
15211	}
15212
15213	if invalidParams.Len() > 0 {
15214		return invalidParams
15215	}
15216	return nil
15217}
15218
15219// SetAcceptLanguage sets the AcceptLanguage field's value.
15220func (s *ListLaunchPathsInput) SetAcceptLanguage(v string) *ListLaunchPathsInput {
15221	s.AcceptLanguage = &v
15222	return s
15223}
15224
15225// SetPageSize sets the PageSize field's value.
15226func (s *ListLaunchPathsInput) SetPageSize(v int64) *ListLaunchPathsInput {
15227	s.PageSize = &v
15228	return s
15229}
15230
15231// SetPageToken sets the PageToken field's value.
15232func (s *ListLaunchPathsInput) SetPageToken(v string) *ListLaunchPathsInput {
15233	s.PageToken = &v
15234	return s
15235}
15236
15237// SetProductId sets the ProductId field's value.
15238func (s *ListLaunchPathsInput) SetProductId(v string) *ListLaunchPathsInput {
15239	s.ProductId = &v
15240	return s
15241}
15242
15243type ListLaunchPathsOutput struct {
15244	_ struct{} `type:"structure"`
15245
15246	// Information about the launch path.
15247	LaunchPathSummaries []*LaunchPathSummary `type:"list"`
15248
15249	// The page token to use to retrieve the next set of results. If there are no
15250	// additional results, this value is null.
15251	NextPageToken *string `type:"string"`
15252}
15253
15254// String returns the string representation
15255func (s ListLaunchPathsOutput) String() string {
15256	return awsutil.Prettify(s)
15257}
15258
15259// GoString returns the string representation
15260func (s ListLaunchPathsOutput) GoString() string {
15261	return s.String()
15262}
15263
15264// SetLaunchPathSummaries sets the LaunchPathSummaries field's value.
15265func (s *ListLaunchPathsOutput) SetLaunchPathSummaries(v []*LaunchPathSummary) *ListLaunchPathsOutput {
15266	s.LaunchPathSummaries = v
15267	return s
15268}
15269
15270// SetNextPageToken sets the NextPageToken field's value.
15271func (s *ListLaunchPathsOutput) SetNextPageToken(v string) *ListLaunchPathsOutput {
15272	s.NextPageToken = &v
15273	return s
15274}
15275
15276type ListOrganizationPortfolioAccessInput struct {
15277	_ struct{} `type:"structure"`
15278
15279	// The language code.
15280	//
15281	//    * en - English (default)
15282	//
15283	//    * jp - Japanese
15284	//
15285	//    * zh - Chinese
15286	AcceptLanguage *string `type:"string"`
15287
15288	// The organization node type that will be returned in the output.
15289	//
15290	//    * ORGANIZATION - Organization that has access to the portfolio.
15291	//
15292	//    * ORGANIZATIONAL_UNIT - Organizational unit that has access to the portfolio
15293	//    within your organization.
15294	//
15295	//    * ACCOUNT - Account that has access to the portfolio within your organization.
15296	//
15297	// OrganizationNodeType is a required field
15298	OrganizationNodeType *string `type:"string" required:"true" enum:"OrganizationNodeType"`
15299
15300	// The maximum number of items to return with this call.
15301	PageSize *int64 `type:"integer"`
15302
15303	// The page token for the next set of results. To retrieve the first set of
15304	// results, use null.
15305	PageToken *string `type:"string"`
15306
15307	// The portfolio identifier. For example, port-2abcdext3y5fk.
15308	//
15309	// PortfolioId is a required field
15310	PortfolioId *string `min:"1" type:"string" required:"true"`
15311}
15312
15313// String returns the string representation
15314func (s ListOrganizationPortfolioAccessInput) String() string {
15315	return awsutil.Prettify(s)
15316}
15317
15318// GoString returns the string representation
15319func (s ListOrganizationPortfolioAccessInput) GoString() string {
15320	return s.String()
15321}
15322
15323// Validate inspects the fields of the type to determine if they are valid.
15324func (s *ListOrganizationPortfolioAccessInput) Validate() error {
15325	invalidParams := request.ErrInvalidParams{Context: "ListOrganizationPortfolioAccessInput"}
15326	if s.OrganizationNodeType == nil {
15327		invalidParams.Add(request.NewErrParamRequired("OrganizationNodeType"))
15328	}
15329	if s.PortfolioId == nil {
15330		invalidParams.Add(request.NewErrParamRequired("PortfolioId"))
15331	}
15332	if s.PortfolioId != nil && len(*s.PortfolioId) < 1 {
15333		invalidParams.Add(request.NewErrParamMinLen("PortfolioId", 1))
15334	}
15335
15336	if invalidParams.Len() > 0 {
15337		return invalidParams
15338	}
15339	return nil
15340}
15341
15342// SetAcceptLanguage sets the AcceptLanguage field's value.
15343func (s *ListOrganizationPortfolioAccessInput) SetAcceptLanguage(v string) *ListOrganizationPortfolioAccessInput {
15344	s.AcceptLanguage = &v
15345	return s
15346}
15347
15348// SetOrganizationNodeType sets the OrganizationNodeType field's value.
15349func (s *ListOrganizationPortfolioAccessInput) SetOrganizationNodeType(v string) *ListOrganizationPortfolioAccessInput {
15350	s.OrganizationNodeType = &v
15351	return s
15352}
15353
15354// SetPageSize sets the PageSize field's value.
15355func (s *ListOrganizationPortfolioAccessInput) SetPageSize(v int64) *ListOrganizationPortfolioAccessInput {
15356	s.PageSize = &v
15357	return s
15358}
15359
15360// SetPageToken sets the PageToken field's value.
15361func (s *ListOrganizationPortfolioAccessInput) SetPageToken(v string) *ListOrganizationPortfolioAccessInput {
15362	s.PageToken = &v
15363	return s
15364}
15365
15366// SetPortfolioId sets the PortfolioId field's value.
15367func (s *ListOrganizationPortfolioAccessInput) SetPortfolioId(v string) *ListOrganizationPortfolioAccessInput {
15368	s.PortfolioId = &v
15369	return s
15370}
15371
15372type ListOrganizationPortfolioAccessOutput struct {
15373	_ struct{} `type:"structure"`
15374
15375	// The page token to use to retrieve the next set of results. If there are no
15376	// additional results, this value is null.
15377	NextPageToken *string `type:"string"`
15378
15379	// Displays information about the organization nodes.
15380	OrganizationNodes []*OrganizationNode `type:"list"`
15381}
15382
15383// String returns the string representation
15384func (s ListOrganizationPortfolioAccessOutput) String() string {
15385	return awsutil.Prettify(s)
15386}
15387
15388// GoString returns the string representation
15389func (s ListOrganizationPortfolioAccessOutput) GoString() string {
15390	return s.String()
15391}
15392
15393// SetNextPageToken sets the NextPageToken field's value.
15394func (s *ListOrganizationPortfolioAccessOutput) SetNextPageToken(v string) *ListOrganizationPortfolioAccessOutput {
15395	s.NextPageToken = &v
15396	return s
15397}
15398
15399// SetOrganizationNodes sets the OrganizationNodes field's value.
15400func (s *ListOrganizationPortfolioAccessOutput) SetOrganizationNodes(v []*OrganizationNode) *ListOrganizationPortfolioAccessOutput {
15401	s.OrganizationNodes = v
15402	return s
15403}
15404
15405type ListPortfolioAccessInput struct {
15406	_ struct{} `type:"structure"`
15407
15408	// The language code.
15409	//
15410	//    * en - English (default)
15411	//
15412	//    * jp - Japanese
15413	//
15414	//    * zh - Chinese
15415	AcceptLanguage *string `type:"string"`
15416
15417	// The ID of an organization node the portfolio is shared with. All children
15418	// of this node with an inherited portfolio share will be returned.
15419	OrganizationParentId *string `min:"1" type:"string"`
15420
15421	// The maximum number of items to return with this call.
15422	PageSize *int64 `type:"integer"`
15423
15424	// The page token for the next set of results. To retrieve the first set of
15425	// results, use null.
15426	PageToken *string `type:"string"`
15427
15428	// The portfolio identifier.
15429	//
15430	// PortfolioId is a required field
15431	PortfolioId *string `min:"1" type:"string" required:"true"`
15432}
15433
15434// String returns the string representation
15435func (s ListPortfolioAccessInput) String() string {
15436	return awsutil.Prettify(s)
15437}
15438
15439// GoString returns the string representation
15440func (s ListPortfolioAccessInput) GoString() string {
15441	return s.String()
15442}
15443
15444// Validate inspects the fields of the type to determine if they are valid.
15445func (s *ListPortfolioAccessInput) Validate() error {
15446	invalidParams := request.ErrInvalidParams{Context: "ListPortfolioAccessInput"}
15447	if s.OrganizationParentId != nil && len(*s.OrganizationParentId) < 1 {
15448		invalidParams.Add(request.NewErrParamMinLen("OrganizationParentId", 1))
15449	}
15450	if s.PortfolioId == nil {
15451		invalidParams.Add(request.NewErrParamRequired("PortfolioId"))
15452	}
15453	if s.PortfolioId != nil && len(*s.PortfolioId) < 1 {
15454		invalidParams.Add(request.NewErrParamMinLen("PortfolioId", 1))
15455	}
15456
15457	if invalidParams.Len() > 0 {
15458		return invalidParams
15459	}
15460	return nil
15461}
15462
15463// SetAcceptLanguage sets the AcceptLanguage field's value.
15464func (s *ListPortfolioAccessInput) SetAcceptLanguage(v string) *ListPortfolioAccessInput {
15465	s.AcceptLanguage = &v
15466	return s
15467}
15468
15469// SetOrganizationParentId sets the OrganizationParentId field's value.
15470func (s *ListPortfolioAccessInput) SetOrganizationParentId(v string) *ListPortfolioAccessInput {
15471	s.OrganizationParentId = &v
15472	return s
15473}
15474
15475// SetPageSize sets the PageSize field's value.
15476func (s *ListPortfolioAccessInput) SetPageSize(v int64) *ListPortfolioAccessInput {
15477	s.PageSize = &v
15478	return s
15479}
15480
15481// SetPageToken sets the PageToken field's value.
15482func (s *ListPortfolioAccessInput) SetPageToken(v string) *ListPortfolioAccessInput {
15483	s.PageToken = &v
15484	return s
15485}
15486
15487// SetPortfolioId sets the PortfolioId field's value.
15488func (s *ListPortfolioAccessInput) SetPortfolioId(v string) *ListPortfolioAccessInput {
15489	s.PortfolioId = &v
15490	return s
15491}
15492
15493type ListPortfolioAccessOutput struct {
15494	_ struct{} `type:"structure"`
15495
15496	// Information about the AWS accounts with access to the portfolio.
15497	AccountIds []*string `type:"list"`
15498
15499	// The page token to use to retrieve the next set of results. If there are no
15500	// additional results, this value is null.
15501	NextPageToken *string `type:"string"`
15502}
15503
15504// String returns the string representation
15505func (s ListPortfolioAccessOutput) String() string {
15506	return awsutil.Prettify(s)
15507}
15508
15509// GoString returns the string representation
15510func (s ListPortfolioAccessOutput) GoString() string {
15511	return s.String()
15512}
15513
15514// SetAccountIds sets the AccountIds field's value.
15515func (s *ListPortfolioAccessOutput) SetAccountIds(v []*string) *ListPortfolioAccessOutput {
15516	s.AccountIds = v
15517	return s
15518}
15519
15520// SetNextPageToken sets the NextPageToken field's value.
15521func (s *ListPortfolioAccessOutput) SetNextPageToken(v string) *ListPortfolioAccessOutput {
15522	s.NextPageToken = &v
15523	return s
15524}
15525
15526type ListPortfoliosForProductInput struct {
15527	_ struct{} `type:"structure"`
15528
15529	// The language code.
15530	//
15531	//    * en - English (default)
15532	//
15533	//    * jp - Japanese
15534	//
15535	//    * zh - Chinese
15536	AcceptLanguage *string `type:"string"`
15537
15538	// The maximum number of items to return with this call.
15539	PageSize *int64 `type:"integer"`
15540
15541	// The page token for the next set of results. To retrieve the first set of
15542	// results, use null.
15543	PageToken *string `type:"string"`
15544
15545	// The product identifier.
15546	//
15547	// ProductId is a required field
15548	ProductId *string `min:"1" type:"string" required:"true"`
15549}
15550
15551// String returns the string representation
15552func (s ListPortfoliosForProductInput) String() string {
15553	return awsutil.Prettify(s)
15554}
15555
15556// GoString returns the string representation
15557func (s ListPortfoliosForProductInput) GoString() string {
15558	return s.String()
15559}
15560
15561// Validate inspects the fields of the type to determine if they are valid.
15562func (s *ListPortfoliosForProductInput) Validate() error {
15563	invalidParams := request.ErrInvalidParams{Context: "ListPortfoliosForProductInput"}
15564	if s.ProductId == nil {
15565		invalidParams.Add(request.NewErrParamRequired("ProductId"))
15566	}
15567	if s.ProductId != nil && len(*s.ProductId) < 1 {
15568		invalidParams.Add(request.NewErrParamMinLen("ProductId", 1))
15569	}
15570
15571	if invalidParams.Len() > 0 {
15572		return invalidParams
15573	}
15574	return nil
15575}
15576
15577// SetAcceptLanguage sets the AcceptLanguage field's value.
15578func (s *ListPortfoliosForProductInput) SetAcceptLanguage(v string) *ListPortfoliosForProductInput {
15579	s.AcceptLanguage = &v
15580	return s
15581}
15582
15583// SetPageSize sets the PageSize field's value.
15584func (s *ListPortfoliosForProductInput) SetPageSize(v int64) *ListPortfoliosForProductInput {
15585	s.PageSize = &v
15586	return s
15587}
15588
15589// SetPageToken sets the PageToken field's value.
15590func (s *ListPortfoliosForProductInput) SetPageToken(v string) *ListPortfoliosForProductInput {
15591	s.PageToken = &v
15592	return s
15593}
15594
15595// SetProductId sets the ProductId field's value.
15596func (s *ListPortfoliosForProductInput) SetProductId(v string) *ListPortfoliosForProductInput {
15597	s.ProductId = &v
15598	return s
15599}
15600
15601type ListPortfoliosForProductOutput struct {
15602	_ struct{} `type:"structure"`
15603
15604	// The page token to use to retrieve the next set of results. If there are no
15605	// additional results, this value is null.
15606	NextPageToken *string `type:"string"`
15607
15608	// Information about the portfolios.
15609	PortfolioDetails []*PortfolioDetail `type:"list"`
15610}
15611
15612// String returns the string representation
15613func (s ListPortfoliosForProductOutput) String() string {
15614	return awsutil.Prettify(s)
15615}
15616
15617// GoString returns the string representation
15618func (s ListPortfoliosForProductOutput) GoString() string {
15619	return s.String()
15620}
15621
15622// SetNextPageToken sets the NextPageToken field's value.
15623func (s *ListPortfoliosForProductOutput) SetNextPageToken(v string) *ListPortfoliosForProductOutput {
15624	s.NextPageToken = &v
15625	return s
15626}
15627
15628// SetPortfolioDetails sets the PortfolioDetails field's value.
15629func (s *ListPortfoliosForProductOutput) SetPortfolioDetails(v []*PortfolioDetail) *ListPortfoliosForProductOutput {
15630	s.PortfolioDetails = v
15631	return s
15632}
15633
15634type ListPortfoliosInput struct {
15635	_ struct{} `type:"structure"`
15636
15637	// The language code.
15638	//
15639	//    * en - English (default)
15640	//
15641	//    * jp - Japanese
15642	//
15643	//    * zh - Chinese
15644	AcceptLanguage *string `type:"string"`
15645
15646	// The maximum number of items to return with this call.
15647	PageSize *int64 `type:"integer"`
15648
15649	// The page token for the next set of results. To retrieve the first set of
15650	// results, use null.
15651	PageToken *string `type:"string"`
15652}
15653
15654// String returns the string representation
15655func (s ListPortfoliosInput) String() string {
15656	return awsutil.Prettify(s)
15657}
15658
15659// GoString returns the string representation
15660func (s ListPortfoliosInput) GoString() string {
15661	return s.String()
15662}
15663
15664// SetAcceptLanguage sets the AcceptLanguage field's value.
15665func (s *ListPortfoliosInput) SetAcceptLanguage(v string) *ListPortfoliosInput {
15666	s.AcceptLanguage = &v
15667	return s
15668}
15669
15670// SetPageSize sets the PageSize field's value.
15671func (s *ListPortfoliosInput) SetPageSize(v int64) *ListPortfoliosInput {
15672	s.PageSize = &v
15673	return s
15674}
15675
15676// SetPageToken sets the PageToken field's value.
15677func (s *ListPortfoliosInput) SetPageToken(v string) *ListPortfoliosInput {
15678	s.PageToken = &v
15679	return s
15680}
15681
15682type ListPortfoliosOutput struct {
15683	_ struct{} `type:"structure"`
15684
15685	// The page token to use to retrieve the next set of results. If there are no
15686	// additional results, this value is null.
15687	NextPageToken *string `type:"string"`
15688
15689	// Information about the portfolios.
15690	PortfolioDetails []*PortfolioDetail `type:"list"`
15691}
15692
15693// String returns the string representation
15694func (s ListPortfoliosOutput) String() string {
15695	return awsutil.Prettify(s)
15696}
15697
15698// GoString returns the string representation
15699func (s ListPortfoliosOutput) GoString() string {
15700	return s.String()
15701}
15702
15703// SetNextPageToken sets the NextPageToken field's value.
15704func (s *ListPortfoliosOutput) SetNextPageToken(v string) *ListPortfoliosOutput {
15705	s.NextPageToken = &v
15706	return s
15707}
15708
15709// SetPortfolioDetails sets the PortfolioDetails field's value.
15710func (s *ListPortfoliosOutput) SetPortfolioDetails(v []*PortfolioDetail) *ListPortfoliosOutput {
15711	s.PortfolioDetails = v
15712	return s
15713}
15714
15715type ListPrincipalsForPortfolioInput struct {
15716	_ struct{} `type:"structure"`
15717
15718	// The language code.
15719	//
15720	//    * en - English (default)
15721	//
15722	//    * jp - Japanese
15723	//
15724	//    * zh - Chinese
15725	AcceptLanguage *string `type:"string"`
15726
15727	// The maximum number of items to return with this call.
15728	PageSize *int64 `type:"integer"`
15729
15730	// The page token for the next set of results. To retrieve the first set of
15731	// results, use null.
15732	PageToken *string `type:"string"`
15733
15734	// The portfolio identifier.
15735	//
15736	// PortfolioId is a required field
15737	PortfolioId *string `min:"1" type:"string" required:"true"`
15738}
15739
15740// String returns the string representation
15741func (s ListPrincipalsForPortfolioInput) String() string {
15742	return awsutil.Prettify(s)
15743}
15744
15745// GoString returns the string representation
15746func (s ListPrincipalsForPortfolioInput) GoString() string {
15747	return s.String()
15748}
15749
15750// Validate inspects the fields of the type to determine if they are valid.
15751func (s *ListPrincipalsForPortfolioInput) Validate() error {
15752	invalidParams := request.ErrInvalidParams{Context: "ListPrincipalsForPortfolioInput"}
15753	if s.PortfolioId == nil {
15754		invalidParams.Add(request.NewErrParamRequired("PortfolioId"))
15755	}
15756	if s.PortfolioId != nil && len(*s.PortfolioId) < 1 {
15757		invalidParams.Add(request.NewErrParamMinLen("PortfolioId", 1))
15758	}
15759
15760	if invalidParams.Len() > 0 {
15761		return invalidParams
15762	}
15763	return nil
15764}
15765
15766// SetAcceptLanguage sets the AcceptLanguage field's value.
15767func (s *ListPrincipalsForPortfolioInput) SetAcceptLanguage(v string) *ListPrincipalsForPortfolioInput {
15768	s.AcceptLanguage = &v
15769	return s
15770}
15771
15772// SetPageSize sets the PageSize field's value.
15773func (s *ListPrincipalsForPortfolioInput) SetPageSize(v int64) *ListPrincipalsForPortfolioInput {
15774	s.PageSize = &v
15775	return s
15776}
15777
15778// SetPageToken sets the PageToken field's value.
15779func (s *ListPrincipalsForPortfolioInput) SetPageToken(v string) *ListPrincipalsForPortfolioInput {
15780	s.PageToken = &v
15781	return s
15782}
15783
15784// SetPortfolioId sets the PortfolioId field's value.
15785func (s *ListPrincipalsForPortfolioInput) SetPortfolioId(v string) *ListPrincipalsForPortfolioInput {
15786	s.PortfolioId = &v
15787	return s
15788}
15789
15790type ListPrincipalsForPortfolioOutput struct {
15791	_ struct{} `type:"structure"`
15792
15793	// The page token to use to retrieve the next set of results. If there are no
15794	// additional results, this value is null.
15795	NextPageToken *string `type:"string"`
15796
15797	// The IAM principals (users or roles) associated with the portfolio.
15798	Principals []*Principal `type:"list"`
15799}
15800
15801// String returns the string representation
15802func (s ListPrincipalsForPortfolioOutput) String() string {
15803	return awsutil.Prettify(s)
15804}
15805
15806// GoString returns the string representation
15807func (s ListPrincipalsForPortfolioOutput) GoString() string {
15808	return s.String()
15809}
15810
15811// SetNextPageToken sets the NextPageToken field's value.
15812func (s *ListPrincipalsForPortfolioOutput) SetNextPageToken(v string) *ListPrincipalsForPortfolioOutput {
15813	s.NextPageToken = &v
15814	return s
15815}
15816
15817// SetPrincipals sets the Principals field's value.
15818func (s *ListPrincipalsForPortfolioOutput) SetPrincipals(v []*Principal) *ListPrincipalsForPortfolioOutput {
15819	s.Principals = v
15820	return s
15821}
15822
15823type ListProvisionedProductPlansInput struct {
15824	_ struct{} `type:"structure"`
15825
15826	// The language code.
15827	//
15828	//    * en - English (default)
15829	//
15830	//    * jp - Japanese
15831	//
15832	//    * zh - Chinese
15833	AcceptLanguage *string `type:"string"`
15834
15835	// The access level to use to obtain results. The default is User.
15836	AccessLevelFilter *AccessLevelFilter `type:"structure"`
15837
15838	// The maximum number of items to return with this call.
15839	PageSize *int64 `type:"integer"`
15840
15841	// The page token for the next set of results. To retrieve the first set of
15842	// results, use null.
15843	PageToken *string `type:"string"`
15844
15845	// The product identifier.
15846	ProvisionProductId *string `min:"1" type:"string"`
15847}
15848
15849// String returns the string representation
15850func (s ListProvisionedProductPlansInput) String() string {
15851	return awsutil.Prettify(s)
15852}
15853
15854// GoString returns the string representation
15855func (s ListProvisionedProductPlansInput) GoString() string {
15856	return s.String()
15857}
15858
15859// Validate inspects the fields of the type to determine if they are valid.
15860func (s *ListProvisionedProductPlansInput) Validate() error {
15861	invalidParams := request.ErrInvalidParams{Context: "ListProvisionedProductPlansInput"}
15862	if s.ProvisionProductId != nil && len(*s.ProvisionProductId) < 1 {
15863		invalidParams.Add(request.NewErrParamMinLen("ProvisionProductId", 1))
15864	}
15865
15866	if invalidParams.Len() > 0 {
15867		return invalidParams
15868	}
15869	return nil
15870}
15871
15872// SetAcceptLanguage sets the AcceptLanguage field's value.
15873func (s *ListProvisionedProductPlansInput) SetAcceptLanguage(v string) *ListProvisionedProductPlansInput {
15874	s.AcceptLanguage = &v
15875	return s
15876}
15877
15878// SetAccessLevelFilter sets the AccessLevelFilter field's value.
15879func (s *ListProvisionedProductPlansInput) SetAccessLevelFilter(v *AccessLevelFilter) *ListProvisionedProductPlansInput {
15880	s.AccessLevelFilter = v
15881	return s
15882}
15883
15884// SetPageSize sets the PageSize field's value.
15885func (s *ListProvisionedProductPlansInput) SetPageSize(v int64) *ListProvisionedProductPlansInput {
15886	s.PageSize = &v
15887	return s
15888}
15889
15890// SetPageToken sets the PageToken field's value.
15891func (s *ListProvisionedProductPlansInput) SetPageToken(v string) *ListProvisionedProductPlansInput {
15892	s.PageToken = &v
15893	return s
15894}
15895
15896// SetProvisionProductId sets the ProvisionProductId field's value.
15897func (s *ListProvisionedProductPlansInput) SetProvisionProductId(v string) *ListProvisionedProductPlansInput {
15898	s.ProvisionProductId = &v
15899	return s
15900}
15901
15902type ListProvisionedProductPlansOutput struct {
15903	_ struct{} `type:"structure"`
15904
15905	// The page token to use to retrieve the next set of results. If there are no
15906	// additional results, this value is null.
15907	NextPageToken *string `type:"string"`
15908
15909	// Information about the plans.
15910	ProvisionedProductPlans []*ProvisionedProductPlanSummary `type:"list"`
15911}
15912
15913// String returns the string representation
15914func (s ListProvisionedProductPlansOutput) String() string {
15915	return awsutil.Prettify(s)
15916}
15917
15918// GoString returns the string representation
15919func (s ListProvisionedProductPlansOutput) GoString() string {
15920	return s.String()
15921}
15922
15923// SetNextPageToken sets the NextPageToken field's value.
15924func (s *ListProvisionedProductPlansOutput) SetNextPageToken(v string) *ListProvisionedProductPlansOutput {
15925	s.NextPageToken = &v
15926	return s
15927}
15928
15929// SetProvisionedProductPlans sets the ProvisionedProductPlans field's value.
15930func (s *ListProvisionedProductPlansOutput) SetProvisionedProductPlans(v []*ProvisionedProductPlanSummary) *ListProvisionedProductPlansOutput {
15931	s.ProvisionedProductPlans = v
15932	return s
15933}
15934
15935type ListProvisioningArtifactsForServiceActionInput struct {
15936	_ struct{} `type:"structure"`
15937
15938	// The language code.
15939	//
15940	//    * en - English (default)
15941	//
15942	//    * jp - Japanese
15943	//
15944	//    * zh - Chinese
15945	AcceptLanguage *string `type:"string"`
15946
15947	// The maximum number of items to return with this call.
15948	PageSize *int64 `type:"integer"`
15949
15950	// The page token for the next set of results. To retrieve the first set of
15951	// results, use null.
15952	PageToken *string `type:"string"`
15953
15954	// The self-service action identifier. For example, act-fs7abcd89wxyz.
15955	//
15956	// ServiceActionId is a required field
15957	ServiceActionId *string `min:"1" type:"string" required:"true"`
15958}
15959
15960// String returns the string representation
15961func (s ListProvisioningArtifactsForServiceActionInput) String() string {
15962	return awsutil.Prettify(s)
15963}
15964
15965// GoString returns the string representation
15966func (s ListProvisioningArtifactsForServiceActionInput) GoString() string {
15967	return s.String()
15968}
15969
15970// Validate inspects the fields of the type to determine if they are valid.
15971func (s *ListProvisioningArtifactsForServiceActionInput) Validate() error {
15972	invalidParams := request.ErrInvalidParams{Context: "ListProvisioningArtifactsForServiceActionInput"}
15973	if s.ServiceActionId == nil {
15974		invalidParams.Add(request.NewErrParamRequired("ServiceActionId"))
15975	}
15976	if s.ServiceActionId != nil && len(*s.ServiceActionId) < 1 {
15977		invalidParams.Add(request.NewErrParamMinLen("ServiceActionId", 1))
15978	}
15979
15980	if invalidParams.Len() > 0 {
15981		return invalidParams
15982	}
15983	return nil
15984}
15985
15986// SetAcceptLanguage sets the AcceptLanguage field's value.
15987func (s *ListProvisioningArtifactsForServiceActionInput) SetAcceptLanguage(v string) *ListProvisioningArtifactsForServiceActionInput {
15988	s.AcceptLanguage = &v
15989	return s
15990}
15991
15992// SetPageSize sets the PageSize field's value.
15993func (s *ListProvisioningArtifactsForServiceActionInput) SetPageSize(v int64) *ListProvisioningArtifactsForServiceActionInput {
15994	s.PageSize = &v
15995	return s
15996}
15997
15998// SetPageToken sets the PageToken field's value.
15999func (s *ListProvisioningArtifactsForServiceActionInput) SetPageToken(v string) *ListProvisioningArtifactsForServiceActionInput {
16000	s.PageToken = &v
16001	return s
16002}
16003
16004// SetServiceActionId sets the ServiceActionId field's value.
16005func (s *ListProvisioningArtifactsForServiceActionInput) SetServiceActionId(v string) *ListProvisioningArtifactsForServiceActionInput {
16006	s.ServiceActionId = &v
16007	return s
16008}
16009
16010type ListProvisioningArtifactsForServiceActionOutput struct {
16011	_ struct{} `type:"structure"`
16012
16013	// The page token to use to retrieve the next set of results. If there are no
16014	// additional results, this value is null.
16015	NextPageToken *string `type:"string"`
16016
16017	// An array of objects with information about product views and provisioning
16018	// artifacts.
16019	ProvisioningArtifactViews []*ProvisioningArtifactView `type:"list"`
16020}
16021
16022// String returns the string representation
16023func (s ListProvisioningArtifactsForServiceActionOutput) String() string {
16024	return awsutil.Prettify(s)
16025}
16026
16027// GoString returns the string representation
16028func (s ListProvisioningArtifactsForServiceActionOutput) GoString() string {
16029	return s.String()
16030}
16031
16032// SetNextPageToken sets the NextPageToken field's value.
16033func (s *ListProvisioningArtifactsForServiceActionOutput) SetNextPageToken(v string) *ListProvisioningArtifactsForServiceActionOutput {
16034	s.NextPageToken = &v
16035	return s
16036}
16037
16038// SetProvisioningArtifactViews sets the ProvisioningArtifactViews field's value.
16039func (s *ListProvisioningArtifactsForServiceActionOutput) SetProvisioningArtifactViews(v []*ProvisioningArtifactView) *ListProvisioningArtifactsForServiceActionOutput {
16040	s.ProvisioningArtifactViews = v
16041	return s
16042}
16043
16044type ListProvisioningArtifactsInput struct {
16045	_ struct{} `type:"structure"`
16046
16047	// The language code.
16048	//
16049	//    * en - English (default)
16050	//
16051	//    * jp - Japanese
16052	//
16053	//    * zh - Chinese
16054	AcceptLanguage *string `type:"string"`
16055
16056	// The product identifier.
16057	//
16058	// ProductId is a required field
16059	ProductId *string `min:"1" type:"string" required:"true"`
16060}
16061
16062// String returns the string representation
16063func (s ListProvisioningArtifactsInput) String() string {
16064	return awsutil.Prettify(s)
16065}
16066
16067// GoString returns the string representation
16068func (s ListProvisioningArtifactsInput) GoString() string {
16069	return s.String()
16070}
16071
16072// Validate inspects the fields of the type to determine if they are valid.
16073func (s *ListProvisioningArtifactsInput) Validate() error {
16074	invalidParams := request.ErrInvalidParams{Context: "ListProvisioningArtifactsInput"}
16075	if s.ProductId == nil {
16076		invalidParams.Add(request.NewErrParamRequired("ProductId"))
16077	}
16078	if s.ProductId != nil && len(*s.ProductId) < 1 {
16079		invalidParams.Add(request.NewErrParamMinLen("ProductId", 1))
16080	}
16081
16082	if invalidParams.Len() > 0 {
16083		return invalidParams
16084	}
16085	return nil
16086}
16087
16088// SetAcceptLanguage sets the AcceptLanguage field's value.
16089func (s *ListProvisioningArtifactsInput) SetAcceptLanguage(v string) *ListProvisioningArtifactsInput {
16090	s.AcceptLanguage = &v
16091	return s
16092}
16093
16094// SetProductId sets the ProductId field's value.
16095func (s *ListProvisioningArtifactsInput) SetProductId(v string) *ListProvisioningArtifactsInput {
16096	s.ProductId = &v
16097	return s
16098}
16099
16100type ListProvisioningArtifactsOutput struct {
16101	_ struct{} `type:"structure"`
16102
16103	// The page token to use to retrieve the next set of results. If there are no
16104	// additional results, this value is null.
16105	NextPageToken *string `type:"string"`
16106
16107	// Information about the provisioning artifacts.
16108	ProvisioningArtifactDetails []*ProvisioningArtifactDetail `type:"list"`
16109}
16110
16111// String returns the string representation
16112func (s ListProvisioningArtifactsOutput) String() string {
16113	return awsutil.Prettify(s)
16114}
16115
16116// GoString returns the string representation
16117func (s ListProvisioningArtifactsOutput) GoString() string {
16118	return s.String()
16119}
16120
16121// SetNextPageToken sets the NextPageToken field's value.
16122func (s *ListProvisioningArtifactsOutput) SetNextPageToken(v string) *ListProvisioningArtifactsOutput {
16123	s.NextPageToken = &v
16124	return s
16125}
16126
16127// SetProvisioningArtifactDetails sets the ProvisioningArtifactDetails field's value.
16128func (s *ListProvisioningArtifactsOutput) SetProvisioningArtifactDetails(v []*ProvisioningArtifactDetail) *ListProvisioningArtifactsOutput {
16129	s.ProvisioningArtifactDetails = v
16130	return s
16131}
16132
16133type ListRecordHistoryInput struct {
16134	_ struct{} `type:"structure"`
16135
16136	// The language code.
16137	//
16138	//    * en - English (default)
16139	//
16140	//    * jp - Japanese
16141	//
16142	//    * zh - Chinese
16143	AcceptLanguage *string `type:"string"`
16144
16145	// The access level to use to obtain results. The default is User.
16146	AccessLevelFilter *AccessLevelFilter `type:"structure"`
16147
16148	// The maximum number of items to return with this call.
16149	PageSize *int64 `type:"integer"`
16150
16151	// The page token for the next set of results. To retrieve the first set of
16152	// results, use null.
16153	PageToken *string `type:"string"`
16154
16155	// The search filter to scope the results.
16156	SearchFilter *ListRecordHistorySearchFilter `type:"structure"`
16157}
16158
16159// String returns the string representation
16160func (s ListRecordHistoryInput) String() string {
16161	return awsutil.Prettify(s)
16162}
16163
16164// GoString returns the string representation
16165func (s ListRecordHistoryInput) GoString() string {
16166	return s.String()
16167}
16168
16169// SetAcceptLanguage sets the AcceptLanguage field's value.
16170func (s *ListRecordHistoryInput) SetAcceptLanguage(v string) *ListRecordHistoryInput {
16171	s.AcceptLanguage = &v
16172	return s
16173}
16174
16175// SetAccessLevelFilter sets the AccessLevelFilter field's value.
16176func (s *ListRecordHistoryInput) SetAccessLevelFilter(v *AccessLevelFilter) *ListRecordHistoryInput {
16177	s.AccessLevelFilter = v
16178	return s
16179}
16180
16181// SetPageSize sets the PageSize field's value.
16182func (s *ListRecordHistoryInput) SetPageSize(v int64) *ListRecordHistoryInput {
16183	s.PageSize = &v
16184	return s
16185}
16186
16187// SetPageToken sets the PageToken field's value.
16188func (s *ListRecordHistoryInput) SetPageToken(v string) *ListRecordHistoryInput {
16189	s.PageToken = &v
16190	return s
16191}
16192
16193// SetSearchFilter sets the SearchFilter field's value.
16194func (s *ListRecordHistoryInput) SetSearchFilter(v *ListRecordHistorySearchFilter) *ListRecordHistoryInput {
16195	s.SearchFilter = v
16196	return s
16197}
16198
16199type ListRecordHistoryOutput struct {
16200	_ struct{} `type:"structure"`
16201
16202	// The page token to use to retrieve the next set of results. If there are no
16203	// additional results, this value is null.
16204	NextPageToken *string `type:"string"`
16205
16206	// The records, in reverse chronological order.
16207	RecordDetails []*RecordDetail `type:"list"`
16208}
16209
16210// String returns the string representation
16211func (s ListRecordHistoryOutput) String() string {
16212	return awsutil.Prettify(s)
16213}
16214
16215// GoString returns the string representation
16216func (s ListRecordHistoryOutput) GoString() string {
16217	return s.String()
16218}
16219
16220// SetNextPageToken sets the NextPageToken field's value.
16221func (s *ListRecordHistoryOutput) SetNextPageToken(v string) *ListRecordHistoryOutput {
16222	s.NextPageToken = &v
16223	return s
16224}
16225
16226// SetRecordDetails sets the RecordDetails field's value.
16227func (s *ListRecordHistoryOutput) SetRecordDetails(v []*RecordDetail) *ListRecordHistoryOutput {
16228	s.RecordDetails = v
16229	return s
16230}
16231
16232// The search filter to use when listing history records.
16233type ListRecordHistorySearchFilter struct {
16234	_ struct{} `type:"structure"`
16235
16236	// The filter key.
16237	//
16238	//    * product - Filter results based on the specified product identifier.
16239	//
16240	//    * provisionedproduct - Filter results based on the provisioned product
16241	//    identifier.
16242	Key *string `type:"string"`
16243
16244	// The filter value.
16245	Value *string `type:"string"`
16246}
16247
16248// String returns the string representation
16249func (s ListRecordHistorySearchFilter) String() string {
16250	return awsutil.Prettify(s)
16251}
16252
16253// GoString returns the string representation
16254func (s ListRecordHistorySearchFilter) GoString() string {
16255	return s.String()
16256}
16257
16258// SetKey sets the Key field's value.
16259func (s *ListRecordHistorySearchFilter) SetKey(v string) *ListRecordHistorySearchFilter {
16260	s.Key = &v
16261	return s
16262}
16263
16264// SetValue sets the Value field's value.
16265func (s *ListRecordHistorySearchFilter) SetValue(v string) *ListRecordHistorySearchFilter {
16266	s.Value = &v
16267	return s
16268}
16269
16270type ListResourcesForTagOptionInput struct {
16271	_ struct{} `type:"structure"`
16272
16273	// The maximum number of items to return with this call.
16274	PageSize *int64 `type:"integer"`
16275
16276	// The page token for the next set of results. To retrieve the first set of
16277	// results, use null.
16278	PageToken *string `type:"string"`
16279
16280	// The resource type.
16281	//
16282	//    * Portfolio
16283	//
16284	//    * Product
16285	ResourceType *string `type:"string"`
16286
16287	// The TagOption identifier.
16288	//
16289	// TagOptionId is a required field
16290	TagOptionId *string `min:"1" type:"string" required:"true"`
16291}
16292
16293// String returns the string representation
16294func (s ListResourcesForTagOptionInput) String() string {
16295	return awsutil.Prettify(s)
16296}
16297
16298// GoString returns the string representation
16299func (s ListResourcesForTagOptionInput) GoString() string {
16300	return s.String()
16301}
16302
16303// Validate inspects the fields of the type to determine if they are valid.
16304func (s *ListResourcesForTagOptionInput) Validate() error {
16305	invalidParams := request.ErrInvalidParams{Context: "ListResourcesForTagOptionInput"}
16306	if s.TagOptionId == nil {
16307		invalidParams.Add(request.NewErrParamRequired("TagOptionId"))
16308	}
16309	if s.TagOptionId != nil && len(*s.TagOptionId) < 1 {
16310		invalidParams.Add(request.NewErrParamMinLen("TagOptionId", 1))
16311	}
16312
16313	if invalidParams.Len() > 0 {
16314		return invalidParams
16315	}
16316	return nil
16317}
16318
16319// SetPageSize sets the PageSize field's value.
16320func (s *ListResourcesForTagOptionInput) SetPageSize(v int64) *ListResourcesForTagOptionInput {
16321	s.PageSize = &v
16322	return s
16323}
16324
16325// SetPageToken sets the PageToken field's value.
16326func (s *ListResourcesForTagOptionInput) SetPageToken(v string) *ListResourcesForTagOptionInput {
16327	s.PageToken = &v
16328	return s
16329}
16330
16331// SetResourceType sets the ResourceType field's value.
16332func (s *ListResourcesForTagOptionInput) SetResourceType(v string) *ListResourcesForTagOptionInput {
16333	s.ResourceType = &v
16334	return s
16335}
16336
16337// SetTagOptionId sets the TagOptionId field's value.
16338func (s *ListResourcesForTagOptionInput) SetTagOptionId(v string) *ListResourcesForTagOptionInput {
16339	s.TagOptionId = &v
16340	return s
16341}
16342
16343type ListResourcesForTagOptionOutput struct {
16344	_ struct{} `type:"structure"`
16345
16346	// The page token for the next set of results. To retrieve the first set of
16347	// results, use null.
16348	PageToken *string `type:"string"`
16349
16350	// Information about the resources.
16351	ResourceDetails []*ResourceDetail `type:"list"`
16352}
16353
16354// String returns the string representation
16355func (s ListResourcesForTagOptionOutput) String() string {
16356	return awsutil.Prettify(s)
16357}
16358
16359// GoString returns the string representation
16360func (s ListResourcesForTagOptionOutput) GoString() string {
16361	return s.String()
16362}
16363
16364// SetPageToken sets the PageToken field's value.
16365func (s *ListResourcesForTagOptionOutput) SetPageToken(v string) *ListResourcesForTagOptionOutput {
16366	s.PageToken = &v
16367	return s
16368}
16369
16370// SetResourceDetails sets the ResourceDetails field's value.
16371func (s *ListResourcesForTagOptionOutput) SetResourceDetails(v []*ResourceDetail) *ListResourcesForTagOptionOutput {
16372	s.ResourceDetails = v
16373	return s
16374}
16375
16376type ListServiceActionsForProvisioningArtifactInput struct {
16377	_ struct{} `type:"structure"`
16378
16379	// The language code.
16380	//
16381	//    * en - English (default)
16382	//
16383	//    * jp - Japanese
16384	//
16385	//    * zh - Chinese
16386	AcceptLanguage *string `type:"string"`
16387
16388	// The maximum number of items to return with this call.
16389	PageSize *int64 `type:"integer"`
16390
16391	// The page token for the next set of results. To retrieve the first set of
16392	// results, use null.
16393	PageToken *string `type:"string"`
16394
16395	// The product identifier. For example, prod-abcdzk7xy33qa.
16396	//
16397	// ProductId is a required field
16398	ProductId *string `min:"1" type:"string" required:"true"`
16399
16400	// The identifier of the provisioning artifact. For example, pa-4abcdjnxjj6ne.
16401	//
16402	// ProvisioningArtifactId is a required field
16403	ProvisioningArtifactId *string `min:"1" type:"string" required:"true"`
16404}
16405
16406// String returns the string representation
16407func (s ListServiceActionsForProvisioningArtifactInput) String() string {
16408	return awsutil.Prettify(s)
16409}
16410
16411// GoString returns the string representation
16412func (s ListServiceActionsForProvisioningArtifactInput) GoString() string {
16413	return s.String()
16414}
16415
16416// Validate inspects the fields of the type to determine if they are valid.
16417func (s *ListServiceActionsForProvisioningArtifactInput) Validate() error {
16418	invalidParams := request.ErrInvalidParams{Context: "ListServiceActionsForProvisioningArtifactInput"}
16419	if s.ProductId == nil {
16420		invalidParams.Add(request.NewErrParamRequired("ProductId"))
16421	}
16422	if s.ProductId != nil && len(*s.ProductId) < 1 {
16423		invalidParams.Add(request.NewErrParamMinLen("ProductId", 1))
16424	}
16425	if s.ProvisioningArtifactId == nil {
16426		invalidParams.Add(request.NewErrParamRequired("ProvisioningArtifactId"))
16427	}
16428	if s.ProvisioningArtifactId != nil && len(*s.ProvisioningArtifactId) < 1 {
16429		invalidParams.Add(request.NewErrParamMinLen("ProvisioningArtifactId", 1))
16430	}
16431
16432	if invalidParams.Len() > 0 {
16433		return invalidParams
16434	}
16435	return nil
16436}
16437
16438// SetAcceptLanguage sets the AcceptLanguage field's value.
16439func (s *ListServiceActionsForProvisioningArtifactInput) SetAcceptLanguage(v string) *ListServiceActionsForProvisioningArtifactInput {
16440	s.AcceptLanguage = &v
16441	return s
16442}
16443
16444// SetPageSize sets the PageSize field's value.
16445func (s *ListServiceActionsForProvisioningArtifactInput) SetPageSize(v int64) *ListServiceActionsForProvisioningArtifactInput {
16446	s.PageSize = &v
16447	return s
16448}
16449
16450// SetPageToken sets the PageToken field's value.
16451func (s *ListServiceActionsForProvisioningArtifactInput) SetPageToken(v string) *ListServiceActionsForProvisioningArtifactInput {
16452	s.PageToken = &v
16453	return s
16454}
16455
16456// SetProductId sets the ProductId field's value.
16457func (s *ListServiceActionsForProvisioningArtifactInput) SetProductId(v string) *ListServiceActionsForProvisioningArtifactInput {
16458	s.ProductId = &v
16459	return s
16460}
16461
16462// SetProvisioningArtifactId sets the ProvisioningArtifactId field's value.
16463func (s *ListServiceActionsForProvisioningArtifactInput) SetProvisioningArtifactId(v string) *ListServiceActionsForProvisioningArtifactInput {
16464	s.ProvisioningArtifactId = &v
16465	return s
16466}
16467
16468type ListServiceActionsForProvisioningArtifactOutput struct {
16469	_ struct{} `type:"structure"`
16470
16471	// The page token to use to retrieve the next set of results. If there are no
16472	// additional results, this value is null.
16473	NextPageToken *string `type:"string"`
16474
16475	// An object containing information about the self-service actions associated
16476	// with the provisioning artifact.
16477	ServiceActionSummaries []*ServiceActionSummary `type:"list"`
16478}
16479
16480// String returns the string representation
16481func (s ListServiceActionsForProvisioningArtifactOutput) String() string {
16482	return awsutil.Prettify(s)
16483}
16484
16485// GoString returns the string representation
16486func (s ListServiceActionsForProvisioningArtifactOutput) GoString() string {
16487	return s.String()
16488}
16489
16490// SetNextPageToken sets the NextPageToken field's value.
16491func (s *ListServiceActionsForProvisioningArtifactOutput) SetNextPageToken(v string) *ListServiceActionsForProvisioningArtifactOutput {
16492	s.NextPageToken = &v
16493	return s
16494}
16495
16496// SetServiceActionSummaries sets the ServiceActionSummaries field's value.
16497func (s *ListServiceActionsForProvisioningArtifactOutput) SetServiceActionSummaries(v []*ServiceActionSummary) *ListServiceActionsForProvisioningArtifactOutput {
16498	s.ServiceActionSummaries = v
16499	return s
16500}
16501
16502type ListServiceActionsInput struct {
16503	_ struct{} `type:"structure"`
16504
16505	// The language code.
16506	//
16507	//    * en - English (default)
16508	//
16509	//    * jp - Japanese
16510	//
16511	//    * zh - Chinese
16512	AcceptLanguage *string `type:"string"`
16513
16514	// The maximum number of items to return with this call.
16515	PageSize *int64 `type:"integer"`
16516
16517	// The page token for the next set of results. To retrieve the first set of
16518	// results, use null.
16519	PageToken *string `type:"string"`
16520}
16521
16522// String returns the string representation
16523func (s ListServiceActionsInput) String() string {
16524	return awsutil.Prettify(s)
16525}
16526
16527// GoString returns the string representation
16528func (s ListServiceActionsInput) GoString() string {
16529	return s.String()
16530}
16531
16532// SetAcceptLanguage sets the AcceptLanguage field's value.
16533func (s *ListServiceActionsInput) SetAcceptLanguage(v string) *ListServiceActionsInput {
16534	s.AcceptLanguage = &v
16535	return s
16536}
16537
16538// SetPageSize sets the PageSize field's value.
16539func (s *ListServiceActionsInput) SetPageSize(v int64) *ListServiceActionsInput {
16540	s.PageSize = &v
16541	return s
16542}
16543
16544// SetPageToken sets the PageToken field's value.
16545func (s *ListServiceActionsInput) SetPageToken(v string) *ListServiceActionsInput {
16546	s.PageToken = &v
16547	return s
16548}
16549
16550type ListServiceActionsOutput struct {
16551	_ struct{} `type:"structure"`
16552
16553	// The page token to use to retrieve the next set of results. If there are no
16554	// additional results, this value is null.
16555	NextPageToken *string `type:"string"`
16556
16557	// An object containing information about the service actions associated with
16558	// the provisioning artifact.
16559	ServiceActionSummaries []*ServiceActionSummary `type:"list"`
16560}
16561
16562// String returns the string representation
16563func (s ListServiceActionsOutput) String() string {
16564	return awsutil.Prettify(s)
16565}
16566
16567// GoString returns the string representation
16568func (s ListServiceActionsOutput) GoString() string {
16569	return s.String()
16570}
16571
16572// SetNextPageToken sets the NextPageToken field's value.
16573func (s *ListServiceActionsOutput) SetNextPageToken(v string) *ListServiceActionsOutput {
16574	s.NextPageToken = &v
16575	return s
16576}
16577
16578// SetServiceActionSummaries sets the ServiceActionSummaries field's value.
16579func (s *ListServiceActionsOutput) SetServiceActionSummaries(v []*ServiceActionSummary) *ListServiceActionsOutput {
16580	s.ServiceActionSummaries = v
16581	return s
16582}
16583
16584type ListStackInstancesForProvisionedProductInput struct {
16585	_ struct{} `type:"structure"`
16586
16587	// The language code.
16588	//
16589	//    * en - English (default)
16590	//
16591	//    * jp - Japanese
16592	//
16593	//    * zh - Chinese
16594	AcceptLanguage *string `type:"string"`
16595
16596	// The maximum number of items to return with this call.
16597	PageSize *int64 `type:"integer"`
16598
16599	// The page token for the next set of results. To retrieve the first set of
16600	// results, use null.
16601	PageToken *string `type:"string"`
16602
16603	// The identifier of the provisioned product.
16604	//
16605	// ProvisionedProductId is a required field
16606	ProvisionedProductId *string `min:"1" type:"string" required:"true"`
16607}
16608
16609// String returns the string representation
16610func (s ListStackInstancesForProvisionedProductInput) String() string {
16611	return awsutil.Prettify(s)
16612}
16613
16614// GoString returns the string representation
16615func (s ListStackInstancesForProvisionedProductInput) GoString() string {
16616	return s.String()
16617}
16618
16619// Validate inspects the fields of the type to determine if they are valid.
16620func (s *ListStackInstancesForProvisionedProductInput) Validate() error {
16621	invalidParams := request.ErrInvalidParams{Context: "ListStackInstancesForProvisionedProductInput"}
16622	if s.ProvisionedProductId == nil {
16623		invalidParams.Add(request.NewErrParamRequired("ProvisionedProductId"))
16624	}
16625	if s.ProvisionedProductId != nil && len(*s.ProvisionedProductId) < 1 {
16626		invalidParams.Add(request.NewErrParamMinLen("ProvisionedProductId", 1))
16627	}
16628
16629	if invalidParams.Len() > 0 {
16630		return invalidParams
16631	}
16632	return nil
16633}
16634
16635// SetAcceptLanguage sets the AcceptLanguage field's value.
16636func (s *ListStackInstancesForProvisionedProductInput) SetAcceptLanguage(v string) *ListStackInstancesForProvisionedProductInput {
16637	s.AcceptLanguage = &v
16638	return s
16639}
16640
16641// SetPageSize sets the PageSize field's value.
16642func (s *ListStackInstancesForProvisionedProductInput) SetPageSize(v int64) *ListStackInstancesForProvisionedProductInput {
16643	s.PageSize = &v
16644	return s
16645}
16646
16647// SetPageToken sets the PageToken field's value.
16648func (s *ListStackInstancesForProvisionedProductInput) SetPageToken(v string) *ListStackInstancesForProvisionedProductInput {
16649	s.PageToken = &v
16650	return s
16651}
16652
16653// SetProvisionedProductId sets the ProvisionedProductId field's value.
16654func (s *ListStackInstancesForProvisionedProductInput) SetProvisionedProductId(v string) *ListStackInstancesForProvisionedProductInput {
16655	s.ProvisionedProductId = &v
16656	return s
16657}
16658
16659type ListStackInstancesForProvisionedProductOutput struct {
16660	_ struct{} `type:"structure"`
16661
16662	// The page token to use to retrieve the next set of results. If there are no
16663	// additional results, this value is null.
16664	NextPageToken *string `type:"string"`
16665
16666	// List of stack instances.
16667	StackInstances []*StackInstance `type:"list"`
16668}
16669
16670// String returns the string representation
16671func (s ListStackInstancesForProvisionedProductOutput) String() string {
16672	return awsutil.Prettify(s)
16673}
16674
16675// GoString returns the string representation
16676func (s ListStackInstancesForProvisionedProductOutput) GoString() string {
16677	return s.String()
16678}
16679
16680// SetNextPageToken sets the NextPageToken field's value.
16681func (s *ListStackInstancesForProvisionedProductOutput) SetNextPageToken(v string) *ListStackInstancesForProvisionedProductOutput {
16682	s.NextPageToken = &v
16683	return s
16684}
16685
16686// SetStackInstances sets the StackInstances field's value.
16687func (s *ListStackInstancesForProvisionedProductOutput) SetStackInstances(v []*StackInstance) *ListStackInstancesForProvisionedProductOutput {
16688	s.StackInstances = v
16689	return s
16690}
16691
16692// Filters to use when listing TagOptions.
16693type ListTagOptionsFilters struct {
16694	_ struct{} `type:"structure"`
16695
16696	// The active state.
16697	Active *bool `type:"boolean"`
16698
16699	// The TagOption key.
16700	Key *string `min:"1" type:"string"`
16701
16702	// The TagOption value.
16703	Value *string `min:"1" type:"string"`
16704}
16705
16706// String returns the string representation
16707func (s ListTagOptionsFilters) String() string {
16708	return awsutil.Prettify(s)
16709}
16710
16711// GoString returns the string representation
16712func (s ListTagOptionsFilters) GoString() string {
16713	return s.String()
16714}
16715
16716// Validate inspects the fields of the type to determine if they are valid.
16717func (s *ListTagOptionsFilters) Validate() error {
16718	invalidParams := request.ErrInvalidParams{Context: "ListTagOptionsFilters"}
16719	if s.Key != nil && len(*s.Key) < 1 {
16720		invalidParams.Add(request.NewErrParamMinLen("Key", 1))
16721	}
16722	if s.Value != nil && len(*s.Value) < 1 {
16723		invalidParams.Add(request.NewErrParamMinLen("Value", 1))
16724	}
16725
16726	if invalidParams.Len() > 0 {
16727		return invalidParams
16728	}
16729	return nil
16730}
16731
16732// SetActive sets the Active field's value.
16733func (s *ListTagOptionsFilters) SetActive(v bool) *ListTagOptionsFilters {
16734	s.Active = &v
16735	return s
16736}
16737
16738// SetKey sets the Key field's value.
16739func (s *ListTagOptionsFilters) SetKey(v string) *ListTagOptionsFilters {
16740	s.Key = &v
16741	return s
16742}
16743
16744// SetValue sets the Value field's value.
16745func (s *ListTagOptionsFilters) SetValue(v string) *ListTagOptionsFilters {
16746	s.Value = &v
16747	return s
16748}
16749
16750type ListTagOptionsInput struct {
16751	_ struct{} `type:"structure"`
16752
16753	// The search filters. If no search filters are specified, the output includes
16754	// all TagOptions.
16755	Filters *ListTagOptionsFilters `type:"structure"`
16756
16757	// The maximum number of items to return with this call.
16758	PageSize *int64 `type:"integer"`
16759
16760	// The page token for the next set of results. To retrieve the first set of
16761	// results, use null.
16762	PageToken *string `type:"string"`
16763}
16764
16765// String returns the string representation
16766func (s ListTagOptionsInput) String() string {
16767	return awsutil.Prettify(s)
16768}
16769
16770// GoString returns the string representation
16771func (s ListTagOptionsInput) GoString() string {
16772	return s.String()
16773}
16774
16775// Validate inspects the fields of the type to determine if they are valid.
16776func (s *ListTagOptionsInput) Validate() error {
16777	invalidParams := request.ErrInvalidParams{Context: "ListTagOptionsInput"}
16778	if s.Filters != nil {
16779		if err := s.Filters.Validate(); err != nil {
16780			invalidParams.AddNested("Filters", err.(request.ErrInvalidParams))
16781		}
16782	}
16783
16784	if invalidParams.Len() > 0 {
16785		return invalidParams
16786	}
16787	return nil
16788}
16789
16790// SetFilters sets the Filters field's value.
16791func (s *ListTagOptionsInput) SetFilters(v *ListTagOptionsFilters) *ListTagOptionsInput {
16792	s.Filters = v
16793	return s
16794}
16795
16796// SetPageSize sets the PageSize field's value.
16797func (s *ListTagOptionsInput) SetPageSize(v int64) *ListTagOptionsInput {
16798	s.PageSize = &v
16799	return s
16800}
16801
16802// SetPageToken sets the PageToken field's value.
16803func (s *ListTagOptionsInput) SetPageToken(v string) *ListTagOptionsInput {
16804	s.PageToken = &v
16805	return s
16806}
16807
16808type ListTagOptionsOutput struct {
16809	_ struct{} `type:"structure"`
16810
16811	// The page token for the next set of results. To retrieve the first set of
16812	// results, use null.
16813	PageToken *string `type:"string"`
16814
16815	// Information about the TagOptions.
16816	TagOptionDetails []*TagOptionDetail `type:"list"`
16817}
16818
16819// String returns the string representation
16820func (s ListTagOptionsOutput) String() string {
16821	return awsutil.Prettify(s)
16822}
16823
16824// GoString returns the string representation
16825func (s ListTagOptionsOutput) GoString() string {
16826	return s.String()
16827}
16828
16829// SetPageToken sets the PageToken field's value.
16830func (s *ListTagOptionsOutput) SetPageToken(v string) *ListTagOptionsOutput {
16831	s.PageToken = &v
16832	return s
16833}
16834
16835// SetTagOptionDetails sets the TagOptionDetails field's value.
16836func (s *ListTagOptionsOutput) SetTagOptionDetails(v []*TagOptionDetail) *ListTagOptionsOutput {
16837	s.TagOptionDetails = v
16838	return s
16839}
16840
16841// The operation is not supported.
16842type OperationNotSupportedException struct {
16843	_            struct{}                  `type:"structure"`
16844	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
16845
16846	Message_ *string `locationName:"message" type:"string"`
16847}
16848
16849// String returns the string representation
16850func (s OperationNotSupportedException) String() string {
16851	return awsutil.Prettify(s)
16852}
16853
16854// GoString returns the string representation
16855func (s OperationNotSupportedException) GoString() string {
16856	return s.String()
16857}
16858
16859func newErrorOperationNotSupportedException(v protocol.ResponseMetadata) error {
16860	return &OperationNotSupportedException{
16861		RespMetadata: v,
16862	}
16863}
16864
16865// Code returns the exception type name.
16866func (s *OperationNotSupportedException) Code() string {
16867	return "OperationNotSupportedException"
16868}
16869
16870// Message returns the exception's message.
16871func (s *OperationNotSupportedException) Message() string {
16872	if s.Message_ != nil {
16873		return *s.Message_
16874	}
16875	return ""
16876}
16877
16878// OrigErr always returns nil, satisfies awserr.Error interface.
16879func (s *OperationNotSupportedException) OrigErr() error {
16880	return nil
16881}
16882
16883func (s *OperationNotSupportedException) Error() string {
16884	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
16885}
16886
16887// Status code returns the HTTP status code for the request's response error.
16888func (s *OperationNotSupportedException) StatusCode() int {
16889	return s.RespMetadata.StatusCode
16890}
16891
16892// RequestID returns the service's response RequestID for request.
16893func (s *OperationNotSupportedException) RequestID() string {
16894	return s.RespMetadata.RequestID
16895}
16896
16897// Information about the organization node.
16898type OrganizationNode struct {
16899	_ struct{} `type:"structure"`
16900
16901	// The organization node type.
16902	Type *string `type:"string" enum:"OrganizationNodeType"`
16903
16904	// The identifier of the organization node.
16905	Value *string `type:"string"`
16906}
16907
16908// String returns the string representation
16909func (s OrganizationNode) String() string {
16910	return awsutil.Prettify(s)
16911}
16912
16913// GoString returns the string representation
16914func (s OrganizationNode) GoString() string {
16915	return s.String()
16916}
16917
16918// SetType sets the Type field's value.
16919func (s *OrganizationNode) SetType(v string) *OrganizationNode {
16920	s.Type = &v
16921	return s
16922}
16923
16924// SetValue sets the Value field's value.
16925func (s *OrganizationNode) SetValue(v string) *OrganizationNode {
16926	s.Value = &v
16927	return s
16928}
16929
16930// The constraints that the administrator has put on the parameter.
16931type ParameterConstraints struct {
16932	_ struct{} `type:"structure"`
16933
16934	// A regular expression that represents the patterns that allow for String types.
16935	// The pattern must match the entire parameter value provided.
16936	AllowedPattern *string `type:"string"`
16937
16938	// The values that the administrator has allowed for the parameter.
16939	AllowedValues []*string `type:"list"`
16940
16941	// A string that explains a constraint when the constraint is violated. For
16942	// example, without a constraint description, a parameter that has an allowed
16943	// pattern of [A-Za-z0-9]+ displays the following error message when the user
16944	// specifies an invalid value:
16945	//
16946	// Malformed input-Parameter MyParameter must match pattern [A-Za-z0-9]+
16947	//
16948	// By adding a constraint description, such as must only contain letters (uppercase
16949	// and lowercase) and numbers, you can display the following customized error
16950	// message:
16951	//
16952	// Malformed input-Parameter MyParameter must only contain uppercase and lowercase
16953	// letters and numbers.
16954	ConstraintDescription *string `type:"string"`
16955
16956	// An integer value that determines the largest number of characters you want
16957	// to allow for String types.
16958	MaxLength *string `type:"string"`
16959
16960	// A numeric value that determines the largest numeric value you want to allow
16961	// for Number types.
16962	MaxValue *string `type:"string"`
16963
16964	// An integer value that determines the smallest number of characters you want
16965	// to allow for String types.
16966	MinLength *string `type:"string"`
16967
16968	// A numeric value that determines the smallest numeric value you want to allow
16969	// for Number types.
16970	MinValue *string `type:"string"`
16971}
16972
16973// String returns the string representation
16974func (s ParameterConstraints) String() string {
16975	return awsutil.Prettify(s)
16976}
16977
16978// GoString returns the string representation
16979func (s ParameterConstraints) GoString() string {
16980	return s.String()
16981}
16982
16983// SetAllowedPattern sets the AllowedPattern field's value.
16984func (s *ParameterConstraints) SetAllowedPattern(v string) *ParameterConstraints {
16985	s.AllowedPattern = &v
16986	return s
16987}
16988
16989// SetAllowedValues sets the AllowedValues field's value.
16990func (s *ParameterConstraints) SetAllowedValues(v []*string) *ParameterConstraints {
16991	s.AllowedValues = v
16992	return s
16993}
16994
16995// SetConstraintDescription sets the ConstraintDescription field's value.
16996func (s *ParameterConstraints) SetConstraintDescription(v string) *ParameterConstraints {
16997	s.ConstraintDescription = &v
16998	return s
16999}
17000
17001// SetMaxLength sets the MaxLength field's value.
17002func (s *ParameterConstraints) SetMaxLength(v string) *ParameterConstraints {
17003	s.MaxLength = &v
17004	return s
17005}
17006
17007// SetMaxValue sets the MaxValue field's value.
17008func (s *ParameterConstraints) SetMaxValue(v string) *ParameterConstraints {
17009	s.MaxValue = &v
17010	return s
17011}
17012
17013// SetMinLength sets the MinLength field's value.
17014func (s *ParameterConstraints) SetMinLength(v string) *ParameterConstraints {
17015	s.MinLength = &v
17016	return s
17017}
17018
17019// SetMinValue sets the MinValue field's value.
17020func (s *ParameterConstraints) SetMinValue(v string) *ParameterConstraints {
17021	s.MinValue = &v
17022	return s
17023}
17024
17025// Information about a portfolio.
17026type PortfolioDetail struct {
17027	_ struct{} `type:"structure"`
17028
17029	// The ARN assigned to the portfolio.
17030	ARN *string `min:"1" type:"string"`
17031
17032	// The UTC time stamp of the creation time.
17033	CreatedTime *time.Time `type:"timestamp"`
17034
17035	// The description of the portfolio.
17036	Description *string `type:"string"`
17037
17038	// The name to use for display purposes.
17039	DisplayName *string `min:"1" type:"string"`
17040
17041	// The portfolio identifier.
17042	Id *string `min:"1" type:"string"`
17043
17044	// The name of the portfolio provider.
17045	ProviderName *string `min:"1" type:"string"`
17046}
17047
17048// String returns the string representation
17049func (s PortfolioDetail) String() string {
17050	return awsutil.Prettify(s)
17051}
17052
17053// GoString returns the string representation
17054func (s PortfolioDetail) GoString() string {
17055	return s.String()
17056}
17057
17058// SetARN sets the ARN field's value.
17059func (s *PortfolioDetail) SetARN(v string) *PortfolioDetail {
17060	s.ARN = &v
17061	return s
17062}
17063
17064// SetCreatedTime sets the CreatedTime field's value.
17065func (s *PortfolioDetail) SetCreatedTime(v time.Time) *PortfolioDetail {
17066	s.CreatedTime = &v
17067	return s
17068}
17069
17070// SetDescription sets the Description field's value.
17071func (s *PortfolioDetail) SetDescription(v string) *PortfolioDetail {
17072	s.Description = &v
17073	return s
17074}
17075
17076// SetDisplayName sets the DisplayName field's value.
17077func (s *PortfolioDetail) SetDisplayName(v string) *PortfolioDetail {
17078	s.DisplayName = &v
17079	return s
17080}
17081
17082// SetId sets the Id field's value.
17083func (s *PortfolioDetail) SetId(v string) *PortfolioDetail {
17084	s.Id = &v
17085	return s
17086}
17087
17088// SetProviderName sets the ProviderName field's value.
17089func (s *PortfolioDetail) SetProviderName(v string) *PortfolioDetail {
17090	s.ProviderName = &v
17091	return s
17092}
17093
17094// Information about the portfolio share.
17095type PortfolioShareDetail struct {
17096	_ struct{} `type:"structure"`
17097
17098	// Indicates whether the shared portfolio is imported by the recipient account.
17099	// If the recipient is in an organization node, the share is automatically imported,
17100	// and the field is always set to true.
17101	Accepted *bool `type:"boolean"`
17102
17103	// The identifier of the recipient entity that received the portfolio share.
17104	// The recipient entities can be one of the following:
17105	//
17106	// 1. An external account.
17107	//
17108	// 2. An organziation member account.
17109	//
17110	// 3. An organzational unit (OU).
17111	//
17112	// 4. The organization itself. (This shares with every account in the organization).
17113	PrincipalId *string `min:"1" type:"string"`
17114
17115	// Indicates whether TagOptions sharing is enabled or disabled for the portfolio
17116	// share.
17117	ShareTagOptions *bool `type:"boolean"`
17118
17119	// The type of the portfolio share.
17120	Type *string `type:"string" enum:"DescribePortfolioShareType"`
17121}
17122
17123// String returns the string representation
17124func (s PortfolioShareDetail) String() string {
17125	return awsutil.Prettify(s)
17126}
17127
17128// GoString returns the string representation
17129func (s PortfolioShareDetail) GoString() string {
17130	return s.String()
17131}
17132
17133// SetAccepted sets the Accepted field's value.
17134func (s *PortfolioShareDetail) SetAccepted(v bool) *PortfolioShareDetail {
17135	s.Accepted = &v
17136	return s
17137}
17138
17139// SetPrincipalId sets the PrincipalId field's value.
17140func (s *PortfolioShareDetail) SetPrincipalId(v string) *PortfolioShareDetail {
17141	s.PrincipalId = &v
17142	return s
17143}
17144
17145// SetShareTagOptions sets the ShareTagOptions field's value.
17146func (s *PortfolioShareDetail) SetShareTagOptions(v bool) *PortfolioShareDetail {
17147	s.ShareTagOptions = &v
17148	return s
17149}
17150
17151// SetType sets the Type field's value.
17152func (s *PortfolioShareDetail) SetType(v string) *PortfolioShareDetail {
17153	s.Type = &v
17154	return s
17155}
17156
17157// Information about a principal.
17158type Principal struct {
17159	_ struct{} `type:"structure"`
17160
17161	// The ARN of the principal (IAM user, role, or group).
17162	PrincipalARN *string `min:"1" type:"string"`
17163
17164	// The principal type. The supported value is IAM.
17165	PrincipalType *string `type:"string" enum:"PrincipalType"`
17166}
17167
17168// String returns the string representation
17169func (s Principal) String() string {
17170	return awsutil.Prettify(s)
17171}
17172
17173// GoString returns the string representation
17174func (s Principal) GoString() string {
17175	return s.String()
17176}
17177
17178// SetPrincipalARN sets the PrincipalARN field's value.
17179func (s *Principal) SetPrincipalARN(v string) *Principal {
17180	s.PrincipalARN = &v
17181	return s
17182}
17183
17184// SetPrincipalType sets the PrincipalType field's value.
17185func (s *Principal) SetPrincipalType(v string) *Principal {
17186	s.PrincipalType = &v
17187	return s
17188}
17189
17190// A single product view aggregation value/count pair, containing metadata about
17191// each product to which the calling user has access.
17192type ProductViewAggregationValue struct {
17193	_ struct{} `type:"structure"`
17194
17195	// An approximate count of the products that match the value.
17196	ApproximateCount *int64 `type:"integer"`
17197
17198	// The value of the product view aggregation.
17199	Value *string `type:"string"`
17200}
17201
17202// String returns the string representation
17203func (s ProductViewAggregationValue) String() string {
17204	return awsutil.Prettify(s)
17205}
17206
17207// GoString returns the string representation
17208func (s ProductViewAggregationValue) GoString() string {
17209	return s.String()
17210}
17211
17212// SetApproximateCount sets the ApproximateCount field's value.
17213func (s *ProductViewAggregationValue) SetApproximateCount(v int64) *ProductViewAggregationValue {
17214	s.ApproximateCount = &v
17215	return s
17216}
17217
17218// SetValue sets the Value field's value.
17219func (s *ProductViewAggregationValue) SetValue(v string) *ProductViewAggregationValue {
17220	s.Value = &v
17221	return s
17222}
17223
17224// Information about a product view.
17225type ProductViewDetail struct {
17226	_ struct{} `type:"structure"`
17227
17228	// The UTC time stamp of the creation time.
17229	CreatedTime *time.Time `type:"timestamp"`
17230
17231	// The ARN of the product.
17232	ProductARN *string `min:"1" type:"string"`
17233
17234	// Summary information about the product view.
17235	ProductViewSummary *ProductViewSummary `type:"structure"`
17236
17237	// The status of the product.
17238	//
17239	//    * AVAILABLE - The product is ready for use.
17240	//
17241	//    * CREATING - Product creation has started; the product is not ready for
17242	//    use.
17243	//
17244	//    * FAILED - An action failed.
17245	Status *string `type:"string" enum:"Status"`
17246}
17247
17248// String returns the string representation
17249func (s ProductViewDetail) String() string {
17250	return awsutil.Prettify(s)
17251}
17252
17253// GoString returns the string representation
17254func (s ProductViewDetail) GoString() string {
17255	return s.String()
17256}
17257
17258// SetCreatedTime sets the CreatedTime field's value.
17259func (s *ProductViewDetail) SetCreatedTime(v time.Time) *ProductViewDetail {
17260	s.CreatedTime = &v
17261	return s
17262}
17263
17264// SetProductARN sets the ProductARN field's value.
17265func (s *ProductViewDetail) SetProductARN(v string) *ProductViewDetail {
17266	s.ProductARN = &v
17267	return s
17268}
17269
17270// SetProductViewSummary sets the ProductViewSummary field's value.
17271func (s *ProductViewDetail) SetProductViewSummary(v *ProductViewSummary) *ProductViewDetail {
17272	s.ProductViewSummary = v
17273	return s
17274}
17275
17276// SetStatus sets the Status field's value.
17277func (s *ProductViewDetail) SetStatus(v string) *ProductViewDetail {
17278	s.Status = &v
17279	return s
17280}
17281
17282// Summary information about a product view.
17283type ProductViewSummary struct {
17284	_ struct{} `type:"structure"`
17285
17286	// The distributor of the product. Contact the product administrator for the
17287	// significance of this value.
17288	Distributor *string `type:"string"`
17289
17290	// Indicates whether the product has a default path. If the product does not
17291	// have a default path, call ListLaunchPaths to disambiguate between paths.
17292	// Otherwise, ListLaunchPaths is not required, and the output of ProductViewSummary
17293	// can be used directly with DescribeProvisioningParameters.
17294	HasDefaultPath *bool `type:"boolean"`
17295
17296	// The product view identifier.
17297	Id *string `min:"1" type:"string"`
17298
17299	// The name of the product.
17300	Name *string `type:"string"`
17301
17302	// The owner of the product. Contact the product administrator for the significance
17303	// of this value.
17304	Owner *string `type:"string"`
17305
17306	// The product identifier.
17307	ProductId *string `min:"1" type:"string"`
17308
17309	// Short description of the product.
17310	ShortDescription *string `type:"string"`
17311
17312	// The description of the support for this Product.
17313	SupportDescription *string `type:"string"`
17314
17315	// The email contact information to obtain support for this Product.
17316	SupportEmail *string `type:"string"`
17317
17318	// The URL information to obtain support for this Product.
17319	SupportUrl *string `type:"string"`
17320
17321	// The product type. Contact the product administrator for the significance
17322	// of this value. If this value is MARKETPLACE, the product was created by AWS
17323	// Marketplace.
17324	Type *string `type:"string" enum:"ProductType"`
17325}
17326
17327// String returns the string representation
17328func (s ProductViewSummary) String() string {
17329	return awsutil.Prettify(s)
17330}
17331
17332// GoString returns the string representation
17333func (s ProductViewSummary) GoString() string {
17334	return s.String()
17335}
17336
17337// SetDistributor sets the Distributor field's value.
17338func (s *ProductViewSummary) SetDistributor(v string) *ProductViewSummary {
17339	s.Distributor = &v
17340	return s
17341}
17342
17343// SetHasDefaultPath sets the HasDefaultPath field's value.
17344func (s *ProductViewSummary) SetHasDefaultPath(v bool) *ProductViewSummary {
17345	s.HasDefaultPath = &v
17346	return s
17347}
17348
17349// SetId sets the Id field's value.
17350func (s *ProductViewSummary) SetId(v string) *ProductViewSummary {
17351	s.Id = &v
17352	return s
17353}
17354
17355// SetName sets the Name field's value.
17356func (s *ProductViewSummary) SetName(v string) *ProductViewSummary {
17357	s.Name = &v
17358	return s
17359}
17360
17361// SetOwner sets the Owner field's value.
17362func (s *ProductViewSummary) SetOwner(v string) *ProductViewSummary {
17363	s.Owner = &v
17364	return s
17365}
17366
17367// SetProductId sets the ProductId field's value.
17368func (s *ProductViewSummary) SetProductId(v string) *ProductViewSummary {
17369	s.ProductId = &v
17370	return s
17371}
17372
17373// SetShortDescription sets the ShortDescription field's value.
17374func (s *ProductViewSummary) SetShortDescription(v string) *ProductViewSummary {
17375	s.ShortDescription = &v
17376	return s
17377}
17378
17379// SetSupportDescription sets the SupportDescription field's value.
17380func (s *ProductViewSummary) SetSupportDescription(v string) *ProductViewSummary {
17381	s.SupportDescription = &v
17382	return s
17383}
17384
17385// SetSupportEmail sets the SupportEmail field's value.
17386func (s *ProductViewSummary) SetSupportEmail(v string) *ProductViewSummary {
17387	s.SupportEmail = &v
17388	return s
17389}
17390
17391// SetSupportUrl sets the SupportUrl field's value.
17392func (s *ProductViewSummary) SetSupportUrl(v string) *ProductViewSummary {
17393	s.SupportUrl = &v
17394	return s
17395}
17396
17397// SetType sets the Type field's value.
17398func (s *ProductViewSummary) SetType(v string) *ProductViewSummary {
17399	s.Type = &v
17400	return s
17401}
17402
17403type ProvisionProductInput struct {
17404	_ struct{} `type:"structure"`
17405
17406	// The language code.
17407	//
17408	//    * en - English (default)
17409	//
17410	//    * jp - Japanese
17411	//
17412	//    * zh - Chinese
17413	AcceptLanguage *string `type:"string"`
17414
17415	// Passed to CloudFormation. The SNS topic ARNs to which to publish stack-related
17416	// events.
17417	NotificationArns []*string `type:"list"`
17418
17419	// The path identifier of the product. This value is optional if the product
17420	// has a default path, and required if the product has more than one path. To
17421	// list the paths for a product, use ListLaunchPaths. You must provide the name
17422	// or ID, but not both.
17423	PathId *string `min:"1" type:"string"`
17424
17425	// The name of the path. You must provide the name or ID, but not both.
17426	PathName *string `min:"1" type:"string"`
17427
17428	// The product identifier. You must provide the name or ID, but not both.
17429	ProductId *string `min:"1" type:"string"`
17430
17431	// The name of the product. You must provide the name or ID, but not both.
17432	ProductName *string `type:"string"`
17433
17434	// An idempotency token that uniquely identifies the provisioning request.
17435	ProvisionToken *string `min:"1" type:"string" idempotencyToken:"true"`
17436
17437	// A user-friendly name for the provisioned product. This value must be unique
17438	// for the AWS account and cannot be updated after the product is provisioned.
17439	//
17440	// ProvisionedProductName is a required field
17441	ProvisionedProductName *string `min:"1" type:"string" required:"true"`
17442
17443	// The identifier of the provisioning artifact. You must provide the name or
17444	// ID, but not both.
17445	ProvisioningArtifactId *string `min:"1" type:"string"`
17446
17447	// The name of the provisioning artifact. You must provide the name or ID, but
17448	// not both.
17449	ProvisioningArtifactName *string `type:"string"`
17450
17451	// Parameters specified by the administrator that are required for provisioning
17452	// the product.
17453	ProvisioningParameters []*ProvisioningParameter `type:"list"`
17454
17455	// An object that contains information about the provisioning preferences for
17456	// a stack set.
17457	ProvisioningPreferences *ProvisioningPreferences `type:"structure"`
17458
17459	// One or more tags.
17460	Tags []*Tag `type:"list"`
17461}
17462
17463// String returns the string representation
17464func (s ProvisionProductInput) String() string {
17465	return awsutil.Prettify(s)
17466}
17467
17468// GoString returns the string representation
17469func (s ProvisionProductInput) GoString() string {
17470	return s.String()
17471}
17472
17473// Validate inspects the fields of the type to determine if they are valid.
17474func (s *ProvisionProductInput) Validate() error {
17475	invalidParams := request.ErrInvalidParams{Context: "ProvisionProductInput"}
17476	if s.PathId != nil && len(*s.PathId) < 1 {
17477		invalidParams.Add(request.NewErrParamMinLen("PathId", 1))
17478	}
17479	if s.PathName != nil && len(*s.PathName) < 1 {
17480		invalidParams.Add(request.NewErrParamMinLen("PathName", 1))
17481	}
17482	if s.ProductId != nil && len(*s.ProductId) < 1 {
17483		invalidParams.Add(request.NewErrParamMinLen("ProductId", 1))
17484	}
17485	if s.ProvisionToken != nil && len(*s.ProvisionToken) < 1 {
17486		invalidParams.Add(request.NewErrParamMinLen("ProvisionToken", 1))
17487	}
17488	if s.ProvisionedProductName == nil {
17489		invalidParams.Add(request.NewErrParamRequired("ProvisionedProductName"))
17490	}
17491	if s.ProvisionedProductName != nil && len(*s.ProvisionedProductName) < 1 {
17492		invalidParams.Add(request.NewErrParamMinLen("ProvisionedProductName", 1))
17493	}
17494	if s.ProvisioningArtifactId != nil && len(*s.ProvisioningArtifactId) < 1 {
17495		invalidParams.Add(request.NewErrParamMinLen("ProvisioningArtifactId", 1))
17496	}
17497	if s.ProvisioningParameters != nil {
17498		for i, v := range s.ProvisioningParameters {
17499			if v == nil {
17500				continue
17501			}
17502			if err := v.Validate(); err != nil {
17503				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "ProvisioningParameters", i), err.(request.ErrInvalidParams))
17504			}
17505		}
17506	}
17507	if s.ProvisioningPreferences != nil {
17508		if err := s.ProvisioningPreferences.Validate(); err != nil {
17509			invalidParams.AddNested("ProvisioningPreferences", err.(request.ErrInvalidParams))
17510		}
17511	}
17512	if s.Tags != nil {
17513		for i, v := range s.Tags {
17514			if v == nil {
17515				continue
17516			}
17517			if err := v.Validate(); err != nil {
17518				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams))
17519			}
17520		}
17521	}
17522
17523	if invalidParams.Len() > 0 {
17524		return invalidParams
17525	}
17526	return nil
17527}
17528
17529// SetAcceptLanguage sets the AcceptLanguage field's value.
17530func (s *ProvisionProductInput) SetAcceptLanguage(v string) *ProvisionProductInput {
17531	s.AcceptLanguage = &v
17532	return s
17533}
17534
17535// SetNotificationArns sets the NotificationArns field's value.
17536func (s *ProvisionProductInput) SetNotificationArns(v []*string) *ProvisionProductInput {
17537	s.NotificationArns = v
17538	return s
17539}
17540
17541// SetPathId sets the PathId field's value.
17542func (s *ProvisionProductInput) SetPathId(v string) *ProvisionProductInput {
17543	s.PathId = &v
17544	return s
17545}
17546
17547// SetPathName sets the PathName field's value.
17548func (s *ProvisionProductInput) SetPathName(v string) *ProvisionProductInput {
17549	s.PathName = &v
17550	return s
17551}
17552
17553// SetProductId sets the ProductId field's value.
17554func (s *ProvisionProductInput) SetProductId(v string) *ProvisionProductInput {
17555	s.ProductId = &v
17556	return s
17557}
17558
17559// SetProductName sets the ProductName field's value.
17560func (s *ProvisionProductInput) SetProductName(v string) *ProvisionProductInput {
17561	s.ProductName = &v
17562	return s
17563}
17564
17565// SetProvisionToken sets the ProvisionToken field's value.
17566func (s *ProvisionProductInput) SetProvisionToken(v string) *ProvisionProductInput {
17567	s.ProvisionToken = &v
17568	return s
17569}
17570
17571// SetProvisionedProductName sets the ProvisionedProductName field's value.
17572func (s *ProvisionProductInput) SetProvisionedProductName(v string) *ProvisionProductInput {
17573	s.ProvisionedProductName = &v
17574	return s
17575}
17576
17577// SetProvisioningArtifactId sets the ProvisioningArtifactId field's value.
17578func (s *ProvisionProductInput) SetProvisioningArtifactId(v string) *ProvisionProductInput {
17579	s.ProvisioningArtifactId = &v
17580	return s
17581}
17582
17583// SetProvisioningArtifactName sets the ProvisioningArtifactName field's value.
17584func (s *ProvisionProductInput) SetProvisioningArtifactName(v string) *ProvisionProductInput {
17585	s.ProvisioningArtifactName = &v
17586	return s
17587}
17588
17589// SetProvisioningParameters sets the ProvisioningParameters field's value.
17590func (s *ProvisionProductInput) SetProvisioningParameters(v []*ProvisioningParameter) *ProvisionProductInput {
17591	s.ProvisioningParameters = v
17592	return s
17593}
17594
17595// SetProvisioningPreferences sets the ProvisioningPreferences field's value.
17596func (s *ProvisionProductInput) SetProvisioningPreferences(v *ProvisioningPreferences) *ProvisionProductInput {
17597	s.ProvisioningPreferences = v
17598	return s
17599}
17600
17601// SetTags sets the Tags field's value.
17602func (s *ProvisionProductInput) SetTags(v []*Tag) *ProvisionProductInput {
17603	s.Tags = v
17604	return s
17605}
17606
17607type ProvisionProductOutput struct {
17608	_ struct{} `type:"structure"`
17609
17610	// Information about the result of provisioning the product.
17611	RecordDetail *RecordDetail `type:"structure"`
17612}
17613
17614// String returns the string representation
17615func (s ProvisionProductOutput) String() string {
17616	return awsutil.Prettify(s)
17617}
17618
17619// GoString returns the string representation
17620func (s ProvisionProductOutput) GoString() string {
17621	return s.String()
17622}
17623
17624// SetRecordDetail sets the RecordDetail field's value.
17625func (s *ProvisionProductOutput) SetRecordDetail(v *RecordDetail) *ProvisionProductOutput {
17626	s.RecordDetail = v
17627	return s
17628}
17629
17630// Information about a provisioned product.
17631type ProvisionedProductAttribute struct {
17632	_ struct{} `type:"structure"`
17633
17634	// The ARN of the provisioned product.
17635	Arn *string `min:"1" type:"string"`
17636
17637	// The UTC time stamp of the creation time.
17638	CreatedTime *time.Time `type:"timestamp"`
17639
17640	// The identifier of the provisioned product.
17641	Id *string `min:"1" type:"string"`
17642
17643	// A unique identifier that you provide to ensure idempotency. If multiple requests
17644	// differ only by the idempotency token, the same response is returned for each
17645	// repeated request.
17646	IdempotencyToken *string `min:"1" type:"string"`
17647
17648	// The record identifier of the last request performed on this provisioned product
17649	// of the following types:
17650	//
17651	//    * ProvisionedProduct
17652	//
17653	//    * UpdateProvisionedProduct
17654	//
17655	//    * ExecuteProvisionedProductPlan
17656	//
17657	//    * TerminateProvisionedProduct
17658	LastProvisioningRecordId *string `min:"1" type:"string"`
17659
17660	// The record identifier of the last request performed on this provisioned product.
17661	LastRecordId *string `min:"1" type:"string"`
17662
17663	// The record identifier of the last successful request performed on this provisioned
17664	// product of the following types:
17665	//
17666	//    * ProvisionedProduct
17667	//
17668	//    * UpdateProvisionedProduct
17669	//
17670	//    * ExecuteProvisionedProductPlan
17671	//
17672	//    * TerminateProvisionedProduct
17673	LastSuccessfulProvisioningRecordId *string `min:"1" type:"string"`
17674
17675	// The user-friendly name of the provisioned product.
17676	Name *string `min:"1" type:"string"`
17677
17678	// The assigned identifier for the resource, such as an EC2 instance ID or an
17679	// S3 bucket name.
17680	PhysicalId *string `type:"string"`
17681
17682	// The product identifier.
17683	ProductId *string `min:"1" type:"string"`
17684
17685	// The name of the product.
17686	ProductName *string `type:"string"`
17687
17688	// The identifier of the provisioning artifact.
17689	ProvisioningArtifactId *string `min:"1" type:"string"`
17690
17691	// The name of the provisioning artifact.
17692	ProvisioningArtifactName *string `type:"string"`
17693
17694	// The current status of the provisioned product.
17695	//
17696	//    * AVAILABLE - Stable state, ready to perform any operation. The most recent
17697	//    operation succeeded and completed.
17698	//
17699	//    * UNDER_CHANGE - Transitive state. Operations performed might not have
17700	//    valid results. Wait for an AVAILABLE status before performing operations.
17701	//
17702	//    * TAINTED - Stable state, ready to perform any operation. The stack has
17703	//    completed the requested operation but is not exactly what was requested.
17704	//    For example, a request to update to a new version failed and the stack
17705	//    rolled back to the current version.
17706	//
17707	//    * ERROR - An unexpected error occurred. The provisioned product exists
17708	//    but the stack is not running. For example, CloudFormation received a parameter
17709	//    value that was not valid and could not launch the stack.
17710	//
17711	//    * PLAN_IN_PROGRESS - Transitive state. The plan operations were performed
17712	//    to provision a new product, but resources have not yet been created. After
17713	//    reviewing the list of resources to be created, execute the plan. Wait
17714	//    for an AVAILABLE status before performing operations.
17715	Status *string `type:"string" enum:"ProvisionedProductStatus"`
17716
17717	// The current status message of the provisioned product.
17718	StatusMessage *string `type:"string"`
17719
17720	// One or more tags.
17721	Tags []*Tag `type:"list"`
17722
17723	// The type of provisioned product. The supported values are CFN_STACK and CFN_STACKSET.
17724	Type *string `type:"string"`
17725
17726	// The Amazon Resource Name (ARN) of the IAM user.
17727	UserArn *string `type:"string"`
17728
17729	// The ARN of the IAM user in the session. This ARN might contain a session
17730	// ID.
17731	UserArnSession *string `type:"string"`
17732}
17733
17734// String returns the string representation
17735func (s ProvisionedProductAttribute) String() string {
17736	return awsutil.Prettify(s)
17737}
17738
17739// GoString returns the string representation
17740func (s ProvisionedProductAttribute) GoString() string {
17741	return s.String()
17742}
17743
17744// SetArn sets the Arn field's value.
17745func (s *ProvisionedProductAttribute) SetArn(v string) *ProvisionedProductAttribute {
17746	s.Arn = &v
17747	return s
17748}
17749
17750// SetCreatedTime sets the CreatedTime field's value.
17751func (s *ProvisionedProductAttribute) SetCreatedTime(v time.Time) *ProvisionedProductAttribute {
17752	s.CreatedTime = &v
17753	return s
17754}
17755
17756// SetId sets the Id field's value.
17757func (s *ProvisionedProductAttribute) SetId(v string) *ProvisionedProductAttribute {
17758	s.Id = &v
17759	return s
17760}
17761
17762// SetIdempotencyToken sets the IdempotencyToken field's value.
17763func (s *ProvisionedProductAttribute) SetIdempotencyToken(v string) *ProvisionedProductAttribute {
17764	s.IdempotencyToken = &v
17765	return s
17766}
17767
17768// SetLastProvisioningRecordId sets the LastProvisioningRecordId field's value.
17769func (s *ProvisionedProductAttribute) SetLastProvisioningRecordId(v string) *ProvisionedProductAttribute {
17770	s.LastProvisioningRecordId = &v
17771	return s
17772}
17773
17774// SetLastRecordId sets the LastRecordId field's value.
17775func (s *ProvisionedProductAttribute) SetLastRecordId(v string) *ProvisionedProductAttribute {
17776	s.LastRecordId = &v
17777	return s
17778}
17779
17780// SetLastSuccessfulProvisioningRecordId sets the LastSuccessfulProvisioningRecordId field's value.
17781func (s *ProvisionedProductAttribute) SetLastSuccessfulProvisioningRecordId(v string) *ProvisionedProductAttribute {
17782	s.LastSuccessfulProvisioningRecordId = &v
17783	return s
17784}
17785
17786// SetName sets the Name field's value.
17787func (s *ProvisionedProductAttribute) SetName(v string) *ProvisionedProductAttribute {
17788	s.Name = &v
17789	return s
17790}
17791
17792// SetPhysicalId sets the PhysicalId field's value.
17793func (s *ProvisionedProductAttribute) SetPhysicalId(v string) *ProvisionedProductAttribute {
17794	s.PhysicalId = &v
17795	return s
17796}
17797
17798// SetProductId sets the ProductId field's value.
17799func (s *ProvisionedProductAttribute) SetProductId(v string) *ProvisionedProductAttribute {
17800	s.ProductId = &v
17801	return s
17802}
17803
17804// SetProductName sets the ProductName field's value.
17805func (s *ProvisionedProductAttribute) SetProductName(v string) *ProvisionedProductAttribute {
17806	s.ProductName = &v
17807	return s
17808}
17809
17810// SetProvisioningArtifactId sets the ProvisioningArtifactId field's value.
17811func (s *ProvisionedProductAttribute) SetProvisioningArtifactId(v string) *ProvisionedProductAttribute {
17812	s.ProvisioningArtifactId = &v
17813	return s
17814}
17815
17816// SetProvisioningArtifactName sets the ProvisioningArtifactName field's value.
17817func (s *ProvisionedProductAttribute) SetProvisioningArtifactName(v string) *ProvisionedProductAttribute {
17818	s.ProvisioningArtifactName = &v
17819	return s
17820}
17821
17822// SetStatus sets the Status field's value.
17823func (s *ProvisionedProductAttribute) SetStatus(v string) *ProvisionedProductAttribute {
17824	s.Status = &v
17825	return s
17826}
17827
17828// SetStatusMessage sets the StatusMessage field's value.
17829func (s *ProvisionedProductAttribute) SetStatusMessage(v string) *ProvisionedProductAttribute {
17830	s.StatusMessage = &v
17831	return s
17832}
17833
17834// SetTags sets the Tags field's value.
17835func (s *ProvisionedProductAttribute) SetTags(v []*Tag) *ProvisionedProductAttribute {
17836	s.Tags = v
17837	return s
17838}
17839
17840// SetType sets the Type field's value.
17841func (s *ProvisionedProductAttribute) SetType(v string) *ProvisionedProductAttribute {
17842	s.Type = &v
17843	return s
17844}
17845
17846// SetUserArn sets the UserArn field's value.
17847func (s *ProvisionedProductAttribute) SetUserArn(v string) *ProvisionedProductAttribute {
17848	s.UserArn = &v
17849	return s
17850}
17851
17852// SetUserArnSession sets the UserArnSession field's value.
17853func (s *ProvisionedProductAttribute) SetUserArnSession(v string) *ProvisionedProductAttribute {
17854	s.UserArnSession = &v
17855	return s
17856}
17857
17858// Information about a provisioned product.
17859type ProvisionedProductDetail struct {
17860	_ struct{} `type:"structure"`
17861
17862	// The ARN of the provisioned product.
17863	Arn *string `min:"1" type:"string"`
17864
17865	// The UTC time stamp of the creation time.
17866	CreatedTime *time.Time `type:"timestamp"`
17867
17868	// The identifier of the provisioned product.
17869	Id *string `type:"string"`
17870
17871	// A unique identifier that you provide to ensure idempotency. If multiple requests
17872	// differ only by the idempotency token, the same response is returned for each
17873	// repeated request.
17874	IdempotencyToken *string `min:"1" type:"string"`
17875
17876	// The record identifier of the last request performed on this provisioned product
17877	// of the following types:
17878	//
17879	//    * ProvisionedProduct
17880	//
17881	//    * UpdateProvisionedProduct
17882	//
17883	//    * ExecuteProvisionedProductPlan
17884	//
17885	//    * TerminateProvisionedProduct
17886	LastProvisioningRecordId *string `min:"1" type:"string"`
17887
17888	// The record identifier of the last request performed on this provisioned product.
17889	LastRecordId *string `type:"string"`
17890
17891	// The record identifier of the last successful request performed on this provisioned
17892	// product of the following types:
17893	//
17894	//    * ProvisionedProduct
17895	//
17896	//    * UpdateProvisionedProduct
17897	//
17898	//    * ExecuteProvisionedProductPlan
17899	//
17900	//    * TerminateProvisionedProduct
17901	LastSuccessfulProvisioningRecordId *string `min:"1" type:"string"`
17902
17903	// The ARN of the launch role associated with the provisioned product.
17904	LaunchRoleArn *string `min:"1" type:"string"`
17905
17906	// The user-friendly name of the provisioned product.
17907	Name *string `min:"1" type:"string"`
17908
17909	// The product identifier. For example, prod-abcdzk7xy33qa.
17910	ProductId *string `min:"1" type:"string"`
17911
17912	// The identifier of the provisioning artifact. For example, pa-4abcdjnxjj6ne.
17913	ProvisioningArtifactId *string `min:"1" type:"string"`
17914
17915	// The current status of the provisioned product.
17916	//
17917	//    * AVAILABLE - Stable state, ready to perform any operation. The most recent
17918	//    operation succeeded and completed.
17919	//
17920	//    * UNDER_CHANGE - Transitive state. Operations performed might not have
17921	//    valid results. Wait for an AVAILABLE status before performing operations.
17922	//
17923	//    * TAINTED - Stable state, ready to perform any operation. The stack has
17924	//    completed the requested operation but is not exactly what was requested.
17925	//    For example, a request to update to a new version failed and the stack
17926	//    rolled back to the current version.
17927	//
17928	//    * ERROR - An unexpected error occurred. The provisioned product exists
17929	//    but the stack is not running. For example, CloudFormation received a parameter
17930	//    value that was not valid and could not launch the stack.
17931	//
17932	//    * PLAN_IN_PROGRESS - Transitive state. The plan operations were performed
17933	//    to provision a new product, but resources have not yet been created. After
17934	//    reviewing the list of resources to be created, execute the plan. Wait
17935	//    for an AVAILABLE status before performing operations.
17936	Status *string `type:"string" enum:"ProvisionedProductStatus"`
17937
17938	// The current status message of the provisioned product.
17939	StatusMessage *string `type:"string"`
17940
17941	// The type of provisioned product. The supported values are CFN_STACK and CFN_STACKSET.
17942	Type *string `type:"string"`
17943}
17944
17945// String returns the string representation
17946func (s ProvisionedProductDetail) String() string {
17947	return awsutil.Prettify(s)
17948}
17949
17950// GoString returns the string representation
17951func (s ProvisionedProductDetail) GoString() string {
17952	return s.String()
17953}
17954
17955// SetArn sets the Arn field's value.
17956func (s *ProvisionedProductDetail) SetArn(v string) *ProvisionedProductDetail {
17957	s.Arn = &v
17958	return s
17959}
17960
17961// SetCreatedTime sets the CreatedTime field's value.
17962func (s *ProvisionedProductDetail) SetCreatedTime(v time.Time) *ProvisionedProductDetail {
17963	s.CreatedTime = &v
17964	return s
17965}
17966
17967// SetId sets the Id field's value.
17968func (s *ProvisionedProductDetail) SetId(v string) *ProvisionedProductDetail {
17969	s.Id = &v
17970	return s
17971}
17972
17973// SetIdempotencyToken sets the IdempotencyToken field's value.
17974func (s *ProvisionedProductDetail) SetIdempotencyToken(v string) *ProvisionedProductDetail {
17975	s.IdempotencyToken = &v
17976	return s
17977}
17978
17979// SetLastProvisioningRecordId sets the LastProvisioningRecordId field's value.
17980func (s *ProvisionedProductDetail) SetLastProvisioningRecordId(v string) *ProvisionedProductDetail {
17981	s.LastProvisioningRecordId = &v
17982	return s
17983}
17984
17985// SetLastRecordId sets the LastRecordId field's value.
17986func (s *ProvisionedProductDetail) SetLastRecordId(v string) *ProvisionedProductDetail {
17987	s.LastRecordId = &v
17988	return s
17989}
17990
17991// SetLastSuccessfulProvisioningRecordId sets the LastSuccessfulProvisioningRecordId field's value.
17992func (s *ProvisionedProductDetail) SetLastSuccessfulProvisioningRecordId(v string) *ProvisionedProductDetail {
17993	s.LastSuccessfulProvisioningRecordId = &v
17994	return s
17995}
17996
17997// SetLaunchRoleArn sets the LaunchRoleArn field's value.
17998func (s *ProvisionedProductDetail) SetLaunchRoleArn(v string) *ProvisionedProductDetail {
17999	s.LaunchRoleArn = &v
18000	return s
18001}
18002
18003// SetName sets the Name field's value.
18004func (s *ProvisionedProductDetail) SetName(v string) *ProvisionedProductDetail {
18005	s.Name = &v
18006	return s
18007}
18008
18009// SetProductId sets the ProductId field's value.
18010func (s *ProvisionedProductDetail) SetProductId(v string) *ProvisionedProductDetail {
18011	s.ProductId = &v
18012	return s
18013}
18014
18015// SetProvisioningArtifactId sets the ProvisioningArtifactId field's value.
18016func (s *ProvisionedProductDetail) SetProvisioningArtifactId(v string) *ProvisionedProductDetail {
18017	s.ProvisioningArtifactId = &v
18018	return s
18019}
18020
18021// SetStatus sets the Status field's value.
18022func (s *ProvisionedProductDetail) SetStatus(v string) *ProvisionedProductDetail {
18023	s.Status = &v
18024	return s
18025}
18026
18027// SetStatusMessage sets the StatusMessage field's value.
18028func (s *ProvisionedProductDetail) SetStatusMessage(v string) *ProvisionedProductDetail {
18029	s.StatusMessage = &v
18030	return s
18031}
18032
18033// SetType sets the Type field's value.
18034func (s *ProvisionedProductDetail) SetType(v string) *ProvisionedProductDetail {
18035	s.Type = &v
18036	return s
18037}
18038
18039// Information about a plan.
18040type ProvisionedProductPlanDetails struct {
18041	_ struct{} `type:"structure"`
18042
18043	// The UTC time stamp of the creation time.
18044	CreatedTime *time.Time `type:"timestamp"`
18045
18046	// Passed to CloudFormation. The SNS topic ARNs to which to publish stack-related
18047	// events.
18048	NotificationArns []*string `type:"list"`
18049
18050	// The path identifier of the product. This value is optional if the product
18051	// has a default path, and required if the product has more than one path. To
18052	// list the paths for a product, use ListLaunchPaths.
18053	PathId *string `min:"1" type:"string"`
18054
18055	// The plan identifier.
18056	PlanId *string `min:"1" type:"string"`
18057
18058	// The name of the plan.
18059	PlanName *string `type:"string"`
18060
18061	// The plan type.
18062	PlanType *string `type:"string" enum:"ProvisionedProductPlanType"`
18063
18064	// The product identifier.
18065	ProductId *string `min:"1" type:"string"`
18066
18067	// The product identifier.
18068	ProvisionProductId *string `min:"1" type:"string"`
18069
18070	// The user-friendly name of the provisioned product.
18071	ProvisionProductName *string `min:"1" type:"string"`
18072
18073	// The identifier of the provisioning artifact.
18074	ProvisioningArtifactId *string `min:"1" type:"string"`
18075
18076	// Parameters specified by the administrator that are required for provisioning
18077	// the product.
18078	ProvisioningParameters []*UpdateProvisioningParameter `type:"list"`
18079
18080	// The status.
18081	Status *string `type:"string" enum:"ProvisionedProductPlanStatus"`
18082
18083	// The status message.
18084	StatusMessage *string `type:"string"`
18085
18086	// One or more tags.
18087	Tags []*Tag `type:"list"`
18088
18089	// The time when the plan was last updated.
18090	UpdatedTime *time.Time `type:"timestamp"`
18091}
18092
18093// String returns the string representation
18094func (s ProvisionedProductPlanDetails) String() string {
18095	return awsutil.Prettify(s)
18096}
18097
18098// GoString returns the string representation
18099func (s ProvisionedProductPlanDetails) GoString() string {
18100	return s.String()
18101}
18102
18103// SetCreatedTime sets the CreatedTime field's value.
18104func (s *ProvisionedProductPlanDetails) SetCreatedTime(v time.Time) *ProvisionedProductPlanDetails {
18105	s.CreatedTime = &v
18106	return s
18107}
18108
18109// SetNotificationArns sets the NotificationArns field's value.
18110func (s *ProvisionedProductPlanDetails) SetNotificationArns(v []*string) *ProvisionedProductPlanDetails {
18111	s.NotificationArns = v
18112	return s
18113}
18114
18115// SetPathId sets the PathId field's value.
18116func (s *ProvisionedProductPlanDetails) SetPathId(v string) *ProvisionedProductPlanDetails {
18117	s.PathId = &v
18118	return s
18119}
18120
18121// SetPlanId sets the PlanId field's value.
18122func (s *ProvisionedProductPlanDetails) SetPlanId(v string) *ProvisionedProductPlanDetails {
18123	s.PlanId = &v
18124	return s
18125}
18126
18127// SetPlanName sets the PlanName field's value.
18128func (s *ProvisionedProductPlanDetails) SetPlanName(v string) *ProvisionedProductPlanDetails {
18129	s.PlanName = &v
18130	return s
18131}
18132
18133// SetPlanType sets the PlanType field's value.
18134func (s *ProvisionedProductPlanDetails) SetPlanType(v string) *ProvisionedProductPlanDetails {
18135	s.PlanType = &v
18136	return s
18137}
18138
18139// SetProductId sets the ProductId field's value.
18140func (s *ProvisionedProductPlanDetails) SetProductId(v string) *ProvisionedProductPlanDetails {
18141	s.ProductId = &v
18142	return s
18143}
18144
18145// SetProvisionProductId sets the ProvisionProductId field's value.
18146func (s *ProvisionedProductPlanDetails) SetProvisionProductId(v string) *ProvisionedProductPlanDetails {
18147	s.ProvisionProductId = &v
18148	return s
18149}
18150
18151// SetProvisionProductName sets the ProvisionProductName field's value.
18152func (s *ProvisionedProductPlanDetails) SetProvisionProductName(v string) *ProvisionedProductPlanDetails {
18153	s.ProvisionProductName = &v
18154	return s
18155}
18156
18157// SetProvisioningArtifactId sets the ProvisioningArtifactId field's value.
18158func (s *ProvisionedProductPlanDetails) SetProvisioningArtifactId(v string) *ProvisionedProductPlanDetails {
18159	s.ProvisioningArtifactId = &v
18160	return s
18161}
18162
18163// SetProvisioningParameters sets the ProvisioningParameters field's value.
18164func (s *ProvisionedProductPlanDetails) SetProvisioningParameters(v []*UpdateProvisioningParameter) *ProvisionedProductPlanDetails {
18165	s.ProvisioningParameters = v
18166	return s
18167}
18168
18169// SetStatus sets the Status field's value.
18170func (s *ProvisionedProductPlanDetails) SetStatus(v string) *ProvisionedProductPlanDetails {
18171	s.Status = &v
18172	return s
18173}
18174
18175// SetStatusMessage sets the StatusMessage field's value.
18176func (s *ProvisionedProductPlanDetails) SetStatusMessage(v string) *ProvisionedProductPlanDetails {
18177	s.StatusMessage = &v
18178	return s
18179}
18180
18181// SetTags sets the Tags field's value.
18182func (s *ProvisionedProductPlanDetails) SetTags(v []*Tag) *ProvisionedProductPlanDetails {
18183	s.Tags = v
18184	return s
18185}
18186
18187// SetUpdatedTime sets the UpdatedTime field's value.
18188func (s *ProvisionedProductPlanDetails) SetUpdatedTime(v time.Time) *ProvisionedProductPlanDetails {
18189	s.UpdatedTime = &v
18190	return s
18191}
18192
18193// Summary information about a plan.
18194type ProvisionedProductPlanSummary struct {
18195	_ struct{} `type:"structure"`
18196
18197	// The plan identifier.
18198	PlanId *string `min:"1" type:"string"`
18199
18200	// The name of the plan.
18201	PlanName *string `type:"string"`
18202
18203	// The plan type.
18204	PlanType *string `type:"string" enum:"ProvisionedProductPlanType"`
18205
18206	// The product identifier.
18207	ProvisionProductId *string `min:"1" type:"string"`
18208
18209	// The user-friendly name of the provisioned product.
18210	ProvisionProductName *string `min:"1" type:"string"`
18211
18212	// The identifier of the provisioning artifact.
18213	ProvisioningArtifactId *string `min:"1" type:"string"`
18214}
18215
18216// String returns the string representation
18217func (s ProvisionedProductPlanSummary) String() string {
18218	return awsutil.Prettify(s)
18219}
18220
18221// GoString returns the string representation
18222func (s ProvisionedProductPlanSummary) GoString() string {
18223	return s.String()
18224}
18225
18226// SetPlanId sets the PlanId field's value.
18227func (s *ProvisionedProductPlanSummary) SetPlanId(v string) *ProvisionedProductPlanSummary {
18228	s.PlanId = &v
18229	return s
18230}
18231
18232// SetPlanName sets the PlanName field's value.
18233func (s *ProvisionedProductPlanSummary) SetPlanName(v string) *ProvisionedProductPlanSummary {
18234	s.PlanName = &v
18235	return s
18236}
18237
18238// SetPlanType sets the PlanType field's value.
18239func (s *ProvisionedProductPlanSummary) SetPlanType(v string) *ProvisionedProductPlanSummary {
18240	s.PlanType = &v
18241	return s
18242}
18243
18244// SetProvisionProductId sets the ProvisionProductId field's value.
18245func (s *ProvisionedProductPlanSummary) SetProvisionProductId(v string) *ProvisionedProductPlanSummary {
18246	s.ProvisionProductId = &v
18247	return s
18248}
18249
18250// SetProvisionProductName sets the ProvisionProductName field's value.
18251func (s *ProvisionedProductPlanSummary) SetProvisionProductName(v string) *ProvisionedProductPlanSummary {
18252	s.ProvisionProductName = &v
18253	return s
18254}
18255
18256// SetProvisioningArtifactId sets the ProvisioningArtifactId field's value.
18257func (s *ProvisionedProductPlanSummary) SetProvisioningArtifactId(v string) *ProvisionedProductPlanSummary {
18258	s.ProvisioningArtifactId = &v
18259	return s
18260}
18261
18262// Information about a provisioning artifact. A provisioning artifact is also
18263// known as a product version.
18264type ProvisioningArtifact struct {
18265	_ struct{} `type:"structure"`
18266
18267	// The UTC time stamp of the creation time.
18268	CreatedTime *time.Time `type:"timestamp"`
18269
18270	// The description of the provisioning artifact.
18271	Description *string `type:"string"`
18272
18273	// Information set by the administrator to provide guidance to end users about
18274	// which provisioning artifacts to use.
18275	Guidance *string `type:"string" enum:"ProvisioningArtifactGuidance"`
18276
18277	// The identifier of the provisioning artifact.
18278	Id *string `min:"1" type:"string"`
18279
18280	// The name of the provisioning artifact.
18281	Name *string `type:"string"`
18282}
18283
18284// String returns the string representation
18285func (s ProvisioningArtifact) String() string {
18286	return awsutil.Prettify(s)
18287}
18288
18289// GoString returns the string representation
18290func (s ProvisioningArtifact) GoString() string {
18291	return s.String()
18292}
18293
18294// SetCreatedTime sets the CreatedTime field's value.
18295func (s *ProvisioningArtifact) SetCreatedTime(v time.Time) *ProvisioningArtifact {
18296	s.CreatedTime = &v
18297	return s
18298}
18299
18300// SetDescription sets the Description field's value.
18301func (s *ProvisioningArtifact) SetDescription(v string) *ProvisioningArtifact {
18302	s.Description = &v
18303	return s
18304}
18305
18306// SetGuidance sets the Guidance field's value.
18307func (s *ProvisioningArtifact) SetGuidance(v string) *ProvisioningArtifact {
18308	s.Guidance = &v
18309	return s
18310}
18311
18312// SetId sets the Id field's value.
18313func (s *ProvisioningArtifact) SetId(v string) *ProvisioningArtifact {
18314	s.Id = &v
18315	return s
18316}
18317
18318// SetName sets the Name field's value.
18319func (s *ProvisioningArtifact) SetName(v string) *ProvisioningArtifact {
18320	s.Name = &v
18321	return s
18322}
18323
18324// Information about a provisioning artifact (also known as a version) for a
18325// product.
18326type ProvisioningArtifactDetail struct {
18327	_ struct{} `type:"structure"`
18328
18329	// Indicates whether the product version is active.
18330	Active *bool `type:"boolean"`
18331
18332	// The UTC time stamp of the creation time.
18333	CreatedTime *time.Time `type:"timestamp"`
18334
18335	// The description of the provisioning artifact.
18336	Description *string `type:"string"`
18337
18338	// Information set by the administrator to provide guidance to end users about
18339	// which provisioning artifacts to use.
18340	Guidance *string `type:"string" enum:"ProvisioningArtifactGuidance"`
18341
18342	// The identifier of the provisioning artifact.
18343	Id *string `min:"1" type:"string"`
18344
18345	// The name of the provisioning artifact.
18346	Name *string `type:"string"`
18347
18348	// The type of provisioning artifact.
18349	//
18350	//    * CLOUD_FORMATION_TEMPLATE - AWS CloudFormation template
18351	//
18352	//    * MARKETPLACE_AMI - AWS Marketplace AMI
18353	//
18354	//    * MARKETPLACE_CAR - AWS Marketplace Clusters and AWS Resources
18355	Type *string `type:"string" enum:"ProvisioningArtifactType"`
18356}
18357
18358// String returns the string representation
18359func (s ProvisioningArtifactDetail) String() string {
18360	return awsutil.Prettify(s)
18361}
18362
18363// GoString returns the string representation
18364func (s ProvisioningArtifactDetail) GoString() string {
18365	return s.String()
18366}
18367
18368// SetActive sets the Active field's value.
18369func (s *ProvisioningArtifactDetail) SetActive(v bool) *ProvisioningArtifactDetail {
18370	s.Active = &v
18371	return s
18372}
18373
18374// SetCreatedTime sets the CreatedTime field's value.
18375func (s *ProvisioningArtifactDetail) SetCreatedTime(v time.Time) *ProvisioningArtifactDetail {
18376	s.CreatedTime = &v
18377	return s
18378}
18379
18380// SetDescription sets the Description field's value.
18381func (s *ProvisioningArtifactDetail) SetDescription(v string) *ProvisioningArtifactDetail {
18382	s.Description = &v
18383	return s
18384}
18385
18386// SetGuidance sets the Guidance field's value.
18387func (s *ProvisioningArtifactDetail) SetGuidance(v string) *ProvisioningArtifactDetail {
18388	s.Guidance = &v
18389	return s
18390}
18391
18392// SetId sets the Id field's value.
18393func (s *ProvisioningArtifactDetail) SetId(v string) *ProvisioningArtifactDetail {
18394	s.Id = &v
18395	return s
18396}
18397
18398// SetName sets the Name field's value.
18399func (s *ProvisioningArtifactDetail) SetName(v string) *ProvisioningArtifactDetail {
18400	s.Name = &v
18401	return s
18402}
18403
18404// SetType sets the Type field's value.
18405func (s *ProvisioningArtifactDetail) SetType(v string) *ProvisioningArtifactDetail {
18406	s.Type = &v
18407	return s
18408}
18409
18410// Provisioning artifact output.
18411type ProvisioningArtifactOutput struct {
18412	_ struct{} `type:"structure"`
18413
18414	// Description of the provisioning artifact output key.
18415	Description *string `type:"string"`
18416
18417	// The provisioning artifact output key.
18418	Key *string `min:"1" type:"string"`
18419}
18420
18421// String returns the string representation
18422func (s ProvisioningArtifactOutput) String() string {
18423	return awsutil.Prettify(s)
18424}
18425
18426// GoString returns the string representation
18427func (s ProvisioningArtifactOutput) GoString() string {
18428	return s.String()
18429}
18430
18431// SetDescription sets the Description field's value.
18432func (s *ProvisioningArtifactOutput) SetDescription(v string) *ProvisioningArtifactOutput {
18433	s.Description = &v
18434	return s
18435}
18436
18437// SetKey sets the Key field's value.
18438func (s *ProvisioningArtifactOutput) SetKey(v string) *ProvisioningArtifactOutput {
18439	s.Key = &v
18440	return s
18441}
18442
18443// Information about a parameter used to provision a product.
18444type ProvisioningArtifactParameter struct {
18445	_ struct{} `type:"structure"`
18446
18447	// The default value.
18448	DefaultValue *string `type:"string"`
18449
18450	// The description of the parameter.
18451	Description *string `type:"string"`
18452
18453	// If this value is true, the value for this parameter is obfuscated from view
18454	// when the parameter is retrieved. This parameter is used to hide sensitive
18455	// information.
18456	IsNoEcho *bool `type:"boolean"`
18457
18458	// Constraints that the administrator has put on a parameter.
18459	ParameterConstraints *ParameterConstraints `type:"structure"`
18460
18461	// The parameter key.
18462	ParameterKey *string `min:"1" type:"string"`
18463
18464	// The parameter type.
18465	ParameterType *string `type:"string"`
18466}
18467
18468// String returns the string representation
18469func (s ProvisioningArtifactParameter) String() string {
18470	return awsutil.Prettify(s)
18471}
18472
18473// GoString returns the string representation
18474func (s ProvisioningArtifactParameter) GoString() string {
18475	return s.String()
18476}
18477
18478// SetDefaultValue sets the DefaultValue field's value.
18479func (s *ProvisioningArtifactParameter) SetDefaultValue(v string) *ProvisioningArtifactParameter {
18480	s.DefaultValue = &v
18481	return s
18482}
18483
18484// SetDescription sets the Description field's value.
18485func (s *ProvisioningArtifactParameter) SetDescription(v string) *ProvisioningArtifactParameter {
18486	s.Description = &v
18487	return s
18488}
18489
18490// SetIsNoEcho sets the IsNoEcho field's value.
18491func (s *ProvisioningArtifactParameter) SetIsNoEcho(v bool) *ProvisioningArtifactParameter {
18492	s.IsNoEcho = &v
18493	return s
18494}
18495
18496// SetParameterConstraints sets the ParameterConstraints field's value.
18497func (s *ProvisioningArtifactParameter) SetParameterConstraints(v *ParameterConstraints) *ProvisioningArtifactParameter {
18498	s.ParameterConstraints = v
18499	return s
18500}
18501
18502// SetParameterKey sets the ParameterKey field's value.
18503func (s *ProvisioningArtifactParameter) SetParameterKey(v string) *ProvisioningArtifactParameter {
18504	s.ParameterKey = &v
18505	return s
18506}
18507
18508// SetParameterType sets the ParameterType field's value.
18509func (s *ProvisioningArtifactParameter) SetParameterType(v string) *ProvisioningArtifactParameter {
18510	s.ParameterType = &v
18511	return s
18512}
18513
18514// The user-defined preferences that will be applied during product provisioning,
18515// unless overridden by ProvisioningPreferences or UpdateProvisioningPreferences.
18516//
18517// For more information on maximum concurrent accounts and failure tolerance,
18518// see Stack set operation options (https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/stacksets-concepts.html#stackset-ops-options)
18519// in the AWS CloudFormation User Guide.
18520type ProvisioningArtifactPreferences struct {
18521	_ struct{} `type:"structure"`
18522
18523	// One or more AWS accounts where stack instances are deployed from the stack
18524	// set. These accounts can be scoped in ProvisioningPreferences$StackSetAccounts
18525	// and UpdateProvisioningPreferences$StackSetAccounts.
18526	//
18527	// Applicable only to a CFN_STACKSET provisioned product type.
18528	StackSetAccounts []*string `type:"list"`
18529
18530	// One or more AWS Regions where stack instances are deployed from the stack
18531	// set. These regions can be scoped in ProvisioningPreferences$StackSetRegions
18532	// and UpdateProvisioningPreferences$StackSetRegions.
18533	//
18534	// Applicable only to a CFN_STACKSET provisioned product type.
18535	StackSetRegions []*string `type:"list"`
18536}
18537
18538// String returns the string representation
18539func (s ProvisioningArtifactPreferences) String() string {
18540	return awsutil.Prettify(s)
18541}
18542
18543// GoString returns the string representation
18544func (s ProvisioningArtifactPreferences) GoString() string {
18545	return s.String()
18546}
18547
18548// SetStackSetAccounts sets the StackSetAccounts field's value.
18549func (s *ProvisioningArtifactPreferences) SetStackSetAccounts(v []*string) *ProvisioningArtifactPreferences {
18550	s.StackSetAccounts = v
18551	return s
18552}
18553
18554// SetStackSetRegions sets the StackSetRegions field's value.
18555func (s *ProvisioningArtifactPreferences) SetStackSetRegions(v []*string) *ProvisioningArtifactPreferences {
18556	s.StackSetRegions = v
18557	return s
18558}
18559
18560// Information about a provisioning artifact (also known as a version) for a
18561// product.
18562type ProvisioningArtifactProperties struct {
18563	_ struct{} `type:"structure"`
18564
18565	// The description of the provisioning artifact, including how it differs from
18566	// the previous provisioning artifact.
18567	Description *string `type:"string"`
18568
18569	// If set to true, AWS Service Catalog stops validating the specified provisioning
18570	// artifact even if it is invalid.
18571	DisableTemplateValidation *bool `type:"boolean"`
18572
18573	// Specify the template source with one of the following options, but not both.
18574	// Keys accepted: [ LoadTemplateFromURL, ImportFromPhysicalId ]
18575	//
18576	// The URL of the CloudFormation template in Amazon S3. Specify the URL in JSON
18577	// format as follows:
18578	//
18579	// "LoadTemplateFromURL": "https://s3.amazonaws.com/cf-templates-ozkq9d3hgiq2-us-east-1/..."
18580	//
18581	// ImportFromPhysicalId: The physical id of the resource that contains the template.
18582	// Currently only supports CloudFormation stack arn. Specify the physical id
18583	// in JSON format as follows: ImportFromPhysicalId: “arn:aws:cloudformation:[us-east-1]:[accountId]:stack/[StackName]/[resourceId]
18584	//
18585	// Info is a required field
18586	Info map[string]*string `min:"1" type:"map" required:"true"`
18587
18588	// The name of the provisioning artifact (for example, v1 v2beta). No spaces
18589	// are allowed.
18590	Name *string `type:"string"`
18591
18592	// The type of provisioning artifact.
18593	//
18594	//    * CLOUD_FORMATION_TEMPLATE - AWS CloudFormation template
18595	//
18596	//    * MARKETPLACE_AMI - AWS Marketplace AMI
18597	//
18598	//    * MARKETPLACE_CAR - AWS Marketplace Clusters and AWS Resources
18599	Type *string `type:"string" enum:"ProvisioningArtifactType"`
18600}
18601
18602// String returns the string representation
18603func (s ProvisioningArtifactProperties) String() string {
18604	return awsutil.Prettify(s)
18605}
18606
18607// GoString returns the string representation
18608func (s ProvisioningArtifactProperties) GoString() string {
18609	return s.String()
18610}
18611
18612// Validate inspects the fields of the type to determine if they are valid.
18613func (s *ProvisioningArtifactProperties) Validate() error {
18614	invalidParams := request.ErrInvalidParams{Context: "ProvisioningArtifactProperties"}
18615	if s.Info == nil {
18616		invalidParams.Add(request.NewErrParamRequired("Info"))
18617	}
18618	if s.Info != nil && len(s.Info) < 1 {
18619		invalidParams.Add(request.NewErrParamMinLen("Info", 1))
18620	}
18621
18622	if invalidParams.Len() > 0 {
18623		return invalidParams
18624	}
18625	return nil
18626}
18627
18628// SetDescription sets the Description field's value.
18629func (s *ProvisioningArtifactProperties) SetDescription(v string) *ProvisioningArtifactProperties {
18630	s.Description = &v
18631	return s
18632}
18633
18634// SetDisableTemplateValidation sets the DisableTemplateValidation field's value.
18635func (s *ProvisioningArtifactProperties) SetDisableTemplateValidation(v bool) *ProvisioningArtifactProperties {
18636	s.DisableTemplateValidation = &v
18637	return s
18638}
18639
18640// SetInfo sets the Info field's value.
18641func (s *ProvisioningArtifactProperties) SetInfo(v map[string]*string) *ProvisioningArtifactProperties {
18642	s.Info = v
18643	return s
18644}
18645
18646// SetName sets the Name field's value.
18647func (s *ProvisioningArtifactProperties) SetName(v string) *ProvisioningArtifactProperties {
18648	s.Name = &v
18649	return s
18650}
18651
18652// SetType sets the Type field's value.
18653func (s *ProvisioningArtifactProperties) SetType(v string) *ProvisioningArtifactProperties {
18654	s.Type = &v
18655	return s
18656}
18657
18658// Summary information about a provisioning artifact (also known as a version)
18659// for a product.
18660type ProvisioningArtifactSummary struct {
18661	_ struct{} `type:"structure"`
18662
18663	// The UTC time stamp of the creation time.
18664	CreatedTime *time.Time `type:"timestamp"`
18665
18666	// The description of the provisioning artifact.
18667	Description *string `type:"string"`
18668
18669	// The identifier of the provisioning artifact.
18670	Id *string `min:"1" type:"string"`
18671
18672	// The name of the provisioning artifact.
18673	Name *string `type:"string"`
18674
18675	// The metadata for the provisioning artifact. This is used with AWS Marketplace
18676	// products.
18677	ProvisioningArtifactMetadata map[string]*string `min:"1" type:"map"`
18678}
18679
18680// String returns the string representation
18681func (s ProvisioningArtifactSummary) String() string {
18682	return awsutil.Prettify(s)
18683}
18684
18685// GoString returns the string representation
18686func (s ProvisioningArtifactSummary) GoString() string {
18687	return s.String()
18688}
18689
18690// SetCreatedTime sets the CreatedTime field's value.
18691func (s *ProvisioningArtifactSummary) SetCreatedTime(v time.Time) *ProvisioningArtifactSummary {
18692	s.CreatedTime = &v
18693	return s
18694}
18695
18696// SetDescription sets the Description field's value.
18697func (s *ProvisioningArtifactSummary) SetDescription(v string) *ProvisioningArtifactSummary {
18698	s.Description = &v
18699	return s
18700}
18701
18702// SetId sets the Id field's value.
18703func (s *ProvisioningArtifactSummary) SetId(v string) *ProvisioningArtifactSummary {
18704	s.Id = &v
18705	return s
18706}
18707
18708// SetName sets the Name field's value.
18709func (s *ProvisioningArtifactSummary) SetName(v string) *ProvisioningArtifactSummary {
18710	s.Name = &v
18711	return s
18712}
18713
18714// SetProvisioningArtifactMetadata sets the ProvisioningArtifactMetadata field's value.
18715func (s *ProvisioningArtifactSummary) SetProvisioningArtifactMetadata(v map[string]*string) *ProvisioningArtifactSummary {
18716	s.ProvisioningArtifactMetadata = v
18717	return s
18718}
18719
18720// An object that contains summary information about a product view and a provisioning
18721// artifact.
18722type ProvisioningArtifactView struct {
18723	_ struct{} `type:"structure"`
18724
18725	// Summary information about a product view.
18726	ProductViewSummary *ProductViewSummary `type:"structure"`
18727
18728	// Information about a provisioning artifact. A provisioning artifact is also
18729	// known as a product version.
18730	ProvisioningArtifact *ProvisioningArtifact `type:"structure"`
18731}
18732
18733// String returns the string representation
18734func (s ProvisioningArtifactView) String() string {
18735	return awsutil.Prettify(s)
18736}
18737
18738// GoString returns the string representation
18739func (s ProvisioningArtifactView) GoString() string {
18740	return s.String()
18741}
18742
18743// SetProductViewSummary sets the ProductViewSummary field's value.
18744func (s *ProvisioningArtifactView) SetProductViewSummary(v *ProductViewSummary) *ProvisioningArtifactView {
18745	s.ProductViewSummary = v
18746	return s
18747}
18748
18749// SetProvisioningArtifact sets the ProvisioningArtifact field's value.
18750func (s *ProvisioningArtifactView) SetProvisioningArtifact(v *ProvisioningArtifact) *ProvisioningArtifactView {
18751	s.ProvisioningArtifact = v
18752	return s
18753}
18754
18755// Information about a parameter used to provision a product.
18756type ProvisioningParameter struct {
18757	_ struct{} `type:"structure"`
18758
18759	// The parameter key.
18760	Key *string `min:"1" type:"string"`
18761
18762	// The parameter value.
18763	Value *string `type:"string"`
18764}
18765
18766// String returns the string representation
18767func (s ProvisioningParameter) String() string {
18768	return awsutil.Prettify(s)
18769}
18770
18771// GoString returns the string representation
18772func (s ProvisioningParameter) GoString() string {
18773	return s.String()
18774}
18775
18776// Validate inspects the fields of the type to determine if they are valid.
18777func (s *ProvisioningParameter) Validate() error {
18778	invalidParams := request.ErrInvalidParams{Context: "ProvisioningParameter"}
18779	if s.Key != nil && len(*s.Key) < 1 {
18780		invalidParams.Add(request.NewErrParamMinLen("Key", 1))
18781	}
18782
18783	if invalidParams.Len() > 0 {
18784		return invalidParams
18785	}
18786	return nil
18787}
18788
18789// SetKey sets the Key field's value.
18790func (s *ProvisioningParameter) SetKey(v string) *ProvisioningParameter {
18791	s.Key = &v
18792	return s
18793}
18794
18795// SetValue sets the Value field's value.
18796func (s *ProvisioningParameter) SetValue(v string) *ProvisioningParameter {
18797	s.Value = &v
18798	return s
18799}
18800
18801// The user-defined preferences that will be applied when updating a provisioned
18802// product. Not all preferences are applicable to all provisioned product type
18803//
18804// One or more AWS accounts that will have access to the provisioned product.
18805//
18806// Applicable only to a CFN_STACKSET provisioned product type.
18807//
18808// The AWS accounts specified should be within the list of accounts in the STACKSET
18809// constraint. To get the list of accounts in the STACKSET constraint, use the
18810// DescribeProvisioningParameters operation.
18811//
18812// If no values are specified, the default value is all accounts from the STACKSET
18813// constraint.
18814type ProvisioningPreferences struct {
18815	_ struct{} `type:"structure"`
18816
18817	// One or more AWS accounts where the provisioned product will be available.
18818	//
18819	// Applicable only to a CFN_STACKSET provisioned product type.
18820	//
18821	// The specified accounts should be within the list of accounts from the STACKSET
18822	// constraint. To get the list of accounts in the STACKSET constraint, use the
18823	// DescribeProvisioningParameters operation.
18824	//
18825	// If no values are specified, the default value is all acounts from the STACKSET
18826	// constraint.
18827	StackSetAccounts []*string `type:"list"`
18828
18829	// The number of accounts, per region, for which this operation can fail before
18830	// AWS Service Catalog stops the operation in that region. If the operation
18831	// is stopped in a region, AWS Service Catalog doesn't attempt the operation
18832	// in any subsequent regions.
18833	//
18834	// Applicable only to a CFN_STACKSET provisioned product type.
18835	//
18836	// Conditional: You must specify either StackSetFailureToleranceCount or StackSetFailureTolerancePercentage,
18837	// but not both.
18838	//
18839	// The default value is 0 if no value is specified.
18840	StackSetFailureToleranceCount *int64 `type:"integer"`
18841
18842	// The percentage of accounts, per region, for which this stack operation can
18843	// fail before AWS Service Catalog stops the operation in that region. If the
18844	// operation is stopped in a region, AWS Service Catalog doesn't attempt the
18845	// operation in any subsequent regions.
18846	//
18847	// When calculating the number of accounts based on the specified percentage,
18848	// AWS Service Catalog rounds down to the next whole number.
18849	//
18850	// Applicable only to a CFN_STACKSET provisioned product type.
18851	//
18852	// Conditional: You must specify either StackSetFailureToleranceCount or StackSetFailureTolerancePercentage,
18853	// but not both.
18854	StackSetFailureTolerancePercentage *int64 `type:"integer"`
18855
18856	// The maximum number of accounts in which to perform this operation at one
18857	// time. This is dependent on the value of StackSetFailureToleranceCount. StackSetMaxConcurrentCount
18858	// is at most one more than the StackSetFailureToleranceCount.
18859	//
18860	// Note that this setting lets you specify the maximum for operations. For large
18861	// deployments, under certain circumstances the actual number of accounts acted
18862	// upon concurrently may be lower due to service throttling.
18863	//
18864	// Applicable only to a CFN_STACKSET provisioned product type.
18865	//
18866	// Conditional: You must specify either StackSetMaxConcurrentCount or StackSetMaxConcurrentPercentage,
18867	// but not both.
18868	StackSetMaxConcurrencyCount *int64 `min:"1" type:"integer"`
18869
18870	// The maximum percentage of accounts in which to perform this operation at
18871	// one time.
18872	//
18873	// When calculating the number of accounts based on the specified percentage,
18874	// AWS Service Catalog rounds down to the next whole number. This is true except
18875	// in cases where rounding down would result is zero. In this case, AWS Service
18876	// Catalog sets the number as 1 instead.
18877	//
18878	// Note that this setting lets you specify the maximum for operations. For large
18879	// deployments, under certain circumstances the actual number of accounts acted
18880	// upon concurrently may be lower due to service throttling.
18881	//
18882	// Applicable only to a CFN_STACKSET provisioned product type.
18883	//
18884	// Conditional: You must specify either StackSetMaxConcurrentCount or StackSetMaxConcurrentPercentage,
18885	// but not both.
18886	StackSetMaxConcurrencyPercentage *int64 `min:"1" type:"integer"`
18887
18888	// One or more AWS Regions where the provisioned product will be available.
18889	//
18890	// Applicable only to a CFN_STACKSET provisioned product type.
18891	//
18892	// The specified regions should be within the list of regions from the STACKSET
18893	// constraint. To get the list of regions in the STACKSET constraint, use the
18894	// DescribeProvisioningParameters operation.
18895	//
18896	// If no values are specified, the default value is all regions from the STACKSET
18897	// constraint.
18898	StackSetRegions []*string `type:"list"`
18899}
18900
18901// String returns the string representation
18902func (s ProvisioningPreferences) String() string {
18903	return awsutil.Prettify(s)
18904}
18905
18906// GoString returns the string representation
18907func (s ProvisioningPreferences) GoString() string {
18908	return s.String()
18909}
18910
18911// Validate inspects the fields of the type to determine if they are valid.
18912func (s *ProvisioningPreferences) Validate() error {
18913	invalidParams := request.ErrInvalidParams{Context: "ProvisioningPreferences"}
18914	if s.StackSetMaxConcurrencyCount != nil && *s.StackSetMaxConcurrencyCount < 1 {
18915		invalidParams.Add(request.NewErrParamMinValue("StackSetMaxConcurrencyCount", 1))
18916	}
18917	if s.StackSetMaxConcurrencyPercentage != nil && *s.StackSetMaxConcurrencyPercentage < 1 {
18918		invalidParams.Add(request.NewErrParamMinValue("StackSetMaxConcurrencyPercentage", 1))
18919	}
18920
18921	if invalidParams.Len() > 0 {
18922		return invalidParams
18923	}
18924	return nil
18925}
18926
18927// SetStackSetAccounts sets the StackSetAccounts field's value.
18928func (s *ProvisioningPreferences) SetStackSetAccounts(v []*string) *ProvisioningPreferences {
18929	s.StackSetAccounts = v
18930	return s
18931}
18932
18933// SetStackSetFailureToleranceCount sets the StackSetFailureToleranceCount field's value.
18934func (s *ProvisioningPreferences) SetStackSetFailureToleranceCount(v int64) *ProvisioningPreferences {
18935	s.StackSetFailureToleranceCount = &v
18936	return s
18937}
18938
18939// SetStackSetFailureTolerancePercentage sets the StackSetFailureTolerancePercentage field's value.
18940func (s *ProvisioningPreferences) SetStackSetFailureTolerancePercentage(v int64) *ProvisioningPreferences {
18941	s.StackSetFailureTolerancePercentage = &v
18942	return s
18943}
18944
18945// SetStackSetMaxConcurrencyCount sets the StackSetMaxConcurrencyCount field's value.
18946func (s *ProvisioningPreferences) SetStackSetMaxConcurrencyCount(v int64) *ProvisioningPreferences {
18947	s.StackSetMaxConcurrencyCount = &v
18948	return s
18949}
18950
18951// SetStackSetMaxConcurrencyPercentage sets the StackSetMaxConcurrencyPercentage field's value.
18952func (s *ProvisioningPreferences) SetStackSetMaxConcurrencyPercentage(v int64) *ProvisioningPreferences {
18953	s.StackSetMaxConcurrencyPercentage = &v
18954	return s
18955}
18956
18957// SetStackSetRegions sets the StackSetRegions field's value.
18958func (s *ProvisioningPreferences) SetStackSetRegions(v []*string) *ProvisioningPreferences {
18959	s.StackSetRegions = v
18960	return s
18961}
18962
18963// Information about a request operation.
18964type RecordDetail struct {
18965	_ struct{} `type:"structure"`
18966
18967	// The UTC time stamp of the creation time.
18968	CreatedTime *time.Time `type:"timestamp"`
18969
18970	// The ARN of the launch role associated with the provisioned product.
18971	LaunchRoleArn *string `min:"1" type:"string"`
18972
18973	// The path identifier.
18974	PathId *string `min:"1" type:"string"`
18975
18976	// The product identifier.
18977	ProductId *string `min:"1" type:"string"`
18978
18979	// The identifier of the provisioned product.
18980	ProvisionedProductId *string `min:"1" type:"string"`
18981
18982	// The user-friendly name of the provisioned product.
18983	ProvisionedProductName *string `min:"1" type:"string"`
18984
18985	// The type of provisioned product. The supported values are CFN_STACK and CFN_STACKSET.
18986	ProvisionedProductType *string `type:"string"`
18987
18988	// The identifier of the provisioning artifact.
18989	ProvisioningArtifactId *string `min:"1" type:"string"`
18990
18991	// The errors that occurred.
18992	RecordErrors []*RecordError `type:"list"`
18993
18994	// The identifier of the record.
18995	RecordId *string `min:"1" type:"string"`
18996
18997	// One or more tags.
18998	RecordTags []*RecordTag `type:"list"`
18999
19000	// The record type.
19001	//
19002	//    * PROVISION_PRODUCT
19003	//
19004	//    * UPDATE_PROVISIONED_PRODUCT
19005	//
19006	//    * TERMINATE_PROVISIONED_PRODUCT
19007	RecordType *string `type:"string"`
19008
19009	// The status of the provisioned product.
19010	//
19011	//    * CREATED - The request was created but the operation has not started.
19012	//
19013	//    * IN_PROGRESS - The requested operation is in progress.
19014	//
19015	//    * IN_PROGRESS_IN_ERROR - The provisioned product is under change but the
19016	//    requested operation failed and some remediation is occurring. For example,
19017	//    a rollback.
19018	//
19019	//    * SUCCEEDED - The requested operation has successfully completed.
19020	//
19021	//    * FAILED - The requested operation has unsuccessfully completed. Investigate
19022	//    using the error messages returned.
19023	Status *string `type:"string" enum:"RecordStatus"`
19024
19025	// The time when the record was last updated.
19026	UpdatedTime *time.Time `type:"timestamp"`
19027}
19028
19029// String returns the string representation
19030func (s RecordDetail) String() string {
19031	return awsutil.Prettify(s)
19032}
19033
19034// GoString returns the string representation
19035func (s RecordDetail) GoString() string {
19036	return s.String()
19037}
19038
19039// SetCreatedTime sets the CreatedTime field's value.
19040func (s *RecordDetail) SetCreatedTime(v time.Time) *RecordDetail {
19041	s.CreatedTime = &v
19042	return s
19043}
19044
19045// SetLaunchRoleArn sets the LaunchRoleArn field's value.
19046func (s *RecordDetail) SetLaunchRoleArn(v string) *RecordDetail {
19047	s.LaunchRoleArn = &v
19048	return s
19049}
19050
19051// SetPathId sets the PathId field's value.
19052func (s *RecordDetail) SetPathId(v string) *RecordDetail {
19053	s.PathId = &v
19054	return s
19055}
19056
19057// SetProductId sets the ProductId field's value.
19058func (s *RecordDetail) SetProductId(v string) *RecordDetail {
19059	s.ProductId = &v
19060	return s
19061}
19062
19063// SetProvisionedProductId sets the ProvisionedProductId field's value.
19064func (s *RecordDetail) SetProvisionedProductId(v string) *RecordDetail {
19065	s.ProvisionedProductId = &v
19066	return s
19067}
19068
19069// SetProvisionedProductName sets the ProvisionedProductName field's value.
19070func (s *RecordDetail) SetProvisionedProductName(v string) *RecordDetail {
19071	s.ProvisionedProductName = &v
19072	return s
19073}
19074
19075// SetProvisionedProductType sets the ProvisionedProductType field's value.
19076func (s *RecordDetail) SetProvisionedProductType(v string) *RecordDetail {
19077	s.ProvisionedProductType = &v
19078	return s
19079}
19080
19081// SetProvisioningArtifactId sets the ProvisioningArtifactId field's value.
19082func (s *RecordDetail) SetProvisioningArtifactId(v string) *RecordDetail {
19083	s.ProvisioningArtifactId = &v
19084	return s
19085}
19086
19087// SetRecordErrors sets the RecordErrors field's value.
19088func (s *RecordDetail) SetRecordErrors(v []*RecordError) *RecordDetail {
19089	s.RecordErrors = v
19090	return s
19091}
19092
19093// SetRecordId sets the RecordId field's value.
19094func (s *RecordDetail) SetRecordId(v string) *RecordDetail {
19095	s.RecordId = &v
19096	return s
19097}
19098
19099// SetRecordTags sets the RecordTags field's value.
19100func (s *RecordDetail) SetRecordTags(v []*RecordTag) *RecordDetail {
19101	s.RecordTags = v
19102	return s
19103}
19104
19105// SetRecordType sets the RecordType field's value.
19106func (s *RecordDetail) SetRecordType(v string) *RecordDetail {
19107	s.RecordType = &v
19108	return s
19109}
19110
19111// SetStatus sets the Status field's value.
19112func (s *RecordDetail) SetStatus(v string) *RecordDetail {
19113	s.Status = &v
19114	return s
19115}
19116
19117// SetUpdatedTime sets the UpdatedTime field's value.
19118func (s *RecordDetail) SetUpdatedTime(v time.Time) *RecordDetail {
19119	s.UpdatedTime = &v
19120	return s
19121}
19122
19123// The error code and description resulting from an operation.
19124type RecordError struct {
19125	_ struct{} `type:"structure"`
19126
19127	// The numeric value of the error.
19128	Code *string `type:"string"`
19129
19130	// The description of the error.
19131	Description *string `type:"string"`
19132}
19133
19134// String returns the string representation
19135func (s RecordError) String() string {
19136	return awsutil.Prettify(s)
19137}
19138
19139// GoString returns the string representation
19140func (s RecordError) GoString() string {
19141	return s.String()
19142}
19143
19144// SetCode sets the Code field's value.
19145func (s *RecordError) SetCode(v string) *RecordError {
19146	s.Code = &v
19147	return s
19148}
19149
19150// SetDescription sets the Description field's value.
19151func (s *RecordError) SetDescription(v string) *RecordError {
19152	s.Description = &v
19153	return s
19154}
19155
19156// The output for the product created as the result of a request. For example,
19157// the output for a CloudFormation-backed product that creates an S3 bucket
19158// would include the S3 bucket URL.
19159type RecordOutput struct {
19160	_ struct{} `type:"structure"`
19161
19162	// The description of the output.
19163	Description *string `type:"string"`
19164
19165	// The output key.
19166	OutputKey *string `type:"string"`
19167
19168	// The output value.
19169	OutputValue *string `type:"string"`
19170}
19171
19172// String returns the string representation
19173func (s RecordOutput) String() string {
19174	return awsutil.Prettify(s)
19175}
19176
19177// GoString returns the string representation
19178func (s RecordOutput) GoString() string {
19179	return s.String()
19180}
19181
19182// SetDescription sets the Description field's value.
19183func (s *RecordOutput) SetDescription(v string) *RecordOutput {
19184	s.Description = &v
19185	return s
19186}
19187
19188// SetOutputKey sets the OutputKey field's value.
19189func (s *RecordOutput) SetOutputKey(v string) *RecordOutput {
19190	s.OutputKey = &v
19191	return s
19192}
19193
19194// SetOutputValue sets the OutputValue field's value.
19195func (s *RecordOutput) SetOutputValue(v string) *RecordOutput {
19196	s.OutputValue = &v
19197	return s
19198}
19199
19200// Information about a tag, which is a key-value pair.
19201type RecordTag struct {
19202	_ struct{} `type:"structure"`
19203
19204	// The key for this tag.
19205	Key *string `min:"1" type:"string"`
19206
19207	// The value for this tag.
19208	Value *string `min:"1" type:"string"`
19209}
19210
19211// String returns the string representation
19212func (s RecordTag) String() string {
19213	return awsutil.Prettify(s)
19214}
19215
19216// GoString returns the string representation
19217func (s RecordTag) GoString() string {
19218	return s.String()
19219}
19220
19221// SetKey sets the Key field's value.
19222func (s *RecordTag) SetKey(v string) *RecordTag {
19223	s.Key = &v
19224	return s
19225}
19226
19227// SetValue sets the Value field's value.
19228func (s *RecordTag) SetValue(v string) *RecordTag {
19229	s.Value = &v
19230	return s
19231}
19232
19233type RejectPortfolioShareInput struct {
19234	_ struct{} `type:"structure"`
19235
19236	// The language code.
19237	//
19238	//    * en - English (default)
19239	//
19240	//    * jp - Japanese
19241	//
19242	//    * zh - Chinese
19243	AcceptLanguage *string `type:"string"`
19244
19245	// The portfolio identifier.
19246	//
19247	// PortfolioId is a required field
19248	PortfolioId *string `min:"1" type:"string" required:"true"`
19249
19250	// The type of shared portfolios to reject. The default is to reject imported
19251	// portfolios.
19252	//
19253	//    * AWS_ORGANIZATIONS - Reject portfolios shared by the management account
19254	//    of your organization.
19255	//
19256	//    * IMPORTED - Reject imported portfolios.
19257	//
19258	//    * AWS_SERVICECATALOG - Not supported. (Throws ResourceNotFoundException.)
19259	//
19260	// For example, aws servicecatalog reject-portfolio-share --portfolio-id "port-2qwzkwxt3y5fk"
19261	// --portfolio-share-type AWS_ORGANIZATIONS
19262	PortfolioShareType *string `type:"string" enum:"PortfolioShareType"`
19263}
19264
19265// String returns the string representation
19266func (s RejectPortfolioShareInput) String() string {
19267	return awsutil.Prettify(s)
19268}
19269
19270// GoString returns the string representation
19271func (s RejectPortfolioShareInput) GoString() string {
19272	return s.String()
19273}
19274
19275// Validate inspects the fields of the type to determine if they are valid.
19276func (s *RejectPortfolioShareInput) Validate() error {
19277	invalidParams := request.ErrInvalidParams{Context: "RejectPortfolioShareInput"}
19278	if s.PortfolioId == nil {
19279		invalidParams.Add(request.NewErrParamRequired("PortfolioId"))
19280	}
19281	if s.PortfolioId != nil && len(*s.PortfolioId) < 1 {
19282		invalidParams.Add(request.NewErrParamMinLen("PortfolioId", 1))
19283	}
19284
19285	if invalidParams.Len() > 0 {
19286		return invalidParams
19287	}
19288	return nil
19289}
19290
19291// SetAcceptLanguage sets the AcceptLanguage field's value.
19292func (s *RejectPortfolioShareInput) SetAcceptLanguage(v string) *RejectPortfolioShareInput {
19293	s.AcceptLanguage = &v
19294	return s
19295}
19296
19297// SetPortfolioId sets the PortfolioId field's value.
19298func (s *RejectPortfolioShareInput) SetPortfolioId(v string) *RejectPortfolioShareInput {
19299	s.PortfolioId = &v
19300	return s
19301}
19302
19303// SetPortfolioShareType sets the PortfolioShareType field's value.
19304func (s *RejectPortfolioShareInput) SetPortfolioShareType(v string) *RejectPortfolioShareInput {
19305	s.PortfolioShareType = &v
19306	return s
19307}
19308
19309type RejectPortfolioShareOutput struct {
19310	_ struct{} `type:"structure"`
19311}
19312
19313// String returns the string representation
19314func (s RejectPortfolioShareOutput) String() string {
19315	return awsutil.Prettify(s)
19316}
19317
19318// GoString returns the string representation
19319func (s RejectPortfolioShareOutput) GoString() string {
19320	return s.String()
19321}
19322
19323// Information about a resource change that will occur when a plan is executed.
19324type ResourceChange struct {
19325	_ struct{} `type:"structure"`
19326
19327	// The change action.
19328	Action *string `type:"string" enum:"ChangeAction"`
19329
19330	// Information about the resource changes.
19331	Details []*ResourceChangeDetail `type:"list"`
19332
19333	// The ID of the resource, as defined in the CloudFormation template.
19334	LogicalResourceId *string `type:"string"`
19335
19336	// The ID of the resource, if it was already created.
19337	PhysicalResourceId *string `type:"string"`
19338
19339	// If the change type is Modify, indicates whether the existing resource is
19340	// deleted and replaced with a new one.
19341	Replacement *string `type:"string" enum:"Replacement"`
19342
19343	// The type of resource.
19344	ResourceType *string `min:"1" type:"string"`
19345
19346	// The change scope.
19347	Scope []*string `type:"list"`
19348}
19349
19350// String returns the string representation
19351func (s ResourceChange) String() string {
19352	return awsutil.Prettify(s)
19353}
19354
19355// GoString returns the string representation
19356func (s ResourceChange) GoString() string {
19357	return s.String()
19358}
19359
19360// SetAction sets the Action field's value.
19361func (s *ResourceChange) SetAction(v string) *ResourceChange {
19362	s.Action = &v
19363	return s
19364}
19365
19366// SetDetails sets the Details field's value.
19367func (s *ResourceChange) SetDetails(v []*ResourceChangeDetail) *ResourceChange {
19368	s.Details = v
19369	return s
19370}
19371
19372// SetLogicalResourceId sets the LogicalResourceId field's value.
19373func (s *ResourceChange) SetLogicalResourceId(v string) *ResourceChange {
19374	s.LogicalResourceId = &v
19375	return s
19376}
19377
19378// SetPhysicalResourceId sets the PhysicalResourceId field's value.
19379func (s *ResourceChange) SetPhysicalResourceId(v string) *ResourceChange {
19380	s.PhysicalResourceId = &v
19381	return s
19382}
19383
19384// SetReplacement sets the Replacement field's value.
19385func (s *ResourceChange) SetReplacement(v string) *ResourceChange {
19386	s.Replacement = &v
19387	return s
19388}
19389
19390// SetResourceType sets the ResourceType field's value.
19391func (s *ResourceChange) SetResourceType(v string) *ResourceChange {
19392	s.ResourceType = &v
19393	return s
19394}
19395
19396// SetScope sets the Scope field's value.
19397func (s *ResourceChange) SetScope(v []*string) *ResourceChange {
19398	s.Scope = v
19399	return s
19400}
19401
19402// Information about a change to a resource attribute.
19403type ResourceChangeDetail struct {
19404	_ struct{} `type:"structure"`
19405
19406	// The ID of the entity that caused the change.
19407	CausingEntity *string `type:"string"`
19408
19409	// For static evaluations, the value of the resource attribute will change and
19410	// the new value is known. For dynamic evaluations, the value might change,
19411	// and any new value will be determined when the plan is updated.
19412	Evaluation *string `type:"string" enum:"EvaluationType"`
19413
19414	// Information about the resource attribute to be modified.
19415	Target *ResourceTargetDefinition `type:"structure"`
19416}
19417
19418// String returns the string representation
19419func (s ResourceChangeDetail) String() string {
19420	return awsutil.Prettify(s)
19421}
19422
19423// GoString returns the string representation
19424func (s ResourceChangeDetail) GoString() string {
19425	return s.String()
19426}
19427
19428// SetCausingEntity sets the CausingEntity field's value.
19429func (s *ResourceChangeDetail) SetCausingEntity(v string) *ResourceChangeDetail {
19430	s.CausingEntity = &v
19431	return s
19432}
19433
19434// SetEvaluation sets the Evaluation field's value.
19435func (s *ResourceChangeDetail) SetEvaluation(v string) *ResourceChangeDetail {
19436	s.Evaluation = &v
19437	return s
19438}
19439
19440// SetTarget sets the Target field's value.
19441func (s *ResourceChangeDetail) SetTarget(v *ResourceTargetDefinition) *ResourceChangeDetail {
19442	s.Target = v
19443	return s
19444}
19445
19446// Information about a resource.
19447type ResourceDetail struct {
19448	_ struct{} `type:"structure"`
19449
19450	// The ARN of the resource.
19451	ARN *string `type:"string"`
19452
19453	// The creation time of the resource.
19454	CreatedTime *time.Time `type:"timestamp"`
19455
19456	// The description of the resource.
19457	Description *string `type:"string"`
19458
19459	// The identifier of the resource.
19460	Id *string `type:"string"`
19461
19462	// The name of the resource.
19463	Name *string `type:"string"`
19464}
19465
19466// String returns the string representation
19467func (s ResourceDetail) String() string {
19468	return awsutil.Prettify(s)
19469}
19470
19471// GoString returns the string representation
19472func (s ResourceDetail) GoString() string {
19473	return s.String()
19474}
19475
19476// SetARN sets the ARN field's value.
19477func (s *ResourceDetail) SetARN(v string) *ResourceDetail {
19478	s.ARN = &v
19479	return s
19480}
19481
19482// SetCreatedTime sets the CreatedTime field's value.
19483func (s *ResourceDetail) SetCreatedTime(v time.Time) *ResourceDetail {
19484	s.CreatedTime = &v
19485	return s
19486}
19487
19488// SetDescription sets the Description field's value.
19489func (s *ResourceDetail) SetDescription(v string) *ResourceDetail {
19490	s.Description = &v
19491	return s
19492}
19493
19494// SetId sets the Id field's value.
19495func (s *ResourceDetail) SetId(v string) *ResourceDetail {
19496	s.Id = &v
19497	return s
19498}
19499
19500// SetName sets the Name field's value.
19501func (s *ResourceDetail) SetName(v string) *ResourceDetail {
19502	s.Name = &v
19503	return s
19504}
19505
19506// A resource that is currently in use. Ensure that the resource is not in use
19507// and retry the operation.
19508type ResourceInUseException struct {
19509	_            struct{}                  `type:"structure"`
19510	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
19511
19512	Message_ *string `locationName:"message" type:"string"`
19513}
19514
19515// String returns the string representation
19516func (s ResourceInUseException) String() string {
19517	return awsutil.Prettify(s)
19518}
19519
19520// GoString returns the string representation
19521func (s ResourceInUseException) GoString() string {
19522	return s.String()
19523}
19524
19525func newErrorResourceInUseException(v protocol.ResponseMetadata) error {
19526	return &ResourceInUseException{
19527		RespMetadata: v,
19528	}
19529}
19530
19531// Code returns the exception type name.
19532func (s *ResourceInUseException) Code() string {
19533	return "ResourceInUseException"
19534}
19535
19536// Message returns the exception's message.
19537func (s *ResourceInUseException) Message() string {
19538	if s.Message_ != nil {
19539		return *s.Message_
19540	}
19541	return ""
19542}
19543
19544// OrigErr always returns nil, satisfies awserr.Error interface.
19545func (s *ResourceInUseException) OrigErr() error {
19546	return nil
19547}
19548
19549func (s *ResourceInUseException) Error() string {
19550	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
19551}
19552
19553// Status code returns the HTTP status code for the request's response error.
19554func (s *ResourceInUseException) StatusCode() int {
19555	return s.RespMetadata.StatusCode
19556}
19557
19558// RequestID returns the service's response RequestID for request.
19559func (s *ResourceInUseException) RequestID() string {
19560	return s.RespMetadata.RequestID
19561}
19562
19563// The specified resource was not found.
19564type ResourceNotFoundException struct {
19565	_            struct{}                  `type:"structure"`
19566	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
19567
19568	Message_ *string `locationName:"message" type:"string"`
19569}
19570
19571// String returns the string representation
19572func (s ResourceNotFoundException) String() string {
19573	return awsutil.Prettify(s)
19574}
19575
19576// GoString returns the string representation
19577func (s ResourceNotFoundException) GoString() string {
19578	return s.String()
19579}
19580
19581func newErrorResourceNotFoundException(v protocol.ResponseMetadata) error {
19582	return &ResourceNotFoundException{
19583		RespMetadata: v,
19584	}
19585}
19586
19587// Code returns the exception type name.
19588func (s *ResourceNotFoundException) Code() string {
19589	return "ResourceNotFoundException"
19590}
19591
19592// Message returns the exception's message.
19593func (s *ResourceNotFoundException) Message() string {
19594	if s.Message_ != nil {
19595		return *s.Message_
19596	}
19597	return ""
19598}
19599
19600// OrigErr always returns nil, satisfies awserr.Error interface.
19601func (s *ResourceNotFoundException) OrigErr() error {
19602	return nil
19603}
19604
19605func (s *ResourceNotFoundException) Error() string {
19606	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
19607}
19608
19609// Status code returns the HTTP status code for the request's response error.
19610func (s *ResourceNotFoundException) StatusCode() int {
19611	return s.RespMetadata.StatusCode
19612}
19613
19614// RequestID returns the service's response RequestID for request.
19615func (s *ResourceNotFoundException) RequestID() string {
19616	return s.RespMetadata.RequestID
19617}
19618
19619// Information about a change to a resource attribute.
19620type ResourceTargetDefinition struct {
19621	_ struct{} `type:"structure"`
19622
19623	// The attribute to be changed.
19624	Attribute *string `type:"string" enum:"ResourceAttribute"`
19625
19626	// If the attribute is Properties, the value is the name of the property. Otherwise,
19627	// the value is null.
19628	Name *string `type:"string"`
19629
19630	// If the attribute is Properties, indicates whether a change to this property
19631	// causes the resource to be re-created.
19632	RequiresRecreation *string `type:"string" enum:"RequiresRecreation"`
19633}
19634
19635// String returns the string representation
19636func (s ResourceTargetDefinition) String() string {
19637	return awsutil.Prettify(s)
19638}
19639
19640// GoString returns the string representation
19641func (s ResourceTargetDefinition) GoString() string {
19642	return s.String()
19643}
19644
19645// SetAttribute sets the Attribute field's value.
19646func (s *ResourceTargetDefinition) SetAttribute(v string) *ResourceTargetDefinition {
19647	s.Attribute = &v
19648	return s
19649}
19650
19651// SetName sets the Name field's value.
19652func (s *ResourceTargetDefinition) SetName(v string) *ResourceTargetDefinition {
19653	s.Name = &v
19654	return s
19655}
19656
19657// SetRequiresRecreation sets the RequiresRecreation field's value.
19658func (s *ResourceTargetDefinition) SetRequiresRecreation(v string) *ResourceTargetDefinition {
19659	s.RequiresRecreation = &v
19660	return s
19661}
19662
19663type ScanProvisionedProductsInput struct {
19664	_ struct{} `type:"structure"`
19665
19666	// The language code.
19667	//
19668	//    * en - English (default)
19669	//
19670	//    * jp - Japanese
19671	//
19672	//    * zh - Chinese
19673	AcceptLanguage *string `type:"string"`
19674
19675	// The access level to use to obtain results. The default is User.
19676	AccessLevelFilter *AccessLevelFilter `type:"structure"`
19677
19678	// The maximum number of items to return with this call.
19679	PageSize *int64 `type:"integer"`
19680
19681	// The page token for the next set of results. To retrieve the first set of
19682	// results, use null.
19683	PageToken *string `type:"string"`
19684}
19685
19686// String returns the string representation
19687func (s ScanProvisionedProductsInput) String() string {
19688	return awsutil.Prettify(s)
19689}
19690
19691// GoString returns the string representation
19692func (s ScanProvisionedProductsInput) GoString() string {
19693	return s.String()
19694}
19695
19696// SetAcceptLanguage sets the AcceptLanguage field's value.
19697func (s *ScanProvisionedProductsInput) SetAcceptLanguage(v string) *ScanProvisionedProductsInput {
19698	s.AcceptLanguage = &v
19699	return s
19700}
19701
19702// SetAccessLevelFilter sets the AccessLevelFilter field's value.
19703func (s *ScanProvisionedProductsInput) SetAccessLevelFilter(v *AccessLevelFilter) *ScanProvisionedProductsInput {
19704	s.AccessLevelFilter = v
19705	return s
19706}
19707
19708// SetPageSize sets the PageSize field's value.
19709func (s *ScanProvisionedProductsInput) SetPageSize(v int64) *ScanProvisionedProductsInput {
19710	s.PageSize = &v
19711	return s
19712}
19713
19714// SetPageToken sets the PageToken field's value.
19715func (s *ScanProvisionedProductsInput) SetPageToken(v string) *ScanProvisionedProductsInput {
19716	s.PageToken = &v
19717	return s
19718}
19719
19720type ScanProvisionedProductsOutput struct {
19721	_ struct{} `type:"structure"`
19722
19723	// The page token to use to retrieve the next set of results. If there are no
19724	// additional results, this value is null.
19725	NextPageToken *string `type:"string"`
19726
19727	// Information about the provisioned products.
19728	ProvisionedProducts []*ProvisionedProductDetail `type:"list"`
19729}
19730
19731// String returns the string representation
19732func (s ScanProvisionedProductsOutput) String() string {
19733	return awsutil.Prettify(s)
19734}
19735
19736// GoString returns the string representation
19737func (s ScanProvisionedProductsOutput) GoString() string {
19738	return s.String()
19739}
19740
19741// SetNextPageToken sets the NextPageToken field's value.
19742func (s *ScanProvisionedProductsOutput) SetNextPageToken(v string) *ScanProvisionedProductsOutput {
19743	s.NextPageToken = &v
19744	return s
19745}
19746
19747// SetProvisionedProducts sets the ProvisionedProducts field's value.
19748func (s *ScanProvisionedProductsOutput) SetProvisionedProducts(v []*ProvisionedProductDetail) *ScanProvisionedProductsOutput {
19749	s.ProvisionedProducts = v
19750	return s
19751}
19752
19753type SearchProductsAsAdminInput struct {
19754	_ struct{} `type:"structure"`
19755
19756	// The language code.
19757	//
19758	//    * en - English (default)
19759	//
19760	//    * jp - Japanese
19761	//
19762	//    * zh - Chinese
19763	AcceptLanguage *string `type:"string"`
19764
19765	// The search filters. If no search filters are specified, the output includes
19766	// all products to which the administrator has access.
19767	Filters map[string][]*string `type:"map"`
19768
19769	// The maximum number of items to return with this call.
19770	PageSize *int64 `type:"integer"`
19771
19772	// The page token for the next set of results. To retrieve the first set of
19773	// results, use null.
19774	PageToken *string `type:"string"`
19775
19776	// The portfolio identifier.
19777	PortfolioId *string `min:"1" type:"string"`
19778
19779	// Access level of the source of the product.
19780	ProductSource *string `type:"string" enum:"ProductSource"`
19781
19782	// The sort field. If no value is specified, the results are not sorted.
19783	SortBy *string `type:"string" enum:"ProductViewSortBy"`
19784
19785	// The sort order. If no value is specified, the results are not sorted.
19786	SortOrder *string `type:"string" enum:"SortOrder"`
19787}
19788
19789// String returns the string representation
19790func (s SearchProductsAsAdminInput) String() string {
19791	return awsutil.Prettify(s)
19792}
19793
19794// GoString returns the string representation
19795func (s SearchProductsAsAdminInput) GoString() string {
19796	return s.String()
19797}
19798
19799// Validate inspects the fields of the type to determine if they are valid.
19800func (s *SearchProductsAsAdminInput) Validate() error {
19801	invalidParams := request.ErrInvalidParams{Context: "SearchProductsAsAdminInput"}
19802	if s.PortfolioId != nil && len(*s.PortfolioId) < 1 {
19803		invalidParams.Add(request.NewErrParamMinLen("PortfolioId", 1))
19804	}
19805
19806	if invalidParams.Len() > 0 {
19807		return invalidParams
19808	}
19809	return nil
19810}
19811
19812// SetAcceptLanguage sets the AcceptLanguage field's value.
19813func (s *SearchProductsAsAdminInput) SetAcceptLanguage(v string) *SearchProductsAsAdminInput {
19814	s.AcceptLanguage = &v
19815	return s
19816}
19817
19818// SetFilters sets the Filters field's value.
19819func (s *SearchProductsAsAdminInput) SetFilters(v map[string][]*string) *SearchProductsAsAdminInput {
19820	s.Filters = v
19821	return s
19822}
19823
19824// SetPageSize sets the PageSize field's value.
19825func (s *SearchProductsAsAdminInput) SetPageSize(v int64) *SearchProductsAsAdminInput {
19826	s.PageSize = &v
19827	return s
19828}
19829
19830// SetPageToken sets the PageToken field's value.
19831func (s *SearchProductsAsAdminInput) SetPageToken(v string) *SearchProductsAsAdminInput {
19832	s.PageToken = &v
19833	return s
19834}
19835
19836// SetPortfolioId sets the PortfolioId field's value.
19837func (s *SearchProductsAsAdminInput) SetPortfolioId(v string) *SearchProductsAsAdminInput {
19838	s.PortfolioId = &v
19839	return s
19840}
19841
19842// SetProductSource sets the ProductSource field's value.
19843func (s *SearchProductsAsAdminInput) SetProductSource(v string) *SearchProductsAsAdminInput {
19844	s.ProductSource = &v
19845	return s
19846}
19847
19848// SetSortBy sets the SortBy field's value.
19849func (s *SearchProductsAsAdminInput) SetSortBy(v string) *SearchProductsAsAdminInput {
19850	s.SortBy = &v
19851	return s
19852}
19853
19854// SetSortOrder sets the SortOrder field's value.
19855func (s *SearchProductsAsAdminInput) SetSortOrder(v string) *SearchProductsAsAdminInput {
19856	s.SortOrder = &v
19857	return s
19858}
19859
19860type SearchProductsAsAdminOutput struct {
19861	_ struct{} `type:"structure"`
19862
19863	// The page token to use to retrieve the next set of results. If there are no
19864	// additional results, this value is null.
19865	NextPageToken *string `type:"string"`
19866
19867	// Information about the product views.
19868	ProductViewDetails []*ProductViewDetail `type:"list"`
19869}
19870
19871// String returns the string representation
19872func (s SearchProductsAsAdminOutput) String() string {
19873	return awsutil.Prettify(s)
19874}
19875
19876// GoString returns the string representation
19877func (s SearchProductsAsAdminOutput) GoString() string {
19878	return s.String()
19879}
19880
19881// SetNextPageToken sets the NextPageToken field's value.
19882func (s *SearchProductsAsAdminOutput) SetNextPageToken(v string) *SearchProductsAsAdminOutput {
19883	s.NextPageToken = &v
19884	return s
19885}
19886
19887// SetProductViewDetails sets the ProductViewDetails field's value.
19888func (s *SearchProductsAsAdminOutput) SetProductViewDetails(v []*ProductViewDetail) *SearchProductsAsAdminOutput {
19889	s.ProductViewDetails = v
19890	return s
19891}
19892
19893type SearchProductsInput struct {
19894	_ struct{} `type:"structure"`
19895
19896	// The language code.
19897	//
19898	//    * en - English (default)
19899	//
19900	//    * jp - Japanese
19901	//
19902	//    * zh - Chinese
19903	AcceptLanguage *string `type:"string"`
19904
19905	// The search filters. If no search filters are specified, the output includes
19906	// all products to which the caller has access.
19907	Filters map[string][]*string `type:"map"`
19908
19909	// The maximum number of items to return with this call.
19910	PageSize *int64 `type:"integer"`
19911
19912	// The page token for the next set of results. To retrieve the first set of
19913	// results, use null.
19914	PageToken *string `type:"string"`
19915
19916	// The sort field. If no value is specified, the results are not sorted.
19917	SortBy *string `type:"string" enum:"ProductViewSortBy"`
19918
19919	// The sort order. If no value is specified, the results are not sorted.
19920	SortOrder *string `type:"string" enum:"SortOrder"`
19921}
19922
19923// String returns the string representation
19924func (s SearchProductsInput) String() string {
19925	return awsutil.Prettify(s)
19926}
19927
19928// GoString returns the string representation
19929func (s SearchProductsInput) GoString() string {
19930	return s.String()
19931}
19932
19933// SetAcceptLanguage sets the AcceptLanguage field's value.
19934func (s *SearchProductsInput) SetAcceptLanguage(v string) *SearchProductsInput {
19935	s.AcceptLanguage = &v
19936	return s
19937}
19938
19939// SetFilters sets the Filters field's value.
19940func (s *SearchProductsInput) SetFilters(v map[string][]*string) *SearchProductsInput {
19941	s.Filters = v
19942	return s
19943}
19944
19945// SetPageSize sets the PageSize field's value.
19946func (s *SearchProductsInput) SetPageSize(v int64) *SearchProductsInput {
19947	s.PageSize = &v
19948	return s
19949}
19950
19951// SetPageToken sets the PageToken field's value.
19952func (s *SearchProductsInput) SetPageToken(v string) *SearchProductsInput {
19953	s.PageToken = &v
19954	return s
19955}
19956
19957// SetSortBy sets the SortBy field's value.
19958func (s *SearchProductsInput) SetSortBy(v string) *SearchProductsInput {
19959	s.SortBy = &v
19960	return s
19961}
19962
19963// SetSortOrder sets the SortOrder field's value.
19964func (s *SearchProductsInput) SetSortOrder(v string) *SearchProductsInput {
19965	s.SortOrder = &v
19966	return s
19967}
19968
19969type SearchProductsOutput struct {
19970	_ struct{} `type:"structure"`
19971
19972	// The page token to use to retrieve the next set of results. If there are no
19973	// additional results, this value is null.
19974	NextPageToken *string `type:"string"`
19975
19976	// The product view aggregations.
19977	ProductViewAggregations map[string][]*ProductViewAggregationValue `type:"map"`
19978
19979	// Information about the product views.
19980	ProductViewSummaries []*ProductViewSummary `type:"list"`
19981}
19982
19983// String returns the string representation
19984func (s SearchProductsOutput) String() string {
19985	return awsutil.Prettify(s)
19986}
19987
19988// GoString returns the string representation
19989func (s SearchProductsOutput) GoString() string {
19990	return s.String()
19991}
19992
19993// SetNextPageToken sets the NextPageToken field's value.
19994func (s *SearchProductsOutput) SetNextPageToken(v string) *SearchProductsOutput {
19995	s.NextPageToken = &v
19996	return s
19997}
19998
19999// SetProductViewAggregations sets the ProductViewAggregations field's value.
20000func (s *SearchProductsOutput) SetProductViewAggregations(v map[string][]*ProductViewAggregationValue) *SearchProductsOutput {
20001	s.ProductViewAggregations = v
20002	return s
20003}
20004
20005// SetProductViewSummaries sets the ProductViewSummaries field's value.
20006func (s *SearchProductsOutput) SetProductViewSummaries(v []*ProductViewSummary) *SearchProductsOutput {
20007	s.ProductViewSummaries = v
20008	return s
20009}
20010
20011type SearchProvisionedProductsInput struct {
20012	_ struct{} `type:"structure"`
20013
20014	// The language code.
20015	//
20016	//    * en - English (default)
20017	//
20018	//    * jp - Japanese
20019	//
20020	//    * zh - Chinese
20021	AcceptLanguage *string `type:"string"`
20022
20023	// The access level to use to obtain results. The default is User.
20024	AccessLevelFilter *AccessLevelFilter `type:"structure"`
20025
20026	// The search filters.
20027	//
20028	// When the key is SearchQuery, the searchable fields are arn, createdTime,
20029	// id, lastRecordId, idempotencyToken, name, physicalId, productId, provisioningArtifact,
20030	// type, status, tags, userArn, userArnSession, lastProvisioningRecordId, lastSuccessfulProvisioningRecordId,
20031	// productName, and provisioningArtifactName.
20032	//
20033	// Example: "SearchQuery":["status:AVAILABLE"]
20034	Filters map[string][]*string `type:"map"`
20035
20036	// The maximum number of items to return with this call.
20037	PageSize *int64 `type:"integer"`
20038
20039	// The page token for the next set of results. To retrieve the first set of
20040	// results, use null.
20041	PageToken *string `type:"string"`
20042
20043	// The sort field. If no value is specified, the results are not sorted. The
20044	// valid values are arn, id, name, and lastRecordId.
20045	SortBy *string `type:"string"`
20046
20047	// The sort order. If no value is specified, the results are not sorted.
20048	SortOrder *string `type:"string" enum:"SortOrder"`
20049}
20050
20051// String returns the string representation
20052func (s SearchProvisionedProductsInput) String() string {
20053	return awsutil.Prettify(s)
20054}
20055
20056// GoString returns the string representation
20057func (s SearchProvisionedProductsInput) GoString() string {
20058	return s.String()
20059}
20060
20061// SetAcceptLanguage sets the AcceptLanguage field's value.
20062func (s *SearchProvisionedProductsInput) SetAcceptLanguage(v string) *SearchProvisionedProductsInput {
20063	s.AcceptLanguage = &v
20064	return s
20065}
20066
20067// SetAccessLevelFilter sets the AccessLevelFilter field's value.
20068func (s *SearchProvisionedProductsInput) SetAccessLevelFilter(v *AccessLevelFilter) *SearchProvisionedProductsInput {
20069	s.AccessLevelFilter = v
20070	return s
20071}
20072
20073// SetFilters sets the Filters field's value.
20074func (s *SearchProvisionedProductsInput) SetFilters(v map[string][]*string) *SearchProvisionedProductsInput {
20075	s.Filters = v
20076	return s
20077}
20078
20079// SetPageSize sets the PageSize field's value.
20080func (s *SearchProvisionedProductsInput) SetPageSize(v int64) *SearchProvisionedProductsInput {
20081	s.PageSize = &v
20082	return s
20083}
20084
20085// SetPageToken sets the PageToken field's value.
20086func (s *SearchProvisionedProductsInput) SetPageToken(v string) *SearchProvisionedProductsInput {
20087	s.PageToken = &v
20088	return s
20089}
20090
20091// SetSortBy sets the SortBy field's value.
20092func (s *SearchProvisionedProductsInput) SetSortBy(v string) *SearchProvisionedProductsInput {
20093	s.SortBy = &v
20094	return s
20095}
20096
20097// SetSortOrder sets the SortOrder field's value.
20098func (s *SearchProvisionedProductsInput) SetSortOrder(v string) *SearchProvisionedProductsInput {
20099	s.SortOrder = &v
20100	return s
20101}
20102
20103type SearchProvisionedProductsOutput struct {
20104	_ struct{} `type:"structure"`
20105
20106	// The page token to use to retrieve the next set of results. If there are no
20107	// additional results, this value is null.
20108	NextPageToken *string `type:"string"`
20109
20110	// Information about the provisioned products.
20111	ProvisionedProducts []*ProvisionedProductAttribute `type:"list"`
20112
20113	// The number of provisioned products found.
20114	TotalResultsCount *int64 `type:"integer"`
20115}
20116
20117// String returns the string representation
20118func (s SearchProvisionedProductsOutput) String() string {
20119	return awsutil.Prettify(s)
20120}
20121
20122// GoString returns the string representation
20123func (s SearchProvisionedProductsOutput) GoString() string {
20124	return s.String()
20125}
20126
20127// SetNextPageToken sets the NextPageToken field's value.
20128func (s *SearchProvisionedProductsOutput) SetNextPageToken(v string) *SearchProvisionedProductsOutput {
20129	s.NextPageToken = &v
20130	return s
20131}
20132
20133// SetProvisionedProducts sets the ProvisionedProducts field's value.
20134func (s *SearchProvisionedProductsOutput) SetProvisionedProducts(v []*ProvisionedProductAttribute) *SearchProvisionedProductsOutput {
20135	s.ProvisionedProducts = v
20136	return s
20137}
20138
20139// SetTotalResultsCount sets the TotalResultsCount field's value.
20140func (s *SearchProvisionedProductsOutput) SetTotalResultsCount(v int64) *SearchProvisionedProductsOutput {
20141	s.TotalResultsCount = &v
20142	return s
20143}
20144
20145// A self-service action association consisting of the Action ID, the Product
20146// ID, and the Provisioning Artifact ID.
20147type ServiceActionAssociation struct {
20148	_ struct{} `type:"structure"`
20149
20150	// The product identifier. For example, prod-abcdzk7xy33qa.
20151	//
20152	// ProductId is a required field
20153	ProductId *string `min:"1" type:"string" required:"true"`
20154
20155	// The identifier of the provisioning artifact. For example, pa-4abcdjnxjj6ne.
20156	//
20157	// ProvisioningArtifactId is a required field
20158	ProvisioningArtifactId *string `min:"1" type:"string" required:"true"`
20159
20160	// The self-service action identifier. For example, act-fs7abcd89wxyz.
20161	//
20162	// ServiceActionId is a required field
20163	ServiceActionId *string `min:"1" type:"string" required:"true"`
20164}
20165
20166// String returns the string representation
20167func (s ServiceActionAssociation) String() string {
20168	return awsutil.Prettify(s)
20169}
20170
20171// GoString returns the string representation
20172func (s ServiceActionAssociation) GoString() string {
20173	return s.String()
20174}
20175
20176// Validate inspects the fields of the type to determine if they are valid.
20177func (s *ServiceActionAssociation) Validate() error {
20178	invalidParams := request.ErrInvalidParams{Context: "ServiceActionAssociation"}
20179	if s.ProductId == nil {
20180		invalidParams.Add(request.NewErrParamRequired("ProductId"))
20181	}
20182	if s.ProductId != nil && len(*s.ProductId) < 1 {
20183		invalidParams.Add(request.NewErrParamMinLen("ProductId", 1))
20184	}
20185	if s.ProvisioningArtifactId == nil {
20186		invalidParams.Add(request.NewErrParamRequired("ProvisioningArtifactId"))
20187	}
20188	if s.ProvisioningArtifactId != nil && len(*s.ProvisioningArtifactId) < 1 {
20189		invalidParams.Add(request.NewErrParamMinLen("ProvisioningArtifactId", 1))
20190	}
20191	if s.ServiceActionId == nil {
20192		invalidParams.Add(request.NewErrParamRequired("ServiceActionId"))
20193	}
20194	if s.ServiceActionId != nil && len(*s.ServiceActionId) < 1 {
20195		invalidParams.Add(request.NewErrParamMinLen("ServiceActionId", 1))
20196	}
20197
20198	if invalidParams.Len() > 0 {
20199		return invalidParams
20200	}
20201	return nil
20202}
20203
20204// SetProductId sets the ProductId field's value.
20205func (s *ServiceActionAssociation) SetProductId(v string) *ServiceActionAssociation {
20206	s.ProductId = &v
20207	return s
20208}
20209
20210// SetProvisioningArtifactId sets the ProvisioningArtifactId field's value.
20211func (s *ServiceActionAssociation) SetProvisioningArtifactId(v string) *ServiceActionAssociation {
20212	s.ProvisioningArtifactId = &v
20213	return s
20214}
20215
20216// SetServiceActionId sets the ServiceActionId field's value.
20217func (s *ServiceActionAssociation) SetServiceActionId(v string) *ServiceActionAssociation {
20218	s.ServiceActionId = &v
20219	return s
20220}
20221
20222// An object containing detailed information about the self-service action.
20223type ServiceActionDetail struct {
20224	_ struct{} `type:"structure"`
20225
20226	// A map that defines the self-service action.
20227	Definition map[string]*string `min:"1" type:"map"`
20228
20229	// Summary information about the self-service action.
20230	ServiceActionSummary *ServiceActionSummary `type:"structure"`
20231}
20232
20233// String returns the string representation
20234func (s ServiceActionDetail) String() string {
20235	return awsutil.Prettify(s)
20236}
20237
20238// GoString returns the string representation
20239func (s ServiceActionDetail) GoString() string {
20240	return s.String()
20241}
20242
20243// SetDefinition sets the Definition field's value.
20244func (s *ServiceActionDetail) SetDefinition(v map[string]*string) *ServiceActionDetail {
20245	s.Definition = v
20246	return s
20247}
20248
20249// SetServiceActionSummary sets the ServiceActionSummary field's value.
20250func (s *ServiceActionDetail) SetServiceActionSummary(v *ServiceActionSummary) *ServiceActionDetail {
20251	s.ServiceActionSummary = v
20252	return s
20253}
20254
20255// Detailed information about the self-service action.
20256type ServiceActionSummary struct {
20257	_ struct{} `type:"structure"`
20258
20259	// The self-service action definition type. For example, SSM_AUTOMATION.
20260	DefinitionType *string `type:"string" enum:"ServiceActionDefinitionType"`
20261
20262	// The self-service action description.
20263	Description *string `type:"string"`
20264
20265	// The self-service action identifier.
20266	Id *string `min:"1" type:"string"`
20267
20268	// The self-service action name.
20269	Name *string `min:"1" type:"string"`
20270}
20271
20272// String returns the string representation
20273func (s ServiceActionSummary) String() string {
20274	return awsutil.Prettify(s)
20275}
20276
20277// GoString returns the string representation
20278func (s ServiceActionSummary) GoString() string {
20279	return s.String()
20280}
20281
20282// SetDefinitionType sets the DefinitionType field's value.
20283func (s *ServiceActionSummary) SetDefinitionType(v string) *ServiceActionSummary {
20284	s.DefinitionType = &v
20285	return s
20286}
20287
20288// SetDescription sets the Description field's value.
20289func (s *ServiceActionSummary) SetDescription(v string) *ServiceActionSummary {
20290	s.Description = &v
20291	return s
20292}
20293
20294// SetId sets the Id field's value.
20295func (s *ServiceActionSummary) SetId(v string) *ServiceActionSummary {
20296	s.Id = &v
20297	return s
20298}
20299
20300// SetName sets the Name field's value.
20301func (s *ServiceActionSummary) SetName(v string) *ServiceActionSummary {
20302	s.Name = &v
20303	return s
20304}
20305
20306// Information about the portfolio share operation.
20307type ShareDetails struct {
20308	_ struct{} `type:"structure"`
20309
20310	// List of errors.
20311	ShareErrors []*ShareError `type:"list"`
20312
20313	// List of accounts for whom the operation succeeded.
20314	SuccessfulShares []*string `type:"list"`
20315}
20316
20317// String returns the string representation
20318func (s ShareDetails) String() string {
20319	return awsutil.Prettify(s)
20320}
20321
20322// GoString returns the string representation
20323func (s ShareDetails) GoString() string {
20324	return s.String()
20325}
20326
20327// SetShareErrors sets the ShareErrors field's value.
20328func (s *ShareDetails) SetShareErrors(v []*ShareError) *ShareDetails {
20329	s.ShareErrors = v
20330	return s
20331}
20332
20333// SetSuccessfulShares sets the SuccessfulShares field's value.
20334func (s *ShareDetails) SetSuccessfulShares(v []*string) *ShareDetails {
20335	s.SuccessfulShares = v
20336	return s
20337}
20338
20339// Errors that occurred during the portfolio share operation.
20340type ShareError struct {
20341	_ struct{} `type:"structure"`
20342
20343	// List of accounts impacted by the error.
20344	Accounts []*string `type:"list"`
20345
20346	// Error type that happened when processing the operation.
20347	Error *string `type:"string"`
20348
20349	// Information about the error.
20350	Message *string `type:"string"`
20351}
20352
20353// String returns the string representation
20354func (s ShareError) String() string {
20355	return awsutil.Prettify(s)
20356}
20357
20358// GoString returns the string representation
20359func (s ShareError) GoString() string {
20360	return s.String()
20361}
20362
20363// SetAccounts sets the Accounts field's value.
20364func (s *ShareError) SetAccounts(v []*string) *ShareError {
20365	s.Accounts = v
20366	return s
20367}
20368
20369// SetError sets the Error field's value.
20370func (s *ShareError) SetError(v string) *ShareError {
20371	s.Error = &v
20372	return s
20373}
20374
20375// SetMessage sets the Message field's value.
20376func (s *ShareError) SetMessage(v string) *ShareError {
20377	s.Message = &v
20378	return s
20379}
20380
20381// An AWS CloudFormation stack, in a specific account and region, that's part
20382// of a stack set operation. A stack instance is a reference to an attempted
20383// or actual stack in a given account within a given region. A stack instance
20384// can exist without a stack—for example, if the stack couldn't be created
20385// for some reason. A stack instance is associated with only one stack set.
20386// Each stack instance contains the ID of its associated stack set, as well
20387// as the ID of the actual stack and the stack status.
20388type StackInstance struct {
20389	_ struct{} `type:"structure"`
20390
20391	// The name of the AWS account that the stack instance is associated with.
20392	Account *string `type:"string"`
20393
20394	// The name of the AWS region that the stack instance is associated with.
20395	Region *string `type:"string"`
20396
20397	// The status of the stack instance, in terms of its synchronization with its
20398	// associated stack set.
20399	//
20400	//    * INOPERABLE: A DeleteStackInstances operation has failed and left the
20401	//    stack in an unstable state. Stacks in this state are excluded from further
20402	//    UpdateStackSet operations. You might need to perform a DeleteStackInstances
20403	//    operation, with RetainStacks set to true, to delete the stack instance,
20404	//    and then delete the stack manually.
20405	//
20406	//    * OUTDATED: The stack isn't currently up to date with the stack set because
20407	//    either the associated stack failed during a CreateStackSet or UpdateStackSet
20408	//    operation, or the stack was part of a CreateStackSet or UpdateStackSet
20409	//    operation that failed or was stopped before the stack was created or updated.
20410	//
20411	//    * CURRENT: The stack is currently up to date with the stack set.
20412	StackInstanceStatus *string `type:"string" enum:"StackInstanceStatus"`
20413}
20414
20415// String returns the string representation
20416func (s StackInstance) String() string {
20417	return awsutil.Prettify(s)
20418}
20419
20420// GoString returns the string representation
20421func (s StackInstance) GoString() string {
20422	return s.String()
20423}
20424
20425// SetAccount sets the Account field's value.
20426func (s *StackInstance) SetAccount(v string) *StackInstance {
20427	s.Account = &v
20428	return s
20429}
20430
20431// SetRegion sets the Region field's value.
20432func (s *StackInstance) SetRegion(v string) *StackInstance {
20433	s.Region = &v
20434	return s
20435}
20436
20437// SetStackInstanceStatus sets the StackInstanceStatus field's value.
20438func (s *StackInstance) SetStackInstanceStatus(v string) *StackInstance {
20439	s.StackInstanceStatus = &v
20440	return s
20441}
20442
20443// Information about a tag. A tag is a key-value pair. Tags are propagated to
20444// the resources created when provisioning a product.
20445type Tag struct {
20446	_ struct{} `type:"structure"`
20447
20448	// The tag key.
20449	//
20450	// Key is a required field
20451	Key *string `min:"1" type:"string" required:"true"`
20452
20453	// The value for this key.
20454	//
20455	// Value is a required field
20456	Value *string `min:"1" type:"string" required:"true"`
20457}
20458
20459// String returns the string representation
20460func (s Tag) String() string {
20461	return awsutil.Prettify(s)
20462}
20463
20464// GoString returns the string representation
20465func (s Tag) GoString() string {
20466	return s.String()
20467}
20468
20469// Validate inspects the fields of the type to determine if they are valid.
20470func (s *Tag) Validate() error {
20471	invalidParams := request.ErrInvalidParams{Context: "Tag"}
20472	if s.Key == nil {
20473		invalidParams.Add(request.NewErrParamRequired("Key"))
20474	}
20475	if s.Key != nil && len(*s.Key) < 1 {
20476		invalidParams.Add(request.NewErrParamMinLen("Key", 1))
20477	}
20478	if s.Value == nil {
20479		invalidParams.Add(request.NewErrParamRequired("Value"))
20480	}
20481	if s.Value != nil && len(*s.Value) < 1 {
20482		invalidParams.Add(request.NewErrParamMinLen("Value", 1))
20483	}
20484
20485	if invalidParams.Len() > 0 {
20486		return invalidParams
20487	}
20488	return nil
20489}
20490
20491// SetKey sets the Key field's value.
20492func (s *Tag) SetKey(v string) *Tag {
20493	s.Key = &v
20494	return s
20495}
20496
20497// SetValue sets the Value field's value.
20498func (s *Tag) SetValue(v string) *Tag {
20499	s.Value = &v
20500	return s
20501}
20502
20503// Information about a TagOption.
20504type TagOptionDetail struct {
20505	_ struct{} `type:"structure"`
20506
20507	// The TagOption active state.
20508	Active *bool `type:"boolean"`
20509
20510	// The TagOption identifier.
20511	Id *string `min:"1" type:"string"`
20512
20513	// The TagOption key.
20514	Key *string `min:"1" type:"string"`
20515
20516	// The AWS account Id of the owner account that created the TagOption.
20517	Owner *string `type:"string"`
20518
20519	// The TagOption value.
20520	Value *string `min:"1" type:"string"`
20521}
20522
20523// String returns the string representation
20524func (s TagOptionDetail) String() string {
20525	return awsutil.Prettify(s)
20526}
20527
20528// GoString returns the string representation
20529func (s TagOptionDetail) GoString() string {
20530	return s.String()
20531}
20532
20533// SetActive sets the Active field's value.
20534func (s *TagOptionDetail) SetActive(v bool) *TagOptionDetail {
20535	s.Active = &v
20536	return s
20537}
20538
20539// SetId sets the Id field's value.
20540func (s *TagOptionDetail) SetId(v string) *TagOptionDetail {
20541	s.Id = &v
20542	return s
20543}
20544
20545// SetKey sets the Key field's value.
20546func (s *TagOptionDetail) SetKey(v string) *TagOptionDetail {
20547	s.Key = &v
20548	return s
20549}
20550
20551// SetOwner sets the Owner field's value.
20552func (s *TagOptionDetail) SetOwner(v string) *TagOptionDetail {
20553	s.Owner = &v
20554	return s
20555}
20556
20557// SetValue sets the Value field's value.
20558func (s *TagOptionDetail) SetValue(v string) *TagOptionDetail {
20559	s.Value = &v
20560	return s
20561}
20562
20563// An operation requiring TagOptions failed because the TagOptions migration
20564// process has not been performed for this account. Please use the AWS console
20565// to perform the migration process before retrying the operation.
20566type TagOptionNotMigratedException struct {
20567	_            struct{}                  `type:"structure"`
20568	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
20569
20570	Message_ *string `locationName:"message" type:"string"`
20571}
20572
20573// String returns the string representation
20574func (s TagOptionNotMigratedException) String() string {
20575	return awsutil.Prettify(s)
20576}
20577
20578// GoString returns the string representation
20579func (s TagOptionNotMigratedException) GoString() string {
20580	return s.String()
20581}
20582
20583func newErrorTagOptionNotMigratedException(v protocol.ResponseMetadata) error {
20584	return &TagOptionNotMigratedException{
20585		RespMetadata: v,
20586	}
20587}
20588
20589// Code returns the exception type name.
20590func (s *TagOptionNotMigratedException) Code() string {
20591	return "TagOptionNotMigratedException"
20592}
20593
20594// Message returns the exception's message.
20595func (s *TagOptionNotMigratedException) Message() string {
20596	if s.Message_ != nil {
20597		return *s.Message_
20598	}
20599	return ""
20600}
20601
20602// OrigErr always returns nil, satisfies awserr.Error interface.
20603func (s *TagOptionNotMigratedException) OrigErr() error {
20604	return nil
20605}
20606
20607func (s *TagOptionNotMigratedException) Error() string {
20608	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
20609}
20610
20611// Status code returns the HTTP status code for the request's response error.
20612func (s *TagOptionNotMigratedException) StatusCode() int {
20613	return s.RespMetadata.StatusCode
20614}
20615
20616// RequestID returns the service's response RequestID for request.
20617func (s *TagOptionNotMigratedException) RequestID() string {
20618	return s.RespMetadata.RequestID
20619}
20620
20621// Summary information about a TagOption.
20622type TagOptionSummary struct {
20623	_ struct{} `type:"structure"`
20624
20625	// The TagOption key.
20626	Key *string `min:"1" type:"string"`
20627
20628	// The TagOption value.
20629	Values []*string `type:"list"`
20630}
20631
20632// String returns the string representation
20633func (s TagOptionSummary) String() string {
20634	return awsutil.Prettify(s)
20635}
20636
20637// GoString returns the string representation
20638func (s TagOptionSummary) GoString() string {
20639	return s.String()
20640}
20641
20642// SetKey sets the Key field's value.
20643func (s *TagOptionSummary) SetKey(v string) *TagOptionSummary {
20644	s.Key = &v
20645	return s
20646}
20647
20648// SetValues sets the Values field's value.
20649func (s *TagOptionSummary) SetValues(v []*string) *TagOptionSummary {
20650	s.Values = v
20651	return s
20652}
20653
20654type TerminateProvisionedProductInput struct {
20655	_ struct{} `type:"structure"`
20656
20657	// The language code.
20658	//
20659	//    * en - English (default)
20660	//
20661	//    * jp - Japanese
20662	//
20663	//    * zh - Chinese
20664	AcceptLanguage *string `type:"string"`
20665
20666	// If set to true, AWS Service Catalog stops managing the specified provisioned
20667	// product even if it cannot delete the underlying resources.
20668	IgnoreErrors *bool `type:"boolean"`
20669
20670	// The identifier of the provisioned product. You cannot specify both ProvisionedProductName
20671	// and ProvisionedProductId.
20672	ProvisionedProductId *string `min:"1" type:"string"`
20673
20674	// The name of the provisioned product. You cannot specify both ProvisionedProductName
20675	// and ProvisionedProductId.
20676	ProvisionedProductName *string `min:"1" type:"string"`
20677
20678	// When this boolean parameter is set to true, the TerminateProvisionedProduct
20679	// API deletes the Service Catalog provisioned product. However, it does not
20680	// remove the CloudFormation stack, stack set, or the underlying resources of
20681	// the deleted provisioned product. The default value is false.
20682	RetainPhysicalResources *bool `type:"boolean"`
20683
20684	// An idempotency token that uniquely identifies the termination request. This
20685	// token is only valid during the termination process. After the provisioned
20686	// product is terminated, subsequent requests to terminate the same provisioned
20687	// product always return ResourceNotFound.
20688	TerminateToken *string `min:"1" type:"string" idempotencyToken:"true"`
20689}
20690
20691// String returns the string representation
20692func (s TerminateProvisionedProductInput) String() string {
20693	return awsutil.Prettify(s)
20694}
20695
20696// GoString returns the string representation
20697func (s TerminateProvisionedProductInput) GoString() string {
20698	return s.String()
20699}
20700
20701// Validate inspects the fields of the type to determine if they are valid.
20702func (s *TerminateProvisionedProductInput) Validate() error {
20703	invalidParams := request.ErrInvalidParams{Context: "TerminateProvisionedProductInput"}
20704	if s.ProvisionedProductId != nil && len(*s.ProvisionedProductId) < 1 {
20705		invalidParams.Add(request.NewErrParamMinLen("ProvisionedProductId", 1))
20706	}
20707	if s.ProvisionedProductName != nil && len(*s.ProvisionedProductName) < 1 {
20708		invalidParams.Add(request.NewErrParamMinLen("ProvisionedProductName", 1))
20709	}
20710	if s.TerminateToken != nil && len(*s.TerminateToken) < 1 {
20711		invalidParams.Add(request.NewErrParamMinLen("TerminateToken", 1))
20712	}
20713
20714	if invalidParams.Len() > 0 {
20715		return invalidParams
20716	}
20717	return nil
20718}
20719
20720// SetAcceptLanguage sets the AcceptLanguage field's value.
20721func (s *TerminateProvisionedProductInput) SetAcceptLanguage(v string) *TerminateProvisionedProductInput {
20722	s.AcceptLanguage = &v
20723	return s
20724}
20725
20726// SetIgnoreErrors sets the IgnoreErrors field's value.
20727func (s *TerminateProvisionedProductInput) SetIgnoreErrors(v bool) *TerminateProvisionedProductInput {
20728	s.IgnoreErrors = &v
20729	return s
20730}
20731
20732// SetProvisionedProductId sets the ProvisionedProductId field's value.
20733func (s *TerminateProvisionedProductInput) SetProvisionedProductId(v string) *TerminateProvisionedProductInput {
20734	s.ProvisionedProductId = &v
20735	return s
20736}
20737
20738// SetProvisionedProductName sets the ProvisionedProductName field's value.
20739func (s *TerminateProvisionedProductInput) SetProvisionedProductName(v string) *TerminateProvisionedProductInput {
20740	s.ProvisionedProductName = &v
20741	return s
20742}
20743
20744// SetRetainPhysicalResources sets the RetainPhysicalResources field's value.
20745func (s *TerminateProvisionedProductInput) SetRetainPhysicalResources(v bool) *TerminateProvisionedProductInput {
20746	s.RetainPhysicalResources = &v
20747	return s
20748}
20749
20750// SetTerminateToken sets the TerminateToken field's value.
20751func (s *TerminateProvisionedProductInput) SetTerminateToken(v string) *TerminateProvisionedProductInput {
20752	s.TerminateToken = &v
20753	return s
20754}
20755
20756type TerminateProvisionedProductOutput struct {
20757	_ struct{} `type:"structure"`
20758
20759	// Information about the result of this request.
20760	RecordDetail *RecordDetail `type:"structure"`
20761}
20762
20763// String returns the string representation
20764func (s TerminateProvisionedProductOutput) String() string {
20765	return awsutil.Prettify(s)
20766}
20767
20768// GoString returns the string representation
20769func (s TerminateProvisionedProductOutput) GoString() string {
20770	return s.String()
20771}
20772
20773// SetRecordDetail sets the RecordDetail field's value.
20774func (s *TerminateProvisionedProductOutput) SetRecordDetail(v *RecordDetail) *TerminateProvisionedProductOutput {
20775	s.RecordDetail = v
20776	return s
20777}
20778
20779type UpdateConstraintInput struct {
20780	_ struct{} `type:"structure"`
20781
20782	// The language code.
20783	//
20784	//    * en - English (default)
20785	//
20786	//    * jp - Japanese
20787	//
20788	//    * zh - Chinese
20789	AcceptLanguage *string `type:"string"`
20790
20791	// The updated description of the constraint.
20792	Description *string `type:"string"`
20793
20794	// The identifier of the constraint.
20795	//
20796	// Id is a required field
20797	Id *string `min:"1" type:"string" required:"true"`
20798
20799	// The constraint parameters, in JSON format. The syntax depends on the constraint
20800	// type as follows:
20801	//
20802	// LAUNCH
20803	//
20804	// You are required to specify either the RoleArn or the LocalRoleName but can't
20805	// use both.
20806	//
20807	// Specify the RoleArn property as follows:
20808	//
20809	// {"RoleArn" : "arn:aws:iam::123456789012:role/LaunchRole"}
20810	//
20811	// Specify the LocalRoleName property as follows:
20812	//
20813	// {"LocalRoleName": "SCBasicLaunchRole"}
20814	//
20815	// If you specify the LocalRoleName property, when an account uses the launch
20816	// constraint, the IAM role with that name in the account will be used. This
20817	// allows launch-role constraints to be account-agnostic so the administrator
20818	// can create fewer resources per shared account.
20819	//
20820	// The given role name must exist in the account used to create the launch constraint
20821	// and the account of the user who launches a product with this launch constraint.
20822	//
20823	// You cannot have both a LAUNCH and a STACKSET constraint.
20824	//
20825	// You also cannot have more than one LAUNCH constraint on a product and portfolio.
20826	//
20827	// NOTIFICATION
20828	//
20829	// Specify the NotificationArns property as follows:
20830	//
20831	// {"NotificationArns" : ["arn:aws:sns:us-east-1:123456789012:Topic"]}
20832	//
20833	// RESOURCE_UPDATE
20834	//
20835	// Specify the TagUpdatesOnProvisionedProduct property as follows:
20836	//
20837	// {"Version":"2.0","Properties":{"TagUpdateOnProvisionedProduct":"String"}}
20838	//
20839	// The TagUpdatesOnProvisionedProduct property accepts a string value of ALLOWED
20840	// or NOT_ALLOWED.
20841	//
20842	// STACKSET
20843	//
20844	// Specify the Parameters property as follows:
20845	//
20846	// {"Version": "String", "Properties": {"AccountList": [ "String" ], "RegionList":
20847	// [ "String" ], "AdminRole": "String", "ExecutionRole": "String"}}
20848	//
20849	// You cannot have both a LAUNCH and a STACKSET constraint.
20850	//
20851	// You also cannot have more than one STACKSET constraint on a product and portfolio.
20852	//
20853	// Products with a STACKSET constraint will launch an AWS CloudFormation stack
20854	// set.
20855	//
20856	// TEMPLATE
20857	//
20858	// Specify the Rules property. For more information, see Template Constraint
20859	// Rules (http://docs.aws.amazon.com/servicecatalog/latest/adminguide/reference-template_constraint_rules.html).
20860	Parameters *string `type:"string"`
20861}
20862
20863// String returns the string representation
20864func (s UpdateConstraintInput) String() string {
20865	return awsutil.Prettify(s)
20866}
20867
20868// GoString returns the string representation
20869func (s UpdateConstraintInput) GoString() string {
20870	return s.String()
20871}
20872
20873// Validate inspects the fields of the type to determine if they are valid.
20874func (s *UpdateConstraintInput) Validate() error {
20875	invalidParams := request.ErrInvalidParams{Context: "UpdateConstraintInput"}
20876	if s.Id == nil {
20877		invalidParams.Add(request.NewErrParamRequired("Id"))
20878	}
20879	if s.Id != nil && len(*s.Id) < 1 {
20880		invalidParams.Add(request.NewErrParamMinLen("Id", 1))
20881	}
20882
20883	if invalidParams.Len() > 0 {
20884		return invalidParams
20885	}
20886	return nil
20887}
20888
20889// SetAcceptLanguage sets the AcceptLanguage field's value.
20890func (s *UpdateConstraintInput) SetAcceptLanguage(v string) *UpdateConstraintInput {
20891	s.AcceptLanguage = &v
20892	return s
20893}
20894
20895// SetDescription sets the Description field's value.
20896func (s *UpdateConstraintInput) SetDescription(v string) *UpdateConstraintInput {
20897	s.Description = &v
20898	return s
20899}
20900
20901// SetId sets the Id field's value.
20902func (s *UpdateConstraintInput) SetId(v string) *UpdateConstraintInput {
20903	s.Id = &v
20904	return s
20905}
20906
20907// SetParameters sets the Parameters field's value.
20908func (s *UpdateConstraintInput) SetParameters(v string) *UpdateConstraintInput {
20909	s.Parameters = &v
20910	return s
20911}
20912
20913type UpdateConstraintOutput struct {
20914	_ struct{} `type:"structure"`
20915
20916	// Information about the constraint.
20917	ConstraintDetail *ConstraintDetail `type:"structure"`
20918
20919	// The constraint parameters.
20920	ConstraintParameters *string `type:"string"`
20921
20922	// The status of the current request.
20923	Status *string `type:"string" enum:"Status"`
20924}
20925
20926// String returns the string representation
20927func (s UpdateConstraintOutput) String() string {
20928	return awsutil.Prettify(s)
20929}
20930
20931// GoString returns the string representation
20932func (s UpdateConstraintOutput) GoString() string {
20933	return s.String()
20934}
20935
20936// SetConstraintDetail sets the ConstraintDetail field's value.
20937func (s *UpdateConstraintOutput) SetConstraintDetail(v *ConstraintDetail) *UpdateConstraintOutput {
20938	s.ConstraintDetail = v
20939	return s
20940}
20941
20942// SetConstraintParameters sets the ConstraintParameters field's value.
20943func (s *UpdateConstraintOutput) SetConstraintParameters(v string) *UpdateConstraintOutput {
20944	s.ConstraintParameters = &v
20945	return s
20946}
20947
20948// SetStatus sets the Status field's value.
20949func (s *UpdateConstraintOutput) SetStatus(v string) *UpdateConstraintOutput {
20950	s.Status = &v
20951	return s
20952}
20953
20954type UpdatePortfolioInput struct {
20955	_ struct{} `type:"structure"`
20956
20957	// The language code.
20958	//
20959	//    * en - English (default)
20960	//
20961	//    * jp - Japanese
20962	//
20963	//    * zh - Chinese
20964	AcceptLanguage *string `type:"string"`
20965
20966	// The tags to add.
20967	AddTags []*Tag `type:"list"`
20968
20969	// The updated description of the portfolio.
20970	Description *string `type:"string"`
20971
20972	// The name to use for display purposes.
20973	DisplayName *string `min:"1" type:"string"`
20974
20975	// The portfolio identifier.
20976	//
20977	// Id is a required field
20978	Id *string `min:"1" type:"string" required:"true"`
20979
20980	// The updated name of the portfolio provider.
20981	ProviderName *string `min:"1" type:"string"`
20982
20983	// The tags to remove.
20984	RemoveTags []*string `type:"list"`
20985}
20986
20987// String returns the string representation
20988func (s UpdatePortfolioInput) String() string {
20989	return awsutil.Prettify(s)
20990}
20991
20992// GoString returns the string representation
20993func (s UpdatePortfolioInput) GoString() string {
20994	return s.String()
20995}
20996
20997// Validate inspects the fields of the type to determine if they are valid.
20998func (s *UpdatePortfolioInput) Validate() error {
20999	invalidParams := request.ErrInvalidParams{Context: "UpdatePortfolioInput"}
21000	if s.DisplayName != nil && len(*s.DisplayName) < 1 {
21001		invalidParams.Add(request.NewErrParamMinLen("DisplayName", 1))
21002	}
21003	if s.Id == nil {
21004		invalidParams.Add(request.NewErrParamRequired("Id"))
21005	}
21006	if s.Id != nil && len(*s.Id) < 1 {
21007		invalidParams.Add(request.NewErrParamMinLen("Id", 1))
21008	}
21009	if s.ProviderName != nil && len(*s.ProviderName) < 1 {
21010		invalidParams.Add(request.NewErrParamMinLen("ProviderName", 1))
21011	}
21012	if s.AddTags != nil {
21013		for i, v := range s.AddTags {
21014			if v == nil {
21015				continue
21016			}
21017			if err := v.Validate(); err != nil {
21018				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "AddTags", i), err.(request.ErrInvalidParams))
21019			}
21020		}
21021	}
21022
21023	if invalidParams.Len() > 0 {
21024		return invalidParams
21025	}
21026	return nil
21027}
21028
21029// SetAcceptLanguage sets the AcceptLanguage field's value.
21030func (s *UpdatePortfolioInput) SetAcceptLanguage(v string) *UpdatePortfolioInput {
21031	s.AcceptLanguage = &v
21032	return s
21033}
21034
21035// SetAddTags sets the AddTags field's value.
21036func (s *UpdatePortfolioInput) SetAddTags(v []*Tag) *UpdatePortfolioInput {
21037	s.AddTags = v
21038	return s
21039}
21040
21041// SetDescription sets the Description field's value.
21042func (s *UpdatePortfolioInput) SetDescription(v string) *UpdatePortfolioInput {
21043	s.Description = &v
21044	return s
21045}
21046
21047// SetDisplayName sets the DisplayName field's value.
21048func (s *UpdatePortfolioInput) SetDisplayName(v string) *UpdatePortfolioInput {
21049	s.DisplayName = &v
21050	return s
21051}
21052
21053// SetId sets the Id field's value.
21054func (s *UpdatePortfolioInput) SetId(v string) *UpdatePortfolioInput {
21055	s.Id = &v
21056	return s
21057}
21058
21059// SetProviderName sets the ProviderName field's value.
21060func (s *UpdatePortfolioInput) SetProviderName(v string) *UpdatePortfolioInput {
21061	s.ProviderName = &v
21062	return s
21063}
21064
21065// SetRemoveTags sets the RemoveTags field's value.
21066func (s *UpdatePortfolioInput) SetRemoveTags(v []*string) *UpdatePortfolioInput {
21067	s.RemoveTags = v
21068	return s
21069}
21070
21071type UpdatePortfolioOutput struct {
21072	_ struct{} `type:"structure"`
21073
21074	// Information about the portfolio.
21075	PortfolioDetail *PortfolioDetail `type:"structure"`
21076
21077	// Information about the tags associated with the portfolio.
21078	Tags []*Tag `type:"list"`
21079}
21080
21081// String returns the string representation
21082func (s UpdatePortfolioOutput) String() string {
21083	return awsutil.Prettify(s)
21084}
21085
21086// GoString returns the string representation
21087func (s UpdatePortfolioOutput) GoString() string {
21088	return s.String()
21089}
21090
21091// SetPortfolioDetail sets the PortfolioDetail field's value.
21092func (s *UpdatePortfolioOutput) SetPortfolioDetail(v *PortfolioDetail) *UpdatePortfolioOutput {
21093	s.PortfolioDetail = v
21094	return s
21095}
21096
21097// SetTags sets the Tags field's value.
21098func (s *UpdatePortfolioOutput) SetTags(v []*Tag) *UpdatePortfolioOutput {
21099	s.Tags = v
21100	return s
21101}
21102
21103type UpdatePortfolioShareInput struct {
21104	_ struct{} `type:"structure"`
21105
21106	// The language code.
21107	//
21108	//    * en - English (default)
21109	//
21110	//    * jp - Japanese
21111	//
21112	//    * zh - Chinese
21113	AcceptLanguage *string `type:"string"`
21114
21115	// The AWS Account Id of the recipient account. This field is required when
21116	// updating an external account to account type share.
21117	AccountId *string `type:"string"`
21118
21119	// Information about the organization node.
21120	OrganizationNode *OrganizationNode `type:"structure"`
21121
21122	// The unique identifier of the portfolio for which the share will be updated.
21123	//
21124	// PortfolioId is a required field
21125	PortfolioId *string `min:"1" type:"string" required:"true"`
21126
21127	// A flag to enable or disable TagOptions sharing for the portfolio share. If
21128	// this field is not provided, the current state of TagOptions sharing on the
21129	// portfolio share will not be modified.
21130	ShareTagOptions *bool `type:"boolean"`
21131}
21132
21133// String returns the string representation
21134func (s UpdatePortfolioShareInput) String() string {
21135	return awsutil.Prettify(s)
21136}
21137
21138// GoString returns the string representation
21139func (s UpdatePortfolioShareInput) GoString() string {
21140	return s.String()
21141}
21142
21143// Validate inspects the fields of the type to determine if they are valid.
21144func (s *UpdatePortfolioShareInput) Validate() error {
21145	invalidParams := request.ErrInvalidParams{Context: "UpdatePortfolioShareInput"}
21146	if s.PortfolioId == nil {
21147		invalidParams.Add(request.NewErrParamRequired("PortfolioId"))
21148	}
21149	if s.PortfolioId != nil && len(*s.PortfolioId) < 1 {
21150		invalidParams.Add(request.NewErrParamMinLen("PortfolioId", 1))
21151	}
21152
21153	if invalidParams.Len() > 0 {
21154		return invalidParams
21155	}
21156	return nil
21157}
21158
21159// SetAcceptLanguage sets the AcceptLanguage field's value.
21160func (s *UpdatePortfolioShareInput) SetAcceptLanguage(v string) *UpdatePortfolioShareInput {
21161	s.AcceptLanguage = &v
21162	return s
21163}
21164
21165// SetAccountId sets the AccountId field's value.
21166func (s *UpdatePortfolioShareInput) SetAccountId(v string) *UpdatePortfolioShareInput {
21167	s.AccountId = &v
21168	return s
21169}
21170
21171// SetOrganizationNode sets the OrganizationNode field's value.
21172func (s *UpdatePortfolioShareInput) SetOrganizationNode(v *OrganizationNode) *UpdatePortfolioShareInput {
21173	s.OrganizationNode = v
21174	return s
21175}
21176
21177// SetPortfolioId sets the PortfolioId field's value.
21178func (s *UpdatePortfolioShareInput) SetPortfolioId(v string) *UpdatePortfolioShareInput {
21179	s.PortfolioId = &v
21180	return s
21181}
21182
21183// SetShareTagOptions sets the ShareTagOptions field's value.
21184func (s *UpdatePortfolioShareInput) SetShareTagOptions(v bool) *UpdatePortfolioShareInput {
21185	s.ShareTagOptions = &v
21186	return s
21187}
21188
21189type UpdatePortfolioShareOutput struct {
21190	_ struct{} `type:"structure"`
21191
21192	// The token that tracks the status of the UpdatePortfolioShare operation for
21193	// external account to account or organizational type sharing.
21194	PortfolioShareToken *string `min:"1" type:"string"`
21195
21196	// The status of UpdatePortfolioShare operation. You can also obtain the operation
21197	// status using DescribePortfolioShareStatus API.
21198	Status *string `type:"string" enum:"ShareStatus"`
21199}
21200
21201// String returns the string representation
21202func (s UpdatePortfolioShareOutput) String() string {
21203	return awsutil.Prettify(s)
21204}
21205
21206// GoString returns the string representation
21207func (s UpdatePortfolioShareOutput) GoString() string {
21208	return s.String()
21209}
21210
21211// SetPortfolioShareToken sets the PortfolioShareToken field's value.
21212func (s *UpdatePortfolioShareOutput) SetPortfolioShareToken(v string) *UpdatePortfolioShareOutput {
21213	s.PortfolioShareToken = &v
21214	return s
21215}
21216
21217// SetStatus sets the Status field's value.
21218func (s *UpdatePortfolioShareOutput) SetStatus(v string) *UpdatePortfolioShareOutput {
21219	s.Status = &v
21220	return s
21221}
21222
21223type UpdateProductInput struct {
21224	_ struct{} `type:"structure"`
21225
21226	// The language code.
21227	//
21228	//    * en - English (default)
21229	//
21230	//    * jp - Japanese
21231	//
21232	//    * zh - Chinese
21233	AcceptLanguage *string `type:"string"`
21234
21235	// The tags to add to the product.
21236	AddTags []*Tag `type:"list"`
21237
21238	// The updated description of the product.
21239	Description *string `type:"string"`
21240
21241	// The updated distributor of the product.
21242	Distributor *string `type:"string"`
21243
21244	// The product identifier.
21245	//
21246	// Id is a required field
21247	Id *string `min:"1" type:"string" required:"true"`
21248
21249	// The updated product name.
21250	Name *string `type:"string"`
21251
21252	// The updated owner of the product.
21253	Owner *string `type:"string"`
21254
21255	// The tags to remove from the product.
21256	RemoveTags []*string `type:"list"`
21257
21258	// The updated support description for the product.
21259	SupportDescription *string `type:"string"`
21260
21261	// The updated support email for the product.
21262	SupportEmail *string `type:"string"`
21263
21264	// The updated support URL for the product.
21265	SupportUrl *string `type:"string"`
21266}
21267
21268// String returns the string representation
21269func (s UpdateProductInput) String() string {
21270	return awsutil.Prettify(s)
21271}
21272
21273// GoString returns the string representation
21274func (s UpdateProductInput) GoString() string {
21275	return s.String()
21276}
21277
21278// Validate inspects the fields of the type to determine if they are valid.
21279func (s *UpdateProductInput) Validate() error {
21280	invalidParams := request.ErrInvalidParams{Context: "UpdateProductInput"}
21281	if s.Id == nil {
21282		invalidParams.Add(request.NewErrParamRequired("Id"))
21283	}
21284	if s.Id != nil && len(*s.Id) < 1 {
21285		invalidParams.Add(request.NewErrParamMinLen("Id", 1))
21286	}
21287	if s.AddTags != nil {
21288		for i, v := range s.AddTags {
21289			if v == nil {
21290				continue
21291			}
21292			if err := v.Validate(); err != nil {
21293				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "AddTags", i), err.(request.ErrInvalidParams))
21294			}
21295		}
21296	}
21297
21298	if invalidParams.Len() > 0 {
21299		return invalidParams
21300	}
21301	return nil
21302}
21303
21304// SetAcceptLanguage sets the AcceptLanguage field's value.
21305func (s *UpdateProductInput) SetAcceptLanguage(v string) *UpdateProductInput {
21306	s.AcceptLanguage = &v
21307	return s
21308}
21309
21310// SetAddTags sets the AddTags field's value.
21311func (s *UpdateProductInput) SetAddTags(v []*Tag) *UpdateProductInput {
21312	s.AddTags = v
21313	return s
21314}
21315
21316// SetDescription sets the Description field's value.
21317func (s *UpdateProductInput) SetDescription(v string) *UpdateProductInput {
21318	s.Description = &v
21319	return s
21320}
21321
21322// SetDistributor sets the Distributor field's value.
21323func (s *UpdateProductInput) SetDistributor(v string) *UpdateProductInput {
21324	s.Distributor = &v
21325	return s
21326}
21327
21328// SetId sets the Id field's value.
21329func (s *UpdateProductInput) SetId(v string) *UpdateProductInput {
21330	s.Id = &v
21331	return s
21332}
21333
21334// SetName sets the Name field's value.
21335func (s *UpdateProductInput) SetName(v string) *UpdateProductInput {
21336	s.Name = &v
21337	return s
21338}
21339
21340// SetOwner sets the Owner field's value.
21341func (s *UpdateProductInput) SetOwner(v string) *UpdateProductInput {
21342	s.Owner = &v
21343	return s
21344}
21345
21346// SetRemoveTags sets the RemoveTags field's value.
21347func (s *UpdateProductInput) SetRemoveTags(v []*string) *UpdateProductInput {
21348	s.RemoveTags = v
21349	return s
21350}
21351
21352// SetSupportDescription sets the SupportDescription field's value.
21353func (s *UpdateProductInput) SetSupportDescription(v string) *UpdateProductInput {
21354	s.SupportDescription = &v
21355	return s
21356}
21357
21358// SetSupportEmail sets the SupportEmail field's value.
21359func (s *UpdateProductInput) SetSupportEmail(v string) *UpdateProductInput {
21360	s.SupportEmail = &v
21361	return s
21362}
21363
21364// SetSupportUrl sets the SupportUrl field's value.
21365func (s *UpdateProductInput) SetSupportUrl(v string) *UpdateProductInput {
21366	s.SupportUrl = &v
21367	return s
21368}
21369
21370type UpdateProductOutput struct {
21371	_ struct{} `type:"structure"`
21372
21373	// Information about the product view.
21374	ProductViewDetail *ProductViewDetail `type:"structure"`
21375
21376	// Information about the tags associated with the product.
21377	Tags []*Tag `type:"list"`
21378}
21379
21380// String returns the string representation
21381func (s UpdateProductOutput) String() string {
21382	return awsutil.Prettify(s)
21383}
21384
21385// GoString returns the string representation
21386func (s UpdateProductOutput) GoString() string {
21387	return s.String()
21388}
21389
21390// SetProductViewDetail sets the ProductViewDetail field's value.
21391func (s *UpdateProductOutput) SetProductViewDetail(v *ProductViewDetail) *UpdateProductOutput {
21392	s.ProductViewDetail = v
21393	return s
21394}
21395
21396// SetTags sets the Tags field's value.
21397func (s *UpdateProductOutput) SetTags(v []*Tag) *UpdateProductOutput {
21398	s.Tags = v
21399	return s
21400}
21401
21402type UpdateProvisionedProductInput struct {
21403	_ struct{} `type:"structure"`
21404
21405	// The language code.
21406	//
21407	//    * en - English (default)
21408	//
21409	//    * jp - Japanese
21410	//
21411	//    * zh - Chinese
21412	AcceptLanguage *string `type:"string"`
21413
21414	// The path identifier. This value is optional if the product has a default
21415	// path, and required if the product has more than one path. You must provide
21416	// the name or ID, but not both.
21417	PathId *string `min:"1" type:"string"`
21418
21419	// The name of the path. You must provide the name or ID, but not both.
21420	PathName *string `min:"1" type:"string"`
21421
21422	// The identifier of the product. You must provide the name or ID, but not both.
21423	ProductId *string `min:"1" type:"string"`
21424
21425	// The name of the product. You must provide the name or ID, but not both.
21426	ProductName *string `type:"string"`
21427
21428	// The identifier of the provisioned product. You must provide the name or ID,
21429	// but not both.
21430	ProvisionedProductId *string `min:"1" type:"string"`
21431
21432	// The name of the provisioned product. You cannot specify both ProvisionedProductName
21433	// and ProvisionedProductId.
21434	ProvisionedProductName *string `min:"1" type:"string"`
21435
21436	// The identifier of the provisioning artifact.
21437	ProvisioningArtifactId *string `min:"1" type:"string"`
21438
21439	// The name of the provisioning artifact. You must provide the name or ID, but
21440	// not both.
21441	ProvisioningArtifactName *string `type:"string"`
21442
21443	// The new parameters.
21444	ProvisioningParameters []*UpdateProvisioningParameter `type:"list"`
21445
21446	// An object that contains information about the provisioning preferences for
21447	// a stack set.
21448	ProvisioningPreferences *UpdateProvisioningPreferences `type:"structure"`
21449
21450	// One or more tags. Requires the product to have RESOURCE_UPDATE constraint
21451	// with TagUpdatesOnProvisionedProduct set to ALLOWED to allow tag updates.
21452	Tags []*Tag `type:"list"`
21453
21454	// The idempotency token that uniquely identifies the provisioning update request.
21455	UpdateToken *string `min:"1" type:"string" idempotencyToken:"true"`
21456}
21457
21458// String returns the string representation
21459func (s UpdateProvisionedProductInput) String() string {
21460	return awsutil.Prettify(s)
21461}
21462
21463// GoString returns the string representation
21464func (s UpdateProvisionedProductInput) GoString() string {
21465	return s.String()
21466}
21467
21468// Validate inspects the fields of the type to determine if they are valid.
21469func (s *UpdateProvisionedProductInput) Validate() error {
21470	invalidParams := request.ErrInvalidParams{Context: "UpdateProvisionedProductInput"}
21471	if s.PathId != nil && len(*s.PathId) < 1 {
21472		invalidParams.Add(request.NewErrParamMinLen("PathId", 1))
21473	}
21474	if s.PathName != nil && len(*s.PathName) < 1 {
21475		invalidParams.Add(request.NewErrParamMinLen("PathName", 1))
21476	}
21477	if s.ProductId != nil && len(*s.ProductId) < 1 {
21478		invalidParams.Add(request.NewErrParamMinLen("ProductId", 1))
21479	}
21480	if s.ProvisionedProductId != nil && len(*s.ProvisionedProductId) < 1 {
21481		invalidParams.Add(request.NewErrParamMinLen("ProvisionedProductId", 1))
21482	}
21483	if s.ProvisionedProductName != nil && len(*s.ProvisionedProductName) < 1 {
21484		invalidParams.Add(request.NewErrParamMinLen("ProvisionedProductName", 1))
21485	}
21486	if s.ProvisioningArtifactId != nil && len(*s.ProvisioningArtifactId) < 1 {
21487		invalidParams.Add(request.NewErrParamMinLen("ProvisioningArtifactId", 1))
21488	}
21489	if s.UpdateToken != nil && len(*s.UpdateToken) < 1 {
21490		invalidParams.Add(request.NewErrParamMinLen("UpdateToken", 1))
21491	}
21492	if s.ProvisioningParameters != nil {
21493		for i, v := range s.ProvisioningParameters {
21494			if v == nil {
21495				continue
21496			}
21497			if err := v.Validate(); err != nil {
21498				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "ProvisioningParameters", i), err.(request.ErrInvalidParams))
21499			}
21500		}
21501	}
21502	if s.ProvisioningPreferences != nil {
21503		if err := s.ProvisioningPreferences.Validate(); err != nil {
21504			invalidParams.AddNested("ProvisioningPreferences", err.(request.ErrInvalidParams))
21505		}
21506	}
21507	if s.Tags != nil {
21508		for i, v := range s.Tags {
21509			if v == nil {
21510				continue
21511			}
21512			if err := v.Validate(); err != nil {
21513				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams))
21514			}
21515		}
21516	}
21517
21518	if invalidParams.Len() > 0 {
21519		return invalidParams
21520	}
21521	return nil
21522}
21523
21524// SetAcceptLanguage sets the AcceptLanguage field's value.
21525func (s *UpdateProvisionedProductInput) SetAcceptLanguage(v string) *UpdateProvisionedProductInput {
21526	s.AcceptLanguage = &v
21527	return s
21528}
21529
21530// SetPathId sets the PathId field's value.
21531func (s *UpdateProvisionedProductInput) SetPathId(v string) *UpdateProvisionedProductInput {
21532	s.PathId = &v
21533	return s
21534}
21535
21536// SetPathName sets the PathName field's value.
21537func (s *UpdateProvisionedProductInput) SetPathName(v string) *UpdateProvisionedProductInput {
21538	s.PathName = &v
21539	return s
21540}
21541
21542// SetProductId sets the ProductId field's value.
21543func (s *UpdateProvisionedProductInput) SetProductId(v string) *UpdateProvisionedProductInput {
21544	s.ProductId = &v
21545	return s
21546}
21547
21548// SetProductName sets the ProductName field's value.
21549func (s *UpdateProvisionedProductInput) SetProductName(v string) *UpdateProvisionedProductInput {
21550	s.ProductName = &v
21551	return s
21552}
21553
21554// SetProvisionedProductId sets the ProvisionedProductId field's value.
21555func (s *UpdateProvisionedProductInput) SetProvisionedProductId(v string) *UpdateProvisionedProductInput {
21556	s.ProvisionedProductId = &v
21557	return s
21558}
21559
21560// SetProvisionedProductName sets the ProvisionedProductName field's value.
21561func (s *UpdateProvisionedProductInput) SetProvisionedProductName(v string) *UpdateProvisionedProductInput {
21562	s.ProvisionedProductName = &v
21563	return s
21564}
21565
21566// SetProvisioningArtifactId sets the ProvisioningArtifactId field's value.
21567func (s *UpdateProvisionedProductInput) SetProvisioningArtifactId(v string) *UpdateProvisionedProductInput {
21568	s.ProvisioningArtifactId = &v
21569	return s
21570}
21571
21572// SetProvisioningArtifactName sets the ProvisioningArtifactName field's value.
21573func (s *UpdateProvisionedProductInput) SetProvisioningArtifactName(v string) *UpdateProvisionedProductInput {
21574	s.ProvisioningArtifactName = &v
21575	return s
21576}
21577
21578// SetProvisioningParameters sets the ProvisioningParameters field's value.
21579func (s *UpdateProvisionedProductInput) SetProvisioningParameters(v []*UpdateProvisioningParameter) *UpdateProvisionedProductInput {
21580	s.ProvisioningParameters = v
21581	return s
21582}
21583
21584// SetProvisioningPreferences sets the ProvisioningPreferences field's value.
21585func (s *UpdateProvisionedProductInput) SetProvisioningPreferences(v *UpdateProvisioningPreferences) *UpdateProvisionedProductInput {
21586	s.ProvisioningPreferences = v
21587	return s
21588}
21589
21590// SetTags sets the Tags field's value.
21591func (s *UpdateProvisionedProductInput) SetTags(v []*Tag) *UpdateProvisionedProductInput {
21592	s.Tags = v
21593	return s
21594}
21595
21596// SetUpdateToken sets the UpdateToken field's value.
21597func (s *UpdateProvisionedProductInput) SetUpdateToken(v string) *UpdateProvisionedProductInput {
21598	s.UpdateToken = &v
21599	return s
21600}
21601
21602type UpdateProvisionedProductOutput struct {
21603	_ struct{} `type:"structure"`
21604
21605	// Information about the result of the request.
21606	RecordDetail *RecordDetail `type:"structure"`
21607}
21608
21609// String returns the string representation
21610func (s UpdateProvisionedProductOutput) String() string {
21611	return awsutil.Prettify(s)
21612}
21613
21614// GoString returns the string representation
21615func (s UpdateProvisionedProductOutput) GoString() string {
21616	return s.String()
21617}
21618
21619// SetRecordDetail sets the RecordDetail field's value.
21620func (s *UpdateProvisionedProductOutput) SetRecordDetail(v *RecordDetail) *UpdateProvisionedProductOutput {
21621	s.RecordDetail = v
21622	return s
21623}
21624
21625type UpdateProvisionedProductPropertiesInput struct {
21626	_ struct{} `type:"structure"`
21627
21628	// The language code.
21629	//
21630	//    * en - English (default)
21631	//
21632	//    * jp - Japanese
21633	//
21634	//    * zh - Chinese
21635	AcceptLanguage *string `type:"string"`
21636
21637	// The idempotency token that uniquely identifies the provisioning product update
21638	// request.
21639	IdempotencyToken *string `min:"1" type:"string" idempotencyToken:"true"`
21640
21641	// The identifier of the provisioned product.
21642	//
21643	// ProvisionedProductId is a required field
21644	ProvisionedProductId *string `min:"1" type:"string" required:"true"`
21645
21646	// A map that contains the provisioned product properties to be updated.
21647	//
21648	// The LAUNCH_ROLE key accepts role ARNs. This key allows an administrator to
21649	// call UpdateProvisionedProductProperties to update the launch role that is
21650	// associated with a provisioned product. This role is used when an end user
21651	// calls a provisioning operation such as UpdateProvisionedProduct, TerminateProvisionedProduct,
21652	// or ExecuteProvisionedProductServiceAction. Only a role ARN is valid. A user
21653	// ARN is invalid.
21654	//
21655	// The OWNER key accepts user ARNs and role ARNs. The owner is the user that
21656	// has permission to see, update, terminate, and execute service actions in
21657	// the provisioned product.
21658	//
21659	// The administrator can change the owner of a provisioned product to another
21660	// IAM user within the same account. Both end user owners and administrators
21661	// can see ownership history of the provisioned product using the ListRecordHistory
21662	// API. The new owner can describe all past records for the provisioned product
21663	// using the DescribeRecord API. The previous owner can no longer use DescribeRecord,
21664	// but can still see the product's history from when he was an owner using ListRecordHistory.
21665	//
21666	// If a provisioned product ownership is assigned to an end user, they can see
21667	// and perform any action through the API or Service Catalog console such as
21668	// update, terminate, and execute service actions. If an end user provisions
21669	// a product and the owner is updated to someone else, they will no longer be
21670	// able to see or perform any actions through API or the Service Catalog console
21671	// on that provisioned product.
21672	//
21673	// ProvisionedProductProperties is a required field
21674	ProvisionedProductProperties map[string]*string `min:"1" type:"map" required:"true"`
21675}
21676
21677// String returns the string representation
21678func (s UpdateProvisionedProductPropertiesInput) String() string {
21679	return awsutil.Prettify(s)
21680}
21681
21682// GoString returns the string representation
21683func (s UpdateProvisionedProductPropertiesInput) GoString() string {
21684	return s.String()
21685}
21686
21687// Validate inspects the fields of the type to determine if they are valid.
21688func (s *UpdateProvisionedProductPropertiesInput) Validate() error {
21689	invalidParams := request.ErrInvalidParams{Context: "UpdateProvisionedProductPropertiesInput"}
21690	if s.IdempotencyToken != nil && len(*s.IdempotencyToken) < 1 {
21691		invalidParams.Add(request.NewErrParamMinLen("IdempotencyToken", 1))
21692	}
21693	if s.ProvisionedProductId == nil {
21694		invalidParams.Add(request.NewErrParamRequired("ProvisionedProductId"))
21695	}
21696	if s.ProvisionedProductId != nil && len(*s.ProvisionedProductId) < 1 {
21697		invalidParams.Add(request.NewErrParamMinLen("ProvisionedProductId", 1))
21698	}
21699	if s.ProvisionedProductProperties == nil {
21700		invalidParams.Add(request.NewErrParamRequired("ProvisionedProductProperties"))
21701	}
21702	if s.ProvisionedProductProperties != nil && len(s.ProvisionedProductProperties) < 1 {
21703		invalidParams.Add(request.NewErrParamMinLen("ProvisionedProductProperties", 1))
21704	}
21705
21706	if invalidParams.Len() > 0 {
21707		return invalidParams
21708	}
21709	return nil
21710}
21711
21712// SetAcceptLanguage sets the AcceptLanguage field's value.
21713func (s *UpdateProvisionedProductPropertiesInput) SetAcceptLanguage(v string) *UpdateProvisionedProductPropertiesInput {
21714	s.AcceptLanguage = &v
21715	return s
21716}
21717
21718// SetIdempotencyToken sets the IdempotencyToken field's value.
21719func (s *UpdateProvisionedProductPropertiesInput) SetIdempotencyToken(v string) *UpdateProvisionedProductPropertiesInput {
21720	s.IdempotencyToken = &v
21721	return s
21722}
21723
21724// SetProvisionedProductId sets the ProvisionedProductId field's value.
21725func (s *UpdateProvisionedProductPropertiesInput) SetProvisionedProductId(v string) *UpdateProvisionedProductPropertiesInput {
21726	s.ProvisionedProductId = &v
21727	return s
21728}
21729
21730// SetProvisionedProductProperties sets the ProvisionedProductProperties field's value.
21731func (s *UpdateProvisionedProductPropertiesInput) SetProvisionedProductProperties(v map[string]*string) *UpdateProvisionedProductPropertiesInput {
21732	s.ProvisionedProductProperties = v
21733	return s
21734}
21735
21736type UpdateProvisionedProductPropertiesOutput struct {
21737	_ struct{} `type:"structure"`
21738
21739	// The provisioned product identifier.
21740	ProvisionedProductId *string `min:"1" type:"string"`
21741
21742	// A map that contains the properties updated.
21743	ProvisionedProductProperties map[string]*string `min:"1" type:"map"`
21744
21745	// The identifier of the record.
21746	RecordId *string `min:"1" type:"string"`
21747
21748	// The status of the request.
21749	Status *string `type:"string" enum:"RecordStatus"`
21750}
21751
21752// String returns the string representation
21753func (s UpdateProvisionedProductPropertiesOutput) String() string {
21754	return awsutil.Prettify(s)
21755}
21756
21757// GoString returns the string representation
21758func (s UpdateProvisionedProductPropertiesOutput) GoString() string {
21759	return s.String()
21760}
21761
21762// SetProvisionedProductId sets the ProvisionedProductId field's value.
21763func (s *UpdateProvisionedProductPropertiesOutput) SetProvisionedProductId(v string) *UpdateProvisionedProductPropertiesOutput {
21764	s.ProvisionedProductId = &v
21765	return s
21766}
21767
21768// SetProvisionedProductProperties sets the ProvisionedProductProperties field's value.
21769func (s *UpdateProvisionedProductPropertiesOutput) SetProvisionedProductProperties(v map[string]*string) *UpdateProvisionedProductPropertiesOutput {
21770	s.ProvisionedProductProperties = v
21771	return s
21772}
21773
21774// SetRecordId sets the RecordId field's value.
21775func (s *UpdateProvisionedProductPropertiesOutput) SetRecordId(v string) *UpdateProvisionedProductPropertiesOutput {
21776	s.RecordId = &v
21777	return s
21778}
21779
21780// SetStatus sets the Status field's value.
21781func (s *UpdateProvisionedProductPropertiesOutput) SetStatus(v string) *UpdateProvisionedProductPropertiesOutput {
21782	s.Status = &v
21783	return s
21784}
21785
21786type UpdateProvisioningArtifactInput struct {
21787	_ struct{} `type:"structure"`
21788
21789	// The language code.
21790	//
21791	//    * en - English (default)
21792	//
21793	//    * jp - Japanese
21794	//
21795	//    * zh - Chinese
21796	AcceptLanguage *string `type:"string"`
21797
21798	// Indicates whether the product version is active.
21799	//
21800	// Inactive provisioning artifacts are invisible to end users. End users cannot
21801	// launch or update a provisioned product from an inactive provisioning artifact.
21802	Active *bool `type:"boolean"`
21803
21804	// The updated description of the provisioning artifact.
21805	Description *string `type:"string"`
21806
21807	// Information set by the administrator to provide guidance to end users about
21808	// which provisioning artifacts to use.
21809	//
21810	// The DEFAULT value indicates that the product version is active.
21811	//
21812	// The administrator can set the guidance to DEPRECATED to inform users that
21813	// the product version is deprecated. Users are able to make updates to a provisioned
21814	// product of a deprecated version but cannot launch new provisioned products
21815	// using a deprecated version.
21816	Guidance *string `type:"string" enum:"ProvisioningArtifactGuidance"`
21817
21818	// The updated name of the provisioning artifact.
21819	Name *string `type:"string"`
21820
21821	// The product identifier.
21822	//
21823	// ProductId is a required field
21824	ProductId *string `min:"1" type:"string" required:"true"`
21825
21826	// The identifier of the provisioning artifact.
21827	//
21828	// ProvisioningArtifactId is a required field
21829	ProvisioningArtifactId *string `min:"1" type:"string" required:"true"`
21830}
21831
21832// String returns the string representation
21833func (s UpdateProvisioningArtifactInput) String() string {
21834	return awsutil.Prettify(s)
21835}
21836
21837// GoString returns the string representation
21838func (s UpdateProvisioningArtifactInput) GoString() string {
21839	return s.String()
21840}
21841
21842// Validate inspects the fields of the type to determine if they are valid.
21843func (s *UpdateProvisioningArtifactInput) Validate() error {
21844	invalidParams := request.ErrInvalidParams{Context: "UpdateProvisioningArtifactInput"}
21845	if s.ProductId == nil {
21846		invalidParams.Add(request.NewErrParamRequired("ProductId"))
21847	}
21848	if s.ProductId != nil && len(*s.ProductId) < 1 {
21849		invalidParams.Add(request.NewErrParamMinLen("ProductId", 1))
21850	}
21851	if s.ProvisioningArtifactId == nil {
21852		invalidParams.Add(request.NewErrParamRequired("ProvisioningArtifactId"))
21853	}
21854	if s.ProvisioningArtifactId != nil && len(*s.ProvisioningArtifactId) < 1 {
21855		invalidParams.Add(request.NewErrParamMinLen("ProvisioningArtifactId", 1))
21856	}
21857
21858	if invalidParams.Len() > 0 {
21859		return invalidParams
21860	}
21861	return nil
21862}
21863
21864// SetAcceptLanguage sets the AcceptLanguage field's value.
21865func (s *UpdateProvisioningArtifactInput) SetAcceptLanguage(v string) *UpdateProvisioningArtifactInput {
21866	s.AcceptLanguage = &v
21867	return s
21868}
21869
21870// SetActive sets the Active field's value.
21871func (s *UpdateProvisioningArtifactInput) SetActive(v bool) *UpdateProvisioningArtifactInput {
21872	s.Active = &v
21873	return s
21874}
21875
21876// SetDescription sets the Description field's value.
21877func (s *UpdateProvisioningArtifactInput) SetDescription(v string) *UpdateProvisioningArtifactInput {
21878	s.Description = &v
21879	return s
21880}
21881
21882// SetGuidance sets the Guidance field's value.
21883func (s *UpdateProvisioningArtifactInput) SetGuidance(v string) *UpdateProvisioningArtifactInput {
21884	s.Guidance = &v
21885	return s
21886}
21887
21888// SetName sets the Name field's value.
21889func (s *UpdateProvisioningArtifactInput) SetName(v string) *UpdateProvisioningArtifactInput {
21890	s.Name = &v
21891	return s
21892}
21893
21894// SetProductId sets the ProductId field's value.
21895func (s *UpdateProvisioningArtifactInput) SetProductId(v string) *UpdateProvisioningArtifactInput {
21896	s.ProductId = &v
21897	return s
21898}
21899
21900// SetProvisioningArtifactId sets the ProvisioningArtifactId field's value.
21901func (s *UpdateProvisioningArtifactInput) SetProvisioningArtifactId(v string) *UpdateProvisioningArtifactInput {
21902	s.ProvisioningArtifactId = &v
21903	return s
21904}
21905
21906type UpdateProvisioningArtifactOutput struct {
21907	_ struct{} `type:"structure"`
21908
21909	// The URL of the CloudFormation template in Amazon S3.
21910	Info map[string]*string `min:"1" type:"map"`
21911
21912	// Information about the provisioning artifact.
21913	ProvisioningArtifactDetail *ProvisioningArtifactDetail `type:"structure"`
21914
21915	// The status of the current request.
21916	Status *string `type:"string" enum:"Status"`
21917}
21918
21919// String returns the string representation
21920func (s UpdateProvisioningArtifactOutput) String() string {
21921	return awsutil.Prettify(s)
21922}
21923
21924// GoString returns the string representation
21925func (s UpdateProvisioningArtifactOutput) GoString() string {
21926	return s.String()
21927}
21928
21929// SetInfo sets the Info field's value.
21930func (s *UpdateProvisioningArtifactOutput) SetInfo(v map[string]*string) *UpdateProvisioningArtifactOutput {
21931	s.Info = v
21932	return s
21933}
21934
21935// SetProvisioningArtifactDetail sets the ProvisioningArtifactDetail field's value.
21936func (s *UpdateProvisioningArtifactOutput) SetProvisioningArtifactDetail(v *ProvisioningArtifactDetail) *UpdateProvisioningArtifactOutput {
21937	s.ProvisioningArtifactDetail = v
21938	return s
21939}
21940
21941// SetStatus sets the Status field's value.
21942func (s *UpdateProvisioningArtifactOutput) SetStatus(v string) *UpdateProvisioningArtifactOutput {
21943	s.Status = &v
21944	return s
21945}
21946
21947// The parameter key-value pair used to update a provisioned product.
21948type UpdateProvisioningParameter struct {
21949	_ struct{} `type:"structure"`
21950
21951	// The parameter key.
21952	Key *string `min:"1" type:"string"`
21953
21954	// If set to true, Value is ignored and the previous parameter value is kept.
21955	UsePreviousValue *bool `type:"boolean"`
21956
21957	// The parameter value.
21958	Value *string `type:"string"`
21959}
21960
21961// String returns the string representation
21962func (s UpdateProvisioningParameter) String() string {
21963	return awsutil.Prettify(s)
21964}
21965
21966// GoString returns the string representation
21967func (s UpdateProvisioningParameter) GoString() string {
21968	return s.String()
21969}
21970
21971// Validate inspects the fields of the type to determine if they are valid.
21972func (s *UpdateProvisioningParameter) Validate() error {
21973	invalidParams := request.ErrInvalidParams{Context: "UpdateProvisioningParameter"}
21974	if s.Key != nil && len(*s.Key) < 1 {
21975		invalidParams.Add(request.NewErrParamMinLen("Key", 1))
21976	}
21977
21978	if invalidParams.Len() > 0 {
21979		return invalidParams
21980	}
21981	return nil
21982}
21983
21984// SetKey sets the Key field's value.
21985func (s *UpdateProvisioningParameter) SetKey(v string) *UpdateProvisioningParameter {
21986	s.Key = &v
21987	return s
21988}
21989
21990// SetUsePreviousValue sets the UsePreviousValue field's value.
21991func (s *UpdateProvisioningParameter) SetUsePreviousValue(v bool) *UpdateProvisioningParameter {
21992	s.UsePreviousValue = &v
21993	return s
21994}
21995
21996// SetValue sets the Value field's value.
21997func (s *UpdateProvisioningParameter) SetValue(v string) *UpdateProvisioningParameter {
21998	s.Value = &v
21999	return s
22000}
22001
22002// The user-defined preferences that will be applied when updating a provisioned
22003// product. Not all preferences are applicable to all provisioned product types.
22004type UpdateProvisioningPreferences struct {
22005	_ struct{} `type:"structure"`
22006
22007	// One or more AWS accounts that will have access to the provisioned product.
22008	//
22009	// Applicable only to a CFN_STACKSET provisioned product type.
22010	//
22011	// The AWS accounts specified should be within the list of accounts in the STACKSET
22012	// constraint. To get the list of accounts in the STACKSET constraint, use the
22013	// DescribeProvisioningParameters operation.
22014	//
22015	// If no values are specified, the default value is all accounts from the STACKSET
22016	// constraint.
22017	StackSetAccounts []*string `type:"list"`
22018
22019	// The number of accounts, per region, for which this operation can fail before
22020	// AWS Service Catalog stops the operation in that region. If the operation
22021	// is stopped in a region, AWS Service Catalog doesn't attempt the operation
22022	// in any subsequent regions.
22023	//
22024	// Applicable only to a CFN_STACKSET provisioned product type.
22025	//
22026	// Conditional: You must specify either StackSetFailureToleranceCount or StackSetFailureTolerancePercentage,
22027	// but not both.
22028	//
22029	// The default value is 0 if no value is specified.
22030	StackSetFailureToleranceCount *int64 `type:"integer"`
22031
22032	// The percentage of accounts, per region, for which this stack operation can
22033	// fail before AWS Service Catalog stops the operation in that region. If the
22034	// operation is stopped in a region, AWS Service Catalog doesn't attempt the
22035	// operation in any subsequent regions.
22036	//
22037	// When calculating the number of accounts based on the specified percentage,
22038	// AWS Service Catalog rounds down to the next whole number.
22039	//
22040	// Applicable only to a CFN_STACKSET provisioned product type.
22041	//
22042	// Conditional: You must specify either StackSetFailureToleranceCount or StackSetFailureTolerancePercentage,
22043	// but not both.
22044	StackSetFailureTolerancePercentage *int64 `type:"integer"`
22045
22046	// The maximum number of accounts in which to perform this operation at one
22047	// time. This is dependent on the value of StackSetFailureToleranceCount. StackSetMaxConcurrentCount
22048	// is at most one more than the StackSetFailureToleranceCount.
22049	//
22050	// Note that this setting lets you specify the maximum for operations. For large
22051	// deployments, under certain circumstances the actual number of accounts acted
22052	// upon concurrently may be lower due to service throttling.
22053	//
22054	// Applicable only to a CFN_STACKSET provisioned product type.
22055	//
22056	// Conditional: You must specify either StackSetMaxConcurrentCount or StackSetMaxConcurrentPercentage,
22057	// but not both.
22058	StackSetMaxConcurrencyCount *int64 `min:"1" type:"integer"`
22059
22060	// The maximum percentage of accounts in which to perform this operation at
22061	// one time.
22062	//
22063	// When calculating the number of accounts based on the specified percentage,
22064	// AWS Service Catalog rounds down to the next whole number. This is true except
22065	// in cases where rounding down would result is zero. In this case, AWS Service
22066	// Catalog sets the number as 1 instead.
22067	//
22068	// Note that this setting lets you specify the maximum for operations. For large
22069	// deployments, under certain circumstances the actual number of accounts acted
22070	// upon concurrently may be lower due to service throttling.
22071	//
22072	// Applicable only to a CFN_STACKSET provisioned product type.
22073	//
22074	// Conditional: You must specify either StackSetMaxConcurrentCount or StackSetMaxConcurrentPercentage,
22075	// but not both.
22076	StackSetMaxConcurrencyPercentage *int64 `min:"1" type:"integer"`
22077
22078	// Determines what action AWS Service Catalog performs to a stack set or a stack
22079	// instance represented by the provisioned product. The default value is UPDATE
22080	// if nothing is specified.
22081	//
22082	// Applicable only to a CFN_STACKSET provisioned product type.
22083	//
22084	// CREATE
22085	//
22086	// Creates a new stack instance in the stack set represented by the provisioned
22087	// product. In this case, only new stack instances are created based on accounts
22088	// and regions; if new ProductId or ProvisioningArtifactID are passed, they
22089	// will be ignored.
22090	//
22091	// UPDATE
22092	//
22093	// Updates the stack set represented by the provisioned product and also its
22094	// stack instances.
22095	//
22096	// DELETE
22097	//
22098	// Deletes a stack instance in the stack set represented by the provisioned
22099	// product.
22100	StackSetOperationType *string `type:"string" enum:"StackSetOperationType"`
22101
22102	// One or more AWS Regions where the provisioned product will be available.
22103	//
22104	// Applicable only to a CFN_STACKSET provisioned product type.
22105	//
22106	// The specified regions should be within the list of regions from the STACKSET
22107	// constraint. To get the list of regions in the STACKSET constraint, use the
22108	// DescribeProvisioningParameters operation.
22109	//
22110	// If no values are specified, the default value is all regions from the STACKSET
22111	// constraint.
22112	StackSetRegions []*string `type:"list"`
22113}
22114
22115// String returns the string representation
22116func (s UpdateProvisioningPreferences) String() string {
22117	return awsutil.Prettify(s)
22118}
22119
22120// GoString returns the string representation
22121func (s UpdateProvisioningPreferences) GoString() string {
22122	return s.String()
22123}
22124
22125// Validate inspects the fields of the type to determine if they are valid.
22126func (s *UpdateProvisioningPreferences) Validate() error {
22127	invalidParams := request.ErrInvalidParams{Context: "UpdateProvisioningPreferences"}
22128	if s.StackSetMaxConcurrencyCount != nil && *s.StackSetMaxConcurrencyCount < 1 {
22129		invalidParams.Add(request.NewErrParamMinValue("StackSetMaxConcurrencyCount", 1))
22130	}
22131	if s.StackSetMaxConcurrencyPercentage != nil && *s.StackSetMaxConcurrencyPercentage < 1 {
22132		invalidParams.Add(request.NewErrParamMinValue("StackSetMaxConcurrencyPercentage", 1))
22133	}
22134
22135	if invalidParams.Len() > 0 {
22136		return invalidParams
22137	}
22138	return nil
22139}
22140
22141// SetStackSetAccounts sets the StackSetAccounts field's value.
22142func (s *UpdateProvisioningPreferences) SetStackSetAccounts(v []*string) *UpdateProvisioningPreferences {
22143	s.StackSetAccounts = v
22144	return s
22145}
22146
22147// SetStackSetFailureToleranceCount sets the StackSetFailureToleranceCount field's value.
22148func (s *UpdateProvisioningPreferences) SetStackSetFailureToleranceCount(v int64) *UpdateProvisioningPreferences {
22149	s.StackSetFailureToleranceCount = &v
22150	return s
22151}
22152
22153// SetStackSetFailureTolerancePercentage sets the StackSetFailureTolerancePercentage field's value.
22154func (s *UpdateProvisioningPreferences) SetStackSetFailureTolerancePercentage(v int64) *UpdateProvisioningPreferences {
22155	s.StackSetFailureTolerancePercentage = &v
22156	return s
22157}
22158
22159// SetStackSetMaxConcurrencyCount sets the StackSetMaxConcurrencyCount field's value.
22160func (s *UpdateProvisioningPreferences) SetStackSetMaxConcurrencyCount(v int64) *UpdateProvisioningPreferences {
22161	s.StackSetMaxConcurrencyCount = &v
22162	return s
22163}
22164
22165// SetStackSetMaxConcurrencyPercentage sets the StackSetMaxConcurrencyPercentage field's value.
22166func (s *UpdateProvisioningPreferences) SetStackSetMaxConcurrencyPercentage(v int64) *UpdateProvisioningPreferences {
22167	s.StackSetMaxConcurrencyPercentage = &v
22168	return s
22169}
22170
22171// SetStackSetOperationType sets the StackSetOperationType field's value.
22172func (s *UpdateProvisioningPreferences) SetStackSetOperationType(v string) *UpdateProvisioningPreferences {
22173	s.StackSetOperationType = &v
22174	return s
22175}
22176
22177// SetStackSetRegions sets the StackSetRegions field's value.
22178func (s *UpdateProvisioningPreferences) SetStackSetRegions(v []*string) *UpdateProvisioningPreferences {
22179	s.StackSetRegions = v
22180	return s
22181}
22182
22183type UpdateServiceActionInput struct {
22184	_ struct{} `type:"structure"`
22185
22186	// The language code.
22187	//
22188	//    * en - English (default)
22189	//
22190	//    * jp - Japanese
22191	//
22192	//    * zh - Chinese
22193	AcceptLanguage *string `type:"string"`
22194
22195	// A map that defines the self-service action.
22196	Definition map[string]*string `min:"1" type:"map"`
22197
22198	// The self-service action description.
22199	Description *string `type:"string"`
22200
22201	// The self-service action identifier.
22202	//
22203	// Id is a required field
22204	Id *string `min:"1" type:"string" required:"true"`
22205
22206	// The self-service action name.
22207	Name *string `min:"1" type:"string"`
22208}
22209
22210// String returns the string representation
22211func (s UpdateServiceActionInput) String() string {
22212	return awsutil.Prettify(s)
22213}
22214
22215// GoString returns the string representation
22216func (s UpdateServiceActionInput) GoString() string {
22217	return s.String()
22218}
22219
22220// Validate inspects the fields of the type to determine if they are valid.
22221func (s *UpdateServiceActionInput) Validate() error {
22222	invalidParams := request.ErrInvalidParams{Context: "UpdateServiceActionInput"}
22223	if s.Definition != nil && len(s.Definition) < 1 {
22224		invalidParams.Add(request.NewErrParamMinLen("Definition", 1))
22225	}
22226	if s.Id == nil {
22227		invalidParams.Add(request.NewErrParamRequired("Id"))
22228	}
22229	if s.Id != nil && len(*s.Id) < 1 {
22230		invalidParams.Add(request.NewErrParamMinLen("Id", 1))
22231	}
22232	if s.Name != nil && len(*s.Name) < 1 {
22233		invalidParams.Add(request.NewErrParamMinLen("Name", 1))
22234	}
22235
22236	if invalidParams.Len() > 0 {
22237		return invalidParams
22238	}
22239	return nil
22240}
22241
22242// SetAcceptLanguage sets the AcceptLanguage field's value.
22243func (s *UpdateServiceActionInput) SetAcceptLanguage(v string) *UpdateServiceActionInput {
22244	s.AcceptLanguage = &v
22245	return s
22246}
22247
22248// SetDefinition sets the Definition field's value.
22249func (s *UpdateServiceActionInput) SetDefinition(v map[string]*string) *UpdateServiceActionInput {
22250	s.Definition = v
22251	return s
22252}
22253
22254// SetDescription sets the Description field's value.
22255func (s *UpdateServiceActionInput) SetDescription(v string) *UpdateServiceActionInput {
22256	s.Description = &v
22257	return s
22258}
22259
22260// SetId sets the Id field's value.
22261func (s *UpdateServiceActionInput) SetId(v string) *UpdateServiceActionInput {
22262	s.Id = &v
22263	return s
22264}
22265
22266// SetName sets the Name field's value.
22267func (s *UpdateServiceActionInput) SetName(v string) *UpdateServiceActionInput {
22268	s.Name = &v
22269	return s
22270}
22271
22272type UpdateServiceActionOutput struct {
22273	_ struct{} `type:"structure"`
22274
22275	// Detailed information about the self-service action.
22276	ServiceActionDetail *ServiceActionDetail `type:"structure"`
22277}
22278
22279// String returns the string representation
22280func (s UpdateServiceActionOutput) String() string {
22281	return awsutil.Prettify(s)
22282}
22283
22284// GoString returns the string representation
22285func (s UpdateServiceActionOutput) GoString() string {
22286	return s.String()
22287}
22288
22289// SetServiceActionDetail sets the ServiceActionDetail field's value.
22290func (s *UpdateServiceActionOutput) SetServiceActionDetail(v *ServiceActionDetail) *UpdateServiceActionOutput {
22291	s.ServiceActionDetail = v
22292	return s
22293}
22294
22295type UpdateTagOptionInput struct {
22296	_ struct{} `type:"structure"`
22297
22298	// The updated active state.
22299	Active *bool `type:"boolean"`
22300
22301	// The TagOption identifier.
22302	//
22303	// Id is a required field
22304	Id *string `min:"1" type:"string" required:"true"`
22305
22306	// The updated value.
22307	Value *string `min:"1" type:"string"`
22308}
22309
22310// String returns the string representation
22311func (s UpdateTagOptionInput) String() string {
22312	return awsutil.Prettify(s)
22313}
22314
22315// GoString returns the string representation
22316func (s UpdateTagOptionInput) GoString() string {
22317	return s.String()
22318}
22319
22320// Validate inspects the fields of the type to determine if they are valid.
22321func (s *UpdateTagOptionInput) Validate() error {
22322	invalidParams := request.ErrInvalidParams{Context: "UpdateTagOptionInput"}
22323	if s.Id == nil {
22324		invalidParams.Add(request.NewErrParamRequired("Id"))
22325	}
22326	if s.Id != nil && len(*s.Id) < 1 {
22327		invalidParams.Add(request.NewErrParamMinLen("Id", 1))
22328	}
22329	if s.Value != nil && len(*s.Value) < 1 {
22330		invalidParams.Add(request.NewErrParamMinLen("Value", 1))
22331	}
22332
22333	if invalidParams.Len() > 0 {
22334		return invalidParams
22335	}
22336	return nil
22337}
22338
22339// SetActive sets the Active field's value.
22340func (s *UpdateTagOptionInput) SetActive(v bool) *UpdateTagOptionInput {
22341	s.Active = &v
22342	return s
22343}
22344
22345// SetId sets the Id field's value.
22346func (s *UpdateTagOptionInput) SetId(v string) *UpdateTagOptionInput {
22347	s.Id = &v
22348	return s
22349}
22350
22351// SetValue sets the Value field's value.
22352func (s *UpdateTagOptionInput) SetValue(v string) *UpdateTagOptionInput {
22353	s.Value = &v
22354	return s
22355}
22356
22357type UpdateTagOptionOutput struct {
22358	_ struct{} `type:"structure"`
22359
22360	// Information about the TagOption.
22361	TagOptionDetail *TagOptionDetail `type:"structure"`
22362}
22363
22364// String returns the string representation
22365func (s UpdateTagOptionOutput) String() string {
22366	return awsutil.Prettify(s)
22367}
22368
22369// GoString returns the string representation
22370func (s UpdateTagOptionOutput) GoString() string {
22371	return s.String()
22372}
22373
22374// SetTagOptionDetail sets the TagOptionDetail field's value.
22375func (s *UpdateTagOptionOutput) SetTagOptionDetail(v *TagOptionDetail) *UpdateTagOptionOutput {
22376	s.TagOptionDetail = v
22377	return s
22378}
22379
22380// Additional information provided by the administrator.
22381type UsageInstruction struct {
22382	_ struct{} `type:"structure"`
22383
22384	// The usage instruction type for the value.
22385	Type *string `type:"string"`
22386
22387	// The usage instruction value for this type.
22388	Value *string `type:"string"`
22389}
22390
22391// String returns the string representation
22392func (s UsageInstruction) String() string {
22393	return awsutil.Prettify(s)
22394}
22395
22396// GoString returns the string representation
22397func (s UsageInstruction) GoString() string {
22398	return s.String()
22399}
22400
22401// SetType sets the Type field's value.
22402func (s *UsageInstruction) SetType(v string) *UsageInstruction {
22403	s.Type = &v
22404	return s
22405}
22406
22407// SetValue sets the Value field's value.
22408func (s *UsageInstruction) SetValue(v string) *UsageInstruction {
22409	s.Value = &v
22410	return s
22411}
22412
22413const (
22414	// AccessLevelFilterKeyAccount is a AccessLevelFilterKey enum value
22415	AccessLevelFilterKeyAccount = "Account"
22416
22417	// AccessLevelFilterKeyRole is a AccessLevelFilterKey enum value
22418	AccessLevelFilterKeyRole = "Role"
22419
22420	// AccessLevelFilterKeyUser is a AccessLevelFilterKey enum value
22421	AccessLevelFilterKeyUser = "User"
22422)
22423
22424// AccessLevelFilterKey_Values returns all elements of the AccessLevelFilterKey enum
22425func AccessLevelFilterKey_Values() []string {
22426	return []string{
22427		AccessLevelFilterKeyAccount,
22428		AccessLevelFilterKeyRole,
22429		AccessLevelFilterKeyUser,
22430	}
22431}
22432
22433const (
22434	// AccessStatusEnabled is a AccessStatus enum value
22435	AccessStatusEnabled = "ENABLED"
22436
22437	// AccessStatusUnderChange is a AccessStatus enum value
22438	AccessStatusUnderChange = "UNDER_CHANGE"
22439
22440	// AccessStatusDisabled is a AccessStatus enum value
22441	AccessStatusDisabled = "DISABLED"
22442)
22443
22444// AccessStatus_Values returns all elements of the AccessStatus enum
22445func AccessStatus_Values() []string {
22446	return []string{
22447		AccessStatusEnabled,
22448		AccessStatusUnderChange,
22449		AccessStatusDisabled,
22450	}
22451}
22452
22453const (
22454	// ChangeActionAdd is a ChangeAction enum value
22455	ChangeActionAdd = "ADD"
22456
22457	// ChangeActionModify is a ChangeAction enum value
22458	ChangeActionModify = "MODIFY"
22459
22460	// ChangeActionRemove is a ChangeAction enum value
22461	ChangeActionRemove = "REMOVE"
22462)
22463
22464// ChangeAction_Values returns all elements of the ChangeAction enum
22465func ChangeAction_Values() []string {
22466	return []string{
22467		ChangeActionAdd,
22468		ChangeActionModify,
22469		ChangeActionRemove,
22470	}
22471}
22472
22473const (
22474	// CopyOptionCopyTags is a CopyOption enum value
22475	CopyOptionCopyTags = "CopyTags"
22476)
22477
22478// CopyOption_Values returns all elements of the CopyOption enum
22479func CopyOption_Values() []string {
22480	return []string{
22481		CopyOptionCopyTags,
22482	}
22483}
22484
22485const (
22486	// CopyProductStatusSucceeded is a CopyProductStatus enum value
22487	CopyProductStatusSucceeded = "SUCCEEDED"
22488
22489	// CopyProductStatusInProgress is a CopyProductStatus enum value
22490	CopyProductStatusInProgress = "IN_PROGRESS"
22491
22492	// CopyProductStatusFailed is a CopyProductStatus enum value
22493	CopyProductStatusFailed = "FAILED"
22494)
22495
22496// CopyProductStatus_Values returns all elements of the CopyProductStatus enum
22497func CopyProductStatus_Values() []string {
22498	return []string{
22499		CopyProductStatusSucceeded,
22500		CopyProductStatusInProgress,
22501		CopyProductStatusFailed,
22502	}
22503}
22504
22505const (
22506	// DescribePortfolioShareTypeAccount is a DescribePortfolioShareType enum value
22507	DescribePortfolioShareTypeAccount = "ACCOUNT"
22508
22509	// DescribePortfolioShareTypeOrganization is a DescribePortfolioShareType enum value
22510	DescribePortfolioShareTypeOrganization = "ORGANIZATION"
22511
22512	// DescribePortfolioShareTypeOrganizationalUnit is a DescribePortfolioShareType enum value
22513	DescribePortfolioShareTypeOrganizationalUnit = "ORGANIZATIONAL_UNIT"
22514
22515	// DescribePortfolioShareTypeOrganizationMemberAccount is a DescribePortfolioShareType enum value
22516	DescribePortfolioShareTypeOrganizationMemberAccount = "ORGANIZATION_MEMBER_ACCOUNT"
22517)
22518
22519// DescribePortfolioShareType_Values returns all elements of the DescribePortfolioShareType enum
22520func DescribePortfolioShareType_Values() []string {
22521	return []string{
22522		DescribePortfolioShareTypeAccount,
22523		DescribePortfolioShareTypeOrganization,
22524		DescribePortfolioShareTypeOrganizationalUnit,
22525		DescribePortfolioShareTypeOrganizationMemberAccount,
22526	}
22527}
22528
22529const (
22530	// EvaluationTypeStatic is a EvaluationType enum value
22531	EvaluationTypeStatic = "STATIC"
22532
22533	// EvaluationTypeDynamic is a EvaluationType enum value
22534	EvaluationTypeDynamic = "DYNAMIC"
22535)
22536
22537// EvaluationType_Values returns all elements of the EvaluationType enum
22538func EvaluationType_Values() []string {
22539	return []string{
22540		EvaluationTypeStatic,
22541		EvaluationTypeDynamic,
22542	}
22543}
22544
22545const (
22546	// OrganizationNodeTypeOrganization is a OrganizationNodeType enum value
22547	OrganizationNodeTypeOrganization = "ORGANIZATION"
22548
22549	// OrganizationNodeTypeOrganizationalUnit is a OrganizationNodeType enum value
22550	OrganizationNodeTypeOrganizationalUnit = "ORGANIZATIONAL_UNIT"
22551
22552	// OrganizationNodeTypeAccount is a OrganizationNodeType enum value
22553	OrganizationNodeTypeAccount = "ACCOUNT"
22554)
22555
22556// OrganizationNodeType_Values returns all elements of the OrganizationNodeType enum
22557func OrganizationNodeType_Values() []string {
22558	return []string{
22559		OrganizationNodeTypeOrganization,
22560		OrganizationNodeTypeOrganizationalUnit,
22561		OrganizationNodeTypeAccount,
22562	}
22563}
22564
22565const (
22566	// PortfolioShareTypeImported is a PortfolioShareType enum value
22567	PortfolioShareTypeImported = "IMPORTED"
22568
22569	// PortfolioShareTypeAwsServicecatalog is a PortfolioShareType enum value
22570	PortfolioShareTypeAwsServicecatalog = "AWS_SERVICECATALOG"
22571
22572	// PortfolioShareTypeAwsOrganizations is a PortfolioShareType enum value
22573	PortfolioShareTypeAwsOrganizations = "AWS_ORGANIZATIONS"
22574)
22575
22576// PortfolioShareType_Values returns all elements of the PortfolioShareType enum
22577func PortfolioShareType_Values() []string {
22578	return []string{
22579		PortfolioShareTypeImported,
22580		PortfolioShareTypeAwsServicecatalog,
22581		PortfolioShareTypeAwsOrganizations,
22582	}
22583}
22584
22585const (
22586	// PrincipalTypeIam is a PrincipalType enum value
22587	PrincipalTypeIam = "IAM"
22588)
22589
22590// PrincipalType_Values returns all elements of the PrincipalType enum
22591func PrincipalType_Values() []string {
22592	return []string{
22593		PrincipalTypeIam,
22594	}
22595}
22596
22597const (
22598	// ProductSourceAccount is a ProductSource enum value
22599	ProductSourceAccount = "ACCOUNT"
22600)
22601
22602// ProductSource_Values returns all elements of the ProductSource enum
22603func ProductSource_Values() []string {
22604	return []string{
22605		ProductSourceAccount,
22606	}
22607}
22608
22609const (
22610	// ProductTypeCloudFormationTemplate is a ProductType enum value
22611	ProductTypeCloudFormationTemplate = "CLOUD_FORMATION_TEMPLATE"
22612
22613	// ProductTypeMarketplace is a ProductType enum value
22614	ProductTypeMarketplace = "MARKETPLACE"
22615)
22616
22617// ProductType_Values returns all elements of the ProductType enum
22618func ProductType_Values() []string {
22619	return []string{
22620		ProductTypeCloudFormationTemplate,
22621		ProductTypeMarketplace,
22622	}
22623}
22624
22625const (
22626	// ProductViewFilterByFullTextSearch is a ProductViewFilterBy enum value
22627	ProductViewFilterByFullTextSearch = "FullTextSearch"
22628
22629	// ProductViewFilterByOwner is a ProductViewFilterBy enum value
22630	ProductViewFilterByOwner = "Owner"
22631
22632	// ProductViewFilterByProductType is a ProductViewFilterBy enum value
22633	ProductViewFilterByProductType = "ProductType"
22634
22635	// ProductViewFilterBySourceProductId is a ProductViewFilterBy enum value
22636	ProductViewFilterBySourceProductId = "SourceProductId"
22637)
22638
22639// ProductViewFilterBy_Values returns all elements of the ProductViewFilterBy enum
22640func ProductViewFilterBy_Values() []string {
22641	return []string{
22642		ProductViewFilterByFullTextSearch,
22643		ProductViewFilterByOwner,
22644		ProductViewFilterByProductType,
22645		ProductViewFilterBySourceProductId,
22646	}
22647}
22648
22649const (
22650	// ProductViewSortByTitle is a ProductViewSortBy enum value
22651	ProductViewSortByTitle = "Title"
22652
22653	// ProductViewSortByVersionCount is a ProductViewSortBy enum value
22654	ProductViewSortByVersionCount = "VersionCount"
22655
22656	// ProductViewSortByCreationDate is a ProductViewSortBy enum value
22657	ProductViewSortByCreationDate = "CreationDate"
22658)
22659
22660// ProductViewSortBy_Values returns all elements of the ProductViewSortBy enum
22661func ProductViewSortBy_Values() []string {
22662	return []string{
22663		ProductViewSortByTitle,
22664		ProductViewSortByVersionCount,
22665		ProductViewSortByCreationDate,
22666	}
22667}
22668
22669const (
22670	// PropertyKeyOwner is a PropertyKey enum value
22671	PropertyKeyOwner = "OWNER"
22672
22673	// PropertyKeyLaunchRole is a PropertyKey enum value
22674	PropertyKeyLaunchRole = "LAUNCH_ROLE"
22675)
22676
22677// PropertyKey_Values returns all elements of the PropertyKey enum
22678func PropertyKey_Values() []string {
22679	return []string{
22680		PropertyKeyOwner,
22681		PropertyKeyLaunchRole,
22682	}
22683}
22684
22685const (
22686	// ProvisionedProductPlanStatusCreateInProgress is a ProvisionedProductPlanStatus enum value
22687	ProvisionedProductPlanStatusCreateInProgress = "CREATE_IN_PROGRESS"
22688
22689	// ProvisionedProductPlanStatusCreateSuccess is a ProvisionedProductPlanStatus enum value
22690	ProvisionedProductPlanStatusCreateSuccess = "CREATE_SUCCESS"
22691
22692	// ProvisionedProductPlanStatusCreateFailed is a ProvisionedProductPlanStatus enum value
22693	ProvisionedProductPlanStatusCreateFailed = "CREATE_FAILED"
22694
22695	// ProvisionedProductPlanStatusExecuteInProgress is a ProvisionedProductPlanStatus enum value
22696	ProvisionedProductPlanStatusExecuteInProgress = "EXECUTE_IN_PROGRESS"
22697
22698	// ProvisionedProductPlanStatusExecuteSuccess is a ProvisionedProductPlanStatus enum value
22699	ProvisionedProductPlanStatusExecuteSuccess = "EXECUTE_SUCCESS"
22700
22701	// ProvisionedProductPlanStatusExecuteFailed is a ProvisionedProductPlanStatus enum value
22702	ProvisionedProductPlanStatusExecuteFailed = "EXECUTE_FAILED"
22703)
22704
22705// ProvisionedProductPlanStatus_Values returns all elements of the ProvisionedProductPlanStatus enum
22706func ProvisionedProductPlanStatus_Values() []string {
22707	return []string{
22708		ProvisionedProductPlanStatusCreateInProgress,
22709		ProvisionedProductPlanStatusCreateSuccess,
22710		ProvisionedProductPlanStatusCreateFailed,
22711		ProvisionedProductPlanStatusExecuteInProgress,
22712		ProvisionedProductPlanStatusExecuteSuccess,
22713		ProvisionedProductPlanStatusExecuteFailed,
22714	}
22715}
22716
22717const (
22718	// ProvisionedProductPlanTypeCloudformation is a ProvisionedProductPlanType enum value
22719	ProvisionedProductPlanTypeCloudformation = "CLOUDFORMATION"
22720)
22721
22722// ProvisionedProductPlanType_Values returns all elements of the ProvisionedProductPlanType enum
22723func ProvisionedProductPlanType_Values() []string {
22724	return []string{
22725		ProvisionedProductPlanTypeCloudformation,
22726	}
22727}
22728
22729const (
22730	// ProvisionedProductStatusAvailable is a ProvisionedProductStatus enum value
22731	ProvisionedProductStatusAvailable = "AVAILABLE"
22732
22733	// ProvisionedProductStatusUnderChange is a ProvisionedProductStatus enum value
22734	ProvisionedProductStatusUnderChange = "UNDER_CHANGE"
22735
22736	// ProvisionedProductStatusTainted is a ProvisionedProductStatus enum value
22737	ProvisionedProductStatusTainted = "TAINTED"
22738
22739	// ProvisionedProductStatusError is a ProvisionedProductStatus enum value
22740	ProvisionedProductStatusError = "ERROR"
22741
22742	// ProvisionedProductStatusPlanInProgress is a ProvisionedProductStatus enum value
22743	ProvisionedProductStatusPlanInProgress = "PLAN_IN_PROGRESS"
22744)
22745
22746// ProvisionedProductStatus_Values returns all elements of the ProvisionedProductStatus enum
22747func ProvisionedProductStatus_Values() []string {
22748	return []string{
22749		ProvisionedProductStatusAvailable,
22750		ProvisionedProductStatusUnderChange,
22751		ProvisionedProductStatusTainted,
22752		ProvisionedProductStatusError,
22753		ProvisionedProductStatusPlanInProgress,
22754	}
22755}
22756
22757const (
22758	// ProvisionedProductViewFilterBySearchQuery is a ProvisionedProductViewFilterBy enum value
22759	ProvisionedProductViewFilterBySearchQuery = "SearchQuery"
22760)
22761
22762// ProvisionedProductViewFilterBy_Values returns all elements of the ProvisionedProductViewFilterBy enum
22763func ProvisionedProductViewFilterBy_Values() []string {
22764	return []string{
22765		ProvisionedProductViewFilterBySearchQuery,
22766	}
22767}
22768
22769const (
22770	// ProvisioningArtifactGuidanceDefault is a ProvisioningArtifactGuidance enum value
22771	ProvisioningArtifactGuidanceDefault = "DEFAULT"
22772
22773	// ProvisioningArtifactGuidanceDeprecated is a ProvisioningArtifactGuidance enum value
22774	ProvisioningArtifactGuidanceDeprecated = "DEPRECATED"
22775)
22776
22777// ProvisioningArtifactGuidance_Values returns all elements of the ProvisioningArtifactGuidance enum
22778func ProvisioningArtifactGuidance_Values() []string {
22779	return []string{
22780		ProvisioningArtifactGuidanceDefault,
22781		ProvisioningArtifactGuidanceDeprecated,
22782	}
22783}
22784
22785const (
22786	// ProvisioningArtifactPropertyNameId is a ProvisioningArtifactPropertyName enum value
22787	ProvisioningArtifactPropertyNameId = "Id"
22788)
22789
22790// ProvisioningArtifactPropertyName_Values returns all elements of the ProvisioningArtifactPropertyName enum
22791func ProvisioningArtifactPropertyName_Values() []string {
22792	return []string{
22793		ProvisioningArtifactPropertyNameId,
22794	}
22795}
22796
22797const (
22798	// ProvisioningArtifactTypeCloudFormationTemplate is a ProvisioningArtifactType enum value
22799	ProvisioningArtifactTypeCloudFormationTemplate = "CLOUD_FORMATION_TEMPLATE"
22800
22801	// ProvisioningArtifactTypeMarketplaceAmi is a ProvisioningArtifactType enum value
22802	ProvisioningArtifactTypeMarketplaceAmi = "MARKETPLACE_AMI"
22803
22804	// ProvisioningArtifactTypeMarketplaceCar is a ProvisioningArtifactType enum value
22805	ProvisioningArtifactTypeMarketplaceCar = "MARKETPLACE_CAR"
22806)
22807
22808// ProvisioningArtifactType_Values returns all elements of the ProvisioningArtifactType enum
22809func ProvisioningArtifactType_Values() []string {
22810	return []string{
22811		ProvisioningArtifactTypeCloudFormationTemplate,
22812		ProvisioningArtifactTypeMarketplaceAmi,
22813		ProvisioningArtifactTypeMarketplaceCar,
22814	}
22815}
22816
22817const (
22818	// RecordStatusCreated is a RecordStatus enum value
22819	RecordStatusCreated = "CREATED"
22820
22821	// RecordStatusInProgress is a RecordStatus enum value
22822	RecordStatusInProgress = "IN_PROGRESS"
22823
22824	// RecordStatusInProgressInError is a RecordStatus enum value
22825	RecordStatusInProgressInError = "IN_PROGRESS_IN_ERROR"
22826
22827	// RecordStatusSucceeded is a RecordStatus enum value
22828	RecordStatusSucceeded = "SUCCEEDED"
22829
22830	// RecordStatusFailed is a RecordStatus enum value
22831	RecordStatusFailed = "FAILED"
22832)
22833
22834// RecordStatus_Values returns all elements of the RecordStatus enum
22835func RecordStatus_Values() []string {
22836	return []string{
22837		RecordStatusCreated,
22838		RecordStatusInProgress,
22839		RecordStatusInProgressInError,
22840		RecordStatusSucceeded,
22841		RecordStatusFailed,
22842	}
22843}
22844
22845const (
22846	// ReplacementTrue is a Replacement enum value
22847	ReplacementTrue = "TRUE"
22848
22849	// ReplacementFalse is a Replacement enum value
22850	ReplacementFalse = "FALSE"
22851
22852	// ReplacementConditional is a Replacement enum value
22853	ReplacementConditional = "CONDITIONAL"
22854)
22855
22856// Replacement_Values returns all elements of the Replacement enum
22857func Replacement_Values() []string {
22858	return []string{
22859		ReplacementTrue,
22860		ReplacementFalse,
22861		ReplacementConditional,
22862	}
22863}
22864
22865const (
22866	// RequiresRecreationNever is a RequiresRecreation enum value
22867	RequiresRecreationNever = "NEVER"
22868
22869	// RequiresRecreationConditionally is a RequiresRecreation enum value
22870	RequiresRecreationConditionally = "CONDITIONALLY"
22871
22872	// RequiresRecreationAlways is a RequiresRecreation enum value
22873	RequiresRecreationAlways = "ALWAYS"
22874)
22875
22876// RequiresRecreation_Values returns all elements of the RequiresRecreation enum
22877func RequiresRecreation_Values() []string {
22878	return []string{
22879		RequiresRecreationNever,
22880		RequiresRecreationConditionally,
22881		RequiresRecreationAlways,
22882	}
22883}
22884
22885const (
22886	// ResourceAttributeProperties is a ResourceAttribute enum value
22887	ResourceAttributeProperties = "PROPERTIES"
22888
22889	// ResourceAttributeMetadata is a ResourceAttribute enum value
22890	ResourceAttributeMetadata = "METADATA"
22891
22892	// ResourceAttributeCreationpolicy is a ResourceAttribute enum value
22893	ResourceAttributeCreationpolicy = "CREATIONPOLICY"
22894
22895	// ResourceAttributeUpdatepolicy is a ResourceAttribute enum value
22896	ResourceAttributeUpdatepolicy = "UPDATEPOLICY"
22897
22898	// ResourceAttributeDeletionpolicy is a ResourceAttribute enum value
22899	ResourceAttributeDeletionpolicy = "DELETIONPOLICY"
22900
22901	// ResourceAttributeTags is a ResourceAttribute enum value
22902	ResourceAttributeTags = "TAGS"
22903)
22904
22905// ResourceAttribute_Values returns all elements of the ResourceAttribute enum
22906func ResourceAttribute_Values() []string {
22907	return []string{
22908		ResourceAttributeProperties,
22909		ResourceAttributeMetadata,
22910		ResourceAttributeCreationpolicy,
22911		ResourceAttributeUpdatepolicy,
22912		ResourceAttributeDeletionpolicy,
22913		ResourceAttributeTags,
22914	}
22915}
22916
22917const (
22918	// ServiceActionAssociationErrorCodeDuplicateResource is a ServiceActionAssociationErrorCode enum value
22919	ServiceActionAssociationErrorCodeDuplicateResource = "DUPLICATE_RESOURCE"
22920
22921	// ServiceActionAssociationErrorCodeInternalFailure is a ServiceActionAssociationErrorCode enum value
22922	ServiceActionAssociationErrorCodeInternalFailure = "INTERNAL_FAILURE"
22923
22924	// ServiceActionAssociationErrorCodeLimitExceeded is a ServiceActionAssociationErrorCode enum value
22925	ServiceActionAssociationErrorCodeLimitExceeded = "LIMIT_EXCEEDED"
22926
22927	// ServiceActionAssociationErrorCodeResourceNotFound is a ServiceActionAssociationErrorCode enum value
22928	ServiceActionAssociationErrorCodeResourceNotFound = "RESOURCE_NOT_FOUND"
22929
22930	// ServiceActionAssociationErrorCodeThrottling is a ServiceActionAssociationErrorCode enum value
22931	ServiceActionAssociationErrorCodeThrottling = "THROTTLING"
22932)
22933
22934// ServiceActionAssociationErrorCode_Values returns all elements of the ServiceActionAssociationErrorCode enum
22935func ServiceActionAssociationErrorCode_Values() []string {
22936	return []string{
22937		ServiceActionAssociationErrorCodeDuplicateResource,
22938		ServiceActionAssociationErrorCodeInternalFailure,
22939		ServiceActionAssociationErrorCodeLimitExceeded,
22940		ServiceActionAssociationErrorCodeResourceNotFound,
22941		ServiceActionAssociationErrorCodeThrottling,
22942	}
22943}
22944
22945const (
22946	// ServiceActionDefinitionKeyName is a ServiceActionDefinitionKey enum value
22947	ServiceActionDefinitionKeyName = "Name"
22948
22949	// ServiceActionDefinitionKeyVersion is a ServiceActionDefinitionKey enum value
22950	ServiceActionDefinitionKeyVersion = "Version"
22951
22952	// ServiceActionDefinitionKeyAssumeRole is a ServiceActionDefinitionKey enum value
22953	ServiceActionDefinitionKeyAssumeRole = "AssumeRole"
22954
22955	// ServiceActionDefinitionKeyParameters is a ServiceActionDefinitionKey enum value
22956	ServiceActionDefinitionKeyParameters = "Parameters"
22957)
22958
22959// ServiceActionDefinitionKey_Values returns all elements of the ServiceActionDefinitionKey enum
22960func ServiceActionDefinitionKey_Values() []string {
22961	return []string{
22962		ServiceActionDefinitionKeyName,
22963		ServiceActionDefinitionKeyVersion,
22964		ServiceActionDefinitionKeyAssumeRole,
22965		ServiceActionDefinitionKeyParameters,
22966	}
22967}
22968
22969const (
22970	// ServiceActionDefinitionTypeSsmAutomation is a ServiceActionDefinitionType enum value
22971	ServiceActionDefinitionTypeSsmAutomation = "SSM_AUTOMATION"
22972)
22973
22974// ServiceActionDefinitionType_Values returns all elements of the ServiceActionDefinitionType enum
22975func ServiceActionDefinitionType_Values() []string {
22976	return []string{
22977		ServiceActionDefinitionTypeSsmAutomation,
22978	}
22979}
22980
22981const (
22982	// ShareStatusNotStarted is a ShareStatus enum value
22983	ShareStatusNotStarted = "NOT_STARTED"
22984
22985	// ShareStatusInProgress is a ShareStatus enum value
22986	ShareStatusInProgress = "IN_PROGRESS"
22987
22988	// ShareStatusCompleted is a ShareStatus enum value
22989	ShareStatusCompleted = "COMPLETED"
22990
22991	// ShareStatusCompletedWithErrors is a ShareStatus enum value
22992	ShareStatusCompletedWithErrors = "COMPLETED_WITH_ERRORS"
22993
22994	// ShareStatusError is a ShareStatus enum value
22995	ShareStatusError = "ERROR"
22996)
22997
22998// ShareStatus_Values returns all elements of the ShareStatus enum
22999func ShareStatus_Values() []string {
23000	return []string{
23001		ShareStatusNotStarted,
23002		ShareStatusInProgress,
23003		ShareStatusCompleted,
23004		ShareStatusCompletedWithErrors,
23005		ShareStatusError,
23006	}
23007}
23008
23009const (
23010	// SortOrderAscending is a SortOrder enum value
23011	SortOrderAscending = "ASCENDING"
23012
23013	// SortOrderDescending is a SortOrder enum value
23014	SortOrderDescending = "DESCENDING"
23015)
23016
23017// SortOrder_Values returns all elements of the SortOrder enum
23018func SortOrder_Values() []string {
23019	return []string{
23020		SortOrderAscending,
23021		SortOrderDescending,
23022	}
23023}
23024
23025const (
23026	// StackInstanceStatusCurrent is a StackInstanceStatus enum value
23027	StackInstanceStatusCurrent = "CURRENT"
23028
23029	// StackInstanceStatusOutdated is a StackInstanceStatus enum value
23030	StackInstanceStatusOutdated = "OUTDATED"
23031
23032	// StackInstanceStatusInoperable is a StackInstanceStatus enum value
23033	StackInstanceStatusInoperable = "INOPERABLE"
23034)
23035
23036// StackInstanceStatus_Values returns all elements of the StackInstanceStatus enum
23037func StackInstanceStatus_Values() []string {
23038	return []string{
23039		StackInstanceStatusCurrent,
23040		StackInstanceStatusOutdated,
23041		StackInstanceStatusInoperable,
23042	}
23043}
23044
23045const (
23046	// StackSetOperationTypeCreate is a StackSetOperationType enum value
23047	StackSetOperationTypeCreate = "CREATE"
23048
23049	// StackSetOperationTypeUpdate is a StackSetOperationType enum value
23050	StackSetOperationTypeUpdate = "UPDATE"
23051
23052	// StackSetOperationTypeDelete is a StackSetOperationType enum value
23053	StackSetOperationTypeDelete = "DELETE"
23054)
23055
23056// StackSetOperationType_Values returns all elements of the StackSetOperationType enum
23057func StackSetOperationType_Values() []string {
23058	return []string{
23059		StackSetOperationTypeCreate,
23060		StackSetOperationTypeUpdate,
23061		StackSetOperationTypeDelete,
23062	}
23063}
23064
23065const (
23066	// StatusAvailable is a Status enum value
23067	StatusAvailable = "AVAILABLE"
23068
23069	// StatusCreating is a Status enum value
23070	StatusCreating = "CREATING"
23071
23072	// StatusFailed is a Status enum value
23073	StatusFailed = "FAILED"
23074)
23075
23076// Status_Values returns all elements of the Status enum
23077func Status_Values() []string {
23078	return []string{
23079		StatusAvailable,
23080		StatusCreating,
23081		StatusFailed,
23082	}
23083}
23084