1. Packages
  2. AWS Classic
  3. API Docs
  4. servicecatalog
  5. PortfolioShare

Try AWS Native preview for resources not in the classic version.

AWS Classic v6.2.1 published on Friday, Sep 22, 2023 by Pulumi

aws.servicecatalog.PortfolioShare

Explore with Pulumi AI

aws logo

Try AWS Native preview for resources not in the classic version.

AWS Classic v6.2.1 published on Friday, Sep 22, 2023 by Pulumi

    Manages a Service Catalog Portfolio Share. Shares the specified portfolio with the specified account or organization node. You can share portfolios to an organization, an organizational unit, or a specific account.

    If the portfolio share with the specified account or organization node already exists, using this resource to re-create the share will have no effect and will not return an error. You can then use this resource to update the share.

    NOTE: Shares to an organization node can only be created by the management account of an organization or by a delegated administrator. If a delegated admin is de-registered, they can no longer create portfolio shares.

    NOTE: AWSOrganizationsAccess must be enabled in order to create a portfolio share to an organization node.

    NOTE: You can’t share a shared resource, including portfolios that contain a shared product.

    Example Usage

    Basic Usage

    using System.Collections.Generic;
    using System.Linq;
    using Pulumi;
    using Aws = Pulumi.Aws;
    
    return await Deployment.RunAsync(() => 
    {
        var example = new Aws.ServiceCatalog.PortfolioShare("example", new()
        {
            PrincipalId = "012128675309",
            PortfolioId = aws_servicecatalog_portfolio.Example.Id,
            Type = "ACCOUNT",
        });
    
    });
    
    package main
    
    import (
    	"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/servicecatalog"
    	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    )
    
    func main() {
    	pulumi.Run(func(ctx *pulumi.Context) error {
    		_, err := servicecatalog.NewPortfolioShare(ctx, "example", &servicecatalog.PortfolioShareArgs{
    			PrincipalId: pulumi.String("012128675309"),
    			PortfolioId: pulumi.Any(aws_servicecatalog_portfolio.Example.Id),
    			Type:        pulumi.String("ACCOUNT"),
    		})
    		if err != nil {
    			return err
    		}
    		return nil
    	})
    }
    
    package generated_program;
    
    import com.pulumi.Context;
    import com.pulumi.Pulumi;
    import com.pulumi.core.Output;
    import com.pulumi.aws.servicecatalog.PortfolioShare;
    import com.pulumi.aws.servicecatalog.PortfolioShareArgs;
    import java.util.List;
    import java.util.ArrayList;
    import java.util.Map;
    import java.io.File;
    import java.nio.file.Files;
    import java.nio.file.Paths;
    
    public class App {
        public static void main(String[] args) {
            Pulumi.run(App::stack);
        }
    
        public static void stack(Context ctx) {
            var example = new PortfolioShare("example", PortfolioShareArgs.builder()        
                .principalId("012128675309")
                .portfolioId(aws_servicecatalog_portfolio.example().id())
                .type("ACCOUNT")
                .build());
    
        }
    }
    
    import pulumi
    import pulumi_aws as aws
    
    example = aws.servicecatalog.PortfolioShare("example",
        principal_id="012128675309",
        portfolio_id=aws_servicecatalog_portfolio["example"]["id"],
        type="ACCOUNT")
    
    import * as pulumi from "@pulumi/pulumi";
    import * as aws from "@pulumi/aws";
    
    const example = new aws.servicecatalog.PortfolioShare("example", {
        principalId: "012128675309",
        portfolioId: aws_servicecatalog_portfolio.example.id,
        type: "ACCOUNT",
    });
    
    resources:
      example:
        type: aws:servicecatalog:PortfolioShare
        properties:
          principalId: '012128675309'
          portfolioId: ${aws_servicecatalog_portfolio.example.id}
          type: ACCOUNT
    

    Create PortfolioShare Resource

    new PortfolioShare(name: string, args: PortfolioShareArgs, opts?: CustomResourceOptions);
    @overload
    def PortfolioShare(resource_name: str,
                       opts: Optional[ResourceOptions] = None,
                       accept_language: Optional[str] = None,
                       portfolio_id: Optional[str] = None,
                       principal_id: Optional[str] = None,
                       share_principals: Optional[bool] = None,
                       share_tag_options: Optional[bool] = None,
                       type: Optional[str] = None,
                       wait_for_acceptance: Optional[bool] = None)
    @overload
    def PortfolioShare(resource_name: str,
                       args: PortfolioShareArgs,
                       opts: Optional[ResourceOptions] = None)
    func NewPortfolioShare(ctx *Context, name string, args PortfolioShareArgs, opts ...ResourceOption) (*PortfolioShare, error)
    public PortfolioShare(string name, PortfolioShareArgs args, CustomResourceOptions? opts = null)
    public PortfolioShare(String name, PortfolioShareArgs args)
    public PortfolioShare(String name, PortfolioShareArgs args, CustomResourceOptions options)
    
    type: aws:servicecatalog:PortfolioShare
    properties: # The arguments to resource properties.
    options: # Bag of options to control resource's behavior.
    
    
    name string
    The unique name of the resource.
    args PortfolioShareArgs
    The arguments to resource properties.
    opts CustomResourceOptions
    Bag of options to control resource's behavior.
    resource_name str
    The unique name of the resource.
    args PortfolioShareArgs
    The arguments to resource properties.
    opts ResourceOptions
    Bag of options to control resource's behavior.
    ctx Context
    Context object for the current deployment.
    name string
    The unique name of the resource.
    args PortfolioShareArgs
    The arguments to resource properties.
    opts ResourceOption
    Bag of options to control resource's behavior.
    name string
    The unique name of the resource.
    args PortfolioShareArgs
    The arguments to resource properties.
    opts CustomResourceOptions
    Bag of options to control resource's behavior.
    name String
    The unique name of the resource.
    args PortfolioShareArgs
    The arguments to resource properties.
    options CustomResourceOptions
    Bag of options to control resource's behavior.

    PortfolioShare Resource Properties

    To learn more about resource properties and how to use them, see Inputs and Outputs in the Architecture and Concepts docs.

    Inputs

    The PortfolioShare resource accepts the following input properties:

    PortfolioId string

    Portfolio identifier.

    PrincipalId string

    Identifier of the principal with whom you will share the portfolio. Valid values AWS account IDs and ARNs of AWS Organizations and organizational units.

    Type string

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

    The following arguments are optional:

    AcceptLanguage string

    Language code. Valid values: en (English), jp (Japanese), zh (Chinese). Default value is en.

    SharePrincipals bool

    Enables or disables Principal sharing when creating the portfolio share. If this flag is not provided, principal sharing is disabled.

    ShareTagOptions bool

    Whether to enable sharing of aws.servicecatalog.TagOption resources when creating the portfolio share.

    WaitForAcceptance bool

    Whether to wait (up to the timeout) for the share to be accepted. Organizational shares are automatically accepted.

    PortfolioId string

    Portfolio identifier.

    PrincipalId string

    Identifier of the principal with whom you will share the portfolio. Valid values AWS account IDs and ARNs of AWS Organizations and organizational units.

    Type string

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

    The following arguments are optional:

    AcceptLanguage string

    Language code. Valid values: en (English), jp (Japanese), zh (Chinese). Default value is en.

    SharePrincipals bool

    Enables or disables Principal sharing when creating the portfolio share. If this flag is not provided, principal sharing is disabled.

    ShareTagOptions bool

    Whether to enable sharing of aws.servicecatalog.TagOption resources when creating the portfolio share.

    WaitForAcceptance bool

    Whether to wait (up to the timeout) for the share to be accepted. Organizational shares are automatically accepted.

    portfolioId String

    Portfolio identifier.

    principalId String

    Identifier of the principal with whom you will share the portfolio. Valid values AWS account IDs and ARNs of AWS Organizations and organizational units.

    type String

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

    The following arguments are optional:

    acceptLanguage String

    Language code. Valid values: en (English), jp (Japanese), zh (Chinese). Default value is en.

    sharePrincipals Boolean

    Enables or disables Principal sharing when creating the portfolio share. If this flag is not provided, principal sharing is disabled.

    shareTagOptions Boolean

    Whether to enable sharing of aws.servicecatalog.TagOption resources when creating the portfolio share.

    waitForAcceptance Boolean

    Whether to wait (up to the timeout) for the share to be accepted. Organizational shares are automatically accepted.

    portfolioId string

    Portfolio identifier.

    principalId string

    Identifier of the principal with whom you will share the portfolio. Valid values AWS account IDs and ARNs of AWS Organizations and organizational units.

    type string

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

    The following arguments are optional:

    acceptLanguage string

    Language code. Valid values: en (English), jp (Japanese), zh (Chinese). Default value is en.

    sharePrincipals boolean

    Enables or disables Principal sharing when creating the portfolio share. If this flag is not provided, principal sharing is disabled.

    shareTagOptions boolean

    Whether to enable sharing of aws.servicecatalog.TagOption resources when creating the portfolio share.

    waitForAcceptance boolean

    Whether to wait (up to the timeout) for the share to be accepted. Organizational shares are automatically accepted.

    portfolio_id str

    Portfolio identifier.

    principal_id str

    Identifier of the principal with whom you will share the portfolio. Valid values AWS account IDs and ARNs of AWS Organizations and organizational units.

    type str

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

    The following arguments are optional:

    accept_language str

    Language code. Valid values: en (English), jp (Japanese), zh (Chinese). Default value is en.

    share_principals bool

    Enables or disables Principal sharing when creating the portfolio share. If this flag is not provided, principal sharing is disabled.

    share_tag_options bool

    Whether to enable sharing of aws.servicecatalog.TagOption resources when creating the portfolio share.

    wait_for_acceptance bool

    Whether to wait (up to the timeout) for the share to be accepted. Organizational shares are automatically accepted.

    portfolioId String

    Portfolio identifier.

    principalId String

    Identifier of the principal with whom you will share the portfolio. Valid values AWS account IDs and ARNs of AWS Organizations and organizational units.

    type String

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

    The following arguments are optional:

    acceptLanguage String

    Language code. Valid values: en (English), jp (Japanese), zh (Chinese). Default value is en.

    sharePrincipals Boolean

    Enables or disables Principal sharing when creating the portfolio share. If this flag is not provided, principal sharing is disabled.

    shareTagOptions Boolean

    Whether to enable sharing of aws.servicecatalog.TagOption resources when creating the portfolio share.

    waitForAcceptance Boolean

    Whether to wait (up to the timeout) for the share to be accepted. Organizational shares are automatically accepted.

    Outputs

    All input properties are implicitly available as output properties. Additionally, the PortfolioShare resource produces the following output properties:

    Accepted bool

    Whether the shared portfolio is imported by the recipient account. If the recipient is organizational, the share is automatically imported, and the field is always set to true.

    Id string

    The provider-assigned unique ID for this managed resource.

    Accepted bool

    Whether the shared portfolio is imported by the recipient account. If the recipient is organizational, the share is automatically imported, and the field is always set to true.

    Id string

    The provider-assigned unique ID for this managed resource.

    accepted Boolean

    Whether the shared portfolio is imported by the recipient account. If the recipient is organizational, the share is automatically imported, and the field is always set to true.

    id String

    The provider-assigned unique ID for this managed resource.

    accepted boolean

    Whether the shared portfolio is imported by the recipient account. If the recipient is organizational, the share is automatically imported, and the field is always set to true.

    id string

    The provider-assigned unique ID for this managed resource.

    accepted bool

    Whether the shared portfolio is imported by the recipient account. If the recipient is organizational, the share is automatically imported, and the field is always set to true.

    id str

    The provider-assigned unique ID for this managed resource.

    accepted Boolean

    Whether the shared portfolio is imported by the recipient account. If the recipient is organizational, the share is automatically imported, and the field is always set to true.

    id String

    The provider-assigned unique ID for this managed resource.

    Look up Existing PortfolioShare Resource

    Get an existing PortfolioShare resource’s state with the given name, ID, and optional extra properties used to qualify the lookup.

    public static get(name: string, id: Input<ID>, state?: PortfolioShareState, opts?: CustomResourceOptions): PortfolioShare
    @staticmethod
    def get(resource_name: str,
            id: str,
            opts: Optional[ResourceOptions] = None,
            accept_language: Optional[str] = None,
            accepted: Optional[bool] = None,
            portfolio_id: Optional[str] = None,
            principal_id: Optional[str] = None,
            share_principals: Optional[bool] = None,
            share_tag_options: Optional[bool] = None,
            type: Optional[str] = None,
            wait_for_acceptance: Optional[bool] = None) -> PortfolioShare
    func GetPortfolioShare(ctx *Context, name string, id IDInput, state *PortfolioShareState, opts ...ResourceOption) (*PortfolioShare, error)
    public static PortfolioShare Get(string name, Input<string> id, PortfolioShareState? state, CustomResourceOptions? opts = null)
    public static PortfolioShare get(String name, Output<String> id, PortfolioShareState state, CustomResourceOptions options)
    Resource lookup is not supported in YAML
    name
    The unique name of the resulting resource.
    id
    The unique provider ID of the resource to lookup.
    state
    Any extra arguments used during the lookup.
    opts
    A bag of options that control this resource's behavior.
    resource_name
    The unique name of the resulting resource.
    id
    The unique provider ID of the resource to lookup.
    name
    The unique name of the resulting resource.
    id
    The unique provider ID of the resource to lookup.
    state
    Any extra arguments used during the lookup.
    opts
    A bag of options that control this resource's behavior.
    name
    The unique name of the resulting resource.
    id
    The unique provider ID of the resource to lookup.
    state
    Any extra arguments used during the lookup.
    opts
    A bag of options that control this resource's behavior.
    name
    The unique name of the resulting resource.
    id
    The unique provider ID of the resource to lookup.
    state
    Any extra arguments used during the lookup.
    opts
    A bag of options that control this resource's behavior.
    The following state arguments are supported:
    AcceptLanguage string

    Language code. Valid values: en (English), jp (Japanese), zh (Chinese). Default value is en.

    Accepted bool

    Whether the shared portfolio is imported by the recipient account. If the recipient is organizational, the share is automatically imported, and the field is always set to true.

    PortfolioId string

    Portfolio identifier.

    PrincipalId string

    Identifier of the principal with whom you will share the portfolio. Valid values AWS account IDs and ARNs of AWS Organizations and organizational units.

    SharePrincipals bool

    Enables or disables Principal sharing when creating the portfolio share. If this flag is not provided, principal sharing is disabled.

    ShareTagOptions bool

    Whether to enable sharing of aws.servicecatalog.TagOption resources when creating the portfolio share.

    Type string

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

    The following arguments are optional:

    WaitForAcceptance bool

    Whether to wait (up to the timeout) for the share to be accepted. Organizational shares are automatically accepted.

    AcceptLanguage string

    Language code. Valid values: en (English), jp (Japanese), zh (Chinese). Default value is en.

    Accepted bool

    Whether the shared portfolio is imported by the recipient account. If the recipient is organizational, the share is automatically imported, and the field is always set to true.

    PortfolioId string

    Portfolio identifier.

    PrincipalId string

    Identifier of the principal with whom you will share the portfolio. Valid values AWS account IDs and ARNs of AWS Organizations and organizational units.

    SharePrincipals bool

    Enables or disables Principal sharing when creating the portfolio share. If this flag is not provided, principal sharing is disabled.

    ShareTagOptions bool

    Whether to enable sharing of aws.servicecatalog.TagOption resources when creating the portfolio share.

    Type string

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

    The following arguments are optional:

    WaitForAcceptance bool

    Whether to wait (up to the timeout) for the share to be accepted. Organizational shares are automatically accepted.

    acceptLanguage String

    Language code. Valid values: en (English), jp (Japanese), zh (Chinese). Default value is en.

    accepted Boolean

    Whether the shared portfolio is imported by the recipient account. If the recipient is organizational, the share is automatically imported, and the field is always set to true.

    portfolioId String

    Portfolio identifier.

    principalId String

    Identifier of the principal with whom you will share the portfolio. Valid values AWS account IDs and ARNs of AWS Organizations and organizational units.

    sharePrincipals Boolean

    Enables or disables Principal sharing when creating the portfolio share. If this flag is not provided, principal sharing is disabled.

    shareTagOptions Boolean

    Whether to enable sharing of aws.servicecatalog.TagOption resources when creating the portfolio share.

    type String

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

    The following arguments are optional:

    waitForAcceptance Boolean

    Whether to wait (up to the timeout) for the share to be accepted. Organizational shares are automatically accepted.

    acceptLanguage string

    Language code. Valid values: en (English), jp (Japanese), zh (Chinese). Default value is en.

    accepted boolean

    Whether the shared portfolio is imported by the recipient account. If the recipient is organizational, the share is automatically imported, and the field is always set to true.

    portfolioId string

    Portfolio identifier.

    principalId string

    Identifier of the principal with whom you will share the portfolio. Valid values AWS account IDs and ARNs of AWS Organizations and organizational units.

    sharePrincipals boolean

    Enables or disables Principal sharing when creating the portfolio share. If this flag is not provided, principal sharing is disabled.

    shareTagOptions boolean

    Whether to enable sharing of aws.servicecatalog.TagOption resources when creating the portfolio share.

    type string

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

    The following arguments are optional:

    waitForAcceptance boolean

    Whether to wait (up to the timeout) for the share to be accepted. Organizational shares are automatically accepted.

    accept_language str

    Language code. Valid values: en (English), jp (Japanese), zh (Chinese). Default value is en.

    accepted bool

    Whether the shared portfolio is imported by the recipient account. If the recipient is organizational, the share is automatically imported, and the field is always set to true.

    portfolio_id str

    Portfolio identifier.

    principal_id str

    Identifier of the principal with whom you will share the portfolio. Valid values AWS account IDs and ARNs of AWS Organizations and organizational units.

    share_principals bool

    Enables or disables Principal sharing when creating the portfolio share. If this flag is not provided, principal sharing is disabled.

    share_tag_options bool

    Whether to enable sharing of aws.servicecatalog.TagOption resources when creating the portfolio share.

    type str

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

    The following arguments are optional:

    wait_for_acceptance bool

    Whether to wait (up to the timeout) for the share to be accepted. Organizational shares are automatically accepted.

    acceptLanguage String

    Language code. Valid values: en (English), jp (Japanese), zh (Chinese). Default value is en.

    accepted Boolean

    Whether the shared portfolio is imported by the recipient account. If the recipient is organizational, the share is automatically imported, and the field is always set to true.

    portfolioId String

    Portfolio identifier.

    principalId String

    Identifier of the principal with whom you will share the portfolio. Valid values AWS account IDs and ARNs of AWS Organizations and organizational units.

    sharePrincipals Boolean

    Enables or disables Principal sharing when creating the portfolio share. If this flag is not provided, principal sharing is disabled.

    shareTagOptions Boolean

    Whether to enable sharing of aws.servicecatalog.TagOption resources when creating the portfolio share.

    type String

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

    The following arguments are optional:

    waitForAcceptance Boolean

    Whether to wait (up to the timeout) for the share to be accepted. Organizational shares are automatically accepted.

    Import

    Using pulumi import, import aws_servicecatalog_portfolio_share using the portfolio share ID. For example:

     $ pulumi import aws:servicecatalog/portfolioShare:PortfolioShare example port-12344321:ACCOUNT:123456789012
    

    Package Details

    Repository
    AWS Classic pulumi/pulumi-aws
    License
    Apache-2.0
    Notes

    This Pulumi package is based on the aws Terraform Provider.

    aws logo

    Try AWS Native preview for resources not in the classic version.

    AWS Classic v6.2.1 published on Friday, Sep 22, 2023 by Pulumi