Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -77,6 +77,7 @@ docker_test_lint:
.PHONY: docker_generate_docs
docker_generate_docs:
docker run --rm -it \
-e ENABLE_BPMETADATA \
-v "$(CURDIR)":/workspace \
$(REGISTRY_URL)/${DOCKER_IMAGE_DEVELOPER_TOOLS}:${DOCKER_TAG_VERSION_DEVELOPER_TOOLS} \
/bin/bash -c 'source /usr/local/bin/task_helper_functions.sh && generate_docs'
Expand Down
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -60,7 +60,7 @@ module "memorystore" {
| redis\_configs | The Redis configuration parameters. See [more details](https://cloud.google.com/memorystore/docs/redis/reference/rest/v1/projects.locations.instances#Instance.FIELDS.redis_configs) | `map(any)` | `{}` | no |
| redis\_version | The version of Redis software. | `string` | `null` | no |
| region | The GCP region to use. | `string` | `null` | no |
| replica\_count | The number of replicas. can | `number` | `null` | no |
| replica\_count | The number of replicas. | `number` | `null` | no |
| reserved\_ip\_range | The CIDR range of internal addresses that are reserved for this instance. | `string` | `null` | no |
| secondary\_ip\_range | Optional. Additional IP range for node placement. Required when enabling read replicas on an existing instance. | `string` | `null` | no |
| tier | The service tier of the instance. https://cloud.google.com/memorystore/docs/redis/reference/rest/v1/projects.locations.instances#Tier | `string` | `"STANDARD_HA"` | no |
Expand Down
15 changes: 15 additions & 0 deletions metadata.display.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -36,15 +36,18 @@ spec:
authorized_network:
name: authorized_network
title: Authorized Network
invisible: false
connect_mode:
name: connect_mode
title: Connect Mode
invisible: false
customer_managed_key:
name: customer_managed_key
title: Customer Managed Key
display_name:
name: display_name
title: Display Name
invisible: false
enable_apis:
name: enable_apis
title: Enable Apis
Expand All @@ -60,9 +63,12 @@ spec:
memory_size_gb:
name: memory_size_gb
title: Memory Size Gb
invisible: false
name:
name: name
title: Name
regexValidation: ^[a-z][a-z0-9-]{0,38}[a-z0-9]$
validation: Use lowercase letters, numbers, and hyphens. Start with a letter and end with letter/number. Must be 40 characters or fewer.
persistence_config:
name: persistence_config
title: Persistence Config
Expand All @@ -78,12 +84,15 @@ spec:
redis_version:
name: redis_version
title: Redis Version
invisible: false
region:
name: region
title: Region
invisible: false
replica_count:
name: replica_count
title: Replica Count
invisible: false
reserved_ip_range:
name: reserved_ip_range
title: Reserved Ip Range
Expand All @@ -93,6 +102,12 @@ spec:
tier:
name: tier
title: Tier
invisible: false
enumValueLabels:
- label: STANDARD_HA
value: STANDARD_HA
- label: BASIC
value: BASIC
transit_encryption_mode:
name: transit_encryption_mode
title: Transit Encryption Mode
Expand Down
50 changes: 25 additions & 25 deletions metadata.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -52,30 +52,20 @@ spec:
location: examples/valkey
interfaces:
variables:
- name: region
description: The GCP region to use.
varType: string
- name: project_id
description: The ID of the project in which the resource belongs to.
varType: string
required: true
- name: enable_apis
description: Flag for enabling redis.googleapis.com in your project
varType: bool
defaultValue: true
- name: region
description: The GCP region to use.
varType: string
- name: name
description: The ID of the instance or a fully qualified identifier for the instance.
varType: string
required: true
- name: authorized_network
description: The full name of the Google Compute Engine network to which the instance is connected. If left unspecified, the default network will be used.
- name: display_name
description: An arbitrary and optional user-provided name for the instance.
varType: string
connections:
- source:
source: github.com/terraform-google-modules/terraform-google-network//modules/vpc
version: ">= 9.1.0"
spec:
outputExpr: network_name
- name: tier
description: The service tier of the instance. https://cloud.google.com/memorystore/docs/redis/reference/rest/v1/projects.locations.instances#Tier
varType: string
Expand All @@ -85,8 +75,27 @@ spec:
varType: number
defaultValue: 1
- name: replica_count
description: The number of replicas. can
description: The number of replicas.
varType: number
- name: authorized_network
description: The full name of the Google Compute Engine network to which the instance is connected. If left unspecified, the default network will be used.
varType: string
connections:
- source:
source: github.com/terraform-google-modules/terraform-google-network//modules/vpc
version: ">= 9.1.0"
spec:
outputExpr: network_name
- name: redis_version
description: The version of Redis software.
varType: string
- name: connect_mode
description: The connection mode of the Redis instance. Can be either DIRECT_PEERING or PRIVATE_SERVICE_ACCESS. The default connect mode if not provided is DIRECT_PEERING.
varType: string
- name: enable_apis
description: Flag for enabling redis.googleapis.com in your project
varType: bool
defaultValue: true
- name: read_replicas_mode
description: "Read replicas mode. https://cloud.google.com/memorystore/docs/redis/reference/rest/v1/projects.locations.instances#readreplicasmode "
varType: string
Expand All @@ -97,25 +106,16 @@ spec:
- name: alternative_location_id
description: The alternative zone where the instance will be provisioned.
varType: string
- name: redis_version
description: The version of Redis software.
varType: string
- name: redis_configs
description: The Redis configuration parameters. See [more details](https://cloud.google.com/memorystore/docs/redis/reference/rest/v1/projects.locations.instances#Instance.FIELDS.redis_configs)
varType: map(any)
defaultValue: {}
- name: display_name
description: An arbitrary and optional user-provided name for the instance.
varType: string
- name: reserved_ip_range
description: The CIDR range of internal addresses that are reserved for this instance.
varType: string
- name: secondary_ip_range
description: Optional. Additional IP range for node placement. Required when enabling read replicas on an existing instance.
varType: string
- name: connect_mode
description: The connection mode of the Redis instance. Can be either DIRECT_PEERING or PRIVATE_SERVICE_ACCESS. The default connect mode if not provided is DIRECT_PEERING.
varType: string
- name: labels
description: The resource labels to represent user provided metadata.
varType: map(string)
Expand Down
71 changes: 38 additions & 33 deletions modules/memcache/metadata.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -46,24 +46,53 @@ spec:
location: examples/valkey
interfaces:
variables:
- name: region
description: The GCP region to use.
varType: string
required: true
- name: project_id
description: The ID of the project in which the resource belongs to.
varType: string
required: true
- name: enable_apis
description: Flag for enabling memcache.googleapis.com in your project
varType: bool
defaultValue: true
- name: name
description: The ID of the instance or a fully qualified identifier for the instance.
varType: string
required: true
- name: memcache_version
description: The major version of Memcached software.
varType: string
- name: authorized_network
description: The full name of the Google Compute Engine network to which the instance is connected. If left unspecified, the default network will be used.
varType: string
- name: node_count
description: Number of nodes in the memcache instance.
varType: number
defaultValue: 1
- name: cpu_count
description: Number of CPUs per node
varType: number
defaultValue: 1
- name: memory_size_mb
description: Memcache memory size in MiB. Defaulted to 1024
varType: number
defaultValue: 1024
- name: zones
description: Zones where memcache nodes should be provisioned. If not provided, all zones will be used.
varType: list(string)
- name: display_name
description: An arbitrary and optional user-provided name for the instance.
varType: string
- name: enable_apis
description: Flag for enabling memcache.googleapis.com in your project
varType: bool
defaultValue: true
- name: labels
description: The resource labels to represent user provided metadata.
varType: map(string)
defaultValue: {}
- name: params
description: Parameters for the memcache process
varType: map(string)
- name: maintenance_policy
description: The maintenance policy for an instance.
varType: |-
Expand All @@ -77,35 +106,6 @@ spec:
nanos = number
})
})
- name: memcache_version
description: The major version of Memcached software.
varType: string
- name: memory_size_mb
description: Memcache memory size in MiB. Defaulted to 1024
varType: number
defaultValue: 1024
- name: name
description: The ID of the instance or a fully qualified identifier for the instance.
varType: string
required: true
- name: node_count
description: Number of nodes in the memcache instance.
varType: number
defaultValue: 1
- name: params
description: Parameters for the memcache process
varType: map(string)
- name: project_id
description: The ID of the project in which the resource belongs to.
varType: string
required: true
- name: region
description: The GCP region to use.
varType: string
required: true
- name: zones
description: Zones where memcache nodes should be provisioned. If not provided, all zones will be used.
varType: list(string)
outputs:
- name: discovery
description: The memorystore discovery endpoint.
Expand All @@ -128,3 +128,8 @@ spec:
- serviceconsumermanagement.googleapis.com
- networkconnectivity.googleapis.com
- compute.googleapis.com
providerVersions:
- source: hashicorp/google
version: ">= 4.23.0, < 7"
- source: hashicorp/google-beta
version: ">= 4.23.0, < 7"
77 changes: 40 additions & 37 deletions modules/redis-cluster/metadata.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -46,52 +46,42 @@ spec:
location: examples/valkey
interfaces:
variables:
- name: authorization_mode
description: "The authorization mode of the Redis cluster. If not provided, auth feature is disabled for the cluster. Default value is AUTH_MODE_DISABLED. Possible values are: AUTH_MODE_UNSPECIFIED, AUTH_MODE_IAM_AUTH, AUTH_MODE_DISABLED"
varType: string
defaultValue: AUTH_MODE_DISABLED
- name: deletion_protection_enabled
description: " Indicates if the cluster is deletion protected or not. If the value if set to true, any delete cluster operation will fail. Default value is true"
varType: bool
defaultValue: true
- name: enable_apis
description: Flag for enabling memcache.googleapis.com in your project
varType: bool
defaultValue: true
- name: name
description: The ID of the instance or a fully qualified identifier for the instance. must be 1 to 63 characters and use only lowercase letters, numbers, or hyphens. It must start with a lowercase letter and end with a lowercase letter or number
varType: string
required: true
- name: network
description: List of consumer network where the network address of the discovery endpoint will be reserved, in the form of projects/{network_project_id_or_number}/global/networks/{network_id}. Currently, only one item is supported
varType: list(string)
required: true
- name: node_type
description: "The nodeType for the Redis cluster. If not provided, REDIS_HIGHMEM_MEDIUM will be used as default Possible values are: REDIS_SHARED_CORE_NANO, REDIS_HIGHMEM_MEDIUM, REDIS_HIGHMEM_XLARGE, REDIS_STANDARD_SMALL."
varType: string
- name: project_id
description: The ID of the project in which the resource belongs to.
varType: string
required: true
- name: redis_configs
description: Configure Redis Cluster behavior using a subset of native Redis configuration parameters
varType: |-
object({
maxmemory-clients = optional(string)
maxmemory = optional(string)
maxmemory-policy = optional(string)
notify-keyspace-events = optional(string)
slowlog-log-slower-than = optional(number)
maxclients = optional(number)
})
- name: region
description: The name of the region of the Redis cluster
varType: string
required: true
- name: enable_apis
description: Flag for enabling memcache.googleapis.com in your project
varType: bool
defaultValue: true
- name: shard_count
description: Required. Number of shards for the Redis cluster. The minimum number of shards in a Memorystore cluster is 3 shards
varType: number
defaultValue: 3
- name: replica_count
description: The number of replica nodes per shard. Each shard can have 0, 1, or 2 replica nodes. Replicas provide high availability and additional read throughput, and are evenly distributed across zones
varType: number
defaultValue: 0
- name: transit_encryption_mode
description: "The in-transit encryption for the Redis cluster. If not provided, encryption is disabled for the cluster. Default value is TRANSIT_ENCRYPTION_MODE_DISABLED. Possible values are: TRANSIT_ENCRYPTION_MODE_UNSPECIFIED, TRANSIT_ENCRYPTION_MODE_DISABLED, TRANSIT_ENCRYPTION_MODE_SERVER_AUTHENTICATION"
varType: string
defaultValue: TRANSIT_ENCRYPTION_MODE_DISABLED
- name: authorization_mode
description: "The authorization mode of the Redis cluster. If not provided, auth feature is disabled for the cluster. Default value is AUTH_MODE_DISABLED. Possible values are: AUTH_MODE_UNSPECIFIED, AUTH_MODE_IAM_AUTH, AUTH_MODE_DISABLED"
varType: string
defaultValue: AUTH_MODE_DISABLED
- name: network
description: List of consumer network where the network address of the discovery endpoint will be reserved, in the form of projects/{network_project_id_or_number}/global/networks/{network_id}. Currently, only one item is supported
varType: list(string)
required: true
- name: service_connection_policies
description: The Service Connection Policies to create
varType: |-
Expand All @@ -104,21 +94,31 @@ spec:
labels = optional(map(string), {})
}))
defaultValue: {}
- name: shard_count
description: Required. Number of shards for the Redis cluster. The minimum number of shards in a Memorystore cluster is 3 shards
varType: number
defaultValue: 3
- name: transit_encryption_mode
description: "The in-transit encryption for the Redis cluster. If not provided, encryption is disabled for the cluster. Default value is TRANSIT_ENCRYPTION_MODE_DISABLED. Possible values are: TRANSIT_ENCRYPTION_MODE_UNSPECIFIED, TRANSIT_ENCRYPTION_MODE_DISABLED, TRANSIT_ENCRYPTION_MODE_SERVER_AUTHENTICATION"
- name: node_type
description: "The nodeType for the Redis cluster. If not provided, REDIS_HIGHMEM_MEDIUM will be used as default Possible values are: REDIS_SHARED_CORE_NANO, REDIS_HIGHMEM_MEDIUM, REDIS_HIGHMEM_XLARGE, REDIS_STANDARD_SMALL."
varType: string
defaultValue: TRANSIT_ENCRYPTION_MODE_DISABLED
- name: redis_configs
description: Configure Redis Cluster behavior using a subset of native Redis configuration parameters
varType: |-
object({
maxmemory-clients = optional(string)
maxmemory = optional(string)
maxmemory-policy = optional(string)
notify-keyspace-events = optional(string)
slowlog-log-slower-than = optional(number)
maxclients = optional(number)
})
- name: zone_distribution_config_mode
description: "The mode for zone distribution for Memorystore Redis cluster (Immutable). If not provided, MULTI_ZONE will be used as default value. Possible values are: MULTI_ZONE, SINGLE_ZONE"
varType: string
defaultValue: MULTI_ZONE
- name: zone_distribution_config_zone
description: The zone for single zone Memorystore Redis cluster (Immutable)
varType: string
- name: deletion_protection_enabled
description: " Indicates if the cluster is deletion protected or not. If the value if set to true, any delete cluster operation will fail. Default value is true"
varType: bool
defaultValue: true
outputs:
- name: discovery_endpoints
description: Endpoints created on each given network, for Redis clients to connect to the cluster. Currently only one endpoint is supported
Expand All @@ -141,3 +141,6 @@ spec:
- serviceconsumermanagement.googleapis.com
- networkconnectivity.googleapis.com
- compute.googleapis.com
providerVersions:
- source: hashicorp/google
version: ">= 6.0, < 7"
Loading