google-cloud-secret_manager-v1 1.8.0 → 1.9.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: 2cb2b309aeef86e406e7a6d3d2826be67ab196ae8eceaba2cd56eddefef59730
4
- data.tar.gz: '049c5054872d9da179085de3fb61326ad8ff104f56b1ba92dbac7a15a4c11dfb'
3
+ metadata.gz: 59a418cd18ea84668eef6751f12ffef213a47c4218be4265291bdbca24dd513a
4
+ data.tar.gz: 5cf12236cf039edd5db9839a22e4bbf17a331c595b995bf6a8a00ccd8ce019c0
5
5
  SHA512:
6
- metadata.gz: b36683fbafa06ebe336f91a801492440be01f17cdf8f9a61ba9598b4f17726b897759ffc2d320ce645740d221bfea8c6fab3f78058c466423265d777fcfb2730
7
- data.tar.gz: 8ae0e894fa15ff415c912d13531f9e227a74fa3fff9437f36126072de0412ca46771946ea6dda053b5c283c37d748a53cda29e45e81c5da43db4801ce794ef4f
6
+ metadata.gz: 32e96e0d95ed2d9cf44c6884811149ebaf2982b06086a0119fc4570fc03266b1ec5618a999d33f156d251f6b51dd721ca25927ef93a8d4d877aeb4bd78eea8b7
7
+ data.tar.gz: 98d935747403e93aa19d1d0ffa0cb7146cb6ebcf06c9ee87cfd2508ba7518f55fa5359e47c14b1717a0c96d92e082d60ebe20d2923b8a2582a35d2c173b3ac3f
@@ -1685,6 +1685,190 @@ module Google
1685
1685
  raise ::Google::Cloud::Error.from_error(e)
1686
1686
  end
1687
1687
 
1688
+ ##
1689
+ # Enables the managed rotation feature for a
1690
+ # {::Google::Cloud::SecretManager::V1::Secret Secret}. This method can only be
1691
+ # triggered once for a secret. In order to do further rotations, RotateSecret
1692
+ # should be used. This method will add a secret version and update the
1693
+ # password in Cloud SQL.
1694
+ #
1695
+ # @overload enable_managed_rotation(request, options = nil)
1696
+ # Pass arguments to `enable_managed_rotation` via a request object, either of type
1697
+ # {::Google::Cloud::SecretManager::V1::EnableManagedRotationRequest} or an equivalent Hash.
1698
+ #
1699
+ # @param request [::Google::Cloud::SecretManager::V1::EnableManagedRotationRequest, ::Hash]
1700
+ # A request object representing the call parameters. Required. To specify no
1701
+ # parameters, or to keep all the default parameter values, pass an empty Hash.
1702
+ # @param options [::Gapic::CallOptions, ::Hash]
1703
+ # Overrides the default settings for this call, e.g, timeout, retries, etc. Optional.
1704
+ #
1705
+ # @overload enable_managed_rotation(parent: nil, cloud_sql_single_user_credentials: nil)
1706
+ # Pass arguments to `enable_managed_rotation` via keyword arguments. Note that at
1707
+ # least one keyword argument is required. To specify no parameters, or to keep all
1708
+ # the default parameter values, pass an empty Hash as a request object (see above).
1709
+ #
1710
+ # @param parent [::String]
1711
+ # Required. The resource name of the
1712
+ # {::Google::Cloud::SecretManager::V1::Secret Secret} to associate with the
1713
+ # {::Google::Cloud::SecretManager::V1::SecretVersion SecretVersion} in the format
1714
+ # `projects/*/secrets/*` or `projects/*/locations/*/secrets/*`.
1715
+ # @param cloud_sql_single_user_credentials [::Google::Cloud::SecretManager::V1::EnableManagedRotationRequest::CloudSQLSingleUserCredentials, ::Hash]
1716
+ # Credentials required for Cloud SQL DB for Single user Managed Rotation.
1717
+ #
1718
+ # @yield [response, operation] Access the result along with the RPC operation
1719
+ # @yieldparam response [::Google::Cloud::SecretManager::V1::SecretVersion]
1720
+ # @yieldparam operation [::GRPC::ActiveCall::Operation]
1721
+ #
1722
+ # @return [::Google::Cloud::SecretManager::V1::SecretVersion]
1723
+ #
1724
+ # @raise [::Google::Cloud::Error] if the RPC is aborted.
1725
+ #
1726
+ # @example Basic example
1727
+ # require "google/cloud/secret_manager/v1"
1728
+ #
1729
+ # # Create a client object. The client can be reused for multiple calls.
1730
+ # client = Google::Cloud::SecretManager::V1::SecretManagerService::Client.new
1731
+ #
1732
+ # # Create a request. To set request fields, pass in keyword arguments.
1733
+ # request = Google::Cloud::SecretManager::V1::EnableManagedRotationRequest.new
1734
+ #
1735
+ # # Call the enable_managed_rotation method.
1736
+ # result = client.enable_managed_rotation request
1737
+ #
1738
+ # # The returned object is of type Google::Cloud::SecretManager::V1::SecretVersion.
1739
+ # p result
1740
+ #
1741
+ def enable_managed_rotation request, options = nil
1742
+ raise ::ArgumentError, "request must be provided" if request.nil?
1743
+
1744
+ request = ::Gapic::Protobuf.coerce request, to: ::Google::Cloud::SecretManager::V1::EnableManagedRotationRequest
1745
+
1746
+ # Converts hash and nil to an options object
1747
+ options = ::Gapic::CallOptions.new(**options.to_h) if options.respond_to? :to_h
1748
+
1749
+ # Customize the options with defaults
1750
+ metadata = @config.rpcs.enable_managed_rotation.metadata.to_h
1751
+
1752
+ # Set x-goog-api-client, x-goog-user-project and x-goog-api-version headers
1753
+ metadata[:"x-goog-api-client"] ||= ::Gapic::Headers.x_goog_api_client \
1754
+ lib_name: @config.lib_name, lib_version: @config.lib_version,
1755
+ gapic_version: ::Google::Cloud::SecretManager::V1::VERSION
1756
+ metadata[:"x-goog-api-version"] = API_VERSION unless API_VERSION.empty?
1757
+ metadata[:"x-goog-user-project"] = @quota_project_id if @quota_project_id
1758
+
1759
+ header_params = {}
1760
+ if request.parent
1761
+ header_params["parent"] = request.parent
1762
+ end
1763
+
1764
+ request_params_header = header_params.map { |k, v| "#{k}=#{v}" }.join("&")
1765
+ metadata[:"x-goog-request-params"] ||= request_params_header
1766
+
1767
+ options.apply_defaults timeout: @config.rpcs.enable_managed_rotation.timeout,
1768
+ metadata: metadata,
1769
+ retry_policy: @config.rpcs.enable_managed_rotation.retry_policy
1770
+
1771
+ options.apply_defaults timeout: @config.timeout,
1772
+ metadata: @config.metadata,
1773
+ retry_policy: @config.retry_policy
1774
+
1775
+ @secret_manager_service_stub.call_rpc :enable_managed_rotation, request, options: options do |response, operation|
1776
+ yield response, operation if block_given?
1777
+ end
1778
+ rescue ::GRPC::BadStatus => e
1779
+ raise ::Google::Cloud::Error.from_error(e)
1780
+ end
1781
+
1782
+ ##
1783
+ # Do a managed rotation for a {::Google::Cloud::SecretManager::V1::Secret Secret}.
1784
+ # This can only be triggered after Managed rotation has been enabled.
1785
+ # This method will add a secret version and update the password in Cloud SQL.
1786
+ #
1787
+ # @overload rotate_secret(request, options = nil)
1788
+ # Pass arguments to `rotate_secret` via a request object, either of type
1789
+ # {::Google::Cloud::SecretManager::V1::RotateSecretRequest} or an equivalent Hash.
1790
+ #
1791
+ # @param request [::Google::Cloud::SecretManager::V1::RotateSecretRequest, ::Hash]
1792
+ # A request object representing the call parameters. Required. To specify no
1793
+ # parameters, or to keep all the default parameter values, pass an empty Hash.
1794
+ # @param options [::Gapic::CallOptions, ::Hash]
1795
+ # Overrides the default settings for this call, e.g, timeout, retries, etc. Optional.
1796
+ #
1797
+ # @overload rotate_secret(parent: nil)
1798
+ # Pass arguments to `rotate_secret` via keyword arguments. Note that at
1799
+ # least one keyword argument is required. To specify no parameters, or to keep all
1800
+ # the default parameter values, pass an empty Hash as a request object (see above).
1801
+ #
1802
+ # @param parent [::String]
1803
+ # Required. The resource name of the
1804
+ # {::Google::Cloud::SecretManager::V1::Secret Secret} to associate with the
1805
+ # {::Google::Cloud::SecretManager::V1::SecretVersion SecretVersion} in the format
1806
+ # `projects/*/secrets/*` or `projects/*/locations/*/secrets/*`.
1807
+ #
1808
+ # @yield [response, operation] Access the result along with the RPC operation
1809
+ # @yieldparam response [::Google::Cloud::SecretManager::V1::SecretVersion]
1810
+ # @yieldparam operation [::GRPC::ActiveCall::Operation]
1811
+ #
1812
+ # @return [::Google::Cloud::SecretManager::V1::SecretVersion]
1813
+ #
1814
+ # @raise [::Google::Cloud::Error] if the RPC is aborted.
1815
+ #
1816
+ # @example Basic example
1817
+ # require "google/cloud/secret_manager/v1"
1818
+ #
1819
+ # # Create a client object. The client can be reused for multiple calls.
1820
+ # client = Google::Cloud::SecretManager::V1::SecretManagerService::Client.new
1821
+ #
1822
+ # # Create a request. To set request fields, pass in keyword arguments.
1823
+ # request = Google::Cloud::SecretManager::V1::RotateSecretRequest.new
1824
+ #
1825
+ # # Call the rotate_secret method.
1826
+ # result = client.rotate_secret request
1827
+ #
1828
+ # # The returned object is of type Google::Cloud::SecretManager::V1::SecretVersion.
1829
+ # p result
1830
+ #
1831
+ def rotate_secret request, options = nil
1832
+ raise ::ArgumentError, "request must be provided" if request.nil?
1833
+
1834
+ request = ::Gapic::Protobuf.coerce request, to: ::Google::Cloud::SecretManager::V1::RotateSecretRequest
1835
+
1836
+ # Converts hash and nil to an options object
1837
+ options = ::Gapic::CallOptions.new(**options.to_h) if options.respond_to? :to_h
1838
+
1839
+ # Customize the options with defaults
1840
+ metadata = @config.rpcs.rotate_secret.metadata.to_h
1841
+
1842
+ # Set x-goog-api-client, x-goog-user-project and x-goog-api-version headers
1843
+ metadata[:"x-goog-api-client"] ||= ::Gapic::Headers.x_goog_api_client \
1844
+ lib_name: @config.lib_name, lib_version: @config.lib_version,
1845
+ gapic_version: ::Google::Cloud::SecretManager::V1::VERSION
1846
+ metadata[:"x-goog-api-version"] = API_VERSION unless API_VERSION.empty?
1847
+ metadata[:"x-goog-user-project"] = @quota_project_id if @quota_project_id
1848
+
1849
+ header_params = {}
1850
+ if request.parent
1851
+ header_params["parent"] = request.parent
1852
+ end
1853
+
1854
+ request_params_header = header_params.map { |k, v| "#{k}=#{v}" }.join("&")
1855
+ metadata[:"x-goog-request-params"] ||= request_params_header
1856
+
1857
+ options.apply_defaults timeout: @config.rpcs.rotate_secret.timeout,
1858
+ metadata: metadata,
1859
+ retry_policy: @config.rpcs.rotate_secret.retry_policy
1860
+
1861
+ options.apply_defaults timeout: @config.timeout,
1862
+ metadata: @config.metadata,
1863
+ retry_policy: @config.retry_policy
1864
+
1865
+ @secret_manager_service_stub.call_rpc :rotate_secret, request, options: options do |response, operation|
1866
+ yield response, operation if block_given?
1867
+ end
1868
+ rescue ::GRPC::BadStatus => e
1869
+ raise ::Google::Cloud::Error.from_error(e)
1870
+ end
1871
+
1688
1872
  ##
1689
1873
  # Configuration class for the SecretManagerService API.
1690
1874
  #
@@ -1945,6 +2129,16 @@ module Google
1945
2129
  # @return [::Gapic::Config::Method]
1946
2130
  #
1947
2131
  attr_reader :test_iam_permissions
2132
+ ##
2133
+ # RPC-specific configuration for `enable_managed_rotation`
2134
+ # @return [::Gapic::Config::Method]
2135
+ #
2136
+ attr_reader :enable_managed_rotation
2137
+ ##
2138
+ # RPC-specific configuration for `rotate_secret`
2139
+ # @return [::Gapic::Config::Method]
2140
+ #
2141
+ attr_reader :rotate_secret
1948
2142
 
1949
2143
  # @private
1950
2144
  def initialize parent_rpcs = nil
@@ -1978,6 +2172,10 @@ module Google
1978
2172
  @get_iam_policy = ::Gapic::Config::Method.new get_iam_policy_config
1979
2173
  test_iam_permissions_config = parent_rpcs.test_iam_permissions if parent_rpcs.respond_to? :test_iam_permissions
1980
2174
  @test_iam_permissions = ::Gapic::Config::Method.new test_iam_permissions_config
2175
+ enable_managed_rotation_config = parent_rpcs.enable_managed_rotation if parent_rpcs.respond_to? :enable_managed_rotation
2176
+ @enable_managed_rotation = ::Gapic::Config::Method.new enable_managed_rotation_config
2177
+ rotate_secret_config = parent_rpcs.rotate_secret if parent_rpcs.respond_to? :rotate_secret
2178
+ @rotate_secret = ::Gapic::Config::Method.new rotate_secret_config
1981
2179
 
1982
2180
  yield self if block_given?
1983
2181
  end
@@ -1574,6 +1574,176 @@ module Google
1574
1574
  raise ::Google::Cloud::Error.from_error(e)
1575
1575
  end
1576
1576
 
1577
+ ##
1578
+ # Enables the managed rotation feature for a
1579
+ # {::Google::Cloud::SecretManager::V1::Secret Secret}. This method can only be
1580
+ # triggered once for a secret. In order to do further rotations, RotateSecret
1581
+ # should be used. This method will add a secret version and update the
1582
+ # password in Cloud SQL.
1583
+ #
1584
+ # @overload enable_managed_rotation(request, options = nil)
1585
+ # Pass arguments to `enable_managed_rotation` via a request object, either of type
1586
+ # {::Google::Cloud::SecretManager::V1::EnableManagedRotationRequest} or an equivalent Hash.
1587
+ #
1588
+ # @param request [::Google::Cloud::SecretManager::V1::EnableManagedRotationRequest, ::Hash]
1589
+ # A request object representing the call parameters. Required. To specify no
1590
+ # parameters, or to keep all the default parameter values, pass an empty Hash.
1591
+ # @param options [::Gapic::CallOptions, ::Hash]
1592
+ # Overrides the default settings for this call, e.g, timeout, retries etc. Optional.
1593
+ #
1594
+ # @overload enable_managed_rotation(parent: nil, cloud_sql_single_user_credentials: nil)
1595
+ # Pass arguments to `enable_managed_rotation` via keyword arguments. Note that at
1596
+ # least one keyword argument is required. To specify no parameters, or to keep all
1597
+ # the default parameter values, pass an empty Hash as a request object (see above).
1598
+ #
1599
+ # @param parent [::String]
1600
+ # Required. The resource name of the
1601
+ # {::Google::Cloud::SecretManager::V1::Secret Secret} to associate with the
1602
+ # {::Google::Cloud::SecretManager::V1::SecretVersion SecretVersion} in the format
1603
+ # `projects/*/secrets/*` or `projects/*/locations/*/secrets/*`.
1604
+ # @param cloud_sql_single_user_credentials [::Google::Cloud::SecretManager::V1::EnableManagedRotationRequest::CloudSQLSingleUserCredentials, ::Hash]
1605
+ # Credentials required for Cloud SQL DB for Single user Managed Rotation.
1606
+ # @yield [result, operation] Access the result along with the TransportOperation object
1607
+ # @yieldparam result [::Google::Cloud::SecretManager::V1::SecretVersion]
1608
+ # @yieldparam operation [::Gapic::Rest::TransportOperation]
1609
+ #
1610
+ # @return [::Google::Cloud::SecretManager::V1::SecretVersion]
1611
+ #
1612
+ # @raise [::Google::Cloud::Error] if the REST call is aborted.
1613
+ #
1614
+ # @example Basic example
1615
+ # require "google/cloud/secret_manager/v1"
1616
+ #
1617
+ # # Create a client object. The client can be reused for multiple calls.
1618
+ # client = Google::Cloud::SecretManager::V1::SecretManagerService::Rest::Client.new
1619
+ #
1620
+ # # Create a request. To set request fields, pass in keyword arguments.
1621
+ # request = Google::Cloud::SecretManager::V1::EnableManagedRotationRequest.new
1622
+ #
1623
+ # # Call the enable_managed_rotation method.
1624
+ # result = client.enable_managed_rotation request
1625
+ #
1626
+ # # The returned object is of type Google::Cloud::SecretManager::V1::SecretVersion.
1627
+ # p result
1628
+ #
1629
+ def enable_managed_rotation request, options = nil
1630
+ raise ::ArgumentError, "request must be provided" if request.nil?
1631
+
1632
+ request = ::Gapic::Protobuf.coerce request, to: ::Google::Cloud::SecretManager::V1::EnableManagedRotationRequest
1633
+
1634
+ # Converts hash and nil to an options object
1635
+ options = ::Gapic::CallOptions.new(**options.to_h) if options.respond_to? :to_h
1636
+
1637
+ # Customize the options with defaults
1638
+ call_metadata = @config.rpcs.enable_managed_rotation.metadata.to_h
1639
+
1640
+ # Set x-goog-api-client, x-goog-user-project and x-goog-api-version headers
1641
+ call_metadata[:"x-goog-api-client"] ||= ::Gapic::Headers.x_goog_api_client \
1642
+ lib_name: @config.lib_name, lib_version: @config.lib_version,
1643
+ gapic_version: ::Google::Cloud::SecretManager::V1::VERSION,
1644
+ transports_version_send: [:rest]
1645
+
1646
+ call_metadata[:"x-goog-api-version"] = API_VERSION unless API_VERSION.empty?
1647
+ call_metadata[:"x-goog-user-project"] = @quota_project_id if @quota_project_id
1648
+
1649
+ options.apply_defaults timeout: @config.rpcs.enable_managed_rotation.timeout,
1650
+ metadata: call_metadata,
1651
+ retry_policy: @config.rpcs.enable_managed_rotation.retry_policy
1652
+
1653
+ options.apply_defaults timeout: @config.timeout,
1654
+ metadata: @config.metadata,
1655
+ retry_policy: @config.retry_policy
1656
+
1657
+ @secret_manager_service_stub.enable_managed_rotation request, options do |result, operation|
1658
+ yield result, operation if block_given?
1659
+ end
1660
+ rescue ::Gapic::Rest::Error => e
1661
+ raise ::Google::Cloud::Error.from_error(e)
1662
+ end
1663
+
1664
+ ##
1665
+ # Do a managed rotation for a {::Google::Cloud::SecretManager::V1::Secret Secret}.
1666
+ # This can only be triggered after Managed rotation has been enabled.
1667
+ # This method will add a secret version and update the password in Cloud SQL.
1668
+ #
1669
+ # @overload rotate_secret(request, options = nil)
1670
+ # Pass arguments to `rotate_secret` via a request object, either of type
1671
+ # {::Google::Cloud::SecretManager::V1::RotateSecretRequest} or an equivalent Hash.
1672
+ #
1673
+ # @param request [::Google::Cloud::SecretManager::V1::RotateSecretRequest, ::Hash]
1674
+ # A request object representing the call parameters. Required. To specify no
1675
+ # parameters, or to keep all the default parameter values, pass an empty Hash.
1676
+ # @param options [::Gapic::CallOptions, ::Hash]
1677
+ # Overrides the default settings for this call, e.g, timeout, retries etc. Optional.
1678
+ #
1679
+ # @overload rotate_secret(parent: nil)
1680
+ # Pass arguments to `rotate_secret` via keyword arguments. Note that at
1681
+ # least one keyword argument is required. To specify no parameters, or to keep all
1682
+ # the default parameter values, pass an empty Hash as a request object (see above).
1683
+ #
1684
+ # @param parent [::String]
1685
+ # Required. The resource name of the
1686
+ # {::Google::Cloud::SecretManager::V1::Secret Secret} to associate with the
1687
+ # {::Google::Cloud::SecretManager::V1::SecretVersion SecretVersion} in the format
1688
+ # `projects/*/secrets/*` or `projects/*/locations/*/secrets/*`.
1689
+ # @yield [result, operation] Access the result along with the TransportOperation object
1690
+ # @yieldparam result [::Google::Cloud::SecretManager::V1::SecretVersion]
1691
+ # @yieldparam operation [::Gapic::Rest::TransportOperation]
1692
+ #
1693
+ # @return [::Google::Cloud::SecretManager::V1::SecretVersion]
1694
+ #
1695
+ # @raise [::Google::Cloud::Error] if the REST call is aborted.
1696
+ #
1697
+ # @example Basic example
1698
+ # require "google/cloud/secret_manager/v1"
1699
+ #
1700
+ # # Create a client object. The client can be reused for multiple calls.
1701
+ # client = Google::Cloud::SecretManager::V1::SecretManagerService::Rest::Client.new
1702
+ #
1703
+ # # Create a request. To set request fields, pass in keyword arguments.
1704
+ # request = Google::Cloud::SecretManager::V1::RotateSecretRequest.new
1705
+ #
1706
+ # # Call the rotate_secret method.
1707
+ # result = client.rotate_secret request
1708
+ #
1709
+ # # The returned object is of type Google::Cloud::SecretManager::V1::SecretVersion.
1710
+ # p result
1711
+ #
1712
+ def rotate_secret request, options = nil
1713
+ raise ::ArgumentError, "request must be provided" if request.nil?
1714
+
1715
+ request = ::Gapic::Protobuf.coerce request, to: ::Google::Cloud::SecretManager::V1::RotateSecretRequest
1716
+
1717
+ # Converts hash and nil to an options object
1718
+ options = ::Gapic::CallOptions.new(**options.to_h) if options.respond_to? :to_h
1719
+
1720
+ # Customize the options with defaults
1721
+ call_metadata = @config.rpcs.rotate_secret.metadata.to_h
1722
+
1723
+ # Set x-goog-api-client, x-goog-user-project and x-goog-api-version headers
1724
+ call_metadata[:"x-goog-api-client"] ||= ::Gapic::Headers.x_goog_api_client \
1725
+ lib_name: @config.lib_name, lib_version: @config.lib_version,
1726
+ gapic_version: ::Google::Cloud::SecretManager::V1::VERSION,
1727
+ transports_version_send: [:rest]
1728
+
1729
+ call_metadata[:"x-goog-api-version"] = API_VERSION unless API_VERSION.empty?
1730
+ call_metadata[:"x-goog-user-project"] = @quota_project_id if @quota_project_id
1731
+
1732
+ options.apply_defaults timeout: @config.rpcs.rotate_secret.timeout,
1733
+ metadata: call_metadata,
1734
+ retry_policy: @config.rpcs.rotate_secret.retry_policy
1735
+
1736
+ options.apply_defaults timeout: @config.timeout,
1737
+ metadata: @config.metadata,
1738
+ retry_policy: @config.retry_policy
1739
+
1740
+ @secret_manager_service_stub.rotate_secret request, options do |result, operation|
1741
+ yield result, operation if block_given?
1742
+ end
1743
+ rescue ::Gapic::Rest::Error => e
1744
+ raise ::Google::Cloud::Error.from_error(e)
1745
+ end
1746
+
1577
1747
  ##
1578
1748
  # Configuration class for the SecretManagerService REST API.
1579
1749
  #
@@ -1804,6 +1974,16 @@ module Google
1804
1974
  # @return [::Gapic::Config::Method]
1805
1975
  #
1806
1976
  attr_reader :test_iam_permissions
1977
+ ##
1978
+ # RPC-specific configuration for `enable_managed_rotation`
1979
+ # @return [::Gapic::Config::Method]
1980
+ #
1981
+ attr_reader :enable_managed_rotation
1982
+ ##
1983
+ # RPC-specific configuration for `rotate_secret`
1984
+ # @return [::Gapic::Config::Method]
1985
+ #
1986
+ attr_reader :rotate_secret
1807
1987
 
1808
1988
  # @private
1809
1989
  def initialize parent_rpcs = nil
@@ -1837,6 +2017,10 @@ module Google
1837
2017
  @get_iam_policy = ::Gapic::Config::Method.new get_iam_policy_config
1838
2018
  test_iam_permissions_config = parent_rpcs.test_iam_permissions if parent_rpcs.respond_to? :test_iam_permissions
1839
2019
  @test_iam_permissions = ::Gapic::Config::Method.new test_iam_permissions_config
2020
+ enable_managed_rotation_config = parent_rpcs.enable_managed_rotation if parent_rpcs.respond_to? :enable_managed_rotation
2021
+ @enable_managed_rotation = ::Gapic::Config::Method.new enable_managed_rotation_config
2022
+ rotate_secret_config = parent_rpcs.rotate_secret if parent_rpcs.respond_to? :rotate_secret
2023
+ @rotate_secret = ::Gapic::Config::Method.new rotate_secret_config
1840
2024
 
1841
2025
  yield self if block_given?
1842
2026
  end
@@ -673,6 +673,86 @@ module Google
673
673
  end
674
674
  end
675
675
 
676
+ ##
677
+ # Baseline implementation for the enable_managed_rotation REST call
678
+ #
679
+ # @param request_pb [::Google::Cloud::SecretManager::V1::EnableManagedRotationRequest]
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::Cloud::SecretManager::V1::SecretVersion]
686
+ # @yieldparam operation [::Gapic::Rest::TransportOperation]
687
+ #
688
+ # @return [::Google::Cloud::SecretManager::V1::SecretVersion]
689
+ # A result object deserialized from the server's reply
690
+ def enable_managed_rotation 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_enable_managed_rotation_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: "enable_managed_rotation",
706
+ options: options
707
+ )
708
+ operation = ::Gapic::Rest::TransportOperation.new response
709
+ result = ::Google::Cloud::SecretManager::V1::SecretVersion.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 rotate_secret REST call
718
+ #
719
+ # @param request_pb [::Google::Cloud::SecretManager::V1::RotateSecretRequest]
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::Cloud::SecretManager::V1::SecretVersion]
726
+ # @yieldparam operation [::Gapic::Rest::TransportOperation]
727
+ #
728
+ # @return [::Google::Cloud::SecretManager::V1::SecretVersion]
729
+ # A result object deserialized from the server's reply
730
+ def rotate_secret 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_rotate_secret_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: "rotate_secret",
746
+ options: options
747
+ )
748
+ operation = ::Gapic::Rest::TransportOperation.new response
749
+ result = ::Google::Cloud::SecretManager::V1::SecretVersion.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
  #
@@ -1108,6 +1188,66 @@ module Google
1108
1188
  )
1109
1189
  transcoder.transcode request_pb
1110
1190
  end
1191
+
1192
+ ##
1193
+ # @private
1194
+ #
1195
+ # GRPC transcoding helper method for the enable_managed_rotation REST call
1196
+ #
1197
+ # @param request_pb [::Google::Cloud::SecretManager::V1::EnableManagedRotationRequest]
1198
+ # A request object representing the call parameters. Required.
1199
+ # @return [Array(String, [String, nil], Hash{String => String})]
1200
+ # Uri, Body, Query string parameters
1201
+ def self.transcode_enable_managed_rotation_request request_pb
1202
+ transcoder = Gapic::Rest::GrpcTranscoder.new
1203
+ .with_bindings(
1204
+ uri_method: :post,
1205
+ uri_template: "/v1/{parent}:enableManagedRotation",
1206
+ body: "*",
1207
+ matches: [
1208
+ ["parent", %r{^projects/[^/]+/secrets/[^/]+/?$}, false]
1209
+ ]
1210
+ )
1211
+ .with_bindings(
1212
+ uri_method: :post,
1213
+ uri_template: "/v1/{parent}:enableManagedRotation",
1214
+ body: "*",
1215
+ matches: [
1216
+ ["parent", %r{^projects/[^/]+/locations/[^/]+/secrets/[^/]+/?$}, false]
1217
+ ]
1218
+ )
1219
+ transcoder.transcode request_pb
1220
+ end
1221
+
1222
+ ##
1223
+ # @private
1224
+ #
1225
+ # GRPC transcoding helper method for the rotate_secret REST call
1226
+ #
1227
+ # @param request_pb [::Google::Cloud::SecretManager::V1::RotateSecretRequest]
1228
+ # A request object representing the call parameters. Required.
1229
+ # @return [Array(String, [String, nil], Hash{String => String})]
1230
+ # Uri, Body, Query string parameters
1231
+ def self.transcode_rotate_secret_request request_pb
1232
+ transcoder = Gapic::Rest::GrpcTranscoder.new
1233
+ .with_bindings(
1234
+ uri_method: :post,
1235
+ uri_template: "/v1/{parent}:rotateSecret",
1236
+ body: "*",
1237
+ matches: [
1238
+ ["parent", %r{^projects/[^/]+/secrets/[^/]+/?$}, false]
1239
+ ]
1240
+ )
1241
+ .with_bindings(
1242
+ uri_method: :post,
1243
+ uri_template: "/v1/{parent}:rotateSecret",
1244
+ body: "*",
1245
+ matches: [
1246
+ ["parent", %r{^projects/[^/]+/locations/[^/]+/secrets/[^/]+/?$}, false]
1247
+ ]
1248
+ )
1249
+ transcoder.transcode request_pb
1250
+ end
1111
1251
  end
1112
1252
  end
1113
1253
  end
@@ -21,7 +21,7 @@ module Google
21
21
  module Cloud
22
22
  module SecretManager
23
23
  module V1
24
- VERSION = "1.8.0"
24
+ VERSION = "1.9.0"
25
25
  end
26
26
  end
27
27
  end
@@ -6,11 +6,13 @@ require 'google/protobuf'
6
6
 
7
7
  require 'google/api/field_behavior_pb'
8
8
  require 'google/api/resource_pb'
9
+ require 'google/iam/v1/resource_policy_member_pb'
9
10
  require 'google/protobuf/duration_pb'
10
11
  require 'google/protobuf/timestamp_pb'
12
+ require 'google/rpc/status_pb'
11
13
 
12
14
 
13
- descriptor_data = "\n-google/cloud/secretmanager/v1/resources.proto\x12\x1dgoogle.cloud.secretmanager.v1\x1a\x1fgoogle/api/field_behavior.proto\x1a\x19google/api/resource.proto\x1a\x1egoogle/protobuf/duration.proto\x1a\x1fgoogle/protobuf/timestamp.proto\"\xd9\t\n\x06Secret\x12\x11\n\x04name\x18\x01 \x01(\tB\x03\xe0\x41\x03\x12G\n\x0breplication\x18\x02 \x01(\x0b\x32*.google.cloud.secretmanager.v1.ReplicationB\x06\xe0\x41\x05\xe0\x41\x01\x12\x34\n\x0b\x63reate_time\x18\x03 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x03\xe0\x41\x03\x12\x41\n\x06labels\x18\x04 \x03(\x0b\x32\x31.google.cloud.secretmanager.v1.Secret.LabelsEntry\x12\x39\n\x06topics\x18\x05 \x03(\x0b\x32$.google.cloud.secretmanager.v1.TopicB\x03\xe0\x41\x01\x12\x36\n\x0b\x65xpire_time\x18\x06 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x03\xe0\x41\x01H\x00\x12-\n\x03ttl\x18\x07 \x01(\x0b\x32\x19.google.protobuf.DurationB\x03\xe0\x41\x04H\x00\x12\x11\n\x04\x65tag\x18\x08 \x01(\tB\x03\xe0\x41\x01\x12>\n\x08rotation\x18\t \x01(\x0b\x32\'.google.cloud.secretmanager.v1.RotationB\x03\xe0\x41\x01\x12W\n\x0fversion_aliases\x18\x0b \x03(\x0b\x32\x39.google.cloud.secretmanager.v1.Secret.VersionAliasesEntryB\x03\xe0\x41\x01\x12P\n\x0b\x61nnotations\x18\r \x03(\x0b\x32\x36.google.cloud.secretmanager.v1.Secret.AnnotationsEntryB\x03\xe0\x41\x01\x12;\n\x13version_destroy_ttl\x18\x0e \x01(\x0b\x32\x19.google.protobuf.DurationB\x03\xe0\x41\x01\x12\x62\n\x1b\x63ustomer_managed_encryption\x18\x0f \x01(\x0b\x32\x38.google.cloud.secretmanager.v1.CustomerManagedEncryptionB\x03\xe0\x41\x01\x12H\n\x04tags\x18\x10 \x03(\x0b\x32/.google.cloud.secretmanager.v1.Secret.TagsEntryB\t\xe0\x41\x04\xe0\x41\x05\xe0\x41\x01\x1a-\n\x0bLabelsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\x1a\x35\n\x13VersionAliasesEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\x03:\x02\x38\x01\x1a\x32\n\x10\x41nnotationsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\x1a+\n\tTagsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01:\x99\x01\xea\x41\x95\x01\n#secretmanager.googleapis.com/Secret\x12#projects/{project}/secrets/{secret}\x12\x38projects/{project}/locations/{location}/secrets/{secret}*\x07secrets2\x06secretB\x0c\n\nexpiration\"\xc2\x06\n\rSecretVersion\x12\x11\n\x04name\x18\x01 \x01(\tB\x03\xe0\x41\x03\x12\x34\n\x0b\x63reate_time\x18\x02 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x03\xe0\x41\x03\x12\x35\n\x0c\x64\x65stroy_time\x18\x03 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x03\xe0\x41\x03\x12\x46\n\x05state\x18\x04 \x01(\x0e\x32\x32.google.cloud.secretmanager.v1.SecretVersion.StateB\x03\xe0\x41\x03\x12L\n\x12replication_status\x18\x05 \x01(\x0b\x32\x30.google.cloud.secretmanager.v1.ReplicationStatus\x12\x11\n\x04\x65tag\x18\x06 \x01(\tB\x03\xe0\x41\x03\x12.\n!client_specified_payload_checksum\x18\x07 \x01(\x08\x42\x03\xe0\x41\x03\x12?\n\x16scheduled_destroy_time\x18\x08 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x03\xe0\x41\x03\x12h\n\x1b\x63ustomer_managed_encryption\x18\t \x01(\x0b\x32>.google.cloud.secretmanager.v1.CustomerManagedEncryptionStatusB\x03\xe0\x41\x03\"H\n\x05State\x12\x15\n\x11STATE_UNSPECIFIED\x10\x00\x12\x0b\n\x07\x45NABLED\x10\x01\x12\x0c\n\x08\x44ISABLED\x10\x02\x12\r\n\tDESTROYED\x10\x03:\xe2\x01\xea\x41\xde\x01\n*secretmanager.googleapis.com/SecretVersion\x12=projects/{project}/secrets/{secret}/versions/{secret_version}\x12Rprojects/{project}/locations/{location}/secrets/{secret}/versions/{secret_version}*\x0esecretVersions2\rsecretVersion\"\x90\x04\n\x0bReplication\x12I\n\tautomatic\x18\x01 \x01(\x0b\x32\x34.google.cloud.secretmanager.v1.Replication.AutomaticH\x00\x12N\n\x0cuser_managed\x18\x02 \x01(\x0b\x32\x36.google.cloud.secretmanager.v1.Replication.UserManagedH\x00\x1ao\n\tAutomatic\x12\x62\n\x1b\x63ustomer_managed_encryption\x18\x01 \x01(\x0b\x32\x38.google.cloud.secretmanager.v1.CustomerManagedEncryptionB\x03\xe0\x41\x01\x1a\xe5\x01\n\x0bUserManaged\x12U\n\x08replicas\x18\x01 \x03(\x0b\x32>.google.cloud.secretmanager.v1.Replication.UserManaged.ReplicaB\x03\xe0\x41\x02\x1a\x7f\n\x07Replica\x12\x10\n\x08location\x18\x01 \x01(\t\x12\x62\n\x1b\x63ustomer_managed_encryption\x18\x02 \x01(\x0b\x32\x38.google.cloud.secretmanager.v1.CustomerManagedEncryptionB\x03\xe0\x41\x01\x42\r\n\x0breplication\"6\n\x19\x43ustomerManagedEncryption\x12\x19\n\x0ckms_key_name\x18\x01 \x01(\tB\x03\xe0\x41\x02\"\xeb\x04\n\x11ReplicationStatus\x12U\n\tautomatic\x18\x01 \x01(\x0b\x32@.google.cloud.secretmanager.v1.ReplicationStatus.AutomaticStatusH\x00\x12Z\n\x0cuser_managed\x18\x02 \x01(\x0b\x32\x42.google.cloud.secretmanager.v1.ReplicationStatus.UserManagedStatusH\x00\x1a{\n\x0f\x41utomaticStatus\x12h\n\x1b\x63ustomer_managed_encryption\x18\x01 \x01(\x0b\x32>.google.cloud.secretmanager.v1.CustomerManagedEncryptionStatusB\x03\xe0\x41\x03\x1a\x8f\x02\n\x11UserManagedStatus\x12g\n\x08replicas\x18\x01 \x03(\x0b\x32P.google.cloud.secretmanager.v1.ReplicationStatus.UserManagedStatus.ReplicaStatusB\x03\xe0\x41\x03\x1a\x90\x01\n\rReplicaStatus\x12\x15\n\x08location\x18\x01 \x01(\tB\x03\xe0\x41\x03\x12h\n\x1b\x63ustomer_managed_encryption\x18\x02 \x01(\x0b\x32>.google.cloud.secretmanager.v1.CustomerManagedEncryptionStatusB\x03\xe0\x41\x03\x42\x14\n\x12replication_status\"D\n\x1f\x43ustomerManagedEncryptionStatus\x12!\n\x14kms_key_version_name\x18\x01 \x01(\tB\x03\xe0\x41\x02\"_\n\x05Topic\x12\x11\n\x04name\x18\x01 \x01(\tB\x03\xe0\x41\x08:C\xea\x41@\n\x1bpubsub.googleapis.com/Topic\x12!projects/{project}/topics/{topic}\"\x80\x01\n\x08Rotation\x12;\n\x12next_rotation_time\x18\x01 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x03\xe0\x41\x01\x12\x37\n\x0frotation_period\x18\x02 \x01(\x0b\x32\x19.google.protobuf.DurationB\x03\xe0\x41\x04\"L\n\rSecretPayload\x12\x0c\n\x04\x64\x61ta\x18\x01 \x01(\x0c\x12\x1d\n\x0b\x64\x61ta_crc32c\x18\x02 \x01(\x03\x42\x03\xe0\x41\x01H\x00\x88\x01\x01\x42\x0e\n\x0c_data_crc32cB\xe7\x01\n!com.google.cloud.secretmanager.v1B\x0eResourcesProtoP\x01ZGcloud.google.com/go/secretmanager/apiv1/secretmanagerpb;secretmanagerpb\xa2\x02\x03GSM\xaa\x02\x1dGoogle.Cloud.SecretManager.V1\xca\x02\x1dGoogle\\Cloud\\SecretManager\\V1\xea\x02 Google::Cloud::SecretManager::V1b\x06proto3"
15
+ descriptor_data = "\n-google/cloud/secretmanager/v1/resources.proto\x12\x1dgoogle.cloud.secretmanager.v1\x1a\x1fgoogle/api/field_behavior.proto\x1a\x19google/api/resource.proto\x1a*google/iam/v1/resource_policy_member.proto\x1a\x1egoogle/protobuf/duration.proto\x1a\x1fgoogle/protobuf/timestamp.proto\x1a\x17google/rpc/status.proto\"\xf9\x0b\n\x06Secret\x12\x11\n\x04name\x18\x01 \x01(\tB\x03\xe0\x41\x03\x12G\n\x0breplication\x18\x02 \x01(\x0b\x32*.google.cloud.secretmanager.v1.ReplicationB\x06\xe0\x41\x05\xe0\x41\x01\x12\x34\n\x0b\x63reate_time\x18\x03 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x03\xe0\x41\x03\x12\x41\n\x06labels\x18\x04 \x03(\x0b\x32\x31.google.cloud.secretmanager.v1.Secret.LabelsEntry\x12\x39\n\x06topics\x18\x05 \x03(\x0b\x32$.google.cloud.secretmanager.v1.TopicB\x03\xe0\x41\x01\x12\x36\n\x0b\x65xpire_time\x18\x06 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x03\xe0\x41\x01H\x00\x12-\n\x03ttl\x18\x07 \x01(\x0b\x32\x19.google.protobuf.DurationB\x03\xe0\x41\x04H\x00\x12\x11\n\x04\x65tag\x18\x08 \x01(\tB\x03\xe0\x41\x01\x12>\n\x08rotation\x18\t \x01(\x0b\x32\'.google.cloud.secretmanager.v1.RotationB\x03\xe0\x41\x01\x12W\n\x0fversion_aliases\x18\x0b \x03(\x0b\x32\x39.google.cloud.secretmanager.v1.Secret.VersionAliasesEntryB\x03\xe0\x41\x01\x12P\n\x0b\x61nnotations\x18\r \x03(\x0b\x32\x36.google.cloud.secretmanager.v1.Secret.AnnotationsEntryB\x03\xe0\x41\x01\x12;\n\x13version_destroy_ttl\x18\x0e \x01(\x0b\x32\x19.google.protobuf.DurationB\x03\xe0\x41\x01\x12\x62\n\x1b\x63ustomer_managed_encryption\x18\x0f \x01(\x0b\x32\x38.google.cloud.secretmanager.v1.CustomerManagedEncryptionB\x03\xe0\x41\x01\x12H\n\x04tags\x18\x10 \x03(\x0b\x32/.google.cloud.secretmanager.v1.Secret.TagsEntryB\t\xe0\x41\x04\xe0\x41\x05\xe0\x41\x01\x12M\n\x0bsecret_type\x18\x11 \x01(\x0e\x32\x30.google.cloud.secretmanager.v1.Secret.SecretTypeB\x06\xe0\x41\x05\xe0\x41\x01\x12?\n\rpolicy_member\x18\x12 \x01(\x0b\x32#.google.iam.v1.ResourcePolicyMemberB\x03\xe0\x41\x03\x1a-\n\x0bLabelsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\x1a\x35\n\x13VersionAliasesEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\x03:\x02\x38\x01\x1a\x32\n\x10\x41nnotationsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\x1a+\n\tTagsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\"\x8d\x01\n\nSecretType\x12\x1b\n\x17SECRET_TYPE_UNSPECIFIED\x10\x00\x12\x1c\n\x18\x43LOUD_SQL_DB_CREDENTIALS\x10\x01\x12\x0e\n\nACCESS_KEY\x10\x02\x12\x0f\n\x0b\x43\x45RTIFICATE\x10\x03\x12\x18\n\x14OTHER_DB_CREDENTIALS\x10\x04\x12\t\n\x05OTHER\x10\x32:\x99\x01\xea\x41\x95\x01\n#secretmanager.googleapis.com/Secret\x12#projects/{project}/secrets/{secret}\x12\x38projects/{project}/locations/{location}/secrets/{secret}*\x07secrets2\x06secretB\x0c\n\nexpiration\"\xc2\x06\n\rSecretVersion\x12\x11\n\x04name\x18\x01 \x01(\tB\x03\xe0\x41\x03\x12\x34\n\x0b\x63reate_time\x18\x02 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x03\xe0\x41\x03\x12\x35\n\x0c\x64\x65stroy_time\x18\x03 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x03\xe0\x41\x03\x12\x46\n\x05state\x18\x04 \x01(\x0e\x32\x32.google.cloud.secretmanager.v1.SecretVersion.StateB\x03\xe0\x41\x03\x12L\n\x12replication_status\x18\x05 \x01(\x0b\x32\x30.google.cloud.secretmanager.v1.ReplicationStatus\x12\x11\n\x04\x65tag\x18\x06 \x01(\tB\x03\xe0\x41\x03\x12.\n!client_specified_payload_checksum\x18\x07 \x01(\x08\x42\x03\xe0\x41\x03\x12?\n\x16scheduled_destroy_time\x18\x08 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x03\xe0\x41\x03\x12h\n\x1b\x63ustomer_managed_encryption\x18\t \x01(\x0b\x32>.google.cloud.secretmanager.v1.CustomerManagedEncryptionStatusB\x03\xe0\x41\x03\"H\n\x05State\x12\x15\n\x11STATE_UNSPECIFIED\x10\x00\x12\x0b\n\x07\x45NABLED\x10\x01\x12\x0c\n\x08\x44ISABLED\x10\x02\x12\r\n\tDESTROYED\x10\x03:\xe2\x01\xea\x41\xde\x01\n*secretmanager.googleapis.com/SecretVersion\x12=projects/{project}/secrets/{secret}/versions/{secret_version}\x12Rprojects/{project}/locations/{location}/secrets/{secret}/versions/{secret_version}*\x0esecretVersions2\rsecretVersion\"\x90\x04\n\x0bReplication\x12I\n\tautomatic\x18\x01 \x01(\x0b\x32\x34.google.cloud.secretmanager.v1.Replication.AutomaticH\x00\x12N\n\x0cuser_managed\x18\x02 \x01(\x0b\x32\x36.google.cloud.secretmanager.v1.Replication.UserManagedH\x00\x1ao\n\tAutomatic\x12\x62\n\x1b\x63ustomer_managed_encryption\x18\x01 \x01(\x0b\x32\x38.google.cloud.secretmanager.v1.CustomerManagedEncryptionB\x03\xe0\x41\x01\x1a\xe5\x01\n\x0bUserManaged\x12U\n\x08replicas\x18\x01 \x03(\x0b\x32>.google.cloud.secretmanager.v1.Replication.UserManaged.ReplicaB\x03\xe0\x41\x02\x1a\x7f\n\x07Replica\x12\x10\n\x08location\x18\x01 \x01(\t\x12\x62\n\x1b\x63ustomer_managed_encryption\x18\x02 \x01(\x0b\x32\x38.google.cloud.secretmanager.v1.CustomerManagedEncryptionB\x03\xe0\x41\x01\x42\r\n\x0breplication\"6\n\x19\x43ustomerManagedEncryption\x12\x19\n\x0ckms_key_name\x18\x01 \x01(\tB\x03\xe0\x41\x02\"\xeb\x04\n\x11ReplicationStatus\x12U\n\tautomatic\x18\x01 \x01(\x0b\x32@.google.cloud.secretmanager.v1.ReplicationStatus.AutomaticStatusH\x00\x12Z\n\x0cuser_managed\x18\x02 \x01(\x0b\x32\x42.google.cloud.secretmanager.v1.ReplicationStatus.UserManagedStatusH\x00\x1a{\n\x0f\x41utomaticStatus\x12h\n\x1b\x63ustomer_managed_encryption\x18\x01 \x01(\x0b\x32>.google.cloud.secretmanager.v1.CustomerManagedEncryptionStatusB\x03\xe0\x41\x03\x1a\x8f\x02\n\x11UserManagedStatus\x12g\n\x08replicas\x18\x01 \x03(\x0b\x32P.google.cloud.secretmanager.v1.ReplicationStatus.UserManagedStatus.ReplicaStatusB\x03\xe0\x41\x03\x1a\x90\x01\n\rReplicaStatus\x12\x15\n\x08location\x18\x01 \x01(\tB\x03\xe0\x41\x03\x12h\n\x1b\x63ustomer_managed_encryption\x18\x02 \x01(\x0b\x32>.google.cloud.secretmanager.v1.CustomerManagedEncryptionStatusB\x03\xe0\x41\x03\x42\x14\n\x12replication_status\"D\n\x1f\x43ustomerManagedEncryptionStatus\x12!\n\x14kms_key_version_name\x18\x01 \x01(\tB\x03\xe0\x41\x02\"_\n\x05Topic\x12\x11\n\x04name\x18\x01 \x01(\tB\x03\xe0\x41\x08:C\xea\x41@\n\x1bpubsub.googleapis.com/Topic\x12!projects/{project}/topics/{topic}\"\xba\x03\n\x08Rotation\x12;\n\x12next_rotation_time\x18\x01 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x03\xe0\x41\x01\x12\x37\n\x0frotation_period\x18\x02 \x01(\x0b\x32\x19.google.protobuf.DurationB\x03\xe0\x41\x04\x12\x63\n\x17managed_rotation_status\x18\x03 \x01(\x0b\x32=.google.cloud.secretmanager.v1.Rotation.ManagedRotationStatusB\x03\xe0\x41\x03\x1a\xd2\x01\n\x15ManagedRotationStatus\x12W\n\x05state\x18\x01 \x01(\x0e\x32\x43.google.cloud.secretmanager.v1.Rotation.ManagedRotationStatus.StateB\x03\xe0\x41\x03\x12&\n\x05\x65rror\x18\x02 \x01(\x0b\x32\x12.google.rpc.StatusB\x03\xe0\x41\x03\"8\n\x05State\x12\x15\n\x11STATE_UNSPECIFIED\x10\x00\x12\n\n\x06\x41\x43TIVE\x10\x01\x12\x0c\n\x08INACTIVE\x10\x02\"L\n\rSecretPayload\x12\x0c\n\x04\x64\x61ta\x18\x01 \x01(\x0c\x12\x1d\n\x0b\x64\x61ta_crc32c\x18\x02 \x01(\x03\x42\x03\xe0\x41\x01H\x00\x88\x01\x01\x42\x0e\n\x0c_data_crc32cB\xe7\x01\n!com.google.cloud.secretmanager.v1B\x0eResourcesProtoP\x01ZGcloud.google.com/go/secretmanager/apiv1/secretmanagerpb;secretmanagerpb\xa2\x02\x03GSM\xaa\x02\x1dGoogle.Cloud.SecretManager.V1\xca\x02\x1dGoogle\\Cloud\\SecretManager\\V1\xea\x02 Google::Cloud::SecretManager::V1b\x06proto3"
14
16
 
15
17
  pool = ::Google::Protobuf::DescriptorPool.generated_pool
16
18
  pool.add_serialized_file(descriptor_data)
@@ -20,6 +22,7 @@ module Google
20
22
  module SecretManager
21
23
  module V1
22
24
  Secret = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.secretmanager.v1.Secret").msgclass
25
+ Secret::SecretType = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.secretmanager.v1.Secret.SecretType").enummodule
23
26
  SecretVersion = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.secretmanager.v1.SecretVersion").msgclass
24
27
  SecretVersion::State = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.secretmanager.v1.SecretVersion.State").enummodule
25
28
  Replication = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.secretmanager.v1.Replication").msgclass
@@ -34,6 +37,8 @@ module Google
34
37
  CustomerManagedEncryptionStatus = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.secretmanager.v1.CustomerManagedEncryptionStatus").msgclass
35
38
  Topic = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.secretmanager.v1.Topic").msgclass
36
39
  Rotation = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.secretmanager.v1.Rotation").msgclass
40
+ Rotation::ManagedRotationStatus = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.secretmanager.v1.Rotation.ManagedRotationStatus").msgclass
41
+ Rotation::ManagedRotationStatus::State = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.secretmanager.v1.Rotation.ManagedRotationStatus.State").enummodule
37
42
  SecretPayload = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.secretmanager.v1.SecretPayload").msgclass
38
43
  end
39
44
  end
@@ -15,7 +15,7 @@ require 'google/protobuf/empty_pb'
15
15
  require 'google/protobuf/field_mask_pb'
16
16
 
17
17
 
18
- descriptor_data = "\n+google/cloud/secretmanager/v1/service.proto\x12\x1dgoogle.cloud.secretmanager.v1\x1a\x1cgoogle/api/annotations.proto\x1a\x17google/api/client.proto\x1a\x1fgoogle/api/field_behavior.proto\x1a\x19google/api/resource.proto\x1a-google/cloud/secretmanager/v1/resources.proto\x1a\x1egoogle/iam/v1/iam_policy.proto\x1a\x1agoogle/iam/v1/policy.proto\x1a\x1bgoogle/protobuf/empty.proto\x1a google/protobuf/field_mask.proto\"\x97\x01\n\x12ListSecretsRequest\x12;\n\x06parent\x18\x01 \x01(\tB+\xe0\x41\x02\xfa\x41%\x12#secretmanager.googleapis.com/Secret\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\"z\n\x13ListSecretsResponse\x12\x36\n\x07secrets\x18\x01 \x03(\x0b\x32%.google.cloud.secretmanager.v1.Secret\x12\x17\n\x0fnext_page_token\x18\x02 \x01(\t\x12\x12\n\ntotal_size\x18\x03 \x01(\x05\"\xa6\x01\n\x13\x43reateSecretRequest\x12;\n\x06parent\x18\x01 \x01(\tB+\xe0\x41\x02\xfa\x41%\x12#secretmanager.googleapis.com/Secret\x12\x16\n\tsecret_id\x18\x02 \x01(\tB\x03\xe0\x41\x02\x12:\n\x06secret\x18\x03 \x01(\x0b\x32%.google.cloud.secretmanager.v1.SecretB\x03\xe0\x41\x02\"\x9a\x01\n\x17\x41\x64\x64SecretVersionRequest\x12;\n\x06parent\x18\x01 \x01(\tB+\xe0\x41\x02\xfa\x41%\n#secretmanager.googleapis.com/Secret\x12\x42\n\x07payload\x18\x02 \x01(\x0b\x32,.google.cloud.secretmanager.v1.SecretPayloadB\x03\xe0\x41\x02\"M\n\x10GetSecretRequest\x12\x39\n\x04name\x18\x01 \x01(\tB+\xe0\x41\x02\xfa\x41%\n#secretmanager.googleapis.com/Secret\"\x9e\x01\n\x19ListSecretVersionsRequest\x12;\n\x06parent\x18\x01 \x01(\tB+\xe0\x41\x02\xfa\x41%\n#secretmanager.googleapis.com/Secret\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\"\x89\x01\n\x1aListSecretVersionsResponse\x12>\n\x08versions\x18\x01 \x03(\x0b\x32,.google.cloud.secretmanager.v1.SecretVersion\x12\x17\n\x0fnext_page_token\x18\x02 \x01(\t\x12\x12\n\ntotal_size\x18\x03 \x01(\x05\"[\n\x17GetSecretVersionRequest\x12@\n\x04name\x18\x01 \x01(\tB2\xe0\x41\x02\xfa\x41,\n*secretmanager.googleapis.com/SecretVersion\"\x87\x01\n\x13UpdateSecretRequest\x12:\n\x06secret\x18\x01 \x01(\x0b\x32%.google.cloud.secretmanager.v1.SecretB\x03\xe0\x41\x02\x12\x34\n\x0bupdate_mask\x18\x02 \x01(\x0b\x32\x1a.google.protobuf.FieldMaskB\x03\xe0\x41\x02\"^\n\x1a\x41\x63\x63\x65ssSecretVersionRequest\x12@\n\x04name\x18\x01 \x01(\tB2\xe0\x41\x02\xfa\x41,\n*secretmanager.googleapis.com/SecretVersion\"\x9b\x01\n\x1b\x41\x63\x63\x65ssSecretVersionResponse\x12=\n\x04name\x18\x01 \x01(\tB/\xfa\x41,\n*secretmanager.googleapis.com/SecretVersion\x12=\n\x07payload\x18\x02 \x01(\x0b\x32,.google.cloud.secretmanager.v1.SecretPayload\"c\n\x13\x44\x65leteSecretRequest\x12\x39\n\x04name\x18\x01 \x01(\tB+\xe0\x41\x02\xfa\x41%\n#secretmanager.googleapis.com/Secret\x12\x11\n\x04\x65tag\x18\x02 \x01(\tB\x03\xe0\x41\x01\"r\n\x1b\x44isableSecretVersionRequest\x12@\n\x04name\x18\x01 \x01(\tB2\xe0\x41\x02\xfa\x41,\n*secretmanager.googleapis.com/SecretVersion\x12\x11\n\x04\x65tag\x18\x02 \x01(\tB\x03\xe0\x41\x01\"q\n\x1a\x45nableSecretVersionRequest\x12@\n\x04name\x18\x01 \x01(\tB2\xe0\x41\x02\xfa\x41,\n*secretmanager.googleapis.com/SecretVersion\x12\x11\n\x04\x65tag\x18\x02 \x01(\tB\x03\xe0\x41\x01\"r\n\x1b\x44\x65stroySecretVersionRequest\x12@\n\x04name\x18\x01 \x01(\tB2\xe0\x41\x02\xfa\x41,\n*secretmanager.googleapis.com/SecretVersion\x12\x11\n\x04\x65tag\x18\x02 \x01(\tB\x03\xe0\x41\x01\x32\xe8\x1c\n\x14SecretManagerService\x12\xd5\x01\n\x0bListSecrets\x12\x31.google.cloud.secretmanager.v1.ListSecretsRequest\x1a\x32.google.cloud.secretmanager.v1.ListSecretsResponse\"_\xda\x41\x06parent\x82\xd3\xe4\x93\x02P\x12\x1f/v1/{parent=projects/*}/secretsZ-\x12+/v1/{parent=projects/*/locations/*}/secrets\x12\xec\x01\n\x0c\x43reateSecret\x12\x32.google.cloud.secretmanager.v1.CreateSecretRequest\x1a%.google.cloud.secretmanager.v1.Secret\"\x80\x01\xda\x41\x17parent,secret_id,secret\x82\xd3\xe4\x93\x02`\"\x1f/v1/{parent=projects/*}/secrets:\x06secretZ5\"+/v1/{parent=projects/*/locations/*}/secrets:\x06secret\x12\x82\x02\n\x10\x41\x64\x64SecretVersion\x12\x36.google.cloud.secretmanager.v1.AddSecretVersionRequest\x1a,.google.cloud.secretmanager.v1.SecretVersion\"\x87\x01\xda\x41\x0eparent,payload\x82\xd3\xe4\x93\x02p\",/v1/{parent=projects/*/secrets/*}:addVersion:\x01*Z=\"8/v1/{parent=projects/*/locations/*/secrets/*}:addVersion:\x01*\x12\xc2\x01\n\tGetSecret\x12/.google.cloud.secretmanager.v1.GetSecretRequest\x1a%.google.cloud.secretmanager.v1.Secret\"]\xda\x41\x04name\x82\xd3\xe4\x93\x02P\x12\x1f/v1/{name=projects/*/secrets/*}Z-\x12+/v1/{name=projects/*/locations/*/secrets/*}\x12\xf5\x01\n\x0cUpdateSecret\x12\x32.google.cloud.secretmanager.v1.UpdateSecretRequest\x1a%.google.cloud.secretmanager.v1.Secret\"\x89\x01\xda\x41\x12secret,update_mask\x82\xd3\xe4\x93\x02n2&/v1/{secret.name=projects/*/secrets/*}:\x06secretZ<22/v1/{secret.name=projects/*/locations/*/secrets/*}:\x06secret\x12\xb9\x01\n\x0c\x44\x65leteSecret\x12\x32.google.cloud.secretmanager.v1.DeleteSecretRequest\x1a\x16.google.protobuf.Empty\"]\xda\x41\x04name\x82\xd3\xe4\x93\x02P*\x1f/v1/{name=projects/*/secrets/*}Z-*+/v1/{name=projects/*/locations/*/secrets/*}\x12\x80\x02\n\x12ListSecretVersions\x12\x38.google.cloud.secretmanager.v1.ListSecretVersionsRequest\x1a\x39.google.cloud.secretmanager.v1.ListSecretVersionsResponse\"u\xda\x41\x06parent\x82\xd3\xe4\x93\x02\x66\x12*/v1/{parent=projects/*/secrets/*}/versionsZ8\x12\x36/v1/{parent=projects/*/locations/*/secrets/*}/versions\x12\xed\x01\n\x10GetSecretVersion\x12\x36.google.cloud.secretmanager.v1.GetSecretVersionRequest\x1a,.google.cloud.secretmanager.v1.SecretVersion\"s\xda\x41\x04name\x82\xd3\xe4\x93\x02\x66\x12*/v1/{name=projects/*/secrets/*/versions/*}Z8\x12\x36/v1/{name=projects/*/locations/*/secrets/*/versions/*}\x12\x90\x02\n\x13\x41\x63\x63\x65ssSecretVersion\x12\x39.google.cloud.secretmanager.v1.AccessSecretVersionRequest\x1a:.google.cloud.secretmanager.v1.AccessSecretVersionResponse\"\x81\x01\xda\x41\x04name\x82\xd3\xe4\x93\x02t\x12\x31/v1/{name=projects/*/secrets/*/versions/*}:accessZ?\x12=/v1/{name=projects/*/locations/*/secrets/*/versions/*}:access\x12\x8c\x02\n\x14\x44isableSecretVersion\x12:.google.cloud.secretmanager.v1.DisableSecretVersionRequest\x1a,.google.cloud.secretmanager.v1.SecretVersion\"\x89\x01\xda\x41\x04name\x82\xd3\xe4\x93\x02|\"2/v1/{name=projects/*/secrets/*/versions/*}:disable:\x01*ZC\">/v1/{name=projects/*/locations/*/secrets/*/versions/*}:disable:\x01*\x12\x88\x02\n\x13\x45nableSecretVersion\x12\x39.google.cloud.secretmanager.v1.EnableSecretVersionRequest\x1a,.google.cloud.secretmanager.v1.SecretVersion\"\x87\x01\xda\x41\x04name\x82\xd3\xe4\x93\x02z\"1/v1/{name=projects/*/secrets/*/versions/*}:enable:\x01*ZB\"=/v1/{name=projects/*/locations/*/secrets/*/versions/*}:enable:\x01*\x12\x8c\x02\n\x14\x44\x65stroySecretVersion\x12:.google.cloud.secretmanager.v1.DestroySecretVersionRequest\x1a,.google.cloud.secretmanager.v1.SecretVersion\"\x89\x01\xda\x41\x04name\x82\xd3\xe4\x93\x02|\"2/v1/{name=projects/*/secrets/*/versions/*}:destroy:\x01*ZC\">/v1/{name=projects/*/locations/*/secrets/*/versions/*}:destroy:\x01*\x12\xc9\x01\n\x0cSetIamPolicy\x12\".google.iam.v1.SetIamPolicyRequest\x1a\x15.google.iam.v1.Policy\"~\x82\xd3\xe4\x93\x02x\"0/v1/{resource=projects/*/secrets/*}:setIamPolicy:\x01*ZA\"</v1/{resource=projects/*/locations/*/secrets/*}:setIamPolicy:\x01*\x12\xc3\x01\n\x0cGetIamPolicy\x12\".google.iam.v1.GetIamPolicyRequest\x1a\x15.google.iam.v1.Policy\"x\x82\xd3\xe4\x93\x02r\x12\x30/v1/{resource=projects/*/secrets/*}:getIamPolicyZ>\x12</v1/{resource=projects/*/locations/*/secrets/*}:getIamPolicy\x12\xf7\x01\n\x12TestIamPermissions\x12(.google.iam.v1.TestIamPermissionsRequest\x1a).google.iam.v1.TestIamPermissionsResponse\"\x8b\x01\x82\xd3\xe4\x93\x02\x84\x01\"6/v1/{resource=projects/*/secrets/*}:testIamPermissions:\x01*ZG\"B/v1/{resource=projects/*/locations/*/secrets/*}:testIamPermissions:\x01*\x1aP\xca\x41\x1csecretmanager.googleapis.com\xd2\x41.https://www.googleapis.com/auth/cloud-platformB\xe5\x01\n!com.google.cloud.secretmanager.v1B\x0cServiceProtoP\x01ZGcloud.google.com/go/secretmanager/apiv1/secretmanagerpb;secretmanagerpb\xa2\x02\x03GSM\xaa\x02\x1dGoogle.Cloud.SecretManager.V1\xca\x02\x1dGoogle\\Cloud\\SecretManager\\V1\xea\x02 Google::Cloud::SecretManager::V1b\x06proto3"
18
+ descriptor_data = "\n+google/cloud/secretmanager/v1/service.proto\x12\x1dgoogle.cloud.secretmanager.v1\x1a\x1cgoogle/api/annotations.proto\x1a\x17google/api/client.proto\x1a\x1fgoogle/api/field_behavior.proto\x1a\x19google/api/resource.proto\x1a-google/cloud/secretmanager/v1/resources.proto\x1a\x1egoogle/iam/v1/iam_policy.proto\x1a\x1agoogle/iam/v1/policy.proto\x1a\x1bgoogle/protobuf/empty.proto\x1a google/protobuf/field_mask.proto\"\x97\x01\n\x12ListSecretsRequest\x12;\n\x06parent\x18\x01 \x01(\tB+\xe0\x41\x02\xfa\x41%\x12#secretmanager.googleapis.com/Secret\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\"z\n\x13ListSecretsResponse\x12\x36\n\x07secrets\x18\x01 \x03(\x0b\x32%.google.cloud.secretmanager.v1.Secret\x12\x17\n\x0fnext_page_token\x18\x02 \x01(\t\x12\x12\n\ntotal_size\x18\x03 \x01(\x05\"\xa6\x01\n\x13\x43reateSecretRequest\x12;\n\x06parent\x18\x01 \x01(\tB+\xe0\x41\x02\xfa\x41%\x12#secretmanager.googleapis.com/Secret\x12\x16\n\tsecret_id\x18\x02 \x01(\tB\x03\xe0\x41\x02\x12:\n\x06secret\x18\x03 \x01(\x0b\x32%.google.cloud.secretmanager.v1.SecretB\x03\xe0\x41\x02\"\x9a\x01\n\x17\x41\x64\x64SecretVersionRequest\x12;\n\x06parent\x18\x01 \x01(\tB+\xe0\x41\x02\xfa\x41%\n#secretmanager.googleapis.com/Secret\x12\x42\n\x07payload\x18\x02 \x01(\x0b\x32,.google.cloud.secretmanager.v1.SecretPayloadB\x03\xe0\x41\x02\"\xdc\x02\n\x1c\x45nableManagedRotationRequest\x12;\n\x06parent\x18\x01 \x01(\tB+\xe0\x41\x02\xfa\x41%\n#secretmanager.googleapis.com/Secret\x12\x86\x01\n!cloud_sql_single_user_credentials\x18\x02 \x01(\x0b\x32Y.google.cloud.secretmanager.v1.EnableManagedRotationRequest.CloudSQLSingleUserCredentialsH\x00\x1ag\n\x1d\x43loudSQLSingleUserCredentials\x12\x18\n\x0binstance_id\x18\x01 \x01(\tB\x03\xe0\x41\x02\x12\x15\n\x08username\x18\x02 \x01(\tB\x03\xe0\x41\x02\x12\x15\n\x08password\x18\x03 \x01(\tB\x03\xe0\x41\x01\x42\r\n\x0b\x63redentials\"R\n\x13RotateSecretRequest\x12;\n\x06parent\x18\x01 \x01(\tB+\xe0\x41\x02\xfa\x41%\n#secretmanager.googleapis.com/Secret\"M\n\x10GetSecretRequest\x12\x39\n\x04name\x18\x01 \x01(\tB+\xe0\x41\x02\xfa\x41%\n#secretmanager.googleapis.com/Secret\"\x9e\x01\n\x19ListSecretVersionsRequest\x12;\n\x06parent\x18\x01 \x01(\tB+\xe0\x41\x02\xfa\x41%\n#secretmanager.googleapis.com/Secret\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\"\x89\x01\n\x1aListSecretVersionsResponse\x12>\n\x08versions\x18\x01 \x03(\x0b\x32,.google.cloud.secretmanager.v1.SecretVersion\x12\x17\n\x0fnext_page_token\x18\x02 \x01(\t\x12\x12\n\ntotal_size\x18\x03 \x01(\x05\"[\n\x17GetSecretVersionRequest\x12@\n\x04name\x18\x01 \x01(\tB2\xe0\x41\x02\xfa\x41,\n*secretmanager.googleapis.com/SecretVersion\"\x87\x01\n\x13UpdateSecretRequest\x12:\n\x06secret\x18\x01 \x01(\x0b\x32%.google.cloud.secretmanager.v1.SecretB\x03\xe0\x41\x02\x12\x34\n\x0bupdate_mask\x18\x02 \x01(\x0b\x32\x1a.google.protobuf.FieldMaskB\x03\xe0\x41\x02\"^\n\x1a\x41\x63\x63\x65ssSecretVersionRequest\x12@\n\x04name\x18\x01 \x01(\tB2\xe0\x41\x02\xfa\x41,\n*secretmanager.googleapis.com/SecretVersion\"\x9b\x01\n\x1b\x41\x63\x63\x65ssSecretVersionResponse\x12=\n\x04name\x18\x01 \x01(\tB/\xfa\x41,\n*secretmanager.googleapis.com/SecretVersion\x12=\n\x07payload\x18\x02 \x01(\x0b\x32,.google.cloud.secretmanager.v1.SecretPayload\"c\n\x13\x44\x65leteSecretRequest\x12\x39\n\x04name\x18\x01 \x01(\tB+\xe0\x41\x02\xfa\x41%\n#secretmanager.googleapis.com/Secret\x12\x11\n\x04\x65tag\x18\x02 \x01(\tB\x03\xe0\x41\x01\"r\n\x1b\x44isableSecretVersionRequest\x12@\n\x04name\x18\x01 \x01(\tB2\xe0\x41\x02\xfa\x41,\n*secretmanager.googleapis.com/SecretVersion\x12\x11\n\x04\x65tag\x18\x02 \x01(\tB\x03\xe0\x41\x01\"q\n\x1a\x45nableSecretVersionRequest\x12@\n\x04name\x18\x01 \x01(\tB2\xe0\x41\x02\xfa\x41,\n*secretmanager.googleapis.com/SecretVersion\x12\x11\n\x04\x65tag\x18\x02 \x01(\tB\x03\xe0\x41\x01\"r\n\x1b\x44\x65stroySecretVersionRequest\x12@\n\x04name\x18\x01 \x01(\tB2\xe0\x41\x02\xfa\x41,\n*secretmanager.googleapis.com/SecretVersion\x12\x11\n\x04\x65tag\x18\x02 \x01(\tB\x03\xe0\x41\x01\x32\xa1!\n\x14SecretManagerService\x12\xd5\x01\n\x0bListSecrets\x12\x31.google.cloud.secretmanager.v1.ListSecretsRequest\x1a\x32.google.cloud.secretmanager.v1.ListSecretsResponse\"_\xda\x41\x06parent\x82\xd3\xe4\x93\x02P\x12\x1f/v1/{parent=projects/*}/secretsZ-\x12+/v1/{parent=projects/*/locations/*}/secrets\x12\xec\x01\n\x0c\x43reateSecret\x12\x32.google.cloud.secretmanager.v1.CreateSecretRequest\x1a%.google.cloud.secretmanager.v1.Secret\"\x80\x01\xda\x41\x17parent,secret_id,secret\x82\xd3\xe4\x93\x02`\"\x1f/v1/{parent=projects/*}/secrets:\x06secretZ5\"+/v1/{parent=projects/*/locations/*}/secrets:\x06secret\x12\x82\x02\n\x10\x41\x64\x64SecretVersion\x12\x36.google.cloud.secretmanager.v1.AddSecretVersionRequest\x1a,.google.cloud.secretmanager.v1.SecretVersion\"\x87\x01\xda\x41\x0eparent,payload\x82\xd3\xe4\x93\x02p\",/v1/{parent=projects/*/secrets/*}:addVersion:\x01*Z=\"8/v1/{parent=projects/*/locations/*/secrets/*}:addVersion:\x01*\x12\xc2\x01\n\tGetSecret\x12/.google.cloud.secretmanager.v1.GetSecretRequest\x1a%.google.cloud.secretmanager.v1.Secret\"]\xda\x41\x04name\x82\xd3\xe4\x93\x02P\x12\x1f/v1/{name=projects/*/secrets/*}Z-\x12+/v1/{name=projects/*/locations/*/secrets/*}\x12\xf5\x01\n\x0cUpdateSecret\x12\x32.google.cloud.secretmanager.v1.UpdateSecretRequest\x1a%.google.cloud.secretmanager.v1.Secret\"\x89\x01\xda\x41\x12secret,update_mask\x82\xd3\xe4\x93\x02n2&/v1/{secret.name=projects/*/secrets/*}:\x06secretZ<22/v1/{secret.name=projects/*/locations/*/secrets/*}:\x06secret\x12\xb9\x01\n\x0c\x44\x65leteSecret\x12\x32.google.cloud.secretmanager.v1.DeleteSecretRequest\x1a\x16.google.protobuf.Empty\"]\xda\x41\x04name\x82\xd3\xe4\x93\x02P*\x1f/v1/{name=projects/*/secrets/*}Z-*+/v1/{name=projects/*/locations/*/secrets/*}\x12\x80\x02\n\x12ListSecretVersions\x12\x38.google.cloud.secretmanager.v1.ListSecretVersionsRequest\x1a\x39.google.cloud.secretmanager.v1.ListSecretVersionsResponse\"u\xda\x41\x06parent\x82\xd3\xe4\x93\x02\x66\x12*/v1/{parent=projects/*/secrets/*}/versionsZ8\x12\x36/v1/{parent=projects/*/locations/*/secrets/*}/versions\x12\xed\x01\n\x10GetSecretVersion\x12\x36.google.cloud.secretmanager.v1.GetSecretVersionRequest\x1a,.google.cloud.secretmanager.v1.SecretVersion\"s\xda\x41\x04name\x82\xd3\xe4\x93\x02\x66\x12*/v1/{name=projects/*/secrets/*/versions/*}Z8\x12\x36/v1/{name=projects/*/locations/*/secrets/*/versions/*}\x12\x90\x02\n\x13\x41\x63\x63\x65ssSecretVersion\x12\x39.google.cloud.secretmanager.v1.AccessSecretVersionRequest\x1a:.google.cloud.secretmanager.v1.AccessSecretVersionResponse\"\x81\x01\xda\x41\x04name\x82\xd3\xe4\x93\x02t\x12\x31/v1/{name=projects/*/secrets/*/versions/*}:accessZ?\x12=/v1/{name=projects/*/locations/*/secrets/*/versions/*}:access\x12\x8c\x02\n\x14\x44isableSecretVersion\x12:.google.cloud.secretmanager.v1.DisableSecretVersionRequest\x1a,.google.cloud.secretmanager.v1.SecretVersion\"\x89\x01\xda\x41\x04name\x82\xd3\xe4\x93\x02|\"2/v1/{name=projects/*/secrets/*/versions/*}:disable:\x01*ZC\">/v1/{name=projects/*/locations/*/secrets/*/versions/*}:disable:\x01*\x12\x88\x02\n\x13\x45nableSecretVersion\x12\x39.google.cloud.secretmanager.v1.EnableSecretVersionRequest\x1a,.google.cloud.secretmanager.v1.SecretVersion\"\x87\x01\xda\x41\x04name\x82\xd3\xe4\x93\x02z\"1/v1/{name=projects/*/secrets/*/versions/*}:enable:\x01*ZB\"=/v1/{name=projects/*/locations/*/secrets/*/versions/*}:enable:\x01*\x12\x8c\x02\n\x14\x44\x65stroySecretVersion\x12:.google.cloud.secretmanager.v1.DestroySecretVersionRequest\x1a,.google.cloud.secretmanager.v1.SecretVersion\"\x89\x01\xda\x41\x04name\x82\xd3\xe4\x93\x02|\"2/v1/{name=projects/*/secrets/*/versions/*}:destroy:\x01*ZC\">/v1/{name=projects/*/locations/*/secrets/*/versions/*}:destroy:\x01*\x12\xc9\x01\n\x0cSetIamPolicy\x12\".google.iam.v1.SetIamPolicyRequest\x1a\x15.google.iam.v1.Policy\"~\x82\xd3\xe4\x93\x02x\"0/v1/{resource=projects/*/secrets/*}:setIamPolicy:\x01*ZA\"</v1/{resource=projects/*/locations/*/secrets/*}:setIamPolicy:\x01*\x12\xc3\x01\n\x0cGetIamPolicy\x12\".google.iam.v1.GetIamPolicyRequest\x1a\x15.google.iam.v1.Policy\"x\x82\xd3\xe4\x93\x02r\x12\x30/v1/{resource=projects/*/secrets/*}:getIamPolicyZ>\x12</v1/{resource=projects/*/locations/*/secrets/*}:getIamPolicy\x12\xf7\x01\n\x12TestIamPermissions\x12(.google.iam.v1.TestIamPermissionsRequest\x1a).google.iam.v1.TestIamPermissionsResponse\"\x8b\x01\x82\xd3\xe4\x93\x02\x84\x01\"6/v1/{resource=projects/*/secrets/*}:testIamPermissions:\x01*ZG\"B/v1/{resource=projects/*/locations/*/secrets/*}:testIamPermissions:\x01*\x12\xbd\x02\n\x15\x45nableManagedRotation\x12;.google.cloud.secretmanager.v1.EnableManagedRotationRequest\x1a,.google.cloud.secretmanager.v1.SecretVersion\"\xb8\x01\xda\x41(parent,cloud_sql_single_user_credentials\x82\xd3\xe4\x93\x02\x86\x01\"7/v1/{parent=projects/*/secrets/*}:enableManagedRotation:\x01*ZH\"C/v1/{parent=projects/*/locations/*/secrets/*}:enableManagedRotation:\x01*\x12\xf6\x01\n\x0cRotateSecret\x12\x32.google.cloud.secretmanager.v1.RotateSecretRequest\x1a,.google.cloud.secretmanager.v1.SecretVersion\"\x83\x01\xda\x41\x06parent\x82\xd3\xe4\x93\x02t\"./v1/{parent=projects/*/secrets/*}:rotateSecret:\x01*Z?\":/v1/{parent=projects/*/locations/*/secrets/*}:rotateSecret:\x01*\x1aP\xca\x41\x1csecretmanager.googleapis.com\xd2\x41.https://www.googleapis.com/auth/cloud-platformB\xe5\x01\n!com.google.cloud.secretmanager.v1B\x0cServiceProtoP\x01ZGcloud.google.com/go/secretmanager/apiv1/secretmanagerpb;secretmanagerpb\xa2\x02\x03GSM\xaa\x02\x1dGoogle.Cloud.SecretManager.V1\xca\x02\x1dGoogle\\Cloud\\SecretManager\\V1\xea\x02 Google::Cloud::SecretManager::V1b\x06proto3"
19
19
 
20
20
  pool = ::Google::Protobuf::DescriptorPool.generated_pool
21
21
  pool.add_serialized_file(descriptor_data)
@@ -28,6 +28,9 @@ module Google
28
28
  ListSecretsResponse = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.secretmanager.v1.ListSecretsResponse").msgclass
29
29
  CreateSecretRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.secretmanager.v1.CreateSecretRequest").msgclass
30
30
  AddSecretVersionRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.secretmanager.v1.AddSecretVersionRequest").msgclass
31
+ EnableManagedRotationRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.secretmanager.v1.EnableManagedRotationRequest").msgclass
32
+ EnableManagedRotationRequest::CloudSQLSingleUserCredentials = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.secretmanager.v1.EnableManagedRotationRequest.CloudSQLSingleUserCredentials").msgclass
33
+ RotateSecretRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.secretmanager.v1.RotateSecretRequest").msgclass
31
34
  GetSecretRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.secretmanager.v1.GetSecretRequest").msgclass
32
35
  ListSecretVersionsRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.secretmanager.v1.ListSecretVersionsRequest").msgclass
33
36
  ListSecretVersionsResponse = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.secretmanager.v1.ListSecretVersionsResponse").msgclass
@@ -108,6 +108,16 @@ module Google
108
108
  # UIs and command-line tools, not for authorization checking. This operation
109
109
  # may "fail open" without warning.
110
110
  rpc :TestIamPermissions, ::Google::Iam::V1::TestIamPermissionsRequest, ::Google::Iam::V1::TestIamPermissionsResponse
111
+ # Enables the managed rotation feature for a
112
+ # [Secret][google.cloud.secretmanager.v1.Secret]. This method can only be
113
+ # triggered once for a secret. In order to do further rotations, RotateSecret
114
+ # should be used. This method will add a secret version and update the
115
+ # password in Cloud SQL.
116
+ rpc :EnableManagedRotation, ::Google::Cloud::SecretManager::V1::EnableManagedRotationRequest, ::Google::Cloud::SecretManager::V1::SecretVersion
117
+ # Do a managed rotation for a [Secret][google.cloud.secretmanager.v1.Secret].
118
+ # This can only be triggered after Managed rotation has been enabled.
119
+ # This method will add a secret version and update the password in Cloud SQL.
120
+ rpc :RotateSecret, ::Google::Cloud::SecretManager::V1::RotateSecretRequest, ::Google::Cloud::SecretManager::V1::SecretVersion
111
121
  end
112
122
 
113
123
  Stub = Service.rpc_stub_class
@@ -137,6 +137,17 @@ module Google
137
137
  # Tags are used to organize and group resources.
138
138
  #
139
139
  # Tags can be used to control policy evaluation for the resource.
140
+ # @!attribute [rw] secret_type
141
+ # @return [::Google::Cloud::SecretManager::V1::Secret::SecretType]
142
+ # Optional. Immutable. This defines the type of the secret.
143
+ # Enforces certain structural requirements on the
144
+ # {::Google::Cloud::SecretManager::V1::SecretVersion SecretVersions}.
145
+ # For secret of type UNSPECIFIED, the SecretVersions can be of any type.
146
+ # @!attribute [r] policy_member
147
+ # @return [::Google::Iam::V1::ResourcePolicyMember]
148
+ # Output only. Defines the policy member for the secret.
149
+ # This will be used to check if the caller has the permission to perform
150
+ # certain operations on the typed secret.
140
151
  class Secret
141
152
  include ::Google::Protobuf::MessageExts
142
153
  extend ::Google::Protobuf::MessageExts::ClassMethods
@@ -176,6 +187,30 @@ module Google
176
187
  include ::Google::Protobuf::MessageExts
177
188
  extend ::Google::Protobuf::MessageExts::ClassMethods
178
189
  end
190
+
191
+ # This defines the various values of the type of secret can be.
192
+ module SecretType
193
+ # Applicable to all secrets which do not have any restriction on the
194
+ # SecretVersions.
195
+ SECRET_TYPE_UNSPECIFIED = 0
196
+
197
+ # Applicable to secrets which are used for the managed rotation feature
198
+ # for Cloud SQL Single User.
199
+ CLOUD_SQL_DB_CREDENTIALS = 1
200
+
201
+ # Applicable to secrets where the payload contains an access key.
202
+ ACCESS_KEY = 2
203
+
204
+ # Applicable to secrets where the payload contains a certificate.
205
+ CERTIFICATE = 3
206
+
207
+ # Applicable to secrets where the payload contains database credentials.
208
+ OTHER_DB_CREDENTIALS = 4
209
+
210
+ # Applicable to secrets whose type doesn't belong to any of the above
211
+ # defined types.
212
+ OTHER = 50
213
+ end
179
214
  end
180
215
 
181
216
  # A secret version resource in the Secret Manager API.
@@ -487,9 +522,44 @@ module Google
487
522
  # {::Google::Cloud::SecretManager::V1::Rotation#next_rotation_time next_rotation_time}
488
523
  # will be advanced by this period when the service automatically sends
489
524
  # rotation notifications.
525
+ # @!attribute [r] managed_rotation_status
526
+ # @return [::Google::Cloud::SecretManager::V1::Rotation::ManagedRotationStatus]
527
+ # Output only. The current status of the managed rotation.
528
+ # This field is only applicable to Typed Secrets.
529
+ # This field is set by the service and cannot be set by the user.
490
530
  class Rotation
491
531
  include ::Google::Protobuf::MessageExts
492
532
  extend ::Google::Protobuf::MessageExts::ClassMethods
533
+
534
+ # Represents the status of a managed rotation.
535
+ #
536
+ # This is applicable only to Typed Secrets. It indicates whether the
537
+ # rotation is active and any errors that may have occurred during the
538
+ # asynchronous managed rotation.
539
+ # @!attribute [r] state
540
+ # @return [::Google::Cloud::SecretManager::V1::Rotation::ManagedRotationStatus::State]
541
+ # Output only. Indicates whether the Managed Rotation is active or not.
542
+ # @!attribute [r] error
543
+ # @return [::Google::Rpc::Status]
544
+ # Output only. Displays customer-facing issues that occurred during an
545
+ # asynchronous managed rotation. For example, if there are some permission
546
+ # errors.
547
+ class ManagedRotationStatus
548
+ include ::Google::Protobuf::MessageExts
549
+ extend ::Google::Protobuf::MessageExts::ClassMethods
550
+
551
+ # This defines the various states in which the managed rotation can be.
552
+ module State
553
+ # Not specified. This value is unused and invalid.
554
+ STATE_UNSPECIFIED = 0
555
+
556
+ # Indicates that the Managed rotation is ACTIVE.
557
+ ACTIVE = 1
558
+
559
+ # Indicates that the Managed rotation is INACTIVE.
560
+ INACTIVE = 2
561
+ end
562
+ end
493
563
  end
494
564
 
495
565
  # A secret payload resource in the Secret Manager API. This contains the
@@ -111,6 +111,52 @@ module Google
111
111
  extend ::Google::Protobuf::MessageExts::ClassMethods
112
112
  end
113
113
 
114
+ # Request message for
115
+ # {::Google::Cloud::SecretManager::V1::SecretManagerService::Client#enable_managed_rotation SecretManagerService.EnableManagedRotation}.
116
+ # @!attribute [rw] parent
117
+ # @return [::String]
118
+ # Required. The resource name of the
119
+ # {::Google::Cloud::SecretManager::V1::Secret Secret} to associate with the
120
+ # {::Google::Cloud::SecretManager::V1::SecretVersion SecretVersion} in the format
121
+ # `projects/*/secrets/*` or `projects/*/locations/*/secrets/*`.
122
+ # @!attribute [rw] cloud_sql_single_user_credentials
123
+ # @return [::Google::Cloud::SecretManager::V1::EnableManagedRotationRequest::CloudSQLSingleUserCredentials]
124
+ # Credentials required for Cloud SQL DB for Single user Managed Rotation.
125
+ class EnableManagedRotationRequest
126
+ include ::Google::Protobuf::MessageExts
127
+ extend ::Google::Protobuf::MessageExts::ClassMethods
128
+
129
+ # These are the credentials required for Cloud SQL DB for Single user
130
+ # Managed Rotation.
131
+ # @!attribute [rw] instance_id
132
+ # @return [::String]
133
+ # Required. Instance ID of the Cloud SQL instance.
134
+ # @!attribute [rw] username
135
+ # @return [::String]
136
+ # Required. Username of the Cloud SQL instance.
137
+ # @!attribute [rw] password
138
+ # @return [::String]
139
+ # Optional. Password of the Cloud SQL instance. If this is not provided,
140
+ # a random password will be generated.
141
+ class CloudSQLSingleUserCredentials
142
+ include ::Google::Protobuf::MessageExts
143
+ extend ::Google::Protobuf::MessageExts::ClassMethods
144
+ end
145
+ end
146
+
147
+ # Request message for
148
+ # {::Google::Cloud::SecretManager::V1::SecretManagerService::Client#rotate_secret SecretManagerService.RotateSecret}.
149
+ # @!attribute [rw] parent
150
+ # @return [::String]
151
+ # Required. The resource name of the
152
+ # {::Google::Cloud::SecretManager::V1::Secret Secret} to associate with the
153
+ # {::Google::Cloud::SecretManager::V1::SecretVersion SecretVersion} in the format
154
+ # `projects/*/secrets/*` or `projects/*/locations/*/secrets/*`.
155
+ class RotateSecretRequest
156
+ include ::Google::Protobuf::MessageExts
157
+ extend ::Google::Protobuf::MessageExts::ClassMethods
158
+ end
159
+
114
160
  # Request message for
115
161
  # {::Google::Cloud::SecretManager::V1::SecretManagerService::Client#get_secret SecretManagerService.GetSecret}.
116
162
  # @!attribute [rw] name
@@ -0,0 +1,49 @@
1
+ # frozen_string_literal: true
2
+
3
+ # Copyright 2026 Google LLC
4
+ #
5
+ # Licensed under the Apache License, Version 2.0 (the "License");
6
+ # you may not use this file except in compliance with the License.
7
+ # You may obtain a copy of the License at
8
+ #
9
+ # https://www.apache.org/licenses/LICENSE-2.0
10
+ #
11
+ # Unless required by applicable law or agreed to in writing, software
12
+ # distributed under the License is distributed on an "AS IS" BASIS,
13
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
+ # See the License for the specific language governing permissions and
15
+ # limitations under the License.
16
+
17
+ # Auto-generated by gapic-generator-ruby. DO NOT EDIT!
18
+
19
+
20
+ module Google
21
+ module Iam
22
+ module V1
23
+ # Output-only policy member strings of a Google Cloud resource's built-in
24
+ # identity.
25
+ # @!attribute [r] iam_policy_name_principal
26
+ # @return [::String]
27
+ # IAM policy binding member referring to a Google Cloud resource by
28
+ # user-assigned name (https://google.aip.dev/122). If a resource is deleted
29
+ # and recreated with the same name, the binding will be applicable to the new
30
+ # resource.
31
+ #
32
+ # Example:
33
+ # `principal://parametermanager.googleapis.com/projects/12345/name/locations/us-central1-a/parameters/my-parameter`
34
+ # @!attribute [r] iam_policy_uid_principal
35
+ # @return [::String]
36
+ # IAM policy binding member referring to a Google Cloud resource by
37
+ # system-assigned unique identifier (https://google.aip.dev/148#uid). If a
38
+ # resource is deleted and recreated with the same name, the binding will not
39
+ # be applicable to the new resource
40
+ #
41
+ # Example:
42
+ # `principal://parametermanager.googleapis.com/projects/12345/uid/locations/us-central1-a/parameters/a918fed5`
43
+ class ResourcePolicyMember
44
+ include ::Google::Protobuf::MessageExts
45
+ extend ::Google::Protobuf::MessageExts::ClassMethods
46
+ end
47
+ end
48
+ end
49
+ end
@@ -0,0 +1,145 @@
1
+ # frozen_string_literal: true
2
+
3
+ # Copyright 2026 Google LLC
4
+ #
5
+ # Licensed under the Apache License, Version 2.0 (the "License");
6
+ # you may not use this file except in compliance with the License.
7
+ # You may obtain a copy of the License at
8
+ #
9
+ # https://www.apache.org/licenses/LICENSE-2.0
10
+ #
11
+ # Unless required by applicable law or agreed to in writing, software
12
+ # distributed under the License is distributed on an "AS IS" BASIS,
13
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
+ # See the License for the specific language governing permissions and
15
+ # limitations under the License.
16
+
17
+ # Auto-generated by gapic-generator-ruby. DO NOT EDIT!
18
+
19
+
20
+ module Google
21
+ module Protobuf
22
+ # `Any` contains an arbitrary serialized protocol buffer message along with a
23
+ # URL that describes the type of the serialized message.
24
+ #
25
+ # Protobuf library provides support to pack/unpack Any values in the form
26
+ # of utility functions or additional generated methods of the Any type.
27
+ #
28
+ # Example 1: Pack and unpack a message in C++.
29
+ #
30
+ # Foo foo = ...;
31
+ # Any any;
32
+ # any.PackFrom(foo);
33
+ # ...
34
+ # if (any.UnpackTo(&foo)) {
35
+ # ...
36
+ # }
37
+ #
38
+ # Example 2: Pack and unpack a message in Java.
39
+ #
40
+ # Foo foo = ...;
41
+ # Any any = Any.pack(foo);
42
+ # ...
43
+ # if (any.is(Foo.class)) {
44
+ # foo = any.unpack(Foo.class);
45
+ # }
46
+ # // or ...
47
+ # if (any.isSameTypeAs(Foo.getDefaultInstance())) {
48
+ # foo = any.unpack(Foo.getDefaultInstance());
49
+ # }
50
+ #
51
+ # Example 3: Pack and unpack a message in Python.
52
+ #
53
+ # foo = Foo(...)
54
+ # any = Any()
55
+ # any.Pack(foo)
56
+ # ...
57
+ # if any.Is(Foo.DESCRIPTOR):
58
+ # any.Unpack(foo)
59
+ # ...
60
+ #
61
+ # Example 4: Pack and unpack a message in Go
62
+ #
63
+ # foo := &pb.Foo{...}
64
+ # any, err := anypb.New(foo)
65
+ # if err != nil {
66
+ # ...
67
+ # }
68
+ # ...
69
+ # foo := &pb.Foo{}
70
+ # if err := any.UnmarshalTo(foo); err != nil {
71
+ # ...
72
+ # }
73
+ #
74
+ # The pack methods provided by protobuf library will by default use
75
+ # 'type.googleapis.com/full.type.name' as the type URL and the unpack
76
+ # methods only use the fully qualified type name after the last '/'
77
+ # in the type URL, for example "foo.bar.com/x/y.z" will yield type
78
+ # name "y.z".
79
+ #
80
+ # JSON
81
+ # ====
82
+ # The JSON representation of an `Any` value uses the regular
83
+ # representation of the deserialized, embedded message, with an
84
+ # additional field `@type` which contains the type URL. Example:
85
+ #
86
+ # package google.profile;
87
+ # message Person {
88
+ # string first_name = 1;
89
+ # string last_name = 2;
90
+ # }
91
+ #
92
+ # {
93
+ # "@type": "type.googleapis.com/google.profile.Person",
94
+ # "firstName": <string>,
95
+ # "lastName": <string>
96
+ # }
97
+ #
98
+ # If the embedded message type is well-known and has a custom JSON
99
+ # representation, that representation will be embedded adding a field
100
+ # `value` which holds the custom JSON in addition to the `@type`
101
+ # field. Example (for message [google.protobuf.Duration][]):
102
+ #
103
+ # {
104
+ # "@type": "type.googleapis.com/google.protobuf.Duration",
105
+ # "value": "1.212s"
106
+ # }
107
+ # @!attribute [rw] type_url
108
+ # @return [::String]
109
+ # A URL/resource name that uniquely identifies the type of the serialized
110
+ # protocol buffer message. This string must contain at least
111
+ # one "/" character. The last segment of the URL's path must represent
112
+ # the fully qualified name of the type (as in
113
+ # `path/google.protobuf.Duration`). The name should be in a canonical form
114
+ # (e.g., leading "." is not accepted).
115
+ #
116
+ # In practice, teams usually precompile into the binary all types that they
117
+ # expect it to use in the context of Any. However, for URLs which use the
118
+ # scheme `http`, `https`, or no scheme, one can optionally set up a type
119
+ # server that maps type URLs to message definitions as follows:
120
+ #
121
+ # * If no scheme is provided, `https` is assumed.
122
+ # * An HTTP GET on the URL must yield a [google.protobuf.Type][]
123
+ # value in binary format, or produce an error.
124
+ # * Applications are allowed to cache lookup results based on the
125
+ # URL, or have them precompiled into a binary to avoid any
126
+ # lookup. Therefore, binary compatibility needs to be preserved
127
+ # on changes to types. (Use versioned type names to manage
128
+ # breaking changes.)
129
+ #
130
+ # Note: this functionality is not currently available in the official
131
+ # protobuf release, and it is not used for type URLs beginning with
132
+ # type.googleapis.com. As of May 2023, there are no widely used type server
133
+ # implementations and no plans to implement one.
134
+ #
135
+ # Schemes other than `http`, `https` (or the empty scheme) might be
136
+ # used with implementation specific semantics.
137
+ # @!attribute [rw] value
138
+ # @return [::String]
139
+ # Must be a valid serialized protocol buffer of the above specified type.
140
+ class Any
141
+ include ::Google::Protobuf::MessageExts
142
+ extend ::Google::Protobuf::MessageExts::ClassMethods
143
+ end
144
+ end
145
+ end
@@ -0,0 +1,48 @@
1
+ # frozen_string_literal: true
2
+
3
+ # Copyright 2026 Google LLC
4
+ #
5
+ # Licensed under the Apache License, Version 2.0 (the "License");
6
+ # you may not use this file except in compliance with the License.
7
+ # You may obtain a copy of the License at
8
+ #
9
+ # https://www.apache.org/licenses/LICENSE-2.0
10
+ #
11
+ # Unless required by applicable law or agreed to in writing, software
12
+ # distributed under the License is distributed on an "AS IS" BASIS,
13
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
+ # See the License for the specific language governing permissions and
15
+ # limitations under the License.
16
+
17
+ # Auto-generated by gapic-generator-ruby. DO NOT EDIT!
18
+
19
+
20
+ module Google
21
+ module Rpc
22
+ # The `Status` type defines a logical error model that is suitable for
23
+ # different programming environments, including REST APIs and RPC APIs. It is
24
+ # used by [gRPC](https://github.com/grpc). Each `Status` message contains
25
+ # three pieces of data: error code, error message, and error details.
26
+ #
27
+ # You can find out more about this error model and how to work with it in the
28
+ # [API Design Guide](https://cloud.google.com/apis/design/errors).
29
+ # @!attribute [rw] code
30
+ # @return [::Integer]
31
+ # The status code, which should be an enum value of
32
+ # [google.rpc.Code][google.rpc.Code].
33
+ # @!attribute [rw] message
34
+ # @return [::String]
35
+ # A developer-facing error message, which should be in English. Any
36
+ # user-facing error message should be localized and sent in the
37
+ # {::Google::Rpc::Status#details google.rpc.Status.details} field, or localized
38
+ # by the client.
39
+ # @!attribute [rw] details
40
+ # @return [::Array<::Google::Protobuf::Any>]
41
+ # A list of messages that carry the error details. There is a common set of
42
+ # message types for APIs to use.
43
+ class Status
44
+ include ::Google::Protobuf::MessageExts
45
+ extend ::Google::Protobuf::MessageExts::ClassMethods
46
+ end
47
+ end
48
+ end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: google-cloud-secret_manager-v1
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.8.0
4
+ version: 1.9.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Google LLC
@@ -105,10 +105,13 @@ files:
105
105
  - proto_docs/google/iam/v1/iam_policy.rb
106
106
  - proto_docs/google/iam/v1/options.rb
107
107
  - proto_docs/google/iam/v1/policy.rb
108
+ - proto_docs/google/iam/v1/resource_policy_member.rb
109
+ - proto_docs/google/protobuf/any.rb
108
110
  - proto_docs/google/protobuf/duration.rb
109
111
  - proto_docs/google/protobuf/empty.rb
110
112
  - proto_docs/google/protobuf/field_mask.rb
111
113
  - proto_docs/google/protobuf/timestamp.rb
114
+ - proto_docs/google/rpc/status.rb
112
115
  - proto_docs/google/type/expr.rb
113
116
  homepage: https://github.com/googleapis/google-cloud-ruby
114
117
  licenses: