Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/opszero/terraform-aws-redshift-serverless
https://github.com/opszero/terraform-aws-redshift-serverless
Last synced: 6 days ago
JSON representation
- Host: GitHub
- URL: https://github.com/opszero/terraform-aws-redshift-serverless
- Owner: opszero
- License: other
- Created: 2022-09-15T20:02:37.000Z (about 2 years ago)
- Default Branch: main
- Last Pushed: 2024-09-16T21:23:04.000Z (about 2 months ago)
- Last Synced: 2024-09-17T02:41:45.095Z (about 2 months ago)
- Language: HCL
- Homepage: https://opszero.com
- Size: 81.1 KB
- Stars: 0
- Watchers: 2
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Funding: .github/FUNDING.yml
- License: LICENSE
- Support: SUPPORT
Awesome Lists containing this project
README
## Providers
| Name | Version |
|------|---------|
| [aws](#provider\_aws) | >= 5.0 |
| [random](#provider\_random) | >= 3.0 |
## Inputs| Name | Description | Type | Default | Required |
|------|-------------|------|---------|:--------:|
| [admin\_user\_password](#input\_admin\_user\_password) | The password of the administrator for the first database created in the namespace. | `string` | `""` | no |
| [admin\_username](#input\_admin\_username) | The username of the administrator for the first database created in the namespace. | `string` | `""` | no |
| [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 |
| [assume\_role\_policy](#input\_assume\_role\_policy) | Policy that grants an entity permission to assume the role. | `any` | `null` | no |
| [base\_capacity](#input\_base\_capacity) | The base data warehouse capacity of the workgroup in Redshift Processing Units (RPUs). | `number` | `28` | no |
| [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 |
| [config\_parameter](#input\_config\_parameter) | An array of parameters to set for more control over a serverless database. | `list(any)` | `[]` | no |
| [create](#input\_create) | Determines whether to create Redshift cluster and resources (affects all resources) | `bool` | `true` | no |
| [create\_random\_password](#input\_create\_random\_password) | Determines whether to create random password for cluster `master_password` | `bool` | `true` | no |
| [db\_name](#input\_db\_name) | The name of the first database created in the namespace. | `string` | `""` | no |
| [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 |
| [endpoint\_enable](#input\_endpoint\_enable) | If `true`, VPC endpoint is enabled | `bool` | `true` | no |
| [endpoint\_name](#input\_endpoint\_name) | The Redshift-managed VPC endpoint name | `string` | `""` | no |
| [enhanced\_vpc\_routing](#input\_enhanced\_vpc\_routing) | If `true`, enhanced VPC routing is enabled | `bool` | `null` | no |
| [iam\_role\_enabled](#input\_iam\_role\_enabled) | If `true`, iam role resource is enabled | `bool` | `true` | no |
| [iam\_role\_name](#input\_iam\_role\_name) | The name of the iam role | `string` | `""` | no |
| [iam\_roles](#input\_iam\_roles) | A list of IAM roles to associate with the namespace. | `list(any)` | `[]` | no |
| [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 |
| [kms\_enabled](#input\_kms\_enabled) | If `true`, kms key is enabled | `bool` | `true` | no |
| [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 |
| [log\_exports](#input\_log\_exports) | The types of logs the namespace can export. Available export types are userlog, connectionlog, and useractivitylog. | `list(string)` | `[]` | no |
| [namespace\_name](#input\_namespace\_name) | The name of the namespace. | `string` | `""` | no |
| [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 |
| [policy](#input\_policy) | If `true`, iam policy is enabled | `any` | `null` | no |
| [policy\_arn](#input\_policy\_arn) | The ARN of the policy you want to apply. | `string` | `""` | no |
| [policy\_enabled](#input\_policy\_enabled) | Whether to Attach Iam policy with role. | `bool` | `true` | no |
| [policy\_name](#input\_policy\_name) | The name of the iam policy name. | `string` | `""` | no |
| [publicly\_accessible](#input\_publicly\_accessible) | If true, the cluster can be accessed from a public network | `bool` | `false` | no |
| [random\_password\_length](#input\_random\_password\_length) | Length of random password to create. Defaults to `16` | `number` | `16` | no |
| [retention\_period](#input\_retention\_period) | How long to retain the created snapshot. Default value is -1. | `string` | `"-1"` | no |
| [secrets\_manager\_enabled](#input\_secrets\_manager\_enabled) | If `true`, secrets manages resource is enabled | `bool` | `true` | no |
| [secrets\_manager\_name](#input\_secrets\_manager\_name) | The name of the secrets manager. | `string` | `""` | no |
| [security\_group\_ids](#input\_security\_group\_ids) | An array of security group IDs to associate with the workgroup. | `list(any)` | `[]` | no |
| [serverless\_resource\_policy](#input\_serverless\_resource\_policy) | If `true`, serverless resource policy is enabled | `any` | `null` | no |
| [snapshot\_enable](#input\_snapshot\_enable) | If `true`, snapshot is enabled | `bool` | `false` | no |
| [snapshot\_name](#input\_snapshot\_name) | The name of the snapshot. | `string` | `""` | no |
| [snapshot\_policy\_enable](#input\_snapshot\_policy\_enable) | If `true`, snapshot policy is enabled | `bool` | `false` | no |
| [subnet\_ids](#input\_subnet\_ids) | An array of VPC subnet IDs to use in the subnet group | `list(string)` | `null` | no |
| [tags](#input\_tags) | A map of tags to add to all resources | `map(string)` | `{}` | no |
| [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 |
| [workgroup\_name](#input\_workgroup\_name) | The name of the workgroup. | `string` | `""` | no |
## Resources| Name | Type |
|------|------|
| [aws_iam_role.role](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/iam_role) | resource |
| [aws_iam_role_policy.policy](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/iam_role_policy) | resource |
| [aws_iam_role_policy_attachment.policy_attachment](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/iam_role_policy_attachment) | resource |
| [aws_kms_alias.alias](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/kms_alias) | resource |
| [aws_kms_key.kms](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/kms_key) | resource |
| [aws_redshiftserverless_endpoint_access.endpoint](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/redshiftserverless_endpoint_access) | resource |
| [aws_redshiftserverless_namespace.namespace](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/redshiftserverless_namespace) | resource |
| [aws_redshiftserverless_resource_policy.main](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/redshiftserverless_resource_policy) | resource |
| [aws_redshiftserverless_snapshot.snapshot](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/redshiftserverless_snapshot) | resource |
| [aws_redshiftserverless_usage_limit.usage_limit](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/redshiftserverless_usage_limit) | resource |
| [aws_redshiftserverless_workgroup.workgroup](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/redshiftserverless_workgroup) | resource |
| [aws_secretsmanager_secret.secret](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/secretsmanager_secret) | resource |
| [aws_secretsmanager_secret_version.secrets_version](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/secretsmanager_secret_version) | resource |
| [random_password.master_password](https://registry.terraform.io/providers/hashicorp/random/latest/docs/resources/password) | resource |
## Outputs| Name | Description |
|------|-------------|
| [endpoint\_access\_arn](#output\_endpoint\_access\_arn) | Amazon Resource Name (ARN) of the Redshift Serverless Endpoint Access. |
| [endpoint\_access\_name](#output\_endpoint\_access\_name) | Amazon Resource Name (ARN) of the Redshift Serverless Endpoint Access. |
| [limit\_arn](#output\_limit\_arn) | Amazon Resource Name (ARN) of the Redshift Serverless Usage Limit. |
| [limit\_id](#output\_limit\_id) | The Redshift Usage Limit id. |
| [namespace\_arn](#output\_namespace\_arn) | The Redshift Namespace ID. |
| [namespace\_id](#output\_namespace\_id) | The Redshift Namespace ID. |
| [namespace\_name](#output\_namespace\_name) | The Redshift Namespace Name. |
| [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. |
| [snapshot\_admin\_username](#output\_snapshot\_admin\_username) | The username of the database within a snapshot. |
| [snapshot\_arn](#output\_snapshot\_arn) | The Amazon Resource Name (ARN) of the namespace the snapshot was created from. |
| [snapshot\_name](#output\_snapshot\_name) | The name of the snapshot. |
| [snapshot\_namespace\_arn](#output\_snapshot\_namespace\_arn) | The Amazon Resource Name (ARN) of the namespace the snapshot was created from. |
| [snapshot\_owner\_account](#output\_snapshot\_owner\_account) | The owner Amazon Web Services; account of the snapshot. |
| [vpc\_endpoint](#output\_vpc\_endpoint) | The VPC endpoint or the Redshift Serverless workgroup |
| [workgroup\_arn](#output\_workgroup\_arn) | Amazon Resource Name (ARN) of the Redshift Serverless Workgroup. |
| [workgroup\_id](#output\_workgroup\_id) | The Redshift Workgroup ID. |
| [workgroup\_name](#output\_workgroup\_name) | The Redshift Workgroup Name. |
# 🚀 Built by opsZero!Since 2016 [opsZero](https://opszero.com) 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:
- [Modernize or Migrate to Kubernetes](https://opszero.com/solutions/modernization/)
- [Cloud Infrastructure with Kubernetes on AWS, Azure, Google Cloud, or Bare Metal](https://opszero.com/solutions/cloud-infrastructure/)
- [Building AI and Data Pipelines on Kubernetes](https://opszero.com/solutions/ai/)
- [Optimizing Existing Kubernetes Workloads](https://opszero.com/solutions/optimized-workloads/)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 KubernetesPlease [schedule a call](https://calendly.com/opszero-llc/discovery) if you need support.