ArnFormat

class aws_cdk.ArnFormat(value, names=None, *, module=None, qualname=None, type=None, start=1, boundary=None)

Bases: Enum

An enum representing the various ARN formats that different services use.

ExampleMetadata:

infused

Example:

# stack: Stack


# Builds "arn:<PARTITION>:lambda:<REGION>:<ACCOUNT>:function:MyFunction"
stack.format_arn(
    service="lambda",
    resource="function",
    arn_format=ArnFormat.COLON_RESOURCE_NAME,
    resource_name="MyFunction"
)

Attributes

COLON_RESOURCE_NAME

This represents a format where the ‘resource’ and ‘resourceName’ parts are separated with a colon.

Like in: ‘arn:aws:service:region:account:resource:resourceName’. Everything after the last colon is considered the ‘resourceName’, even if it contains slashes, like in ‘arn:aws:apigateway:region:account:resource:/test/mydemoresource/*’.

NO_RESOURCE_NAME

This represents a format where there is no ‘resourceName’ part.

This format is used for S3 resources, like ‘arn:aws:s3:::bucket’. Everything after the last colon is considered the ‘resource’, even if it contains slashes, like in ‘arn:aws:s3:::bucket/object.zip’.

SLASH_RESOURCE_NAME

This represents a format where the ‘resource’ and ‘resourceName’ parts are separated with a slash.

Like in: ‘arn:aws:service:region:account:resource/resourceName’. Everything after the separating slash is considered the ‘resourceName’, even if it contains colons, like in ‘arn:aws:cognito-sync:region:account:identitypool/us-east-1:1a1a1a1a-ffff-1111-9999-12345678:bla’.

SLASH_RESOURCE_SLASH_RESOURCE_NAME

This represents a format where the ‘resource’ and ‘resourceName’ parts are seperated with a slash, but there is also an additional slash after the colon separating ‘account’ from ‘resource’.

Like in: ‘arn:aws:service:region:account:/resource/resourceName’. Note that the leading slash is not included in the parsed ‘resource’ part.