The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.

NAME

Paws::RAM - Perl Interface to AWS AWS Resource Access Manager

SYNOPSIS

  use Paws;

  my $obj = Paws->service('RAM');
  my $res = $obj->Method(
    Arg1 => $val1,
    Arg2 => [ 'V1', 'V2' ],
    # if Arg3 is an object, the HashRef will be used as arguments to the constructor
    # of the arguments type
    Arg3 => { Att1 => 'Val1' },
    # if Arg4 is an array of objects, the HashRefs will be passed as arguments to
    # the constructor of the arguments type
    Arg4 => [ { Att1 => 'Val1'  }, { Att1 => 'Val2' } ],
  );

DESCRIPTION

Use AWS Resource Access Manager to share AWS resources between AWS accounts. To share a resource, you create a resource share, associate the resource with the resource share, and specify the principals that can access the resources associated with the resource share. The following principals are supported: AWS accounts, organizational units (OU) from AWS Organizations, and organizations from AWS Organizations.

For more information, see the AWS Resource Access Manager User Guide (https://docs.aws.amazon.com/ram/latest/userguide/).

For the AWS API documentation, see https://docs.aws.amazon.com/goto/WebAPI/ram-2018-01-04

METHODS

AcceptResourceShareInvitation

ResourceShareInvitationArn => Str
[ClientToken => Str]

Each argument is described in detail in: Paws::RAM::AcceptResourceShareInvitation

Returns: a Paws::RAM::AcceptResourceShareInvitationResponse instance

Accepts an invitation to a resource share from another AWS account.

AssociateResourceShare

ResourceShareArn => Str
[ClientToken => Str]
[Principals => ArrayRef[Str|Undef]]
[ResourceArns => ArrayRef[Str|Undef]]

Each argument is described in detail in: Paws::RAM::AssociateResourceShare

Returns: a Paws::RAM::AssociateResourceShareResponse instance

Associates the specified resource share with the specified principals and resources.

AssociateResourceSharePermission

PermissionArn => Str
ResourceShareArn => Str
[ClientToken => Str]
[PermissionVersion => Int]
[Replace => Bool]

Each argument is described in detail in: Paws::RAM::AssociateResourceSharePermission

Returns: a Paws::RAM::AssociateResourceSharePermissionResponse instance

Associates a permission with a resource share.

CreateResourceShare

Name => Str
[AllowExternalPrincipals => Bool]
[ClientToken => Str]
[PermissionArns => ArrayRef[Str|Undef]]
[Principals => ArrayRef[Str|Undef]]
[ResourceArns => ArrayRef[Str|Undef]]
[Tags => ArrayRef[Paws::RAM::Tag]]

Each argument is described in detail in: Paws::RAM::CreateResourceShare

Returns: a Paws::RAM::CreateResourceShareResponse instance

Creates a resource share.

DeleteResourceShare

ResourceShareArn => Str
[ClientToken => Str]

Each argument is described in detail in: Paws::RAM::DeleteResourceShare

Returns: a Paws::RAM::DeleteResourceShareResponse instance

Deletes the specified resource share.

DisassociateResourceShare

ResourceShareArn => Str
[ClientToken => Str]
[Principals => ArrayRef[Str|Undef]]
[ResourceArns => ArrayRef[Str|Undef]]

Each argument is described in detail in: Paws::RAM::DisassociateResourceShare

Returns: a Paws::RAM::DisassociateResourceShareResponse instance

Disassociates the specified principals or resources from the specified resource share.

DisassociateResourceSharePermission

PermissionArn => Str
ResourceShareArn => Str
[ClientToken => Str]

Each argument is described in detail in: Paws::RAM::DisassociateResourceSharePermission

Returns: a Paws::RAM::DisassociateResourceSharePermissionResponse instance

Disassociates an AWS RAM permission from a resource share.

EnableSharingWithAwsOrganization

Each argument is described in detail in: Paws::RAM::EnableSharingWithAwsOrganization

Returns: a Paws::RAM::EnableSharingWithAwsOrganizationResponse instance

Enables resource sharing within your AWS Organization.

The caller must be the master account for the AWS Organization.

GetPermission

PermissionArn => Str
[PermissionVersion => Int]

Each argument is described in detail in: Paws::RAM::GetPermission

Returns: a Paws::RAM::GetPermissionResponse instance

Gets the contents of an AWS RAM permission in JSON format.

GetResourcePolicies

ResourceArns => ArrayRef[Str|Undef]
[MaxResults => Int]
[NextToken => Str]
[Principal => Str]

Each argument is described in detail in: Paws::RAM::GetResourcePolicies

Returns: a Paws::RAM::GetResourcePoliciesResponse instance

Gets the policies for the specified resources that you own and have shared.

GetResourceShareAssociations

AssociationType => Str
[AssociationStatus => Str]
[MaxResults => Int]
[NextToken => Str]
[Principal => Str]
[ResourceArn => Str]
[ResourceShareArns => ArrayRef[Str|Undef]]

Each argument is described in detail in: Paws::RAM::GetResourceShareAssociations

Returns: a Paws::RAM::GetResourceShareAssociationsResponse instance

Gets the resources or principals for the resource shares that you own.

GetResourceShareInvitations

[MaxResults => Int]
[NextToken => Str]
[ResourceShareArns => ArrayRef[Str|Undef]]
[ResourceShareInvitationArns => ArrayRef[Str|Undef]]

Each argument is described in detail in: Paws::RAM::GetResourceShareInvitations

Returns: a Paws::RAM::GetResourceShareInvitationsResponse instance

Gets the invitations that you have received for resource shares.

GetResourceShares

ResourceOwner => Str
[MaxResults => Int]
[Name => Str]
[NextToken => Str]
[PermissionArn => Str]
[ResourceShareArns => ArrayRef[Str|Undef]]
[ResourceShareStatus => Str]
[TagFilters => ArrayRef[Paws::RAM::TagFilter]]

Each argument is described in detail in: Paws::RAM::GetResourceShares

Returns: a Paws::RAM::GetResourceSharesResponse instance

Gets the resource shares that you own or the resource shares that are shared with you.

ListPendingInvitationResources

ResourceShareInvitationArn => Str
[MaxResults => Int]
[NextToken => Str]

Each argument is described in detail in: Paws::RAM::ListPendingInvitationResources

Returns: a Paws::RAM::ListPendingInvitationResourcesResponse instance

Lists the resources in a resource share that is shared with you but that the invitation is still pending for.

ListPermissions

[MaxResults => Int]
[NextToken => Str]
[ResourceType => Str]

Each argument is described in detail in: Paws::RAM::ListPermissions

Returns: a Paws::RAM::ListPermissionsResponse instance

Lists the AWS RAM permissions.

ListPrincipals

ResourceOwner => Str
[MaxResults => Int]
[NextToken => Str]
[Principals => ArrayRef[Str|Undef]]
[ResourceArn => Str]
[ResourceShareArns => ArrayRef[Str|Undef]]
[ResourceType => Str]

Each argument is described in detail in: Paws::RAM::ListPrincipals

Returns: a Paws::RAM::ListPrincipalsResponse instance

Lists the principals that you have shared resources with or that have shared resources with you.

ListResources

ResourceOwner => Str
[MaxResults => Int]
[NextToken => Str]
[Principal => Str]
[ResourceArns => ArrayRef[Str|Undef]]
[ResourceShareArns => ArrayRef[Str|Undef]]
[ResourceType => Str]

Each argument is described in detail in: Paws::RAM::ListResources

Returns: a Paws::RAM::ListResourcesResponse instance

Lists the resources that you added to a resource shares or the resources that are shared with you.

ListResourceSharePermissions

ResourceShareArn => Str
[MaxResults => Int]
[NextToken => Str]

Each argument is described in detail in: Paws::RAM::ListResourceSharePermissions

Returns: a Paws::RAM::ListResourceSharePermissionsResponse instance

Lists the AWS RAM permissions that are associated with a resource share.

ListResourceTypes

[MaxResults => Int]
[NextToken => Str]

Each argument is described in detail in: Paws::RAM::ListResourceTypes

Returns: a Paws::RAM::ListResourceTypesResponse instance

Lists the shareable resource types supported by AWS RAM.

PromoteResourceShareCreatedFromPolicy

ResourceShareArn => Str

Each argument is described in detail in: Paws::RAM::PromoteResourceShareCreatedFromPolicy

Returns: a Paws::RAM::PromoteResourceShareCreatedFromPolicyResponse instance

Resource shares that were created by attaching a policy to a resource are visible only to the resource share owner, and the resource share cannot be modified in AWS RAM.

Use this API action to promote the resource share. When you promote the resource share, it becomes:

  • Visible to all principals that it is shared with.

  • Modifiable in AWS RAM.

RejectResourceShareInvitation

ResourceShareInvitationArn => Str
[ClientToken => Str]

Each argument is described in detail in: Paws::RAM::RejectResourceShareInvitation

Returns: a Paws::RAM::RejectResourceShareInvitationResponse instance

Rejects an invitation to a resource share from another AWS account.

TagResource

ResourceShareArn => Str
Tags => ArrayRef[Paws::RAM::Tag]

Each argument is described in detail in: Paws::RAM::TagResource

Returns: a Paws::RAM::TagResourceResponse instance

Adds the specified tags to the specified resource share that you own.

UntagResource

ResourceShareArn => Str
TagKeys => ArrayRef[Str|Undef]

Each argument is described in detail in: Paws::RAM::UntagResource

Returns: a Paws::RAM::UntagResourceResponse instance

Removes the specified tags from the specified resource share that you own.

UpdateResourceShare

ResourceShareArn => Str
[AllowExternalPrincipals => Bool]
[ClientToken => Str]
[Name => Str]

Each argument is described in detail in: Paws::RAM::UpdateResourceShare

Returns: a Paws::RAM::UpdateResourceShareResponse instance

Updates the specified resource share that you own.

PAGINATORS

Paginator methods are helpers that repetively call methods that return partial results

GetAllResourcePolicies(sub { },ResourceArns => ArrayRef[Str|Undef], [MaxResults => Int, NextToken => Str, Principal => Str])

GetAllResourcePolicies(ResourceArns => ArrayRef[Str|Undef], [MaxResults => Int, NextToken => Str, Principal => Str])

If passed a sub as first parameter, it will call the sub for each element found in :

 - policies, passing the object as the first parameter, and the string 'policies' as the second parameter 

If not, it will return a a Paws::RAM::GetResourcePoliciesResponse instance with all the params; from all the responses. Please take into account that this mode can potentially consume vasts ammounts of memory.

GetAllResourceShareAssociations(sub { },AssociationType => Str, [AssociationStatus => Str, MaxResults => Int, NextToken => Str, Principal => Str, ResourceArn => Str, ResourceShareArns => ArrayRef[Str|Undef]])

GetAllResourceShareAssociations(AssociationType => Str, [AssociationStatus => Str, MaxResults => Int, NextToken => Str, Principal => Str, ResourceArn => Str, ResourceShareArns => ArrayRef[Str|Undef]])

If passed a sub as first parameter, it will call the sub for each element found in :

 - resourceShareAssociations, passing the object as the first parameter, and the string 'resourceShareAssociations' as the second parameter 

If not, it will return a a Paws::RAM::GetResourceShareAssociationsResponse instance with all the params; from all the responses. Please take into account that this mode can potentially consume vasts ammounts of memory.

GetAllResourceShareInvitations(sub { },[MaxResults => Int, NextToken => Str, ResourceShareArns => ArrayRef[Str|Undef], ResourceShareInvitationArns => ArrayRef[Str|Undef]])

GetAllResourceShareInvitations([MaxResults => Int, NextToken => Str, ResourceShareArns => ArrayRef[Str|Undef], ResourceShareInvitationArns => ArrayRef[Str|Undef]])

If passed a sub as first parameter, it will call the sub for each element found in :

 - resourceShareInvitations, passing the object as the first parameter, and the string 'resourceShareInvitations' as the second parameter 

If not, it will return a a Paws::RAM::GetResourceShareInvitationsResponse instance with all the params; from all the responses. Please take into account that this mode can potentially consume vasts ammounts of memory.

GetAllResourceShares(sub { },ResourceOwner => Str, [MaxResults => Int, Name => Str, NextToken => Str, PermissionArn => Str, ResourceShareArns => ArrayRef[Str|Undef], ResourceShareStatus => Str, TagFilters => ArrayRef[Paws::RAM::TagFilter]])

GetAllResourceShares(ResourceOwner => Str, [MaxResults => Int, Name => Str, NextToken => Str, PermissionArn => Str, ResourceShareArns => ArrayRef[Str|Undef], ResourceShareStatus => Str, TagFilters => ArrayRef[Paws::RAM::TagFilter]])

If passed a sub as first parameter, it will call the sub for each element found in :

 - resourceShares, passing the object as the first parameter, and the string 'resourceShares' as the second parameter 

If not, it will return a a Paws::RAM::GetResourceSharesResponse instance with all the params; from all the responses. Please take into account that this mode can potentially consume vasts ammounts of memory.

ListAllPrincipals(sub { },ResourceOwner => Str, [MaxResults => Int, NextToken => Str, Principals => ArrayRef[Str|Undef], ResourceArn => Str, ResourceShareArns => ArrayRef[Str|Undef], ResourceType => Str])

ListAllPrincipals(ResourceOwner => Str, [MaxResults => Int, NextToken => Str, Principals => ArrayRef[Str|Undef], ResourceArn => Str, ResourceShareArns => ArrayRef[Str|Undef], ResourceType => Str])

If passed a sub as first parameter, it will call the sub for each element found in :

 - principals, passing the object as the first parameter, and the string 'principals' as the second parameter 

If not, it will return a a Paws::RAM::ListPrincipalsResponse instance with all the params; from all the responses. Please take into account that this mode can potentially consume vasts ammounts of memory.

ListAllResources(sub { },ResourceOwner => Str, [MaxResults => Int, NextToken => Str, Principal => Str, ResourceArns => ArrayRef[Str|Undef], ResourceShareArns => ArrayRef[Str|Undef], ResourceType => Str])

ListAllResources(ResourceOwner => Str, [MaxResults => Int, NextToken => Str, Principal => Str, ResourceArns => ArrayRef[Str|Undef], ResourceShareArns => ArrayRef[Str|Undef], ResourceType => Str])

If passed a sub as first parameter, it will call the sub for each element found in :

 - resources, passing the object as the first parameter, and the string 'resources' as the second parameter 

If not, it will return a a Paws::RAM::ListResourcesResponse instance with all the params; from all the responses. Please take into account that this mode can potentially consume vasts ammounts of memory.

SEE ALSO

This service class forms part of Paws

BUGS and CONTRIBUTIONS

The source code is located here: https://github.com/pplu/aws-sdk-perl

Please report bugs to: https://github.com/pplu/aws-sdk-perl/issues