Google-Cloud-Networkservices-V1

 view release on metacpan or  search on metacpan

lib/Google/Cloud/Networkservices/V1/Networkservices.pm  view on Meta::CPAN

=cut

use Moo;
use Google::Auth;
use Google::gRPC::Client;

has credentials => ( is => 'ro', default => sub { Google::Auth->default() } );
has target      => ( is => 'ro', default => 'networkservices.googleapis.com:443' );

has _grpc_client => (
    is => 'ro',
    lazy => 1,
    builder => sub {
        my $self = shift;
        return Google::gRPC::Client->new(
            target     => $self->target,
            auth_token => $self->credentials->get_token(),
        );
    }
);

sub list_endpoint_policies {
    my ($self, $args) = @_;
    my $req = ref($args) eq 'HASH'
        ? Google::Cloud::Networkservices::V1::EndpointPolicy::ListEndpointPoliciesRequest->new($args)
        : $args;
    return $self->_grpc_client->call({
        service        => 'google.cloud.networkservices.v1.NetworkServices',
        method         => 'ListEndpointPolicies',
        request        => $req,
        response_class => 'Google::Cloud::Networkservices::V1::EndpointPolicy::ListEndpointPoliciesResponse',
    });
}

sub get_endpoint_policy {
    my ($self, $args) = @_;
    my $req = ref($args) eq 'HASH'
        ? Google::Cloud::Networkservices::V1::EndpointPolicy::GetEndpointPolicyRequest->new($args)
        : $args;
    return $self->_grpc_client->call({
        service        => 'google.cloud.networkservices.v1.NetworkServices',
        method         => 'GetEndpointPolicy',
        request        => $req,
        response_class => 'Google::Cloud::Networkservices::V1::EndpointPolicy::EndpointPolicy',
    });
}

sub create_endpoint_policy {
    my ($self, $args) = @_;
    my $req = ref($args) eq 'HASH'
        ? Google::Cloud::Networkservices::V1::EndpointPolicy::CreateEndpointPolicyRequest->new($args)
        : $args;
    return $self->_grpc_client->call({
        service        => 'google.cloud.networkservices.v1.NetworkServices',
        method         => 'CreateEndpointPolicy',
        request        => $req,
        response_class => 'Google::Longrunning::Operations::Operation',
    });
}

sub update_endpoint_policy {
    my ($self, $args) = @_;
    my $req = ref($args) eq 'HASH'
        ? Google::Cloud::Networkservices::V1::EndpointPolicy::UpdateEndpointPolicyRequest->new($args)
        : $args;
    return $self->_grpc_client->call({
        service        => 'google.cloud.networkservices.v1.NetworkServices',
        method         => 'UpdateEndpointPolicy',
        request        => $req,
        response_class => 'Google::Longrunning::Operations::Operation',
    });
}

sub delete_endpoint_policy {
    my ($self, $args) = @_;
    my $req = ref($args) eq 'HASH'
        ? Google::Cloud::Networkservices::V1::EndpointPolicy::DeleteEndpointPolicyRequest->new($args)
        : $args;
    return $self->_grpc_client->call({
        service        => 'google.cloud.networkservices.v1.NetworkServices',
        method         => 'DeleteEndpointPolicy',
        request        => $req,
        response_class => 'Google::Longrunning::Operations::Operation',
    });
}

sub list_wasm_plugin_versions {
    my ($self, $args) = @_;
    my $req = ref($args) eq 'HASH'
        ? Google::Cloud::Networkservices::V1::Extensibility::ListWasmPluginVersionsRequest->new($args)
        : $args;
    return $self->_grpc_client->call({
        service        => 'google.cloud.networkservices.v1.NetworkServices',
        method         => 'ListWasmPluginVersions',
        request        => $req,
        response_class => 'Google::Cloud::Networkservices::V1::Extensibility::ListWasmPluginVersionsResponse',
    });
}

sub get_wasm_plugin_version {
    my ($self, $args) = @_;
    my $req = ref($args) eq 'HASH'
        ? Google::Cloud::Networkservices::V1::Extensibility::GetWasmPluginVersionRequest->new($args)
        : $args;
    return $self->_grpc_client->call({
        service        => 'google.cloud.networkservices.v1.NetworkServices',
        method         => 'GetWasmPluginVersion',
        request        => $req,
        response_class => 'Google::Cloud::Networkservices::V1::Extensibility::WasmPluginVersion',
    });
}

sub create_wasm_plugin_version {
    my ($self, $args) = @_;
    my $req = ref($args) eq 'HASH'
        ? Google::Cloud::Networkservices::V1::Extensibility::CreateWasmPluginVersionRequest->new($args)
        : $args;
    return $self->_grpc_client->call({
        service        => 'google.cloud.networkservices.v1.NetworkServices',
        method         => 'CreateWasmPluginVersion',
        request        => $req,
        response_class => 'Google::Longrunning::Operations::Operation',
    });
}

sub delete_wasm_plugin_version {
    my ($self, $args) = @_;
    my $req = ref($args) eq 'HASH'
        ? Google::Cloud::Networkservices::V1::Extensibility::DeleteWasmPluginVersionRequest->new($args)
        : $args;
    return $self->_grpc_client->call({
        service        => 'google.cloud.networkservices.v1.NetworkServices',
        method         => 'DeleteWasmPluginVersion',
        request        => $req,
        response_class => 'Google::Longrunning::Operations::Operation',
    });
}

sub list_wasm_plugins {
    my ($self, $args) = @_;
    my $req = ref($args) eq 'HASH'
        ? Google::Cloud::Networkservices::V1::Extensibility::ListWasmPluginsRequest->new($args)
        : $args;
    return $self->_grpc_client->call({
        service        => 'google.cloud.networkservices.v1.NetworkServices',
        method         => 'ListWasmPlugins',
        request        => $req,
        response_class => 'Google::Cloud::Networkservices::V1::Extensibility::ListWasmPluginsResponse',
    });
}

sub get_wasm_plugin {
    my ($self, $args) = @_;
    my $req = ref($args) eq 'HASH'
        ? Google::Cloud::Networkservices::V1::Extensibility::GetWasmPluginRequest->new($args)
        : $args;
    return $self->_grpc_client->call({
        service        => 'google.cloud.networkservices.v1.NetworkServices',
        method         => 'GetWasmPlugin',
        request        => $req,
        response_class => 'Google::Cloud::Networkservices::V1::Extensibility::WasmPlugin',
    });
}

sub create_wasm_plugin {
    my ($self, $args) = @_;
    my $req = ref($args) eq 'HASH'
        ? Google::Cloud::Networkservices::V1::Extensibility::CreateWasmPluginRequest->new($args)
        : $args;
    return $self->_grpc_client->call({
        service        => 'google.cloud.networkservices.v1.NetworkServices',
        method         => 'CreateWasmPlugin',
        request        => $req,
        response_class => 'Google::Longrunning::Operations::Operation',
    });
}

sub update_wasm_plugin {
    my ($self, $args) = @_;
    my $req = ref($args) eq 'HASH'
        ? Google::Cloud::Networkservices::V1::Extensibility::UpdateWasmPluginRequest->new($args)
        : $args;
    return $self->_grpc_client->call({
        service        => 'google.cloud.networkservices.v1.NetworkServices',
        method         => 'UpdateWasmPlugin',
        request        => $req,
        response_class => 'Google::Longrunning::Operations::Operation',
    });
}

sub delete_wasm_plugin {
    my ($self, $args) = @_;
    my $req = ref($args) eq 'HASH'
        ? Google::Cloud::Networkservices::V1::Extensibility::DeleteWasmPluginRequest->new($args)
        : $args;
    return $self->_grpc_client->call({
        service        => 'google.cloud.networkservices.v1.NetworkServices',
        method         => 'DeleteWasmPlugin',
        request        => $req,
        response_class => 'Google::Longrunning::Operations::Operation',
    });
}

sub list_gateways {
    my ($self, $args) = @_;
    my $req = ref($args) eq 'HASH'
        ? Google::Cloud::Networkservices::V1::Gateway::ListGatewaysRequest->new($args)
        : $args;
    return $self->_grpc_client->call({
        service        => 'google.cloud.networkservices.v1.NetworkServices',
        method         => 'ListGateways',
        request        => $req,
        response_class => 'Google::Cloud::Networkservices::V1::Gateway::ListGatewaysResponse',
    });
}

sub get_gateway {
    my ($self, $args) = @_;
    my $req = ref($args) eq 'HASH'
        ? Google::Cloud::Networkservices::V1::Gateway::GetGatewayRequest->new($args)
        : $args;
    return $self->_grpc_client->call({
        service        => 'google.cloud.networkservices.v1.NetworkServices',
        method         => 'GetGateway',
        request        => $req,
        response_class => 'Google::Cloud::Networkservices::V1::Gateway::Gateway',
    });
}

sub create_gateway {
    my ($self, $args) = @_;
    my $req = ref($args) eq 'HASH'
        ? Google::Cloud::Networkservices::V1::Gateway::CreateGatewayRequest->new($args)
        : $args;
    return $self->_grpc_client->call({
        service        => 'google.cloud.networkservices.v1.NetworkServices',
        method         => 'CreateGateway',
        request        => $req,
        response_class => 'Google::Longrunning::Operations::Operation',
    });
}

sub update_gateway {
    my ($self, $args) = @_;
    my $req = ref($args) eq 'HASH'
        ? Google::Cloud::Networkservices::V1::Gateway::UpdateGatewayRequest->new($args)
        : $args;
    return $self->_grpc_client->call({
        service        => 'google.cloud.networkservices.v1.NetworkServices',
        method         => 'UpdateGateway',
        request        => $req,
        response_class => 'Google::Longrunning::Operations::Operation',
    });
}

sub delete_gateway {
    my ($self, $args) = @_;
    my $req = ref($args) eq 'HASH'
        ? Google::Cloud::Networkservices::V1::Gateway::DeleteGatewayRequest->new($args)
        : $args;
    return $self->_grpc_client->call({
        service        => 'google.cloud.networkservices.v1.NetworkServices',
        method         => 'DeleteGateway',
        request        => $req,
        response_class => 'Google::Longrunning::Operations::Operation',
    });
}

sub list_grpc_routes {
    my ($self, $args) = @_;
    my $req = ref($args) eq 'HASH'
        ? Google::Cloud::Networkservices::V1::GrpcRoute::ListGrpcRoutesRequest->new($args)
        : $args;
    return $self->_grpc_client->call({
        service        => 'google.cloud.networkservices.v1.NetworkServices',
        method         => 'ListGrpcRoutes',
        request        => $req,
        response_class => 'Google::Cloud::Networkservices::V1::GrpcRoute::ListGrpcRoutesResponse',
    });
}

sub get_grpc_route {
    my ($self, $args) = @_;
    my $req = ref($args) eq 'HASH'
        ? Google::Cloud::Networkservices::V1::GrpcRoute::GetGrpcRouteRequest->new($args)
        : $args;
    return $self->_grpc_client->call({
        service        => 'google.cloud.networkservices.v1.NetworkServices',
        method         => 'GetGrpcRoute',
        request        => $req,
        response_class => 'Google::Cloud::Networkservices::V1::GrpcRoute::GrpcRoute',
    });
}

sub create_grpc_route {
    my ($self, $args) = @_;
    my $req = ref($args) eq 'HASH'
        ? Google::Cloud::Networkservices::V1::GrpcRoute::CreateGrpcRouteRequest->new($args)
        : $args;
    return $self->_grpc_client->call({
        service        => 'google.cloud.networkservices.v1.NetworkServices',
        method         => 'CreateGrpcRoute',
        request        => $req,
        response_class => 'Google::Longrunning::Operations::Operation',
    });
}

sub update_grpc_route {
    my ($self, $args) = @_;
    my $req = ref($args) eq 'HASH'
        ? Google::Cloud::Networkservices::V1::GrpcRoute::UpdateGrpcRouteRequest->new($args)
        : $args;
    return $self->_grpc_client->call({
        service        => 'google.cloud.networkservices.v1.NetworkServices',
        method         => 'UpdateGrpcRoute',
        request        => $req,
        response_class => 'Google::Longrunning::Operations::Operation',
    });
}

sub delete_grpc_route {
    my ($self, $args) = @_;
    my $req = ref($args) eq 'HASH'
        ? Google::Cloud::Networkservices::V1::GrpcRoute::DeleteGrpcRouteRequest->new($args)
        : $args;
    return $self->_grpc_client->call({
        service        => 'google.cloud.networkservices.v1.NetworkServices',
        method         => 'DeleteGrpcRoute',
        request        => $req,
        response_class => 'Google::Longrunning::Operations::Operation',
    });
}

sub list_http_routes {
    my ($self, $args) = @_;
    my $req = ref($args) eq 'HASH'
        ? Google::Cloud::Networkservices::V1::HttpRoute::ListHttpRoutesRequest->new($args)
        : $args;
    return $self->_grpc_client->call({
        service        => 'google.cloud.networkservices.v1.NetworkServices',
        method         => 'ListHttpRoutes',
        request        => $req,
        response_class => 'Google::Cloud::Networkservices::V1::HttpRoute::ListHttpRoutesResponse',
    });
}

sub get_http_route {
    my ($self, $args) = @_;
    my $req = ref($args) eq 'HASH'
        ? Google::Cloud::Networkservices::V1::HttpRoute::GetHttpRouteRequest->new($args)
        : $args;
    return $self->_grpc_client->call({
        service        => 'google.cloud.networkservices.v1.NetworkServices',
        method         => 'GetHttpRoute',
        request        => $req,
        response_class => 'Google::Cloud::Networkservices::V1::HttpRoute::HttpRoute',
    });
}

sub create_http_route {
    my ($self, $args) = @_;
    my $req = ref($args) eq 'HASH'
        ? Google::Cloud::Networkservices::V1::HttpRoute::CreateHttpRouteRequest->new($args)
        : $args;
    return $self->_grpc_client->call({
        service        => 'google.cloud.networkservices.v1.NetworkServices',
        method         => 'CreateHttpRoute',
        request        => $req,
        response_class => 'Google::Longrunning::Operations::Operation',
    });
}

sub update_http_route {
    my ($self, $args) = @_;
    my $req = ref($args) eq 'HASH'
        ? Google::Cloud::Networkservices::V1::HttpRoute::UpdateHttpRouteRequest->new($args)
        : $args;
    return $self->_grpc_client->call({
        service        => 'google.cloud.networkservices.v1.NetworkServices',
        method         => 'UpdateHttpRoute',
        request        => $req,
        response_class => 'Google::Longrunning::Operations::Operation',
    });
}

sub delete_http_route {
    my ($self, $args) = @_;
    my $req = ref($args) eq 'HASH'
        ? Google::Cloud::Networkservices::V1::HttpRoute::DeleteHttpRouteRequest->new($args)
        : $args;
    return $self->_grpc_client->call({
        service        => 'google.cloud.networkservices.v1.NetworkServices',
        method         => 'DeleteHttpRoute',
        request        => $req,
        response_class => 'Google::Longrunning::Operations::Operation',
    });
}

sub list_tcp_routes {
    my ($self, $args) = @_;
    my $req = ref($args) eq 'HASH'
        ? Google::Cloud::Networkservices::V1::TcpRoute::ListTcpRoutesRequest->new($args)
        : $args;
    return $self->_grpc_client->call({
        service        => 'google.cloud.networkservices.v1.NetworkServices',
        method         => 'ListTcpRoutes',
        request        => $req,
        response_class => 'Google::Cloud::Networkservices::V1::TcpRoute::ListTcpRoutesResponse',
    });
}

sub get_tcp_route {
    my ($self, $args) = @_;
    my $req = ref($args) eq 'HASH'
        ? Google::Cloud::Networkservices::V1::TcpRoute::GetTcpRouteRequest->new($args)
        : $args;
    return $self->_grpc_client->call({
        service        => 'google.cloud.networkservices.v1.NetworkServices',
        method         => 'GetTcpRoute',
        request        => $req,
        response_class => 'Google::Cloud::Networkservices::V1::TcpRoute::TcpRoute',
    });
}

sub create_tcp_route {
    my ($self, $args) = @_;
    my $req = ref($args) eq 'HASH'
        ? Google::Cloud::Networkservices::V1::TcpRoute::CreateTcpRouteRequest->new($args)
        : $args;
    return $self->_grpc_client->call({
        service        => 'google.cloud.networkservices.v1.NetworkServices',
        method         => 'CreateTcpRoute',
        request        => $req,
        response_class => 'Google::Longrunning::Operations::Operation',
    });
}

sub update_tcp_route {
    my ($self, $args) = @_;
    my $req = ref($args) eq 'HASH'
        ? Google::Cloud::Networkservices::V1::TcpRoute::UpdateTcpRouteRequest->new($args)
        : $args;
    return $self->_grpc_client->call({
        service        => 'google.cloud.networkservices.v1.NetworkServices',
        method         => 'UpdateTcpRoute',
        request        => $req,
        response_class => 'Google::Longrunning::Operations::Operation',
    });
}

sub delete_tcp_route {
    my ($self, $args) = @_;
    my $req = ref($args) eq 'HASH'
        ? Google::Cloud::Networkservices::V1::TcpRoute::DeleteTcpRouteRequest->new($args)
        : $args;
    return $self->_grpc_client->call({
        service        => 'google.cloud.networkservices.v1.NetworkServices',
        method         => 'DeleteTcpRoute',
        request        => $req,
        response_class => 'Google::Longrunning::Operations::Operation',
    });
}

sub list_tls_routes {
    my ($self, $args) = @_;
    my $req = ref($args) eq 'HASH'
        ? Google::Cloud::Networkservices::V1::TlsRoute::ListTlsRoutesRequest->new($args)
        : $args;
    return $self->_grpc_client->call({
        service        => 'google.cloud.networkservices.v1.NetworkServices',
        method         => 'ListTlsRoutes',
        request        => $req,
        response_class => 'Google::Cloud::Networkservices::V1::TlsRoute::ListTlsRoutesResponse',
    });
}

sub get_tls_route {
    my ($self, $args) = @_;
    my $req = ref($args) eq 'HASH'
        ? Google::Cloud::Networkservices::V1::TlsRoute::GetTlsRouteRequest->new($args)
        : $args;
    return $self->_grpc_client->call({
        service        => 'google.cloud.networkservices.v1.NetworkServices',
        method         => 'GetTlsRoute',
        request        => $req,
        response_class => 'Google::Cloud::Networkservices::V1::TlsRoute::TlsRoute',
    });
}

sub create_tls_route {
    my ($self, $args) = @_;
    my $req = ref($args) eq 'HASH'
        ? Google::Cloud::Networkservices::V1::TlsRoute::CreateTlsRouteRequest->new($args)
        : $args;
    return $self->_grpc_client->call({
        service        => 'google.cloud.networkservices.v1.NetworkServices',
        method         => 'CreateTlsRoute',
        request        => $req,
        response_class => 'Google::Longrunning::Operations::Operation',
    });
}

sub update_tls_route {
    my ($self, $args) = @_;
    my $req = ref($args) eq 'HASH'
        ? Google::Cloud::Networkservices::V1::TlsRoute::UpdateTlsRouteRequest->new($args)
        : $args;
    return $self->_grpc_client->call({
        service        => 'google.cloud.networkservices.v1.NetworkServices',
        method         => 'UpdateTlsRoute',
        request        => $req,
        response_class => 'Google::Longrunning::Operations::Operation',
    });
}

sub delete_tls_route {
    my ($self, $args) = @_;
    my $req = ref($args) eq 'HASH'
        ? Google::Cloud::Networkservices::V1::TlsRoute::DeleteTlsRouteRequest->new($args)
        : $args;
    return $self->_grpc_client->call({
        service        => 'google.cloud.networkservices.v1.NetworkServices',
        method         => 'DeleteTlsRoute',
        request        => $req,
        response_class => 'Google::Longrunning::Operations::Operation',
    });
}

sub list_service_bindings {
    my ($self, $args) = @_;
    my $req = ref($args) eq 'HASH'
        ? Google::Cloud::Networkservices::V1::ServiceBinding::ListServiceBindingsRequest->new($args)
        : $args;
    return $self->_grpc_client->call({
        service        => 'google.cloud.networkservices.v1.NetworkServices',
        method         => 'ListServiceBindings',
        request        => $req,
        response_class => 'Google::Cloud::Networkservices::V1::ServiceBinding::ListServiceBindingsResponse',
    });
}

sub get_service_binding {
    my ($self, $args) = @_;
    my $req = ref($args) eq 'HASH'
        ? Google::Cloud::Networkservices::V1::ServiceBinding::GetServiceBindingRequest->new($args)
        : $args;
    return $self->_grpc_client->call({
        service        => 'google.cloud.networkservices.v1.NetworkServices',
        method         => 'GetServiceBinding',
        request        => $req,
        response_class => 'Google::Cloud::Networkservices::V1::ServiceBinding::ServiceBinding',
    });
}

sub create_service_binding {
    my ($self, $args) = @_;
    my $req = ref($args) eq 'HASH'
        ? Google::Cloud::Networkservices::V1::ServiceBinding::CreateServiceBindingRequest->new($args)
        : $args;
    return $self->_grpc_client->call({
        service        => 'google.cloud.networkservices.v1.NetworkServices',
        method         => 'CreateServiceBinding',
        request        => $req,
        response_class => 'Google::Longrunning::Operations::Operation',
    });
}

sub update_service_binding {
    my ($self, $args) = @_;
    my $req = ref($args) eq 'HASH'
        ? Google::Cloud::Networkservices::V1::ServiceBinding::UpdateServiceBindingRequest->new($args)
        : $args;
    return $self->_grpc_client->call({
        service        => 'google.cloud.networkservices.v1.NetworkServices',
        method         => 'UpdateServiceBinding',
        request        => $req,
        response_class => 'Google::Longrunning::Operations::Operation',
    });
}

sub delete_service_binding {
    my ($self, $args) = @_;
    my $req = ref($args) eq 'HASH'
        ? Google::Cloud::Networkservices::V1::ServiceBinding::DeleteServiceBindingRequest->new($args)
        : $args;
    return $self->_grpc_client->call({
        service        => 'google.cloud.networkservices.v1.NetworkServices',
        method         => 'DeleteServiceBinding',
        request        => $req,
        response_class => 'Google::Longrunning::Operations::Operation',
    });
}

sub list_meshes {
    my ($self, $args) = @_;
    my $req = ref($args) eq 'HASH'
        ? Google::Cloud::Networkservices::V1::Mesh::ListMeshesRequest->new($args)
        : $args;
    return $self->_grpc_client->call({
        service        => 'google.cloud.networkservices.v1.NetworkServices',
        method         => 'ListMeshes',
        request        => $req,
        response_class => 'Google::Cloud::Networkservices::V1::Mesh::ListMeshesResponse',
    });
}

sub get_mesh {
    my ($self, $args) = @_;
    my $req = ref($args) eq 'HASH'
        ? Google::Cloud::Networkservices::V1::Mesh::GetMeshRequest->new($args)
        : $args;
    return $self->_grpc_client->call({
        service        => 'google.cloud.networkservices.v1.NetworkServices',
        method         => 'GetMesh',
        request        => $req,
        response_class => 'Google::Cloud::Networkservices::V1::Mesh::Mesh',
    });
}

sub create_mesh {
    my ($self, $args) = @_;
    my $req = ref($args) eq 'HASH'
        ? Google::Cloud::Networkservices::V1::Mesh::CreateMeshRequest->new($args)
        : $args;
    return $self->_grpc_client->call({
        service        => 'google.cloud.networkservices.v1.NetworkServices',
        method         => 'CreateMesh',
        request        => $req,
        response_class => 'Google::Longrunning::Operations::Operation',
    });
}

sub update_mesh {
    my ($self, $args) = @_;
    my $req = ref($args) eq 'HASH'
        ? Google::Cloud::Networkservices::V1::Mesh::UpdateMeshRequest->new($args)
        : $args;
    return $self->_grpc_client->call({
        service        => 'google.cloud.networkservices.v1.NetworkServices',
        method         => 'UpdateMesh',
        request        => $req,
        response_class => 'Google::Longrunning::Operations::Operation',
    });
}

sub delete_mesh {
    my ($self, $args) = @_;
    my $req = ref($args) eq 'HASH'
        ? Google::Cloud::Networkservices::V1::Mesh::DeleteMeshRequest->new($args)
        : $args;
    return $self->_grpc_client->call({
        service        => 'google.cloud.networkservices.v1.NetworkServices',
        method         => 'DeleteMesh',
        request        => $req,
        response_class => 'Google::Longrunning::Operations::Operation',
    });
}

sub list_service_lb_policies {
    my ($self, $args) = @_;
    my $req = ref($args) eq 'HASH'
        ? Google::Cloud::Networkservices::V1::ServiceLbPolicy::ListServiceLbPoliciesRequest->new($args)
        : $args;
    return $self->_grpc_client->call({
        service        => 'google.cloud.networkservices.v1.NetworkServices',
        method         => 'ListServiceLbPolicies',
        request        => $req,
        response_class => 'Google::Cloud::Networkservices::V1::ServiceLbPolicy::ListServiceLbPoliciesResponse',
    });
}

sub get_service_lb_policy {
    my ($self, $args) = @_;
    my $req = ref($args) eq 'HASH'
        ? Google::Cloud::Networkservices::V1::ServiceLbPolicy::GetServiceLbPolicyRequest->new($args)
        : $args;
    return $self->_grpc_client->call({
        service        => 'google.cloud.networkservices.v1.NetworkServices',
        method         => 'GetServiceLbPolicy',
        request        => $req,
        response_class => 'Google::Cloud::Networkservices::V1::ServiceLbPolicy::ServiceLbPolicy',
    });
}

sub create_service_lb_policy {
    my ($self, $args) = @_;
    my $req = ref($args) eq 'HASH'
        ? Google::Cloud::Networkservices::V1::ServiceLbPolicy::CreateServiceLbPolicyRequest->new($args)
        : $args;
    return $self->_grpc_client->call({
        service        => 'google.cloud.networkservices.v1.NetworkServices',
        method         => 'CreateServiceLbPolicy',
        request        => $req,
        response_class => 'Google::Longrunning::Operations::Operation',
    });
}

sub update_service_lb_policy {
    my ($self, $args) = @_;
    my $req = ref($args) eq 'HASH'
        ? Google::Cloud::Networkservices::V1::ServiceLbPolicy::UpdateServiceLbPolicyRequest->new($args)
        : $args;
    return $self->_grpc_client->call({
        service        => 'google.cloud.networkservices.v1.NetworkServices',
        method         => 'UpdateServiceLbPolicy',
        request        => $req,
        response_class => 'Google::Longrunning::Operations::Operation',
    });
}

sub delete_service_lb_policy {
    my ($self, $args) = @_;
    my $req = ref($args) eq 'HASH'
        ? Google::Cloud::Networkservices::V1::ServiceLbPolicy::DeleteServiceLbPolicyRequest->new($args)
        : $args;
    return $self->_grpc_client->call({
        service        => 'google.cloud.networkservices.v1.NetworkServices',
        method         => 'DeleteServiceLbPolicy',
        request        => $req,
        response_class => 'Google::Longrunning::Operations::Operation',
    });
}

sub get_gateway_route_view {
    my ($self, $args) = @_;
    my $req = ref($args) eq 'HASH'
        ? Google::Cloud::Networkservices::V1::RouteView::GetGatewayRouteViewRequest->new($args)
        : $args;
    return $self->_grpc_client->call({
        service        => 'google.cloud.networkservices.v1.NetworkServices',
        method         => 'GetGatewayRouteView',
        request        => $req,
        response_class => 'Google::Cloud::Networkservices::V1::RouteView::GatewayRouteView',
    });
}

sub get_mesh_route_view {
    my ($self, $args) = @_;
    my $req = ref($args) eq 'HASH'
        ? Google::Cloud::Networkservices::V1::RouteView::GetMeshRouteViewRequest->new($args)
        : $args;
    return $self->_grpc_client->call({
        service        => 'google.cloud.networkservices.v1.NetworkServices',
        method         => 'GetMeshRouteView',
        request        => $req,
        response_class => 'Google::Cloud::Networkservices::V1::RouteView::MeshRouteView',
    });
}

sub list_gateway_route_views {
    my ($self, $args) = @_;
    my $req = ref($args) eq 'HASH'
        ? Google::Cloud::Networkservices::V1::RouteView::ListGatewayRouteViewsRequest->new($args)
        : $args;
    return $self->_grpc_client->call({
        service        => 'google.cloud.networkservices.v1.NetworkServices',
        method         => 'ListGatewayRouteViews',
        request        => $req,
        response_class => 'Google::Cloud::Networkservices::V1::RouteView::ListGatewayRouteViewsResponse',
    });
}

sub list_mesh_route_views {
    my ($self, $args) = @_;
    my $req = ref($args) eq 'HASH'
        ? Google::Cloud::Networkservices::V1::RouteView::ListMeshRouteViewsRequest->new($args)
        : $args;
    return $self->_grpc_client->call({
        service        => 'google.cloud.networkservices.v1.NetworkServices',
        method         => 'ListMeshRouteViews',
        request        => $req,
        response_class => 'Google::Cloud::Networkservices::V1::RouteView::ListMeshRouteViewsResponse',
    });
}

sub list_agent_gateways {
    my ($self, $args) = @_;
    my $req = ref($args) eq 'HASH'
        ? Google::Cloud::Networkservices::V1::AgentGateway::ListAgentGatewaysRequest->new($args)
        : $args;
    return $self->_grpc_client->call({
        service        => 'google.cloud.networkservices.v1.NetworkServices',
        method         => 'ListAgentGateways',
        request        => $req,
        response_class => 'Google::Cloud::Networkservices::V1::AgentGateway::ListAgentGatewaysResponse',
    });
}

sub get_agent_gateway {
    my ($self, $args) = @_;
    my $req = ref($args) eq 'HASH'
        ? Google::Cloud::Networkservices::V1::AgentGateway::GetAgentGatewayRequest->new($args)
        : $args;
    return $self->_grpc_client->call({
        service        => 'google.cloud.networkservices.v1.NetworkServices',
        method         => 'GetAgentGateway',
        request        => $req,
        response_class => 'Google::Cloud::Networkservices::V1::AgentGateway::AgentGateway',
    });
}

sub create_agent_gateway {
    my ($self, $args) = @_;
    my $req = ref($args) eq 'HASH'
        ? Google::Cloud::Networkservices::V1::AgentGateway::CreateAgentGatewayRequest->new($args)
        : $args;
    return $self->_grpc_client->call({
        service        => 'google.cloud.networkservices.v1.NetworkServices',
        method         => 'CreateAgentGateway',
        request        => $req,
        response_class => 'Google::Longrunning::Operations::Operation',
    });
}

sub update_agent_gateway {
    my ($self, $args) = @_;
    my $req = ref($args) eq 'HASH'
        ? Google::Cloud::Networkservices::V1::AgentGateway::UpdateAgentGatewayRequest->new($args)
        : $args;
    return $self->_grpc_client->call({
        service        => 'google.cloud.networkservices.v1.NetworkServices',
        method         => 'UpdateAgentGateway',
        request        => $req,
        response_class => 'Google::Longrunning::Operations::Operation',
    });
}

sub delete_agent_gateway {
    my ($self, $args) = @_;
    my $req = ref($args) eq 'HASH'
        ? Google::Cloud::Networkservices::V1::AgentGateway::DeleteAgentGatewayRequest->new($args)
        : $args;
    return $self->_grpc_client->call({
        service        => 'google.cloud.networkservices.v1.NetworkServices',
        method         => 'DeleteAgentGateway',
        request        => $req,
        response_class => 'Google::Longrunning::Operations::Operation',
    });
}

1;

__END__

=head1 NAME

Google::Cloud::Networkservices::V1::Networkservices - Protocol Buffers schema definition

=head1 DESCRIPTION

Auto-generated Protocol Buffers schema definition class.

=head1 LICENSE AND COPYRIGHT

Copyright (C) 2026 Google LLC

This program is released under the Apache 2.0 license.

=cut



( run in 1.252 second using v1.01-cache-2.11-cpan-7e94247ccb0 )