Class: Google::Cloud::Memorystore::V1::CrossInstanceReplicationConfig

Inherits:
Object
  • Object
show all
Extended by:
Protobuf::MessageExts::ClassMethods
Includes:
Protobuf::MessageExts
Defined in:
proto_docs/google/cloud/memorystore/v1/memorystore.rb

Overview

Cross instance replication config.

Defined Under Namespace

Modules: InstanceRole Classes: Membership, RemoteInstance

Instance Attribute Summary collapse

Instance Attribute Details

#instance_role::Google::Cloud::Memorystore::V1::CrossInstanceReplicationConfig::InstanceRole

Returns Required. The role of the instance in cross instance replication.

Returns:



568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
# File 'proto_docs/google/cloud/memorystore/v1/memorystore.rb', line 568

class CrossInstanceReplicationConfig
  include ::Google::Protobuf::MessageExts
  extend ::Google::Protobuf::MessageExts::ClassMethods

  # Details of the remote instance associated with this instance in a cross
  # instance replication setup.
  # @!attribute [rw] instance
  #   @return [::String]
  #     Optional. The full resource path of the remote instance in
  #     the format: projects/<project>/locations/<region>/instances/<instance-id>
  # @!attribute [r] uid
  #   @return [::String]
  #     Output only. The unique identifier of the remote instance.
  class RemoteInstance
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # An output only view of all the member instances participating in the cross
  # instance replication.
  # @!attribute [r] primary_instance
  #   @return [::Google::Cloud::Memorystore::V1::CrossInstanceReplicationConfig::RemoteInstance]
  #     Output only. The primary instance that acts as the source of replication
  #     for the secondary instances.
  # @!attribute [r] secondary_instances
  #   @return [::Array<::Google::Cloud::Memorystore::V1::CrossInstanceReplicationConfig::RemoteInstance>]
  #     Output only. The list of secondary instances replicating from the primary
  #     instance.
  class Membership
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # The role of the instance in cross instance replication.
  module InstanceRole
    # instance role is not set.
    # The behavior is equivalent to NONE.
    INSTANCE_ROLE_UNSPECIFIED = 0

    # This instance does not participate in cross instance replication. It is
    # an independent instance and does not replicate to or from any other
    # instances.
    NONE = 1

    # A instance that allows both reads and writes. Any data written to this
    # instance is also replicated to the attached secondary instances.
    PRIMARY = 2

    # A instance that allows only reads and replicates data from a primary
    # instance.
    SECONDARY = 3
  end
end

#membership::Google::Cloud::Memorystore::V1::CrossInstanceReplicationConfig::Membership (readonly)

Returns Output only. An output only view of all the member instances participating in the cross instance replication. This view will be provided by every member instance irrespective of its instance role(primary or secondary).

A primary instance can provide information about all the secondary instances replicating from it. However, a secondary instance only knows about the primary instance from which it is replicating. However, for scenarios, where the primary instance is unavailable(e.g. regional outage), a Getinstance request can be sent to any other member instance and this field will list all the member instances participating in cross instance replication.

Returns:

  • (::Google::Cloud::Memorystore::V1::CrossInstanceReplicationConfig::Membership)

    Output only. An output only view of all the member instances participating in the cross instance replication. This view will be provided by every member instance irrespective of its instance role(primary or secondary).

    A primary instance can provide information about all the secondary instances replicating from it. However, a secondary instance only knows about the primary instance from which it is replicating. However, for scenarios, where the primary instance is unavailable(e.g. regional outage), a Getinstance request can be sent to any other member instance and this field will list all the member instances participating in cross instance replication.



568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
# File 'proto_docs/google/cloud/memorystore/v1/memorystore.rb', line 568

class CrossInstanceReplicationConfig
  include ::Google::Protobuf::MessageExts
  extend ::Google::Protobuf::MessageExts::ClassMethods

  # Details of the remote instance associated with this instance in a cross
  # instance replication setup.
  # @!attribute [rw] instance
  #   @return [::String]
  #     Optional. The full resource path of the remote instance in
  #     the format: projects/<project>/locations/<region>/instances/<instance-id>
  # @!attribute [r] uid
  #   @return [::String]
  #     Output only. The unique identifier of the remote instance.
  class RemoteInstance
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # An output only view of all the member instances participating in the cross
  # instance replication.
  # @!attribute [r] primary_instance
  #   @return [::Google::Cloud::Memorystore::V1::CrossInstanceReplicationConfig::RemoteInstance]
  #     Output only. The primary instance that acts as the source of replication
  #     for the secondary instances.
  # @!attribute [r] secondary_instances
  #   @return [::Array<::Google::Cloud::Memorystore::V1::CrossInstanceReplicationConfig::RemoteInstance>]
  #     Output only. The list of secondary instances replicating from the primary
  #     instance.
  class Membership
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # The role of the instance in cross instance replication.
  module InstanceRole
    # instance role is not set.
    # The behavior is equivalent to NONE.
    INSTANCE_ROLE_UNSPECIFIED = 0

    # This instance does not participate in cross instance replication. It is
    # an independent instance and does not replicate to or from any other
    # instances.
    NONE = 1

    # A instance that allows both reads and writes. Any data written to this
    # instance is also replicated to the attached secondary instances.
    PRIMARY = 2

    # A instance that allows only reads and replicates data from a primary
    # instance.
    SECONDARY = 3
  end
end

#primary_instance::Google::Cloud::Memorystore::V1::CrossInstanceReplicationConfig::RemoteInstance

Returns Optional. Details of the primary instance that is used as the replication source for this secondary instance.

This field is only set for a secondary instance.

Returns:



568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
# File 'proto_docs/google/cloud/memorystore/v1/memorystore.rb', line 568

class CrossInstanceReplicationConfig
  include ::Google::Protobuf::MessageExts
  extend ::Google::Protobuf::MessageExts::ClassMethods

  # Details of the remote instance associated with this instance in a cross
  # instance replication setup.
  # @!attribute [rw] instance
  #   @return [::String]
  #     Optional. The full resource path of the remote instance in
  #     the format: projects/<project>/locations/<region>/instances/<instance-id>
  # @!attribute [r] uid
  #   @return [::String]
  #     Output only. The unique identifier of the remote instance.
  class RemoteInstance
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # An output only view of all the member instances participating in the cross
  # instance replication.
  # @!attribute [r] primary_instance
  #   @return [::Google::Cloud::Memorystore::V1::CrossInstanceReplicationConfig::RemoteInstance]
  #     Output only. The primary instance that acts as the source of replication
  #     for the secondary instances.
  # @!attribute [r] secondary_instances
  #   @return [::Array<::Google::Cloud::Memorystore::V1::CrossInstanceReplicationConfig::RemoteInstance>]
  #     Output only. The list of secondary instances replicating from the primary
  #     instance.
  class Membership
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # The role of the instance in cross instance replication.
  module InstanceRole
    # instance role is not set.
    # The behavior is equivalent to NONE.
    INSTANCE_ROLE_UNSPECIFIED = 0

    # This instance does not participate in cross instance replication. It is
    # an independent instance and does not replicate to or from any other
    # instances.
    NONE = 1

    # A instance that allows both reads and writes. Any data written to this
    # instance is also replicated to the attached secondary instances.
    PRIMARY = 2

    # A instance that allows only reads and replicates data from a primary
    # instance.
    SECONDARY = 3
  end
end

#secondary_instances::Array<::Google::Cloud::Memorystore::V1::CrossInstanceReplicationConfig::RemoteInstance>

Returns Optional. List of secondary instances that are replicating from this primary instance.

This field is only set for a primary instance.

Returns:



568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
# File 'proto_docs/google/cloud/memorystore/v1/memorystore.rb', line 568

class CrossInstanceReplicationConfig
  include ::Google::Protobuf::MessageExts
  extend ::Google::Protobuf::MessageExts::ClassMethods

  # Details of the remote instance associated with this instance in a cross
  # instance replication setup.
  # @!attribute [rw] instance
  #   @return [::String]
  #     Optional. The full resource path of the remote instance in
  #     the format: projects/<project>/locations/<region>/instances/<instance-id>
  # @!attribute [r] uid
  #   @return [::String]
  #     Output only. The unique identifier of the remote instance.
  class RemoteInstance
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # An output only view of all the member instances participating in the cross
  # instance replication.
  # @!attribute [r] primary_instance
  #   @return [::Google::Cloud::Memorystore::V1::CrossInstanceReplicationConfig::RemoteInstance]
  #     Output only. The primary instance that acts as the source of replication
  #     for the secondary instances.
  # @!attribute [r] secondary_instances
  #   @return [::Array<::Google::Cloud::Memorystore::V1::CrossInstanceReplicationConfig::RemoteInstance>]
  #     Output only. The list of secondary instances replicating from the primary
  #     instance.
  class Membership
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # The role of the instance in cross instance replication.
  module InstanceRole
    # instance role is not set.
    # The behavior is equivalent to NONE.
    INSTANCE_ROLE_UNSPECIFIED = 0

    # This instance does not participate in cross instance replication. It is
    # an independent instance and does not replicate to or from any other
    # instances.
    NONE = 1

    # A instance that allows both reads and writes. Any data written to this
    # instance is also replicated to the attached secondary instances.
    PRIMARY = 2

    # A instance that allows only reads and replicates data from a primary
    # instance.
    SECONDARY = 3
  end
end

#update_time::Google::Protobuf::Timestamp (readonly)

Returns Output only. The last time cross instance replication config was updated.

Returns:



568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
# File 'proto_docs/google/cloud/memorystore/v1/memorystore.rb', line 568

class CrossInstanceReplicationConfig
  include ::Google::Protobuf::MessageExts
  extend ::Google::Protobuf::MessageExts::ClassMethods

  # Details of the remote instance associated with this instance in a cross
  # instance replication setup.
  # @!attribute [rw] instance
  #   @return [::String]
  #     Optional. The full resource path of the remote instance in
  #     the format: projects/<project>/locations/<region>/instances/<instance-id>
  # @!attribute [r] uid
  #   @return [::String]
  #     Output only. The unique identifier of the remote instance.
  class RemoteInstance
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # An output only view of all the member instances participating in the cross
  # instance replication.
  # @!attribute [r] primary_instance
  #   @return [::Google::Cloud::Memorystore::V1::CrossInstanceReplicationConfig::RemoteInstance]
  #     Output only. The primary instance that acts as the source of replication
  #     for the secondary instances.
  # @!attribute [r] secondary_instances
  #   @return [::Array<::Google::Cloud::Memorystore::V1::CrossInstanceReplicationConfig::RemoteInstance>]
  #     Output only. The list of secondary instances replicating from the primary
  #     instance.
  class Membership
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # The role of the instance in cross instance replication.
  module InstanceRole
    # instance role is not set.
    # The behavior is equivalent to NONE.
    INSTANCE_ROLE_UNSPECIFIED = 0

    # This instance does not participate in cross instance replication. It is
    # an independent instance and does not replicate to or from any other
    # instances.
    NONE = 1

    # A instance that allows both reads and writes. Any data written to this
    # instance is also replicated to the attached secondary instances.
    PRIMARY = 2

    # A instance that allows only reads and replicates data from a primary
    # instance.
    SECONDARY = 3
  end
end