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 resource. The following principals are supported:

  • The ID of an AWS account

  • The Amazon Resource Name (ARN) of an OU from AWS Organizations

  • The Amazon Resource Name (ARN) of an organization from AWS Organizations

If you specify an AWS account that doesn't exist in the same organization as the account that owns the resource share, the owner of the specified account receives an invitation to accept the resource share. After the owner accepts the invitation, they can access the resources in the resource share. An administrator of the specified account can use IAM policies to restrict access resources in the resource share.

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.

CreateResourceShare

Name => Str
[AllowExternalPrincipals => Bool]
[ClientToken => Str]
[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.

EnableSharingWithAwsOrganization

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

Returns: a Paws::RAM::EnableSharingWithAwsOrganizationResponse instance

Enables resource sharing within your organization.

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 specifies resources.

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 associations for the specified resource share.

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 specified invitations for resource sharing.

GetResourceShares

ResourceOwner => Str
[MaxResults => Int]
[Name => Str]
[NextToken => 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 specified resource shares or all of your resource shares.

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 with access to the specified resource.

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 the specified principal can access.

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.

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.

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.

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, ResourceShareArns => ArrayRef[Str|Undef], ResourceShareStatus => Str, TagFilters => ArrayRef[Paws::RAM::TagFilter]])

GetAllResourceShares(ResourceOwner => Str, [MaxResults => Int, Name => Str, NextToken => 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