import * as core from "@terrascript/core"; export interface PortfolioShareArgs extends core.ResourceArgs { /** * (Optional) Language code. Valid values: `en` (English), `jp` (Japanese), `zh` (Chinese). Default val * ue is `en`. */ acceptLanguage?: string | core.StringOut; /** * (Required) Portfolio identifier. */ portfolioId: string | core.StringOut; /** * (Required) Identifier of the principal with whom you will share the portfolio. Valid values AWS acco * unt IDs and ARNs of AWS Organizations and organizational units. */ principalId: string | core.StringOut; /** * (Optional) Whether to enable sharing of `aws_servicecatalog_tag_option` resources when creating the * portfolio share. */ shareTagOptions?: boolean | core.BooleanOut; /** * (Required) Type of portfolio share. Valid values are `ACCOUNT` (an external account), `ORGANIZATION` * (a share to every account in an organization), `ORGANIZATIONAL_UNIT`, `ORGANIZATION_MEMBER_ACCOUNT` * (a share to an account in an organization). */ type: string | core.StringOut; /** * (Optional) Whether to wait (up to the timeout) for the share to be accepted. Organizational shares a * re automatically accepted. */ waitForAcceptance?: boolean | core.BooleanOut; } export class PortfolioShare extends core.Resource { /** * (Optional) Language code. Valid values: `en` (English), `jp` (Japanese), `zh` (Chinese). Default val * ue is `en`. */ @core.attr(String) public acceptLanguage?: string | core.StringOut; /** * Whether the shared portfolio is imported by the recipient account. If the recipient is organizationa * l, the share is automatically imported, and the field is always set to true. */ @core.attr(Boolean, { computed: true }) public accepted!: boolean | core.BooleanOut; @core.attr(String, { computed: true }) public id!: string | core.StringOut; /** * (Required) Portfolio identifier. */ @core.attr(String) public portfolioId!: string | core.StringOut; /** * (Required) Identifier of the principal with whom you will share the portfolio. Valid values AWS acco * unt IDs and ARNs of AWS Organizations and organizational units. */ @core.attr(String) public principalId!: string | core.StringOut; /** * (Optional) Whether to enable sharing of `aws_servicecatalog_tag_option` resources when creating the * portfolio share. */ @core.attr(Boolean) public shareTagOptions?: boolean | core.BooleanOut; /** * (Required) Type of portfolio share. Valid values are `ACCOUNT` (an external account), `ORGANIZATION` * (a share to every account in an organization), `ORGANIZATIONAL_UNIT`, `ORGANIZATION_MEMBER_ACCOUNT` * (a share to an account in an organization). */ @core.attr(String) public type!: string | core.StringOut; /** * (Optional) Whether to wait (up to the timeout) for the share to be accepted. Organizational shares a * re automatically accepted. */ @core.attr(Boolean) public waitForAcceptance?: boolean | core.BooleanOut; constructor(name: string, args?: PortfolioShareArgs) { super(name, "aws_servicecatalog_portfolio_share", args); } public override getNamespace(): string { return "aws_servicecatalog"; } }