This page documents the language specification for the aws package. If you're looking for help working with the inputs, outputs, or functions of aws resources in a Pulumi program, please see the resource documentation for examples and API reference.

ram

This provider is a derived work of the Terraform Provider distributed under MPL 2.0. If you encounter a bug or missing feature, first check the pulumi/pulumi-aws repo; however, if that doesn’t turn up anything, please consult the source terraform-providers/terraform-provider-aws repo.

class pulumi_aws.ram.AwaitableGetResourceShareResult(arn=None, filters=None, id=None, name=None, owning_account_id=None, resource_owner=None, status=None, tags=None)
class pulumi_aws.ram.GetResourceShareResult(arn=None, filters=None, id=None, name=None, owning_account_id=None, resource_owner=None, status=None, tags=None)

A collection of values returned by getResourceShare.

arn = None

The Amazon Resource Name (ARN) of the resource share.

id = None

The provider-assigned unique ID for this managed resource.

owning_account_id = None

The ID of the AWS account that owns the resource share.

status = None

The Status of the RAM share.

tags = None

The Tags attached to the RAM share

class pulumi_aws.ram.PrincipalAssociation(resource_name, opts=None, principal=None, resource_share_arn=None, __props__=None, __name__=None, __opts__=None)

Provides a Resource Access Manager (RAM) principal association. Depending if RAM Sharing with AWS Organizations is enabled, the RAM behavior with different principal types changes.

When RAM Sharing with AWS Organizations is enabled:

  • For AWS Account ID, Organization, and Organizational Unit principals within the same AWS Organization, no resource share invitation is sent and resources become available automatically after creating the association.

  • For AWS Account ID principals outside the AWS Organization, a resource share invitation is sent and must be accepted before resources become available. See the ram.ResourceShareAccepter resource to accept these invitations.

When RAM Sharing with AWS Organizations is not enabled:

  • Organization and Organizational Unit principals cannot be used.

  • For AWS Account ID principals, a resource share invitation is sent and must be accepted before resources become available. See the ram.ResourceShareAccepter resource to accept these invitations.

import pulumi
import pulumi_aws as aws

example_resource_share = aws.ram.ResourceShare("exampleResourceShare", allow_external_principals=True)
example_principal_association = aws.ram.PrincipalAssociation("examplePrincipalAssociation",
    principal="111111111111",
    resource_share_arn=example_resource_share.arn)
import pulumi
import pulumi_aws as aws

example = aws.ram.PrincipalAssociation("example",
    principal=aws_organizations_organization["example"]["arn"],
    resource_share_arn=aws_ram_resource_share["example"]["arn"])
Parameters
  • resource_name (str) – The name of the resource.

  • opts (pulumi.ResourceOptions) – Options for the resource.

  • principal (pulumi.Input[str]) – The principal to associate with the resource share. Possible values are an AWS account ID, an AWS Organizations Organization ARN, or an AWS Organizations Organization Unit ARN.

  • resource_share_arn (pulumi.Input[str]) – The Amazon Resource Name (ARN) of the resource share.

principal: pulumi.Output[str] = None

The principal to associate with the resource share. Possible values are an AWS account ID, an AWS Organizations Organization ARN, or an AWS Organizations Organization Unit ARN.

resource_share_arn: pulumi.Output[str] = None

The Amazon Resource Name (ARN) of the resource share.

static get(resource_name, id, opts=None, principal=None, resource_share_arn=None)

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

Parameters
  • resource_name (str) – The unique name of the resulting resource.

  • id (str) – The unique provider ID of the resource to lookup.

  • opts (pulumi.ResourceOptions) – Options for the resource.

  • principal (pulumi.Input[str]) – The principal to associate with the resource share. Possible values are an AWS account ID, an AWS Organizations Organization ARN, or an AWS Organizations Organization Unit ARN.

  • resource_share_arn (pulumi.Input[str]) – The Amazon Resource Name (ARN) of the resource share.

translate_output_property(prop)

Provides subclasses of Resource an opportunity to translate names of output properties into a format of their choosing before writing those properties to the resource object.

Parameters

prop (str) – A property name.

Returns

A potentially transformed property name.

Return type

str

translate_input_property(prop)

Provides subclasses of Resource an opportunity to translate names of input properties into a format of their choosing before sending those properties to the Pulumi engine.

Parameters

prop (str) – A property name.

Returns

A potentially transformed property name.

Return type

str

class pulumi_aws.ram.ResourceAssociation(resource_name, opts=None, resource_arn=None, resource_share_arn=None, __props__=None, __name__=None, __opts__=None)

Manages a Resource Access Manager (RAM) Resource Association.

NOTE: Certain AWS resources (e.g. EC2 Subnets) can only be shared in an AWS account that is a member of an AWS Organizations organization with organization-wide Resource Access Manager functionality enabled. See the Resource Access Manager User Guide and AWS service specific documentation for additional information.

import pulumi
import pulumi_aws as aws

example = aws.ram.ResourceAssociation("example",
    resource_arn=aws_subnet["example"]["arn"],
    resource_share_arn=aws_ram_resource_share["example"]["arn"])
Parameters
  • resource_name (str) – The name of the resource.

  • opts (pulumi.ResourceOptions) – Options for the resource.

  • resource_arn (pulumi.Input[str]) – Amazon Resource Name (ARN) of the resource to associate with the RAM Resource Share.

  • resource_share_arn (pulumi.Input[str]) – Amazon Resource Name (ARN) of the RAM Resource Share.

resource_arn: pulumi.Output[str] = None

Amazon Resource Name (ARN) of the resource to associate with the RAM Resource Share.

resource_share_arn: pulumi.Output[str] = None

Amazon Resource Name (ARN) of the RAM Resource Share.

static get(resource_name, id, opts=None, resource_arn=None, resource_share_arn=None)

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

Parameters
  • resource_name (str) – The unique name of the resulting resource.

  • id (str) – The unique provider ID of the resource to lookup.

  • opts (pulumi.ResourceOptions) – Options for the resource.

  • resource_arn (pulumi.Input[str]) – Amazon Resource Name (ARN) of the resource to associate with the RAM Resource Share.

  • resource_share_arn (pulumi.Input[str]) – Amazon Resource Name (ARN) of the RAM Resource Share.

translate_output_property(prop)

Provides subclasses of Resource an opportunity to translate names of output properties into a format of their choosing before writing those properties to the resource object.

Parameters

prop (str) – A property name.

Returns

A potentially transformed property name.

Return type

str

translate_input_property(prop)

Provides subclasses of Resource an opportunity to translate names of input properties into a format of their choosing before sending those properties to the Pulumi engine.

Parameters

prop (str) – A property name.

Returns

A potentially transformed property name.

Return type

str

class pulumi_aws.ram.ResourceShare(resource_name, opts=None, allow_external_principals=None, name=None, tags=None, __props__=None, __name__=None, __opts__=None)

Manages a Resource Access Manager (RAM) Resource Share. To associate principals with the share, see the ram.PrincipalAssociation resource. To associate resources with the share, see the ram.ResourceAssociation resource.

import pulumi
import pulumi_aws as aws

example = aws.ram.ResourceShare("example",
    allow_external_principals=True,
    tags={
        "Environment": "Production",
    })
Parameters
  • resource_name (str) – The name of the resource.

  • opts (pulumi.ResourceOptions) – Options for the resource.

  • allow_external_principals (pulumi.Input[bool]) – Indicates whether principals outside your organization can be associated with a resource share.

  • name (pulumi.Input[str]) – The name of the resource share.

  • tags (pulumi.Input[dict]) – A map of tags to assign to the resource share.

allow_external_principals: pulumi.Output[bool] = None

Indicates whether principals outside your organization can be associated with a resource share.

arn: pulumi.Output[str] = None

The Amazon Resource Name (ARN) of the resource share.

name: pulumi.Output[str] = None

The name of the resource share.

tags: pulumi.Output[dict] = None

A map of tags to assign to the resource share.

static get(resource_name, id, opts=None, allow_external_principals=None, arn=None, name=None, tags=None)

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

Parameters
  • resource_name (str) – The unique name of the resulting resource.

  • id (str) – The unique provider ID of the resource to lookup.

  • opts (pulumi.ResourceOptions) – Options for the resource.

  • allow_external_principals (pulumi.Input[bool]) – Indicates whether principals outside your organization can be associated with a resource share.

  • arn (pulumi.Input[str]) – The Amazon Resource Name (ARN) of the resource share.

  • name (pulumi.Input[str]) – The name of the resource share.

  • tags (pulumi.Input[dict]) – A map of tags to assign to the resource share.

translate_output_property(prop)

Provides subclasses of Resource an opportunity to translate names of output properties into a format of their choosing before writing those properties to the resource object.

Parameters

prop (str) – A property name.

Returns

A potentially transformed property name.

Return type

str

translate_input_property(prop)

Provides subclasses of Resource an opportunity to translate names of input properties into a format of their choosing before sending those properties to the Pulumi engine.

Parameters

prop (str) – A property name.

Returns

A potentially transformed property name.

Return type

str

class pulumi_aws.ram.ResourceShareAccepter(resource_name, opts=None, share_arn=None, __props__=None, __name__=None, __opts__=None)

Manage accepting a Resource Access Manager (RAM) Resource Share invitation. From a receiver AWS account, accept an invitation to share resources that were shared by a sender AWS account. To create a resource share in the sender, see the ram.ResourceShare resource.

Note: If both AWS accounts are in the same Organization and RAM Sharing with AWS Organizations is enabled, this resource is not necessary as RAM Resource Share invitations are not used.

import pulumi
import pulumi_aws as aws
import pulumi_pulumi as pulumi

alternate = pulumi.providers.Aws("alternate", profile="profile1")
sender_share = aws.ram.ResourceShare("senderShare",
    allow_external_principals=True,
    tags={
        "Name": "tf-test-resource-share",
    })
receiver = aws.get_caller_identity()
sender_invite = aws.ram.PrincipalAssociation("senderInvite",
    principal=receiver.account_id,
    resource_share_arn=sender_share.arn)
receiver_accept = aws.ram.ResourceShareAccepter("receiverAccept", share_arn=sender_invite.resource_share_arn)
Parameters
  • resource_name (str) – The name of the resource.

  • opts (pulumi.ResourceOptions) – Options for the resource.

  • share_arn (pulumi.Input[str]) – The ARN of the resource share.

invitation_arn: pulumi.Output[str] = None

The ARN of the resource share invitation.

receiver_account_id: pulumi.Output[str] = None

The account ID of the receiver account which accepts the invitation.

resources: pulumi.Output[list] = None

A list of the resource ARNs shared via the resource share.

sender_account_id: pulumi.Output[str] = None

The account ID of the sender account which submits the invitation.

share_arn: pulumi.Output[str] = None

The ARN of the resource share.

share_id: pulumi.Output[str] = None

The ID of the resource share as displayed in the console.

share_name: pulumi.Output[str] = None

The name of the resource share.

status: pulumi.Output[str] = None

The status of the resource share (ACTIVE, PENDING, FAILED, DELETING, DELETED).

static get(resource_name, id, opts=None, invitation_arn=None, receiver_account_id=None, resources=None, sender_account_id=None, share_arn=None, share_id=None, share_name=None, status=None)

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

Parameters
  • resource_name (str) – The unique name of the resulting resource.

  • id (str) – The unique provider ID of the resource to lookup.

  • opts (pulumi.ResourceOptions) – Options for the resource.

  • invitation_arn (pulumi.Input[str]) – The ARN of the resource share invitation.

  • receiver_account_id (pulumi.Input[str]) – The account ID of the receiver account which accepts the invitation.

  • resources (pulumi.Input[list]) – A list of the resource ARNs shared via the resource share.

  • sender_account_id (pulumi.Input[str]) – The account ID of the sender account which submits the invitation.

  • share_arn (pulumi.Input[str]) – The ARN of the resource share.

  • share_id (pulumi.Input[str]) – The ID of the resource share as displayed in the console.

  • share_name (pulumi.Input[str]) – The name of the resource share.

  • status (pulumi.Input[str]) – The status of the resource share (ACTIVE, PENDING, FAILED, DELETING, DELETED).

translate_output_property(prop)

Provides subclasses of Resource an opportunity to translate names of output properties into a format of their choosing before writing those properties to the resource object.

Parameters

prop (str) – A property name.

Returns

A potentially transformed property name.

Return type

str

translate_input_property(prop)

Provides subclasses of Resource an opportunity to translate names of input properties into a format of their choosing before sending those properties to the Pulumi engine.

Parameters

prop (str) – A property name.

Returns

A potentially transformed property name.

Return type

str

pulumi_aws.ram.get_resource_share(filters=None, name=None, resource_owner=None, tags=None, opts=None)

ram.ResourceShare Retrieve information about a RAM Resource Share.

import pulumi
import pulumi_aws as aws

example = aws.ram.get_resource_share(name="example",
    resource_owner="SELF")
import pulumi
import pulumi_aws as aws

tag_filter = aws.ram.get_resource_share(filters=[{
        "name": "NameOfTag",
        "values": ["exampleNameTagValue"],
    }],
    name="MyResourceName",
    resource_owner="SELF")
Parameters
  • filters (list) – A filter used to scope the list e.g. by tags. See [related docs] (https://docs.aws.amazon.com/ram/latest/APIReference/API_TagFilter.html).

  • name (str) – The name of the tag key to filter on.

  • resource_owner (str) – The owner of the resource share. Valid values are SELF or OTHER-ACCOUNTS

  • tags (dict) – The Tags attached to the RAM share

The filters object supports the following:

  • name (str) - The name of the tag key to filter on.

  • values (list) - The value of the tag key.