Interface IPortfolio.Jsii$Default

All Superinterfaces:
IConstruct, software.constructs.IConstruct, IConstruct.Jsii$Default, software.constructs.IConstruct.Jsii$Default, IDependable, IDependable.Jsii$Default, IPortfolio, IResource, IResource.Jsii$Default, software.amazon.jsii.JsiiSerializable
All Known Implementing Classes:
IPortfolio.Jsii$Proxy
Enclosing interface:
IPortfolio

@Internal public static interface IPortfolio.Jsii$Default extends IPortfolio, IResource.Jsii$Default
Internal default implementation for IPortfolio.
  • Method Details

    • getNode

      @Stability(Stable) @NotNull default ConstructNode getNode()
      The construct tree node for this construct.
      Specified by:
      getNode in interface IConstruct
      Specified by:
      getNode in interface IConstruct.Jsii$Default
      Specified by:
      getNode in interface IResource.Jsii$Default
    • getEnv

      @Stability(Stable) @NotNull default ResourceEnvironment getEnv()
      The environment this resource belongs to.

      For resources that are created and managed by the CDK (generally, those created by creating new class instances like Role, Bucket, etc.), this is always the same as the environment of the stack they belong to; however, for imported resources (those obtained from static methods like fromRoleArn, fromBucketName, etc.), that might be different than the stack they were imported into.

      Specified by:
      getEnv in interface IResource
      Specified by:
      getEnv in interface IResource.Jsii$Default
    • getStack

      @Stability(Stable) @NotNull default Stack getStack()
      The stack in which this resource is defined.
      Specified by:
      getStack in interface IResource
      Specified by:
      getStack in interface IResource.Jsii$Default
    • getPortfolioArn

      @Stability(Stable) @NotNull default String getPortfolioArn()
      The ARN of the portfolio.
      Specified by:
      getPortfolioArn in interface IPortfolio
    • getPortfolioId

      @Stability(Stable) @NotNull default String getPortfolioId()
      The ID of the portfolio.
      Specified by:
      getPortfolioId in interface IPortfolio
    • applyRemovalPolicy

      @Stability(Stable) default void applyRemovalPolicy(@NotNull RemovalPolicy policy)
      Apply the given removal policy to this resource.

      The Removal Policy controls what happens to this resource when it stops being managed by CloudFormation, either because you've removed it from the CDK application or because you've made a change that requires the resource to be replaced.

      The resource can be deleted (RemovalPolicy.DESTROY), or left in your AWS account for data recovery and cleanup later (RemovalPolicy.RETAIN).

      Specified by:
      applyRemovalPolicy in interface IResource
      Specified by:
      applyRemovalPolicy in interface IResource.Jsii$Default
      Parameters:
      policy - This parameter is required.
    • addProduct

      @Stability(Stable) default void addProduct(@NotNull IProduct product)
      Associate portfolio with the given product.

      Specified by:
      addProduct in interface IPortfolio
      Parameters:
      product - A service catalog produt. This parameter is required.
    • associateTagOptions

      @Stability(Stable) default void associateTagOptions(@NotNull TagOptions tagOptions)
      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 interface IPortfolio
      Parameters:
      tagOptions - This parameter is required.
    • constrainCloudFormationParameters

      @Stability(Stable) default void constrainCloudFormationParameters(@NotNull IProduct product, @NotNull CloudFormationRuleConstraintOptions options)
      Set provisioning rules for the product.

      Specified by:
      constrainCloudFormationParameters in interface IPortfolio
      Parameters:
      product - A service catalog product. This parameter is required.
      options - options for the constraint. This parameter is required.
    • constrainTagUpdates

      @Stability(Stable) default void constrainTagUpdates(@NotNull IProduct product, @Nullable TagUpdateConstraintOptions options)
      Add a Resource Update Constraint.

      Specified by:
      constrainTagUpdates in interface IPortfolio
      Parameters:
      product - This parameter is required.
      options -
    • deployWithStackSets

      @Stability(Stable) default void deployWithStackSets(@NotNull IProduct product, @NotNull StackSetsConstraintOptions options)
      Configure deployment options using AWS Cloudformation StackSets.

      Specified by:
      deployWithStackSets in interface IPortfolio
      Parameters:
      product - A service catalog product. This parameter is required.
      options - Configuration options for the constraint. This parameter is required.
    • giveAccessToGroup

      @Stability(Stable) default void giveAccessToGroup(@NotNull IGroup group)
      Associate portfolio with an IAM Group.

      Specified by:
      giveAccessToGroup in interface IPortfolio
      Parameters:
      group - an IAM Group. This parameter is required.
    • giveAccessToRole

      @Stability(Stable) default void giveAccessToRole(@NotNull IRole role)
      Associate portfolio with an IAM Role.

      Specified by:
      giveAccessToRole in interface IPortfolio
      Parameters:
      role - an IAM role. This parameter is required.
    • giveAccessToUser

      @Stability(Stable) default void giveAccessToUser(@NotNull IUser user)
      Associate portfolio with an IAM User.

      Specified by:
      giveAccessToUser in interface IPortfolio
      Parameters:
      user - an IAM user. This parameter is required.
    • notifyOnStackEvents

      @Stability(Stable) default void notifyOnStackEvents(@NotNull IProduct product, @NotNull ITopic topic, @Nullable CommonConstraintOptions options)
      Add notifications for supplied topics on the provisioned product.

      Specified by:
      notifyOnStackEvents in interface IPortfolio
      Parameters:
      product - A service catalog product. This parameter is required.
      topic - A SNS Topic to receive notifications on events related to the provisioned product. This parameter is required.
      options -
    • setLaunchRole

      @Stability(Stable) default 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 interface IPortfolio
      Parameters:
      product - A service catalog product. This parameter is required.
      launchRole - The IAM role a user must assume when provisioning the product. This parameter is required.
      options - options for the constraint.
    • setLocalLaunchRole

      @Stability(Stable) default 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 interface IPortfolio
      Parameters:
      product - A service catalog product. This parameter is required.
      launchRole - The IAM role a user must assume when provisioning the product. This parameter is required.
      options - options for the constraint.
    • setLocalLaunchRoleName

      @Stability(Stable) @NotNull default 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 interface IPortfolio
      Parameters:
      product - A service catalog product. This parameter is required.
      launchRoleName - The name of the IAM role a user must assume when provisioning the product. This parameter is required.
      options - options for the constraint.
    • shareWithAccount

      @Stability(Stable) default void shareWithAccount(@NotNull String accountId, @Nullable PortfolioShareOptions options)
      Initiate a portfolio share with another account.

      Specified by:
      shareWithAccount in interface IPortfolio
      Parameters:
      accountId - AWS account to share portfolio with. This parameter is required.
      options - Options for the initiate share.