Interface IPortfolio
A Service Catalog portfolio.
Namespace: Amazon.CDK.AWS.Servicecatalog
Assembly: Amazon.CDK.Lib.dll
Syntax (csharp)
public interface IPortfolio : IResource
Syntax (vb)
Public Interface IPortfolio
Inherits IResource, IConstruct, IDependable
Synopsis
Properties
PortfolioArn | The ARN of the portfolio. |
PortfolioId | The ID of the portfolio. |
Methods
AddProduct(IProduct) | Associate portfolio with the given product. |
AssociateTagOptions(TagOptions) | Associate Tag Options. |
ConstrainCloudFormationParameters(IProduct, ICloudFormationRuleConstraintOptions) | Set provisioning rules for the product. |
ConstrainTagUpdates(IProduct, ITagUpdateConstraintOptions) | Add a Resource Update Constraint. |
DeployWithStackSets(IProduct, IStackSetsConstraintOptions) | Configure deployment options using AWS Cloudformation StackSets. |
GiveAccessToGroup(IGroup) | Associate portfolio with an IAM Group. |
GiveAccessToRole(IRole) | Associate portfolio with an IAM Role. |
GiveAccessToUser(IUser) | Associate portfolio with an IAM User. |
NotifyOnStackEvents(IProduct, ITopic, ICommonConstraintOptions) | Add notifications for supplied topics on the provisioned product. |
SetLaunchRole(IProduct, IRole, ICommonConstraintOptions) | Force users to assume a certain role when launching a product. |
SetLocalLaunchRole(IProduct, IRole, ICommonConstraintOptions) | Force users to assume a certain role when launching a product. |
SetLocalLaunchRoleName(IProduct, String, ICommonConstraintOptions) | Force users to assume a certain role when launching a product. |
ShareWithAccount(String, IPortfolioShareOptions) | Initiate a portfolio share with another account. |
Properties
PortfolioArn
The ARN of the portfolio.
string PortfolioArn { get; }
Property Value
System.String
Remarks
Attribute: true
PortfolioId
The ID of the portfolio.
string PortfolioId { get; }
Property Value
System.String
Remarks
Attribute: true
Methods
AddProduct(IProduct)
Associate portfolio with the given product.
void AddProduct(IProduct product)
Parameters
- product IProduct
A service catalog produt.
AssociateTagOptions(TagOptions)
Associate Tag Options.
void AssociateTagOptions(TagOptions tagOptions)
Parameters
- tagOptions TagOptions
Remarks
A TagOption is a key-value pair managed in AWS Service Catalog. It is not an AWS tag, but serves as a template for creating an AWS tag based on the TagOption.
ConstrainCloudFormationParameters(IProduct, ICloudFormationRuleConstraintOptions)
Set provisioning rules for the product.
void ConstrainCloudFormationParameters(IProduct product, ICloudFormationRuleConstraintOptions options)
Parameters
- product IProduct
A service catalog product.
- options ICloudFormationRuleConstraintOptions
options for the constraint.
ConstrainTagUpdates(IProduct, ITagUpdateConstraintOptions)
Add a Resource Update Constraint.
void ConstrainTagUpdates(IProduct product, ITagUpdateConstraintOptions options = null)
Parameters
- product IProduct
- options ITagUpdateConstraintOptions
DeployWithStackSets(IProduct, IStackSetsConstraintOptions)
Configure deployment options using AWS Cloudformation StackSets.
void DeployWithStackSets(IProduct product, IStackSetsConstraintOptions options)
Parameters
- product IProduct
A service catalog product.
- options IStackSetsConstraintOptions
Configuration options for the constraint.
GiveAccessToGroup(IGroup)
Associate portfolio with an IAM Group.
void GiveAccessToGroup(IGroup group)
Parameters
- group IGroup
an IAM Group.
GiveAccessToRole(IRole)
Associate portfolio with an IAM Role.
void GiveAccessToRole(IRole role)
Parameters
- role IRole
an IAM role.
GiveAccessToUser(IUser)
Associate portfolio with an IAM User.
void GiveAccessToUser(IUser user)
Parameters
- user IUser
an IAM user.
NotifyOnStackEvents(IProduct, ITopic, ICommonConstraintOptions)
Add notifications for supplied topics on the provisioned product.
void NotifyOnStackEvents(IProduct product, ITopic topic, ICommonConstraintOptions options = null)
Parameters
- product IProduct
A service catalog product.
- topic ITopic
A SNS Topic to receive notifications on events related to the provisioned product.
- options ICommonConstraintOptions
A service catalog product.
SetLaunchRole(IProduct, IRole, ICommonConstraintOptions)
Force users to assume a certain role when launching a product.
void SetLaunchRole(IProduct product, IRole launchRole, ICommonConstraintOptions options = null)
Parameters
- product IProduct
A service catalog product.
- launchRole IRole
The IAM role a user must assume when provisioning the product.
- options ICommonConstraintOptions
options for the constraint.
Remarks
This sets the launch role using the role arn which is tied to the account this role exists in. This is useful if you will be provisioning products from the account where this role exists. If you intend to share the portfolio across accounts, use a local launch role.
SetLocalLaunchRole(IProduct, IRole, ICommonConstraintOptions)
Force users to assume a certain role when launching a product.
void SetLocalLaunchRole(IProduct product, IRole launchRole, ICommonConstraintOptions options = null)
Parameters
- product IProduct
A service catalog product.
- launchRole IRole
The IAM role a user must assume when provisioning the product.
- options ICommonConstraintOptions
options for the constraint.
Remarks
The role name will be referenced by in the local account and must be set explicitly. This is useful when sharing the portfolio with multiple accounts.
SetLocalLaunchRoleName(IProduct, String, ICommonConstraintOptions)
Force users to assume a certain role when launching a product.
IRole SetLocalLaunchRoleName(IProduct product, string launchRoleName, ICommonConstraintOptions options = null)
Parameters
- product IProduct
A service catalog product.
- launchRoleName System.String
The name of the IAM role a user must assume when provisioning the product.
- options ICommonConstraintOptions
options for the constraint.
Returns
Remarks
The role will be referenced by name in the local account instead of a static role arn. A role with this name will automatically be created and assumable by Service Catalog in this account. This is useful when sharing the portfolio with multiple accounts.
ShareWithAccount(String, IPortfolioShareOptions)
Initiate a portfolio share with another account.
void ShareWithAccount(string accountId, IPortfolioShareOptions options = null)
Parameters
- accountId System.String
AWS account to share portfolio with.
- options IPortfolioShareOptions
Options for the initiate share.