1// Code generated by smithy-go-codegen DO NOT EDIT.
2
3package types
4
5import (
6	"time"
7)
8
9// The access level to use to filter results.
10type AccessLevelFilter struct {
11
12	// The access level.
13	//
14	// * Account - Filter results based on the account.
15	//
16	// * Role -
17	// Filter results based on the federated role of the specified user.
18	//
19	// * User -
20	// Filter results based on the specified user.
21	Key AccessLevelFilterKey
22
23	// The user to which the access level applies. The only supported value is Self.
24	Value *string
25}
26
27// Information about a budget.
28type BudgetDetail struct {
29
30	// Name of the associated budget.
31	BudgetName *string
32}
33
34// Information about a CloudWatch dashboard.
35type CloudWatchDashboard struct {
36
37	// The name of the CloudWatch dashboard.
38	Name *string
39}
40
41// Information about a constraint.
42type ConstraintDetail struct {
43
44	// The identifier of the constraint.
45	ConstraintId *string
46
47	// The description of the constraint.
48	Description *string
49
50	// The owner of the constraint.
51	Owner *string
52
53	// The identifier of the portfolio the product resides in. The constraint applies
54	// only to the instance of the product that lives within this portfolio.
55	PortfolioId *string
56
57	// The identifier of the product the constraint applies to. Note that a constraint
58	// applies to a specific instance of a product within a certain portfolio.
59	ProductId *string
60
61	// The type of constraint.
62	//
63	// * LAUNCH
64	//
65	// * NOTIFICATION
66	//
67	// * STACKSET
68	//
69	// * TEMPLATE
70	Type *string
71}
72
73// Summary information about a constraint.
74type ConstraintSummary struct {
75
76	// The description of the constraint.
77	Description *string
78
79	// The type of constraint.
80	//
81	// * LAUNCH
82	//
83	// * NOTIFICATION
84	//
85	// * STACKSET
86	//
87	// * TEMPLATE
88	Type *string
89}
90
91// Details of an execution parameter value that is passed to a self-service action
92// when executed on a provisioned product.
93type ExecutionParameter struct {
94
95	// The default values for the execution parameter.
96	DefaultValues []string
97
98	// The name of the execution parameter.
99	Name *string
100
101	// The execution parameter type.
102	Type *string
103}
104
105// An object containing information about the error, along with identifying
106// information about the self-service action and its associations.
107type FailedServiceActionAssociation struct {
108
109	// The error code. Valid values are listed below.
110	ErrorCode ServiceActionAssociationErrorCode
111
112	// A text description of the error.
113	ErrorMessage *string
114
115	// The product identifier. For example, prod-abcdzk7xy33qa.
116	ProductId *string
117
118	// The identifier of the provisioning artifact. For example, pa-4abcdjnxjj6ne.
119	ProvisioningArtifactId *string
120
121	// The self-service action identifier. For example, act-fs7abcd89wxyz.
122	ServiceActionId *string
123}
124
125// A launch path object.
126type LaunchPath struct {
127
128	// The identifier of the launch path.
129	Id *string
130
131	// The name of the launch path.
132	Name *string
133}
134
135// Summary information about a product path for a user.
136type LaunchPathSummary struct {
137
138	// The constraints on the portfolio-product relationship.
139	ConstraintSummaries []ConstraintSummary
140
141	// The identifier of the product path.
142	Id *string
143
144	// The name of the portfolio to which the user was assigned.
145	Name *string
146
147	// The tags associated with this product path.
148	Tags []Tag
149}
150
151// The search filter to use when listing history records.
152type ListRecordHistorySearchFilter struct {
153
154	// The filter key.
155	//
156	// * product - Filter results based on the specified product
157	// identifier.
158	//
159	// * provisionedproduct - Filter results based on the provisioned
160	// product identifier.
161	Key *string
162
163	// The filter value.
164	Value *string
165}
166
167// Filters to use when listing TagOptions.
168type ListTagOptionsFilters struct {
169
170	// The active state.
171	Active *bool
172
173	// The TagOption key.
174	Key *string
175
176	// The TagOption value.
177	Value *string
178}
179
180// Information about the organization node.
181type OrganizationNode struct {
182
183	// The organization node type.
184	Type OrganizationNodeType
185
186	// The identifier of the organization node.
187	Value *string
188}
189
190// The constraints that the administrator has put on the parameter.
191type ParameterConstraints struct {
192
193	// The values that the administrator has allowed for the parameter.
194	AllowedValues []string
195}
196
197// Information about a portfolio.
198type PortfolioDetail struct {
199
200	// The ARN assigned to the portfolio.
201	ARN *string
202
203	// The UTC time stamp of the creation time.
204	CreatedTime *time.Time
205
206	// The description of the portfolio.
207	Description *string
208
209	// The name to use for display purposes.
210	DisplayName *string
211
212	// The portfolio identifier.
213	Id *string
214
215	// The name of the portfolio provider.
216	ProviderName *string
217}
218
219// Information about the portfolio share.
220type PortfolioShareDetail struct {
221
222	// Indicates whether the shared portfolio is imported by the recipient account. If
223	// the recipient is in an organization node, the share is automatically imported,
224	// and the field is always set to true.
225	Accepted bool
226
227	// The identifier of the recipient entity that received the portfolio share. The
228	// recipient entities can be one of the following: 1. An external account. 2. An
229	// organziation member account. 3. An organzational unit (OU). 4. The organization
230	// itself. (This shares with every account in the organization).
231	PrincipalId *string
232
233	// Indicates whether TagOptions sharing is enabled or disabled for the portfolio
234	// share.
235	ShareTagOptions bool
236
237	// The type of the portfolio share.
238	Type DescribePortfolioShareType
239}
240
241// Information about a principal.
242type Principal struct {
243
244	// The ARN of the principal (IAM user, role, or group).
245	PrincipalARN *string
246
247	// The principal type. The supported value is IAM.
248	PrincipalType PrincipalType
249}
250
251// A single product view aggregation value/count pair, containing metadata about
252// each product to which the calling user has access.
253type ProductViewAggregationValue struct {
254
255	// An approximate count of the products that match the value.
256	ApproximateCount int32
257
258	// The value of the product view aggregation.
259	Value *string
260}
261
262// Information about a product view.
263type ProductViewDetail struct {
264
265	// The UTC time stamp of the creation time.
266	CreatedTime *time.Time
267
268	// The ARN of the product.
269	ProductARN *string
270
271	// Summary information about the product view.
272	ProductViewSummary *ProductViewSummary
273
274	// The status of the product.
275	//
276	// * AVAILABLE - The product is ready for use.
277	//
278	// *
279	// CREATING - Product creation has started; the product is not ready for use.
280	//
281	// *
282	// FAILED - An action failed.
283	Status Status
284}
285
286// Summary information about a product view.
287type ProductViewSummary struct {
288
289	// The distributor of the product. Contact the product administrator for the
290	// significance of this value.
291	Distributor *string
292
293	// Indicates whether the product has a default path. If the product does not have a
294	// default path, call ListLaunchPaths to disambiguate between paths. Otherwise,
295	// ListLaunchPaths is not required, and the output of ProductViewSummary can be
296	// used directly with DescribeProvisioningParameters.
297	HasDefaultPath bool
298
299	// The product view identifier.
300	Id *string
301
302	// The name of the product.
303	Name *string
304
305	// The owner of the product. Contact the product administrator for the significance
306	// of this value.
307	Owner *string
308
309	// The product identifier.
310	ProductId *string
311
312	// Short description of the product.
313	ShortDescription *string
314
315	// The description of the support for this Product.
316	SupportDescription *string
317
318	// The email contact information to obtain support for this Product.
319	SupportEmail *string
320
321	// The URL information to obtain support for this Product.
322	SupportUrl *string
323
324	// The product type. Contact the product administrator for the significance of this
325	// value. If this value is MARKETPLACE, the product was created by AWS Marketplace.
326	Type ProductType
327}
328
329// Information about a provisioned product.
330type ProvisionedProductAttribute struct {
331
332	// The ARN of the provisioned product.
333	Arn *string
334
335	// The UTC time stamp of the creation time.
336	CreatedTime *time.Time
337
338	// The identifier of the provisioned product.
339	Id *string
340
341	// A unique identifier that you provide to ensure idempotency. If multiple requests
342	// differ only by the idempotency token, the same response is returned for each
343	// repeated request.
344	IdempotencyToken *string
345
346	// The record identifier of the last request performed on this provisioned product
347	// of the following types:
348	//
349	// * ProvisionedProduct
350	//
351	// * UpdateProvisionedProduct
352	//
353	// *
354	// ExecuteProvisionedProductPlan
355	//
356	// * TerminateProvisionedProduct
357	LastProvisioningRecordId *string
358
359	// The record identifier of the last request performed on this provisioned product.
360	LastRecordId *string
361
362	// The record identifier of the last successful request performed on this
363	// provisioned product of the following types:
364	//
365	// * ProvisionedProduct
366	//
367	// *
368	// UpdateProvisionedProduct
369	//
370	// * ExecuteProvisionedProductPlan
371	//
372	// *
373	// TerminateProvisionedProduct
374	LastSuccessfulProvisioningRecordId *string
375
376	// The user-friendly name of the provisioned product.
377	Name *string
378
379	// The assigned identifier for the resource, such as an EC2 instance ID or an S3
380	// bucket name.
381	PhysicalId *string
382
383	// The product identifier.
384	ProductId *string
385
386	// The name of the product.
387	ProductName *string
388
389	// The identifier of the provisioning artifact.
390	ProvisioningArtifactId *string
391
392	// The name of the provisioning artifact.
393	ProvisioningArtifactName *string
394
395	// The current status of the provisioned product.
396	//
397	// * AVAILABLE - Stable state,
398	// ready to perform any operation. The most recent operation succeeded and
399	// completed.
400	//
401	// * UNDER_CHANGE - Transitive state. Operations performed might not
402	// have valid results. Wait for an AVAILABLE status before performing
403	// operations.
404	//
405	// * TAINTED - Stable state, ready to perform any operation. The stack
406	// has completed the requested operation but is not exactly what was requested. For
407	// example, a request to update to a new version failed and the stack rolled back
408	// to the current version.
409	//
410	// * ERROR - An unexpected error occurred. The provisioned
411	// product exists but the stack is not running. For example, CloudFormation
412	// received a parameter value that was not valid and could not launch the stack.
413	//
414	// *
415	// PLAN_IN_PROGRESS - Transitive state. The plan operations were performed to
416	// provision a new product, but resources have not yet been created. After
417	// reviewing the list of resources to be created, execute the plan. Wait for an
418	// AVAILABLE status before performing operations.
419	Status ProvisionedProductStatus
420
421	// The current status message of the provisioned product.
422	StatusMessage *string
423
424	// One or more tags.
425	Tags []Tag
426
427	// The type of provisioned product. The supported values are CFN_STACK and
428	// CFN_STACKSET.
429	Type *string
430
431	// The Amazon Resource Name (ARN) of the IAM user.
432	UserArn *string
433
434	// The ARN of the IAM user in the session. This ARN might contain a session ID.
435	UserArnSession *string
436}
437
438// Information about a provisioned product.
439type ProvisionedProductDetail struct {
440
441	// The ARN of the provisioned product.
442	Arn *string
443
444	// The UTC time stamp of the creation time.
445	CreatedTime *time.Time
446
447	// The identifier of the provisioned product.
448	Id *string
449
450	// A unique identifier that you provide to ensure idempotency. If multiple requests
451	// differ only by the idempotency token, the same response is returned for each
452	// repeated request.
453	IdempotencyToken *string
454
455	// The record identifier of the last request performed on this provisioned product
456	// of the following types:
457	//
458	// * ProvisionedProduct
459	//
460	// * UpdateProvisionedProduct
461	//
462	// *
463	// ExecuteProvisionedProductPlan
464	//
465	// * TerminateProvisionedProduct
466	LastProvisioningRecordId *string
467
468	// The record identifier of the last request performed on this provisioned product.
469	LastRecordId *string
470
471	// The record identifier of the last successful request performed on this
472	// provisioned product of the following types:
473	//
474	// * ProvisionedProduct
475	//
476	// *
477	// UpdateProvisionedProduct
478	//
479	// * ExecuteProvisionedProductPlan
480	//
481	// *
482	// TerminateProvisionedProduct
483	LastSuccessfulProvisioningRecordId *string
484
485	// The ARN of the launch role associated with the provisioned product.
486	LaunchRoleArn *string
487
488	// The user-friendly name of the provisioned product.
489	Name *string
490
491	// The product identifier. For example, prod-abcdzk7xy33qa.
492	ProductId *string
493
494	// The identifier of the provisioning artifact. For example, pa-4abcdjnxjj6ne.
495	ProvisioningArtifactId *string
496
497	// The current status of the provisioned product.
498	//
499	// * AVAILABLE - Stable state,
500	// ready to perform any operation. The most recent operation succeeded and
501	// completed.
502	//
503	// * UNDER_CHANGE - Transitive state. Operations performed might not
504	// have valid results. Wait for an AVAILABLE status before performing
505	// operations.
506	//
507	// * TAINTED - Stable state, ready to perform any operation. The stack
508	// has completed the requested operation but is not exactly what was requested. For
509	// example, a request to update to a new version failed and the stack rolled back
510	// to the current version.
511	//
512	// * ERROR - An unexpected error occurred. The provisioned
513	// product exists but the stack is not running. For example, CloudFormation
514	// received a parameter value that was not valid and could not launch the stack.
515	//
516	// *
517	// PLAN_IN_PROGRESS - Transitive state. The plan operations were performed to
518	// provision a new product, but resources have not yet been created. After
519	// reviewing the list of resources to be created, execute the plan. Wait for an
520	// AVAILABLE status before performing operations.
521	Status ProvisionedProductStatus
522
523	// The current status message of the provisioned product.
524	StatusMessage *string
525
526	// The type of provisioned product. The supported values are CFN_STACK and
527	// CFN_STACKSET.
528	Type *string
529}
530
531// Information about a plan.
532type ProvisionedProductPlanDetails struct {
533
534	// The UTC time stamp of the creation time.
535	CreatedTime *time.Time
536
537	// Passed to CloudFormation. The SNS topic ARNs to which to publish stack-related
538	// events.
539	NotificationArns []string
540
541	// The path identifier of the product. This value is optional if the product has a
542	// default path, and required if the product has more than one path. To list the
543	// paths for a product, use ListLaunchPaths.
544	PathId *string
545
546	// The plan identifier.
547	PlanId *string
548
549	// The name of the plan.
550	PlanName *string
551
552	// The plan type.
553	PlanType ProvisionedProductPlanType
554
555	// The product identifier.
556	ProductId *string
557
558	// The product identifier.
559	ProvisionProductId *string
560
561	// The user-friendly name of the provisioned product.
562	ProvisionProductName *string
563
564	// The identifier of the provisioning artifact.
565	ProvisioningArtifactId *string
566
567	// Parameters specified by the administrator that are required for provisioning the
568	// product.
569	ProvisioningParameters []UpdateProvisioningParameter
570
571	// The status.
572	Status ProvisionedProductPlanStatus
573
574	// The status message.
575	StatusMessage *string
576
577	// One or more tags.
578	Tags []Tag
579
580	// The time when the plan was last updated.
581	UpdatedTime *time.Time
582}
583
584// Summary information about a plan.
585type ProvisionedProductPlanSummary struct {
586
587	// The plan identifier.
588	PlanId *string
589
590	// The name of the plan.
591	PlanName *string
592
593	// The plan type.
594	PlanType ProvisionedProductPlanType
595
596	// The product identifier.
597	ProvisionProductId *string
598
599	// The user-friendly name of the provisioned product.
600	ProvisionProductName *string
601
602	// The identifier of the provisioning artifact.
603	ProvisioningArtifactId *string
604}
605
606// Information about a provisioning artifact. A provisioning artifact is also known
607// as a product version.
608type ProvisioningArtifact struct {
609
610	// The UTC time stamp of the creation time.
611	CreatedTime *time.Time
612
613	// The description of the provisioning artifact.
614	Description *string
615
616	// Information set by the administrator to provide guidance to end users about
617	// which provisioning artifacts to use.
618	Guidance ProvisioningArtifactGuidance
619
620	// The identifier of the provisioning artifact.
621	Id *string
622
623	// The name of the provisioning artifact.
624	Name *string
625}
626
627// Information about a provisioning artifact (also known as a version) for a
628// product.
629type ProvisioningArtifactDetail struct {
630
631	// Indicates whether the product version is active.
632	Active *bool
633
634	// The UTC time stamp of the creation time.
635	CreatedTime *time.Time
636
637	// The description of the provisioning artifact.
638	Description *string
639
640	// Information set by the administrator to provide guidance to end users about
641	// which provisioning artifacts to use.
642	Guidance ProvisioningArtifactGuidance
643
644	// The identifier of the provisioning artifact.
645	Id *string
646
647	// The name of the provisioning artifact.
648	Name *string
649
650	// The type of provisioning artifact.
651	//
652	// * CLOUD_FORMATION_TEMPLATE - AWS
653	// CloudFormation template
654	//
655	// * MARKETPLACE_AMI - AWS Marketplace AMI
656	//
657	// *
658	// MARKETPLACE_CAR - AWS Marketplace Clusters and AWS Resources
659	Type ProvisioningArtifactType
660}
661
662// Provisioning artifact output.
663type ProvisioningArtifactOutput struct {
664
665	// Description of the provisioning artifact output key.
666	Description *string
667
668	// The provisioning artifact output key.
669	Key *string
670}
671
672// Information about a parameter used to provision a product.
673type ProvisioningArtifactParameter struct {
674
675	// The default value.
676	DefaultValue *string
677
678	// The description of the parameter.
679	Description *string
680
681	// If this value is true, the value for this parameter is obfuscated from view when
682	// the parameter is retrieved. This parameter is used to hide sensitive
683	// information.
684	IsNoEcho bool
685
686	// Constraints that the administrator has put on a parameter.
687	ParameterConstraints *ParameterConstraints
688
689	// The parameter key.
690	ParameterKey *string
691
692	// The parameter type.
693	ParameterType *string
694}
695
696// The user-defined preferences that will be applied during product provisioning,
697// unless overridden by ProvisioningPreferences or UpdateProvisioningPreferences.
698// For more information on maximum concurrent accounts and failure tolerance, see
699// Stack set operation options
700// (https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/stacksets-concepts.html#stackset-ops-options)
701// in the AWS CloudFormation User Guide.
702type ProvisioningArtifactPreferences struct {
703
704	// One or more AWS accounts where stack instances are deployed from the stack set.
705	// These accounts can be scoped in ProvisioningPreferences$StackSetAccounts and
706	// UpdateProvisioningPreferences$StackSetAccounts. Applicable only to a
707	// CFN_STACKSET provisioned product type.
708	StackSetAccounts []string
709
710	// One or more AWS Regions where stack instances are deployed from the stack set.
711	// These regions can be scoped in ProvisioningPreferences$StackSetRegions and
712	// UpdateProvisioningPreferences$StackSetRegions. Applicable only to a CFN_STACKSET
713	// provisioned product type.
714	StackSetRegions []string
715}
716
717// Information about a provisioning artifact (also known as a version) for a
718// product.
719type ProvisioningArtifactProperties struct {
720
721	// Specify the template source with one of the following options, but not both.
722	// Keys accepted: [ LoadTemplateFromURL, ImportFromPhysicalId ] The URL of the
723	// CloudFormation template in Amazon S3. Specify the URL in JSON format as follows:
724	// "LoadTemplateFromURL":
725	// "https://s3.amazonaws.com/cf-templates-ozkq9d3hgiq2-us-east-1/..."ImportFromPhysicalId:
726	// The physical id of the resource that contains the template. Currently only
727	// supports CloudFormation stack arn. Specify the physical id in JSON format as
728	// follows: ImportFromPhysicalId:
729	// “arn:aws:cloudformation:[us-east-1]:[accountId]:stack/[StackName]/[resourceId]
730	//
731	// This member is required.
732	Info map[string]string
733
734	// The description of the provisioning artifact, including how it differs from the
735	// previous provisioning artifact.
736	Description *string
737
738	// If set to true, AWS Service Catalog stops validating the specified provisioning
739	// artifact even if it is invalid.
740	DisableTemplateValidation bool
741
742	// The name of the provisioning artifact (for example, v1 v2beta). No spaces are
743	// allowed.
744	Name *string
745
746	// The type of provisioning artifact.
747	//
748	// * CLOUD_FORMATION_TEMPLATE - AWS
749	// CloudFormation template
750	//
751	// * MARKETPLACE_AMI - AWS Marketplace AMI
752	//
753	// *
754	// MARKETPLACE_CAR - AWS Marketplace Clusters and AWS Resources
755	Type ProvisioningArtifactType
756}
757
758// Summary information about a provisioning artifact (also known as a version) for
759// a product.
760type ProvisioningArtifactSummary struct {
761
762	// The UTC time stamp of the creation time.
763	CreatedTime *time.Time
764
765	// The description of the provisioning artifact.
766	Description *string
767
768	// The identifier of the provisioning artifact.
769	Id *string
770
771	// The name of the provisioning artifact.
772	Name *string
773
774	// The metadata for the provisioning artifact. This is used with AWS Marketplace
775	// products.
776	ProvisioningArtifactMetadata map[string]string
777}
778
779// An object that contains summary information about a product view and a
780// provisioning artifact.
781type ProvisioningArtifactView struct {
782
783	// Summary information about a product view.
784	ProductViewSummary *ProductViewSummary
785
786	// Information about a provisioning artifact. A provisioning artifact is also known
787	// as a product version.
788	ProvisioningArtifact *ProvisioningArtifact
789}
790
791// Information about a parameter used to provision a product.
792type ProvisioningParameter struct {
793
794	// The parameter key.
795	Key *string
796
797	// The parameter value.
798	Value *string
799}
800
801// The user-defined preferences that will be applied when updating a provisioned
802// product. Not all preferences are applicable to all provisioned product type One
803// or more AWS accounts that will have access to the provisioned product.
804// Applicable only to a CFN_STACKSET provisioned product type. The AWS accounts
805// specified should be within the list of accounts in the STACKSET constraint. To
806// get the list of accounts in the STACKSET constraint, use the
807// DescribeProvisioningParameters operation. If no values are specified, the
808// default value is all accounts from the STACKSET constraint.
809type ProvisioningPreferences struct {
810
811	// One or more AWS accounts where the provisioned product will be available.
812	// Applicable only to a CFN_STACKSET provisioned product type. The specified
813	// accounts should be within the list of accounts from the STACKSET constraint. To
814	// get the list of accounts in the STACKSET constraint, use the
815	// DescribeProvisioningParameters operation. If no values are specified, the
816	// default value is all acounts from the STACKSET constraint.
817	StackSetAccounts []string
818
819	// The number of accounts, per region, for which this operation can fail before AWS
820	// Service Catalog stops the operation in that region. If the operation is stopped
821	// in a region, AWS Service Catalog doesn't attempt the operation in any subsequent
822	// regions. Applicable only to a CFN_STACKSET provisioned product type.
823	// Conditional: You must specify either StackSetFailureToleranceCount or
824	// StackSetFailureTolerancePercentage, but not both. The default value is 0 if no
825	// value is specified.
826	StackSetFailureToleranceCount *int32
827
828	// The percentage of accounts, per region, for which this stack operation can fail
829	// before AWS Service Catalog stops the operation in that region. If the operation
830	// is stopped in a region, AWS Service Catalog doesn't attempt the operation in any
831	// subsequent regions. When calculating the number of accounts based on the
832	// specified percentage, AWS Service Catalog rounds down to the next whole number.
833	// Applicable only to a CFN_STACKSET provisioned product type. Conditional: You
834	// must specify either StackSetFailureToleranceCount or
835	// StackSetFailureTolerancePercentage, but not both.
836	StackSetFailureTolerancePercentage *int32
837
838	// The maximum number of accounts in which to perform this operation at one time.
839	// This is dependent on the value of StackSetFailureToleranceCount.
840	// StackSetMaxConcurrentCount is at most one more than the
841	// StackSetFailureToleranceCount. Note that this setting lets you specify the
842	// maximum for operations. For large deployments, under certain circumstances the
843	// actual number of accounts acted upon concurrently may be lower due to service
844	// throttling. Applicable only to a CFN_STACKSET provisioned product type.
845	// Conditional: You must specify either StackSetMaxConcurrentCount or
846	// StackSetMaxConcurrentPercentage, but not both.
847	StackSetMaxConcurrencyCount *int32
848
849	// The maximum percentage of accounts in which to perform this operation at one
850	// time. When calculating the number of accounts based on the specified percentage,
851	// AWS Service Catalog rounds down to the next whole number. This is true except in
852	// cases where rounding down would result is zero. In this case, AWS Service
853	// Catalog sets the number as 1 instead. Note that this setting lets you specify
854	// the maximum for operations. For large deployments, under certain circumstances
855	// the actual number of accounts acted upon concurrently may be lower due to
856	// service throttling. Applicable only to a CFN_STACKSET provisioned product type.
857	// Conditional: You must specify either StackSetMaxConcurrentCount or
858	// StackSetMaxConcurrentPercentage, but not both.
859	StackSetMaxConcurrencyPercentage *int32
860
861	// One or more AWS Regions where the provisioned product will be available.
862	// Applicable only to a CFN_STACKSET provisioned product type. The specified
863	// regions should be within the list of regions from the STACKSET constraint. To
864	// get the list of regions in the STACKSET constraint, use the
865	// DescribeProvisioningParameters operation. If no values are specified, the
866	// default value is all regions from the STACKSET constraint.
867	StackSetRegions []string
868}
869
870// Information about a request operation.
871type RecordDetail struct {
872
873	// The UTC time stamp of the creation time.
874	CreatedTime *time.Time
875
876	// The ARN of the launch role associated with the provisioned product.
877	LaunchRoleArn *string
878
879	// The path identifier.
880	PathId *string
881
882	// The product identifier.
883	ProductId *string
884
885	// The identifier of the provisioned product.
886	ProvisionedProductId *string
887
888	// The user-friendly name of the provisioned product.
889	ProvisionedProductName *string
890
891	// The type of provisioned product. The supported values are CFN_STACK and
892	// CFN_STACKSET.
893	ProvisionedProductType *string
894
895	// The identifier of the provisioning artifact.
896	ProvisioningArtifactId *string
897
898	// The errors that occurred.
899	RecordErrors []RecordError
900
901	// The identifier of the record.
902	RecordId *string
903
904	// One or more tags.
905	RecordTags []RecordTag
906
907	// The record type.
908	//
909	// * PROVISION_PRODUCT
910	//
911	// * UPDATE_PROVISIONED_PRODUCT
912	//
913	// *
914	// TERMINATE_PROVISIONED_PRODUCT
915	RecordType *string
916
917	// The status of the provisioned product.
918	//
919	// * CREATED - The request was created but
920	// the operation has not started.
921	//
922	// * IN_PROGRESS - The requested operation is in
923	// progress.
924	//
925	// * IN_PROGRESS_IN_ERROR - The provisioned product is under change but
926	// the requested operation failed and some remediation is occurring. For example, a
927	// rollback.
928	//
929	// * SUCCEEDED - The requested operation has successfully completed.
930	//
931	// *
932	// FAILED - The requested operation has unsuccessfully completed. Investigate using
933	// the error messages returned.
934	Status RecordStatus
935
936	// The time when the record was last updated.
937	UpdatedTime *time.Time
938}
939
940// The error code and description resulting from an operation.
941type RecordError struct {
942
943	// The numeric value of the error.
944	Code *string
945
946	// The description of the error.
947	Description *string
948}
949
950// The output for the product created as the result of a request. For example, the
951// output for a CloudFormation-backed product that creates an S3 bucket would
952// include the S3 bucket URL.
953type RecordOutput struct {
954
955	// The description of the output.
956	Description *string
957
958	// The output key.
959	OutputKey *string
960
961	// The output value.
962	OutputValue *string
963}
964
965// Information about a tag, which is a key-value pair.
966type RecordTag struct {
967
968	// The key for this tag.
969	Key *string
970
971	// The value for this tag.
972	Value *string
973}
974
975// Information about a resource change that will occur when a plan is executed.
976type ResourceChange struct {
977
978	// The change action.
979	Action ChangeAction
980
981	// Information about the resource changes.
982	Details []ResourceChangeDetail
983
984	// The ID of the resource, as defined in the CloudFormation template.
985	LogicalResourceId *string
986
987	// The ID of the resource, if it was already created.
988	PhysicalResourceId *string
989
990	// If the change type is Modify, indicates whether the existing resource is deleted
991	// and replaced with a new one.
992	Replacement Replacement
993
994	// The type of resource.
995	ResourceType *string
996
997	// The change scope.
998	Scope []ResourceAttribute
999}
1000
1001// Information about a change to a resource attribute.
1002type ResourceChangeDetail struct {
1003
1004	// The ID of the entity that caused the change.
1005	CausingEntity *string
1006
1007	// For static evaluations, the value of the resource attribute will change and the
1008	// new value is known. For dynamic evaluations, the value might change, and any new
1009	// value will be determined when the plan is updated.
1010	Evaluation EvaluationType
1011
1012	// Information about the resource attribute to be modified.
1013	Target *ResourceTargetDefinition
1014}
1015
1016// Information about a resource.
1017type ResourceDetail struct {
1018
1019	// The ARN of the resource.
1020	ARN *string
1021
1022	// The creation time of the resource.
1023	CreatedTime *time.Time
1024
1025	// The description of the resource.
1026	Description *string
1027
1028	// The identifier of the resource.
1029	Id *string
1030
1031	// The name of the resource.
1032	Name *string
1033}
1034
1035// Information about a change to a resource attribute.
1036type ResourceTargetDefinition struct {
1037
1038	// The attribute to be changed.
1039	Attribute ResourceAttribute
1040
1041	// If the attribute is Properties, the value is the name of the property.
1042	// Otherwise, the value is null.
1043	Name *string
1044
1045	// If the attribute is Properties, indicates whether a change to this property
1046	// causes the resource to be re-created.
1047	RequiresRecreation RequiresRecreation
1048}
1049
1050// A self-service action association consisting of the Action ID, the Product ID,
1051// and the Provisioning Artifact ID.
1052type ServiceActionAssociation struct {
1053
1054	// The product identifier. For example, prod-abcdzk7xy33qa.
1055	//
1056	// This member is required.
1057	ProductId *string
1058
1059	// The identifier of the provisioning artifact. For example, pa-4abcdjnxjj6ne.
1060	//
1061	// This member is required.
1062	ProvisioningArtifactId *string
1063
1064	// The self-service action identifier. For example, act-fs7abcd89wxyz.
1065	//
1066	// This member is required.
1067	ServiceActionId *string
1068}
1069
1070// An object containing detailed information about the self-service action.
1071type ServiceActionDetail struct {
1072
1073	// A map that defines the self-service action.
1074	Definition map[string]string
1075
1076	// Summary information about the self-service action.
1077	ServiceActionSummary *ServiceActionSummary
1078}
1079
1080// Detailed information about the self-service action.
1081type ServiceActionSummary struct {
1082
1083	// The self-service action definition type. For example, SSM_AUTOMATION.
1084	DefinitionType ServiceActionDefinitionType
1085
1086	// The self-service action description.
1087	Description *string
1088
1089	// The self-service action identifier.
1090	Id *string
1091
1092	// The self-service action name.
1093	Name *string
1094}
1095
1096// Information about the portfolio share operation.
1097type ShareDetails struct {
1098
1099	// List of errors.
1100	ShareErrors []ShareError
1101
1102	// List of accounts for whom the operation succeeded.
1103	SuccessfulShares []string
1104}
1105
1106// Errors that occurred during the portfolio share operation.
1107type ShareError struct {
1108
1109	// List of accounts impacted by the error.
1110	Accounts []string
1111
1112	// Error type that happened when processing the operation.
1113	Error *string
1114
1115	// Information about the error.
1116	Message *string
1117}
1118
1119// An AWS CloudFormation stack, in a specific account and region, that's part of a
1120// stack set operation. A stack instance is a reference to an attempted or actual
1121// stack in a given account within a given region. A stack instance can exist
1122// without a stack—for example, if the stack couldn't be created for some reason. A
1123// stack instance is associated with only one stack set. Each stack instance
1124// contains the ID of its associated stack set, as well as the ID of the actual
1125// stack and the stack status.
1126type StackInstance struct {
1127
1128	// The name of the AWS account that the stack instance is associated with.
1129	Account *string
1130
1131	// The name of the AWS region that the stack instance is associated with.
1132	Region *string
1133
1134	// The status of the stack instance, in terms of its synchronization with its
1135	// associated stack set.
1136	//
1137	// * INOPERABLE: A DeleteStackInstances operation has failed
1138	// and left the stack in an unstable state. Stacks in this state are excluded from
1139	// further UpdateStackSet operations. You might need to perform a
1140	// DeleteStackInstances operation, with RetainStacks set to true, to delete the
1141	// stack instance, and then delete the stack manually.
1142	//
1143	// * OUTDATED: The stack isn't
1144	// currently up to date with the stack set because either the associated stack
1145	// failed during a CreateStackSet or UpdateStackSet operation, or the stack was
1146	// part of a CreateStackSet or UpdateStackSet operation that failed or was stopped
1147	// before the stack was created or updated.
1148	//
1149	// * CURRENT: The stack is currently up
1150	// to date with the stack set.
1151	StackInstanceStatus StackInstanceStatus
1152}
1153
1154// Information about a tag. A tag is a key-value pair. Tags are propagated to the
1155// resources created when provisioning a product.
1156type Tag struct {
1157
1158	// The tag key.
1159	//
1160	// This member is required.
1161	Key *string
1162
1163	// The value for this key.
1164	//
1165	// This member is required.
1166	Value *string
1167}
1168
1169// Information about a TagOption.
1170type TagOptionDetail struct {
1171
1172	// The TagOption active state.
1173	Active *bool
1174
1175	// The TagOption identifier.
1176	Id *string
1177
1178	// The TagOption key.
1179	Key *string
1180
1181	// The AWS account Id of the owner account that created the TagOption.
1182	Owner *string
1183
1184	// The TagOption value.
1185	Value *string
1186}
1187
1188// Summary information about a TagOption.
1189type TagOptionSummary struct {
1190
1191	// The TagOption key.
1192	Key *string
1193
1194	// The TagOption value.
1195	Values []string
1196}
1197
1198// The parameter key-value pair used to update a provisioned product.
1199type UpdateProvisioningParameter struct {
1200
1201	// The parameter key.
1202	Key *string
1203
1204	// If set to true, Value is ignored and the previous parameter value is kept.
1205	UsePreviousValue bool
1206
1207	// The parameter value.
1208	Value *string
1209}
1210
1211// The user-defined preferences that will be applied when updating a provisioned
1212// product. Not all preferences are applicable to all provisioned product types.
1213type UpdateProvisioningPreferences struct {
1214
1215	// One or more AWS accounts that will have access to the provisioned product.
1216	// Applicable only to a CFN_STACKSET provisioned product type. The AWS accounts
1217	// specified should be within the list of accounts in the STACKSET constraint. To
1218	// get the list of accounts in the STACKSET constraint, use the
1219	// DescribeProvisioningParameters operation. If no values are specified, the
1220	// default value is all accounts from the STACKSET constraint.
1221	StackSetAccounts []string
1222
1223	// The number of accounts, per region, for which this operation can fail before AWS
1224	// Service Catalog stops the operation in that region. If the operation is stopped
1225	// in a region, AWS Service Catalog doesn't attempt the operation in any subsequent
1226	// regions. Applicable only to a CFN_STACKSET provisioned product type.
1227	// Conditional: You must specify either StackSetFailureToleranceCount or
1228	// StackSetFailureTolerancePercentage, but not both. The default value is 0 if no
1229	// value is specified.
1230	StackSetFailureToleranceCount *int32
1231
1232	// The percentage of accounts, per region, for which this stack operation can fail
1233	// before AWS Service Catalog stops the operation in that region. If the operation
1234	// is stopped in a region, AWS Service Catalog doesn't attempt the operation in any
1235	// subsequent regions. When calculating the number of accounts based on the
1236	// specified percentage, AWS Service Catalog rounds down to the next whole number.
1237	// Applicable only to a CFN_STACKSET provisioned product type. Conditional: You
1238	// must specify either StackSetFailureToleranceCount or
1239	// StackSetFailureTolerancePercentage, but not both.
1240	StackSetFailureTolerancePercentage *int32
1241
1242	// The maximum number of accounts in which to perform this operation at one time.
1243	// This is dependent on the value of StackSetFailureToleranceCount.
1244	// StackSetMaxConcurrentCount is at most one more than the
1245	// StackSetFailureToleranceCount. Note that this setting lets you specify the
1246	// maximum for operations. For large deployments, under certain circumstances the
1247	// actual number of accounts acted upon concurrently may be lower due to service
1248	// throttling. Applicable only to a CFN_STACKSET provisioned product type.
1249	// Conditional: You must specify either StackSetMaxConcurrentCount or
1250	// StackSetMaxConcurrentPercentage, but not both.
1251	StackSetMaxConcurrencyCount *int32
1252
1253	// The maximum percentage of accounts in which to perform this operation at one
1254	// time. When calculating the number of accounts based on the specified percentage,
1255	// AWS Service Catalog rounds down to the next whole number. This is true except in
1256	// cases where rounding down would result is zero. In this case, AWS Service
1257	// Catalog sets the number as 1 instead. Note that this setting lets you specify
1258	// the maximum for operations. For large deployments, under certain circumstances
1259	// the actual number of accounts acted upon concurrently may be lower due to
1260	// service throttling. Applicable only to a CFN_STACKSET provisioned product type.
1261	// Conditional: You must specify either StackSetMaxConcurrentCount or
1262	// StackSetMaxConcurrentPercentage, but not both.
1263	StackSetMaxConcurrencyPercentage *int32
1264
1265	// Determines what action AWS Service Catalog performs to a stack set or a stack
1266	// instance represented by the provisioned product. The default value is UPDATE if
1267	// nothing is specified. Applicable only to a CFN_STACKSET provisioned product
1268	// type. CREATE Creates a new stack instance in the stack set represented by the
1269	// provisioned product. In this case, only new stack instances are created based on
1270	// accounts and regions; if new ProductId or ProvisioningArtifactID are passed,
1271	// they will be ignored. UPDATE Updates the stack set represented by the
1272	// provisioned product and also its stack instances. DELETE Deletes a stack
1273	// instance in the stack set represented by the provisioned product.
1274	StackSetOperationType StackSetOperationType
1275
1276	// One or more AWS Regions where the provisioned product will be available.
1277	// Applicable only to a CFN_STACKSET provisioned product type. The specified
1278	// regions should be within the list of regions from the STACKSET constraint. To
1279	// get the list of regions in the STACKSET constraint, use the
1280	// DescribeProvisioningParameters operation. If no values are specified, the
1281	// default value is all regions from the STACKSET constraint.
1282	StackSetRegions []string
1283}
1284
1285// Additional information provided by the administrator.
1286type UsageInstruction struct {
1287
1288	// The usage instruction type for the value.
1289	Type *string
1290
1291	// The usage instruction value for this type.
1292	Value *string
1293}
1294