google-cloud-memorystore-v1 1.9.0 → 1.10.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 7ced67cb374fc1286af1c50ef47e90529c54a26080ad8e1cfc67706ce1edb93a
4
- data.tar.gz: f360b9b63c2ff6dd296e4a53c872683e7237b3656e8d5cd6e16adb250f74b034
3
+ metadata.gz: 59f4f92cd0942a56dc9b73212633bfdbe846e7a8f756b1f84c4a82b51deca6a4
4
+ data.tar.gz: bb100937e2db39c8bcba1c789938f77b63aaf8d6f1d0f783d8fd2bfe56a354a3
5
5
  SHA512:
6
- metadata.gz: '0080bcf2250b6a445aa6403397bb580e17e7c24a45418cc891f934c926fd00182ccbaf82beaa43fe6d9532c91cfd0b602157f2149cdef3551df030546243bdc7'
7
- data.tar.gz: ebd9a4fa134c94332795cd6b747c26d0fa017c0ed73f42b01d2269a0c6fb5b55c28f81863f3e46435811c85563521950b5e56e3b1a24cf9eb39ef18535d5c9ff
6
+ metadata.gz: a64a4d0a02c34c25fae85ef44436ef5b77ac6a44e6beec5bda05c4c2a1b84a7b27a084e6b2c2e150329636a067d37ed674fbf9839a53a3f054c52dfef8e820b3
7
+ data.tar.gz: fb62aef6ea69d6d698e46aad60afd9cfc070db75caee03a28fbe53380ff77aad3d4807e8c77f5b1f0b96c0c4364de4b6039360cb8c023e24ba092209022623e0
@@ -1073,11 +1073,11 @@ module Google
1073
1073
  # If not specified, a default value of 1000 will be used by the service.
1074
1074
  # Regardless of the page_size value, the response may include a partial list
1075
1075
  # and a caller should only rely on response's
1076
- # {::Google::Cloud::Memorystore::V1::ListBackupCollectionsResponse#next_page_token `next_page_token`}
1076
+ # `next_page_token`
1077
1077
  # to determine if there are more clusters left to be queried.
1078
1078
  # @param page_token [::String]
1079
1079
  # Optional. The `next_page_token` value returned from a previous
1080
- # [ListBackupCollections] request, if any.
1080
+ # `ListBackupCollections` request, if any.
1081
1081
  #
1082
1082
  # @yield [response, operation] Access the result along with the RPC operation
1083
1083
  # @yieldparam response [::Gapic::PagedEnumerable<::Google::Cloud::Memorystore::V1::BackupCollection>]
@@ -1263,11 +1263,11 @@ module Google
1263
1263
  # If not specified, a default value of 1000 will be used by the service.
1264
1264
  # Regardless of the page_size value, the response may include a partial list
1265
1265
  # and a caller should only rely on response's
1266
- # {::Google::Cloud::Memorystore::V1::ListBackupsResponse#next_page_token `next_page_token`}
1266
+ # `next_page_token`
1267
1267
  # to determine if there are more clusters left to be queried.
1268
1268
  # @param page_token [::String]
1269
1269
  # Optional. The `next_page_token` value returned from a previous
1270
- # [ListBackupCollections] request, if any.
1270
+ # `ListBackupCollections` request, if any.
1271
1271
  #
1272
1272
  # @yield [response, operation] Access the result along with the RPC operation
1273
1273
  # @yieldparam response [::Gapic::PagedEnumerable<::Google::Cloud::Memorystore::V1::Backup>]
@@ -1732,6 +1732,215 @@ module Google
1732
1732
  raise ::Google::Cloud::Error.from_error(e)
1733
1733
  end
1734
1734
 
1735
+ ##
1736
+ # Initiates the migration of a source instance to the target Memorystore
1737
+ # instance.
1738
+ #
1739
+ # After the successful completion of this operation, the target instance
1740
+ # will:
1741
+ # 1. Set up replication with the source instance and replicate any writes to
1742
+ # the source instance.
1743
+ # 2. Only allow reads.
1744
+ #
1745
+ # @overload start_migration(request, options = nil)
1746
+ # Pass arguments to `start_migration` via a request object, either of type
1747
+ # {::Google::Cloud::Memorystore::V1::StartMigrationRequest} or an equivalent Hash.
1748
+ #
1749
+ # @param request [::Google::Cloud::Memorystore::V1::StartMigrationRequest, ::Hash]
1750
+ # A request object representing the call parameters. Required. To specify no
1751
+ # parameters, or to keep all the default parameter values, pass an empty Hash.
1752
+ # @param options [::Gapic::CallOptions, ::Hash]
1753
+ # Overrides the default settings for this call, e.g, timeout, retries, etc. Optional.
1754
+ #
1755
+ # @overload start_migration(self_managed_source: nil, name: nil)
1756
+ # Pass arguments to `start_migration` via keyword arguments. Note that at
1757
+ # least one keyword argument is required. To specify no parameters, or to keep all
1758
+ # the default parameter values, pass an empty Hash as a request object (see above).
1759
+ #
1760
+ # @param self_managed_source [::Google::Cloud::Memorystore::V1::SelfManagedSource, ::Hash]
1761
+ # Required. Configuration for migrating from a self-managed Valkey/Redis
1762
+ # instance
1763
+ # @param name [::String]
1764
+ # Required. The resource name of the instance to start migration on.
1765
+ # Format: projects/\\{project}/locations/\\{location}/instances/\\{instance}
1766
+ #
1767
+ # @yield [response, operation] Access the result along with the RPC operation
1768
+ # @yieldparam response [::Gapic::Operation]
1769
+ # @yieldparam operation [::GRPC::ActiveCall::Operation]
1770
+ #
1771
+ # @return [::Gapic::Operation]
1772
+ #
1773
+ # @raise [::Google::Cloud::Error] if the RPC is aborted.
1774
+ #
1775
+ # @example Basic example
1776
+ # require "google/cloud/memorystore/v1"
1777
+ #
1778
+ # # Create a client object. The client can be reused for multiple calls.
1779
+ # client = Google::Cloud::Memorystore::V1::Memorystore::Client.new
1780
+ #
1781
+ # # Create a request. To set request fields, pass in keyword arguments.
1782
+ # request = Google::Cloud::Memorystore::V1::StartMigrationRequest.new
1783
+ #
1784
+ # # Call the start_migration method.
1785
+ # result = client.start_migration request
1786
+ #
1787
+ # # The returned object is of type Gapic::Operation. You can use it to
1788
+ # # check the status of an operation, cancel it, or wait for results.
1789
+ # # Here is how to wait for a response.
1790
+ # result.wait_until_done! timeout: 60
1791
+ # if result.response?
1792
+ # p result.response
1793
+ # else
1794
+ # puts "No response received."
1795
+ # end
1796
+ #
1797
+ def start_migration request, options = nil
1798
+ raise ::ArgumentError, "request must be provided" if request.nil?
1799
+
1800
+ request = ::Gapic::Protobuf.coerce request, to: ::Google::Cloud::Memorystore::V1::StartMigrationRequest
1801
+
1802
+ # Converts hash and nil to an options object
1803
+ options = ::Gapic::CallOptions.new(**options.to_h) if options.respond_to? :to_h
1804
+
1805
+ # Customize the options with defaults
1806
+ metadata = @config.rpcs.start_migration.metadata.to_h
1807
+
1808
+ # Set x-goog-api-client, x-goog-user-project and x-goog-api-version headers
1809
+ metadata[:"x-goog-api-client"] ||= ::Gapic::Headers.x_goog_api_client \
1810
+ lib_name: @config.lib_name, lib_version: @config.lib_version,
1811
+ gapic_version: ::Google::Cloud::Memorystore::V1::VERSION
1812
+ metadata[:"x-goog-api-version"] = API_VERSION unless API_VERSION.empty?
1813
+ metadata[:"x-goog-user-project"] = @quota_project_id if @quota_project_id
1814
+
1815
+ header_params = {}
1816
+ if request.name
1817
+ header_params["name"] = request.name
1818
+ end
1819
+
1820
+ request_params_header = header_params.map { |k, v| "#{k}=#{v}" }.join("&")
1821
+ metadata[:"x-goog-request-params"] ||= request_params_header
1822
+
1823
+ options.apply_defaults timeout: @config.rpcs.start_migration.timeout,
1824
+ metadata: metadata,
1825
+ retry_policy: @config.rpcs.start_migration.retry_policy
1826
+
1827
+ options.apply_defaults timeout: @config.timeout,
1828
+ metadata: @config.metadata,
1829
+ retry_policy: @config.retry_policy
1830
+
1831
+ @memorystore_stub.call_rpc :start_migration, request, options: options do |response, operation|
1832
+ response = ::Gapic::Operation.new response, @operations_client, options: options
1833
+ yield response, operation if block_given?
1834
+ throw :response, response
1835
+ end
1836
+ rescue ::GRPC::BadStatus => e
1837
+ raise ::Google::Cloud::Error.from_error(e)
1838
+ end
1839
+
1840
+ ##
1841
+ # Finalizes the migration process.
1842
+ #
1843
+ # After the successful completion of this operation, the target instance
1844
+ # will:
1845
+ # 1. Stop replicating from the source instance.
1846
+ # 2. Allow both reads and writes.
1847
+ #
1848
+ # @overload finish_migration(request, options = nil)
1849
+ # Pass arguments to `finish_migration` via a request object, either of type
1850
+ # {::Google::Cloud::Memorystore::V1::FinishMigrationRequest} or an equivalent Hash.
1851
+ #
1852
+ # @param request [::Google::Cloud::Memorystore::V1::FinishMigrationRequest, ::Hash]
1853
+ # A request object representing the call parameters. Required. To specify no
1854
+ # parameters, or to keep all the default parameter values, pass an empty Hash.
1855
+ # @param options [::Gapic::CallOptions, ::Hash]
1856
+ # Overrides the default settings for this call, e.g, timeout, retries, etc. Optional.
1857
+ #
1858
+ # @overload finish_migration(name: nil, force: nil)
1859
+ # Pass arguments to `finish_migration` via keyword arguments. Note that at
1860
+ # least one keyword argument is required. To specify no parameters, or to keep all
1861
+ # the default parameter values, pass an empty Hash as a request object (see above).
1862
+ #
1863
+ # @param name [::String]
1864
+ # Required. The resource name of the instance to finalize migration on.
1865
+ # Format: projects/\\{project}/locations/\\{location}/instances/\\{instance}
1866
+ # @param force [::Boolean]
1867
+ # Optional. By default, the `FinishMigration` operation ensures the target
1868
+ # replication offset to catch up to the source offset as of the time of the
1869
+ # call. Set this field to `true` to bypass this offset verification check.
1870
+ #
1871
+ # @yield [response, operation] Access the result along with the RPC operation
1872
+ # @yieldparam response [::Gapic::Operation]
1873
+ # @yieldparam operation [::GRPC::ActiveCall::Operation]
1874
+ #
1875
+ # @return [::Gapic::Operation]
1876
+ #
1877
+ # @raise [::Google::Cloud::Error] if the RPC is aborted.
1878
+ #
1879
+ # @example Basic example
1880
+ # require "google/cloud/memorystore/v1"
1881
+ #
1882
+ # # Create a client object. The client can be reused for multiple calls.
1883
+ # client = Google::Cloud::Memorystore::V1::Memorystore::Client.new
1884
+ #
1885
+ # # Create a request. To set request fields, pass in keyword arguments.
1886
+ # request = Google::Cloud::Memorystore::V1::FinishMigrationRequest.new
1887
+ #
1888
+ # # Call the finish_migration method.
1889
+ # result = client.finish_migration request
1890
+ #
1891
+ # # The returned object is of type Gapic::Operation. You can use it to
1892
+ # # check the status of an operation, cancel it, or wait for results.
1893
+ # # Here is how to wait for a response.
1894
+ # result.wait_until_done! timeout: 60
1895
+ # if result.response?
1896
+ # p result.response
1897
+ # else
1898
+ # puts "No response received."
1899
+ # end
1900
+ #
1901
+ def finish_migration request, options = nil
1902
+ raise ::ArgumentError, "request must be provided" if request.nil?
1903
+
1904
+ request = ::Gapic::Protobuf.coerce request, to: ::Google::Cloud::Memorystore::V1::FinishMigrationRequest
1905
+
1906
+ # Converts hash and nil to an options object
1907
+ options = ::Gapic::CallOptions.new(**options.to_h) if options.respond_to? :to_h
1908
+
1909
+ # Customize the options with defaults
1910
+ metadata = @config.rpcs.finish_migration.metadata.to_h
1911
+
1912
+ # Set x-goog-api-client, x-goog-user-project and x-goog-api-version headers
1913
+ metadata[:"x-goog-api-client"] ||= ::Gapic::Headers.x_goog_api_client \
1914
+ lib_name: @config.lib_name, lib_version: @config.lib_version,
1915
+ gapic_version: ::Google::Cloud::Memorystore::V1::VERSION
1916
+ metadata[:"x-goog-api-version"] = API_VERSION unless API_VERSION.empty?
1917
+ metadata[:"x-goog-user-project"] = @quota_project_id if @quota_project_id
1918
+
1919
+ header_params = {}
1920
+ if request.name
1921
+ header_params["name"] = request.name
1922
+ end
1923
+
1924
+ request_params_header = header_params.map { |k, v| "#{k}=#{v}" }.join("&")
1925
+ metadata[:"x-goog-request-params"] ||= request_params_header
1926
+
1927
+ options.apply_defaults timeout: @config.rpcs.finish_migration.timeout,
1928
+ metadata: metadata,
1929
+ retry_policy: @config.rpcs.finish_migration.retry_policy
1930
+
1931
+ options.apply_defaults timeout: @config.timeout,
1932
+ metadata: @config.metadata,
1933
+ retry_policy: @config.retry_policy
1934
+
1935
+ @memorystore_stub.call_rpc :finish_migration, request, options: options do |response, operation|
1936
+ response = ::Gapic::Operation.new response, @operations_client, options: options
1937
+ yield response, operation if block_given?
1938
+ throw :response, response
1939
+ end
1940
+ rescue ::GRPC::BadStatus => e
1941
+ raise ::Google::Cloud::Error.from_error(e)
1942
+ end
1943
+
1735
1944
  ##
1736
1945
  # Configuration class for the Memorystore API.
1737
1946
  #
@@ -1992,6 +2201,16 @@ module Google
1992
2201
  # @return [::Gapic::Config::Method]
1993
2202
  #
1994
2203
  attr_reader :backup_instance
2204
+ ##
2205
+ # RPC-specific configuration for `start_migration`
2206
+ # @return [::Gapic::Config::Method]
2207
+ #
2208
+ attr_reader :start_migration
2209
+ ##
2210
+ # RPC-specific configuration for `finish_migration`
2211
+ # @return [::Gapic::Config::Method]
2212
+ #
2213
+ attr_reader :finish_migration
1995
2214
 
1996
2215
  # @private
1997
2216
  def initialize parent_rpcs = nil
@@ -2025,6 +2244,10 @@ module Google
2025
2244
  @export_backup = ::Gapic::Config::Method.new export_backup_config
2026
2245
  backup_instance_config = parent_rpcs.backup_instance if parent_rpcs.respond_to? :backup_instance
2027
2246
  @backup_instance = ::Gapic::Config::Method.new backup_instance_config
2247
+ start_migration_config = parent_rpcs.start_migration if parent_rpcs.respond_to? :start_migration
2248
+ @start_migration = ::Gapic::Config::Method.new start_migration_config
2249
+ finish_migration_config = parent_rpcs.finish_migration if parent_rpcs.respond_to? :finish_migration
2250
+ @finish_migration = ::Gapic::Config::Method.new finish_migration_config
2028
2251
 
2029
2252
  yield self if block_given?
2030
2253
  end
@@ -26,7 +26,9 @@ module Google
26
26
  # Credentials for the Memorystore API.
27
27
  class Credentials < ::Google::Auth::Credentials
28
28
  self.scope = [
29
- "https://www.googleapis.com/auth/cloud-platform"
29
+ "https://www.googleapis.com/auth/cloud-platform",
30
+ "https://www.googleapis.com/auth/memorystore.read-only",
31
+ "https://www.googleapis.com/auth/memorystore.read-write"
30
32
  ]
31
33
  self.env_vars = [
32
34
  "GOOGLE_CLOUD_CREDENTIALS",
@@ -199,6 +199,25 @@ module Google
199
199
  "projects/#{project}/global/networks/#{network}"
200
200
  end
201
201
 
202
+ ##
203
+ # Create a fully-qualified NetworkAttachment resource string.
204
+ #
205
+ # The resource will be in the following format:
206
+ #
207
+ # `projects/{project}/regions/{region}/networkAttachments/{network_attachment}`
208
+ #
209
+ # @param project [String]
210
+ # @param region [String]
211
+ # @param network_attachment [String]
212
+ #
213
+ # @return [::String]
214
+ def network_attachment_path project:, region:, network_attachment:
215
+ raise ::ArgumentError, "project cannot contain /" if project.to_s.include? "/"
216
+ raise ::ArgumentError, "region cannot contain /" if region.to_s.include? "/"
217
+
218
+ "projects/#{project}/regions/#{region}/networkAttachments/#{network_attachment}"
219
+ end
220
+
202
221
  ##
203
222
  # Create a fully-qualified ServiceAttachment resource string.
204
223
  #
@@ -1011,11 +1011,11 @@ module Google
1011
1011
  # If not specified, a default value of 1000 will be used by the service.
1012
1012
  # Regardless of the page_size value, the response may include a partial list
1013
1013
  # and a caller should only rely on response's
1014
- # {::Google::Cloud::Memorystore::V1::ListBackupCollectionsResponse#next_page_token `next_page_token`}
1014
+ # `next_page_token`
1015
1015
  # to determine if there are more clusters left to be queried.
1016
1016
  # @param page_token [::String]
1017
1017
  # Optional. The `next_page_token` value returned from a previous
1018
- # [ListBackupCollections] request, if any.
1018
+ # `ListBackupCollections` request, if any.
1019
1019
  # @yield [result, operation] Access the result along with the TransportOperation object
1020
1020
  # @yieldparam result [::Gapic::Rest::PagedEnumerable<::Google::Cloud::Memorystore::V1::BackupCollection>]
1021
1021
  # @yieldparam operation [::Gapic::Rest::TransportOperation]
@@ -1187,11 +1187,11 @@ module Google
1187
1187
  # If not specified, a default value of 1000 will be used by the service.
1188
1188
  # Regardless of the page_size value, the response may include a partial list
1189
1189
  # and a caller should only rely on response's
1190
- # {::Google::Cloud::Memorystore::V1::ListBackupsResponse#next_page_token `next_page_token`}
1190
+ # `next_page_token`
1191
1191
  # to determine if there are more clusters left to be queried.
1192
1192
  # @param page_token [::String]
1193
1193
  # Optional. The `next_page_token` value returned from a previous
1194
- # [ListBackupCollections] request, if any.
1194
+ # `ListBackupCollections` request, if any.
1195
1195
  # @yield [result, operation] Access the result along with the TransportOperation object
1196
1196
  # @yieldparam result [::Gapic::Rest::PagedEnumerable<::Google::Cloud::Memorystore::V1::Backup>]
1197
1197
  # @yieldparam operation [::Gapic::Rest::TransportOperation]
@@ -1621,6 +1621,201 @@ module Google
1621
1621
  raise ::Google::Cloud::Error.from_error(e)
1622
1622
  end
1623
1623
 
1624
+ ##
1625
+ # Initiates the migration of a source instance to the target Memorystore
1626
+ # instance.
1627
+ #
1628
+ # After the successful completion of this operation, the target instance
1629
+ # will:
1630
+ # 1. Set up replication with the source instance and replicate any writes to
1631
+ # the source instance.
1632
+ # 2. Only allow reads.
1633
+ #
1634
+ # @overload start_migration(request, options = nil)
1635
+ # Pass arguments to `start_migration` via a request object, either of type
1636
+ # {::Google::Cloud::Memorystore::V1::StartMigrationRequest} or an equivalent Hash.
1637
+ #
1638
+ # @param request [::Google::Cloud::Memorystore::V1::StartMigrationRequest, ::Hash]
1639
+ # A request object representing the call parameters. Required. To specify no
1640
+ # parameters, or to keep all the default parameter values, pass an empty Hash.
1641
+ # @param options [::Gapic::CallOptions, ::Hash]
1642
+ # Overrides the default settings for this call, e.g, timeout, retries etc. Optional.
1643
+ #
1644
+ # @overload start_migration(self_managed_source: nil, name: nil)
1645
+ # Pass arguments to `start_migration` via keyword arguments. Note that at
1646
+ # least one keyword argument is required. To specify no parameters, or to keep all
1647
+ # the default parameter values, pass an empty Hash as a request object (see above).
1648
+ #
1649
+ # @param self_managed_source [::Google::Cloud::Memorystore::V1::SelfManagedSource, ::Hash]
1650
+ # Required. Configuration for migrating from a self-managed Valkey/Redis
1651
+ # instance
1652
+ # @param name [::String]
1653
+ # Required. The resource name of the instance to start migration on.
1654
+ # Format: projects/\\{project}/locations/\\{location}/instances/\\{instance}
1655
+ # @yield [result, operation] Access the result along with the TransportOperation object
1656
+ # @yieldparam result [::Gapic::Operation]
1657
+ # @yieldparam operation [::Gapic::Rest::TransportOperation]
1658
+ #
1659
+ # @return [::Gapic::Operation]
1660
+ #
1661
+ # @raise [::Google::Cloud::Error] if the REST call is aborted.
1662
+ #
1663
+ # @example Basic example
1664
+ # require "google/cloud/memorystore/v1"
1665
+ #
1666
+ # # Create a client object. The client can be reused for multiple calls.
1667
+ # client = Google::Cloud::Memorystore::V1::Memorystore::Rest::Client.new
1668
+ #
1669
+ # # Create a request. To set request fields, pass in keyword arguments.
1670
+ # request = Google::Cloud::Memorystore::V1::StartMigrationRequest.new
1671
+ #
1672
+ # # Call the start_migration method.
1673
+ # result = client.start_migration request
1674
+ #
1675
+ # # The returned object is of type Gapic::Operation. You can use it to
1676
+ # # check the status of an operation, cancel it, or wait for results.
1677
+ # # Here is how to wait for a response.
1678
+ # result.wait_until_done! timeout: 60
1679
+ # if result.response?
1680
+ # p result.response
1681
+ # else
1682
+ # puts "No response received."
1683
+ # end
1684
+ #
1685
+ def start_migration request, options = nil
1686
+ raise ::ArgumentError, "request must be provided" if request.nil?
1687
+
1688
+ request = ::Gapic::Protobuf.coerce request, to: ::Google::Cloud::Memorystore::V1::StartMigrationRequest
1689
+
1690
+ # Converts hash and nil to an options object
1691
+ options = ::Gapic::CallOptions.new(**options.to_h) if options.respond_to? :to_h
1692
+
1693
+ # Customize the options with defaults
1694
+ call_metadata = @config.rpcs.start_migration.metadata.to_h
1695
+
1696
+ # Set x-goog-api-client, x-goog-user-project and x-goog-api-version headers
1697
+ call_metadata[:"x-goog-api-client"] ||= ::Gapic::Headers.x_goog_api_client \
1698
+ lib_name: @config.lib_name, lib_version: @config.lib_version,
1699
+ gapic_version: ::Google::Cloud::Memorystore::V1::VERSION,
1700
+ transports_version_send: [:rest]
1701
+
1702
+ call_metadata[:"x-goog-api-version"] = API_VERSION unless API_VERSION.empty?
1703
+ call_metadata[:"x-goog-user-project"] = @quota_project_id if @quota_project_id
1704
+
1705
+ options.apply_defaults timeout: @config.rpcs.start_migration.timeout,
1706
+ metadata: call_metadata,
1707
+ retry_policy: @config.rpcs.start_migration.retry_policy
1708
+
1709
+ options.apply_defaults timeout: @config.timeout,
1710
+ metadata: @config.metadata,
1711
+ retry_policy: @config.retry_policy
1712
+
1713
+ @memorystore_stub.start_migration request, options do |result, operation|
1714
+ result = ::Gapic::Operation.new result, @operations_client, options: options
1715
+ yield result, operation if block_given?
1716
+ throw :response, result
1717
+ end
1718
+ rescue ::Gapic::Rest::Error => e
1719
+ raise ::Google::Cloud::Error.from_error(e)
1720
+ end
1721
+
1722
+ ##
1723
+ # Finalizes the migration process.
1724
+ #
1725
+ # After the successful completion of this operation, the target instance
1726
+ # will:
1727
+ # 1. Stop replicating from the source instance.
1728
+ # 2. Allow both reads and writes.
1729
+ #
1730
+ # @overload finish_migration(request, options = nil)
1731
+ # Pass arguments to `finish_migration` via a request object, either of type
1732
+ # {::Google::Cloud::Memorystore::V1::FinishMigrationRequest} or an equivalent Hash.
1733
+ #
1734
+ # @param request [::Google::Cloud::Memorystore::V1::FinishMigrationRequest, ::Hash]
1735
+ # A request object representing the call parameters. Required. To specify no
1736
+ # parameters, or to keep all the default parameter values, pass an empty Hash.
1737
+ # @param options [::Gapic::CallOptions, ::Hash]
1738
+ # Overrides the default settings for this call, e.g, timeout, retries etc. Optional.
1739
+ #
1740
+ # @overload finish_migration(name: nil, force: nil)
1741
+ # Pass arguments to `finish_migration` via keyword arguments. Note that at
1742
+ # least one keyword argument is required. To specify no parameters, or to keep all
1743
+ # the default parameter values, pass an empty Hash as a request object (see above).
1744
+ #
1745
+ # @param name [::String]
1746
+ # Required. The resource name of the instance to finalize migration on.
1747
+ # Format: projects/\\{project}/locations/\\{location}/instances/\\{instance}
1748
+ # @param force [::Boolean]
1749
+ # Optional. By default, the `FinishMigration` operation ensures the target
1750
+ # replication offset to catch up to the source offset as of the time of the
1751
+ # call. Set this field to `true` to bypass this offset verification check.
1752
+ # @yield [result, operation] Access the result along with the TransportOperation object
1753
+ # @yieldparam result [::Gapic::Operation]
1754
+ # @yieldparam operation [::Gapic::Rest::TransportOperation]
1755
+ #
1756
+ # @return [::Gapic::Operation]
1757
+ #
1758
+ # @raise [::Google::Cloud::Error] if the REST call is aborted.
1759
+ #
1760
+ # @example Basic example
1761
+ # require "google/cloud/memorystore/v1"
1762
+ #
1763
+ # # Create a client object. The client can be reused for multiple calls.
1764
+ # client = Google::Cloud::Memorystore::V1::Memorystore::Rest::Client.new
1765
+ #
1766
+ # # Create a request. To set request fields, pass in keyword arguments.
1767
+ # request = Google::Cloud::Memorystore::V1::FinishMigrationRequest.new
1768
+ #
1769
+ # # Call the finish_migration method.
1770
+ # result = client.finish_migration request
1771
+ #
1772
+ # # The returned object is of type Gapic::Operation. You can use it to
1773
+ # # check the status of an operation, cancel it, or wait for results.
1774
+ # # Here is how to wait for a response.
1775
+ # result.wait_until_done! timeout: 60
1776
+ # if result.response?
1777
+ # p result.response
1778
+ # else
1779
+ # puts "No response received."
1780
+ # end
1781
+ #
1782
+ def finish_migration request, options = nil
1783
+ raise ::ArgumentError, "request must be provided" if request.nil?
1784
+
1785
+ request = ::Gapic::Protobuf.coerce request, to: ::Google::Cloud::Memorystore::V1::FinishMigrationRequest
1786
+
1787
+ # Converts hash and nil to an options object
1788
+ options = ::Gapic::CallOptions.new(**options.to_h) if options.respond_to? :to_h
1789
+
1790
+ # Customize the options with defaults
1791
+ call_metadata = @config.rpcs.finish_migration.metadata.to_h
1792
+
1793
+ # Set x-goog-api-client, x-goog-user-project and x-goog-api-version headers
1794
+ call_metadata[:"x-goog-api-client"] ||= ::Gapic::Headers.x_goog_api_client \
1795
+ lib_name: @config.lib_name, lib_version: @config.lib_version,
1796
+ gapic_version: ::Google::Cloud::Memorystore::V1::VERSION,
1797
+ transports_version_send: [:rest]
1798
+
1799
+ call_metadata[:"x-goog-api-version"] = API_VERSION unless API_VERSION.empty?
1800
+ call_metadata[:"x-goog-user-project"] = @quota_project_id if @quota_project_id
1801
+
1802
+ options.apply_defaults timeout: @config.rpcs.finish_migration.timeout,
1803
+ metadata: call_metadata,
1804
+ retry_policy: @config.rpcs.finish_migration.retry_policy
1805
+
1806
+ options.apply_defaults timeout: @config.timeout,
1807
+ metadata: @config.metadata,
1808
+ retry_policy: @config.retry_policy
1809
+
1810
+ @memorystore_stub.finish_migration request, options do |result, operation|
1811
+ result = ::Gapic::Operation.new result, @operations_client, options: options
1812
+ yield result, operation if block_given?
1813
+ throw :response, result
1814
+ end
1815
+ rescue ::Gapic::Rest::Error => e
1816
+ raise ::Google::Cloud::Error.from_error(e)
1817
+ end
1818
+
1624
1819
  ##
1625
1820
  # Configuration class for the Memorystore REST API.
1626
1821
  #
@@ -1851,6 +2046,16 @@ module Google
1851
2046
  # @return [::Gapic::Config::Method]
1852
2047
  #
1853
2048
  attr_reader :backup_instance
2049
+ ##
2050
+ # RPC-specific configuration for `start_migration`
2051
+ # @return [::Gapic::Config::Method]
2052
+ #
2053
+ attr_reader :start_migration
2054
+ ##
2055
+ # RPC-specific configuration for `finish_migration`
2056
+ # @return [::Gapic::Config::Method]
2057
+ #
2058
+ attr_reader :finish_migration
1854
2059
 
1855
2060
  # @private
1856
2061
  def initialize parent_rpcs = nil
@@ -1884,6 +2089,10 @@ module Google
1884
2089
  @export_backup = ::Gapic::Config::Method.new export_backup_config
1885
2090
  backup_instance_config = parent_rpcs.backup_instance if parent_rpcs.respond_to? :backup_instance
1886
2091
  @backup_instance = ::Gapic::Config::Method.new backup_instance_config
2092
+ start_migration_config = parent_rpcs.start_migration if parent_rpcs.respond_to? :start_migration
2093
+ @start_migration = ::Gapic::Config::Method.new start_migration_config
2094
+ finish_migration_config = parent_rpcs.finish_migration if parent_rpcs.respond_to? :finish_migration
2095
+ @finish_migration = ::Gapic::Config::Method.new finish_migration_config
1887
2096
 
1888
2097
  yield self if block_given?
1889
2098
  end
@@ -673,6 +673,86 @@ module Google
673
673
  end
674
674
  end
675
675
 
676
+ ##
677
+ # Baseline implementation for the start_migration REST call
678
+ #
679
+ # @param request_pb [::Google::Cloud::Memorystore::V1::StartMigrationRequest]
680
+ # A request object representing the call parameters. Required.
681
+ # @param options [::Gapic::CallOptions]
682
+ # Overrides the default settings for this call, e.g, timeout, retries etc. Optional.
683
+ #
684
+ # @yield [result, operation] Access the result along with the TransportOperation object
685
+ # @yieldparam result [::Google::Longrunning::Operation]
686
+ # @yieldparam operation [::Gapic::Rest::TransportOperation]
687
+ #
688
+ # @return [::Google::Longrunning::Operation]
689
+ # A result object deserialized from the server's reply
690
+ def start_migration request_pb, options = nil
691
+ raise ::ArgumentError, "request must be provided" if request_pb.nil?
692
+
693
+ verb, uri, query_string_params, body = ServiceStub.transcode_start_migration_request request_pb
694
+ query_string_params = if query_string_params.any?
695
+ query_string_params.to_h { |p| p.split "=", 2 }
696
+ else
697
+ {}
698
+ end
699
+
700
+ response = @client_stub.make_http_request(
701
+ verb,
702
+ uri: uri,
703
+ body: body || "",
704
+ params: query_string_params,
705
+ method_name: "start_migration",
706
+ options: options
707
+ )
708
+ operation = ::Gapic::Rest::TransportOperation.new response
709
+ result = ::Google::Longrunning::Operation.decode_json response.body, ignore_unknown_fields: true
710
+ catch :response do
711
+ yield result, operation if block_given?
712
+ result
713
+ end
714
+ end
715
+
716
+ ##
717
+ # Baseline implementation for the finish_migration REST call
718
+ #
719
+ # @param request_pb [::Google::Cloud::Memorystore::V1::FinishMigrationRequest]
720
+ # A request object representing the call parameters. Required.
721
+ # @param options [::Gapic::CallOptions]
722
+ # Overrides the default settings for this call, e.g, timeout, retries etc. Optional.
723
+ #
724
+ # @yield [result, operation] Access the result along with the TransportOperation object
725
+ # @yieldparam result [::Google::Longrunning::Operation]
726
+ # @yieldparam operation [::Gapic::Rest::TransportOperation]
727
+ #
728
+ # @return [::Google::Longrunning::Operation]
729
+ # A result object deserialized from the server's reply
730
+ def finish_migration request_pb, options = nil
731
+ raise ::ArgumentError, "request must be provided" if request_pb.nil?
732
+
733
+ verb, uri, query_string_params, body = ServiceStub.transcode_finish_migration_request request_pb
734
+ query_string_params = if query_string_params.any?
735
+ query_string_params.to_h { |p| p.split "=", 2 }
736
+ else
737
+ {}
738
+ end
739
+
740
+ response = @client_stub.make_http_request(
741
+ verb,
742
+ uri: uri,
743
+ body: body || "",
744
+ params: query_string_params,
745
+ method_name: "finish_migration",
746
+ options: options
747
+ )
748
+ operation = ::Gapic::Rest::TransportOperation.new response
749
+ result = ::Google::Longrunning::Operation.decode_json response.body, ignore_unknown_fields: true
750
+ catch :response do
751
+ yield result, operation if block_given?
752
+ result
753
+ end
754
+ end
755
+
676
756
  ##
677
757
  # @private
678
758
  #
@@ -992,6 +1072,50 @@ module Google
992
1072
  )
993
1073
  transcoder.transcode request_pb
994
1074
  end
1075
+
1076
+ ##
1077
+ # @private
1078
+ #
1079
+ # GRPC transcoding helper method for the start_migration REST call
1080
+ #
1081
+ # @param request_pb [::Google::Cloud::Memorystore::V1::StartMigrationRequest]
1082
+ # A request object representing the call parameters. Required.
1083
+ # @return [Array(String, [String, nil], Hash{String => String})]
1084
+ # Uri, Body, Query string parameters
1085
+ def self.transcode_start_migration_request request_pb
1086
+ transcoder = Gapic::Rest::GrpcTranscoder.new
1087
+ .with_bindings(
1088
+ uri_method: :post,
1089
+ uri_template: "/v1/{name}:startMigration",
1090
+ body: "*",
1091
+ matches: [
1092
+ ["name", %r{^projects/[^/]+/locations/[^/]+/instances/[^/]+/?$}, false]
1093
+ ]
1094
+ )
1095
+ transcoder.transcode request_pb
1096
+ end
1097
+
1098
+ ##
1099
+ # @private
1100
+ #
1101
+ # GRPC transcoding helper method for the finish_migration REST call
1102
+ #
1103
+ # @param request_pb [::Google::Cloud::Memorystore::V1::FinishMigrationRequest]
1104
+ # A request object representing the call parameters. Required.
1105
+ # @return [Array(String, [String, nil], Hash{String => String})]
1106
+ # Uri, Body, Query string parameters
1107
+ def self.transcode_finish_migration_request request_pb
1108
+ transcoder = Gapic::Rest::GrpcTranscoder.new
1109
+ .with_bindings(
1110
+ uri_method: :post,
1111
+ uri_template: "/v1/{name}:finishMigration",
1112
+ body: "*",
1113
+ matches: [
1114
+ ["name", %r{^projects/[^/]+/locations/[^/]+/instances/[^/]+/?$}, false]
1115
+ ]
1116
+ )
1117
+ transcoder.transcode request_pb
1118
+ end
995
1119
  end
996
1120
  end
997
1121
  end
@@ -18,7 +18,7 @@ require 'google/type/dayofweek_pb'
18
18
  require 'google/type/timeofday_pb'
19
19
 
20
20
 
21
- descriptor_data = "\n-google/cloud/memorystore/v1/memorystore.proto\x12\x1bgoogle.cloud.memorystore.v1\x1a\x1cgoogle/api/annotations.proto\x1a\x17google/api/client.proto\x1a\x1fgoogle/api/field_behavior.proto\x1a\x1bgoogle/api/field_info.proto\x1a\x19google/api/resource.proto\x1a#google/longrunning/operations.proto\x1a\x1egoogle/protobuf/duration.proto\x1a\x1bgoogle/protobuf/empty.proto\x1a google/protobuf/field_mask.proto\x1a\x1fgoogle/protobuf/timestamp.proto\x1a\x1bgoogle/type/dayofweek.proto\x1a\x1bgoogle/type/timeofday.proto\"\xdb(\n\x08Instance\x12S\n\ngcs_source\x18\x17 \x01(\x0b\x32\x35.google.cloud.memorystore.v1.Instance.GcsBackupSourceB\x06\xe0\x41\x01\xe0\x41\x05H\x00\x12\x62\n\x15managed_backup_source\x18\x18 \x01(\x0b\x32\x39.google.cloud.memorystore.v1.Instance.ManagedBackupSourceB\x06\xe0\x41\x01\xe0\x41\x05H\x00\x12\x11\n\x04name\x18\x01 \x01(\tB\x03\xe0\x41\x08\x12\x34\n\x0b\x63reate_time\x18\x02 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x03\xe0\x41\x03\x12\x34\n\x0bupdate_time\x18\x03 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x03\xe0\x41\x03\x12\x46\n\x06labels\x18\x04 \x03(\x0b\x32\x31.google.cloud.memorystore.v1.Instance.LabelsEntryB\x03\xe0\x41\x01\x12?\n\x05state\x18\x05 \x01(\x0e\x32+.google.cloud.memorystore.v1.Instance.StateB\x03\xe0\x41\x03\x12H\n\nstate_info\x18\x06 \x01(\x0b\x32/.google.cloud.memorystore.v1.Instance.StateInfoB\x03\xe0\x41\x03\x12\x18\n\x03uid\x18\x07 \x01(\tB\x0b\xe0\x41\x03\xe2\x8c\xcf\xd7\x08\x02\x08\x01\x12\x1f\n\rreplica_count\x18\x08 \x01(\x05\x42\x03\xe0\x41\x01H\x01\x88\x01\x01\x12[\n\x12\x61uthorization_mode\x18\t \x01(\x0e\x32\x37.google.cloud.memorystore.v1.Instance.AuthorizationModeB\x06\xe0\x41\x01\xe0\x41\x05\x12\x64\n\x17transit_encryption_mode\x18\n \x01(\x0e\x32;.google.cloud.memorystore.v1.Instance.TransitEncryptionModeB\x06\xe0\x41\x01\xe0\x41\x05\x12\x18\n\x0bshard_count\x18\x0b \x01(\x05\x42\x03\xe0\x41\x01\x12R\n\x13\x64iscovery_endpoints\x18\x0c \x03(\x0b\x32..google.cloud.memorystore.v1.DiscoveryEndpointB\x05\x18\x01\xe0\x41\x03\x12\x46\n\tnode_type\x18\r \x01(\x0e\x32..google.cloud.memorystore.v1.Instance.NodeTypeB\x03\xe0\x41\x01\x12O\n\x12persistence_config\x18\x0e \x01(\x0b\x32..google.cloud.memorystore.v1.PersistenceConfigB\x03\xe0\x41\x01\x12\x1b\n\x0e\x65ngine_version\x18\x0f \x01(\tB\x03\xe0\x41\x01\x12U\n\x0e\x65ngine_configs\x18\x10 \x03(\x0b\x32\x38.google.cloud.memorystore.v1.Instance.EngineConfigsEntryB\x03\xe0\x41\x01\x12\x41\n\x0bnode_config\x18\x11 \x01(\x0b\x32\'.google.cloud.memorystore.v1.NodeConfigB\x03\xe0\x41\x03\x12]\n\x18zone_distribution_config\x18\x12 \x01(\x0b\x32\x33.google.cloud.memorystore.v1.ZoneDistributionConfigB\x06\xe0\x41\x01\xe0\x41\x05\x12-\n\x1b\x64\x65letion_protection_enabled\x18\x13 \x01(\x08\x42\x03\xe0\x41\x01H\x02\x88\x01\x01\x12V\n\x14psc_auto_connections\x18\x14 \x03(\x0b\x32..google.cloud.memorystore.v1.PscAutoConnectionB\x08\x18\x01\xe0\x41\x01\xe0\x41\x05\x12U\n\x16psc_attachment_details\x18\x15 \x03(\x0b\x32\x30.google.cloud.memorystore.v1.PscAttachmentDetailB\x03\xe0\x41\x03\x12N\n\tendpoints\x18\x19 \x03(\x0b\x32\x36.google.cloud.memorystore.v1.Instance.InstanceEndpointB\x03\xe0\x41\x01\x12=\n\x04mode\x18\x1a \x01(\x0e\x32*.google.cloud.memorystore.v1.Instance.ModeB\x03\xe0\x41\x01\x12/\n\x1asimulate_maintenance_event\x18\x1b \x01(\x08\x42\x06\xe0\x41\x01\xe0\x41\x04H\x03\x88\x01\x01\x12+\n\x14ondemand_maintenance\x18\x1c \x01(\x08\x42\x08\x18\x01\xe0\x41\x01\xe0\x41\x04H\x04\x88\x01\x01\x12\"\n\rsatisfies_pzs\x18\x1d \x01(\x08\x42\x06\xe0\x41\x03\xe0\x41\x01H\x05\x88\x01\x01\x12\"\n\rsatisfies_pzi\x18\x1e \x01(\x08\x42\x06\xe0\x41\x03\xe0\x41\x01H\x06\x88\x01\x01\x12O\n\x12maintenance_policy\x18\x1f \x01(\x0b\x32..google.cloud.memorystore.v1.MaintenancePolicyB\x03\xe0\x41\x01\x12S\n\x14maintenance_schedule\x18 \x01(\x0b\x32\x30.google.cloud.memorystore.v1.MaintenanceScheduleB\x03\xe0\x41\x03\x12k\n!cross_instance_replication_config\x18! \x01(\x0b\x32;.google.cloud.memorystore.v1.CrossInstanceReplicationConfigB\x03\xe0\x41\x01\x12;\n)async_instance_endpoints_deletion_enabled\x18, \x01(\x08\x42\x03\xe0\x41\x01H\x07\x88\x01\x01\x12?\n\x07kms_key\x18- \x01(\tB)\xe0\x41\x01\xfa\x41#\n!cloudkms.googleapis.com/CryptoKeyH\x08\x88\x01\x01\x12I\n\x0f\x65ncryption_info\x18. \x01(\x0b\x32+.google.cloud.memorystore.v1.EncryptionInfoB\x03\xe0\x41\x03\x12S\n\x11\x62\x61\x63kup_collection\x18/ \x01(\tB3\xe0\x41\x03\xfa\x41-\n+memorystore.googleapis.com/BackupCollectionH\t\x88\x01\x01\x12X\n\x17\x61utomated_backup_config\x18\x30 \x01(\x0b\x32\x32.google.cloud.memorystore.v1.AutomatedBackupConfigB\x03\xe0\x41\x01\x12%\n\x13maintenance_version\x18\x31 \x01(\tB\x03\xe0\x41\x01H\n\x88\x01\x01\x12/\n\x1d\x65\x66\x66\x65\x63tive_maintenance_version\x18\x32 \x01(\tB\x03\xe0\x41\x03H\x0b\x88\x01\x01\x12+\n\x1e\x61vailable_maintenance_versions\x18\x33 \x03(\tB\x03\xe0\x41\x03\x12.\n\x1c\x61llow_fewer_zones_deployment\x18\x36 \x01(\x08\x42\x08\x18\x01\xe0\x41\x01\xe0\x41\x05\x12W\n\x0eserver_ca_mode\x18\x38 \x01(\x0e\x32\x32.google.cloud.memorystore.v1.Instance.ServerCaModeB\x06\xe0\x41\x01\xe0\x41\x05H\x0c\x88\x01\x01\x12G\n\x0eserver_ca_pool\x18\x39 \x01(\tB*\xe0\x41\x01\xe0\x41\x05\xfa\x41!\n\x1fprivateca.googleapis.com/CaPoolH\r\x88\x01\x01\x12.\n\x19rotate_server_certificate\x18: \x01(\x08\x42\x06\xe0\x41\x01\xe0\x41\x04H\x0e\x88\x01\x01\x1a\xa4\x03\n\tStateInfo\x12V\n\x0bupdate_info\x18\x01 \x01(\x0b\x32:.google.cloud.memorystore.v1.Instance.StateInfo.UpdateInfoB\x03\xe0\x41\x03H\x00\x1a\xb6\x02\n\nUpdateInfo\x12$\n\x12target_shard_count\x18\x01 \x01(\x05\x42\x03\xe0\x41\x03H\x00\x88\x01\x01\x12&\n\x14target_replica_count\x18\x02 \x01(\x05\x42\x03\xe0\x41\x03H\x01\x88\x01\x01\x12\'\n\x15target_engine_version\x18\x03 \x01(\tB\x03\xe0\x41\x03H\x02\x88\x01\x01\x12R\n\x10target_node_type\x18\x04 \x01(\x0e\x32..google.cloud.memorystore.v1.Instance.NodeTypeB\x03\xe0\x41\x03H\x03\x88\x01\x01\x42\x15\n\x13_target_shard_countB\x17\n\x15_target_replica_countB\x18\n\x16_target_engine_versionB\x13\n\x11_target_node_typeB\x06\n\x04info\x1a$\n\x0fGcsBackupSource\x12\x11\n\x04uris\x18\x01 \x03(\tB\x03\xe0\x41\x01\x1a*\n\x13ManagedBackupSource\x12\x13\n\x06\x62\x61\x63kup\x18\x01 \x01(\tB\x03\xe0\x41\x01\x1a\x64\n\x10InstanceEndpoint\x12P\n\x0b\x63onnections\x18\x01 \x03(\x0b\x32\x36.google.cloud.memorystore.v1.Instance.ConnectionDetailB\x03\xe0\x41\x01\x1a\xba\x01\n\x10\x43onnectionDetail\x12R\n\x13psc_auto_connection\x18\x01 \x01(\x0b\x32..google.cloud.memorystore.v1.PscAutoConnectionB\x03\xe0\x41\x05H\x00\x12\x44\n\x0epsc_connection\x18\x02 \x01(\x0b\x32*.google.cloud.memorystore.v1.PscConnectionH\x00\x42\x0c\n\nconnection\x1a-\n\x0bLabelsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\x1a\x34\n\x12\x45ngineConfigsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\"T\n\x05State\x12\x15\n\x11STATE_UNSPECIFIED\x10\x00\x12\x0c\n\x08\x43REATING\x10\x01\x12\n\n\x06\x41\x43TIVE\x10\x02\x12\x0c\n\x08UPDATING\x10\x03\x12\x0c\n\x08\x44\x45LETING\x10\x04\"X\n\x11\x41uthorizationMode\x12\"\n\x1e\x41UTHORIZATION_MODE_UNSPECIFIED\x10\x00\x12\x11\n\rAUTH_DISABLED\x10\x01\x12\x0c\n\x08IAM_AUTH\x10\x02\"|\n\x15TransitEncryptionMode\x12\'\n#TRANSIT_ENCRYPTION_MODE_UNSPECIFIED\x10\x00\x12\x1f\n\x1bTRANSIT_ENCRYPTION_DISABLED\x10\x01\x12\x19\n\x15SERVER_AUTHENTICATION\x10\x02\"\xe8\x01\n\x08NodeType\x12\x19\n\x15NODE_TYPE_UNSPECIFIED\x10\x00\x12\x14\n\x10SHARED_CORE_NANO\x10\x01\x12\x12\n\x0eHIGHMEM_MEDIUM\x10\x02\x12\x12\n\x0eHIGHMEM_XLARGE\x10\x03\x12\x12\n\x0eSTANDARD_SMALL\x10\x04\x12\x10\n\x0c\x43USTOM_MICRO\x10\x05\x12\x0f\n\x0b\x43USTOM_MINI\x10\x06\x12\x12\n\x0eHIGHCPU_MEDIUM\x10\x07\x12\x12\n\x0eSTANDARD_LARGE\x10\x08\x12\x13\n\x0fHIGHMEM_2XLARGE\x10\t\x12\x0f\n\x0b\x43USTOM_PICO\x10\n\"S\n\x04Mode\x12\x14\n\x10MODE_UNSPECIFIED\x10\x00\x12\x12\n\nSTANDALONE\x10\x01\x1a\x02\x08\x01\x12\x0b\n\x07\x43LUSTER\x10\x02\x12\x14\n\x10\x43LUSTER_DISABLED\x10\x04\"\xa9\x02\n\x0cServerCaMode\x12\x1e\n\x1aSERVER_CA_MODE_UNSPECIFIED\x10\x00\x12\"\n\x1eGOOGLE_MANAGED_PER_INSTANCE_CA\x10\x01\x12\x1c\n\x18GOOGLE_MANAGED_SHARED_CA\x10\x02\x12\x1b\n\x17\x43USTOMER_MANAGED_CAS_CA\x10\x03\x12\x35\n-SERVER_CA_MODE_GOOGLE_MANAGED_PER_INSTANCE_CA\x10\x01\x1a\x02\x08\x01\x12/\n\'SERVER_CA_MODE_GOOGLE_MANAGED_SHARED_CA\x10\x02\x1a\x02\x08\x01\x12.\n&SERVER_CA_MODE_CUSTOMER_MANAGED_CAS_CA\x10\x03\x1a\x02\x08\x01\x1a\x02\x10\x01:{\xea\x41x\n#memorystore.googleapis.com/Instance\x12<projects/{project}/locations/{location}/instances/{instance}*\tinstances2\x08instanceB\x10\n\x0eimport_sourcesB\x10\n\x0e_replica_countB\x1e\n\x1c_deletion_protection_enabledB\x1d\n\x1b_simulate_maintenance_eventB\x17\n\x15_ondemand_maintenanceB\x10\n\x0e_satisfies_pzsB\x10\n\x0e_satisfies_pziB,\n*_async_instance_endpoints_deletion_enabledB\n\n\x08_kms_keyB\x14\n\x12_backup_collectionB\x16\n\x14_maintenance_versionB \n\x1e_effective_maintenance_versionB\x11\n\x0f_server_ca_modeB\x11\n\x0f_server_ca_poolB\x1c\n\x1a_rotate_server_certificate\"\xda\x03\n\x15\x41utomatedBackupConfig\x12r\n\x18\x66ixed_frequency_schedule\x18\x02 \x01(\x0b\x32I.google.cloud.memorystore.v1.AutomatedBackupConfig.FixedFrequencyScheduleB\x03\xe0\x41\x01H\x00\x12j\n\x15\x61utomated_backup_mode\x18\x01 \x01(\x0e\x32\x46.google.cloud.memorystore.v1.AutomatedBackupConfig.AutomatedBackupModeB\x03\xe0\x41\x01\x12\x31\n\tretention\x18\x03 \x01(\x0b\x32\x19.google.protobuf.DurationB\x03\xe0\x41\x01\x1aI\n\x16\x46ixedFrequencySchedule\x12/\n\nstart_time\x18\x02 \x01(\x0b\x32\x16.google.type.TimeOfDayB\x03\xe0\x41\x02\"W\n\x13\x41utomatedBackupMode\x12%\n!AUTOMATED_BACKUP_MODE_UNSPECIFIED\x10\x00\x12\x0c\n\x08\x44ISABLED\x10\x01\x12\x0b\n\x07\x45NABLED\x10\x02\x42\n\n\x08schedule\"\xbd\x04\n\x10\x42\x61\x63kupCollection\x12\x11\n\x04name\x18\x01 \x01(\tB\x03\xe0\x41\x08\x12!\n\x0cinstance_uid\x18\x03 \x01(\tB\x0b\xe0\x41\x03\xe2\x8c\xcf\xd7\x08\x02\x08\x01\x12=\n\x08instance\x18\x04 \x01(\tB+\xe0\x41\x03\xfa\x41%\n#memorystore.googleapis.com/Instance\x12:\n\x07kms_key\x18\x05 \x01(\tB)\xe0\x41\x03\xfa\x41#\n!cloudkms.googleapis.com/CryptoKey\x12\x18\n\x03uid\x18\x06 \x01(\tB\x0b\xe0\x41\x03\xe2\x8c\xcf\xd7\x08\x02\x08\x01\x12\x34\n\x0b\x63reate_time\x18\x07 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x03\xe0\x41\x03\x12$\n\x17total_backup_size_bytes\x18\x08 \x01(\x03\x42\x03\xe0\x41\x03\x12\x1f\n\x12total_backup_count\x18\n \x01(\x03\x42\x03\xe0\x41\x03\x12\x39\n\x10last_backup_time\x18\x0b \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x03\xe0\x41\x03:\xa5\x01\xea\x41\xa1\x01\n+memorystore.googleapis.com/BackupCollection\x12Mprojects/{project}/locations/{location}/backupCollections/{backup_collection}*\x11\x62\x61\x63kupCollections2\x10\x62\x61\x63kupCollection\"\x90\x08\n\x06\x42\x61\x63kup\x12\x11\n\x04name\x18\x01 \x01(\tB\x03\xe0\x41\x08\x12\x34\n\x0b\x63reate_time\x18\x02 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x03\xe0\x41\x03\x12=\n\x08instance\x18\x03 \x01(\tB+\xe0\x41\x03\xfa\x41%\n#memorystore.googleapis.com/Instance\x12!\n\x0cinstance_uid\x18\x04 \x01(\tB\x0b\xe0\x41\x03\xe2\x8c\xcf\xd7\x08\x02\x08\x01\x12\x1d\n\x10total_size_bytes\x18\x05 \x01(\x03\x42\x03\xe0\x41\x03\x12\x34\n\x0b\x65xpire_time\x18\x06 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x03\xe0\x41\x03\x12\x1b\n\x0e\x65ngine_version\x18\x07 \x01(\tB\x03\xe0\x41\x03\x12\x42\n\x0c\x62\x61\x63kup_files\x18\x08 \x03(\x0b\x32\'.google.cloud.memorystore.v1.BackupFileB\x03\xe0\x41\x03\x12\x46\n\tnode_type\x18\t \x01(\x0e\x32..google.cloud.memorystore.v1.Instance.NodeTypeB\x03\xe0\x41\x03\x12\x1a\n\rreplica_count\x18\n \x01(\x05\x42\x03\xe0\x41\x03\x12\x18\n\x0bshard_count\x18\x0b \x01(\x05\x42\x03\xe0\x41\x03\x12H\n\x0b\x62\x61\x63kup_type\x18\x0c \x01(\x0e\x32..google.cloud.memorystore.v1.Backup.BackupTypeB\x03\xe0\x41\x03\x12=\n\x05state\x18\r \x01(\x0e\x32).google.cloud.memorystore.v1.Backup.StateB\x03\xe0\x41\x03\x12I\n\x0f\x65ncryption_info\x18\x0e \x01(\x0b\x32+.google.cloud.memorystore.v1.EncryptionInfoB\x03\xe0\x41\x03\x12\x18\n\x03uid\x18\x0f \x01(\tB\x0b\xe0\x41\x03\xe2\x8c\xcf\xd7\x08\x02\x08\x01\"G\n\nBackupType\x12\x1b\n\x17\x42\x41\x43KUP_TYPE_UNSPECIFIED\x10\x00\x12\r\n\tON_DEMAND\x10\x01\x12\r\n\tAUTOMATED\x10\x02\"U\n\x05State\x12\x15\n\x11STATE_UNSPECIFIED\x10\x00\x12\x0c\n\x08\x43REATING\x10\x01\x12\n\n\x06\x41\x43TIVE\x10\x02\x12\x0c\n\x08\x44\x45LETING\x10\x03\x12\r\n\tSUSPENDED\x10\x04:\x98\x01\xea\x41\x94\x01\n!memorystore.googleapis.com/Backup\x12^projects/{project}/locations/{location}/backupCollections/{backup_collection}/backups/{backup}*\x07\x62\x61\x63kups2\x06\x62\x61\x63kup\"s\n\nBackupFile\x12\x16\n\tfile_name\x18\x01 \x01(\tB\x03\xe0\x41\x03\x12\x17\n\nsize_bytes\x18\x02 \x01(\x03\x42\x03\xe0\x41\x03\x12\x34\n\x0b\x63reate_time\x18\x03 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x03\xe0\x41\x03\"\x9e\x07\n\x1e\x43rossInstanceReplicationConfig\x12\x64\n\rinstance_role\x18\x01 \x01(\x0e\x32H.google.cloud.memorystore.v1.CrossInstanceReplicationConfig.InstanceRoleB\x03\xe0\x41\x02\x12i\n\x10primary_instance\x18\x02 \x01(\x0b\x32J.google.cloud.memorystore.v1.CrossInstanceReplicationConfig.RemoteInstanceB\x03\xe0\x41\x01\x12l\n\x13secondary_instances\x18\x03 \x03(\x0b\x32J.google.cloud.memorystore.v1.CrossInstanceReplicationConfig.RemoteInstanceB\x03\xe0\x41\x01\x12\x34\n\x0bupdate_time\x18\x04 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x03\xe0\x41\x03\x12_\n\nmembership\x18\x05 \x01(\x0b\x32\x46.google.cloud.memorystore.v1.CrossInstanceReplicationConfig.MembershipB\x03\xe0\x41\x03\x1ai\n\x0eRemoteInstance\x12=\n\x08instance\x18\x01 \x01(\tB+\xe0\x41\x01\xfa\x41%\n#memorystore.googleapis.com/Instance\x12\x18\n\x03uid\x18\x02 \x01(\tB\x0b\xe0\x41\x03\xe2\x8c\xcf\xd7\x08\x02\x08\x01\x1a\xe5\x01\n\nMembership\x12i\n\x10primary_instance\x18\x01 \x01(\x0b\x32J.google.cloud.memorystore.v1.CrossInstanceReplicationConfig.RemoteInstanceB\x03\xe0\x41\x03\x12l\n\x13secondary_instances\x18\x02 \x03(\x0b\x32J.google.cloud.memorystore.v1.CrossInstanceReplicationConfig.RemoteInstanceB\x03\xe0\x41\x03\"S\n\x0cInstanceRole\x12\x1d\n\x19INSTANCE_ROLE_UNSPECIFIED\x10\x00\x12\x08\n\x04NONE\x10\x01\x12\x0b\n\x07PRIMARY\x10\x02\x12\r\n\tSECONDARY\x10\x03\"\xdd\x01\n\x11MaintenancePolicy\x12\x34\n\x0b\x63reate_time\x18\x01 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x03\xe0\x41\x03\x12\x34\n\x0bupdate_time\x18\x02 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x03\xe0\x41\x03\x12\\\n\x19weekly_maintenance_window\x18\x03 \x03(\x0b\x32\x34.google.cloud.memorystore.v1.WeeklyMaintenanceWindowB\x03\xe0\x41\x01\"t\n\x17WeeklyMaintenanceWindow\x12(\n\x03\x64\x61y\x18\x01 \x01(\x0e\x32\x16.google.type.DayOfWeekB\x03\xe0\x41\x01\x12/\n\nstart_time\x18\x02 \x01(\x0b\x32\x16.google.type.TimeOfDayB\x03\xe0\x41\x01\"}\n\x13MaintenanceSchedule\x12\x33\n\nstart_time\x18\x01 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x03\xe0\x41\x03\x12\x31\n\x08\x65nd_time\x18\x02 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x03\xe0\x41\x03\"\xae\x01\n\x13PscAttachmentDetail\x12L\n\x12service_attachment\x18\x01 \x01(\tB0\xe0\x41\x03\xfa\x41*\n(compute.googleapis.com/ServiceAttachment\x12I\n\x0f\x63onnection_type\x18\x04 \x01(\x0e\x32+.google.cloud.memorystore.v1.ConnectionTypeB\x03\xe0\x41\x03\"\xfb\x03\n\x11PscAutoConnection\x12\x13\n\x04port\x18\t \x01(\x05\x42\x03\xe0\x41\x01H\x00\x12\x1e\n\x11psc_connection_id\x18\x01 \x01(\tB\x03\xe0\x41\x03\x12\x1f\n\nip_address\x18\x02 \x01(\tB\x0b\xe0\x41\x03\xe2\x8c\xcf\xd7\x08\x02\x08\x02\x12\x46\n\x0f\x66orwarding_rule\x18\x03 \x01(\tB-\xe0\x41\x03\xfa\x41\'\n%compute.googleapis.com/ForwardingRule\x12\x17\n\nproject_id\x18\x04 \x01(\tB\x03\xe0\x41\x02\x12\x37\n\x07network\x18\x05 \x01(\tB&\xe0\x41\x02\xfa\x41 \n\x1e\x63ompute.googleapis.com/Network\x12L\n\x12service_attachment\x18\x06 \x01(\tB0\xe0\x41\x03\xfa\x41*\n(compute.googleapis.com/ServiceAttachment\x12T\n\x15psc_connection_status\x18\x07 \x01(\x0e\x32\x30.google.cloud.memorystore.v1.PscConnectionStatusB\x03\xe0\x41\x03\x12I\n\x0f\x63onnection_type\x18\x08 \x01(\x0e\x32+.google.cloud.memorystore.v1.ConnectionTypeB\x03\xe0\x41\x03\x42\x07\n\x05ports\"\xf7\x03\n\rPscConnection\x12\x13\n\x04port\x18\t \x01(\x05\x42\x03\xe0\x41\x01H\x00\x12\x1e\n\x11psc_connection_id\x18\x01 \x01(\tB\x03\xe0\x41\x02\x12\x1f\n\nip_address\x18\x02 \x01(\tB\x0b\xe0\x41\x02\xe2\x8c\xcf\xd7\x08\x02\x08\x02\x12\x46\n\x0f\x66orwarding_rule\x18\x03 \x01(\tB-\xe0\x41\x02\xfa\x41\'\n%compute.googleapis.com/ForwardingRule\x12\x17\n\nproject_id\x18\x04 \x01(\tB\x03\xe0\x41\x03\x12\x37\n\x07network\x18\x05 \x01(\tB&\xe0\x41\x02\xfa\x41 \n\x1e\x63ompute.googleapis.com/Network\x12L\n\x12service_attachment\x18\x06 \x01(\tB0\xe0\x41\x02\xfa\x41*\n(compute.googleapis.com/ServiceAttachment\x12T\n\x15psc_connection_status\x18\x07 \x01(\x0e\x32\x30.google.cloud.memorystore.v1.PscConnectionStatusB\x03\xe0\x41\x03\x12I\n\x0f\x63onnection_type\x18\x08 \x01(\x0e\x32+.google.cloud.memorystore.v1.ConnectionTypeB\x03\xe0\x41\x03\x42\x07\n\x05ports\"u\n\x11\x44iscoveryEndpoint\x12\x14\n\x07\x61\x64\x64ress\x18\x01 \x01(\tB\x03\xe0\x41\x03\x12\x11\n\x04port\x18\x02 \x01(\x05\x42\x03\xe0\x41\x03\x12\x37\n\x07network\x18\x04 \x01(\tB&\xe0\x41\x03\xfa\x41 \n\x1e\x63ompute.googleapis.com/Network\"\xd7\x06\n\x11PersistenceConfig\x12Q\n\x04mode\x18\x01 \x01(\x0e\x32>.google.cloud.memorystore.v1.PersistenceConfig.PersistenceModeB\x03\xe0\x41\x01\x12Q\n\nrdb_config\x18\x02 \x01(\x0b\x32\x38.google.cloud.memorystore.v1.PersistenceConfig.RDBConfigB\x03\xe0\x41\x01\x12Q\n\naof_config\x18\x03 \x01(\x0b\x32\x38.google.cloud.memorystore.v1.PersistenceConfig.AOFConfigB\x03\xe0\x41\x01\x1a\xb1\x02\n\tRDBConfig\x12i\n\x13rdb_snapshot_period\x18\x01 \x01(\x0e\x32G.google.cloud.memorystore.v1.PersistenceConfig.RDBConfig.SnapshotPeriodB\x03\xe0\x41\x01\x12@\n\x17rdb_snapshot_start_time\x18\x02 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x03\xe0\x41\x01\"w\n\x0eSnapshotPeriod\x12\x1f\n\x1bSNAPSHOT_PERIOD_UNSPECIFIED\x10\x00\x12\x0c\n\x08ONE_HOUR\x10\x01\x12\r\n\tSIX_HOURS\x10\x02\x12\x10\n\x0cTWELVE_HOURS\x10\x03\x12\x15\n\x11TWENTY_FOUR_HOURS\x10\x04\x1a\xbf\x01\n\tAOFConfig\x12_\n\x0c\x61ppend_fsync\x18\x01 \x01(\x0e\x32\x44.google.cloud.memorystore.v1.PersistenceConfig.AOFConfig.AppendFsyncB\x03\xe0\x41\x01\"Q\n\x0b\x41ppendFsync\x12\x1c\n\x18\x41PPEND_FSYNC_UNSPECIFIED\x10\x00\x12\t\n\x05NEVER\x10\x01\x12\r\n\tEVERY_SEC\x10\x02\x12\n\n\x06\x41LWAYS\x10\x03\"S\n\x0fPersistenceMode\x12 \n\x1cPERSISTENCE_MODE_UNSPECIFIED\x10\x00\x12\x0c\n\x08\x44ISABLED\x10\x01\x12\x07\n\x03RDB\x10\x02\x12\x07\n\x03\x41OF\x10\x03\"\"\n\nNodeConfig\x12\x14\n\x07size_gb\x18\x01 \x01(\x01\x42\x03\xe0\x41\x03\"\xe9\x01\n\x16ZoneDistributionConfig\x12\x11\n\x04zone\x18\x02 \x01(\tB\x03\xe0\x41\x01\x12[\n\x04mode\x18\x01 \x01(\x0e\x32H.google.cloud.memorystore.v1.ZoneDistributionConfig.ZoneDistributionModeB\x03\xe0\x41\x01\"_\n\x14ZoneDistributionMode\x12&\n\"ZONE_DISTRIBUTION_MODE_UNSPECIFIED\x10\x00\x12\x0e\n\nMULTI_ZONE\x10\x01\x12\x0f\n\x0bSINGLE_ZONE\x10\x02\"\xce\x02\n\x1cRescheduleMaintenanceRequest\x12\x39\n\x04name\x18\x01 \x01(\tB+\xe0\x41\x02\xfa\x41%\n#memorystore.googleapis.com/Instance\x12\x66\n\x0freschedule_type\x18\x02 \x01(\x0e\x32H.google.cloud.memorystore.v1.RescheduleMaintenanceRequest.RescheduleTypeB\x03\xe0\x41\x02\x12\x36\n\rschedule_time\x18\x03 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x03\xe0\x41\x01\"S\n\x0eRescheduleType\x12\x1f\n\x1bRESCHEDULE_TYPE_UNSPECIFIED\x10\x00\x12\r\n\tIMMEDIATE\x10\x01\x12\x11\n\rSPECIFIC_TIME\x10\x03\"\xb0\x01\n\x14ListInstancesRequest\x12;\n\x06parent\x18\x01 \x01(\tB+\xe0\x41\x02\xfa\x41%\x12#memorystore.googleapis.com/Instance\x12\x16\n\tpage_size\x18\x02 \x01(\x05\x42\x03\xe0\x41\x01\x12\x17\n\npage_token\x18\x03 \x01(\tB\x03\xe0\x41\x01\x12\x13\n\x06\x66ilter\x18\x04 \x01(\tB\x03\xe0\x41\x01\x12\x15\n\x08order_by\x18\x05 \x01(\tB\x03\xe0\x41\x01\"\x7f\n\x15ListInstancesResponse\x12\x38\n\tinstances\x18\x01 \x03(\x0b\x32%.google.cloud.memorystore.v1.Instance\x12\x17\n\x0fnext_page_token\x18\x02 \x01(\t\x12\x13\n\x0bunreachable\x18\x03 \x03(\t\"O\n\x12GetInstanceRequest\x12\x39\n\x04name\x18\x01 \x01(\tB+\xe0\x41\x02\xfa\x41%\n#memorystore.googleapis.com/Instance\"\xcd\x01\n\x15\x43reateInstanceRequest\x12;\n\x06parent\x18\x01 \x01(\tB+\xe0\x41\x02\xfa\x41%\x12#memorystore.googleapis.com/Instance\x12\x18\n\x0binstance_id\x18\x02 \x01(\tB\x03\xe0\x41\x02\x12<\n\x08instance\x18\x03 \x01(\x0b\x32%.google.cloud.memorystore.v1.InstanceB\x03\xe0\x41\x02\x12\x1f\n\nrequest_id\x18\x04 \x01(\tB\x0b\xe0\x41\x01\xe2\x8c\xcf\xd7\x08\x02\x08\x01\"\xac\x01\n\x15UpdateInstanceRequest\x12\x34\n\x0bupdate_mask\x18\x01 \x01(\x0b\x32\x1a.google.protobuf.FieldMaskB\x03\xe0\x41\x01\x12<\n\x08instance\x18\x02 \x01(\x0b\x32%.google.cloud.memorystore.v1.InstanceB\x03\xe0\x41\x02\x12\x1f\n\nrequest_id\x18\x03 \x01(\tB\x0b\xe0\x41\x01\xe2\x8c\xcf\xd7\x08\x02\x08\x01\"s\n\x15\x44\x65leteInstanceRequest\x12\x39\n\x04name\x18\x01 \x01(\tB+\xe0\x41\x02\xfa\x41%\n#memorystore.googleapis.com/Instance\x12\x1f\n\nrequest_id\x18\x02 \x01(\tB\x0b\xe0\x41\x01\xe2\x8c\xcf\xd7\x08\x02\x08\x01\"\x94\x01\n\x1cListBackupCollectionsRequest\x12\x43\n\x06parent\x18\x01 \x01(\tB3\xe0\x41\x02\xfa\x41-\x12+memorystore.googleapis.com/BackupCollection\x12\x16\n\tpage_size\x18\x02 \x01(\x05\x42\x03\xe0\x41\x01\x12\x17\n\npage_token\x18\x03 \x01(\tB\x03\xe0\x41\x01\"\x98\x01\n\x1dListBackupCollectionsResponse\x12I\n\x12\x62\x61\x63kup_collections\x18\x01 \x03(\x0b\x32-.google.cloud.memorystore.v1.BackupCollection\x12\x17\n\x0fnext_page_token\x18\x02 \x01(\t\x12\x13\n\x0bunreachable\x18\x03 \x03(\t\"_\n\x1aGetBackupCollectionRequest\x12\x41\n\x04name\x18\x01 \x01(\tB3\xe0\x41\x02\xfa\x41-\n+memorystore.googleapis.com/BackupCollection\"\x80\x01\n\x12ListBackupsRequest\x12\x39\n\x06parent\x18\x01 \x01(\tB)\xe0\x41\x02\xfa\x41#\x12!memorystore.googleapis.com/Backup\x12\x16\n\tpage_size\x18\x02 \x01(\x05\x42\x03\xe0\x41\x01\x12\x17\n\npage_token\x18\x03 \x01(\tB\x03\xe0\x41\x01\"y\n\x13ListBackupsResponse\x12\x34\n\x07\x62\x61\x63kups\x18\x01 \x03(\x0b\x32#.google.cloud.memorystore.v1.Backup\x12\x17\n\x0fnext_page_token\x18\x02 \x01(\t\x12\x13\n\x0bunreachable\x18\x03 \x03(\t\"K\n\x10GetBackupRequest\x12\x37\n\x04name\x18\x01 \x01(\tB)\xe0\x41\x02\xfa\x41#\n!memorystore.googleapis.com/Backup\"o\n\x13\x44\x65leteBackupRequest\x12\x37\n\x04name\x18\x01 \x01(\tB)\xe0\x41\x02\xfa\x41#\n!memorystore.googleapis.com/Backup\x12\x1f\n\nrequest_id\x18\x02 \x01(\tB\x0b\xe0\x41\x01\xe2\x8c\xcf\xd7\x08\x02\x08\x01\"s\n\x13\x45xportBackupRequest\x12\x14\n\ngcs_bucket\x18\x02 \x01(\tH\x00\x12\x37\n\x04name\x18\x01 \x01(\tB)\xe0\x41\x02\xfa\x41#\n!memorystore.googleapis.com/BackupB\r\n\x0b\x64\x65stination\"\xaa\x01\n\x15\x42\x61\x63kupInstanceRequest\x12\x39\n\x04name\x18\x01 \x01(\tB+\xe0\x41\x02\xfa\x41%\n#memorystore.googleapis.com/Instance\x12+\n\x03ttl\x18\x02 \x01(\x0b\x32\x19.google.protobuf.DurationB\x03\xe0\x41\x01\x12\x1b\n\tbackup_id\x18\x03 \x01(\tB\x03\xe0\x41\x01H\x00\x88\x01\x01\x42\x0c\n\n_backup_id\"[\n\x1eGetCertificateAuthorityRequest\x12\x39\n\x04name\x18\x01 \x01(\tB+\xe0\x41\x02\xfa\x41%\n#memorystore.googleapis.com/Instance\"\x89\x04\n\x14\x43\x65rtificateAuthority\x12j\n\x11managed_server_ca\x18\x02 \x01(\x0b\x32M.google.cloud.memorystore.v1.CertificateAuthority.ManagedCertificateAuthorityH\x00\x12\x11\n\x04name\x18\x01 \x01(\tB\x03\xe0\x41\x08\x1a\xab\x01\n\x1bManagedCertificateAuthority\x12i\n\x08\x63\x61_certs\x18\x01 \x03(\x0b\x32W.google.cloud.memorystore.v1.CertificateAuthority.ManagedCertificateAuthority.CertChain\x1a!\n\tCertChain\x12\x14\n\x0c\x63\x65rtificates\x18\x01 \x03(\t:\xb6\x01\xea\x41\xb2\x01\n/memorystore.googleapis.com/CertificateAuthority\x12Qprojects/{project}/locations/{location}/instances/{instance}/certificateAuthority*\x16\x63\x65rtificateAuthorities2\x14\x63\x65rtificateAuthorityB\x0b\n\tserver_ca\"\x80\x05\n\"SharedRegionalCertificateAuthority\x12\x80\x01\n\x11managed_server_ca\x18\x02 \x01(\x0b\x32\x63.google.cloud.memorystore.v1.SharedRegionalCertificateAuthority.RegionalManagedCertificateAuthorityH\x00\x12\x11\n\x04name\x18\x01 \x01(\tB\x03\xe0\x41\x08\x1a\xda\x01\n#RegionalManagedCertificateAuthority\x12\x87\x01\n\x08\x63\x61_certs\x18\x01 \x03(\x0b\x32u.google.cloud.memorystore.v1.SharedRegionalCertificateAuthority.RegionalManagedCertificateAuthority.RegionalCertChain\x1a)\n\x11RegionalCertChain\x12\x14\n\x0c\x63\x65rtificates\x18\x01 \x03(\t:\xd9\x01\xea\x41\xd5\x01\n=memorystore.googleapis.com/SharedRegionalCertificateAuthority\x12Jprojects/{project}/locations/{location}/sharedRegionalCertificateAuthority*$sharedRegionalCertificateAuthorities2\"sharedRegionalCertificateAuthorityB\x0b\n\tserver_ca\"\x83\x01\n,GetSharedRegionalCertificateAuthorityRequest\x12S\n\x04name\x18\x01 \x01(\tBE\xe0\x41\x02\xfa\x41?\n=memorystore.googleapis.com/SharedRegionalCertificateAuthority\"\x80\x02\n\x11OperationMetadata\x12\x34\n\x0b\x63reate_time\x18\x01 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x03\xe0\x41\x03\x12\x31\n\x08\x65nd_time\x18\x02 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x03\xe0\x41\x03\x12\x13\n\x06target\x18\x03 \x01(\tB\x03\xe0\x41\x03\x12\x11\n\x04verb\x18\x04 \x01(\tB\x03\xe0\x41\x03\x12\x1b\n\x0estatus_message\x18\x05 \x01(\tB\x03\xe0\x41\x03\x12#\n\x16requested_cancellation\x18\x06 \x01(\x08\x42\x03\xe0\x41\x03\x12\x18\n\x0b\x61pi_version\x18\x07 \x01(\tB\x03\xe0\x41\x03\"\xf6\x04\n\x0e\x45ncryptionInfo\x12N\n\x0f\x65ncryption_type\x18\x01 \x01(\x0e\x32\x30.google.cloud.memorystore.v1.EncryptionInfo.TypeB\x03\xe0\x41\x03\x12J\n\x10kms_key_versions\x18\x02 \x03(\tB0\xe0\x41\x03\xfa\x41*\n(cloudkms.googleapis.com/CryptoKeyVersion\x12[\n\x15kms_key_primary_state\x18\x03 \x01(\x0e\x32\x37.google.cloud.memorystore.v1.EncryptionInfo.KmsKeyStateB\x03\xe0\x41\x03\x12\x39\n\x10last_update_time\x18\x04 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x03\xe0\x41\x03\"\\\n\x04Type\x12\x14\n\x10TYPE_UNSPECIFIED\x10\x00\x12\x1d\n\x19GOOGLE_DEFAULT_ENCRYPTION\x10\x01\x12\x1f\n\x1b\x43USTOMER_MANAGED_ENCRYPTION\x10\x02\"\xd1\x01\n\x0bKmsKeyState\x12\x1d\n\x19KMS_KEY_STATE_UNSPECIFIED\x10\x00\x12\x0b\n\x07\x45NABLED\x10\x01\x12\x15\n\x11PERMISSION_DENIED\x10\x02\x12\x0c\n\x08\x44ISABLED\x10\x03\x12\r\n\tDESTROYED\x10\x04\x12\x15\n\x11\x44\x45STROY_SCHEDULED\x10\x05\x12 \n\x1c\x45KM_KEY_UNREACHABLE_DETECTED\x10\x06\x12\x14\n\x10\x42ILLING_DISABLED\x10\x07\x12\x13\n\x0fUNKNOWN_FAILURE\x10\x08*W\n\x13PscConnectionStatus\x12%\n!PSC_CONNECTION_STATUS_UNSPECIFIED\x10\x00\x12\n\n\x06\x41\x43TIVE\x10\x01\x12\r\n\tNOT_FOUND\x10\x02*\x89\x01\n\x0e\x43onnectionType\x12\x1f\n\x1b\x43ONNECTION_TYPE_UNSPECIFIED\x10\x00\x12\x1d\n\x19\x43ONNECTION_TYPE_DISCOVERY\x10\x01\x12\x1b\n\x17\x43ONNECTION_TYPE_PRIMARY\x10\x02\x12\x1a\n\x16\x43ONNECTION_TYPE_READER\x10\x03\x32\xe3\x19\n\x0bMemorystore\x12\xb6\x01\n\rListInstances\x12\x31.google.cloud.memorystore.v1.ListInstancesRequest\x1a\x32.google.cloud.memorystore.v1.ListInstancesResponse\">\xda\x41\x06parent\x82\xd3\xe4\x93\x02/\x12-/v1/{parent=projects/*/locations/*}/instances\x12\xa3\x01\n\x0bGetInstance\x12/.google.cloud.memorystore.v1.GetInstanceRequest\x1a%.google.cloud.memorystore.v1.Instance\"<\xda\x41\x04name\x82\xd3\xe4\x93\x02/\x12-/v1/{name=projects/*/locations/*/instances/*}\x12\xe2\x01\n\x0e\x43reateInstance\x12\x32.google.cloud.memorystore.v1.CreateInstanceRequest\x1a\x1d.google.longrunning.Operation\"}\xca\x41\x1d\n\x08Instance\x12\x11OperationMetadata\xda\x41\x1bparent,instance,instance_id\x82\xd3\xe4\x93\x02\x39\"-/v1/{parent=projects/*/locations/*}/instances:\x08instance\x12\xe4\x01\n\x0eUpdateInstance\x12\x32.google.cloud.memorystore.v1.UpdateInstanceRequest\x1a\x1d.google.longrunning.Operation\"\x7f\xca\x41\x1d\n\x08Instance\x12\x11OperationMetadata\xda\x41\x14instance,update_mask\x82\xd3\xe4\x93\x02\x42\x32\x36/v1/{instance.name=projects/*/locations/*/instances/*}:\x08instance\x12\xce\x01\n\x0e\x44\x65leteInstance\x12\x32.google.cloud.memorystore.v1.DeleteInstanceRequest\x1a\x1d.google.longrunning.Operation\"i\xca\x41*\n\x15google.protobuf.Empty\x12\x11OperationMetadata\xda\x41\x04name\x82\xd3\xe4\x93\x02/*-/v1/{name=projects/*/locations/*/instances/*}\x12\xdc\x01\n\x17GetCertificateAuthority\x12;.google.cloud.memorystore.v1.GetCertificateAuthorityRequest\x1a\x31.google.cloud.memorystore.v1.CertificateAuthority\"Q\xda\x41\x04name\x82\xd3\xe4\x93\x02\x44\x12\x42/v1/{name=projects/*/locations/*/instances/*}/certificateAuthority\x12\x88\x02\n%GetSharedRegionalCertificateAuthority\x12I.google.cloud.memorystore.v1.GetSharedRegionalCertificateAuthorityRequest\x1a?.google.cloud.memorystore.v1.SharedRegionalCertificateAuthority\"S\xda\x41\x04name\x82\xd3\xe4\x93\x02\x46\x12\x44/v1/{name=projects/*/locations/*/sharedRegionalCertificateAuthority}\x12\x87\x02\n\x15RescheduleMaintenance\x12\x39.google.cloud.memorystore.v1.RescheduleMaintenanceRequest\x1a\x1d.google.longrunning.Operation\"\x93\x01\xca\x41\x1d\n\x08Instance\x12\x11OperationMetadata\xda\x41\"name,reschedule_type,schedule_time\x82\xd3\xe4\x93\x02H\"C/v1/{name=projects/*/locations/*/instances/*}:rescheduleMaintenance:\x01*\x12\xd6\x01\n\x15ListBackupCollections\x12\x39.google.cloud.memorystore.v1.ListBackupCollectionsRequest\x1a:.google.cloud.memorystore.v1.ListBackupCollectionsResponse\"F\xda\x41\x06parent\x82\xd3\xe4\x93\x02\x37\x12\x35/v1/{parent=projects/*/locations/*}/backupCollections\x12\xc3\x01\n\x13GetBackupCollection\x12\x37.google.cloud.memorystore.v1.GetBackupCollectionRequest\x1a-.google.cloud.memorystore.v1.BackupCollection\"D\xda\x41\x04name\x82\xd3\xe4\x93\x02\x37\x12\x35/v1/{name=projects/*/locations/*/backupCollections/*}\x12\xc2\x01\n\x0bListBackups\x12/.google.cloud.memorystore.v1.ListBackupsRequest\x1a\x30.google.cloud.memorystore.v1.ListBackupsResponse\"P\xda\x41\x06parent\x82\xd3\xe4\x93\x02\x41\x12?/v1/{parent=projects/*/locations/*/backupCollections/*}/backups\x12\xaf\x01\n\tGetBackup\x12-.google.cloud.memorystore.v1.GetBackupRequest\x1a#.google.cloud.memorystore.v1.Backup\"N\xda\x41\x04name\x82\xd3\xe4\x93\x02\x41\x12?/v1/{name=projects/*/locations/*/backupCollections/*/backups/*}\x12\xdc\x01\n\x0c\x44\x65leteBackup\x12\x30.google.cloud.memorystore.v1.DeleteBackupRequest\x1a\x1d.google.longrunning.Operation\"{\xca\x41*\n\x15google.protobuf.Empty\x12\x11OperationMetadata\xda\x41\x04name\x82\xd3\xe4\x93\x02\x41*?/v1/{name=projects/*/locations/*/backupCollections/*/backups/*}\x12\xd0\x01\n\x0c\x45xportBackup\x12\x30.google.cloud.memorystore.v1.ExportBackupRequest\x1a\x1d.google.longrunning.Operation\"o\xca\x41\x1b\n\x06\x42\x61\x63kup\x12\x11OperationMetadata\x82\xd3\xe4\x93\x02K\"F/v1/{name=projects/*/locations/*/backupCollections/*/backups/*}:export:\x01*\x12\xcb\x01\n\x0e\x42\x61\x63kupInstance\x12\x32.google.cloud.memorystore.v1.BackupInstanceRequest\x1a\x1d.google.longrunning.Operation\"f\xca\x41\x1d\n\x08Instance\x12\x11OperationMetadata\xda\x41\x04name\x82\xd3\xe4\x93\x02\x39\"4/v1/{name=projects/*/locations/*/instances/*}:backup:\x01*\x1aN\xca\x41\x1amemorystore.googleapis.com\xd2\x41.https://www.googleapis.com/auth/cloud-platformB\x90\x07\n\x1f\x63om.google.cloud.memorystore.v1B\x0bV1mainProtoP\x01ZAcloud.google.com/go/memorystore/apiv1/memorystorepb;memorystorepb\xaa\x02\x1bGoogle.Cloud.Memorystore.V1\xca\x02\x1bGoogle\\Cloud\\Memorystore\\V1\xea\x02\x1eGoogle::Cloud::Memorystore::V1\xea\x41n\n%compute.googleapis.com/ForwardingRule\x12\x45projects/{project}/regions/{region}/forwardingRules/{forwarding_rule}\xea\x41N\n\x1e\x63ompute.googleapis.com/Network\x12,projects/{project}/global/networks/{network}\xea\x41w\n(compute.googleapis.com/ServiceAttachment\x12Kprojects/{project}/regions/{region}/serviceAttachments/{service_attachment}\xea\x41x\n!cloudkms.googleapis.com/CryptoKey\x12Sprojects/{project}/locations/{location}/keyRings/{key_ring}/cryptoKeys/{crypto_key}\xea\x41\xa6\x01\n(cloudkms.googleapis.com/CryptoKeyVersion\x12zprojects/{project}/locations/{location}/keyRings/{key_ring}/cryptoKeys/{crypto_key}/cryptoKeyVersions/{crypto_key_version}\xea\x41\\\n\x1fprivateca.googleapis.com/CaPool\x12\x39projects/{project}/locations/{location}/caPools/{ca_pool}b\x06proto3"
21
+ descriptor_data = "\n-google/cloud/memorystore/v1/memorystore.proto\x12\x1bgoogle.cloud.memorystore.v1\x1a\x1cgoogle/api/annotations.proto\x1a\x17google/api/client.proto\x1a\x1fgoogle/api/field_behavior.proto\x1a\x1bgoogle/api/field_info.proto\x1a\x19google/api/resource.proto\x1a#google/longrunning/operations.proto\x1a\x1egoogle/protobuf/duration.proto\x1a\x1bgoogle/protobuf/empty.proto\x1a google/protobuf/field_mask.proto\x1a\x1fgoogle/protobuf/timestamp.proto\x1a\x1bgoogle/type/dayofweek.proto\x1a\x1bgoogle/type/timeofday.proto\"\xba)\n\x08Instance\x12S\n\ngcs_source\x18\x17 \x01(\x0b\x32\x35.google.cloud.memorystore.v1.Instance.GcsBackupSourceB\x06\xe0\x41\x01\xe0\x41\x05H\x00\x12\x62\n\x15managed_backup_source\x18\x18 \x01(\x0b\x32\x39.google.cloud.memorystore.v1.Instance.ManagedBackupSourceB\x06\xe0\x41\x01\xe0\x41\x05H\x00\x12\x11\n\x04name\x18\x01 \x01(\tB\x03\xe0\x41\x08\x12\x34\n\x0b\x63reate_time\x18\x02 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x03\xe0\x41\x03\x12\x34\n\x0bupdate_time\x18\x03 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x03\xe0\x41\x03\x12\x46\n\x06labels\x18\x04 \x03(\x0b\x32\x31.google.cloud.memorystore.v1.Instance.LabelsEntryB\x03\xe0\x41\x01\x12?\n\x05state\x18\x05 \x01(\x0e\x32+.google.cloud.memorystore.v1.Instance.StateB\x03\xe0\x41\x03\x12H\n\nstate_info\x18\x06 \x01(\x0b\x32/.google.cloud.memorystore.v1.Instance.StateInfoB\x03\xe0\x41\x03\x12\x18\n\x03uid\x18\x07 \x01(\tB\x0b\xe0\x41\x03\xe2\x8c\xcf\xd7\x08\x02\x08\x01\x12\x1f\n\rreplica_count\x18\x08 \x01(\x05\x42\x03\xe0\x41\x01H\x01\x88\x01\x01\x12[\n\x12\x61uthorization_mode\x18\t \x01(\x0e\x32\x37.google.cloud.memorystore.v1.Instance.AuthorizationModeB\x06\xe0\x41\x01\xe0\x41\x05\x12\x64\n\x17transit_encryption_mode\x18\n \x01(\x0e\x32;.google.cloud.memorystore.v1.Instance.TransitEncryptionModeB\x06\xe0\x41\x01\xe0\x41\x05\x12\x18\n\x0bshard_count\x18\x0b \x01(\x05\x42\x03\xe0\x41\x01\x12R\n\x13\x64iscovery_endpoints\x18\x0c \x03(\x0b\x32..google.cloud.memorystore.v1.DiscoveryEndpointB\x05\x18\x01\xe0\x41\x03\x12\x46\n\tnode_type\x18\r \x01(\x0e\x32..google.cloud.memorystore.v1.Instance.NodeTypeB\x03\xe0\x41\x01\x12O\n\x12persistence_config\x18\x0e \x01(\x0b\x32..google.cloud.memorystore.v1.PersistenceConfigB\x03\xe0\x41\x01\x12\x1b\n\x0e\x65ngine_version\x18\x0f \x01(\tB\x03\xe0\x41\x01\x12U\n\x0e\x65ngine_configs\x18\x10 \x03(\x0b\x32\x38.google.cloud.memorystore.v1.Instance.EngineConfigsEntryB\x03\xe0\x41\x01\x12\x41\n\x0bnode_config\x18\x11 \x01(\x0b\x32\'.google.cloud.memorystore.v1.NodeConfigB\x03\xe0\x41\x03\x12]\n\x18zone_distribution_config\x18\x12 \x01(\x0b\x32\x33.google.cloud.memorystore.v1.ZoneDistributionConfigB\x06\xe0\x41\x01\xe0\x41\x05\x12-\n\x1b\x64\x65letion_protection_enabled\x18\x13 \x01(\x08\x42\x03\xe0\x41\x01H\x02\x88\x01\x01\x12V\n\x14psc_auto_connections\x18\x14 \x03(\x0b\x32..google.cloud.memorystore.v1.PscAutoConnectionB\x08\x18\x01\xe0\x41\x01\xe0\x41\x05\x12U\n\x16psc_attachment_details\x18\x15 \x03(\x0b\x32\x30.google.cloud.memorystore.v1.PscAttachmentDetailB\x03\xe0\x41\x03\x12N\n\tendpoints\x18\x19 \x03(\x0b\x32\x36.google.cloud.memorystore.v1.Instance.InstanceEndpointB\x03\xe0\x41\x01\x12@\n\x04mode\x18\x1a \x01(\x0e\x32*.google.cloud.memorystore.v1.Instance.ModeB\x06\xe0\x41\x01\xe0\x41\x05\x12/\n\x1asimulate_maintenance_event\x18\x1b \x01(\x08\x42\x06\xe0\x41\x01\xe0\x41\x04H\x03\x88\x01\x01\x12+\n\x14ondemand_maintenance\x18\x1c \x01(\x08\x42\x08\x18\x01\xe0\x41\x01\xe0\x41\x04H\x04\x88\x01\x01\x12\"\n\rsatisfies_pzs\x18\x1d \x01(\x08\x42\x06\xe0\x41\x03\xe0\x41\x01H\x05\x88\x01\x01\x12\"\n\rsatisfies_pzi\x18\x1e \x01(\x08\x42\x06\xe0\x41\x03\xe0\x41\x01H\x06\x88\x01\x01\x12O\n\x12maintenance_policy\x18\x1f \x01(\x0b\x32..google.cloud.memorystore.v1.MaintenancePolicyB\x03\xe0\x41\x01\x12S\n\x14maintenance_schedule\x18 \x01(\x0b\x32\x30.google.cloud.memorystore.v1.MaintenanceScheduleB\x03\xe0\x41\x03\x12k\n!cross_instance_replication_config\x18! \x01(\x0b\x32;.google.cloud.memorystore.v1.CrossInstanceReplicationConfigB\x03\xe0\x41\x01\x12;\n)async_instance_endpoints_deletion_enabled\x18, \x01(\x08\x42\x03\xe0\x41\x01H\x07\x88\x01\x01\x12?\n\x07kms_key\x18- \x01(\tB)\xe0\x41\x01\xfa\x41#\n!cloudkms.googleapis.com/CryptoKeyH\x08\x88\x01\x01\x12I\n\x0f\x65ncryption_info\x18. \x01(\x0b\x32+.google.cloud.memorystore.v1.EncryptionInfoB\x03\xe0\x41\x03\x12S\n\x11\x62\x61\x63kup_collection\x18/ \x01(\tB3\xe0\x41\x03\xfa\x41-\n+memorystore.googleapis.com/BackupCollectionH\t\x88\x01\x01\x12X\n\x17\x61utomated_backup_config\x18\x30 \x01(\x0b\x32\x32.google.cloud.memorystore.v1.AutomatedBackupConfigB\x03\xe0\x41\x01\x12%\n\x13maintenance_version\x18\x31 \x01(\tB\x03\xe0\x41\x01H\n\x88\x01\x01\x12/\n\x1d\x65\x66\x66\x65\x63tive_maintenance_version\x18\x32 \x01(\tB\x03\xe0\x41\x03H\x0b\x88\x01\x01\x12+\n\x1e\x61vailable_maintenance_versions\x18\x33 \x03(\tB\x03\xe0\x41\x03\x12.\n\x1c\x61llow_fewer_zones_deployment\x18\x36 \x01(\x08\x42\x08\x18\x01\xe0\x41\x01\xe0\x41\x05\x12W\n\x0eserver_ca_mode\x18\x38 \x01(\x0e\x32\x32.google.cloud.memorystore.v1.Instance.ServerCaModeB\x06\xe0\x41\x01\xe0\x41\x05H\x0c\x88\x01\x01\x12G\n\x0eserver_ca_pool\x18\x39 \x01(\tB*\xe0\x41\x01\xe0\x41\x05\xfa\x41!\n\x1fprivateca.googleapis.com/CaPoolH\r\x88\x01\x01\x12.\n\x19rotate_server_certificate\x18: \x01(\x08\x42\x06\xe0\x41\x01\xe0\x41\x04H\x0e\x88\x01\x01\x12K\n\x10migration_config\x18; \x01(\x0b\x32,.google.cloud.memorystore.v1.MigrationConfigB\x03\xe0\x41\x03\x1a\xa4\x03\n\tStateInfo\x12V\n\x0bupdate_info\x18\x01 \x01(\x0b\x32:.google.cloud.memorystore.v1.Instance.StateInfo.UpdateInfoB\x03\xe0\x41\x03H\x00\x1a\xb6\x02\n\nUpdateInfo\x12$\n\x12target_shard_count\x18\x01 \x01(\x05\x42\x03\xe0\x41\x03H\x00\x88\x01\x01\x12&\n\x14target_replica_count\x18\x02 \x01(\x05\x42\x03\xe0\x41\x03H\x01\x88\x01\x01\x12\'\n\x15target_engine_version\x18\x03 \x01(\tB\x03\xe0\x41\x03H\x02\x88\x01\x01\x12R\n\x10target_node_type\x18\x04 \x01(\x0e\x32..google.cloud.memorystore.v1.Instance.NodeTypeB\x03\xe0\x41\x03H\x03\x88\x01\x01\x42\x15\n\x13_target_shard_countB\x17\n\x15_target_replica_countB\x18\n\x16_target_engine_versionB\x13\n\x11_target_node_typeB\x06\n\x04info\x1a$\n\x0fGcsBackupSource\x12\x11\n\x04uris\x18\x01 \x03(\tB\x03\xe0\x41\x01\x1a*\n\x13ManagedBackupSource\x12\x13\n\x06\x62\x61\x63kup\x18\x01 \x01(\tB\x03\xe0\x41\x01\x1a\x64\n\x10InstanceEndpoint\x12P\n\x0b\x63onnections\x18\x01 \x03(\x0b\x32\x36.google.cloud.memorystore.v1.Instance.ConnectionDetailB\x03\xe0\x41\x01\x1a\xba\x01\n\x10\x43onnectionDetail\x12R\n\x13psc_auto_connection\x18\x01 \x01(\x0b\x32..google.cloud.memorystore.v1.PscAutoConnectionB\x03\xe0\x41\x05H\x00\x12\x44\n\x0epsc_connection\x18\x02 \x01(\x0b\x32*.google.cloud.memorystore.v1.PscConnectionH\x00\x42\x0c\n\nconnection\x1a-\n\x0bLabelsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\x1a\x34\n\x12\x45ngineConfigsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\"c\n\x05State\x12\x15\n\x11STATE_UNSPECIFIED\x10\x00\x12\x0c\n\x08\x43REATING\x10\x01\x12\n\n\x06\x41\x43TIVE\x10\x02\x12\x0c\n\x08UPDATING\x10\x03\x12\x0c\n\x08\x44\x45LETING\x10\x04\x12\r\n\tMIGRATING\x10\x06\"X\n\x11\x41uthorizationMode\x12\"\n\x1e\x41UTHORIZATION_MODE_UNSPECIFIED\x10\x00\x12\x11\n\rAUTH_DISABLED\x10\x01\x12\x0c\n\x08IAM_AUTH\x10\x02\"|\n\x15TransitEncryptionMode\x12\'\n#TRANSIT_ENCRYPTION_MODE_UNSPECIFIED\x10\x00\x12\x1f\n\x1bTRANSIT_ENCRYPTION_DISABLED\x10\x01\x12\x19\n\x15SERVER_AUTHENTICATION\x10\x02\"\xe8\x01\n\x08NodeType\x12\x19\n\x15NODE_TYPE_UNSPECIFIED\x10\x00\x12\x14\n\x10SHARED_CORE_NANO\x10\x01\x12\x12\n\x0eHIGHMEM_MEDIUM\x10\x02\x12\x12\n\x0eHIGHMEM_XLARGE\x10\x03\x12\x12\n\x0eSTANDARD_SMALL\x10\x04\x12\x10\n\x0c\x43USTOM_MICRO\x10\x05\x12\x0f\n\x0b\x43USTOM_MINI\x10\x06\x12\x12\n\x0eHIGHCPU_MEDIUM\x10\x07\x12\x12\n\x0eSTANDARD_LARGE\x10\x08\x12\x13\n\x0fHIGHMEM_2XLARGE\x10\t\x12\x0f\n\x0b\x43USTOM_PICO\x10\n\"S\n\x04Mode\x12\x14\n\x10MODE_UNSPECIFIED\x10\x00\x12\x12\n\nSTANDALONE\x10\x01\x1a\x02\x08\x01\x12\x0b\n\x07\x43LUSTER\x10\x02\x12\x14\n\x10\x43LUSTER_DISABLED\x10\x04\"\xa9\x02\n\x0cServerCaMode\x12\x1e\n\x1aSERVER_CA_MODE_UNSPECIFIED\x10\x00\x12\"\n\x1eGOOGLE_MANAGED_PER_INSTANCE_CA\x10\x01\x12\x1c\n\x18GOOGLE_MANAGED_SHARED_CA\x10\x02\x12\x1b\n\x17\x43USTOMER_MANAGED_CAS_CA\x10\x03\x12\x35\n-SERVER_CA_MODE_GOOGLE_MANAGED_PER_INSTANCE_CA\x10\x01\x1a\x02\x08\x01\x12/\n\'SERVER_CA_MODE_GOOGLE_MANAGED_SHARED_CA\x10\x02\x1a\x02\x08\x01\x12.\n&SERVER_CA_MODE_CUSTOMER_MANAGED_CAS_CA\x10\x03\x1a\x02\x08\x01\x1a\x02\x10\x01:{\xea\x41x\n#memorystore.googleapis.com/Instance\x12<projects/{project}/locations/{location}/instances/{instance}*\tinstances2\x08instanceB\x10\n\x0eimport_sourcesB\x10\n\x0e_replica_countB\x1e\n\x1c_deletion_protection_enabledB\x1d\n\x1b_simulate_maintenance_eventB\x17\n\x15_ondemand_maintenanceB\x10\n\x0e_satisfies_pzsB\x10\n\x0e_satisfies_pziB,\n*_async_instance_endpoints_deletion_enabledB\n\n\x08_kms_keyB\x14\n\x12_backup_collectionB\x16\n\x14_maintenance_versionB \n\x1e_effective_maintenance_versionB\x11\n\x0f_server_ca_modeB\x11\n\x0f_server_ca_poolB\x1c\n\x1a_rotate_server_certificate\"\xb0\x01\n\x15StartMigrationRequest\x12R\n\x13self_managed_source\x18\x02 \x01(\x0b\x32..google.cloud.memorystore.v1.SelfManagedSourceB\x03\xe0\x41\x02H\x00\x12\x39\n\x04name\x18\x01 \x01(\tB+\xe0\x41\x02\xfa\x41%\n#memorystore.googleapis.com/InstanceB\x08\n\x06source\"g\n\x16\x46inishMigrationRequest\x12\x39\n\x04name\x18\x01 \x01(\tB+\xe0\x41\x02\xfa\x41%\n#memorystore.googleapis.com/Instance\x12\x12\n\x05\x66orce\x18\x02 \x01(\x08\x42\x03\xe0\x41\x01\"\x95\x01\n\x11SelfManagedSource\x12\x1f\n\nip_address\x18\x01 \x01(\tB\x0b\xe0\x41\x02\xe2\x8c\xcf\xd7\x08\x02\x08\x02\x12\x11\n\x04port\x18\x02 \x01(\x05\x42\x03\xe0\x41\x02\x12L\n\x12network_attachment\x18\x03 \x01(\tB0\xe0\x41\x02\xfa\x41*\n(compute.googleapis.com/NetworkAttachment\"\xca\x02\n\x0fMigrationConfig\x12R\n\x13self_managed_source\x18\x02 \x01(\x0b\x32..google.cloud.memorystore.v1.SelfManagedSourceB\x03\xe0\x41\x03H\x00\x12\x46\n\x05state\x18\x01 \x01(\x0e\x32\x32.google.cloud.memorystore.v1.MigrationConfig.StateB\x03\xe0\x41\x03\x12#\n\x16\x66orce_finish_migration\x18\x04 \x01(\x08\x42\x03\xe0\x41\x03\"l\n\x05State\x12\x15\n\x11STATE_UNSPECIFIED\x10\x00\x12\x0f\n\x0bROLLED_BACK\x10\x01\x12\x10\n\x0cROLLING_BACK\x10\x05\x12\x1b\n\x17REPLICATION_ESTABLISHED\x10\x06\x12\x0c\n\x08MIGRATED\x10\x04\x42\x08\n\x06source\"\xda\x03\n\x15\x41utomatedBackupConfig\x12r\n\x18\x66ixed_frequency_schedule\x18\x02 \x01(\x0b\x32I.google.cloud.memorystore.v1.AutomatedBackupConfig.FixedFrequencyScheduleB\x03\xe0\x41\x01H\x00\x12j\n\x15\x61utomated_backup_mode\x18\x01 \x01(\x0e\x32\x46.google.cloud.memorystore.v1.AutomatedBackupConfig.AutomatedBackupModeB\x03\xe0\x41\x01\x12\x31\n\tretention\x18\x03 \x01(\x0b\x32\x19.google.protobuf.DurationB\x03\xe0\x41\x01\x1aI\n\x16\x46ixedFrequencySchedule\x12/\n\nstart_time\x18\x02 \x01(\x0b\x32\x16.google.type.TimeOfDayB\x03\xe0\x41\x02\"W\n\x13\x41utomatedBackupMode\x12%\n!AUTOMATED_BACKUP_MODE_UNSPECIFIED\x10\x00\x12\x0c\n\x08\x44ISABLED\x10\x01\x12\x0b\n\x07\x45NABLED\x10\x02\x42\n\n\x08schedule\"\xbd\x04\n\x10\x42\x61\x63kupCollection\x12\x11\n\x04name\x18\x01 \x01(\tB\x03\xe0\x41\x08\x12!\n\x0cinstance_uid\x18\x03 \x01(\tB\x0b\xe0\x41\x03\xe2\x8c\xcf\xd7\x08\x02\x08\x01\x12=\n\x08instance\x18\x04 \x01(\tB+\xe0\x41\x03\xfa\x41%\n#memorystore.googleapis.com/Instance\x12:\n\x07kms_key\x18\x05 \x01(\tB)\xe0\x41\x03\xfa\x41#\n!cloudkms.googleapis.com/CryptoKey\x12\x18\n\x03uid\x18\x06 \x01(\tB\x0b\xe0\x41\x03\xe2\x8c\xcf\xd7\x08\x02\x08\x01\x12\x34\n\x0b\x63reate_time\x18\x07 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x03\xe0\x41\x03\x12$\n\x17total_backup_size_bytes\x18\x08 \x01(\x03\x42\x03\xe0\x41\x03\x12\x1f\n\x12total_backup_count\x18\n \x01(\x03\x42\x03\xe0\x41\x03\x12\x39\n\x10last_backup_time\x18\x0b \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x03\xe0\x41\x03:\xa5\x01\xea\x41\xa1\x01\n+memorystore.googleapis.com/BackupCollection\x12Mprojects/{project}/locations/{location}/backupCollections/{backup_collection}*\x11\x62\x61\x63kupCollections2\x10\x62\x61\x63kupCollection\"\x90\x08\n\x06\x42\x61\x63kup\x12\x11\n\x04name\x18\x01 \x01(\tB\x03\xe0\x41\x08\x12\x34\n\x0b\x63reate_time\x18\x02 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x03\xe0\x41\x03\x12=\n\x08instance\x18\x03 \x01(\tB+\xe0\x41\x03\xfa\x41%\n#memorystore.googleapis.com/Instance\x12!\n\x0cinstance_uid\x18\x04 \x01(\tB\x0b\xe0\x41\x03\xe2\x8c\xcf\xd7\x08\x02\x08\x01\x12\x1d\n\x10total_size_bytes\x18\x05 \x01(\x03\x42\x03\xe0\x41\x03\x12\x34\n\x0b\x65xpire_time\x18\x06 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x03\xe0\x41\x03\x12\x1b\n\x0e\x65ngine_version\x18\x07 \x01(\tB\x03\xe0\x41\x03\x12\x42\n\x0c\x62\x61\x63kup_files\x18\x08 \x03(\x0b\x32\'.google.cloud.memorystore.v1.BackupFileB\x03\xe0\x41\x03\x12\x46\n\tnode_type\x18\t \x01(\x0e\x32..google.cloud.memorystore.v1.Instance.NodeTypeB\x03\xe0\x41\x03\x12\x1a\n\rreplica_count\x18\n \x01(\x05\x42\x03\xe0\x41\x03\x12\x18\n\x0bshard_count\x18\x0b \x01(\x05\x42\x03\xe0\x41\x03\x12H\n\x0b\x62\x61\x63kup_type\x18\x0c \x01(\x0e\x32..google.cloud.memorystore.v1.Backup.BackupTypeB\x03\xe0\x41\x03\x12=\n\x05state\x18\r \x01(\x0e\x32).google.cloud.memorystore.v1.Backup.StateB\x03\xe0\x41\x03\x12I\n\x0f\x65ncryption_info\x18\x0e \x01(\x0b\x32+.google.cloud.memorystore.v1.EncryptionInfoB\x03\xe0\x41\x03\x12\x18\n\x03uid\x18\x0f \x01(\tB\x0b\xe0\x41\x03\xe2\x8c\xcf\xd7\x08\x02\x08\x01\"G\n\nBackupType\x12\x1b\n\x17\x42\x41\x43KUP_TYPE_UNSPECIFIED\x10\x00\x12\r\n\tON_DEMAND\x10\x01\x12\r\n\tAUTOMATED\x10\x02\"U\n\x05State\x12\x15\n\x11STATE_UNSPECIFIED\x10\x00\x12\x0c\n\x08\x43REATING\x10\x01\x12\n\n\x06\x41\x43TIVE\x10\x02\x12\x0c\n\x08\x44\x45LETING\x10\x03\x12\r\n\tSUSPENDED\x10\x04:\x98\x01\xea\x41\x94\x01\n!memorystore.googleapis.com/Backup\x12^projects/{project}/locations/{location}/backupCollections/{backup_collection}/backups/{backup}*\x07\x62\x61\x63kups2\x06\x62\x61\x63kup\"s\n\nBackupFile\x12\x16\n\tfile_name\x18\x01 \x01(\tB\x03\xe0\x41\x03\x12\x17\n\nsize_bytes\x18\x02 \x01(\x03\x42\x03\xe0\x41\x03\x12\x34\n\x0b\x63reate_time\x18\x03 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x03\xe0\x41\x03\"\x9e\x07\n\x1e\x43rossInstanceReplicationConfig\x12\x64\n\rinstance_role\x18\x01 \x01(\x0e\x32H.google.cloud.memorystore.v1.CrossInstanceReplicationConfig.InstanceRoleB\x03\xe0\x41\x02\x12i\n\x10primary_instance\x18\x02 \x01(\x0b\x32J.google.cloud.memorystore.v1.CrossInstanceReplicationConfig.RemoteInstanceB\x03\xe0\x41\x01\x12l\n\x13secondary_instances\x18\x03 \x03(\x0b\x32J.google.cloud.memorystore.v1.CrossInstanceReplicationConfig.RemoteInstanceB\x03\xe0\x41\x01\x12\x34\n\x0bupdate_time\x18\x04 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x03\xe0\x41\x03\x12_\n\nmembership\x18\x05 \x01(\x0b\x32\x46.google.cloud.memorystore.v1.CrossInstanceReplicationConfig.MembershipB\x03\xe0\x41\x03\x1ai\n\x0eRemoteInstance\x12=\n\x08instance\x18\x01 \x01(\tB+\xe0\x41\x01\xfa\x41%\n#memorystore.googleapis.com/Instance\x12\x18\n\x03uid\x18\x02 \x01(\tB\x0b\xe0\x41\x03\xe2\x8c\xcf\xd7\x08\x02\x08\x01\x1a\xe5\x01\n\nMembership\x12i\n\x10primary_instance\x18\x01 \x01(\x0b\x32J.google.cloud.memorystore.v1.CrossInstanceReplicationConfig.RemoteInstanceB\x03\xe0\x41\x03\x12l\n\x13secondary_instances\x18\x02 \x03(\x0b\x32J.google.cloud.memorystore.v1.CrossInstanceReplicationConfig.RemoteInstanceB\x03\xe0\x41\x03\"S\n\x0cInstanceRole\x12\x1d\n\x19INSTANCE_ROLE_UNSPECIFIED\x10\x00\x12\x08\n\x04NONE\x10\x01\x12\x0b\n\x07PRIMARY\x10\x02\x12\r\n\tSECONDARY\x10\x03\"\xdd\x01\n\x11MaintenancePolicy\x12\x34\n\x0b\x63reate_time\x18\x01 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x03\xe0\x41\x03\x12\x34\n\x0bupdate_time\x18\x02 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x03\xe0\x41\x03\x12\\\n\x19weekly_maintenance_window\x18\x03 \x03(\x0b\x32\x34.google.cloud.memorystore.v1.WeeklyMaintenanceWindowB\x03\xe0\x41\x01\"t\n\x17WeeklyMaintenanceWindow\x12(\n\x03\x64\x61y\x18\x01 \x01(\x0e\x32\x16.google.type.DayOfWeekB\x03\xe0\x41\x01\x12/\n\nstart_time\x18\x02 \x01(\x0b\x32\x16.google.type.TimeOfDayB\x03\xe0\x41\x01\"}\n\x13MaintenanceSchedule\x12\x33\n\nstart_time\x18\x01 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x03\xe0\x41\x03\x12\x31\n\x08\x65nd_time\x18\x02 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x03\xe0\x41\x03\"\xae\x01\n\x13PscAttachmentDetail\x12L\n\x12service_attachment\x18\x01 \x01(\tB0\xe0\x41\x03\xfa\x41*\n(compute.googleapis.com/ServiceAttachment\x12I\n\x0f\x63onnection_type\x18\x04 \x01(\x0e\x32+.google.cloud.memorystore.v1.ConnectionTypeB\x03\xe0\x41\x03\"\xfb\x03\n\x11PscAutoConnection\x12\x13\n\x04port\x18\t \x01(\x05\x42\x03\xe0\x41\x01H\x00\x12\x1e\n\x11psc_connection_id\x18\x01 \x01(\tB\x03\xe0\x41\x03\x12\x1f\n\nip_address\x18\x02 \x01(\tB\x0b\xe0\x41\x03\xe2\x8c\xcf\xd7\x08\x02\x08\x02\x12\x46\n\x0f\x66orwarding_rule\x18\x03 \x01(\tB-\xe0\x41\x03\xfa\x41\'\n%compute.googleapis.com/ForwardingRule\x12\x17\n\nproject_id\x18\x04 \x01(\tB\x03\xe0\x41\x02\x12\x37\n\x07network\x18\x05 \x01(\tB&\xe0\x41\x02\xfa\x41 \n\x1e\x63ompute.googleapis.com/Network\x12L\n\x12service_attachment\x18\x06 \x01(\tB0\xe0\x41\x03\xfa\x41*\n(compute.googleapis.com/ServiceAttachment\x12T\n\x15psc_connection_status\x18\x07 \x01(\x0e\x32\x30.google.cloud.memorystore.v1.PscConnectionStatusB\x03\xe0\x41\x03\x12I\n\x0f\x63onnection_type\x18\x08 \x01(\x0e\x32+.google.cloud.memorystore.v1.ConnectionTypeB\x03\xe0\x41\x03\x42\x07\n\x05ports\"\xf7\x03\n\rPscConnection\x12\x13\n\x04port\x18\t \x01(\x05\x42\x03\xe0\x41\x01H\x00\x12\x1e\n\x11psc_connection_id\x18\x01 \x01(\tB\x03\xe0\x41\x02\x12\x1f\n\nip_address\x18\x02 \x01(\tB\x0b\xe0\x41\x02\xe2\x8c\xcf\xd7\x08\x02\x08\x02\x12\x46\n\x0f\x66orwarding_rule\x18\x03 \x01(\tB-\xe0\x41\x02\xfa\x41\'\n%compute.googleapis.com/ForwardingRule\x12\x17\n\nproject_id\x18\x04 \x01(\tB\x03\xe0\x41\x03\x12\x37\n\x07network\x18\x05 \x01(\tB&\xe0\x41\x02\xfa\x41 \n\x1e\x63ompute.googleapis.com/Network\x12L\n\x12service_attachment\x18\x06 \x01(\tB0\xe0\x41\x02\xfa\x41*\n(compute.googleapis.com/ServiceAttachment\x12T\n\x15psc_connection_status\x18\x07 \x01(\x0e\x32\x30.google.cloud.memorystore.v1.PscConnectionStatusB\x03\xe0\x41\x03\x12I\n\x0f\x63onnection_type\x18\x08 \x01(\x0e\x32+.google.cloud.memorystore.v1.ConnectionTypeB\x03\xe0\x41\x03\x42\x07\n\x05ports\"u\n\x11\x44iscoveryEndpoint\x12\x14\n\x07\x61\x64\x64ress\x18\x01 \x01(\tB\x03\xe0\x41\x03\x12\x11\n\x04port\x18\x02 \x01(\x05\x42\x03\xe0\x41\x03\x12\x37\n\x07network\x18\x04 \x01(\tB&\xe0\x41\x03\xfa\x41 \n\x1e\x63ompute.googleapis.com/Network\"\xd7\x06\n\x11PersistenceConfig\x12Q\n\x04mode\x18\x01 \x01(\x0e\x32>.google.cloud.memorystore.v1.PersistenceConfig.PersistenceModeB\x03\xe0\x41\x01\x12Q\n\nrdb_config\x18\x02 \x01(\x0b\x32\x38.google.cloud.memorystore.v1.PersistenceConfig.RDBConfigB\x03\xe0\x41\x01\x12Q\n\naof_config\x18\x03 \x01(\x0b\x32\x38.google.cloud.memorystore.v1.PersistenceConfig.AOFConfigB\x03\xe0\x41\x01\x1a\xb1\x02\n\tRDBConfig\x12i\n\x13rdb_snapshot_period\x18\x01 \x01(\x0e\x32G.google.cloud.memorystore.v1.PersistenceConfig.RDBConfig.SnapshotPeriodB\x03\xe0\x41\x01\x12@\n\x17rdb_snapshot_start_time\x18\x02 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x03\xe0\x41\x01\"w\n\x0eSnapshotPeriod\x12\x1f\n\x1bSNAPSHOT_PERIOD_UNSPECIFIED\x10\x00\x12\x0c\n\x08ONE_HOUR\x10\x01\x12\r\n\tSIX_HOURS\x10\x02\x12\x10\n\x0cTWELVE_HOURS\x10\x03\x12\x15\n\x11TWENTY_FOUR_HOURS\x10\x04\x1a\xbf\x01\n\tAOFConfig\x12_\n\x0c\x61ppend_fsync\x18\x01 \x01(\x0e\x32\x44.google.cloud.memorystore.v1.PersistenceConfig.AOFConfig.AppendFsyncB\x03\xe0\x41\x01\"Q\n\x0b\x41ppendFsync\x12\x1c\n\x18\x41PPEND_FSYNC_UNSPECIFIED\x10\x00\x12\t\n\x05NEVER\x10\x01\x12\r\n\tEVERY_SEC\x10\x02\x12\n\n\x06\x41LWAYS\x10\x03\"S\n\x0fPersistenceMode\x12 \n\x1cPERSISTENCE_MODE_UNSPECIFIED\x10\x00\x12\x0c\n\x08\x44ISABLED\x10\x01\x12\x07\n\x03RDB\x10\x02\x12\x07\n\x03\x41OF\x10\x03\"\"\n\nNodeConfig\x12\x14\n\x07size_gb\x18\x01 \x01(\x01\x42\x03\xe0\x41\x03\"\xe9\x01\n\x16ZoneDistributionConfig\x12\x11\n\x04zone\x18\x02 \x01(\tB\x03\xe0\x41\x01\x12[\n\x04mode\x18\x01 \x01(\x0e\x32H.google.cloud.memorystore.v1.ZoneDistributionConfig.ZoneDistributionModeB\x03\xe0\x41\x01\"_\n\x14ZoneDistributionMode\x12&\n\"ZONE_DISTRIBUTION_MODE_UNSPECIFIED\x10\x00\x12\x0e\n\nMULTI_ZONE\x10\x01\x12\x0f\n\x0bSINGLE_ZONE\x10\x02\"\xce\x02\n\x1cRescheduleMaintenanceRequest\x12\x39\n\x04name\x18\x01 \x01(\tB+\xe0\x41\x02\xfa\x41%\n#memorystore.googleapis.com/Instance\x12\x66\n\x0freschedule_type\x18\x02 \x01(\x0e\x32H.google.cloud.memorystore.v1.RescheduleMaintenanceRequest.RescheduleTypeB\x03\xe0\x41\x02\x12\x36\n\rschedule_time\x18\x03 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x03\xe0\x41\x01\"S\n\x0eRescheduleType\x12\x1f\n\x1bRESCHEDULE_TYPE_UNSPECIFIED\x10\x00\x12\r\n\tIMMEDIATE\x10\x01\x12\x11\n\rSPECIFIC_TIME\x10\x03\"\xb0\x01\n\x14ListInstancesRequest\x12;\n\x06parent\x18\x01 \x01(\tB+\xe0\x41\x02\xfa\x41%\x12#memorystore.googleapis.com/Instance\x12\x16\n\tpage_size\x18\x02 \x01(\x05\x42\x03\xe0\x41\x01\x12\x17\n\npage_token\x18\x03 \x01(\tB\x03\xe0\x41\x01\x12\x13\n\x06\x66ilter\x18\x04 \x01(\tB\x03\xe0\x41\x01\x12\x15\n\x08order_by\x18\x05 \x01(\tB\x03\xe0\x41\x01\"\x7f\n\x15ListInstancesResponse\x12\x38\n\tinstances\x18\x01 \x03(\x0b\x32%.google.cloud.memorystore.v1.Instance\x12\x17\n\x0fnext_page_token\x18\x02 \x01(\t\x12\x13\n\x0bunreachable\x18\x03 \x03(\t\"O\n\x12GetInstanceRequest\x12\x39\n\x04name\x18\x01 \x01(\tB+\xe0\x41\x02\xfa\x41%\n#memorystore.googleapis.com/Instance\"\xcd\x01\n\x15\x43reateInstanceRequest\x12;\n\x06parent\x18\x01 \x01(\tB+\xe0\x41\x02\xfa\x41%\x12#memorystore.googleapis.com/Instance\x12\x18\n\x0binstance_id\x18\x02 \x01(\tB\x03\xe0\x41\x02\x12<\n\x08instance\x18\x03 \x01(\x0b\x32%.google.cloud.memorystore.v1.InstanceB\x03\xe0\x41\x02\x12\x1f\n\nrequest_id\x18\x04 \x01(\tB\x0b\xe0\x41\x01\xe2\x8c\xcf\xd7\x08\x02\x08\x01\"\xac\x01\n\x15UpdateInstanceRequest\x12\x34\n\x0bupdate_mask\x18\x01 \x01(\x0b\x32\x1a.google.protobuf.FieldMaskB\x03\xe0\x41\x01\x12<\n\x08instance\x18\x02 \x01(\x0b\x32%.google.cloud.memorystore.v1.InstanceB\x03\xe0\x41\x02\x12\x1f\n\nrequest_id\x18\x03 \x01(\tB\x0b\xe0\x41\x01\xe2\x8c\xcf\xd7\x08\x02\x08\x01\"s\n\x15\x44\x65leteInstanceRequest\x12\x39\n\x04name\x18\x01 \x01(\tB+\xe0\x41\x02\xfa\x41%\n#memorystore.googleapis.com/Instance\x12\x1f\n\nrequest_id\x18\x02 \x01(\tB\x0b\xe0\x41\x01\xe2\x8c\xcf\xd7\x08\x02\x08\x01\"\x94\x01\n\x1cListBackupCollectionsRequest\x12\x43\n\x06parent\x18\x01 \x01(\tB3\xe0\x41\x02\xfa\x41-\x12+memorystore.googleapis.com/BackupCollection\x12\x16\n\tpage_size\x18\x02 \x01(\x05\x42\x03\xe0\x41\x01\x12\x17\n\npage_token\x18\x03 \x01(\tB\x03\xe0\x41\x01\"\x98\x01\n\x1dListBackupCollectionsResponse\x12I\n\x12\x62\x61\x63kup_collections\x18\x01 \x03(\x0b\x32-.google.cloud.memorystore.v1.BackupCollection\x12\x17\n\x0fnext_page_token\x18\x02 \x01(\t\x12\x13\n\x0bunreachable\x18\x03 \x03(\t\"_\n\x1aGetBackupCollectionRequest\x12\x41\n\x04name\x18\x01 \x01(\tB3\xe0\x41\x02\xfa\x41-\n+memorystore.googleapis.com/BackupCollection\"\x80\x01\n\x12ListBackupsRequest\x12\x39\n\x06parent\x18\x01 \x01(\tB)\xe0\x41\x02\xfa\x41#\x12!memorystore.googleapis.com/Backup\x12\x16\n\tpage_size\x18\x02 \x01(\x05\x42\x03\xe0\x41\x01\x12\x17\n\npage_token\x18\x03 \x01(\tB\x03\xe0\x41\x01\"y\n\x13ListBackupsResponse\x12\x34\n\x07\x62\x61\x63kups\x18\x01 \x03(\x0b\x32#.google.cloud.memorystore.v1.Backup\x12\x17\n\x0fnext_page_token\x18\x02 \x01(\t\x12\x13\n\x0bunreachable\x18\x03 \x03(\t\"K\n\x10GetBackupRequest\x12\x37\n\x04name\x18\x01 \x01(\tB)\xe0\x41\x02\xfa\x41#\n!memorystore.googleapis.com/Backup\"o\n\x13\x44\x65leteBackupRequest\x12\x37\n\x04name\x18\x01 \x01(\tB)\xe0\x41\x02\xfa\x41#\n!memorystore.googleapis.com/Backup\x12\x1f\n\nrequest_id\x18\x02 \x01(\tB\x0b\xe0\x41\x01\xe2\x8c\xcf\xd7\x08\x02\x08\x01\"s\n\x13\x45xportBackupRequest\x12\x14\n\ngcs_bucket\x18\x02 \x01(\tH\x00\x12\x37\n\x04name\x18\x01 \x01(\tB)\xe0\x41\x02\xfa\x41#\n!memorystore.googleapis.com/BackupB\r\n\x0b\x64\x65stination\"\xaa\x01\n\x15\x42\x61\x63kupInstanceRequest\x12\x39\n\x04name\x18\x01 \x01(\tB+\xe0\x41\x02\xfa\x41%\n#memorystore.googleapis.com/Instance\x12+\n\x03ttl\x18\x02 \x01(\x0b\x32\x19.google.protobuf.DurationB\x03\xe0\x41\x01\x12\x1b\n\tbackup_id\x18\x03 \x01(\tB\x03\xe0\x41\x01H\x00\x88\x01\x01\x42\x0c\n\n_backup_id\"[\n\x1eGetCertificateAuthorityRequest\x12\x39\n\x04name\x18\x01 \x01(\tB+\xe0\x41\x02\xfa\x41%\n#memorystore.googleapis.com/Instance\"\x89\x04\n\x14\x43\x65rtificateAuthority\x12j\n\x11managed_server_ca\x18\x02 \x01(\x0b\x32M.google.cloud.memorystore.v1.CertificateAuthority.ManagedCertificateAuthorityH\x00\x12\x11\n\x04name\x18\x01 \x01(\tB\x03\xe0\x41\x08\x1a\xab\x01\n\x1bManagedCertificateAuthority\x12i\n\x08\x63\x61_certs\x18\x01 \x03(\x0b\x32W.google.cloud.memorystore.v1.CertificateAuthority.ManagedCertificateAuthority.CertChain\x1a!\n\tCertChain\x12\x14\n\x0c\x63\x65rtificates\x18\x01 \x03(\t:\xb6\x01\xea\x41\xb2\x01\n/memorystore.googleapis.com/CertificateAuthority\x12Qprojects/{project}/locations/{location}/instances/{instance}/certificateAuthority*\x16\x63\x65rtificateAuthorities2\x14\x63\x65rtificateAuthorityB\x0b\n\tserver_ca\"\x80\x05\n\"SharedRegionalCertificateAuthority\x12\x80\x01\n\x11managed_server_ca\x18\x02 \x01(\x0b\x32\x63.google.cloud.memorystore.v1.SharedRegionalCertificateAuthority.RegionalManagedCertificateAuthorityH\x00\x12\x11\n\x04name\x18\x01 \x01(\tB\x03\xe0\x41\x08\x1a\xda\x01\n#RegionalManagedCertificateAuthority\x12\x87\x01\n\x08\x63\x61_certs\x18\x01 \x03(\x0b\x32u.google.cloud.memorystore.v1.SharedRegionalCertificateAuthority.RegionalManagedCertificateAuthority.RegionalCertChain\x1a)\n\x11RegionalCertChain\x12\x14\n\x0c\x63\x65rtificates\x18\x01 \x03(\t:\xd9\x01\xea\x41\xd5\x01\n=memorystore.googleapis.com/SharedRegionalCertificateAuthority\x12Jprojects/{project}/locations/{location}/sharedRegionalCertificateAuthority*$sharedRegionalCertificateAuthorities2\"sharedRegionalCertificateAuthorityB\x0b\n\tserver_ca\"\x83\x01\n,GetSharedRegionalCertificateAuthorityRequest\x12S\n\x04name\x18\x01 \x01(\tBE\xe0\x41\x02\xfa\x41?\n=memorystore.googleapis.com/SharedRegionalCertificateAuthority\"\x80\x02\n\x11OperationMetadata\x12\x34\n\x0b\x63reate_time\x18\x01 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x03\xe0\x41\x03\x12\x31\n\x08\x65nd_time\x18\x02 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x03\xe0\x41\x03\x12\x13\n\x06target\x18\x03 \x01(\tB\x03\xe0\x41\x03\x12\x11\n\x04verb\x18\x04 \x01(\tB\x03\xe0\x41\x03\x12\x1b\n\x0estatus_message\x18\x05 \x01(\tB\x03\xe0\x41\x03\x12#\n\x16requested_cancellation\x18\x06 \x01(\x08\x42\x03\xe0\x41\x03\x12\x18\n\x0b\x61pi_version\x18\x07 \x01(\tB\x03\xe0\x41\x03\"\xf6\x04\n\x0e\x45ncryptionInfo\x12N\n\x0f\x65ncryption_type\x18\x01 \x01(\x0e\x32\x30.google.cloud.memorystore.v1.EncryptionInfo.TypeB\x03\xe0\x41\x03\x12J\n\x10kms_key_versions\x18\x02 \x03(\tB0\xe0\x41\x03\xfa\x41*\n(cloudkms.googleapis.com/CryptoKeyVersion\x12[\n\x15kms_key_primary_state\x18\x03 \x01(\x0e\x32\x37.google.cloud.memorystore.v1.EncryptionInfo.KmsKeyStateB\x03\xe0\x41\x03\x12\x39\n\x10last_update_time\x18\x04 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x03\xe0\x41\x03\"\\\n\x04Type\x12\x14\n\x10TYPE_UNSPECIFIED\x10\x00\x12\x1d\n\x19GOOGLE_DEFAULT_ENCRYPTION\x10\x01\x12\x1f\n\x1b\x43USTOMER_MANAGED_ENCRYPTION\x10\x02\"\xd1\x01\n\x0bKmsKeyState\x12\x1d\n\x19KMS_KEY_STATE_UNSPECIFIED\x10\x00\x12\x0b\n\x07\x45NABLED\x10\x01\x12\x15\n\x11PERMISSION_DENIED\x10\x02\x12\x0c\n\x08\x44ISABLED\x10\x03\x12\r\n\tDESTROYED\x10\x04\x12\x15\n\x11\x44\x45STROY_SCHEDULED\x10\x05\x12 \n\x1c\x45KM_KEY_UNREACHABLE_DETECTED\x10\x06\x12\x14\n\x10\x42ILLING_DISABLED\x10\x07\x12\x13\n\x0fUNKNOWN_FAILURE\x10\x08*W\n\x13PscConnectionStatus\x12%\n!PSC_CONNECTION_STATUS_UNSPECIFIED\x10\x00\x12\n\n\x06\x41\x43TIVE\x10\x01\x12\r\n\tNOT_FOUND\x10\x02*\x89\x01\n\x0e\x43onnectionType\x12\x1f\n\x1b\x43ONNECTION_TYPE_UNSPECIFIED\x10\x00\x12\x1d\n\x19\x43ONNECTION_TYPE_DISCOVERY\x10\x01\x12\x1b\n\x17\x43ONNECTION_TYPE_PRIMARY\x10\x02\x12\x1a\n\x16\x43ONNECTION_TYPE_READER\x10\x03\x32\x80\x1e\n\x0bMemorystore\x12\xb6\x01\n\rListInstances\x12\x31.google.cloud.memorystore.v1.ListInstancesRequest\x1a\x32.google.cloud.memorystore.v1.ListInstancesResponse\">\xda\x41\x06parent\x82\xd3\xe4\x93\x02/\x12-/v1/{parent=projects/*/locations/*}/instances\x12\xa3\x01\n\x0bGetInstance\x12/.google.cloud.memorystore.v1.GetInstanceRequest\x1a%.google.cloud.memorystore.v1.Instance\"<\xda\x41\x04name\x82\xd3\xe4\x93\x02/\x12-/v1/{name=projects/*/locations/*/instances/*}\x12\xe2\x01\n\x0e\x43reateInstance\x12\x32.google.cloud.memorystore.v1.CreateInstanceRequest\x1a\x1d.google.longrunning.Operation\"}\xca\x41\x1d\n\x08Instance\x12\x11OperationMetadata\xda\x41\x1bparent,instance,instance_id\x82\xd3\xe4\x93\x02\x39\"-/v1/{parent=projects/*/locations/*}/instances:\x08instance\x12\xe4\x01\n\x0eUpdateInstance\x12\x32.google.cloud.memorystore.v1.UpdateInstanceRequest\x1a\x1d.google.longrunning.Operation\"\x7f\xca\x41\x1d\n\x08Instance\x12\x11OperationMetadata\xda\x41\x14instance,update_mask\x82\xd3\xe4\x93\x02\x42\x32\x36/v1/{instance.name=projects/*/locations/*/instances/*}:\x08instance\x12\xce\x01\n\x0e\x44\x65leteInstance\x12\x32.google.cloud.memorystore.v1.DeleteInstanceRequest\x1a\x1d.google.longrunning.Operation\"i\xca\x41*\n\x15google.protobuf.Empty\x12\x11OperationMetadata\xda\x41\x04name\x82\xd3\xe4\x93\x02/*-/v1/{name=projects/*/locations/*/instances/*}\x12\xdc\x01\n\x17GetCertificateAuthority\x12;.google.cloud.memorystore.v1.GetCertificateAuthorityRequest\x1a\x31.google.cloud.memorystore.v1.CertificateAuthority\"Q\xda\x41\x04name\x82\xd3\xe4\x93\x02\x44\x12\x42/v1/{name=projects/*/locations/*/instances/*}/certificateAuthority\x12\x88\x02\n%GetSharedRegionalCertificateAuthority\x12I.google.cloud.memorystore.v1.GetSharedRegionalCertificateAuthorityRequest\x1a?.google.cloud.memorystore.v1.SharedRegionalCertificateAuthority\"S\xda\x41\x04name\x82\xd3\xe4\x93\x02\x46\x12\x44/v1/{name=projects/*/locations/*/sharedRegionalCertificateAuthority}\x12\x87\x02\n\x15RescheduleMaintenance\x12\x39.google.cloud.memorystore.v1.RescheduleMaintenanceRequest\x1a\x1d.google.longrunning.Operation\"\x93\x01\xca\x41\x1d\n\x08Instance\x12\x11OperationMetadata\xda\x41\"name,reschedule_type,schedule_time\x82\xd3\xe4\x93\x02H\"C/v1/{name=projects/*/locations/*/instances/*}:rescheduleMaintenance:\x01*\x12\xd6\x01\n\x15ListBackupCollections\x12\x39.google.cloud.memorystore.v1.ListBackupCollectionsRequest\x1a:.google.cloud.memorystore.v1.ListBackupCollectionsResponse\"F\xda\x41\x06parent\x82\xd3\xe4\x93\x02\x37\x12\x35/v1/{parent=projects/*/locations/*}/backupCollections\x12\xc3\x01\n\x13GetBackupCollection\x12\x37.google.cloud.memorystore.v1.GetBackupCollectionRequest\x1a-.google.cloud.memorystore.v1.BackupCollection\"D\xda\x41\x04name\x82\xd3\xe4\x93\x02\x37\x12\x35/v1/{name=projects/*/locations/*/backupCollections/*}\x12\xc2\x01\n\x0bListBackups\x12/.google.cloud.memorystore.v1.ListBackupsRequest\x1a\x30.google.cloud.memorystore.v1.ListBackupsResponse\"P\xda\x41\x06parent\x82\xd3\xe4\x93\x02\x41\x12?/v1/{parent=projects/*/locations/*/backupCollections/*}/backups\x12\xaf\x01\n\tGetBackup\x12-.google.cloud.memorystore.v1.GetBackupRequest\x1a#.google.cloud.memorystore.v1.Backup\"N\xda\x41\x04name\x82\xd3\xe4\x93\x02\x41\x12?/v1/{name=projects/*/locations/*/backupCollections/*/backups/*}\x12\xdc\x01\n\x0c\x44\x65leteBackup\x12\x30.google.cloud.memorystore.v1.DeleteBackupRequest\x1a\x1d.google.longrunning.Operation\"{\xca\x41*\n\x15google.protobuf.Empty\x12\x11OperationMetadata\xda\x41\x04name\x82\xd3\xe4\x93\x02\x41*?/v1/{name=projects/*/locations/*/backupCollections/*/backups/*}\x12\xd0\x01\n\x0c\x45xportBackup\x12\x30.google.cloud.memorystore.v1.ExportBackupRequest\x1a\x1d.google.longrunning.Operation\"o\xca\x41\x1b\n\x06\x42\x61\x63kup\x12\x11OperationMetadata\x82\xd3\xe4\x93\x02K\"F/v1/{name=projects/*/locations/*/backupCollections/*/backups/*}:export:\x01*\x12\xcb\x01\n\x0e\x42\x61\x63kupInstance\x12\x32.google.cloud.memorystore.v1.BackupInstanceRequest\x1a\x1d.google.longrunning.Operation\"f\xca\x41\x1d\n\x08Instance\x12\x11OperationMetadata\xda\x41\x04name\x82\xd3\xe4\x93\x02\x39\"4/v1/{name=projects/*/locations/*/instances/*}:backup:\x01*\x12\xcc\x01\n\x0eStartMigration\x12\x32.google.cloud.memorystore.v1.StartMigrationRequest\x1a\x1d.google.longrunning.Operation\"g\xca\x41\x1d\n\x08Instance\x12\x11OperationMetadata\x82\xd3\xe4\x93\x02\x41\"</v1/{name=projects/*/locations/*/instances/*}:startMigration:\x01*\x12\xdc\x01\n\x0f\x46inishMigration\x12\x33.google.cloud.memorystore.v1.FinishMigrationRequest\x1a\x1d.google.longrunning.Operation\"u\xca\x41\x1d\n\x08Instance\x12\x11OperationMetadata\xda\x41\nname,force\x82\xd3\xe4\x93\x02\x42\"=/v1/{name=projects/*/locations/*/instances/*}:finishMigration:\x01*\x1a\xbc\x01\xca\x41\x1amemorystore.googleapis.com\xd2\x41\x9b\x01https://www.googleapis.com/auth/cloud-platform,https://www.googleapis.com/auth/memorystore.read-only,https://www.googleapis.com/auth/memorystore.read-writeB\x8a\x08\n\x1f\x63om.google.cloud.memorystore.v1B\x0bV1mainProtoP\x01ZAcloud.google.com/go/memorystore/apiv1/memorystorepb;memorystorepb\xaa\x02\x1bGoogle.Cloud.Memorystore.V1\xca\x02\x1bGoogle\\Cloud\\Memorystore\\V1\xea\x02\x1eGoogle::Cloud::Memorystore::V1\xea\x41n\n%compute.googleapis.com/ForwardingRule\x12\x45projects/{project}/regions/{region}/forwardingRules/{forwarding_rule}\xea\x41N\n\x1e\x63ompute.googleapis.com/Network\x12,projects/{project}/global/networks/{network}\xea\x41w\n(compute.googleapis.com/ServiceAttachment\x12Kprojects/{project}/regions/{region}/serviceAttachments/{service_attachment}\xea\x41x\n!cloudkms.googleapis.com/CryptoKey\x12Sprojects/{project}/locations/{location}/keyRings/{key_ring}/cryptoKeys/{crypto_key}\xea\x41\xa6\x01\n(cloudkms.googleapis.com/CryptoKeyVersion\x12zprojects/{project}/locations/{location}/keyRings/{key_ring}/cryptoKeys/{crypto_key}/cryptoKeyVersions/{crypto_key_version}\xea\x41\\\n\x1fprivateca.googleapis.com/CaPool\x12\x39projects/{project}/locations/{location}/caPools/{ca_pool}\xea\x41w\n(compute.googleapis.com/NetworkAttachment\x12Kprojects/{project}/regions/{region}/networkAttachments/{network_attachment}b\x06proto3"
22
22
 
23
23
  pool = ::Google::Protobuf::DescriptorPool.generated_pool
24
24
  pool.add_serialized_file(descriptor_data)
@@ -40,6 +40,11 @@ module Google
40
40
  Instance::NodeType = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.memorystore.v1.Instance.NodeType").enummodule
41
41
  Instance::Mode = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.memorystore.v1.Instance.Mode").enummodule
42
42
  Instance::ServerCaMode = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.memorystore.v1.Instance.ServerCaMode").enummodule
43
+ StartMigrationRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.memorystore.v1.StartMigrationRequest").msgclass
44
+ FinishMigrationRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.memorystore.v1.FinishMigrationRequest").msgclass
45
+ SelfManagedSource = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.memorystore.v1.SelfManagedSource").msgclass
46
+ MigrationConfig = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.memorystore.v1.MigrationConfig").msgclass
47
+ MigrationConfig::State = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.memorystore.v1.MigrationConfig.State").enummodule
43
48
  AutomatedBackupConfig = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.memorystore.v1.AutomatedBackupConfig").msgclass
44
49
  AutomatedBackupConfig::FixedFrequencySchedule = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.memorystore.v1.AutomatedBackupConfig.FixedFrequencySchedule").msgclass
45
50
  AutomatedBackupConfig::AutomatedBackupMode = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.memorystore.v1.AutomatedBackupConfig.AutomatedBackupMode").enummodule
@@ -79,6 +79,22 @@ module Google
79
79
  # require critical update. After preview, there will be no critical update
80
80
  # needed for backup.
81
81
  rpc :BackupInstance, ::Google::Cloud::Memorystore::V1::BackupInstanceRequest, ::Google::Longrunning::Operation
82
+ # Initiates the migration of a source instance to the target Memorystore
83
+ # instance.
84
+ #
85
+ # After the successful completion of this operation, the target instance
86
+ # will:
87
+ # 1. Set up replication with the source instance and replicate any writes to
88
+ # the source instance.
89
+ # 2. Only allow reads.
90
+ rpc :StartMigration, ::Google::Cloud::Memorystore::V1::StartMigrationRequest, ::Google::Longrunning::Operation
91
+ # Finalizes the migration process.
92
+ #
93
+ # After the successful completion of this operation, the target instance
94
+ # will:
95
+ # 1. Stop replicating from the source instance.
96
+ # 2. Allow both reads and writes.
97
+ rpc :FinishMigration, ::Google::Cloud::Memorystore::V1::FinishMigrationRequest, ::Google::Longrunning::Operation
82
98
  end
83
99
 
84
100
  Stub = Service.rpc_stub_class
@@ -21,7 +21,7 @@ module Google
21
21
  module Cloud
22
22
  module Memorystore
23
23
  module V1
24
- VERSION = "1.9.0"
24
+ VERSION = "1.10.0"
25
25
  end
26
26
  end
27
27
  end
@@ -115,7 +115,7 @@ module Google
115
115
  # Optional. Endpoints for the instance.
116
116
  # @!attribute [rw] mode
117
117
  # @return [::Google::Cloud::Memorystore::V1::Instance::Mode]
118
- # Optional. The mode config for the instance.
118
+ # Optional. Immutable. The mode config for the instance.
119
119
  # @!attribute [rw] simulate_maintenance_event
120
120
  # @return [::Boolean]
121
121
  # Optional. Input only. Simulate a maintenance event.
@@ -187,6 +187,9 @@ module Google
187
187
  # @!attribute [rw] rotate_server_certificate
188
188
  # @return [::Boolean]
189
189
  # Optional. Input only. Rotate the server certificates.
190
+ # @!attribute [r] migration_config
191
+ # @return [::Google::Cloud::Memorystore::V1::MigrationConfig]
192
+ # Output only. Migration config for the instance.
190
193
  class Instance
191
194
  include ::Google::Protobuf::MessageExts
192
195
  extend ::Google::Protobuf::MessageExts::ClassMethods
@@ -305,6 +308,9 @@ module Google
305
308
 
306
309
  # Instance is being deleted.
307
310
  DELETING = 4
311
+
312
+ # Instance is being migrated.
313
+ MIGRATING = 6
308
314
  end
309
315
 
310
316
  # Possible authorization modes of the instance.
@@ -362,7 +368,7 @@ module Google
362
368
  # Standard large.
363
369
  STANDARD_LARGE = 8
364
370
 
365
- # High memory 2x large.
371
+ # High memory 2xlarge.
366
372
  HIGHMEM_2XLARGE = 9
367
373
 
368
374
  # Custom pico.
@@ -409,6 +415,107 @@ module Google
409
415
  end
410
416
  end
411
417
 
418
+ # Request for `StartMigration`.
419
+ # @!attribute [rw] self_managed_source
420
+ # @return [::Google::Cloud::Memorystore::V1::SelfManagedSource]
421
+ # Required. Configuration for migrating from a self-managed Valkey/Redis
422
+ # instance
423
+ # @!attribute [rw] name
424
+ # @return [::String]
425
+ # Required. The resource name of the instance to start migration on.
426
+ # Format: projects/\\{project}/locations/\\{location}/instances/\\{instance}
427
+ class StartMigrationRequest
428
+ include ::Google::Protobuf::MessageExts
429
+ extend ::Google::Protobuf::MessageExts::ClassMethods
430
+ end
431
+
432
+ # Request for `FinishMigration`.
433
+ # @!attribute [rw] name
434
+ # @return [::String]
435
+ # Required. The resource name of the instance to finalize migration on.
436
+ # Format: projects/\\{project}/locations/\\{location}/instances/\\{instance}
437
+ # @!attribute [rw] force
438
+ # @return [::Boolean]
439
+ # Optional. By default, the `FinishMigration` operation ensures the target
440
+ # replication offset to catch up to the source offset as of the time of the
441
+ # call. Set this field to `true` to bypass this offset verification check.
442
+ class FinishMigrationRequest
443
+ include ::Google::Protobuf::MessageExts
444
+ extend ::Google::Protobuf::MessageExts::ClassMethods
445
+ end
446
+
447
+ # Details of the self-managed source instance.
448
+ # @!attribute [rw] ip_address
449
+ # @return [::String]
450
+ # Required. The IP address of the source instance.
451
+ # This IP address should be a stable IP address that can be accessed by the
452
+ # Memorystore instance throughout the migration process.
453
+ # @!attribute [rw] port
454
+ # @return [::Integer]
455
+ # Required. The port of the source instance.
456
+ # This port should be a stable port that can be accessed by the Memorystore
457
+ # instance throughout the migration process.
458
+ # @!attribute [rw] network_attachment
459
+ # @return [::String]
460
+ # Required. The resource name of the Private Service Connect Network
461
+ # Attachment used to establish connectivity to the source instance. This
462
+ # network attachment has the following requirements:
463
+ # 1. It must be in the same project as the Memorystore instance.
464
+ # 2. It must be in the same region as the Memorystore instance.
465
+ # 3. The subnet attached to the network attachment must be in the same VPC
466
+ # network as the source instance nodes.
467
+ #
468
+ # Format:
469
+ # projects/\\{project}/regions/\\{region}/networkAttachments/\\{network_attachment}
470
+ class SelfManagedSource
471
+ include ::Google::Protobuf::MessageExts
472
+ extend ::Google::Protobuf::MessageExts::ClassMethods
473
+ end
474
+
475
+ # Configuration for the migration of an instance.
476
+ # @!attribute [r] self_managed_source
477
+ # @return [::Google::Cloud::Memorystore::V1::SelfManagedSource]
478
+ # Output only. Configuration for migrating from a self-managed Valkey/Redis
479
+ # instance
480
+ # @!attribute [r] state
481
+ # @return [::Google::Cloud::Memorystore::V1::MigrationConfig::State]
482
+ # Output only. Migration state of the instance.
483
+ # @!attribute [r] force_finish_migration
484
+ # @return [::Boolean]
485
+ # Output only. Represents a boolean flag to force migration finalization
486
+ # without offset catch up validation between source and target before
487
+ # stopping replication.
488
+ class MigrationConfig
489
+ include ::Google::Protobuf::MessageExts
490
+ extend ::Google::Protobuf::MessageExts::ClassMethods
491
+
492
+ # Migration state of the instance.
493
+ # New values may be added in the future.
494
+ module State
495
+ # Instance has no migration related activity. This is the initial state.
496
+ STATE_UNSPECIFIED = 0
497
+
498
+ # Instance is not currently migrating. The instance underwent a migration
499
+ # attempt that failed, and the subsequent rollback was successful. The
500
+ # instance is now ready for a new migration attempt if desired.
501
+ ROLLED_BACK = 1
502
+
503
+ # Indicates a previous migration attempt failed. The high-level instance
504
+ # state will be `MIGRATING`. The instance is not ready for a new migration
505
+ # attempt. Rollback is in progress to restore the instance to its original
506
+ # state. The instance will remain in this state until rollback is
507
+ # successful.
508
+ ROLLING_BACK = 5
509
+
510
+ # Instance is in the process of migration. Instance has established
511
+ # successful replication and is ready for cutover.
512
+ REPLICATION_ESTABLISHED = 6
513
+
514
+ # Instance is successfully migrated.
515
+ MIGRATED = 4
516
+ end
517
+ end
518
+
412
519
  # The automated backup config for an instance.
413
520
  # @!attribute [rw] fixed_frequency_schedule
414
521
  # @return [::Google::Cloud::Memorystore::V1::AutomatedBackupConfig::FixedFrequencySchedule]
@@ -753,7 +860,7 @@ module Google
753
860
  # @!attribute [rw] network
754
861
  # @return [::String]
755
862
  # Required. The network where the PSC endpoints are created, in the form of
756
- # projects/\\{project_id}/global/networks/\\{network_id}.
863
+ # projects/\\{project_id}/global/networks/\\{network_name}.
757
864
  # @!attribute [r] service_attachment
758
865
  # @return [::String]
759
866
  # Output only. The service attachment which is the target of the PSC
@@ -797,7 +904,7 @@ module Google
797
904
  # @!attribute [rw] network
798
905
  # @return [::String]
799
906
  # Required. The consumer network where the IP address resides, in the form of
800
- # projects/\\{project_id}/global/networks/\\{network_id}.
907
+ # projects/\\{project_id}/global/networks/\\{network_name}.
801
908
  # @!attribute [rw] service_attachment
802
909
  # @return [::String]
803
910
  # Required. The service attachment which is the target of the PSC connection,
@@ -828,7 +935,7 @@ module Google
828
935
  # @return [::String]
829
936
  # Output only. The network where the IP address of the discovery endpoint
830
937
  # will be reserved, in the form of
831
- # projects/\\{network_project}/global/networks/\\{network_id}.
938
+ # projects/\\{network_project}/global/networks/\\{network_name}.
832
939
  class DiscoveryEndpoint
833
940
  include ::Google::Protobuf::MessageExts
834
941
  extend ::Google::Protobuf::MessageExts::ClassMethods
@@ -1012,7 +1119,7 @@ module Google
1012
1119
  extend ::Google::Protobuf::MessageExts::ClassMethods
1013
1120
  end
1014
1121
 
1015
- # Response message for [ListInstances][].
1122
+ # Response message for `ListInstances`.
1016
1123
  # @!attribute [rw] instances
1017
1124
  # @return [::Array<::Google::Cloud::Memorystore::V1::Instance>]
1018
1125
  # If the \\{location} requested was "-" the response contains a list of
@@ -1133,7 +1240,7 @@ module Google
1133
1240
  extend ::Google::Protobuf::MessageExts::ClassMethods
1134
1241
  end
1135
1242
 
1136
- # Request for [ListBackupCollections]
1243
+ # Request for `ListBackupCollections`.
1137
1244
  # @!attribute [rw] parent
1138
1245
  # @return [::String]
1139
1246
  # Required. The resource name of the backupCollection location using the
@@ -1147,18 +1254,18 @@ module Google
1147
1254
  # If not specified, a default value of 1000 will be used by the service.
1148
1255
  # Regardless of the page_size value, the response may include a partial list
1149
1256
  # and a caller should only rely on response's
1150
- # {::Google::Cloud::Memorystore::V1::ListBackupCollectionsResponse#next_page_token `next_page_token`}
1257
+ # `next_page_token`
1151
1258
  # to determine if there are more clusters left to be queried.
1152
1259
  # @!attribute [rw] page_token
1153
1260
  # @return [::String]
1154
1261
  # Optional. The `next_page_token` value returned from a previous
1155
- # [ListBackupCollections] request, if any.
1262
+ # `ListBackupCollections` request, if any.
1156
1263
  class ListBackupCollectionsRequest
1157
1264
  include ::Google::Protobuf::MessageExts
1158
1265
  extend ::Google::Protobuf::MessageExts::ClassMethods
1159
1266
  end
1160
1267
 
1161
- # Response for [ListBackupCollections].
1268
+ # Response for `ListBackupCollections`.
1162
1269
  # @!attribute [rw] backup_collections
1163
1270
  # @return [::Array<::Google::Cloud::Memorystore::V1::BackupCollection>]
1164
1271
  # A list of backupCollections in the project.
@@ -1183,7 +1290,7 @@ module Google
1183
1290
  extend ::Google::Protobuf::MessageExts::ClassMethods
1184
1291
  end
1185
1292
 
1186
- # Request for [GetBackupCollection].
1293
+ # Request for `GetBackupCollection`.
1187
1294
  # @!attribute [rw] name
1188
1295
  # @return [::String]
1189
1296
  # Required. Instance backupCollection resource name using the form:
@@ -1194,7 +1301,7 @@ module Google
1194
1301
  extend ::Google::Protobuf::MessageExts::ClassMethods
1195
1302
  end
1196
1303
 
1197
- # Request for [ListBackups].
1304
+ # Request for `ListBackups`.
1198
1305
  # @!attribute [rw] parent
1199
1306
  # @return [::String]
1200
1307
  # Required. The resource name of the backupCollection using the form:
@@ -1206,18 +1313,18 @@ module Google
1206
1313
  # If not specified, a default value of 1000 will be used by the service.
1207
1314
  # Regardless of the page_size value, the response may include a partial list
1208
1315
  # and a caller should only rely on response's
1209
- # {::Google::Cloud::Memorystore::V1::ListBackupsResponse#next_page_token `next_page_token`}
1316
+ # `next_page_token`
1210
1317
  # to determine if there are more clusters left to be queried.
1211
1318
  # @!attribute [rw] page_token
1212
1319
  # @return [::String]
1213
1320
  # Optional. The `next_page_token` value returned from a previous
1214
- # [ListBackupCollections] request, if any.
1321
+ # `ListBackupCollections` request, if any.
1215
1322
  class ListBackupsRequest
1216
1323
  include ::Google::Protobuf::MessageExts
1217
1324
  extend ::Google::Protobuf::MessageExts::ClassMethods
1218
1325
  end
1219
1326
 
1220
- # Response for [ListBackups].
1327
+ # Response for `ListBackups`.
1221
1328
  # @!attribute [rw] backups
1222
1329
  # @return [::Array<::Google::Cloud::Memorystore::V1::Backup>]
1223
1330
  # A list of backups in the project.
@@ -1233,7 +1340,7 @@ module Google
1233
1340
  extend ::Google::Protobuf::MessageExts::ClassMethods
1234
1341
  end
1235
1342
 
1236
- # Request for [GetBackup].
1343
+ # Request for `GetBackup`.
1237
1344
  # @!attribute [rw] name
1238
1345
  # @return [::String]
1239
1346
  # Required. Instance backup resource name using the form:
@@ -1243,7 +1350,7 @@ module Google
1243
1350
  extend ::Google::Protobuf::MessageExts::ClassMethods
1244
1351
  end
1245
1352
 
1246
- # Request for [DeleteBackup].
1353
+ # Request for `DeleteBackup`.
1247
1354
  # @!attribute [rw] name
1248
1355
  # @return [::String]
1249
1356
  # Required. Instance backup resource name using the form:
@@ -1256,7 +1363,7 @@ module Google
1256
1363
  extend ::Google::Protobuf::MessageExts::ClassMethods
1257
1364
  end
1258
1365
 
1259
- # Request for [ExportBackup].
1366
+ # Request for `ExportBackup`.
1260
1367
  # @!attribute [rw] gcs_bucket
1261
1368
  # @return [::String]
1262
1369
  # Google Cloud Storage bucket, like "my-bucket".
@@ -1269,7 +1376,7 @@ module Google
1269
1376
  extend ::Google::Protobuf::MessageExts::ClassMethods
1270
1377
  end
1271
1378
 
1272
- # Request for [BackupInstance].
1379
+ # Request for `BackupInstance`.
1273
1380
  # @!attribute [rw] name
1274
1381
  # @return [::String]
1275
1382
  # Required. Instance resource name using the form:
@@ -1288,7 +1395,7 @@ module Google
1288
1395
  extend ::Google::Protobuf::MessageExts::ClassMethods
1289
1396
  end
1290
1397
 
1291
- # Request message for [GetCertificateAuthority][].
1398
+ # Request message for `GetCertificateAuthority`.
1292
1399
  # @!attribute [rw] name
1293
1400
  # @return [::String]
1294
1401
  # Required. The name of the certificate authority.
@@ -1364,8 +1471,7 @@ module Google
1364
1471
  end
1365
1472
  end
1366
1473
 
1367
- # Request for
1368
- # {::Google::Cloud::Memorystore::V1::Memorystore::Client#get_shared_regional_certificate_authority GetSharedRegionalCertificateAuthority}.
1474
+ # Request for `GetSharedRegionalCertificateAuthority`.
1369
1475
  # @!attribute [rw] name
1370
1476
  # @return [::String]
1371
1477
  # Required. Regional certificate authority resource name using the form:
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: google-cloud-memorystore-v1
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.9.0
4
+ version: 1.10.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Google LLC