diff --git a/CHANGELOG.md b/CHANGELOG.md index 72f3c0d1..8932a563 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -5,6 +5,13 @@ All notable changes to this project will be documented in this file. The format is based on [Keep a Changelog](http://keepachangelog.com/) and this project adheres to [Semantic Versioning](http://semver.org/). +## [12.0.1](https://github.com/terraform-google-modules/terraform-google-memorystore/compare/v12.0.0...v12.0.1) (2024-11-27) + + +### Bug Fixes + +* Broken module due to apphub_service_uri output ([#251](https://github.com/terraform-google-modules/terraform-google-memorystore/issues/251)) ([ebef4be](https://github.com/terraform-google-modules/terraform-google-memorystore/commit/ebef4beb36716fcde167e692375e3336da5111b7)) + ## [12.0.0](https://github.com/terraform-google-modules/terraform-google-memorystore/compare/v11.1.0...v12.0.0) (2024-10-23) diff --git a/metadata.yaml b/metadata.yaml index 97a9870d..851480da 100644 --- a/metadata.yaml +++ b/metadata.yaml @@ -24,7 +24,7 @@ spec: source: repo: https://github.com/terraform-google-modules/terraform-google-memorystore.git sourceType: git - version: 12.0.0 + version: 12.0.1 actuationTool: flavor: Terraform version: ">= 1.3" @@ -52,20 +52,30 @@ 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: region - description: The GCP region to use. - varType: string + - name: enable_apis + description: Flag for enabling redis.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: display_name - description: An arbitrary and optional user-provided name for the instance. + - 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: tier description: The service tier of the instance. https://cloud.google.com/memorystore/docs/redis/reference/rest/v1/projects.locations.instances#Tier varType: string @@ -75,27 +85,8 @@ spec: varType: number defaultValue: 1 - name: replica_count - description: The number of replicas. + description: The number of replicas. can 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 @@ -106,16 +97,25 @@ 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) diff --git a/modules/memcache/metadata.yaml b/modules/memcache/metadata.yaml index 946633ee..7b51f822 100644 --- a/modules/memcache/metadata.yaml +++ b/modules/memcache/metadata.yaml @@ -25,7 +25,7 @@ spec: repo: https://github.com/terraform-google-modules/terraform-google-memorystore.git sourceType: git dir: /modules/memcache - version: 12.0.0 + version: 12.0.1 actuationTool: flavor: Terraform version: ">= 1.3" @@ -46,53 +46,24 @@ 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: |- @@ -106,6 +77,35 @@ 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. @@ -128,8 +128,3 @@ 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" diff --git a/modules/memcache/versions.tf b/modules/memcache/versions.tf index 06bad46b..f88a282c 100644 --- a/modules/memcache/versions.tf +++ b/modules/memcache/versions.tf @@ -29,11 +29,11 @@ terraform { } provider_meta "google" { - module_name = "blueprints/terraform/terraform-google-memorystore:memcache/v12.0.0" + module_name = "blueprints/terraform/terraform-google-memorystore:memcache/v12.0.1" } provider_meta "google-beta" { - module_name = "blueprints/terraform/terraform-google-memorystore:memcache/v12.0.0" + module_name = "blueprints/terraform/terraform-google-memorystore:memcache/v12.0.1" } } diff --git a/modules/redis-cluster/metadata.yaml b/modules/redis-cluster/metadata.yaml index 634a4f19..62c8f0db 100644 --- a/modules/redis-cluster/metadata.yaml +++ b/modules/redis-cluster/metadata.yaml @@ -25,7 +25,7 @@ spec: repo: https://github.com/terraform-google-modules/terraform-google-memorystore.git sourceType: git dir: /modules/redis-cluster - version: 12.0.0 + version: 12.0.1 actuationTool: flavor: Terraform version: ">= 1.3" @@ -46,42 +46,52 @@ 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: |- @@ -94,20 +104,14 @@ spec: labels = optional(map(string), {}) })) defaultValue: {} - - 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." + - 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" varType: string - - 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) - }) + defaultValue: TRANSIT_ENCRYPTION_MODE_DISABLED - 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 @@ -115,10 +119,6 @@ spec: - 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 @@ -141,6 +141,3 @@ spec: - serviceconsumermanagement.googleapis.com - networkconnectivity.googleapis.com - compute.googleapis.com - providerVersions: - - source: hashicorp/google - version: ">= 6.0, < 7" diff --git a/modules/redis-cluster/versions.tf b/modules/redis-cluster/versions.tf index 60ebbfe8..c84e2fd9 100644 --- a/modules/redis-cluster/versions.tf +++ b/modules/redis-cluster/versions.tf @@ -25,11 +25,11 @@ terraform { } provider_meta "google" { - module_name = "blueprints/terraform/terraform-google-memorystore:redis-cluster/v12.0.0" + module_name = "blueprints/terraform/terraform-google-memorystore:redis-cluster/v12.0.1" } provider_meta "google-beta" { - module_name = "blueprints/terraform/terraform-google-memorystore:redis-cluster/v12.0.0" + module_name = "blueprints/terraform/terraform-google-memorystore:redis-cluster/v12.0.1" } } diff --git a/modules/valkey/metadata.yaml b/modules/valkey/metadata.yaml index bb3e89ae..cf371576 100644 --- a/modules/valkey/metadata.yaml +++ b/modules/valkey/metadata.yaml @@ -25,7 +25,7 @@ spec: repo: https://github.com/terraform-google-modules/terraform-google-memorystore.git sourceType: git dir: /modules/valkey - version: 12.0.0 + version: 12.0.1 actuationTool: flavor: Terraform version: ">= 1.3" @@ -46,77 +46,18 @@ spec: location: examples/valkey interfaces: variables: - - name: project_id - description: The ID of the project in which the resource belongs to. - varType: string - required: true - - name: instance_id - description: The ID to use for the instance, which will become the final component of the instance's resource name. Must be 4-63 characters in length with lowercase letters, digits, and hyphens. Must not end with a hyphen. Must be unique within a location - varType: string - required: true - - name: shard_count - description: Number of shards for the instance - varType: number - defaultValue: 3 - - name: location - description: The region where valkey cluster will be created - varType: string - required: true - - name: labels - description: The resource labels to represent user provided metadata. - varType: map(string) - defaultValue: {} - - name: replica_count - description: Number of replica nodes per shard. If omitted the default is 0 replicas - varType: number - defaultValue: 0 - name: authorization_mode description: "The Immutable. Authorization mode of the instance. Possible values: AUTH_DISABLED IAM_AUTH" varType: string defaultValue: AUTH_DISABLED - - name: transit_encryption_mode - description: "Immutable. In-transit encryption mode of the instance. Possible values: TRANSIT_ENCRYPTION_DISABLED SERVER_AUTHENTICATION" - varType: string - defaultValue: TRANSIT_ENCRYPTION_DISABLED - - name: node_type - description: "The nodeType for the valkey cluster. Possible values are: SHARED_CORE_NANO, HIGHMEM_MEDIUM, HIGHMEM_XLARGE, STANDARD_SMALL" - varType: string - name: deletion_protection_enabled description: If set to true deletion of the instance will fail varType: bool defaultValue: true - - name: zone_distribution_config_mode - description: "The mode for zone distribution for Memorystore valkey 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 valkey cluster (Immutable) - varType: string - - name: engine_version - description: Immutable. Engine version of the instance - varType: string - defaultValue: VALKEY_8_0 - name: enable_apis description: Flag for enabling memcache.googleapis.com in your project varType: bool defaultValue: false - - name: network - description: Name of the consumer network where the network address of the discovery endpoint will be reserved - varType: string - required: true - - name: network_project - description: project ID of the consumer network where the network address of the discovery endpoint will be reserved. Required for Shared VPC host - varType: string - - name: service_connection_policies - description: The Service Connection Policies to create. Required to create service connection policy. Not needed if service connection policy already exist - varType: |- - map(object({ - subnet_names = list(string) - description = optional(string) - limit = optional(number) - labels = optional(map(string), {}) - })) - defaultValue: {} - name: engine_configs description: User-provided engine configurations for the instance varType: |- @@ -128,6 +69,32 @@ spec: slowlog-log-slower-than = optional(number) maxclients = optional(number) }) + - name: engine_version + description: Immutable. Engine version of the instance + varType: string + defaultValue: VALKEY_8_0 + - name: instance_id + description: The ID to use for the instance, which will become the final component of the instance's resource name. Must be 4-63 characters in length with lowercase letters, digits, and hyphens. Must not end with a hyphen. Must be unique within a location + varType: string + required: true + - name: labels + description: The resource labels to represent user provided metadata. + varType: map(string) + defaultValue: {} + - name: location + description: The region where valkey cluster will be created + varType: string + required: true + - name: network + description: Name of the consumer network where the network address of the discovery endpoint will be reserved + varType: string + required: true + - name: network_project + description: project ID of the consumer network where the network address of the discovery endpoint will be reserved. Required for Shared VPC host + varType: string + - name: node_type + description: "The nodeType for the valkey cluster. Possible values are: SHARED_CORE_NANO, HIGHMEM_MEDIUM, HIGHMEM_XLARGE, STANDARD_SMALL" + varType: string - name: persistence_config description: User-provided persistence configurations for the instance varType: |- @@ -142,6 +109,39 @@ spec: }), null) }) defaultValue: {} + - name: project_id + description: The ID of the project in which the resource belongs to. + varType: string + required: true + - name: replica_count + description: Number of replica nodes per shard. If omitted the default is 0 replicas + varType: number + defaultValue: 0 + - name: service_connection_policies + description: The Service Connection Policies to create. Required to create service connection policy. Not needed if service connection policy already exist + varType: |- + map(object({ + subnet_names = list(string) + description = optional(string) + limit = optional(number) + labels = optional(map(string), {}) + })) + defaultValue: {} + - name: shard_count + description: Number of shards for the instance + varType: number + defaultValue: 3 + - name: transit_encryption_mode + description: "Immutable. In-transit encryption mode of the instance. Possible values: TRANSIT_ENCRYPTION_DISABLED SERVER_AUTHENTICATION" + varType: string + defaultValue: TRANSIT_ENCRYPTION_DISABLED + - name: zone_distribution_config_mode + description: "The mode for zone distribution for Memorystore valkey 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 valkey cluster (Immutable) + varType: string outputs: - name: discovery_endpoints description: Endpoints created on each given network, for valkey clients to connect to the cluster. Currently only one endpoint is supported @@ -164,8 +164,3 @@ spec: - serviceconsumermanagement.googleapis.com - networkconnectivity.googleapis.com - compute.googleapis.com - providerVersions: - - source: hashicorp/google - version: ">= 6.3, < 7" - - source: hashicorp/google-beta - version: ">= 6.3, < 7" diff --git a/modules/valkey/versions.tf b/modules/valkey/versions.tf index 40584cb6..8731e843 100644 --- a/modules/valkey/versions.tf +++ b/modules/valkey/versions.tf @@ -29,11 +29,11 @@ terraform { } provider_meta "google" { - module_name = "blueprints/terraform/terraform-google-memorystore:valkey/v12.0.0" + module_name = "blueprints/terraform/terraform-google-memorystore:valkey/v12.0.1" } provider_meta "google-beta" { - module_name = "blueprints/terraform/terraform-google-memorystore:valkey/v12.0.0" + module_name = "blueprints/terraform/terraform-google-memorystore:valkey/v12.0.1" } } diff --git a/versions.tf b/versions.tf index f5b6a58c..45c1a6e5 100644 --- a/versions.tf +++ b/versions.tf @@ -25,7 +25,7 @@ terraform { } provider_meta "google" { - module_name = "blueprints/terraform/terraform-google-memorystore/v12.0.0" + module_name = "blueprints/terraform/terraform-google-memorystore/v12.0.1" } }