Interface IPortfolio

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

@Generated(value="jsii-pacmak/1.98.0 (build 00b106d)", date="2024-05-24T02:42:44.746Z") @Stability(Stable) public interface IPortfolio extends software.amazon.jsii.JsiiSerializable, IResource
A Service Catalog portfolio.
  • Method Details

    • getPortfolioArn

      @Stability(Stable) @NotNull String getPortfolioArn()
      The ARN of the portfolio.
    • getPortfolioId

      @Stability(Stable) @NotNull String getPortfolioId()
      The ID of the portfolio.
    • addProduct

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

      Parameters:
      product - A service catalog produt. This parameter is required.
    • associateTagOptions

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

      Parameters:
      tagOptions - This parameter is required.
    • constrainCloudFormationParameters

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

      Parameters:
      product - A service catalog product. This parameter is required.
      options - options for the constraint. This parameter is required.
    • constrainTagUpdates

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

      Parameters:
      product - This parameter is required.
      options -
    • constrainTagUpdates

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

      Parameters:
      product - This parameter is required.
    • deployWithStackSets

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

      Parameters:
      product - A service catalog product. This parameter is required.
      options - Configuration options for the constraint. This parameter is required.
    • giveAccessToGroup

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

      Parameters:
      group - an IAM Group. This parameter is required.
    • giveAccessToRole

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

      Parameters:
      role - an IAM role. This parameter is required.
    • giveAccessToUser

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

      Parameters:
      user - an IAM user. This parameter is required.
    • notifyOnStackEvents

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

      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) void notifyOnStackEvents(@NotNull IProduct product, @NotNull ITopic topic)
      Add notifications for supplied topics on the provisioned product.

      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) 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.

      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) 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.

      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) 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.

      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) 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.

      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 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.

      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 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.

      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) void shareWithAccount(@NotNull String accountId, @Nullable PortfolioShareOptions options)
      Initiate a portfolio share with another account.

      Parameters:
      accountId - AWS account to share portfolio with. This parameter is required.
      options - Options for the initiate share.
    • shareWithAccount

      @Stability(Stable) void shareWithAccount(@NotNull String accountId)
      Initiate a portfolio share with another account.

      Parameters:
      accountId - AWS account to share portfolio with. This parameter is required.