{"id":18624772,"url":"https://github.com/opszero/terraform-aws-redshift-serverless","last_synced_at":"2025-11-03T19:30:29.816Z","repository":{"id":101803317,"uuid":"537188355","full_name":"opszero/terraform-aws-redshift-serverless","owner":"opszero","description":null,"archived":false,"fork":false,"pushed_at":"2024-11-19T16:36:03.000Z","size":86,"stargazers_count":0,"open_issues_count":0,"forks_count":1,"subscribers_count":2,"default_branch":"main","last_synced_at":"2024-12-27T05:41:59.882Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"https://opszero.com","language":"HCL","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/opszero.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":".github/FUNDING.yml","license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":"SUPPORT","governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null},"funding":{"github":["abhiyerra"],"custom":["https://www.opszero.com"]}},"created_at":"2022-09-15T20:02:37.000Z","updated_at":"2024-11-19T16:36:06.000Z","dependencies_parsed_at":"2024-11-07T04:32:53.877Z","dependency_job_id":"4f753d56-85b9-49e2-9036-ed25c5608371","html_url":"https://github.com/opszero/terraform-aws-redshift-serverless","commit_stats":null,"previous_names":["opszero/terraform-aws-redshift-serverless"],"tags_count":1,"template":false,"template_full_name":"opszero/terraform-template","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/opszero%2Fterraform-aws-redshift-serverless","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/opszero%2Fterraform-aws-redshift-serverless/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/opszero%2Fterraform-aws-redshift-serverless/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/opszero%2Fterraform-aws-redshift-serverless/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/opszero","download_url":"https://codeload.github.com/opszero/terraform-aws-redshift-serverless/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":239418578,"owners_count":19635208,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-11-07T04:30:53.305Z","updated_at":"2025-11-03T19:30:29.760Z","avatar_url":"https://github.com/opszero.png","language":"HCL","readme":"\u003c!-- BEGIN_TF_DOCS --\u003e\n\n## Providers\n\n| Name | Version |\n|------|---------|\n| \u003ca name=\"provider_aws\"\u003e\u003c/a\u003e [aws](#provider\\_aws) | \u003e= 5.0 |\n| \u003ca name=\"provider_random\"\u003e\u003c/a\u003e [random](#provider\\_random) | \u003e= 3.0 |\n## Inputs\n\n| Name | Description | Type | Default | Required |\n|------|-------------|------|---------|:--------:|\n| \u003ca name=\"input_admin_user_password\"\u003e\u003c/a\u003e [admin\\_user\\_password](#input\\_admin\\_user\\_password) | The password of the administrator for the first database created in the namespace. | `string` | `\"\"` | no |\n| \u003ca name=\"input_admin_username\"\u003e\u003c/a\u003e [admin\\_username](#input\\_admin\\_username) | The username of the administrator for the first database created in the namespace. | `string` | `\"\"` | no |\n| \u003ca name=\"input_amount\"\u003e\u003c/a\u003e [amount](#input\\_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 |\n| \u003ca name=\"input_assume_role_policy\"\u003e\u003c/a\u003e [assume\\_role\\_policy](#input\\_assume\\_role\\_policy) | Policy that grants an entity permission to assume the role. | `any` | `null` | no |\n| \u003ca name=\"input_base_capacity\"\u003e\u003c/a\u003e [base\\_capacity](#input\\_base\\_capacity) | The base data warehouse capacity of the workgroup in Redshift Processing Units (RPUs). | `number` | `28` | no |\n| \u003ca name=\"input_breach_action\"\u003e\u003c/a\u003e [breach\\_action](#input\\_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 |\n| \u003ca name=\"input_config_parameter\"\u003e\u003c/a\u003e [config\\_parameter](#input\\_config\\_parameter) | An array of parameters to set for more control over a serverless database. | `list(any)` | `[]` | no |\n| \u003ca name=\"input_create\"\u003e\u003c/a\u003e [create](#input\\_create) | Determines whether to create Redshift cluster and resources (affects all resources) | `bool` | `true` | no |\n| \u003ca name=\"input_create_random_password\"\u003e\u003c/a\u003e [create\\_random\\_password](#input\\_create\\_random\\_password) | Determines whether to create random password for cluster `master_password` | `bool` | `true` | no |\n| \u003ca name=\"input_db_name\"\u003e\u003c/a\u003e [db\\_name](#input\\_db\\_name) | The name of the first database created in the namespace. | `string` | `\"\"` | no |\n| \u003ca name=\"input_default_iam_role_arn\"\u003e\u003c/a\u003e [default\\_iam\\_role\\_arn](#input\\_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 |\n| \u003ca name=\"input_endpoint_enable\"\u003e\u003c/a\u003e [endpoint\\_enable](#input\\_endpoint\\_enable) | If `true`,  VPC endpoint is enabled | `bool` | `true` | no |\n| \u003ca name=\"input_endpoint_name\"\u003e\u003c/a\u003e [endpoint\\_name](#input\\_endpoint\\_name) | The Redshift-managed VPC endpoint name | `string` | `\"\"` | no |\n| \u003ca name=\"input_enhanced_vpc_routing\"\u003e\u003c/a\u003e [enhanced\\_vpc\\_routing](#input\\_enhanced\\_vpc\\_routing) | If `true`, enhanced VPC routing is enabled | `bool` | `null` | no |\n| \u003ca name=\"input_iam_role_enabled\"\u003e\u003c/a\u003e [iam\\_role\\_enabled](#input\\_iam\\_role\\_enabled) | If `true`, iam role resource is enabled | `bool` | `true` | no |\n| \u003ca name=\"input_iam_role_name\"\u003e\u003c/a\u003e [iam\\_role\\_name](#input\\_iam\\_role\\_name) | The name of the iam role | `string` | `\"\"` | no |\n| \u003ca name=\"input_iam_roles\"\u003e\u003c/a\u003e [iam\\_roles](#input\\_iam\\_roles) | A list of IAM roles to associate with the namespace. | `list(any)` | `[]` | no |\n| \u003ca name=\"input_kms_alias\"\u003e\u003c/a\u003e [kms\\_alias](#input\\_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 |\n| \u003ca name=\"input_kms_enabled\"\u003e\u003c/a\u003e [kms\\_enabled](#input\\_kms\\_enabled) | If `true`, kms key is enabled | `bool` | `true` | no |\n| \u003ca name=\"input_kms_key_id\"\u003e\u003c/a\u003e [kms\\_key\\_id](#input\\_kms\\_key\\_id) | The ARN of the Amazon Web Services Key Management Service key used to encrypt your data. | `string` | `\"\"` | no |\n| \u003ca name=\"input_log_exports\"\u003e\u003c/a\u003e [log\\_exports](#input\\_log\\_exports) | The types of logs the namespace can export. Available export types are userlog, connectionlog, and useractivitylog. | `list(string)` | `[]` | no |\n| \u003ca name=\"input_namespace_name\"\u003e\u003c/a\u003e [namespace\\_name](#input\\_namespace\\_name) | The name of the namespace. | `string` | `\"\"` | no |\n| \u003ca name=\"input_period\"\u003e\u003c/a\u003e [period](#input\\_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 |\n| \u003ca name=\"input_policy\"\u003e\u003c/a\u003e [policy](#input\\_policy) | If `true`, iam policy is enabled | `any` | `null` | no |\n| \u003ca name=\"input_policy_arn\"\u003e\u003c/a\u003e [policy\\_arn](#input\\_policy\\_arn) | The ARN of the policy you want to apply. | `string` | `\"\"` | no |\n| \u003ca name=\"input_policy_enabled\"\u003e\u003c/a\u003e [policy\\_enabled](#input\\_policy\\_enabled) | Whether to Attach Iam policy with role. | `bool` | `true` | no |\n| \u003ca name=\"input_policy_name\"\u003e\u003c/a\u003e [policy\\_name](#input\\_policy\\_name) | The name of the iam policy name. | `string` | `\"\"` | no |\n| \u003ca name=\"input_publicly_accessible\"\u003e\u003c/a\u003e [publicly\\_accessible](#input\\_publicly\\_accessible) | If true, the cluster can be accessed from a public network | `bool` | `false` | no |\n| \u003ca name=\"input_random_password_length\"\u003e\u003c/a\u003e [random\\_password\\_length](#input\\_random\\_password\\_length) | Length of random password to create. Defaults to `16` | `number` | `16` | no |\n| \u003ca name=\"input_retention_period\"\u003e\u003c/a\u003e [retention\\_period](#input\\_retention\\_period) | How long to retain the created snapshot. Default value is -1. | `string` | `\"-1\"` | no |\n| \u003ca name=\"input_secrets_manager_enabled\"\u003e\u003c/a\u003e [secrets\\_manager\\_enabled](#input\\_secrets\\_manager\\_enabled) | If `true`, secrets manages resource is enabled | `bool` | `true` | no |\n| \u003ca name=\"input_secrets_manager_name\"\u003e\u003c/a\u003e [secrets\\_manager\\_name](#input\\_secrets\\_manager\\_name) | The name of the secrets manager. | `string` | `\"\"` | no |\n| \u003ca name=\"input_security_group_ids\"\u003e\u003c/a\u003e [security\\_group\\_ids](#input\\_security\\_group\\_ids) | An array of security group IDs to associate with the workgroup. | `list(any)` | `[]` | no |\n| \u003ca name=\"input_serverless_resource_policy\"\u003e\u003c/a\u003e [serverless\\_resource\\_policy](#input\\_serverless\\_resource\\_policy) | If `true`, serverless resource policy is enabled | `any` | `null` | no |\n| \u003ca name=\"input_snapshot_enable\"\u003e\u003c/a\u003e [snapshot\\_enable](#input\\_snapshot\\_enable) | If `true`, snapshot is enabled | `bool` | `false` | no |\n| \u003ca name=\"input_snapshot_name\"\u003e\u003c/a\u003e [snapshot\\_name](#input\\_snapshot\\_name) | The name of the snapshot. | `string` | `\"\"` | no |\n| \u003ca name=\"input_snapshot_policy_enable\"\u003e\u003c/a\u003e [snapshot\\_policy\\_enable](#input\\_snapshot\\_policy\\_enable) | If `true`, snapshot policy is enabled | `bool` | `false` | no |\n| \u003ca name=\"input_subnet_ids\"\u003e\u003c/a\u003e [subnet\\_ids](#input\\_subnet\\_ids) | An array of VPC subnet IDs to use in the subnet group | `list(string)` | `null` | no |\n| \u003ca name=\"input_tags\"\u003e\u003c/a\u003e [tags](#input\\_tags) | A map of tags to add to all resources | `map(string)` | `{}` | no |\n| \u003ca name=\"input_usage_type\"\u003e\u003c/a\u003e [usage\\_type](#input\\_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 |\n| \u003ca name=\"input_workgroup_name\"\u003e\u003c/a\u003e [workgroup\\_name](#input\\_workgroup\\_name) | The name of the workgroup. | `string` | `\"\"` | no |\n## Resources\n\n| Name | Type |\n|------|------|\n| [aws_iam_role.role](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/iam_role) | resource |\n| [aws_iam_role_policy.policy](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/iam_role_policy) | resource |\n| [aws_iam_role_policy_attachment.policy_attachment](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/iam_role_policy_attachment) | resource |\n| [aws_kms_alias.alias](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/kms_alias) | resource |\n| [aws_kms_key.kms](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/kms_key) | resource |\n| [aws_redshiftserverless_endpoint_access.endpoint](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/redshiftserverless_endpoint_access) | resource |\n| [aws_redshiftserverless_namespace.namespace](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/redshiftserverless_namespace) | resource |\n| [aws_redshiftserverless_resource_policy.main](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/redshiftserverless_resource_policy) | resource |\n| [aws_redshiftserverless_snapshot.snapshot](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/redshiftserverless_snapshot) | resource |\n| [aws_redshiftserverless_usage_limit.usage_limit](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/redshiftserverless_usage_limit) | resource |\n| [aws_redshiftserverless_workgroup.workgroup](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/redshiftserverless_workgroup) | resource |\n| [aws_secretsmanager_secret.secret](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/secretsmanager_secret) | resource |\n| [aws_secretsmanager_secret_version.secrets_version](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/secretsmanager_secret_version) | resource |\n| [random_password.master_password](https://registry.terraform.io/providers/hashicorp/random/latest/docs/resources/password) | resource |\n## Outputs\n\n| Name | Description |\n|------|-------------|\n| \u003ca name=\"output_endpoint_access_arn\"\u003e\u003c/a\u003e [endpoint\\_access\\_arn](#output\\_endpoint\\_access\\_arn) | Amazon Resource Name (ARN) of the Redshift Serverless Endpoint Access. |\n| \u003ca name=\"output_endpoint_access_name\"\u003e\u003c/a\u003e [endpoint\\_access\\_name](#output\\_endpoint\\_access\\_name) | Amazon Resource Name (ARN) of the Redshift Serverless Endpoint Access. |\n| \u003ca name=\"output_limit_arn\"\u003e\u003c/a\u003e [limit\\_arn](#output\\_limit\\_arn) | Amazon Resource Name (ARN) of the Redshift Serverless Usage Limit. |\n| \u003ca name=\"output_limit_id\"\u003e\u003c/a\u003e [limit\\_id](#output\\_limit\\_id) | The Redshift Usage Limit id. |\n| \u003ca name=\"output_namespace_arn\"\u003e\u003c/a\u003e [namespace\\_arn](#output\\_namespace\\_arn) | The Redshift Namespace ID. |\n| \u003ca name=\"output_namespace_id\"\u003e\u003c/a\u003e [namespace\\_id](#output\\_namespace\\_id) | The Redshift Namespace ID. |\n| \u003ca name=\"output_namespace_name\"\u003e\u003c/a\u003e [namespace\\_name](#output\\_namespace\\_name) | The Redshift Namespace Name. |\n| \u003ca name=\"output_snapshot_accounts_with_restore_access\"\u003e\u003c/a\u003e [snapshot\\_accounts\\_with\\_restore\\_access](#output\\_snapshot\\_accounts\\_with\\_restore\\_access) | All of the Amazon Web Services accounts that have access to restore a snapshot to a namespace. |\n| \u003ca name=\"output_snapshot_admin_username\"\u003e\u003c/a\u003e [snapshot\\_admin\\_username](#output\\_snapshot\\_admin\\_username) | The username of the database within a snapshot. |\n| \u003ca name=\"output_snapshot_arn\"\u003e\u003c/a\u003e [snapshot\\_arn](#output\\_snapshot\\_arn) | The Amazon Resource Name (ARN) of the namespace the snapshot was created from. |\n| \u003ca name=\"output_snapshot_name\"\u003e\u003c/a\u003e [snapshot\\_name](#output\\_snapshot\\_name) | The name of the snapshot. |\n| \u003ca name=\"output_snapshot_namespace_arn\"\u003e\u003c/a\u003e [snapshot\\_namespace\\_arn](#output\\_snapshot\\_namespace\\_arn) | The Amazon Resource Name (ARN) of the namespace the snapshot was created from. |\n| \u003ca name=\"output_snapshot_owner_account\"\u003e\u003c/a\u003e [snapshot\\_owner\\_account](#output\\_snapshot\\_owner\\_account) | The owner Amazon Web Services; account of the snapshot. |\n| \u003ca name=\"output_vpc_endpoint\"\u003e\u003c/a\u003e [vpc\\_endpoint](#output\\_vpc\\_endpoint) | The VPC endpoint or the Redshift Serverless workgroup |\n| \u003ca name=\"output_workgroup_arn\"\u003e\u003c/a\u003e [workgroup\\_arn](#output\\_workgroup\\_arn) | Amazon Resource Name (ARN) of the Redshift Serverless Workgroup. |\n| \u003ca name=\"output_workgroup_id\"\u003e\u003c/a\u003e [workgroup\\_id](#output\\_workgroup\\_id) | The Redshift Workgroup ID. |\n| \u003ca name=\"output_workgroup_name\"\u003e\u003c/a\u003e [workgroup\\_name](#output\\_workgroup\\_name) | The Redshift Workgroup Name. |\n# 🚀 Built by opsZero!\n\n\u003ca href=\"https://opszero.com\"\u003e\u003cimg src=\"https://opszero.com/wp-content/uploads/2024/07/opsZero_logo_svg.svg\" width=\"300px\"/\u003e\u003c/a\u003e\n\nSince 2016 [opsZero](https://opszero.com) has been providing Kubernetes\nexpertise to companies of all sizes on any Cloud. With a focus on AI and\nCompliance we can say we seen it all whether SOC2, HIPAA, PCI-DSS, ITAR,\nFedRAMP, CMMC we have you and your customers covered.\n\nWe provide support to organizations in the following ways:\n\n- [Modernize or Migrate to Kubernetes](https://opszero.com/solutions/modernization/)\n- [Cloud Infrastructure with Kubernetes on AWS, Azure, Google Cloud, or Bare Metal](https://opszero.com/solutions/cloud-infrastructure/)\n- [Building AI and Data Pipelines on Kubernetes](https://opszero.com/solutions/ai/)\n- [Optimizing Existing Kubernetes Workloads](https://opszero.com/solutions/optimized-workloads/)\n\nWe do this with a high-touch support model where you:\n\n- Get access to us on Slack, Microsoft Teams or Email\n- Get 24/7 coverage of your infrastructure\n- Get an accelerated migration to Kubernetes\n\nPlease [schedule a call](https://calendly.com/opszero-llc/discovery) if you need support.\n\n\u003cbr/\u003e\u003cbr/\u003e\n\n\u003cdiv style=\"display: block\"\u003e\n  \u003cimg src=\"https://opszero.com/wp-content/uploads/2024/07/aws-advanced.png\" width=\"150px\" /\u003e\n  \u003cimg src=\"https://opszero.com/wp-content/uploads/2024/07/AWS-public-sector.png\" width=\"150px\" /\u003e\n  \u003cimg src=\"https://opszero.com/wp-content/uploads/2024/07/AWS-eks.png\" width=\"150px\" /\u003e\n\u003c/div\u003e\n\u003c!-- END_TF_DOCS --\u003e","funding_links":["https://github.com/sponsors/abhiyerra","https://www.opszero.com"],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fopszero%2Fterraform-aws-redshift-serverless","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fopszero%2Fterraform-aws-redshift-serverless","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fopszero%2Fterraform-aws-redshift-serverless/lists"}