Class: Google::Cloud::OrgPolicy::V2::OrgPolicy::Client

Inherits:
Object
  • Object
show all
Includes:
Paths
Defined in:
lib/google/cloud/org_policy/v2/org_policy/client.rb

Overview

Client for the OrgPolicy service.

An interface for managing organization policies.

The Organization Policy Service provides a simple mechanism for organizations to restrict the allowed configurations across their entire resource hierarchy.

You can use a policy to configure restrictions on resources. For example, you can enforce a policy that restricts which Google Cloud APIs can be activated in a certain part of your resource hierarchy, or prevents serial port access to VM instances in a particular folder.

Policies are inherited down through the resource hierarchy. A policy applied to a parent resource automatically applies to all its child resources unless overridden with a policy lower in the hierarchy.

A constraint defines an aspect of a resource's configuration that can be controlled by an organization's policy administrator. Policies are a collection of constraints that defines their allowable configuration on a particular resource and its child resources.

Defined Under Namespace

Classes: Configuration

Class Method Summary collapse

Instance Method Summary collapse

Methods included from Paths

#custom_constraint_path, #folder_path, #organization_path, #policy_path, #project_path

Constructor Details

#initialize {|config| ... } ⇒ Client

Create a new OrgPolicy client object.

Examples:


# Create a client using the default configuration
client = ::Google::Cloud::OrgPolicy::V2::OrgPolicy::Client.new

# Create a client using a custom configuration
client = ::Google::Cloud::OrgPolicy::V2::OrgPolicy::Client.new do |config|
  config.timeout = 10.0
end

Yields:

  • (config)

    Configure the OrgPolicy client.

Yield Parameters:



203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
# File 'lib/google/cloud/org_policy/v2/org_policy/client.rb', line 203

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"
  require "google/cloud/orgpolicy/v2/orgpolicy_services_pb"

  # Create the configuration object
  @config = Configuration.new Client.configure

  # Yield the configuration if needed
  yield @config if block_given?

  # Create credentials
  credentials = @config.credentials
  # Use self-signed JWT if the endpoint is unchanged from default,
  # but only if the default endpoint does not have a region prefix.
  enable_self_signed_jwt = @config.endpoint.nil? ||
                           (@config.endpoint == Configuration::DEFAULT_ENDPOINT &&
                           !@config.endpoint.split(".").first.include?("-"))
  credentials ||= Credentials.default scope: @config.scope,
                                      enable_self_signed_jwt: enable_self_signed_jwt
  if credentials.is_a?(::String) || credentials.is_a?(::Hash)
    credentials = Credentials.new credentials, scope: @config.scope
  end
  @quota_project_id = @config.quota_project
  @quota_project_id ||= credentials.quota_project_id if credentials.respond_to? :quota_project_id

  @org_policy_stub = ::Gapic::ServiceStub.new(
    ::Google::Cloud::OrgPolicy::V2::OrgPolicy::Stub,
    credentials: credentials,
    endpoint: @config.endpoint,
    endpoint_template: DEFAULT_ENDPOINT_TEMPLATE,
    universe_domain: @config.universe_domain,
    channel_args: @config.channel_args,
    interceptors: @config.interceptors,
    channel_pool_config: @config.channel_pool,
    logger: @config.logger
  )

  @org_policy_stub.stub_logger&.info do |entry|
    entry.set_system_name
    entry.set_service
    entry.message = "Created client for #{entry.service}"
    entry.set_credentials_fields credentials
    entry.set "customEndpoint", @config.endpoint if @config.endpoint
    entry.set "defaultTimeout", @config.timeout if @config.timeout
    entry.set "quotaProject", @quota_project_id if @quota_project_id
  end
end

Class Method Details

.configure {|config| ... } ⇒ Client::Configuration

Configure the OrgPolicy Client class.

See Configuration for a description of the configuration fields.

Examples:


# Modify the configuration for all OrgPolicy clients
::Google::Cloud::OrgPolicy::V2::OrgPolicy::Client.configure do |config|
  config.timeout = 10.0
end

Yields:

  • (config)

    Configure the Client client.

Yield Parameters:

Returns:



81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
# File 'lib/google/cloud/org_policy/v2/org_policy/client.rb', line 81

def self.configure
  @configure ||= begin
    namespace = ["Google", "Cloud", "OrgPolicy", "V2"]
    parent_config = while namespace.any?
                      parent_name = namespace.join "::"
                      parent_const = const_get parent_name
                      break parent_const.configure if parent_const.respond_to? :configure
                      namespace.pop
                    end
    default_config = Client::Configuration.new parent_config

    default_config.rpcs.list_constraints.timeout = 60.0
    default_config.rpcs.list_constraints.retry_policy = {
      initial_delay: 1.0, max_delay: 10.0, multiplier: 1.3, retry_codes: [14, 4]
    }

    default_config.rpcs.list_policies.timeout = 60.0
    default_config.rpcs.list_policies.retry_policy = {
      initial_delay: 1.0, max_delay: 10.0, multiplier: 1.3, retry_codes: [14, 4]
    }

    default_config.rpcs.get_policy.timeout = 60.0
    default_config.rpcs.get_policy.retry_policy = {
      initial_delay: 1.0, max_delay: 10.0, multiplier: 1.3, retry_codes: [14, 4]
    }

    default_config.rpcs.get_effective_policy.timeout = 60.0
    default_config.rpcs.get_effective_policy.retry_policy = {
      initial_delay: 1.0, max_delay: 10.0, multiplier: 1.3, retry_codes: [14, 4]
    }

    default_config.rpcs.create_policy.timeout = 60.0
    default_config.rpcs.create_policy.retry_policy = {
      initial_delay: 1.0, max_delay: 10.0, multiplier: 1.3, retry_codes: [14, 4]
    }

    default_config.rpcs.update_policy.timeout = 60.0
    default_config.rpcs.update_policy.retry_policy = {
      initial_delay: 1.0, max_delay: 10.0, multiplier: 1.3, retry_codes: [14, 4]
    }

    default_config.rpcs.delete_policy.timeout = 60.0
    default_config.rpcs.delete_policy.retry_policy = {
      initial_delay: 1.0, max_delay: 10.0, multiplier: 1.3, retry_codes: [14, 4]
    }

    default_config.rpcs.create_custom_constraint.timeout = 60.0
    default_config.rpcs.create_custom_constraint.retry_policy = {
      initial_delay: 1.0, max_delay: 10.0, multiplier: 1.3, retry_codes: [14, 4]
    }

    default_config.rpcs.update_custom_constraint.timeout = 60.0
    default_config.rpcs.update_custom_constraint.retry_policy = {
      initial_delay: 1.0, max_delay: 10.0, multiplier: 1.3, retry_codes: [14, 4]
    }

    default_config.rpcs.get_custom_constraint.timeout = 60.0
    default_config.rpcs.get_custom_constraint.retry_policy = {
      initial_delay: 1.0, max_delay: 10.0, multiplier: 1.3, retry_codes: [14, 4]
    }

    default_config.rpcs.list_custom_constraints.timeout = 60.0
    default_config.rpcs.list_custom_constraints.retry_policy = {
      initial_delay: 1.0, max_delay: 10.0, multiplier: 1.3, retry_codes: [14, 4]
    }

    default_config.rpcs.delete_custom_constraint.timeout = 60.0
    default_config.rpcs.delete_custom_constraint.retry_policy = {
      initial_delay: 1.0, max_delay: 10.0, multiplier: 1.3, retry_codes: [14, 4]
    }

    default_config
  end
  yield @configure if block_given?
  @configure
end

Instance Method Details

#configure {|config| ... } ⇒ Client::Configuration

Configure the OrgPolicy 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 configure.

See Configuration for a description of the configuration fields.

Yields:

  • (config)

    Configure the Client client.

Yield Parameters:

Returns:



173
174
175
176
# File 'lib/google/cloud/org_policy/v2/org_policy/client.rb', line 173

def configure
  yield @config if block_given?
  @config
end

#create_custom_constraint(request, options = nil) ⇒ ::Google::Cloud::OrgPolicy::V2::CustomConstraint #create_custom_constraint(parent: nil, custom_constraint: nil) ⇒ ::Google::Cloud::OrgPolicy::V2::CustomConstraint

Creates a custom constraint.

Returns a google.rpc.Status with google.rpc.Code.NOT_FOUND if the organization does not exist. Returns a google.rpc.Status with google.rpc.Code.ALREADY_EXISTS if the constraint already exists on the given organization.

Examples:

Basic example

require "google/cloud/org_policy/v2"

# Create a client object. The client can be reused for multiple calls.
client = Google::Cloud::OrgPolicy::V2::OrgPolicy::Client.new

# Create a request. To set request fields, pass in keyword arguments.
request = Google::Cloud::OrgPolicy::V2::CreateCustomConstraintRequest.new

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

# The returned object is of type Google::Cloud::OrgPolicy::V2::CustomConstraint.
p result

Overloads:

  • #create_custom_constraint(request, options = nil) ⇒ ::Google::Cloud::OrgPolicy::V2::CustomConstraint

    Pass arguments to create_custom_constraint via a request object, either of type CreateCustomConstraintRequest or an equivalent Hash.

    Parameters:

    • request (::Google::Cloud::OrgPolicy::V2::CreateCustomConstraintRequest, ::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) (defaults to: nil)

      Overrides the default settings for this call, e.g, timeout, retries, etc. Optional.

  • #create_custom_constraint(parent: nil, custom_constraint: nil) ⇒ ::Google::Cloud::OrgPolicy::V2::CustomConstraint

    Pass arguments to create_custom_constraint 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) (defaults to: nil)

      Required. Must be in the following form:

      • organizations/{organization_id}
    • custom_constraint (::Google::Cloud::OrgPolicy::V2::CustomConstraint, ::Hash) (defaults to: nil)

      Required. Custom constraint to create.

Yields:

  • (response, operation)

    Access the result along with the RPC operation

Yield Parameters:

Returns:

Raises:

  • (::Google::Cloud::Error)

    if the RPC is aborted.



996
997
998
999
1000
1001
1002
1003
1004
1005
1006
1007
1008
1009
1010
1011
1012
1013
1014
1015
1016
1017
1018
1019
1020
1021
1022
1023
1024
1025
1026
1027
1028
1029
1030
1031
1032
1033
1034
1035
# File 'lib/google/cloud/org_policy/v2/org_policy/client.rb', line 996

def create_custom_constraint request, options = nil
  raise ::ArgumentError, "request must be provided" if request.nil?

  request = ::Gapic::Protobuf.coerce request, to: ::Google::Cloud::OrgPolicy::V2::CreateCustomConstraintRequest

  # Converts hash and nil to an options object
  options = ::Gapic::CallOptions.new(**options.to_h) if options.respond_to? :to_h

  # Customize the options with defaults
   = @config.rpcs.create_custom_constraint..to_h

  # Set x-goog-api-client, x-goog-user-project and x-goog-api-version headers
  [:"x-goog-api-client"] ||= ::Gapic::Headers.x_goog_api_client \
    lib_name: @config.lib_name, lib_version: @config.lib_version,
    gapic_version: ::Google::Cloud::OrgPolicy::V2::VERSION
  [:"x-goog-api-version"] = API_VERSION unless API_VERSION.empty?
  [:"x-goog-user-project"] = @quota_project_id if @quota_project_id

  header_params = {}
  if request.parent
    header_params["parent"] = request.parent
  end

  request_params_header = header_params.map { |k, v| "#{k}=#{v}" }.join("&")
  [:"x-goog-request-params"] ||= request_params_header

  options.apply_defaults timeout:      @config.rpcs.create_custom_constraint.timeout,
                         metadata:     ,
                         retry_policy: @config.rpcs.create_custom_constraint.retry_policy

  options.apply_defaults timeout:      @config.timeout,
                         metadata:     @config.,
                         retry_policy: @config.retry_policy

  @org_policy_stub.call_rpc :create_custom_constraint, request, options: options do |response, operation|
    yield response, operation if block_given?
  end
rescue ::GRPC::BadStatus => e
  raise ::Google::Cloud::Error.from_error(e)
end

#create_policy(request, options = nil) ⇒ ::Google::Cloud::OrgPolicy::V2::Policy #create_policy(parent: nil, policy: nil) ⇒ ::Google::Cloud::OrgPolicy::V2::Policy

Creates a policy.

Returns a google.rpc.Status with google.rpc.Code.NOT_FOUND if the constraint does not exist. Returns a google.rpc.Status with google.rpc.Code.ALREADY_EXISTS if the policy already exists on the given Google Cloud resource.

Examples:

Basic example

require "google/cloud/org_policy/v2"

# Create a client object. The client can be reused for multiple calls.
client = Google::Cloud::OrgPolicy::V2::OrgPolicy::Client.new

# Create a request. To set request fields, pass in keyword arguments.
request = Google::Cloud::OrgPolicy::V2::CreatePolicyRequest.new

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

# The returned object is of type Google::Cloud::OrgPolicy::V2::Policy.
p result

Overloads:

  • #create_policy(request, options = nil) ⇒ ::Google::Cloud::OrgPolicy::V2::Policy

    Pass arguments to create_policy via a request object, either of type CreatePolicyRequest or an equivalent Hash.

    Parameters:

    • request (::Google::Cloud::OrgPolicy::V2::CreatePolicyRequest, ::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) (defaults to: nil)

      Overrides the default settings for this call, e.g, timeout, retries, etc. Optional.

  • #create_policy(parent: nil, policy: nil) ⇒ ::Google::Cloud::OrgPolicy::V2::Policy

    Pass arguments to create_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).

    Parameters:

    • parent (::String) (defaults to: nil)

      Required. The Google Cloud resource that will parent the new policy. Must be in one of the following forms:

      • projects/{project_number}
      • projects/{project_id}
      • folders/{folder_id}
      • organizations/{organization_id}
    • policy (::Google::Cloud::OrgPolicy::V2::Policy, ::Hash) (defaults to: nil)

      Required. Policy to create.

Yields:

  • (response, operation)

    Access the result along with the RPC operation

Yield Parameters:

Returns:

Raises:

  • (::Google::Cloud::Error)

    if the RPC is aborted.



712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
# File 'lib/google/cloud/org_policy/v2/org_policy/client.rb', line 712

def create_policy request, options = nil
  raise ::ArgumentError, "request must be provided" if request.nil?

  request = ::Gapic::Protobuf.coerce request, to: ::Google::Cloud::OrgPolicy::V2::CreatePolicyRequest

  # Converts hash and nil to an options object
  options = ::Gapic::CallOptions.new(**options.to_h) if options.respond_to? :to_h

  # Customize the options with defaults
   = @config.rpcs.create_policy..to_h

  # Set x-goog-api-client, x-goog-user-project and x-goog-api-version headers
  [:"x-goog-api-client"] ||= ::Gapic::Headers.x_goog_api_client \
    lib_name: @config.lib_name, lib_version: @config.lib_version,
    gapic_version: ::Google::Cloud::OrgPolicy::V2::VERSION
  [:"x-goog-api-version"] = API_VERSION unless API_VERSION.empty?
  [:"x-goog-user-project"] = @quota_project_id if @quota_project_id

  header_params = {}
  if request.parent
    header_params["parent"] = request.parent
  end

  request_params_header = header_params.map { |k, v| "#{k}=#{v}" }.join("&")
  [:"x-goog-request-params"] ||= request_params_header

  options.apply_defaults timeout:      @config.rpcs.create_policy.timeout,
                         metadata:     ,
                         retry_policy: @config.rpcs.create_policy.retry_policy

  options.apply_defaults timeout:      @config.timeout,
                         metadata:     @config.,
                         retry_policy: @config.retry_policy

  @org_policy_stub.call_rpc :create_policy, request, options: options do |response, operation|
    yield response, operation if block_given?
  end
rescue ::GRPC::BadStatus => e
  raise ::Google::Cloud::Error.from_error(e)
end

#delete_custom_constraint(request, options = nil) ⇒ ::Google::Protobuf::Empty #delete_custom_constraint(name: nil) ⇒ ::Google::Protobuf::Empty

Deletes a custom constraint.

Returns a google.rpc.Status with google.rpc.Code.NOT_FOUND if the constraint does not exist.

Examples:

Basic example

require "google/cloud/org_policy/v2"

# Create a client object. The client can be reused for multiple calls.
client = Google::Cloud::OrgPolicy::V2::OrgPolicy::Client.new

# Create a request. To set request fields, pass in keyword arguments.
request = Google::Cloud::OrgPolicy::V2::DeleteCustomConstraintRequest.new

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

# The returned object is of type Google::Protobuf::Empty.
p result

Overloads:

  • #delete_custom_constraint(request, options = nil) ⇒ ::Google::Protobuf::Empty

    Pass arguments to delete_custom_constraint via a request object, either of type DeleteCustomConstraintRequest or an equivalent Hash.

    Parameters:

    • request (::Google::Cloud::OrgPolicy::V2::DeleteCustomConstraintRequest, ::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) (defaults to: nil)

      Overrides the default settings for this call, e.g, timeout, retries, etc. Optional.

  • #delete_custom_constraint(name: nil) ⇒ ::Google::Protobuf::Empty

    Pass arguments to delete_custom_constraint 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) (defaults to: nil)

      Required. Name of the custom constraint to delete. See the custom constraint entry for naming rules.

Yields:

  • (response, operation)

    Access the result along with the RPC operation

Yield Parameters:

Returns:

Raises:

  • (::Google::Cloud::Error)

    if the RPC is aborted.



1368
1369
1370
1371
1372
1373
1374
1375
1376
1377
1378
1379
1380
1381
1382
1383
1384
1385
1386
1387
1388
1389
1390
1391
1392
1393
1394
1395
1396
1397
1398
1399
1400
1401
1402
1403
1404
1405
1406
1407
# File 'lib/google/cloud/org_policy/v2/org_policy/client.rb', line 1368

def delete_custom_constraint request, options = nil
  raise ::ArgumentError, "request must be provided" if request.nil?

  request = ::Gapic::Protobuf.coerce request, to: ::Google::Cloud::OrgPolicy::V2::DeleteCustomConstraintRequest

  # Converts hash and nil to an options object
  options = ::Gapic::CallOptions.new(**options.to_h) if options.respond_to? :to_h

  # Customize the options with defaults
   = @config.rpcs.delete_custom_constraint..to_h

  # Set x-goog-api-client, x-goog-user-project and x-goog-api-version headers
  [:"x-goog-api-client"] ||= ::Gapic::Headers.x_goog_api_client \
    lib_name: @config.lib_name, lib_version: @config.lib_version,
    gapic_version: ::Google::Cloud::OrgPolicy::V2::VERSION
  [:"x-goog-api-version"] = API_VERSION unless API_VERSION.empty?
  [:"x-goog-user-project"] = @quota_project_id if @quota_project_id

  header_params = {}
  if request.name
    header_params["name"] = request.name
  end

  request_params_header = header_params.map { |k, v| "#{k}=#{v}" }.join("&")
  [:"x-goog-request-params"] ||= request_params_header

  options.apply_defaults timeout:      @config.rpcs.delete_custom_constraint.timeout,
                         metadata:     ,
                         retry_policy: @config.rpcs.delete_custom_constraint.retry_policy

  options.apply_defaults timeout:      @config.timeout,
                         metadata:     @config.,
                         retry_policy: @config.retry_policy

  @org_policy_stub.call_rpc :delete_custom_constraint, request, options: options do |response, operation|
    yield response, operation if block_given?
  end
rescue ::GRPC::BadStatus => e
  raise ::Google::Cloud::Error.from_error(e)
end

#delete_policy(request, options = nil) ⇒ ::Google::Protobuf::Empty #delete_policy(name: nil, etag: nil) ⇒ ::Google::Protobuf::Empty

Deletes a policy.

Returns a google.rpc.Status with google.rpc.Code.NOT_FOUND if the constraint or organization policy does not exist.

Examples:

Basic example

require "google/cloud/org_policy/v2"

# Create a client object. The client can be reused for multiple calls.
client = Google::Cloud::OrgPolicy::V2::OrgPolicy::Client.new

# Create a request. To set request fields, pass in keyword arguments.
request = Google::Cloud::OrgPolicy::V2::DeletePolicyRequest.new

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

# The returned object is of type Google::Protobuf::Empty.
p result

Overloads:

  • #delete_policy(request, options = nil) ⇒ ::Google::Protobuf::Empty

    Pass arguments to delete_policy via a request object, either of type DeletePolicyRequest or an equivalent Hash.

    Parameters:

    • request (::Google::Cloud::OrgPolicy::V2::DeletePolicyRequest, ::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) (defaults to: nil)

      Overrides the default settings for this call, e.g, timeout, retries, etc. Optional.

  • #delete_policy(name: nil, etag: nil) ⇒ ::Google::Protobuf::Empty

    Pass arguments to delete_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).

    Parameters:

    • name (::String) (defaults to: nil)

      Required. Name of the policy to delete. See the policy entry for naming rules.

    • etag (::String) (defaults to: nil)

      Optional. The current etag of policy. If an etag is provided and does not match the current etag of the policy, deletion will be blocked and an ABORTED error will be returned.

Yields:

  • (response, operation)

    Access the result along with the RPC operation

Yield Parameters:

Returns:

Raises:

  • (::Google::Cloud::Error)

    if the RPC is aborted.



902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
# File 'lib/google/cloud/org_policy/v2/org_policy/client.rb', line 902

def delete_policy request, options = nil
  raise ::ArgumentError, "request must be provided" if request.nil?

  request = ::Gapic::Protobuf.coerce request, to: ::Google::Cloud::OrgPolicy::V2::DeletePolicyRequest

  # Converts hash and nil to an options object
  options = ::Gapic::CallOptions.new(**options.to_h) if options.respond_to? :to_h

  # Customize the options with defaults
   = @config.rpcs.delete_policy..to_h

  # Set x-goog-api-client, x-goog-user-project and x-goog-api-version headers
  [:"x-goog-api-client"] ||= ::Gapic::Headers.x_goog_api_client \
    lib_name: @config.lib_name, lib_version: @config.lib_version,
    gapic_version: ::Google::Cloud::OrgPolicy::V2::VERSION
  [:"x-goog-api-version"] = API_VERSION unless API_VERSION.empty?
  [:"x-goog-user-project"] = @quota_project_id if @quota_project_id

  header_params = {}
  if request.name
    header_params["name"] = request.name
  end

  request_params_header = header_params.map { |k, v| "#{k}=#{v}" }.join("&")
  [:"x-goog-request-params"] ||= request_params_header

  options.apply_defaults timeout:      @config.rpcs.delete_policy.timeout,
                         metadata:     ,
                         retry_policy: @config.rpcs.delete_policy.retry_policy

  options.apply_defaults timeout:      @config.timeout,
                         metadata:     @config.,
                         retry_policy: @config.retry_policy

  @org_policy_stub.call_rpc :delete_policy, request, options: options do |response, operation|
    yield response, operation if block_given?
  end
rescue ::GRPC::BadStatus => e
  raise ::Google::Cloud::Error.from_error(e)
end

#get_custom_constraint(request, options = nil) ⇒ ::Google::Cloud::OrgPolicy::V2::CustomConstraint #get_custom_constraint(name: nil) ⇒ ::Google::Cloud::OrgPolicy::V2::CustomConstraint

Gets a custom or managed constraint.

Returns a google.rpc.Status with google.rpc.Code.NOT_FOUND if the custom or managed constraint does not exist.

Examples:

Basic example

require "google/cloud/org_policy/v2"

# Create a client object. The client can be reused for multiple calls.
client = Google::Cloud::OrgPolicy::V2::OrgPolicy::Client.new

# Create a request. To set request fields, pass in keyword arguments.
request = Google::Cloud::OrgPolicy::V2::GetCustomConstraintRequest.new

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

# The returned object is of type Google::Cloud::OrgPolicy::V2::CustomConstraint.
p result

Overloads:

  • #get_custom_constraint(request, options = nil) ⇒ ::Google::Cloud::OrgPolicy::V2::CustomConstraint

    Pass arguments to get_custom_constraint via a request object, either of type GetCustomConstraintRequest or an equivalent Hash.

    Parameters:

    • request (::Google::Cloud::OrgPolicy::V2::GetCustomConstraintRequest, ::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) (defaults to: nil)

      Overrides the default settings for this call, e.g, timeout, retries, etc. Optional.

  • #get_custom_constraint(name: nil) ⇒ ::Google::Cloud::OrgPolicy::V2::CustomConstraint

    Pass arguments to get_custom_constraint 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) (defaults to: nil)

      Required. Resource name of the custom or managed constraint. See the custom constraint entry for naming requirements.

Yields:

  • (response, operation)

    Access the result along with the RPC operation

Yield Parameters:

Returns:

Raises:

  • (::Google::Cloud::Error)

    if the RPC is aborted.



1176
1177
1178
1179
1180
1181
1182
1183
1184
1185
1186
1187
1188
1189
1190
1191
1192
1193
1194
1195
1196
1197
1198
1199
1200
1201
1202
1203
1204
1205
1206
1207
1208
1209
1210
1211
1212
1213
1214
1215
# File 'lib/google/cloud/org_policy/v2/org_policy/client.rb', line 1176

def get_custom_constraint request, options = nil
  raise ::ArgumentError, "request must be provided" if request.nil?

  request = ::Gapic::Protobuf.coerce request, to: ::Google::Cloud::OrgPolicy::V2::GetCustomConstraintRequest

  # Converts hash and nil to an options object
  options = ::Gapic::CallOptions.new(**options.to_h) if options.respond_to? :to_h

  # Customize the options with defaults
   = @config.rpcs.get_custom_constraint..to_h

  # Set x-goog-api-client, x-goog-user-project and x-goog-api-version headers
  [:"x-goog-api-client"] ||= ::Gapic::Headers.x_goog_api_client \
    lib_name: @config.lib_name, lib_version: @config.lib_version,
    gapic_version: ::Google::Cloud::OrgPolicy::V2::VERSION
  [:"x-goog-api-version"] = API_VERSION unless API_VERSION.empty?
  [:"x-goog-user-project"] = @quota_project_id if @quota_project_id

  header_params = {}
  if request.name
    header_params["name"] = request.name
  end

  request_params_header = header_params.map { |k, v| "#{k}=#{v}" }.join("&")
  [:"x-goog-request-params"] ||= request_params_header

  options.apply_defaults timeout:      @config.rpcs.get_custom_constraint.timeout,
                         metadata:     ,
                         retry_policy: @config.rpcs.get_custom_constraint.retry_policy

  options.apply_defaults timeout:      @config.timeout,
                         metadata:     @config.,
                         retry_policy: @config.retry_policy

  @org_policy_stub.call_rpc :get_custom_constraint, request, options: options do |response, operation|
    yield response, operation if block_given?
  end
rescue ::GRPC::BadStatus => e
  raise ::Google::Cloud::Error.from_error(e)
end

#get_effective_policy(request, options = nil) ⇒ ::Google::Cloud::OrgPolicy::V2::Policy #get_effective_policy(name: nil) ⇒ ::Google::Cloud::OrgPolicy::V2::Policy

Gets the effective policy on a resource. This is the result of merging policies in the resource hierarchy and evaluating conditions. The returned policy will not have an etag or condition set because it is an evaluated policy across multiple resources. Subtrees of Resource Manager resource hierarchy with 'under:' prefix will not be expanded.

Examples:

Basic example

require "google/cloud/org_policy/v2"

# Create a client object. The client can be reused for multiple calls.
client = Google::Cloud::OrgPolicy::V2::OrgPolicy::Client.new

# Create a request. To set request fields, pass in keyword arguments.
request = Google::Cloud::OrgPolicy::V2::GetEffectivePolicyRequest.new

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

# The returned object is of type Google::Cloud::OrgPolicy::V2::Policy.
p result

Overloads:

  • #get_effective_policy(request, options = nil) ⇒ ::Google::Cloud::OrgPolicy::V2::Policy

    Pass arguments to get_effective_policy via a request object, either of type GetEffectivePolicyRequest or an equivalent Hash.

    Parameters:

    • request (::Google::Cloud::OrgPolicy::V2::GetEffectivePolicyRequest, ::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) (defaults to: nil)

      Overrides the default settings for this call, e.g, timeout, retries, etc. Optional.

  • #get_effective_policy(name: nil) ⇒ ::Google::Cloud::OrgPolicy::V2::Policy

    Pass arguments to get_effective_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).

    Parameters:

    • name (::String) (defaults to: nil)

      Required. The effective policy to compute. See Policy for naming requirements.

Yields:

  • (response, operation)

    Access the result along with the RPC operation

Yield Parameters:

Returns:

Raises:

  • (::Google::Cloud::Error)

    if the RPC is aborted.



614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
# File 'lib/google/cloud/org_policy/v2/org_policy/client.rb', line 614

def get_effective_policy request, options = nil
  raise ::ArgumentError, "request must be provided" if request.nil?

  request = ::Gapic::Protobuf.coerce request, to: ::Google::Cloud::OrgPolicy::V2::GetEffectivePolicyRequest

  # Converts hash and nil to an options object
  options = ::Gapic::CallOptions.new(**options.to_h) if options.respond_to? :to_h

  # Customize the options with defaults
   = @config.rpcs.get_effective_policy..to_h

  # Set x-goog-api-client, x-goog-user-project and x-goog-api-version headers
  [:"x-goog-api-client"] ||= ::Gapic::Headers.x_goog_api_client \
    lib_name: @config.lib_name, lib_version: @config.lib_version,
    gapic_version: ::Google::Cloud::OrgPolicy::V2::VERSION
  [:"x-goog-api-version"] = API_VERSION unless API_VERSION.empty?
  [:"x-goog-user-project"] = @quota_project_id if @quota_project_id

  header_params = {}
  if request.name
    header_params["name"] = request.name
  end

  request_params_header = header_params.map { |k, v| "#{k}=#{v}" }.join("&")
  [:"x-goog-request-params"] ||= request_params_header

  options.apply_defaults timeout:      @config.rpcs.get_effective_policy.timeout,
                         metadata:     ,
                         retry_policy: @config.rpcs.get_effective_policy.retry_policy

  options.apply_defaults timeout:      @config.timeout,
                         metadata:     @config.,
                         retry_policy: @config.retry_policy

  @org_policy_stub.call_rpc :get_effective_policy, request, options: options do |response, operation|
    yield response, operation if block_given?
  end
rescue ::GRPC::BadStatus => e
  raise ::Google::Cloud::Error.from_error(e)
end

#get_policy(request, options = nil) ⇒ ::Google::Cloud::OrgPolicy::V2::Policy #get_policy(name: nil) ⇒ ::Google::Cloud::OrgPolicy::V2::Policy

Gets a policy on a resource.

If no policy is set on the resource, NOT_FOUND is returned. The etag value can be used with UpdatePolicy() to update a policy during read-modify-write.

Examples:

Basic example

require "google/cloud/org_policy/v2"

# Create a client object. The client can be reused for multiple calls.
client = Google::Cloud::OrgPolicy::V2::OrgPolicy::Client.new

# Create a request. To set request fields, pass in keyword arguments.
request = Google::Cloud::OrgPolicy::V2::GetPolicyRequest.new

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

# The returned object is of type Google::Cloud::OrgPolicy::V2::Policy.
p result

Overloads:

  • #get_policy(request, options = nil) ⇒ ::Google::Cloud::OrgPolicy::V2::Policy

    Pass arguments to get_policy via a request object, either of type GetPolicyRequest or an equivalent Hash.

    Parameters:

    • request (::Google::Cloud::OrgPolicy::V2::GetPolicyRequest, ::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) (defaults to: nil)

      Overrides the default settings for this call, e.g, timeout, retries, etc. Optional.

  • #get_policy(name: nil) ⇒ ::Google::Cloud::OrgPolicy::V2::Policy

    Pass arguments to get_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).

    Parameters:

    • name (::String) (defaults to: nil)

      Required. Resource name of the policy. See Policy for naming requirements.

Yields:

  • (response, operation)

    Access the result along with the RPC operation

Yield Parameters:

Returns:

Raises:

  • (::Google::Cloud::Error)

    if the RPC is aborted.



523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
# File 'lib/google/cloud/org_policy/v2/org_policy/client.rb', line 523

def get_policy request, options = nil
  raise ::ArgumentError, "request must be provided" if request.nil?

  request = ::Gapic::Protobuf.coerce request, to: ::Google::Cloud::OrgPolicy::V2::GetPolicyRequest

  # Converts hash and nil to an options object
  options = ::Gapic::CallOptions.new(**options.to_h) if options.respond_to? :to_h

  # Customize the options with defaults
   = @config.rpcs.get_policy..to_h

  # Set x-goog-api-client, x-goog-user-project and x-goog-api-version headers
  [:"x-goog-api-client"] ||= ::Gapic::Headers.x_goog_api_client \
    lib_name: @config.lib_name, lib_version: @config.lib_version,
    gapic_version: ::Google::Cloud::OrgPolicy::V2::VERSION
  [:"x-goog-api-version"] = API_VERSION unless API_VERSION.empty?
  [:"x-goog-user-project"] = @quota_project_id if @quota_project_id

  header_params = {}
  if request.name
    header_params["name"] = request.name
  end

  request_params_header = header_params.map { |k, v| "#{k}=#{v}" }.join("&")
  [:"x-goog-request-params"] ||= request_params_header

  options.apply_defaults timeout:      @config.rpcs.get_policy.timeout,
                         metadata:     ,
                         retry_policy: @config.rpcs.get_policy.retry_policy

  options.apply_defaults timeout:      @config.timeout,
                         metadata:     @config.,
                         retry_policy: @config.retry_policy

  @org_policy_stub.call_rpc :get_policy, request, options: options do |response, operation|
    yield response, operation if block_given?
  end
rescue ::GRPC::BadStatus => e
  raise ::Google::Cloud::Error.from_error(e)
end

#list_constraints(request, options = nil) ⇒ ::Gapic::PagedEnumerable<::Google::Cloud::OrgPolicy::V2::Constraint> #list_constraints(parent: nil, page_size: nil, page_token: nil) ⇒ ::Gapic::PagedEnumerable<::Google::Cloud::OrgPolicy::V2::Constraint>

Lists constraints that could be applied on the specified resource.

Examples:

Basic example

require "google/cloud/org_policy/v2"

# Create a client object. The client can be reused for multiple calls.
client = Google::Cloud::OrgPolicy::V2::OrgPolicy::Client.new

# Create a request. To set request fields, pass in keyword arguments.
request = Google::Cloud::OrgPolicy::V2::ListConstraintsRequest.new

# Call the list_constraints method.
result = client.list_constraints 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::Cloud::OrgPolicy::V2::Constraint.
  p item
end

Overloads:

  • #list_constraints(request, options = nil) ⇒ ::Gapic::PagedEnumerable<::Google::Cloud::OrgPolicy::V2::Constraint>

    Pass arguments to list_constraints via a request object, either of type ListConstraintsRequest or an equivalent Hash.

    Parameters:

    • request (::Google::Cloud::OrgPolicy::V2::ListConstraintsRequest, ::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) (defaults to: nil)

      Overrides the default settings for this call, e.g, timeout, retries, etc. Optional.

  • #list_constraints(parent: nil, page_size: nil, page_token: nil) ⇒ ::Gapic::PagedEnumerable<::Google::Cloud::OrgPolicy::V2::Constraint>

    Pass arguments to list_constraints 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) (defaults to: nil)

      Required. The Google Cloud resource that parents the constraint. Must be in one of the following forms:

      • projects/{project_number}
      • projects/{project_id}
      • folders/{folder_id}
      • organizations/{organization_id}
    • page_size (::Integer) (defaults to: nil)

      Size of the pages to be returned. This is currently unsupported and will be ignored. The server may at any point start using this field to limit page size.

    • page_token (::String) (defaults to: nil)

      Page token used to retrieve the next page. This is currently unsupported and will be ignored. The server may at any point start using this field.

Yields:

  • (response, operation)

    Access the result along with the RPC operation

Yield Parameters:

Returns:

Raises:

  • (::Google::Cloud::Error)

    if the RPC is aborted.



326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
# File 'lib/google/cloud/org_policy/v2/org_policy/client.rb', line 326

def list_constraints request, options = nil
  raise ::ArgumentError, "request must be provided" if request.nil?

  request = ::Gapic::Protobuf.coerce request, to: ::Google::Cloud::OrgPolicy::V2::ListConstraintsRequest

  # Converts hash and nil to an options object
  options = ::Gapic::CallOptions.new(**options.to_h) if options.respond_to? :to_h

  # Customize the options with defaults
   = @config.rpcs.list_constraints..to_h

  # Set x-goog-api-client, x-goog-user-project and x-goog-api-version headers
  [:"x-goog-api-client"] ||= ::Gapic::Headers.x_goog_api_client \
    lib_name: @config.lib_name, lib_version: @config.lib_version,
    gapic_version: ::Google::Cloud::OrgPolicy::V2::VERSION
  [:"x-goog-api-version"] = API_VERSION unless API_VERSION.empty?
  [:"x-goog-user-project"] = @quota_project_id if @quota_project_id

  header_params = {}
  if request.parent
    header_params["parent"] = request.parent
  end

  request_params_header = header_params.map { |k, v| "#{k}=#{v}" }.join("&")
  [:"x-goog-request-params"] ||= request_params_header

  options.apply_defaults timeout:      @config.rpcs.list_constraints.timeout,
                         metadata:     ,
                         retry_policy: @config.rpcs.list_constraints.retry_policy

  options.apply_defaults timeout:      @config.timeout,
                         metadata:     @config.,
                         retry_policy: @config.retry_policy

  @org_policy_stub.call_rpc :list_constraints, request, options: options do |response, operation|
    response = ::Gapic::PagedEnumerable.new @org_policy_stub, :list_constraints, request, response, operation, options
    yield response, operation if block_given?
    throw :response, response
  end
rescue ::GRPC::BadStatus => e
  raise ::Google::Cloud::Error.from_error(e)
end

#list_custom_constraints(request, options = nil) ⇒ ::Gapic::PagedEnumerable<::Google::Cloud::OrgPolicy::V2::CustomConstraint> #list_custom_constraints(parent: nil, page_size: nil, page_token: nil) ⇒ ::Gapic::PagedEnumerable<::Google::Cloud::OrgPolicy::V2::CustomConstraint>

Retrieves all of the custom constraints that exist on a particular organization resource.

Examples:

Basic example

require "google/cloud/org_policy/v2"

# Create a client object. The client can be reused for multiple calls.
client = Google::Cloud::OrgPolicy::V2::OrgPolicy::Client.new

# Create a request. To set request fields, pass in keyword arguments.
request = Google::Cloud::OrgPolicy::V2::ListCustomConstraintsRequest.new

# Call the list_custom_constraints method.
result = client.list_custom_constraints 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::Cloud::OrgPolicy::V2::CustomConstraint.
  p item
end

Overloads:

  • #list_custom_constraints(request, options = nil) ⇒ ::Gapic::PagedEnumerable<::Google::Cloud::OrgPolicy::V2::CustomConstraint>

    Pass arguments to list_custom_constraints via a request object, either of type ListCustomConstraintsRequest or an equivalent Hash.

    Parameters:

    • request (::Google::Cloud::OrgPolicy::V2::ListCustomConstraintsRequest, ::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) (defaults to: nil)

      Overrides the default settings for this call, e.g, timeout, retries, etc. Optional.

  • #list_custom_constraints(parent: nil, page_size: nil, page_token: nil) ⇒ ::Gapic::PagedEnumerable<::Google::Cloud::OrgPolicy::V2::CustomConstraint>

    Pass arguments to list_custom_constraints 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) (defaults to: nil)

      Required. The target Google Cloud resource that parents the set of custom constraints that will be returned from this call. Must be in one of the following forms:

      • organizations/{organization_id}
    • page_size (::Integer) (defaults to: nil)

      Size of the pages to be returned. This is currently unsupported and will be ignored. The server may at any point start using this field to limit page size.

    • page_token (::String) (defaults to: nil)

      Page token used to retrieve the next page. This is currently unsupported and will be ignored. The server may at any point start using this field.

Yields:

  • (response, operation)

    Access the result along with the RPC operation

Yield Parameters:

Returns:

Raises:

  • (::Google::Cloud::Error)

    if the RPC is aborted.



1277
1278
1279
1280
1281
1282
1283
1284
1285
1286
1287
1288
1289
1290
1291
1292
1293
1294
1295
1296
1297
1298
1299
1300
1301
1302
1303
1304
1305
1306
1307
1308
1309
1310
1311
1312
1313
1314
1315
1316
1317
1318
# File 'lib/google/cloud/org_policy/v2/org_policy/client.rb', line 1277

def list_custom_constraints request, options = nil
  raise ::ArgumentError, "request must be provided" if request.nil?

  request = ::Gapic::Protobuf.coerce request, to: ::Google::Cloud::OrgPolicy::V2::ListCustomConstraintsRequest

  # Converts hash and nil to an options object
  options = ::Gapic::CallOptions.new(**options.to_h) if options.respond_to? :to_h

  # Customize the options with defaults
   = @config.rpcs.list_custom_constraints..to_h

  # Set x-goog-api-client, x-goog-user-project and x-goog-api-version headers
  [:"x-goog-api-client"] ||= ::Gapic::Headers.x_goog_api_client \
    lib_name: @config.lib_name, lib_version: @config.lib_version,
    gapic_version: ::Google::Cloud::OrgPolicy::V2::VERSION
  [:"x-goog-api-version"] = API_VERSION unless API_VERSION.empty?
  [:"x-goog-user-project"] = @quota_project_id if @quota_project_id

  header_params = {}
  if request.parent
    header_params["parent"] = request.parent
  end

  request_params_header = header_params.map { |k, v| "#{k}=#{v}" }.join("&")
  [:"x-goog-request-params"] ||= request_params_header

  options.apply_defaults timeout:      @config.rpcs.list_custom_constraints.timeout,
                         metadata:     ,
                         retry_policy: @config.rpcs.list_custom_constraints.retry_policy

  options.apply_defaults timeout:      @config.timeout,
                         metadata:     @config.,
                         retry_policy: @config.retry_policy

  @org_policy_stub.call_rpc :list_custom_constraints, request, options: options do |response, operation|
    response = ::Gapic::PagedEnumerable.new @org_policy_stub, :list_custom_constraints, request, response, operation, options
    yield response, operation if block_given?
    throw :response, response
  end
rescue ::GRPC::BadStatus => e
  raise ::Google::Cloud::Error.from_error(e)
end

#list_policies(request, options = nil) ⇒ ::Gapic::PagedEnumerable<::Google::Cloud::OrgPolicy::V2::Policy> #list_policies(parent: nil, page_size: nil, page_token: nil) ⇒ ::Gapic::PagedEnumerable<::Google::Cloud::OrgPolicy::V2::Policy>

Retrieves all of the policies that exist on a particular resource.

Examples:

Basic example

require "google/cloud/org_policy/v2"

# Create a client object. The client can be reused for multiple calls.
client = Google::Cloud::OrgPolicy::V2::OrgPolicy::Client.new

# Create a request. To set request fields, pass in keyword arguments.
request = Google::Cloud::OrgPolicy::V2::ListPoliciesRequest.new

# Call the list_policies method.
result = client.list_policies 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::Cloud::OrgPolicy::V2::Policy.
  p item
end

Overloads:

  • #list_policies(request, options = nil) ⇒ ::Gapic::PagedEnumerable<::Google::Cloud::OrgPolicy::V2::Policy>

    Pass arguments to list_policies via a request object, either of type ListPoliciesRequest or an equivalent Hash.

    Parameters:

    • request (::Google::Cloud::OrgPolicy::V2::ListPoliciesRequest, ::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) (defaults to: nil)

      Overrides the default settings for this call, e.g, timeout, retries, etc. Optional.

  • #list_policies(parent: nil, page_size: nil, page_token: nil) ⇒ ::Gapic::PagedEnumerable<::Google::Cloud::OrgPolicy::V2::Policy>

    Pass arguments to list_policies 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) (defaults to: nil)

      Required. The target Google Cloud resource that parents the set of constraints and policies that will be returned from this call. Must be in one of the following forms:

      • projects/{project_number}
      • projects/{project_id}
      • folders/{folder_id}
      • organizations/{organization_id}
    • page_size (::Integer) (defaults to: nil)

      Size of the pages to be returned. This is currently unsupported and will be ignored. The server may at any point start using this field to limit page size.

    • page_token (::String) (defaults to: nil)

      Page token used to retrieve the next page. This is currently unsupported and will be ignored. The server may at any point start using this field.

Yields:

  • (response, operation)

    Access the result along with the RPC operation

Yield Parameters:

Returns:

Raises:

  • (::Google::Cloud::Error)

    if the RPC is aborted.



431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
# File 'lib/google/cloud/org_policy/v2/org_policy/client.rb', line 431

def list_policies request, options = nil
  raise ::ArgumentError, "request must be provided" if request.nil?

  request = ::Gapic::Protobuf.coerce request, to: ::Google::Cloud::OrgPolicy::V2::ListPoliciesRequest

  # Converts hash and nil to an options object
  options = ::Gapic::CallOptions.new(**options.to_h) if options.respond_to? :to_h

  # Customize the options with defaults
   = @config.rpcs.list_policies..to_h

  # Set x-goog-api-client, x-goog-user-project and x-goog-api-version headers
  [:"x-goog-api-client"] ||= ::Gapic::Headers.x_goog_api_client \
    lib_name: @config.lib_name, lib_version: @config.lib_version,
    gapic_version: ::Google::Cloud::OrgPolicy::V2::VERSION
  [:"x-goog-api-version"] = API_VERSION unless API_VERSION.empty?
  [:"x-goog-user-project"] = @quota_project_id if @quota_project_id

  header_params = {}
  if request.parent
    header_params["parent"] = request.parent
  end

  request_params_header = header_params.map { |k, v| "#{k}=#{v}" }.join("&")
  [:"x-goog-request-params"] ||= request_params_header

  options.apply_defaults timeout:      @config.rpcs.list_policies.timeout,
                         metadata:     ,
                         retry_policy: @config.rpcs.list_policies.retry_policy

  options.apply_defaults timeout:      @config.timeout,
                         metadata:     @config.,
                         retry_policy: @config.retry_policy

  @org_policy_stub.call_rpc :list_policies, request, options: options do |response, operation|
    response = ::Gapic::PagedEnumerable.new @org_policy_stub, :list_policies, request, response, operation, options
    yield response, operation if block_given?
    throw :response, response
  end
rescue ::GRPC::BadStatus => e
  raise ::Google::Cloud::Error.from_error(e)
end

#loggerLogger

The logger used for request/response debug logging.

Returns:

  • (Logger)


259
260
261
# File 'lib/google/cloud/org_policy/v2/org_policy/client.rb', line 259

def logger
  @org_policy_stub.logger
end

#universe_domainString

The effective universe domain

Returns:

  • (String)


183
184
185
# File 'lib/google/cloud/org_policy/v2/org_policy/client.rb', line 183

def universe_domain
  @org_policy_stub.universe_domain
end

#update_custom_constraint(request, options = nil) ⇒ ::Google::Cloud::OrgPolicy::V2::CustomConstraint #update_custom_constraint(custom_constraint: nil) ⇒ ::Google::Cloud::OrgPolicy::V2::CustomConstraint

Updates a custom constraint.

Returns a google.rpc.Status with google.rpc.Code.NOT_FOUND if the constraint does not exist.

Note: the supplied policy will perform a full overwrite of all fields.

Examples:

Basic example

require "google/cloud/org_policy/v2"

# Create a client object. The client can be reused for multiple calls.
client = Google::Cloud::OrgPolicy::V2::OrgPolicy::Client.new

# Create a request. To set request fields, pass in keyword arguments.
request = Google::Cloud::OrgPolicy::V2::UpdateCustomConstraintRequest.new

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

# The returned object is of type Google::Cloud::OrgPolicy::V2::CustomConstraint.
p result

Overloads:

Yields:

  • (response, operation)

    Access the result along with the RPC operation

Yield Parameters:

Returns:

Raises:

  • (::Google::Cloud::Error)

    if the RPC is aborted.



1087
1088
1089
1090
1091
1092
1093
1094
1095
1096
1097
1098
1099
1100
1101
1102
1103
1104
1105
1106
1107
1108
1109
1110
1111
1112
1113
1114
1115
1116
1117
1118
1119
1120
1121
1122
1123
1124
1125
1126
# File 'lib/google/cloud/org_policy/v2/org_policy/client.rb', line 1087

def update_custom_constraint request, options = nil
  raise ::ArgumentError, "request must be provided" if request.nil?

  request = ::Gapic::Protobuf.coerce request, to: ::Google::Cloud::OrgPolicy::V2::UpdateCustomConstraintRequest

  # Converts hash and nil to an options object
  options = ::Gapic::CallOptions.new(**options.to_h) if options.respond_to? :to_h

  # Customize the options with defaults
   = @config.rpcs.update_custom_constraint..to_h

  # Set x-goog-api-client, x-goog-user-project and x-goog-api-version headers
  [:"x-goog-api-client"] ||= ::Gapic::Headers.x_goog_api_client \
    lib_name: @config.lib_name, lib_version: @config.lib_version,
    gapic_version: ::Google::Cloud::OrgPolicy::V2::VERSION
  [:"x-goog-api-version"] = API_VERSION unless API_VERSION.empty?
  [:"x-goog-user-project"] = @quota_project_id if @quota_project_id

  header_params = {}
  if request.custom_constraint&.name
    header_params["custom_constraint.name"] = request.custom_constraint.name
  end

  request_params_header = header_params.map { |k, v| "#{k}=#{v}" }.join("&")
  [:"x-goog-request-params"] ||= request_params_header

  options.apply_defaults timeout:      @config.rpcs.update_custom_constraint.timeout,
                         metadata:     ,
                         retry_policy: @config.rpcs.update_custom_constraint.retry_policy

  options.apply_defaults timeout:      @config.timeout,
                         metadata:     @config.,
                         retry_policy: @config.retry_policy

  @org_policy_stub.call_rpc :update_custom_constraint, request, options: options do |response, operation|
    yield response, operation if block_given?
  end
rescue ::GRPC::BadStatus => e
  raise ::Google::Cloud::Error.from_error(e)
end

#update_policy(request, options = nil) ⇒ ::Google::Cloud::OrgPolicy::V2::Policy #update_policy(policy: nil, update_mask: nil) ⇒ ::Google::Cloud::OrgPolicy::V2::Policy

Updates a policy.

Returns a google.rpc.Status with google.rpc.Code.NOT_FOUND if the constraint or the policy do not exist. Returns a google.rpc.Status with google.rpc.Code.ABORTED if the etag supplied in the request does not match the persisted etag of the policy

Note: the supplied policy will perform a full overwrite of all fields.

Examples:

Basic example

require "google/cloud/org_policy/v2"

# Create a client object. The client can be reused for multiple calls.
client = Google::Cloud::OrgPolicy::V2::OrgPolicy::Client.new

# Create a request. To set request fields, pass in keyword arguments.
request = Google::Cloud::OrgPolicy::V2::UpdatePolicyRequest.new

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

# The returned object is of type Google::Cloud::OrgPolicy::V2::Policy.
p result

Overloads:

  • #update_policy(request, options = nil) ⇒ ::Google::Cloud::OrgPolicy::V2::Policy

    Pass arguments to update_policy via a request object, either of type UpdatePolicyRequest or an equivalent Hash.

    Parameters:

    • request (::Google::Cloud::OrgPolicy::V2::UpdatePolicyRequest, ::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) (defaults to: nil)

      Overrides the default settings for this call, e.g, timeout, retries, etc. Optional.

  • #update_policy(policy: nil, update_mask: nil) ⇒ ::Google::Cloud::OrgPolicy::V2::Policy

    Pass arguments to update_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).

    Parameters:

    • policy (::Google::Cloud::OrgPolicy::V2::Policy, ::Hash) (defaults to: nil)

      Required. Policy to update.

    • update_mask (::Google::Protobuf::FieldMask, ::Hash) (defaults to: nil)

      Field mask used to specify the fields to be overwritten in the policy by the set. The fields specified in the update_mask are relative to the policy, not the full request.

Yields:

  • (response, operation)

    Access the result along with the RPC operation

Yield Parameters:

Returns:

Raises:

  • (::Google::Cloud::Error)

    if the RPC is aborted.



809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
# File 'lib/google/cloud/org_policy/v2/org_policy/client.rb', line 809

def update_policy request, options = nil
  raise ::ArgumentError, "request must be provided" if request.nil?

  request = ::Gapic::Protobuf.coerce request, to: ::Google::Cloud::OrgPolicy::V2::UpdatePolicyRequest

  # Converts hash and nil to an options object
  options = ::Gapic::CallOptions.new(**options.to_h) if options.respond_to? :to_h

  # Customize the options with defaults
   = @config.rpcs.update_policy..to_h

  # Set x-goog-api-client, x-goog-user-project and x-goog-api-version headers
  [:"x-goog-api-client"] ||= ::Gapic::Headers.x_goog_api_client \
    lib_name: @config.lib_name, lib_version: @config.lib_version,
    gapic_version: ::Google::Cloud::OrgPolicy::V2::VERSION
  [:"x-goog-api-version"] = API_VERSION unless API_VERSION.empty?
  [:"x-goog-user-project"] = @quota_project_id if @quota_project_id

  header_params = {}
  if request.policy&.name
    header_params["policy.name"] = request.policy.name
  end

  request_params_header = header_params.map { |k, v| "#{k}=#{v}" }.join("&")
  [:"x-goog-request-params"] ||= request_params_header

  options.apply_defaults timeout:      @config.rpcs.update_policy.timeout,
                         metadata:     ,
                         retry_policy: @config.rpcs.update_policy.retry_policy

  options.apply_defaults timeout:      @config.timeout,
                         metadata:     @config.,
                         retry_policy: @config.retry_policy

  @org_policy_stub.call_rpc :update_policy, request, options: options do |response, operation|
    yield response, operation if block_given?
  end
rescue ::GRPC::BadStatus => e
  raise ::Google::Cloud::Error.from_error(e)
end