Google-Cloud-Datafusion-V1

 view release on metacpan or  search on metacpan

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


=over 4

=item * C<STATE_UNSPECIFIED> => 0

=item * C<ENABLED> => 1

=item * C<DISABLED> => 2

=item * C<UNKNOWN> => 3

=back

=cut

# === Message: Google::Cloud::Datafusion::V1::Datafusion::CryptoKeyConfig ===
    # Fields for CryptoKeyConfig
    # Field: key_reference Type: 9 ()

=pod

=head1 NAME

Google::Cloud::Datafusion::V1::Datafusion::CryptoKeyConfig - Compiled Protocol Buffers message class

=head1 SYNOPSIS

    use Google::Cloud::Datafusion::V1::Datafusion;

    my $msg = Google::Cloud::Datafusion::V1::Datafusion::CryptoKeyConfig->new(
        key_reference => $value,
    );

=head1 FIELDS

=over 4

=item * B<key_reference>

Type: String

=back

=cut

# === Message: Google::Cloud::Datafusion::V1::Datafusion::Instance ===
    # Fields for Instance
    # Field: name Type: 9 ()
    # Field: description Type: 9 ()
    # Field: type Type: 14 (.google.cloud.datafusion.v1.Instance.Type)
    # Field: enable_stackdriver_logging Type: 8 ()
    # Field: enable_stackdriver_monitoring Type: 8 ()
    # Field: private_instance Type: 8 ()
    # Field: network_config Type: 11 (.google.cloud.datafusion.v1.NetworkConfig)
    # Field: labels Type: 11 (.google.cloud.datafusion.v1.Instance.LabelsEntry)
    # Field: options Type: 11 (.google.cloud.datafusion.v1.Instance.OptionsEntry)
    # Field: create_time Type: 11 (.google.protobuf.Timestamp)
    # Field: update_time Type: 11 (.google.protobuf.Timestamp)
    # Field: state Type: 14 (.google.cloud.datafusion.v1.Instance.State)
    # Field: state_message Type: 9 ()
    # Field: service_endpoint Type: 9 ()
    # Field: zone Type: 9 ()
    # Field: version Type: 9 ()
    # Field: service_account Type: 9 ()
    # Field: display_name Type: 9 ()
    # Field: available_version Type: 11 (.google.cloud.datafusion.v1.Version)
    # Field: api_endpoint Type: 9 ()
    # Field: gcs_bucket Type: 9 ()
    # Field: accelerators Type: 11 (.google.cloud.datafusion.v1.Accelerator)
    # Field: p4_service_account Type: 9 ()
    # Field: tenant_project_id Type: 9 ()
    # Field: dataproc_service_account Type: 9 ()
    # Field: enable_rbac Type: 8 ()
    # Field: crypto_key_config Type: 11 (.google.cloud.datafusion.v1.CryptoKeyConfig)
    # Field: disabled_reason Type: 14 (.google.cloud.datafusion.v1.Instance.DisabledReason)

=pod

=head1 NAME

Google::Cloud::Datafusion::V1::Datafusion::Instance - Compiled Protocol Buffers message class

=head1 SYNOPSIS

    use Google::Cloud::Datafusion::V1::Datafusion;

    my $msg = Google::Cloud::Datafusion::V1::Datafusion::Instance->new(
        name => $value,
    );

=head1 FIELDS

=over 4

=item * B<name>

Type: String

=item * B<description>

Type: String

=item * B<type>

Type: Enum (.google.cloud.datafusion.v1.Instance.Type)

=item * B<enable_stackdriver_logging>

Type: Bool

=item * B<enable_stackdriver_monitoring>

Type: Bool

=item * B<private_instance>

Type: Bool

=item * B<network_config>

Type: Message (.google.cloud.datafusion.v1.NetworkConfig)

=item * B<labels>

Type: Message (.google.cloud.datafusion.v1.Instance.LabelsEntry)

=item * B<options>

Type: Message (.google.cloud.datafusion.v1.Instance.OptionsEntry)

=item * B<create_time>

Type: Message (.google.protobuf.Timestamp)

=item * B<update_time>

Type: Message (.google.protobuf.Timestamp)

=item * B<state>

Type: Enum (.google.cloud.datafusion.v1.Instance.State)

=item * B<state_message>

Type: String

=item * B<service_endpoint>

Type: String

=item * B<zone>

Type: String

=item * B<version>

Type: String

=item * B<service_account>

Type: String

=item * B<display_name>

Type: String

=item * B<available_version>

Type: Message (.google.cloud.datafusion.v1.Version)

=item * B<api_endpoint>

Type: String

=item * B<gcs_bucket>

Type: String

=item * B<accelerators>

Type: Message (.google.cloud.datafusion.v1.Accelerator)

=item * B<p4_service_account>

Type: String

=item * B<tenant_project_id>

Type: String

=item * B<dataproc_service_account>

Type: String

=item * B<enable_rbac>

Type: Bool

=item * B<crypto_key_config>

Type: Message (.google.cloud.datafusion.v1.CryptoKeyConfig)

=item * B<disabled_reason>

Type: Enum (.google.cloud.datafusion.v1.Instance.DisabledReason)

=back

=cut

# Enum: Instance::Type
our $Instance_TYPE_UNSPECIFIED = 0;
our $Instance_BASIC = 1;
our $Instance_ENTERPRISE = 2;
our $Instance_DEVELOPER = 3;

=pod

=head2 Enum: Instance::Type

Values:

=over 4

=item * C<TYPE_UNSPECIFIED> => 0

=item * C<BASIC> => 1

=item * C<ENTERPRISE> => 2

=item * C<DEVELOPER> => 3

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


=head1 FIELDS

=over 4

=item * B<create_time>

Type: Message (.google.protobuf.Timestamp)

=item * B<end_time>

Type: Message (.google.protobuf.Timestamp)

=item * B<target>

Type: String

=item * B<verb>

Type: String

=item * B<status_detail>

Type: String

=item * B<requested_cancellation>

Type: Bool

=item * B<api_version>

Type: String

=item * B<additional_status>

Type: Message (.google.cloud.datafusion.v1.OperationMetadata.AdditionalStatusEntry)

=back

=cut

# === Service Client: Google::Cloud::Datafusion::V1::Datafusion::DatafusionClient ===
package Google::Cloud::Datafusion::V1::Datafusion::DatafusionClient;

=pod

=head1 NAME

Google::Cloud::Datafusion::V1::Datafusion::DatafusionClient - Client stub representing the remote DataFusion 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<datafusion.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 => 'datafusion.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_available_versions {
    my ($self, $args) = @_;
    my $req = ref($args) eq 'HASH'
        ? Google::Cloud::Datafusion::V1::Datafusion::ListAvailableVersionsRequest->new($args)
        : $args;
    return $self->_grpc_client->call({
        service        => 'google.cloud.datafusion.v1.DataFusion',
        method         => 'ListAvailableVersions',
        request        => $req,
        response_class => 'Google::Cloud::Datafusion::V1::Datafusion::ListAvailableVersionsResponse',
    });
}

sub list_instances {
    my ($self, $args) = @_;
    my $req = ref($args) eq 'HASH'
        ? Google::Cloud::Datafusion::V1::Datafusion::ListInstancesRequest->new($args)
        : $args;
    return $self->_grpc_client->call({
        service        => 'google.cloud.datafusion.v1.DataFusion',
        method         => 'ListInstances',
        request        => $req,
        response_class => 'Google::Cloud::Datafusion::V1::Datafusion::ListInstancesResponse',
    });
}

sub get_instance {
    my ($self, $args) = @_;
    my $req = ref($args) eq 'HASH'
        ? Google::Cloud::Datafusion::V1::Datafusion::GetInstanceRequest->new($args)
        : $args;
    return $self->_grpc_client->call({
        service        => 'google.cloud.datafusion.v1.DataFusion',
        method         => 'GetInstance',



( run in 2.512 seconds using v1.01-cache-2.11-cpan-81fc1098f69 )