Identity and Access Management (IAM) V3BETA API - Class Google::Iam::V3beta::PolicyBindings::Rest::Client (v0.1.0)

Reference documentation and code samples for the Identity and Access Management (IAM) V3BETA API class Google::Iam::V3beta::PolicyBindings::Rest::Client.

REST client for the PolicyBindings service.

An interface for managing Identity and Access Management (IAM) policy bindings.

Inherits

  • Object

Methods

.configure

def self.configure() { |config| ... } -> Client::Configuration

Configure the PolicyBindings Client class.

See Configuration for a description of the configuration fields.

Yields
  • (config) — Configure the Client client.
Yield Parameter
Example
# Modify the configuration for all PolicyBindings clients
::Google::Iam::V3beta::PolicyBindings::Rest::Client.configure do |config|
  config.timeout = 10.0
end

#configure

def configure() { |config| ... } -> Client::Configuration

Configure the PolicyBindings Client instance.

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 Configuration for a description of the configuration fields.

Yields
  • (config) — Configure the Client client.
Yield Parameter

#create_policy_binding

def create_policy_binding(request, options = nil) -> ::Gapic::Operation
def create_policy_binding(parent: nil, policy_binding_id: nil, policy_binding: nil, validate_only: nil) -> ::Gapic::Operation

Creates a policy binding and returns a long-running operation. Callers will need the IAM permissions on both the policy and target. Once the binding is created, the policy is applied to the target.

Overloads
def create_policy_binding(request, options = nil) -> ::Gapic::Operation
Pass arguments to create_policy_binding via a request object, either of type CreatePolicyBindingRequest or an equivalent Hash.
Parameters
  • request (::Google::Iam::V3beta::CreatePolicyBindingRequest, ::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.
  • options (::Gapic::CallOptions, ::Hash) — Overrides the default settings for this call, e.g, timeout, retries etc. Optional.
def create_policy_binding(parent: nil, policy_binding_id: nil, policy_binding: nil, validate_only: nil) -> ::Gapic::Operation
Pass arguments to create_policy_binding 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).
Parameters
  • parent (::String) —

    Required. The parent resource where this policy binding will be created. The binding parent is the closest Resource Manager resource (project, folder or organization) to the binding target.

    Format:

    • projects/{project_id}/locations/{location}
    • projects/{project_number}/locations/{location}
    • folders/{folder_id}/locations/{location}
    • organizations/{organization_id}/locations/{location}
  • policy_binding_id (::String) — Required. The ID to use for the policy binding, which will become the final component of the policy binding's resource name.

    This value must start with a lowercase letter followed by up to 62 lowercase letters, numbers, hyphens, or dots. Pattern, /[a-z][a-z0-9-.]{2,62}/.

  • policy_binding (::Google::Iam::V3beta::PolicyBinding, ::Hash) — Required. The policy binding to create.
  • validate_only (::Boolean) — Optional. If set, validate the request and preview the creation, but do not actually post it.
Yields
  • (result, operation) — Access the result along with the TransportOperation object
Yield Parameters
  • result (::Gapic::Operation)
  • operation (::Gapic::Rest::TransportOperation)
Returns
  • (::Gapic::Operation)
Raises
  • (::Google::Cloud::Error) — if the REST call is aborted.
Example

Basic example

require "google/iam/v3beta"

# Create a client object. The client can be reused for multiple calls.
client = Google::Iam::V3beta::PolicyBindings::Rest::Client.new

# Create a request. To set request fields, pass in keyword arguments.
request = Google::Iam::V3beta::CreatePolicyBindingRequest.new

# Call the create_policy_binding method.
result = client.create_policy_binding request

# The returned object is of type Gapic::Operation. You can use it to
# check the status of an operation, cancel it, or wait for results.
# Here is how to wait for a response.
result.wait_until_done! timeout: 60
if result.response?
  p result.response
else
  puts "No response received."
end

#delete_policy_binding

def delete_policy_binding(request, options = nil) -> ::Gapic::Operation
def delete_policy_binding(name: nil, etag: nil, validate_only: nil) -> ::Gapic::Operation

Deletes a policy binding and returns a long-running operation. Callers will need the IAM permissions on both the policy and target. Once the binding is deleted, the policy no longer applies to the target.

Overloads
def delete_policy_binding(request, options = nil) -> ::Gapic::Operation
Pass arguments to delete_policy_binding via a request object, either of type DeletePolicyBindingRequest or an equivalent Hash.
Parameters
  • request (::Google::Iam::V3beta::DeletePolicyBindingRequest, ::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.
  • options (::Gapic::CallOptions, ::Hash) — Overrides the default settings for this call, e.g, timeout, retries etc. Optional.
def delete_policy_binding(name: nil, etag: nil, validate_only: nil) -> ::Gapic::Operation
Pass arguments to delete_policy_binding 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).
Parameters
  • name (::String) —

    Required. The name of the policy binding to delete.

    Format:

    • projects/{project_id}/locations/{location}/policyBindings/{policy_binding_id}
    • projects/{project_number}/locations/{location}/policyBindings/{policy_binding_id}
    • folders/{folder_id}/locations/{location}/policyBindings/{policy_binding_id}
    • organizations/{organization_id}/locations/{location}/policyBindings/{policy_binding_id}
  • etag (::String) — Optional. The etag of the policy binding. If this is provided, it must match the server's etag.
  • validate_only (::Boolean) — Optional. If set, validate the request and preview the deletion, but do not actually post it.
Yields
  • (result, operation) — Access the result along with the TransportOperation object
Yield Parameters
  • result (::Gapic::Operation)
  • operation (::Gapic::Rest::TransportOperation)
Returns
  • (::Gapic::Operation)
Raises
  • (::Google::Cloud::Error) — if the REST call is aborted.
Example

Basic example

require "google/iam/v3beta"

# Create a client object. The client can be reused for multiple calls.
client = Google::Iam::V3beta::PolicyBindings::Rest::Client.new

# Create a request. To set request fields, pass in keyword arguments.
request = Google::Iam::V3beta::DeletePolicyBindingRequest.new

# Call the delete_policy_binding method.
result = client.delete_policy_binding request

# The returned object is of type Gapic::Operation. You can use it to
# check the status of an operation, cancel it, or wait for results.
# Here is how to wait for a response.
result.wait_until_done! timeout: 60
if result.response?
  p result.response
else
  puts "No response received."
end

#get_policy_binding

def get_policy_binding(request, options = nil) -> ::Google::Iam::V3beta::PolicyBinding
def get_policy_binding(name: nil) -> ::Google::Iam::V3beta::PolicyBinding

Gets a policy binding.

Overloads
def get_policy_binding(request, options = nil) -> ::Google::Iam::V3beta::PolicyBinding
Pass arguments to get_policy_binding via a request object, either of type GetPolicyBindingRequest or an equivalent Hash.
Parameters
  • request (::Google::Iam::V3beta::GetPolicyBindingRequest, ::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.
  • options (::Gapic::CallOptions, ::Hash) — Overrides the default settings for this call, e.g, timeout, retries etc. Optional.
def get_policy_binding(name: nil) -> ::Google::Iam::V3beta::PolicyBinding
Pass arguments to get_policy_binding 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).
Parameter
  • name (::String) —

    Required. The name of the policy binding to retrieve.

    Format:

    • projects/{project_id}/locations/{location}/policyBindings/{policy_binding_id}
    • projects/{project_number}/locations/{location}/policyBindings/{policy_binding_id}
    • folders/{folder_id}/locations/{location}/policyBindings/{policy_binding_id}
    • organizations/{organization_id}/locations/{location}/policyBindings/{policy_binding_id}
Yields
  • (result, operation) — Access the result along with the TransportOperation object
Yield Parameters
Raises
  • (::Google::Cloud::Error) — if the REST call is aborted.
Example

Basic example

require "google/iam/v3beta"

# Create a client object. The client can be reused for multiple calls.
client = Google::Iam::V3beta::PolicyBindings::Rest::Client.new

# Create a request. To set request fields, pass in keyword arguments.
request = Google::Iam::V3beta::GetPolicyBindingRequest.new

# Call the get_policy_binding method.
result = client.get_policy_binding request

# The returned object is of type Google::Iam::V3beta::PolicyBinding.
p result

#initialize

def initialize() { |config| ... } -> Client

Create a new PolicyBindings REST client object.

Yields
  • (config) — Configure the PolicyBindings client.
Yield Parameter
Returns
  • (Client) — a new instance of Client
Example
# Create a client using the default configuration
client = ::Google::Iam::V3beta::PolicyBindings::Rest::Client.new

# Create a client using a custom configuration
client = ::Google::Iam::V3beta::PolicyBindings::Rest::Client.new do |config|
  config.timeout = 10.0
end

#list_policy_bindings

def list_policy_bindings(request, options = nil) -> ::Gapic::Rest::PagedEnumerable<::Google::Iam::V3beta::PolicyBinding>
def list_policy_bindings(parent: nil, page_size: nil, page_token: nil, filter: nil) -> ::Gapic::Rest::PagedEnumerable<::Google::Iam::V3beta::PolicyBinding>

Lists policy bindings.

Overloads
def list_policy_bindings(request, options = nil) -> ::Gapic::Rest::PagedEnumerable<::Google::Iam::V3beta::PolicyBinding>
Pass arguments to list_policy_bindings via a request object, either of type ListPolicyBindingsRequest or an equivalent Hash.
Parameters
  • request (::Google::Iam::V3beta::ListPolicyBindingsRequest, ::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.
  • options (::Gapic::CallOptions, ::Hash) — Overrides the default settings for this call, e.g, timeout, retries etc. Optional.
def list_policy_bindings(parent: nil, page_size: nil, page_token: nil, filter: nil) -> ::Gapic::Rest::PagedEnumerable<::Google::Iam::V3beta::PolicyBinding>
Pass arguments to list_policy_bindings 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).
Parameters
  • parent (::String) —

    Required. The parent resource, which owns the collection of policy bindings.

    Format:

    • projects/{project_id}/locations/{location}
    • projects/{project_number}/locations/{location}
    • folders/{folder_id}/locations/{location}
    • organizations/{organization_id}/locations/{location}
  • page_size (::Integer) — Optional. The maximum number of policy bindings to return. The service may return fewer than this value.

    If unspecified, at most 50 policy bindings will be returned. The maximum value is 1000; values above 1000 will be coerced to 1000.

  • page_token (::String) — Optional. A page token, received from a previous ListPolicyBindings call. Provide this to retrieve the subsequent page.

    When paginating, all other parameters provided to ListPolicyBindings must match the call that provided the page token.

  • filter (::String) —

    Optional. An expression for filtering the results of the request. Filter rules are case insensitive. Some eligible fields for filtering are:

    • target
    • policy

    Some examples of filter queries:

    • target:ex*: The binding target's name starts with "ex".
    • target:example: The binding target's name is example.
    • policy:example: The binding policy's name is example.
Yields
  • (result, operation) — Access the result along with the TransportOperation object
Yield Parameters
Returns
Raises
  • (::Google::Cloud::Error) — if the REST call is aborted.
Example

Basic example

require "google/iam/v3beta"

# Create a client object. The client can be reused for multiple calls.
client = Google::Iam::V3beta::PolicyBindings::Rest::Client.new

# Create a request. To set request fields, pass in keyword arguments.
request = Google::Iam::V3beta::ListPolicyBindingsRequest.new

# Call the list_policy_bindings method.
result = client.list_policy_bindings request

# The returned object is of type Gapic::PagedEnumerable. You can iterate
# over elements, and API calls will be issued to fetch pages as needed.
result.each do |item|
  # Each element is of type ::Google::Iam::V3beta::PolicyBinding.
  p item
end

#location_client

def location_client() -> Google::Cloud::Location::Locations::Rest::Client

Get the associated client for mix-in of the Locations.

Returns
  • (Google::Cloud::Location::Locations::Rest::Client)

#logger

def logger() -> Logger

The logger used for request/response debug logging.

Returns
  • (Logger)

#operations_client

def operations_client() -> ::Google::Iam::V3beta::PolicyBindings::Rest::Operations

Get the associated client for long-running operations.

#search_target_policy_bindings

def search_target_policy_bindings(request, options = nil) -> ::Gapic::Rest::PagedEnumerable<::Google::Iam::V3beta::PolicyBinding>
def search_target_policy_bindings(target: nil, page_size: nil, page_token: nil, parent: nil) -> ::Gapic::Rest::PagedEnumerable<::Google::Iam::V3beta::PolicyBinding>

Search policy bindings by target. Returns all policy binding objects bound directly to target.

Overloads
def search_target_policy_bindings(request, options = nil) -> ::Gapic::Rest::PagedEnumerable<::Google::Iam::V3beta::PolicyBinding>
Pass arguments to search_target_policy_bindings via a request object, either of type SearchTargetPolicyBindingsRequest or an equivalent Hash.
Parameters
  • request (::Google::Iam::V3beta::SearchTargetPolicyBindingsRequest, ::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.
  • options (::Gapic::CallOptions, ::Hash) — Overrides the default settings for this call, e.g, timeout, retries etc. Optional.
def search_target_policy_bindings(target: nil, page_size: nil, page_token: nil, parent: nil) -> ::Gapic::Rest::PagedEnumerable<::Google::Iam::V3beta::PolicyBinding>
Pass arguments to search_target_policy_bindings 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).
Parameters
  • target (::String) —

    Required. The target resource, which is bound to the policy in the binding.

    Format:

    • //iam.googleapis.com/locations/global/workforcePools/POOL_ID
    • //iam.googleapis.com/projects/PROJECT_NUMBER/locations/global/workloadIdentityPools/POOL_ID
    • //iam.googleapis.com/locations/global/workspace/WORKSPACE_ID
    • //cloudresourcemanager.googleapis.com/projects/{project_number}
    • //cloudresourcemanager.googleapis.com/folders/{folder_id}
    • //cloudresourcemanager.googleapis.com/organizations/{organization_id}
  • page_size (::Integer) — Optional. The maximum number of policy bindings to return. The service may return fewer than this value.

    If unspecified, at most 50 policy bindings will be returned. The maximum value is 1000; values above 1000 will be coerced to 1000.

  • page_token (::String) — Optional. A page token, received from a previous SearchTargetPolicyBindingsRequest call. Provide this to retrieve the subsequent page.

    When paginating, all other parameters provided to SearchTargetPolicyBindingsRequest must match the call that provided the page token.

  • parent (::String) —

    Required. The parent resource where this search will be performed. This should be the nearest Resource Manager resource (project, folder, or organization) to the target.

    Format:

    • projects/{project_id}/locations/{location}
    • projects/{project_number}/locations/{location}
    • folders/{folder_id}/locations/{location}
    • organizations/{organization_id}/locations/{location}
Yields
  • (result, operation) — Access the result along with the TransportOperation object
Yield Parameters
Returns
Raises
  • (::Google::Cloud::Error) — if the REST call is aborted.
Example

Basic example

require "google/iam/v3beta"

# Create a client object. The client can be reused for multiple calls.
client = Google::Iam::V3beta::PolicyBindings::Rest::Client.new

# Create a request. To set request fields, pass in keyword arguments.
request = Google::Iam::V3beta::SearchTargetPolicyBindingsRequest.new

# Call the search_target_policy_bindings method.
result = client.search_target_policy_bindings request

# The returned object is of type Gapic::PagedEnumerable. You can iterate
# over elements, and API calls will be issued to fetch pages as needed.
result.each do |item|
  # Each element is of type ::Google::Iam::V3beta::PolicyBinding.
  p item
end

#universe_domain

def universe_domain() -> String

The effective universe domain

Returns
  • (String)

#update_policy_binding

def update_policy_binding(request, options = nil) -> ::Gapic::Operation
def update_policy_binding(policy_binding: nil, validate_only: nil, update_mask: nil) -> ::Gapic::Operation

Updates a policy binding and returns a long-running operation. Callers will need the IAM permissions on the policy and target in the binding to update, and the IAM permission to remove the existing policy from the binding. Target is immutable and cannot be updated. Once the binding is updated, the new policy is applied to the target.

Overloads
def update_policy_binding(request, options = nil) -> ::Gapic::Operation
Pass arguments to update_policy_binding via a request object, either of type UpdatePolicyBindingRequest or an equivalent Hash.
Parameters
  • request (::Google::Iam::V3beta::UpdatePolicyBindingRequest, ::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.
  • options (::Gapic::CallOptions, ::Hash) — Overrides the default settings for this call, e.g, timeout, retries etc. Optional.
def update_policy_binding(policy_binding: nil, validate_only: nil, update_mask: nil) -> ::Gapic::Operation
Pass arguments to update_policy_binding 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).
Parameters
  • policy_binding (::Google::Iam::V3beta::PolicyBinding, ::Hash) — Required. The policy binding to update.

    The policy binding's name field is used to identify the policy binding to update.

  • validate_only (::Boolean) — Optional. If set, validate the request and preview the update, but do not actually post it.
  • update_mask (::Google::Protobuf::FieldMask, ::Hash) — Optional. The list of fields to update
Yields
  • (result, operation) — Access the result along with the TransportOperation object
Yield Parameters
  • result (::Gapic::Operation)
  • operation (::Gapic::Rest::TransportOperation)
Returns
  • (::Gapic::Operation)
Raises
  • (::Google::Cloud::Error) — if the REST call is aborted.
Example

Basic example

require "google/iam/v3beta"

# Create a client object. The client can be reused for multiple calls.
client = Google::Iam::V3beta::PolicyBindings::Rest::Client.new

# Create a request. To set request fields, pass in keyword arguments.
request = Google::Iam::V3beta::UpdatePolicyBindingRequest.new

# Call the update_policy_binding method.
result = client.update_policy_binding request

# The returned object is of type Gapic::Operation. You can use it to
# check the status of an operation, cancel it, or wait for results.
# Here is how to wait for a response.
result.wait_until_done! timeout: 60
if result.response?
  p result.response
else
  puts "No response received."
end