Google-Cloud-Metastore-V1

 view release on metacpan or  search on metacpan

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

ZCBtYXNrIHVzZWQgdG8gc3BlY2lmeSB0aGUgZmllbGRzIHRvIGJlIG92ZXJ3cml0dGVuIGlu
IHRoZQogbWV0YXN0b3JlIGZlZGVyYXRpb24gcmVzb3VyY2UgYnkgdGhlIHVwZGF0ZS4KIEZp
ZWxkcyBzcGVjaWZpZWQgaW4gdGhlIGB1cGRhdGVfbWFza2AgYXJlIHJlbGF0aXZlIHRvIHRo
ZSByZXNvdXJjZSAobm90CiB0byB0aGUgZnVsbCByZXF1ZXN0KS4gQSBmaWVsZCBpcyBvdmVy
d3JpdHRlbiBpZiBpdCBpcyBpbiB0aGUgbWFzay4KCg0KBQQGAgAGEgTCAgIbCg0KBQQGAgAB
EgTCAhwnCg0KBQQGAgADEgTCAiorCg0KBQQGAgAIEgTDAgYuChAKCAQGAgAInAgAEgTDAgct
CvgBCgQEBgIBEgTKAgJFGukBIFJlcXVpcmVkLiBUaGUgbWV0YXN0b3JlIGZlZGVyYXRpb24g
dG8gdXBkYXRlLiBUaGUgc2VydmVyIG9ubHkgbWVyZ2VzIGZpZWxkcwogaW4gdGhlIHNlcnZp
Y2UgaWYgdGhleSBhcmUgc3BlY2lmaWVkIGluIGB1cGRhdGVfbWFza2AuCgogVGhlIG1ldGFz
dG9yZSBmZWRlcmF0aW9uJ3MgYG5hbWVgIGZpZWxkIGlzIHVzZWQgdG8gaWRlbnRpZnkgdGhl
CiBtZXRhc3RvcmUgc2VydmljZSB0byBiZSB1cGRhdGVkLgoKDQoFBAYCAQYSBMoCAgwKDQoF
BAYCAQESBMoCDRcKDQoFBAYCAQMSBMoCGhsKDQoFBAYCAQgSBMoCHEQKEAoIBAYCAQicCAAS
BMoCHUMK+QQKBAQGAgISBNgCAkEa6gQgT3B0aW9uYWwuIEEgcmVxdWVzdCBJRC4gU3BlY2lm
eSBhIHVuaXF1ZSByZXF1ZXN0IElEIHRvIGFsbG93IHRoZSBzZXJ2ZXIgdG8KIGlnbm9yZSB0
aGUgcmVxdWVzdCBpZiBpdCBoYXMgY29tcGxldGVkLiBUaGUgc2VydmVyIHdpbGwgaWdub3Jl
IHN1YnNlcXVlbnQKIHJlcXVlc3RzIHRoYXQgcHJvdmlkZSBhIGR1cGxpY2F0ZSByZXF1ZXN0
IElEIGZvciBhdCBsZWFzdCA2MCBtaW51dGVzIGFmdGVyCiB0aGUgZmlyc3QgcmVxdWVzdC4K
CiBGb3IgZXhhbXBsZSwgaWYgYW4gaW5pdGlhbCByZXF1ZXN0IHRpbWVzIG91dCwgZm9sbG93
ZWQgYnkgYW5vdGhlciByZXF1ZXN0CiB3aXRoIHRoZSBzYW1lIHJlcXVlc3QgSUQsIHRoZSBz
ZXJ2ZXIgaWdub3JlcyB0aGUgc2Vjb25kIHJlcXVlc3QgdG8gcHJldmVudAogdGhlIGNyZWF0
aW9uIG9mIGR1cGxpY2F0ZSBjb21taXRtZW50cy4KCiBUaGUgcmVxdWVzdCBJRCBtdXN0IGJl
IGEgdmFsaWQKIFtVVUlEXShodHRwczovL2VuLndpa2lwZWRpYS5vcmcvd2lraS9Vbml2ZXJz
YWxseV91bmlxdWVfaWRlbnRpZmllciNGb3JtYXQpCiBBIHplcm8gVVVJRCAoMDAwMDAwMDAt
MDAwMC0wMDAwLTAwMDAtMDAwMDAwMDAwMDAwKSBpcyBub3Qgc3VwcG9ydGVkLgoKDQoFBAYC
AgUSBNgCAggKDQoFBAYCAgESBNgCCRMKDQoFBAYCAgMSBNgCFhcKDQoFBAYCAggSBNgCGEAK
EAoIBAYCAgicCAASBNgCGT8KNQoCBAcSBtwCAPUCARonIFJlcXVlc3QgbWVzc2FnZSBmb3Ig
RGVsZXRlRmVkZXJhdGlvbi4KCgsKAwQHARIE3AIIHwrJAQoEBAcCABIG4QIC5gIEGrgBIFJl
cXVpcmVkLiBUaGUgcmVsYXRpdmUgcmVzb3VyY2UgbmFtZSBvZiB0aGUgbWV0YXN0b3JlIGZl
ZGVyYXRpb24gdG8gZGVsZXRlLAogaW4gdGhlIGZvbGxvd2luZyBmb3JtOgoKIGBwcm9qZWN0
cy97cHJvamVjdF9udW1iZXJ9L2xvY2F0aW9ucy97bG9jYXRpb25faWR9L2ZlZGVyYXRpb25z
L3tmZWRlcmF0aW9uX2lkfWAuCgoNCgUEBwIABRIE4QICCAoNCgUEBwIAARIE4QIJDQoNCgUE
BwIAAxIE4QIQEQoPCgUEBwIACBIG4QIS5gIDChAKCAQHAgAInAgAEgTiAgQqChEKBwQHAgAI
nwgSBuMCBOUCBQr5BAoEBAcCARIE9AICQRrqBCBPcHRpb25hbC4gQSByZXF1ZXN0IElELiBT
cGVjaWZ5IGEgdW5pcXVlIHJlcXVlc3QgSUQgdG8gYWxsb3cgdGhlIHNlcnZlciB0bwogaWdu
b3JlIHRoZSByZXF1ZXN0IGlmIGl0IGhhcyBjb21wbGV0ZWQuIFRoZSBzZXJ2ZXIgd2lsbCBp
Z25vcmUgc3Vic2VxdWVudAogcmVxdWVzdHMgdGhhdCBwcm92aWRlIGEgZHVwbGljYXRlIHJl
cXVlc3QgSUQgZm9yIGF0IGxlYXN0IDYwIG1pbnV0ZXMgYWZ0ZXIKIHRoZSBmaXJzdCByZXF1
ZXN0LgoKIEZvciBleGFtcGxlLCBpZiBhbiBpbml0aWFsIHJlcXVlc3QgdGltZXMgb3V0LCBm
b2xsb3dlZCBieSBhbm90aGVyIHJlcXVlc3QKIHdpdGggdGhlIHNhbWUgcmVxdWVzdCBJRCwg
dGhlIHNlcnZlciBpZ25vcmVzIHRoZSBzZWNvbmQgcmVxdWVzdCB0byBwcmV2ZW50CiB0aGUg
Y3JlYXRpb24gb2YgZHVwbGljYXRlIGNvbW1pdG1lbnRzLgoKIFRoZSByZXF1ZXN0IElEIG11
c3QgYmUgYSB2YWxpZAogW1VVSURdKGh0dHBzOi8vZW4ud2lraXBlZGlhLm9yZy93aWtpL1Vu
aXZlcnNhbGx5X3VuaXF1ZV9pZGVudGlmaWVyI0Zvcm1hdCkKIEEgemVybyBVVUlEICgwMDAw
MDAwMC0wMDAwLTAwMDAtMDAwMC0wMDAwMDAwMDAwMDApIGlzIG5vdCBzdXBwb3J0ZWQuCgoN
CgUEBwIBBRIE9AICCAoNCgUEBwIBARIE9AIJEwoNCgUEBwIBAxIE9AIWFwoNCgUEBwIBCBIE
9AIYQAoQCggEBwIBCJwIABIE9AIZP2IGcHJvdG8z
EOF
    Protobuf::DescriptorPool->generated_pool->add_serialized_file(MIME::Base64::decode_base64($descriptor_b64));
}

# Message definitions

# === Message: Google::Cloud::Metastore::V1::MetastoreFederation::Federation ===
    # Fields for Federation
    # 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.metastore.v1.Federation.LabelsEntry)
    # Field: version Type: 9 ()
    # Field: backend_metastores Type: 11 (.google.cloud.metastore.v1.Federation.BackendMetastoresEntry)
    # Field: endpoint_uri Type: 9 ()
    # Field: state Type: 14 (.google.cloud.metastore.v1.Federation.State)
    # Field: state_message Type: 9 ()
    # Field: uid Type: 9 ()

=pod

=head1 NAME

Google::Cloud::Metastore::V1::MetastoreFederation::Federation - Compiled Protocol Buffers message class

=head1 SYNOPSIS

    use Google::Cloud::Metastore::V1::MetastoreFederation;

    my $msg = Google::Cloud::Metastore::V1::MetastoreFederation::Federation->new(
        name => $value,
    );

=head1 FIELDS

=over 4

=item * B<name>

Type: String

=item * B<create_time>

Type: Message (.google.protobuf.Timestamp)

=item * B<update_time>

Type: Message (.google.protobuf.Timestamp)

=item * B<labels>

Type: Message (.google.cloud.metastore.v1.Federation.LabelsEntry)

=item * B<version>

Type: String

=item * B<backend_metastores>

Type: Message (.google.cloud.metastore.v1.Federation.BackendMetastoresEntry)

=item * B<endpoint_uri>

Type: String

=item * B<state>

Type: Enum (.google.cloud.metastore.v1.Federation.State)

=item * B<state_message>

Type: String

=item * B<uid>

Type: String

=back

=cut

# Enum: Federation::State
our $Federation_STATE_UNSPECIFIED = 0;
our $Federation_CREATING = 1;
our $Federation_ACTIVE = 2;
our $Federation_UPDATING = 3;
our $Federation_DELETING = 4;
our $Federation_ERROR = 5;

=pod

=head2 Enum: Federation::State

Values:

=over 4

=item * C<STATE_UNSPECIFIED> => 0

=item * C<CREATING> => 1

=item * C<ACTIVE> => 2

=item * C<UPDATING> => 3

=item * C<DELETING> => 4

=item * C<ERROR> => 5

=back

=cut

# === Message: Google::Cloud::Metastore::V1::MetastoreFederation::BackendMetastore ===
    # Fields for BackendMetastore
    # Field: name Type: 9 ()
    # Field: metastore_type Type: 14 (.google.cloud.metastore.v1.BackendMetastore.MetastoreType)

=pod

=head1 NAME

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

Type: String

=back

=cut

# === Message: Google::Cloud::Metastore::V1::MetastoreFederation::DeleteFederationRequest ===
    # Fields for DeleteFederationRequest
    # Field: name Type: 9 ()
    # Field: request_id Type: 9 ()

=pod

=head1 NAME

Google::Cloud::Metastore::V1::MetastoreFederation::DeleteFederationRequest - Compiled Protocol Buffers message class

=head1 SYNOPSIS

    use Google::Cloud::Metastore::V1::MetastoreFederation;

    my $msg = Google::Cloud::Metastore::V1::MetastoreFederation::DeleteFederationRequest->new(
        name => $value,
    );

=head1 FIELDS

=over 4

=item * B<name>

Type: String

=item * B<request_id>

Type: String

=back

=cut

# === Service Client: Google::Cloud::Metastore::V1::MetastoreFederation::DataprocMetastoreFederationClient ===
package Google::Cloud::Metastore::V1::MetastoreFederation::DataprocMetastoreFederationClient;

=pod

=head1 NAME

Google::Cloud::Metastore::V1::MetastoreFederation::DataprocMetastoreFederationClient - Client stub representing the remote DataprocMetastoreFederation service

=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<metastore.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;

has credentials => ( is => 'ro', default => sub { Google::Auth->default() } );
has target      => ( is => 'ro', default => 'metastore.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_federations {
    my ($self, $args) = @_;
    my $req = ref($args) eq 'HASH'
        ? Google::Cloud::Metastore::V1::MetastoreFederation::ListFederationsRequest->new($args)
        : $args;
    return $self->_grpc_client->call({
        service        => 'google.cloud.metastore.v1.DataprocMetastoreFederation',
        method         => 'ListFederations',
        request        => $req,
        response_class => 'Google::Cloud::Metastore::V1::MetastoreFederation::ListFederationsResponse',
    });
}

sub get_federation {
    my ($self, $args) = @_;
    my $req = ref($args) eq 'HASH'
        ? Google::Cloud::Metastore::V1::MetastoreFederation::GetFederationRequest->new($args)
        : $args;
    return $self->_grpc_client->call({
        service        => 'google.cloud.metastore.v1.DataprocMetastoreFederation',
        method         => 'GetFederation',
        request        => $req,
        response_class => 'Google::Cloud::Metastore::V1::MetastoreFederation::Federation',
    });
}

sub create_federation {
    my ($self, $args) = @_;
    my $req = ref($args) eq 'HASH'
        ? Google::Cloud::Metastore::V1::MetastoreFederation::CreateFederationRequest->new($args)
        : $args;
    return $self->_grpc_client->call({
        service        => 'google.cloud.metastore.v1.DataprocMetastoreFederation',
        method         => 'CreateFederation',



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