Current section

Files

Jump to
google_api_dataproc lib google_api dataproc v1 api projects.ex
Raw

lib/google_api/dataproc/v1/api/projects.ex

# Copyright 2017 Google Inc.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
# NOTE: This class is auto generated by the swagger code generator program.
# https://github.com/swagger-api/swagger-codegen.git
# Do not edit the class manually.
defmodule GoogleApi.Dataproc.V1.Api.Projects do
@moduledoc """
API calls for all endpoints tagged `Projects`.
"""
alias GoogleApi.Dataproc.V1.Connection
alias GoogleApi.Gax.{Request, Response}
@doc """
Creates a cluster in a project.
## Parameters
- connection (GoogleApi.Dataproc.V1.Connection): Connection to server
- project_id (String.t): Required. The ID of the Google Cloud Platform project that the cluster belongs to.
- region (String.t): Required. The Cloud Dataproc region in which to handle the request.
- opts (KeywordList): [optional] Optional parameters
- :callback (String.t): JSONP
- :oauth_token (String.t): OAuth 2.0 token for the current user.
- :$.xgafv (String.t): V1 error format.
- :alt (String.t): Data format for response.
- :access_token (String.t): OAuth access token.
- :key (String.t): API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token.
- :upload_protocol (String.t): Upload protocol for media (e.g. \"raw\", \"multipart\").
- :quotaUser (String.t): Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters.
- :prettyPrint (boolean()): Returns response with indentations and line breaks.
- :fields (String.t): Selector specifying which fields to include in a partial response.
- :uploadType (String.t): Legacy upload protocol for media (e.g. \"media\", \"multipart\").
- :requestId (String.t): Optional. A unique id used to identify the request. If the server receives two CreateClusterRequest requests with the same id, then the second request will be ignored and the first google.longrunning.Operation created and stored in the backend is returned.It is recommended to always set this value to a UUID (https://en.wikipedia.org/wiki/Universally_unique_identifier).The id must contain only letters (a-z, A-Z), numbers (0-9), underscores (_), and hyphens (-). The maximum length is 40 characters.
- :body (Cluster):
## Returns
{:ok, %GoogleApi.Dataproc.V1.Model.Operation{}} on success
{:error, info} on failure
"""
@spec dataproc_projects_regions_clusters_create(
Tesla.Env.client(),
String.t(),
String.t(),
keyword()
) :: {:ok, GoogleApi.Dataproc.V1.Model.Operation.t()} | {:error, Tesla.Env.t()}
def dataproc_projects_regions_clusters_create(connection, project_id, region, opts \\ []) do
optional_params = %{
:callback => :query,
:oauth_token => :query,
:"$.xgafv" => :query,
:alt => :query,
:access_token => :query,
:key => :query,
:upload_protocol => :query,
:quotaUser => :query,
:prettyPrint => :query,
:fields => :query,
:uploadType => :query,
:requestId => :query,
:body => :body
}
request =
Request.new()
|> Request.method(:post)
|> Request.url("/v1/projects/{projectId}/regions/{region}/clusters", %{
"projectId" => URI.encode_www_form(project_id),
"region" => URI.encode_www_form(region)
})
|> Request.add_optional_params(optional_params, opts)
connection
|> Connection.execute(request)
|> Response.decode(struct: %GoogleApi.Dataproc.V1.Model.Operation{})
end
@doc """
Deletes a cluster in a project.
## Parameters
- connection (GoogleApi.Dataproc.V1.Connection): Connection to server
- project_id (String.t): Required. The ID of the Google Cloud Platform project that the cluster belongs to.
- region (String.t): Required. The Cloud Dataproc region in which to handle the request.
- cluster_name (String.t): Required. The cluster name.
- opts (KeywordList): [optional] Optional parameters
- :callback (String.t): JSONP
- :oauth_token (String.t): OAuth 2.0 token for the current user.
- :$.xgafv (String.t): V1 error format.
- :alt (String.t): Data format for response.
- :access_token (String.t): OAuth access token.
- :key (String.t): API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token.
- :upload_protocol (String.t): Upload protocol for media (e.g. \"raw\", \"multipart\").
- :quotaUser (String.t): Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters.
- :prettyPrint (boolean()): Returns response with indentations and line breaks.
- :fields (String.t): Selector specifying which fields to include in a partial response.
- :uploadType (String.t): Legacy upload protocol for media (e.g. \"media\", \"multipart\").
- :requestId (String.t): Optional. A unique id used to identify the request. If the server receives two DeleteClusterRequest requests with the same id, then the second request will be ignored and the first google.longrunning.Operation created and stored in the backend is returned.It is recommended to always set this value to a UUID (https://en.wikipedia.org/wiki/Universally_unique_identifier).The id must contain only letters (a-z, A-Z), numbers (0-9), underscores (_), and hyphens (-). The maximum length is 40 characters.
- :clusterUuid (String.t): Optional. Specifying the cluster_uuid means the RPC should fail (with error NOT_FOUND) if cluster with specified UUID does not exist.
## Returns
{:ok, %GoogleApi.Dataproc.V1.Model.Operation{}} on success
{:error, info} on failure
"""
@spec dataproc_projects_regions_clusters_delete(
Tesla.Env.client(),
String.t(),
String.t(),
String.t(),
keyword()
) :: {:ok, GoogleApi.Dataproc.V1.Model.Operation.t()} | {:error, Tesla.Env.t()}
def dataproc_projects_regions_clusters_delete(
connection,
project_id,
region,
cluster_name,
opts \\ []
) do
optional_params = %{
:callback => :query,
:oauth_token => :query,
:"$.xgafv" => :query,
:alt => :query,
:access_token => :query,
:key => :query,
:upload_protocol => :query,
:quotaUser => :query,
:prettyPrint => :query,
:fields => :query,
:uploadType => :query,
:requestId => :query,
:clusterUuid => :query
}
request =
Request.new()
|> Request.method(:delete)
|> Request.url("/v1/projects/{projectId}/regions/{region}/clusters/{clusterName}", %{
"projectId" => URI.encode_www_form(project_id),
"region" => URI.encode_www_form(region),
"clusterName" => URI.encode_www_form(cluster_name)
})
|> Request.add_optional_params(optional_params, opts)
connection
|> Connection.execute(request)
|> Response.decode(struct: %GoogleApi.Dataproc.V1.Model.Operation{})
end
@doc """
Gets cluster diagnostic information. After the operation completes, the Operation.response field contains DiagnoseClusterOutputLocation.
## Parameters
- connection (GoogleApi.Dataproc.V1.Connection): Connection to server
- project_id (String.t): Required. The ID of the Google Cloud Platform project that the cluster belongs to.
- region (String.t): Required. The Cloud Dataproc region in which to handle the request.
- cluster_name (String.t): Required. The cluster name.
- opts (KeywordList): [optional] Optional parameters
- :callback (String.t): JSONP
- :oauth_token (String.t): OAuth 2.0 token for the current user.
- :$.xgafv (String.t): V1 error format.
- :alt (String.t): Data format for response.
- :access_token (String.t): OAuth access token.
- :key (String.t): API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token.
- :upload_protocol (String.t): Upload protocol for media (e.g. \"raw\", \"multipart\").
- :quotaUser (String.t): Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters.
- :prettyPrint (boolean()): Returns response with indentations and line breaks.
- :fields (String.t): Selector specifying which fields to include in a partial response.
- :uploadType (String.t): Legacy upload protocol for media (e.g. \"media\", \"multipart\").
- :body (DiagnoseClusterRequest):
## Returns
{:ok, %GoogleApi.Dataproc.V1.Model.Operation{}} on success
{:error, info} on failure
"""
@spec dataproc_projects_regions_clusters_diagnose(
Tesla.Env.client(),
String.t(),
String.t(),
String.t(),
keyword()
) :: {:ok, GoogleApi.Dataproc.V1.Model.Operation.t()} | {:error, Tesla.Env.t()}
def dataproc_projects_regions_clusters_diagnose(
connection,
project_id,
region,
cluster_name,
opts \\ []
) do
optional_params = %{
:callback => :query,
:oauth_token => :query,
:"$.xgafv" => :query,
:alt => :query,
:access_token => :query,
:key => :query,
:upload_protocol => :query,
:quotaUser => :query,
:prettyPrint => :query,
:fields => :query,
:uploadType => :query,
:body => :body
}
request =
Request.new()
|> Request.method(:post)
|> Request.url(
"/v1/projects/{projectId}/regions/{region}/clusters/{clusterName}:diagnose",
%{
"projectId" => URI.encode_www_form(project_id),
"region" => URI.encode_www_form(region),
"clusterName" => URI.encode_www_form(cluster_name)
}
)
|> Request.add_optional_params(optional_params, opts)
connection
|> Connection.execute(request)
|> Response.decode(struct: %GoogleApi.Dataproc.V1.Model.Operation{})
end
@doc """
Gets the resource representation for a cluster in a project.
## Parameters
- connection (GoogleApi.Dataproc.V1.Connection): Connection to server
- project_id (String.t): Required. The ID of the Google Cloud Platform project that the cluster belongs to.
- region (String.t): Required. The Cloud Dataproc region in which to handle the request.
- cluster_name (String.t): Required. The cluster name.
- opts (KeywordList): [optional] Optional parameters
- :callback (String.t): JSONP
- :oauth_token (String.t): OAuth 2.0 token for the current user.
- :$.xgafv (String.t): V1 error format.
- :alt (String.t): Data format for response.
- :access_token (String.t): OAuth access token.
- :key (String.t): API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token.
- :upload_protocol (String.t): Upload protocol for media (e.g. \"raw\", \"multipart\").
- :quotaUser (String.t): Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters.
- :prettyPrint (boolean()): Returns response with indentations and line breaks.
- :fields (String.t): Selector specifying which fields to include in a partial response.
- :uploadType (String.t): Legacy upload protocol for media (e.g. \"media\", \"multipart\").
## Returns
{:ok, %GoogleApi.Dataproc.V1.Model.Cluster{}} on success
{:error, info} on failure
"""
@spec dataproc_projects_regions_clusters_get(
Tesla.Env.client(),
String.t(),
String.t(),
String.t(),
keyword()
) :: {:ok, GoogleApi.Dataproc.V1.Model.Cluster.t()} | {:error, Tesla.Env.t()}
def dataproc_projects_regions_clusters_get(
connection,
project_id,
region,
cluster_name,
opts \\ []
) do
optional_params = %{
:callback => :query,
:oauth_token => :query,
:"$.xgafv" => :query,
:alt => :query,
:access_token => :query,
:key => :query,
:upload_protocol => :query,
:quotaUser => :query,
:prettyPrint => :query,
:fields => :query,
:uploadType => :query
}
request =
Request.new()
|> Request.method(:get)
|> Request.url("/v1/projects/{projectId}/regions/{region}/clusters/{clusterName}", %{
"projectId" => URI.encode_www_form(project_id),
"region" => URI.encode_www_form(region),
"clusterName" => URI.encode_www_form(cluster_name)
})
|> Request.add_optional_params(optional_params, opts)
connection
|> Connection.execute(request)
|> Response.decode(struct: %GoogleApi.Dataproc.V1.Model.Cluster{})
end
@doc """
Lists all regions/{region}/clusters in a project.
## Parameters
- connection (GoogleApi.Dataproc.V1.Connection): Connection to server
- project_id (String.t): Required. The ID of the Google Cloud Platform project that the cluster belongs to.
- region (String.t): Required. The Cloud Dataproc region in which to handle the request.
- opts (KeywordList): [optional] Optional parameters
- :callback (String.t): JSONP
- :oauth_token (String.t): OAuth 2.0 token for the current user.
- :$.xgafv (String.t): V1 error format.
- :alt (String.t): Data format for response.
- :access_token (String.t): OAuth access token.
- :key (String.t): API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token.
- :upload_protocol (String.t): Upload protocol for media (e.g. \"raw\", \"multipart\").
- :quotaUser (String.t): Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters.
- :prettyPrint (boolean()): Returns response with indentations and line breaks.
- :fields (String.t): Selector specifying which fields to include in a partial response.
- :uploadType (String.t): Legacy upload protocol for media (e.g. \"media\", \"multipart\").
- :filter (String.t): Optional. A filter constraining the clusters to list. Filters are case-sensitive and have the following syntax:field = value AND field = value ...where field is one of status.state, clusterName, or labels.[KEY], and [KEY] is a label key. value can be * to match all values. status.state can be one of the following: ACTIVE, INACTIVE, CREATING, RUNNING, ERROR, DELETING, or UPDATING. ACTIVE contains the CREATING, UPDATING, and RUNNING states. INACTIVE contains the DELETING and ERROR states. clusterName is the name of the cluster provided at creation time. Only the logical AND operator is supported; space-separated items are treated as having an implicit AND operator.Example filter:status.state = ACTIVE AND clusterName = mycluster AND labels.env = staging AND labels.starred = *
- :pageToken (String.t): Optional. The standard List page token.
- :pageSize (integer()): Optional. The standard List page size.
## Returns
{:ok, %GoogleApi.Dataproc.V1.Model.ListClustersResponse{}} on success
{:error, info} on failure
"""
@spec dataproc_projects_regions_clusters_list(
Tesla.Env.client(),
String.t(),
String.t(),
keyword()
) :: {:ok, GoogleApi.Dataproc.V1.Model.ListClustersResponse.t()} | {:error, Tesla.Env.t()}
def dataproc_projects_regions_clusters_list(connection, project_id, region, opts \\ []) do
optional_params = %{
:callback => :query,
:oauth_token => :query,
:"$.xgafv" => :query,
:alt => :query,
:access_token => :query,
:key => :query,
:upload_protocol => :query,
:quotaUser => :query,
:prettyPrint => :query,
:fields => :query,
:uploadType => :query,
:filter => :query,
:pageToken => :query,
:pageSize => :query
}
request =
Request.new()
|> Request.method(:get)
|> Request.url("/v1/projects/{projectId}/regions/{region}/clusters", %{
"projectId" => URI.encode_www_form(project_id),
"region" => URI.encode_www_form(region)
})
|> Request.add_optional_params(optional_params, opts)
connection
|> Connection.execute(request)
|> Response.decode(struct: %GoogleApi.Dataproc.V1.Model.ListClustersResponse{})
end
@doc """
Updates a cluster in a project.
## Parameters
- connection (GoogleApi.Dataproc.V1.Connection): Connection to server
- project_id (String.t): Required. The ID of the Google Cloud Platform project the cluster belongs to.
- region (String.t): Required. The Cloud Dataproc region in which to handle the request.
- cluster_name (String.t): Required. The cluster name.
- opts (KeywordList): [optional] Optional parameters
- :callback (String.t): JSONP
- :oauth_token (String.t): OAuth 2.0 token for the current user.
- :$.xgafv (String.t): V1 error format.
- :alt (String.t): Data format for response.
- :access_token (String.t): OAuth access token.
- :key (String.t): API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token.
- :upload_protocol (String.t): Upload protocol for media (e.g. \"raw\", \"multipart\").
- :quotaUser (String.t): Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters.
- :prettyPrint (boolean()): Returns response with indentations and line breaks.
- :fields (String.t): Selector specifying which fields to include in a partial response.
- :uploadType (String.t): Legacy upload protocol for media (e.g. \"media\", \"multipart\").
- :updateMask (String.t): Required. Specifies the path, relative to Cluster, of the field to update. For example, to change the number of workers in a cluster to 5, the update_mask parameter would be specified as config.worker_config.num_instances, and the PATCH request body would specify the new value, as follows: { \"config\":{ \"workerConfig\":{ \"numInstances\":\"5\" } } } Similarly, to change the number of preemptible workers in a cluster to 5, the update_mask parameter would be config.secondary_worker_config.num_instances, and the PATCH request body would be set as follows: { \"config\":{ \"secondaryWorkerConfig\":{ \"numInstances\":\"5\" } } } <strong>Note:</strong> Currently, only the following fields can be updated:<table> <tbody> <tr> <td><strong>Mask</strong></td> <td><strong>Purpose</strong></td> </tr> <tr> <td><strong><em>labels</em></strong></td> <td>Update labels</td> </tr> <tr> <td><strong><em>config.worker_config.num_instances</em></strong></td> <td>Resize primary worker group</td> </tr> <tr> <td><strong><em>config.secondary_worker_config.num_instances</em></strong></td> <td>Resize secondary worker group</td> </tr> </tbody> </table>
- :gracefulDecommissionTimeout (String.t): Optional. Timeout for graceful YARN decomissioning. Graceful decommissioning allows removing nodes from the cluster without interrupting jobs in progress. Timeout specifies how long to wait for jobs in progress to finish before forcefully removing nodes (and potentially interrupting jobs). Default timeout is 0 (for forceful decommission), and the maximum allowed timeout is 1 day.Only supported on Dataproc image versions 1.2 and higher.
- :requestId (String.t): Optional. A unique id used to identify the request. If the server receives two UpdateClusterRequest requests with the same id, then the second request will be ignored and the first google.longrunning.Operation created and stored in the backend is returned.It is recommended to always set this value to a UUID (https://en.wikipedia.org/wiki/Universally_unique_identifier).The id must contain only letters (a-z, A-Z), numbers (0-9), underscores (_), and hyphens (-). The maximum length is 40 characters.
- :body (Cluster):
## Returns
{:ok, %GoogleApi.Dataproc.V1.Model.Operation{}} on success
{:error, info} on failure
"""
@spec dataproc_projects_regions_clusters_patch(
Tesla.Env.client(),
String.t(),
String.t(),
String.t(),
keyword()
) :: {:ok, GoogleApi.Dataproc.V1.Model.Operation.t()} | {:error, Tesla.Env.t()}
def dataproc_projects_regions_clusters_patch(
connection,
project_id,
region,
cluster_name,
opts \\ []
) do
optional_params = %{
:callback => :query,
:oauth_token => :query,
:"$.xgafv" => :query,
:alt => :query,
:access_token => :query,
:key => :query,
:upload_protocol => :query,
:quotaUser => :query,
:prettyPrint => :query,
:fields => :query,
:uploadType => :query,
:updateMask => :query,
:gracefulDecommissionTimeout => :query,
:requestId => :query,
:body => :body
}
request =
Request.new()
|> Request.method(:patch)
|> Request.url("/v1/projects/{projectId}/regions/{region}/clusters/{clusterName}", %{
"projectId" => URI.encode_www_form(project_id),
"region" => URI.encode_www_form(region),
"clusterName" => URI.encode_www_form(cluster_name)
})
|> Request.add_optional_params(optional_params, opts)
connection
|> Connection.execute(request)
|> Response.decode(struct: %GoogleApi.Dataproc.V1.Model.Operation{})
end
@doc """
Starts a job cancellation request. To access the job resource after cancellation, call regions/{region}/jobs.list or regions/{region}/jobs.get.
## Parameters
- connection (GoogleApi.Dataproc.V1.Connection): Connection to server
- project_id (String.t): Required. The ID of the Google Cloud Platform project that the job belongs to.
- region (String.t): Required. The Cloud Dataproc region in which to handle the request.
- job_id (String.t): Required. The job ID.
- opts (KeywordList): [optional] Optional parameters
- :callback (String.t): JSONP
- :oauth_token (String.t): OAuth 2.0 token for the current user.
- :$.xgafv (String.t): V1 error format.
- :alt (String.t): Data format for response.
- :access_token (String.t): OAuth access token.
- :key (String.t): API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token.
- :upload_protocol (String.t): Upload protocol for media (e.g. \"raw\", \"multipart\").
- :quotaUser (String.t): Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters.
- :prettyPrint (boolean()): Returns response with indentations and line breaks.
- :fields (String.t): Selector specifying which fields to include in a partial response.
- :uploadType (String.t): Legacy upload protocol for media (e.g. \"media\", \"multipart\").
- :body (CancelJobRequest):
## Returns
{:ok, %GoogleApi.Dataproc.V1.Model.Job{}} on success
{:error, info} on failure
"""
@spec dataproc_projects_regions_jobs_cancel(
Tesla.Env.client(),
String.t(),
String.t(),
String.t(),
keyword()
) :: {:ok, GoogleApi.Dataproc.V1.Model.Job.t()} | {:error, Tesla.Env.t()}
def dataproc_projects_regions_jobs_cancel(connection, project_id, region, job_id, opts \\ []) do
optional_params = %{
:callback => :query,
:oauth_token => :query,
:"$.xgafv" => :query,
:alt => :query,
:access_token => :query,
:key => :query,
:upload_protocol => :query,
:quotaUser => :query,
:prettyPrint => :query,
:fields => :query,
:uploadType => :query,
:body => :body
}
request =
Request.new()
|> Request.method(:post)
|> Request.url("/v1/projects/{projectId}/regions/{region}/jobs/{jobId}:cancel", %{
"projectId" => URI.encode_www_form(project_id),
"region" => URI.encode_www_form(region),
"jobId" => URI.encode_www_form(job_id)
})
|> Request.add_optional_params(optional_params, opts)
connection
|> Connection.execute(request)
|> Response.decode(struct: %GoogleApi.Dataproc.V1.Model.Job{})
end
@doc """
Deletes the job from the project. If the job is active, the delete fails, and the response returns FAILED_PRECONDITION.
## Parameters
- connection (GoogleApi.Dataproc.V1.Connection): Connection to server
- project_id (String.t): Required. The ID of the Google Cloud Platform project that the job belongs to.
- region (String.t): Required. The Cloud Dataproc region in which to handle the request.
- job_id (String.t): Required. The job ID.
- opts (KeywordList): [optional] Optional parameters
- :callback (String.t): JSONP
- :oauth_token (String.t): OAuth 2.0 token for the current user.
- :$.xgafv (String.t): V1 error format.
- :alt (String.t): Data format for response.
- :access_token (String.t): OAuth access token.
- :key (String.t): API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token.
- :upload_protocol (String.t): Upload protocol for media (e.g. \"raw\", \"multipart\").
- :quotaUser (String.t): Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters.
- :prettyPrint (boolean()): Returns response with indentations and line breaks.
- :fields (String.t): Selector specifying which fields to include in a partial response.
- :uploadType (String.t): Legacy upload protocol for media (e.g. \"media\", \"multipart\").
## Returns
{:ok, %GoogleApi.Dataproc.V1.Model.Empty{}} on success
{:error, info} on failure
"""
@spec dataproc_projects_regions_jobs_delete(
Tesla.Env.client(),
String.t(),
String.t(),
String.t(),
keyword()
) :: {:ok, GoogleApi.Dataproc.V1.Model.Empty.t()} | {:error, Tesla.Env.t()}
def dataproc_projects_regions_jobs_delete(connection, project_id, region, job_id, opts \\ []) do
optional_params = %{
:callback => :query,
:oauth_token => :query,
:"$.xgafv" => :query,
:alt => :query,
:access_token => :query,
:key => :query,
:upload_protocol => :query,
:quotaUser => :query,
:prettyPrint => :query,
:fields => :query,
:uploadType => :query
}
request =
Request.new()
|> Request.method(:delete)
|> Request.url("/v1/projects/{projectId}/regions/{region}/jobs/{jobId}", %{
"projectId" => URI.encode_www_form(project_id),
"region" => URI.encode_www_form(region),
"jobId" => URI.encode_www_form(job_id)
})
|> Request.add_optional_params(optional_params, opts)
connection
|> Connection.execute(request)
|> Response.decode(struct: %GoogleApi.Dataproc.V1.Model.Empty{})
end
@doc """
Gets the resource representation for a job in a project.
## Parameters
- connection (GoogleApi.Dataproc.V1.Connection): Connection to server
- project_id (String.t): Required. The ID of the Google Cloud Platform project that the job belongs to.
- region (String.t): Required. The Cloud Dataproc region in which to handle the request.
- job_id (String.t): Required. The job ID.
- opts (KeywordList): [optional] Optional parameters
- :callback (String.t): JSONP
- :oauth_token (String.t): OAuth 2.0 token for the current user.
- :$.xgafv (String.t): V1 error format.
- :alt (String.t): Data format for response.
- :access_token (String.t): OAuth access token.
- :key (String.t): API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token.
- :upload_protocol (String.t): Upload protocol for media (e.g. \"raw\", \"multipart\").
- :quotaUser (String.t): Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters.
- :prettyPrint (boolean()): Returns response with indentations and line breaks.
- :fields (String.t): Selector specifying which fields to include in a partial response.
- :uploadType (String.t): Legacy upload protocol for media (e.g. \"media\", \"multipart\").
## Returns
{:ok, %GoogleApi.Dataproc.V1.Model.Job{}} on success
{:error, info} on failure
"""
@spec dataproc_projects_regions_jobs_get(
Tesla.Env.client(),
String.t(),
String.t(),
String.t(),
keyword()
) :: {:ok, GoogleApi.Dataproc.V1.Model.Job.t()} | {:error, Tesla.Env.t()}
def dataproc_projects_regions_jobs_get(connection, project_id, region, job_id, opts \\ []) do
optional_params = %{
:callback => :query,
:oauth_token => :query,
:"$.xgafv" => :query,
:alt => :query,
:access_token => :query,
:key => :query,
:upload_protocol => :query,
:quotaUser => :query,
:prettyPrint => :query,
:fields => :query,
:uploadType => :query
}
request =
Request.new()
|> Request.method(:get)
|> Request.url("/v1/projects/{projectId}/regions/{region}/jobs/{jobId}", %{
"projectId" => URI.encode_www_form(project_id),
"region" => URI.encode_www_form(region),
"jobId" => URI.encode_www_form(job_id)
})
|> Request.add_optional_params(optional_params, opts)
connection
|> Connection.execute(request)
|> Response.decode(struct: %GoogleApi.Dataproc.V1.Model.Job{})
end
@doc """
Lists regions/{region}/jobs in a project.
## Parameters
- connection (GoogleApi.Dataproc.V1.Connection): Connection to server
- project_id (String.t): Required. The ID of the Google Cloud Platform project that the job belongs to.
- region (String.t): Required. The Cloud Dataproc region in which to handle the request.
- opts (KeywordList): [optional] Optional parameters
- :callback (String.t): JSONP
- :oauth_token (String.t): OAuth 2.0 token for the current user.
- :$.xgafv (String.t): V1 error format.
- :alt (String.t): Data format for response.
- :access_token (String.t): OAuth access token.
- :key (String.t): API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token.
- :upload_protocol (String.t): Upload protocol for media (e.g. \"raw\", \"multipart\").
- :quotaUser (String.t): Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters.
- :prettyPrint (boolean()): Returns response with indentations and line breaks.
- :fields (String.t): Selector specifying which fields to include in a partial response.
- :uploadType (String.t): Legacy upload protocol for media (e.g. \"media\", \"multipart\").
- :pageSize (integer()): Optional. The number of results to return in each response.
- :clusterName (String.t): Optional. If set, the returned jobs list includes only jobs that were submitted to the named cluster.
- :filter (String.t): Optional. A filter constraining the jobs to list. Filters are case-sensitive and have the following syntax:field = value AND field = value ...where field is status.state or labels.[KEY], and [KEY] is a label key. value can be * to match all values. status.state can be either ACTIVE or NON_ACTIVE. Only the logical AND operator is supported; space-separated items are treated as having an implicit AND operator.Example filter:status.state = ACTIVE AND labels.env = staging AND labels.starred = *
- :jobStateMatcher (String.t): Optional. Specifies enumerated categories of jobs to list. (default = match ALL jobs).If filter is provided, jobStateMatcher will be ignored.
- :pageToken (String.t): Optional. The page token, returned by a previous call, to request the next page of results.
## Returns
{:ok, %GoogleApi.Dataproc.V1.Model.ListJobsResponse{}} on success
{:error, info} on failure
"""
@spec dataproc_projects_regions_jobs_list(Tesla.Env.client(), String.t(), String.t(), keyword()) ::
{:ok, GoogleApi.Dataproc.V1.Model.ListJobsResponse.t()} | {:error, Tesla.Env.t()}
def dataproc_projects_regions_jobs_list(connection, project_id, region, opts \\ []) do
optional_params = %{
:callback => :query,
:oauth_token => :query,
:"$.xgafv" => :query,
:alt => :query,
:access_token => :query,
:key => :query,
:upload_protocol => :query,
:quotaUser => :query,
:prettyPrint => :query,
:fields => :query,
:uploadType => :query,
:pageSize => :query,
:clusterName => :query,
:filter => :query,
:jobStateMatcher => :query,
:pageToken => :query
}
request =
Request.new()
|> Request.method(:get)
|> Request.url("/v1/projects/{projectId}/regions/{region}/jobs", %{
"projectId" => URI.encode_www_form(project_id),
"region" => URI.encode_www_form(region)
})
|> Request.add_optional_params(optional_params, opts)
connection
|> Connection.execute(request)
|> Response.decode(struct: %GoogleApi.Dataproc.V1.Model.ListJobsResponse{})
end
@doc """
Updates a job in a project.
## Parameters
- connection (GoogleApi.Dataproc.V1.Connection): Connection to server
- project_id (String.t): Required. The ID of the Google Cloud Platform project that the job belongs to.
- region (String.t): Required. The Cloud Dataproc region in which to handle the request.
- job_id (String.t): Required. The job ID.
- opts (KeywordList): [optional] Optional parameters
- :callback (String.t): JSONP
- :oauth_token (String.t): OAuth 2.0 token for the current user.
- :$.xgafv (String.t): V1 error format.
- :alt (String.t): Data format for response.
- :access_token (String.t): OAuth access token.
- :key (String.t): API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token.
- :upload_protocol (String.t): Upload protocol for media (e.g. \"raw\", \"multipart\").
- :quotaUser (String.t): Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters.
- :prettyPrint (boolean()): Returns response with indentations and line breaks.
- :fields (String.t): Selector specifying which fields to include in a partial response.
- :uploadType (String.t): Legacy upload protocol for media (e.g. \"media\", \"multipart\").
- :updateMask (String.t): Required. Specifies the path, relative to <code>Job</code>, of the field to update. For example, to update the labels of a Job the <code>update_mask</code> parameter would be specified as <code>labels</code>, and the PATCH request body would specify the new value. <strong>Note:</strong> Currently, <code>labels</code> is the only field that can be updated.
- :body (Job):
## Returns
{:ok, %GoogleApi.Dataproc.V1.Model.Job{}} on success
{:error, info} on failure
"""
@spec dataproc_projects_regions_jobs_patch(
Tesla.Env.client(),
String.t(),
String.t(),
String.t(),
keyword()
) :: {:ok, GoogleApi.Dataproc.V1.Model.Job.t()} | {:error, Tesla.Env.t()}
def dataproc_projects_regions_jobs_patch(connection, project_id, region, job_id, opts \\ []) do
optional_params = %{
:callback => :query,
:oauth_token => :query,
:"$.xgafv" => :query,
:alt => :query,
:access_token => :query,
:key => :query,
:upload_protocol => :query,
:quotaUser => :query,
:prettyPrint => :query,
:fields => :query,
:uploadType => :query,
:updateMask => :query,
:body => :body
}
request =
Request.new()
|> Request.method(:patch)
|> Request.url("/v1/projects/{projectId}/regions/{region}/jobs/{jobId}", %{
"projectId" => URI.encode_www_form(project_id),
"region" => URI.encode_www_form(region),
"jobId" => URI.encode_www_form(job_id)
})
|> Request.add_optional_params(optional_params, opts)
connection
|> Connection.execute(request)
|> Response.decode(struct: %GoogleApi.Dataproc.V1.Model.Job{})
end
@doc """
Submits a job to a cluster.
## Parameters
- connection (GoogleApi.Dataproc.V1.Connection): Connection to server
- project_id (String.t): Required. The ID of the Google Cloud Platform project that the job belongs to.
- region (String.t): Required. The Cloud Dataproc region in which to handle the request.
- opts (KeywordList): [optional] Optional parameters
- :callback (String.t): JSONP
- :oauth_token (String.t): OAuth 2.0 token for the current user.
- :$.xgafv (String.t): V1 error format.
- :alt (String.t): Data format for response.
- :access_token (String.t): OAuth access token.
- :key (String.t): API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token.
- :upload_protocol (String.t): Upload protocol for media (e.g. \"raw\", \"multipart\").
- :quotaUser (String.t): Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters.
- :prettyPrint (boolean()): Returns response with indentations and line breaks.
- :fields (String.t): Selector specifying which fields to include in a partial response.
- :uploadType (String.t): Legacy upload protocol for media (e.g. \"media\", \"multipart\").
- :body (SubmitJobRequest):
## Returns
{:ok, %GoogleApi.Dataproc.V1.Model.Job{}} on success
{:error, info} on failure
"""
@spec dataproc_projects_regions_jobs_submit(
Tesla.Env.client(),
String.t(),
String.t(),
keyword()
) :: {:ok, GoogleApi.Dataproc.V1.Model.Job.t()} | {:error, Tesla.Env.t()}
def dataproc_projects_regions_jobs_submit(connection, project_id, region, opts \\ []) do
optional_params = %{
:callback => :query,
:oauth_token => :query,
:"$.xgafv" => :query,
:alt => :query,
:access_token => :query,
:key => :query,
:upload_protocol => :query,
:quotaUser => :query,
:prettyPrint => :query,
:fields => :query,
:uploadType => :query,
:body => :body
}
request =
Request.new()
|> Request.method(:post)
|> Request.url("/v1/projects/{projectId}/regions/{region}/jobs:submit", %{
"projectId" => URI.encode_www_form(project_id),
"region" => URI.encode_www_form(region)
})
|> Request.add_optional_params(optional_params, opts)
connection
|> Connection.execute(request)
|> Response.decode(struct: %GoogleApi.Dataproc.V1.Model.Job{})
end
@doc """
Starts asynchronous cancellation on a long-running operation. The server makes a best effort to cancel the operation, but success is not guaranteed. If the server doesn't support this method, it returns google.rpc.Code.UNIMPLEMENTED. Clients can use Operations.GetOperation or other methods to check whether the cancellation succeeded or whether the operation completed despite cancellation. On successful cancellation, the operation is not deleted; instead, it becomes an operation with an Operation.error value with a google.rpc.Status.code of 1, corresponding to Code.CANCELLED.
## Parameters
- connection (GoogleApi.Dataproc.V1.Connection): Connection to server
- projects_id (String.t): Part of `name`. The name of the operation resource to be cancelled.
- regions_id (String.t): Part of `name`. See documentation of `projectsId`.
- operations_id (String.t): Part of `name`. See documentation of `projectsId`.
- opts (KeywordList): [optional] Optional parameters
- :callback (String.t): JSONP
- :oauth_token (String.t): OAuth 2.0 token for the current user.
- :$.xgafv (String.t): V1 error format.
- :alt (String.t): Data format for response.
- :access_token (String.t): OAuth access token.
- :key (String.t): API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token.
- :upload_protocol (String.t): Upload protocol for media (e.g. \"raw\", \"multipart\").
- :quotaUser (String.t): Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters.
- :prettyPrint (boolean()): Returns response with indentations and line breaks.
- :fields (String.t): Selector specifying which fields to include in a partial response.
- :uploadType (String.t): Legacy upload protocol for media (e.g. \"media\", \"multipart\").
## Returns
{:ok, %GoogleApi.Dataproc.V1.Model.Empty{}} on success
{:error, info} on failure
"""
@spec dataproc_projects_regions_operations_cancel(
Tesla.Env.client(),
String.t(),
String.t(),
String.t(),
keyword()
) :: {:ok, GoogleApi.Dataproc.V1.Model.Empty.t()} | {:error, Tesla.Env.t()}
def dataproc_projects_regions_operations_cancel(
connection,
projects_id,
regions_id,
operations_id,
opts \\ []
) do
optional_params = %{
:callback => :query,
:oauth_token => :query,
:"$.xgafv" => :query,
:alt => :query,
:access_token => :query,
:key => :query,
:upload_protocol => :query,
:quotaUser => :query,
:prettyPrint => :query,
:fields => :query,
:uploadType => :query
}
request =
Request.new()
|> Request.method(:post)
|> Request.url(
"/v1/projects/{projectsId}/regions/{regionsId}/operations/{operationsId}:cancel",
%{
"projectsId" => URI.encode_www_form(projects_id),
"regionsId" => URI.encode_www_form(regions_id),
"operationsId" => URI.encode_www_form(operations_id)
}
)
|> Request.add_optional_params(optional_params, opts)
connection
|> Connection.execute(request)
|> Response.decode(struct: %GoogleApi.Dataproc.V1.Model.Empty{})
end
@doc """
Deletes a long-running operation. This method indicates that the client is no longer interested in the operation result. It does not cancel the operation. If the server doesn't support this method, it returns google.rpc.Code.UNIMPLEMENTED.
## Parameters
- connection (GoogleApi.Dataproc.V1.Connection): Connection to server
- projects_id (String.t): Part of `name`. The name of the operation resource to be deleted.
- regions_id (String.t): Part of `name`. See documentation of `projectsId`.
- operations_id (String.t): Part of `name`. See documentation of `projectsId`.
- opts (KeywordList): [optional] Optional parameters
- :callback (String.t): JSONP
- :oauth_token (String.t): OAuth 2.0 token for the current user.
- :$.xgafv (String.t): V1 error format.
- :alt (String.t): Data format for response.
- :access_token (String.t): OAuth access token.
- :key (String.t): API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token.
- :upload_protocol (String.t): Upload protocol for media (e.g. \"raw\", \"multipart\").
- :quotaUser (String.t): Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters.
- :prettyPrint (boolean()): Returns response with indentations and line breaks.
- :fields (String.t): Selector specifying which fields to include in a partial response.
- :uploadType (String.t): Legacy upload protocol for media (e.g. \"media\", \"multipart\").
## Returns
{:ok, %GoogleApi.Dataproc.V1.Model.Empty{}} on success
{:error, info} on failure
"""
@spec dataproc_projects_regions_operations_delete(
Tesla.Env.client(),
String.t(),
String.t(),
String.t(),
keyword()
) :: {:ok, GoogleApi.Dataproc.V1.Model.Empty.t()} | {:error, Tesla.Env.t()}
def dataproc_projects_regions_operations_delete(
connection,
projects_id,
regions_id,
operations_id,
opts \\ []
) do
optional_params = %{
:callback => :query,
:oauth_token => :query,
:"$.xgafv" => :query,
:alt => :query,
:access_token => :query,
:key => :query,
:upload_protocol => :query,
:quotaUser => :query,
:prettyPrint => :query,
:fields => :query,
:uploadType => :query
}
request =
Request.new()
|> Request.method(:delete)
|> Request.url("/v1/projects/{projectsId}/regions/{regionsId}/operations/{operationsId}", %{
"projectsId" => URI.encode_www_form(projects_id),
"regionsId" => URI.encode_www_form(regions_id),
"operationsId" => URI.encode_www_form(operations_id)
})
|> Request.add_optional_params(optional_params, opts)
connection
|> Connection.execute(request)
|> Response.decode(struct: %GoogleApi.Dataproc.V1.Model.Empty{})
end
@doc """
Gets the latest state of a long-running operation. Clients can use this method to poll the operation result at intervals as recommended by the API service.
## Parameters
- connection (GoogleApi.Dataproc.V1.Connection): Connection to server
- projects_id (String.t): Part of `name`. The name of the operation resource.
- regions_id (String.t): Part of `name`. See documentation of `projectsId`.
- operations_id (String.t): Part of `name`. See documentation of `projectsId`.
- opts (KeywordList): [optional] Optional parameters
- :callback (String.t): JSONP
- :oauth_token (String.t): OAuth 2.0 token for the current user.
- :$.xgafv (String.t): V1 error format.
- :alt (String.t): Data format for response.
- :access_token (String.t): OAuth access token.
- :key (String.t): API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token.
- :upload_protocol (String.t): Upload protocol for media (e.g. \"raw\", \"multipart\").
- :quotaUser (String.t): Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters.
- :prettyPrint (boolean()): Returns response with indentations and line breaks.
- :fields (String.t): Selector specifying which fields to include in a partial response.
- :uploadType (String.t): Legacy upload protocol for media (e.g. \"media\", \"multipart\").
## Returns
{:ok, %GoogleApi.Dataproc.V1.Model.Operation{}} on success
{:error, info} on failure
"""
@spec dataproc_projects_regions_operations_get(
Tesla.Env.client(),
String.t(),
String.t(),
String.t(),
keyword()
) :: {:ok, GoogleApi.Dataproc.V1.Model.Operation.t()} | {:error, Tesla.Env.t()}
def dataproc_projects_regions_operations_get(
connection,
projects_id,
regions_id,
operations_id,
opts \\ []
) do
optional_params = %{
:callback => :query,
:oauth_token => :query,
:"$.xgafv" => :query,
:alt => :query,
:access_token => :query,
:key => :query,
:upload_protocol => :query,
:quotaUser => :query,
:prettyPrint => :query,
:fields => :query,
:uploadType => :query
}
request =
Request.new()
|> Request.method(:get)
|> Request.url("/v1/projects/{projectsId}/regions/{regionsId}/operations/{operationsId}", %{
"projectsId" => URI.encode_www_form(projects_id),
"regionsId" => URI.encode_www_form(regions_id),
"operationsId" => URI.encode_www_form(operations_id)
})
|> Request.add_optional_params(optional_params, opts)
connection
|> Connection.execute(request)
|> Response.decode(struct: %GoogleApi.Dataproc.V1.Model.Operation{})
end
@doc """
Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns UNIMPLEMENTED.NOTE: the name binding allows API services to override the binding to use different resource name schemes, such as users/*/operations. To override the binding, API services can add a binding such as \"/v1/{name=users/*}/operations\" to their service configuration. For backwards compatibility, the default name includes the operations collection id, however overriding users must ensure the name binding is the parent resource, without the operations collection id.
## Parameters
- connection (GoogleApi.Dataproc.V1.Connection): Connection to server
- projects_id (String.t): Part of `name`. The name of the operation's parent resource.
- regions_id (String.t): Part of `name`. See documentation of `projectsId`.
- opts (KeywordList): [optional] Optional parameters
- :callback (String.t): JSONP
- :oauth_token (String.t): OAuth 2.0 token for the current user.
- :$.xgafv (String.t): V1 error format.
- :alt (String.t): Data format for response.
- :access_token (String.t): OAuth access token.
- :key (String.t): API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token.
- :upload_protocol (String.t): Upload protocol for media (e.g. \"raw\", \"multipart\").
- :quotaUser (String.t): Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters.
- :prettyPrint (boolean()): Returns response with indentations and line breaks.
- :fields (String.t): Selector specifying which fields to include in a partial response.
- :uploadType (String.t): Legacy upload protocol for media (e.g. \"media\", \"multipart\").
- :filter (String.t): The standard list filter.
- :pageToken (String.t): The standard list page token.
- :pageSize (integer()): The standard list page size.
## Returns
{:ok, %GoogleApi.Dataproc.V1.Model.ListOperationsResponse{}} on success
{:error, info} on failure
"""
@spec dataproc_projects_regions_operations_list(
Tesla.Env.client(),
String.t(),
String.t(),
keyword()
) ::
{:ok, GoogleApi.Dataproc.V1.Model.ListOperationsResponse.t()} | {:error, Tesla.Env.t()}
def dataproc_projects_regions_operations_list(connection, projects_id, regions_id, opts \\ []) do
optional_params = %{
:callback => :query,
:oauth_token => :query,
:"$.xgafv" => :query,
:alt => :query,
:access_token => :query,
:key => :query,
:upload_protocol => :query,
:quotaUser => :query,
:prettyPrint => :query,
:fields => :query,
:uploadType => :query,
:filter => :query,
:pageToken => :query,
:pageSize => :query
}
request =
Request.new()
|> Request.method(:get)
|> Request.url("/v1/projects/{projectsId}/regions/{regionsId}/operations", %{
"projectsId" => URI.encode_www_form(projects_id),
"regionsId" => URI.encode_www_form(regions_id)
})
|> Request.add_optional_params(optional_params, opts)
connection
|> Connection.execute(request)
|> Response.decode(struct: %GoogleApi.Dataproc.V1.Model.ListOperationsResponse{})
end
end