Class Portfolio
- All Implemented Interfaces:
IConstruct
,IDependable
,IResource
,IPortfolio
,software.amazon.jsii.JsiiSerializable
,software.constructs.IConstruct
Example:
Portfolio.Builder.create(this, "Portfolio") .displayName("MyPortfolio") .providerName("MyTeam") .build();
-
Nested Class Summary
Nested classes/interfaces inherited from class software.amazon.jsii.JsiiObject
software.amazon.jsii.JsiiObject.InitializationMode
Nested classes/interfaces inherited from interface software.amazon.awscdk.core.IConstruct
IConstruct.Jsii$Default
Nested classes/interfaces inherited from interface software.constructs.IConstruct
software.constructs.IConstruct.Jsii$Default
Nested classes/interfaces inherited from interface software.amazon.awscdk.services.servicecatalog.IPortfolio
IPortfolio.Jsii$Default, IPortfolio.Jsii$Proxy
Nested classes/interfaces inherited from interface software.amazon.awscdk.core.IResource
IResource.Jsii$Default
-
Constructor Summary
ModifierConstructorDescriptionprotected
Portfolio
(software.amazon.jsii.JsiiObject.InitializationMode initializationMode) protected
Portfolio
(software.amazon.jsii.JsiiObjectRef objRef) Portfolio
(software.constructs.Construct scope, String id, PortfolioProps props) -
Method Summary
Modifier and TypeMethodDescriptionvoid
addProduct
(IProduct product) Associate portfolio with the given product.void
associateTagOptions
(TagOptions tagOptions) Associate Tag Options.void
constrainCloudFormationParameters
(IProduct product, CloudFormationRuleConstraintOptions options) Set provisioning rules for the product.void
constrainTagUpdates
(IProduct product) Add a Resource Update Constraint.void
constrainTagUpdates
(IProduct product, TagUpdateConstraintOptions options) Add a Resource Update Constraint.void
deployWithStackSets
(IProduct product, StackSetsConstraintOptions options) Configure deployment options using AWS Cloudformation StackSets.static IPortfolio
fromPortfolioArn
(software.constructs.Construct scope, String id, String portfolioArn) Creates a Portfolio construct that represents an external portfolio.protected String
generateUniqueHash
(String value) Create a unique id based off the L1 CfnPortfolio or the arn of an imported portfolio.The ARN of the portfolio.The ID of the portfolio.void
giveAccessToGroup
(IGroup group) Associate portfolio with an IAM Group.void
giveAccessToRole
(IRole role) Associate portfolio with an IAM Role.void
giveAccessToUser
(IUser user) Associate portfolio with an IAM User.void
notifyOnStackEvents
(IProduct product, ITopic topic) Add notifications for supplied topics on the provisioned product.void
notifyOnStackEvents
(IProduct product, ITopic topic, CommonConstraintOptions options) Add notifications for supplied topics on the provisioned product.void
setLaunchRole
(IProduct product, IRole launchRole) Force users to assume a certain role when launching a product.void
setLaunchRole
(IProduct product, IRole launchRole, CommonConstraintOptions options) Force users to assume a certain role when launching a product.void
setLocalLaunchRole
(IProduct product, IRole launchRole) Force users to assume a certain role when launching a product.void
setLocalLaunchRole
(IProduct product, IRole launchRole, CommonConstraintOptions options) Force users to assume a certain role when launching a product.setLocalLaunchRoleName
(IProduct product, String launchRoleName) Force users to assume a certain role when launching a product.setLocalLaunchRoleName
(IProduct product, String launchRoleName, CommonConstraintOptions options) Force users to assume a certain role when launching a product.void
shareWithAccount
(String accountId) Initiate a portfolio share with another account.void
shareWithAccount
(String accountId, PortfolioShareOptions options) Initiate a portfolio share with another account.Methods inherited from class software.amazon.awscdk.core.Resource
applyRemovalPolicy, generatePhysicalName, getEnv, getPhysicalName, getResourceArnAttribute, getResourceNameAttribute, getStack, isResource
Methods inherited from class software.amazon.awscdk.core.Construct
getNode, isConstruct, onPrepare, onSynthesize, onValidate, prepare, synthesize, validate
Methods inherited from class software.constructs.Construct
toString
Methods inherited from class software.amazon.jsii.JsiiObject
jsiiAsyncCall, jsiiAsyncCall, jsiiCall, jsiiCall, jsiiGet, jsiiGet, jsiiSet, jsiiStaticCall, jsiiStaticCall, jsiiStaticGet, jsiiStaticGet, jsiiStaticSet, jsiiStaticSet
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
Methods inherited from interface software.amazon.awscdk.core.IConstruct
getNode
Methods inherited from interface software.amazon.awscdk.core.IResource
applyRemovalPolicy, getEnv, getStack
Methods inherited from interface software.amazon.jsii.JsiiSerializable
$jsii$toJson
-
Constructor Details
-
Portfolio
protected Portfolio(software.amazon.jsii.JsiiObjectRef objRef) -
Portfolio
protected Portfolio(software.amazon.jsii.JsiiObject.InitializationMode initializationMode) -
Portfolio
@Stability(Stable) public Portfolio(@NotNull software.constructs.Construct scope, @NotNull String id, @NotNull PortfolioProps props) - Parameters:
scope
- This parameter is required.id
- This parameter is required.props
- This parameter is required.
-
-
Method Details
-
fromPortfolioArn
@Stability(Stable) @NotNull public static IPortfolio fromPortfolioArn(@NotNull software.constructs.Construct scope, @NotNull String id, @NotNull String portfolioArn) Creates a Portfolio construct that represents an external portfolio.- Parameters:
scope
- The parent creating construct (usuallythis
). This parameter is required.id
- The construct's name. This parameter is required.portfolioArn
- the Amazon Resource Name of the existing portfolio. This parameter is required.
-
addProduct
Associate portfolio with the given product.- Specified by:
addProduct
in interfaceIPortfolio
- Parameters:
product
- This parameter is required.
-
associateTagOptions
Associate Tag Options.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.
- Specified by:
associateTagOptions
in interfaceIPortfolio
- Parameters:
tagOptions
- This parameter is required.
-
constrainCloudFormationParameters
@Stability(Stable) public void constrainCloudFormationParameters(@NotNull IProduct product, @NotNull CloudFormationRuleConstraintOptions options) Set provisioning rules for the product.- Specified by:
constrainCloudFormationParameters
in interfaceIPortfolio
- Parameters:
product
- This parameter is required.options
- This parameter is required.
-
constrainTagUpdates
@Stability(Stable) public void constrainTagUpdates(@NotNull IProduct product, @Nullable TagUpdateConstraintOptions options) Add a Resource Update Constraint.- Specified by:
constrainTagUpdates
in interfaceIPortfolio
- Parameters:
product
- This parameter is required.options
-
-
constrainTagUpdates
Add a Resource Update Constraint.- Specified by:
constrainTagUpdates
in interfaceIPortfolio
- Parameters:
product
- This parameter is required.
-
deployWithStackSets
@Stability(Stable) public void deployWithStackSets(@NotNull IProduct product, @NotNull StackSetsConstraintOptions options) Configure deployment options using AWS Cloudformation StackSets.- Specified by:
deployWithStackSets
in interfaceIPortfolio
- Parameters:
product
- This parameter is required.options
- This parameter is required.
-
generateUniqueHash
Create a unique id based off the L1 CfnPortfolio or the arn of an imported portfolio.- Parameters:
value
- This parameter is required.
-
giveAccessToGroup
Associate portfolio with an IAM Group.- Specified by:
giveAccessToGroup
in interfaceIPortfolio
- Parameters:
group
- This parameter is required.
-
giveAccessToRole
Associate portfolio with an IAM Role.- Specified by:
giveAccessToRole
in interfaceIPortfolio
- Parameters:
role
- This parameter is required.
-
giveAccessToUser
Associate portfolio with an IAM User.- Specified by:
giveAccessToUser
in interfaceIPortfolio
- Parameters:
user
- This parameter is required.
-
notifyOnStackEvents
@Stability(Stable) public void notifyOnStackEvents(@NotNull IProduct product, @NotNull ITopic topic, @Nullable CommonConstraintOptions options) Add notifications for supplied topics on the provisioned product.- Specified by:
notifyOnStackEvents
in interfaceIPortfolio
- Parameters:
product
- This parameter is required.topic
- This parameter is required.options
-
-
notifyOnStackEvents
@Stability(Stable) public void notifyOnStackEvents(@NotNull IProduct product, @NotNull ITopic topic) Add notifications for supplied topics on the provisioned product.- Specified by:
notifyOnStackEvents
in interfaceIPortfolio
- Parameters:
product
- This parameter is required.topic
- This parameter is required.
-
setLaunchRole
@Stability(Stable) public void setLaunchRole(@NotNull IProduct product, @NotNull IRole launchRole, @Nullable CommonConstraintOptions options) Force users to assume a certain role when launching a product.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.
- Specified by:
setLaunchRole
in interfaceIPortfolio
- Parameters:
product
- This parameter is required.launchRole
- This parameter is required.options
-
-
setLaunchRole
Force users to assume a certain role when launching a product.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.
- Specified by:
setLaunchRole
in interfaceIPortfolio
- Parameters:
product
- This parameter is required.launchRole
- This parameter is required.
-
setLocalLaunchRole
@Stability(Stable) public void setLocalLaunchRole(@NotNull IProduct product, @NotNull IRole launchRole, @Nullable CommonConstraintOptions options) Force users to assume a certain role when launching a product.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.
- Specified by:
setLocalLaunchRole
in interfaceIPortfolio
- Parameters:
product
- This parameter is required.launchRole
- This parameter is required.options
-
-
setLocalLaunchRole
@Stability(Stable) public void setLocalLaunchRole(@NotNull IProduct product, @NotNull IRole launchRole) Force users to assume a certain role when launching a product.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.
- Specified by:
setLocalLaunchRole
in interfaceIPortfolio
- Parameters:
product
- This parameter is required.launchRole
- This parameter is required.
-
setLocalLaunchRoleName
@Stability(Stable) @NotNull public IRole setLocalLaunchRoleName(@NotNull IProduct product, @NotNull String launchRoleName, @Nullable CommonConstraintOptions options) Force users to assume a certain role when launching a product.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.
- Specified by:
setLocalLaunchRoleName
in interfaceIPortfolio
- Parameters:
product
- This parameter is required.launchRoleName
- This parameter is required.options
-
-
setLocalLaunchRoleName
@Stability(Stable) @NotNull public IRole setLocalLaunchRoleName(@NotNull IProduct product, @NotNull String launchRoleName) Force users to assume a certain role when launching a product.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.
- Specified by:
setLocalLaunchRoleName
in interfaceIPortfolio
- Parameters:
product
- This parameter is required.launchRoleName
- This parameter is required.
-
getPortfolioArn
The ARN of the portfolio.- Specified by:
getPortfolioArn
in interfaceIPortfolio
-
getPortfolioId
The ID of the portfolio.- Specified by:
getPortfolioId
in interfaceIPortfolio
-