1. Packages
  2. AWS
  3. API Docs
  4. servicecatalog
  5. PortfolioShare
AWS v6.60.0 published on Tuesday, Nov 19, 2024 by Pulumi

aws.servicecatalog.PortfolioShare

Explore with Pulumi AI

aws logo
AWS v6.60.0 published on Tuesday, Nov 19, 2024 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

    import * as pulumi from "@pulumi/pulumi";
    import * as aws from "@pulumi/aws";
    
    const example = new aws.servicecatalog.PortfolioShare("example", {
        principalId: "012128675309",
        portfolioId: exampleAwsServicecatalogPortfolio.id,
        type: "ACCOUNT",
    });
    
    import pulumi
    import pulumi_aws as aws
    
    example = aws.servicecatalog.PortfolioShare("example",
        principal_id="012128675309",
        portfolio_id=example_aws_servicecatalog_portfolio["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(exampleAwsServicecatalogPortfolio.Id),
    			Type:        pulumi.String("ACCOUNT"),
    		})
    		if err != nil {
    			return err
    		}
    		return nil
    	})
    }
    
    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 = exampleAwsServicecatalogPortfolio.Id,
            Type = "ACCOUNT",
        });
    
    });
    
    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(exampleAwsServicecatalogPortfolio.id())
                .type("ACCOUNT")
                .build());
    
        }
    }
    
    resources:
      example:
        type: aws:servicecatalog:PortfolioShare
        properties:
          principalId: '012128675309'
          portfolioId: ${exampleAwsServicecatalogPortfolio.id}
          type: ACCOUNT
    

    Create PortfolioShare Resource

    Resources are created with functions called constructors. To learn more about declaring and configuring resources, see Resources.

    Constructor syntax

    new PortfolioShare(name: string, args: PortfolioShareArgs, opts?: CustomResourceOptions);
    @overload
    def PortfolioShare(resource_name: str,
                       args: PortfolioShareArgs,
                       opts: Optional[ResourceOptions] = None)
    
    @overload
    def PortfolioShare(resource_name: str,
                       opts: Optional[ResourceOptions] = None,
                       portfolio_id: Optional[str] = None,
                       principal_id: Optional[str] = None,
                       type: Optional[str] = None,
                       accept_language: Optional[str] = None,
                       share_principals: Optional[bool] = None,
                       share_tag_options: Optional[bool] = None,
                       wait_for_acceptance: Optional[bool] = 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.
    
    

    Parameters

    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.

    Constructor example

    The following reference example uses placeholder values for all input properties.

    var portfolioShareResource = new Aws.ServiceCatalog.PortfolioShare("portfolioShareResource", new()
    {
        PortfolioId = "string",
        PrincipalId = "string",
        Type = "string",
        AcceptLanguage = "string",
        SharePrincipals = false,
        ShareTagOptions = false,
        WaitForAcceptance = false,
    });
    
    example, err := servicecatalog.NewPortfolioShare(ctx, "portfolioShareResource", &servicecatalog.PortfolioShareArgs{
    	PortfolioId:       pulumi.String("string"),
    	PrincipalId:       pulumi.String("string"),
    	Type:              pulumi.String("string"),
    	AcceptLanguage:    pulumi.String("string"),
    	SharePrincipals:   pulumi.Bool(false),
    	ShareTagOptions:   pulumi.Bool(false),
    	WaitForAcceptance: pulumi.Bool(false),
    })
    
    var portfolioShareResource = new PortfolioShare("portfolioShareResource", PortfolioShareArgs.builder()
        .portfolioId("string")
        .principalId("string")
        .type("string")
        .acceptLanguage("string")
        .sharePrincipals(false)
        .shareTagOptions(false)
        .waitForAcceptance(false)
        .build());
    
    portfolio_share_resource = aws.servicecatalog.PortfolioShare("portfolioShareResource",
        portfolio_id="string",
        principal_id="string",
        type="string",
        accept_language="string",
        share_principals=False,
        share_tag_options=False,
        wait_for_acceptance=False)
    
    const portfolioShareResource = new aws.servicecatalog.PortfolioShare("portfolioShareResource", {
        portfolioId: "string",
        principalId: "string",
        type: "string",
        acceptLanguage: "string",
        sharePrincipals: false,
        shareTagOptions: false,
        waitForAcceptance: false,
    });
    
    type: aws:servicecatalog:PortfolioShare
    properties:
        acceptLanguage: string
        portfolioId: string
        principalId: string
        sharePrincipals: false
        shareTagOptions: false
        type: string
        waitForAcceptance: false
    

    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

    In Python, inputs that are objects can be passed either as argument classes or as dictionary literals.

    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
    

    To learn more about importing existing cloud resources, see Importing resources.

    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
    AWS v6.60.0 published on Tuesday, Nov 19, 2024 by Pulumi