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:



621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
# File 'proto_docs/google/cloud/memorystore/v1/memorystore.rb', line 621

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.



621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
# File 'proto_docs/google/cloud/memorystore/v1/memorystore.rb', line 621

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:



621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
# File 'proto_docs/google/cloud/memorystore/v1/memorystore.rb', line 621

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:



621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
# File 'proto_docs/google/cloud/memorystore/v1/memorystore.rb', line 621

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:



621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
# File 'proto_docs/google/cloud/memorystore/v1/memorystore.rb', line 621

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