cdk-iam-floyd
Version:
AWS IAM policy statement generator with fluent interface for AWS CDK
1,283 lines • 235 kB
JavaScript
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.Elasticache = void 0;
const shared_1 = require("../../shared");
/**
* Statement provider for service [elasticache](https://docs.aws.amazon.com/service-authorization/latest/reference/list_elasticache.html).
*
* @param sid [SID](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_sid.html) of the statement
*/
class Elasticache extends shared_1.PolicyStatement {
/**
* Grants permission to add tags to an ElastiCache resource
*
* Access Level: Tagging, Write
*
* https://docs.aws.amazon.com/AmazonElastiCache/latest/APIReference/API_AddTagsToResource.html
*/
toAddTagsToResource() {
return this.to('AddTagsToResource');
}
/**
* Grants permission to authorize an EC2 security group on a ElastiCache security group
*
* Access Level: Write
*
* https://docs.aws.amazon.com/AmazonElastiCache/latest/APIReference/API_AuthorizeCacheSecurityGroupIngress.html
*/
toAuthorizeCacheSecurityGroupIngress() {
return this.to('AuthorizeCacheSecurityGroupIngress');
}
/**
* Grants permission to apply ElastiCache service updates to sets of clusters and replication groups
*
* Access Level: Write
*
* https://docs.aws.amazon.com/AmazonElastiCache/latest/APIReference/API_BatchApplyUpdateAction.html
*/
toBatchApplyUpdateAction() {
return this.to('BatchApplyUpdateAction');
}
/**
* Grants permission to stop ElastiCache service updates from being executed on a set of clusters
*
* Access Level: Write
*
* https://docs.aws.amazon.com/AmazonElastiCache/latest/APIReference/API_BatchStopUpdateAction.html
*/
toBatchStopUpdateAction() {
return this.to('BatchStopUpdateAction');
}
/**
* Grants permission to complete an online migration of data from hosted Redis on Amazon EC2 to ElastiCache
*
* Access Level: Write
*
* https://docs.aws.amazon.com/AmazonElastiCache/latest/APIReference/API_CompleteMigration.html
*/
toCompleteMigration() {
return this.to('CompleteMigration');
}
/**
* Grants permission to connect as a specified ElastiCache user to an ElastiCache Replication Group or ElastiCache serverless cache
*
* Access Level: Write
*
* https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/auth-iam.html
*/
toConnect() {
return this.to('Connect');
}
/**
* Grants permission to make a copy of an existing serverless cache snapshot
*
* Access Level: Write
*
* https://docs.aws.amazon.com/AmazonElastiCache/latest/APIReference/API_CopyServerlessCacheSnapshot.html
*/
toCopyServerlessCacheSnapshot() {
return this.to('CopyServerlessCacheSnapshot');
}
/**
* Grants permission to make a copy of an existing snapshot
*
* Access Level: Write
*
* https://docs.aws.amazon.com/AmazonElastiCache/latest/APIReference/API_CopySnapshot.html
*/
toCopySnapshot() {
return this.to('CopySnapshot');
}
/**
* Grants permission to create a cache cluster
*
* Access Level: Write
*
* https://docs.aws.amazon.com/AmazonElastiCache/latest/APIReference/API_CreateCacheCluster.html
*/
toCreateCacheCluster() {
return this.to('CreateCacheCluster');
}
/**
* Grants permission to create a parameter group
*
* Access Level: Write
*
* https://docs.aws.amazon.com/AmazonElastiCache/latest/APIReference/API_CreateCacheParameterGroup.html
*/
toCreateCacheParameterGroup() {
return this.to('CreateCacheParameterGroup');
}
/**
* Grants permission to create a cache security group
*
* Access Level: Write
*
* https://docs.aws.amazon.com/AmazonElastiCache/latest/APIReference/API_CreateCacheSecurityGroup.html
*/
toCreateCacheSecurityGroup() {
return this.to('CreateCacheSecurityGroup');
}
/**
* Grants permission to create a cache subnet group
*
* Access Level: Write
*
* https://docs.aws.amazon.com/AmazonElastiCache/latest/APIReference/API_CreateCacheSubnetGroup.html
*/
toCreateCacheSubnetGroup() {
return this.to('CreateCacheSubnetGroup');
}
/**
* Grants permission to create a global replication group
*
* Access Level: Write
*
* https://docs.aws.amazon.com/AmazonElastiCache/latest/APIReference/API_CreateGlobalReplicationGroup.html
*/
toCreateGlobalReplicationGroup() {
return this.to('CreateGlobalReplicationGroup');
}
/**
* Grants permission to create a replication group
*
* Access Level: Write
*
* https://docs.aws.amazon.com/AmazonElastiCache/latest/APIReference/API_CreateReplicationGroup.html
*/
toCreateReplicationGroup() {
return this.to('CreateReplicationGroup');
}
/**
* Grants permission to create a serverless cache
*
* Access Level: Write
*
* https://docs.aws.amazon.com/AmazonElastiCache/latest/APIReference/API_CreateServerlessCache.html
*/
toCreateServerlessCache() {
return this.to('CreateServerlessCache');
}
/**
* Grants permission to create a copy of a serverless cache at a specific moment in time
*
* Access Level: Write
*
* https://docs.aws.amazon.com/AmazonElastiCache/latest/APIReference/API_CreateServerlessCacheSnapshot.html
*/
toCreateServerlessCacheSnapshot() {
return this.to('CreateServerlessCacheSnapshot');
}
/**
* Grants permission to create a copy of an entire Redis cluster at a specific moment in time
*
* Access Level: Write
*
* https://docs.aws.amazon.com/AmazonElastiCache/latest/APIReference/API_CreateSnapshot.html
*/
toCreateSnapshot() {
return this.to('CreateSnapshot');
}
/**
* Grants permission to create a user for Redis. Users are supported from Redis 6.0 onwards
*
* Access Level: Write
*
* https://docs.aws.amazon.com/AmazonElastiCache/latest/APIReference/API_CreateUser.html
*/
toCreateUser() {
return this.to('CreateUser');
}
/**
* Grants permission to create a user group for Redis. Groups are supported from Redis 6.0 onwards
*
* Access Level: Write
*
* https://docs.aws.amazon.com/AmazonElastiCache/latest/APIReference/API_CreateUserGroup.html
*/
toCreateUserGroup() {
return this.to('CreateUserGroup');
}
/**
* Grants permission to decrease the number of node groups in global replication groups
*
* Access Level: Write
*
* https://docs.aws.amazon.com/AmazonElastiCache/latest/APIReference/API_DecreaseNodeGroupsInGlobalReplicationGroup.html
*/
toDecreaseNodeGroupsInGlobalReplicationGroup() {
return this.to('DecreaseNodeGroupsInGlobalReplicationGroup');
}
/**
* Grants permission to decrease the number of replicas in a Redis (cluster mode disabled) replication group or the number of replica nodes in one or more node groups (shards) of a Redis (cluster mode enabled) replication group
*
* Access Level: Write
*
* https://docs.aws.amazon.com/AmazonElastiCache/latest/APIReference/API_DecreaseReplicaCount.html
*/
toDecreaseReplicaCount() {
return this.to('DecreaseReplicaCount');
}
/**
* Grants permission to delete a previously provisioned cluster
*
* Access Level: Write
*
* https://docs.aws.amazon.com/AmazonElastiCache/latest/APIReference/API_DeleteCacheCluster.html
*/
toDeleteCacheCluster() {
return this.to('DeleteCacheCluster');
}
/**
* Grants permission to delete the specified cache parameter group
*
* Access Level: Write
*
* https://docs.aws.amazon.com/AmazonElastiCache/latest/APIReference/API_DeleteCacheParameterGroup.html
*/
toDeleteCacheParameterGroup() {
return this.to('DeleteCacheParameterGroup');
}
/**
* Grants permission to delete a cache security group
*
* Access Level: Write
*
* https://docs.aws.amazon.com/AmazonElastiCache/latest/APIReference/API_DeleteCacheSecurityGroup.html
*/
toDeleteCacheSecurityGroup() {
return this.to('DeleteCacheSecurityGroup');
}
/**
* Grants permission to delete a cache subnet group
*
* Access Level: Write
*
* https://docs.aws.amazon.com/AmazonElastiCache/latest/APIReference/API_DeleteCacheSubnetGroup.html
*/
toDeleteCacheSubnetGroup() {
return this.to('DeleteCacheSubnetGroup');
}
/**
* Grants permission to delete an existing global replication group
*
* Access Level: Write
*
* https://docs.aws.amazon.com/AmazonElastiCache/latest/APIReference/API_DeleteGlobalReplicationGroup.html
*/
toDeleteGlobalReplicationGroup() {
return this.to('DeleteGlobalReplicationGroup');
}
/**
* Grants permission to delete an existing replication group
*
* Access Level: Write
*
* https://docs.aws.amazon.com/AmazonElastiCache/latest/APIReference/API_DeleteReplicationGroup.html
*/
toDeleteReplicationGroup() {
return this.to('DeleteReplicationGroup');
}
/**
* Grants permission to delete a serverless cache
*
* Access Level: Write
*
* https://docs.aws.amazon.com/AmazonElastiCache/latest/APIReference/API_DeleteServerlessCache.html
*/
toDeleteServerlessCache() {
return this.to('DeleteServerlessCache');
}
/**
* Grants permission to delete a serverless cache snapshot
*
* Access Level: Write
*
* https://docs.aws.amazon.com/AmazonElastiCache/latest/APIReference/API_DeleteServerlessCacheSnapshot.html
*/
toDeleteServerlessCacheSnapshot() {
return this.to('DeleteServerlessCacheSnapshot');
}
/**
* Grants permission to delete an existing snapshot
*
* Access Level: Write
*
* https://docs.aws.amazon.com/AmazonElastiCache/latest/APIReference/API_DeleteSnapshot.html
*/
toDeleteSnapshot() {
return this.to('DeleteSnapshot');
}
/**
* Grants permission to delete an existing user and thus remove it from all user groups and replication groups where it was assigned
*
* Access Level: Write
*
* https://docs.aws.amazon.com/AmazonElastiCache/latest/APIReference/API_DeleteUser.html
*/
toDeleteUser() {
return this.to('DeleteUser');
}
/**
* Grants permission to delete an existing user group
*
* Access Level: Write
*
* https://docs.aws.amazon.com/AmazonElastiCache/latest/APIReference/API_DeleteUserGroup.html
*/
toDeleteUserGroup() {
return this.to('DeleteUserGroup');
}
/**
* Grants permission to list information about provisioned cache clusters
*
* Access Level: List
*
* https://docs.aws.amazon.com/AmazonElastiCache/latest/APIReference/API_DescribeCacheClusters.html
*/
toDescribeCacheClusters() {
return this.to('DescribeCacheClusters');
}
/**
* Grants permission to list available cache engines and their versions
*
* Access Level: List
*
* https://docs.aws.amazon.com/AmazonElastiCache/latest/APIReference/API_DescribeCacheEngineVersions.html
*/
toDescribeCacheEngineVersions() {
return this.to('DescribeCacheEngineVersions');
}
/**
* Grants permission to list cache parameter group descriptions
*
* Access Level: List
*
* https://docs.aws.amazon.com/AmazonElastiCache/latest/APIReference/API_DescribeCacheParameterGroups.html
*/
toDescribeCacheParameterGroups() {
return this.to('DescribeCacheParameterGroups');
}
/**
* Grants permission to retrieve the detailed parameter list for a particular cache parameter group
*
* Access Level: List
*
* https://docs.aws.amazon.com/AmazonElastiCache/latest/APIReference/API_DescribeCacheParameters.html
*/
toDescribeCacheParameters() {
return this.to('DescribeCacheParameters');
}
/**
* Grants permission to list cache security group descriptions
*
* Access Level: List
*
* https://docs.aws.amazon.com/AmazonElastiCache/latest/APIReference/API_DescribeCacheSecurityGroups.html
*/
toDescribeCacheSecurityGroups() {
return this.to('DescribeCacheSecurityGroups');
}
/**
* Grants permission to list cache subnet group descriptions
*
* Access Level: List
*
* https://docs.aws.amazon.com/AmazonElastiCache/latest/APIReference/API_DescribeCacheSubnetGroups.html
*/
toDescribeCacheSubnetGroups() {
return this.to('DescribeCacheSubnetGroups');
}
/**
* Grants permission to retrieve the default engine and system parameter information for the specified cache engine
*
* Access Level: List
*
* https://docs.aws.amazon.com/AmazonElastiCache/latest/APIReference/API_DescribeEngineDefaultParameters.html
*/
toDescribeEngineDefaultParameters() {
return this.to('DescribeEngineDefaultParameters');
}
/**
* Grants permission to list events related to clusters, cache security groups, and cache parameter groups
*
* Access Level: List
*
* https://docs.aws.amazon.com/AmazonElastiCache/latest/APIReference/API_DescribeEvents.html
*/
toDescribeEvents() {
return this.to('DescribeEvents');
}
/**
* Grants permission to list information about global replication groups
*
* Access Level: List
*
* https://docs.aws.amazon.com/AmazonElastiCache/latest/APIReference/API_DescribeGlobalReplicationGroups.html
*/
toDescribeGlobalReplicationGroups() {
return this.to('DescribeGlobalReplicationGroups');
}
/**
* Grants permission to list information about provisioned replication groups
*
* Access Level: List
*
* https://docs.aws.amazon.com/AmazonElastiCache/latest/APIReference/API_DescribeReplicationGroups.html
*/
toDescribeReplicationGroups() {
return this.to('DescribeReplicationGroups');
}
/**
* Grants permission to list information about purchased reserved cache nodes
*
* Access Level: List
*
* https://docs.aws.amazon.com/AmazonElastiCache/latest/APIReference/API_DescribeReservedCacheNodes.html
*/
toDescribeReservedCacheNodes() {
return this.to('DescribeReservedCacheNodes');
}
/**
* Grants permission to list available reserved cache node offerings
*
* Access Level: List
*
* https://docs.aws.amazon.com/AmazonElastiCache/latest/APIReference/API_DescribeReservedCacheNodesOfferings.html
*/
toDescribeReservedCacheNodesOfferings() {
return this.to('DescribeReservedCacheNodesOfferings');
}
/**
* Grants permission to list information about serverless cache snapshots
*
* Access Level: List
*
* https://docs.aws.amazon.com/AmazonElastiCache/latest/APIReference/API_DescribeServerlessCacheSnapshots.html
*/
toDescribeServerlessCacheSnapshots() {
return this.to('DescribeServerlessCacheSnapshots');
}
/**
* Grants permission to list serverless caches
*
* Access Level: List
*
* https://docs.aws.amazon.com/AmazonElastiCache/latest/APIReference/API_DescribeServerlessCaches.html
*/
toDescribeServerlessCaches() {
return this.to('DescribeServerlessCaches');
}
/**
* Grants permission to list details of the service updates
*
* Access Level: List
*
* https://docs.aws.amazon.com/AmazonElastiCache/latest/APIReference/API_DescribeServiceUpdates.html
*/
toDescribeServiceUpdates() {
return this.to('DescribeServiceUpdates');
}
/**
* Grants permission to list information about cluster or replication group snapshots
*
* Access Level: List
*
* https://docs.aws.amazon.com/AmazonElastiCache/latest/APIReference/API_DescribeSnapshots.html
*/
toDescribeSnapshots() {
return this.to('DescribeSnapshots');
}
/**
* Grants permission to list details of the update actions for a set of clusters or replication groups
*
* Access Level: List
*
* https://docs.aws.amazon.com/AmazonElastiCache/latest/APIReference/API_DescribeUpdateActions.html
*/
toDescribeUpdateActions() {
return this.to('DescribeUpdateActions');
}
/**
* Grants permission to list information about Redis user groups
*
* Access Level: List
*
* https://docs.aws.amazon.com/AmazonElastiCache/latest/APIReference/API_DescribeUserGroups.html
*/
toDescribeUserGroups() {
return this.to('DescribeUserGroups');
}
/**
* Grants permission to list information about Redis users
*
* Access Level: List
*
* https://docs.aws.amazon.com/AmazonElastiCache/latest/APIReference/API_DescribeUsers.html
*/
toDescribeUsers() {
return this.to('DescribeUsers');
}
/**
* Grants permission to remove a secondary replication group from the global replication group
*
* Access Level: Write
*
* https://docs.aws.amazon.com/AmazonElastiCache/latest/APIReference/API_DisassociateGlobalReplicationGroup.html
*/
toDisassociateGlobalReplicationGroup() {
return this.to('DisassociateGlobalReplicationGroup');
}
/**
* Grants permission to export a copy of a serverless cache at a specific moment in time to s3 bucket
*
* Access Level: Write
*
* https://docs.aws.amazon.com/AmazonElastiCache/latest/APIReference/API_ExportServerlessCacheSnapshot.html
*/
toExportServerlessCacheSnapshot() {
return this.to('ExportServerlessCacheSnapshot');
}
/**
* Grants permission to failover the primary region to a selected secondary region of a global replication group
*
* Access Level: Write
*
* https://docs.aws.amazon.com/AmazonElastiCache/latest/APIReference/API_FailoverGlobalReplicationGroup.html
*/
toFailoverGlobalReplicationGroup() {
return this.to('FailoverGlobalReplicationGroup');
}
/**
* Grants permission to increase the number of node groups in a global replication group
*
* Access Level: Write
*
* https://docs.aws.amazon.com/AmazonElastiCache/latest/APIReference/API_IncreaseNodeGroupsInGlobalReplicationGroup.html
*/
toIncreaseNodeGroupsInGlobalReplicationGroup() {
return this.to('IncreaseNodeGroupsInGlobalReplicationGroup');
}
/**
* Grants permission to increase the number of replicas in a Redis (cluster mode disabled) replication group or the number of replica nodes in one or more node groups (shards) of a Redis (cluster mode enabled) replication group
*
* Access Level: Write
*
* https://docs.aws.amazon.com/AmazonElastiCache/latest/APIReference/API_IncreaseReplicaCount.html
*/
toIncreaseReplicaCount() {
return this.to('IncreaseReplicaCount');
}
/**
* Grants permission to list available node type that can be used to scale a particular Redis cluster or replication group
*
* Access Level: List
*
* https://docs.aws.amazon.com/AmazonElastiCache/latest/APIReference/API_ListAllowedNodeTypeModifications.html
*/
toListAllowedNodeTypeModifications() {
return this.to('ListAllowedNodeTypeModifications');
}
/**
* Grants permission to list tags for an ElastiCache resource
*
* Access Level: Read
*
* https://docs.aws.amazon.com/AmazonElastiCache/latest/APIReference/API_ListTagsForResource.html
*/
toListTagsForResource() {
return this.to('ListTagsForResource');
}
/**
* Grants permission to modify settings for a cluster
*
* Access Level: Write
*
* https://docs.aws.amazon.com/AmazonElastiCache/latest/APIReference/API_ModifyCacheCluster.html
*/
toModifyCacheCluster() {
return this.to('ModifyCacheCluster');
}
/**
* Grants permission to modify parameters of a cache parameter group
*
* Access Level: Write
*
* https://docs.aws.amazon.com/AmazonElastiCache/latest/APIReference/API_ModifyCacheParameterGroup.html
*/
toModifyCacheParameterGroup() {
return this.to('ModifyCacheParameterGroup');
}
/**
* Grants permission to modify an existing cache subnet group
*
* Access Level: Write
*
* https://docs.aws.amazon.com/AmazonElastiCache/latest/APIReference/API_ModifyCacheSubnetGroup.html
*/
toModifyCacheSubnetGroup() {
return this.to('ModifyCacheSubnetGroup');
}
/**
* Grants permission to modify settings for a global replication group
*
* Access Level: Write
*
* https://docs.aws.amazon.com/AmazonElastiCache/latest/APIReference/API_ModifyGlobalReplicationGroup.html
*/
toModifyGlobalReplicationGroup() {
return this.to('ModifyGlobalReplicationGroup');
}
/**
* Grants permission to modify the settings for a replication group
*
* Access Level: Write
*
* https://docs.aws.amazon.com/AmazonElastiCache/latest/APIReference/API_ModifyReplicationGroup.html
*/
toModifyReplicationGroup() {
return this.to('ModifyReplicationGroup');
}
/**
* Grants permission to add shards, remove shards, or rebalance the keyspaces among existing shards of a replication group
*
* Access Level: Write
*
* https://docs.aws.amazon.com/AmazonElastiCache/latest/APIReference/API_ModifyReplicationGroupShardConfiguration.html
*/
toModifyReplicationGroupShardConfiguration() {
return this.to('ModifyReplicationGroupShardConfiguration');
}
/**
* Grants permission to modify parameters for a serverless cache
*
* Access Level: Write
*
* https://docs.aws.amazon.com/AmazonElastiCache/latest/APIReference/API_ModifyServerlessCache.html
*/
toModifyServerlessCache() {
return this.to('ModifyServerlessCache');
}
/**
* Grants permission to change Redis user password(s) and/or access string
*
* Access Level: Write
*
* https://docs.aws.amazon.com/AmazonElastiCache/latest/APIReference/API_ModifyUser.html
*/
toModifyUser() {
return this.to('ModifyUser');
}
/**
* Grants permission to change list of users that belong to the user group
*
* Access Level: Write
*
* https://docs.aws.amazon.com/AmazonElastiCache/latest/APIReference/API_ModifyUserGroup.html
*/
toModifyUserGroup() {
return this.to('ModifyUserGroup');
}
/**
* Grants permission to purchase a reserved cache node offering
*
* Access Level: Write
*
* https://docs.aws.amazon.com/AmazonElastiCache/latest/APIReference/API_PurchaseReservedCacheNodesOffering.html
*/
toPurchaseReservedCacheNodesOffering() {
return this.to('PurchaseReservedCacheNodesOffering');
}
/**
* Grants permission to perform a key space rebalance operation to redistribute slots and ensure uniform key distribution across existing shards in a global replication group
*
* Access Level: Write
*
* https://docs.aws.amazon.com/AmazonElastiCache/latest/APIReference/API_RebalanceSlotsInGlobalReplicationGroup.html
*/
toRebalanceSlotsInGlobalReplicationGroup() {
return this.to('RebalanceSlotsInGlobalReplicationGroup');
}
/**
* Grants permission to reboot some, or all, of the cache nodes within a provisioned cache cluster or replication group (cluster mode disabled)
*
* Access Level: Write
*
* https://docs.aws.amazon.com/AmazonElastiCache/latest/APIReference/API_RebootCacheCluster.html
*/
toRebootCacheCluster() {
return this.to('RebootCacheCluster');
}
/**
* Grants permission to remove tags from a ElastiCache resource
*
* Access Level: Tagging, Write
*
* https://docs.aws.amazon.com/AmazonElastiCache/latest/APIReference/API_RemoveTagsFromResource.html
*/
toRemoveTagsFromResource() {
return this.to('RemoveTagsFromResource');
}
/**
* Grants permission to modify parameters of a cache parameter group back to their default values
*
* Access Level: Write
*
* https://docs.aws.amazon.com/AmazonElastiCache/latest/APIReference/API_ResetCacheParameterGroup.html
*/
toResetCacheParameterGroup() {
return this.to('ResetCacheParameterGroup');
}
/**
* Grants permission to remove an EC2 security group ingress from a ElastiCache security group
*
* Access Level: Write
*
* https://docs.aws.amazon.com/AmazonElastiCache/latest/APIReference/API_RevokeCacheSecurityGroupIngress.html
*/
toRevokeCacheSecurityGroupIngress() {
return this.to('RevokeCacheSecurityGroupIngress');
}
/**
* Grants permission to start a migration of data from hosted Redis on Amazon EC2 to ElastiCache for Redis
*
* Access Level: Write
*
* https://docs.aws.amazon.com/AmazonElastiCache/latest/APIReference/API_StartMigration.html
*/
toStartMigration() {
return this.to('StartMigration');
}
/**
* Grants permission to test automatic failover on a specified node group in a replication group
*
* Access Level: Write
*
* https://docs.aws.amazon.com/AmazonElastiCache/latest/APIReference/API_TestFailover.html
*/
toTestFailover() {
return this.to('TestFailover');
}
/**
* Grants permission to test a migration of data from hosted Redis on Amazon EC2 to ElastiCache for Redis
*
* Access Level: Write
*
* https://docs.aws.amazon.com/AmazonElastiCache/latest/APIReference/API_TestMigration.html
*/
toTestMigration() {
return this.to('TestMigration');
}
/**
* Grants permission to test an AZ power interruption for an ElastiCache resource
*
* Access Level: Write
*
* https://docs.aws.amazon.com/fis/latest/userguide/fis-actions-reference.html#elasticache-actions-reference
*/
toInterruptClusterAzPower() {
return this.to('InterruptClusterAzPower');
}
/**
* Adds a resource of type cluster to the statement
*
* https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/WhatIs.Components.html#WhatIs.Components.Clusters
*
* @param cacheClusterId - Identifier for the cacheClusterId.
* @param account - Account of the resource; defaults to `*`, unless using the CDK, where the default is the current Stack's account.
* @param region - Region of the resource; defaults to `*`, unless using the CDK, where the default is the current Stack's region.
* @param partition - Partition of the AWS account [aws, aws-cn, aws-us-gov]; defaults to `aws`, unless using the CDK, where the default is the current Stack's partition.
*
* Possible conditions:
* - .ifAwsRequestTag()
* - .ifAwsResourceTag()
* - .ifAwsTagKeys()
* - .ifAuthTokenEnabled()
* - .ifCacheNodeType()
* - .ifCacheParameterGroupName()
* - .ifEngineType()
* - .ifEngineVersion()
* - .ifMultiAZEnabled()
* - .ifSnapshotRetentionLimit()
*/
onCluster(cacheClusterId, account, region, partition) {
return this.on(`arn:${partition ?? this.defaultPartition}:elasticache:${region ?? this.defaultRegion}:${account ?? this.defaultAccount}:cluster:${cacheClusterId}`);
}
/**
* Adds a resource of type globalreplicationgroup to the statement
*
* https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/Redis-Global-Datastore.html
*
* @param globalReplicationGroupId - Identifier for the globalReplicationGroupId.
* @param account - Account of the resource; defaults to `*`, unless using the CDK, where the default is the current Stack's account.
* @param partition - Partition of the AWS account [aws, aws-cn, aws-us-gov]; defaults to `aws`, unless using the CDK, where the default is the current Stack's partition.
*
* Possible conditions:
* - .ifAtRestEncryptionEnabled()
* - .ifAuthTokenEnabled()
* - .ifAutomaticFailoverEnabled()
* - .ifCacheNodeType()
* - .ifCacheParameterGroupName()
* - .ifClusterModeEnabled()
* - .ifEngineType()
* - .ifEngineVersion()
* - .ifKmsKeyId()
* - .ifMultiAZEnabled()
* - .ifNumNodeGroups()
* - .ifReplicasPerNodeGroup()
* - .ifSnapshotRetentionLimit()
* - .ifTransitEncryptionEnabled()
*/
onGlobalreplicationgroup(globalReplicationGroupId, account, partition) {
return this.on(`arn:${partition ?? this.defaultPartition}:elasticache::${account ?? this.defaultAccount}:globalreplicationgroup:${globalReplicationGroupId}`);
}
/**
* Adds a resource of type parametergroup to the statement
*
* https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/WhatIs.Components.html#WhatIs.Components.ParameterGroups
*
* @param cacheParameterGroupName - Identifier for the cacheParameterGroupName.
* @param account - Account of the resource; defaults to `*`, unless using the CDK, where the default is the current Stack's account.
* @param region - Region of the resource; defaults to `*`, unless using the CDK, where the default is the current Stack's region.
* @param partition - Partition of the AWS account [aws, aws-cn, aws-us-gov]; defaults to `aws`, unless using the CDK, where the default is the current Stack's partition.
*
* Possible conditions:
* - .ifAwsRequestTag()
* - .ifAwsResourceTag()
* - .ifAwsTagKeys()
* - .ifCacheParameterGroupName()
*/
onParametergroup(cacheParameterGroupName, account, region, partition) {
return this.on(`arn:${partition ?? this.defaultPartition}:elasticache:${region ?? this.defaultRegion}:${account ?? this.defaultAccount}:parametergroup:${cacheParameterGroupName}`);
}
/**
* Adds a resource of type replicationgroup to the statement
*
* https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/WhatIs.Components.html#WhatIs.Components.ReplicationGroups
*
* @param replicationGroupId - Identifier for the replicationGroupId.
* @param account - Account of the resource; defaults to `*`, unless using the CDK, where the default is the current Stack's account.
* @param region - Region of the resource; defaults to `*`, unless using the CDK, where the default is the current Stack's region.
* @param partition - Partition of the AWS account [aws, aws-cn, aws-us-gov]; defaults to `aws`, unless using the CDK, where the default is the current Stack's partition.
*
* Possible conditions:
* - .ifAwsRequestTag()
* - .ifAwsResourceTag()
* - .ifAwsTagKeys()
* - .ifAtRestEncryptionEnabled()
* - .ifAuthTokenEnabled()
* - .ifAutomaticFailoverEnabled()
* - .ifCacheNodeType()
* - .ifCacheParameterGroupName()
* - .ifClusterModeEnabled()
* - .ifDurability()
* - .ifEngineType()
* - .ifEngineVersion()
* - .ifKmsKeyId()
* - .ifMultiAZEnabled()
* - .ifNumNodeGroups()
* - .ifReplicasPerNodeGroup()
* - .ifSnapshotRetentionLimit()
* - .ifTransitEncryptionEnabled()
*/
onReplicationgroup(replicationGroupId, account, region, partition) {
return this.on(`arn:${partition ?? this.defaultPartition}:elasticache:${region ?? this.defaultRegion}:${account ?? this.defaultAccount}:replicationgroup:${replicationGroupId}`);
}
/**
* Adds a resource of type reserved-instance to the statement
*
* https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/reserved-nodes.html
*
* @param reservedCacheNodeId - Identifier for the reservedCacheNodeId.
* @param account - Account of the resource; defaults to `*`, unless using the CDK, where the default is the current Stack's account.
* @param region - Region of the resource; defaults to `*`, unless using the CDK, where the default is the current Stack's region.
* @param partition - Partition of the AWS account [aws, aws-cn, aws-us-gov]; defaults to `aws`, unless using the CDK, where the default is the current Stack's partition.
*
* Possible conditions:
* - .ifAwsRequestTag()
* - .ifAwsResourceTag()
* - .ifAwsTagKeys()
*/
onReservedInstance(reservedCacheNodeId, account, region, partition) {
return this.on(`arn:${partition ?? this.defaultPartition}:elasticache:${region ?? this.defaultRegion}:${account ?? this.defaultAccount}:reserved-instance:${reservedCacheNodeId}`);
}
/**
* Adds a resource of type securitygroup to the statement
*
* https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/WhatIs.Components.html#WhatIs.Components.SecurityGroups
*
* @param cacheSecurityGroupName - Identifier for the cacheSecurityGroupName.
* @param account - Account of the resource; defaults to `*`, unless using the CDK, where the default is the current Stack's account.
* @param region - Region of the resource; defaults to `*`, unless using the CDK, where the default is the current Stack's region.
* @param partition - Partition of the AWS account [aws, aws-cn, aws-us-gov]; defaults to `aws`, unless using the CDK, where the default is the current Stack's partition.
*
* Possible conditions:
* - .ifAwsRequestTag()
* - .ifAwsResourceTag()
* - .ifAwsTagKeys()
*/
onSecuritygroup(cacheSecurityGroupName, account, region, partition) {
return this.on(`arn:${partition ?? this.defaultPartition}:elasticache:${region ?? this.defaultRegion}:${account ?? this.defaultAccount}:securitygroup:${cacheSecurityGroupName}`);
}
/**
* Adds a resource of type serverlesscache to the statement
*
* https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/WhatIs.html
*
* @param serverlessCacheName - Identifier for the serverlessCacheName.
* @param account - Account of the resource; defaults to `*`, unless using the CDK, where the default is the current Stack's account.
* @param region - Region of the resource; defaults to `*`, unless using the CDK, where the default is the current Stack's region.
* @param partition - Partition of the AWS account [aws, aws-cn, aws-us-gov]; defaults to `aws`, unless using the CDK, where the default is the current Stack's partition.
*
* Possible conditions:
* - .ifAwsRequestTag()
* - .ifAwsResourceTag()
* - .ifAwsTagKeys()
* - .ifDataStorageUnit()
* - .ifEngineType()
* - .ifEngineVersion()
* - .ifKmsKeyId()
* - .ifMaximumDataStorage()
* - .ifMaximumECPUPerSecond()
* - .ifMinimumDataStorage()
* - .ifMinimumECPUPerSecond()
* - .ifSnapshotRetentionLimit()
*/
onServerlesscache(serverlessCacheName, account, region, partition) {
return this.on(`arn:${partition ?? this.defaultPartition}:elasticache:${region ?? this.defaultRegion}:${account ?? this.defaultAccount}:serverlesscache:${serverlessCacheName}`);
}
/**
* Adds a resource of type serverlesscachesnapshot to the statement
*
* https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/WhatIs.html
*
* @param serverlessCacheSnapshotName - Identifier for the serverlessCacheSnapshotName.
* @param account - Account of the resource; defaults to `*`, unless using the CDK, where the default is the current Stack's account.
* @param region - Region of the resource; defaults to `*`, unless using the CDK, where the default is the current Stack's region.
* @param partition - Partition of the AWS account [aws, aws-cn, aws-us-gov]; defaults to `aws`, unless using the CDK, where the default is the current Stack's partition.
*
* Possible conditions:
* - .ifAwsRequestTag()
* - .ifAwsResourceTag()
* - .ifAwsTagKeys()
* - .ifKmsKeyId()
*/
onServerlesscachesnapshot(serverlessCacheSnapshotName, account, region, partition) {
return this.on(`arn:${partition ?? this.defaultPartition}:elasticache:${region ?? this.defaultRegion}:${account ?? this.defaultAccount}:serverlesscachesnapshot:${serverlessCacheSnapshotName}`);
}
/**
* Adds a resource of type snapshot to the statement
*
* https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/WhatIs.Components.html#WhatIs.Components.Snapshots
*
* @param snapshotName - Identifier for the snapshotName.
* @param account - Account of the resource; defaults to `*`, unless using the CDK, where the default is the current Stack's account.
* @param region - Region of the resource; defaults to `*`, unless using the CDK, where the default is the current Stack's region.
* @param partition - Partition of the AWS account [aws, aws-cn, aws-us-gov]; defaults to `aws`, unless using the CDK, where the default is the current Stack's partition.
*
* Possible conditions:
* - .ifAwsRequestTag()
* - .ifAwsResourceTag()
* - .ifAwsTagKeys()
* - .ifKmsKeyId()
*/
onSnapshot(snapshotName, account, region, partition) {
return this.on(`arn:${partition ?? this.defaultPartition}:elasticache:${region ?? this.defaultRegion}:${account ?? this.defaultAccount}:snapshot:${snapshotName}`);
}
/**
* Adds a resource of type subnetgroup to the statement
*
* https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/WhatIs.Components.html#WhatIs.Components.SubnetGroups
*
* @param cacheSubnetGroupName - Identifier for the cacheSubnetGroupName.
* @param account - Account of the resource; defaults to `*`, unless using the CDK, where the default is the current Stack's account.
* @param region - Region of the resource; defaults to `*`, unless using the CDK, where the default is the current Stack's region.
* @param partition - Partition of the AWS account [aws, aws-cn, aws-us-gov]; defaults to `aws`, unless using the CDK, where the default is the current Stack's partition.
*
* Possible conditions:
* - .ifAwsRequestTag()
* - .ifAwsResourceTag()
* - .ifAwsTagKeys()
*/
onSubnetgroup(cacheSubnetGroupName, account, region, partition) {
return this.on(`arn:${partition ?? this.defaultPartition}:elasticache:${region ?? this.defaultRegion}:${account ?? this.defaultAccount}:subnetgroup:${cacheSubnetGroupName}`);
}
/**
* Adds a resource of type user to the statement
*
* https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/Clusters.RBAC.html
*
* @param userId - Identifier for the userId.
* @param account - Account of the resource; defaults to `*`, unless using the CDK, where the default is the current Stack's account.
* @param region - Region of the resource; defaults to `*`, unless using the CDK, where the default is the current Stack's region.
* @param partition - Partition of the AWS account [aws, aws-cn, aws-us-gov]; defaults to `aws`, unless using the CDK, where the default is the current Stack's partition.
*
* Possible conditions:
* - .ifAwsRequestTag()
* - .ifAwsResourceTag()
* - .ifAwsTagKeys()
* - .ifUserAuthenticationMode()
*/
onUser(userId, account, region, partition) {
return this.on(`arn:${partition ?? this.defaultPartition}:elasticache:${region ?? this.defaultRegion}:${account ?? this.defaultAccount}:user:${userId}`);
}
/**
* Adds a resource of type usergroup to the statement
*
* https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/Clusters.RBAC.html
*
* @param userGroupId - Identifier for the userGroupId.
* @param account - Account of the resource; defaults to `*`, unless using the CDK, where the default is the current Stack's account.
* @param region - Region of the resource; defaults to `*`, unless using the CDK, where the default is the current Stack's region.
* @param partition - Partition of the AWS account [aws, aws-cn, aws-us-gov]; defaults to `aws`, unless using the CDK, where the default is the current Stack's partition.
*
* Possible conditions:
* - .ifAwsRequestTag()
* - .ifAwsResourceTag()
* - .ifAwsTagKeys()
*/
onUsergroup(userGroupId, account, region, partition) {
return this.on(`arn:${partition ?? this.defaultPartition}:elasticache:${region ?? this.defaultRegion}:${account ?? this.defaultAccount}:usergroup:${userGroupId}`);
}
/**
* Filters actions based on the tags that are passed in the request
*
* https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-requesttag
*
* Applies to actions:
* - .toAddTagsToResource()
* - .toAuthorizeCacheSecurityGroupIngress()
* - .toBatchApplyUpdateAction()
* - .toBatchStopUpdateAction()
* - .toCompleteMigration()
* - .toConnect()
* - .toCopyServerlessCacheSnapshot()
* - .toCopySnapshot()
* - .toCreateCacheCluster()
* - .toCreateCacheParameterGroup()
* - .toCreateCacheSecurityGroup()
* - .toCreateCacheSubnetGroup()
* - .toCreateGlobalReplicationGroup()
* - .toCreateReplicationGroup()
* - .toCreateServerlessCache()
* - .toCreateServerlessCacheSnapshot()
* - .toCreateSnapshot()
* - .toCreateUser()
* - .toCreateUserGroup()
* - .toDecreaseReplicaCount()
* - .toDeleteCacheCluster()
* - .toDeleteCacheParameterGroup()
* - .toDeleteCacheSecurityGroup()
* - .toDeleteCacheSubnetGroup()
* - .toDeleteReplicationGroup()
* - .toDeleteServerlessCache()
* - .toDeleteServerlessCacheSnapshot()
* - .toDeleteSnapshot()
* - .toDeleteUser()
* - .toDeleteUserGroup()
* - .toDescribeCacheClusters()
* - .toDescribeCacheParameterGroups()
* - .toDescribeCacheParameters()
* - .toDescribeCacheSecurityGroups()
* - .toDescribeCacheSubnetGroups()
* - .toDescribeReplicationGroups()
* - .toDescribeReservedCacheNodes()
* - .toDescribeServerlessCacheSnapshots()
* - .toDescribeServerlessCaches()
* - .toDescribeSnapshots()
* - .toDescribeUpdateActions()
* - .toDescribeUserGroups()
* - .toDescribeUsers()
* - .toExportServerlessCacheSnapshot()
* - .toIncreaseReplicaCount()
* - .toListAllowedNodeTypeModifications()
* - .toListTagsForResource()
* - .toModifyCacheCluster()
* - .toModifyCacheParameterGroup()
* - .toModifyCacheSubnetGroup()
* - .toModifyReplicationGroup()
* - .toModifyReplicationGroupShardConfiguration()
* - .toModifyServerlessCache()
* - .toModifyUser()
* - .toModifyUserGroup()
* - .toPurchaseReservedCacheNodesOffering()
* - .toRebootCacheCluster()
* - .toRemoveTagsFromResource()
* - .toResetCacheParameterGroup()
* - .toRevokeCacheSecurityGroupIngress()
* - .toStartMigration()
* - .toTestFailover()
* - .toTestMigration()
* - .toInterruptClusterAzPower()
*
* Applies to resource types:
* - cluster
* - parametergroup
* - replicationgroup
* - reserved-instance
* - securitygroup
* - serverlesscache
* - serverlesscachesnapshot
* - snapshot
* - subnetgroup
* - user
* - usergroup
*
* @param tagKey The tag key to check
* @param value The value(s) to check
* @param operator Works with [string operators](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_condition_operators.html#Conditions_String). **Default:** `StringLike`
*/
ifAwsRequestTag(tagKey, value, operator) {
return this.if(`aws:RequestTag/${tagKey}`, value, operator ?? 'StringLike');
}
/**
* Filters actions based on the tags associated with the resource
*
* https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-resourcetag
*
* Applies to actions:
* - .toAddTagsToResource()
* - .toAuthorizeCacheSecurityGroupIngress()
* - .toBatchApplyUpdateAction()
* - .toBatchStopUpdateAction()
* - .toCompleteMigration()
* - .toConnect()
* - .toCopyServerlessCacheSnapshot()
* - .toCopySnapshot()
* - .toCreateCacheCluster()
* - .toCreateCacheParameterGroup()
* - .toCreateCacheSecurityGroup()
* - .toCreateCacheSubnetGroup()
* - .toCreateGlobalReplicationGroup()
* - .toCreateReplicationGroup()
* - .toCreateServerlessCache()
* - .toCreateServerlessCacheSnapshot()
* - .toCreateSnapshot()
* - .toCreateUser()
* - .toCreateUserGroup()
* - .toDecreaseReplicaCount()
* - .toDeleteCacheCluster()
* - .toDeleteCacheParameterGroup()
* - .toDeleteCacheSecurityGroup()
* - .toDeleteCacheSubnetGroup()
* - .toDeleteReplicationGroup()
* - .toDeleteServerlessCache()
* - .toDeleteServerlessCacheSnapshot()
* - .toDeleteSnapshot()
* - .toDeleteUser()
* - .toDeleteUserGroup()
* - .toDescribeCacheClusters()
* - .toDescribeCacheParameterGroups()
* - .toDescribeCacheParameters()
* - .toDescribeCacheSecurityGroups()
* - .toDescribeCacheSubnetGroups()
* - .toDescribeReplicationGroups()
* - .toDescribeReservedCacheNodes()
* - .toDescribeServerlessCacheSnapshots()
* - .toDescribeServerlessCaches()
* - .toDescribeSnapshots()
* - .toDescribeUpdateActions()
* - .toDescribeUserGroups()
* - .toDescribeUsers()
* - .toExportServerlessCacheSnapshot()
* - .toIncreaseReplicaCount()
* - .toListAllowedNodeTypeModifications()
* - .toListTagsForResource()
* - .toModifyCacheCluster()
* - .toModifyCacheParameterGroup()
* - .toModifyCacheSubnetGroup()
* - .toModifyReplicationGroup()
* - .toModifyReplicationGroupShardConfiguration()
* - .toModifyServerlessCache()
* - .toModifyUser()
* - .toModifyUserGroup()
* - .toPurchaseReservedCacheNodesOffering()
* - .toRebootCacheCluster()
* - .toRemoveTagsFromResource()
* - .toResetCacheParameterGroup()
* - .toRevokeCacheSecurityGroupIngress()
* - .toStartMigration()
* - .toTestFailover()
* - .toTestMigration()
* - .toInterruptClusterAzPower()
*
* Applies to resource types:
* - cluster
* - parametergroup
* - replicationgroup
* - reserved-instance
* - securitygroup
* - serverlesscache
* - serverlesscachesnapshot
* - snapshot
* - subnetgroup
* - user
* - usergroup
*
* @param tagKey The tag key to check
* @param value The value(s) to check
* @param operator Works with [string operators](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_condition_operators.html#Conditions_String). **Default:** `StringLike`
*/
ifAwsResourceTag(tagKey, value, operator) {
return this.if(`aws:ResourceTag/${tagKey}`, value, operator ?? 'StringLike');
}
/**
* Filters actions based on the tag keys that are passed in the request
*
* https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-tagkeys
*
* Applies to actions:
* - .toAddTagsToResource()
* - .toAuthorizeCacheSecurityGroupIngress()
* - .toBatchApplyUpdateAction()
* - .toBatchStopUpdateAction()
* - .toCompleteMigration()
* - .toConnect()
* - .toCopyServerlessCacheSnapshot()
* - .toCopySnapshot()
* - .toCreateCacheCluster()
* - .toCreateCacheParameterGroup()
* - .toCreateCacheSecurityGroup()
* - .toCreateCacheSubnetGroup()
* - .toCreateGlobalReplicationGroup()
* - .toCreateReplicationGroup()
* - .toCreateServerlessCache()
* - .toCreateServerlessCacheSnapshot()
* - .toCreateSnapshot()
* - .toCreateUser()
* - .toCreateUserGroup()
* - .toDecreaseReplicaCount()
* - .toDeleteCacheCluster()
* - .toDeleteCacheParameterGroup()
* - .toDeleteCacheSecurityGroup()
* - .toDeleteCacheSubnetGroup()
* - .toDeleteReplicationGroup()
* - .toDeleteServerlessCache()
* - .toDeleteServerlessCacheSnapshot()
* - .toDeleteSnapshot()
* - .toDeleteUser()
* - .toDeleteUserGroup()
* - .toDescribeCacheClusters()
* - .toDescribeCacheParameterGroups()
* - .toDescribeCacheParameters()
* - .toDescribeCacheSecurityGroups()
* - .toDescribeCacheSubnetGroups()
* - .toDescribeReplicationGroups()
* - .toDescribeReservedCacheNodes()
* - .toDescribeServerlessCacheSnapshots()
* - .toDescribeServerlessCaches()
* - .toDescribeSnapshots()
* - .toDescribeUpdateActions()
* - .toDescribeUserGroups()
* - .toDescribeUsers()
* - .toExportServerlessCacheSnapshot()
* - .toIncreaseReplicaCount()
* - .toListAllowedNodeTypeModifications()
* - .toListTagsForResource()
* - .toModifyCacheCluster()
* - .toModifyCacheParameterGroup()
* - .toModifyCacheSubnetGroup()
* - .toModifyReplicationGroup()
* - .toModifyReplicationGroupShardConfiguration()
* - .toModifyServerlessCache()
* - .toModifyUse