lib/google/cloud/pubsub/v1/iam_policy/client.rb in google-cloud-pubsub-v1-0.11.0 vs lib/google/cloud/pubsub/v1/iam_policy/client.rb in google-cloud-pubsub-v1-0.12.0
- old
+ new
@@ -12,72 +12,34 @@
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
-# Auto-generated by gapic-generator-ruby. DO NOT EDIT!
+# Originally auto-generated by gapic-generator-ruby.
require "google/cloud/errors"
require "google/iam/v1/iam_policy_pb"
module Google
module Cloud
module PubSub
module V1
module IAMPolicy
##
- # Client for the IAMPolicy service.
+ # This module contains the legacy IAM Policy client.
#
- # API Overview
+ # @deprecated Call `iam_policy_client` on any of the other client
+ # objects to get a client for IAM policies instead of using this
+ # legacy class.
#
- #
- # Manages Identity and Access Management (IAM) policies.
- #
- # Any implementation of an API that offers access control features
- # implements the google.iam.v1.IAMPolicy interface.
- #
- # ## Data model
- #
- # Access control is applied when a principal (user or service account), takes
- # some action on a resource exposed by a service. Resources, identified by
- # URI-like names, are the unit of access control specification. Service
- # implementations can choose the granularity of access control and the
- # supported permissions for their resources.
- # For example one database service may allow access control to be
- # specified only at the Table level, whereas another might allow access control
- # to also be specified at the Column level.
- #
- # ## Policy Structure
- #
- # See google.iam.v1.Policy
- #
- # This is intentionally not a CRUD style API because access control policies
- # are created and deleted implicitly with the resources to which they are
- # attached.
- #
class Client
# @private
attr_reader :iam_policy_stub
##
- # Configure the IAMPolicy Client class.
+ # @deprecated
#
- # See {::Google::Cloud::PubSub::V1::IAMPolicy::Client::Configuration}
- # for a description of the configuration fields.
- #
- # @example
- #
- # # Modify the configuration for all IAMPolicy clients
- # ::Google::Cloud::PubSub::V1::IAMPolicy::Client.configure do |config|
- # config.timeout = 10.0
- # end
- #
- # @yield [config] Configure the Client client.
- # @yieldparam config [Client::Configuration]
- #
- # @return [Client::Configuration]
- #
def self.configure
@configure ||= begin
namespace = ["Google", "Cloud", "PubSub", "V1"]
parent_config = while namespace.any?
parent_name = namespace.join "::"
@@ -92,45 +54,20 @@
yield @configure if block_given?
@configure
end
##
- # Configure the IAMPolicy Client instance.
+ # @deprecated
#
- # The configuration is set to the derived mode, meaning that values can be changed,
- # but structural changes (adding new fields, etc.) are not allowed. Structural changes
- # should be made on {Client.configure}.
- #
- # See {::Google::Cloud::PubSub::V1::IAMPolicy::Client::Configuration}
- # for a description of the configuration fields.
- #
- # @yield [config] Configure the Client client.
- # @yieldparam config [Client::Configuration]
- #
- # @return [Client::Configuration]
- #
def configure
yield @config if block_given?
@config
end
##
- # Create a new IAMPolicy client object.
+ # @deprecated
#
- # @example
- #
- # # Create a client using the default configuration
- # client = ::Google::Cloud::PubSub::V1::IAMPolicy::Client.new
- #
- # # Create a client using a custom configuration
- # client = ::Google::Cloud::PubSub::V1::IAMPolicy::Client.new do |config|
- # config.timeout = 10.0
- # end
- #
- # @yield [config] Configure the IAMPolicy client.
- # @yieldparam config [Client::Configuration]
- #
def initialize
# These require statements are intentionally placed here to initialize
# the gRPC module only when it's required.
# See https://github.com/googleapis/toolkit/issues/446
require "gapic/grpc"
@@ -163,71 +100,13 @@
channel_args: @config.channel_args,
interceptors: @config.interceptors
)
end
- # Service calls
-
##
- # Sets the access control policy on the specified resource. Replaces any
- # existing policy.
+ # @deprecated
#
- # Can return `NOT_FOUND`, `INVALID_ARGUMENT`, and `PERMISSION_DENIED` errors.
- #
- # @overload set_iam_policy(request, options = nil)
- # Pass arguments to `set_iam_policy` via a request object, either of type
- # {::Google::Iam::V1::SetIamPolicyRequest} or an equivalent Hash.
- #
- # @param request [::Google::Iam::V1::SetIamPolicyRequest, ::Hash]
- # A request object representing the call parameters. Required. To specify no
- # parameters, or to keep all the default parameter values, pass an empty Hash.
- # @param options [::Gapic::CallOptions, ::Hash]
- # Overrides the default settings for this call, e.g, timeout, retries, etc. Optional.
- #
- # @overload set_iam_policy(resource: nil, policy: nil, update_mask: nil)
- # Pass arguments to `set_iam_policy` via keyword arguments. Note that at
- # least one keyword argument is required. To specify no parameters, or to keep all
- # the default parameter values, pass an empty Hash as a request object (see above).
- #
- # @param resource [::String]
- # REQUIRED: The resource for which the policy is being specified.
- # See the operation documentation for the appropriate value for this field.
- # @param policy [::Google::Iam::V1::Policy, ::Hash]
- # REQUIRED: The complete policy to be applied to the `resource`. The size of
- # the policy is limited to a few 10s of KB. An empty policy is a
- # valid policy but certain Cloud Platform services (such as Projects)
- # might reject them.
- # @param update_mask [::Google::Protobuf::FieldMask, ::Hash]
- # OPTIONAL: A FieldMask specifying which fields of the policy to modify. Only
- # the fields in the mask will be modified. If no mask is provided, the
- # following default mask is used:
- #
- # `paths: "bindings, etag"`
- #
- # @yield [response, operation] Access the result along with the RPC operation
- # @yieldparam response [::Google::Iam::V1::Policy]
- # @yieldparam operation [::GRPC::ActiveCall::Operation]
- #
- # @return [::Google::Iam::V1::Policy]
- #
- # @raise [::Google::Cloud::Error] if the RPC is aborted.
- #
- # @example Basic example
- # require "google/iam/v1"
- #
- # # Create a client object. The client can be reused for multiple calls.
- # client = Google::Cloud::PubSub::V1::IAMPolicy::Client.new
- #
- # # Create a request. To set request fields, pass in keyword arguments.
- # request = Google::Iam::V1::SetIamPolicyRequest.new
- #
- # # Call the set_iam_policy method.
- # result = client.set_iam_policy request
- #
- # # The returned object is of type Google::Iam::V1::Policy.
- # p result
- #
def set_iam_policy request, options = nil
raise ::ArgumentError, "request must be provided" if request.nil?
request = ::Gapic::Protobuf.coerce request, to: ::Google::Iam::V1::SetIamPolicyRequest
@@ -266,59 +145,12 @@
rescue ::GRPC::BadStatus => e
raise ::Google::Cloud::Error.from_error(e)
end
##
- # Gets the access control policy for a resource.
- # Returns an empty policy if the resource exists and does not have a policy
- # set.
+ # @deprecated
#
- # @overload get_iam_policy(request, options = nil)
- # Pass arguments to `get_iam_policy` via a request object, either of type
- # {::Google::Iam::V1::GetIamPolicyRequest} or an equivalent Hash.
- #
- # @param request [::Google::Iam::V1::GetIamPolicyRequest, ::Hash]
- # A request object representing the call parameters. Required. To specify no
- # parameters, or to keep all the default parameter values, pass an empty Hash.
- # @param options [::Gapic::CallOptions, ::Hash]
- # Overrides the default settings for this call, e.g, timeout, retries, etc. Optional.
- #
- # @overload get_iam_policy(resource: nil, options: nil)
- # Pass arguments to `get_iam_policy` via keyword arguments. Note that at
- # least one keyword argument is required. To specify no parameters, or to keep all
- # the default parameter values, pass an empty Hash as a request object (see above).
- #
- # @param resource [::String]
- # REQUIRED: The resource for which the policy is being requested.
- # See the operation documentation for the appropriate value for this field.
- # @param options [::Google::Iam::V1::GetPolicyOptions, ::Hash]
- # OPTIONAL: A `GetPolicyOptions` object for specifying options to
- # `GetIamPolicy`.
- #
- # @yield [response, operation] Access the result along with the RPC operation
- # @yieldparam response [::Google::Iam::V1::Policy]
- # @yieldparam operation [::GRPC::ActiveCall::Operation]
- #
- # @return [::Google::Iam::V1::Policy]
- #
- # @raise [::Google::Cloud::Error] if the RPC is aborted.
- #
- # @example Basic example
- # require "google/iam/v1"
- #
- # # Create a client object. The client can be reused for multiple calls.
- # client = Google::Cloud::PubSub::V1::IAMPolicy::Client.new
- #
- # # Create a request. To set request fields, pass in keyword arguments.
- # request = Google::Iam::V1::GetIamPolicyRequest.new
- #
- # # Call the get_iam_policy method.
- # result = client.get_iam_policy request
- #
- # # The returned object is of type Google::Iam::V1::Policy.
- # p result
- #
def get_iam_policy request, options = nil
raise ::ArgumentError, "request must be provided" if request.nil?
request = ::Gapic::Protobuf.coerce request, to: ::Google::Iam::V1::GetIamPolicyRequest
@@ -357,65 +189,12 @@
rescue ::GRPC::BadStatus => e
raise ::Google::Cloud::Error.from_error(e)
end
##
- # Returns permissions that a caller has on the specified resource.
- # If the resource does not exist, this will return an empty set of
- # permissions, not a `NOT_FOUND` error.
+ # @deprecated
#
- # Note: This operation is designed to be used for building permission-aware
- # UIs and command-line tools, not for authorization checking. This operation
- # may "fail open" without warning.
- #
- # @overload test_iam_permissions(request, options = nil)
- # Pass arguments to `test_iam_permissions` via a request object, either of type
- # {::Google::Iam::V1::TestIamPermissionsRequest} or an equivalent Hash.
- #
- # @param request [::Google::Iam::V1::TestIamPermissionsRequest, ::Hash]
- # A request object representing the call parameters. Required. To specify no
- # parameters, or to keep all the default parameter values, pass an empty Hash.
- # @param options [::Gapic::CallOptions, ::Hash]
- # Overrides the default settings for this call, e.g, timeout, retries, etc. Optional.
- #
- # @overload test_iam_permissions(resource: nil, permissions: nil)
- # Pass arguments to `test_iam_permissions` via keyword arguments. Note that at
- # least one keyword argument is required. To specify no parameters, or to keep all
- # the default parameter values, pass an empty Hash as a request object (see above).
- #
- # @param resource [::String]
- # REQUIRED: The resource for which the policy detail is being requested.
- # See the operation documentation for the appropriate value for this field.
- # @param permissions [::Array<::String>]
- # The set of permissions to check for the `resource`. Permissions with
- # wildcards (such as '*' or 'storage.*') are not allowed. For more
- # information see
- # [IAM Overview](https://cloud.google.com/iam/docs/overview#permissions).
- #
- # @yield [response, operation] Access the result along with the RPC operation
- # @yieldparam response [::Google::Iam::V1::TestIamPermissionsResponse]
- # @yieldparam operation [::GRPC::ActiveCall::Operation]
- #
- # @return [::Google::Iam::V1::TestIamPermissionsResponse]
- #
- # @raise [::Google::Cloud::Error] if the RPC is aborted.
- #
- # @example Basic example
- # require "google/iam/v1"
- #
- # # Create a client object. The client can be reused for multiple calls.
- # client = Google::Cloud::PubSub::V1::IAMPolicy::Client.new
- #
- # # Create a request. To set request fields, pass in keyword arguments.
- # request = Google::Iam::V1::TestIamPermissionsRequest.new
- #
- # # Call the test_iam_permissions method.
- # result = client.test_iam_permissions request
- #
- # # The returned object is of type Google::Iam::V1::TestIamPermissionsResponse.
- # p result
- #
def test_iam_permissions request, options = nil
raise ::ArgumentError, "request must be provided" if request.nil?
request = ::Gapic::Protobuf.coerce request, to: ::Google::Iam::V1::TestIamPermissionsRequest
@@ -454,88 +233,14 @@
rescue ::GRPC::BadStatus => e
raise ::Google::Cloud::Error.from_error(e)
end
##
- # Configuration class for the IAMPolicy API.
+ # @deprecated Call `iam_policy_client` on any of the other client
+ # objects to get a client for IAM policies instead of using this
+ # legacy class.
#
- # This class represents the configuration for IAMPolicy,
- # providing control over timeouts, retry behavior, logging, transport
- # parameters, and other low-level controls. Certain parameters can also be
- # applied individually to specific RPCs. See
- # {::Google::Cloud::PubSub::V1::IAMPolicy::Client::Configuration::Rpcs}
- # for a list of RPCs that can be configured independently.
- #
- # Configuration can be applied globally to all clients, or to a single client
- # on construction.
- #
- # @example
- #
- # # Modify the global config, setting the timeout for
- # # set_iam_policy to 20 seconds,
- # # and all remaining timeouts to 10 seconds.
- # ::Google::Cloud::PubSub::V1::IAMPolicy::Client.configure do |config|
- # config.timeout = 10.0
- # config.rpcs.set_iam_policy.timeout = 20.0
- # end
- #
- # # Apply the above configuration only to a new client.
- # client = ::Google::Cloud::PubSub::V1::IAMPolicy::Client.new do |config|
- # config.timeout = 10.0
- # config.rpcs.set_iam_policy.timeout = 20.0
- # end
- #
- # @!attribute [rw] endpoint
- # The hostname or hostname:port of the service endpoint.
- # Defaults to `"pubsub.googleapis.com"`.
- # @return [::String]
- # @!attribute [rw] credentials
- # Credentials to send with calls. You may provide any of the following types:
- # * (`String`) The path to a service account key file in JSON format
- # * (`Hash`) A service account key as a Hash
- # * (`Google::Auth::Credentials`) A googleauth credentials object
- # (see the [googleauth docs](https://googleapis.dev/ruby/googleauth/latest/index.html))
- # * (`Signet::OAuth2::Client`) A signet oauth2 client object
- # (see the [signet docs](https://googleapis.dev/ruby/signet/latest/Signet/OAuth2/Client.html))
- # * (`GRPC::Core::Channel`) a gRPC channel with included credentials
- # * (`GRPC::Core::ChannelCredentials`) a gRPC credentails object
- # * (`nil`) indicating no credentials
- # @return [::Object]
- # @!attribute [rw] scope
- # The OAuth scopes
- # @return [::Array<::String>]
- # @!attribute [rw] lib_name
- # The library name as recorded in instrumentation and logging
- # @return [::String]
- # @!attribute [rw] lib_version
- # The library version as recorded in instrumentation and logging
- # @return [::String]
- # @!attribute [rw] channel_args
- # Extra parameters passed to the gRPC channel. Note: this is ignored if a
- # `GRPC::Core::Channel` object is provided as the credential.
- # @return [::Hash]
- # @!attribute [rw] interceptors
- # An array of interceptors that are run before calls are executed.
- # @return [::Array<::GRPC::ClientInterceptor>]
- # @!attribute [rw] timeout
- # The call timeout in seconds.
- # @return [::Numeric]
- # @!attribute [rw] metadata
- # Additional gRPC headers to be sent with the call.
- # @return [::Hash{::Symbol=>::String}]
- # @!attribute [rw] retry_policy
- # The retry policy. The value is a hash with the following keys:
- # * `:initial_delay` (*type:* `Numeric`) - The initial delay in seconds.
- # * `:max_delay` (*type:* `Numeric`) - The max delay in seconds.
- # * `:multiplier` (*type:* `Numeric`) - The incremental backoff multiplier.
- # * `:retry_codes` (*type:* `Array<String>`) - The error codes that should
- # trigger a retry.
- # @return [::Hash]
- # @!attribute [rw] quota_project
- # A separate project against which to charge quota.
- # @return [::String]
- #
class Configuration
extend ::Gapic::Config
config_attr :endpoint, "pubsub.googleapis.com", ::String
config_attr :credentials, nil do |value|
@@ -559,51 +264,35 @@
yield self if block_given?
end
##
- # Configurations for individual RPCs
- # @return [Rpcs]
+ # @deprecated
#
def rpcs
@rpcs ||= begin
parent_rpcs = nil
parent_rpcs = @parent_config.rpcs if defined?(@parent_config) && @parent_config.respond_to?(:rpcs)
Rpcs.new parent_rpcs
end
end
##
- # Configuration RPC class for the IAMPolicy API.
+ # @deprecated Call `iam_policy_client` on any of the other client
+ # objects to get a client for IAM policies instead of using this
+ # legacy class.
#
- # Includes fields providing the configuration for each RPC in this service.
- # Each configuration object is of type `Gapic::Config::Method` and includes
- # the following configuration fields:
- #
- # * `timeout` (*type:* `Numeric`) - The call timeout in seconds
- # * `metadata` (*type:* `Hash{Symbol=>String}`) - Additional gRPC headers
- # * `retry_policy (*type:* `Hash`) - The retry policy. The policy fields
- # include the following keys:
- # * `:initial_delay` (*type:* `Numeric`) - The initial delay in seconds.
- # * `:max_delay` (*type:* `Numeric`) - The max delay in seconds.
- # * `:multiplier` (*type:* `Numeric`) - The incremental backoff multiplier.
- # * `:retry_codes` (*type:* `Array<String>`) - The error codes that should
- # trigger a retry.
- #
class Rpcs
##
- # RPC-specific configuration for `set_iam_policy`
- # @return [::Gapic::Config::Method]
+ # @deprecated
#
attr_reader :set_iam_policy
##
- # RPC-specific configuration for `get_iam_policy`
- # @return [::Gapic::Config::Method]
+ # @deprecated
#
attr_reader :get_iam_policy
##
- # RPC-specific configuration for `test_iam_permissions`
- # @return [::Gapic::Config::Method]
+ # @deprecated
#
attr_reader :test_iam_permissions
# @private
def initialize parent_rpcs = nil