diff --git a/google-cloud-network_services-v1/.owlbot-manifest.json b/google-cloud-network_services-v1/.owlbot-manifest.json index 37ba38c21678..917a37200d38 100644 --- a/google-cloud-network_services-v1/.owlbot-manifest.json +++ b/google-cloud-network_services-v1/.owlbot-manifest.json @@ -36,6 +36,7 @@ "lib/google/cloud/network_services/v1/network_services/rest/service_stub.rb", "lib/google/cloud/network_services/v1/rest.rb", "lib/google/cloud/network_services/v1/version.rb", + "lib/google/cloud/networkservices/v1/agent_gateway_pb.rb", "lib/google/cloud/networkservices/v1/common_pb.rb", "lib/google/cloud/networkservices/v1/dep_pb.rb", "lib/google/cloud/networkservices/v1/dep_services_pb.rb", @@ -58,6 +59,7 @@ "proto_docs/google/api/field_info.rb", "proto_docs/google/api/launch_stage.rb", "proto_docs/google/api/resource.rb", + "proto_docs/google/cloud/networkservices/v1/agent_gateway.rb", "proto_docs/google/cloud/networkservices/v1/common.rb", "proto_docs/google/cloud/networkservices/v1/dep.rb", "proto_docs/google/cloud/networkservices/v1/endpoint_policy.rb", @@ -101,6 +103,7 @@ "snippets/dep_service/update_lb_edge_extension.rb", "snippets/dep_service/update_lb_route_extension.rb", "snippets/dep_service/update_lb_traffic_extension.rb", + "snippets/network_services/create_agent_gateway.rb", "snippets/network_services/create_endpoint_policy.rb", "snippets/network_services/create_gateway.rb", "snippets/network_services/create_grpc_route.rb", @@ -112,6 +115,7 @@ "snippets/network_services/create_tls_route.rb", "snippets/network_services/create_wasm_plugin.rb", "snippets/network_services/create_wasm_plugin_version.rb", + "snippets/network_services/delete_agent_gateway.rb", "snippets/network_services/delete_endpoint_policy.rb", "snippets/network_services/delete_gateway.rb", "snippets/network_services/delete_grpc_route.rb", @@ -123,6 +127,7 @@ "snippets/network_services/delete_tls_route.rb", "snippets/network_services/delete_wasm_plugin.rb", "snippets/network_services/delete_wasm_plugin_version.rb", + "snippets/network_services/get_agent_gateway.rb", "snippets/network_services/get_endpoint_policy.rb", "snippets/network_services/get_gateway.rb", "snippets/network_services/get_gateway_route_view.rb", @@ -136,6 +141,7 @@ "snippets/network_services/get_tls_route.rb", "snippets/network_services/get_wasm_plugin.rb", "snippets/network_services/get_wasm_plugin_version.rb", + "snippets/network_services/list_agent_gateways.rb", "snippets/network_services/list_endpoint_policies.rb", "snippets/network_services/list_gateway_route_views.rb", "snippets/network_services/list_gateways.rb", @@ -149,6 +155,7 @@ "snippets/network_services/list_tls_routes.rb", "snippets/network_services/list_wasm_plugin_versions.rb", "snippets/network_services/list_wasm_plugins.rb", + "snippets/network_services/update_agent_gateway.rb", "snippets/network_services/update_endpoint_policy.rb", "snippets/network_services/update_gateway.rb", "snippets/network_services/update_grpc_route.rb", diff --git a/google-cloud-network_services-v1/gapic_metadata.json b/google-cloud-network_services-v1/gapic_metadata.json index 0f2ae7f1d859..b9bc5946fba2 100644 --- a/google-cloud-network_services-v1/gapic_metadata.json +++ b/google-cloud-network_services-v1/gapic_metadata.json @@ -408,6 +408,31 @@ "methods": [ "list_mesh_route_views" ] + }, + "ListAgentGateways": { + "methods": [ + "list_agent_gateways" + ] + }, + "GetAgentGateway": { + "methods": [ + "get_agent_gateway" + ] + }, + "CreateAgentGateway": { + "methods": [ + "create_agent_gateway" + ] + }, + "UpdateAgentGateway": { + "methods": [ + "update_agent_gateway" + ] + }, + "DeleteAgentGateway": { + "methods": [ + "delete_agent_gateway" + ] } } } diff --git a/google-cloud-network_services-v1/lib/google/cloud/network_services/v1/network_services/client.rb b/google-cloud-network_services-v1/lib/google/cloud/network_services/v1/network_services/client.rb index 1872acd867f6..3f3e7d35e0da 100644 --- a/google-cloud-network_services-v1/lib/google/cloud/network_services/v1/network_services/client.rb +++ b/google-cloud-network_services-v1/lib/google/cloud/network_services/v1/network_services/client.rb @@ -251,7 +251,7 @@ def logger # # @param parent [::String] # Required. The project and location from which the EndpointPolicies should - # be listed, specified in the format `projects/*/locations/global`. + # be listed, specified in the format `projects/*/locations/*`. # @param page_size [::Integer] # Maximum number of EndpointPolicies to return per call. # @param page_token [::String] @@ -354,7 +354,7 @@ def list_endpoint_policies request, options = nil # # @param name [::String] # Required. A name of the EndpointPolicy to get. Must be in the format - # `projects/*/locations/global/endpointPolicies/*`. + # `projects/*/locations/*/endpointPolicies/*`. # # @yield [response, operation] Access the result along with the RPC operation # @yieldparam response [::Google::Cloud::NetworkServices::V1::EndpointPolicy] @@ -440,7 +440,7 @@ def get_endpoint_policy request, options = nil # # @param parent [::String] # Required. The parent resource of the EndpointPolicy. Must be in the - # format `projects/*/locations/global`. + # format `projects/*/locations/*`. # @param endpoint_policy_id [::String] # Required. Short name of the EndpointPolicy resource to be created. # E.g. "CustomECS". @@ -640,7 +640,7 @@ def update_endpoint_policy request, options = nil # # @param name [::String] # Required. A name of the EndpointPolicy to delete. Must be in the format - # `projects/*/locations/global/endpointPolicies/*`. + # `projects/*/locations/*/endpointPolicies/*`. # # @yield [response, operation] Access the result along with the RPC operation # @yieldparam response [::Gapic::Operation] @@ -2094,7 +2094,7 @@ def delete_gateway request, options = nil # # @param parent [::String] # Required. The project and location from which the GrpcRoutes should be - # listed, specified in the format `projects/*/locations/global`. + # listed, specified in the format `projects/*/locations/*`. # @param page_size [::Integer] # Maximum number of GrpcRoutes to return per call. # @param page_token [::String] @@ -2196,7 +2196,7 @@ def list_grpc_routes request, options = nil # # @param name [::String] # Required. A name of the GrpcRoute to get. Must be in the format - # `projects/*/locations/global/grpcRoutes/*`. + # `projects/*/locations/*/grpcRoutes/*`. # # @yield [response, operation] Access the result along with the RPC operation # @yieldparam response [::Google::Cloud::NetworkServices::V1::GrpcRoute] @@ -2282,7 +2282,7 @@ def get_grpc_route request, options = nil # # @param parent [::String] # Required. The parent resource of the GrpcRoute. Must be in the - # format `projects/*/locations/global`. + # format `projects/*/locations/*`. # @param grpc_route_id [::String] # Required. Short name of the GrpcRoute resource to be created. # @param grpc_route [::Google::Cloud::NetworkServices::V1::GrpcRoute, ::Hash] @@ -2481,7 +2481,7 @@ def update_grpc_route request, options = nil # # @param name [::String] # Required. A name of the GrpcRoute to delete. Must be in the format - # `projects/*/locations/global/grpcRoutes/*`. + # `projects/*/locations/*/grpcRoutes/*`. # # @yield [response, operation] Access the result along with the RPC operation # @yieldparam response [::Gapic::Operation] @@ -2569,14 +2569,14 @@ def delete_grpc_route request, options = nil # @param options [::Gapic::CallOptions, ::Hash] # Overrides the default settings for this call, e.g, timeout, retries, etc. Optional. # - # @overload list_http_routes(parent: nil, page_size: nil, page_token: nil, return_partial_success: nil) + # @overload list_http_routes(parent: nil, page_size: nil, page_token: nil, return_partial_success: nil, filter: nil) # Pass arguments to `list_http_routes` via keyword arguments. Note that at # least one keyword argument is required. To specify no parameters, or to keep all # the default parameter values, pass an empty Hash as a request object (see above). # # @param parent [::String] # Required. The project and location from which the HttpRoutes should be - # listed, specified in the format `projects/*/locations/global`. + # listed, specified in the format `projects/*/locations/*`. # @param page_size [::Integer] # Maximum number of HttpRoutes to return per call. # @param page_token [::String] @@ -2587,6 +2587,8 @@ def delete_grpc_route request, options = nil # Optional. If true, allow partial responses for multi-regional Aggregated # List requests. Otherwise if one of the locations is down or unreachable, # the Aggregated List request will fail. + # @param filter [::String] + # Optional. Filter expression to restrict the list. # # @yield [response, operation] Access the result along with the RPC operation # @yieldparam response [::Gapic::PagedEnumerable<::Google::Cloud::NetworkServices::V1::HttpRoute>] @@ -2678,7 +2680,7 @@ def list_http_routes request, options = nil # # @param name [::String] # Required. A name of the HttpRoute to get. Must be in the format - # `projects/*/locations/global/httpRoutes/*`. + # `projects/*/locations/*/httpRoutes/*`. # # @yield [response, operation] Access the result along with the RPC operation # @yieldparam response [::Google::Cloud::NetworkServices::V1::HttpRoute] @@ -2757,18 +2759,20 @@ def get_http_route request, options = nil # @param options [::Gapic::CallOptions, ::Hash] # Overrides the default settings for this call, e.g, timeout, retries, etc. Optional. # - # @overload create_http_route(parent: nil, http_route_id: nil, http_route: nil) + # @overload create_http_route(parent: nil, http_route_id: nil, http_route: nil, request_id: nil) # Pass arguments to `create_http_route` via keyword arguments. Note that at # least one keyword argument is required. To specify no parameters, or to keep all # the default parameter values, pass an empty Hash as a request object (see above). # # @param parent [::String] # Required. The parent resource of the HttpRoute. Must be in the - # format `projects/*/locations/global`. + # format `projects/*/locations/*`. # @param http_route_id [::String] # Required. Short name of the HttpRoute resource to be created. # @param http_route [::Google::Cloud::NetworkServices::V1::HttpRoute, ::Hash] # Required. HttpRoute resource to be created. + # @param request_id [::String] + # Optional. Idempotent request UUID. # # @yield [response, operation] Access the result along with the RPC operation # @yieldparam response [::Gapic::Operation] @@ -2963,7 +2967,7 @@ def update_http_route request, options = nil # # @param name [::String] # Required. A name of the HttpRoute to delete. Must be in the format - # `projects/*/locations/global/httpRoutes/*`. + # `projects/*/locations/*/httpRoutes/*`. # # @yield [response, operation] Access the result along with the RPC operation # @yieldparam response [::Gapic::Operation] @@ -3058,7 +3062,7 @@ def delete_http_route request, options = nil # # @param parent [::String] # Required. The project and location from which the TcpRoutes should be - # listed, specified in the format `projects/*/locations/global`. + # listed, specified in the format `projects/*/locations/*`. # @param page_size [::Integer] # Maximum number of TcpRoutes to return per call. # @param page_token [::String] @@ -3160,7 +3164,7 @@ def list_tcp_routes request, options = nil # # @param name [::String] # Required. A name of the TcpRoute to get. Must be in the format - # `projects/*/locations/global/tcpRoutes/*`. + # `projects/*/locations/*/tcpRoutes/*`. # # @yield [response, operation] Access the result along with the RPC operation # @yieldparam response [::Google::Cloud::NetworkServices::V1::TcpRoute] @@ -3246,7 +3250,7 @@ def get_tcp_route request, options = nil # # @param parent [::String] # Required. The parent resource of the TcpRoute. Must be in the - # format `projects/*/locations/global`. + # format `projects/*/locations/*`. # @param tcp_route_id [::String] # Required. Short name of the TcpRoute resource to be created. # @param tcp_route [::Google::Cloud::NetworkServices::V1::TcpRoute, ::Hash] @@ -3445,7 +3449,7 @@ def update_tcp_route request, options = nil # # @param name [::String] # Required. A name of the TcpRoute to delete. Must be in the format - # `projects/*/locations/global/tcpRoutes/*`. + # `projects/*/locations/*/tcpRoutes/*`. # # @yield [response, operation] Access the result along with the RPC operation # @yieldparam response [::Gapic::Operation] @@ -3540,7 +3544,7 @@ def delete_tcp_route request, options = nil # # @param parent [::String] # Required. The project and location from which the TlsRoutes should be - # listed, specified in the format `projects/*/locations/global`. + # listed, specified in the format `projects/*/locations/*`. # @param page_size [::Integer] # Maximum number of TlsRoutes to return per call. # @param page_token [::String] @@ -3642,7 +3646,7 @@ def list_tls_routes request, options = nil # # @param name [::String] # Required. A name of the TlsRoute to get. Must be in the format - # `projects/*/locations/global/tlsRoutes/*`. + # `projects/*/locations/*/tlsRoutes/*`. # # @yield [response, operation] Access the result along with the RPC operation # @yieldparam response [::Google::Cloud::NetworkServices::V1::TlsRoute] @@ -3728,7 +3732,7 @@ def get_tls_route request, options = nil # # @param parent [::String] # Required. The parent resource of the TlsRoute. Must be in the - # format `projects/*/locations/global`. + # format `projects/*/locations/*`. # @param tls_route_id [::String] # Required. Short name of the TlsRoute resource to be created. # @param tls_route [::Google::Cloud::NetworkServices::V1::TlsRoute, ::Hash] @@ -3927,7 +3931,7 @@ def update_tls_route request, options = nil # # @param name [::String] # Required. A name of the TlsRoute to delete. Must be in the format - # `projects/*/locations/global/tlsRoutes/*`. + # `projects/*/locations/*/tlsRoutes/*`. # # @yield [response, operation] Access the result along with the RPC operation # @yieldparam response [::Gapic::Operation] @@ -4500,7 +4504,7 @@ def delete_service_binding request, options = nil # # @param parent [::String] # Required. The project and location from which the Meshes should be - # listed, specified in the format `projects/*/locations/global`. + # listed, specified in the format `projects/*/locations/*`. # @param page_size [::Integer] # Maximum number of Meshes to return per call. # @param page_token [::String] @@ -4602,7 +4606,7 @@ def list_meshes request, options = nil # # @param name [::String] # Required. A name of the Mesh to get. Must be in the format - # `projects/*/locations/global/meshes/*`. + # `projects/*/locations/*/meshes/*`. # # @yield [response, operation] Access the result along with the RPC operation # @yieldparam response [::Google::Cloud::NetworkServices::V1::Mesh] @@ -4688,7 +4692,7 @@ def get_mesh request, options = nil # # @param parent [::String] # Required. The parent resource of the Mesh. Must be in the - # format `projects/*/locations/global`. + # format `projects/*/locations/*`. # @param mesh_id [::String] # Required. Short name of the Mesh resource to be created. # @param mesh [::Google::Cloud::NetworkServices::V1::Mesh, ::Hash] @@ -4887,7 +4891,7 @@ def update_mesh request, options = nil # # @param name [::String] # Required. A name of the Mesh to delete. Must be in the format - # `projects/*/locations/global/meshes/*`. + # `projects/*/locations/*/meshes/*`. # # @yield [response, operation] Access the result along with the RPC operation # @yieldparam response [::Gapic::Operation] @@ -5816,6 +5820,490 @@ def list_mesh_route_views request, options = nil raise ::Google::Cloud::Error.from_error(e) end + ## + # Lists AgentGateways in a given project and location. + # + # @overload list_agent_gateways(request, options = nil) + # Pass arguments to `list_agent_gateways` via a request object, either of type + # {::Google::Cloud::NetworkServices::V1::ListAgentGatewaysRequest} or an equivalent Hash. + # + # @param request [::Google::Cloud::NetworkServices::V1::ListAgentGatewaysRequest, ::Hash] + # A request object representing the call parameters. Required. To specify no + # parameters, or to keep all the default parameter values, pass an empty Hash. + # @param options [::Gapic::CallOptions, ::Hash] + # Overrides the default settings for this call, e.g, timeout, retries, etc. Optional. + # + # @overload list_agent_gateways(parent: nil, page_size: nil, page_token: nil, return_partial_success: nil) + # Pass arguments to `list_agent_gateways` via keyword arguments. Note that at + # least one keyword argument is required. To specify no parameters, or to keep all + # the default parameter values, pass an empty Hash as a request object (see above). + # + # @param parent [::String] + # Required. The project and location from which the AgentGateways should be + # listed, specified in the format `projects/*/locations/*`. + # @param page_size [::Integer] + # Optional. Maximum number of AgentGateways to return per call. + # @param page_token [::String] + # Optional. The value returned by the last `ListAgentGatewaysResponse` + # Indicates that this is a continuation of a prior `ListAgentGateways` + # call, and that the system should return the next page of data. + # @param return_partial_success [::Boolean] + # Optional. If true, allow partial responses for multi-regional Aggregated + # List requests. Otherwise if one of the locations is down or unreachable, + # the Aggregated List request will fail. + # + # @yield [response, operation] Access the result along with the RPC operation + # @yieldparam response [::Gapic::PagedEnumerable<::Google::Cloud::NetworkServices::V1::AgentGateway>] + # @yieldparam operation [::GRPC::ActiveCall::Operation] + # + # @return [::Gapic::PagedEnumerable<::Google::Cloud::NetworkServices::V1::AgentGateway>] + # + # @raise [::Google::Cloud::Error] if the RPC is aborted. + # + # @example Basic example + # require "google/cloud/network_services/v1" + # + # # Create a client object. The client can be reused for multiple calls. + # client = Google::Cloud::NetworkServices::V1::NetworkServices::Client.new + # + # # Create a request. To set request fields, pass in keyword arguments. + # request = Google::Cloud::NetworkServices::V1::ListAgentGatewaysRequest.new + # + # # Call the list_agent_gateways method. + # result = client.list_agent_gateways 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::NetworkServices::V1::AgentGateway. + # p item + # end + # + def list_agent_gateways request, options = nil + raise ::ArgumentError, "request must be provided" if request.nil? + + request = ::Gapic::Protobuf.coerce request, to: ::Google::Cloud::NetworkServices::V1::ListAgentGatewaysRequest + + # 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 + metadata = @config.rpcs.list_agent_gateways.metadata.to_h + + # Set x-goog-api-client, x-goog-user-project and x-goog-api-version headers + metadata[:"x-goog-api-client"] ||= ::Gapic::Headers.x_goog_api_client \ + lib_name: @config.lib_name, lib_version: @config.lib_version, + gapic_version: ::Google::Cloud::NetworkServices::V1::VERSION + metadata[:"x-goog-api-version"] = API_VERSION unless API_VERSION.empty? + metadata[:"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("&") + metadata[:"x-goog-request-params"] ||= request_params_header + + options.apply_defaults timeout: @config.rpcs.list_agent_gateways.timeout, + metadata: metadata, + retry_policy: @config.rpcs.list_agent_gateways.retry_policy + + options.apply_defaults timeout: @config.timeout, + metadata: @config.metadata, + retry_policy: @config.retry_policy + + @network_services_stub.call_rpc :list_agent_gateways, request, options: options do |response, operation| + response = ::Gapic::PagedEnumerable.new @network_services_stub, :list_agent_gateways, 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 + + ## + # Gets details of a single AgentGateway. + # + # @overload get_agent_gateway(request, options = nil) + # Pass arguments to `get_agent_gateway` via a request object, either of type + # {::Google::Cloud::NetworkServices::V1::GetAgentGatewayRequest} or an equivalent Hash. + # + # @param request [::Google::Cloud::NetworkServices::V1::GetAgentGatewayRequest, ::Hash] + # A request object representing the call parameters. Required. To specify no + # parameters, or to keep all the default parameter values, pass an empty Hash. + # @param options [::Gapic::CallOptions, ::Hash] + # Overrides the default settings for this call, e.g, timeout, retries, etc. Optional. + # + # @overload get_agent_gateway(name: nil) + # Pass arguments to `get_agent_gateway` via keyword arguments. Note that at + # least one keyword argument is required. To specify no parameters, or to keep all + # the default parameter values, pass an empty Hash as a request object (see above). + # + # @param name [::String] + # Required. A name of the AgentGateway to get. Must be in the format + # `projects/*/locations/*/agentGateways/*`. + # + # @yield [response, operation] Access the result along with the RPC operation + # @yieldparam response [::Google::Cloud::NetworkServices::V1::AgentGateway] + # @yieldparam operation [::GRPC::ActiveCall::Operation] + # + # @return [::Google::Cloud::NetworkServices::V1::AgentGateway] + # + # @raise [::Google::Cloud::Error] if the RPC is aborted. + # + # @example Basic example + # require "google/cloud/network_services/v1" + # + # # Create a client object. The client can be reused for multiple calls. + # client = Google::Cloud::NetworkServices::V1::NetworkServices::Client.new + # + # # Create a request. To set request fields, pass in keyword arguments. + # request = Google::Cloud::NetworkServices::V1::GetAgentGatewayRequest.new + # + # # Call the get_agent_gateway method. + # result = client.get_agent_gateway request + # + # # The returned object is of type Google::Cloud::NetworkServices::V1::AgentGateway. + # p result + # + def get_agent_gateway request, options = nil + raise ::ArgumentError, "request must be provided" if request.nil? + + request = ::Gapic::Protobuf.coerce request, to: ::Google::Cloud::NetworkServices::V1::GetAgentGatewayRequest + + # 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 + metadata = @config.rpcs.get_agent_gateway.metadata.to_h + + # Set x-goog-api-client, x-goog-user-project and x-goog-api-version headers + metadata[:"x-goog-api-client"] ||= ::Gapic::Headers.x_goog_api_client \ + lib_name: @config.lib_name, lib_version: @config.lib_version, + gapic_version: ::Google::Cloud::NetworkServices::V1::VERSION + metadata[:"x-goog-api-version"] = API_VERSION unless API_VERSION.empty? + metadata[:"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("&") + metadata[:"x-goog-request-params"] ||= request_params_header + + options.apply_defaults timeout: @config.rpcs.get_agent_gateway.timeout, + metadata: metadata, + retry_policy: @config.rpcs.get_agent_gateway.retry_policy + + options.apply_defaults timeout: @config.timeout, + metadata: @config.metadata, + retry_policy: @config.retry_policy + + @network_services_stub.call_rpc :get_agent_gateway, 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 + + ## + # Creates a new AgentGateway in a given project and location. + # + # @overload create_agent_gateway(request, options = nil) + # Pass arguments to `create_agent_gateway` via a request object, either of type + # {::Google::Cloud::NetworkServices::V1::CreateAgentGatewayRequest} or an equivalent Hash. + # + # @param request [::Google::Cloud::NetworkServices::V1::CreateAgentGatewayRequest, ::Hash] + # A request object representing the call parameters. Required. To specify no + # parameters, or to keep all the default parameter values, pass an empty Hash. + # @param options [::Gapic::CallOptions, ::Hash] + # Overrides the default settings for this call, e.g, timeout, retries, etc. Optional. + # + # @overload create_agent_gateway(parent: nil, agent_gateway_id: nil, agent_gateway: nil) + # Pass arguments to `create_agent_gateway` via keyword arguments. Note that at + # least one keyword argument is required. To specify no parameters, or to keep all + # the default parameter values, pass an empty Hash as a request object (see above). + # + # @param parent [::String] + # Required. The parent resource of the AgentGateway. Must be in the + # format `projects/*/locations/*`. + # @param agent_gateway_id [::String] + # Required. Short name of the AgentGateway resource to be created. + # @param agent_gateway [::Google::Cloud::NetworkServices::V1::AgentGateway, ::Hash] + # Required. AgentGateway resource to be created. + # + # @yield [response, operation] Access the result along with the RPC operation + # @yieldparam response [::Gapic::Operation] + # @yieldparam operation [::GRPC::ActiveCall::Operation] + # + # @return [::Gapic::Operation] + # + # @raise [::Google::Cloud::Error] if the RPC is aborted. + # + # @example Basic example + # require "google/cloud/network_services/v1" + # + # # Create a client object. The client can be reused for multiple calls. + # client = Google::Cloud::NetworkServices::V1::NetworkServices::Client.new + # + # # Create a request. To set request fields, pass in keyword arguments. + # request = Google::Cloud::NetworkServices::V1::CreateAgentGatewayRequest.new + # + # # Call the create_agent_gateway method. + # result = client.create_agent_gateway request + # + # # The returned object is of type Gapic::Operation. You can use it to + # # check the status of an operation, cancel it, or wait for results. + # # Here is how to wait for a response. + # result.wait_until_done! timeout: 60 + # if result.response? + # p result.response + # else + # puts "No response received." + # end + # + def create_agent_gateway request, options = nil + raise ::ArgumentError, "request must be provided" if request.nil? + + request = ::Gapic::Protobuf.coerce request, to: ::Google::Cloud::NetworkServices::V1::CreateAgentGatewayRequest + + # 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 + metadata = @config.rpcs.create_agent_gateway.metadata.to_h + + # Set x-goog-api-client, x-goog-user-project and x-goog-api-version headers + metadata[:"x-goog-api-client"] ||= ::Gapic::Headers.x_goog_api_client \ + lib_name: @config.lib_name, lib_version: @config.lib_version, + gapic_version: ::Google::Cloud::NetworkServices::V1::VERSION + metadata[:"x-goog-api-version"] = API_VERSION unless API_VERSION.empty? + metadata[:"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("&") + metadata[:"x-goog-request-params"] ||= request_params_header + + options.apply_defaults timeout: @config.rpcs.create_agent_gateway.timeout, + metadata: metadata, + retry_policy: @config.rpcs.create_agent_gateway.retry_policy + + options.apply_defaults timeout: @config.timeout, + metadata: @config.metadata, + retry_policy: @config.retry_policy + + @network_services_stub.call_rpc :create_agent_gateway, request, options: options do |response, operation| + response = ::Gapic::Operation.new response, @operations_client, options: options + yield response, operation if block_given? + throw :response, response + end + rescue ::GRPC::BadStatus => e + raise ::Google::Cloud::Error.from_error(e) + end + + ## + # Updates the parameters of a single AgentGateway. + # + # @overload update_agent_gateway(request, options = nil) + # Pass arguments to `update_agent_gateway` via a request object, either of type + # {::Google::Cloud::NetworkServices::V1::UpdateAgentGatewayRequest} or an equivalent Hash. + # + # @param request [::Google::Cloud::NetworkServices::V1::UpdateAgentGatewayRequest, ::Hash] + # A request object representing the call parameters. Required. To specify no + # parameters, or to keep all the default parameter values, pass an empty Hash. + # @param options [::Gapic::CallOptions, ::Hash] + # Overrides the default settings for this call, e.g, timeout, retries, etc. Optional. + # + # @overload update_agent_gateway(update_mask: nil, agent_gateway: nil) + # Pass arguments to `update_agent_gateway` via keyword arguments. Note that at + # least one keyword argument is required. To specify no parameters, or to keep all + # the default parameter values, pass an empty Hash as a request object (see above). + # + # @param update_mask [::Google::Protobuf::FieldMask, ::Hash] + # Optional. Field mask is used to specify the fields to be overwritten in the + # AgentGateway resource by the update. + # The fields specified in the update_mask are relative to the resource, not + # the full request. A field will be overwritten if it is in the mask. If the + # user does not provide a mask then all fields will be overwritten. + # @param agent_gateway [::Google::Cloud::NetworkServices::V1::AgentGateway, ::Hash] + # Required. Updated AgentGateway resource. + # + # @yield [response, operation] Access the result along with the RPC operation + # @yieldparam response [::Gapic::Operation] + # @yieldparam operation [::GRPC::ActiveCall::Operation] + # + # @return [::Gapic::Operation] + # + # @raise [::Google::Cloud::Error] if the RPC is aborted. + # + # @example Basic example + # require "google/cloud/network_services/v1" + # + # # Create a client object. The client can be reused for multiple calls. + # client = Google::Cloud::NetworkServices::V1::NetworkServices::Client.new + # + # # Create a request. To set request fields, pass in keyword arguments. + # request = Google::Cloud::NetworkServices::V1::UpdateAgentGatewayRequest.new + # + # # Call the update_agent_gateway method. + # result = client.update_agent_gateway request + # + # # The returned object is of type Gapic::Operation. You can use it to + # # check the status of an operation, cancel it, or wait for results. + # # Here is how to wait for a response. + # result.wait_until_done! timeout: 60 + # if result.response? + # p result.response + # else + # puts "No response received." + # end + # + def update_agent_gateway request, options = nil + raise ::ArgumentError, "request must be provided" if request.nil? + + request = ::Gapic::Protobuf.coerce request, to: ::Google::Cloud::NetworkServices::V1::UpdateAgentGatewayRequest + + # 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 + metadata = @config.rpcs.update_agent_gateway.metadata.to_h + + # Set x-goog-api-client, x-goog-user-project and x-goog-api-version headers + metadata[:"x-goog-api-client"] ||= ::Gapic::Headers.x_goog_api_client \ + lib_name: @config.lib_name, lib_version: @config.lib_version, + gapic_version: ::Google::Cloud::NetworkServices::V1::VERSION + metadata[:"x-goog-api-version"] = API_VERSION unless API_VERSION.empty? + metadata[:"x-goog-user-project"] = @quota_project_id if @quota_project_id + + header_params = {} + if request.agent_gateway&.name + header_params["agent_gateway.name"] = request.agent_gateway.name + end + + request_params_header = header_params.map { |k, v| "#{k}=#{v}" }.join("&") + metadata[:"x-goog-request-params"] ||= request_params_header + + options.apply_defaults timeout: @config.rpcs.update_agent_gateway.timeout, + metadata: metadata, + retry_policy: @config.rpcs.update_agent_gateway.retry_policy + + options.apply_defaults timeout: @config.timeout, + metadata: @config.metadata, + retry_policy: @config.retry_policy + + @network_services_stub.call_rpc :update_agent_gateway, request, options: options do |response, operation| + response = ::Gapic::Operation.new response, @operations_client, options: options + yield response, operation if block_given? + throw :response, response + end + rescue ::GRPC::BadStatus => e + raise ::Google::Cloud::Error.from_error(e) + end + + ## + # Deletes a single AgentGateway. + # + # @overload delete_agent_gateway(request, options = nil) + # Pass arguments to `delete_agent_gateway` via a request object, either of type + # {::Google::Cloud::NetworkServices::V1::DeleteAgentGatewayRequest} or an equivalent Hash. + # + # @param request [::Google::Cloud::NetworkServices::V1::DeleteAgentGatewayRequest, ::Hash] + # A request object representing the call parameters. Required. To specify no + # parameters, or to keep all the default parameter values, pass an empty Hash. + # @param options [::Gapic::CallOptions, ::Hash] + # Overrides the default settings for this call, e.g, timeout, retries, etc. Optional. + # + # @overload delete_agent_gateway(name: nil, etag: nil) + # Pass arguments to `delete_agent_gateway` via keyword arguments. Note that at + # least one keyword argument is required. To specify no parameters, or to keep all + # the default parameter values, pass an empty Hash as a request object (see above). + # + # @param name [::String] + # Required. A name of the AgentGateway to delete. Must be in the format + # `projects/*/locations/*/agentGateways/*`. + # @param etag [::String] + # Optional. The etag of the AgentGateway to delete. + # + # @yield [response, operation] Access the result along with the RPC operation + # @yieldparam response [::Gapic::Operation] + # @yieldparam operation [::GRPC::ActiveCall::Operation] + # + # @return [::Gapic::Operation] + # + # @raise [::Google::Cloud::Error] if the RPC is aborted. + # + # @example Basic example + # require "google/cloud/network_services/v1" + # + # # Create a client object. The client can be reused for multiple calls. + # client = Google::Cloud::NetworkServices::V1::NetworkServices::Client.new + # + # # Create a request. To set request fields, pass in keyword arguments. + # request = Google::Cloud::NetworkServices::V1::DeleteAgentGatewayRequest.new + # + # # Call the delete_agent_gateway method. + # result = client.delete_agent_gateway request + # + # # The returned object is of type Gapic::Operation. You can use it to + # # check the status of an operation, cancel it, or wait for results. + # # Here is how to wait for a response. + # result.wait_until_done! timeout: 60 + # if result.response? + # p result.response + # else + # puts "No response received." + # end + # + def delete_agent_gateway request, options = nil + raise ::ArgumentError, "request must be provided" if request.nil? + + request = ::Gapic::Protobuf.coerce request, to: ::Google::Cloud::NetworkServices::V1::DeleteAgentGatewayRequest + + # 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 + metadata = @config.rpcs.delete_agent_gateway.metadata.to_h + + # Set x-goog-api-client, x-goog-user-project and x-goog-api-version headers + metadata[:"x-goog-api-client"] ||= ::Gapic::Headers.x_goog_api_client \ + lib_name: @config.lib_name, lib_version: @config.lib_version, + gapic_version: ::Google::Cloud::NetworkServices::V1::VERSION + metadata[:"x-goog-api-version"] = API_VERSION unless API_VERSION.empty? + metadata[:"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("&") + metadata[:"x-goog-request-params"] ||= request_params_header + + options.apply_defaults timeout: @config.rpcs.delete_agent_gateway.timeout, + metadata: metadata, + retry_policy: @config.rpcs.delete_agent_gateway.retry_policy + + options.apply_defaults timeout: @config.timeout, + metadata: @config.metadata, + retry_policy: @config.retry_policy + + @network_services_stub.call_rpc :delete_agent_gateway, request, options: options do |response, operation| + response = ::Gapic::Operation.new response, @operations_client, options: options + yield response, operation if block_given? + throw :response, response + end + rescue ::GRPC::BadStatus => e + raise ::Google::Cloud::Error.from_error(e) + end + ## # Configuration class for the NetworkServices API. # @@ -6291,6 +6779,31 @@ class Rpcs # @return [::Gapic::Config::Method] # attr_reader :list_mesh_route_views + ## + # RPC-specific configuration for `list_agent_gateways` + # @return [::Gapic::Config::Method] + # + attr_reader :list_agent_gateways + ## + # RPC-specific configuration for `get_agent_gateway` + # @return [::Gapic::Config::Method] + # + attr_reader :get_agent_gateway + ## + # RPC-specific configuration for `create_agent_gateway` + # @return [::Gapic::Config::Method] + # + attr_reader :create_agent_gateway + ## + # RPC-specific configuration for `update_agent_gateway` + # @return [::Gapic::Config::Method] + # + attr_reader :update_agent_gateway + ## + # RPC-specific configuration for `delete_agent_gateway` + # @return [::Gapic::Config::Method] + # + attr_reader :delete_agent_gateway # @private def initialize parent_rpcs = nil @@ -6410,6 +6923,16 @@ def initialize parent_rpcs = nil @list_gateway_route_views = ::Gapic::Config::Method.new list_gateway_route_views_config list_mesh_route_views_config = parent_rpcs.list_mesh_route_views if parent_rpcs.respond_to? :list_mesh_route_views @list_mesh_route_views = ::Gapic::Config::Method.new list_mesh_route_views_config + list_agent_gateways_config = parent_rpcs.list_agent_gateways if parent_rpcs.respond_to? :list_agent_gateways + @list_agent_gateways = ::Gapic::Config::Method.new list_agent_gateways_config + get_agent_gateway_config = parent_rpcs.get_agent_gateway if parent_rpcs.respond_to? :get_agent_gateway + @get_agent_gateway = ::Gapic::Config::Method.new get_agent_gateway_config + create_agent_gateway_config = parent_rpcs.create_agent_gateway if parent_rpcs.respond_to? :create_agent_gateway + @create_agent_gateway = ::Gapic::Config::Method.new create_agent_gateway_config + update_agent_gateway_config = parent_rpcs.update_agent_gateway if parent_rpcs.respond_to? :update_agent_gateway + @update_agent_gateway = ::Gapic::Config::Method.new update_agent_gateway_config + delete_agent_gateway_config = parent_rpcs.delete_agent_gateway if parent_rpcs.respond_to? :delete_agent_gateway + @delete_agent_gateway = ::Gapic::Config::Method.new delete_agent_gateway_config yield self if block_given? end diff --git a/google-cloud-network_services-v1/lib/google/cloud/network_services/v1/network_services/paths.rb b/google-cloud-network_services-v1/lib/google/cloud/network_services/v1/network_services/paths.rb index 95061bacebe6..348536ccbc65 100644 --- a/google-cloud-network_services-v1/lib/google/cloud/network_services/v1/network_services/paths.rb +++ b/google-cloud-network_services-v1/lib/google/cloud/network_services/v1/network_services/paths.rb @@ -43,6 +43,25 @@ def address_path project:, region:, address: "projects/#{project}/regions/#{region}/addresses/#{address}" end + ## + # Create a fully-qualified AgentGateway resource string. + # + # The resource will be in the following format: + # + # `projects/{project}/locations/{location}/agentGateways/{agent_gateway}` + # + # @param project [String] + # @param location [String] + # @param agent_gateway [String] + # + # @return [::String] + def agent_gateway_path project:, location:, agent_gateway: + raise ::ArgumentError, "project cannot contain /" if project.to_s.include? "/" + raise ::ArgumentError, "location cannot contain /" if location.to_s.include? "/" + + "projects/#{project}/locations/#{location}/agentGateways/#{agent_gateway}" + end + ## # Create a fully-qualified AuthorizationPolicy resource string. # @@ -406,6 +425,25 @@ def subnetwork_path project:, region:, subnetwork: "projects/#{project}/regions/#{region}/subnetworks/#{subnetwork}" end + ## + # Create a fully-qualified TargetTcpProxy resource string. + # + # The resource will be in the following format: + # + # `projects/{project}/locations/{location}/targetTcpProxies/{target_tcp_proxy}` + # + # @param project [String] + # @param location [String] + # @param target_tcp_proxy [String] + # + # @return [::String] + def target_tcp_proxy_path project:, location:, target_tcp_proxy: + raise ::ArgumentError, "project cannot contain /" if project.to_s.include? "/" + raise ::ArgumentError, "location cannot contain /" if location.to_s.include? "/" + + "projects/#{project}/locations/#{location}/targetTcpProxies/#{target_tcp_proxy}" + end + ## # Create a fully-qualified TcpRoute resource string. # diff --git a/google-cloud-network_services-v1/lib/google/cloud/network_services/v1/network_services/rest/client.rb b/google-cloud-network_services-v1/lib/google/cloud/network_services/v1/network_services/rest/client.rb index 60a44b96a598..88742913d84a 100644 --- a/google-cloud-network_services-v1/lib/google/cloud/network_services/v1/network_services/rest/client.rb +++ b/google-cloud-network_services-v1/lib/google/cloud/network_services/v1/network_services/rest/client.rb @@ -246,7 +246,7 @@ def logger # # @param parent [::String] # Required. The project and location from which the EndpointPolicies should - # be listed, specified in the format `projects/*/locations/global`. + # be listed, specified in the format `projects/*/locations/*`. # @param page_size [::Integer] # Maximum number of EndpointPolicies to return per call. # @param page_token [::String] @@ -342,7 +342,7 @@ def list_endpoint_policies request, options = nil # # @param name [::String] # Required. A name of the EndpointPolicy to get. Must be in the format - # `projects/*/locations/global/endpointPolicies/*`. + # `projects/*/locations/*/endpointPolicies/*`. # @yield [result, operation] Access the result along with the TransportOperation object # @yieldparam result [::Google::Cloud::NetworkServices::V1::EndpointPolicy] # @yieldparam operation [::Gapic::Rest::TransportOperation] @@ -421,7 +421,7 @@ def get_endpoint_policy request, options = nil # # @param parent [::String] # Required. The parent resource of the EndpointPolicy. Must be in the - # format `projects/*/locations/global`. + # format `projects/*/locations/*`. # @param endpoint_policy_id [::String] # Required. Short name of the EndpointPolicy resource to be created. # E.g. "CustomECS". @@ -607,7 +607,7 @@ def update_endpoint_policy request, options = nil # # @param name [::String] # Required. A name of the EndpointPolicy to delete. Must be in the format - # `projects/*/locations/global/endpointPolicies/*`. + # `projects/*/locations/*/endpointPolicies/*`. # @yield [result, operation] Access the result along with the TransportOperation object # @yieldparam result [::Gapic::Operation] # @yieldparam operation [::Gapic::Rest::TransportOperation] @@ -1956,7 +1956,7 @@ def delete_gateway request, options = nil # # @param parent [::String] # Required. The project and location from which the GrpcRoutes should be - # listed, specified in the format `projects/*/locations/global`. + # listed, specified in the format `projects/*/locations/*`. # @param page_size [::Integer] # Maximum number of GrpcRoutes to return per call. # @param page_token [::String] @@ -2051,7 +2051,7 @@ def list_grpc_routes request, options = nil # # @param name [::String] # Required. A name of the GrpcRoute to get. Must be in the format - # `projects/*/locations/global/grpcRoutes/*`. + # `projects/*/locations/*/grpcRoutes/*`. # @yield [result, operation] Access the result along with the TransportOperation object # @yieldparam result [::Google::Cloud::NetworkServices::V1::GrpcRoute] # @yieldparam operation [::Gapic::Rest::TransportOperation] @@ -2130,7 +2130,7 @@ def get_grpc_route request, options = nil # # @param parent [::String] # Required. The parent resource of the GrpcRoute. Must be in the - # format `projects/*/locations/global`. + # format `projects/*/locations/*`. # @param grpc_route_id [::String] # Required. Short name of the GrpcRoute resource to be created. # @param grpc_route [::Google::Cloud::NetworkServices::V1::GrpcRoute, ::Hash] @@ -2315,7 +2315,7 @@ def update_grpc_route request, options = nil # # @param name [::String] # Required. A name of the GrpcRoute to delete. Must be in the format - # `projects/*/locations/global/grpcRoutes/*`. + # `projects/*/locations/*/grpcRoutes/*`. # @yield [result, operation] Access the result along with the TransportOperation object # @yieldparam result [::Gapic::Operation] # @yieldparam operation [::Gapic::Rest::TransportOperation] @@ -2396,14 +2396,14 @@ def delete_grpc_route request, options = nil # @param options [::Gapic::CallOptions, ::Hash] # Overrides the default settings for this call, e.g, timeout, retries etc. Optional. # - # @overload list_http_routes(parent: nil, page_size: nil, page_token: nil, return_partial_success: nil) + # @overload list_http_routes(parent: nil, page_size: nil, page_token: nil, return_partial_success: nil, filter: nil) # Pass arguments to `list_http_routes` via keyword arguments. Note that at # least one keyword argument is required. To specify no parameters, or to keep all # the default parameter values, pass an empty Hash as a request object (see above). # # @param parent [::String] # Required. The project and location from which the HttpRoutes should be - # listed, specified in the format `projects/*/locations/global`. + # listed, specified in the format `projects/*/locations/*`. # @param page_size [::Integer] # Maximum number of HttpRoutes to return per call. # @param page_token [::String] @@ -2414,6 +2414,8 @@ def delete_grpc_route request, options = nil # Optional. If true, allow partial responses for multi-regional Aggregated # List requests. Otherwise if one of the locations is down or unreachable, # the Aggregated List request will fail. + # @param filter [::String] + # Optional. Filter expression to restrict the list. # @yield [result, operation] Access the result along with the TransportOperation object # @yieldparam result [::Gapic::Rest::PagedEnumerable<::Google::Cloud::NetworkServices::V1::HttpRoute>] # @yieldparam operation [::Gapic::Rest::TransportOperation] @@ -2498,7 +2500,7 @@ def list_http_routes request, options = nil # # @param name [::String] # Required. A name of the HttpRoute to get. Must be in the format - # `projects/*/locations/global/httpRoutes/*`. + # `projects/*/locations/*/httpRoutes/*`. # @yield [result, operation] Access the result along with the TransportOperation object # @yieldparam result [::Google::Cloud::NetworkServices::V1::HttpRoute] # @yieldparam operation [::Gapic::Rest::TransportOperation] @@ -2570,18 +2572,20 @@ def get_http_route request, options = nil # @param options [::Gapic::CallOptions, ::Hash] # Overrides the default settings for this call, e.g, timeout, retries etc. Optional. # - # @overload create_http_route(parent: nil, http_route_id: nil, http_route: nil) + # @overload create_http_route(parent: nil, http_route_id: nil, http_route: nil, request_id: nil) # Pass arguments to `create_http_route` via keyword arguments. Note that at # least one keyword argument is required. To specify no parameters, or to keep all # the default parameter values, pass an empty Hash as a request object (see above). # # @param parent [::String] # Required. The parent resource of the HttpRoute. Must be in the - # format `projects/*/locations/global`. + # format `projects/*/locations/*`. # @param http_route_id [::String] # Required. Short name of the HttpRoute resource to be created. # @param http_route [::Google::Cloud::NetworkServices::V1::HttpRoute, ::Hash] # Required. HttpRoute resource to be created. + # @param request_id [::String] + # Optional. Idempotent request UUID. # @yield [result, operation] Access the result along with the TransportOperation object # @yieldparam result [::Gapic::Operation] # @yieldparam operation [::Gapic::Rest::TransportOperation] @@ -2762,7 +2766,7 @@ def update_http_route request, options = nil # # @param name [::String] # Required. A name of the HttpRoute to delete. Must be in the format - # `projects/*/locations/global/httpRoutes/*`. + # `projects/*/locations/*/httpRoutes/*`. # @yield [result, operation] Access the result along with the TransportOperation object # @yieldparam result [::Gapic::Operation] # @yieldparam operation [::Gapic::Rest::TransportOperation] @@ -2850,7 +2854,7 @@ def delete_http_route request, options = nil # # @param parent [::String] # Required. The project and location from which the TcpRoutes should be - # listed, specified in the format `projects/*/locations/global`. + # listed, specified in the format `projects/*/locations/*`. # @param page_size [::Integer] # Maximum number of TcpRoutes to return per call. # @param page_token [::String] @@ -2945,7 +2949,7 @@ def list_tcp_routes request, options = nil # # @param name [::String] # Required. A name of the TcpRoute to get. Must be in the format - # `projects/*/locations/global/tcpRoutes/*`. + # `projects/*/locations/*/tcpRoutes/*`. # @yield [result, operation] Access the result along with the TransportOperation object # @yieldparam result [::Google::Cloud::NetworkServices::V1::TcpRoute] # @yieldparam operation [::Gapic::Rest::TransportOperation] @@ -3024,7 +3028,7 @@ def get_tcp_route request, options = nil # # @param parent [::String] # Required. The parent resource of the TcpRoute. Must be in the - # format `projects/*/locations/global`. + # format `projects/*/locations/*`. # @param tcp_route_id [::String] # Required. Short name of the TcpRoute resource to be created. # @param tcp_route [::Google::Cloud::NetworkServices::V1::TcpRoute, ::Hash] @@ -3209,7 +3213,7 @@ def update_tcp_route request, options = nil # # @param name [::String] # Required. A name of the TcpRoute to delete. Must be in the format - # `projects/*/locations/global/tcpRoutes/*`. + # `projects/*/locations/*/tcpRoutes/*`. # @yield [result, operation] Access the result along with the TransportOperation object # @yieldparam result [::Gapic::Operation] # @yieldparam operation [::Gapic::Rest::TransportOperation] @@ -3297,7 +3301,7 @@ def delete_tcp_route request, options = nil # # @param parent [::String] # Required. The project and location from which the TlsRoutes should be - # listed, specified in the format `projects/*/locations/global`. + # listed, specified in the format `projects/*/locations/*`. # @param page_size [::Integer] # Maximum number of TlsRoutes to return per call. # @param page_token [::String] @@ -3392,7 +3396,7 @@ def list_tls_routes request, options = nil # # @param name [::String] # Required. A name of the TlsRoute to get. Must be in the format - # `projects/*/locations/global/tlsRoutes/*`. + # `projects/*/locations/*/tlsRoutes/*`. # @yield [result, operation] Access the result along with the TransportOperation object # @yieldparam result [::Google::Cloud::NetworkServices::V1::TlsRoute] # @yieldparam operation [::Gapic::Rest::TransportOperation] @@ -3471,7 +3475,7 @@ def get_tls_route request, options = nil # # @param parent [::String] # Required. The parent resource of the TlsRoute. Must be in the - # format `projects/*/locations/global`. + # format `projects/*/locations/*`. # @param tls_route_id [::String] # Required. Short name of the TlsRoute resource to be created. # @param tls_route [::Google::Cloud::NetworkServices::V1::TlsRoute, ::Hash] @@ -3656,7 +3660,7 @@ def update_tls_route request, options = nil # # @param name [::String] # Required. A name of the TlsRoute to delete. Must be in the format - # `projects/*/locations/global/tlsRoutes/*`. + # `projects/*/locations/*/tlsRoutes/*`. # @yield [result, operation] Access the result along with the TransportOperation object # @yieldparam result [::Gapic::Operation] # @yieldparam operation [::Gapic::Rest::TransportOperation] @@ -4187,7 +4191,7 @@ def delete_service_binding request, options = nil # # @param parent [::String] # Required. The project and location from which the Meshes should be - # listed, specified in the format `projects/*/locations/global`. + # listed, specified in the format `projects/*/locations/*`. # @param page_size [::Integer] # Maximum number of Meshes to return per call. # @param page_token [::String] @@ -4282,7 +4286,7 @@ def list_meshes request, options = nil # # @param name [::String] # Required. A name of the Mesh to get. Must be in the format - # `projects/*/locations/global/meshes/*`. + # `projects/*/locations/*/meshes/*`. # @yield [result, operation] Access the result along with the TransportOperation object # @yieldparam result [::Google::Cloud::NetworkServices::V1::Mesh] # @yieldparam operation [::Gapic::Rest::TransportOperation] @@ -4361,7 +4365,7 @@ def get_mesh request, options = nil # # @param parent [::String] # Required. The parent resource of the Mesh. Must be in the - # format `projects/*/locations/global`. + # format `projects/*/locations/*`. # @param mesh_id [::String] # Required. Short name of the Mesh resource to be created. # @param mesh [::Google::Cloud::NetworkServices::V1::Mesh, ::Hash] @@ -4546,7 +4550,7 @@ def update_mesh request, options = nil # # @param name [::String] # Required. A name of the Mesh to delete. Must be in the format - # `projects/*/locations/global/meshes/*`. + # `projects/*/locations/*/meshes/*`. # @yield [result, operation] Access the result along with the TransportOperation object # @yieldparam result [::Gapic::Operation] # @yieldparam operation [::Gapic::Rest::TransportOperation] @@ -5405,6 +5409,455 @@ def list_mesh_route_views request, options = nil raise ::Google::Cloud::Error.from_error(e) end + ## + # Lists AgentGateways in a given project and location. + # + # @overload list_agent_gateways(request, options = nil) + # Pass arguments to `list_agent_gateways` via a request object, either of type + # {::Google::Cloud::NetworkServices::V1::ListAgentGatewaysRequest} or an equivalent Hash. + # + # @param request [::Google::Cloud::NetworkServices::V1::ListAgentGatewaysRequest, ::Hash] + # A request object representing the call parameters. Required. To specify no + # parameters, or to keep all the default parameter values, pass an empty Hash. + # @param options [::Gapic::CallOptions, ::Hash] + # Overrides the default settings for this call, e.g, timeout, retries etc. Optional. + # + # @overload list_agent_gateways(parent: nil, page_size: nil, page_token: nil, return_partial_success: nil) + # Pass arguments to `list_agent_gateways` via keyword arguments. Note that at + # least one keyword argument is required. To specify no parameters, or to keep all + # the default parameter values, pass an empty Hash as a request object (see above). + # + # @param parent [::String] + # Required. The project and location from which the AgentGateways should be + # listed, specified in the format `projects/*/locations/*`. + # @param page_size [::Integer] + # Optional. Maximum number of AgentGateways to return per call. + # @param page_token [::String] + # Optional. The value returned by the last `ListAgentGatewaysResponse` + # Indicates that this is a continuation of a prior `ListAgentGateways` + # call, and that the system should return the next page of data. + # @param return_partial_success [::Boolean] + # Optional. If true, allow partial responses for multi-regional Aggregated + # List requests. Otherwise if one of the locations is down or unreachable, + # the Aggregated List request will fail. + # @yield [result, operation] Access the result along with the TransportOperation object + # @yieldparam result [::Gapic::Rest::PagedEnumerable<::Google::Cloud::NetworkServices::V1::AgentGateway>] + # @yieldparam operation [::Gapic::Rest::TransportOperation] + # + # @return [::Gapic::Rest::PagedEnumerable<::Google::Cloud::NetworkServices::V1::AgentGateway>] + # + # @raise [::Google::Cloud::Error] if the REST call is aborted. + # + # @example Basic example + # require "google/cloud/network_services/v1" + # + # # Create a client object. The client can be reused for multiple calls. + # client = Google::Cloud::NetworkServices::V1::NetworkServices::Rest::Client.new + # + # # Create a request. To set request fields, pass in keyword arguments. + # request = Google::Cloud::NetworkServices::V1::ListAgentGatewaysRequest.new + # + # # Call the list_agent_gateways method. + # result = client.list_agent_gateways 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::NetworkServices::V1::AgentGateway. + # p item + # end + # + def list_agent_gateways request, options = nil + raise ::ArgumentError, "request must be provided" if request.nil? + + request = ::Gapic::Protobuf.coerce request, to: ::Google::Cloud::NetworkServices::V1::ListAgentGatewaysRequest + + # 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 + call_metadata = @config.rpcs.list_agent_gateways.metadata.to_h + + # Set x-goog-api-client, x-goog-user-project and x-goog-api-version headers + call_metadata[:"x-goog-api-client"] ||= ::Gapic::Headers.x_goog_api_client \ + lib_name: @config.lib_name, lib_version: @config.lib_version, + gapic_version: ::Google::Cloud::NetworkServices::V1::VERSION, + transports_version_send: [:rest] + + call_metadata[:"x-goog-api-version"] = API_VERSION unless API_VERSION.empty? + call_metadata[:"x-goog-user-project"] = @quota_project_id if @quota_project_id + + options.apply_defaults timeout: @config.rpcs.list_agent_gateways.timeout, + metadata: call_metadata, + retry_policy: @config.rpcs.list_agent_gateways.retry_policy + + options.apply_defaults timeout: @config.timeout, + metadata: @config.metadata, + retry_policy: @config.retry_policy + + @network_services_stub.list_agent_gateways request, options do |result, operation| + result = ::Gapic::Rest::PagedEnumerable.new @network_services_stub, :list_agent_gateways, "agent_gateways", request, result, options + yield result, operation if block_given? + throw :response, result + end + rescue ::Gapic::Rest::Error => e + raise ::Google::Cloud::Error.from_error(e) + end + + ## + # Gets details of a single AgentGateway. + # + # @overload get_agent_gateway(request, options = nil) + # Pass arguments to `get_agent_gateway` via a request object, either of type + # {::Google::Cloud::NetworkServices::V1::GetAgentGatewayRequest} or an equivalent Hash. + # + # @param request [::Google::Cloud::NetworkServices::V1::GetAgentGatewayRequest, ::Hash] + # A request object representing the call parameters. Required. To specify no + # parameters, or to keep all the default parameter values, pass an empty Hash. + # @param options [::Gapic::CallOptions, ::Hash] + # Overrides the default settings for this call, e.g, timeout, retries etc. Optional. + # + # @overload get_agent_gateway(name: nil) + # Pass arguments to `get_agent_gateway` via keyword arguments. Note that at + # least one keyword argument is required. To specify no parameters, or to keep all + # the default parameter values, pass an empty Hash as a request object (see above). + # + # @param name [::String] + # Required. A name of the AgentGateway to get. Must be in the format + # `projects/*/locations/*/agentGateways/*`. + # @yield [result, operation] Access the result along with the TransportOperation object + # @yieldparam result [::Google::Cloud::NetworkServices::V1::AgentGateway] + # @yieldparam operation [::Gapic::Rest::TransportOperation] + # + # @return [::Google::Cloud::NetworkServices::V1::AgentGateway] + # + # @raise [::Google::Cloud::Error] if the REST call is aborted. + # + # @example Basic example + # require "google/cloud/network_services/v1" + # + # # Create a client object. The client can be reused for multiple calls. + # client = Google::Cloud::NetworkServices::V1::NetworkServices::Rest::Client.new + # + # # Create a request. To set request fields, pass in keyword arguments. + # request = Google::Cloud::NetworkServices::V1::GetAgentGatewayRequest.new + # + # # Call the get_agent_gateway method. + # result = client.get_agent_gateway request + # + # # The returned object is of type Google::Cloud::NetworkServices::V1::AgentGateway. + # p result + # + def get_agent_gateway request, options = nil + raise ::ArgumentError, "request must be provided" if request.nil? + + request = ::Gapic::Protobuf.coerce request, to: ::Google::Cloud::NetworkServices::V1::GetAgentGatewayRequest + + # 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 + call_metadata = @config.rpcs.get_agent_gateway.metadata.to_h + + # Set x-goog-api-client, x-goog-user-project and x-goog-api-version headers + call_metadata[:"x-goog-api-client"] ||= ::Gapic::Headers.x_goog_api_client \ + lib_name: @config.lib_name, lib_version: @config.lib_version, + gapic_version: ::Google::Cloud::NetworkServices::V1::VERSION, + transports_version_send: [:rest] + + call_metadata[:"x-goog-api-version"] = API_VERSION unless API_VERSION.empty? + call_metadata[:"x-goog-user-project"] = @quota_project_id if @quota_project_id + + options.apply_defaults timeout: @config.rpcs.get_agent_gateway.timeout, + metadata: call_metadata, + retry_policy: @config.rpcs.get_agent_gateway.retry_policy + + options.apply_defaults timeout: @config.timeout, + metadata: @config.metadata, + retry_policy: @config.retry_policy + + @network_services_stub.get_agent_gateway request, options do |result, operation| + yield result, operation if block_given? + end + rescue ::Gapic::Rest::Error => e + raise ::Google::Cloud::Error.from_error(e) + end + + ## + # Creates a new AgentGateway in a given project and location. + # + # @overload create_agent_gateway(request, options = nil) + # Pass arguments to `create_agent_gateway` via a request object, either of type + # {::Google::Cloud::NetworkServices::V1::CreateAgentGatewayRequest} or an equivalent Hash. + # + # @param request [::Google::Cloud::NetworkServices::V1::CreateAgentGatewayRequest, ::Hash] + # A request object representing the call parameters. Required. To specify no + # parameters, or to keep all the default parameter values, pass an empty Hash. + # @param options [::Gapic::CallOptions, ::Hash] + # Overrides the default settings for this call, e.g, timeout, retries etc. Optional. + # + # @overload create_agent_gateway(parent: nil, agent_gateway_id: nil, agent_gateway: nil) + # Pass arguments to `create_agent_gateway` via keyword arguments. Note that at + # least one keyword argument is required. To specify no parameters, or to keep all + # the default parameter values, pass an empty Hash as a request object (see above). + # + # @param parent [::String] + # Required. The parent resource of the AgentGateway. Must be in the + # format `projects/*/locations/*`. + # @param agent_gateway_id [::String] + # Required. Short name of the AgentGateway resource to be created. + # @param agent_gateway [::Google::Cloud::NetworkServices::V1::AgentGateway, ::Hash] + # Required. AgentGateway resource to be created. + # @yield [result, operation] Access the result along with the TransportOperation object + # @yieldparam result [::Gapic::Operation] + # @yieldparam operation [::Gapic::Rest::TransportOperation] + # + # @return [::Gapic::Operation] + # + # @raise [::Google::Cloud::Error] if the REST call is aborted. + # + # @example Basic example + # require "google/cloud/network_services/v1" + # + # # Create a client object. The client can be reused for multiple calls. + # client = Google::Cloud::NetworkServices::V1::NetworkServices::Rest::Client.new + # + # # Create a request. To set request fields, pass in keyword arguments. + # request = Google::Cloud::NetworkServices::V1::CreateAgentGatewayRequest.new + # + # # Call the create_agent_gateway method. + # result = client.create_agent_gateway request + # + # # The returned object is of type Gapic::Operation. You can use it to + # # check the status of an operation, cancel it, or wait for results. + # # Here is how to wait for a response. + # result.wait_until_done! timeout: 60 + # if result.response? + # p result.response + # else + # puts "No response received." + # end + # + def create_agent_gateway request, options = nil + raise ::ArgumentError, "request must be provided" if request.nil? + + request = ::Gapic::Protobuf.coerce request, to: ::Google::Cloud::NetworkServices::V1::CreateAgentGatewayRequest + + # 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 + call_metadata = @config.rpcs.create_agent_gateway.metadata.to_h + + # Set x-goog-api-client, x-goog-user-project and x-goog-api-version headers + call_metadata[:"x-goog-api-client"] ||= ::Gapic::Headers.x_goog_api_client \ + lib_name: @config.lib_name, lib_version: @config.lib_version, + gapic_version: ::Google::Cloud::NetworkServices::V1::VERSION, + transports_version_send: [:rest] + + call_metadata[:"x-goog-api-version"] = API_VERSION unless API_VERSION.empty? + call_metadata[:"x-goog-user-project"] = @quota_project_id if @quota_project_id + + options.apply_defaults timeout: @config.rpcs.create_agent_gateway.timeout, + metadata: call_metadata, + retry_policy: @config.rpcs.create_agent_gateway.retry_policy + + options.apply_defaults timeout: @config.timeout, + metadata: @config.metadata, + retry_policy: @config.retry_policy + + @network_services_stub.create_agent_gateway request, options do |result, operation| + result = ::Gapic::Operation.new result, @operations_client, options: options + yield result, operation if block_given? + throw :response, result + end + rescue ::Gapic::Rest::Error => e + raise ::Google::Cloud::Error.from_error(e) + end + + ## + # Updates the parameters of a single AgentGateway. + # + # @overload update_agent_gateway(request, options = nil) + # Pass arguments to `update_agent_gateway` via a request object, either of type + # {::Google::Cloud::NetworkServices::V1::UpdateAgentGatewayRequest} or an equivalent Hash. + # + # @param request [::Google::Cloud::NetworkServices::V1::UpdateAgentGatewayRequest, ::Hash] + # A request object representing the call parameters. Required. To specify no + # parameters, or to keep all the default parameter values, pass an empty Hash. + # @param options [::Gapic::CallOptions, ::Hash] + # Overrides the default settings for this call, e.g, timeout, retries etc. Optional. + # + # @overload update_agent_gateway(update_mask: nil, agent_gateway: nil) + # Pass arguments to `update_agent_gateway` via keyword arguments. Note that at + # least one keyword argument is required. To specify no parameters, or to keep all + # the default parameter values, pass an empty Hash as a request object (see above). + # + # @param update_mask [::Google::Protobuf::FieldMask, ::Hash] + # Optional. Field mask is used to specify the fields to be overwritten in the + # AgentGateway resource by the update. + # The fields specified in the update_mask are relative to the resource, not + # the full request. A field will be overwritten if it is in the mask. If the + # user does not provide a mask then all fields will be overwritten. + # @param agent_gateway [::Google::Cloud::NetworkServices::V1::AgentGateway, ::Hash] + # Required. Updated AgentGateway resource. + # @yield [result, operation] Access the result along with the TransportOperation object + # @yieldparam result [::Gapic::Operation] + # @yieldparam operation [::Gapic::Rest::TransportOperation] + # + # @return [::Gapic::Operation] + # + # @raise [::Google::Cloud::Error] if the REST call is aborted. + # + # @example Basic example + # require "google/cloud/network_services/v1" + # + # # Create a client object. The client can be reused for multiple calls. + # client = Google::Cloud::NetworkServices::V1::NetworkServices::Rest::Client.new + # + # # Create a request. To set request fields, pass in keyword arguments. + # request = Google::Cloud::NetworkServices::V1::UpdateAgentGatewayRequest.new + # + # # Call the update_agent_gateway method. + # result = client.update_agent_gateway request + # + # # The returned object is of type Gapic::Operation. You can use it to + # # check the status of an operation, cancel it, or wait for results. + # # Here is how to wait for a response. + # result.wait_until_done! timeout: 60 + # if result.response? + # p result.response + # else + # puts "No response received." + # end + # + def update_agent_gateway request, options = nil + raise ::ArgumentError, "request must be provided" if request.nil? + + request = ::Gapic::Protobuf.coerce request, to: ::Google::Cloud::NetworkServices::V1::UpdateAgentGatewayRequest + + # 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 + call_metadata = @config.rpcs.update_agent_gateway.metadata.to_h + + # Set x-goog-api-client, x-goog-user-project and x-goog-api-version headers + call_metadata[:"x-goog-api-client"] ||= ::Gapic::Headers.x_goog_api_client \ + lib_name: @config.lib_name, lib_version: @config.lib_version, + gapic_version: ::Google::Cloud::NetworkServices::V1::VERSION, + transports_version_send: [:rest] + + call_metadata[:"x-goog-api-version"] = API_VERSION unless API_VERSION.empty? + call_metadata[:"x-goog-user-project"] = @quota_project_id if @quota_project_id + + options.apply_defaults timeout: @config.rpcs.update_agent_gateway.timeout, + metadata: call_metadata, + retry_policy: @config.rpcs.update_agent_gateway.retry_policy + + options.apply_defaults timeout: @config.timeout, + metadata: @config.metadata, + retry_policy: @config.retry_policy + + @network_services_stub.update_agent_gateway request, options do |result, operation| + result = ::Gapic::Operation.new result, @operations_client, options: options + yield result, operation if block_given? + throw :response, result + end + rescue ::Gapic::Rest::Error => e + raise ::Google::Cloud::Error.from_error(e) + end + + ## + # Deletes a single AgentGateway. + # + # @overload delete_agent_gateway(request, options = nil) + # Pass arguments to `delete_agent_gateway` via a request object, either of type + # {::Google::Cloud::NetworkServices::V1::DeleteAgentGatewayRequest} or an equivalent Hash. + # + # @param request [::Google::Cloud::NetworkServices::V1::DeleteAgentGatewayRequest, ::Hash] + # A request object representing the call parameters. Required. To specify no + # parameters, or to keep all the default parameter values, pass an empty Hash. + # @param options [::Gapic::CallOptions, ::Hash] + # Overrides the default settings for this call, e.g, timeout, retries etc. Optional. + # + # @overload delete_agent_gateway(name: nil, etag: nil) + # Pass arguments to `delete_agent_gateway` via keyword arguments. Note that at + # least one keyword argument is required. To specify no parameters, or to keep all + # the default parameter values, pass an empty Hash as a request object (see above). + # + # @param name [::String] + # Required. A name of the AgentGateway to delete. Must be in the format + # `projects/*/locations/*/agentGateways/*`. + # @param etag [::String] + # Optional. The etag of the AgentGateway to delete. + # @yield [result, operation] Access the result along with the TransportOperation object + # @yieldparam result [::Gapic::Operation] + # @yieldparam operation [::Gapic::Rest::TransportOperation] + # + # @return [::Gapic::Operation] + # + # @raise [::Google::Cloud::Error] if the REST call is aborted. + # + # @example Basic example + # require "google/cloud/network_services/v1" + # + # # Create a client object. The client can be reused for multiple calls. + # client = Google::Cloud::NetworkServices::V1::NetworkServices::Rest::Client.new + # + # # Create a request. To set request fields, pass in keyword arguments. + # request = Google::Cloud::NetworkServices::V1::DeleteAgentGatewayRequest.new + # + # # Call the delete_agent_gateway method. + # result = client.delete_agent_gateway request + # + # # The returned object is of type Gapic::Operation. You can use it to + # # check the status of an operation, cancel it, or wait for results. + # # Here is how to wait for a response. + # result.wait_until_done! timeout: 60 + # if result.response? + # p result.response + # else + # puts "No response received." + # end + # + def delete_agent_gateway request, options = nil + raise ::ArgumentError, "request must be provided" if request.nil? + + request = ::Gapic::Protobuf.coerce request, to: ::Google::Cloud::NetworkServices::V1::DeleteAgentGatewayRequest + + # 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 + call_metadata = @config.rpcs.delete_agent_gateway.metadata.to_h + + # Set x-goog-api-client, x-goog-user-project and x-goog-api-version headers + call_metadata[:"x-goog-api-client"] ||= ::Gapic::Headers.x_goog_api_client \ + lib_name: @config.lib_name, lib_version: @config.lib_version, + gapic_version: ::Google::Cloud::NetworkServices::V1::VERSION, + transports_version_send: [:rest] + + call_metadata[:"x-goog-api-version"] = API_VERSION unless API_VERSION.empty? + call_metadata[:"x-goog-user-project"] = @quota_project_id if @quota_project_id + + options.apply_defaults timeout: @config.rpcs.delete_agent_gateway.timeout, + metadata: call_metadata, + retry_policy: @config.rpcs.delete_agent_gateway.retry_policy + + options.apply_defaults timeout: @config.timeout, + metadata: @config.metadata, + retry_policy: @config.retry_policy + + @network_services_stub.delete_agent_gateway request, options do |result, operation| + result = ::Gapic::Operation.new result, @operations_client, options: options + yield result, operation if block_given? + throw :response, result + end + rescue ::Gapic::Rest::Error => e + raise ::Google::Cloud::Error.from_error(e) + end + ## # Configuration class for the NetworkServices REST API. # @@ -5850,6 +6303,31 @@ class Rpcs # @return [::Gapic::Config::Method] # attr_reader :list_mesh_route_views + ## + # RPC-specific configuration for `list_agent_gateways` + # @return [::Gapic::Config::Method] + # + attr_reader :list_agent_gateways + ## + # RPC-specific configuration for `get_agent_gateway` + # @return [::Gapic::Config::Method] + # + attr_reader :get_agent_gateway + ## + # RPC-specific configuration for `create_agent_gateway` + # @return [::Gapic::Config::Method] + # + attr_reader :create_agent_gateway + ## + # RPC-specific configuration for `update_agent_gateway` + # @return [::Gapic::Config::Method] + # + attr_reader :update_agent_gateway + ## + # RPC-specific configuration for `delete_agent_gateway` + # @return [::Gapic::Config::Method] + # + attr_reader :delete_agent_gateway # @private def initialize parent_rpcs = nil @@ -5969,6 +6447,16 @@ def initialize parent_rpcs = nil @list_gateway_route_views = ::Gapic::Config::Method.new list_gateway_route_views_config list_mesh_route_views_config = parent_rpcs.list_mesh_route_views if parent_rpcs.respond_to? :list_mesh_route_views @list_mesh_route_views = ::Gapic::Config::Method.new list_mesh_route_views_config + list_agent_gateways_config = parent_rpcs.list_agent_gateways if parent_rpcs.respond_to? :list_agent_gateways + @list_agent_gateways = ::Gapic::Config::Method.new list_agent_gateways_config + get_agent_gateway_config = parent_rpcs.get_agent_gateway if parent_rpcs.respond_to? :get_agent_gateway + @get_agent_gateway = ::Gapic::Config::Method.new get_agent_gateway_config + create_agent_gateway_config = parent_rpcs.create_agent_gateway if parent_rpcs.respond_to? :create_agent_gateway + @create_agent_gateway = ::Gapic::Config::Method.new create_agent_gateway_config + update_agent_gateway_config = parent_rpcs.update_agent_gateway if parent_rpcs.respond_to? :update_agent_gateway + @update_agent_gateway = ::Gapic::Config::Method.new update_agent_gateway_config + delete_agent_gateway_config = parent_rpcs.delete_agent_gateway if parent_rpcs.respond_to? :delete_agent_gateway + @delete_agent_gateway = ::Gapic::Config::Method.new delete_agent_gateway_config yield self if block_given? end diff --git a/google-cloud-network_services-v1/lib/google/cloud/network_services/v1/network_services/rest/service_stub.rb b/google-cloud-network_services-v1/lib/google/cloud/network_services/v1/network_services/rest/service_stub.rb index ebeca45c1c1e..f670a228b42b 100644 --- a/google-cloud-network_services-v1/lib/google/cloud/network_services/v1/network_services/rest/service_stub.rb +++ b/google-cloud-network_services-v1/lib/google/cloud/network_services/v1/network_services/rest/service_stub.rb @@ -2393,6 +2393,206 @@ def list_mesh_route_views request_pb, options = nil end end + ## + # Baseline implementation for the list_agent_gateways REST call + # + # @param request_pb [::Google::Cloud::NetworkServices::V1::ListAgentGatewaysRequest] + # 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::NetworkServices::V1::ListAgentGatewaysResponse] + # @yieldparam operation [::Gapic::Rest::TransportOperation] + # + # @return [::Google::Cloud::NetworkServices::V1::ListAgentGatewaysResponse] + # A result object deserialized from the server's reply + def list_agent_gateways request_pb, options = nil + raise ::ArgumentError, "request must be provided" if request_pb.nil? + + verb, uri, query_string_params, body = ServiceStub.transcode_list_agent_gateways_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, + method_name: "list_agent_gateways", + options: options + ) + operation = ::Gapic::Rest::TransportOperation.new response + result = ::Google::Cloud::NetworkServices::V1::ListAgentGatewaysResponse.decode_json response.body, ignore_unknown_fields: true + catch :response do + yield result, operation if block_given? + result + end + end + + ## + # Baseline implementation for the get_agent_gateway REST call + # + # @param request_pb [::Google::Cloud::NetworkServices::V1::GetAgentGatewayRequest] + # 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::NetworkServices::V1::AgentGateway] + # @yieldparam operation [::Gapic::Rest::TransportOperation] + # + # @return [::Google::Cloud::NetworkServices::V1::AgentGateway] + # A result object deserialized from the server's reply + def get_agent_gateway request_pb, options = nil + raise ::ArgumentError, "request must be provided" if request_pb.nil? + + verb, uri, query_string_params, body = ServiceStub.transcode_get_agent_gateway_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, + method_name: "get_agent_gateway", + options: options + ) + operation = ::Gapic::Rest::TransportOperation.new response + result = ::Google::Cloud::NetworkServices::V1::AgentGateway.decode_json response.body, ignore_unknown_fields: true + catch :response do + yield result, operation if block_given? + result + end + end + + ## + # Baseline implementation for the create_agent_gateway REST call + # + # @param request_pb [::Google::Cloud::NetworkServices::V1::CreateAgentGatewayRequest] + # 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::Longrunning::Operation] + # @yieldparam operation [::Gapic::Rest::TransportOperation] + # + # @return [::Google::Longrunning::Operation] + # A result object deserialized from the server's reply + def create_agent_gateway request_pb, options = nil + raise ::ArgumentError, "request must be provided" if request_pb.nil? + + verb, uri, query_string_params, body = ServiceStub.transcode_create_agent_gateway_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, + method_name: "create_agent_gateway", + options: options + ) + operation = ::Gapic::Rest::TransportOperation.new response + result = ::Google::Longrunning::Operation.decode_json response.body, ignore_unknown_fields: true + catch :response do + yield result, operation if block_given? + result + end + end + + ## + # Baseline implementation for the update_agent_gateway REST call + # + # @param request_pb [::Google::Cloud::NetworkServices::V1::UpdateAgentGatewayRequest] + # 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::Longrunning::Operation] + # @yieldparam operation [::Gapic::Rest::TransportOperation] + # + # @return [::Google::Longrunning::Operation] + # A result object deserialized from the server's reply + def update_agent_gateway request_pb, options = nil + raise ::ArgumentError, "request must be provided" if request_pb.nil? + + verb, uri, query_string_params, body = ServiceStub.transcode_update_agent_gateway_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, + method_name: "update_agent_gateway", + options: options + ) + operation = ::Gapic::Rest::TransportOperation.new response + result = ::Google::Longrunning::Operation.decode_json response.body, ignore_unknown_fields: true + catch :response do + yield result, operation if block_given? + result + end + end + + ## + # Baseline implementation for the delete_agent_gateway REST call + # + # @param request_pb [::Google::Cloud::NetworkServices::V1::DeleteAgentGatewayRequest] + # 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::Longrunning::Operation] + # @yieldparam operation [::Gapic::Rest::TransportOperation] + # + # @return [::Google::Longrunning::Operation] + # A result object deserialized from the server's reply + def delete_agent_gateway request_pb, options = nil + raise ::ArgumentError, "request must be provided" if request_pb.nil? + + verb, uri, query_string_params, body = ServiceStub.transcode_delete_agent_gateway_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, + method_name: "delete_agent_gateway", + options: options + ) + operation = ::Gapic::Rest::TransportOperation.new response + result = ::Google::Longrunning::Operation.decode_json response.body, ignore_unknown_fields: true + catch :response do + yield result, operation if block_given? + result + end + end + ## # @private # @@ -3631,6 +3831,113 @@ def self.transcode_list_mesh_route_views_request request_pb ) transcoder.transcode request_pb end + + ## + # @private + # + # GRPC transcoding helper method for the list_agent_gateways REST call + # + # @param request_pb [::Google::Cloud::NetworkServices::V1::ListAgentGatewaysRequest] + # 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_agent_gateways_request request_pb + transcoder = Gapic::Rest::GrpcTranscoder.new + .with_bindings( + uri_method: :get, + uri_template: "/v1/{parent}/agentGateways", + matches: [ + ["parent", %r{^projects/[^/]+/locations/[^/]+/?$}, false] + ] + ) + transcoder.transcode request_pb + end + + ## + # @private + # + # GRPC transcoding helper method for the get_agent_gateway REST call + # + # @param request_pb [::Google::Cloud::NetworkServices::V1::GetAgentGatewayRequest] + # 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_agent_gateway_request request_pb + transcoder = Gapic::Rest::GrpcTranscoder.new + .with_bindings( + uri_method: :get, + uri_template: "/v1/{name}", + matches: [ + ["name", %r{^projects/[^/]+/locations/[^/]+/agentGateways/[^/]+/?$}, false] + ] + ) + transcoder.transcode request_pb + end + + ## + # @private + # + # GRPC transcoding helper method for the create_agent_gateway REST call + # + # @param request_pb [::Google::Cloud::NetworkServices::V1::CreateAgentGatewayRequest] + # 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_agent_gateway_request request_pb + transcoder = Gapic::Rest::GrpcTranscoder.new + .with_bindings( + uri_method: :post, + uri_template: "/v1/{parent}/agentGateways", + body: "agent_gateway", + matches: [ + ["parent", %r{^projects/[^/]+/locations/[^/]+/?$}, false] + ] + ) + transcoder.transcode request_pb + end + + ## + # @private + # + # GRPC transcoding helper method for the update_agent_gateway REST call + # + # @param request_pb [::Google::Cloud::NetworkServices::V1::UpdateAgentGatewayRequest] + # 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_agent_gateway_request request_pb + transcoder = Gapic::Rest::GrpcTranscoder.new + .with_bindings( + uri_method: :patch, + uri_template: "/v1/{agent_gateway.name}", + body: "agent_gateway", + matches: [ + ["agent_gateway.name", %r{^projects/[^/]+/locations/[^/]+/agentGateways/[^/]+/?$}, false] + ] + ) + transcoder.transcode request_pb + end + + ## + # @private + # + # GRPC transcoding helper method for the delete_agent_gateway REST call + # + # @param request_pb [::Google::Cloud::NetworkServices::V1::DeleteAgentGatewayRequest] + # 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_agent_gateway_request request_pb + transcoder = Gapic::Rest::GrpcTranscoder.new + .with_bindings( + uri_method: :delete, + uri_template: "/v1/{name}", + matches: [ + ["name", %r{^projects/[^/]+/locations/[^/]+/agentGateways/[^/]+/?$}, false] + ] + ) + transcoder.transcode request_pb + end end end end diff --git a/google-cloud-network_services-v1/lib/google/cloud/networkservices/v1/agent_gateway_pb.rb b/google-cloud-network_services-v1/lib/google/cloud/networkservices/v1/agent_gateway_pb.rb new file mode 100644 index 000000000000..f25b5dc1f198 --- /dev/null +++ b/google-cloud-network_services-v1/lib/google/cloud/networkservices/v1/agent_gateway_pb.rb @@ -0,0 +1,41 @@ +# frozen_string_literal: true +# Generated by the protocol buffer compiler. DO NOT EDIT! +# source: google/cloud/networkservices/v1/agent_gateway.proto + +require 'google/protobuf' + +require 'google/api/field_behavior_pb' +require 'google/api/resource_pb' +require 'google/protobuf/field_mask_pb' +require 'google/protobuf/timestamp_pb' + + +descriptor_data = "\n3google/cloud/networkservices/v1/agent_gateway.proto\x12\x1fgoogle.cloud.networkservices.v1\x1a\x1fgoogle/api/field_behavior.proto\x1a\x19google/api/resource.proto\x1a google/protobuf/field_mask.proto\x1a\x1fgoogle/protobuf/timestamp.proto\"\xbf\x0f\n\x0c\x41gentGateway\x12Z\n\x0egoogle_managed\x18\x08 \x01(\x0b\x32;.google.cloud.networkservices.v1.AgentGateway.GoogleManagedB\x03\xe0\x41\x01H\x00\x12V\n\x0cself_managed\x18\t \x01(\x0b\x32\x39.google.cloud.networkservices.v1.AgentGateway.SelfManagedB\x03\xe0\x41\x01H\x00\x12\x11\n\x04name\x18\x01 \x01(\tB\x03\xe0\x41\x08\x12\x34\n\x0b\x63reate_time\x18\x02 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x03\xe0\x41\x03\x12\x34\n\x0bupdate_time\x18\x03 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x03\xe0\x41\x03\x12N\n\x06labels\x18\x04 \x03(\x0b\x32\x39.google.cloud.networkservices.v1.AgentGateway.LabelsEntryB\x03\xe0\x41\x01\x12\x18\n\x0b\x64\x65scription\x18\x05 \x01(\tB\x03\xe0\x41\x01\x12\x11\n\x04\x65tag\x18\x06 \x01(\tB\x03\xe0\x41\x01\x12P\n\tprotocols\x18\x0c \x03(\x0e\x32\x36.google.cloud.networkservices.v1.AgentGateway.ProtocolB\x05\x18\x01\xe0\x41\x01\x12\x17\n\nregistries\x18\r \x03(\tB\x03\xe0\x41\x01\x12X\n\x0enetwork_config\x18\n \x01(\x0b\x32;.google.cloud.networkservices.v1.AgentGateway.NetworkConfigB\x03\xe0\x41\x01\x12\x65\n\x12\x61gent_gateway_card\x18\x0b \x01(\x0b\x32\x44.google.cloud.networkservices.v1.AgentGateway.AgentGatewayOutputCardB\x03\xe0\x41\x03\x1a\xea\x01\n\rGoogleManaged\x12q\n\x14governed_access_path\x18\x01 \x01(\x0e\x32N.google.cloud.networkservices.v1.AgentGateway.GoogleManaged.GovernedAccessPathB\x03\xe0\x41\x01\"f\n\x12GovernedAccessPath\x12$\n GOVERNED_ACCESS_PATH_UNSPECIFIED\x10\x00\x12\x15\n\x11\x41GENT_TO_ANYWHERE\x10\x01\x12\x13\n\x0f\x43LIENT_TO_AGENT\x10\x02\x1a.\n\x0bSelfManaged\x12\x1f\n\x0cresource_uri\x18\x01 \x01(\tB\t\xe0\x41\x01\xfa\x41\x03\n\x01*\x1a\xa4\x04\n\rNetworkConfig\x12W\n\x06\x65gress\x18\x01 \x01(\x0b\x32\x42.google.cloud.networkservices.v1.AgentGateway.NetworkConfig.EgressB\x03\xe0\x41\x01\x12m\n\x12\x64ns_peering_config\x18\x02 \x01(\x0b\x32L.google.cloud.networkservices.v1.AgentGateway.NetworkConfig.DnsPeeringConfigB\x03\xe0\x41\x01\x1a\xc2\x01\n\x06\x45gress\x12\x1f\n\x12network_attachment\x18\x01 \x01(\tB\x03\xe0\x41\x01\x12i\n\x0ctrust_config\x18\x02 \x01(\x0b\x32N.google.cloud.networkservices.v1.AgentGateway.NetworkConfig.Egress.TrustConfigB\x03\xe0\x41\x01\x1a,\n\x0bTrustConfig\x12\x1d\n\x10pem_certificates\x18\x01 \x03(\tB\x03\xe0\x41\x02\x1a\x85\x01\n\x10\x44nsPeeringConfig\x12\x14\n\x07\x64omains\x18\x01 \x03(\tB\x03\xe0\x41\x02\x12\x1b\n\x0etarget_project\x18\x02 \x01(\tB\x03\xe0\x41\x02\x12>\n\x0etarget_network\x18\x03 \x01(\tB&\xe0\x41\x02\xfa\x41 \n\x1e\x63ompute.googleapis.com/Network\x1a\x85\x01\n\x16\x41gentGatewayOutputCard\x12\x1a\n\rmtls_endpoint\x18\x01 \x01(\tB\x03\xe0\x41\x03\x12\x1e\n\x11root_certificates\x18\x05 \x03(\tB\x03\xe0\x41\x03\x12/\n\"service_extensions_service_account\x18\x04 \x01(\tB\x03\xe0\x41\x03\x1a-\n\x0bLabelsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\"-\n\x08Protocol\x12\x18\n\x14PROTOCOL_UNSPECIFIED\x10\x00\x12\x07\n\x03MCP\x10\x01:\x95\x01\xea\x41\x91\x01\n+networkservices.googleapis.com/AgentGateway\x12\x45projects/{project}/locations/{location}/agentGateways/{agent_gateway}*\ragentGateways2\x0c\x61gentGatewayB\x11\n\x0f\x64\x65ployment_mode\"\xb5\x01\n\x18ListAgentGatewaysRequest\x12\x43\n\x06parent\x18\x01 \x01(\tB3\xe0\x41\x02\xfa\x41-\x12+networkservices.googleapis.com/AgentGateway\x12\x16\n\tpage_size\x18\x02 \x01(\x05\x42\x03\xe0\x41\x01\x12\x17\n\npage_token\x18\x03 \x01(\tB\x03\xe0\x41\x01\x12#\n\x16return_partial_success\x18\x04 \x01(\x08\x42\x03\xe0\x41\x01\"\x90\x01\n\x19ListAgentGatewaysResponse\x12\x45\n\x0e\x61gent_gateways\x18\x01 \x03(\x0b\x32-.google.cloud.networkservices.v1.AgentGateway\x12\x17\n\x0fnext_page_token\x18\x02 \x01(\t\x12\x13\n\x0bunreachable\x18\x03 \x03(\t\"[\n\x16GetAgentGatewayRequest\x12\x41\n\x04name\x18\x01 \x01(\tB3\xe0\x41\x02\xfa\x41-\n+networkservices.googleapis.com/AgentGateway\"\xca\x01\n\x19\x43reateAgentGatewayRequest\x12\x43\n\x06parent\x18\x01 \x01(\tB3\xe0\x41\x02\xfa\x41-\x12+networkservices.googleapis.com/AgentGateway\x12\x1d\n\x10\x61gent_gateway_id\x18\x02 \x01(\tB\x03\xe0\x41\x02\x12I\n\ragent_gateway\x18\x03 \x01(\x0b\x32-.google.cloud.networkservices.v1.AgentGatewayB\x03\xe0\x41\x02\"\x9c\x01\n\x19UpdateAgentGatewayRequest\x12\x34\n\x0bupdate_mask\x18\x01 \x01(\x0b\x32\x1a.google.protobuf.FieldMaskB\x03\xe0\x41\x01\x12I\n\ragent_gateway\x18\x02 \x01(\x0b\x32-.google.cloud.networkservices.v1.AgentGatewayB\x03\xe0\x41\x02\"q\n\x19\x44\x65leteAgentGatewayRequest\x12\x41\n\x04name\x18\x01 \x01(\tB3\xe0\x41\x02\xfa\x41-\n+networkservices.googleapis.com/AgentGateway\x12\x11\n\x04\x65tag\x18\x02 \x01(\tB\x03\xe0\x41\x01\x42\xf2\x01\n#com.google.cloud.networkservices.v1B\x11\x41gentGatewayProtoP\x01ZMcloud.google.com/go/networkservices/apiv1/networkservicespb;networkservicespb\xaa\x02\x1fGoogle.Cloud.NetworkServices.V1\xca\x02\x1fGoogle\\Cloud\\NetworkServices\\V1\xea\x02\"Google::Cloud::NetworkServices::V1b\x06proto3" + +pool = ::Google::Protobuf::DescriptorPool.generated_pool +pool.add_serialized_file(descriptor_data) + +module Google + module Cloud + module NetworkServices + module V1 + AgentGateway = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.networkservices.v1.AgentGateway").msgclass + AgentGateway::GoogleManaged = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.networkservices.v1.AgentGateway.GoogleManaged").msgclass + AgentGateway::GoogleManaged::GovernedAccessPath = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.networkservices.v1.AgentGateway.GoogleManaged.GovernedAccessPath").enummodule + AgentGateway::SelfManaged = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.networkservices.v1.AgentGateway.SelfManaged").msgclass + AgentGateway::NetworkConfig = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.networkservices.v1.AgentGateway.NetworkConfig").msgclass + AgentGateway::NetworkConfig::Egress = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.networkservices.v1.AgentGateway.NetworkConfig.Egress").msgclass + AgentGateway::NetworkConfig::Egress::TrustConfig = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.networkservices.v1.AgentGateway.NetworkConfig.Egress.TrustConfig").msgclass + AgentGateway::NetworkConfig::DnsPeeringConfig = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.networkservices.v1.AgentGateway.NetworkConfig.DnsPeeringConfig").msgclass + AgentGateway::AgentGatewayOutputCard = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.networkservices.v1.AgentGateway.AgentGatewayOutputCard").msgclass + AgentGateway::Protocol = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.networkservices.v1.AgentGateway.Protocol").enummodule + ListAgentGatewaysRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.networkservices.v1.ListAgentGatewaysRequest").msgclass + ListAgentGatewaysResponse = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.networkservices.v1.ListAgentGatewaysResponse").msgclass + GetAgentGatewayRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.networkservices.v1.GetAgentGatewayRequest").msgclass + CreateAgentGatewayRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.networkservices.v1.CreateAgentGatewayRequest").msgclass + UpdateAgentGatewayRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.networkservices.v1.UpdateAgentGatewayRequest").msgclass + DeleteAgentGatewayRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.networkservices.v1.DeleteAgentGatewayRequest").msgclass + end + end + end +end diff --git a/google-cloud-network_services-v1/lib/google/cloud/networkservices/v1/dep_pb.rb b/google-cloud-network_services-v1/lib/google/cloud/networkservices/v1/dep_pb.rb index cbab496ae8b2..189ed93ceeaf 100644 --- a/google-cloud-network_services-v1/lib/google/cloud/networkservices/v1/dep_pb.rb +++ b/google-cloud-network_services-v1/lib/google/cloud/networkservices/v1/dep_pb.rb @@ -18,7 +18,7 @@ require 'google/protobuf/timestamp_pb' -descriptor_data = "\n)google/cloud/networkservices/v1/dep.proto\x12\x1fgoogle.cloud.networkservices.v1\x1a\x1cgoogle/api/annotations.proto\x1a\x17google/api/client.proto\x1a\x1fgoogle/api/field_behavior.proto\x1a\x1bgoogle/api/field_info.proto\x1a\x19google/api/resource.proto\x1a,google/cloud/networkservices/v1/common.proto\x1a#google/longrunning/operations.proto\x1a\x1egoogle/protobuf/duration.proto\x1a\x1bgoogle/protobuf/empty.proto\x1a google/protobuf/field_mask.proto\x1a\x1cgoogle/protobuf/struct.proto\x1a\x1fgoogle/protobuf/timestamp.proto\"\xb5\x04\n\x0e\x45xtensionChain\x12\x11\n\x04name\x18\x01 \x01(\tB\x03\xe0\x41\x02\x12\\\n\x0fmatch_condition\x18\x02 \x01(\x0b\x32>.google.cloud.networkservices.v1.ExtensionChain.MatchConditionB\x03\xe0\x41\x02\x12R\n\nextensions\x18\x03 \x03(\x0b\x32\x39.google.cloud.networkservices.v1.ExtensionChain.ExtensionB\x03\xe0\x41\x02\x1a-\n\x0eMatchCondition\x12\x1b\n\x0e\x63\x65l_expression\x18\x01 \x01(\tB\x03\xe0\x41\x02\x1a\xae\x02\n\tExtension\x12\x11\n\x04name\x18\x01 \x01(\tB\x03\xe0\x41\x02\x12\x16\n\tauthority\x18\x02 \x01(\tB\x03\xe0\x41\x01\x12\x14\n\x07service\x18\x03 \x01(\tB\x03\xe0\x41\x02\x12I\n\x10supported_events\x18\x04 \x03(\x0e\x32*.google.cloud.networkservices.v1.EventTypeB\x03\xe0\x41\x01\x12/\n\x07timeout\x18\x05 \x01(\x0b\x32\x19.google.protobuf.DurationB\x03\xe0\x41\x01\x12\x16\n\tfail_open\x18\x06 \x01(\x08\x42\x03\xe0\x41\x01\x12\x1c\n\x0f\x66orward_headers\x18\x07 \x03(\tB\x03\xe0\x41\x01\x12.\n\x08metadata\x18\t \x01(\x0b\x32\x17.google.protobuf.StructB\x03\xe0\x41\x01\"\xe5\x05\n\x12LbTrafficExtension\x12\x14\n\x04name\x18\x01 \x01(\tB\x06\xe0\x41\x02\xe0\x41\x08\x12\x34\n\x0b\x63reate_time\x18\x02 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x03\xe0\x41\x03\x12\x34\n\x0bupdate_time\x18\x03 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x03\xe0\x41\x03\x12\x18\n\x0b\x64\x65scription\x18\t \x01(\tB\x03\xe0\x41\x01\x12T\n\x06labels\x18\x04 \x03(\x0b\x32?.google.cloud.networkservices.v1.LbTrafficExtension.LabelsEntryB\x03\xe0\x41\x01\x12\x1d\n\x10\x66orwarding_rules\x18\x05 \x03(\tB\x03\xe0\x41\x01\x12N\n\x10\x65xtension_chains\x18\x07 \x03(\x0b\x32/.google.cloud.networkservices.v1.ExtensionChainB\x03\xe0\x41\x02\x12X\n\x15load_balancing_scheme\x18\x08 \x01(\x0e\x32\x34.google.cloud.networkservices.v1.LoadBalancingSchemeB\x03\xe0\x41\x02\x12.\n\x08metadata\x18\n \x01(\x0b\x32\x17.google.protobuf.StructB\x03\xe0\x41\x01\x1a-\n\x0bLabelsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01:\xb4\x01\xea\x41\xb0\x01\n1networkservices.googleapis.com/LbTrafficExtension\x12Rprojects/{project}/locations/{location}/lbTrafficExtensions/{lb_traffic_extension}*\x13lbTrafficExtensions2\x12lbTrafficExtension\"\xc8\x01\n\x1eListLbTrafficExtensionsRequest\x12I\n\x06parent\x18\x01 \x01(\tB9\xe0\x41\x02\xfa\x41\x33\x12\x31networkservices.googleapis.com/LbTrafficExtension\x12\x16\n\tpage_size\x18\x02 \x01(\x05\x42\x03\xe0\x41\x01\x12\x17\n\npage_token\x18\x03 \x01(\tB\x03\xe0\x41\x01\x12\x13\n\x06\x66ilter\x18\x04 \x01(\tB\x03\xe0\x41\x01\x12\x15\n\x08order_by\x18\x05 \x01(\tB\x03\xe0\x41\x01\"\xa3\x01\n\x1fListLbTrafficExtensionsResponse\x12R\n\x15lb_traffic_extensions\x18\x01 \x03(\x0b\x32\x33.google.cloud.networkservices.v1.LbTrafficExtension\x12\x17\n\x0fnext_page_token\x18\x02 \x01(\t\x12\x13\n\x0bunreachable\x18\x03 \x03(\t\"g\n\x1cGetLbTrafficExtensionRequest\x12G\n\x04name\x18\x01 \x01(\tB9\xe0\x41\x02\xfa\x41\x33\n1networkservices.googleapis.com/LbTrafficExtension\"\x8b\x02\n\x1f\x43reateLbTrafficExtensionRequest\x12I\n\x06parent\x18\x01 \x01(\tB9\xe0\x41\x02\xfa\x41\x33\x12\x31networkservices.googleapis.com/LbTrafficExtension\x12$\n\x17lb_traffic_extension_id\x18\x02 \x01(\tB\x03\xe0\x41\x02\x12V\n\x14lb_traffic_extension\x18\x03 \x01(\x0b\x32\x33.google.cloud.networkservices.v1.LbTrafficExtensionB\x03\xe0\x41\x02\x12\x1f\n\nrequest_id\x18\x04 \x01(\tB\x0b\xe0\x41\x01\xe2\x8c\xcf\xd7\x08\x02\x08\x01\"\xd0\x01\n\x1fUpdateLbTrafficExtensionRequest\x12\x34\n\x0bupdate_mask\x18\x01 \x01(\x0b\x32\x1a.google.protobuf.FieldMaskB\x03\xe0\x41\x01\x12V\n\x14lb_traffic_extension\x18\x02 \x01(\x0b\x32\x33.google.cloud.networkservices.v1.LbTrafficExtensionB\x03\xe0\x41\x02\x12\x1f\n\nrequest_id\x18\x03 \x01(\tB\x0b\xe0\x41\x01\xe2\x8c\xcf\xd7\x08\x02\x08\x01\"\x8b\x01\n\x1f\x44\x65leteLbTrafficExtensionRequest\x12G\n\x04name\x18\x01 \x01(\tB9\xe0\x41\x02\xfa\x41\x33\n1networkservices.googleapis.com/LbTrafficExtension\x12\x1f\n\nrequest_id\x18\x02 \x01(\tB\x0b\xe0\x41\x01\xe2\x8c\xcf\xd7\x08\x02\x08\x01\"\xd7\x05\n\x10LbRouteExtension\x12\x14\n\x04name\x18\x01 \x01(\tB\x06\xe0\x41\x02\xe0\x41\x08\x12\x34\n\x0b\x63reate_time\x18\x02 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x03\xe0\x41\x03\x12\x34\n\x0bupdate_time\x18\x03 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x03\xe0\x41\x03\x12\x18\n\x0b\x64\x65scription\x18\t \x01(\tB\x03\xe0\x41\x01\x12R\n\x06labels\x18\x04 \x03(\x0b\x32=.google.cloud.networkservices.v1.LbRouteExtension.LabelsEntryB\x03\xe0\x41\x01\x12\x1d\n\x10\x66orwarding_rules\x18\x05 \x03(\tB\x03\xe0\x41\x02\x12N\n\x10\x65xtension_chains\x18\x07 \x03(\x0b\x32/.google.cloud.networkservices.v1.ExtensionChainB\x03\xe0\x41\x02\x12X\n\x15load_balancing_scheme\x18\x08 \x01(\x0e\x32\x34.google.cloud.networkservices.v1.LoadBalancingSchemeB\x03\xe0\x41\x02\x12.\n\x08metadata\x18\n \x01(\x0b\x32\x17.google.protobuf.StructB\x03\xe0\x41\x01\x1a-\n\x0bLabelsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01:\xaa\x01\xea\x41\xa6\x01\n/networkservices.googleapis.com/LbRouteExtension\x12Nprojects/{project}/locations/{location}/lbRouteExtensions/{lb_route_extension}*\x11lbRouteExtensions2\x10lbRouteExtension\"\xc4\x01\n\x1cListLbRouteExtensionsRequest\x12G\n\x06parent\x18\x01 \x01(\tB7\xe0\x41\x02\xfa\x41\x31\x12/networkservices.googleapis.com/LbRouteExtension\x12\x16\n\tpage_size\x18\x02 \x01(\x05\x42\x03\xe0\x41\x01\x12\x17\n\npage_token\x18\x03 \x01(\tB\x03\xe0\x41\x01\x12\x13\n\x06\x66ilter\x18\x04 \x01(\tB\x03\xe0\x41\x01\x12\x15\n\x08order_by\x18\x05 \x01(\tB\x03\xe0\x41\x01\"\x9d\x01\n\x1dListLbRouteExtensionsResponse\x12N\n\x13lb_route_extensions\x18\x01 \x03(\x0b\x32\x31.google.cloud.networkservices.v1.LbRouteExtension\x12\x17\n\x0fnext_page_token\x18\x02 \x01(\t\x12\x13\n\x0bunreachable\x18\x03 \x03(\t\"c\n\x1aGetLbRouteExtensionRequest\x12\x45\n\x04name\x18\x01 \x01(\tB7\xe0\x41\x02\xfa\x41\x31\n/networkservices.googleapis.com/LbRouteExtension\"\x81\x02\n\x1d\x43reateLbRouteExtensionRequest\x12G\n\x06parent\x18\x01 \x01(\tB7\xe0\x41\x02\xfa\x41\x31\x12/networkservices.googleapis.com/LbRouteExtension\x12\"\n\x15lb_route_extension_id\x18\x02 \x01(\tB\x03\xe0\x41\x02\x12R\n\x12lb_route_extension\x18\x03 \x01(\x0b\x32\x31.google.cloud.networkservices.v1.LbRouteExtensionB\x03\xe0\x41\x02\x12\x1f\n\nrequest_id\x18\x04 \x01(\tB\x0b\xe0\x41\x01\xe2\x8c\xcf\xd7\x08\x02\x08\x01\"\xca\x01\n\x1dUpdateLbRouteExtensionRequest\x12\x34\n\x0bupdate_mask\x18\x01 \x01(\x0b\x32\x1a.google.protobuf.FieldMaskB\x03\xe0\x41\x01\x12R\n\x12lb_route_extension\x18\x02 \x01(\x0b\x32\x31.google.cloud.networkservices.v1.LbRouteExtensionB\x03\xe0\x41\x02\x12\x1f\n\nrequest_id\x18\x03 \x01(\tB\x0b\xe0\x41\x01\xe2\x8c\xcf\xd7\x08\x02\x08\x01\"\x87\x01\n\x1d\x44\x65leteLbRouteExtensionRequest\x12\x45\n\x04name\x18\x01 \x01(\tB7\xe0\x41\x02\xfa\x41\x31\n/networkservices.googleapis.com/LbRouteExtension\x12\x1f\n\nrequest_id\x18\x02 \x01(\tB\x0b\xe0\x41\x01\xe2\x8c\xcf\xd7\x08\x02\x08\x01\"\xa0\x05\n\x0fLbEdgeExtension\x12\x14\n\x04name\x18\x01 \x01(\tB\x06\xe0\x41\x02\xe0\x41\x08\x12\x34\n\x0b\x63reate_time\x18\x02 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x03\xe0\x41\x03\x12\x34\n\x0bupdate_time\x18\x03 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x03\xe0\x41\x03\x12\x18\n\x0b\x64\x65scription\x18\t \x01(\tB\x03\xe0\x41\x01\x12Q\n\x06labels\x18\x04 \x03(\x0b\x32<.google.cloud.networkservices.v1.LbEdgeExtension.LabelsEntryB\x03\xe0\x41\x01\x12\x1d\n\x10\x66orwarding_rules\x18\x05 \x03(\tB\x03\xe0\x41\x02\x12N\n\x10\x65xtension_chains\x18\x06 \x03(\x0b\x32/.google.cloud.networkservices.v1.ExtensionChainB\x03\xe0\x41\x02\x12X\n\x15load_balancing_scheme\x18\x07 \x01(\x0e\x32\x34.google.cloud.networkservices.v1.LoadBalancingSchemeB\x03\xe0\x41\x02\x1a-\n\x0bLabelsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01:\xa5\x01\xea\x41\xa1\x01\n.networkservices.googleapis.com/LbEdgeExtension\x12Lprojects/{project}/locations/{location}/lbEdgeExtensions/{lb_edge_extension}*\x10lbEdgeExtensions2\x0flbEdgeExtension\"\xc2\x01\n\x1bListLbEdgeExtensionsRequest\x12\x46\n\x06parent\x18\x01 \x01(\tB6\xe0\x41\x02\xfa\x41\x30\x12.networkservices.googleapis.com/LbEdgeExtension\x12\x16\n\tpage_size\x18\x02 \x01(\x05\x42\x03\xe0\x41\x01\x12\x17\n\npage_token\x18\x03 \x01(\tB\x03\xe0\x41\x01\x12\x13\n\x06\x66ilter\x18\x04 \x01(\tB\x03\xe0\x41\x01\x12\x15\n\x08order_by\x18\x05 \x01(\tB\x03\xe0\x41\x01\"\x9a\x01\n\x1cListLbEdgeExtensionsResponse\x12L\n\x12lb_edge_extensions\x18\x01 \x03(\x0b\x32\x30.google.cloud.networkservices.v1.LbEdgeExtension\x12\x17\n\x0fnext_page_token\x18\x02 \x01(\t\x12\x13\n\x0bunreachable\x18\x03 \x03(\t\"a\n\x19GetLbEdgeExtensionRequest\x12\x44\n\x04name\x18\x01 \x01(\tB6\xe0\x41\x02\xfa\x41\x30\n.networkservices.googleapis.com/LbEdgeExtension\"\xfc\x01\n\x1c\x43reateLbEdgeExtensionRequest\x12\x46\n\x06parent\x18\x01 \x01(\tB6\xe0\x41\x02\xfa\x41\x30\x12.networkservices.googleapis.com/LbEdgeExtension\x12!\n\x14lb_edge_extension_id\x18\x02 \x01(\tB\x03\xe0\x41\x02\x12P\n\x11lb_edge_extension\x18\x03 \x01(\x0b\x32\x30.google.cloud.networkservices.v1.LbEdgeExtensionB\x03\xe0\x41\x02\x12\x1f\n\nrequest_id\x18\x04 \x01(\tB\x0b\xe0\x41\x01\xe2\x8c\xcf\xd7\x08\x02\x08\x01\"\xc7\x01\n\x1cUpdateLbEdgeExtensionRequest\x12\x34\n\x0bupdate_mask\x18\x01 \x01(\x0b\x32\x1a.google.protobuf.FieldMaskB\x03\xe0\x41\x01\x12P\n\x11lb_edge_extension\x18\x02 \x01(\x0b\x32\x30.google.cloud.networkservices.v1.LbEdgeExtensionB\x03\xe0\x41\x02\x12\x1f\n\nrequest_id\x18\x03 \x01(\tB\x0b\xe0\x41\x01\xe2\x8c\xcf\xd7\x08\x02\x08\x01\"\x85\x01\n\x1c\x44\x65leteLbEdgeExtensionRequest\x12\x44\n\x04name\x18\x01 \x01(\tB6\xe0\x41\x02\xfa\x41\x30\n.networkservices.googleapis.com/LbEdgeExtension\x12\x1f\n\nrequest_id\x18\x02 \x01(\tB\x0b\xe0\x41\x01\xe2\x8c\xcf\xd7\x08\x02\x08\x01\"\xb5\x06\n\x0e\x41uthzExtension\x12\x14\n\x04name\x18\x01 \x01(\tB\x06\xe0\x41\x02\xe0\x41\x08\x12\x34\n\x0b\x63reate_time\x18\x02 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x03\xe0\x41\x03\x12\x34\n\x0bupdate_time\x18\x03 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x03\xe0\x41\x03\x12\x18\n\x0b\x64\x65scription\x18\x04 \x01(\tB\x03\xe0\x41\x01\x12P\n\x06labels\x18\x05 \x03(\x0b\x32;.google.cloud.networkservices.v1.AuthzExtension.LabelsEntryB\x03\xe0\x41\x01\x12X\n\x15load_balancing_scheme\x18\x06 \x01(\x0e\x32\x34.google.cloud.networkservices.v1.LoadBalancingSchemeB\x03\xe0\x41\x02\x12\x16\n\tauthority\x18\x07 \x01(\tB\x03\xe0\x41\x02\x12\x14\n\x07service\x18\x08 \x01(\tB\x03\xe0\x41\x02\x12/\n\x07timeout\x18\t \x01(\x0b\x32\x19.google.protobuf.DurationB\x03\xe0\x41\x02\x12\x16\n\tfail_open\x18\n \x01(\x08\x42\x03\xe0\x41\x01\x12.\n\x08metadata\x18\x0b \x01(\x0b\x32\x17.google.protobuf.StructB\x03\xe0\x41\x01\x12\x1c\n\x0f\x66orward_headers\x18\x0c \x03(\tB\x03\xe0\x41\x01\x12\x45\n\x0bwire_format\x18\x0e \x01(\x0e\x32+.google.cloud.networkservices.v1.WireFormatB\x03\xe0\x41\x01\x1a-\n\x0bLabelsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01:\x9f\x01\xea\x41\x9b\x01\n-networkservices.googleapis.com/AuthzExtension\x12Iprojects/{project}/locations/{location}/authzExtensions/{authz_extension}*\x0f\x61uthzExtensions2\x0e\x61uthzExtension\"\xc0\x01\n\x1aListAuthzExtensionsRequest\x12\x45\n\x06parent\x18\x01 \x01(\tB5\xe0\x41\x02\xfa\x41/\x12-networkservices.googleapis.com/AuthzExtension\x12\x16\n\tpage_size\x18\x02 \x01(\x05\x42\x03\xe0\x41\x01\x12\x17\n\npage_token\x18\x03 \x01(\tB\x03\xe0\x41\x01\x12\x13\n\x06\x66ilter\x18\x04 \x01(\tB\x03\xe0\x41\x01\x12\x15\n\x08order_by\x18\x05 \x01(\tB\x03\xe0\x41\x01\"\x96\x01\n\x1bListAuthzExtensionsResponse\x12I\n\x10\x61uthz_extensions\x18\x01 \x03(\x0b\x32/.google.cloud.networkservices.v1.AuthzExtension\x12\x17\n\x0fnext_page_token\x18\x02 \x01(\t\x12\x13\n\x0bunreachable\x18\x03 \x03(\t\"_\n\x18GetAuthzExtensionRequest\x12\x43\n\x04name\x18\x01 \x01(\tB5\xe0\x41\x02\xfa\x41/\n-networkservices.googleapis.com/AuthzExtension\"\xf5\x01\n\x1b\x43reateAuthzExtensionRequest\x12\x45\n\x06parent\x18\x01 \x01(\tB5\xe0\x41\x02\xfa\x41/\x12-networkservices.googleapis.com/AuthzExtension\x12\x1f\n\x12\x61uthz_extension_id\x18\x02 \x01(\tB\x03\xe0\x41\x02\x12M\n\x0f\x61uthz_extension\x18\x03 \x01(\x0b\x32/.google.cloud.networkservices.v1.AuthzExtensionB\x03\xe0\x41\x02\x12\x1f\n\nrequest_id\x18\x04 \x01(\tB\x0b\xe0\x41\x01\xe2\x8c\xcf\xd7\x08\x02\x08\x01\"\xc3\x01\n\x1bUpdateAuthzExtensionRequest\x12\x34\n\x0bupdate_mask\x18\x01 \x01(\x0b\x32\x1a.google.protobuf.FieldMaskB\x03\xe0\x41\x02\x12M\n\x0f\x61uthz_extension\x18\x02 \x01(\x0b\x32/.google.cloud.networkservices.v1.AuthzExtensionB\x03\xe0\x41\x02\x12\x1f\n\nrequest_id\x18\x03 \x01(\tB\x0b\xe0\x41\x01\xe2\x8c\xcf\xd7\x08\x02\x08\x01\"\x83\x01\n\x1b\x44\x65leteAuthzExtensionRequest\x12\x43\n\x04name\x18\x01 \x01(\tB5\xe0\x41\x02\xfa\x41/\n-networkservices.googleapis.com/AuthzExtension\x12\x1f\n\nrequest_id\x18\x02 \x01(\tB\x0b\xe0\x41\x01\xe2\x8c\xcf\xd7\x08\x02\x08\x01*\xa4\x01\n\tEventType\x12\x1a\n\x16\x45VENT_TYPE_UNSPECIFIED\x10\x00\x12\x13\n\x0fREQUEST_HEADERS\x10\x01\x12\x10\n\x0cREQUEST_BODY\x10\x02\x12\x14\n\x10RESPONSE_HEADERS\x10\x03\x12\x11\n\rRESPONSE_BODY\x10\x04\x12\x14\n\x10REQUEST_TRAILERS\x10\x05\x12\x15\n\x11RESPONSE_TRAILERS\x10\x06*h\n\x13LoadBalancingScheme\x12%\n!LOAD_BALANCING_SCHEME_UNSPECIFIED\x10\x00\x12\x14\n\x10INTERNAL_MANAGED\x10\x01\x12\x14\n\x10\x45XTERNAL_MANAGED\x10\x02*<\n\nWireFormat\x12\x1b\n\x17WIRE_FORMAT_UNSPECIFIED\x10\x00\x12\x11\n\rEXT_PROC_GRPC\x10\x01\x32\xf9\'\n\nDepService\x12\xe6\x01\n\x17ListLbTrafficExtensions\x12?.google.cloud.networkservices.v1.ListLbTrafficExtensionsRequest\x1a@.google.cloud.networkservices.v1.ListLbTrafficExtensionsResponse\"H\xda\x41\x06parent\x82\xd3\xe4\x93\x02\x39\x12\x37/v1/{parent=projects/*/locations/*}/lbTrafficExtensions\x12\xd3\x01\n\x15GetLbTrafficExtension\x12=.google.cloud.networkservices.v1.GetLbTrafficExtensionRequest\x1a\x33.google.cloud.networkservices.v1.LbTrafficExtension\"F\xda\x41\x04name\x82\xd3\xe4\x93\x02\x39\x12\x37/v1/{name=projects/*/locations/*/lbTrafficExtensions/*}\x12\xb3\x02\n\x18\x43reateLbTrafficExtension\x12@.google.cloud.networkservices.v1.CreateLbTrafficExtensionRequest\x1a\x1d.google.longrunning.Operation\"\xb5\x01\xca\x41\'\n\x12LbTrafficExtension\x12\x11OperationMetadata\xda\x41\x33parent,lb_traffic_extension,lb_traffic_extension_id\x82\xd3\xe4\x93\x02O\"7/v1/{parent=projects/*/locations/*}/lbTrafficExtensions:\x14lb_traffic_extension\x12\xb5\x02\n\x18UpdateLbTrafficExtension\x12@.google.cloud.networkservices.v1.UpdateLbTrafficExtensionRequest\x1a\x1d.google.longrunning.Operation\"\xb7\x01\xca\x41\'\n\x12LbTrafficExtension\x12\x11OperationMetadata\xda\x41 lb_traffic_extension,update_mask\x82\xd3\xe4\x93\x02\x64\x32L/v1/{lb_traffic_extension.name=projects/*/locations/*/lbTrafficExtensions/*}:\x14lb_traffic_extension\x12\xf0\x01\n\x18\x44\x65leteLbTrafficExtension\x12@.google.cloud.networkservices.v1.DeleteLbTrafficExtensionRequest\x1a\x1d.google.longrunning.Operation\"s\xca\x41*\n\x15google.protobuf.Empty\x12\x11OperationMetadata\xda\x41\x04name\x82\xd3\xe4\x93\x02\x39*7/v1/{name=projects/*/locations/*/lbTrafficExtensions/*}\x12\xde\x01\n\x15ListLbRouteExtensions\x12=.google.cloud.networkservices.v1.ListLbRouteExtensionsRequest\x1a>.google.cloud.networkservices.v1.ListLbRouteExtensionsResponse\"F\xda\x41\x06parent\x82\xd3\xe4\x93\x02\x37\x12\x35/v1/{parent=projects/*/locations/*}/lbRouteExtensions\x12\xcb\x01\n\x13GetLbRouteExtension\x12;.google.cloud.networkservices.v1.GetLbRouteExtensionRequest\x1a\x31.google.cloud.networkservices.v1.LbRouteExtension\"D\xda\x41\x04name\x82\xd3\xe4\x93\x02\x37\x12\x35/v1/{name=projects/*/locations/*/lbRouteExtensions/*}\x12\xa5\x02\n\x16\x43reateLbRouteExtension\x12>.google.cloud.networkservices.v1.CreateLbRouteExtensionRequest\x1a\x1d.google.longrunning.Operation\"\xab\x01\xca\x41%\n\x10LbRouteExtension\x12\x11OperationMetadata\xda\x41/parent,lb_route_extension,lb_route_extension_id\x82\xd3\xe4\x93\x02K\"5/v1/{parent=projects/*/locations/*}/lbRouteExtensions:\x12lb_route_extension\x12\xa7\x02\n\x16UpdateLbRouteExtension\x12>.google.cloud.networkservices.v1.UpdateLbRouteExtensionRequest\x1a\x1d.google.longrunning.Operation\"\xad\x01\xca\x41%\n\x10LbRouteExtension\x12\x11OperationMetadata\xda\x41\x1elb_route_extension,update_mask\x82\xd3\xe4\x93\x02^2H/v1/{lb_route_extension.name=projects/*/locations/*/lbRouteExtensions/*}:\x12lb_route_extension\x12\xea\x01\n\x16\x44\x65leteLbRouteExtension\x12>.google.cloud.networkservices.v1.DeleteLbRouteExtensionRequest\x1a\x1d.google.longrunning.Operation\"q\xca\x41*\n\x15google.protobuf.Empty\x12\x11OperationMetadata\xda\x41\x04name\x82\xd3\xe4\x93\x02\x37*5/v1/{name=projects/*/locations/*/lbRouteExtensions/*}\x12\xda\x01\n\x14ListLbEdgeExtensions\x12<.google.cloud.networkservices.v1.ListLbEdgeExtensionsRequest\x1a=.google.cloud.networkservices.v1.ListLbEdgeExtensionsResponse\"E\xda\x41\x06parent\x82\xd3\xe4\x93\x02\x36\x12\x34/v1/{parent=projects/*/locations/*}/lbEdgeExtensions\x12\xc7\x01\n\x12GetLbEdgeExtension\x12:.google.cloud.networkservices.v1.GetLbEdgeExtensionRequest\x1a\x30.google.cloud.networkservices.v1.LbEdgeExtension\"C\xda\x41\x04name\x82\xd3\xe4\x93\x02\x36\x12\x34/v1/{name=projects/*/locations/*/lbEdgeExtensions/*}\x12\x9e\x02\n\x15\x43reateLbEdgeExtension\x12=.google.cloud.networkservices.v1.CreateLbEdgeExtensionRequest\x1a\x1d.google.longrunning.Operation\"\xa6\x01\xca\x41$\n\x0fLbEdgeExtension\x12\x11OperationMetadata\xda\x41-parent,lb_edge_extension,lb_edge_extension_id\x82\xd3\xe4\x93\x02I\"4/v1/{parent=projects/*/locations/*}/lbEdgeExtensions:\x11lb_edge_extension\x12\xa0\x02\n\x15UpdateLbEdgeExtension\x12=.google.cloud.networkservices.v1.UpdateLbEdgeExtensionRequest\x1a\x1d.google.longrunning.Operation\"\xa8\x01\xca\x41$\n\x0fLbEdgeExtension\x12\x11OperationMetadata\xda\x41\x1dlb_edge_extension,update_mask\x82\xd3\xe4\x93\x02[2F/v1/{lb_edge_extension.name=projects/*/locations/*/lbEdgeExtensions/*}:\x11lb_edge_extension\x12\xe7\x01\n\x15\x44\x65leteLbEdgeExtension\x12=.google.cloud.networkservices.v1.DeleteLbEdgeExtensionRequest\x1a\x1d.google.longrunning.Operation\"p\xca\x41*\n\x15google.protobuf.Empty\x12\x11OperationMetadata\xda\x41\x04name\x82\xd3\xe4\x93\x02\x36*4/v1/{name=projects/*/locations/*/lbEdgeExtensions/*}\x12\xd6\x01\n\x13ListAuthzExtensions\x12;.google.cloud.networkservices.v1.ListAuthzExtensionsRequest\x1a<.google.cloud.networkservices.v1.ListAuthzExtensionsResponse\"D\xda\x41\x06parent\x82\xd3\xe4\x93\x02\x35\x12\x33/v1/{parent=projects/*/locations/*}/authzExtensions\x12\xc3\x01\n\x11GetAuthzExtension\x12\x39.google.cloud.networkservices.v1.GetAuthzExtensionRequest\x1a/.google.cloud.networkservices.v1.AuthzExtension\"B\xda\x41\x04name\x82\xd3\xe4\x93\x02\x35\x12\x33/v1/{name=projects/*/locations/*/authzExtensions/*}\x12\x94\x02\n\x14\x43reateAuthzExtension\x12<.google.cloud.networkservices.v1.CreateAuthzExtensionRequest\x1a\x1d.google.longrunning.Operation\"\x9e\x01\xca\x41#\n\x0e\x41uthzExtension\x12\x11OperationMetadata\xda\x41)parent,authz_extension,authz_extension_id\x82\xd3\xe4\x93\x02\x46\"3/v1/{parent=projects/*/locations/*}/authzExtensions:\x0f\x61uthz_extension\x12\x96\x02\n\x14UpdateAuthzExtension\x12<.google.cloud.networkservices.v1.UpdateAuthzExtensionRequest\x1a\x1d.google.longrunning.Operation\"\xa0\x01\xca\x41#\n\x0e\x41uthzExtension\x12\x11OperationMetadata\xda\x41\x1b\x61uthz_extension,update_mask\x82\xd3\xe4\x93\x02V2C/v1/{authz_extension.name=projects/*/locations/*/authzExtensions/*}:\x0f\x61uthz_extension\x12\xe4\x01\n\x14\x44\x65leteAuthzExtension\x12<.google.cloud.networkservices.v1.DeleteAuthzExtensionRequest\x1a\x1d.google.longrunning.Operation\"o\xca\x41*\n\x15google.protobuf.Empty\x12\x11OperationMetadata\xda\x41\x04name\x82\xd3\xe4\x93\x02\x35*3/v1/{name=projects/*/locations/*/authzExtensions/*}\x1aR\xca\x41\x1enetworkservices.googleapis.com\xd2\x41.https://www.googleapis.com/auth/cloud-platformB\xe9\x01\n#com.google.cloud.networkservices.v1B\x08\x44\x65pProtoP\x01ZMcloud.google.com/go/networkservices/apiv1/networkservicespb;networkservicespb\xaa\x02\x1fGoogle.Cloud.NetworkServices.V1\xca\x02\x1fGoogle\\Cloud\\NetworkServices\\V1\xea\x02\"Google::Cloud::NetworkServices::V1b\x06proto3" +descriptor_data = "\n)google/cloud/networkservices/v1/dep.proto\x12\x1fgoogle.cloud.networkservices.v1\x1a\x1cgoogle/api/annotations.proto\x1a\x17google/api/client.proto\x1a\x1fgoogle/api/field_behavior.proto\x1a\x1bgoogle/api/field_info.proto\x1a\x19google/api/resource.proto\x1a,google/cloud/networkservices/v1/common.proto\x1a#google/longrunning/operations.proto\x1a\x1egoogle/protobuf/duration.proto\x1a\x1bgoogle/protobuf/empty.proto\x1a google/protobuf/field_mask.proto\x1a\x1cgoogle/protobuf/struct.proto\x1a\x1fgoogle/protobuf/timestamp.proto\"\xa0\x06\n\x0e\x45xtensionChain\x12\x11\n\x04name\x18\x01 \x01(\tB\x03\xe0\x41\x02\x12\\\n\x0fmatch_condition\x18\x02 \x01(\x0b\x32>.google.cloud.networkservices.v1.ExtensionChain.MatchConditionB\x03\xe0\x41\x02\x12R\n\nextensions\x18\x03 \x03(\x0b\x32\x39.google.cloud.networkservices.v1.ExtensionChain.ExtensionB\x03\xe0\x41\x02\x1a-\n\x0eMatchCondition\x12\x1b\n\x0e\x63\x65l_expression\x18\x01 \x01(\tB\x03\xe0\x41\x02\x1a\x99\x04\n\tExtension\x12\x11\n\x04name\x18\x01 \x01(\tB\x03\xe0\x41\x01\x12\x16\n\tauthority\x18\x02 \x01(\tB\x03\xe0\x41\x01\x12\x14\n\x07service\x18\x03 \x01(\tB\x03\xe0\x41\x02\x12I\n\x10supported_events\x18\x04 \x03(\x0e\x32*.google.cloud.networkservices.v1.EventTypeB\x03\xe0\x41\x01\x12/\n\x07timeout\x18\x05 \x01(\x0b\x32\x19.google.protobuf.DurationB\x03\xe0\x41\x01\x12\x16\n\tfail_open\x18\x06 \x01(\x08\x42\x03\xe0\x41\x01\x12\x1c\n\x0f\x66orward_headers\x18\x07 \x03(\tB\x03\xe0\x41\x01\x12\x1f\n\x12\x66orward_attributes\x18\x08 \x03(\tB\x03\xe0\x41\x01\x12.\n\x08metadata\x18\t \x01(\x0b\x32\x17.google.protobuf.StructB\x03\xe0\x41\x01\x12R\n\x16request_body_send_mode\x18\x0e \x01(\x0e\x32-.google.cloud.networkservices.v1.BodySendModeB\x03\xe0\x41\x01\x12S\n\x17response_body_send_mode\x18\x0f \x01(\x0e\x32-.google.cloud.networkservices.v1.BodySendModeB\x03\xe0\x41\x01\x12\x1f\n\x12observability_mode\x18\x10 \x01(\x08\x42\x03\xe0\x41\x01\"\xe5\x05\n\x12LbTrafficExtension\x12\x14\n\x04name\x18\x01 \x01(\tB\x06\xe0\x41\x02\xe0\x41\x08\x12\x34\n\x0b\x63reate_time\x18\x02 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x03\xe0\x41\x03\x12\x34\n\x0bupdate_time\x18\x03 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x03\xe0\x41\x03\x12\x18\n\x0b\x64\x65scription\x18\t \x01(\tB\x03\xe0\x41\x01\x12T\n\x06labels\x18\x04 \x03(\x0b\x32?.google.cloud.networkservices.v1.LbTrafficExtension.LabelsEntryB\x03\xe0\x41\x01\x12\x1d\n\x10\x66orwarding_rules\x18\x05 \x03(\tB\x03\xe0\x41\x01\x12N\n\x10\x65xtension_chains\x18\x07 \x03(\x0b\x32/.google.cloud.networkservices.v1.ExtensionChainB\x03\xe0\x41\x02\x12X\n\x15load_balancing_scheme\x18\x08 \x01(\x0e\x32\x34.google.cloud.networkservices.v1.LoadBalancingSchemeB\x03\xe0\x41\x02\x12.\n\x08metadata\x18\n \x01(\x0b\x32\x17.google.protobuf.StructB\x03\xe0\x41\x01\x1a-\n\x0bLabelsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01:\xb4\x01\xea\x41\xb0\x01\n1networkservices.googleapis.com/LbTrafficExtension\x12Rprojects/{project}/locations/{location}/lbTrafficExtensions/{lb_traffic_extension}*\x13lbTrafficExtensions2\x12lbTrafficExtension\"\xc8\x01\n\x1eListLbTrafficExtensionsRequest\x12I\n\x06parent\x18\x01 \x01(\tB9\xe0\x41\x02\xfa\x41\x33\x12\x31networkservices.googleapis.com/LbTrafficExtension\x12\x16\n\tpage_size\x18\x02 \x01(\x05\x42\x03\xe0\x41\x01\x12\x17\n\npage_token\x18\x03 \x01(\tB\x03\xe0\x41\x01\x12\x13\n\x06\x66ilter\x18\x04 \x01(\tB\x03\xe0\x41\x01\x12\x15\n\x08order_by\x18\x05 \x01(\tB\x03\xe0\x41\x01\"\xa3\x01\n\x1fListLbTrafficExtensionsResponse\x12R\n\x15lb_traffic_extensions\x18\x01 \x03(\x0b\x32\x33.google.cloud.networkservices.v1.LbTrafficExtension\x12\x17\n\x0fnext_page_token\x18\x02 \x01(\t\x12\x13\n\x0bunreachable\x18\x03 \x03(\t\"g\n\x1cGetLbTrafficExtensionRequest\x12G\n\x04name\x18\x01 \x01(\tB9\xe0\x41\x02\xfa\x41\x33\n1networkservices.googleapis.com/LbTrafficExtension\"\x8b\x02\n\x1f\x43reateLbTrafficExtensionRequest\x12I\n\x06parent\x18\x01 \x01(\tB9\xe0\x41\x02\xfa\x41\x33\x12\x31networkservices.googleapis.com/LbTrafficExtension\x12$\n\x17lb_traffic_extension_id\x18\x02 \x01(\tB\x03\xe0\x41\x02\x12V\n\x14lb_traffic_extension\x18\x03 \x01(\x0b\x32\x33.google.cloud.networkservices.v1.LbTrafficExtensionB\x03\xe0\x41\x02\x12\x1f\n\nrequest_id\x18\x04 \x01(\tB\x0b\xe0\x41\x01\xe2\x8c\xcf\xd7\x08\x02\x08\x01\"\xd0\x01\n\x1fUpdateLbTrafficExtensionRequest\x12\x34\n\x0bupdate_mask\x18\x01 \x01(\x0b\x32\x1a.google.protobuf.FieldMaskB\x03\xe0\x41\x01\x12V\n\x14lb_traffic_extension\x18\x02 \x01(\x0b\x32\x33.google.cloud.networkservices.v1.LbTrafficExtensionB\x03\xe0\x41\x02\x12\x1f\n\nrequest_id\x18\x03 \x01(\tB\x0b\xe0\x41\x01\xe2\x8c\xcf\xd7\x08\x02\x08\x01\"\x8b\x01\n\x1f\x44\x65leteLbTrafficExtensionRequest\x12G\n\x04name\x18\x01 \x01(\tB9\xe0\x41\x02\xfa\x41\x33\n1networkservices.googleapis.com/LbTrafficExtension\x12\x1f\n\nrequest_id\x18\x02 \x01(\tB\x0b\xe0\x41\x01\xe2\x8c\xcf\xd7\x08\x02\x08\x01\"\xd7\x05\n\x10LbRouteExtension\x12\x14\n\x04name\x18\x01 \x01(\tB\x06\xe0\x41\x02\xe0\x41\x08\x12\x34\n\x0b\x63reate_time\x18\x02 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x03\xe0\x41\x03\x12\x34\n\x0bupdate_time\x18\x03 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x03\xe0\x41\x03\x12\x18\n\x0b\x64\x65scription\x18\t \x01(\tB\x03\xe0\x41\x01\x12R\n\x06labels\x18\x04 \x03(\x0b\x32=.google.cloud.networkservices.v1.LbRouteExtension.LabelsEntryB\x03\xe0\x41\x01\x12\x1d\n\x10\x66orwarding_rules\x18\x05 \x03(\tB\x03\xe0\x41\x02\x12N\n\x10\x65xtension_chains\x18\x07 \x03(\x0b\x32/.google.cloud.networkservices.v1.ExtensionChainB\x03\xe0\x41\x02\x12X\n\x15load_balancing_scheme\x18\x08 \x01(\x0e\x32\x34.google.cloud.networkservices.v1.LoadBalancingSchemeB\x03\xe0\x41\x02\x12.\n\x08metadata\x18\n \x01(\x0b\x32\x17.google.protobuf.StructB\x03\xe0\x41\x01\x1a-\n\x0bLabelsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01:\xaa\x01\xea\x41\xa6\x01\n/networkservices.googleapis.com/LbRouteExtension\x12Nprojects/{project}/locations/{location}/lbRouteExtensions/{lb_route_extension}*\x11lbRouteExtensions2\x10lbRouteExtension\"\xc4\x01\n\x1cListLbRouteExtensionsRequest\x12G\n\x06parent\x18\x01 \x01(\tB7\xe0\x41\x02\xfa\x41\x31\x12/networkservices.googleapis.com/LbRouteExtension\x12\x16\n\tpage_size\x18\x02 \x01(\x05\x42\x03\xe0\x41\x01\x12\x17\n\npage_token\x18\x03 \x01(\tB\x03\xe0\x41\x01\x12\x13\n\x06\x66ilter\x18\x04 \x01(\tB\x03\xe0\x41\x01\x12\x15\n\x08order_by\x18\x05 \x01(\tB\x03\xe0\x41\x01\"\x9d\x01\n\x1dListLbRouteExtensionsResponse\x12N\n\x13lb_route_extensions\x18\x01 \x03(\x0b\x32\x31.google.cloud.networkservices.v1.LbRouteExtension\x12\x17\n\x0fnext_page_token\x18\x02 \x01(\t\x12\x13\n\x0bunreachable\x18\x03 \x03(\t\"c\n\x1aGetLbRouteExtensionRequest\x12\x45\n\x04name\x18\x01 \x01(\tB7\xe0\x41\x02\xfa\x41\x31\n/networkservices.googleapis.com/LbRouteExtension\"\x81\x02\n\x1d\x43reateLbRouteExtensionRequest\x12G\n\x06parent\x18\x01 \x01(\tB7\xe0\x41\x02\xfa\x41\x31\x12/networkservices.googleapis.com/LbRouteExtension\x12\"\n\x15lb_route_extension_id\x18\x02 \x01(\tB\x03\xe0\x41\x02\x12R\n\x12lb_route_extension\x18\x03 \x01(\x0b\x32\x31.google.cloud.networkservices.v1.LbRouteExtensionB\x03\xe0\x41\x02\x12\x1f\n\nrequest_id\x18\x04 \x01(\tB\x0b\xe0\x41\x01\xe2\x8c\xcf\xd7\x08\x02\x08\x01\"\xca\x01\n\x1dUpdateLbRouteExtensionRequest\x12\x34\n\x0bupdate_mask\x18\x01 \x01(\x0b\x32\x1a.google.protobuf.FieldMaskB\x03\xe0\x41\x01\x12R\n\x12lb_route_extension\x18\x02 \x01(\x0b\x32\x31.google.cloud.networkservices.v1.LbRouteExtensionB\x03\xe0\x41\x02\x12\x1f\n\nrequest_id\x18\x03 \x01(\tB\x0b\xe0\x41\x01\xe2\x8c\xcf\xd7\x08\x02\x08\x01\"\x87\x01\n\x1d\x44\x65leteLbRouteExtensionRequest\x12\x45\n\x04name\x18\x01 \x01(\tB7\xe0\x41\x02\xfa\x41\x31\n/networkservices.googleapis.com/LbRouteExtension\x12\x1f\n\nrequest_id\x18\x02 \x01(\tB\x0b\xe0\x41\x01\xe2\x8c\xcf\xd7\x08\x02\x08\x01\"\xa0\x05\n\x0fLbEdgeExtension\x12\x14\n\x04name\x18\x01 \x01(\tB\x06\xe0\x41\x02\xe0\x41\x08\x12\x34\n\x0b\x63reate_time\x18\x02 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x03\xe0\x41\x03\x12\x34\n\x0bupdate_time\x18\x03 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x03\xe0\x41\x03\x12\x18\n\x0b\x64\x65scription\x18\t \x01(\tB\x03\xe0\x41\x01\x12Q\n\x06labels\x18\x04 \x03(\x0b\x32<.google.cloud.networkservices.v1.LbEdgeExtension.LabelsEntryB\x03\xe0\x41\x01\x12\x1d\n\x10\x66orwarding_rules\x18\x05 \x03(\tB\x03\xe0\x41\x02\x12N\n\x10\x65xtension_chains\x18\x06 \x03(\x0b\x32/.google.cloud.networkservices.v1.ExtensionChainB\x03\xe0\x41\x02\x12X\n\x15load_balancing_scheme\x18\x07 \x01(\x0e\x32\x34.google.cloud.networkservices.v1.LoadBalancingSchemeB\x03\xe0\x41\x02\x1a-\n\x0bLabelsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01:\xa5\x01\xea\x41\xa1\x01\n.networkservices.googleapis.com/LbEdgeExtension\x12Lprojects/{project}/locations/{location}/lbEdgeExtensions/{lb_edge_extension}*\x10lbEdgeExtensions2\x0flbEdgeExtension\"\xc2\x01\n\x1bListLbEdgeExtensionsRequest\x12\x46\n\x06parent\x18\x01 \x01(\tB6\xe0\x41\x02\xfa\x41\x30\x12.networkservices.googleapis.com/LbEdgeExtension\x12\x16\n\tpage_size\x18\x02 \x01(\x05\x42\x03\xe0\x41\x01\x12\x17\n\npage_token\x18\x03 \x01(\tB\x03\xe0\x41\x01\x12\x13\n\x06\x66ilter\x18\x04 \x01(\tB\x03\xe0\x41\x01\x12\x15\n\x08order_by\x18\x05 \x01(\tB\x03\xe0\x41\x01\"\x9a\x01\n\x1cListLbEdgeExtensionsResponse\x12L\n\x12lb_edge_extensions\x18\x01 \x03(\x0b\x32\x30.google.cloud.networkservices.v1.LbEdgeExtension\x12\x17\n\x0fnext_page_token\x18\x02 \x01(\t\x12\x13\n\x0bunreachable\x18\x03 \x03(\t\"a\n\x19GetLbEdgeExtensionRequest\x12\x44\n\x04name\x18\x01 \x01(\tB6\xe0\x41\x02\xfa\x41\x30\n.networkservices.googleapis.com/LbEdgeExtension\"\xfc\x01\n\x1c\x43reateLbEdgeExtensionRequest\x12\x46\n\x06parent\x18\x01 \x01(\tB6\xe0\x41\x02\xfa\x41\x30\x12.networkservices.googleapis.com/LbEdgeExtension\x12!\n\x14lb_edge_extension_id\x18\x02 \x01(\tB\x03\xe0\x41\x02\x12P\n\x11lb_edge_extension\x18\x03 \x01(\x0b\x32\x30.google.cloud.networkservices.v1.LbEdgeExtensionB\x03\xe0\x41\x02\x12\x1f\n\nrequest_id\x18\x04 \x01(\tB\x0b\xe0\x41\x01\xe2\x8c\xcf\xd7\x08\x02\x08\x01\"\xc7\x01\n\x1cUpdateLbEdgeExtensionRequest\x12\x34\n\x0bupdate_mask\x18\x01 \x01(\x0b\x32\x1a.google.protobuf.FieldMaskB\x03\xe0\x41\x01\x12P\n\x11lb_edge_extension\x18\x02 \x01(\x0b\x32\x30.google.cloud.networkservices.v1.LbEdgeExtensionB\x03\xe0\x41\x02\x12\x1f\n\nrequest_id\x18\x03 \x01(\tB\x0b\xe0\x41\x01\xe2\x8c\xcf\xd7\x08\x02\x08\x01\"\x85\x01\n\x1c\x44\x65leteLbEdgeExtensionRequest\x12\x44\n\x04name\x18\x01 \x01(\tB6\xe0\x41\x02\xfa\x41\x30\n.networkservices.googleapis.com/LbEdgeExtension\x12\x1f\n\nrequest_id\x18\x02 \x01(\tB\x0b\xe0\x41\x01\xe2\x8c\xcf\xd7\x08\x02\x08\x01\"\xd6\x06\n\x0e\x41uthzExtension\x12\x14\n\x04name\x18\x01 \x01(\tB\x06\xe0\x41\x02\xe0\x41\x08\x12\x34\n\x0b\x63reate_time\x18\x02 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x03\xe0\x41\x03\x12\x34\n\x0bupdate_time\x18\x03 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x03\xe0\x41\x03\x12\x18\n\x0b\x64\x65scription\x18\x04 \x01(\tB\x03\xe0\x41\x01\x12P\n\x06labels\x18\x05 \x03(\x0b\x32;.google.cloud.networkservices.v1.AuthzExtension.LabelsEntryB\x03\xe0\x41\x01\x12X\n\x15load_balancing_scheme\x18\x06 \x01(\x0e\x32\x34.google.cloud.networkservices.v1.LoadBalancingSchemeB\x03\xe0\x41\x01\x12\x16\n\tauthority\x18\x07 \x01(\tB\x03\xe0\x41\x01\x12\x14\n\x07service\x18\x08 \x01(\tB\x03\xe0\x41\x02\x12/\n\x07timeout\x18\t \x01(\x0b\x32\x19.google.protobuf.DurationB\x03\xe0\x41\x02\x12\x16\n\tfail_open\x18\n \x01(\x08\x42\x03\xe0\x41\x01\x12.\n\x08metadata\x18\x0b \x01(\x0b\x32\x17.google.protobuf.StructB\x03\xe0\x41\x01\x12\x1c\n\x0f\x66orward_headers\x18\x0c \x03(\tB\x03\xe0\x41\x01\x12\x1f\n\x12\x66orward_attributes\x18\r \x03(\tB\x03\xe0\x41\x01\x12\x45\n\x0bwire_format\x18\x0e \x01(\x0e\x32+.google.cloud.networkservices.v1.WireFormatB\x03\xe0\x41\x01\x1a-\n\x0bLabelsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01:\x9f\x01\xea\x41\x9b\x01\n-networkservices.googleapis.com/AuthzExtension\x12Iprojects/{project}/locations/{location}/authzExtensions/{authz_extension}*\x0f\x61uthzExtensions2\x0e\x61uthzExtension\"\xc0\x01\n\x1aListAuthzExtensionsRequest\x12\x45\n\x06parent\x18\x01 \x01(\tB5\xe0\x41\x02\xfa\x41/\x12-networkservices.googleapis.com/AuthzExtension\x12\x16\n\tpage_size\x18\x02 \x01(\x05\x42\x03\xe0\x41\x01\x12\x17\n\npage_token\x18\x03 \x01(\tB\x03\xe0\x41\x01\x12\x13\n\x06\x66ilter\x18\x04 \x01(\tB\x03\xe0\x41\x01\x12\x15\n\x08order_by\x18\x05 \x01(\tB\x03\xe0\x41\x01\"\x96\x01\n\x1bListAuthzExtensionsResponse\x12I\n\x10\x61uthz_extensions\x18\x01 \x03(\x0b\x32/.google.cloud.networkservices.v1.AuthzExtension\x12\x17\n\x0fnext_page_token\x18\x02 \x01(\t\x12\x13\n\x0bunreachable\x18\x03 \x03(\t\"_\n\x18GetAuthzExtensionRequest\x12\x43\n\x04name\x18\x01 \x01(\tB5\xe0\x41\x02\xfa\x41/\n-networkservices.googleapis.com/AuthzExtension\"\xf5\x01\n\x1b\x43reateAuthzExtensionRequest\x12\x45\n\x06parent\x18\x01 \x01(\tB5\xe0\x41\x02\xfa\x41/\x12-networkservices.googleapis.com/AuthzExtension\x12\x1f\n\x12\x61uthz_extension_id\x18\x02 \x01(\tB\x03\xe0\x41\x02\x12M\n\x0f\x61uthz_extension\x18\x03 \x01(\x0b\x32/.google.cloud.networkservices.v1.AuthzExtensionB\x03\xe0\x41\x02\x12\x1f\n\nrequest_id\x18\x04 \x01(\tB\x0b\xe0\x41\x01\xe2\x8c\xcf\xd7\x08\x02\x08\x01\"\xc3\x01\n\x1bUpdateAuthzExtensionRequest\x12\x34\n\x0bupdate_mask\x18\x01 \x01(\x0b\x32\x1a.google.protobuf.FieldMaskB\x03\xe0\x41\x02\x12M\n\x0f\x61uthz_extension\x18\x02 \x01(\x0b\x32/.google.cloud.networkservices.v1.AuthzExtensionB\x03\xe0\x41\x02\x12\x1f\n\nrequest_id\x18\x03 \x01(\tB\x0b\xe0\x41\x01\xe2\x8c\xcf\xd7\x08\x02\x08\x01\"\x83\x01\n\x1b\x44\x65leteAuthzExtensionRequest\x12\x43\n\x04name\x18\x01 \x01(\tB5\xe0\x41\x02\xfa\x41/\n-networkservices.googleapis.com/AuthzExtension\x12\x1f\n\nrequest_id\x18\x02 \x01(\tB\x0b\xe0\x41\x01\xe2\x8c\xcf\xd7\x08\x02\x08\x01*\xa4\x01\n\tEventType\x12\x1a\n\x16\x45VENT_TYPE_UNSPECIFIED\x10\x00\x12\x13\n\x0fREQUEST_HEADERS\x10\x01\x12\x10\n\x0cREQUEST_BODY\x10\x02\x12\x14\n\x10RESPONSE_HEADERS\x10\x03\x12\x11\n\rRESPONSE_BODY\x10\x04\x12\x14\n\x10REQUEST_TRAILERS\x10\x05\x12\x15\n\x11RESPONSE_TRAILERS\x10\x06*h\n\x13LoadBalancingScheme\x12%\n!LOAD_BALANCING_SCHEME_UNSPECIFIED\x10\x00\x12\x14\n\x10INTERNAL_MANAGED\x10\x01\x12\x14\n\x10\x45XTERNAL_MANAGED\x10\x02*P\n\nWireFormat\x12\x1b\n\x17WIRE_FORMAT_UNSPECIFIED\x10\x00\x12\x11\n\rEXT_PROC_GRPC\x10\x01\x12\x12\n\x0e\x45XT_AUTHZ_GRPC\x10\x03*t\n\x0c\x42odySendMode\x12\x1e\n\x1a\x42ODY_SEND_MODE_UNSPECIFIED\x10\x00\x12\x1b\n\x17\x42ODY_SEND_MODE_STREAMED\x10\x01\x12\'\n#BODY_SEND_MODE_FULL_DUPLEX_STREAMED\x10\x02\x32\xf9\'\n\nDepService\x12\xe6\x01\n\x17ListLbTrafficExtensions\x12?.google.cloud.networkservices.v1.ListLbTrafficExtensionsRequest\x1a@.google.cloud.networkservices.v1.ListLbTrafficExtensionsResponse\"H\xda\x41\x06parent\x82\xd3\xe4\x93\x02\x39\x12\x37/v1/{parent=projects/*/locations/*}/lbTrafficExtensions\x12\xd3\x01\n\x15GetLbTrafficExtension\x12=.google.cloud.networkservices.v1.GetLbTrafficExtensionRequest\x1a\x33.google.cloud.networkservices.v1.LbTrafficExtension\"F\xda\x41\x04name\x82\xd3\xe4\x93\x02\x39\x12\x37/v1/{name=projects/*/locations/*/lbTrafficExtensions/*}\x12\xb3\x02\n\x18\x43reateLbTrafficExtension\x12@.google.cloud.networkservices.v1.CreateLbTrafficExtensionRequest\x1a\x1d.google.longrunning.Operation\"\xb5\x01\xca\x41\'\n\x12LbTrafficExtension\x12\x11OperationMetadata\xda\x41\x33parent,lb_traffic_extension,lb_traffic_extension_id\x82\xd3\xe4\x93\x02O\"7/v1/{parent=projects/*/locations/*}/lbTrafficExtensions:\x14lb_traffic_extension\x12\xb5\x02\n\x18UpdateLbTrafficExtension\x12@.google.cloud.networkservices.v1.UpdateLbTrafficExtensionRequest\x1a\x1d.google.longrunning.Operation\"\xb7\x01\xca\x41\'\n\x12LbTrafficExtension\x12\x11OperationMetadata\xda\x41 lb_traffic_extension,update_mask\x82\xd3\xe4\x93\x02\x64\x32L/v1/{lb_traffic_extension.name=projects/*/locations/*/lbTrafficExtensions/*}:\x14lb_traffic_extension\x12\xf0\x01\n\x18\x44\x65leteLbTrafficExtension\x12@.google.cloud.networkservices.v1.DeleteLbTrafficExtensionRequest\x1a\x1d.google.longrunning.Operation\"s\xca\x41*\n\x15google.protobuf.Empty\x12\x11OperationMetadata\xda\x41\x04name\x82\xd3\xe4\x93\x02\x39*7/v1/{name=projects/*/locations/*/lbTrafficExtensions/*}\x12\xde\x01\n\x15ListLbRouteExtensions\x12=.google.cloud.networkservices.v1.ListLbRouteExtensionsRequest\x1a>.google.cloud.networkservices.v1.ListLbRouteExtensionsResponse\"F\xda\x41\x06parent\x82\xd3\xe4\x93\x02\x37\x12\x35/v1/{parent=projects/*/locations/*}/lbRouteExtensions\x12\xcb\x01\n\x13GetLbRouteExtension\x12;.google.cloud.networkservices.v1.GetLbRouteExtensionRequest\x1a\x31.google.cloud.networkservices.v1.LbRouteExtension\"D\xda\x41\x04name\x82\xd3\xe4\x93\x02\x37\x12\x35/v1/{name=projects/*/locations/*/lbRouteExtensions/*}\x12\xa5\x02\n\x16\x43reateLbRouteExtension\x12>.google.cloud.networkservices.v1.CreateLbRouteExtensionRequest\x1a\x1d.google.longrunning.Operation\"\xab\x01\xca\x41%\n\x10LbRouteExtension\x12\x11OperationMetadata\xda\x41/parent,lb_route_extension,lb_route_extension_id\x82\xd3\xe4\x93\x02K\"5/v1/{parent=projects/*/locations/*}/lbRouteExtensions:\x12lb_route_extension\x12\xa7\x02\n\x16UpdateLbRouteExtension\x12>.google.cloud.networkservices.v1.UpdateLbRouteExtensionRequest\x1a\x1d.google.longrunning.Operation\"\xad\x01\xca\x41%\n\x10LbRouteExtension\x12\x11OperationMetadata\xda\x41\x1elb_route_extension,update_mask\x82\xd3\xe4\x93\x02^2H/v1/{lb_route_extension.name=projects/*/locations/*/lbRouteExtensions/*}:\x12lb_route_extension\x12\xea\x01\n\x16\x44\x65leteLbRouteExtension\x12>.google.cloud.networkservices.v1.DeleteLbRouteExtensionRequest\x1a\x1d.google.longrunning.Operation\"q\xca\x41*\n\x15google.protobuf.Empty\x12\x11OperationMetadata\xda\x41\x04name\x82\xd3\xe4\x93\x02\x37*5/v1/{name=projects/*/locations/*/lbRouteExtensions/*}\x12\xda\x01\n\x14ListLbEdgeExtensions\x12<.google.cloud.networkservices.v1.ListLbEdgeExtensionsRequest\x1a=.google.cloud.networkservices.v1.ListLbEdgeExtensionsResponse\"E\xda\x41\x06parent\x82\xd3\xe4\x93\x02\x36\x12\x34/v1/{parent=projects/*/locations/*}/lbEdgeExtensions\x12\xc7\x01\n\x12GetLbEdgeExtension\x12:.google.cloud.networkservices.v1.GetLbEdgeExtensionRequest\x1a\x30.google.cloud.networkservices.v1.LbEdgeExtension\"C\xda\x41\x04name\x82\xd3\xe4\x93\x02\x36\x12\x34/v1/{name=projects/*/locations/*/lbEdgeExtensions/*}\x12\x9e\x02\n\x15\x43reateLbEdgeExtension\x12=.google.cloud.networkservices.v1.CreateLbEdgeExtensionRequest\x1a\x1d.google.longrunning.Operation\"\xa6\x01\xca\x41$\n\x0fLbEdgeExtension\x12\x11OperationMetadata\xda\x41-parent,lb_edge_extension,lb_edge_extension_id\x82\xd3\xe4\x93\x02I\"4/v1/{parent=projects/*/locations/*}/lbEdgeExtensions:\x11lb_edge_extension\x12\xa0\x02\n\x15UpdateLbEdgeExtension\x12=.google.cloud.networkservices.v1.UpdateLbEdgeExtensionRequest\x1a\x1d.google.longrunning.Operation\"\xa8\x01\xca\x41$\n\x0fLbEdgeExtension\x12\x11OperationMetadata\xda\x41\x1dlb_edge_extension,update_mask\x82\xd3\xe4\x93\x02[2F/v1/{lb_edge_extension.name=projects/*/locations/*/lbEdgeExtensions/*}:\x11lb_edge_extension\x12\xe7\x01\n\x15\x44\x65leteLbEdgeExtension\x12=.google.cloud.networkservices.v1.DeleteLbEdgeExtensionRequest\x1a\x1d.google.longrunning.Operation\"p\xca\x41*\n\x15google.protobuf.Empty\x12\x11OperationMetadata\xda\x41\x04name\x82\xd3\xe4\x93\x02\x36*4/v1/{name=projects/*/locations/*/lbEdgeExtensions/*}\x12\xd6\x01\n\x13ListAuthzExtensions\x12;.google.cloud.networkservices.v1.ListAuthzExtensionsRequest\x1a<.google.cloud.networkservices.v1.ListAuthzExtensionsResponse\"D\xda\x41\x06parent\x82\xd3\xe4\x93\x02\x35\x12\x33/v1/{parent=projects/*/locations/*}/authzExtensions\x12\xc3\x01\n\x11GetAuthzExtension\x12\x39.google.cloud.networkservices.v1.GetAuthzExtensionRequest\x1a/.google.cloud.networkservices.v1.AuthzExtension\"B\xda\x41\x04name\x82\xd3\xe4\x93\x02\x35\x12\x33/v1/{name=projects/*/locations/*/authzExtensions/*}\x12\x94\x02\n\x14\x43reateAuthzExtension\x12<.google.cloud.networkservices.v1.CreateAuthzExtensionRequest\x1a\x1d.google.longrunning.Operation\"\x9e\x01\xca\x41#\n\x0e\x41uthzExtension\x12\x11OperationMetadata\xda\x41)parent,authz_extension,authz_extension_id\x82\xd3\xe4\x93\x02\x46\"3/v1/{parent=projects/*/locations/*}/authzExtensions:\x0f\x61uthz_extension\x12\x96\x02\n\x14UpdateAuthzExtension\x12<.google.cloud.networkservices.v1.UpdateAuthzExtensionRequest\x1a\x1d.google.longrunning.Operation\"\xa0\x01\xca\x41#\n\x0e\x41uthzExtension\x12\x11OperationMetadata\xda\x41\x1b\x61uthz_extension,update_mask\x82\xd3\xe4\x93\x02V2C/v1/{authz_extension.name=projects/*/locations/*/authzExtensions/*}:\x0f\x61uthz_extension\x12\xe4\x01\n\x14\x44\x65leteAuthzExtension\x12<.google.cloud.networkservices.v1.DeleteAuthzExtensionRequest\x1a\x1d.google.longrunning.Operation\"o\xca\x41*\n\x15google.protobuf.Empty\x12\x11OperationMetadata\xda\x41\x04name\x82\xd3\xe4\x93\x02\x35*3/v1/{name=projects/*/locations/*/authzExtensions/*}\x1aR\xca\x41\x1enetworkservices.googleapis.com\xd2\x41.https://www.googleapis.com/auth/cloud-platformB\xe9\x01\n#com.google.cloud.networkservices.v1B\x08\x44\x65pProtoP\x01ZMcloud.google.com/go/networkservices/apiv1/networkservicespb;networkservicespb\xaa\x02\x1fGoogle.Cloud.NetworkServices.V1\xca\x02\x1fGoogle\\Cloud\\NetworkServices\\V1\xea\x02\"Google::Cloud::NetworkServices::V1b\x06proto3" pool = ::Google::Protobuf::DescriptorPool.generated_pool pool.add_serialized_file(descriptor_data) @@ -61,6 +61,7 @@ module V1 EventType = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.networkservices.v1.EventType").enummodule LoadBalancingScheme = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.networkservices.v1.LoadBalancingScheme").enummodule WireFormat = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.networkservices.v1.WireFormat").enummodule + BodySendMode = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.networkservices.v1.BodySendMode").enummodule end end end diff --git a/google-cloud-network_services-v1/lib/google/cloud/networkservices/v1/gateway_pb.rb b/google-cloud-network_services-v1/lib/google/cloud/networkservices/v1/gateway_pb.rb index 7bd4644ea8b1..69ea84d4661a 100644 --- a/google-cloud-network_services-v1/lib/google/cloud/networkservices/v1/gateway_pb.rb +++ b/google-cloud-network_services-v1/lib/google/cloud/networkservices/v1/gateway_pb.rb @@ -11,7 +11,7 @@ require 'google/protobuf/timestamp_pb' -descriptor_data = "\n-google/cloud/networkservices/v1/gateway.proto\x12\x1fgoogle.cloud.networkservices.v1\x1a\x1fgoogle/api/field_behavior.proto\x1a\x19google/api/resource.proto\x1a,google/cloud/networkservices/v1/common.proto\x1a google/protobuf/field_mask.proto\x1a\x1fgoogle/protobuf/timestamp.proto\"\x84\x0b\n\x07Gateway\x12\x11\n\x04name\x18\x01 \x01(\tB\x03\xe0\x41\x08\x12\x16\n\tself_link\x18\r \x01(\tB\x03\xe0\x41\x03\x12\x34\n\x0b\x63reate_time\x18\x02 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x03\xe0\x41\x03\x12\x34\n\x0bupdate_time\x18\x03 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x03\xe0\x41\x03\x12I\n\x06labels\x18\x04 \x03(\x0b\x32\x34.google.cloud.networkservices.v1.Gateway.LabelsEntryB\x03\xe0\x41\x01\x12\x18\n\x0b\x64\x65scription\x18\x05 \x01(\tB\x03\xe0\x41\x01\x12@\n\x04type\x18\x06 \x01(\x0e\x32-.google.cloud.networkservices.v1.Gateway.TypeB\x03\xe0\x41\x05\x12\x39\n\taddresses\x18\x07 \x03(\tB&\xe0\x41\x01\xfa\x41 \n\x1e\x63ompute.googleapis.com/Address\x12\x12\n\x05ports\x18\x0b \x03(\x05\x42\x03\xe0\x41\x02\x12\x12\n\x05scope\x18\x08 \x01(\tB\x03\xe0\x41\x01\x12Q\n\x11server_tls_policy\x18\t \x01(\tB6\xe0\x41\x01\xfa\x41\x30\n.networksecurity.googleapis.com/ServerTlsPolicy\x12O\n\x10\x63\x65rtificate_urls\x18\x0e \x03(\tB5\xe0\x41\x01\xfa\x41/\n-certificatemanager.googleapis.com/Certificate\x12]\n\x17gateway_security_policy\x18\x12 \x01(\tB<\xe0\x41\x01\xfa\x41\x36\n4networksecurity.googleapis.com/GatewaySecurityPolicy\x12\x37\n\x07network\x18\x10 \x01(\tB&\xe0\x41\x01\xfa\x41 \n\x1e\x63ompute.googleapis.com/Network\x12=\n\nsubnetwork\x18\x11 \x01(\tB)\xe0\x41\x01\xfa\x41#\n!compute.googleapis.com/Subnetwork\x12K\n\nip_version\x18\x15 \x01(\x0e\x32\x32.google.cloud.networkservices.v1.Gateway.IpVersionB\x03\xe0\x41\x01\x12N\n\renvoy_headers\x18\x1c \x01(\x0e\x32-.google.cloud.networkservices.v1.EnvoyHeadersB\x03\xe0\x41\x01H\x00\x88\x01\x01\x12O\n\x0crouting_mode\x18 \x01(\x0e\x32\x34.google.cloud.networkservices.v1.Gateway.RoutingModeB\x03\xe0\x41\x01\x1a-\n\x0bLabelsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\"C\n\x04Type\x12\x14\n\x10TYPE_UNSPECIFIED\x10\x00\x12\r\n\tOPEN_MESH\x10\x01\x12\x16\n\x12SECURE_WEB_GATEWAY\x10\x02\";\n\tIpVersion\x12\x1a\n\x16IP_VERSION_UNSPECIFIED\x10\x00\x12\x08\n\x04IPV4\x10\x01\x12\x08\n\x04IPV6\x10\x02\"C\n\x0bRoutingMode\x12\x19\n\x15\x45XPLICIT_ROUTING_MODE\x10\x00\x12\x19\n\x15NEXT_HOP_ROUTING_MODE\x10\x01:g\xea\x41\x64\n&networkservices.googleapis.com/Gateway\x12:projects/{project}/locations/{location}/gateways/{gateway}B\x10\n\x0e_envoy_headers\"|\n\x13ListGatewaysRequest\x12>\n\x06parent\x18\x01 \x01(\tB.\xe0\x41\x02\xfa\x41(\x12&networkservices.googleapis.com/Gateway\x12\x11\n\tpage_size\x18\x02 \x01(\x05\x12\x12\n\npage_token\x18\x03 \x01(\t\"\x80\x01\n\x14ListGatewaysResponse\x12:\n\x08gateways\x18\x01 \x03(\x0b\x32(.google.cloud.networkservices.v1.Gateway\x12\x17\n\x0fnext_page_token\x18\x02 \x01(\t\x12\x13\n\x0bunreachable\x18\x03 \x03(\t\"Q\n\x11GetGatewayRequest\x12<\n\x04name\x18\x01 \x01(\tB.\xe0\x41\x02\xfa\x41(\n&networkservices.googleapis.com/Gateway\"\xaf\x01\n\x14\x43reateGatewayRequest\x12>\n\x06parent\x18\x01 \x01(\tB.\xe0\x41\x02\xfa\x41(\x12&networkservices.googleapis.com/Gateway\x12\x17\n\ngateway_id\x18\x02 \x01(\tB\x03\xe0\x41\x02\x12>\n\x07gateway\x18\x03 \x01(\x0b\x32(.google.cloud.networkservices.v1.GatewayB\x03\xe0\x41\x02\"\x8c\x01\n\x14UpdateGatewayRequest\x12\x34\n\x0bupdate_mask\x18\x01 \x01(\x0b\x32\x1a.google.protobuf.FieldMaskB\x03\xe0\x41\x01\x12>\n\x07gateway\x18\x02 \x01(\x0b\x32(.google.cloud.networkservices.v1.GatewayB\x03\xe0\x41\x02\"T\n\x14\x44\x65leteGatewayRequest\x12<\n\x04name\x18\x01 \x01(\tB.\xe0\x41\x02\xfa\x41(\n&networkservices.googleapis.com/GatewayB\x89\x06\n#com.google.cloud.networkservices.v1B\x0cGatewayProtoP\x01ZMcloud.google.com/go/networkservices/apiv1/networkservicespb;networkservicespb\xaa\x02\x1fGoogle.Cloud.NetworkServices.V1\xca\x02\x1fGoogle\\Cloud\\NetworkServices\\V1\xea\x02\"Google::Cloud::NetworkServices::V1\xea\x41\x91\x01\n4networksecurity.googleapis.com/GatewaySecurityPolicy\x12Yprojects/{project}/locations/{location}/gatewaySecurityPolicies/{gateway_security_policy}\xea\x41\x61\n!compute.googleapis.com/Subnetwork\x12\n\x06parent\x18\x01 \x01(\tB.\xe0\x41\x02\xfa\x41(\x12&networkservices.googleapis.com/Gateway\x12\x11\n\tpage_size\x18\x02 \x01(\x05\x12\x12\n\npage_token\x18\x03 \x01(\t\"\x80\x01\n\x14ListGatewaysResponse\x12:\n\x08gateways\x18\x01 \x03(\x0b\x32(.google.cloud.networkservices.v1.Gateway\x12\x17\n\x0fnext_page_token\x18\x02 \x01(\t\x12\x13\n\x0bunreachable\x18\x03 \x03(\t\"Q\n\x11GetGatewayRequest\x12<\n\x04name\x18\x01 \x01(\tB.\xe0\x41\x02\xfa\x41(\n&networkservices.googleapis.com/Gateway\"\xaf\x01\n\x14\x43reateGatewayRequest\x12>\n\x06parent\x18\x01 \x01(\tB.\xe0\x41\x02\xfa\x41(\x12&networkservices.googleapis.com/Gateway\x12\x17\n\ngateway_id\x18\x02 \x01(\tB\x03\xe0\x41\x02\x12>\n\x07gateway\x18\x03 \x01(\x0b\x32(.google.cloud.networkservices.v1.GatewayB\x03\xe0\x41\x02\"\x8c\x01\n\x14UpdateGatewayRequest\x12\x34\n\x0bupdate_mask\x18\x01 \x01(\x0b\x32\x1a.google.protobuf.FieldMaskB\x03\xe0\x41\x01\x12>\n\x07gateway\x18\x02 \x01(\x0b\x32(.google.cloud.networkservices.v1.GatewayB\x03\xe0\x41\x02\"T\n\x14\x44\x65leteGatewayRequest\x12<\n\x04name\x18\x01 \x01(\tB.\xe0\x41\x02\xfa\x41(\n&networkservices.googleapis.com/GatewayB\x89\x06\n#com.google.cloud.networkservices.v1B\x0cGatewayProtoP\x01ZMcloud.google.com/go/networkservices/apiv1/networkservicespb;networkservicespb\xaa\x02\x1fGoogle.Cloud.NetworkServices.V1\xca\x02\x1fGoogle\\Cloud\\NetworkServices\\V1\xea\x02\"Google::Cloud::NetworkServices::V1\xea\x41\x91\x01\n4networksecurity.googleapis.com/GatewaySecurityPolicy\x12Yprojects/{project}/locations/{location}/gatewaySecurityPolicies/{gateway_security_policy}\xea\x41\x61\n!compute.googleapis.com/Subnetwork\x12.google.cloud.networkservices.v1.HttpRoute.QueryParameterMatchB\x0b\n\tPathMatch\x1a\xa2\x02\n\x0b\x44\x65stination\x12@\n\x0cservice_name\x18\x01 \x01(\tB*\xfa\x41\'\n%compute.googleapis.com/BackendService\x12\x0e\n\x06weight\x18\x02 \x01(\x05\x12_\n\x17request_header_modifier\x18\x03 \x01(\x0b\x32\x39.google.cloud.networkservices.v1.HttpRoute.HeaderModifierB\x03\xe0\x41\x01\x12`\n\x18response_header_modifier\x18\x04 \x01(\x0b\x32\x39.google.cloud.networkservices.v1.HttpRoute.HeaderModifierB\x03\xe0\x41\x01\x1a\x86\x03\n\x08Redirect\x12\x15\n\rhost_redirect\x18\x01 \x01(\t\x12\x15\n\rpath_redirect\x18\x02 \x01(\t\x12\x16\n\x0eprefix_rewrite\x18\x03 \x01(\t\x12W\n\rresponse_code\x18\x04 \x01(\x0e\x32@.google.cloud.networkservices.v1.HttpRoute.Redirect.ResponseCode\x12\x16\n\x0ehttps_redirect\x18\x05 \x01(\x08\x12\x13\n\x0bstrip_query\x18\x06 \x01(\x08\x12\x15\n\rport_redirect\x18\x07 \x01(\x05\"\x96\x01\n\x0cResponseCode\x12\x1d\n\x19RESPONSE_CODE_UNSPECIFIED\x10\x00\x12\x1d\n\x19MOVED_PERMANENTLY_DEFAULT\x10\x01\x12\t\n\x05\x46OUND\x10\x02\x12\r\n\tSEE_OTHER\x10\x03\x12\x16\n\x12TEMPORARY_REDIRECT\x10\x04\x12\x16\n\x12PERMANENT_REDIRECT\x10\x05\x1a\xc1\x02\n\x14\x46\x61ultInjectionPolicy\x12T\n\x05\x64\x65lay\x18\x01 \x01(\x0b\x32\x45.google.cloud.networkservices.v1.HttpRoute.FaultInjectionPolicy.Delay\x12T\n\x05\x61\x62ort\x18\x02 \x01(\x0b\x32\x45.google.cloud.networkservices.v1.HttpRoute.FaultInjectionPolicy.Abort\x1aK\n\x05\x44\x65lay\x12.\n\x0b\x66ixed_delay\x18\x01 \x01(\x0b\x32\x19.google.protobuf.Duration\x12\x12\n\npercentage\x18\x02 \x01(\x05\x1a\x30\n\x05\x41\x62ort\x12\x13\n\x0bhttp_status\x18\x01 \x01(\x05\x12\x12\n\npercentage\x18\x02 \x01(\x05\x1aS\n\x1dStatefulSessionAffinityPolicy\x12\x32\n\ncookie_ttl\x18\x01 \x01(\x0b\x32\x19.google.protobuf.DurationB\x03\xe0\x41\x02\x1a\x9a\x02\n\x0eHeaderModifier\x12O\n\x03set\x18\x01 \x03(\x0b\x32\x42.google.cloud.networkservices.v1.HttpRoute.HeaderModifier.SetEntry\x12O\n\x03\x61\x64\x64\x18\x02 \x03(\x0b\x32\x42.google.cloud.networkservices.v1.HttpRoute.HeaderModifier.AddEntry\x12\x0e\n\x06remove\x18\x03 \x03(\t\x1a*\n\x08SetEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\x1a*\n\x08\x41\x64\x64\x45ntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\x1a?\n\nURLRewrite\x12\x1b\n\x13path_prefix_rewrite\x18\x01 \x01(\t\x12\x14\n\x0chost_rewrite\x18\x02 \x01(\t\x1ap\n\x0bRetryPolicy\x12\x18\n\x10retry_conditions\x18\x01 \x03(\t\x12\x13\n\x0bnum_retries\x18\x02 \x01(\x05\x12\x32\n\x0fper_try_timeout\x18\x03 \x01(\x0b\x32\x19.google.protobuf.Duration\x1a\x7f\n\x13RequestMirrorPolicy\x12K\n\x0b\x64\x65stination\x18\x01 \x01(\x0b\x32\x36.google.cloud.networkservices.v1.HttpRoute.Destination\x12\x1b\n\x0emirror_percent\x18\x02 \x01(\x02\x42\x03\xe0\x41\x01\x1a\xc5\x01\n\nCorsPolicy\x12\x15\n\rallow_origins\x18\x01 \x03(\t\x12\x1c\n\x14\x61llow_origin_regexes\x18\x02 \x03(\t\x12\x15\n\rallow_methods\x18\x03 \x03(\t\x12\x15\n\rallow_headers\x18\x04 \x03(\t\x12\x16\n\x0e\x65xpose_headers\x18\x05 \x03(\t\x12\x0f\n\x07max_age\x18\x06 \x01(\t\x12\x19\n\x11\x61llow_credentials\x18\x07 \x01(\x08\x12\x10\n\x08\x64isabled\x18\x08 \x01(\x08\x1al\n\x12HttpDirectResponse\x12\x1a\n\x0bstring_body\x18\x02 \x01(\tB\x03\xe0\x41\x01H\x00\x12\x19\n\nbytes_body\x18\x03 \x01(\x0c\x42\x03\xe0\x41\x01H\x00\x12\x13\n\x06status\x18\x01 \x01(\x05\x42\x03\xe0\x41\x02\x42\n\n\x08HttpBody\x1a\xb2\x08\n\x0bRouteAction\x12L\n\x0c\x64\x65stinations\x18\x01 \x03(\x0b\x32\x36.google.cloud.networkservices.v1.HttpRoute.Destination\x12\x45\n\x08redirect\x18\x02 \x01(\x0b\x32\x33.google.cloud.networkservices.v1.HttpRoute.Redirect\x12_\n\x16\x66\x61ult_injection_policy\x18\x04 \x01(\x0b\x32?.google.cloud.networkservices.v1.HttpRoute.FaultInjectionPolicy\x12Z\n\x17request_header_modifier\x18\x05 \x01(\x0b\x32\x39.google.cloud.networkservices.v1.HttpRoute.HeaderModifier\x12[\n\x18response_header_modifier\x18\x06 \x01(\x0b\x32\x39.google.cloud.networkservices.v1.HttpRoute.HeaderModifier\x12J\n\x0burl_rewrite\x18\x07 \x01(\x0b\x32\x35.google.cloud.networkservices.v1.HttpRoute.URLRewrite\x12*\n\x07timeout\x18\x08 \x01(\x0b\x32\x19.google.protobuf.Duration\x12L\n\x0cretry_policy\x18\t \x01(\x0b\x32\x36.google.cloud.networkservices.v1.HttpRoute.RetryPolicy\x12]\n\x15request_mirror_policy\x18\n \x01(\x0b\x32>.google.cloud.networkservices.v1.HttpRoute.RequestMirrorPolicy\x12J\n\x0b\x63ors_policy\x18\x0b \x01(\x0b\x32\x35.google.cloud.networkservices.v1.HttpRoute.CorsPolicy\x12p\n\x19stateful_session_affinity\x18\x0c \x01(\x0b\x32H.google.cloud.networkservices.v1.HttpRoute.StatefulSessionAffinityPolicyB\x03\xe0\x41\x01\x12[\n\x0f\x64irect_response\x18\r \x01(\x0b\x32=.google.cloud.networkservices.v1.HttpRoute.HttpDirectResponseB\x03\xe0\x41\x01\x12\x34\n\x0cidle_timeout\x18\x0e \x01(\x0b\x32\x19.google.protobuf.DurationB\x03\xe0\x41\x01\x1a\x9b\x01\n\tRouteRule\x12\x46\n\x07matches\x18\x01 \x03(\x0b\x32\x35.google.cloud.networkservices.v1.HttpRoute.RouteMatch\x12\x46\n\x06\x61\x63tion\x18\x02 \x01(\x0b\x32\x36.google.cloud.networkservices.v1.HttpRoute.RouteAction\x1a-\n\x0bLabelsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01:n\xea\x41k\n(networkservices.googleapis.com/HttpRoute\x12?projects/{project}/locations/{location}/httpRoutes/{http_route}\"\xa5\x01\n\x15ListHttpRoutesRequest\x12@\n\x06parent\x18\x01 \x01(\tB0\xe0\x41\x02\xfa\x41*\x12(networkservices.googleapis.com/HttpRoute\x12\x11\n\tpage_size\x18\x02 \x01(\x05\x12\x12\n\npage_token\x18\x03 \x01(\t\x12#\n\x16return_partial_success\x18\x04 \x01(\x08\x42\x03\xe0\x41\x01\"\x87\x01\n\x16ListHttpRoutesResponse\x12?\n\x0bhttp_routes\x18\x01 \x03(\x0b\x32*.google.cloud.networkservices.v1.HttpRoute\x12\x17\n\x0fnext_page_token\x18\x02 \x01(\t\x12\x13\n\x0bunreachable\x18\x03 \x03(\t\"U\n\x13GetHttpRouteRequest\x12>\n\x04name\x18\x01 \x01(\tB0\xe0\x41\x02\xfa\x41*\n(networkservices.googleapis.com/HttpRoute\"\xbb\x01\n\x16\x43reateHttpRouteRequest\x12@\n\x06parent\x18\x01 \x01(\tB0\xe0\x41\x02\xfa\x41*\x12(networkservices.googleapis.com/HttpRoute\x12\x1a\n\rhttp_route_id\x18\x02 \x01(\tB\x03\xe0\x41\x02\x12\x43\n\nhttp_route\x18\x03 \x01(\x0b\x32*.google.cloud.networkservices.v1.HttpRouteB\x03\xe0\x41\x02\"\x93\x01\n\x16UpdateHttpRouteRequest\x12\x34\n\x0bupdate_mask\x18\x01 \x01(\x0b\x32\x1a.google.protobuf.FieldMaskB\x03\xe0\x41\x01\x12\x43\n\nhttp_route\x18\x02 \x01(\x0b\x32*.google.cloud.networkservices.v1.HttpRouteB\x03\xe0\x41\x02\"X\n\x16\x44\x65leteHttpRouteRequest\x12>\n\x04name\x18\x01 \x01(\tB0\xe0\x41\x02\xfa\x41*\n(networkservices.googleapis.com/HttpRouteB\xef\x01\n#com.google.cloud.networkservices.v1B\x0eHttpRouteProtoP\x01ZMcloud.google.com/go/networkservices/apiv1/networkservicespb;networkservicespb\xaa\x02\x1fGoogle.Cloud.NetworkServices.V1\xca\x02\x1fGoogle\\Cloud\\NetworkServices\\V1\xea\x02\"Google::Cloud::NetworkServices::V1b\x06proto3" +descriptor_data = "\n0google/cloud/networkservices/v1/http_route.proto\x12\x1fgoogle.cloud.networkservices.v1\x1a\x1fgoogle/api/field_behavior.proto\x1a\x1bgoogle/api/field_info.proto\x1a\x19google/api/resource.proto\x1a\x1egoogle/protobuf/duration.proto\x1a google/protobuf/field_mask.proto\x1a\x1fgoogle/protobuf/timestamp.proto\"\x8f$\n\tHttpRoute\x12\x11\n\x04name\x18\x01 \x01(\tB\x03\xe0\x41\x08\x12\x16\n\tself_link\x18\x0b \x01(\tB\x03\xe0\x41\x03\x12\x18\n\x0b\x64\x65scription\x18\x02 \x01(\tB\x03\xe0\x41\x01\x12\x34\n\x0b\x63reate_time\x18\x03 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x03\xe0\x41\x03\x12\x34\n\x0bupdate_time\x18\x04 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x03\xe0\x41\x03\x12\x16\n\thostnames\x18\x05 \x03(\tB\x03\xe0\x41\x02\x12;\n\x06meshes\x18\x08 \x03(\tB+\xe0\x41\x01\xfa\x41%\n#networkservices.googleapis.com/Mesh\x12@\n\x08gateways\x18\t \x03(\tB.\xe0\x41\x01\xfa\x41(\n&networkservices.googleapis.com/Gateway\x12K\n\x06labels\x18\n \x03(\x0b\x32\x36.google.cloud.networkservices.v1.HttpRoute.LabelsEntryB\x03\xe0\x41\x01\x12H\n\x05rules\x18\x06 \x03(\x0b\x32\x34.google.cloud.networkservices.v1.HttpRoute.RouteRuleB\x03\xe0\x41\x02\x1a\xbf\x02\n\x0bHeaderMatch\x12\x15\n\x0b\x65xact_match\x18\x02 \x01(\tH\x00\x12\x15\n\x0bregex_match\x18\x03 \x01(\tH\x00\x12\x16\n\x0cprefix_match\x18\x04 \x01(\tH\x00\x12\x17\n\rpresent_match\x18\x05 \x01(\x08H\x00\x12\x16\n\x0csuffix_match\x18\x06 \x01(\tH\x00\x12Z\n\x0brange_match\x18\x07 \x01(\x0b\x32\x43.google.cloud.networkservices.v1.HttpRoute.HeaderMatch.IntegerRangeH\x00\x12\x0e\n\x06header\x18\x01 \x01(\t\x12\x14\n\x0cinvert_match\x18\x08 \x01(\x08\x1a*\n\x0cIntegerRange\x12\r\n\x05start\x18\x01 \x01(\x05\x12\x0b\n\x03\x65nd\x18\x02 \x01(\x05\x42\x0b\n\tMatchType\x1a\x82\x01\n\x13QueryParameterMatch\x12\x15\n\x0b\x65xact_match\x18\x02 \x01(\tH\x00\x12\x15\n\x0bregex_match\x18\x03 \x01(\tH\x00\x12\x17\n\rpresent_match\x18\x04 \x01(\x08H\x00\x12\x17\n\x0fquery_parameter\x18\x01 \x01(\tB\x0b\n\tMatchType\x1a\x9b\x02\n\nRouteMatch\x12\x19\n\x0f\x66ull_path_match\x18\x01 \x01(\tH\x00\x12\x16\n\x0cprefix_match\x18\x02 \x01(\tH\x00\x12\x15\n\x0bregex_match\x18\x03 \x01(\tH\x00\x12\x13\n\x0bignore_case\x18\x04 \x01(\x08\x12G\n\x07headers\x18\x05 \x03(\x0b\x32\x36.google.cloud.networkservices.v1.HttpRoute.HeaderMatch\x12X\n\x10query_parameters\x18\x06 \x03(\x0b\x32>.google.cloud.networkservices.v1.HttpRoute.QueryParameterMatchB\x0b\n\tPathMatch\x1a\xa2\x02\n\x0b\x44\x65stination\x12@\n\x0cservice_name\x18\x01 \x01(\tB*\xfa\x41\'\n%compute.googleapis.com/BackendService\x12\x0e\n\x06weight\x18\x02 \x01(\x05\x12_\n\x17request_header_modifier\x18\x03 \x01(\x0b\x32\x39.google.cloud.networkservices.v1.HttpRoute.HeaderModifierB\x03\xe0\x41\x01\x12`\n\x18response_header_modifier\x18\x04 \x01(\x0b\x32\x39.google.cloud.networkservices.v1.HttpRoute.HeaderModifierB\x03\xe0\x41\x01\x1a\x86\x03\n\x08Redirect\x12\x15\n\rhost_redirect\x18\x01 \x01(\t\x12\x15\n\rpath_redirect\x18\x02 \x01(\t\x12\x16\n\x0eprefix_rewrite\x18\x03 \x01(\t\x12W\n\rresponse_code\x18\x04 \x01(\x0e\x32@.google.cloud.networkservices.v1.HttpRoute.Redirect.ResponseCode\x12\x16\n\x0ehttps_redirect\x18\x05 \x01(\x08\x12\x13\n\x0bstrip_query\x18\x06 \x01(\x08\x12\x15\n\rport_redirect\x18\x07 \x01(\x05\"\x96\x01\n\x0cResponseCode\x12\x1d\n\x19RESPONSE_CODE_UNSPECIFIED\x10\x00\x12\x1d\n\x19MOVED_PERMANENTLY_DEFAULT\x10\x01\x12\t\n\x05\x46OUND\x10\x02\x12\r\n\tSEE_OTHER\x10\x03\x12\x16\n\x12TEMPORARY_REDIRECT\x10\x04\x12\x16\n\x12PERMANENT_REDIRECT\x10\x05\x1a\xc1\x02\n\x14\x46\x61ultInjectionPolicy\x12T\n\x05\x64\x65lay\x18\x01 \x01(\x0b\x32\x45.google.cloud.networkservices.v1.HttpRoute.FaultInjectionPolicy.Delay\x12T\n\x05\x61\x62ort\x18\x02 \x01(\x0b\x32\x45.google.cloud.networkservices.v1.HttpRoute.FaultInjectionPolicy.Abort\x1aK\n\x05\x44\x65lay\x12.\n\x0b\x66ixed_delay\x18\x01 \x01(\x0b\x32\x19.google.protobuf.Duration\x12\x12\n\npercentage\x18\x02 \x01(\x05\x1a\x30\n\x05\x41\x62ort\x12\x13\n\x0bhttp_status\x18\x01 \x01(\x05\x12\x12\n\npercentage\x18\x02 \x01(\x05\x1aS\n\x1dStatefulSessionAffinityPolicy\x12\x32\n\ncookie_ttl\x18\x01 \x01(\x0b\x32\x19.google.protobuf.DurationB\x03\xe0\x41\x02\x1a\x9a\x02\n\x0eHeaderModifier\x12O\n\x03set\x18\x01 \x03(\x0b\x32\x42.google.cloud.networkservices.v1.HttpRoute.HeaderModifier.SetEntry\x12O\n\x03\x61\x64\x64\x18\x02 \x03(\x0b\x32\x42.google.cloud.networkservices.v1.HttpRoute.HeaderModifier.AddEntry\x12\x0e\n\x06remove\x18\x03 \x03(\t\x1a*\n\x08SetEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\x1a*\n\x08\x41\x64\x64\x45ntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\x1a?\n\nURLRewrite\x12\x1b\n\x13path_prefix_rewrite\x18\x01 \x01(\t\x12\x14\n\x0chost_rewrite\x18\x02 \x01(\t\x1ap\n\x0bRetryPolicy\x12\x18\n\x10retry_conditions\x18\x01 \x03(\t\x12\x13\n\x0bnum_retries\x18\x02 \x01(\x05\x12\x32\n\x0fper_try_timeout\x18\x03 \x01(\x0b\x32\x19.google.protobuf.Duration\x1a\x7f\n\x13RequestMirrorPolicy\x12K\n\x0b\x64\x65stination\x18\x01 \x01(\x0b\x32\x36.google.cloud.networkservices.v1.HttpRoute.Destination\x12\x1b\n\x0emirror_percent\x18\x02 \x01(\x02\x42\x03\xe0\x41\x01\x1a\xc5\x01\n\nCorsPolicy\x12\x15\n\rallow_origins\x18\x01 \x03(\t\x12\x1c\n\x14\x61llow_origin_regexes\x18\x02 \x03(\t\x12\x15\n\rallow_methods\x18\x03 \x03(\t\x12\x15\n\rallow_headers\x18\x04 \x03(\t\x12\x16\n\x0e\x65xpose_headers\x18\x05 \x03(\t\x12\x0f\n\x07max_age\x18\x06 \x01(\t\x12\x19\n\x11\x61llow_credentials\x18\x07 \x01(\x08\x12\x10\n\x08\x64isabled\x18\x08 \x01(\x08\x1al\n\x12HttpDirectResponse\x12\x1a\n\x0bstring_body\x18\x02 \x01(\tB\x03\xe0\x41\x01H\x00\x12\x19\n\nbytes_body\x18\x03 \x01(\x0c\x42\x03\xe0\x41\x01H\x00\x12\x13\n\x06status\x18\x01 \x01(\x05\x42\x03\xe0\x41\x02\x42\n\n\x08HttpBody\x1a\xb2\x08\n\x0bRouteAction\x12L\n\x0c\x64\x65stinations\x18\x01 \x03(\x0b\x32\x36.google.cloud.networkservices.v1.HttpRoute.Destination\x12\x45\n\x08redirect\x18\x02 \x01(\x0b\x32\x33.google.cloud.networkservices.v1.HttpRoute.Redirect\x12_\n\x16\x66\x61ult_injection_policy\x18\x04 \x01(\x0b\x32?.google.cloud.networkservices.v1.HttpRoute.FaultInjectionPolicy\x12Z\n\x17request_header_modifier\x18\x05 \x01(\x0b\x32\x39.google.cloud.networkservices.v1.HttpRoute.HeaderModifier\x12[\n\x18response_header_modifier\x18\x06 \x01(\x0b\x32\x39.google.cloud.networkservices.v1.HttpRoute.HeaderModifier\x12J\n\x0burl_rewrite\x18\x07 \x01(\x0b\x32\x35.google.cloud.networkservices.v1.HttpRoute.URLRewrite\x12*\n\x07timeout\x18\x08 \x01(\x0b\x32\x19.google.protobuf.Duration\x12L\n\x0cretry_policy\x18\t \x01(\x0b\x32\x36.google.cloud.networkservices.v1.HttpRoute.RetryPolicy\x12]\n\x15request_mirror_policy\x18\n \x01(\x0b\x32>.google.cloud.networkservices.v1.HttpRoute.RequestMirrorPolicy\x12J\n\x0b\x63ors_policy\x18\x0b \x01(\x0b\x32\x35.google.cloud.networkservices.v1.HttpRoute.CorsPolicy\x12p\n\x19stateful_session_affinity\x18\x0c \x01(\x0b\x32H.google.cloud.networkservices.v1.HttpRoute.StatefulSessionAffinityPolicyB\x03\xe0\x41\x01\x12[\n\x0f\x64irect_response\x18\r \x01(\x0b\x32=.google.cloud.networkservices.v1.HttpRoute.HttpDirectResponseB\x03\xe0\x41\x01\x12\x34\n\x0cidle_timeout\x18\x0e \x01(\x0b\x32\x19.google.protobuf.DurationB\x03\xe0\x41\x01\x1a\x9b\x01\n\tRouteRule\x12\x46\n\x07matches\x18\x01 \x03(\x0b\x32\x35.google.cloud.networkservices.v1.HttpRoute.RouteMatch\x12\x46\n\x06\x61\x63tion\x18\x02 \x01(\x0b\x32\x36.google.cloud.networkservices.v1.HttpRoute.RouteAction\x1a-\n\x0bLabelsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01:n\xea\x41k\n(networkservices.googleapis.com/HttpRoute\x12?projects/{project}/locations/{location}/httpRoutes/{http_route}\"\xba\x01\n\x15ListHttpRoutesRequest\x12@\n\x06parent\x18\x01 \x01(\tB0\xe0\x41\x02\xfa\x41*\x12(networkservices.googleapis.com/HttpRoute\x12\x11\n\tpage_size\x18\x02 \x01(\x05\x12\x12\n\npage_token\x18\x03 \x01(\t\x12#\n\x16return_partial_success\x18\x04 \x01(\x08\x42\x03\xe0\x41\x01\x12\x13\n\x06\x66ilter\x18\x05 \x01(\tB\x03\xe0\x41\x01\"\x87\x01\n\x16ListHttpRoutesResponse\x12?\n\x0bhttp_routes\x18\x01 \x03(\x0b\x32*.google.cloud.networkservices.v1.HttpRoute\x12\x17\n\x0fnext_page_token\x18\x02 \x01(\t\x12\x13\n\x0bunreachable\x18\x03 \x03(\t\"U\n\x13GetHttpRouteRequest\x12>\n\x04name\x18\x01 \x01(\tB0\xe0\x41\x02\xfa\x41*\n(networkservices.googleapis.com/HttpRoute\"\xdc\x01\n\x16\x43reateHttpRouteRequest\x12@\n\x06parent\x18\x01 \x01(\tB0\xe0\x41\x02\xfa\x41*\x12(networkservices.googleapis.com/HttpRoute\x12\x1a\n\rhttp_route_id\x18\x02 \x01(\tB\x03\xe0\x41\x02\x12\x43\n\nhttp_route\x18\x03 \x01(\x0b\x32*.google.cloud.networkservices.v1.HttpRouteB\x03\xe0\x41\x02\x12\x1f\n\nrequest_id\x18\x04 \x01(\tB\x0b\xe0\x41\x01\xe2\x8c\xcf\xd7\x08\x02\x08\x01\"\x93\x01\n\x16UpdateHttpRouteRequest\x12\x34\n\x0bupdate_mask\x18\x01 \x01(\x0b\x32\x1a.google.protobuf.FieldMaskB\x03\xe0\x41\x01\x12\x43\n\nhttp_route\x18\x02 \x01(\x0b\x32*.google.cloud.networkservices.v1.HttpRouteB\x03\xe0\x41\x02\"X\n\x16\x44\x65leteHttpRouteRequest\x12>\n\x04name\x18\x01 \x01(\tB0\xe0\x41\x02\xfa\x41*\n(networkservices.googleapis.com/HttpRouteB\xef\x01\n#com.google.cloud.networkservices.v1B\x0eHttpRouteProtoP\x01ZMcloud.google.com/go/networkservices/apiv1/networkservicespb;networkservicespb\xaa\x02\x1fGoogle.Cloud.NetworkServices.V1\xca\x02\x1fGoogle\\Cloud\\NetworkServices\\V1\xea\x02\"Google::Cloud::NetworkServices::V1b\x06proto3" pool = ::Google::Protobuf::DescriptorPool.generated_pool pool.add_serialized_file(descriptor_data) diff --git a/google-cloud-network_services-v1/lib/google/cloud/networkservices/v1/mesh_pb.rb b/google-cloud-network_services-v1/lib/google/cloud/networkservices/v1/mesh_pb.rb index d1a55ea58336..876e2212ea88 100644 --- a/google-cloud-network_services-v1/lib/google/cloud/networkservices/v1/mesh_pb.rb +++ b/google-cloud-network_services-v1/lib/google/cloud/networkservices/v1/mesh_pb.rb @@ -11,7 +11,7 @@ require 'google/protobuf/timestamp_pb' -descriptor_data = "\n*google/cloud/networkservices/v1/mesh.proto\x12\x1fgoogle.cloud.networkservices.v1\x1a\x1fgoogle/api/field_behavior.proto\x1a\x19google/api/resource.proto\x1a,google/cloud/networkservices/v1/common.proto\x1a google/protobuf/field_mask.proto\x1a\x1fgoogle/protobuf/timestamp.proto\"\x91\x04\n\x04Mesh\x12\x11\n\x04name\x18\x01 \x01(\tB\x03\xe0\x41\x08\x12\x16\n\tself_link\x18\t \x01(\tB\x03\xe0\x41\x03\x12\x34\n\x0b\x63reate_time\x18\x02 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x03\xe0\x41\x03\x12\x34\n\x0bupdate_time\x18\x03 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x03\xe0\x41\x03\x12\x46\n\x06labels\x18\x04 \x03(\x0b\x32\x31.google.cloud.networkservices.v1.Mesh.LabelsEntryB\x03\xe0\x41\x01\x12\x18\n\x0b\x64\x65scription\x18\x05 \x01(\tB\x03\xe0\x41\x01\x12\x1e\n\x11interception_port\x18\x08 \x01(\x05\x42\x03\xe0\x41\x01\x12N\n\renvoy_headers\x18\x10 \x01(\x0e\x32-.google.cloud.networkservices.v1.EnvoyHeadersB\x03\xe0\x41\x01H\x00\x88\x01\x01\x1a-\n\x0bLabelsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01:_\xea\x41\\\n#networkservices.googleapis.com/Mesh\x12\x35projects/{project}/locations/{location}/meshes/{mesh}B\x10\n\x0e_envoy_headers\"\x9c\x01\n\x11ListMeshesRequest\x12;\n\x06parent\x18\x01 \x01(\tB+\xe0\x41\x02\xfa\x41%\x12#networkservices.googleapis.com/Mesh\x12\x11\n\tpage_size\x18\x02 \x01(\x05\x12\x12\n\npage_token\x18\x03 \x01(\t\x12#\n\x16return_partial_success\x18\x04 \x01(\x08\x42\x03\xe0\x41\x01\"y\n\x12ListMeshesResponse\x12\x35\n\x06meshes\x18\x01 \x03(\x0b\x32%.google.cloud.networkservices.v1.Mesh\x12\x17\n\x0fnext_page_token\x18\x02 \x01(\t\x12\x13\n\x0bunreachable\x18\x03 \x03(\t\"K\n\x0eGetMeshRequest\x12\x39\n\x04name\x18\x01 \x01(\tB+\xe0\x41\x02\xfa\x41%\n#networkservices.googleapis.com/Mesh\"\xa0\x01\n\x11\x43reateMeshRequest\x12;\n\x06parent\x18\x01 \x01(\tB+\xe0\x41\x02\xfa\x41%\x12#networkservices.googleapis.com/Mesh\x12\x14\n\x07mesh_id\x18\x02 \x01(\tB\x03\xe0\x41\x02\x12\x38\n\x04mesh\x18\x03 \x01(\x0b\x32%.google.cloud.networkservices.v1.MeshB\x03\xe0\x41\x02\"\x83\x01\n\x11UpdateMeshRequest\x12\x34\n\x0bupdate_mask\x18\x01 \x01(\x0b\x32\x1a.google.protobuf.FieldMaskB\x03\xe0\x41\x01\x12\x38\n\x04mesh\x18\x02 \x01(\x0b\x32%.google.cloud.networkservices.v1.MeshB\x03\xe0\x41\x02\"N\n\x11\x44\x65leteMeshRequest\x12\x39\n\x04name\x18\x01 \x01(\tB+\xe0\x41\x02\xfa\x41%\n#networkservices.googleapis.com/MeshB\xe4\x02\n#com.google.cloud.networkservices.v1B\tMeshProtoP\x01ZMcloud.google.com/go/networkservices/apiv1/networkservicespb;networkservicespb\xaa\x02\x1fGoogle.Cloud.NetworkServices.V1\xca\x02\x1fGoogle\\Cloud\\NetworkServices\\V1\xea\x02\"Google::Cloud::NetworkServices::V1\xea\x41w\n(compute.googleapis.com/ServiceAttachment\x12Kprojects/{project}/regions/{region}/serviceAttachments/{service_attachment}b\x06proto3" +descriptor_data = "\n*google/cloud/networkservices/v1/mesh.proto\x12\x1fgoogle.cloud.networkservices.v1\x1a\x1fgoogle/api/field_behavior.proto\x1a\x19google/api/resource.proto\x1a,google/cloud/networkservices/v1/common.proto\x1a google/protobuf/field_mask.proto\x1a\x1fgoogle/protobuf/timestamp.proto\"\x9f\x04\n\x04Mesh\x12\x11\n\x04name\x18\x01 \x01(\tB\x03\xe0\x41\x08\x12\x16\n\tself_link\x18\t \x01(\tB\x03\xe0\x41\x03\x12\x34\n\x0b\x63reate_time\x18\x02 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x03\xe0\x41\x03\x12\x34\n\x0bupdate_time\x18\x03 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x03\xe0\x41\x03\x12\x46\n\x06labels\x18\x04 \x03(\x0b\x32\x31.google.cloud.networkservices.v1.Mesh.LabelsEntryB\x03\xe0\x41\x01\x12\x18\n\x0b\x64\x65scription\x18\x05 \x01(\tB\x03\xe0\x41\x01\x12\x1e\n\x11interception_port\x18\x08 \x01(\x05\x42\x03\xe0\x41\x01\x12N\n\renvoy_headers\x18\x10 \x01(\x0e\x32-.google.cloud.networkservices.v1.EnvoyHeadersB\x03\xe0\x41\x01H\x00\x88\x01\x01\x1a-\n\x0bLabelsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01:m\xea\x41j\n#networkservices.googleapis.com/Mesh\x12\x35projects/{project}/locations/{location}/meshes/{mesh}*\x06meshes2\x04meshB\x10\n\x0e_envoy_headers\"\x9c\x01\n\x11ListMeshesRequest\x12;\n\x06parent\x18\x01 \x01(\tB+\xe0\x41\x02\xfa\x41%\x12#networkservices.googleapis.com/Mesh\x12\x11\n\tpage_size\x18\x02 \x01(\x05\x12\x12\n\npage_token\x18\x03 \x01(\t\x12#\n\x16return_partial_success\x18\x04 \x01(\x08\x42\x03\xe0\x41\x01\"y\n\x12ListMeshesResponse\x12\x35\n\x06meshes\x18\x01 \x03(\x0b\x32%.google.cloud.networkservices.v1.Mesh\x12\x17\n\x0fnext_page_token\x18\x02 \x01(\t\x12\x13\n\x0bunreachable\x18\x03 \x03(\t\"K\n\x0eGetMeshRequest\x12\x39\n\x04name\x18\x01 \x01(\tB+\xe0\x41\x02\xfa\x41%\n#networkservices.googleapis.com/Mesh\"\xa0\x01\n\x11\x43reateMeshRequest\x12;\n\x06parent\x18\x01 \x01(\tB+\xe0\x41\x02\xfa\x41%\x12#networkservices.googleapis.com/Mesh\x12\x14\n\x07mesh_id\x18\x02 \x01(\tB\x03\xe0\x41\x02\x12\x38\n\x04mesh\x18\x03 \x01(\x0b\x32%.google.cloud.networkservices.v1.MeshB\x03\xe0\x41\x02\"\x83\x01\n\x11UpdateMeshRequest\x12\x34\n\x0bupdate_mask\x18\x01 \x01(\x0b\x32\x1a.google.protobuf.FieldMaskB\x03\xe0\x41\x01\x12\x38\n\x04mesh\x18\x02 \x01(\x0b\x32%.google.cloud.networkservices.v1.MeshB\x03\xe0\x41\x02\"N\n\x11\x44\x65leteMeshRequest\x12\x39\n\x04name\x18\x01 \x01(\tB+\xe0\x41\x02\xfa\x41%\n#networkservices.googleapis.com/MeshB\xe4\x02\n#com.google.cloud.networkservices.v1B\tMeshProtoP\x01ZMcloud.google.com/go/networkservices/apiv1/networkservicespb;networkservicespb\xaa\x02\x1fGoogle.Cloud.NetworkServices.V1\xca\x02\x1fGoogle\\Cloud\\NetworkServices\\V1\xea\x02\"Google::Cloud::NetworkServices::V1\xea\x41w\n(compute.googleapis.com/ServiceAttachment\x12Kprojects/{project}/regions/{region}/serviceAttachments/{service_attachment}b\x06proto3" pool = ::Google::Protobuf::DescriptorPool.generated_pool pool.add_serialized_file(descriptor_data) diff --git a/google-cloud-network_services-v1/lib/google/cloud/networkservices/v1/network_services_pb.rb b/google-cloud-network_services-v1/lib/google/cloud/networkservices/v1/network_services_pb.rb index ebd630fa0414..83a16384a07d 100644 --- a/google-cloud-network_services-v1/lib/google/cloud/networkservices/v1/network_services_pb.rb +++ b/google-cloud-network_services-v1/lib/google/cloud/networkservices/v1/network_services_pb.rb @@ -6,6 +6,7 @@ require 'google/api/annotations_pb' require 'google/api/client_pb' +require 'google/cloud/networkservices/v1/agent_gateway_pb' require 'google/cloud/networkservices/v1/common_pb' require 'google/cloud/networkservices/v1/endpoint_policy_pb' require 'google/cloud/networkservices/v1/extensibility_pb' @@ -22,7 +23,7 @@ require 'google/protobuf/empty_pb' -descriptor_data = "\n6google/cloud/networkservices/v1/network_services.proto\x12\x1fgoogle.cloud.networkservices.v1\x1a\x1cgoogle/api/annotations.proto\x1a\x17google/api/client.proto\x1a,google/cloud/networkservices/v1/common.proto\x1a\x35google/cloud/networkservices/v1/endpoint_policy.proto\x1a\x33google/cloud/networkservices/v1/extensibility.proto\x1a-google/cloud/networkservices/v1/gateway.proto\x1a\x30google/cloud/networkservices/v1/grpc_route.proto\x1a\x30google/cloud/networkservices/v1/http_route.proto\x1a*google/cloud/networkservices/v1/mesh.proto\x1a\x30google/cloud/networkservices/v1/route_view.proto\x1a\x35google/cloud/networkservices/v1/service_binding.proto\x1a\x37google/cloud/networkservices/v1/service_lb_policy.proto\x1a/google/cloud/networkservices/v1/tcp_route.proto\x1a/google/cloud/networkservices/v1/tls_route.proto\x1a#google/longrunning/operations.proto\x1a\x1bgoogle/protobuf/empty.proto2\xc2m\n\x0fNetworkServices\x12\xda\x01\n\x14ListEndpointPolicies\x12<.google.cloud.networkservices.v1.ListEndpointPoliciesRequest\x1a=.google.cloud.networkservices.v1.ListEndpointPoliciesResponse\"E\xda\x41\x06parent\x82\xd3\xe4\x93\x02\x36\x12\x34/v1/{parent=projects/*/locations/*}/endpointPolicies\x12\xc4\x01\n\x11GetEndpointPolicy\x12\x39.google.cloud.networkservices.v1.GetEndpointPolicyRequest\x1a/.google.cloud.networkservices.v1.EndpointPolicy\"C\xda\x41\x04name\x82\xd3\xe4\x93\x02\x36\x12\x34/v1/{name=projects/*/locations/*/endpointPolicies/*}\x12\xb5\x02\n\x14\x43reateEndpointPolicy\x12<.google.cloud.networkservices.v1.CreateEndpointPolicyRequest\x1a\x1d.google.longrunning.Operation\"\xbf\x01\xca\x41\x43\n\x0e\x45ndpointPolicy\x12\x31google.cloud.networkservices.v1.OperationMetadata\xda\x41)parent,endpoint_policy,endpoint_policy_id\x82\xd3\xe4\x93\x02G\"4/v1/{parent=projects/*/locations/*}/endpointPolicies:\x0f\x65ndpoint_policy\x12\xb7\x02\n\x14UpdateEndpointPolicy\x12<.google.cloud.networkservices.v1.UpdateEndpointPolicyRequest\x1a\x1d.google.longrunning.Operation\"\xc1\x01\xca\x41\x43\n\x0e\x45ndpointPolicy\x12\x31google.cloud.networkservices.v1.OperationMetadata\xda\x41\x1b\x65ndpoint_policy,update_mask\x82\xd3\xe4\x93\x02W2D/v1/{endpoint_policy.name=projects/*/locations/*/endpointPolicies/*}:\x0f\x65ndpoint_policy\x12\x86\x02\n\x14\x44\x65leteEndpointPolicy\x12<.google.cloud.networkservices.v1.DeleteEndpointPolicyRequest\x1a\x1d.google.longrunning.Operation\"\x90\x01\xca\x41J\n\x15google.protobuf.Empty\x12\x31google.cloud.networkservices.v1.OperationMetadata\xda\x41\x04name\x82\xd3\xe4\x93\x02\x36*4/v1/{name=projects/*/locations/*/endpointPolicies/*}\x12\xe6\x01\n\x16ListWasmPluginVersions\x12>.google.cloud.networkservices.v1.ListWasmPluginVersionsRequest\x1a?.google.cloud.networkservices.v1.ListWasmPluginVersionsResponse\"K\xda\x41\x06parent\x82\xd3\xe4\x93\x02<\x12:/v1/{parent=projects/*/locations/*/wasmPlugins/*}/versions\x12\xd3\x01\n\x14GetWasmPluginVersion\x12<.google.cloud.networkservices.v1.GetWasmPluginVersionRequest\x1a\x32.google.cloud.networkservices.v1.WasmPluginVersion\"I\xda\x41\x04name\x82\xd3\xe4\x93\x02<\x12:/v1/{name=projects/*/locations/*/wasmPlugins/*/versions/*}\x12\xd0\x02\n\x17\x43reateWasmPluginVersion\x12?.google.cloud.networkservices.v1.CreateWasmPluginVersionRequest\x1a\x1d.google.longrunning.Operation\"\xd4\x01\xca\x41\x46\n\x11WasmPluginVersion\x12\x31google.cloud.networkservices.v1.OperationMetadata\xda\x41\x31parent,wasm_plugin_version,wasm_plugin_version_id\x82\xd3\xe4\x93\x02Q\":/v1/{parent=projects/*/locations/*/wasmPlugins/*}/versions:\x13wasm_plugin_version\x12\x92\x02\n\x17\x44\x65leteWasmPluginVersion\x12?.google.cloud.networkservices.v1.DeleteWasmPluginVersionRequest\x1a\x1d.google.longrunning.Operation\"\x96\x01\xca\x41J\n\x15google.protobuf.Empty\x12\x31google.cloud.networkservices.v1.OperationMetadata\xda\x41\x04name\x82\xd3\xe4\x93\x02<*:/v1/{name=projects/*/locations/*/wasmPlugins/*/versions/*}\x12\xc6\x01\n\x0fListWasmPlugins\x12\x37.google.cloud.networkservices.v1.ListWasmPluginsRequest\x1a\x38.google.cloud.networkservices.v1.ListWasmPluginsResponse\"@\xda\x41\x06parent\x82\xd3\xe4\x93\x02\x31\x12//v1/{parent=projects/*/locations/*}/wasmPlugins\x12\xb3\x01\n\rGetWasmPlugin\x12\x35.google.cloud.networkservices.v1.GetWasmPluginRequest\x1a+.google.cloud.networkservices.v1.WasmPlugin\">\xda\x41\x04name\x82\xd3\xe4\x93\x02\x31\x12//v1/{name=projects/*/locations/*/wasmPlugins/*}\x12\x98\x02\n\x10\x43reateWasmPlugin\x12\x38.google.cloud.networkservices.v1.CreateWasmPluginRequest\x1a\x1d.google.longrunning.Operation\"\xaa\x01\xca\x41?\n\nWasmPlugin\x12\x31google.cloud.networkservices.v1.OperationMetadata\xda\x41!parent,wasm_plugin,wasm_plugin_id\x82\xd3\xe4\x93\x02>\"//v1/{parent=projects/*/locations/*}/wasmPlugins:\x0bwasm_plugin\x12\x9a\x02\n\x10UpdateWasmPlugin\x12\x38.google.cloud.networkservices.v1.UpdateWasmPluginRequest\x1a\x1d.google.longrunning.Operation\"\xac\x01\xca\x41?\n\nWasmPlugin\x12\x31google.cloud.networkservices.v1.OperationMetadata\xda\x41\x17wasm_plugin,update_mask\x82\xd3\xe4\x93\x02J2;/v1/{wasm_plugin.name=projects/*/locations/*/wasmPlugins/*}:\x0bwasm_plugin\x12\xf9\x01\n\x10\x44\x65leteWasmPlugin\x12\x38.google.cloud.networkservices.v1.DeleteWasmPluginRequest\x1a\x1d.google.longrunning.Operation\"\x8b\x01\xca\x41J\n\x15google.protobuf.Empty\x12\x31google.cloud.networkservices.v1.OperationMetadata\xda\x41\x04name\x82\xd3\xe4\x93\x02\x31*//v1/{name=projects/*/locations/*/wasmPlugins/*}\x12\xba\x01\n\x0cListGateways\x12\x34.google.cloud.networkservices.v1.ListGatewaysRequest\x1a\x35.google.cloud.networkservices.v1.ListGatewaysResponse\"=\xda\x41\x06parent\x82\xd3\xe4\x93\x02.\x12,/v1/{parent=projects/*/locations/*}/gateways\x12\xa7\x01\n\nGetGateway\x12\x32.google.cloud.networkservices.v1.GetGatewayRequest\x1a(.google.cloud.networkservices.v1.Gateway\";\xda\x41\x04name\x82\xd3\xe4\x93\x02.\x12,/v1/{name=projects/*/locations/*/gateways/*}\x12\x80\x02\n\rCreateGateway\x12\x35.google.cloud.networkservices.v1.CreateGatewayRequest\x1a\x1d.google.longrunning.Operation\"\x98\x01\xca\x41<\n\x07Gateway\x12\x31google.cloud.networkservices.v1.OperationMetadata\xda\x41\x19parent,gateway,gateway_id\x82\xd3\xe4\x93\x02\x37\",/v1/{parent=projects/*/locations/*}/gateways:\x07gateway\x12\x82\x02\n\rUpdateGateway\x12\x35.google.cloud.networkservices.v1.UpdateGatewayRequest\x1a\x1d.google.longrunning.Operation\"\x9a\x01\xca\x41<\n\x07Gateway\x12\x31google.cloud.networkservices.v1.OperationMetadata\xda\x41\x13gateway,update_mask\x82\xd3\xe4\x93\x02?24/v1/{gateway.name=projects/*/locations/*/gateways/*}:\x07gateway\x12\xf0\x01\n\rDeleteGateway\x12\x35.google.cloud.networkservices.v1.DeleteGatewayRequest\x1a\x1d.google.longrunning.Operation\"\x88\x01\xca\x41J\n\x15google.protobuf.Empty\x12\x31google.cloud.networkservices.v1.OperationMetadata\xda\x41\x04name\x82\xd3\xe4\x93\x02.*,/v1/{name=projects/*/locations/*/gateways/*}\x12\xc2\x01\n\x0eListGrpcRoutes\x12\x36.google.cloud.networkservices.v1.ListGrpcRoutesRequest\x1a\x37.google.cloud.networkservices.v1.ListGrpcRoutesResponse\"?\xda\x41\x06parent\x82\xd3\xe4\x93\x02\x30\x12./v1/{parent=projects/*/locations/*}/grpcRoutes\x12\xaf\x01\n\x0cGetGrpcRoute\x12\x34.google.cloud.networkservices.v1.GetGrpcRouteRequest\x1a*.google.cloud.networkservices.v1.GrpcRoute\"=\xda\x41\x04name\x82\xd3\xe4\x93\x02\x30\x12./v1/{name=projects/*/locations/*/grpcRoutes/*}\x12\x91\x02\n\x0f\x43reateGrpcRoute\x12\x37.google.cloud.networkservices.v1.CreateGrpcRouteRequest\x1a\x1d.google.longrunning.Operation\"\xa5\x01\xca\x41>\n\tGrpcRoute\x12\x31google.cloud.networkservices.v1.OperationMetadata\xda\x41\x1fparent,grpc_route,grpc_route_id\x82\xd3\xe4\x93\x02<\"./v1/{parent=projects/*/locations/*}/grpcRoutes:\ngrpc_route\x12\x93\x02\n\x0fUpdateGrpcRoute\x12\x37.google.cloud.networkservices.v1.UpdateGrpcRouteRequest\x1a\x1d.google.longrunning.Operation\"\xa7\x01\xca\x41>\n\tGrpcRoute\x12\x31google.cloud.networkservices.v1.OperationMetadata\xda\x41\x16grpc_route,update_mask\x82\xd3\xe4\x93\x02G29/v1/{grpc_route.name=projects/*/locations/*/grpcRoutes/*}:\ngrpc_route\x12\xf6\x01\n\x0f\x44\x65leteGrpcRoute\x12\x37.google.cloud.networkservices.v1.DeleteGrpcRouteRequest\x1a\x1d.google.longrunning.Operation\"\x8a\x01\xca\x41J\n\x15google.protobuf.Empty\x12\x31google.cloud.networkservices.v1.OperationMetadata\xda\x41\x04name\x82\xd3\xe4\x93\x02\x30*./v1/{name=projects/*/locations/*/grpcRoutes/*}\x12\xc2\x01\n\x0eListHttpRoutes\x12\x36.google.cloud.networkservices.v1.ListHttpRoutesRequest\x1a\x37.google.cloud.networkservices.v1.ListHttpRoutesResponse\"?\xda\x41\x06parent\x82\xd3\xe4\x93\x02\x30\x12./v1/{parent=projects/*/locations/*}/httpRoutes\x12\xaf\x01\n\x0cGetHttpRoute\x12\x34.google.cloud.networkservices.v1.GetHttpRouteRequest\x1a*.google.cloud.networkservices.v1.HttpRoute\"=\xda\x41\x04name\x82\xd3\xe4\x93\x02\x30\x12./v1/{name=projects/*/locations/*/httpRoutes/*}\x12\x91\x02\n\x0f\x43reateHttpRoute\x12\x37.google.cloud.networkservices.v1.CreateHttpRouteRequest\x1a\x1d.google.longrunning.Operation\"\xa5\x01\xca\x41>\n\tHttpRoute\x12\x31google.cloud.networkservices.v1.OperationMetadata\xda\x41\x1fparent,http_route,http_route_id\x82\xd3\xe4\x93\x02<\"./v1/{parent=projects/*/locations/*}/httpRoutes:\nhttp_route\x12\x93\x02\n\x0fUpdateHttpRoute\x12\x37.google.cloud.networkservices.v1.UpdateHttpRouteRequest\x1a\x1d.google.longrunning.Operation\"\xa7\x01\xca\x41>\n\tHttpRoute\x12\x31google.cloud.networkservices.v1.OperationMetadata\xda\x41\x16http_route,update_mask\x82\xd3\xe4\x93\x02G29/v1/{http_route.name=projects/*/locations/*/httpRoutes/*}:\nhttp_route\x12\xf6\x01\n\x0f\x44\x65leteHttpRoute\x12\x37.google.cloud.networkservices.v1.DeleteHttpRouteRequest\x1a\x1d.google.longrunning.Operation\"\x8a\x01\xca\x41J\n\x15google.protobuf.Empty\x12\x31google.cloud.networkservices.v1.OperationMetadata\xda\x41\x04name\x82\xd3\xe4\x93\x02\x30*./v1/{name=projects/*/locations/*/httpRoutes/*}\x12\xbe\x01\n\rListTcpRoutes\x12\x35.google.cloud.networkservices.v1.ListTcpRoutesRequest\x1a\x36.google.cloud.networkservices.v1.ListTcpRoutesResponse\">\xda\x41\x06parent\x82\xd3\xe4\x93\x02/\x12-/v1/{parent=projects/*/locations/*}/tcpRoutes\x12\xab\x01\n\x0bGetTcpRoute\x12\x33.google.cloud.networkservices.v1.GetTcpRouteRequest\x1a).google.cloud.networkservices.v1.TcpRoute\"<\xda\x41\x04name\x82\xd3\xe4\x93\x02/\x12-/v1/{name=projects/*/locations/*/tcpRoutes/*}\x12\x8a\x02\n\x0e\x43reateTcpRoute\x12\x36.google.cloud.networkservices.v1.CreateTcpRouteRequest\x1a\x1d.google.longrunning.Operation\"\xa0\x01\xca\x41=\n\x08TcpRoute\x12\x31google.cloud.networkservices.v1.OperationMetadata\xda\x41\x1dparent,tcp_route,tcp_route_id\x82\xd3\xe4\x93\x02:\"-/v1/{parent=projects/*/locations/*}/tcpRoutes:\ttcp_route\x12\x8c\x02\n\x0eUpdateTcpRoute\x12\x36.google.cloud.networkservices.v1.UpdateTcpRouteRequest\x1a\x1d.google.longrunning.Operation\"\xa2\x01\xca\x41=\n\x08TcpRoute\x12\x31google.cloud.networkservices.v1.OperationMetadata\xda\x41\x15tcp_route,update_mask\x82\xd3\xe4\x93\x02\x44\x32\x37/v1/{tcp_route.name=projects/*/locations/*/tcpRoutes/*}:\ttcp_route\x12\xf3\x01\n\x0e\x44\x65leteTcpRoute\x12\x36.google.cloud.networkservices.v1.DeleteTcpRouteRequest\x1a\x1d.google.longrunning.Operation\"\x89\x01\xca\x41J\n\x15google.protobuf.Empty\x12\x31google.cloud.networkservices.v1.OperationMetadata\xda\x41\x04name\x82\xd3\xe4\x93\x02/*-/v1/{name=projects/*/locations/*/tcpRoutes/*}\x12\xbe\x01\n\rListTlsRoutes\x12\x35.google.cloud.networkservices.v1.ListTlsRoutesRequest\x1a\x36.google.cloud.networkservices.v1.ListTlsRoutesResponse\">\xda\x41\x06parent\x82\xd3\xe4\x93\x02/\x12-/v1/{parent=projects/*/locations/*}/tlsRoutes\x12\xab\x01\n\x0bGetTlsRoute\x12\x33.google.cloud.networkservices.v1.GetTlsRouteRequest\x1a).google.cloud.networkservices.v1.TlsRoute\"<\xda\x41\x04name\x82\xd3\xe4\x93\x02/\x12-/v1/{name=projects/*/locations/*/tlsRoutes/*}\x12\x8a\x02\n\x0e\x43reateTlsRoute\x12\x36.google.cloud.networkservices.v1.CreateTlsRouteRequest\x1a\x1d.google.longrunning.Operation\"\xa0\x01\xca\x41=\n\x08TlsRoute\x12\x31google.cloud.networkservices.v1.OperationMetadata\xda\x41\x1dparent,tls_route,tls_route_id\x82\xd3\xe4\x93\x02:\"-/v1/{parent=projects/*/locations/*}/tlsRoutes:\ttls_route\x12\x8c\x02\n\x0eUpdateTlsRoute\x12\x36.google.cloud.networkservices.v1.UpdateTlsRouteRequest\x1a\x1d.google.longrunning.Operation\"\xa2\x01\xca\x41=\n\x08TlsRoute\x12\x31google.cloud.networkservices.v1.OperationMetadata\xda\x41\x15tls_route,update_mask\x82\xd3\xe4\x93\x02\x44\x32\x37/v1/{tls_route.name=projects/*/locations/*/tlsRoutes/*}:\ttls_route\x12\xf3\x01\n\x0e\x44\x65leteTlsRoute\x12\x36.google.cloud.networkservices.v1.DeleteTlsRouteRequest\x1a\x1d.google.longrunning.Operation\"\x89\x01\xca\x41J\n\x15google.protobuf.Empty\x12\x31google.cloud.networkservices.v1.OperationMetadata\xda\x41\x04name\x82\xd3\xe4\x93\x02/*-/v1/{name=projects/*/locations/*/tlsRoutes/*}\x12\xd6\x01\n\x13ListServiceBindings\x12;.google.cloud.networkservices.v1.ListServiceBindingsRequest\x1a<.google.cloud.networkservices.v1.ListServiceBindingsResponse\"D\xda\x41\x06parent\x82\xd3\xe4\x93\x02\x35\x12\x33/v1/{parent=projects/*/locations/*}/serviceBindings\x12\xc3\x01\n\x11GetServiceBinding\x12\x39.google.cloud.networkservices.v1.GetServiceBindingRequest\x1a/.google.cloud.networkservices.v1.ServiceBinding\"B\xda\x41\x04name\x82\xd3\xe4\x93\x02\x35\x12\x33/v1/{name=projects/*/locations/*/serviceBindings/*}\x12\xb4\x02\n\x14\x43reateServiceBinding\x12<.google.cloud.networkservices.v1.CreateServiceBindingRequest\x1a\x1d.google.longrunning.Operation\"\xbe\x01\xca\x41\x43\n\x0eServiceBinding\x12\x31google.cloud.networkservices.v1.OperationMetadata\xda\x41)parent,service_binding,service_binding_id\x82\xd3\xe4\x93\x02\x46\"3/v1/{parent=projects/*/locations/*}/serviceBindings:\x0fservice_binding\x12\xb6\x02\n\x14UpdateServiceBinding\x12<.google.cloud.networkservices.v1.UpdateServiceBindingRequest\x1a\x1d.google.longrunning.Operation\"\xc0\x01\xca\x41\x43\n\x0eServiceBinding\x12\x31google.cloud.networkservices.v1.OperationMetadata\xda\x41\x1bservice_binding,update_mask\x82\xd3\xe4\x93\x02V2C/v1/{service_binding.name=projects/*/locations/*/serviceBindings/*}:\x0fservice_binding\x12\x85\x02\n\x14\x44\x65leteServiceBinding\x12<.google.cloud.networkservices.v1.DeleteServiceBindingRequest\x1a\x1d.google.longrunning.Operation\"\x8f\x01\xca\x41J\n\x15google.protobuf.Empty\x12\x31google.cloud.networkservices.v1.OperationMetadata\xda\x41\x04name\x82\xd3\xe4\x93\x02\x35*3/v1/{name=projects/*/locations/*/serviceBindings/*}\x12\xb2\x01\n\nListMeshes\x12\x32.google.cloud.networkservices.v1.ListMeshesRequest\x1a\x33.google.cloud.networkservices.v1.ListMeshesResponse\";\xda\x41\x06parent\x82\xd3\xe4\x93\x02,\x12*/v1/{parent=projects/*/locations/*}/meshes\x12\x9c\x01\n\x07GetMesh\x12/.google.cloud.networkservices.v1.GetMeshRequest\x1a%.google.cloud.networkservices.v1.Mesh\"9\xda\x41\x04name\x82\xd3\xe4\x93\x02,\x12*/v1/{name=projects/*/locations/*/meshes/*}\x12\xec\x01\n\nCreateMesh\x12\x32.google.cloud.networkservices.v1.CreateMeshRequest\x1a\x1d.google.longrunning.Operation\"\x8a\x01\xca\x41\x39\n\x04Mesh\x12\x31google.cloud.networkservices.v1.OperationMetadata\xda\x41\x13parent,mesh,mesh_id\x82\xd3\xe4\x93\x02\x32\"*/v1/{parent=projects/*/locations/*}/meshes:\x04mesh\x12\xee\x01\n\nUpdateMesh\x12\x32.google.cloud.networkservices.v1.UpdateMeshRequest\x1a\x1d.google.longrunning.Operation\"\x8c\x01\xca\x41\x39\n\x04Mesh\x12\x31google.cloud.networkservices.v1.OperationMetadata\xda\x41\x10mesh,update_mask\x82\xd3\xe4\x93\x02\x37\x32//v1/{mesh.name=projects/*/locations/*/meshes/*}:\x04mesh\x12\xe8\x01\n\nDeleteMesh\x12\x32.google.cloud.networkservices.v1.DeleteMeshRequest\x1a\x1d.google.longrunning.Operation\"\x86\x01\xca\x41J\n\x15google.protobuf.Empty\x12\x31google.cloud.networkservices.v1.OperationMetadata\xda\x41\x04name\x82\xd3\xe4\x93\x02,**/v1/{name=projects/*/locations/*/meshes/*}\x12\xde\x01\n\x15ListServiceLbPolicies\x12=.google.cloud.networkservices.v1.ListServiceLbPoliciesRequest\x1a>.google.cloud.networkservices.v1.ListServiceLbPoliciesResponse\"F\xda\x41\x06parent\x82\xd3\xe4\x93\x02\x37\x12\x35/v1/{parent=projects/*/locations/*}/serviceLbPolicies\x12\xc8\x01\n\x12GetServiceLbPolicy\x12:.google.cloud.networkservices.v1.GetServiceLbPolicyRequest\x1a\x30.google.cloud.networkservices.v1.ServiceLbPolicy\"D\xda\x41\x04name\x82\xd3\xe4\x93\x02\x37\x12\x35/v1/{name=projects/*/locations/*/serviceLbPolicies/*}\x12\xbf\x02\n\x15\x43reateServiceLbPolicy\x12=.google.cloud.networkservices.v1.CreateServiceLbPolicyRequest\x1a\x1d.google.longrunning.Operation\"\xc7\x01\xca\x41\x44\n\x0fServiceLbPolicy\x12\x31google.cloud.networkservices.v1.OperationMetadata\xda\x41-parent,service_lb_policy,service_lb_policy_id\x82\xd3\xe4\x93\x02J\"5/v1/{parent=projects/*/locations/*}/serviceLbPolicies:\x11service_lb_policy\x12\xc1\x02\n\x15UpdateServiceLbPolicy\x12=.google.cloud.networkservices.v1.UpdateServiceLbPolicyRequest\x1a\x1d.google.longrunning.Operation\"\xc9\x01\xca\x41\x44\n\x0fServiceLbPolicy\x12\x31google.cloud.networkservices.v1.OperationMetadata\xda\x41\x1dservice_lb_policy,update_mask\x82\xd3\xe4\x93\x02\\2G/v1/{service_lb_policy.name=projects/*/locations/*/serviceLbPolicies/*}:\x11service_lb_policy\x12\x89\x02\n\x15\x44\x65leteServiceLbPolicy\x12=.google.cloud.networkservices.v1.DeleteServiceLbPolicyRequest\x1a\x1d.google.longrunning.Operation\"\x91\x01\xca\x41J\n\x15google.protobuf.Empty\x12\x31google.cloud.networkservices.v1.OperationMetadata\xda\x41\x04name\x82\xd3\xe4\x93\x02\x37*5/v1/{name=projects/*/locations/*/serviceLbPolicies/*}\x12\xcf\x01\n\x13GetGatewayRouteView\x12;.google.cloud.networkservices.v1.GetGatewayRouteViewRequest\x1a\x31.google.cloud.networkservices.v1.GatewayRouteView\"H\xda\x41\x04name\x82\xd3\xe4\x93\x02;\x12\x39/v1/{name=projects/*/locations/*/gateways/*/routeViews/*}\x12\xc4\x01\n\x10GetMeshRouteView\x12\x38.google.cloud.networkservices.v1.GetMeshRouteViewRequest\x1a..google.cloud.networkservices.v1.MeshRouteView\"F\xda\x41\x04name\x82\xd3\xe4\x93\x02\x39\x12\x37/v1/{name=projects/*/locations/*/meshes/*/routeViews/*}\x12\xe2\x01\n\x15ListGatewayRouteViews\x12=.google.cloud.networkservices.v1.ListGatewayRouteViewsRequest\x1a>.google.cloud.networkservices.v1.ListGatewayRouteViewsResponse\"J\xda\x41\x06parent\x82\xd3\xe4\x93\x02;\x12\x39/v1/{parent=projects/*/locations/*/gateways/*}/routeViews\x12\xd7\x01\n\x12ListMeshRouteViews\x12:.google.cloud.networkservices.v1.ListMeshRouteViewsRequest\x1a;.google.cloud.networkservices.v1.ListMeshRouteViewsResponse\"H\xda\x41\x06parent\x82\xd3\xe4\x93\x02\x39\x12\x37/v1/{parent=projects/*/locations/*/meshes/*}/routeViews\x1aR\xca\x41\x1enetworkservices.googleapis.com\xd2\x41.https://www.googleapis.com/auth/cloud-platformB\xdf\x01\n#com.google.cloud.networkservices.v1P\x01ZMcloud.google.com/go/networkservices/apiv1/networkservicespb;networkservicespb\xaa\x02\x1fGoogle.Cloud.NetworkServices.V1\xca\x02\x1fGoogle\\Cloud\\NetworkServices\\V1\xea\x02\"Google::Cloud::NetworkServices::V1b\x06proto3" +descriptor_data = "\n6google/cloud/networkservices/v1/network_services.proto\x12\x1fgoogle.cloud.networkservices.v1\x1a\x1cgoogle/api/annotations.proto\x1a\x17google/api/client.proto\x1a\x33google/cloud/networkservices/v1/agent_gateway.proto\x1a,google/cloud/networkservices/v1/common.proto\x1a\x35google/cloud/networkservices/v1/endpoint_policy.proto\x1a\x33google/cloud/networkservices/v1/extensibility.proto\x1a-google/cloud/networkservices/v1/gateway.proto\x1a\x30google/cloud/networkservices/v1/grpc_route.proto\x1a\x30google/cloud/networkservices/v1/http_route.proto\x1a*google/cloud/networkservices/v1/mesh.proto\x1a\x30google/cloud/networkservices/v1/route_view.proto\x1a\x35google/cloud/networkservices/v1/service_binding.proto\x1a\x37google/cloud/networkservices/v1/service_lb_policy.proto\x1a/google/cloud/networkservices/v1/tcp_route.proto\x1a/google/cloud/networkservices/v1/tls_route.proto\x1a#google/longrunning/operations.proto\x1a\x1bgoogle/protobuf/empty.proto2\xa7w\n\x0fNetworkServices\x12\xda\x01\n\x14ListEndpointPolicies\x12<.google.cloud.networkservices.v1.ListEndpointPoliciesRequest\x1a=.google.cloud.networkservices.v1.ListEndpointPoliciesResponse\"E\xda\x41\x06parent\x82\xd3\xe4\x93\x02\x36\x12\x34/v1/{parent=projects/*/locations/*}/endpointPolicies\x12\xc4\x01\n\x11GetEndpointPolicy\x12\x39.google.cloud.networkservices.v1.GetEndpointPolicyRequest\x1a/.google.cloud.networkservices.v1.EndpointPolicy\"C\xda\x41\x04name\x82\xd3\xe4\x93\x02\x36\x12\x34/v1/{name=projects/*/locations/*/endpointPolicies/*}\x12\xb5\x02\n\x14\x43reateEndpointPolicy\x12<.google.cloud.networkservices.v1.CreateEndpointPolicyRequest\x1a\x1d.google.longrunning.Operation\"\xbf\x01\xca\x41\x43\n\x0e\x45ndpointPolicy\x12\x31google.cloud.networkservices.v1.OperationMetadata\xda\x41)parent,endpoint_policy,endpoint_policy_id\x82\xd3\xe4\x93\x02G\"4/v1/{parent=projects/*/locations/*}/endpointPolicies:\x0f\x65ndpoint_policy\x12\xb7\x02\n\x14UpdateEndpointPolicy\x12<.google.cloud.networkservices.v1.UpdateEndpointPolicyRequest\x1a\x1d.google.longrunning.Operation\"\xc1\x01\xca\x41\x43\n\x0e\x45ndpointPolicy\x12\x31google.cloud.networkservices.v1.OperationMetadata\xda\x41\x1b\x65ndpoint_policy,update_mask\x82\xd3\xe4\x93\x02W2D/v1/{endpoint_policy.name=projects/*/locations/*/endpointPolicies/*}:\x0f\x65ndpoint_policy\x12\x86\x02\n\x14\x44\x65leteEndpointPolicy\x12<.google.cloud.networkservices.v1.DeleteEndpointPolicyRequest\x1a\x1d.google.longrunning.Operation\"\x90\x01\xca\x41J\n\x15google.protobuf.Empty\x12\x31google.cloud.networkservices.v1.OperationMetadata\xda\x41\x04name\x82\xd3\xe4\x93\x02\x36*4/v1/{name=projects/*/locations/*/endpointPolicies/*}\x12\xe6\x01\n\x16ListWasmPluginVersions\x12>.google.cloud.networkservices.v1.ListWasmPluginVersionsRequest\x1a?.google.cloud.networkservices.v1.ListWasmPluginVersionsResponse\"K\xda\x41\x06parent\x82\xd3\xe4\x93\x02<\x12:/v1/{parent=projects/*/locations/*/wasmPlugins/*}/versions\x12\xd3\x01\n\x14GetWasmPluginVersion\x12<.google.cloud.networkservices.v1.GetWasmPluginVersionRequest\x1a\x32.google.cloud.networkservices.v1.WasmPluginVersion\"I\xda\x41\x04name\x82\xd3\xe4\x93\x02<\x12:/v1/{name=projects/*/locations/*/wasmPlugins/*/versions/*}\x12\xd0\x02\n\x17\x43reateWasmPluginVersion\x12?.google.cloud.networkservices.v1.CreateWasmPluginVersionRequest\x1a\x1d.google.longrunning.Operation\"\xd4\x01\xca\x41\x46\n\x11WasmPluginVersion\x12\x31google.cloud.networkservices.v1.OperationMetadata\xda\x41\x31parent,wasm_plugin_version,wasm_plugin_version_id\x82\xd3\xe4\x93\x02Q\":/v1/{parent=projects/*/locations/*/wasmPlugins/*}/versions:\x13wasm_plugin_version\x12\x92\x02\n\x17\x44\x65leteWasmPluginVersion\x12?.google.cloud.networkservices.v1.DeleteWasmPluginVersionRequest\x1a\x1d.google.longrunning.Operation\"\x96\x01\xca\x41J\n\x15google.protobuf.Empty\x12\x31google.cloud.networkservices.v1.OperationMetadata\xda\x41\x04name\x82\xd3\xe4\x93\x02<*:/v1/{name=projects/*/locations/*/wasmPlugins/*/versions/*}\x12\xc6\x01\n\x0fListWasmPlugins\x12\x37.google.cloud.networkservices.v1.ListWasmPluginsRequest\x1a\x38.google.cloud.networkservices.v1.ListWasmPluginsResponse\"@\xda\x41\x06parent\x82\xd3\xe4\x93\x02\x31\x12//v1/{parent=projects/*/locations/*}/wasmPlugins\x12\xb3\x01\n\rGetWasmPlugin\x12\x35.google.cloud.networkservices.v1.GetWasmPluginRequest\x1a+.google.cloud.networkservices.v1.WasmPlugin\">\xda\x41\x04name\x82\xd3\xe4\x93\x02\x31\x12//v1/{name=projects/*/locations/*/wasmPlugins/*}\x12\x98\x02\n\x10\x43reateWasmPlugin\x12\x38.google.cloud.networkservices.v1.CreateWasmPluginRequest\x1a\x1d.google.longrunning.Operation\"\xaa\x01\xca\x41?\n\nWasmPlugin\x12\x31google.cloud.networkservices.v1.OperationMetadata\xda\x41!parent,wasm_plugin,wasm_plugin_id\x82\xd3\xe4\x93\x02>\"//v1/{parent=projects/*/locations/*}/wasmPlugins:\x0bwasm_plugin\x12\x9a\x02\n\x10UpdateWasmPlugin\x12\x38.google.cloud.networkservices.v1.UpdateWasmPluginRequest\x1a\x1d.google.longrunning.Operation\"\xac\x01\xca\x41?\n\nWasmPlugin\x12\x31google.cloud.networkservices.v1.OperationMetadata\xda\x41\x17wasm_plugin,update_mask\x82\xd3\xe4\x93\x02J2;/v1/{wasm_plugin.name=projects/*/locations/*/wasmPlugins/*}:\x0bwasm_plugin\x12\xf9\x01\n\x10\x44\x65leteWasmPlugin\x12\x38.google.cloud.networkservices.v1.DeleteWasmPluginRequest\x1a\x1d.google.longrunning.Operation\"\x8b\x01\xca\x41J\n\x15google.protobuf.Empty\x12\x31google.cloud.networkservices.v1.OperationMetadata\xda\x41\x04name\x82\xd3\xe4\x93\x02\x31*//v1/{name=projects/*/locations/*/wasmPlugins/*}\x12\xba\x01\n\x0cListGateways\x12\x34.google.cloud.networkservices.v1.ListGatewaysRequest\x1a\x35.google.cloud.networkservices.v1.ListGatewaysResponse\"=\xda\x41\x06parent\x82\xd3\xe4\x93\x02.\x12,/v1/{parent=projects/*/locations/*}/gateways\x12\xa7\x01\n\nGetGateway\x12\x32.google.cloud.networkservices.v1.GetGatewayRequest\x1a(.google.cloud.networkservices.v1.Gateway\";\xda\x41\x04name\x82\xd3\xe4\x93\x02.\x12,/v1/{name=projects/*/locations/*/gateways/*}\x12\x80\x02\n\rCreateGateway\x12\x35.google.cloud.networkservices.v1.CreateGatewayRequest\x1a\x1d.google.longrunning.Operation\"\x98\x01\xca\x41<\n\x07Gateway\x12\x31google.cloud.networkservices.v1.OperationMetadata\xda\x41\x19parent,gateway,gateway_id\x82\xd3\xe4\x93\x02\x37\",/v1/{parent=projects/*/locations/*}/gateways:\x07gateway\x12\x82\x02\n\rUpdateGateway\x12\x35.google.cloud.networkservices.v1.UpdateGatewayRequest\x1a\x1d.google.longrunning.Operation\"\x9a\x01\xca\x41<\n\x07Gateway\x12\x31google.cloud.networkservices.v1.OperationMetadata\xda\x41\x13gateway,update_mask\x82\xd3\xe4\x93\x02?24/v1/{gateway.name=projects/*/locations/*/gateways/*}:\x07gateway\x12\xf0\x01\n\rDeleteGateway\x12\x35.google.cloud.networkservices.v1.DeleteGatewayRequest\x1a\x1d.google.longrunning.Operation\"\x88\x01\xca\x41J\n\x15google.protobuf.Empty\x12\x31google.cloud.networkservices.v1.OperationMetadata\xda\x41\x04name\x82\xd3\xe4\x93\x02.*,/v1/{name=projects/*/locations/*/gateways/*}\x12\xc2\x01\n\x0eListGrpcRoutes\x12\x36.google.cloud.networkservices.v1.ListGrpcRoutesRequest\x1a\x37.google.cloud.networkservices.v1.ListGrpcRoutesResponse\"?\xda\x41\x06parent\x82\xd3\xe4\x93\x02\x30\x12./v1/{parent=projects/*/locations/*}/grpcRoutes\x12\xaf\x01\n\x0cGetGrpcRoute\x12\x34.google.cloud.networkservices.v1.GetGrpcRouteRequest\x1a*.google.cloud.networkservices.v1.GrpcRoute\"=\xda\x41\x04name\x82\xd3\xe4\x93\x02\x30\x12./v1/{name=projects/*/locations/*/grpcRoutes/*}\x12\x91\x02\n\x0f\x43reateGrpcRoute\x12\x37.google.cloud.networkservices.v1.CreateGrpcRouteRequest\x1a\x1d.google.longrunning.Operation\"\xa5\x01\xca\x41>\n\tGrpcRoute\x12\x31google.cloud.networkservices.v1.OperationMetadata\xda\x41\x1fparent,grpc_route,grpc_route_id\x82\xd3\xe4\x93\x02<\"./v1/{parent=projects/*/locations/*}/grpcRoutes:\ngrpc_route\x12\x93\x02\n\x0fUpdateGrpcRoute\x12\x37.google.cloud.networkservices.v1.UpdateGrpcRouteRequest\x1a\x1d.google.longrunning.Operation\"\xa7\x01\xca\x41>\n\tGrpcRoute\x12\x31google.cloud.networkservices.v1.OperationMetadata\xda\x41\x16grpc_route,update_mask\x82\xd3\xe4\x93\x02G29/v1/{grpc_route.name=projects/*/locations/*/grpcRoutes/*}:\ngrpc_route\x12\xf6\x01\n\x0f\x44\x65leteGrpcRoute\x12\x37.google.cloud.networkservices.v1.DeleteGrpcRouteRequest\x1a\x1d.google.longrunning.Operation\"\x8a\x01\xca\x41J\n\x15google.protobuf.Empty\x12\x31google.cloud.networkservices.v1.OperationMetadata\xda\x41\x04name\x82\xd3\xe4\x93\x02\x30*./v1/{name=projects/*/locations/*/grpcRoutes/*}\x12\xc2\x01\n\x0eListHttpRoutes\x12\x36.google.cloud.networkservices.v1.ListHttpRoutesRequest\x1a\x37.google.cloud.networkservices.v1.ListHttpRoutesResponse\"?\xda\x41\x06parent\x82\xd3\xe4\x93\x02\x30\x12./v1/{parent=projects/*/locations/*}/httpRoutes\x12\xaf\x01\n\x0cGetHttpRoute\x12\x34.google.cloud.networkservices.v1.GetHttpRouteRequest\x1a*.google.cloud.networkservices.v1.HttpRoute\"=\xda\x41\x04name\x82\xd3\xe4\x93\x02\x30\x12./v1/{name=projects/*/locations/*/httpRoutes/*}\x12\x91\x02\n\x0f\x43reateHttpRoute\x12\x37.google.cloud.networkservices.v1.CreateHttpRouteRequest\x1a\x1d.google.longrunning.Operation\"\xa5\x01\xca\x41>\n\tHttpRoute\x12\x31google.cloud.networkservices.v1.OperationMetadata\xda\x41\x1fparent,http_route,http_route_id\x82\xd3\xe4\x93\x02<\"./v1/{parent=projects/*/locations/*}/httpRoutes:\nhttp_route\x12\x93\x02\n\x0fUpdateHttpRoute\x12\x37.google.cloud.networkservices.v1.UpdateHttpRouteRequest\x1a\x1d.google.longrunning.Operation\"\xa7\x01\xca\x41>\n\tHttpRoute\x12\x31google.cloud.networkservices.v1.OperationMetadata\xda\x41\x16http_route,update_mask\x82\xd3\xe4\x93\x02G29/v1/{http_route.name=projects/*/locations/*/httpRoutes/*}:\nhttp_route\x12\xf6\x01\n\x0f\x44\x65leteHttpRoute\x12\x37.google.cloud.networkservices.v1.DeleteHttpRouteRequest\x1a\x1d.google.longrunning.Operation\"\x8a\x01\xca\x41J\n\x15google.protobuf.Empty\x12\x31google.cloud.networkservices.v1.OperationMetadata\xda\x41\x04name\x82\xd3\xe4\x93\x02\x30*./v1/{name=projects/*/locations/*/httpRoutes/*}\x12\xbe\x01\n\rListTcpRoutes\x12\x35.google.cloud.networkservices.v1.ListTcpRoutesRequest\x1a\x36.google.cloud.networkservices.v1.ListTcpRoutesResponse\">\xda\x41\x06parent\x82\xd3\xe4\x93\x02/\x12-/v1/{parent=projects/*/locations/*}/tcpRoutes\x12\xab\x01\n\x0bGetTcpRoute\x12\x33.google.cloud.networkservices.v1.GetTcpRouteRequest\x1a).google.cloud.networkservices.v1.TcpRoute\"<\xda\x41\x04name\x82\xd3\xe4\x93\x02/\x12-/v1/{name=projects/*/locations/*/tcpRoutes/*}\x12\x8a\x02\n\x0e\x43reateTcpRoute\x12\x36.google.cloud.networkservices.v1.CreateTcpRouteRequest\x1a\x1d.google.longrunning.Operation\"\xa0\x01\xca\x41=\n\x08TcpRoute\x12\x31google.cloud.networkservices.v1.OperationMetadata\xda\x41\x1dparent,tcp_route,tcp_route_id\x82\xd3\xe4\x93\x02:\"-/v1/{parent=projects/*/locations/*}/tcpRoutes:\ttcp_route\x12\x8c\x02\n\x0eUpdateTcpRoute\x12\x36.google.cloud.networkservices.v1.UpdateTcpRouteRequest\x1a\x1d.google.longrunning.Operation\"\xa2\x01\xca\x41=\n\x08TcpRoute\x12\x31google.cloud.networkservices.v1.OperationMetadata\xda\x41\x15tcp_route,update_mask\x82\xd3\xe4\x93\x02\x44\x32\x37/v1/{tcp_route.name=projects/*/locations/*/tcpRoutes/*}:\ttcp_route\x12\xf3\x01\n\x0e\x44\x65leteTcpRoute\x12\x36.google.cloud.networkservices.v1.DeleteTcpRouteRequest\x1a\x1d.google.longrunning.Operation\"\x89\x01\xca\x41J\n\x15google.protobuf.Empty\x12\x31google.cloud.networkservices.v1.OperationMetadata\xda\x41\x04name\x82\xd3\xe4\x93\x02/*-/v1/{name=projects/*/locations/*/tcpRoutes/*}\x12\xbe\x01\n\rListTlsRoutes\x12\x35.google.cloud.networkservices.v1.ListTlsRoutesRequest\x1a\x36.google.cloud.networkservices.v1.ListTlsRoutesResponse\">\xda\x41\x06parent\x82\xd3\xe4\x93\x02/\x12-/v1/{parent=projects/*/locations/*}/tlsRoutes\x12\xab\x01\n\x0bGetTlsRoute\x12\x33.google.cloud.networkservices.v1.GetTlsRouteRequest\x1a).google.cloud.networkservices.v1.TlsRoute\"<\xda\x41\x04name\x82\xd3\xe4\x93\x02/\x12-/v1/{name=projects/*/locations/*/tlsRoutes/*}\x12\x8a\x02\n\x0e\x43reateTlsRoute\x12\x36.google.cloud.networkservices.v1.CreateTlsRouteRequest\x1a\x1d.google.longrunning.Operation\"\xa0\x01\xca\x41=\n\x08TlsRoute\x12\x31google.cloud.networkservices.v1.OperationMetadata\xda\x41\x1dparent,tls_route,tls_route_id\x82\xd3\xe4\x93\x02:\"-/v1/{parent=projects/*/locations/*}/tlsRoutes:\ttls_route\x12\x8c\x02\n\x0eUpdateTlsRoute\x12\x36.google.cloud.networkservices.v1.UpdateTlsRouteRequest\x1a\x1d.google.longrunning.Operation\"\xa2\x01\xca\x41=\n\x08TlsRoute\x12\x31google.cloud.networkservices.v1.OperationMetadata\xda\x41\x15tls_route,update_mask\x82\xd3\xe4\x93\x02\x44\x32\x37/v1/{tls_route.name=projects/*/locations/*/tlsRoutes/*}:\ttls_route\x12\xf3\x01\n\x0e\x44\x65leteTlsRoute\x12\x36.google.cloud.networkservices.v1.DeleteTlsRouteRequest\x1a\x1d.google.longrunning.Operation\"\x89\x01\xca\x41J\n\x15google.protobuf.Empty\x12\x31google.cloud.networkservices.v1.OperationMetadata\xda\x41\x04name\x82\xd3\xe4\x93\x02/*-/v1/{name=projects/*/locations/*/tlsRoutes/*}\x12\xd6\x01\n\x13ListServiceBindings\x12;.google.cloud.networkservices.v1.ListServiceBindingsRequest\x1a<.google.cloud.networkservices.v1.ListServiceBindingsResponse\"D\xda\x41\x06parent\x82\xd3\xe4\x93\x02\x35\x12\x33/v1/{parent=projects/*/locations/*}/serviceBindings\x12\xc3\x01\n\x11GetServiceBinding\x12\x39.google.cloud.networkservices.v1.GetServiceBindingRequest\x1a/.google.cloud.networkservices.v1.ServiceBinding\"B\xda\x41\x04name\x82\xd3\xe4\x93\x02\x35\x12\x33/v1/{name=projects/*/locations/*/serviceBindings/*}\x12\xb4\x02\n\x14\x43reateServiceBinding\x12<.google.cloud.networkservices.v1.CreateServiceBindingRequest\x1a\x1d.google.longrunning.Operation\"\xbe\x01\xca\x41\x43\n\x0eServiceBinding\x12\x31google.cloud.networkservices.v1.OperationMetadata\xda\x41)parent,service_binding,service_binding_id\x82\xd3\xe4\x93\x02\x46\"3/v1/{parent=projects/*/locations/*}/serviceBindings:\x0fservice_binding\x12\xb6\x02\n\x14UpdateServiceBinding\x12<.google.cloud.networkservices.v1.UpdateServiceBindingRequest\x1a\x1d.google.longrunning.Operation\"\xc0\x01\xca\x41\x43\n\x0eServiceBinding\x12\x31google.cloud.networkservices.v1.OperationMetadata\xda\x41\x1bservice_binding,update_mask\x82\xd3\xe4\x93\x02V2C/v1/{service_binding.name=projects/*/locations/*/serviceBindings/*}:\x0fservice_binding\x12\x85\x02\n\x14\x44\x65leteServiceBinding\x12<.google.cloud.networkservices.v1.DeleteServiceBindingRequest\x1a\x1d.google.longrunning.Operation\"\x8f\x01\xca\x41J\n\x15google.protobuf.Empty\x12\x31google.cloud.networkservices.v1.OperationMetadata\xda\x41\x04name\x82\xd3\xe4\x93\x02\x35*3/v1/{name=projects/*/locations/*/serviceBindings/*}\x12\xb2\x01\n\nListMeshes\x12\x32.google.cloud.networkservices.v1.ListMeshesRequest\x1a\x33.google.cloud.networkservices.v1.ListMeshesResponse\";\xda\x41\x06parent\x82\xd3\xe4\x93\x02,\x12*/v1/{parent=projects/*/locations/*}/meshes\x12\x9c\x01\n\x07GetMesh\x12/.google.cloud.networkservices.v1.GetMeshRequest\x1a%.google.cloud.networkservices.v1.Mesh\"9\xda\x41\x04name\x82\xd3\xe4\x93\x02,\x12*/v1/{name=projects/*/locations/*/meshes/*}\x12\xec\x01\n\nCreateMesh\x12\x32.google.cloud.networkservices.v1.CreateMeshRequest\x1a\x1d.google.longrunning.Operation\"\x8a\x01\xca\x41\x39\n\x04Mesh\x12\x31google.cloud.networkservices.v1.OperationMetadata\xda\x41\x13parent,mesh,mesh_id\x82\xd3\xe4\x93\x02\x32\"*/v1/{parent=projects/*/locations/*}/meshes:\x04mesh\x12\xee\x01\n\nUpdateMesh\x12\x32.google.cloud.networkservices.v1.UpdateMeshRequest\x1a\x1d.google.longrunning.Operation\"\x8c\x01\xca\x41\x39\n\x04Mesh\x12\x31google.cloud.networkservices.v1.OperationMetadata\xda\x41\x10mesh,update_mask\x82\xd3\xe4\x93\x02\x37\x32//v1/{mesh.name=projects/*/locations/*/meshes/*}:\x04mesh\x12\xe8\x01\n\nDeleteMesh\x12\x32.google.cloud.networkservices.v1.DeleteMeshRequest\x1a\x1d.google.longrunning.Operation\"\x86\x01\xca\x41J\n\x15google.protobuf.Empty\x12\x31google.cloud.networkservices.v1.OperationMetadata\xda\x41\x04name\x82\xd3\xe4\x93\x02,**/v1/{name=projects/*/locations/*/meshes/*}\x12\xde\x01\n\x15ListServiceLbPolicies\x12=.google.cloud.networkservices.v1.ListServiceLbPoliciesRequest\x1a>.google.cloud.networkservices.v1.ListServiceLbPoliciesResponse\"F\xda\x41\x06parent\x82\xd3\xe4\x93\x02\x37\x12\x35/v1/{parent=projects/*/locations/*}/serviceLbPolicies\x12\xc8\x01\n\x12GetServiceLbPolicy\x12:.google.cloud.networkservices.v1.GetServiceLbPolicyRequest\x1a\x30.google.cloud.networkservices.v1.ServiceLbPolicy\"D\xda\x41\x04name\x82\xd3\xe4\x93\x02\x37\x12\x35/v1/{name=projects/*/locations/*/serviceLbPolicies/*}\x12\xbf\x02\n\x15\x43reateServiceLbPolicy\x12=.google.cloud.networkservices.v1.CreateServiceLbPolicyRequest\x1a\x1d.google.longrunning.Operation\"\xc7\x01\xca\x41\x44\n\x0fServiceLbPolicy\x12\x31google.cloud.networkservices.v1.OperationMetadata\xda\x41-parent,service_lb_policy,service_lb_policy_id\x82\xd3\xe4\x93\x02J\"5/v1/{parent=projects/*/locations/*}/serviceLbPolicies:\x11service_lb_policy\x12\xc1\x02\n\x15UpdateServiceLbPolicy\x12=.google.cloud.networkservices.v1.UpdateServiceLbPolicyRequest\x1a\x1d.google.longrunning.Operation\"\xc9\x01\xca\x41\x44\n\x0fServiceLbPolicy\x12\x31google.cloud.networkservices.v1.OperationMetadata\xda\x41\x1dservice_lb_policy,update_mask\x82\xd3\xe4\x93\x02\\2G/v1/{service_lb_policy.name=projects/*/locations/*/serviceLbPolicies/*}:\x11service_lb_policy\x12\x89\x02\n\x15\x44\x65leteServiceLbPolicy\x12=.google.cloud.networkservices.v1.DeleteServiceLbPolicyRequest\x1a\x1d.google.longrunning.Operation\"\x91\x01\xca\x41J\n\x15google.protobuf.Empty\x12\x31google.cloud.networkservices.v1.OperationMetadata\xda\x41\x04name\x82\xd3\xe4\x93\x02\x37*5/v1/{name=projects/*/locations/*/serviceLbPolicies/*}\x12\xcf\x01\n\x13GetGatewayRouteView\x12;.google.cloud.networkservices.v1.GetGatewayRouteViewRequest\x1a\x31.google.cloud.networkservices.v1.GatewayRouteView\"H\xda\x41\x04name\x82\xd3\xe4\x93\x02;\x12\x39/v1/{name=projects/*/locations/*/gateways/*/routeViews/*}\x12\xc4\x01\n\x10GetMeshRouteView\x12\x38.google.cloud.networkservices.v1.GetMeshRouteViewRequest\x1a..google.cloud.networkservices.v1.MeshRouteView\"F\xda\x41\x04name\x82\xd3\xe4\x93\x02\x39\x12\x37/v1/{name=projects/*/locations/*/meshes/*/routeViews/*}\x12\xe2\x01\n\x15ListGatewayRouteViews\x12=.google.cloud.networkservices.v1.ListGatewayRouteViewsRequest\x1a>.google.cloud.networkservices.v1.ListGatewayRouteViewsResponse\"J\xda\x41\x06parent\x82\xd3\xe4\x93\x02;\x12\x39/v1/{parent=projects/*/locations/*/gateways/*}/routeViews\x12\xd7\x01\n\x12ListMeshRouteViews\x12:.google.cloud.networkservices.v1.ListMeshRouteViewsRequest\x1a;.google.cloud.networkservices.v1.ListMeshRouteViewsResponse\"H\xda\x41\x06parent\x82\xd3\xe4\x93\x02\x39\x12\x37/v1/{parent=projects/*/locations/*/meshes/*}/routeViews\x12\xce\x01\n\x11ListAgentGateways\x12\x39.google.cloud.networkservices.v1.ListAgentGatewaysRequest\x1a:.google.cloud.networkservices.v1.ListAgentGatewaysResponse\"B\xda\x41\x06parent\x82\xd3\xe4\x93\x02\x33\x12\x31/v1/{parent=projects/*/locations/*}/agentGateways\x12\xbb\x01\n\x0fGetAgentGateway\x12\x37.google.cloud.networkservices.v1.GetAgentGatewayRequest\x1a-.google.cloud.networkservices.v1.AgentGateway\"@\xda\x41\x04name\x82\xd3\xe4\x93\x02\x33\x12\x31/v1/{name=projects/*/locations/*/agentGateways/*}\x12\xa6\x02\n\x12\x43reateAgentGateway\x12:.google.cloud.networkservices.v1.CreateAgentGatewayRequest\x1a\x1d.google.longrunning.Operation\"\xb4\x01\xca\x41\x41\n\x0c\x41gentGateway\x12\x31google.cloud.networkservices.v1.OperationMetadata\xda\x41%parent,agent_gateway,agent_gateway_id\x82\xd3\xe4\x93\x02\x42\"1/v1/{parent=projects/*/locations/*}/agentGateways:\ragent_gateway\x12\xa8\x02\n\x12UpdateAgentGateway\x12:.google.cloud.networkservices.v1.UpdateAgentGatewayRequest\x1a\x1d.google.longrunning.Operation\"\xb6\x01\xca\x41\x41\n\x0c\x41gentGateway\x12\x31google.cloud.networkservices.v1.OperationMetadata\xda\x41\x19\x61gent_gateway,update_mask\x82\xd3\xe4\x93\x02P2?/v1/{agent_gateway.name=projects/*/locations/*/agentGateways/*}:\ragent_gateway\x12\xff\x01\n\x12\x44\x65leteAgentGateway\x12:.google.cloud.networkservices.v1.DeleteAgentGatewayRequest\x1a\x1d.google.longrunning.Operation\"\x8d\x01\xca\x41J\n\x15google.protobuf.Empty\x12\x31google.cloud.networkservices.v1.OperationMetadata\xda\x41\x04name\x82\xd3\xe4\x93\x02\x33*1/v1/{name=projects/*/locations/*/agentGateways/*}\x1aR\xca\x41\x1enetworkservices.googleapis.com\xd2\x41.https://www.googleapis.com/auth/cloud-platformB\xdf\x01\n#com.google.cloud.networkservices.v1P\x01ZMcloud.google.com/go/networkservices/apiv1/networkservicespb;networkservicespb\xaa\x02\x1fGoogle.Cloud.NetworkServices.V1\xca\x02\x1fGoogle\\Cloud\\NetworkServices\\V1\xea\x02\"Google::Cloud::NetworkServices::V1b\x06proto3" pool = ::Google::Protobuf::DescriptorPool.generated_pool pool.add_serialized_file(descriptor_data) diff --git a/google-cloud-network_services-v1/lib/google/cloud/networkservices/v1/network_services_services_pb.rb b/google-cloud-network_services-v1/lib/google/cloud/networkservices/v1/network_services_services_pb.rb index 00e52df44ca1..d02f03a0f472 100644 --- a/google-cloud-network_services-v1/lib/google/cloud/networkservices/v1/network_services_services_pb.rb +++ b/google-cloud-network_services-v1/lib/google/cloud/networkservices/v1/network_services_services_pb.rb @@ -153,6 +153,16 @@ class Service rpc :ListGatewayRouteViews, ::Google::Cloud::NetworkServices::V1::ListGatewayRouteViewsRequest, ::Google::Cloud::NetworkServices::V1::ListGatewayRouteViewsResponse # Lists RouteViews rpc :ListMeshRouteViews, ::Google::Cloud::NetworkServices::V1::ListMeshRouteViewsRequest, ::Google::Cloud::NetworkServices::V1::ListMeshRouteViewsResponse + # Lists AgentGateways in a given project and location. + rpc :ListAgentGateways, ::Google::Cloud::NetworkServices::V1::ListAgentGatewaysRequest, ::Google::Cloud::NetworkServices::V1::ListAgentGatewaysResponse + # Gets details of a single AgentGateway. + rpc :GetAgentGateway, ::Google::Cloud::NetworkServices::V1::GetAgentGatewayRequest, ::Google::Cloud::NetworkServices::V1::AgentGateway + # Creates a new AgentGateway in a given project and location. + rpc :CreateAgentGateway, ::Google::Cloud::NetworkServices::V1::CreateAgentGatewayRequest, ::Google::Longrunning::Operation + # Updates the parameters of a single AgentGateway. + rpc :UpdateAgentGateway, ::Google::Cloud::NetworkServices::V1::UpdateAgentGatewayRequest, ::Google::Longrunning::Operation + # Deletes a single AgentGateway. + rpc :DeleteAgentGateway, ::Google::Cloud::NetworkServices::V1::DeleteAgentGatewayRequest, ::Google::Longrunning::Operation end Stub = Service.rpc_stub_class diff --git a/google-cloud-network_services-v1/lib/google/cloud/networkservices/v1/service_binding_pb.rb b/google-cloud-network_services-v1/lib/google/cloud/networkservices/v1/service_binding_pb.rb index 0e4e2a1f1310..ee63ef59e8ca 100644 --- a/google-cloud-network_services-v1/lib/google/cloud/networkservices/v1/service_binding_pb.rb +++ b/google-cloud-network_services-v1/lib/google/cloud/networkservices/v1/service_binding_pb.rb @@ -5,12 +5,13 @@ require 'google/protobuf' require 'google/api/field_behavior_pb' +require 'google/api/field_info_pb' require 'google/api/resource_pb' require 'google/protobuf/field_mask_pb' require 'google/protobuf/timestamp_pb' -descriptor_data = "\n5google/cloud/networkservices/v1/service_binding.proto\x12\x1fgoogle.cloud.networkservices.v1\x1a\x1fgoogle/api/field_behavior.proto\x1a\x19google/api/resource.proto\x1a google/protobuf/field_mask.proto\x1a\x1fgoogle/protobuf/timestamp.proto\"\x88\x04\n\x0eServiceBinding\x12\x11\n\x04name\x18\x01 \x01(\tB\x03\xe0\x41\x08\x12\x18\n\x0b\x64\x65scription\x18\x02 \x01(\tB\x03\xe0\x41\x01\x12\x34\n\x0b\x63reate_time\x18\x03 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x03\xe0\x41\x03\x12\x34\n\x0bupdate_time\x18\x04 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x03\xe0\x41\x03\x12\x42\n\x07service\x18\x05 \x01(\tB1\x18\x01\xe0\x41\x01\xfa\x41)\n\'servicedirectory.googleapis.com/Service\x12\x19\n\nservice_id\x18\x08 \x01(\tB\x05\x18\x01\xe0\x41\x03\x12P\n\x06labels\x18\x07 \x03(\x0b\x32;.google.cloud.networkservices.v1.ServiceBinding.LabelsEntryB\x03\xe0\x41\x01\x1a-\n\x0bLabelsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01:}\xea\x41z\n-networkservices.googleapis.com/ServiceBinding\x12Iprojects/{project}/locations/{location}/serviceBindings/{service_binding}\"\x8a\x01\n\x1aListServiceBindingsRequest\x12\x45\n\x06parent\x18\x01 \x01(\tB5\xe0\x41\x02\xfa\x41/\x12-networkservices.googleapis.com/ServiceBinding\x12\x11\n\tpage_size\x18\x02 \x01(\x05\x12\x12\n\npage_token\x18\x03 \x01(\t\"\x96\x01\n\x1bListServiceBindingsResponse\x12I\n\x10service_bindings\x18\x01 \x03(\x0b\x32/.google.cloud.networkservices.v1.ServiceBinding\x12\x17\n\x0fnext_page_token\x18\x02 \x01(\t\x12\x13\n\x0bunreachable\x18\x03 \x03(\t\"_\n\x18GetServiceBindingRequest\x12\x43\n\x04name\x18\x01 \x01(\tB5\xe0\x41\x02\xfa\x41/\n-networkservices.googleapis.com/ServiceBinding\"\xd4\x01\n\x1b\x43reateServiceBindingRequest\x12\x45\n\x06parent\x18\x01 \x01(\tB5\xe0\x41\x02\xfa\x41/\x12-networkservices.googleapis.com/ServiceBinding\x12\x1f\n\x12service_binding_id\x18\x02 \x01(\tB\x03\xe0\x41\x02\x12M\n\x0fservice_binding\x18\x03 \x01(\x0b\x32/.google.cloud.networkservices.v1.ServiceBindingB\x03\xe0\x41\x02\"\xa2\x01\n\x1bUpdateServiceBindingRequest\x12\x34\n\x0bupdate_mask\x18\x01 \x01(\x0b\x32\x1a.google.protobuf.FieldMaskB\x03\xe0\x41\x01\x12M\n\x0fservice_binding\x18\x02 \x01(\x0b\x32/.google.cloud.networkservices.v1.ServiceBindingB\x03\xe0\x41\x02\"b\n\x1b\x44\x65leteServiceBindingRequest\x12\x43\n\x04name\x18\x01 \x01(\tB5\xe0\x41\x02\xfa\x41/\n-networkservices.googleapis.com/ServiceBindingB\xf3\x02\n#com.google.cloud.networkservices.v1B\x13ServiceBindingProtoP\x01ZMcloud.google.com/go/networkservices/apiv1/networkservicespb;networkservicespb\xaa\x02\x1fGoogle.Cloud.NetworkServices.V1\xca\x02\x1fGoogle\\Cloud\\NetworkServices\\V1\xea\x02\"Google::Cloud::NetworkServices::V1\xea\x41|\n\'servicedirectory.googleapis.com/Service\x12Qprojects/{project}/locations/{location}/namespaces/{namespace}/services/{service}b\x06proto3" +descriptor_data = "\n5google/cloud/networkservices/v1/service_binding.proto\x12\x1fgoogle.cloud.networkservices.v1\x1a\x1fgoogle/api/field_behavior.proto\x1a\x1bgoogle/api/field_info.proto\x1a\x19google/api/resource.proto\x1a google/protobuf/field_mask.proto\x1a\x1fgoogle/protobuf/timestamp.proto\"\x88\x04\n\x0eServiceBinding\x12\x11\n\x04name\x18\x01 \x01(\tB\x03\xe0\x41\x08\x12\x18\n\x0b\x64\x65scription\x18\x02 \x01(\tB\x03\xe0\x41\x01\x12\x34\n\x0b\x63reate_time\x18\x03 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x03\xe0\x41\x03\x12\x34\n\x0bupdate_time\x18\x04 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x03\xe0\x41\x03\x12\x42\n\x07service\x18\x05 \x01(\tB1\x18\x01\xe0\x41\x01\xfa\x41)\n\'servicedirectory.googleapis.com/Service\x12\x19\n\nservice_id\x18\x08 \x01(\tB\x05\x18\x01\xe0\x41\x03\x12P\n\x06labels\x18\x07 \x03(\x0b\x32;.google.cloud.networkservices.v1.ServiceBinding.LabelsEntryB\x03\xe0\x41\x01\x1a-\n\x0bLabelsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01:}\xea\x41z\n-networkservices.googleapis.com/ServiceBinding\x12Iprojects/{project}/locations/{location}/serviceBindings/{service_binding}\"\x8a\x01\n\x1aListServiceBindingsRequest\x12\x45\n\x06parent\x18\x01 \x01(\tB5\xe0\x41\x02\xfa\x41/\x12-networkservices.googleapis.com/ServiceBinding\x12\x11\n\tpage_size\x18\x02 \x01(\x05\x12\x12\n\npage_token\x18\x03 \x01(\t\"\x96\x01\n\x1bListServiceBindingsResponse\x12I\n\x10service_bindings\x18\x01 \x03(\x0b\x32/.google.cloud.networkservices.v1.ServiceBinding\x12\x17\n\x0fnext_page_token\x18\x02 \x01(\t\x12\x13\n\x0bunreachable\x18\x03 \x03(\t\"_\n\x18GetServiceBindingRequest\x12\x43\n\x04name\x18\x01 \x01(\tB5\xe0\x41\x02\xfa\x41/\n-networkservices.googleapis.com/ServiceBinding\"\xd4\x01\n\x1b\x43reateServiceBindingRequest\x12\x45\n\x06parent\x18\x01 \x01(\tB5\xe0\x41\x02\xfa\x41/\x12-networkservices.googleapis.com/ServiceBinding\x12\x1f\n\x12service_binding_id\x18\x02 \x01(\tB\x03\xe0\x41\x02\x12M\n\x0fservice_binding\x18\x03 \x01(\x0b\x32/.google.cloud.networkservices.v1.ServiceBindingB\x03\xe0\x41\x02\"\xa2\x01\n\x1bUpdateServiceBindingRequest\x12\x34\n\x0bupdate_mask\x18\x01 \x01(\x0b\x32\x1a.google.protobuf.FieldMaskB\x03\xe0\x41\x01\x12M\n\x0fservice_binding\x18\x02 \x01(\x0b\x32/.google.cloud.networkservices.v1.ServiceBindingB\x03\xe0\x41\x02\"b\n\x1b\x44\x65leteServiceBindingRequest\x12\x43\n\x04name\x18\x01 \x01(\tB5\xe0\x41\x02\xfa\x41/\n-networkservices.googleapis.com/ServiceBindingB\xf3\x02\n#com.google.cloud.networkservices.v1B\x13ServiceBindingProtoP\x01ZMcloud.google.com/go/networkservices/apiv1/networkservicespb;networkservicespb\xaa\x02\x1fGoogle.Cloud.NetworkServices.V1\xca\x02\x1fGoogle\\Cloud\\NetworkServices\\V1\xea\x02\"Google::Cloud::NetworkServices::V1\xea\x41|\n\'servicedirectory.googleapis.com/Service\x12Qprojects/{project}/locations/{location}/namespaces/{namespace}/services/{service}b\x06proto3" pool = ::Google::Protobuf::DescriptorPool.generated_pool pool.add_serialized_file(descriptor_data) diff --git a/google-cloud-network_services-v1/lib/google/cloud/networkservices/v1/tls_route_pb.rb b/google-cloud-network_services-v1/lib/google/cloud/networkservices/v1/tls_route_pb.rb index a9e92148d70a..3b1b6565b309 100644 --- a/google-cloud-network_services-v1/lib/google/cloud/networkservices/v1/tls_route_pb.rb +++ b/google-cloud-network_services-v1/lib/google/cloud/networkservices/v1/tls_route_pb.rb @@ -11,7 +11,7 @@ require 'google/protobuf/timestamp_pb' -descriptor_data = "\n/google/cloud/networkservices/v1/tls_route.proto\x12\x1fgoogle.cloud.networkservices.v1\x1a\x1fgoogle/api/field_behavior.proto\x1a\x19google/api/resource.proto\x1a\x1egoogle/protobuf/duration.proto\x1a google/protobuf/field_mask.proto\x1a\x1fgoogle/protobuf/timestamp.proto\"\xd4\x08\n\x08TlsRoute\x12\x11\n\x04name\x18\x01 \x01(\tB\x03\xe0\x41\x08\x12\x16\n\tself_link\x18\x08 \x01(\tB\x03\xe0\x41\x03\x12\x34\n\x0b\x63reate_time\x18\x02 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x03\xe0\x41\x03\x12\x34\n\x0bupdate_time\x18\x03 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x03\xe0\x41\x03\x12\x18\n\x0b\x64\x65scription\x18\x04 \x01(\tB\x03\xe0\x41\x01\x12G\n\x05rules\x18\x05 \x03(\x0b\x32\x33.google.cloud.networkservices.v1.TlsRoute.RouteRuleB\x03\xe0\x41\x02\x12;\n\x06meshes\x18\x06 \x03(\tB+\xe0\x41\x01\xfa\x41%\n#networkservices.googleapis.com/Mesh\x12@\n\x08gateways\x18\x07 \x03(\tB.\xe0\x41\x01\xfa\x41(\n&networkservices.googleapis.com/Gateway\x12J\n\x06labels\x18\x0b \x03(\x0b\x32\x35.google.cloud.networkservices.v1.TlsRoute.LabelsEntryB\x03\xe0\x41\x01\x1a\xa3\x01\n\tRouteRule\x12J\n\x07matches\x18\x01 \x03(\x0b\x32\x34.google.cloud.networkservices.v1.TlsRoute.RouteMatchB\x03\xe0\x41\x02\x12J\n\x06\x61\x63tion\x18\x02 \x01(\x0b\x32\x35.google.cloud.networkservices.v1.TlsRoute.RouteActionB\x03\xe0\x41\x02\x1a\x36\n\nRouteMatch\x12\x15\n\x08sni_host\x18\x01 \x03(\tB\x03\xe0\x41\x01\x12\x11\n\x04\x61lpn\x18\x02 \x03(\tB\x03\xe0\x41\x01\x1a\x9a\x01\n\x0bRouteAction\x12U\n\x0c\x64\x65stinations\x18\x01 \x03(\x0b\x32:.google.cloud.networkservices.v1.TlsRoute.RouteDestinationB\x03\xe0\x41\x02\x12\x34\n\x0cidle_timeout\x18\x04 \x01(\x0b\x32\x19.google.protobuf.DurationB\x03\xe0\x41\x01\x1al\n\x10RouteDestination\x12\x43\n\x0cservice_name\x18\x01 \x01(\tB-\xe0\x41\x02\xfa\x41\'\n%compute.googleapis.com/BackendService\x12\x13\n\x06weight\x18\x02 \x01(\x05\x42\x03\xe0\x41\x01\x1a-\n\x0bLabelsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01:k\xea\x41h\n\'networkservices.googleapis.com/TlsRoute\x12=projects/{project}/locations/{location}/tlsRoutes/{tls_route}\"\xa3\x01\n\x14ListTlsRoutesRequest\x12?\n\x06parent\x18\x01 \x01(\tB/\xe0\x41\x02\xfa\x41)\x12\'networkservices.googleapis.com/TlsRoute\x12\x11\n\tpage_size\x18\x02 \x01(\x05\x12\x12\n\npage_token\x18\x03 \x01(\t\x12#\n\x16return_partial_success\x18\x04 \x01(\x08\x42\x03\xe0\x41\x01\"\x84\x01\n\x15ListTlsRoutesResponse\x12=\n\ntls_routes\x18\x01 \x03(\x0b\x32).google.cloud.networkservices.v1.TlsRoute\x12\x17\n\x0fnext_page_token\x18\x02 \x01(\t\x12\x13\n\x0bunreachable\x18\x03 \x03(\t\"S\n\x12GetTlsRouteRequest\x12=\n\x04name\x18\x01 \x01(\tB/\xe0\x41\x02\xfa\x41)\n\'networkservices.googleapis.com/TlsRoute\"\xb6\x01\n\x15\x43reateTlsRouteRequest\x12?\n\x06parent\x18\x01 \x01(\tB/\xe0\x41\x02\xfa\x41)\x12\'networkservices.googleapis.com/TlsRoute\x12\x19\n\x0ctls_route_id\x18\x02 \x01(\tB\x03\xe0\x41\x02\x12\x41\n\ttls_route\x18\x03 \x01(\x0b\x32).google.cloud.networkservices.v1.TlsRouteB\x03\xe0\x41\x02\"\x90\x01\n\x15UpdateTlsRouteRequest\x12\x34\n\x0bupdate_mask\x18\x01 \x01(\x0b\x32\x1a.google.protobuf.FieldMaskB\x03\xe0\x41\x01\x12\x41\n\ttls_route\x18\x02 \x01(\x0b\x32).google.cloud.networkservices.v1.TlsRouteB\x03\xe0\x41\x02\"V\n\x15\x44\x65leteTlsRouteRequest\x12=\n\x04name\x18\x01 \x01(\tB/\xe0\x41\x02\xfa\x41)\n\'networkservices.googleapis.com/TlsRouteB\xee\x01\n#com.google.cloud.networkservices.v1B\rTlsRouteProtoP\x01ZMcloud.google.com/go/networkservices/apiv1/networkservicespb;networkservicespb\xaa\x02\x1fGoogle.Cloud.NetworkServices.V1\xca\x02\x1fGoogle\\Cloud\\NetworkServices\\V1\xea\x02\"Google::Cloud::NetworkServices::V1b\x06proto3" +descriptor_data = "\n/google/cloud/networkservices/v1/tls_route.proto\x12\x1fgoogle.cloud.networkservices.v1\x1a\x1fgoogle/api/field_behavior.proto\x1a\x19google/api/resource.proto\x1a\x1egoogle/protobuf/duration.proto\x1a google/protobuf/field_mask.proto\x1a\x1fgoogle/protobuf/timestamp.proto\"\x9b\t\n\x08TlsRoute\x12\x11\n\x04name\x18\x01 \x01(\tB\x03\xe0\x41\x08\x12\x16\n\tself_link\x18\x08 \x01(\tB\x03\xe0\x41\x03\x12\x34\n\x0b\x63reate_time\x18\x02 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x03\xe0\x41\x03\x12\x34\n\x0bupdate_time\x18\x03 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x03\xe0\x41\x03\x12\x18\n\x0b\x64\x65scription\x18\x04 \x01(\tB\x03\xe0\x41\x01\x12G\n\x05rules\x18\x05 \x03(\x0b\x32\x33.google.cloud.networkservices.v1.TlsRoute.RouteRuleB\x03\xe0\x41\x02\x12;\n\x06meshes\x18\x06 \x03(\tB+\xe0\x41\x01\xfa\x41%\n#networkservices.googleapis.com/Mesh\x12@\n\x08gateways\x18\x07 \x03(\tB.\xe0\x41\x01\xfa\x41(\n&networkservices.googleapis.com/Gateway\x12\x45\n\x0etarget_proxies\x18\r \x03(\tB-\xe0\x41\x01\xfa\x41\'\n%compute.googleapis.com/TargetTcpProxy\x12J\n\x06labels\x18\x0b \x03(\x0b\x32\x35.google.cloud.networkservices.v1.TlsRoute.LabelsEntryB\x03\xe0\x41\x01\x1a\xa3\x01\n\tRouteRule\x12J\n\x07matches\x18\x01 \x03(\x0b\x32\x34.google.cloud.networkservices.v1.TlsRoute.RouteMatchB\x03\xe0\x41\x02\x12J\n\x06\x61\x63tion\x18\x02 \x01(\x0b\x32\x35.google.cloud.networkservices.v1.TlsRoute.RouteActionB\x03\xe0\x41\x02\x1a\x36\n\nRouteMatch\x12\x15\n\x08sni_host\x18\x01 \x03(\tB\x03\xe0\x41\x01\x12\x11\n\x04\x61lpn\x18\x02 \x03(\tB\x03\xe0\x41\x01\x1a\x9a\x01\n\x0bRouteAction\x12U\n\x0c\x64\x65stinations\x18\x01 \x03(\x0b\x32:.google.cloud.networkservices.v1.TlsRoute.RouteDestinationB\x03\xe0\x41\x02\x12\x34\n\x0cidle_timeout\x18\x04 \x01(\x0b\x32\x19.google.protobuf.DurationB\x03\xe0\x41\x01\x1al\n\x10RouteDestination\x12\x43\n\x0cservice_name\x18\x01 \x01(\tB-\xe0\x41\x02\xfa\x41\'\n%compute.googleapis.com/BackendService\x12\x13\n\x06weight\x18\x02 \x01(\x05\x42\x03\xe0\x41\x01\x1a-\n\x0bLabelsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01:k\xea\x41h\n\'networkservices.googleapis.com/TlsRoute\x12=projects/{project}/locations/{location}/tlsRoutes/{tls_route}\"\xa3\x01\n\x14ListTlsRoutesRequest\x12?\n\x06parent\x18\x01 \x01(\tB/\xe0\x41\x02\xfa\x41)\x12\'networkservices.googleapis.com/TlsRoute\x12\x11\n\tpage_size\x18\x02 \x01(\x05\x12\x12\n\npage_token\x18\x03 \x01(\t\x12#\n\x16return_partial_success\x18\x04 \x01(\x08\x42\x03\xe0\x41\x01\"\x84\x01\n\x15ListTlsRoutesResponse\x12=\n\ntls_routes\x18\x01 \x03(\x0b\x32).google.cloud.networkservices.v1.TlsRoute\x12\x17\n\x0fnext_page_token\x18\x02 \x01(\t\x12\x13\n\x0bunreachable\x18\x03 \x03(\t\"S\n\x12GetTlsRouteRequest\x12=\n\x04name\x18\x01 \x01(\tB/\xe0\x41\x02\xfa\x41)\n\'networkservices.googleapis.com/TlsRoute\"\xb6\x01\n\x15\x43reateTlsRouteRequest\x12?\n\x06parent\x18\x01 \x01(\tB/\xe0\x41\x02\xfa\x41)\x12\'networkservices.googleapis.com/TlsRoute\x12\x19\n\x0ctls_route_id\x18\x02 \x01(\tB\x03\xe0\x41\x02\x12\x41\n\ttls_route\x18\x03 \x01(\x0b\x32).google.cloud.networkservices.v1.TlsRouteB\x03\xe0\x41\x02\"\x90\x01\n\x15UpdateTlsRouteRequest\x12\x34\n\x0bupdate_mask\x18\x01 \x01(\x0b\x32\x1a.google.protobuf.FieldMaskB\x03\xe0\x41\x01\x12\x41\n\ttls_route\x18\x02 \x01(\x0b\x32).google.cloud.networkservices.v1.TlsRouteB\x03\xe0\x41\x02\"V\n\x15\x44\x65leteTlsRouteRequest\x12=\n\x04name\x18\x01 \x01(\tB/\xe0\x41\x02\xfa\x41)\n\'networkservices.googleapis.com/TlsRouteB\xe5\x02\n#com.google.cloud.networkservices.v1B\rTlsRouteProtoP\x01ZMcloud.google.com/go/networkservices/apiv1/networkservicespb;networkservicespb\xaa\x02\x1fGoogle.Cloud.NetworkServices.V1\xca\x02\x1fGoogle\\Cloud\\NetworkServices\\V1\xea\x02\"Google::Cloud::NetworkServices::V1\xea\x41t\n%compute.googleapis.com/TargetTcpProxy\x12Kprojects/{project}/locations/{location}/targetTcpProxies/{target_tcp_proxy}b\x06proto3" pool = ::Google::Protobuf::DescriptorPool.generated_pool pool.add_serialized_file(descriptor_data) diff --git a/google-cloud-network_services-v1/proto_docs/google/cloud/networkservices/v1/agent_gateway.rb b/google-cloud-network_services-v1/proto_docs/google/cloud/networkservices/v1/agent_gateway.rb new file mode 100644 index 000000000000..1fb0c68cb71e --- /dev/null +++ b/google-cloud-network_services-v1/proto_docs/google/cloud/networkservices/v1/agent_gateway.rb @@ -0,0 +1,302 @@ +# frozen_string_literal: true + +# Copyright 2026 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! + + +module Google + module Cloud + module NetworkServices + module V1 + # AgentGateway represents the agent gateway resource. + # @!attribute [rw] google_managed + # @return [::Google::Cloud::NetworkServices::V1::AgentGateway::GoogleManaged] + # Optional. Proxy is orchestrated and managed by GoogleCloud in a tenant + # project. + # + # Note: The following fields are mutually exclusive: `google_managed`, `self_managed`. If a field in that set is populated, all other fields in the set will automatically be cleared. + # @!attribute [rw] self_managed + # @return [::Google::Cloud::NetworkServices::V1::AgentGateway::SelfManaged] + # Optional. Attach to existing Application Load Balancers or Secure Web + # Proxies. + # + # Note: The following fields are mutually exclusive: `self_managed`, `google_managed`. If a field in that set is populated, all other fields in the set will automatically be cleared. + # @!attribute [rw] name + # @return [::String] + # Identifier. Name of the AgentGateway resource. It matches pattern + # `projects/*/locations/*/agentGateways/`. + # @!attribute [r] create_time + # @return [::Google::Protobuf::Timestamp] + # Output only. The timestamp when the resource was created. + # @!attribute [r] update_time + # @return [::Google::Protobuf::Timestamp] + # Output only. The timestamp when the resource was updated. + # @!attribute [rw] labels + # @return [::Google::Protobuf::Map{::String => ::String}] + # Optional. Set of label tags associated with the AgentGateway resource. + # @!attribute [rw] description + # @return [::String] + # Optional. A free-text description of the resource. Max length 1024 + # characters. + # @!attribute [rw] etag + # @return [::String] + # Optional. Etag of the resource. + # If this is provided, it must match the server's etag. If the provided etag + # does not match the server's etag, the request will fail with a 409 ABORTED + # error. + # @!attribute [rw] protocols + # @deprecated This field is deprecated and may be removed in the next major version update. + # @return [::Array<::Google::Cloud::NetworkServices::V1::AgentGateway::Protocol>] + # Optional. Deprecated. + # @!attribute [rw] registries + # @return [::Array<::String>] + # Optional. A list of Agent registries containing the agents, MCP servers and + # tools governed by the Agent Gateway. Note: Currently limited to + # project-scoped registries Must be of format + # `//agentregistry.googleapis.com/projects/{project}/locations/{location}/ + # @!attribute [rw] network_config + # @return [::Google::Cloud::NetworkServices::V1::AgentGateway::NetworkConfig] + # Optional. Network configuration for the AgentGateway. + # @!attribute [r] agent_gateway_card + # @return [::Google::Cloud::NetworkServices::V1::AgentGateway::AgentGatewayOutputCard] + # Output only. Field for populated AgentGateway card. + class AgentGateway + include ::Google::Protobuf::MessageExts + extend ::Google::Protobuf::MessageExts::ClassMethods + + # Configuration for Google Managed deployment mode. + # Proxy is orchestrated and managed by GoogleCloud in a tenant project. + # @!attribute [rw] governed_access_path + # @return [::Google::Cloud::NetworkServices::V1::AgentGateway::GoogleManaged::GovernedAccessPath] + # Optional. Operating Mode of Agent Gateway. + class GoogleManaged + include ::Google::Protobuf::MessageExts + extend ::Google::Protobuf::MessageExts::ClassMethods + + # GovernedAccessPath defines the type of access to protect. + module GovernedAccessPath + # Governed access path is not specified. + GOVERNED_ACCESS_PATH_UNSPECIFIED = 0 + + # Govern agent conections to destinations. + AGENT_TO_ANYWHERE = 1 + + # Protect connection to Agent or Tool. + CLIENT_TO_AGENT = 2 + end + end + + # Configuration for Self Managed deployment mode. + # Attach to existing Application Load Balancers or Secure Web Proxies. + # @!attribute [rw] resource_uri + # @return [::String] + # Optional. A supported Google Cloud networking proxy in the Project and + # Location + class SelfManaged + include ::Google::Protobuf::MessageExts + extend ::Google::Protobuf::MessageExts::ClassMethods + end + + # NetworkConfig contains network configurations for the AgentGateway. + # @!attribute [rw] egress + # @return [::Google::Cloud::NetworkServices::V1::AgentGateway::NetworkConfig::Egress] + # Optional. Optional PSC-Interface network attachment for connectivity to + # your private VPCs network. + # @!attribute [rw] dns_peering_config + # @return [::Google::Cloud::NetworkServices::V1::AgentGateway::NetworkConfig::DnsPeeringConfig] + # Optional. Optional DNS peering configuration for connectivity to your + # private VPC network. + class NetworkConfig + include ::Google::Protobuf::MessageExts + extend ::Google::Protobuf::MessageExts::ClassMethods + + # Configuration for Egress + # @!attribute [rw] network_attachment + # @return [::String] + # Optional. The URI of the Network Attachment resource. + # @!attribute [rw] trust_config + # @return [::Google::Cloud::NetworkServices::V1::AgentGateway::NetworkConfig::Egress::TrustConfig] + # Optional. TrustConfig defines the trust configuration for egress. + class Egress + include ::Google::Protobuf::MessageExts + extend ::Google::Protobuf::MessageExts::ClassMethods + + # TrustConfig defines the trust configuration for egress. + # @!attribute [rw] pem_certificates + # @return [::Array<::String>] + # Required. PEM encoded root certificates used to validate the identity + # of the upstream servers/destinations during egress connections. + class TrustConfig + include ::Google::Protobuf::MessageExts + extend ::Google::Protobuf::MessageExts::ClassMethods + end + end + + # DNS peering config for the user VPC network. + # @!attribute [rw] domains + # @return [::Array<::String>] + # Required. Domain names for which DNS queries should be forwarded to the + # target network. + # @!attribute [rw] target_project + # @return [::String] + # Required. Target project ID to which DNS queries should be forwarded + # to. This can be the same project that contains the AgentGateway or a + # different project. + # @!attribute [rw] target_network + # @return [::String] + # Required. Target network in 'target project' to which DNS queries + # should be forwarded to. Must be in format of + # `projects/{project}/global/networks/{network}`. + class DnsPeeringConfig + include ::Google::Protobuf::MessageExts + extend ::Google::Protobuf::MessageExts::ClassMethods + end + end + + # AgentGatewayOutputCard contains informational output-only fields + # @!attribute [r] mtls_endpoint + # @return [::String] + # Output only. mTLS Endpoint associated with this AgentGateway + # @!attribute [r] root_certificates + # @return [::Array<::String>] + # Output only. Root Certificates for Agents to validate this AgentGateway + # @!attribute [r] service_extensions_service_account + # @return [::String] + # Output only. Service Account used by Service Extensions to operate. + class AgentGatewayOutputCard + include ::Google::Protobuf::MessageExts + extend ::Google::Protobuf::MessageExts::ClassMethods + end + + # @!attribute [rw] key + # @return [::String] + # @!attribute [rw] value + # @return [::String] + class LabelsEntry + include ::Google::Protobuf::MessageExts + extend ::Google::Protobuf::MessageExts::ClassMethods + end + + # Enums of all supported protocols + module Protocol + # Unspecified protocol. + PROTOCOL_UNSPECIFIED = 0 + + # Message Control Plane protocol. + MCP = 1 + end + end + + # Request used with the ListAgentGateways method. + # @!attribute [rw] parent + # @return [::String] + # Required. The project and location from which the AgentGateways should be + # listed, specified in the format `projects/*/locations/*`. + # @!attribute [rw] page_size + # @return [::Integer] + # Optional. Maximum number of AgentGateways to return per call. + # @!attribute [rw] page_token + # @return [::String] + # Optional. The value returned by the last `ListAgentGatewaysResponse` + # Indicates that this is a continuation of a prior `ListAgentGateways` + # call, and that the system should return the next page of data. + # @!attribute [rw] return_partial_success + # @return [::Boolean] + # Optional. If true, allow partial responses for multi-regional Aggregated + # List requests. Otherwise if one of the locations is down or unreachable, + # the Aggregated List request will fail. + class ListAgentGatewaysRequest + include ::Google::Protobuf::MessageExts + extend ::Google::Protobuf::MessageExts::ClassMethods + end + + # Response returned by the ListAgentGateways method. + # @!attribute [rw] agent_gateways + # @return [::Array<::Google::Cloud::NetworkServices::V1::AgentGateway>] + # List of AgentGateway resources. + # @!attribute [rw] next_page_token + # @return [::String] + # If there might be more results than those appearing in this response, then + # `next_page_token` is included. To get the next set of results, call this + # method again using the value of `next_page_token` as `page_token`. + # @!attribute [rw] unreachable + # @return [::Array<::String>] + # Unreachable resources. Populated when the request attempts to list all + # resources across all supported locations, while some locations are + # temporarily unavailable. + class ListAgentGatewaysResponse + include ::Google::Protobuf::MessageExts + extend ::Google::Protobuf::MessageExts::ClassMethods + end + + # Request used by the GetAgentGateway method. + # @!attribute [rw] name + # @return [::String] + # Required. A name of the AgentGateway to get. Must be in the format + # `projects/*/locations/*/agentGateways/*`. + class GetAgentGatewayRequest + include ::Google::Protobuf::MessageExts + extend ::Google::Protobuf::MessageExts::ClassMethods + end + + # Request used by the CreateAgentGateway method. + # @!attribute [rw] parent + # @return [::String] + # Required. The parent resource of the AgentGateway. Must be in the + # format `projects/*/locations/*`. + # @!attribute [rw] agent_gateway_id + # @return [::String] + # Required. Short name of the AgentGateway resource to be created. + # @!attribute [rw] agent_gateway + # @return [::Google::Cloud::NetworkServices::V1::AgentGateway] + # Required. AgentGateway resource to be created. + class CreateAgentGatewayRequest + include ::Google::Protobuf::MessageExts + extend ::Google::Protobuf::MessageExts::ClassMethods + end + + # Request used by the UpdateAgentGateway method. + # @!attribute [rw] update_mask + # @return [::Google::Protobuf::FieldMask] + # Optional. Field mask is used to specify the fields to be overwritten in the + # AgentGateway resource by the update. + # The fields specified in the update_mask are relative to the resource, not + # the full request. A field will be overwritten if it is in the mask. If the + # user does not provide a mask then all fields will be overwritten. + # @!attribute [rw] agent_gateway + # @return [::Google::Cloud::NetworkServices::V1::AgentGateway] + # Required. Updated AgentGateway resource. + class UpdateAgentGatewayRequest + include ::Google::Protobuf::MessageExts + extend ::Google::Protobuf::MessageExts::ClassMethods + end + + # Request used by the DeleteAgentGateway method. + # @!attribute [rw] name + # @return [::String] + # Required. A name of the AgentGateway to delete. Must be in the format + # `projects/*/locations/*/agentGateways/*`. + # @!attribute [rw] etag + # @return [::String] + # Optional. The etag of the AgentGateway to delete. + class DeleteAgentGatewayRequest + include ::Google::Protobuf::MessageExts + extend ::Google::Protobuf::MessageExts::ClassMethods + end + end + end + end +end diff --git a/google-cloud-network_services-v1/proto_docs/google/cloud/networkservices/v1/common.rb b/google-cloud-network_services-v1/proto_docs/google/cloud/networkservices/v1/common.rb index 7ba9c40c394c..de9ea008823f 100644 --- a/google-cloud-network_services-v1/proto_docs/google/cloud/networkservices/v1/common.rb +++ b/google-cloud-network_services-v1/proto_docs/google/cloud/networkservices/v1/common.rb @@ -151,10 +151,10 @@ module EnvoyHeaders NONE = 1 # Envoy will insert default internal debug headers into upstream requests: - # x-envoy-attempt-count - # x-envoy-is-timeout-retry - # x-envoy-expected-rq-timeout-ms - # x-envoy-original-path + # x-envoy-attempt-count, + # x-envoy-is-timeout-retry, + # x-envoy-expected-rq-timeout-ms, + # x-envoy-original-path, # x-envoy-upstream-stream-duration-ms DEBUG_HEADERS = 2 end diff --git a/google-cloud-network_services-v1/proto_docs/google/cloud/networkservices/v1/dep.rb b/google-cloud-network_services-v1/proto_docs/google/cloud/networkservices/v1/dep.rb index aac96e319d55..2bee31a5cd46 100644 --- a/google-cloud-network_services-v1/proto_docs/google/cloud/networkservices/v1/dep.rb +++ b/google-cloud-network_services-v1/proto_docs/google/cloud/networkservices/v1/dep.rb @@ -62,12 +62,14 @@ class MatchCondition # A single extension in the chain to execute for the matching request. # @!attribute [rw] name # @return [::String] - # Required. The name for this extension. + # Optional. The name for this extension. # The name is logged as part of the HTTP request logs. # The name must conform with RFC-1034, is restricted to lower-cased # letters, numbers and hyphens, and can have a maximum length of 63 # characters. Additionally, the first character must be a letter and the # last a letter or a number. + # + # This field is required except for AuthzExtension. # @!attribute [rw] authority # @return [::String] # Optional. The `:authority` header in the gRPC request sent from Envoy @@ -112,6 +114,10 @@ class MatchCondition # # For the `LbEdgeExtension` resource, this field is required and must only # contain `REQUEST_HEADERS` event. + # + # For the `AuthzExtension` resource, this field is optional. + # `REQUEST_HEADERS` is the only supported event. If unspecified, + # `REQUEST_HEADERS` event is assumed as supported. # @!attribute [rw] timeout # @return [::Google::Protobuf::Duration] # Optional. Specifies the timeout for each individual message on the @@ -141,13 +147,27 @@ class MatchCondition # Optional. List of the HTTP headers to forward to the extension # (from the client or backend). If omitted, all headers are sent. # Each element is a string indicating the header name. + # @!attribute [rw] forward_attributes + # @return [::Array<::String>] + # Optional. List of the Envoy attributes to forward to the extension + # server. The attributes provided here are included as part of the + # `ProcessingRequest.attributes` field (of type + # `map`), where the keys are the attribute + # names. Refer to the + # [documentation](https://cloud.google.com/service-extensions/docs/cel-matcher-language-reference#attributes) + # for the names of attributes that can be forwarded. If omitted, no + # attributes are sent. Each element is a string indicating the + # attribute name. # @!attribute [rw] metadata # @return [::Google::Protobuf::Struct] # Optional. The metadata provided here is included as part of the # `metadata_context` (of type `google.protobuf.Struct`) in the # `ProcessingRequest` message sent to the extension server. # - # The metadata is available under the namespace + # For `AuthzExtension` resources, the metadata is available under the + # namespace `com.google.authz_extension.`. + # For other types of extensions, the metadata is available under the + # namespace # `com.google....`. # For example: # `com.google.lb_traffic_extension.lbtrafficextension1.chain1.ext1`. @@ -171,6 +191,45 @@ class MatchCondition # * The length of each key must be less than 64 characters. # * The length of each value must be less than 1024 characters. # * All values must be strings. + # @!attribute [rw] request_body_send_mode + # @return [::Google::Cloud::NetworkServices::V1::BodySendMode] + # Optional. Configures the send mode for request body processing. + # + # The field can only be set if `supported_events` includes `REQUEST_BODY`. + # If `supported_events` includes `REQUEST_BODY`, + # but `request_body_send_mode` is unset, the default value `STREAMED` is + # used. + # + # When this field is set to `FULL_DUPLEX_STREAMED`, `supported_events` + # must include both `REQUEST_BODY` and `REQUEST_TRAILERS`. + # + # This field can be set only for `LbTrafficExtension` and + # `LbRouteExtension` resources, and only when the `service` field of the + # extension points to a `BackendService`. Only `FULL_DUPLEX_STREAMED` mode + # is supported for `LbRouteExtension` resources. + # @!attribute [rw] response_body_send_mode + # @return [::Google::Cloud::NetworkServices::V1::BodySendMode] + # Optional. Configures the send mode for response processing. If + # unspecified, the default value `STREAMED` is used. + # + # The field can only be set if `supported_events` includes `RESPONSE_BODY`. + # If `supported_events` includes `RESPONSE_BODY`, but + # `response_body_send_mode` is unset, the default value `STREAMED` is used. + # + # When this field is set to `FULL_DUPLEX_STREAMED`, `supported_events` + # must include both `RESPONSE_BODY` and `RESPONSE_TRAILERS`. + # + # This field can be set only for `LbTrafficExtension` resources, and only + # when the `service` field of the extension points to a `BackendService`. + # @!attribute [rw] observability_mode + # @return [::Boolean] + # Optional. When set to `true`, the calls to the extension backend are + # performed asynchronously, without pausing the processing of the ongoing + # request. In this mode, only `STREAMED` (default) body processing is + # supported. Responses, if any, are ignored. + # + # Supported by regional `LbTrafficExtension` and `LbRouteExtension` + # resources. class Extension include ::Google::Protobuf::MessageExts extend ::Google::Protobuf::MessageExts::ClassMethods @@ -831,15 +890,17 @@ class DeleteLbEdgeExtensionRequest # resources. # @!attribute [rw] load_balancing_scheme # @return [::Google::Cloud::NetworkServices::V1::LoadBalancingScheme] - # Required. All backend services and forwarding rules referenced by this + # Optional. All backend services and forwarding rules referenced by this # extension must share the same load balancing scheme. Supported values: - # `INTERNAL_MANAGED`, `EXTERNAL_MANAGED`. For more information, refer to + # `INTERNAL_MANAGED`, `EXTERNAL_MANAGED`. Can be omitted for AuthzExtensions + # that do not reference a backend service. For more information, refer to # [Backend services # overview](https://cloud.google.com/load-balancing/docs/backend-service). # @!attribute [rw] authority # @return [::String] - # Required. The `:authority` header in the gRPC request sent from Envoy - # to the extension service. + # Optional. The `:authority` header in the gRPC request sent from Envoy to + # the extension service. It is required when the `service` field points to a + # backend service or a wasm plugin. # @!attribute [rw] service # @return [::String] # Required. The reference to the service that runs the extension. @@ -888,10 +949,23 @@ class DeleteLbEdgeExtensionRequest # Optional. List of the HTTP headers to forward to the extension # (from the client). If omitted, all headers are sent. # Each element is a string indicating the header name. + # @!attribute [rw] forward_attributes + # @return [::Array<::String>] + # Optional. List of the Envoy attributes to forward to the extension server. + # The attributes provided here are included as part of the + # `ProcessingRequest.attributes` field (of type + # `map`), where the keys are the attribute + # names. Refer to the + # [documentation](https://cloud.google.com/service-extensions/docs/cel-matcher-language-reference#attributes) + # for the names of attributes that can be forwarded. If omitted, no + # attributes are sent. Each element is a string indicating the + # attribute name. # @!attribute [rw] wire_format # @return [::Google::Cloud::NetworkServices::V1::WireFormat] # Optional. The format of communication supported by the callout extension. - # If not specified, the default value `EXT_PROC_GRPC` is used. + # This field is supported only for regional `AuthzExtension` resources. If + # not specified, the default value `EXT_PROC_GRPC` is used. Global + # `AuthzExtension` resources use the `EXT_PROC_GRPC` wire format. class AuthzExtension include ::Google::Protobuf::MessageExts extend ::Google::Protobuf::MessageExts::ClassMethods @@ -1099,6 +1173,35 @@ module WireFormat # `supported_events` for a client request are sent as part of the same # gRPC stream. EXT_PROC_GRPC = 1 + + # The extension service uses Envoy's `ext_authz` gRPC API. The backend + # service for the extension must use HTTP2 or H2C as the protocol. + # `EXT_AUTHZ_GRPC` is only supported for regional `AuthzExtension` resources. + EXT_AUTHZ_GRPC = 3 + end + + # The send mode for body processing. + module BodySendMode + # Default value. Do not use. + BODY_SEND_MODE_UNSPECIFIED = 0 + + # Calls to the extension are executed in the streamed mode. Subsequent + # chunks will be sent only after the previous chunks have been processed. + # + # The content of the body chunks is sent one way to the extension. Extension + # may send modified chunks back. + # + # This is the default value if the processing mode is not specified. + BODY_SEND_MODE_STREAMED = 1 + + # Calls are executed in the full duplex mode. Subsequent chunks will be sent + # for processing without waiting for the response for the previous chunk or + # for the response for `REQUEST_HEADERS` event. + # + # Extension can freely modify or chunk the body contents. If the extension + # doesn't send the body contents back, the next extension in the chain or the + # upstream will receive an empty body. + BODY_SEND_MODE_FULL_DUPLEX_STREAMED = 2 end end end diff --git a/google-cloud-network_services-v1/proto_docs/google/cloud/networkservices/v1/endpoint_policy.rb b/google-cloud-network_services-v1/proto_docs/google/cloud/networkservices/v1/endpoint_policy.rb index b1c4d5222c24..6d0a76def9df 100644 --- a/google-cloud-network_services-v1/proto_docs/google/cloud/networkservices/v1/endpoint_policy.rb +++ b/google-cloud-network_services-v1/proto_docs/google/cloud/networkservices/v1/endpoint_policy.rb @@ -28,7 +28,7 @@ module V1 # @!attribute [rw] name # @return [::String] # Identifier. Name of the EndpointPolicy resource. It matches pattern - # `projects/{project}/locations/global/endpointPolicies/{endpoint_policy}`. + # `projects/{project}/locations/*/endpointPolicies/{endpoint_policy}`. # @!attribute [r] create_time # @return [::Google::Protobuf::Timestamp] # Output only. The timestamp when the resource was created. @@ -107,7 +107,7 @@ module EndpointPolicyType # @!attribute [rw] parent # @return [::String] # Required. The project and location from which the EndpointPolicies should - # be listed, specified in the format `projects/*/locations/global`. + # be listed, specified in the format `projects/*/locations/*`. # @!attribute [rw] page_size # @return [::Integer] # Maximum number of EndpointPolicies to return per call. @@ -151,7 +151,7 @@ class ListEndpointPoliciesResponse # @!attribute [rw] name # @return [::String] # Required. A name of the EndpointPolicy to get. Must be in the format - # `projects/*/locations/global/endpointPolicies/*`. + # `projects/*/locations/*/endpointPolicies/*`. class GetEndpointPolicyRequest include ::Google::Protobuf::MessageExts extend ::Google::Protobuf::MessageExts::ClassMethods @@ -161,7 +161,7 @@ class GetEndpointPolicyRequest # @!attribute [rw] parent # @return [::String] # Required. The parent resource of the EndpointPolicy. Must be in the - # format `projects/*/locations/global`. + # format `projects/*/locations/*`. # @!attribute [rw] endpoint_policy_id # @return [::String] # Required. Short name of the EndpointPolicy resource to be created. @@ -194,7 +194,7 @@ class UpdateEndpointPolicyRequest # @!attribute [rw] name # @return [::String] # Required. A name of the EndpointPolicy to delete. Must be in the format - # `projects/*/locations/global/endpointPolicies/*`. + # `projects/*/locations/*/endpointPolicies/*`. class DeleteEndpointPolicyRequest include ::Google::Protobuf::MessageExts extend ::Google::Protobuf::MessageExts::ClassMethods diff --git a/google-cloud-network_services-v1/proto_docs/google/cloud/networkservices/v1/extensibility.rb b/google-cloud-network_services-v1/proto_docs/google/cloud/networkservices/v1/extensibility.rb index dcd31f1c461a..f7f43bac6c49 100644 --- a/google-cloud-network_services-v1/proto_docs/google/cloud/networkservices/v1/extensibility.rb +++ b/google-cloud-network_services-v1/proto_docs/google/cloud/networkservices/v1/extensibility.rb @@ -96,10 +96,23 @@ class WasmPlugin # @return [::String] # URI of the plugin configuration stored in the Artifact Registry. # The configuration is provided to the plugin at runtime through - # the `ON_CONFIGURE` callback. The container image must - # contain only a single file with the name - # `plugin.config`. When a new `WasmPluginVersion` - # resource is created, the digest of the container image is saved in the + # the `ON_CONFIGURE` callback. + # + # The URI can refer to one of the following repository formats: + # + # * Container images: the `plugin_config_uri` must point to a container + # that contains a single file with the name `plugin.config`. + # When a new `WasmPluginVersion` resource is created, the digest of the + # image is saved in the `plugin_config_digest` field. + # When pulling a container image from Artifact Registry, the digest + # value is used instead of an image tag. + # + # * Generic artifacts: the `plugin_config_uri` must be in this format: + # `projects/{project}/locations/{location}/repositories/{repository}/ + # genericArtifacts/\\{package}:\\{version}`. + # The specified package and version must contain a file with the name + # `plugin.config`. When a new `WasmPluginVersion` resource is + # created, the checksum of the contents of the file is saved in the # `plugin_config_digest` field. # # Note: The following fields are mutually exclusive: `plugin_config_uri`, `plugin_config_data`. If a field in that set is populated, all other fields in the set will automatically be cleared. @@ -118,23 +131,38 @@ class WasmPlugin # resource. # @!attribute [rw] image_uri # @return [::String] - # Optional. URI of the container image containing the Wasm module, stored - # in the Artifact Registry. The container image must contain only a single - # file with the name `plugin.wasm`. When a new `WasmPluginVersion` resource - # is created, the URI gets resolved to an image digest and saved in the - # `image_digest` field. + # Optional. URI of the image containing the Wasm module, stored in + # Artifact Registry. + # + # The URI can refer to one of the following repository formats: + # + # * Container images: the `image_uri` must point to a container that + # contains a single file with the name `plugin.wasm`. + # When a new `WasmPluginVersion` resource is created, the digest of the + # image is saved in the `image_digest` field. + # When pulling a container image from Artifact Registry, the digest value + # is used instead of an image tag. + # + # * Generic artifacts: the `image_uri` must be in this format: + # `projects/{project}/locations/{location}/repositories/{repository}/ + # genericArtifacts/\\{package}:\\{version}`. + # The specified package and version must contain a file with the name + # `plugin.wasm`. When a new `WasmPluginVersion` resource is created, the + # checksum of the contents of the file is saved in the `image_digest` + # field. # @!attribute [r] image_digest # @return [::String] - # Output only. The resolved digest for the image specified in `image`. - # The digest is resolved during the creation of a - # `WasmPluginVersion` resource. - # This field holds the digest value regardless of whether a tag or - # digest was originally specified in the `image` field. + # Output only. This field holds the digest (usually checksum) value for the + # plugin image. The value is calculated based on the `image_uri` field. If + # the `image_uri` field refers to a container image, the digest value is + # obtained from the container image. If the `image_uri` field refers to + # a generic artifact, the digest value is calculated based on the + # contents of the file. # @!attribute [r] plugin_config_digest # @return [::String] # Output only. This field holds the digest (usually checksum) value for the # plugin configuration. The value is calculated based on the contents of - # the `plugin_config_data` field or the container image defined by the + # `plugin_config_data` field or the image defined by the # `plugin_config_uri` field. class VersionDetails include ::Google::Protobuf::MessageExts @@ -172,9 +200,9 @@ class LabelsEntry # This field can be specified only if logging is enabled for this plugin. # @!attribute [rw] min_log_level # @return [::Google::Cloud::NetworkServices::V1::WasmPlugin::LogConfig::LogLevel] - # Non-empty default. Specificies the lowest level of the plugin logs that - # are exported to Cloud Logging. This setting relates to the logs generated - # by using logging statements in your Wasm code. + # Non-empty default. Specifies the lowest level of the plugin logs that are + # exported to Cloud Logging. This setting relates to the logs generated by + # using logging statements in your Wasm code. # # This field is can be set only if logging is enabled for the plugin. # @@ -255,10 +283,24 @@ class VersionsEntry # @return [::String] # URI of the plugin configuration stored in the Artifact Registry. # The configuration is provided to the plugin at runtime through - # the `ON_CONFIGURE` callback. The container image must contain - # only a single file with the name `plugin.config`. When a - # new `WasmPluginVersion` resource is created, the digest of the - # container image is saved in the `plugin_config_digest` field. + # the `ON_CONFIGURE` callback. + # + # The URI can refer to one of the following repository formats: + # + # * Container images: the `plugin_config_uri` must point to a container + # that contains a single file with the name `plugin.config`. + # When a new `WasmPluginVersion` resource is created, the digest of the + # image is saved in the `plugin_config_digest` field. + # When pulling a container image from Artifact Registry, the digest + # value is used instead of an image tag. + # + # * Generic artifacts: the `plugin_config_uri` must be in this format: + # `projects/{project}/locations/{location}/repositories/{repository}/ + # genericArtifacts/\\{package}:\\{version}`. + # The specified package and version must contain a file with the name + # `plugin.config`. When a new `WasmPluginVersion` resource is + # created, the checksum of the contents of the file is saved in the + # `plugin_config_digest` field. # # Note: The following fields are mutually exclusive: `plugin_config_uri`, `plugin_config_data`. If a field in that set is populated, all other fields in the set will automatically be cleared. # @!attribute [rw] name @@ -281,24 +323,39 @@ class VersionsEntry # resource. # @!attribute [rw] image_uri # @return [::String] - # Optional. URI of the container image containing the plugin, stored in the + # Optional. URI of the image containing the Wasm module, stored in # Artifact Registry. - # When a new `WasmPluginVersion` resource is created, the digest - # of the container image is saved in the `image_digest` field. - # When downloading an image, the digest value is used instead of an - # image tag. + # + # The URI can refer to one of the following repository formats: + # + # * Container images: the `image_uri` must point to a container that + # contains a single file with the name `plugin.wasm`. + # When a new `WasmPluginVersion` resource is created, the digest of the + # image is saved in the `image_digest` field. + # When pulling a container image from Artifact Registry, the digest value + # is used instead of an image tag. + # + # * Generic artifacts: the `image_uri` must be in this format: + # `projects/{project}/locations/{location}/repositories/{repository}/ + # genericArtifacts/\\{package}:\\{version}`. + # The specified package and version must contain a file with the name + # `plugin.wasm`. When a new `WasmPluginVersion` resource is created, the + # checksum of the contents of the file is saved in the `image_digest` + # field. # @!attribute [r] image_digest # @return [::String] - # Output only. The resolved digest for the image specified in the `image` - # field. The digest is resolved during the creation of `WasmPluginVersion` - # resource. This field holds the digest value, regardless of whether a tag or - # digest was originally specified in the `image` field. + # Output only. This field holds the digest (usually checksum) value for the + # plugin image. The value is calculated based on the `image_uri` field. If + # the `image_uri` field refers to a container image, the digest value is + # obtained from the container image. If the `image_uri` field refers to + # a generic artifact, the digest value is calculated based on the + # contents of the file. # @!attribute [r] plugin_config_digest # @return [::String] # Output only. This field holds the digest (usually checksum) value for the # plugin configuration. The value is calculated based on the contents of - # `plugin_config_data` or the container image defined by - # the `plugin_config_uri` field. + # `plugin_config_data` field or the image defined by the + # `plugin_config_uri` field. class WasmPluginVersion include ::Google::Protobuf::MessageExts extend ::Google::Protobuf::MessageExts::ClassMethods diff --git a/google-cloud-network_services-v1/proto_docs/google/cloud/networkservices/v1/gateway.rb b/google-cloud-network_services-v1/proto_docs/google/cloud/networkservices/v1/gateway.rb index 9313bb453909..95f4cea563ee 100644 --- a/google-cloud-network_services-v1/proto_docs/google/cloud/networkservices/v1/gateway.rb +++ b/google-cloud-network_services-v1/proto_docs/google/cloud/networkservices/v1/gateway.rb @@ -61,9 +61,14 @@ module V1 # @return [::Array<::Integer>] # Required. One or more port numbers (1-65535), on which the Gateway will # receive traffic. The proxy binds to the specified ports. - # Gateways of type 'SECURE_WEB_GATEWAY' are limited to 1 port. + # Gateways of type 'SECURE_WEB_GATEWAY' are limited to 5 ports. # Gateways of type 'OPEN_MESH' listen on 0.0.0.0 for IPv4 and :: for IPv6 and # support multiple ports. + # @!attribute [rw] all_ports + # @return [::Boolean] + # Optional. If true, the Gateway will listen on all ports. This is mutually + # exclusive with the `ports` field. This field only applies to gateways of + # type 'SECURE_WEB_GATEWAY'. # @!attribute [rw] scope # @return [::String] # Optional. Scope determines how configuration across multiple Gateway @@ -121,6 +126,11 @@ module V1 # Optional. The routing mode of the Gateway. # This field is configurable only for gateways of type SECURE_WEB_GATEWAY. # This field is required for gateways of type SECURE_WEB_GATEWAY. + # @!attribute [rw] allow_global_access + # @return [::Boolean] + # Optional. If true, the gateway will allow traffic from clients outside of + # the region where the gateway is located. + # This field is configurable only for gateways of type SECURE_WEB_GATEWAY. class Gateway include ::Google::Protobuf::MessageExts extend ::Google::Protobuf::MessageExts::ClassMethods diff --git a/google-cloud-network_services-v1/proto_docs/google/cloud/networkservices/v1/grpc_route.rb b/google-cloud-network_services-v1/proto_docs/google/cloud/networkservices/v1/grpc_route.rb index 141b96f6920e..0c659d9b1e02 100644 --- a/google-cloud-network_services-v1/proto_docs/google/cloud/networkservices/v1/grpc_route.rb +++ b/google-cloud-network_services-v1/proto_docs/google/cloud/networkservices/v1/grpc_route.rb @@ -26,7 +26,7 @@ module V1 # @!attribute [rw] name # @return [::String] # Identifier. Name of the GrpcRoute resource. It matches pattern - # `projects/*/locations/global/grpcRoutes/` + # `projects/*/locations/*/grpcRoutes/` # @!attribute [r] self_link # @return [::String] # Output only. Server-defined URL of this resource @@ -82,7 +82,7 @@ module V1 # one of the routing rules to route the requests served by the mesh. # # Each mesh reference should match the pattern: - # `projects/*/locations/global/meshes/` + # `projects/*/locations/*/meshes/` # @!attribute [rw] gateways # @return [::Array<::String>] # Optional. Gateways defines a list of gateways this GrpcRoute is attached @@ -90,7 +90,7 @@ module V1 # gateway. # # Each gateway reference should match the pattern: - # `projects/*/locations/global/gateways/` + # `projects/*/locations/*/gateways/` # @!attribute [rw] rules # @return [::Array<::Google::Cloud::NetworkServices::V1::GrpcRoute::RouteRule>] # Required. A list of detailed rules defining how to route traffic. @@ -378,7 +378,7 @@ class LabelsEntry # @!attribute [rw] parent # @return [::String] # Required. The project and location from which the GrpcRoutes should be - # listed, specified in the format `projects/*/locations/global`. + # listed, specified in the format `projects/*/locations/*`. # @!attribute [rw] page_size # @return [::Integer] # Maximum number of GrpcRoutes to return per call. @@ -421,7 +421,7 @@ class ListGrpcRoutesResponse # @!attribute [rw] name # @return [::String] # Required. A name of the GrpcRoute to get. Must be in the format - # `projects/*/locations/global/grpcRoutes/*`. + # `projects/*/locations/*/grpcRoutes/*`. class GetGrpcRouteRequest include ::Google::Protobuf::MessageExts extend ::Google::Protobuf::MessageExts::ClassMethods @@ -431,7 +431,7 @@ class GetGrpcRouteRequest # @!attribute [rw] parent # @return [::String] # Required. The parent resource of the GrpcRoute. Must be in the - # format `projects/*/locations/global`. + # format `projects/*/locations/*`. # @!attribute [rw] grpc_route_id # @return [::String] # Required. Short name of the GrpcRoute resource to be created. @@ -463,7 +463,7 @@ class UpdateGrpcRouteRequest # @!attribute [rw] name # @return [::String] # Required. A name of the GrpcRoute to delete. Must be in the format - # `projects/*/locations/global/grpcRoutes/*`. + # `projects/*/locations/*/grpcRoutes/*`. class DeleteGrpcRouteRequest include ::Google::Protobuf::MessageExts extend ::Google::Protobuf::MessageExts::ClassMethods diff --git a/google-cloud-network_services-v1/proto_docs/google/cloud/networkservices/v1/http_route.rb b/google-cloud-network_services-v1/proto_docs/google/cloud/networkservices/v1/http_route.rb index 6993bb98088a..d1b46b9a8ccf 100644 --- a/google-cloud-network_services-v1/proto_docs/google/cloud/networkservices/v1/http_route.rb +++ b/google-cloud-network_services-v1/proto_docs/google/cloud/networkservices/v1/http_route.rb @@ -26,7 +26,7 @@ module V1 # @!attribute [rw] name # @return [::String] # Identifier. Name of the HttpRoute resource. It matches pattern - # `projects/*/locations/global/httpRoutes/http_route_name>`. + # `projects/*/locations/*/httpRoutes/http_route_name>`. # @!attribute [r] self_link # @return [::String] # Output only. Server-defined URL of this resource @@ -72,7 +72,7 @@ module V1 # one of the routing rules to route the requests served by the mesh. # # Each mesh reference should match the pattern: - # `projects/*/locations/global/meshes/` + # `projects/*/locations/*/meshes/` # # The attached Mesh should be of a type SIDECAR # @!attribute [rw] gateways @@ -82,7 +82,7 @@ module V1 # gateway. # # Each gateway reference should match the pattern: - # `projects/*/locations/global/gateways/` + # `projects/*/locations/*/gateways/` # @!attribute [rw] labels # @return [::Google::Protobuf::Map{::String => ::String}] # Optional. Set of label tags associated with the HttpRoute resource. @@ -683,7 +683,7 @@ class LabelsEntry # @!attribute [rw] parent # @return [::String] # Required. The project and location from which the HttpRoutes should be - # listed, specified in the format `projects/*/locations/global`. + # listed, specified in the format `projects/*/locations/*`. # @!attribute [rw] page_size # @return [::Integer] # Maximum number of HttpRoutes to return per call. @@ -697,6 +697,9 @@ class LabelsEntry # Optional. If true, allow partial responses for multi-regional Aggregated # List requests. Otherwise if one of the locations is down or unreachable, # the Aggregated List request will fail. + # @!attribute [rw] filter + # @return [::String] + # Optional. Filter expression to restrict the list. class ListHttpRoutesRequest include ::Google::Protobuf::MessageExts extend ::Google::Protobuf::MessageExts::ClassMethods @@ -726,7 +729,7 @@ class ListHttpRoutesResponse # @!attribute [rw] name # @return [::String] # Required. A name of the HttpRoute to get. Must be in the format - # `projects/*/locations/global/httpRoutes/*`. + # `projects/*/locations/*/httpRoutes/*`. class GetHttpRouteRequest include ::Google::Protobuf::MessageExts extend ::Google::Protobuf::MessageExts::ClassMethods @@ -736,13 +739,16 @@ class GetHttpRouteRequest # @!attribute [rw] parent # @return [::String] # Required. The parent resource of the HttpRoute. Must be in the - # format `projects/*/locations/global`. + # format `projects/*/locations/*`. # @!attribute [rw] http_route_id # @return [::String] # Required. Short name of the HttpRoute resource to be created. # @!attribute [rw] http_route # @return [::Google::Cloud::NetworkServices::V1::HttpRoute] # Required. HttpRoute resource to be created. + # @!attribute [rw] request_id + # @return [::String] + # Optional. Idempotent request UUID. class CreateHttpRouteRequest include ::Google::Protobuf::MessageExts extend ::Google::Protobuf::MessageExts::ClassMethods @@ -768,7 +774,7 @@ class UpdateHttpRouteRequest # @!attribute [rw] name # @return [::String] # Required. A name of the HttpRoute to delete. Must be in the format - # `projects/*/locations/global/httpRoutes/*`. + # `projects/*/locations/*/httpRoutes/*`. class DeleteHttpRouteRequest include ::Google::Protobuf::MessageExts extend ::Google::Protobuf::MessageExts::ClassMethods diff --git a/google-cloud-network_services-v1/proto_docs/google/cloud/networkservices/v1/mesh.rb b/google-cloud-network_services-v1/proto_docs/google/cloud/networkservices/v1/mesh.rb index 68dda0e6ad07..e122fa2b2d6c 100644 --- a/google-cloud-network_services-v1/proto_docs/google/cloud/networkservices/v1/mesh.rb +++ b/google-cloud-network_services-v1/proto_docs/google/cloud/networkservices/v1/mesh.rb @@ -27,7 +27,7 @@ module V1 # @!attribute [rw] name # @return [::String] # Identifier. Name of the Mesh resource. It matches pattern - # `projects/*/locations/global/meshes/`. + # `projects/*/locations/*/meshes/`. # @!attribute [r] self_link # @return [::String] # Output only. Server-defined URL of this resource @@ -75,7 +75,7 @@ class LabelsEntry # @!attribute [rw] parent # @return [::String] # Required. The project and location from which the Meshes should be - # listed, specified in the format `projects/*/locations/global`. + # listed, specified in the format `projects/*/locations/*`. # @!attribute [rw] page_size # @return [::Integer] # Maximum number of Meshes to return per call. @@ -117,7 +117,7 @@ class ListMeshesResponse # @!attribute [rw] name # @return [::String] # Required. A name of the Mesh to get. Must be in the format - # `projects/*/locations/global/meshes/*`. + # `projects/*/locations/*/meshes/*`. class GetMeshRequest include ::Google::Protobuf::MessageExts extend ::Google::Protobuf::MessageExts::ClassMethods @@ -127,7 +127,7 @@ class GetMeshRequest # @!attribute [rw] parent # @return [::String] # Required. The parent resource of the Mesh. Must be in the - # format `projects/*/locations/global`. + # format `projects/*/locations/*`. # @!attribute [rw] mesh_id # @return [::String] # Required. Short name of the Mesh resource to be created. @@ -159,7 +159,7 @@ class UpdateMeshRequest # @!attribute [rw] name # @return [::String] # Required. A name of the Mesh to delete. Must be in the format - # `projects/*/locations/global/meshes/*`. + # `projects/*/locations/*/meshes/*`. class DeleteMeshRequest include ::Google::Protobuf::MessageExts extend ::Google::Protobuf::MessageExts::ClassMethods diff --git a/google-cloud-network_services-v1/proto_docs/google/cloud/networkservices/v1/tcp_route.rb b/google-cloud-network_services-v1/proto_docs/google/cloud/networkservices/v1/tcp_route.rb index 93e7b5209820..2b36aec1d8ab 100644 --- a/google-cloud-network_services-v1/proto_docs/google/cloud/networkservices/v1/tcp_route.rb +++ b/google-cloud-network_services-v1/proto_docs/google/cloud/networkservices/v1/tcp_route.rb @@ -26,7 +26,7 @@ module V1 # @!attribute [rw] name # @return [::String] # Identifier. Name of the TcpRoute resource. It matches pattern - # `projects/*/locations/global/tcpRoutes/tcp_route_name>`. + # `projects/*/locations/*/tcpRoutes/tcp_route_name>`. # @!attribute [r] self_link # @return [::String] # Output only. Server-defined URL of this resource @@ -51,7 +51,7 @@ module V1 # one of the routing rules to route the requests served by the mesh. # # Each mesh reference should match the pattern: - # `projects/*/locations/global/meshes/` + # `projects/*/locations/*/meshes/` # # The attached Mesh should be of a type SIDECAR # @!attribute [rw] gateways @@ -60,7 +60,7 @@ module V1 # as one of the routing rules to route the requests served by the gateway. # # Each gateway reference should match the pattern: - # `projects/*/locations/global/gateways/` + # `projects/*/locations/*/gateways/` # @!attribute [rw] labels # @return [::Google::Protobuf::Map{::String => ::String}] # Optional. Set of label tags associated with the TcpRoute resource. @@ -167,7 +167,7 @@ class LabelsEntry # @!attribute [rw] parent # @return [::String] # Required. The project and location from which the TcpRoutes should be - # listed, specified in the format `projects/*/locations/global`. + # listed, specified in the format `projects/*/locations/*`. # @!attribute [rw] page_size # @return [::Integer] # Maximum number of TcpRoutes to return per call. @@ -210,7 +210,7 @@ class ListTcpRoutesResponse # @!attribute [rw] name # @return [::String] # Required. A name of the TcpRoute to get. Must be in the format - # `projects/*/locations/global/tcpRoutes/*`. + # `projects/*/locations/*/tcpRoutes/*`. class GetTcpRouteRequest include ::Google::Protobuf::MessageExts extend ::Google::Protobuf::MessageExts::ClassMethods @@ -220,7 +220,7 @@ class GetTcpRouteRequest # @!attribute [rw] parent # @return [::String] # Required. The parent resource of the TcpRoute. Must be in the - # format `projects/*/locations/global`. + # format `projects/*/locations/*`. # @!attribute [rw] tcp_route_id # @return [::String] # Required. Short name of the TcpRoute resource to be created. @@ -252,7 +252,7 @@ class UpdateTcpRouteRequest # @!attribute [rw] name # @return [::String] # Required. A name of the TcpRoute to delete. Must be in the format - # `projects/*/locations/global/tcpRoutes/*`. + # `projects/*/locations/*/tcpRoutes/*`. class DeleteTcpRouteRequest include ::Google::Protobuf::MessageExts extend ::Google::Protobuf::MessageExts::ClassMethods diff --git a/google-cloud-network_services-v1/proto_docs/google/cloud/networkservices/v1/tls_route.rb b/google-cloud-network_services-v1/proto_docs/google/cloud/networkservices/v1/tls_route.rb index 420c2011c430..55d108c98b24 100644 --- a/google-cloud-network_services-v1/proto_docs/google/cloud/networkservices/v1/tls_route.rb +++ b/google-cloud-network_services-v1/proto_docs/google/cloud/networkservices/v1/tls_route.rb @@ -26,7 +26,7 @@ module V1 # @!attribute [rw] name # @return [::String] # Identifier. Name of the TlsRoute resource. It matches pattern - # `projects/*/locations/global/tlsRoutes/tls_route_name>`. + # `projects/*/locations/*/tlsRoutes/tls_route_name>`. # @!attribute [r] self_link # @return [::String] # Output only. Server-defined URL of this resource @@ -51,7 +51,7 @@ module V1 # one of the routing rules to route the requests served by the mesh. # # Each mesh reference should match the pattern: - # `projects/*/locations/global/meshes/` + # `projects/*/locations/*/meshes/` # # The attached Mesh should be of a type SIDECAR # @!attribute [rw] gateways @@ -60,7 +60,15 @@ module V1 # as one of the routing rules to route the requests served by the gateway. # # Each gateway reference should match the pattern: - # `projects/*/locations/global/gateways/` + # `projects/*/locations/*/gateways/` + # @!attribute [rw] target_proxies + # @return [::Array<::String>] + # Optional. TargetProxies defines a list of TargetTcpProxies this TlsRoute is + # attached to, as one of the routing rules to route the requests served by + # the TargetTcpProxy. + # + # Each TargetTcpProxy reference should match the pattern: + # `projects/*/locations/*/targetTcpProxies/` # @!attribute [rw] labels # @return [::Google::Protobuf::Map{::String => ::String}] # Optional. Set of label tags associated with the TlsRoute resource. @@ -152,7 +160,7 @@ class LabelsEntry # @!attribute [rw] parent # @return [::String] # Required. The project and location from which the TlsRoutes should be - # listed, specified in the format `projects/*/locations/global`. + # listed, specified in the format `projects/*/locations/*`. # @!attribute [rw] page_size # @return [::Integer] # Maximum number of TlsRoutes to return per call. @@ -195,7 +203,7 @@ class ListTlsRoutesResponse # @!attribute [rw] name # @return [::String] # Required. A name of the TlsRoute to get. Must be in the format - # `projects/*/locations/global/tlsRoutes/*`. + # `projects/*/locations/*/tlsRoutes/*`. class GetTlsRouteRequest include ::Google::Protobuf::MessageExts extend ::Google::Protobuf::MessageExts::ClassMethods @@ -205,7 +213,7 @@ class GetTlsRouteRequest # @!attribute [rw] parent # @return [::String] # Required. The parent resource of the TlsRoute. Must be in the - # format `projects/*/locations/global`. + # format `projects/*/locations/*`. # @!attribute [rw] tls_route_id # @return [::String] # Required. Short name of the TlsRoute resource to be created. @@ -237,7 +245,7 @@ class UpdateTlsRouteRequest # @!attribute [rw] name # @return [::String] # Required. A name of the TlsRoute to delete. Must be in the format - # `projects/*/locations/global/tlsRoutes/*`. + # `projects/*/locations/*/tlsRoutes/*`. class DeleteTlsRouteRequest include ::Google::Protobuf::MessageExts extend ::Google::Protobuf::MessageExts::ClassMethods diff --git a/google-cloud-network_services-v1/snippets/network_services/create_agent_gateway.rb b/google-cloud-network_services-v1/snippets/network_services/create_agent_gateway.rb new file mode 100644 index 000000000000..6d32ab0266c6 --- /dev/null +++ b/google-cloud-network_services-v1/snippets/network_services/create_agent_gateway.rb @@ -0,0 +1,54 @@ +# frozen_string_literal: true + +# Copyright 2026 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! + +# [START networkservices_v1_generated_NetworkServices_CreateAgentGateway_sync] +require "google/cloud/network_services/v1" + +## +# Snippet for the create_agent_gateway call in the NetworkServices service +# +# This snippet has been automatically generated and should be regarded as a code +# template only. It will require modifications to work: +# - It may require correct/in-range values for request initialization. +# - It may require specifying regional endpoints when creating the service +# client as shown in https://cloud.google.com/ruby/docs/reference. +# +# This is an auto-generated example demonstrating basic usage of +# Google::Cloud::NetworkServices::V1::NetworkServices::Client#create_agent_gateway. +# +def create_agent_gateway + # Create a client object. The client can be reused for multiple calls. + client = Google::Cloud::NetworkServices::V1::NetworkServices::Client.new + + # Create a request. To set request fields, pass in keyword arguments. + request = Google::Cloud::NetworkServices::V1::CreateAgentGatewayRequest.new + + # Call the create_agent_gateway method. + result = client.create_agent_gateway request + + # The returned object is of type Gapic::Operation. You can use it to + # check the status of an operation, cancel it, or wait for results. + # Here is how to wait for a response. + result.wait_until_done! timeout: 60 + if result.response? + p result.response + else + puts "No response received." + end +end +# [END networkservices_v1_generated_NetworkServices_CreateAgentGateway_sync] diff --git a/google-cloud-network_services-v1/snippets/network_services/delete_agent_gateway.rb b/google-cloud-network_services-v1/snippets/network_services/delete_agent_gateway.rb new file mode 100644 index 000000000000..e8095b452da0 --- /dev/null +++ b/google-cloud-network_services-v1/snippets/network_services/delete_agent_gateway.rb @@ -0,0 +1,54 @@ +# frozen_string_literal: true + +# Copyright 2026 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! + +# [START networkservices_v1_generated_NetworkServices_DeleteAgentGateway_sync] +require "google/cloud/network_services/v1" + +## +# Snippet for the delete_agent_gateway call in the NetworkServices service +# +# This snippet has been automatically generated and should be regarded as a code +# template only. It will require modifications to work: +# - It may require correct/in-range values for request initialization. +# - It may require specifying regional endpoints when creating the service +# client as shown in https://cloud.google.com/ruby/docs/reference. +# +# This is an auto-generated example demonstrating basic usage of +# Google::Cloud::NetworkServices::V1::NetworkServices::Client#delete_agent_gateway. +# +def delete_agent_gateway + # Create a client object. The client can be reused for multiple calls. + client = Google::Cloud::NetworkServices::V1::NetworkServices::Client.new + + # Create a request. To set request fields, pass in keyword arguments. + request = Google::Cloud::NetworkServices::V1::DeleteAgentGatewayRequest.new + + # Call the delete_agent_gateway method. + result = client.delete_agent_gateway request + + # The returned object is of type Gapic::Operation. You can use it to + # check the status of an operation, cancel it, or wait for results. + # Here is how to wait for a response. + result.wait_until_done! timeout: 60 + if result.response? + p result.response + else + puts "No response received." + end +end +# [END networkservices_v1_generated_NetworkServices_DeleteAgentGateway_sync] diff --git a/google-cloud-network_services-v1/snippets/network_services/get_agent_gateway.rb b/google-cloud-network_services-v1/snippets/network_services/get_agent_gateway.rb new file mode 100644 index 000000000000..2e83b044ffb2 --- /dev/null +++ b/google-cloud-network_services-v1/snippets/network_services/get_agent_gateway.rb @@ -0,0 +1,47 @@ +# frozen_string_literal: true + +# Copyright 2026 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! + +# [START networkservices_v1_generated_NetworkServices_GetAgentGateway_sync] +require "google/cloud/network_services/v1" + +## +# Snippet for the get_agent_gateway call in the NetworkServices service +# +# This snippet has been automatically generated and should be regarded as a code +# template only. It will require modifications to work: +# - It may require correct/in-range values for request initialization. +# - It may require specifying regional endpoints when creating the service +# client as shown in https://cloud.google.com/ruby/docs/reference. +# +# This is an auto-generated example demonstrating basic usage of +# Google::Cloud::NetworkServices::V1::NetworkServices::Client#get_agent_gateway. +# +def get_agent_gateway + # Create a client object. The client can be reused for multiple calls. + client = Google::Cloud::NetworkServices::V1::NetworkServices::Client.new + + # Create a request. To set request fields, pass in keyword arguments. + request = Google::Cloud::NetworkServices::V1::GetAgentGatewayRequest.new + + # Call the get_agent_gateway method. + result = client.get_agent_gateway request + + # The returned object is of type Google::Cloud::NetworkServices::V1::AgentGateway. + p result +end +# [END networkservices_v1_generated_NetworkServices_GetAgentGateway_sync] diff --git a/google-cloud-network_services-v1/snippets/network_services/list_agent_gateways.rb b/google-cloud-network_services-v1/snippets/network_services/list_agent_gateways.rb new file mode 100644 index 000000000000..8164e1d1e87e --- /dev/null +++ b/google-cloud-network_services-v1/snippets/network_services/list_agent_gateways.rb @@ -0,0 +1,51 @@ +# frozen_string_literal: true + +# Copyright 2026 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! + +# [START networkservices_v1_generated_NetworkServices_ListAgentGateways_sync] +require "google/cloud/network_services/v1" + +## +# Snippet for the list_agent_gateways call in the NetworkServices service +# +# This snippet has been automatically generated and should be regarded as a code +# template only. It will require modifications to work: +# - It may require correct/in-range values for request initialization. +# - It may require specifying regional endpoints when creating the service +# client as shown in https://cloud.google.com/ruby/docs/reference. +# +# This is an auto-generated example demonstrating basic usage of +# Google::Cloud::NetworkServices::V1::NetworkServices::Client#list_agent_gateways. +# +def list_agent_gateways + # Create a client object. The client can be reused for multiple calls. + client = Google::Cloud::NetworkServices::V1::NetworkServices::Client.new + + # Create a request. To set request fields, pass in keyword arguments. + request = Google::Cloud::NetworkServices::V1::ListAgentGatewaysRequest.new + + # Call the list_agent_gateways method. + result = client.list_agent_gateways 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::NetworkServices::V1::AgentGateway. + p item + end +end +# [END networkservices_v1_generated_NetworkServices_ListAgentGateways_sync] diff --git a/google-cloud-network_services-v1/snippets/network_services/update_agent_gateway.rb b/google-cloud-network_services-v1/snippets/network_services/update_agent_gateway.rb new file mode 100644 index 000000000000..df2d8dd08149 --- /dev/null +++ b/google-cloud-network_services-v1/snippets/network_services/update_agent_gateway.rb @@ -0,0 +1,54 @@ +# frozen_string_literal: true + +# Copyright 2026 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! + +# [START networkservices_v1_generated_NetworkServices_UpdateAgentGateway_sync] +require "google/cloud/network_services/v1" + +## +# Snippet for the update_agent_gateway call in the NetworkServices service +# +# This snippet has been automatically generated and should be regarded as a code +# template only. It will require modifications to work: +# - It may require correct/in-range values for request initialization. +# - It may require specifying regional endpoints when creating the service +# client as shown in https://cloud.google.com/ruby/docs/reference. +# +# This is an auto-generated example demonstrating basic usage of +# Google::Cloud::NetworkServices::V1::NetworkServices::Client#update_agent_gateway. +# +def update_agent_gateway + # Create a client object. The client can be reused for multiple calls. + client = Google::Cloud::NetworkServices::V1::NetworkServices::Client.new + + # Create a request. To set request fields, pass in keyword arguments. + request = Google::Cloud::NetworkServices::V1::UpdateAgentGatewayRequest.new + + # Call the update_agent_gateway method. + result = client.update_agent_gateway request + + # The returned object is of type Gapic::Operation. You can use it to + # check the status of an operation, cancel it, or wait for results. + # Here is how to wait for a response. + result.wait_until_done! timeout: 60 + if result.response? + p result.response + else + puts "No response received." + end +end +# [END networkservices_v1_generated_NetworkServices_UpdateAgentGateway_sync] diff --git a/google-cloud-network_services-v1/snippets/snippet_metadata_google.cloud.networkservices.v1.json b/google-cloud-network_services-v1/snippets/snippet_metadata_google.cloud.networkservices.v1.json index 767394ad683f..c67bac3d9427 100644 --- a/google-cloud-network_services-v1/snippets/snippet_metadata_google.cloud.networkservices.v1.json +++ b/google-cloud-network_services-v1/snippets/snippet_metadata_google.cloud.networkservices.v1.json @@ -3130,6 +3130,206 @@ "type": "FULL" } ] + }, + { + "region_tag": "networkservices_v1_generated_NetworkServices_ListAgentGateways_sync", + "title": "Snippet for the list_agent_gateways call in the NetworkServices service", + "description": "This is an auto-generated example demonstrating basic usage of Google::Cloud::NetworkServices::V1::NetworkServices::Client#list_agent_gateways.", + "file": "network_services/list_agent_gateways.rb", + "language": "RUBY", + "client_method": { + "short_name": "list_agent_gateways", + "full_name": "::Google::Cloud::NetworkServices::V1::NetworkServices::Client#list_agent_gateways", + "async": false, + "parameters": [ + { + "type": "::Google::Cloud::NetworkServices::V1::ListAgentGatewaysRequest", + "name": "request" + } + ], + "result_type": "::Google::Cloud::NetworkServices::V1::ListAgentGatewaysResponse", + "client": { + "short_name": "NetworkServices::Client", + "full_name": "::Google::Cloud::NetworkServices::V1::NetworkServices::Client" + }, + "method": { + "short_name": "ListAgentGateways", + "full_name": "google.cloud.networkservices.v1.NetworkServices.ListAgentGateways", + "service": { + "short_name": "NetworkServices", + "full_name": "google.cloud.networkservices.v1.NetworkServices" + } + } + }, + "canonical": true, + "origin": "API_DEFINITION", + "segments": [ + { + "start": 20, + "end": 50, + "type": "FULL" + } + ] + }, + { + "region_tag": "networkservices_v1_generated_NetworkServices_GetAgentGateway_sync", + "title": "Snippet for the get_agent_gateway call in the NetworkServices service", + "description": "This is an auto-generated example demonstrating basic usage of Google::Cloud::NetworkServices::V1::NetworkServices::Client#get_agent_gateway.", + "file": "network_services/get_agent_gateway.rb", + "language": "RUBY", + "client_method": { + "short_name": "get_agent_gateway", + "full_name": "::Google::Cloud::NetworkServices::V1::NetworkServices::Client#get_agent_gateway", + "async": false, + "parameters": [ + { + "type": "::Google::Cloud::NetworkServices::V1::GetAgentGatewayRequest", + "name": "request" + } + ], + "result_type": "::Google::Cloud::NetworkServices::V1::AgentGateway", + "client": { + "short_name": "NetworkServices::Client", + "full_name": "::Google::Cloud::NetworkServices::V1::NetworkServices::Client" + }, + "method": { + "short_name": "GetAgentGateway", + "full_name": "google.cloud.networkservices.v1.NetworkServices.GetAgentGateway", + "service": { + "short_name": "NetworkServices", + "full_name": "google.cloud.networkservices.v1.NetworkServices" + } + } + }, + "canonical": true, + "origin": "API_DEFINITION", + "segments": [ + { + "start": 20, + "end": 46, + "type": "FULL" + } + ] + }, + { + "region_tag": "networkservices_v1_generated_NetworkServices_CreateAgentGateway_sync", + "title": "Snippet for the create_agent_gateway call in the NetworkServices service", + "description": "This is an auto-generated example demonstrating basic usage of Google::Cloud::NetworkServices::V1::NetworkServices::Client#create_agent_gateway.", + "file": "network_services/create_agent_gateway.rb", + "language": "RUBY", + "client_method": { + "short_name": "create_agent_gateway", + "full_name": "::Google::Cloud::NetworkServices::V1::NetworkServices::Client#create_agent_gateway", + "async": false, + "parameters": [ + { + "type": "::Google::Cloud::NetworkServices::V1::CreateAgentGatewayRequest", + "name": "request" + } + ], + "result_type": "::Google::Longrunning::Operation", + "client": { + "short_name": "NetworkServices::Client", + "full_name": "::Google::Cloud::NetworkServices::V1::NetworkServices::Client" + }, + "method": { + "short_name": "CreateAgentGateway", + "full_name": "google.cloud.networkservices.v1.NetworkServices.CreateAgentGateway", + "service": { + "short_name": "NetworkServices", + "full_name": "google.cloud.networkservices.v1.NetworkServices" + } + } + }, + "canonical": true, + "origin": "API_DEFINITION", + "segments": [ + { + "start": 20, + "end": 53, + "type": "FULL" + } + ] + }, + { + "region_tag": "networkservices_v1_generated_NetworkServices_UpdateAgentGateway_sync", + "title": "Snippet for the update_agent_gateway call in the NetworkServices service", + "description": "This is an auto-generated example demonstrating basic usage of Google::Cloud::NetworkServices::V1::NetworkServices::Client#update_agent_gateway.", + "file": "network_services/update_agent_gateway.rb", + "language": "RUBY", + "client_method": { + "short_name": "update_agent_gateway", + "full_name": "::Google::Cloud::NetworkServices::V1::NetworkServices::Client#update_agent_gateway", + "async": false, + "parameters": [ + { + "type": "::Google::Cloud::NetworkServices::V1::UpdateAgentGatewayRequest", + "name": "request" + } + ], + "result_type": "::Google::Longrunning::Operation", + "client": { + "short_name": "NetworkServices::Client", + "full_name": "::Google::Cloud::NetworkServices::V1::NetworkServices::Client" + }, + "method": { + "short_name": "UpdateAgentGateway", + "full_name": "google.cloud.networkservices.v1.NetworkServices.UpdateAgentGateway", + "service": { + "short_name": "NetworkServices", + "full_name": "google.cloud.networkservices.v1.NetworkServices" + } + } + }, + "canonical": true, + "origin": "API_DEFINITION", + "segments": [ + { + "start": 20, + "end": 53, + "type": "FULL" + } + ] + }, + { + "region_tag": "networkservices_v1_generated_NetworkServices_DeleteAgentGateway_sync", + "title": "Snippet for the delete_agent_gateway call in the NetworkServices service", + "description": "This is an auto-generated example demonstrating basic usage of Google::Cloud::NetworkServices::V1::NetworkServices::Client#delete_agent_gateway.", + "file": "network_services/delete_agent_gateway.rb", + "language": "RUBY", + "client_method": { + "short_name": "delete_agent_gateway", + "full_name": "::Google::Cloud::NetworkServices::V1::NetworkServices::Client#delete_agent_gateway", + "async": false, + "parameters": [ + { + "type": "::Google::Cloud::NetworkServices::V1::DeleteAgentGatewayRequest", + "name": "request" + } + ], + "result_type": "::Google::Longrunning::Operation", + "client": { + "short_name": "NetworkServices::Client", + "full_name": "::Google::Cloud::NetworkServices::V1::NetworkServices::Client" + }, + "method": { + "short_name": "DeleteAgentGateway", + "full_name": "google.cloud.networkservices.v1.NetworkServices.DeleteAgentGateway", + "service": { + "short_name": "NetworkServices", + "full_name": "google.cloud.networkservices.v1.NetworkServices" + } + } + }, + "canonical": true, + "origin": "API_DEFINITION", + "segments": [ + { + "start": 20, + "end": 53, + "type": "FULL" + } + ] } ] } \ No newline at end of file diff --git a/google-cloud-network_services-v1/test/google/cloud/network_services/v1/network_services_paths_test.rb b/google-cloud-network_services-v1/test/google/cloud/network_services/v1/network_services_paths_test.rb index c0746ffe810e..8a18dd9d209e 100644 --- a/google-cloud-network_services-v1/test/google/cloud/network_services/v1/network_services_paths_test.rb +++ b/google-cloud-network_services-v1/test/google/cloud/network_services/v1/network_services_paths_test.rb @@ -53,6 +53,18 @@ def test_address_path end end + def test_agent_gateway_path + grpc_channel = ::GRPC::Core::Channel.new "localhost:8888", nil, :this_channel_is_insecure + ::Gapic::ServiceStub.stub :new, DummyStub.new do + client = ::Google::Cloud::NetworkServices::V1::NetworkServices::Client.new do |config| + config.credentials = grpc_channel + end + + path = client.agent_gateway_path project: "value0", location: "value1", agent_gateway: "value2" + assert_equal "projects/value0/locations/value1/agentGateways/value2", path + end + end + def test_authorization_policy_path grpc_channel = ::GRPC::Core::Channel.new "localhost:8888", nil, :this_channel_is_insecure ::Gapic::ServiceStub.stub :new, DummyStub.new do @@ -281,6 +293,18 @@ def test_subnetwork_path end end + def test_target_tcp_proxy_path + grpc_channel = ::GRPC::Core::Channel.new "localhost:8888", nil, :this_channel_is_insecure + ::Gapic::ServiceStub.stub :new, DummyStub.new do + client = ::Google::Cloud::NetworkServices::V1::NetworkServices::Client.new do |config| + config.credentials = grpc_channel + end + + path = client.target_tcp_proxy_path project: "value0", location: "value1", target_tcp_proxy: "value2" + assert_equal "projects/value0/locations/value1/targetTcpProxies/value2", path + end + end + def test_tcp_route_path grpc_channel = ::GRPC::Core::Channel.new "localhost:8888", nil, :this_channel_is_insecure ::Gapic::ServiceStub.stub :new, DummyStub.new do diff --git a/google-cloud-network_services-v1/test/google/cloud/network_services/v1/network_services_rest_test.rb b/google-cloud-network_services-v1/test/google/cloud/network_services/v1/network_services_rest_test.rb index a25f12826070..ed4a930d672c 100644 --- a/google-cloud-network_services-v1/test/google/cloud/network_services/v1/network_services_rest_test.rb +++ b/google-cloud-network_services-v1/test/google/cloud/network_services/v1/network_services_rest_test.rb @@ -1413,6 +1413,7 @@ def test_list_http_routes page_size = 42 page_token = "hello world" return_partial_success = true + filter = "hello world" list_http_routes_client_stub = ClientStub.new http_response do |_verb, uri:, body:, params:, options:, method_name:| assert options.metadata.key? :"x-goog-api-client" @@ -1428,27 +1429,27 @@ def test_list_http_routes end # Use hash object - c.list_http_routes({ parent: parent, page_size: page_size, page_token: page_token, return_partial_success: return_partial_success }) do |_result, response| + c.list_http_routes({ parent: parent, page_size: page_size, page_token: page_token, return_partial_success: return_partial_success, filter: filter }) do |_result, response| assert_equal http_response, response.underlying_op end # Use named arguments - c.list_http_routes parent: parent, page_size: page_size, page_token: page_token, return_partial_success: return_partial_success do |_result, response| + c.list_http_routes parent: parent, page_size: page_size, page_token: page_token, return_partial_success: return_partial_success, filter: filter do |_result, response| assert_equal http_response, response.underlying_op end # Use protobuf object - c.list_http_routes ::Google::Cloud::NetworkServices::V1::ListHttpRoutesRequest.new(parent: parent, page_size: page_size, page_token: page_token, return_partial_success: return_partial_success) do |_result, response| + c.list_http_routes ::Google::Cloud::NetworkServices::V1::ListHttpRoutesRequest.new(parent: parent, page_size: page_size, page_token: page_token, return_partial_success: return_partial_success, filter: filter) do |_result, response| assert_equal http_response, response.underlying_op end # Use hash object with options - c.list_http_routes({ parent: parent, page_size: page_size, page_token: page_token, return_partial_success: return_partial_success }, call_options) do |_result, response| + c.list_http_routes({ parent: parent, page_size: page_size, page_token: page_token, return_partial_success: return_partial_success, filter: filter }, call_options) do |_result, response| assert_equal http_response, response.underlying_op end # Use protobuf object with options - c.list_http_routes(::Google::Cloud::NetworkServices::V1::ListHttpRoutesRequest.new(parent: parent, page_size: page_size, page_token: page_token, return_partial_success: return_partial_success), call_options) do |_result, response| + c.list_http_routes(::Google::Cloud::NetworkServices::V1::ListHttpRoutesRequest.new(parent: parent, page_size: page_size, page_token: page_token, return_partial_success: return_partial_success, filter: filter), call_options) do |_result, response| assert_equal http_response, response.underlying_op end @@ -1523,6 +1524,7 @@ def test_create_http_route parent = "hello world" http_route_id = "hello world" http_route = {} + request_id = "hello world" create_http_route_client_stub = ClientStub.new http_response do |_verb, uri:, body:, params:, options:, method_name:| assert options.metadata.key? :"x-goog-api-client" @@ -1538,27 +1540,27 @@ def test_create_http_route end # Use hash object - c.create_http_route({ parent: parent, http_route_id: http_route_id, http_route: http_route }) do |_result, response| + c.create_http_route({ parent: parent, http_route_id: http_route_id, http_route: http_route, request_id: request_id }) do |_result, response| assert_equal http_response, response.underlying_op end # Use named arguments - c.create_http_route parent: parent, http_route_id: http_route_id, http_route: http_route do |_result, response| + c.create_http_route parent: parent, http_route_id: http_route_id, http_route: http_route, request_id: request_id do |_result, response| assert_equal http_response, response.underlying_op end # Use protobuf object - c.create_http_route ::Google::Cloud::NetworkServices::V1::CreateHttpRouteRequest.new(parent: parent, http_route_id: http_route_id, http_route: http_route) do |_result, response| + c.create_http_route ::Google::Cloud::NetworkServices::V1::CreateHttpRouteRequest.new(parent: parent, http_route_id: http_route_id, http_route: http_route, request_id: request_id) do |_result, response| assert_equal http_response, response.underlying_op end # Use hash object with options - c.create_http_route({ parent: parent, http_route_id: http_route_id, http_route: http_route }, call_options) do |_result, response| + c.create_http_route({ parent: parent, http_route_id: http_route_id, http_route: http_route, request_id: request_id }, call_options) do |_result, response| assert_equal http_response, response.underlying_op end # Use protobuf object with options - c.create_http_route(::Google::Cloud::NetworkServices::V1::CreateHttpRouteRequest.new(parent: parent, http_route_id: http_route_id, http_route: http_route), call_options) do |_result, response| + c.create_http_route(::Google::Cloud::NetworkServices::V1::CreateHttpRouteRequest.new(parent: parent, http_route_id: http_route_id, http_route: http_route, request_id: request_id), call_options) do |_result, response| assert_equal http_response, response.underlying_op end @@ -3275,6 +3277,283 @@ def test_list_mesh_route_views end end + def test_list_agent_gateways + # Create test objects. + client_result = ::Google::Cloud::NetworkServices::V1::ListAgentGatewaysResponse.new + http_response = OpenStruct.new body: client_result.to_json + + call_options = {} + + # Create request parameters for a unary method. + parent = "hello world" + page_size = 42 + page_token = "hello world" + return_partial_success = true + + list_agent_gateways_client_stub = ClientStub.new http_response do |_verb, uri:, body:, params:, options:, method_name:| + assert options.metadata.key? :"x-goog-api-client" + assert options.metadata[:"x-goog-api-client"].include? "rest" + refute options.metadata[:"x-goog-api-client"].include? "grpc" + end + + ::Google::Cloud::NetworkServices::V1::NetworkServices::Rest::ServiceStub.stub :transcode_list_agent_gateways_request, ["", "", {}] do + Gapic::Rest::ClientStub.stub :new, list_agent_gateways_client_stub do + # Create client + c = ::Google::Cloud::NetworkServices::V1::NetworkServices::Rest::Client.new do |config| + config.credentials = :dummy_value + end + + # Use hash object + c.list_agent_gateways({ parent: parent, page_size: page_size, page_token: page_token, return_partial_success: return_partial_success }) do |_result, response| + assert_equal http_response, response.underlying_op + end + + # Use named arguments + c.list_agent_gateways parent: parent, page_size: page_size, page_token: page_token, return_partial_success: return_partial_success do |_result, response| + assert_equal http_response, response.underlying_op + end + + # Use protobuf object + c.list_agent_gateways ::Google::Cloud::NetworkServices::V1::ListAgentGatewaysRequest.new(parent: parent, page_size: page_size, page_token: page_token, return_partial_success: return_partial_success) do |_result, response| + assert_equal http_response, response.underlying_op + end + + # Use hash object with options + c.list_agent_gateways({ parent: parent, page_size: page_size, page_token: page_token, return_partial_success: return_partial_success }, call_options) do |_result, response| + assert_equal http_response, response.underlying_op + end + + # Use protobuf object with options + c.list_agent_gateways(::Google::Cloud::NetworkServices::V1::ListAgentGatewaysRequest.new(parent: parent, page_size: page_size, page_token: page_token, return_partial_success: return_partial_success), call_options) do |_result, response| + assert_equal http_response, response.underlying_op + end + + # Verify method calls + assert_equal 5, list_agent_gateways_client_stub.call_count + end + end + end + + def test_get_agent_gateway + # Create test objects. + client_result = ::Google::Cloud::NetworkServices::V1::AgentGateway.new + http_response = OpenStruct.new body: client_result.to_json + + call_options = {} + + # Create request parameters for a unary method. + name = "hello world" + + get_agent_gateway_client_stub = ClientStub.new http_response do |_verb, uri:, body:, params:, options:, method_name:| + assert options.metadata.key? :"x-goog-api-client" + assert options.metadata[:"x-goog-api-client"].include? "rest" + refute options.metadata[:"x-goog-api-client"].include? "grpc" + end + + ::Google::Cloud::NetworkServices::V1::NetworkServices::Rest::ServiceStub.stub :transcode_get_agent_gateway_request, ["", "", {}] do + Gapic::Rest::ClientStub.stub :new, get_agent_gateway_client_stub do + # Create client + c = ::Google::Cloud::NetworkServices::V1::NetworkServices::Rest::Client.new do |config| + config.credentials = :dummy_value + end + + # Use hash object + c.get_agent_gateway({ name: name }) do |_result, response| + assert_equal http_response, response.underlying_op + end + + # Use named arguments + c.get_agent_gateway name: name do |_result, response| + assert_equal http_response, response.underlying_op + end + + # Use protobuf object + c.get_agent_gateway ::Google::Cloud::NetworkServices::V1::GetAgentGatewayRequest.new(name: name) do |_result, response| + assert_equal http_response, response.underlying_op + end + + # Use hash object with options + c.get_agent_gateway({ name: name }, call_options) do |_result, response| + assert_equal http_response, response.underlying_op + end + + # Use protobuf object with options + c.get_agent_gateway(::Google::Cloud::NetworkServices::V1::GetAgentGatewayRequest.new(name: name), call_options) do |_result, response| + assert_equal http_response, response.underlying_op + end + + # Verify method calls + assert_equal 5, get_agent_gateway_client_stub.call_count + end + end + end + + def test_create_agent_gateway + # Create test objects. + client_result = ::Google::Longrunning::Operation.new + http_response = OpenStruct.new body: client_result.to_json + + call_options = {} + + # Create request parameters for a unary method. + parent = "hello world" + agent_gateway_id = "hello world" + agent_gateway = {} + + create_agent_gateway_client_stub = ClientStub.new http_response do |_verb, uri:, body:, params:, options:, method_name:| + assert options.metadata.key? :"x-goog-api-client" + assert options.metadata[:"x-goog-api-client"].include? "rest" + refute options.metadata[:"x-goog-api-client"].include? "grpc" + end + + ::Google::Cloud::NetworkServices::V1::NetworkServices::Rest::ServiceStub.stub :transcode_create_agent_gateway_request, ["", "", {}] do + Gapic::Rest::ClientStub.stub :new, create_agent_gateway_client_stub do + # Create client + c = ::Google::Cloud::NetworkServices::V1::NetworkServices::Rest::Client.new do |config| + config.credentials = :dummy_value + end + + # Use hash object + c.create_agent_gateway({ parent: parent, agent_gateway_id: agent_gateway_id, agent_gateway: agent_gateway }) do |_result, response| + assert_equal http_response, response.underlying_op + end + + # Use named arguments + c.create_agent_gateway parent: parent, agent_gateway_id: agent_gateway_id, agent_gateway: agent_gateway do |_result, response| + assert_equal http_response, response.underlying_op + end + + # Use protobuf object + c.create_agent_gateway ::Google::Cloud::NetworkServices::V1::CreateAgentGatewayRequest.new(parent: parent, agent_gateway_id: agent_gateway_id, agent_gateway: agent_gateway) do |_result, response| + assert_equal http_response, response.underlying_op + end + + # Use hash object with options + c.create_agent_gateway({ parent: parent, agent_gateway_id: agent_gateway_id, agent_gateway: agent_gateway }, call_options) do |_result, response| + assert_equal http_response, response.underlying_op + end + + # Use protobuf object with options + c.create_agent_gateway(::Google::Cloud::NetworkServices::V1::CreateAgentGatewayRequest.new(parent: parent, agent_gateway_id: agent_gateway_id, agent_gateway: agent_gateway), call_options) do |_result, response| + assert_equal http_response, response.underlying_op + end + + # Verify method calls + assert_equal 5, create_agent_gateway_client_stub.call_count + end + end + end + + def test_update_agent_gateway + # Create test objects. + client_result = ::Google::Longrunning::Operation.new + http_response = OpenStruct.new body: client_result.to_json + + call_options = {} + + # Create request parameters for a unary method. + update_mask = {} + agent_gateway = {} + + update_agent_gateway_client_stub = ClientStub.new http_response do |_verb, uri:, body:, params:, options:, method_name:| + assert options.metadata.key? :"x-goog-api-client" + assert options.metadata[:"x-goog-api-client"].include? "rest" + refute options.metadata[:"x-goog-api-client"].include? "grpc" + end + + ::Google::Cloud::NetworkServices::V1::NetworkServices::Rest::ServiceStub.stub :transcode_update_agent_gateway_request, ["", "", {}] do + Gapic::Rest::ClientStub.stub :new, update_agent_gateway_client_stub do + # Create client + c = ::Google::Cloud::NetworkServices::V1::NetworkServices::Rest::Client.new do |config| + config.credentials = :dummy_value + end + + # Use hash object + c.update_agent_gateway({ update_mask: update_mask, agent_gateway: agent_gateway }) do |_result, response| + assert_equal http_response, response.underlying_op + end + + # Use named arguments + c.update_agent_gateway update_mask: update_mask, agent_gateway: agent_gateway do |_result, response| + assert_equal http_response, response.underlying_op + end + + # Use protobuf object + c.update_agent_gateway ::Google::Cloud::NetworkServices::V1::UpdateAgentGatewayRequest.new(update_mask: update_mask, agent_gateway: agent_gateway) do |_result, response| + assert_equal http_response, response.underlying_op + end + + # Use hash object with options + c.update_agent_gateway({ update_mask: update_mask, agent_gateway: agent_gateway }, call_options) do |_result, response| + assert_equal http_response, response.underlying_op + end + + # Use protobuf object with options + c.update_agent_gateway(::Google::Cloud::NetworkServices::V1::UpdateAgentGatewayRequest.new(update_mask: update_mask, agent_gateway: agent_gateway), call_options) do |_result, response| + assert_equal http_response, response.underlying_op + end + + # Verify method calls + assert_equal 5, update_agent_gateway_client_stub.call_count + end + end + end + + def test_delete_agent_gateway + # Create test objects. + client_result = ::Google::Longrunning::Operation.new + http_response = OpenStruct.new body: client_result.to_json + + call_options = {} + + # Create request parameters for a unary method. + name = "hello world" + etag = "hello world" + + delete_agent_gateway_client_stub = ClientStub.new http_response do |_verb, uri:, body:, params:, options:, method_name:| + assert options.metadata.key? :"x-goog-api-client" + assert options.metadata[:"x-goog-api-client"].include? "rest" + refute options.metadata[:"x-goog-api-client"].include? "grpc" + end + + ::Google::Cloud::NetworkServices::V1::NetworkServices::Rest::ServiceStub.stub :transcode_delete_agent_gateway_request, ["", "", {}] do + Gapic::Rest::ClientStub.stub :new, delete_agent_gateway_client_stub do + # Create client + c = ::Google::Cloud::NetworkServices::V1::NetworkServices::Rest::Client.new do |config| + config.credentials = :dummy_value + end + + # Use hash object + c.delete_agent_gateway({ name: name, etag: etag }) do |_result, response| + assert_equal http_response, response.underlying_op + end + + # Use named arguments + c.delete_agent_gateway name: name, etag: etag do |_result, response| + assert_equal http_response, response.underlying_op + end + + # Use protobuf object + c.delete_agent_gateway ::Google::Cloud::NetworkServices::V1::DeleteAgentGatewayRequest.new(name: name, etag: etag) do |_result, response| + assert_equal http_response, response.underlying_op + end + + # Use hash object with options + c.delete_agent_gateway({ name: name, etag: etag }, call_options) do |_result, response| + assert_equal http_response, response.underlying_op + end + + # Use protobuf object with options + c.delete_agent_gateway(::Google::Cloud::NetworkServices::V1::DeleteAgentGatewayRequest.new(name: name, etag: etag), call_options) do |_result, response| + assert_equal http_response, response.underlying_op + end + + # Verify method calls + assert_equal 5, delete_agent_gateway_client_stub.call_count + end + end + end + def test_configure credentials_token = :dummy_value diff --git a/google-cloud-network_services-v1/test/google/cloud/network_services/v1/network_services_test.rb b/google-cloud-network_services-v1/test/google/cloud/network_services/v1/network_services_test.rb index 148fe228280d..003eea3d2989 100644 --- a/google-cloud-network_services-v1/test/google/cloud/network_services/v1/network_services_test.rb +++ b/google-cloud-network_services-v1/test/google/cloud/network_services/v1/network_services_test.rb @@ -1616,6 +1616,7 @@ def test_list_http_routes page_size = 42 page_token = "hello world" return_partial_success = true + filter = "hello world" list_http_routes_client_stub = ClientStub.new grpc_response, grpc_operation do |name, request, options:| assert_equal :list_http_routes, name @@ -1624,6 +1625,7 @@ def test_list_http_routes assert_equal 42, request["page_size"] assert_equal "hello world", request["page_token"] assert_equal true, request["return_partial_success"] + assert_equal "hello world", request["filter"] refute_nil options end @@ -1634,35 +1636,35 @@ def test_list_http_routes end # Use hash object - c.list_http_routes({ parent: parent, page_size: page_size, page_token: page_token, return_partial_success: return_partial_success }) do |response, operation| + c.list_http_routes({ parent: parent, page_size: page_size, page_token: page_token, return_partial_success: return_partial_success, filter: filter }) do |response, operation| assert_kind_of Gapic::PagedEnumerable, response assert_equal grpc_response, response.response assert_equal grpc_operation, operation end # Use named arguments - c.list_http_routes parent: parent, page_size: page_size, page_token: page_token, return_partial_success: return_partial_success do |response, operation| + c.list_http_routes parent: parent, page_size: page_size, page_token: page_token, return_partial_success: return_partial_success, filter: filter do |response, operation| assert_kind_of Gapic::PagedEnumerable, response assert_equal grpc_response, response.response assert_equal grpc_operation, operation end # Use protobuf object - c.list_http_routes ::Google::Cloud::NetworkServices::V1::ListHttpRoutesRequest.new(parent: parent, page_size: page_size, page_token: page_token, return_partial_success: return_partial_success) do |response, operation| + c.list_http_routes ::Google::Cloud::NetworkServices::V1::ListHttpRoutesRequest.new(parent: parent, page_size: page_size, page_token: page_token, return_partial_success: return_partial_success, filter: filter) do |response, operation| assert_kind_of Gapic::PagedEnumerable, response assert_equal grpc_response, response.response assert_equal grpc_operation, operation end # Use hash object with options - c.list_http_routes({ parent: parent, page_size: page_size, page_token: page_token, return_partial_success: return_partial_success }, grpc_options) do |response, operation| + c.list_http_routes({ parent: parent, page_size: page_size, page_token: page_token, return_partial_success: return_partial_success, filter: filter }, grpc_options) do |response, operation| assert_kind_of Gapic::PagedEnumerable, response assert_equal grpc_response, response.response assert_equal grpc_operation, operation end # Use protobuf object with options - c.list_http_routes(::Google::Cloud::NetworkServices::V1::ListHttpRoutesRequest.new(parent: parent, page_size: page_size, page_token: page_token, return_partial_success: return_partial_success), grpc_options) do |response, operation| + c.list_http_routes(::Google::Cloud::NetworkServices::V1::ListHttpRoutesRequest.new(parent: parent, page_size: page_size, page_token: page_token, return_partial_success: return_partial_success, filter: filter), grpc_options) do |response, operation| assert_kind_of Gapic::PagedEnumerable, response assert_equal grpc_response, response.response assert_equal grpc_operation, operation @@ -1742,6 +1744,7 @@ def test_create_http_route parent = "hello world" http_route_id = "hello world" http_route = {} + request_id = "hello world" create_http_route_client_stub = ClientStub.new grpc_response, grpc_operation do |name, request, options:| assert_equal :create_http_route, name @@ -1749,6 +1752,7 @@ def test_create_http_route assert_equal "hello world", request["parent"] assert_equal "hello world", request["http_route_id"] assert_equal Gapic::Protobuf.coerce({}, to: ::Google::Cloud::NetworkServices::V1::HttpRoute), request["http_route"] + assert_equal "hello world", request["request_id"] refute_nil options end @@ -1759,35 +1763,35 @@ def test_create_http_route end # Use hash object - c.create_http_route({ parent: parent, http_route_id: http_route_id, http_route: http_route }) do |response, operation| + c.create_http_route({ parent: parent, http_route_id: http_route_id, http_route: http_route, request_id: request_id }) do |response, operation| assert_kind_of Gapic::Operation, response assert_equal grpc_response, response.grpc_op assert_equal grpc_operation, operation end # Use named arguments - c.create_http_route parent: parent, http_route_id: http_route_id, http_route: http_route do |response, operation| + c.create_http_route parent: parent, http_route_id: http_route_id, http_route: http_route, request_id: request_id do |response, operation| assert_kind_of Gapic::Operation, response assert_equal grpc_response, response.grpc_op assert_equal grpc_operation, operation end # Use protobuf object - c.create_http_route ::Google::Cloud::NetworkServices::V1::CreateHttpRouteRequest.new(parent: parent, http_route_id: http_route_id, http_route: http_route) do |response, operation| + c.create_http_route ::Google::Cloud::NetworkServices::V1::CreateHttpRouteRequest.new(parent: parent, http_route_id: http_route_id, http_route: http_route, request_id: request_id) do |response, operation| assert_kind_of Gapic::Operation, response assert_equal grpc_response, response.grpc_op assert_equal grpc_operation, operation end # Use hash object with options - c.create_http_route({ parent: parent, http_route_id: http_route_id, http_route: http_route }, grpc_options) do |response, operation| + c.create_http_route({ parent: parent, http_route_id: http_route_id, http_route: http_route, request_id: request_id }, grpc_options) do |response, operation| assert_kind_of Gapic::Operation, response assert_equal grpc_response, response.grpc_op assert_equal grpc_operation, operation end # Use protobuf object with options - c.create_http_route(::Google::Cloud::NetworkServices::V1::CreateHttpRouteRequest.new(parent: parent, http_route_id: http_route_id, http_route: http_route), grpc_options) do |response, operation| + c.create_http_route(::Google::Cloud::NetworkServices::V1::CreateHttpRouteRequest.new(parent: parent, http_route_id: http_route_id, http_route: http_route, request_id: request_id), grpc_options) do |response, operation| assert_kind_of Gapic::Operation, response assert_equal grpc_response, response.grpc_op assert_equal grpc_operation, operation @@ -3782,6 +3786,330 @@ def test_list_mesh_route_views end end + def test_list_agent_gateways + # Create GRPC objects. + grpc_response = ::Google::Cloud::NetworkServices::V1::ListAgentGatewaysResponse.new + grpc_operation = GRPC::ActiveCall::Operation.new nil + grpc_channel = GRPC::Core::Channel.new "localhost:8888", nil, :this_channel_is_insecure + grpc_options = {} + + # Create request parameters for a unary method. + parent = "hello world" + page_size = 42 + page_token = "hello world" + return_partial_success = true + + list_agent_gateways_client_stub = ClientStub.new grpc_response, grpc_operation do |name, request, options:| + assert_equal :list_agent_gateways, name + assert_kind_of ::Google::Cloud::NetworkServices::V1::ListAgentGatewaysRequest, request + assert_equal "hello world", request["parent"] + assert_equal 42, request["page_size"] + assert_equal "hello world", request["page_token"] + assert_equal true, request["return_partial_success"] + refute_nil options + end + + Gapic::ServiceStub.stub :new, list_agent_gateways_client_stub do + # Create client + c = ::Google::Cloud::NetworkServices::V1::NetworkServices::Client.new do |config| + config.credentials = grpc_channel + end + + # Use hash object + c.list_agent_gateways({ parent: parent, page_size: page_size, page_token: page_token, return_partial_success: return_partial_success }) do |response, operation| + assert_kind_of Gapic::PagedEnumerable, response + assert_equal grpc_response, response.response + assert_equal grpc_operation, operation + end + + # Use named arguments + c.list_agent_gateways parent: parent, page_size: page_size, page_token: page_token, return_partial_success: return_partial_success do |response, operation| + assert_kind_of Gapic::PagedEnumerable, response + assert_equal grpc_response, response.response + assert_equal grpc_operation, operation + end + + # Use protobuf object + c.list_agent_gateways ::Google::Cloud::NetworkServices::V1::ListAgentGatewaysRequest.new(parent: parent, page_size: page_size, page_token: page_token, return_partial_success: return_partial_success) do |response, operation| + assert_kind_of Gapic::PagedEnumerable, response + assert_equal grpc_response, response.response + assert_equal grpc_operation, operation + end + + # Use hash object with options + c.list_agent_gateways({ parent: parent, page_size: page_size, page_token: page_token, return_partial_success: return_partial_success }, grpc_options) do |response, operation| + assert_kind_of Gapic::PagedEnumerable, response + assert_equal grpc_response, response.response + assert_equal grpc_operation, operation + end + + # Use protobuf object with options + c.list_agent_gateways(::Google::Cloud::NetworkServices::V1::ListAgentGatewaysRequest.new(parent: parent, page_size: page_size, page_token: page_token, return_partial_success: return_partial_success), grpc_options) do |response, operation| + assert_kind_of Gapic::PagedEnumerable, response + assert_equal grpc_response, response.response + assert_equal grpc_operation, operation + end + + # Verify method calls + assert_equal 5, list_agent_gateways_client_stub.call_rpc_count + end + end + + def test_get_agent_gateway + # Create GRPC objects. + grpc_response = ::Google::Cloud::NetworkServices::V1::AgentGateway.new + grpc_operation = GRPC::ActiveCall::Operation.new nil + grpc_channel = GRPC::Core::Channel.new "localhost:8888", nil, :this_channel_is_insecure + grpc_options = {} + + # Create request parameters for a unary method. + name = "hello world" + + get_agent_gateway_client_stub = ClientStub.new grpc_response, grpc_operation do |name, request, options:| + assert_equal :get_agent_gateway, name + assert_kind_of ::Google::Cloud::NetworkServices::V1::GetAgentGatewayRequest, request + assert_equal "hello world", request["name"] + refute_nil options + end + + Gapic::ServiceStub.stub :new, get_agent_gateway_client_stub do + # Create client + c = ::Google::Cloud::NetworkServices::V1::NetworkServices::Client.new do |config| + config.credentials = grpc_channel + end + + # Use hash object + c.get_agent_gateway({ name: name }) do |response, operation| + assert_equal grpc_response, response + assert_equal grpc_operation, operation + end + + # Use named arguments + c.get_agent_gateway name: name do |response, operation| + assert_equal grpc_response, response + assert_equal grpc_operation, operation + end + + # Use protobuf object + c.get_agent_gateway ::Google::Cloud::NetworkServices::V1::GetAgentGatewayRequest.new(name: name) do |response, operation| + assert_equal grpc_response, response + assert_equal grpc_operation, operation + end + + # Use hash object with options + c.get_agent_gateway({ name: name }, grpc_options) do |response, operation| + assert_equal grpc_response, response + assert_equal grpc_operation, operation + end + + # Use protobuf object with options + c.get_agent_gateway(::Google::Cloud::NetworkServices::V1::GetAgentGatewayRequest.new(name: name), grpc_options) do |response, operation| + assert_equal grpc_response, response + assert_equal grpc_operation, operation + end + + # Verify method calls + assert_equal 5, get_agent_gateway_client_stub.call_rpc_count + end + end + + def test_create_agent_gateway + # Create GRPC objects. + grpc_response = ::Google::Longrunning::Operation.new + grpc_operation = GRPC::ActiveCall::Operation.new nil + grpc_channel = GRPC::Core::Channel.new "localhost:8888", nil, :this_channel_is_insecure + grpc_options = {} + + # Create request parameters for a unary method. + parent = "hello world" + agent_gateway_id = "hello world" + agent_gateway = {} + + create_agent_gateway_client_stub = ClientStub.new grpc_response, grpc_operation do |name, request, options:| + assert_equal :create_agent_gateway, name + assert_kind_of ::Google::Cloud::NetworkServices::V1::CreateAgentGatewayRequest, request + assert_equal "hello world", request["parent"] + assert_equal "hello world", request["agent_gateway_id"] + assert_equal Gapic::Protobuf.coerce({}, to: ::Google::Cloud::NetworkServices::V1::AgentGateway), request["agent_gateway"] + refute_nil options + end + + Gapic::ServiceStub.stub :new, create_agent_gateway_client_stub do + # Create client + c = ::Google::Cloud::NetworkServices::V1::NetworkServices::Client.new do |config| + config.credentials = grpc_channel + end + + # Use hash object + c.create_agent_gateway({ parent: parent, agent_gateway_id: agent_gateway_id, agent_gateway: agent_gateway }) do |response, operation| + assert_kind_of Gapic::Operation, response + assert_equal grpc_response, response.grpc_op + assert_equal grpc_operation, operation + end + + # Use named arguments + c.create_agent_gateway parent: parent, agent_gateway_id: agent_gateway_id, agent_gateway: agent_gateway do |response, operation| + assert_kind_of Gapic::Operation, response + assert_equal grpc_response, response.grpc_op + assert_equal grpc_operation, operation + end + + # Use protobuf object + c.create_agent_gateway ::Google::Cloud::NetworkServices::V1::CreateAgentGatewayRequest.new(parent: parent, agent_gateway_id: agent_gateway_id, agent_gateway: agent_gateway) do |response, operation| + assert_kind_of Gapic::Operation, response + assert_equal grpc_response, response.grpc_op + assert_equal grpc_operation, operation + end + + # Use hash object with options + c.create_agent_gateway({ parent: parent, agent_gateway_id: agent_gateway_id, agent_gateway: agent_gateway }, grpc_options) do |response, operation| + assert_kind_of Gapic::Operation, response + assert_equal grpc_response, response.grpc_op + assert_equal grpc_operation, operation + end + + # Use protobuf object with options + c.create_agent_gateway(::Google::Cloud::NetworkServices::V1::CreateAgentGatewayRequest.new(parent: parent, agent_gateway_id: agent_gateway_id, agent_gateway: agent_gateway), grpc_options) do |response, operation| + assert_kind_of Gapic::Operation, response + assert_equal grpc_response, response.grpc_op + assert_equal grpc_operation, operation + end + + # Verify method calls + assert_equal 5, create_agent_gateway_client_stub.call_rpc_count + end + end + + def test_update_agent_gateway + # Create GRPC objects. + grpc_response = ::Google::Longrunning::Operation.new + grpc_operation = GRPC::ActiveCall::Operation.new nil + grpc_channel = GRPC::Core::Channel.new "localhost:8888", nil, :this_channel_is_insecure + grpc_options = {} + + # Create request parameters for a unary method. + update_mask = {} + agent_gateway = {} + + update_agent_gateway_client_stub = ClientStub.new grpc_response, grpc_operation do |name, request, options:| + assert_equal :update_agent_gateway, name + assert_kind_of ::Google::Cloud::NetworkServices::V1::UpdateAgentGatewayRequest, request + assert_equal Gapic::Protobuf.coerce({}, to: ::Google::Protobuf::FieldMask), request["update_mask"] + assert_equal Gapic::Protobuf.coerce({}, to: ::Google::Cloud::NetworkServices::V1::AgentGateway), request["agent_gateway"] + refute_nil options + end + + Gapic::ServiceStub.stub :new, update_agent_gateway_client_stub do + # Create client + c = ::Google::Cloud::NetworkServices::V1::NetworkServices::Client.new do |config| + config.credentials = grpc_channel + end + + # Use hash object + c.update_agent_gateway({ update_mask: update_mask, agent_gateway: agent_gateway }) do |response, operation| + assert_kind_of Gapic::Operation, response + assert_equal grpc_response, response.grpc_op + assert_equal grpc_operation, operation + end + + # Use named arguments + c.update_agent_gateway update_mask: update_mask, agent_gateway: agent_gateway do |response, operation| + assert_kind_of Gapic::Operation, response + assert_equal grpc_response, response.grpc_op + assert_equal grpc_operation, operation + end + + # Use protobuf object + c.update_agent_gateway ::Google::Cloud::NetworkServices::V1::UpdateAgentGatewayRequest.new(update_mask: update_mask, agent_gateway: agent_gateway) do |response, operation| + assert_kind_of Gapic::Operation, response + assert_equal grpc_response, response.grpc_op + assert_equal grpc_operation, operation + end + + # Use hash object with options + c.update_agent_gateway({ update_mask: update_mask, agent_gateway: agent_gateway }, grpc_options) do |response, operation| + assert_kind_of Gapic::Operation, response + assert_equal grpc_response, response.grpc_op + assert_equal grpc_operation, operation + end + + # Use protobuf object with options + c.update_agent_gateway(::Google::Cloud::NetworkServices::V1::UpdateAgentGatewayRequest.new(update_mask: update_mask, agent_gateway: agent_gateway), grpc_options) do |response, operation| + assert_kind_of Gapic::Operation, response + assert_equal grpc_response, response.grpc_op + assert_equal grpc_operation, operation + end + + # Verify method calls + assert_equal 5, update_agent_gateway_client_stub.call_rpc_count + end + end + + def test_delete_agent_gateway + # Create GRPC objects. + grpc_response = ::Google::Longrunning::Operation.new + grpc_operation = GRPC::ActiveCall::Operation.new nil + grpc_channel = GRPC::Core::Channel.new "localhost:8888", nil, :this_channel_is_insecure + grpc_options = {} + + # Create request parameters for a unary method. + name = "hello world" + etag = "hello world" + + delete_agent_gateway_client_stub = ClientStub.new grpc_response, grpc_operation do |name, request, options:| + assert_equal :delete_agent_gateway, name + assert_kind_of ::Google::Cloud::NetworkServices::V1::DeleteAgentGatewayRequest, request + assert_equal "hello world", request["name"] + assert_equal "hello world", request["etag"] + refute_nil options + end + + Gapic::ServiceStub.stub :new, delete_agent_gateway_client_stub do + # Create client + c = ::Google::Cloud::NetworkServices::V1::NetworkServices::Client.new do |config| + config.credentials = grpc_channel + end + + # Use hash object + c.delete_agent_gateway({ name: name, etag: etag }) do |response, operation| + assert_kind_of Gapic::Operation, response + assert_equal grpc_response, response.grpc_op + assert_equal grpc_operation, operation + end + + # Use named arguments + c.delete_agent_gateway name: name, etag: etag do |response, operation| + assert_kind_of Gapic::Operation, response + assert_equal grpc_response, response.grpc_op + assert_equal grpc_operation, operation + end + + # Use protobuf object + c.delete_agent_gateway ::Google::Cloud::NetworkServices::V1::DeleteAgentGatewayRequest.new(name: name, etag: etag) do |response, operation| + assert_kind_of Gapic::Operation, response + assert_equal grpc_response, response.grpc_op + assert_equal grpc_operation, operation + end + + # Use hash object with options + c.delete_agent_gateway({ name: name, etag: etag }, grpc_options) do |response, operation| + assert_kind_of Gapic::Operation, response + assert_equal grpc_response, response.grpc_op + assert_equal grpc_operation, operation + end + + # Use protobuf object with options + c.delete_agent_gateway(::Google::Cloud::NetworkServices::V1::DeleteAgentGatewayRequest.new(name: name, etag: etag), grpc_options) do |response, operation| + assert_kind_of Gapic::Operation, response + assert_equal grpc_response, response.grpc_op + assert_equal grpc_operation, operation + end + + # Verify method calls + assert_equal 5, delete_agent_gateway_client_stub.call_rpc_count + end + end + def test_configure grpc_channel = GRPC::Core::Channel.new "localhost:8888", nil, :this_channel_is_insecure