AWS Amazon Redshift Snapshot Copy Grant
This page shows how to write Terraform and CloudFormation for Amazon Redshift Snapshot Copy Grant and write them securely.
aws_redshift_snapshot_copy_grant (Terraform)
The Snapshot Copy Grant in Amazon Redshift can be configured in Terraform with the resource name aws_redshift_snapshot_copy_grant. The following sections describe how to use the resource and its parameters.
Example Usage from GitHub
An example could not be found in GitHub.
Parameters
-
arnoptional computed - string -
idoptional computed - string -
kms_key_idoptional computed - string -
snapshot_copy_grant_namerequired - string -
tagsoptional - map from string to string
Explanation in Terraform Registry
Creates a snapshot copy grant that allows AWS Redshift to encrypt copied snapshots with a customer master key from AWS KMS in a destination region. Note that the grant must exist in the destination region, and not in the region of the cluster.
AWS::Redshift::Cluster (CloudFormation)
The Cluster in Redshift can be configured in CloudFormation with the resource name AWS::Redshift::Cluster. The following sections describe 10 examples of how to use the resource and its parameters.
Example Usage from GitHub
Type: AWS::Redshift::Cluster
Properties:
AllowVersionUpgrade: true
AutomatedSnapshotRetentionPeriod: 5
AvailabilityZone: us-east-1a
ClusterIdentifier: my-redshift-cluster
Type: AWS::Redshift::Cluster
Properties:
AllowVersionUpgrade: true
AutomatedSnapshotRetentionPeriod: 5
AvailabilityZone: us-east-1a
ClusterIdentifier: meu-cluster-redshift
Type: AWS::Redshift::Cluster
Properties:
AllowVersionUpgrade: true
AutomatedSnapshotRetentionPeriod: 5
AvailabilityZone: us-east-1a
ClusterIdentifier: my-redshift-cluster
Type: "AWS::Redshift::Cluster"
Properties:
DBName: "mydb"
MasterUsername: "master"
MasterUserPassword:
Ref: "MasterUserPassword"
Type: AWS::Redshift::Cluster
Properties:
AllowVersionUpgrade: true
AutomatedSnapshotRetentionPeriod: 30
AvailabilityZone: us-east-1a
ClusterIdentifier: cluster-belisco
"resourceType": "AWS::Redshift::Cluster",
"resourceId": "cluster-with-kms",
"resourceName": "cluster-with-kms",
"awsRegion": "us-west-2",
"availabilityZone": "us-west-2c",
"resourceCreationTime": "2016-10-13T22:26:39.723Z",
"resourceType": "AWS::Redshift::Cluster",
"resourceId": "cluster-with-kms",
"resourceName": "cluster-with-kms",
"awsRegion": "us-west-2",
"availabilityZone": "us-west-2c",
"resourceCreationTime": "2016-10-13T22:26:39.723Z",
"Type": "AWS::Redshift::ClusterSecurityGroup",
"Properties": {
"Description" : "Security group to determine where connections to the Amazon Redshift cluster can come from"
}
},
"redshiftSecurityGroupIngress" : {
"Type": "AWS::Redshift::ClusterSecurityGroup",
"Properties": {
"Description" : "Security group to determine where connections to the Amazon Redshift cluster can come from"
}
},
"redshiftSecurityGroupIngress" : {
"resourceType" : "AWS::Redshift::Cluster",
"properties" : [ {
"propertyName" : "AllowVersionUpgrade",
"propertyType" : "Boolean",
"required" : false
}, {
Parameters
-
ClusterIdentifieroptional - String -
MasterUsernamerequired - String -
MasterUserPasswordrequired - String -
NodeTyperequired - String -
AllowVersionUpgradeoptional - Boolean -
AutomatedSnapshotRetentionPeriodoptional - Integer -
AvailabilityZoneoptional - String -
ClusterParameterGroupNameoptional - String -
ClusterTyperequired - String -
ClusterVersionoptional - String -
ClusterSubnetGroupNameoptional - String -
DBNamerequired - String -
ElasticIpoptional - String -
Encryptedoptional - Boolean -
HsmClientCertificateIdentifieroptional - String -
HsmConfigurationIdentifieroptional - String -
KmsKeyIdoptional - String -
NumberOfNodesoptional - Integer -
Portoptional - Integer -
PreferredMaintenanceWindowoptional - String -
PubliclyAccessibleoptional - Boolean -
ClusterSecurityGroupsoptional - List -
IamRolesoptional - List -
Tagsoptional - List of Tag -
VpcSecurityGroupIdsoptional - List -
SnapshotClusterIdentifieroptional - String -
SnapshotIdentifieroptional - String -
OwnerAccountoptional - String -
LoggingPropertiesoptional - LoggingProperties -
Endpointoptional - Endpoint -
DestinationRegionoptional - String -
SnapshotCopyRetentionPeriodoptional - Integer -
SnapshotCopyGrantNameoptional - String -
ManualSnapshotRetentionPeriodoptional - Integer -
SnapshotCopyManualoptional - Boolean -
AvailabilityZoneRelocationoptional - Boolean -
AvailabilityZoneRelocationStatusoptional - String -
AquaConfigurationStatusoptional - String -
Classicoptional - Boolean -
EnhancedVpcRoutingoptional - Boolean -
MaintenanceTrackNameoptional - String -
DeferMaintenanceoptional - Boolean -
DeferMaintenanceStartTimeoptional - String -
DeferMaintenanceEndTimeoptional - String -
DeferMaintenanceDurationoptional - Integer -
RevisionTargetoptional - String -
ResourceActionoptional - String -
RotateEncryptionKeyoptional - Boolean
Explanation in CloudFormation Registry
Specifies a cluster. A cluster is a fully managed data warehouse that consists of a set of compute nodes.
To create a cluster in Virtual Private Cloud (VPC), you must provide a cluster subnet group name. The cluster subnet group identifies the subnets of your VPC that Amazon Redshift uses when creating the cluster. For more information about managing clusters, go to Amazon Redshift Clusters in the Amazon Redshift Cluster Management Guide.
Frequently asked questions
What is AWS Amazon Redshift Snapshot Copy Grant?
AWS Amazon Redshift Snapshot Copy Grant is a resource for Amazon Redshift of Amazon Web Service. Settings can be wrote in Terraform and CloudFormation.
Where can I find the example code for the AWS Amazon Redshift Snapshot Copy Grant?
For CloudFormation, the gabrielosluz/engenharia-de-dados, andresionek91/bootcamp_eng_dados_turma2 and msantosfelipe/eng-dados source code examples are useful. See the CloudFormation Example section for further details.