# frozen_string_literal: true
# Copyright 2023 Google LLC
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# https://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
# Auto-generated by gapic-generator-ruby. DO NOT EDIT!
require "google/cloud/dataplex/v1/metadata_pb"
module Google
module Cloud
module Dataplex
module V1
module MetadataService
module Rest
##
# REST service stub for the MetadataService service.
# Service stub contains baseline method implementations
# including transcoding, making the REST call, and deserialing the response.
#
class ServiceStub
def initialize endpoint:, credentials:
# These require statements are intentionally placed here to initialize
# the REST modules only when it's required.
require "gapic/rest"
@client_stub = ::Gapic::Rest::ClientStub.new endpoint: endpoint, credentials: credentials,
numeric_enums: true,
raise_faraday_errors: false
end
##
# Baseline implementation for the create_entity REST call
#
# @param request_pb [::Google::Cloud::Dataplex::V1::CreateEntityRequest]
# A request object representing the call parameters. Required.
# @param options [::Gapic::CallOptions]
# Overrides the default settings for this call, e.g, timeout, retries etc. Optional.
#
# @yield [result, operation] Access the result along with the TransportOperation object
# @yieldparam result [::Google::Cloud::Dataplex::V1::Entity]
# @yieldparam operation [::Gapic::Rest::TransportOperation]
#
# @return [::Google::Cloud::Dataplex::V1::Entity]
# A result object deserialized from the server's reply
def create_entity request_pb, options = nil
raise ::ArgumentError, "request must be provided" if request_pb.nil?
verb, uri, query_string_params, body = ServiceStub.transcode_create_entity_request request_pb
query_string_params = if query_string_params.any?
query_string_params.to_h { |p| p.split "=", 2 }
else
{}
end
response = @client_stub.make_http_request(
verb,
uri: uri,
body: body || "",
params: query_string_params,
options: options
)
operation = ::Gapic::Rest::TransportOperation.new response
result = ::Google::Cloud::Dataplex::V1::Entity.decode_json response.body, ignore_unknown_fields: true
yield result, operation if block_given?
result
end
##
# Baseline implementation for the update_entity REST call
#
# @param request_pb [::Google::Cloud::Dataplex::V1::UpdateEntityRequest]
# A request object representing the call parameters. Required.
# @param options [::Gapic::CallOptions]
# Overrides the default settings for this call, e.g, timeout, retries etc. Optional.
#
# @yield [result, operation] Access the result along with the TransportOperation object
# @yieldparam result [::Google::Cloud::Dataplex::V1::Entity]
# @yieldparam operation [::Gapic::Rest::TransportOperation]
#
# @return [::Google::Cloud::Dataplex::V1::Entity]
# A result object deserialized from the server's reply
def update_entity request_pb, options = nil
raise ::ArgumentError, "request must be provided" if request_pb.nil?
verb, uri, query_string_params, body = ServiceStub.transcode_update_entity_request request_pb
query_string_params = if query_string_params.any?
query_string_params.to_h { |p| p.split "=", 2 }
else
{}
end
response = @client_stub.make_http_request(
verb,
uri: uri,
body: body || "",
params: query_string_params,
options: options
)
operation = ::Gapic::Rest::TransportOperation.new response
result = ::Google::Cloud::Dataplex::V1::Entity.decode_json response.body, ignore_unknown_fields: true
yield result, operation if block_given?
result
end
##
# Baseline implementation for the delete_entity REST call
#
# @param request_pb [::Google::Cloud::Dataplex::V1::DeleteEntityRequest]
# A request object representing the call parameters. Required.
# @param options [::Gapic::CallOptions]
# Overrides the default settings for this call, e.g, timeout, retries etc. Optional.
#
# @yield [result, operation] Access the result along with the TransportOperation object
# @yieldparam result [::Google::Protobuf::Empty]
# @yieldparam operation [::Gapic::Rest::TransportOperation]
#
# @return [::Google::Protobuf::Empty]
# A result object deserialized from the server's reply
def delete_entity request_pb, options = nil
raise ::ArgumentError, "request must be provided" if request_pb.nil?
verb, uri, query_string_params, body = ServiceStub.transcode_delete_entity_request request_pb
query_string_params = if query_string_params.any?
query_string_params.to_h { |p| p.split "=", 2 }
else
{}
end
response = @client_stub.make_http_request(
verb,
uri: uri,
body: body || "",
params: query_string_params,
options: options
)
operation = ::Gapic::Rest::TransportOperation.new response
result = ::Google::Protobuf::Empty.decode_json response.body, ignore_unknown_fields: true
yield result, operation if block_given?
result
end
##
# Baseline implementation for the get_entity REST call
#
# @param request_pb [::Google::Cloud::Dataplex::V1::GetEntityRequest]
# A request object representing the call parameters. Required.
# @param options [::Gapic::CallOptions]
# Overrides the default settings for this call, e.g, timeout, retries etc. Optional.
#
# @yield [result, operation] Access the result along with the TransportOperation object
# @yieldparam result [::Google::Cloud::Dataplex::V1::Entity]
# @yieldparam operation [::Gapic::Rest::TransportOperation]
#
# @return [::Google::Cloud::Dataplex::V1::Entity]
# A result object deserialized from the server's reply
def get_entity request_pb, options = nil
raise ::ArgumentError, "request must be provided" if request_pb.nil?
verb, uri, query_string_params, body = ServiceStub.transcode_get_entity_request request_pb
query_string_params = if query_string_params.any?
query_string_params.to_h { |p| p.split "=", 2 }
else
{}
end
response = @client_stub.make_http_request(
verb,
uri: uri,
body: body || "",
params: query_string_params,
options: options
)
operation = ::Gapic::Rest::TransportOperation.new response
result = ::Google::Cloud::Dataplex::V1::Entity.decode_json response.body, ignore_unknown_fields: true
yield result, operation if block_given?
result
end
##
# Baseline implementation for the list_entities REST call
#
# @param request_pb [::Google::Cloud::Dataplex::V1::ListEntitiesRequest]
# A request object representing the call parameters. Required.
# @param options [::Gapic::CallOptions]
# Overrides the default settings for this call, e.g, timeout, retries etc. Optional.
#
# @yield [result, operation] Access the result along with the TransportOperation object
# @yieldparam result [::Google::Cloud::Dataplex::V1::ListEntitiesResponse]
# @yieldparam operation [::Gapic::Rest::TransportOperation]
#
# @return [::Google::Cloud::Dataplex::V1::ListEntitiesResponse]
# A result object deserialized from the server's reply
def list_entities request_pb, options = nil
raise ::ArgumentError, "request must be provided" if request_pb.nil?
verb, uri, query_string_params, body = ServiceStub.transcode_list_entities_request request_pb
query_string_params = if query_string_params.any?
query_string_params.to_h { |p| p.split "=", 2 }
else
{}
end
response = @client_stub.make_http_request(
verb,
uri: uri,
body: body || "",
params: query_string_params,
options: options
)
operation = ::Gapic::Rest::TransportOperation.new response
result = ::Google::Cloud::Dataplex::V1::ListEntitiesResponse.decode_json response.body, ignore_unknown_fields: true
yield result, operation if block_given?
result
end
##
# Baseline implementation for the create_partition REST call
#
# @param request_pb [::Google::Cloud::Dataplex::V1::CreatePartitionRequest]
# A request object representing the call parameters. Required.
# @param options [::Gapic::CallOptions]
# Overrides the default settings for this call, e.g, timeout, retries etc. Optional.
#
# @yield [result, operation] Access the result along with the TransportOperation object
# @yieldparam result [::Google::Cloud::Dataplex::V1::Partition]
# @yieldparam operation [::Gapic::Rest::TransportOperation]
#
# @return [::Google::Cloud::Dataplex::V1::Partition]
# A result object deserialized from the server's reply
def create_partition request_pb, options = nil
raise ::ArgumentError, "request must be provided" if request_pb.nil?
verb, uri, query_string_params, body = ServiceStub.transcode_create_partition_request request_pb
query_string_params = if query_string_params.any?
query_string_params.to_h { |p| p.split "=", 2 }
else
{}
end
response = @client_stub.make_http_request(
verb,
uri: uri,
body: body || "",
params: query_string_params,
options: options
)
operation = ::Gapic::Rest::TransportOperation.new response
result = ::Google::Cloud::Dataplex::V1::Partition.decode_json response.body, ignore_unknown_fields: true
yield result, operation if block_given?
result
end
##
# Baseline implementation for the delete_partition REST call
#
# @param request_pb [::Google::Cloud::Dataplex::V1::DeletePartitionRequest]
# A request object representing the call parameters. Required.
# @param options [::Gapic::CallOptions]
# Overrides the default settings for this call, e.g, timeout, retries etc. Optional.
#
# @yield [result, operation] Access the result along with the TransportOperation object
# @yieldparam result [::Google::Protobuf::Empty]
# @yieldparam operation [::Gapic::Rest::TransportOperation]
#
# @return [::Google::Protobuf::Empty]
# A result object deserialized from the server's reply
def delete_partition request_pb, options = nil
raise ::ArgumentError, "request must be provided" if request_pb.nil?
verb, uri, query_string_params, body = ServiceStub.transcode_delete_partition_request request_pb
query_string_params = if query_string_params.any?
query_string_params.to_h { |p| p.split "=", 2 }
else
{}
end
response = @client_stub.make_http_request(
verb,
uri: uri,
body: body || "",
params: query_string_params,
options: options
)
operation = ::Gapic::Rest::TransportOperation.new response
result = ::Google::Protobuf::Empty.decode_json response.body, ignore_unknown_fields: true
yield result, operation if block_given?
result
end
##
# Baseline implementation for the get_partition REST call
#
# @param request_pb [::Google::Cloud::Dataplex::V1::GetPartitionRequest]
# A request object representing the call parameters. Required.
# @param options [::Gapic::CallOptions]
# Overrides the default settings for this call, e.g, timeout, retries etc. Optional.
#
# @yield [result, operation] Access the result along with the TransportOperation object
# @yieldparam result [::Google::Cloud::Dataplex::V1::Partition]
# @yieldparam operation [::Gapic::Rest::TransportOperation]
#
# @return [::Google::Cloud::Dataplex::V1::Partition]
# A result object deserialized from the server's reply
def get_partition request_pb, options = nil
raise ::ArgumentError, "request must be provided" if request_pb.nil?
verb, uri, query_string_params, body = ServiceStub.transcode_get_partition_request request_pb
query_string_params = if query_string_params.any?
query_string_params.to_h { |p| p.split "=", 2 }
else
{}
end
response = @client_stub.make_http_request(
verb,
uri: uri,
body: body || "",
params: query_string_params,
options: options
)
operation = ::Gapic::Rest::TransportOperation.new response
result = ::Google::Cloud::Dataplex::V1::Partition.decode_json response.body, ignore_unknown_fields: true
yield result, operation if block_given?
result
end
##
# Baseline implementation for the list_partitions REST call
#
# @param request_pb [::Google::Cloud::Dataplex::V1::ListPartitionsRequest]
# A request object representing the call parameters. Required.
# @param options [::Gapic::CallOptions]
# Overrides the default settings for this call, e.g, timeout, retries etc. Optional.
#
# @yield [result, operation] Access the result along with the TransportOperation object
# @yieldparam result [::Google::Cloud::Dataplex::V1::ListPartitionsResponse]
# @yieldparam operation [::Gapic::Rest::TransportOperation]
#
# @return [::Google::Cloud::Dataplex::V1::ListPartitionsResponse]
# A result object deserialized from the server's reply
def list_partitions request_pb, options = nil
raise ::ArgumentError, "request must be provided" if request_pb.nil?
verb, uri, query_string_params, body = ServiceStub.transcode_list_partitions_request request_pb
query_string_params = if query_string_params.any?
query_string_params.to_h { |p| p.split "=", 2 }
else
{}
end
response = @client_stub.make_http_request(
verb,
uri: uri,
body: body || "",
params: query_string_params,
options: options
)
operation = ::Gapic::Rest::TransportOperation.new response
result = ::Google::Cloud::Dataplex::V1::ListPartitionsResponse.decode_json response.body, ignore_unknown_fields: true
yield result, operation if block_given?
result
end
##
# @private
#
# GRPC transcoding helper method for the create_entity REST call
#
# @param request_pb [::Google::Cloud::Dataplex::V1::CreateEntityRequest]
# A request object representing the call parameters. Required.
# @return [Array(String, [String, nil], Hash{String => String})]
# Uri, Body, Query string parameters
def self.transcode_create_entity_request request_pb
transcoder = Gapic::Rest::GrpcTranscoder.new
.with_bindings(
uri_method: :post,
uri_template: "/v1/{parent}/entities",
body: "entity",
matches: [
["parent", %r{^projects/[^/]+/locations/[^/]+/lakes/[^/]+/zones/[^/]+/?$}, false]
]
)
transcoder.transcode request_pb
end
##
# @private
#
# GRPC transcoding helper method for the update_entity REST call
#
# @param request_pb [::Google::Cloud::Dataplex::V1::UpdateEntityRequest]
# A request object representing the call parameters. Required.
# @return [Array(String, [String, nil], Hash{String => String})]
# Uri, Body, Query string parameters
def self.transcode_update_entity_request request_pb
transcoder = Gapic::Rest::GrpcTranscoder.new
.with_bindings(
uri_method: :put,
uri_template: "/v1/{entity.name}",
body: "entity",
matches: [
["entity.name", %r{^projects/[^/]+/locations/[^/]+/lakes/[^/]+/zones/[^/]+/entities/[^/]+/?$}, false]
]
)
transcoder.transcode request_pb
end
##
# @private
#
# GRPC transcoding helper method for the delete_entity REST call
#
# @param request_pb [::Google::Cloud::Dataplex::V1::DeleteEntityRequest]
# A request object representing the call parameters. Required.
# @return [Array(String, [String, nil], Hash{String => String})]
# Uri, Body, Query string parameters
def self.transcode_delete_entity_request request_pb
transcoder = Gapic::Rest::GrpcTranscoder.new
.with_bindings(
uri_method: :delete,
uri_template: "/v1/{name}",
matches: [
["name", %r{^projects/[^/]+/locations/[^/]+/lakes/[^/]+/zones/[^/]+/entities/[^/]+/?$}, false]
]
)
transcoder.transcode request_pb
end
##
# @private
#
# GRPC transcoding helper method for the get_entity REST call
#
# @param request_pb [::Google::Cloud::Dataplex::V1::GetEntityRequest]
# A request object representing the call parameters. Required.
# @return [Array(String, [String, nil], Hash{String => String})]
# Uri, Body, Query string parameters
def self.transcode_get_entity_request request_pb
transcoder = Gapic::Rest::GrpcTranscoder.new
.with_bindings(
uri_method: :get,
uri_template: "/v1/{name}",
matches: [
["name", %r{^projects/[^/]+/locations/[^/]+/lakes/[^/]+/zones/[^/]+/entities/[^/]+/?$}, false]
]
)
transcoder.transcode request_pb
end
##
# @private
#
# GRPC transcoding helper method for the list_entities REST call
#
# @param request_pb [::Google::Cloud::Dataplex::V1::ListEntitiesRequest]
# A request object representing the call parameters. Required.
# @return [Array(String, [String, nil], Hash{String => String})]
# Uri, Body, Query string parameters
def self.transcode_list_entities_request request_pb
transcoder = Gapic::Rest::GrpcTranscoder.new
.with_bindings(
uri_method: :get,
uri_template: "/v1/{parent}/entities",
matches: [
["parent", %r{^projects/[^/]+/locations/[^/]+/lakes/[^/]+/zones/[^/]+/?$}, false]
]
)
transcoder.transcode request_pb
end
##
# @private
#
# GRPC transcoding helper method for the create_partition REST call
#
# @param request_pb [::Google::Cloud::Dataplex::V1::CreatePartitionRequest]
# A request object representing the call parameters. Required.
# @return [Array(String, [String, nil], Hash{String => String})]
# Uri, Body, Query string parameters
def self.transcode_create_partition_request request_pb
transcoder = Gapic::Rest::GrpcTranscoder.new
.with_bindings(
uri_method: :post,
uri_template: "/v1/{parent}/partitions",
body: "partition",
matches: [
["parent", %r{^projects/[^/]+/locations/[^/]+/lakes/[^/]+/zones/[^/]+/entities/[^/]+/?$}, false]
]
)
transcoder.transcode request_pb
end
##
# @private
#
# GRPC transcoding helper method for the delete_partition REST call
#
# @param request_pb [::Google::Cloud::Dataplex::V1::DeletePartitionRequest]
# A request object representing the call parameters. Required.
# @return [Array(String, [String, nil], Hash{String => String})]
# Uri, Body, Query string parameters
def self.transcode_delete_partition_request request_pb
transcoder = Gapic::Rest::GrpcTranscoder.new
.with_bindings(
uri_method: :delete,
uri_template: "/v1/{name}",
matches: [
["name", %r{^projects/[^/]+/locations/[^/]+/lakes/[^/]+/zones/[^/]+/entities/[^/]+/partitions(?:/.*)?$}, true]
]
)
transcoder.transcode request_pb
end
##
# @private
#
# GRPC transcoding helper method for the get_partition REST call
#
# @param request_pb [::Google::Cloud::Dataplex::V1::GetPartitionRequest]
# A request object representing the call parameters. Required.
# @return [Array(String, [String, nil], Hash{String => String})]
# Uri, Body, Query string parameters
def self.transcode_get_partition_request request_pb
transcoder = Gapic::Rest::GrpcTranscoder.new
.with_bindings(
uri_method: :get,
uri_template: "/v1/{name}",
matches: [
["name", %r{^projects/[^/]+/locations/[^/]+/lakes/[^/]+/zones/[^/]+/entities/[^/]+/partitions(?:/.*)?$}, true]
]
)
transcoder.transcode request_pb
end
##
# @private
#
# GRPC transcoding helper method for the list_partitions REST call
#
# @param request_pb [::Google::Cloud::Dataplex::V1::ListPartitionsRequest]
# A request object representing the call parameters. Required.
# @return [Array(String, [String, nil], Hash{String => String})]
# Uri, Body, Query string parameters
def self.transcode_list_partitions_request request_pb
transcoder = Gapic::Rest::GrpcTranscoder.new
.with_bindings(
uri_method: :get,
uri_template: "/v1/{parent}/partitions",
matches: [
["parent", %r{^projects/[^/]+/locations/[^/]+/lakes/[^/]+/zones/[^/]+/entities/[^/]+/?$}, false]
]
)
transcoder.transcode request_pb
end
end
end
end
end
end
end
end