Skip to content

RAM

CloudMock emulates AWS Resource Access Manager (RAM), supporting resource share management, associations, invitations, and tagging.

OperationStatusNotes
CreateResourceShareSupportedCreates a resource share
GetResourceSharesSupportedLists resource shares
UpdateResourceShareSupportedUpdates a resource share
DeleteResourceShareSupportedDeletes a resource share
AssociateResourceShareSupportedAssociates resources or principals
DisassociateResourceShareSupportedDisassociates resources or principals
GetResourceShareAssociationsSupportedLists resource share associations
GetResourceShareInvitationsSupportedLists pending invitations
AcceptResourceShareInvitationSupportedAccepts an invitation
RejectResourceShareInvitationSupportedRejects an invitation
ListResourcesSupportedLists resources in resource shares
ListPrincipalsSupportedLists principals in resource shares
EnableSharingWithAwsOrganizationSupportedEnables sharing with the AWS organization
TagResourceSupportedAdds tags to a resource share
UntagResourceSupportedRemoves tags from a resource share
ListTagsForResourceSupportedLists tags for a resource share
import { RAMClient, CreateResourceShareCommand } from '@aws-sdk/client-ram';
const client = new RAMClient({
endpoint: 'http://localhost:4566',
region: 'us-east-1',
credentials: { accessKeyId: 'test', secretAccessKey: 'test' },
});
const { resourceShare } = await client.send(new CreateResourceShareCommand({
name: 'my-share',
resourceArns: ['arn:aws:ec2:us-east-1:000000000000:subnet/subnet-12345'],
}));
console.log(resourceShare.resourceShareArn);
import boto3
client = boto3.client('ram',
endpoint_url='http://localhost:4566',
region_name='us-east-1',
aws_access_key_id='test',
aws_secret_access_key='test')
response = client.create_resource_share(
name='my-share',
resourceArns=['arn:aws:ec2:us-east-1:000000000000:subnet/subnet-12345'])
print(response['resourceShare']['resourceShareArn'])
cloudmock.yml
services:
ram:
enabled: true
  • Shared resources are not actually accessible from other accounts
  • Invitations are tracked but cross-account access is not enforced
  • Resource share associations are metadata-only