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