Google-Cloud-Networkservices-V1

 view release on metacpan or  search on metacpan

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

=head1 DESCRIPTION

This class acts as a local client stub for the remote gRPC service.
It delegates call dispatching to an underlying L<Google::gRPC::Client>
instance, ensuring type-safe request parsing and response mapping.

=head1 CONFIGURATION AND ENVIRONMENT

=head2 target

The endpoint target address. Defaults to C<networkservices.googleapis.com:443>.

=head2 credentials

The authentication credentials provider. Defaults to application default credentials via L<Google::Auth>.

=cut

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

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

=item * C<google/cloud/networkservices/v1/service_binding.proto>

=item * C<google/cloud/networkservices/v1/tls_route.proto>

=item * C<google/cloud/networkservices/v1/dep.proto>

=item * C<google/cloud/networkservices/v1/route_view.proto>

=item * C<google/cloud/networkservices/v1/service_lb_policy.proto>

=item * C<google/cloud/networkservices/v1/endpoint_policy.proto>

=item * C<google/cloud/networkservices/v1/gateway.proto>

=item * C<google/cloud/networkservices/v1/grpc_route.proto>

=item * C<google/cloud/networkservices/v1/extensibility.proto>

=item * C<google/cloud/networkservices/v1/agent_gateway.proto>


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

# Message definitions

# === Message: Google::Cloud::Networkservices::V1::EndpointPolicy::EndpointPolicy ===
    # Fields for EndpointPolicy
    # Field: name Type: 9 ()
    # Field: create_time Type: 11 (.google.protobuf.Timestamp)
    # Field: update_time Type: 11 (.google.protobuf.Timestamp)
    # Field: labels Type: 11 (.google.cloud.networkservices.v1.EndpointPolicy.LabelsEntry)
    # Field: type Type: 14 (.google.cloud.networkservices.v1.EndpointPolicy.EndpointPolicyType)
    # Field: authorization_policy Type: 9 ()
    # Field: endpoint_matcher Type: 11 (.google.cloud.networkservices.v1.EndpointMatcher)
    # Field: traffic_port_selector Type: 11 (.google.cloud.networkservices.v1.TrafficPortSelector)
    # Field: description Type: 9 ()
    # Field: server_tls_policy Type: 9 ()
    # Field: client_tls_policy Type: 9 ()

=pod

=head1 NAME

Google::Cloud::Networkservices::V1::EndpointPolicy::EndpointPolicy - Compiled Protocol Buffers message class

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

Type: Message (.google.cloud.networkservices.v1.EndpointPolicy.LabelsEntry)

=item * B<type>

Type: Enum (.google.cloud.networkservices.v1.EndpointPolicy.EndpointPolicyType)

=item * B<authorization_policy>

Type: String

=item * B<endpoint_matcher>

Type: Message (.google.cloud.networkservices.v1.EndpointMatcher)

=item * B<traffic_port_selector>

Type: Message (.google.cloud.networkservices.v1.TrafficPortSelector)

=item * B<description>

Type: String

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

=item * B<return_partial_success>

Type: Bool

=back

=cut

# === Message: Google::Cloud::Networkservices::V1::EndpointPolicy::ListEndpointPoliciesResponse ===
    # Fields for ListEndpointPoliciesResponse
    # Field: endpoint_policies Type: 11 (.google.cloud.networkservices.v1.EndpointPolicy)
    # Field: next_page_token Type: 9 ()
    # Field: unreachable Type: 9 ()

=pod

=head1 NAME

Google::Cloud::Networkservices::V1::EndpointPolicy::ListEndpointPoliciesResponse - Compiled Protocol Buffers message class

=head1 SYNOPSIS

    use Google::Cloud::Networkservices::V1::EndpointPolicy;

    my $msg = Google::Cloud::Networkservices::V1::EndpointPolicy::ListEndpointPoliciesResponse->new(
        endpoint_policies => $value,
    );

=head1 FIELDS

=over 4

=item * B<endpoint_policies>

Type: Message (.google.cloud.networkservices.v1.EndpointPolicy)

=item * B<next_page_token>

Type: String

=item * B<unreachable>

Type: String

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


Type: String

=back

=cut

# === Message: Google::Cloud::Networkservices::V1::EndpointPolicy::CreateEndpointPolicyRequest ===
    # Fields for CreateEndpointPolicyRequest
    # Field: parent Type: 9 ()
    # Field: endpoint_policy_id Type: 9 ()
    # Field: endpoint_policy Type: 11 (.google.cloud.networkservices.v1.EndpointPolicy)

=pod

=head1 NAME

Google::Cloud::Networkservices::V1::EndpointPolicy::CreateEndpointPolicyRequest - Compiled Protocol Buffers message class

=head1 SYNOPSIS

    use Google::Cloud::Networkservices::V1::EndpointPolicy;

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

    );

=head1 FIELDS

=over 4

=item * B<parent>

Type: String

=item * B<endpoint_policy_id>

Type: String

=item * B<endpoint_policy>

Type: Message (.google.cloud.networkservices.v1.EndpointPolicy)

=back

=cut

# === Message: Google::Cloud::Networkservices::V1::EndpointPolicy::UpdateEndpointPolicyRequest ===
    # Fields for UpdateEndpointPolicyRequest
    # Field: update_mask Type: 11 (.google.protobuf.FieldMask)
    # Field: endpoint_policy Type: 11 (.google.cloud.networkservices.v1.EndpointPolicy)

=pod

=head1 NAME

Google::Cloud::Networkservices::V1::EndpointPolicy::UpdateEndpointPolicyRequest - Compiled Protocol Buffers message class

=head1 SYNOPSIS

    use Google::Cloud::Networkservices::V1::EndpointPolicy;

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

    );

=head1 FIELDS

=over 4

=item * B<update_mask>

Type: Message (.google.protobuf.FieldMask)

=item * B<endpoint_policy>

Type: Message (.google.cloud.networkservices.v1.EndpointPolicy)

=back

=cut

# === Message: Google::Cloud::Networkservices::V1::EndpointPolicy::DeleteEndpointPolicyRequest ===
    # Fields for DeleteEndpointPolicyRequest
    # Field: name Type: 9 ()

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

=head1 DESCRIPTION

This class acts as a local client stub for the remote gRPC service.
It delegates call dispatching to an underlying L<Google::gRPC::Client>
instance, ensuring type-safe request parsing and response mapping.

=head1 CONFIGURATION AND ENVIRONMENT

=head2 target

The endpoint target address. Defaults to C<networkservices.googleapis.com:443>.

=head2 credentials

The authentication credentials provider. Defaults to application default credentials via L<Google::Auth>.

=cut

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

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

    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',
    });

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

    } else {
        # Default high-performance HTTP/2 gRPC client
        my $client = Google::gRPC::Client->new(
            target     => $target,
            auth_token => $token,
        );
        $self->transport($client);
    }
}

sub list_endpoint_policies {
    my ($self, %params) = @_;

    my $request_class = 'Google::Cloud::Networkservices::V1::EndpointPolicy::ListEndpointPoliciesRequest';
    my $request = eval { $request_class->new(\%params) } || eval { $request_class->new(%params) } || ($request_class->can('encode') ? $request_class->encode(\%params) : \%params);

    my $response_class = 'Google::Cloud::Networkservices::V1::EndpointPolicy::ListEndpointPoliciesResponse';
    my $response = $self->transport->call({
        service        => 'google.cloud.networkservices.v1.NetworkServices',
        method         => 'ListEndpointPolicies',
        request        => $request,

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

=item * C<google/cloud/networkservices/v1/service_binding.proto>

=item * C<google/cloud/networkservices/v1/tls_route.proto>

=item * C<google/cloud/networkservices/v1/dep.proto>

=item * C<google/cloud/networkservices/v1/route_view.proto>

=item * C<google/cloud/networkservices/v1/service_lb_policy.proto>

=item * C<google/cloud/networkservices/v1/endpoint_policy.proto>

=item * C<google/cloud/networkservices/v1/gateway.proto>

=item * C<google/cloud/networkservices/v1/grpc_route.proto>

=item * C<google/cloud/networkservices/v1/extensibility.proto>

=item * C<google/cloud/networkservices/v1/agent_gateway.proto>


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

Returns or accepts the active transport object (L<Google::gRPC::Client> or L<Google::Cloud::REST::Client>).

=head1 METHODS

=head2 METHODS

The following RPC methods are available in this client:

=over 4

=item * B<list_endpoint_policies>

Calls the RPC method C<ListEndpointPolicies> on the service. Takes a hash of parameters representing the request.

=back



=head1 LICENSE AND COPYRIGHT

Copyright (C) 2026 Google LLC

t/01-service-Networkservices.t  view on Meta::CPAN

}

# D. Main test execution
package main;
use Google::Cloud::Networkservices::V1::NetworkservicesClient;

my $client = Google::Cloud::Networkservices::V1::NetworkservicesClient->new( credentials => 'dummy' );
ok($client, 'Instantiated generated client');
isa_ok($client->transport, 'Google::gRPC::Client', 'Client transport');

subtest 'list_endpoint_policies method' => sub {
    $client->transport->{mock_call} = sub {
        my ($args) = @_;
        is($args->{service}, 'google.cloud.networkservices.v1.NetworkServices', 'Correct service path');
        is($args->{method}, 'ListEndpointPolicies', 'Correct RPC method');
        isa_ok($args->{request}, 'Google::Cloud::Networkservices::V1::EndpointPolicy::ListEndpointPoliciesRequest', 'Request object');
        
        my $response = 'Google::Cloud::Networkservices::V1::EndpointPolicy::ListEndpointPoliciesResponse'->new();
        return $response;
    };
    
    my $res = $client->list_endpoint_policies();
    ok($res, 'Method returned a response');
    isa_ok($res, 'Google::Cloud::Networkservices::V1::EndpointPolicy::ListEndpointPoliciesResponse', 'Response object class');
    done_testing();
};

done_testing();



( run in 0.856 second using v1.01-cache-2.11-cpan-81fc1098f69 )