@@ -20,16 +20,35 @@ export interface OriginAccessIdentityProps {
20
20
*/
21
21
export interface IOriginAccessIdentity extends cdk . IResource , iam . IGrantable {
22
22
/**
23
- * The Origin Access Identity Name
23
+ * The Origin Access Identity Id (physical id)
24
+ * It is misnamed and superseded by the correctly named originAccessIdentityId
25
+ *
26
+ * @deprecated use originAccessIdentityId instead
24
27
*/
25
28
readonly originAccessIdentityName : string ;
29
+
30
+ /**
31
+ * The Origin Access Identity Id (physical id)
32
+ * This was called originAccessIdentityName before
33
+ */
34
+ readonly originAccessIdentityId : string ;
26
35
}
27
36
28
37
abstract class OriginAccessIdentityBase extends cdk . Resource {
29
38
/**
30
- * The Origin Access Identity Name (physical id)
39
+ * The Origin Access Identity Id (physical id)
40
+ * It is misnamed and superseded by the correctly named originAccessIdentityId
41
+ *
42
+ * @deprecated use originAccessIdentityId instead
31
43
*/
32
44
public abstract readonly originAccessIdentityName : string ;
45
+
46
+ /**
47
+ * The Origin Access Identity Id (physical id)
48
+ * This was called originAccessIdentityName before
49
+ */
50
+ public abstract readonly originAccessIdentityId : string ;
51
+
33
52
/**
34
53
* Derived principal value for bucket access
35
54
*/
@@ -45,7 +64,7 @@ abstract class OriginAccessIdentityBase extends cdk.Resource {
45
64
region : '' , // global
46
65
account : 'cloudfront' ,
47
66
resource : 'user' ,
48
- resourceName : `CloudFront Origin Access Identity ${ this . originAccessIdentityName } ` ,
67
+ resourceName : `CloudFront Origin Access Identity ${ this . originAccessIdentityId } ` ,
49
68
} ,
50
69
) ;
51
70
}
@@ -60,18 +79,32 @@ abstract class OriginAccessIdentityBase extends cdk.Resource {
60
79
*/
61
80
export class OriginAccessIdentity extends OriginAccessIdentityBase implements IOriginAccessIdentity {
62
81
/**
63
- * Creates a OriginAccessIdentity by providing the OriginAccessIdentityName
82
+ * Creates a OriginAccessIdentity by providing the OriginAccessIdentityId.
83
+ * It is misnamed and superseded by the correctly named fromOriginAccessIdentityId.
84
+ *
85
+ * @deprecated use `fromOriginAccessIdentityId`
64
86
*/
65
87
public static fromOriginAccessIdentityName (
66
88
scope : Construct ,
67
89
id : string ,
68
90
originAccessIdentityName : string ) : IOriginAccessIdentity {
91
+ return OriginAccessIdentity . fromOriginAccessIdentityId ( scope , id , originAccessIdentityName ) ;
92
+ }
93
+
94
+ /**
95
+ * Creates a OriginAccessIdentity by providing the OriginAccessIdentityId.
96
+ */
97
+ public static fromOriginAccessIdentityId (
98
+ scope : Construct ,
99
+ id : string ,
100
+ originAccessIdentityId : string ) : IOriginAccessIdentity {
69
101
70
102
class Import extends OriginAccessIdentityBase {
71
- public readonly originAccessIdentityName = originAccessIdentityName ;
103
+ public readonly originAccessIdentityId = originAccessIdentityId ;
104
+ public readonly originAccessIdentityName = originAccessIdentityId ;
72
105
public readonly grantPrincipal = new iam . ArnPrincipal ( this . arn ( ) ) ;
73
106
constructor ( s : Construct , i : string ) {
74
- super ( s , i , { physicalName : originAccessIdentityName } ) ;
107
+ super ( s , i , { physicalName : originAccessIdentityId } ) ;
75
108
}
76
109
}
77
110
@@ -93,11 +126,23 @@ export class OriginAccessIdentity extends OriginAccessIdentityBase implements IO
93
126
public readonly grantPrincipal : iam . IPrincipal ;
94
127
95
128
/**
96
- * The Origin Access Identity Name (physical id)
129
+ * The Origin Access Identity Id (physical id)
130
+ * It is misnamed and superseded by the correctly named originAccessIdentityId
131
+ *
132
+ * @attribute
133
+ * @deprecated use originAccessIdentityId instead
134
+ */
135
+ public get originAccessIdentityName ( ) {
136
+ return this . originAccessIdentityId ;
137
+ }
138
+
139
+ /**
140
+ * The Origin Access Identity Id (physical id)
141
+ * This was called originAccessIdentityName before
97
142
*
98
143
* @attribute
99
144
*/
100
- public readonly originAccessIdentityName : string ;
145
+ public readonly originAccessIdentityId : string ;
101
146
102
147
/**
103
148
* CDK L1 resource
@@ -112,8 +157,8 @@ export class OriginAccessIdentity extends OriginAccessIdentityBase implements IO
112
157
this . resource = new CfnCloudFrontOriginAccessIdentity ( this , 'Resource' , {
113
158
cloudFrontOriginAccessIdentityConfig : { comment } ,
114
159
} ) ;
115
- // physical id - OAI name
116
- this . originAccessIdentityName = this . getResourceNameAttribute ( this . resource . ref ) ;
160
+ // physical id - OAI Id
161
+ this . originAccessIdentityId = this . getResourceNameAttribute ( this . resource . ref ) ;
117
162
118
163
// Canonical user to grant access to in the S3 Bucket Policy
119
164
this . cloudFrontOriginAccessIdentityS3CanonicalUserId = this . resource . attrS3CanonicalUserId ;
0 commit comments