# Copyright 2019 Google LLC # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # You may obtain a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # See the License for the specific language governing permissions and # limitations under the License. # NOTE: This file is auto generated by the elixir code generator program. # Do not edit this file manually. defmodule GoogleApi.Redis.V1.Model.Cluster do @moduledoc """ A cluster instance. ## Attributes * `authorizationMode` (*type:* `String.t`, *default:* `nil`) - Optional. The authorization mode of the Redis cluster. If not provided, auth feature is disabled for the cluster. * `createTime` (*type:* `DateTime.t`, *default:* `nil`) - Output only. The timestamp associated with the cluster creation request. * `discoveryEndpoints` (*type:* `list(GoogleApi.Redis.V1.Model.DiscoveryEndpoint.t)`, *default:* `nil`) - Output only. Endpoints created on each given network, for Redis clients to connect to the cluster. Currently only one discovery endpoint is supported. * `name` (*type:* `String.t`, *default:* `nil`) - Required. Unique name of the resource in this scope including project and location using the form: `projects/{project_id}/locations/{location_id}/clusters/{cluster_id}` * `pscConfigs` (*type:* `list(GoogleApi.Redis.V1.Model.PscConfig.t)`, *default:* `nil`) - Required. Each PscConfig configures the consumer network where IPs will be designated to the cluster for client access through Private Service Connect Automation. Currently, only one PscConfig is supported. * `pscConnections` (*type:* `list(GoogleApi.Redis.V1.Model.PscConnection.t)`, *default:* `nil`) - Output only. PSC connections for discovery of the cluster topology and accessing the cluster. * `replicaCount` (*type:* `integer()`, *default:* `nil`) - Optional. The number of replica nodes per shard. * `shardCount` (*type:* `integer()`, *default:* `nil`) - Required. Number of shards for the Redis cluster. * `sizeGb` (*type:* `integer()`, *default:* `nil`) - Output only. Redis memory size in GB for the entire cluster rounded up to the next integer. * `state` (*type:* `String.t`, *default:* `nil`) - Output only. The current state of this cluster. Can be CREATING, READY, UPDATING, DELETING and SUSPENDED * `stateInfo` (*type:* `GoogleApi.Redis.V1.Model.StateInfo.t`, *default:* `nil`) - Output only. Additional information about the current state of the cluster. * `transitEncryptionMode` (*type:* `String.t`, *default:* `nil`) - Optional. The in-transit encryption for the Redis cluster. If not provided, encryption is disabled for the cluster. * `uid` (*type:* `String.t`, *default:* `nil`) - Output only. System assigned, unique identifier for the cluster. """ use GoogleApi.Gax.ModelBase @type t :: %__MODULE__{ :authorizationMode => String.t() | nil, :createTime => DateTime.t() | nil, :discoveryEndpoints => list(GoogleApi.Redis.V1.Model.DiscoveryEndpoint.t()) | nil, :name => String.t() | nil, :pscConfigs => list(GoogleApi.Redis.V1.Model.PscConfig.t()) | nil, :pscConnections => list(GoogleApi.Redis.V1.Model.PscConnection.t()) | nil, :replicaCount => integer() | nil, :shardCount => integer() | nil, :sizeGb => integer() | nil, :state => String.t() | nil, :stateInfo => GoogleApi.Redis.V1.Model.StateInfo.t() | nil, :transitEncryptionMode => String.t() | nil, :uid => String.t() | nil } field(:authorizationMode) field(:createTime, as: DateTime) field(:discoveryEndpoints, as: GoogleApi.Redis.V1.Model.DiscoveryEndpoint, type: :list) field(:name) field(:pscConfigs, as: GoogleApi.Redis.V1.Model.PscConfig, type: :list) field(:pscConnections, as: GoogleApi.Redis.V1.Model.PscConnection, type: :list) field(:replicaCount) field(:shardCount) field(:sizeGb) field(:state) field(:stateInfo, as: GoogleApi.Redis.V1.Model.StateInfo) field(:transitEncryptionMode) field(:uid) end defimpl Poison.Decoder, for: GoogleApi.Redis.V1.Model.Cluster do def decode(value, options) do GoogleApi.Redis.V1.Model.Cluster.decode(value, options) end end defimpl Poison.Encoder, for: GoogleApi.Redis.V1.Model.Cluster do def encode(value, options) do GoogleApi.Gax.ModelBase.encode(value, options) end end