@rio-cloud/cdk-v2-constructs 6.8.0 → 6.9.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/docs/API.md CHANGED
@@ -15962,6 +15962,674 @@ Example - route issues based on their priority:
15962
15962
 
15963
15963
 
15964
15964
 
15965
+ ### EcrPullThroughCachePolicyStatement <a name="EcrPullThroughCachePolicyStatement" id="@rio-cloud/cdk-v2-constructs.iam.EcrPullThroughCachePolicyStatement"></a>
15966
+
15967
+ #### Initializers <a name="Initializers" id="@rio-cloud/cdk-v2-constructs.iam.EcrPullThroughCachePolicyStatement.Initializer"></a>
15968
+
15969
+ ```typescript
15970
+ import { iam } from '@rio-cloud/cdk-v2-constructs'
15971
+
15972
+ new iam.EcrPullThroughCachePolicyStatement()
15973
+ ```
15974
+
15975
+ | **Name** | **Type** | **Description** |
15976
+ | --- | --- | --- |
15977
+
15978
+ ---
15979
+
15980
+ #### Methods <a name="Methods" id="Methods"></a>
15981
+
15982
+ | **Name** | **Description** |
15983
+ | --- | --- |
15984
+ | <code><a href="#@rio-cloud/cdk-v2-constructs.iam.EcrPullThroughCachePolicyStatement.addAccountCondition">addAccountCondition</a></code> | Add a `StringEquals` condition that limits to a given account from `sts:ExternalId`. |
15985
+ | <code><a href="#@rio-cloud/cdk-v2-constructs.iam.EcrPullThroughCachePolicyStatement.addAccountRootPrincipal">addAccountRootPrincipal</a></code> | Adds an AWS account root user principal to this policy statement. |
15986
+ | <code><a href="#@rio-cloud/cdk-v2-constructs.iam.EcrPullThroughCachePolicyStatement.addActions">addActions</a></code> | Specify allowed actions into the "Action" section of the policy statement. |
15987
+ | <code><a href="#@rio-cloud/cdk-v2-constructs.iam.EcrPullThroughCachePolicyStatement.addAllResources">addAllResources</a></code> | Adds a ``"*"`` resource to this statement. |
15988
+ | <code><a href="#@rio-cloud/cdk-v2-constructs.iam.EcrPullThroughCachePolicyStatement.addAnyPrincipal">addAnyPrincipal</a></code> | Adds all identities in all accounts ("*") to this policy statement. |
15989
+ | <code><a href="#@rio-cloud/cdk-v2-constructs.iam.EcrPullThroughCachePolicyStatement.addArnPrincipal">addArnPrincipal</a></code> | Specify a principal using the ARN identifier of the principal. |
15990
+ | <code><a href="#@rio-cloud/cdk-v2-constructs.iam.EcrPullThroughCachePolicyStatement.addAwsAccountPrincipal">addAwsAccountPrincipal</a></code> | Specify AWS account ID as the principal entity to the "Principal" section of a policy statement. |
15991
+ | <code><a href="#@rio-cloud/cdk-v2-constructs.iam.EcrPullThroughCachePolicyStatement.addCanonicalUserPrincipal">addCanonicalUserPrincipal</a></code> | Adds a canonical user ID principal to this policy document. |
15992
+ | <code><a href="#@rio-cloud/cdk-v2-constructs.iam.EcrPullThroughCachePolicyStatement.addCondition">addCondition</a></code> | Add a condition to the Policy. |
15993
+ | <code><a href="#@rio-cloud/cdk-v2-constructs.iam.EcrPullThroughCachePolicyStatement.addConditions">addConditions</a></code> | Add multiple conditions to the Policy. |
15994
+ | <code><a href="#@rio-cloud/cdk-v2-constructs.iam.EcrPullThroughCachePolicyStatement.addFederatedPrincipal">addFederatedPrincipal</a></code> | Adds a federated identity provider such as Amazon Cognito to this policy statement. |
15995
+ | <code><a href="#@rio-cloud/cdk-v2-constructs.iam.EcrPullThroughCachePolicyStatement.addNotActions">addNotActions</a></code> | Explicitly allow all actions except the specified list of actions into the "NotAction" section of the policy document. |
15996
+ | <code><a href="#@rio-cloud/cdk-v2-constructs.iam.EcrPullThroughCachePolicyStatement.addNotPrincipals">addNotPrincipals</a></code> | Specify principals that is not allowed or denied access to the "NotPrincipal" section of a policy statement. |
15997
+ | <code><a href="#@rio-cloud/cdk-v2-constructs.iam.EcrPullThroughCachePolicyStatement.addNotResources">addNotResources</a></code> | Specify resources that this policy statement will not apply to in the "NotResource" section of this policy statement. |
15998
+ | <code><a href="#@rio-cloud/cdk-v2-constructs.iam.EcrPullThroughCachePolicyStatement.addPrincipals">addPrincipals</a></code> | Adds principals to the "Principal" section of a policy statement. |
15999
+ | <code><a href="#@rio-cloud/cdk-v2-constructs.iam.EcrPullThroughCachePolicyStatement.addResources">addResources</a></code> | Specify resources that this policy statement applies into the "Resource" section of this policy statement. |
16000
+ | <code><a href="#@rio-cloud/cdk-v2-constructs.iam.EcrPullThroughCachePolicyStatement.addServicePrincipal">addServicePrincipal</a></code> | Adds a service principal to this policy statement. |
16001
+ | <code><a href="#@rio-cloud/cdk-v2-constructs.iam.EcrPullThroughCachePolicyStatement.addSourceAccountCondition">addSourceAccountCondition</a></code> | Add an `StringEquals` condition that limits to a given account from `aws:SourceAccount`. |
16002
+ | <code><a href="#@rio-cloud/cdk-v2-constructs.iam.EcrPullThroughCachePolicyStatement.addSourceArnCondition">addSourceArnCondition</a></code> | Add an `ArnEquals` condition that limits to a given resource arn from `aws:SourceArn`. |
16003
+ | <code><a href="#@rio-cloud/cdk-v2-constructs.iam.EcrPullThroughCachePolicyStatement.copy">copy</a></code> | Create a new `PolicyStatement` with the same exact properties as this one, except for the overrides. |
16004
+ | <code><a href="#@rio-cloud/cdk-v2-constructs.iam.EcrPullThroughCachePolicyStatement.freeze">freeze</a></code> | Make the PolicyStatement immutable. |
16005
+ | <code><a href="#@rio-cloud/cdk-v2-constructs.iam.EcrPullThroughCachePolicyStatement.toJSON">toJSON</a></code> | JSON-ify the statement. |
16006
+ | <code><a href="#@rio-cloud/cdk-v2-constructs.iam.EcrPullThroughCachePolicyStatement.toStatementJson">toStatementJson</a></code> | JSON-ify the policy statement. |
16007
+ | <code><a href="#@rio-cloud/cdk-v2-constructs.iam.EcrPullThroughCachePolicyStatement.toString">toString</a></code> | String representation of this policy statement. |
16008
+ | <code><a href="#@rio-cloud/cdk-v2-constructs.iam.EcrPullThroughCachePolicyStatement.validateForAnyPolicy">validateForAnyPolicy</a></code> | Validate that the policy statement satisfies base requirements for a policy. |
16009
+ | <code><a href="#@rio-cloud/cdk-v2-constructs.iam.EcrPullThroughCachePolicyStatement.validateForIdentityPolicy">validateForIdentityPolicy</a></code> | Validate that the policy statement satisfies all requirements for an identity-based policy. |
16010
+ | <code><a href="#@rio-cloud/cdk-v2-constructs.iam.EcrPullThroughCachePolicyStatement.validateForResourcePolicy">validateForResourcePolicy</a></code> | Validate that the policy statement satisfies all requirements for a resource-based policy. |
16011
+
16012
+ ---
16013
+
16014
+ ##### `addAccountCondition` <a name="addAccountCondition" id="@rio-cloud/cdk-v2-constructs.iam.EcrPullThroughCachePolicyStatement.addAccountCondition"></a>
16015
+
16016
+ ```typescript
16017
+ public addAccountCondition(accountId: string): void
16018
+ ```
16019
+
16020
+ Add a `StringEquals` condition that limits to a given account from `sts:ExternalId`.
16021
+
16022
+ This method can only be called once: subsequent calls will overwrite earlier calls.
16023
+
16024
+ > [https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_create_for-user_externalid.html](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_create_for-user_externalid.html)
16025
+
16026
+ ###### `accountId`<sup>Required</sup> <a name="accountId" id="@rio-cloud/cdk-v2-constructs.iam.EcrPullThroughCachePolicyStatement.addAccountCondition.parameter.accountId"></a>
16027
+
16028
+ - *Type:* string
16029
+
16030
+ ---
16031
+
16032
+ ##### `addAccountRootPrincipal` <a name="addAccountRootPrincipal" id="@rio-cloud/cdk-v2-constructs.iam.EcrPullThroughCachePolicyStatement.addAccountRootPrincipal"></a>
16033
+
16034
+ ```typescript
16035
+ public addAccountRootPrincipal(): void
16036
+ ```
16037
+
16038
+ Adds an AWS account root user principal to this policy statement.
16039
+
16040
+ ##### `addActions` <a name="addActions" id="@rio-cloud/cdk-v2-constructs.iam.EcrPullThroughCachePolicyStatement.addActions"></a>
16041
+
16042
+ ```typescript
16043
+ public addActions(actions: string): void
16044
+ ```
16045
+
16046
+ Specify allowed actions into the "Action" section of the policy statement.
16047
+
16048
+ > [https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_action.html](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_action.html)
16049
+
16050
+ ###### `actions`<sup>Required</sup> <a name="actions" id="@rio-cloud/cdk-v2-constructs.iam.EcrPullThroughCachePolicyStatement.addActions.parameter.actions"></a>
16051
+
16052
+ - *Type:* string
16053
+
16054
+ actions that will be allowed.
16055
+
16056
+ ---
16057
+
16058
+ ##### `addAllResources` <a name="addAllResources" id="@rio-cloud/cdk-v2-constructs.iam.EcrPullThroughCachePolicyStatement.addAllResources"></a>
16059
+
16060
+ ```typescript
16061
+ public addAllResources(): void
16062
+ ```
16063
+
16064
+ Adds a ``"*"`` resource to this statement.
16065
+
16066
+ ##### `addAnyPrincipal` <a name="addAnyPrincipal" id="@rio-cloud/cdk-v2-constructs.iam.EcrPullThroughCachePolicyStatement.addAnyPrincipal"></a>
16067
+
16068
+ ```typescript
16069
+ public addAnyPrincipal(): void
16070
+ ```
16071
+
16072
+ Adds all identities in all accounts ("*") to this policy statement.
16073
+
16074
+ ##### `addArnPrincipal` <a name="addArnPrincipal" id="@rio-cloud/cdk-v2-constructs.iam.EcrPullThroughCachePolicyStatement.addArnPrincipal"></a>
16075
+
16076
+ ```typescript
16077
+ public addArnPrincipal(arn: string): void
16078
+ ```
16079
+
16080
+ Specify a principal using the ARN identifier of the principal.
16081
+
16082
+ You cannot specify IAM groups and instance profiles as principals.
16083
+
16084
+ ###### `arn`<sup>Required</sup> <a name="arn" id="@rio-cloud/cdk-v2-constructs.iam.EcrPullThroughCachePolicyStatement.addArnPrincipal.parameter.arn"></a>
16085
+
16086
+ - *Type:* string
16087
+
16088
+ ARN identifier of AWS account, IAM user, or IAM role (i.e. arn:aws:iam::123456789012:user/user-name).
16089
+
16090
+ ---
16091
+
16092
+ ##### `addAwsAccountPrincipal` <a name="addAwsAccountPrincipal" id="@rio-cloud/cdk-v2-constructs.iam.EcrPullThroughCachePolicyStatement.addAwsAccountPrincipal"></a>
16093
+
16094
+ ```typescript
16095
+ public addAwsAccountPrincipal(accountId: string): void
16096
+ ```
16097
+
16098
+ Specify AWS account ID as the principal entity to the "Principal" section of a policy statement.
16099
+
16100
+ ###### `accountId`<sup>Required</sup> <a name="accountId" id="@rio-cloud/cdk-v2-constructs.iam.EcrPullThroughCachePolicyStatement.addAwsAccountPrincipal.parameter.accountId"></a>
16101
+
16102
+ - *Type:* string
16103
+
16104
+ ---
16105
+
16106
+ ##### `addCanonicalUserPrincipal` <a name="addCanonicalUserPrincipal" id="@rio-cloud/cdk-v2-constructs.iam.EcrPullThroughCachePolicyStatement.addCanonicalUserPrincipal"></a>
16107
+
16108
+ ```typescript
16109
+ public addCanonicalUserPrincipal(canonicalUserId: string): void
16110
+ ```
16111
+
16112
+ Adds a canonical user ID principal to this policy document.
16113
+
16114
+ ###### `canonicalUserId`<sup>Required</sup> <a name="canonicalUserId" id="@rio-cloud/cdk-v2-constructs.iam.EcrPullThroughCachePolicyStatement.addCanonicalUserPrincipal.parameter.canonicalUserId"></a>
16115
+
16116
+ - *Type:* string
16117
+
16118
+ unique identifier assigned by AWS for every account.
16119
+
16120
+ ---
16121
+
16122
+ ##### `addCondition` <a name="addCondition" id="@rio-cloud/cdk-v2-constructs.iam.EcrPullThroughCachePolicyStatement.addCondition"></a>
16123
+
16124
+ ```typescript
16125
+ public addCondition(key: string, value: any): void
16126
+ ```
16127
+
16128
+ Add a condition to the Policy.
16129
+
16130
+ If multiple calls are made to add a condition with the same operator and field, only
16131
+ the last one wins. For example:
16132
+
16133
+ ```ts
16134
+ declare const stmt: iam.PolicyStatement;
16135
+
16136
+ stmt.addCondition('StringEquals', { 'aws:SomeField': '1' });
16137
+ stmt.addCondition('StringEquals', { 'aws:SomeField': '2' });
16138
+ ```
16139
+
16140
+ Will end up with the single condition `StringEquals: { 'aws:SomeField': '2' }`.
16141
+
16142
+ If you meant to add a condition to say that the field can be *either* `1` or `2`, write
16143
+ this:
16144
+
16145
+ ```ts
16146
+ declare const stmt: iam.PolicyStatement;
16147
+
16148
+ stmt.addCondition('StringEquals', { 'aws:SomeField': ['1', '2'] });
16149
+ ```
16150
+
16151
+ ###### `key`<sup>Required</sup> <a name="key" id="@rio-cloud/cdk-v2-constructs.iam.EcrPullThroughCachePolicyStatement.addCondition.parameter.key"></a>
16152
+
16153
+ - *Type:* string
16154
+
16155
+ ---
16156
+
16157
+ ###### `value`<sup>Required</sup> <a name="value" id="@rio-cloud/cdk-v2-constructs.iam.EcrPullThroughCachePolicyStatement.addCondition.parameter.value"></a>
16158
+
16159
+ - *Type:* any
16160
+
16161
+ ---
16162
+
16163
+ ##### `addConditions` <a name="addConditions" id="@rio-cloud/cdk-v2-constructs.iam.EcrPullThroughCachePolicyStatement.addConditions"></a>
16164
+
16165
+ ```typescript
16166
+ public addConditions(conditions: {[ key: string ]: any}): void
16167
+ ```
16168
+
16169
+ Add multiple conditions to the Policy.
16170
+
16171
+ See the `addCondition` function for a caveat on calling this method multiple times.
16172
+
16173
+ ###### `conditions`<sup>Required</sup> <a name="conditions" id="@rio-cloud/cdk-v2-constructs.iam.EcrPullThroughCachePolicyStatement.addConditions.parameter.conditions"></a>
16174
+
16175
+ - *Type:* {[ key: string ]: any}
16176
+
16177
+ ---
16178
+
16179
+ ##### `addFederatedPrincipal` <a name="addFederatedPrincipal" id="@rio-cloud/cdk-v2-constructs.iam.EcrPullThroughCachePolicyStatement.addFederatedPrincipal"></a>
16180
+
16181
+ ```typescript
16182
+ public addFederatedPrincipal(federated: any, conditions: {[ key: string ]: any}): void
16183
+ ```
16184
+
16185
+ Adds a federated identity provider such as Amazon Cognito to this policy statement.
16186
+
16187
+ ###### `federated`<sup>Required</sup> <a name="federated" id="@rio-cloud/cdk-v2-constructs.iam.EcrPullThroughCachePolicyStatement.addFederatedPrincipal.parameter.federated"></a>
16188
+
16189
+ - *Type:* any
16190
+
16191
+ federated identity provider (i.e. 'cognito-identity.amazonaws.com').
16192
+
16193
+ ---
16194
+
16195
+ ###### `conditions`<sup>Required</sup> <a name="conditions" id="@rio-cloud/cdk-v2-constructs.iam.EcrPullThroughCachePolicyStatement.addFederatedPrincipal.parameter.conditions"></a>
16196
+
16197
+ - *Type:* {[ key: string ]: any}
16198
+
16199
+ The conditions under which the policy is in effect.
16200
+
16201
+ See [the IAM documentation](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_condition.html).
16202
+
16203
+ ---
16204
+
16205
+ ##### `addNotActions` <a name="addNotActions" id="@rio-cloud/cdk-v2-constructs.iam.EcrPullThroughCachePolicyStatement.addNotActions"></a>
16206
+
16207
+ ```typescript
16208
+ public addNotActions(notActions: string): void
16209
+ ```
16210
+
16211
+ Explicitly allow all actions except the specified list of actions into the "NotAction" section of the policy document.
16212
+
16213
+ > [https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_notaction.html](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_notaction.html)
16214
+
16215
+ ###### `notActions`<sup>Required</sup> <a name="notActions" id="@rio-cloud/cdk-v2-constructs.iam.EcrPullThroughCachePolicyStatement.addNotActions.parameter.notActions"></a>
16216
+
16217
+ - *Type:* string
16218
+
16219
+ actions that will be denied.
16220
+
16221
+ All other actions will be permitted.
16222
+
16223
+ ---
16224
+
16225
+ ##### `addNotPrincipals` <a name="addNotPrincipals" id="@rio-cloud/cdk-v2-constructs.iam.EcrPullThroughCachePolicyStatement.addNotPrincipals"></a>
16226
+
16227
+ ```typescript
16228
+ public addNotPrincipals(notPrincipals: IPrincipal): void
16229
+ ```
16230
+
16231
+ Specify principals that is not allowed or denied access to the "NotPrincipal" section of a policy statement.
16232
+
16233
+ > [https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_notprincipal.html](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_notprincipal.html)
16234
+
16235
+ ###### `notPrincipals`<sup>Required</sup> <a name="notPrincipals" id="@rio-cloud/cdk-v2-constructs.iam.EcrPullThroughCachePolicyStatement.addNotPrincipals.parameter.notPrincipals"></a>
16236
+
16237
+ - *Type:* aws-cdk-lib.aws_iam.IPrincipal
16238
+
16239
+ IAM principals that will be denied access.
16240
+
16241
+ ---
16242
+
16243
+ ##### `addNotResources` <a name="addNotResources" id="@rio-cloud/cdk-v2-constructs.iam.EcrPullThroughCachePolicyStatement.addNotResources"></a>
16244
+
16245
+ ```typescript
16246
+ public addNotResources(arns: string): void
16247
+ ```
16248
+
16249
+ Specify resources that this policy statement will not apply to in the "NotResource" section of this policy statement.
16250
+
16251
+ All resources except the specified list will be matched.
16252
+
16253
+ > [https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_notresource.html](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_notresource.html)
16254
+
16255
+ ###### `arns`<sup>Required</sup> <a name="arns" id="@rio-cloud/cdk-v2-constructs.iam.EcrPullThroughCachePolicyStatement.addNotResources.parameter.arns"></a>
16256
+
16257
+ - *Type:* string
16258
+
16259
+ Amazon Resource Names (ARNs) of the resources that this policy statement does not apply to.
16260
+
16261
+ ---
16262
+
16263
+ ##### `addPrincipals` <a name="addPrincipals" id="@rio-cloud/cdk-v2-constructs.iam.EcrPullThroughCachePolicyStatement.addPrincipals"></a>
16264
+
16265
+ ```typescript
16266
+ public addPrincipals(principals: IPrincipal): void
16267
+ ```
16268
+
16269
+ Adds principals to the "Principal" section of a policy statement.
16270
+
16271
+ > [https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_principal.html](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_principal.html)
16272
+
16273
+ ###### `principals`<sup>Required</sup> <a name="principals" id="@rio-cloud/cdk-v2-constructs.iam.EcrPullThroughCachePolicyStatement.addPrincipals.parameter.principals"></a>
16274
+
16275
+ - *Type:* aws-cdk-lib.aws_iam.IPrincipal
16276
+
16277
+ IAM principals that will be added.
16278
+
16279
+ ---
16280
+
16281
+ ##### `addResources` <a name="addResources" id="@rio-cloud/cdk-v2-constructs.iam.EcrPullThroughCachePolicyStatement.addResources"></a>
16282
+
16283
+ ```typescript
16284
+ public addResources(arns: string): void
16285
+ ```
16286
+
16287
+ Specify resources that this policy statement applies into the "Resource" section of this policy statement.
16288
+
16289
+ > [https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_resource.html](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_resource.html)
16290
+
16291
+ ###### `arns`<sup>Required</sup> <a name="arns" id="@rio-cloud/cdk-v2-constructs.iam.EcrPullThroughCachePolicyStatement.addResources.parameter.arns"></a>
16292
+
16293
+ - *Type:* string
16294
+
16295
+ Amazon Resource Names (ARNs) of the resources that this policy statement applies to.
16296
+
16297
+ ---
16298
+
16299
+ ##### `addServicePrincipal` <a name="addServicePrincipal" id="@rio-cloud/cdk-v2-constructs.iam.EcrPullThroughCachePolicyStatement.addServicePrincipal"></a>
16300
+
16301
+ ```typescript
16302
+ public addServicePrincipal(service: string, opts?: ServicePrincipalOpts): void
16303
+ ```
16304
+
16305
+ Adds a service principal to this policy statement.
16306
+
16307
+ ###### `service`<sup>Required</sup> <a name="service" id="@rio-cloud/cdk-v2-constructs.iam.EcrPullThroughCachePolicyStatement.addServicePrincipal.parameter.service"></a>
16308
+
16309
+ - *Type:* string
16310
+
16311
+ the service name for which a service principal is requested (e.g: `s3.amazonaws.com`).
16312
+
16313
+ ---
16314
+
16315
+ ###### `opts`<sup>Optional</sup> <a name="opts" id="@rio-cloud/cdk-v2-constructs.iam.EcrPullThroughCachePolicyStatement.addServicePrincipal.parameter.opts"></a>
16316
+
16317
+ - *Type:* aws-cdk-lib.aws_iam.ServicePrincipalOpts
16318
+
16319
+ options for adding the service principal (such as specifying a principal in a different region).
16320
+
16321
+ ---
16322
+
16323
+ ##### `addSourceAccountCondition` <a name="addSourceAccountCondition" id="@rio-cloud/cdk-v2-constructs.iam.EcrPullThroughCachePolicyStatement.addSourceAccountCondition"></a>
16324
+
16325
+ ```typescript
16326
+ public addSourceAccountCondition(accountId: string): void
16327
+ ```
16328
+
16329
+ Add an `StringEquals` condition that limits to a given account from `aws:SourceAccount`.
16330
+
16331
+ This method can only be called once: subsequent calls will overwrite earlier calls.
16332
+
16333
+ > [https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-sourceaccount](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-sourceaccount)
16334
+
16335
+ ###### `accountId`<sup>Required</sup> <a name="accountId" id="@rio-cloud/cdk-v2-constructs.iam.EcrPullThroughCachePolicyStatement.addSourceAccountCondition.parameter.accountId"></a>
16336
+
16337
+ - *Type:* string
16338
+
16339
+ ---
16340
+
16341
+ ##### `addSourceArnCondition` <a name="addSourceArnCondition" id="@rio-cloud/cdk-v2-constructs.iam.EcrPullThroughCachePolicyStatement.addSourceArnCondition"></a>
16342
+
16343
+ ```typescript
16344
+ public addSourceArnCondition(arn: string): void
16345
+ ```
16346
+
16347
+ Add an `ArnEquals` condition that limits to a given resource arn from `aws:SourceArn`.
16348
+
16349
+ This method can only be called once: subsequent calls will overwrite earlier calls.
16350
+
16351
+ > [https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-sourcearn](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-sourcearn)
16352
+
16353
+ ###### `arn`<sup>Required</sup> <a name="arn" id="@rio-cloud/cdk-v2-constructs.iam.EcrPullThroughCachePolicyStatement.addSourceArnCondition.parameter.arn"></a>
16354
+
16355
+ - *Type:* string
16356
+
16357
+ ---
16358
+
16359
+ ##### `copy` <a name="copy" id="@rio-cloud/cdk-v2-constructs.iam.EcrPullThroughCachePolicyStatement.copy"></a>
16360
+
16361
+ ```typescript
16362
+ public copy(overrides?: PolicyStatementProps): PolicyStatement
16363
+ ```
16364
+
16365
+ Create a new `PolicyStatement` with the same exact properties as this one, except for the overrides.
16366
+
16367
+ ###### `overrides`<sup>Optional</sup> <a name="overrides" id="@rio-cloud/cdk-v2-constructs.iam.EcrPullThroughCachePolicyStatement.copy.parameter.overrides"></a>
16368
+
16369
+ - *Type:* aws-cdk-lib.aws_iam.PolicyStatementProps
16370
+
16371
+ ---
16372
+
16373
+ ##### `freeze` <a name="freeze" id="@rio-cloud/cdk-v2-constructs.iam.EcrPullThroughCachePolicyStatement.freeze"></a>
16374
+
16375
+ ```typescript
16376
+ public freeze(): PolicyStatement
16377
+ ```
16378
+
16379
+ Make the PolicyStatement immutable.
16380
+
16381
+ After calling this, any of the `addXxx()` methods will throw an exception.
16382
+
16383
+ Libraries that lazily generate statement bodies can override this method to
16384
+ fill the actual PolicyStatement fields. Be aware that this method may be called
16385
+ multiple times.
16386
+
16387
+ ##### `toJSON` <a name="toJSON" id="@rio-cloud/cdk-v2-constructs.iam.EcrPullThroughCachePolicyStatement.toJSON"></a>
16388
+
16389
+ ```typescript
16390
+ public toJSON(): any
16391
+ ```
16392
+
16393
+ JSON-ify the statement.
16394
+
16395
+ Used when JSON.stringify() is called
16396
+
16397
+ ##### `toStatementJson` <a name="toStatementJson" id="@rio-cloud/cdk-v2-constructs.iam.EcrPullThroughCachePolicyStatement.toStatementJson"></a>
16398
+
16399
+ ```typescript
16400
+ public toStatementJson(): any
16401
+ ```
16402
+
16403
+ JSON-ify the policy statement.
16404
+
16405
+ Used when JSON.stringify() is called
16406
+
16407
+ ##### `toString` <a name="toString" id="@rio-cloud/cdk-v2-constructs.iam.EcrPullThroughCachePolicyStatement.toString"></a>
16408
+
16409
+ ```typescript
16410
+ public toString(): string
16411
+ ```
16412
+
16413
+ String representation of this policy statement.
16414
+
16415
+ ##### `validateForAnyPolicy` <a name="validateForAnyPolicy" id="@rio-cloud/cdk-v2-constructs.iam.EcrPullThroughCachePolicyStatement.validateForAnyPolicy"></a>
16416
+
16417
+ ```typescript
16418
+ public validateForAnyPolicy(): string[]
16419
+ ```
16420
+
16421
+ Validate that the policy statement satisfies base requirements for a policy.
16422
+
16423
+ ##### `validateForIdentityPolicy` <a name="validateForIdentityPolicy" id="@rio-cloud/cdk-v2-constructs.iam.EcrPullThroughCachePolicyStatement.validateForIdentityPolicy"></a>
16424
+
16425
+ ```typescript
16426
+ public validateForIdentityPolicy(): string[]
16427
+ ```
16428
+
16429
+ Validate that the policy statement satisfies all requirements for an identity-based policy.
16430
+
16431
+ ##### `validateForResourcePolicy` <a name="validateForResourcePolicy" id="@rio-cloud/cdk-v2-constructs.iam.EcrPullThroughCachePolicyStatement.validateForResourcePolicy"></a>
16432
+
16433
+ ```typescript
16434
+ public validateForResourcePolicy(): string[]
16435
+ ```
16436
+
16437
+ Validate that the policy statement satisfies all requirements for a resource-based policy.
16438
+
16439
+ #### Static Functions <a name="Static Functions" id="Static Functions"></a>
16440
+
16441
+ | **Name** | **Description** |
16442
+ | --- | --- |
16443
+ | <code><a href="#@rio-cloud/cdk-v2-constructs.iam.EcrPullThroughCachePolicyStatement.fromJson">fromJson</a></code> | Creates a new PolicyStatement based on the object provided. |
16444
+
16445
+ ---
16446
+
16447
+ ##### `fromJson` <a name="fromJson" id="@rio-cloud/cdk-v2-constructs.iam.EcrPullThroughCachePolicyStatement.fromJson"></a>
16448
+
16449
+ ```typescript
16450
+ import { iam } from '@rio-cloud/cdk-v2-constructs'
16451
+
16452
+ iam.EcrPullThroughCachePolicyStatement.fromJson(obj: any)
16453
+ ```
16454
+
16455
+ Creates a new PolicyStatement based on the object provided.
16456
+
16457
+ This will accept an object created from the `.toJSON()` call
16458
+
16459
+ ###### `obj`<sup>Required</sup> <a name="obj" id="@rio-cloud/cdk-v2-constructs.iam.EcrPullThroughCachePolicyStatement.fromJson.parameter.obj"></a>
16460
+
16461
+ - *Type:* any
16462
+
16463
+ the PolicyStatement in object form.
16464
+
16465
+ ---
16466
+
16467
+ #### Properties <a name="Properties" id="Properties"></a>
16468
+
16469
+ | **Name** | **Type** | **Description** |
16470
+ | --- | --- | --- |
16471
+ | <code><a href="#@rio-cloud/cdk-v2-constructs.iam.EcrPullThroughCachePolicyStatement.property.actions">actions</a></code> | <code>string[]</code> | The Actions added to this statement. |
16472
+ | <code><a href="#@rio-cloud/cdk-v2-constructs.iam.EcrPullThroughCachePolicyStatement.property.conditions">conditions</a></code> | <code>any</code> | The conditions added to this statement. |
16473
+ | <code><a href="#@rio-cloud/cdk-v2-constructs.iam.EcrPullThroughCachePolicyStatement.property.frozen">frozen</a></code> | <code>boolean</code> | Whether the PolicyStatement has been frozen. |
16474
+ | <code><a href="#@rio-cloud/cdk-v2-constructs.iam.EcrPullThroughCachePolicyStatement.property.hasPrincipal">hasPrincipal</a></code> | <code>boolean</code> | Indicates if this permission has a "Principal" section. |
16475
+ | <code><a href="#@rio-cloud/cdk-v2-constructs.iam.EcrPullThroughCachePolicyStatement.property.hasResource">hasResource</a></code> | <code>boolean</code> | Indicates if this permission has at least one resource associated with it. |
16476
+ | <code><a href="#@rio-cloud/cdk-v2-constructs.iam.EcrPullThroughCachePolicyStatement.property.notActions">notActions</a></code> | <code>string[]</code> | The NotActions added to this statement. |
16477
+ | <code><a href="#@rio-cloud/cdk-v2-constructs.iam.EcrPullThroughCachePolicyStatement.property.notPrincipals">notPrincipals</a></code> | <code>aws-cdk-lib.aws_iam.IPrincipal[]</code> | The NotPrincipals added to this statement. |
16478
+ | <code><a href="#@rio-cloud/cdk-v2-constructs.iam.EcrPullThroughCachePolicyStatement.property.notResources">notResources</a></code> | <code>string[]</code> | The NotResources added to this statement. |
16479
+ | <code><a href="#@rio-cloud/cdk-v2-constructs.iam.EcrPullThroughCachePolicyStatement.property.principals">principals</a></code> | <code>aws-cdk-lib.aws_iam.IPrincipal[]</code> | The Principals added to this statement. |
16480
+ | <code><a href="#@rio-cloud/cdk-v2-constructs.iam.EcrPullThroughCachePolicyStatement.property.resources">resources</a></code> | <code>string[]</code> | The Resources added to this statement. |
16481
+ | <code><a href="#@rio-cloud/cdk-v2-constructs.iam.EcrPullThroughCachePolicyStatement.property.effect">effect</a></code> | <code>aws-cdk-lib.aws_iam.Effect</code> | Whether to allow or deny the actions in this statement Set effect for this statement. |
16482
+ | <code><a href="#@rio-cloud/cdk-v2-constructs.iam.EcrPullThroughCachePolicyStatement.property.sid">sid</a></code> | <code>string</code> | Statement ID for this statement Set Statement ID for this statement. |
16483
+
16484
+ ---
16485
+
16486
+ ##### `actions`<sup>Required</sup> <a name="actions" id="@rio-cloud/cdk-v2-constructs.iam.EcrPullThroughCachePolicyStatement.property.actions"></a>
16487
+
16488
+ ```typescript
16489
+ public readonly actions: string[];
16490
+ ```
16491
+
16492
+ - *Type:* string[]
16493
+
16494
+ The Actions added to this statement.
16495
+
16496
+ ---
16497
+
16498
+ ##### `conditions`<sup>Required</sup> <a name="conditions" id="@rio-cloud/cdk-v2-constructs.iam.EcrPullThroughCachePolicyStatement.property.conditions"></a>
16499
+
16500
+ ```typescript
16501
+ public readonly conditions: any;
16502
+ ```
16503
+
16504
+ - *Type:* any
16505
+
16506
+ The conditions added to this statement.
16507
+
16508
+ ---
16509
+
16510
+ ##### `frozen`<sup>Required</sup> <a name="frozen" id="@rio-cloud/cdk-v2-constructs.iam.EcrPullThroughCachePolicyStatement.property.frozen"></a>
16511
+
16512
+ ```typescript
16513
+ public readonly frozen: boolean;
16514
+ ```
16515
+
16516
+ - *Type:* boolean
16517
+
16518
+ Whether the PolicyStatement has been frozen.
16519
+
16520
+ The statement object is frozen when `freeze()` is called.
16521
+
16522
+ ---
16523
+
16524
+ ##### `hasPrincipal`<sup>Required</sup> <a name="hasPrincipal" id="@rio-cloud/cdk-v2-constructs.iam.EcrPullThroughCachePolicyStatement.property.hasPrincipal"></a>
16525
+
16526
+ ```typescript
16527
+ public readonly hasPrincipal: boolean;
16528
+ ```
16529
+
16530
+ - *Type:* boolean
16531
+
16532
+ Indicates if this permission has a "Principal" section.
16533
+
16534
+ ---
16535
+
16536
+ ##### `hasResource`<sup>Required</sup> <a name="hasResource" id="@rio-cloud/cdk-v2-constructs.iam.EcrPullThroughCachePolicyStatement.property.hasResource"></a>
16537
+
16538
+ ```typescript
16539
+ public readonly hasResource: boolean;
16540
+ ```
16541
+
16542
+ - *Type:* boolean
16543
+
16544
+ Indicates if this permission has at least one resource associated with it.
16545
+
16546
+ ---
16547
+
16548
+ ##### `notActions`<sup>Required</sup> <a name="notActions" id="@rio-cloud/cdk-v2-constructs.iam.EcrPullThroughCachePolicyStatement.property.notActions"></a>
16549
+
16550
+ ```typescript
16551
+ public readonly notActions: string[];
16552
+ ```
16553
+
16554
+ - *Type:* string[]
16555
+
16556
+ The NotActions added to this statement.
16557
+
16558
+ ---
16559
+
16560
+ ##### `notPrincipals`<sup>Required</sup> <a name="notPrincipals" id="@rio-cloud/cdk-v2-constructs.iam.EcrPullThroughCachePolicyStatement.property.notPrincipals"></a>
16561
+
16562
+ ```typescript
16563
+ public readonly notPrincipals: IPrincipal[];
16564
+ ```
16565
+
16566
+ - *Type:* aws-cdk-lib.aws_iam.IPrincipal[]
16567
+
16568
+ The NotPrincipals added to this statement.
16569
+
16570
+ ---
16571
+
16572
+ ##### `notResources`<sup>Required</sup> <a name="notResources" id="@rio-cloud/cdk-v2-constructs.iam.EcrPullThroughCachePolicyStatement.property.notResources"></a>
16573
+
16574
+ ```typescript
16575
+ public readonly notResources: string[];
16576
+ ```
16577
+
16578
+ - *Type:* string[]
16579
+
16580
+ The NotResources added to this statement.
16581
+
16582
+ ---
16583
+
16584
+ ##### `principals`<sup>Required</sup> <a name="principals" id="@rio-cloud/cdk-v2-constructs.iam.EcrPullThroughCachePolicyStatement.property.principals"></a>
16585
+
16586
+ ```typescript
16587
+ public readonly principals: IPrincipal[];
16588
+ ```
16589
+
16590
+ - *Type:* aws-cdk-lib.aws_iam.IPrincipal[]
16591
+
16592
+ The Principals added to this statement.
16593
+
16594
+ ---
16595
+
16596
+ ##### `resources`<sup>Required</sup> <a name="resources" id="@rio-cloud/cdk-v2-constructs.iam.EcrPullThroughCachePolicyStatement.property.resources"></a>
16597
+
16598
+ ```typescript
16599
+ public readonly resources: string[];
16600
+ ```
16601
+
16602
+ - *Type:* string[]
16603
+
16604
+ The Resources added to this statement.
16605
+
16606
+ ---
16607
+
16608
+ ##### `effect`<sup>Required</sup> <a name="effect" id="@rio-cloud/cdk-v2-constructs.iam.EcrPullThroughCachePolicyStatement.property.effect"></a>
16609
+
16610
+ ```typescript
16611
+ public readonly effect: Effect;
16612
+ ```
16613
+
16614
+ - *Type:* aws-cdk-lib.aws_iam.Effect
16615
+
16616
+ Whether to allow or deny the actions in this statement Set effect for this statement.
16617
+
16618
+ ---
16619
+
16620
+ ##### `sid`<sup>Optional</sup> <a name="sid" id="@rio-cloud/cdk-v2-constructs.iam.EcrPullThroughCachePolicyStatement.property.sid"></a>
16621
+
16622
+ ```typescript
16623
+ public readonly sid: string;
16624
+ ```
16625
+
16626
+ - *Type:* string
16627
+
16628
+ Statement ID for this statement Set Statement ID for this statement.
16629
+
16630
+ ---
16631
+
16632
+
15965
16633
  ### KafkaEventSpecSource <a name="KafkaEventSpecSource" id="@rio-cloud/cdk-v2-constructs.KafkaEventSpecSource"></a>
15966
16634
 
15967
16635
  Wrapper class for the event spec itself to support providing it via file or inline string.