Google-Cloud-Dataflow-V1beta3

 view release on metacpan or  search on metacpan

lib/Google/Cloud/Dataflow/V1beta3/JobsV1beta3Client.pm  view on Meta::CPAN

    if (!$auth || !eval { $auth->can('get_token') }) {
        $auth = Google::Auth->default();
    }
    my $token = $auth->get_token();

    my $target = 'localhost:50051';
    my $t = $self->transport || 'grpc';

    if (ref($t) && eval { $t->can('call') }) {
        # Already a transport object
    } elsif (lc($t) eq 'rest') {
        my $client = Google::Cloud::REST::Client->new(
            target     => $target,
            auth_token => $token,
        );
        $self->transport($client);
    } else {
        # Default high-performance HTTP/2 gRPC client
        my $client = Google::gRPC::Client->new(
            target     => $target,
            auth_token => $token,
        );
        $self->transport($client);
    }
}

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

    my $request_class = 'Google::Dataflow::V1beta3::Jobs::CreateJobRequest';
    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::Dataflow::V1beta3::Jobs::Job';
    my $response = $self->transport->call({
        service        => 'google.dataflow.v1beta3.JobsV1Beta3',
        method         => 'CreateJob',
        request        => $request,
        response_class => $response_class,
    });

    return $response;
}

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

    my $request_class = 'Google::Dataflow::V1beta3::Jobs::GetJobRequest';
    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::Dataflow::V1beta3::Jobs::Job';
    my $response = $self->transport->call({
        service        => 'google.dataflow.v1beta3.JobsV1Beta3',
        method         => 'GetJob',
        request        => $request,
        response_class => $response_class,
    });

    return $response;
}

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

    my $request_class = 'Google::Dataflow::V1beta3::Jobs::UpdateJobRequest';
    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::Dataflow::V1beta3::Jobs::Job';
    my $response = $self->transport->call({
        service        => 'google.dataflow.v1beta3.JobsV1Beta3',
        method         => 'UpdateJob',
        request        => $request,
        response_class => $response_class,
    });

    return $response;
}

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

    my $request_class = 'Google::Dataflow::V1beta3::Jobs::ListJobsRequest';
    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::Dataflow::V1beta3::Jobs::ListJobsResponse';
    my $response = $self->transport->call({
        service        => 'google.dataflow.v1beta3.JobsV1Beta3',
        method         => 'ListJobs',
        request        => $request,
        response_class => $response_class,
    });

    return $response;
}

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

    my $request_class = 'Google::Dataflow::V1beta3::Jobs::ListJobsRequest';
    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::Dataflow::V1beta3::Jobs::ListJobsResponse';
    my $response = $self->transport->call({
        service        => 'google.dataflow.v1beta3.JobsV1Beta3',
        method         => 'AggregatedListJobs',
        request        => $request,
        response_class => $response_class,
    });

    return $response;
}

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

    my $request_class = 'Google::Dataflow::V1beta3::Jobs::CheckActiveJobsRequest';
    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::Dataflow::V1beta3::Jobs::CheckActiveJobsResponse';
    my $response = $self->transport->call({
        service        => 'google.dataflow.v1beta3.JobsV1Beta3',
        method         => 'CheckActiveJobs',



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