-
Notifications
You must be signed in to change notification settings - Fork 17
/
ArnFormat.go
36 lines (32 loc) · 1.77 KB
/
ArnFormat.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
package awscdk
// An enum representing the various ARN formats that different services use.
type ArnFormat string
const (
// 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'.
ArnFormat_NO_RESOURCE_NAME ArnFormat = "NO_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/*'.
ArnFormat_COLON_RESOURCE_NAME ArnFormat = "COLON_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'.
ArnFormat_SLASH_RESOURCE_NAME ArnFormat = "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.
ArnFormat_SLASH_RESOURCE_SLASH_RESOURCE_NAME ArnFormat = "SLASH_RESOURCE_SLASH_RESOURCE_NAME"
)