Interface IPortfolio.Jsii$Default

All Superinterfaces:
software.constructs.IConstruct, software.constructs.IConstruct.Jsii$Default, software.constructs.IDependable, software.constructs.IDependable.Jsii$Default, IEnvironmentAware, IEnvironmentAware.Jsii$Default, IPortfolio, IPortfolioRef, IPortfolioRef.Jsii$Default, 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, IPortfolioRef.Jsii$Default
Internal default implementation for IPortfolio.
  • Method Details

    • 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
    • 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 -
    • constrainTagUpdates

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

      Specified by:
      constrainTagUpdates in interface IPortfolio
      Parameters:
      product - This parameter is required.
    • 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 -
    • notifyOnStackEvents

      @Stability(Stable) default void notifyOnStackEvents(@NotNull IProduct product, @NotNull ITopic topic)
      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.
    • 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.
    • setLaunchRole

      @Stability(Stable) default void setLaunchRole(@NotNull IProduct product, @NotNull IRole launchRole)
      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.
    • 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.
    • setLocalLaunchRole

      @Stability(Stable) default 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 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.
    • 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.
    • setLocalLaunchRoleName

      @Stability(Stable) @NotNull default 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 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.
    • 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.
    • shareWithAccount

      @Stability(Stable) default void shareWithAccount(@NotNull String accountId)
      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.