@aws-sdk/client-service-catalog 3.212.0 → 3.214.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -88,9 +88,9 @@ import { UpdateServiceActionCommandInput, UpdateServiceActionCommandOutput } fro
88
88
  import { UpdateTagOptionCommandInput, UpdateTagOptionCommandOutput } from "./commands/UpdateTagOptionCommand";
89
89
  import { ServiceCatalogClient } from "./ServiceCatalogClient";
90
90
  /**
91
- * <fullname>AWS Service Catalog</fullname>
91
+ * <fullname>Service Catalog</fullname>
92
92
  * <p>
93
- * <a href="https://aws.amazon.com/servicecatalog/">Service Catalog</a> enables
93
+ * <a href="http://aws.amazon.com/servicecatalog">Service Catalog</a> enables
94
94
  * organizations to create and manage catalogs of IT services that are approved for Amazon Web Services. To
95
95
  * get the most out of this documentation, you should be familiar with the terminology
96
96
  * discussed in <a href="http://docs.aws.amazon.com/servicecatalog/latest/adminguide/what-is_concepts.html">Service Catalog
@@ -111,6 +111,22 @@ export declare class ServiceCatalog extends ServiceCatalogClient {
111
111
  associateBudgetWithResource(args: AssociateBudgetWithResourceCommandInput, options: __HttpHandlerOptions, cb: (err: any, data?: AssociateBudgetWithResourceCommandOutput) => void): void;
112
112
  /**
113
113
  * <p>Associates the specified principal ARN with the specified portfolio.</p>
114
+ * <p>If you share the portfolio with principal name sharing enabled, the <code>PrincipalARN</code> association is
115
+ * included in the share. </p>
116
+ * <p>The <code>PortfolioID</code>, <code>PrincipalARN</code>, and <code>PrincipalType</code> parameters are
117
+ * required. </p>
118
+ * <p>You can associate a maximum of 10 Principals with a portfolio using <code>PrincipalType</code> as <code>IAM_PATTERN</code>
119
+ * </p>
120
+ *
121
+ * <note>
122
+ * <p>When you associate a principal with portfolio, a potential privilege escalation path may occur when that portfolio is
123
+ * then shared with other accounts. For a user in a recipient account who is <i>not</i> an Service Catalog Admin,
124
+ * but still has the ability to create Principals (Users/Groups/Roles), that user could create a role that matches a principal
125
+ * name association for the portfolio. Although this user may not know which principal names are associated through
126
+ * Service Catalog, they may be able to guess the user. If this potential escalation path is a concern, then
127
+ * Service Catalog recommends using <code>PrincipalType</code> as <code>IAM</code>. With this configuration,
128
+ * the <code>PrincipalARN</code> must already exist in the recipient account before it can be associated. </p>
129
+ * </note>
114
130
  */
115
131
  associatePrincipalWithPortfolio(args: AssociatePrincipalWithPortfolioCommandInput, options?: __HttpHandlerOptions): Promise<AssociatePrincipalWithPortfolioCommandOutput>;
116
132
  associatePrincipalWithPortfolio(args: AssociatePrincipalWithPortfolioCommandInput, cb: (err: any, data?: AssociatePrincipalWithPortfolioCommandOutput) => void): void;
@@ -181,7 +197,18 @@ export declare class ServiceCatalog extends ServiceCatalogClient {
181
197
  * <p>
182
198
  * <code>AWSOrganizationsAccess</code> must be enabled in order to create a portfolio share to an organization node.</p>
183
199
  * <p>You can't share a shared resource, including portfolios that contain a shared product.</p>
184
- * <p>If the portfolio share with the specified account or organization node already exists, this action will have no effect and will not return an error. To update an existing share, you must use the <code> UpdatePortfolioShare</code> API instead.</p>
200
+ * <p>If the portfolio share with the specified account or organization node already exists, this action will have no effect
201
+ * and will not return an error. To update an existing share, you must use the <code> UpdatePortfolioShare</code> API instead. </p>
202
+ *
203
+ * <note>
204
+ * <p>When you associate a principal with portfolio, a potential privilege escalation path may occur when that portfolio is
205
+ * then shared with other accounts. For a user in a recipient account who is <i>not</i> an Service Catalog Admin,
206
+ * but still has the ability to create Principals (Users/Groups/Roles), that user could create a role that matches a principal
207
+ * name association for the portfolio. Although this user may not know which principal names are associated through
208
+ * Service Catalog, they may be able to guess the user. If this potential escalation path is a concern, then
209
+ * Service Catalog recommends using <code>PrincipalType</code> as <code>IAM</code>. With this configuration,
210
+ * the <code>PrincipalARN</code> must already exist in the recipient account before it can be associated. </p>
211
+ * </note>
185
212
  */
186
213
  createPortfolioShare(args: CreatePortfolioShareCommandInput, options?: __HttpHandlerOptions): Promise<CreatePortfolioShareCommandOutput>;
187
214
  createPortfolioShare(args: CreatePortfolioShareCommandInput, cb: (err: any, data?: CreatePortfolioShareCommandOutput) => void): void;
@@ -439,6 +466,13 @@ export declare class ServiceCatalog extends ServiceCatalogClient {
439
466
  /**
440
467
  * <p>Disassociates a previously associated principal ARN from a specified
441
468
  * portfolio.</p>
469
+ * <p>The <code>PrincipalType</code> and <code>PrincipalARN</code> must match the
470
+ * <code>AssociatePrincipalWithPortfolio</code> call request details. For example,
471
+ * to disassociate an association created with a <code>PrincipalARN</code> of <code>PrincipalType</code>
472
+ * IAM you must use the <code>PrincipalType</code> IAM when calling <code>DisassociatePrincipalFromPortfolio</code>. </p>
473
+ * <p>For portfolios that have been shared with principal name sharing enabled: after disassociating a principal,
474
+ * share recipient accounts will no longer be able to provision products in this portfolio using a role matching the name
475
+ * of the associated principal. </p>
442
476
  */
443
477
  disassociatePrincipalFromPortfolio(args: DisassociatePrincipalFromPortfolioCommandInput, options?: __HttpHandlerOptions): Promise<DisassociatePrincipalFromPortfolioCommandOutput>;
444
478
  disassociatePrincipalFromPortfolio(args: DisassociatePrincipalFromPortfolioCommandInput, cb: (err: any, data?: DisassociatePrincipalFromPortfolioCommandOutput) => void): void;
@@ -506,9 +540,9 @@ export declare class ServiceCatalog extends ServiceCatalogClient {
506
540
  getProvisionedProductOutputs(args: GetProvisionedProductOutputsCommandInput, cb: (err: any, data?: GetProvisionedProductOutputsCommandOutput) => void): void;
507
541
  getProvisionedProductOutputs(args: GetProvisionedProductOutputsCommandInput, options: __HttpHandlerOptions, cb: (err: any, data?: GetProvisionedProductOutputsCommandOutput) => void): void;
508
542
  /**
509
- * <p>Requests the import of a resource as a Amazon Web Services Service Catalog provisioned product that is
510
- * associated to a Amazon Web Services Service Catalog product and provisioning artifact. Once imported, all
511
- * supported Amazon Web Services Service Catalog governance actions are supported on the provisioned
543
+ * <p>Requests the import of a resource as an Service Catalog provisioned product that is
544
+ * associated to an Service Catalog product and provisioning artifact. Once imported, all
545
+ * supported Service Catalog governance actions are supported on the provisioned
512
546
  * product.</p>
513
547
  * <p>Resource import only supports CloudFormation stack ARNs. CloudFormation StackSets and
514
548
  * non-root nested stacks are not supported.</p>
@@ -516,7 +550,7 @@ export declare class ServiceCatalog extends ServiceCatalogClient {
516
550
  * <code>CREATE_COMPLETE</code>, <code>UPDATE_COMPLETE</code>, <code>UPDATE_ROLLBACK_COMPLETE</code>, <code>IMPORT_COMPLETE</code>,
517
551
  * <code>IMPORT_ROLLBACK_COMPLETE</code>.</p>
518
552
  * <p>Import of the resource requires that the CloudFormation stack template matches the
519
- * associated Amazon Web Services Service Catalog product provisioning artifact. </p>
553
+ * associated Service Catalog product provisioning artifact. </p>
520
554
  *
521
555
  * <p>The user or role that performs this operation must have the <code>cloudformation:GetTemplate</code>
522
556
  * and <code>cloudformation:DescribeStacks</code> IAM policy permissions. </p>
@@ -581,7 +615,7 @@ export declare class ServiceCatalog extends ServiceCatalogClient {
581
615
  listPortfoliosForProduct(args: ListPortfoliosForProductCommandInput, cb: (err: any, data?: ListPortfoliosForProductCommandOutput) => void): void;
582
616
  listPortfoliosForProduct(args: ListPortfoliosForProductCommandInput, options: __HttpHandlerOptions, cb: (err: any, data?: ListPortfoliosForProductCommandOutput) => void): void;
583
617
  /**
584
- * <p>Lists all principal ARNs associated with the specified portfolio.</p>
618
+ * <p>Lists all <code>PrincipalARN</code>s and corresponding <code>PrincipalType</code>s associated with the specified portfolio.</p>
585
619
  */
586
620
  listPrincipalsForPortfolio(args: ListPrincipalsForPortfolioCommandInput, options?: __HttpHandlerOptions): Promise<ListPrincipalsForPortfolioCommandOutput>;
587
621
  listPrincipalsForPortfolio(args: ListPrincipalsForPortfolioCommandInput, cb: (err: any, data?: ListPrincipalsForPortfolioCommandOutput) => void): void;
@@ -717,15 +751,26 @@ export declare class ServiceCatalog extends ServiceCatalogClient {
717
751
  updatePortfolio(args: UpdatePortfolioCommandInput, cb: (err: any, data?: UpdatePortfolioCommandOutput) => void): void;
718
752
  updatePortfolio(args: UpdatePortfolioCommandInput, options: __HttpHandlerOptions, cb: (err: any, data?: UpdatePortfolioCommandOutput) => void): void;
719
753
  /**
720
- * <p>Updates the specified portfolio share. You can use this API to enable or disable TagOptions sharing for an existing portfolio share. </p>
754
+ * <p>Updates the specified portfolio share. You can use this API to enable or disable <code>TagOptions</code> sharing
755
+ * or Principal sharing for an existing portfolio share. </p>
721
756
  *
722
- * <p>The portfolio share cannot be updated if the <code> CreatePortfolioShare</code> operation is <code>IN_PROGRESS</code>, as the share is not available to recipient entities. In this case, you must wait for the portfolio share to be COMPLETED.</p>
757
+ * <p>The portfolio share cannot be updated if the <code>CreatePortfolioShare</code> operation is <code>IN_PROGRESS</code>, as the share is not available to recipient entities. In this case, you must wait for the portfolio share to be COMPLETED.</p>
723
758
  *
724
759
  * <p>You must provide the <code>accountId</code> or organization node in the input, but not both.</p>
725
760
  *
726
761
  * <p>If the portfolio is shared to both an external account and an organization node, and both shares need to be updated, you must invoke <code>UpdatePortfolioShare</code> separately for each share type. </p>
727
762
  *
728
763
  * <p>This API cannot be used for removing the portfolio share. You must use <code>DeletePortfolioShare</code> API for that action. </p>
764
+ *
765
+ * <note>
766
+ * <p>When you associate a principal with portfolio, a potential privilege escalation path may occur when that portfolio is
767
+ * then shared with other accounts. For a user in a recipient account who is <i>not</i> an Service Catalog Admin,
768
+ * but still has the ability to create Principals (Users/Groups/Roles), that user could create a role that matches a principal
769
+ * name association for the portfolio. Although this user may not know which principal names are associated through
770
+ * Service Catalog, they may be able to guess the user. If this potential escalation path is a concern, then
771
+ * Service Catalog recommends using <code>PrincipalType</code> as <code>IAM</code>. With this configuration,
772
+ * the <code>PrincipalARN</code> must already exist in the recipient account before it can be associated. </p>
773
+ * </note>
729
774
  */
730
775
  updatePortfolioShare(args: UpdatePortfolioShareCommandInput, options?: __HttpHandlerOptions): Promise<UpdatePortfolioShareCommandOutput>;
731
776
  updatePortfolioShare(args: UpdatePortfolioShareCommandInput, cb: (err: any, data?: UpdatePortfolioShareCommandOutput) => void): void;
@@ -210,9 +210,9 @@ declare type ServiceCatalogClientResolvedConfigType = __SmithyResolvedConfigurat
210
210
  export interface ServiceCatalogClientResolvedConfig extends ServiceCatalogClientResolvedConfigType {
211
211
  }
212
212
  /**
213
- * <fullname>AWS Service Catalog</fullname>
213
+ * <fullname>Service Catalog</fullname>
214
214
  * <p>
215
- * <a href="https://aws.amazon.com/servicecatalog/">Service Catalog</a> enables
215
+ * <a href="http://aws.amazon.com/servicecatalog">Service Catalog</a> enables
216
216
  * organizations to create and manage catalogs of IT services that are approved for Amazon Web Services. To
217
217
  * get the most out of this documentation, you should be familiar with the terminology
218
218
  * discussed in <a href="http://docs.aws.amazon.com/servicecatalog/latest/adminguide/what-is_concepts.html">Service Catalog
@@ -9,6 +9,22 @@ export interface AssociatePrincipalWithPortfolioCommandOutput extends AssociateP
9
9
  }
10
10
  /**
11
11
  * <p>Associates the specified principal ARN with the specified portfolio.</p>
12
+ * <p>If you share the portfolio with principal name sharing enabled, the <code>PrincipalARN</code> association is
13
+ * included in the share. </p>
14
+ * <p>The <code>PortfolioID</code>, <code>PrincipalARN</code>, and <code>PrincipalType</code> parameters are
15
+ * required. </p>
16
+ * <p>You can associate a maximum of 10 Principals with a portfolio using <code>PrincipalType</code> as <code>IAM_PATTERN</code>
17
+ * </p>
18
+ *
19
+ * <note>
20
+ * <p>When you associate a principal with portfolio, a potential privilege escalation path may occur when that portfolio is
21
+ * then shared with other accounts. For a user in a recipient account who is <i>not</i> an Service Catalog Admin,
22
+ * but still has the ability to create Principals (Users/Groups/Roles), that user could create a role that matches a principal
23
+ * name association for the portfolio. Although this user may not know which principal names are associated through
24
+ * Service Catalog, they may be able to guess the user. If this potential escalation path is a concern, then
25
+ * Service Catalog recommends using <code>PrincipalType</code> as <code>IAM</code>. With this configuration,
26
+ * the <code>PrincipalARN</code> must already exist in the recipient account before it can be associated. </p>
27
+ * </note>
12
28
  * @example
13
29
  * Use a bare-bones client and the command you need to make an API call.
14
30
  * ```javascript
@@ -16,7 +16,18 @@ export interface CreatePortfolioShareCommandOutput extends CreatePortfolioShareO
16
16
  * <p>
17
17
  * <code>AWSOrganizationsAccess</code> must be enabled in order to create a portfolio share to an organization node.</p>
18
18
  * <p>You can't share a shared resource, including portfolios that contain a shared product.</p>
19
- * <p>If the portfolio share with the specified account or organization node already exists, this action will have no effect and will not return an error. To update an existing share, you must use the <code> UpdatePortfolioShare</code> API instead.</p>
19
+ * <p>If the portfolio share with the specified account or organization node already exists, this action will have no effect
20
+ * and will not return an error. To update an existing share, you must use the <code> UpdatePortfolioShare</code> API instead. </p>
21
+ *
22
+ * <note>
23
+ * <p>When you associate a principal with portfolio, a potential privilege escalation path may occur when that portfolio is
24
+ * then shared with other accounts. For a user in a recipient account who is <i>not</i> an Service Catalog Admin,
25
+ * but still has the ability to create Principals (Users/Groups/Roles), that user could create a role that matches a principal
26
+ * name association for the portfolio. Although this user may not know which principal names are associated through
27
+ * Service Catalog, they may be able to guess the user. If this potential escalation path is a concern, then
28
+ * Service Catalog recommends using <code>PrincipalType</code> as <code>IAM</code>. With this configuration,
29
+ * the <code>PrincipalARN</code> must already exist in the recipient account before it can be associated. </p>
30
+ * </note>
20
31
  * @example
21
32
  * Use a bare-bones client and the command you need to make an API call.
22
33
  * ```javascript
@@ -10,6 +10,13 @@ export interface DisassociatePrincipalFromPortfolioCommandOutput extends Disasso
10
10
  /**
11
11
  * <p>Disassociates a previously associated principal ARN from a specified
12
12
  * portfolio.</p>
13
+ * <p>The <code>PrincipalType</code> and <code>PrincipalARN</code> must match the
14
+ * <code>AssociatePrincipalWithPortfolio</code> call request details. For example,
15
+ * to disassociate an association created with a <code>PrincipalARN</code> of <code>PrincipalType</code>
16
+ * IAM you must use the <code>PrincipalType</code> IAM when calling <code>DisassociatePrincipalFromPortfolio</code>. </p>
17
+ * <p>For portfolios that have been shared with principal name sharing enabled: after disassociating a principal,
18
+ * share recipient accounts will no longer be able to provision products in this portfolio using a role matching the name
19
+ * of the associated principal. </p>
13
20
  * @example
14
21
  * Use a bare-bones client and the command you need to make an API call.
15
22
  * ```javascript
@@ -8,9 +8,9 @@ export interface ImportAsProvisionedProductCommandInput extends ImportAsProvisio
8
8
  export interface ImportAsProvisionedProductCommandOutput extends ImportAsProvisionedProductOutput, __MetadataBearer {
9
9
  }
10
10
  /**
11
- * <p>Requests the import of a resource as a Amazon Web Services Service Catalog provisioned product that is
12
- * associated to a Amazon Web Services Service Catalog product and provisioning artifact. Once imported, all
13
- * supported Amazon Web Services Service Catalog governance actions are supported on the provisioned
11
+ * <p>Requests the import of a resource as an Service Catalog provisioned product that is
12
+ * associated to an Service Catalog product and provisioning artifact. Once imported, all
13
+ * supported Service Catalog governance actions are supported on the provisioned
14
14
  * product.</p>
15
15
  * <p>Resource import only supports CloudFormation stack ARNs. CloudFormation StackSets and
16
16
  * non-root nested stacks are not supported.</p>
@@ -18,7 +18,7 @@ export interface ImportAsProvisionedProductCommandOutput extends ImportAsProvisi
18
18
  * <code>CREATE_COMPLETE</code>, <code>UPDATE_COMPLETE</code>, <code>UPDATE_ROLLBACK_COMPLETE</code>, <code>IMPORT_COMPLETE</code>,
19
19
  * <code>IMPORT_ROLLBACK_COMPLETE</code>.</p>
20
20
  * <p>Import of the resource requires that the CloudFormation stack template matches the
21
- * associated Amazon Web Services Service Catalog product provisioning artifact. </p>
21
+ * associated Service Catalog product provisioning artifact. </p>
22
22
  *
23
23
  * <p>The user or role that performs this operation must have the <code>cloudformation:GetTemplate</code>
24
24
  * and <code>cloudformation:DescribeStacks</code> IAM policy permissions. </p>
@@ -8,7 +8,7 @@ export interface ListPrincipalsForPortfolioCommandInput extends ListPrincipalsFo
8
8
  export interface ListPrincipalsForPortfolioCommandOutput extends ListPrincipalsForPortfolioOutput, __MetadataBearer {
9
9
  }
10
10
  /**
11
- * <p>Lists all principal ARNs associated with the specified portfolio.</p>
11
+ * <p>Lists all <code>PrincipalARN</code>s and corresponding <code>PrincipalType</code>s associated with the specified portfolio.</p>
12
12
  * @example
13
13
  * Use a bare-bones client and the command you need to make an API call.
14
14
  * ```javascript
@@ -8,15 +8,26 @@ export interface UpdatePortfolioShareCommandInput extends UpdatePortfolioShareIn
8
8
  export interface UpdatePortfolioShareCommandOutput extends UpdatePortfolioShareOutput, __MetadataBearer {
9
9
  }
10
10
  /**
11
- * <p>Updates the specified portfolio share. You can use this API to enable or disable TagOptions sharing for an existing portfolio share. </p>
11
+ * <p>Updates the specified portfolio share. You can use this API to enable or disable <code>TagOptions</code> sharing
12
+ * or Principal sharing for an existing portfolio share. </p>
12
13
  *
13
- * <p>The portfolio share cannot be updated if the <code> CreatePortfolioShare</code> operation is <code>IN_PROGRESS</code>, as the share is not available to recipient entities. In this case, you must wait for the portfolio share to be COMPLETED.</p>
14
+ * <p>The portfolio share cannot be updated if the <code>CreatePortfolioShare</code> operation is <code>IN_PROGRESS</code>, as the share is not available to recipient entities. In this case, you must wait for the portfolio share to be COMPLETED.</p>
14
15
  *
15
16
  * <p>You must provide the <code>accountId</code> or organization node in the input, but not both.</p>
16
17
  *
17
18
  * <p>If the portfolio is shared to both an external account and an organization node, and both shares need to be updated, you must invoke <code>UpdatePortfolioShare</code> separately for each share type. </p>
18
19
  *
19
20
  * <p>This API cannot be used for removing the portfolio share. You must use <code>DeletePortfolioShare</code> API for that action. </p>
21
+ *
22
+ * <note>
23
+ * <p>When you associate a principal with portfolio, a potential privilege escalation path may occur when that portfolio is
24
+ * then shared with other accounts. For a user in a recipient account who is <i>not</i> an Service Catalog Admin,
25
+ * but still has the ability to create Principals (Users/Groups/Roles), that user could create a role that matches a principal
26
+ * name association for the portfolio. Although this user may not know which principal names are associated through
27
+ * Service Catalog, they may be able to guess the user. If this potential escalation path is a concern, then
28
+ * Service Catalog recommends using <code>PrincipalType</code> as <code>IAM</code>. With this configuration,
29
+ * the <code>PrincipalARN</code> must already exist in the recipient account before it can be associated. </p>
30
+ * </note>
20
31
  * @example
21
32
  * Use a bare-bones client and the command you need to make an API call.
22
33
  * ```javascript