Skip to content

opszero/terraform-aws-redshift-serverless

Repository files navigation

Providers

Name Version
aws >= 5.0
random >= 3.0

Inputs

Name Description Type Default Required
admin_user_password The password of the administrator for the first database created in the namespace. string "" no
admin_username The username of the administrator for the first database created in the namespace. string "" no
amount The limit amount. If time-based, this amount is in Redshift Processing Units (RPU) consumed per hour. If data-based, this amount is in terabytes (TB) of data transferred between Regions in cross-account sharing. The value must be a positive number. number 60 no
assume_role_policy Policy that grants an entity permission to assume the role. any null no
base_capacity The base data warehouse capacity of the workgroup in Redshift Processing Units (RPUs). number 28 no
breach_action The action that Amazon Redshift Serverless takes when the limit is reached. Valid values are log, emit-metric, and deactivate. The default is log. string "log" no
config_parameter An array of parameters to set for more control over a serverless database. list(any) [] no
create Determines whether to create Redshift cluster and resources (affects all resources) bool true no
create_random_password Determines whether to create random password for cluster master_password bool true no
db_name The name of the first database created in the namespace. string "" no
default_iam_role_arn The Amazon Resource Name (ARN) for the IAM role that was set as default for the cluster when the cluster was created string null no
endpoint_enable If true, VPC endpoint is enabled bool true no
endpoint_name The Redshift-managed VPC endpoint name string "" no
enhanced_vpc_routing If true, enhanced VPC routing is enabled bool null no
iam_role_enabled If true, iam role resource is enabled bool true no
iam_role_name The name of the iam role string "" no
iam_roles A list of IAM roles to associate with the namespace. list(any) [] no
kms_alias The display name of the alias. The name must start with the word 'alias' followed by a forward slash (alias/) string "alias/redshift-serverless" no
kms_enabled If true, kms key is enabled bool true no
kms_key_id The ARN of the Amazon Web Services Key Management Service key used to encrypt your data. string "" no
log_exports The types of logs the namespace can export. Available export types are userlog, connectionlog, and useractivitylog. list(string) [] no
namespace_name The name of the namespace. string "" no
period The time period that the amount applies to. A weekly period begins on Sunday. Valid values are daily, weekly, and monthly. The default is monthly. string "monthly" no
policy If true, iam policy is enabled any null no
policy_arn The ARN of the policy you want to apply. string "" no
policy_enabled Whether to Attach Iam policy with role. bool true no
policy_name The name of the iam policy name. string "" no
publicly_accessible If true, the cluster can be accessed from a public network bool false no
random_password_length Length of random password to create. Defaults to 16 number 16 no
retention_period How long to retain the created snapshot. Default value is -1. string "-1" no
secrets_manager_enabled If true, secrets manages resource is enabled bool true no
secrets_manager_name The name of the secrets manager. string "" no
security_group_ids An array of security group IDs to associate with the workgroup. list(any) [] no
serverless_resource_policy If true, serverless resource policy is enabled any null no
snapshot_enable If true, snapshot is enabled bool false no
snapshot_name The name of the snapshot. string "" no
snapshot_policy_enable If true, snapshot policy is enabled bool false no
subnet_ids An array of VPC subnet IDs to use in the subnet group list(string) null no
tags A map of tags to add to all resources map(string) {} no
usage_type The type of Amazon Redshift Serverless usage to create a usage limit for. Valid values are serverless-compute or cross-region-datasharing. string "serverless-compute" no
workgroup_name The name of the workgroup. string "" no

Resources

Name Type
aws_iam_role.role resource
aws_iam_role_policy.policy resource
aws_iam_role_policy_attachment.policy_attachment resource
aws_kms_alias.alias resource
aws_kms_key.kms resource
aws_redshiftserverless_endpoint_access.endpoint resource
aws_redshiftserverless_namespace.namespace resource
aws_redshiftserverless_resource_policy.main resource
aws_redshiftserverless_snapshot.snapshot resource
aws_redshiftserverless_usage_limit.usage_limit resource
aws_redshiftserverless_workgroup.workgroup resource
aws_secretsmanager_secret.secret resource
aws_secretsmanager_secret_version.secrets_version resource
random_password.master_password resource

Outputs

Name Description
endpoint_access_arn Amazon Resource Name (ARN) of the Redshift Serverless Endpoint Access.
endpoint_access_name Amazon Resource Name (ARN) of the Redshift Serverless Endpoint Access.
limit_arn Amazon Resource Name (ARN) of the Redshift Serverless Usage Limit.
limit_id The Redshift Usage Limit id.
namespace_arn The Redshift Namespace ID.
namespace_id The Redshift Namespace ID.
namespace_name The Redshift Namespace Name.
snapshot_accounts_with_restore_access All of the Amazon Web Services accounts that have access to restore a snapshot to a namespace.
snapshot_admin_username The username of the database within a snapshot.
snapshot_arn The Amazon Resource Name (ARN) of the namespace the snapshot was created from.
snapshot_name The name of the snapshot.
snapshot_namespace_arn The Amazon Resource Name (ARN) of the namespace the snapshot was created from.
snapshot_owner_account The owner Amazon Web Services; account of the snapshot.
vpc_endpoint The VPC endpoint or the Redshift Serverless workgroup
workgroup_arn Amazon Resource Name (ARN) of the Redshift Serverless Workgroup.
workgroup_id The Redshift Workgroup ID.
workgroup_name The Redshift Workgroup Name.

🚀 Built by opsZero!

Since 2016 opsZero has been providing Kubernetes expertise to companies of all sizes on any Cloud. With a focus on AI and Compliance we can say we seen it all whether SOC2, HIPAA, PCI-DSS, ITAR, FedRAMP, CMMC we have you and your customers covered.

We provide support to organizations in the following ways:

We do this with a high-touch support model where you:

  • Get access to us on Slack, Microsoft Teams or Email
  • Get 24/7 coverage of your infrastructure
  • Get an accelerated migration to Kubernetes

Please schedule a call if you need support.