Class: Google::Apis::RedisV1beta1::Instance

Inherits:
Object
  • Object
show all
Includes:
Core::Hashable, Core::JsonObjectSupport
Defined in:
lib/google/apis/redis_v1beta1/classes.rb,
lib/google/apis/redis_v1beta1/representations.rb,
lib/google/apis/redis_v1beta1/representations.rb

Overview

A Memorystore for Redis instance.

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(**args) ⇒ Instance

Returns a new instance of Instance.



2657
2658
2659
# File 'lib/google/apis/redis_v1beta1/classes.rb', line 2657

def initialize(**args)
   update!(**args)
end

Instance Attribute Details

#alternative_location_idString

Optional. If specified, at least one node will be provisioned in this zone in addition to the zone specified in location_id. Only applicable to standard tier. If provided, it must be a different zone from the one provided in [ location_id]. Additional nodes beyond the first 2 will be placed in zones selected by the service. Corresponds to the JSON property alternativeLocationId

Returns:

  • (String)


2412
2413
2414
# File 'lib/google/apis/redis_v1beta1/classes.rb', line 2412

def alternative_location_id
  @alternative_location_id
end

#auth_enabledBoolean Also known as: auth_enabled?

Optional. Indicates whether OSS Redis AUTH is enabled for the instance. If set to "true" AUTH is enabled on the instance. Default value is "false" meaning AUTH is disabled. Corresponds to the JSON property authEnabled

Returns:

  • (Boolean)


2419
2420
2421
# File 'lib/google/apis/redis_v1beta1/classes.rb', line 2419

def auth_enabled
  @auth_enabled
end

#authorized_networkString

Optional. The full name of the Google Compute Engine network to which the instance is connected. If left unspecified, the default network will be used. Corresponds to the JSON property authorizedNetwork

Returns:

  • (String)


2427
2428
2429
# File 'lib/google/apis/redis_v1beta1/classes.rb', line 2427

def authorized_network
  @authorized_network
end

#available_maintenance_versionsArray<String>

Optional. The available maintenance versions that an instance could update to. Corresponds to the JSON property availableMaintenanceVersions

Returns:

  • (Array<String>)


2432
2433
2434
# File 'lib/google/apis/redis_v1beta1/classes.rb', line 2432

def available_maintenance_versions
  @available_maintenance_versions
end

#connect_modeString

Optional. The network connect mode of the Redis instance. If not provided, the connect mode defaults to DIRECT_PEERING. Corresponds to the JSON property connectMode

Returns:

  • (String)


2438
2439
2440
# File 'lib/google/apis/redis_v1beta1/classes.rb', line 2438

def connect_mode
  @connect_mode
end

#create_timeString

Output only. The time the instance was created. Corresponds to the JSON property createTime

Returns:

  • (String)


2443
2444
2445
# File 'lib/google/apis/redis_v1beta1/classes.rb', line 2443

def create_time
  @create_time
end

#current_location_idString

Output only. The current zone where the Redis primary node is located. In basic tier, this will always be the same as [location_id]. In standard tier, this can be the zone of any node in the instance. Corresponds to the JSON property currentLocationId

Returns:

  • (String)


2450
2451
2452
# File 'lib/google/apis/redis_v1beta1/classes.rb', line 2450

def current_location_id
  @current_location_id
end

#customer_managed_keyString

Optional. The KMS key reference that the customer provides when trying to create the instance. Corresponds to the JSON property customerManagedKey

Returns:

  • (String)


2456
2457
2458
# File 'lib/google/apis/redis_v1beta1/classes.rb', line 2456

def customer_managed_key
  @customer_managed_key
end

#display_nameString

An arbitrary and optional user-provided name for the instance. Corresponds to the JSON property displayName

Returns:

  • (String)


2461
2462
2463
# File 'lib/google/apis/redis_v1beta1/classes.rb', line 2461

def display_name
  @display_name
end

#hostString

Output only. Hostname or IP address of the exposed Redis endpoint used by clients to connect to the service. Corresponds to the JSON property host

Returns:

  • (String)


2467
2468
2469
# File 'lib/google/apis/redis_v1beta1/classes.rb', line 2467

def host
  @host
end

#labelsHash<String,String>

Resource labels to represent user provided metadata Corresponds to the JSON property labels

Returns:

  • (Hash<String,String>)


2472
2473
2474
# File 'lib/google/apis/redis_v1beta1/classes.rb', line 2472

def labels
  @labels
end

#location_idString

Optional. The zone where the instance will be provisioned. If not provided, the service will choose a zone from the specified region for the instance. For standard tier, additional nodes will be added across multiple zones for protection against zonal failures. If specified, at least one node will be provisioned in this zone. Corresponds to the JSON property locationId

Returns:

  • (String)


2481
2482
2483
# File 'lib/google/apis/redis_v1beta1/classes.rb', line 2481

def location_id
  @location_id
end

#maintenance_policyGoogle::Apis::RedisV1beta1::MaintenancePolicy

Maintenance policy for an instance. Corresponds to the JSON property maintenancePolicy



2486
2487
2488
# File 'lib/google/apis/redis_v1beta1/classes.rb', line 2486

def maintenance_policy
  @maintenance_policy
end

#maintenance_scheduleGoogle::Apis::RedisV1beta1::MaintenanceSchedule

Upcoming maintenance schedule. If no maintenance is scheduled, fields are not populated. Corresponds to the JSON property maintenanceSchedule



2492
2493
2494
# File 'lib/google/apis/redis_v1beta1/classes.rb', line 2492

def maintenance_schedule
  @maintenance_schedule
end

#maintenance_versionString

Optional. The self service update maintenance version. The version is date based such as "20210712_00_00". Corresponds to the JSON property maintenanceVersion

Returns:

  • (String)


2498
2499
2500
# File 'lib/google/apis/redis_v1beta1/classes.rb', line 2498

def maintenance_version
  @maintenance_version
end

#memory_size_gbFixnum

Required. Redis memory size in GiB. Corresponds to the JSON property memorySizeGb

Returns:

  • (Fixnum)


2503
2504
2505
# File 'lib/google/apis/redis_v1beta1/classes.rb', line 2503

def memory_size_gb
  @memory_size_gb
end

#nameString

Required. Unique name of the resource in this scope including project and location using the form: projects/project_id/locations/location_id/ instances/instance_id`Note: Redis instances are managed and addressed at regional level so location_id here refers to a GCP region; however, users may choose which specific zone (or collection of zones for cross-zone instances) an instance should be provisioned in. Refer to location_id and alternative_location_id fields for more details. Corresponds to the JSON propertyname`

Returns:

  • (String)


2514
2515
2516
# File 'lib/google/apis/redis_v1beta1/classes.rb', line 2514

def name
  @name
end

#nodesArray<Google::Apis::RedisV1beta1::NodeInfo>

Output only. Info per node. Corresponds to the JSON property nodes



2519
2520
2521
# File 'lib/google/apis/redis_v1beta1/classes.rb', line 2519

def nodes
  @nodes
end

#persistence_configGoogle::Apis::RedisV1beta1::PersistenceConfig

Configuration of the persistence functionality. Corresponds to the JSON property persistenceConfig



2524
2525
2526
# File 'lib/google/apis/redis_v1beta1/classes.rb', line 2524

def persistence_config
  @persistence_config
end

#persistence_iam_identityString

Output only. Cloud IAM identity used by import / export operations to transfer data to/from Cloud Storage. Format is "serviceAccount:". The value may change over time for a given instance so should be checked before each import/export operation. Corresponds to the JSON property persistenceIamIdentity

Returns:

  • (String)


2532
2533
2534
# File 'lib/google/apis/redis_v1beta1/classes.rb', line 2532

def persistence_iam_identity
  @persistence_iam_identity
end

#portFixnum

Output only. The port number of the exposed Redis endpoint. Corresponds to the JSON property port

Returns:

  • (Fixnum)


2537
2538
2539
# File 'lib/google/apis/redis_v1beta1/classes.rb', line 2537

def port
  @port
end

#read_endpointString

Output only. Hostname or IP address of the exposed readonly Redis endpoint. Standard tier only. Targets all healthy replica nodes in instance. Replication is asynchronous and replica nodes will exhibit some lag behind the primary. Write requests must target 'host'. Corresponds to the JSON property readEndpoint

Returns:

  • (String)


2545
2546
2547
# File 'lib/google/apis/redis_v1beta1/classes.rb', line 2545

def read_endpoint
  @read_endpoint
end

#read_endpoint_portFixnum

Output only. The port number of the exposed readonly redis endpoint. Standard tier only. Write requests should target 'port'. Corresponds to the JSON property readEndpointPort

Returns:

  • (Fixnum)


2551
2552
2553
# File 'lib/google/apis/redis_v1beta1/classes.rb', line 2551

def read_endpoint_port
  @read_endpoint_port
end

#read_replicas_modeString

Optional. Read replicas mode for the instance. Defaults to READ_REPLICAS_DISABLED. Corresponds to the JSON property readReplicasMode

Returns:

  • (String)


2557
2558
2559
# File 'lib/google/apis/redis_v1beta1/classes.rb', line 2557

def read_replicas_mode
  @read_replicas_mode
end

#redis_configsHash<String,String>

Optional. Redis configuration parameters, according to Redis configuration. Currently, the only supported parameters are: Redis version 3.2 and newer: * maxmemory-policy * notify-keyspace-events Redis version 4.0 and newer: * activedefrag * lfu-decay-time * lfu-log-factor * maxmemory-gb Redis version 5. 0 and newer: * stream-node-max-bytes * stream-node-max-entries Corresponds to the JSON property redisConfigs

Returns:

  • (Hash<String,String>)


2567
2568
2569
# File 'lib/google/apis/redis_v1beta1/classes.rb', line 2567

def redis_configs
  @redis_configs
end

#redis_versionString

Optional. The version of Redis software. If not provided, latest supported version will be used. Currently, the supported values are: * REDIS_3_2 for Redis 3.2 compatibility * REDIS_4_0 for Redis 4.0 compatibility (default) * REDIS_5_0 for Redis 5.0 compatibility * REDIS_6_X for Redis 6.x compatibility * REDIS_7_0 for Redis 7.0 compatibility Corresponds to the JSON property redisVersion

Returns:

  • (String)


2576
2577
2578
# File 'lib/google/apis/redis_v1beta1/classes.rb', line 2576

def redis_version
  @redis_version
end

#replica_countFixnum

Optional. The number of replica nodes. The valid range for the Standard Tier with read replicas enabled is [1-5] and defaults to 2. If read replicas are not enabled for a Standard Tier instance, the only valid value is 1 and the default is 1. The valid value for basic tier is 0 and the default is also 0. Corresponds to the JSON property replicaCount

Returns:

  • (Fixnum)


2584
2585
2586
# File 'lib/google/apis/redis_v1beta1/classes.rb', line 2584

def replica_count
  @replica_count
end

#reserved_ip_rangeString

Optional. For DIRECT_PEERING mode, the CIDR range of internal addresses that are reserved for this instance. Range must be unique and non-overlapping with existing subnets in an authorized network. For PRIVATE_SERVICE_ACCESS mode, the name of one allocated IP address ranges associated with this private service access connection. If not provided, the service will choose an unused / 29 block, for example, 10.0.0.0/29 or 192.168.0.0/29. For READ_REPLICAS_ENABLED the default block size is /28. Corresponds to the JSON property reservedIpRange

Returns:

  • (String)


2595
2596
2597
# File 'lib/google/apis/redis_v1beta1/classes.rb', line 2595

def reserved_ip_range
  @reserved_ip_range
end

#satisfies_pziBoolean Also known as: satisfies_pzi?

Optional. Output only. Reserved for future use. Corresponds to the JSON property satisfiesPzi

Returns:

  • (Boolean)


2600
2601
2602
# File 'lib/google/apis/redis_v1beta1/classes.rb', line 2600

def satisfies_pzi
  @satisfies_pzi
end

#satisfies_pzsBoolean Also known as: satisfies_pzs?

Optional. Output only. Reserved for future use. Corresponds to the JSON property satisfiesPzs

Returns:

  • (Boolean)


2606
2607
2608
# File 'lib/google/apis/redis_v1beta1/classes.rb', line 2606

def satisfies_pzs
  @satisfies_pzs
end

#secondary_ip_rangeString

Optional. Additional IP range for node placement. Required when enabling read replicas on an existing instance. For DIRECT_PEERING mode value must be a CIDR range of size /28, or "auto". For PRIVATE_SERVICE_ACCESS mode value must be the name of an allocated address range associated with the private service access connection, or "auto". Corresponds to the JSON property secondaryIpRange

Returns:

  • (String)


2616
2617
2618
# File 'lib/google/apis/redis_v1beta1/classes.rb', line 2616

def secondary_ip_range
  @secondary_ip_range
end

#server_ca_certsArray<Google::Apis::RedisV1beta1::TlsCertificate>

Output only. List of server CA certificates for the instance. Corresponds to the JSON property serverCaCerts



2621
2622
2623
# File 'lib/google/apis/redis_v1beta1/classes.rb', line 2621

def server_ca_certs
  @server_ca_certs
end

#stateString

Output only. The current state of this instance. Corresponds to the JSON property state

Returns:

  • (String)


2626
2627
2628
# File 'lib/google/apis/redis_v1beta1/classes.rb', line 2626

def state
  @state
end

#status_messageString

Output only. Additional information about the current status of this instance, if available. Corresponds to the JSON property statusMessage

Returns:

  • (String)


2632
2633
2634
# File 'lib/google/apis/redis_v1beta1/classes.rb', line 2632

def status_message
  @status_message
end

#suspension_reasonsArray<String>

Optional. reasons that causes instance in "SUSPENDED" state. Corresponds to the JSON property suspensionReasons

Returns:

  • (Array<String>)


2637
2638
2639
# File 'lib/google/apis/redis_v1beta1/classes.rb', line 2637

def suspension_reasons
  @suspension_reasons
end

#tagsHash<String,String>

Optional. Input only. Immutable. Tag keys/values directly bound to this resource. For example: "123/environment": "production", "123/costCenter": " marketing" Corresponds to the JSON property tags

Returns:

  • (Hash<String,String>)


2644
2645
2646
# File 'lib/google/apis/redis_v1beta1/classes.rb', line 2644

def tags
  @tags
end

#tierString

Required. The service tier of the instance. Corresponds to the JSON property tier

Returns:

  • (String)


2649
2650
2651
# File 'lib/google/apis/redis_v1beta1/classes.rb', line 2649

def tier
  @tier
end

#transit_encryption_modeString

Optional. The TLS mode of the Redis instance. If not provided, TLS is disabled for the instance. Corresponds to the JSON property transitEncryptionMode

Returns:

  • (String)


2655
2656
2657
# File 'lib/google/apis/redis_v1beta1/classes.rb', line 2655

def transit_encryption_mode
  @transit_encryption_mode
end

Instance Method Details

#update!(**args) ⇒ Object

Update properties of this object



2662
2663
2664
2665
2666
2667
2668
2669
2670
2671
2672
2673
2674
2675
2676
2677
2678
2679
2680
2681
2682
2683
2684
2685
2686
2687
2688
2689
2690
2691
2692
2693
2694
2695
2696
2697
2698
2699
2700
2701
# File 'lib/google/apis/redis_v1beta1/classes.rb', line 2662

def update!(**args)
  @alternative_location_id = args[:alternative_location_id] if args.key?(:alternative_location_id)
  @auth_enabled = args[:auth_enabled] if args.key?(:auth_enabled)
  @authorized_network = args[:authorized_network] if args.key?(:authorized_network)
  @available_maintenance_versions = args[:available_maintenance_versions] if args.key?(:available_maintenance_versions)
  @connect_mode = args[:connect_mode] if args.key?(:connect_mode)
  @create_time = args[:create_time] if args.key?(:create_time)
  @current_location_id = args[:current_location_id] if args.key?(:current_location_id)
  @customer_managed_key = args[:customer_managed_key] if args.key?(:customer_managed_key)
  @display_name = args[:display_name] if args.key?(:display_name)
  @host = args[:host] if args.key?(:host)
  @labels = args[:labels] if args.key?(:labels)
  @location_id = args[:location_id] if args.key?(:location_id)
  @maintenance_policy = args[:maintenance_policy] if args.key?(:maintenance_policy)
  @maintenance_schedule = args[:maintenance_schedule] if args.key?(:maintenance_schedule)
  @maintenance_version = args[:maintenance_version] if args.key?(:maintenance_version)
  @memory_size_gb = args[:memory_size_gb] if args.key?(:memory_size_gb)
  @name = args[:name] if args.key?(:name)
  @nodes = args[:nodes] if args.key?(:nodes)
  @persistence_config = args[:persistence_config] if args.key?(:persistence_config)
  @persistence_iam_identity = args[:persistence_iam_identity] if args.key?(:persistence_iam_identity)
  @port = args[:port] if args.key?(:port)
  @read_endpoint = args[:read_endpoint] if args.key?(:read_endpoint)
  @read_endpoint_port = args[:read_endpoint_port] if args.key?(:read_endpoint_port)
  @read_replicas_mode = args[:read_replicas_mode] if args.key?(:read_replicas_mode)
  @redis_configs = args[:redis_configs] if args.key?(:redis_configs)
  @redis_version = args[:redis_version] if args.key?(:redis_version)
  @replica_count = args[:replica_count] if args.key?(:replica_count)
  @reserved_ip_range = args[:reserved_ip_range] if args.key?(:reserved_ip_range)
  @satisfies_pzi = args[:satisfies_pzi] if args.key?(:satisfies_pzi)
  @satisfies_pzs = args[:satisfies_pzs] if args.key?(:satisfies_pzs)
  @secondary_ip_range = args[:secondary_ip_range] if args.key?(:secondary_ip_range)
  @server_ca_certs = args[:server_ca_certs] if args.key?(:server_ca_certs)
  @state = args[:state] if args.key?(:state)
  @status_message = args[:status_message] if args.key?(:status_message)
  @suspension_reasons = args[:suspension_reasons] if args.key?(:suspension_reasons)
  @tags = args[:tags] if args.key?(:tags)
  @tier = args[:tier] if args.key?(:tier)
  @transit_encryption_mode = args[:transit_encryption_mode] if args.key?(:transit_encryption_mode)
end