Class: Google::Cloud::Asset::V1::AssetService::Client

Inherits:
Object
  • Object
show all
Includes:
Paths
Defined in:
lib/google/cloud/asset/v1/asset_service/client.rb

Overview

Client for the AssetService service.

Asset service definition.

Defined Under Namespace

Classes: Configuration

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Methods included from Paths

#feed_path, #project_path

Constructor Details

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

Create a new AssetService client object.

Examples

To create a new AssetService client with the default configuration:

client = ::Google::Cloud::Asset::V1::AssetService::Client.new

To create a new AssetService client with a custom configuration:

client = ::Google::Cloud::Asset::V1::AssetService::Client.new do |config|
  config.timeout = 10.0
end

Yields:

  • (config)

    Configure the AssetService client.

Yield Parameters:



178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
# File 'lib/google/cloud/asset/v1/asset_service/client.rb', line 178

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/asset/v1/asset_service_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
  credentials ||= Credentials.default scope: @config.scope
  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

  @operations_client = Operations.new do |config|
    config.credentials = credentials
    config.endpoint = @config.endpoint
  end

  @asset_service_stub = ::Gapic::ServiceStub.new(
    ::Google::Cloud::Asset::V1::AssetService::Stub,
    credentials:  credentials,
    endpoint:     @config.endpoint,
    channel_args: @config.channel_args,
    interceptors: @config.interceptors
  )
end

Instance Attribute Details

#operations_client::Google::Cloud::Asset::V1::AssetService::Operations (readonly)

Get the associated client for long-running operations.



219
220
221
# File 'lib/google/cloud/asset/v1/asset_service/client.rb', line 219

def operations_client
  @operations_client
end

Class Method Details

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

Configure the AssetService Client class.

See Configuration for a description of the configuration fields.

Example

To modify the configuration for all AssetService clients:

::Google::Cloud::Asset::V1::AssetService::Client.configure do |config|
  config.timeout = 10.0
end

Yields:

  • (config)

    Configure the Client client.

Yield Parameters:

Returns:



57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
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
# File 'lib/google/cloud/asset/v1/asset_service/client.rb', line 57

def self.configure
  @configure ||= begin
    namespace = ["Google", "Cloud", "Asset", "V1"]
    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.export_assets.timeout = 60.0

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

    default_config.rpcs.create_feed.timeout = 60.0

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

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

    default_config.rpcs.update_feed.timeout = 60.0

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

    default_config.rpcs.search_all_resources.timeout = 15.0
    default_config.rpcs.search_all_resources.retry_policy = {
      initial_delay: 0.1,
      max_delay:     60.0,
      multiplier:    1.3,
      retry_codes:   [4, 14]
    }

    default_config.rpcs.search_all_iam_policies.timeout = 15.0
    default_config.rpcs.search_all_iam_policies.retry_policy = {
      initial_delay: 0.1,
      max_delay:     60.0,
      multiplier:    1.3,
      retry_codes:   [4, 14]
    }

    default_config.rpcs.analyze_iam_policy.timeout = 300.0
    default_config.rpcs.analyze_iam_policy.retry_policy = {
      initial_delay: 0.1,
      max_delay:     60.0,
      multiplier:    1.3,
      retry_codes:   [14]
    }

    default_config.rpcs.analyze_iam_policy_longrunning.timeout = 60.0

    default_config
  end
  yield @configure if block_given?
  @configure
end

Instance Method Details

#analyze_iam_policy(request, options = nil) ⇒ ::Google::Cloud::Asset::V1::AnalyzeIamPolicyResponse #analyze_iam_policy(analysis_query: nil, execution_timeout: nil) ⇒ ::Google::Cloud::Asset::V1::AnalyzeIamPolicyResponse

Analyzes IAM policies to answer which identities have what accesses on which resources.

Overloads:

  • #analyze_iam_policy(request, options = nil) ⇒ ::Google::Cloud::Asset::V1::AnalyzeIamPolicyResponse

    Pass arguments to analyze_iam_policy via a request object, either of type Google::Cloud::Asset::V1::AnalyzeIamPolicyRequest or an equivalent Hash.

    Parameters:

    • request (::Google::Cloud::Asset::V1::AnalyzeIamPolicyRequest, ::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.

  • #analyze_iam_policy(analysis_query: nil, execution_timeout: nil) ⇒ ::Google::Cloud::Asset::V1::AnalyzeIamPolicyResponse

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

    Parameters:

    • analysis_query (::Google::Cloud::Asset::V1::IamPolicyAnalysisQuery, ::Hash) (defaults to: nil)

      Required. The request query.

    • execution_timeout (::Google::Protobuf::Duration, ::Hash) (defaults to: nil)

      Optional. Amount of time executable has to complete. See JSON representation of Duration.

      If this field is set with a value less than the RPC deadline, and the execution of your query hasn't finished in the specified execution timeout, you will get a response with partial result. Otherwise, your query's execution will continue until the RPC deadline. If it's not finished until then, you will get a DEADLINE_EXCEEDED error.

      Default is empty.

Yields:

  • (response, operation)

    Access the result along with the RPC operation

Yield Parameters:

Returns:

Raises:

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

    if the RPC is aborted.



1082
1083
1084
1085
1086
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
# File 'lib/google/cloud/asset/v1/asset_service/client.rb', line 1082

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

  request = ::Gapic::Protobuf.coerce request, to: ::Google::Cloud::Asset::V1::AnalyzeIamPolicyRequest

  # 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.analyze_iam_policy..to_h

  # Set x-goog-api-client and x-goog-user-project 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::Asset::V1::VERSION
  [:"x-goog-user-project"] = @quota_project_id if @quota_project_id

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

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

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

#analyze_iam_policy_longrunning(request, options = nil) ⇒ ::Gapic::Operation #analyze_iam_policy_longrunning(analysis_query: nil, output_config: nil) ⇒ ::Gapic::Operation

Analyzes IAM policies asynchronously to answer which identities have what accesses on which resources, and writes the analysis results to a Google Cloud Storage or a BigQuery destination. For Cloud Storage destination, the output format is the JSON format that represents a AnalyzeIamPolicyResponse. This method implements the google.longrunning.Operation, which allows you to track the operation status. We recommend intervals of at least 2 seconds with exponential backoff retry to poll the operation result. The metadata contains the request to help callers to map responses to requests.

Overloads:

  • #analyze_iam_policy_longrunning(request, options = nil) ⇒ ::Gapic::Operation

    Pass arguments to analyze_iam_policy_longrunning via a request object, either of type Google::Cloud::Asset::V1::AnalyzeIamPolicyLongrunningRequest or an equivalent Hash.

    Parameters:

    • request (::Google::Cloud::Asset::V1::AnalyzeIamPolicyLongrunningRequest, ::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.

  • #analyze_iam_policy_longrunning(analysis_query: nil, output_config: nil) ⇒ ::Gapic::Operation

    Pass arguments to analyze_iam_policy_longrunning 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:

Yields:

  • (response, operation)

    Access the result along with the RPC operation

Yield Parameters:

  • response (::Gapic::Operation)
  • operation (::GRPC::ActiveCall::Operation)

Returns:

  • (::Gapic::Operation)

Raises:

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

    if the RPC is aborted.



1158
1159
1160
1161
1162
1163
1164
1165
1166
1167
1168
1169
1170
1171
1172
1173
1174
1175
1176
1177
1178
1179
1180
1181
1182
1183
1184
1185
1186
1187
1188
1189
1190
1191
1192
1193
1194
# File 'lib/google/cloud/asset/v1/asset_service/client.rb', line 1158

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

  request = ::Gapic::Protobuf.coerce request, to: ::Google::Cloud::Asset::V1::AnalyzeIamPolicyLongrunningRequest

  # 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.analyze_iam_policy_longrunning..to_h

  # Set x-goog-api-client and x-goog-user-project 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::Asset::V1::VERSION
  [:"x-goog-user-project"] = @quota_project_id if @quota_project_id

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

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

  @asset_service_stub.call_rpc :analyze_iam_policy_longrunning, request, options: options do |response, operation|
    response = ::Gapic::Operation.new response, @operations_client, options: options
    yield response, operation if block_given?
    return response
  end
rescue ::GRPC::BadStatus => e
  raise ::Google::Cloud::Error.from_error(e)
end

#batch_get_assets_history(request, options = nil) ⇒ ::Google::Cloud::Asset::V1::BatchGetAssetsHistoryResponse #batch_get_assets_history(parent: nil, asset_names: nil, content_type: nil, read_time_window: nil) ⇒ ::Google::Cloud::Asset::V1::BatchGetAssetsHistoryResponse

Batch gets the update history of assets that overlap a time window. For IAM_POLICY content, this API outputs history when the asset and its attached IAM POLICY both exist. This can create gaps in the output history. Otherwise, this API outputs history with asset in both non-delete or deleted status. If a specified asset does not exist, this API returns an INVALID_ARGUMENT error.

Overloads:

  • #batch_get_assets_history(request, options = nil) ⇒ ::Google::Cloud::Asset::V1::BatchGetAssetsHistoryResponse

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

    Parameters:

    • request (::Google::Cloud::Asset::V1::BatchGetAssetsHistoryRequest, ::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.

  • #batch_get_assets_history(parent: nil, asset_names: nil, content_type: nil, read_time_window: nil) ⇒ ::Google::Cloud::Asset::V1::BatchGetAssetsHistoryResponse

    Pass arguments to batch_get_assets_history 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 relative name of the root asset. It can only be an organization number (such as "organizations/123"), a project ID (such as "projects/my-project-id")", or a project number (such as "projects/12345").

    • asset_names (::Array<::String>) (defaults to: nil)

      A list of the full names of the assets. See: https://cloud.google.com/asset-inventory/docs/resource-name-format Example:

      //compute.googleapis.com/projects/my_project_123/zones/zone1/instances/instance1.

      The request becomes a no-op if the asset name list is empty, and the max size of the asset name list is 100 in one request.

    • content_type (::Google::Cloud::Asset::V1::ContentType) (defaults to: nil)

      Optional. The content type.

    • read_time_window (::Google::Cloud::Asset::V1::TimeWindow, ::Hash) (defaults to: nil)

      Optional. The time window for the asset history. Both start_time and end_time are optional and if set, it must be after the current time minus 35 days. If end_time is not set, it is default to current timestamp. If start_time is not set, the snapshot of the assets at end_time will be returned. The returned results contain all temporal assets whose time window overlap with read_time_window.

Yields:

  • (response, operation)

    Access the result along with the RPC operation

Yield Parameters:

Returns:

Raises:

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

    if the RPC is aborted.



387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
# File 'lib/google/cloud/asset/v1/asset_service/client.rb', line 387

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

  request = ::Gapic::Protobuf.coerce request, to: ::Google::Cloud::Asset::V1::BatchGetAssetsHistoryRequest

  # 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.batch_get_assets_history..to_h

  # Set x-goog-api-client and x-goog-user-project 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::Asset::V1::VERSION
  [:"x-goog-user-project"] = @quota_project_id if @quota_project_id

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

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

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

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

Configure the AssetService 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:



153
154
155
156
# File 'lib/google/cloud/asset/v1/asset_service/client.rb', line 153

def configure
  yield @config if block_given?
  @config
end

#create_feed(request, options = nil) ⇒ ::Google::Cloud::Asset::V1::Feed #create_feed(parent: nil, feed_id: nil, feed: nil) ⇒ ::Google::Cloud::Asset::V1::Feed

Creates a feed in a parent project/folder/organization to listen to its asset updates.

Overloads:

  • #create_feed(request, options = nil) ⇒ ::Google::Cloud::Asset::V1::Feed

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

    Parameters:

    • request (::Google::Cloud::Asset::V1::CreateFeedRequest, ::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_feed(parent: nil, feed_id: nil, feed: nil) ⇒ ::Google::Cloud::Asset::V1::Feed

    Pass arguments to create_feed 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 name of the project/folder/organization where this feed should be created in. It can only be an organization number (such as "organizations/123"), a folder number (such as "folders/123"), a project ID (such as "projects/my-project-id")", or a project number (such as "projects/12345").

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

      Required. This is the client-assigned asset feed identifier and it needs to be unique under a specific parent project/folder/organization.

    • feed (::Google::Cloud::Asset::V1::Feed, ::Hash) (defaults to: nil)

      Required. The feed details. The field name must be empty and it will be generated in the format of: projects/project_number/feeds/feed_id folders/folder_number/feeds/feed_id organizations/organization_number/feeds/feed_id

Yields:

  • (response, operation)

    Access the result along with the RPC operation

Yield Parameters:

Returns:

Raises:

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

    if the RPC is aborted.



467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
# File 'lib/google/cloud/asset/v1/asset_service/client.rb', line 467

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

  request = ::Gapic::Protobuf.coerce request, to: ::Google::Cloud::Asset::V1::CreateFeedRequest

  # 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_feed..to_h

  # Set x-goog-api-client and x-goog-user-project 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::Asset::V1::VERSION
  [:"x-goog-user-project"] = @quota_project_id if @quota_project_id

  header_params = {
    "parent" => request.parent
  }
  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_feed.timeout,
                         metadata:     ,
                         retry_policy: @config.rpcs.create_feed.retry_policy
  options.apply_defaults metadata:     @config.,
                         retry_policy: @config.retry_policy

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

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

Deletes an asset feed.

Overloads:

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

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

    Parameters:

    • request (::Google::Cloud::Asset::V1::DeleteFeedRequest, ::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_feed(name: nil) ⇒ ::Google::Protobuf::Empty

    Pass arguments to delete_feed 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 name of the feed and it must be in the format of: projects/project_number/feeds/feed_id folders/folder_number/feeds/feed_id organizations/organization_number/feeds/feed_id

Yields:

  • (response, operation)

    Access the result along with the RPC operation

Yield Parameters:

Returns:

Raises:

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

    if the RPC is aborted.



747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
# File 'lib/google/cloud/asset/v1/asset_service/client.rb', line 747

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

  request = ::Gapic::Protobuf.coerce request, to: ::Google::Cloud::Asset::V1::DeleteFeedRequest

  # 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_feed..to_h

  # Set x-goog-api-client and x-goog-user-project 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::Asset::V1::VERSION
  [:"x-goog-user-project"] = @quota_project_id if @quota_project_id

  header_params = {
    "name" => request.name
  }
  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_feed.timeout,
                         metadata:     ,
                         retry_policy: @config.rpcs.delete_feed.retry_policy
  options.apply_defaults metadata:     @config.,
                         retry_policy: @config.retry_policy

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

#export_assets(request, options = nil) ⇒ ::Gapic::Operation #export_assets(parent: nil, read_time: nil, asset_types: nil, content_type: nil, output_config: nil) ⇒ ::Gapic::Operation

Exports assets with time and resource types to a given Cloud Storage location/BigQuery table. For Cloud Storage location destinations, the output format is newline-delimited JSON. Each line represents a google.cloud.asset.v1.Asset in the JSON format; for BigQuery table destinations, the output table stores the fields in asset proto as columns. This API implements the google.longrunning.Operation API , which allows you to keep track of the export. We recommend intervals of at least 2 seconds with exponential retry to poll the export operation result. For regular-size resource parent, the export operation usually finishes within 5 minutes.

Overloads:

  • #export_assets(request, options = nil) ⇒ ::Gapic::Operation

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

    Parameters:

    • request (::Google::Cloud::Asset::V1::ExportAssetsRequest, ::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.

  • #export_assets(parent: nil, read_time: nil, asset_types: nil, content_type: nil, output_config: nil) ⇒ ::Gapic::Operation

    Pass arguments to export_assets 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 relative name of the root asset. This can only be an organization number (such as "organizations/123"), a project ID (such as "projects/my-project-id"), or a project number (such as "projects/12345"), or a folder number (such as "folders/123").

    • read_time (::Google::Protobuf::Timestamp, ::Hash) (defaults to: nil)

      Timestamp to take an asset snapshot. This can only be set to a timestamp between the current time and the current time minus 35 days (inclusive). If not specified, the current time will be used. Due to delays in resource data collection and indexing, there is a volatile window during which running the same query may get different results.

    • asset_types (::Array<::String>) (defaults to: nil)

      A list of asset types to take a snapshot for. For example: "compute.googleapis.com/Disk".

      Regular expressions are also supported. For example:

      • "compute.googleapis.com.*" snapshots resources whose asset type starts with "compute.googleapis.com".
      • ".*Instance" snapshots resources whose asset type ends with "Instance".
      • ".Instance." snapshots resources whose asset type contains "Instance".

      See RE2 for all supported regular expression syntax. If the regular expression does not match any supported asset type, an INVALID_ARGUMENT error will be returned.

      If specified, only matching assets will be returned, otherwise, it will snapshot all asset types. See Introduction to Cloud Asset Inventory for all supported asset types.

    • content_type (::Google::Cloud::Asset::V1::ContentType) (defaults to: nil)

      Asset content type. If not specified, no content but the asset name will be returned.

    • output_config (::Google::Cloud::Asset::V1::OutputConfig, ::Hash) (defaults to: nil)

      Required. Output configuration indicating where the results will be output to.

Yields:

  • (response, operation)

    Access the result along with the RPC operation

Yield Parameters:

  • response (::Gapic::Operation)
  • operation (::GRPC::ActiveCall::Operation)

Returns:

  • (::Gapic::Operation)

Raises:

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

    if the RPC is aborted.



294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
# File 'lib/google/cloud/asset/v1/asset_service/client.rb', line 294

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

  request = ::Gapic::Protobuf.coerce request, to: ::Google::Cloud::Asset::V1::ExportAssetsRequest

  # 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.export_assets..to_h

  # Set x-goog-api-client and x-goog-user-project 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::Asset::V1::VERSION
  [:"x-goog-user-project"] = @quota_project_id if @quota_project_id

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

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

  @asset_service_stub.call_rpc :export_assets, request, options: options do |response, operation|
    response = ::Gapic::Operation.new response, @operations_client, options: options
    yield response, operation if block_given?
    return response
  end
rescue ::GRPC::BadStatus => e
  raise ::Google::Cloud::Error.from_error(e)
end

#get_feed(request, options = nil) ⇒ ::Google::Cloud::Asset::V1::Feed #get_feed(name: nil) ⇒ ::Google::Cloud::Asset::V1::Feed

Gets details about an asset feed.

Overloads:

  • #get_feed(request, options = nil) ⇒ ::Google::Cloud::Asset::V1::Feed

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

    Parameters:

    • request (::Google::Cloud::Asset::V1::GetFeedRequest, ::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_feed(name: nil) ⇒ ::Google::Cloud::Asset::V1::Feed

    Pass arguments to get_feed 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 name of the Feed and it must be in the format of: projects/project_number/feeds/feed_id folders/folder_number/feeds/feed_id organizations/organization_number/feeds/feed_id

Yields:

  • (response, operation)

    Access the result along with the RPC operation

Yield Parameters:

Returns:

Raises:

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

    if the RPC is aborted.



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
563
564
565
566
567
568
569
570
571
# File 'lib/google/cloud/asset/v1/asset_service/client.rb', line 536

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

  request = ::Gapic::Protobuf.coerce request, to: ::Google::Cloud::Asset::V1::GetFeedRequest

  # 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_feed..to_h

  # Set x-goog-api-client and x-goog-user-project 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::Asset::V1::VERSION
  [:"x-goog-user-project"] = @quota_project_id if @quota_project_id

  header_params = {
    "name" => request.name
  }
  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_feed.timeout,
                         metadata:     ,
                         retry_policy: @config.rpcs.get_feed.retry_policy
  options.apply_defaults metadata:     @config.,
                         retry_policy: @config.retry_policy

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

#list_feeds(request, options = nil) ⇒ ::Google::Cloud::Asset::V1::ListFeedsResponse #list_feeds(parent: nil) ⇒ ::Google::Cloud::Asset::V1::ListFeedsResponse

Lists all asset feeds in a parent project/folder/organization.

Overloads:

  • #list_feeds(request, options = nil) ⇒ ::Google::Cloud::Asset::V1::ListFeedsResponse

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

    Parameters:

    • request (::Google::Cloud::Asset::V1::ListFeedsRequest, ::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_feeds(parent: nil) ⇒ ::Google::Cloud::Asset::V1::ListFeedsResponse

    Pass arguments to list_feeds 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 parent project/folder/organization whose feeds are to be listed. It can only be using project/folder/organization number (such as "folders/12345")", or a project ID (such as "projects/my-project-id").

Yields:

  • (response, operation)

    Access the result along with the RPC operation

Yield Parameters:

Returns:

Raises:

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

    if the RPC is aborted.



604
605
606
607
608
609
610
611
612
613
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
# File 'lib/google/cloud/asset/v1/asset_service/client.rb', line 604

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

  request = ::Gapic::Protobuf.coerce request, to: ::Google::Cloud::Asset::V1::ListFeedsRequest

  # 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_feeds..to_h

  # Set x-goog-api-client and x-goog-user-project 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::Asset::V1::VERSION
  [:"x-goog-user-project"] = @quota_project_id if @quota_project_id

  header_params = {
    "parent" => request.parent
  }
  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_feeds.timeout,
                         metadata:     ,
                         retry_policy: @config.rpcs.list_feeds.retry_policy
  options.apply_defaults metadata:     @config.,
                         retry_policy: @config.retry_policy

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

#search_all_iam_policies(request, options = nil) ⇒ ::Gapic::PagedEnumerable<::Google::Cloud::Asset::V1::IamPolicySearchResult> #search_all_iam_policies(scope: nil, query: nil, page_size: nil, page_token: nil) ⇒ ::Gapic::PagedEnumerable<::Google::Cloud::Asset::V1::IamPolicySearchResult>

Searches all IAM policies within the specified scope, such as a project, folder, or organization. The caller must be granted the cloudasset.assets.searchAllIamPolicies permission on the desired scope, otherwise the request will be rejected.

Overloads:

  • #search_all_iam_policies(request, options = nil) ⇒ ::Gapic::PagedEnumerable<::Google::Cloud::Asset::V1::IamPolicySearchResult>

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

    Parameters:

    • request (::Google::Cloud::Asset::V1::SearchAllIamPoliciesRequest, ::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.

  • #search_all_iam_policies(scope: nil, query: nil, page_size: nil, page_token: nil) ⇒ ::Gapic::PagedEnumerable<::Google::Cloud::Asset::V1::IamPolicySearchResult>

    Pass arguments to search_all_iam_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:

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

      Required. A scope can be a project, a folder, or an organization. The search is limited to the IAM policies within the scope. The caller must be granted the cloudasset.assets.searchAllIamPolicies permission on the desired scope.

      The allowed values are:

      • projects/{PROJECT_ID} (e.g., "projects/foo-bar")
      • projects/{PROJECT_NUMBER} (e.g., "projects/12345678")
      • folders/{FOLDER_NUMBER} (e.g., "folders/1234567")
      • organizations/{ORGANIZATION_NUMBER} (e.g., "organizations/123456")
    • query (::String) (defaults to: nil)

      Optional. The query statement. See how to construct a query for more information. If not specified or empty, it will search all the IAM policies within the specified scope.

      Examples:

      • policy:[email protected] to find IAM policy bindings that specify user "[email protected]".
      • policy:roles/compute.admin to find IAM policy bindings that specify the Compute Admin role.
      • policy.role.permissions:storage.buckets.update to find IAM policy bindings that specify a role containing "storage.buckets.update" permission. Note that if callers don't have iam.roles.get access to a role's included permissions, policy bindings that specify this role will be dropped from the search results.
      • resource:organizations/123456 to find IAM policy bindings that are set on "organizations/123456".
      • Important to find IAM policy bindings that contain "Important" as a word in any of the searchable fields (except for the included permissions).
      • *por* to find IAM policy bindings that contain "por" as a substring in any of the searchable fields (except for the included permissions).
      • resource:(instance1 OR instance2) policy:amy to find IAM policy bindings that are set on resources "instance1" or "instance2" and also specify user "amy".
    • page_size (::Integer) (defaults to: nil)

      Optional. The page size for search result pagination. Page size is capped at 500 even if a larger value is given. If set to zero, server will pick an appropriate default. Returned results may be fewer than requested. When this happens, there could be more results as long as next_page_token is returned.

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

      Optional. If present, retrieve the next batch of results from the preceding call to this method. page_token must be the value of next_page_token from the previous response. The values of all other method parameters must be identical to those in the previous call.

Yields:

  • (response, operation)

    Access the result along with the RPC operation

Yield Parameters:

Returns:

Raises:

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

    if the RPC is aborted.



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
1036
1037
1038
1039
# File 'lib/google/cloud/asset/v1/asset_service/client.rb', line 1003

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

  request = ::Gapic::Protobuf.coerce request, to: ::Google::Cloud::Asset::V1::SearchAllIamPoliciesRequest

  # 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.search_all_iam_policies..to_h

  # Set x-goog-api-client and x-goog-user-project 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::Asset::V1::VERSION
  [:"x-goog-user-project"] = @quota_project_id if @quota_project_id

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

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

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

#search_all_resources(request, options = nil) ⇒ ::Gapic::PagedEnumerable<::Google::Cloud::Asset::V1::ResourceSearchResult> #search_all_resources(scope: nil, query: nil, asset_types: nil, page_size: nil, page_token: nil, order_by: nil) ⇒ ::Gapic::PagedEnumerable<::Google::Cloud::Asset::V1::ResourceSearchResult>

Searches all Cloud resources within the specified scope, such as a project, folder, or organization. The caller must be granted the cloudasset.assets.searchAllResources permission on the desired scope, otherwise the request will be rejected.

Overloads:

  • #search_all_resources(request, options = nil) ⇒ ::Gapic::PagedEnumerable<::Google::Cloud::Asset::V1::ResourceSearchResult>

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

    Parameters:

    • request (::Google::Cloud::Asset::V1::SearchAllResourcesRequest, ::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.

  • #search_all_resources(scope: nil, query: nil, asset_types: nil, page_size: nil, page_token: nil, order_by: nil) ⇒ ::Gapic::PagedEnumerable<::Google::Cloud::Asset::V1::ResourceSearchResult>

    Pass arguments to search_all_resources 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:

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

      Required. A scope can be a project, a folder, or an organization. The search is limited to the resources within the scope. The caller must be granted the cloudasset.assets.searchAllResources permission on the desired scope.

      The allowed values are:

      • projects/{PROJECT_ID} (e.g., "projects/foo-bar")
      • projects/{PROJECT_NUMBER} (e.g., "projects/12345678")
      • folders/{FOLDER_NUMBER} (e.g., "folders/1234567")
      • organizations/{ORGANIZATION_NUMBER} (e.g., "organizations/123456")
    • query (::String) (defaults to: nil)

      Optional. The query statement. See how to construct a query for more information. If not specified or empty, it will search all the resources within the specified scope. Note that the query string is compared against each Cloud IAM policy binding, including its members, roles, and Cloud IAM conditions. The returned Cloud IAM policies will only contain the bindings that match your query. To learn more about the IAM policy structure, see IAM policy doc.

      Examples:

      • name:Important to find Cloud resources whose name contains "Important" as a word.
      • displayName:Impor* to find Cloud resources whose display name contains "Impor" as a prefix.
      • description:*por* to find Cloud resources whose description contains "por" as a substring.
      • location:us-west* to find Cloud resources whose location is prefixed with "us-west".
      • labels:prod to find Cloud resources whose labels contain "prod" as a key or value.
      • labels.env:prod to find Cloud resources that have a label "env" and its value is "prod".
      • labels.env:* to find Cloud resources that have a label "env".
      • Important to find Cloud resources that contain "Important" as a word in any of the searchable fields.
      • Impor* to find Cloud resources that contain "Impor" as a prefix in any of the searchable fields.
      • *por* to find Cloud resources that contain "por" as a substring in any of the searchable fields.
      • Important location:(us-west1 OR global) to find Cloud resources that contain "Important" as a word in any of the searchable fields and are also located in the "us-west1" region or the "global" location.
    • asset_types (::Array<::String>) (defaults to: nil)

      Optional. A list of asset types that this request searches for. If empty, it will search all the searchable asset types.

    • page_size (::Integer) (defaults to: nil)

      Optional. The page size for search result pagination. Page size is capped at 500 even if a larger value is given. If set to zero, server will pick an appropriate default. Returned results may be fewer than requested. When this happens, there could be more results as long as next_page_token is returned.

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

      Optional. If present, then retrieve the next batch of results from the preceding call to this method. page_token must be the value of next_page_token from the previous response. The values of all other method parameters, must be identical to those in the previous call.

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

      Optional. A comma separated list of fields specifying the sorting order of the results. The default order is ascending. Add " DESC" after the field name to indicate descending order. Redundant space characters are ignored. Example: "location DESC, name". Only string fields in the response are sortable, including name, displayName, description, location. All the other fields such as repeated fields (e.g., networkTags), map fields (e.g., labels) and struct fields (e.g., additionalAttributes) are not supported.

Yields:

  • (response, operation)

    Access the result along with the RPC operation

Yield Parameters:

Returns:

Raises:

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

    if the RPC is aborted.



885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
# File 'lib/google/cloud/asset/v1/asset_service/client.rb', line 885

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

  request = ::Gapic::Protobuf.coerce request, to: ::Google::Cloud::Asset::V1::SearchAllResourcesRequest

  # 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.search_all_resources..to_h

  # Set x-goog-api-client and x-goog-user-project 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::Asset::V1::VERSION
  [:"x-goog-user-project"] = @quota_project_id if @quota_project_id

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

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

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

#update_feed(request, options = nil) ⇒ ::Google::Cloud::Asset::V1::Feed #update_feed(feed: nil, update_mask: nil) ⇒ ::Google::Cloud::Asset::V1::Feed

Updates an asset feed configuration.

Overloads:

  • #update_feed(request, options = nil) ⇒ ::Google::Cloud::Asset::V1::Feed

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

    Parameters:

    • request (::Google::Cloud::Asset::V1::UpdateFeedRequest, ::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_feed(feed: nil, update_mask: nil) ⇒ ::Google::Cloud::Asset::V1::Feed

    Pass arguments to update_feed 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:

    • feed (::Google::Cloud::Asset::V1::Feed, ::Hash) (defaults to: nil)

      Required. The new values of feed details. It must match an existing feed and the field name must be in the format of: projects/project_number/feeds/feed_id or folders/folder_number/feeds/feed_id or organizations/organization_number/feeds/feed_id.

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

      Required. Only updates the feed fields indicated by this mask. The field mask must not be empty, and it must not contain fields that are immutable or only set by the server.

Yields:

  • (response, operation)

    Access the result along with the RPC operation

Yield Parameters:

Returns:

Raises:

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

    if the RPC is aborted.



678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
# File 'lib/google/cloud/asset/v1/asset_service/client.rb', line 678

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

  request = ::Gapic::Protobuf.coerce request, to: ::Google::Cloud::Asset::V1::UpdateFeedRequest

  # 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_feed..to_h

  # Set x-goog-api-client and x-goog-user-project 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::Asset::V1::VERSION
  [:"x-goog-user-project"] = @quota_project_id if @quota_project_id

  header_params = {
    "feed.name" => request.feed.name
  }
  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_feed.timeout,
                         metadata:     ,
                         retry_policy: @config.rpcs.update_feed.retry_policy
  options.apply_defaults metadata:     @config.,
                         retry_policy: @config.retry_policy

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