blob: bade8d7c74c950c7577e2f023e87a04db8e295f4 [file] [log] [blame]
// Copyright 2019 Google Inc. All rights reserved.
// Use of this source code is governed by a BSD-style
// license that can be found in the LICENSE file.
// Code generated file. DO NOT EDIT.
// Package dataproc provides access to the Cloud Dataproc API.
//
// This package is DEPRECATED. Use package cloud.google.com/go/dataproc/apiv1 instead.
//
// See https://cloud.google.com/dataproc/
//
// Usage example:
//
// import "google.golang.org/api/dataproc/v1beta2"
// ...
// dataprocService, err := dataproc.New(oauthHttpClient)
package dataproc // import "google.golang.org/api/dataproc/v1beta2"
import (
"bytes"
"context"
"encoding/json"
"errors"
"fmt"
"io"
"net/http"
"net/url"
"strconv"
"strings"
gensupport "google.golang.org/api/gensupport"
googleapi "google.golang.org/api/googleapi"
)
// Always reference these packages, just in case the auto-generated code
// below doesn't.
var _ = bytes.NewBuffer
var _ = strconv.Itoa
var _ = fmt.Sprintf
var _ = json.NewDecoder
var _ = io.Copy
var _ = url.Parse
var _ = gensupport.MarshalJSON
var _ = googleapi.Version
var _ = errors.New
var _ = strings.Replace
var _ = context.Canceled
const apiId = "dataproc:v1beta2"
const apiName = "dataproc"
const apiVersion = "v1beta2"
const basePath = "https://dataproc.googleapis.com/"
// OAuth2 scopes used by this API.
const (
// View and manage your data across Google Cloud Platform services
CloudPlatformScope = "https://www.googleapis.com/auth/cloud-platform"
)
func New(client *http.Client) (*Service, error) {
if client == nil {
return nil, errors.New("client is nil")
}
s := &Service{client: client, BasePath: basePath}
s.Projects = NewProjectsService(s)
return s, nil
}
type Service struct {
client *http.Client
BasePath string // API endpoint base URL
UserAgent string // optional additional User-Agent fragment
Projects *ProjectsService
}
func (s *Service) userAgent() string {
if s.UserAgent == "" {
return googleapi.UserAgent
}
return googleapi.UserAgent + " " + s.UserAgent
}
func NewProjectsService(s *Service) *ProjectsService {
rs := &ProjectsService{s: s}
rs.Locations = NewProjectsLocationsService(s)
rs.Regions = NewProjectsRegionsService(s)
return rs
}
type ProjectsService struct {
s *Service
Locations *ProjectsLocationsService
Regions *ProjectsRegionsService
}
func NewProjectsLocationsService(s *Service) *ProjectsLocationsService {
rs := &ProjectsLocationsService{s: s}
rs.WorkflowTemplates = NewProjectsLocationsWorkflowTemplatesService(s)
return rs
}
type ProjectsLocationsService struct {
s *Service
WorkflowTemplates *ProjectsLocationsWorkflowTemplatesService
}
func NewProjectsLocationsWorkflowTemplatesService(s *Service) *ProjectsLocationsWorkflowTemplatesService {
rs := &ProjectsLocationsWorkflowTemplatesService{s: s}
return rs
}
type ProjectsLocationsWorkflowTemplatesService struct {
s *Service
}
func NewProjectsRegionsService(s *Service) *ProjectsRegionsService {
rs := &ProjectsRegionsService{s: s}
rs.Clusters = NewProjectsRegionsClustersService(s)
rs.Jobs = NewProjectsRegionsJobsService(s)
rs.Operations = NewProjectsRegionsOperationsService(s)
rs.WorkflowTemplates = NewProjectsRegionsWorkflowTemplatesService(s)
return rs
}
type ProjectsRegionsService struct {
s *Service
Clusters *ProjectsRegionsClustersService
Jobs *ProjectsRegionsJobsService
Operations *ProjectsRegionsOperationsService
WorkflowTemplates *ProjectsRegionsWorkflowTemplatesService
}
func NewProjectsRegionsClustersService(s *Service) *ProjectsRegionsClustersService {
rs := &ProjectsRegionsClustersService{s: s}
return rs
}
type ProjectsRegionsClustersService struct {
s *Service
}
func NewProjectsRegionsJobsService(s *Service) *ProjectsRegionsJobsService {
rs := &ProjectsRegionsJobsService{s: s}
return rs
}
type ProjectsRegionsJobsService struct {
s *Service
}
func NewProjectsRegionsOperationsService(s *Service) *ProjectsRegionsOperationsService {
rs := &ProjectsRegionsOperationsService{s: s}
return rs
}
type ProjectsRegionsOperationsService struct {
s *Service
}
func NewProjectsRegionsWorkflowTemplatesService(s *Service) *ProjectsRegionsWorkflowTemplatesService {
rs := &ProjectsRegionsWorkflowTemplatesService{s: s}
return rs
}
type ProjectsRegionsWorkflowTemplatesService struct {
s *Service
}
// AcceleratorConfig: Specifies the type and number of accelerator cards
// attached to the instances of an instance group (see GPUs on Compute
// Engine).
type AcceleratorConfig struct {
// AcceleratorCount: The number of the accelerator cards of this type
// exposed to this instance.
AcceleratorCount int64 `json:"acceleratorCount,omitempty"`
// AcceleratorTypeUri: Full URL, partial URI, or short name of the
// accelerator type resource to expose to this instance. See Compute
// Engine AcceleratorTypes(
// /compute/docs/reference/beta/acceleratorTypes)Examples *
// https://www.googleapis.com/compute/beta/projects/[project_id]/zones/us-east1-a/acceleratorTypes/nvidia-tesla-k80 * projects/[project_id]/zones/us-east1-a/acceleratorTypes/nvidia-tesla-k80 * nvidia-tesla-k80Auto Zone Exception: If you are using the Cloud Dataproc Auto Zone Placement feature, you must use the short name of the accelerator type resource, for example,
// nvidia-tesla-k80.
AcceleratorTypeUri string `json:"acceleratorTypeUri,omitempty"`
// ForceSendFields is a list of field names (e.g. "AcceleratorCount") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "AcceleratorCount") to
// include in API requests with the JSON null value. By default, fields
// with empty values are omitted from API requests. However, any field
// with an empty value appearing in NullFields will be sent to the
// server as null. It is an error if a field in this list has a
// non-empty value. This may be used to include null fields in Patch
// requests.
NullFields []string `json:"-"`
}
func (s *AcceleratorConfig) MarshalJSON() ([]byte, error) {
type NoMethod AcceleratorConfig
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// AllocationAffinity: Allocation Affinity for consuming Zonal
// allocation.
type AllocationAffinity struct {
// Possible values:
// "TYPE_UNSPECIFIED"
// "NO_ALLOCATION" - Do not consume from any allocated capacity.
// "ANY_ALLOCATION" - Consume any allocation available.
// "SPECIFIC_ALLOCATION" - Must consume from a specific allocation.
// Must specify key value fields for specifying the allocations.
ConsumeAllocationType string `json:"consumeAllocationType,omitempty"`
// Key: Corresponds to the label key of Allocation resource.
Key string `json:"key,omitempty"`
// Values: Corresponds to the label values of allocation resource.
Values []string `json:"values,omitempty"`
// ForceSendFields is a list of field names (e.g.
// "ConsumeAllocationType") to unconditionally include in API requests.
// By default, fields with empty values are omitted from API requests.
// However, any non-pointer, non-interface field appearing in
// ForceSendFields will be sent to the server regardless of whether the
// field is empty or not. This may be used to include empty fields in
// Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "ConsumeAllocationType") to
// include in API requests with the JSON null value. By default, fields
// with empty values are omitted from API requests. However, any field
// with an empty value appearing in NullFields will be sent to the
// server as null. It is an error if a field in this list has a
// non-empty value. This may be used to include null fields in Patch
// requests.
NullFields []string `json:"-"`
}
func (s *AllocationAffinity) MarshalJSON() ([]byte, error) {
type NoMethod AllocationAffinity
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// Binding: Associates members with a role.
type Binding struct {
// Condition: Unimplemented. The condition that is associated with this
// binding. NOTE: an unsatisfied condition will not allow user access
// via current binding. Different bindings, including their conditions,
// are examined independently.
Condition *Expr `json:"condition,omitempty"`
// Members: Specifies the identities requesting access for a Cloud
// Platform resource. members can have the following values:
// allUsers: A special identifier that represents anyone who is on the
// internet; with or without a Google account.
// allAuthenticatedUsers: A special identifier that represents anyone
// who is authenticated with a Google account or a service
// account.
// user:{emailid}: An email address that represents a specific Google
// account. For example, alice@gmail.com .
// serviceAccount:{emailid}: An email address that represents a service
// account. For example,
// my-other-app@appspot.gserviceaccount.com.
// group:{emailid}: An email address that represents a Google group.
// For example, admins@example.com.
// domain:{domain}: A Google Apps domain name that represents all the
// users of that domain. For example, google.com or example.com.
Members []string `json:"members,omitempty"`
// Role: Role that is assigned to members. For example, roles/viewer,
// roles/editor, or roles/owner.
Role string `json:"role,omitempty"`
// ForceSendFields is a list of field names (e.g. "Condition") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "Condition") to include in
// API requests with the JSON null value. By default, fields with empty
// values are omitted from API requests. However, any field with an
// empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields []string `json:"-"`
}
func (s *Binding) MarshalJSON() ([]byte, error) {
type NoMethod Binding
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// CancelJobRequest: A request to cancel a job.
type CancelJobRequest struct {
}
// Cluster: Describes the identifying information, config, and status of
// a cluster of Compute Engine instances.
type Cluster struct {
// ClusterName: Required. The cluster name. Cluster names within a
// project must be unique. Names of deleted clusters can be reused.
ClusterName string `json:"clusterName,omitempty"`
// ClusterUuid: Output only. A cluster UUID (Unique Universal
// Identifier). Cloud Dataproc generates this value when it creates the
// cluster.
ClusterUuid string `json:"clusterUuid,omitempty"`
// Config: Required. The cluster config. Note that Cloud Dataproc may
// set default values, and values may change when clusters are updated.
Config *ClusterConfig `json:"config,omitempty"`
// Labels: Optional. The labels to associate with this cluster. Label
// keys must contain 1 to 63 characters, and must conform to RFC 1035
// (https://www.ietf.org/rfc/rfc1035.txt). Label values may be empty,
// but, if present, must contain 1 to 63 characters, and must conform to
// RFC 1035 (https://www.ietf.org/rfc/rfc1035.txt). No more than 32
// labels can be associated with a cluster.
Labels map[string]string `json:"labels,omitempty"`
// Metrics: Output only. Contains cluster daemon metrics such as HDFS
// and YARN stats.Beta Feature: This report is available for testing
// purposes only. It may be changed before final release.
Metrics *ClusterMetrics `json:"metrics,omitempty"`
// ProjectId: Required. The Google Cloud Platform project ID that the
// cluster belongs to.
ProjectId string `json:"projectId,omitempty"`
// Status: Output only. Cluster status.
Status *ClusterStatus `json:"status,omitempty"`
// StatusHistory: Output only. The previous cluster status.
StatusHistory []*ClusterStatus `json:"statusHistory,omitempty"`
// ServerResponse contains the HTTP response code and headers from the
// server.
googleapi.ServerResponse `json:"-"`
// ForceSendFields is a list of field names (e.g. "ClusterName") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "ClusterName") to include
// in API requests with the JSON null value. By default, fields with
// empty values are omitted from API requests. However, any field with
// an empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields []string `json:"-"`
}
func (s *Cluster) MarshalJSON() ([]byte, error) {
type NoMethod Cluster
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// ClusterConfig: The cluster config.
type ClusterConfig struct {
// ConfigBucket: Optional. A Cloud Storage staging bucket used for
// sharing generated SSH keys and config. If you do not specify a
// staging bucket, Cloud Dataproc will determine an appropriate Cloud
// Storage location (US, ASIA, or EU) for your cluster's staging bucket
// according to the Google Compute Engine zone where your cluster is
// deployed, and then it will create and manage this project-level,
// per-location bucket for you.
ConfigBucket string `json:"configBucket,omitempty"`
// EncryptionConfig: Optional. Encryption settings for the cluster.
EncryptionConfig *EncryptionConfig `json:"encryptionConfig,omitempty"`
// GceClusterConfig: Required. The shared Compute Engine config settings
// for all instances in a cluster.
GceClusterConfig *GceClusterConfig `json:"gceClusterConfig,omitempty"`
// InitializationActions: Optional. Commands to execute on each node
// after config is completed. By default, executables are run on master
// and all worker nodes. You can test a node's <code>role</code>
// metadata to run an executable on a master or worker node, as shown
// below using curl (you can also use wget):
// ROLE=$(curl -H Metadata-Flavor:Google
// http://metadata/computeMetadata/v1beta2/instance/attributes/dataproc-role)
// if [[ "${ROLE}" == 'Master' ]]; then
// ... master specific actions ...
// else
// ... worker specific actions ...
// fi
//
InitializationActions []*NodeInitializationAction `json:"initializationActions,omitempty"`
// LifecycleConfig: Optional. The config setting for auto delete cluster
// schedule.
LifecycleConfig *LifecycleConfig `json:"lifecycleConfig,omitempty"`
// MasterConfig: Optional. The Compute Engine config settings for the
// master instance in a cluster.
MasterConfig *InstanceGroupConfig `json:"masterConfig,omitempty"`
// SecondaryWorkerConfig: Optional. The Compute Engine config settings
// for additional worker instances in a cluster.
SecondaryWorkerConfig *InstanceGroupConfig `json:"secondaryWorkerConfig,omitempty"`
// SoftwareConfig: Optional. The config settings for software inside the
// cluster.
SoftwareConfig *SoftwareConfig `json:"softwareConfig,omitempty"`
// WorkerConfig: Optional. The Compute Engine config settings for worker
// instances in a cluster.
WorkerConfig *InstanceGroupConfig `json:"workerConfig,omitempty"`
// ForceSendFields is a list of field names (e.g. "ConfigBucket") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "ConfigBucket") to include
// in API requests with the JSON null value. By default, fields with
// empty values are omitted from API requests. However, any field with
// an empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields []string `json:"-"`
}
func (s *ClusterConfig) MarshalJSON() ([]byte, error) {
type NoMethod ClusterConfig
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// ClusterMetrics: Contains cluster daemon metrics, such as HDFS and
// YARN stats.Beta Feature: This report is available for testing
// purposes only. It may be changed before final release.
type ClusterMetrics struct {
// HdfsMetrics: The HDFS metrics.
HdfsMetrics map[string]string `json:"hdfsMetrics,omitempty"`
// YarnMetrics: The YARN metrics.
YarnMetrics map[string]string `json:"yarnMetrics,omitempty"`
// ForceSendFields is a list of field names (e.g. "HdfsMetrics") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "HdfsMetrics") to include
// in API requests with the JSON null value. By default, fields with
// empty values are omitted from API requests. However, any field with
// an empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields []string `json:"-"`
}
func (s *ClusterMetrics) MarshalJSON() ([]byte, error) {
type NoMethod ClusterMetrics
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// ClusterOperation: The cluster operation triggered by a workflow.
type ClusterOperation struct {
// Done: Output only. Indicates the operation is done.
Done bool `json:"done,omitempty"`
// Error: Output only. Error, if operation failed.
Error string `json:"error,omitempty"`
// OperationId: Output only. The id of the cluster operation.
OperationId string `json:"operationId,omitempty"`
// ForceSendFields is a list of field names (e.g. "Done") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "Done") to include in API
// requests with the JSON null value. By default, fields with empty
// values are omitted from API requests. However, any field with an
// empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields []string `json:"-"`
}
func (s *ClusterOperation) MarshalJSON() ([]byte, error) {
type NoMethod ClusterOperation
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// ClusterOperationMetadata: Metadata describing the operation.
type ClusterOperationMetadata struct {
// ClusterName: Output only. Name of the cluster for the operation.
ClusterName string `json:"clusterName,omitempty"`
// ClusterUuid: Output only. Cluster UUID for the operation.
ClusterUuid string `json:"clusterUuid,omitempty"`
// Description: Output only. Short description of operation.
Description string `json:"description,omitempty"`
// Labels: Output only. Labels associated with the operation
Labels map[string]string `json:"labels,omitempty"`
// OperationType: Output only. The operation type.
OperationType string `json:"operationType,omitempty"`
// Status: Output only. Current operation status.
Status *ClusterOperationStatus `json:"status,omitempty"`
// StatusHistory: Output only. The previous operation status.
StatusHistory []*ClusterOperationStatus `json:"statusHistory,omitempty"`
// Warnings: Output only. Errors encountered during operation execution.
Warnings []string `json:"warnings,omitempty"`
// ForceSendFields is a list of field names (e.g. "ClusterName") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "ClusterName") to include
// in API requests with the JSON null value. By default, fields with
// empty values are omitted from API requests. However, any field with
// an empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields []string `json:"-"`
}
func (s *ClusterOperationMetadata) MarshalJSON() ([]byte, error) {
type NoMethod ClusterOperationMetadata
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// ClusterOperationStatus: The status of the operation.
type ClusterOperationStatus struct {
// Details: Output only. A message containing any operation metadata
// details.
Details string `json:"details,omitempty"`
// InnerState: Output only. A message containing the detailed operation
// state.
InnerState string `json:"innerState,omitempty"`
// State: Output only. A message containing the operation state.
//
// Possible values:
// "UNKNOWN" - Unused.
// "PENDING" - The operation has been created.
// "RUNNING" - The operation is running.
// "DONE" - The operation is done; either cancelled or completed.
State string `json:"state,omitempty"`
// StateStartTime: Output only. The time this state was entered.
StateStartTime string `json:"stateStartTime,omitempty"`
// ForceSendFields is a list of field names (e.g. "Details") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "Details") to include in
// API requests with the JSON null value. By default, fields with empty
// values are omitted from API requests. However, any field with an
// empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields []string `json:"-"`
}
func (s *ClusterOperationStatus) MarshalJSON() ([]byte, error) {
type NoMethod ClusterOperationStatus
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// ClusterSelector: A selector that chooses target cluster for jobs
// based on metadata.
type ClusterSelector struct {
// ClusterLabels: Required. The cluster labels. Cluster must have all
// labels to match.
ClusterLabels map[string]string `json:"clusterLabels,omitempty"`
// Zone: Optional. The zone where workflow process executes. This
// parameter does not affect the selection of the cluster.If
// unspecified, the zone of the first cluster matching the selector is
// used.
Zone string `json:"zone,omitempty"`
// ForceSendFields is a list of field names (e.g. "ClusterLabels") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "ClusterLabels") to include
// in API requests with the JSON null value. By default, fields with
// empty values are omitted from API requests. However, any field with
// an empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields []string `json:"-"`
}
func (s *ClusterSelector) MarshalJSON() ([]byte, error) {
type NoMethod ClusterSelector
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// ClusterStatus: The status of a cluster and its instances.
type ClusterStatus struct {
// Detail: Output only. Optional details of cluster's state.
Detail string `json:"detail,omitempty"`
// State: Output only. The cluster's state.
//
// Possible values:
// "UNKNOWN" - The cluster state is unknown.
// "CREATING" - The cluster is being created and set up. It is not
// ready for use.
// "RUNNING" - The cluster is currently running and healthy. It is
// ready for use.
// "ERROR" - The cluster encountered an error. It is not ready for
// use.
// "DELETING" - The cluster is being deleted. It cannot be used.
// "UPDATING" - The cluster is being updated. It continues to accept
// and process jobs.
State string `json:"state,omitempty"`
// StateStartTime: Output only. Time when this state was entered.
StateStartTime string `json:"stateStartTime,omitempty"`
// Substate: Output only. Additional state information that includes
// status reported by the agent.
//
// Possible values:
// "UNSPECIFIED" - The cluster substate is unknown.
// "UNHEALTHY" - The cluster is known to be in an unhealthy state (for
// example, critical daemons are not running or HDFS capacity is
// exhausted).Applies to RUNNING state.
// "STALE_STATUS" - The agent-reported status is out of date (may
// occur if Cloud Dataproc loses communication with Agent).Applies to
// RUNNING state.
Substate string `json:"substate,omitempty"`
// ForceSendFields is a list of field names (e.g. "Detail") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "Detail") to include in API
// requests with the JSON null value. By default, fields with empty
// values are omitted from API requests. However, any field with an
// empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields []string `json:"-"`
}
func (s *ClusterStatus) MarshalJSON() ([]byte, error) {
type NoMethod ClusterStatus
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// DiagnoseClusterRequest: A request to collect cluster diagnostic
// information.
type DiagnoseClusterRequest struct {
}
// DiagnoseClusterResults: The location of diagnostic output.
type DiagnoseClusterResults struct {
// OutputUri: Output only. The Cloud Storage URI of the diagnostic
// output. The output report is a plain text file with a summary of
// collected diagnostics.
OutputUri string `json:"outputUri,omitempty"`
// ForceSendFields is a list of field names (e.g. "OutputUri") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "OutputUri") to include in
// API requests with the JSON null value. By default, fields with empty
// values are omitted from API requests. However, any field with an
// empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields []string `json:"-"`
}
func (s *DiagnoseClusterResults) MarshalJSON() ([]byte, error) {
type NoMethod DiagnoseClusterResults
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// DiskConfig: Specifies the config of disk options for a group of VM
// instances.
type DiskConfig struct {
// BootDiskSizeGb: Optional. Size in GB of the boot disk (default is
// 500GB).
BootDiskSizeGb int64 `json:"bootDiskSizeGb,omitempty"`
// BootDiskType: Optional. Type of the boot disk (default is
// "pd-standard"). Valid values: "pd-ssd" (Persistent Disk Solid State
// Drive) or "pd-standard" (Persistent Disk Hard Disk Drive).
BootDiskType string `json:"bootDiskType,omitempty"`
// NumLocalSsds: Optional. Number of attached SSDs, from 0 to 4 (default
// is 0). If SSDs are not attached, the boot disk is used to store
// runtime logs and HDFS
// (https://hadoop.apache.org/docs/r1.2.1/hdfs_user_guide.html) data. If
// one or more SSDs are attached, this runtime bulk data is spread
// across them, and the boot disk contains only basic config and
// installed binaries.
NumLocalSsds int64 `json:"numLocalSsds,omitempty"`
// ForceSendFields is a list of field names (e.g. "BootDiskSizeGb") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "BootDiskSizeGb") to
// include in API requests with the JSON null value. By default, fields
// with empty values are omitted from API requests. However, any field
// with an empty value appearing in NullFields will be sent to the
// server as null. It is an error if a field in this list has a
// non-empty value. This may be used to include null fields in Patch
// requests.
NullFields []string `json:"-"`
}
func (s *DiskConfig) MarshalJSON() ([]byte, error) {
type NoMethod DiskConfig
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// Empty: A generic empty message that you can re-use to avoid defining
// duplicated empty messages in your APIs. A typical example is to use
// it as the request or the response type of an API method. For
// instance:
// service Foo {
// rpc Bar(google.protobuf.Empty) returns
// (google.protobuf.Empty);
// }
// The JSON representation for Empty is empty JSON object {}.
type Empty struct {
// ServerResponse contains the HTTP response code and headers from the
// server.
googleapi.ServerResponse `json:"-"`
}
// EncryptionConfig: Encryption settings for the cluster.
type EncryptionConfig struct {
// GcePdKmsKeyName: Optional. The Cloud KMS key name to use for PD disk
// encryption for all instances in the cluster.
GcePdKmsKeyName string `json:"gcePdKmsKeyName,omitempty"`
// ForceSendFields is a list of field names (e.g. "GcePdKmsKeyName") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "GcePdKmsKeyName") to
// include in API requests with the JSON null value. By default, fields
// with empty values are omitted from API requests. However, any field
// with an empty value appearing in NullFields will be sent to the
// server as null. It is an error if a field in this list has a
// non-empty value. This may be used to include null fields in Patch
// requests.
NullFields []string `json:"-"`
}
func (s *EncryptionConfig) MarshalJSON() ([]byte, error) {
type NoMethod EncryptionConfig
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// Expr: Represents an expression text. Example:
// title: "User account presence"
// description: "Determines whether the request has a user
// account"
// expression: "size(request.user) > 0"
//
type Expr struct {
// Description: An optional description of the expression. This is a
// longer text which describes the expression, e.g. when hovered over it
// in a UI.
Description string `json:"description,omitempty"`
// Expression: Textual representation of an expression in Common
// Expression Language syntax.The application context of the containing
// message determines which well-known feature set of CEL is supported.
Expression string `json:"expression,omitempty"`
// Location: An optional string indicating the location of the
// expression for error reporting, e.g. a file name and a position in
// the file.
Location string `json:"location,omitempty"`
// Title: An optional title for the expression, i.e. a short string
// describing its purpose. This can be used e.g. in UIs which allow to
// enter the expression.
Title string `json:"title,omitempty"`
// ForceSendFields is a list of field names (e.g. "Description") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "Description") to include
// in API requests with the JSON null value. By default, fields with
// empty values are omitted from API requests. However, any field with
// an empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields []string `json:"-"`
}
func (s *Expr) MarshalJSON() ([]byte, error) {
type NoMethod Expr
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// GceClusterConfig: Common config settings for resources of Compute
// Engine cluster instances, applicable to all instances in the cluster.
type GceClusterConfig struct {
// AllocationAffinity: Allocation Affinity for consuming Zonal
// allocation.
AllocationAffinity *AllocationAffinity `json:"allocationAffinity,omitempty"`
// InternalIpOnly: Optional. If true, all instances in the cluster will
// only have internal IP addresses. By default, clusters are not
// restricted to internal IP addresses, and will have ephemeral external
// IP addresses assigned to each instance. This internal_ip_only
// restriction can only be enabled for subnetwork enabled networks, and
// all off-cluster dependencies must be configured to be accessible
// without external IP addresses.
InternalIpOnly bool `json:"internalIpOnly,omitempty"`
// Metadata: The Compute Engine metadata entries to add to all instances
// (see Project and instance metadata
// (https://cloud.google.com/compute/docs/storing-retrieving-metadata#pro
// ject_and_instance_metadata)).
Metadata map[string]string `json:"metadata,omitempty"`
// NetworkUri: Optional. The Compute Engine network to be used for
// machine communications. Cannot be specified with subnetwork_uri. If
// neither network_uri nor subnetwork_uri is specified, the "default"
// network of the project is used, if it exists. Cannot be a "Custom
// Subnet Network" (see Using Subnetworks for more information).A full
// URL, partial URI, or short name are valid.
// Examples:
// https://www.googleapis.com/compute/v1/projects/[project_id]/
// regions/global/default
// projects/[project_id]/regions/global/default
// de
// fault
NetworkUri string `json:"networkUri,omitempty"`
// ServiceAccount: Optional. The service account of the instances.
// Defaults to the default Compute Engine service account. Custom
// service accounts need permissions equivalent to the following IAM
// roles:
// roles/logging.logWriter
// roles/storage.objectAdmin(see
// https://cloud.google.com/compute/docs/access/service-accounts#custom_service_accounts for more information). Example:
// [account_id]@[project_id].iam.gserviceaccount.com
ServiceAccount string `json:"serviceAccount,omitempty"`
// ServiceAccountScopes: Optional. The URIs of service account scopes to
// be included in Compute Engine instances. The following base set of
// scopes is always
// included:
// https://www.googleapis.com/auth/cloud.useraccounts.readonly
//
// https://www.googleapis.com/auth/devstorage.read_write
// https://www.goog
// leapis.com/auth/logging.writeIf no scopes are specified, the
// following defaults are also
// provided:
// https://www.googleapis.com/auth/bigquery
// https://www.googlea
// pis.com/auth/bigtable.admin.table
// https://www.googleapis.com/auth/bigt
// able.data
// https://www.googleapis.com/auth/devstorage.full_control
ServiceAccountScopes []string `json:"serviceAccountScopes,omitempty"`
// SubnetworkUri: Optional. The Compute Engine subnetwork to be used for
// machine communications. Cannot be specified with network_uri.A full
// URL, partial URI, or short name are valid.
// Examples:
// https://www.googleapis.com/compute/v1/projects/[project_id]/
// regions/us-east1/sub0
// projects/[project_id]/regions/us-east1/sub0
// sub0
SubnetworkUri string `json:"subnetworkUri,omitempty"`
// Tags: The Compute Engine tags to add to all instances (see Tagging
// instances).
Tags []string `json:"tags,omitempty"`
// ZoneUri: Optional. The zone where the Compute Engine cluster will be
// located. On a create request, it is required in the "global" region.
// If omitted in a non-global Cloud Dataproc region, the service will
// pick a zone in the corresponding Compute Engine region. On a get
// request, zone will always be present.A full URL, partial URI, or
// short name are valid.
// Examples:
// https://www.googleapis.com/compute/v1/projects/[project_id]/
// zones/[zone]
// projects/[project_id]/zones/[zone]
// us-central1-f
ZoneUri string `json:"zoneUri,omitempty"`
// ForceSendFields is a list of field names (e.g. "AllocationAffinity")
// to unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "AllocationAffinity") to
// include in API requests with the JSON null value. By default, fields
// with empty values are omitted from API requests. However, any field
// with an empty value appearing in NullFields will be sent to the
// server as null. It is an error if a field in this list has a
// non-empty value. This may be used to include null fields in Patch
// requests.
NullFields []string `json:"-"`
}
func (s *GceClusterConfig) MarshalJSON() ([]byte, error) {
type NoMethod GceClusterConfig
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// GetIamPolicyRequest: Request message for GetIamPolicy method.
type GetIamPolicyRequest struct {
}
// HadoopJob: A Cloud Dataproc job for running Apache Hadoop MapReduce
// (https://hadoop.apache.org/docs/current/hadoop-mapreduce-client/hadoop
// -mapreduce-client-core/MapReduceTutorial.html) jobs on Apache Hadoop
// YARN
// (https://hadoop.apache.org/docs/r2.7.1/hadoop-yarn/hadoop-yarn-site/YA
// RN.html).
type HadoopJob struct {
// ArchiveUris: Optional. HCFS URIs of archives to be extracted in the
// working directory of Hadoop drivers and tasks. Supported file types:
// .jar, .tar, .tar.gz, .tgz, or .zip.
ArchiveUris []string `json:"archiveUris,omitempty"`
// Args: Optional. The arguments to pass to the driver. Do not include
// arguments, such as -libjars or -Dfoo=bar, that can be set as job
// properties, since a collision may occur that causes an incorrect job
// submission.
Args []string `json:"args,omitempty"`
// FileUris: Optional. HCFS (Hadoop Compatible Filesystem) URIs of files
// to be copied to the working directory of Hadoop drivers and
// distributed tasks. Useful for naively parallel tasks.
FileUris []string `json:"fileUris,omitempty"`
// JarFileUris: Optional. Jar file URIs to add to the CLASSPATHs of the
// Hadoop driver and tasks.
JarFileUris []string `json:"jarFileUris,omitempty"`
// LoggingConfig: Optional. The runtime log config for job execution.
LoggingConfig *LoggingConfig `json:"loggingConfig,omitempty"`
// MainClass: The name of the driver's main class. The jar file
// containing the class must be in the default CLASSPATH or specified in
// jar_file_uris.
MainClass string `json:"mainClass,omitempty"`
// MainJarFileUri: The HCFS URI of the jar file containing the main
// class. Examples:
// 'gs://foo-bucket/analytics-binaries/extract-useful-metrics-mr.jar'
// 'hdfs:/tmp/test-samples/custom-wordcount.jar'
// 'file:///home/usr/lib/hadoop-mapreduce/hadoop-mapreduce-examples.jar'
MainJarFileUri string `json:"mainJarFileUri,omitempty"`
// Properties: Optional. A mapping of property names to values, used to
// configure Hadoop. Properties that conflict with values set by the
// Cloud Dataproc API may be overwritten. Can include properties set in
// /etc/hadoop/conf/*-site and classes in user code.
Properties map[string]string `json:"properties,omitempty"`
// ForceSendFields is a list of field names (e.g. "ArchiveUris") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "ArchiveUris") to include
// in API requests with the JSON null value. By default, fields with
// empty values are omitted from API requests. However, any field with
// an empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields []string `json:"-"`
}
func (s *HadoopJob) MarshalJSON() ([]byte, error) {
type NoMethod HadoopJob
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// HiveJob: A Cloud Dataproc job for running Apache Hive
// (https://hive.apache.org/) queries on YARN.
type HiveJob struct {
// ContinueOnFailure: Optional. Whether to continue executing queries if
// a query fails. The default value is false. Setting to true can be
// useful when executing independent parallel queries.
ContinueOnFailure bool `json:"continueOnFailure,omitempty"`
// JarFileUris: Optional. HCFS URIs of jar files to add to the CLASSPATH
// of the Hive server and Hadoop MapReduce (MR) tasks. Can contain Hive
// SerDes and UDFs.
JarFileUris []string `json:"jarFileUris,omitempty"`
// Properties: Optional. A mapping of property names and values, used to
// configure Hive. Properties that conflict with values set by the Cloud
// Dataproc API may be overwritten. Can include properties set in
// /etc/hadoop/conf/*-site.xml, /etc/hive/conf/hive-site.xml, and
// classes in user code.
Properties map[string]string `json:"properties,omitempty"`
// QueryFileUri: The HCFS URI of the script that contains Hive queries.
QueryFileUri string `json:"queryFileUri,omitempty"`
// QueryList: A list of queries.
QueryList *QueryList `json:"queryList,omitempty"`
// ScriptVariables: Optional. Mapping of query variable names to values
// (equivalent to the Hive command: SET name="value";).
ScriptVariables map[string]string `json:"scriptVariables,omitempty"`
// ForceSendFields is a list of field names (e.g. "ContinueOnFailure")
// to unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "ContinueOnFailure") to
// include in API requests with the JSON null value. By default, fields
// with empty values are omitted from API requests. However, any field
// with an empty value appearing in NullFields will be sent to the
// server as null. It is an error if a field in this list has a
// non-empty value. This may be used to include null fields in Patch
// requests.
NullFields []string `json:"-"`
}
func (s *HiveJob) MarshalJSON() ([]byte, error) {
type NoMethod HiveJob
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// InstanceGroupConfig: Optional. The config settings for Compute Engine
// resources in an instance group, such as a master or worker group.
type InstanceGroupConfig struct {
// Accelerators: Optional. The Compute Engine accelerator configuration
// for these instances.Beta Feature: This feature is still under
// development. It may be changed before final release.
Accelerators []*AcceleratorConfig `json:"accelerators,omitempty"`
// DiskConfig: Optional. Disk option config settings.
DiskConfig *DiskConfig `json:"diskConfig,omitempty"`
// ImageUri: Optional. The Compute Engine image resource used for
// cluster instances. It can be specified or may be inferred from
// SoftwareConfig.image_version.
ImageUri string `json:"imageUri,omitempty"`
// InstanceNames: Output only. The list of instance names. Cloud
// Dataproc derives the names from cluster_name, num_instances, and the
// instance group.
InstanceNames []string `json:"instanceNames,omitempty"`
// IsPreemptible: Optional. Specifies that this instance group contains
// preemptible instances.
IsPreemptible bool `json:"isPreemptible,omitempty"`
// MachineTypeUri: Optional. The Compute Engine machine type used for
// cluster instances.A full URL, partial URI, or short name are valid.
// Examples:
// https://www.googleapis.com/compute/v1/projects/[project_id]/
// zones/us-east1-a/machineTypes/n1-standard-2
// projects/[project_id]/zone
// s/us-east1-a/machineTypes/n1-standard-2
// n1-standard-2Auto Zone Exception: If you are using the Cloud Dataproc
// Auto Zone Placement feature, you must use the short name of the
// machine type resource, for example, n1-standard-2.
MachineTypeUri string `json:"machineTypeUri,omitempty"`
// ManagedGroupConfig: Output only. The config for Compute Engine
// Instance Group Manager that manages this group. This is only used for
// preemptible instance groups.
ManagedGroupConfig *ManagedGroupConfig `json:"managedGroupConfig,omitempty"`
// MinCpuPlatform: Optional. Specifies the minimum cpu platform for the
// Instance Group. See Cloud Dataproc&rarr;Minimum CPU Platform.
MinCpuPlatform string `json:"minCpuPlatform,omitempty"`
// NumInstances: Optional. The number of VM instances in the instance
// group. For master instance groups, must be set to 1.
NumInstances int64 `json:"numInstances,omitempty"`
// ForceSendFields is a list of field names (e.g. "Accelerators") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "Accelerators") to include
// in API requests with the JSON null value. By default, fields with
// empty values are omitted from API requests. However, any field with
// an empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields []string `json:"-"`
}
func (s *InstanceGroupConfig) MarshalJSON() ([]byte, error) {
type NoMethod InstanceGroupConfig
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// InstantiateWorkflowTemplateRequest: A request to instantiate a
// workflow template.
type InstantiateWorkflowTemplateRequest struct {
// InstanceId: Deprecated. Please use request_id field instead.
InstanceId string `json:"instanceId,omitempty"`
// Parameters: Optional. Map from parameter names to values that should
// be used for those parameters. Values may not exceed 100 characters.
Parameters map[string]string `json:"parameters,omitempty"`
// RequestId: Optional. A tag that prevents multiple concurrent workflow
// instances with the same tag from running. This mitigates risk of
// concurrent instances started due to retries.It is recommended to
// always set this value to a UUID
// (https://en.wikipedia.org/wiki/Universally_unique_identifier).The tag
// must contain only letters (a-z, A-Z), numbers (0-9), underscores (_),
// and hyphens (-). The maximum length is 40 characters.
RequestId string `json:"requestId,omitempty"`
// Version: Optional. The version of workflow template to instantiate.
// If specified, the workflow will be instantiated only if the current
// version of the workflow template has the supplied version.This option
// cannot be used to instantiate a previous version of workflow
// template.
Version int64 `json:"version,omitempty"`
// ForceSendFields is a list of field names (e.g. "InstanceId") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "InstanceId") to include in
// API requests with the JSON null value. By default, fields with empty
// values are omitted from API requests. However, any field with an
// empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields []string `json:"-"`
}
func (s *InstantiateWorkflowTemplateRequest) MarshalJSON() ([]byte, error) {
type NoMethod InstantiateWorkflowTemplateRequest
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// Job: A Cloud Dataproc job resource.
type Job struct {
// DriverControlFilesUri: Output only. If present, the location of
// miscellaneous control files which may be used as part of job setup
// and handling. If not present, control files may be placed in the same
// location as driver_output_uri.
DriverControlFilesUri string `json:"driverControlFilesUri,omitempty"`
// DriverOutputResourceUri: Output only. A URI pointing to the location
// of the stdout of the job's driver program.
DriverOutputResourceUri string `json:"driverOutputResourceUri,omitempty"`
// HadoopJob: Job is a Hadoop job.
HadoopJob *HadoopJob `json:"hadoopJob,omitempty"`
// HiveJob: Job is a Hive job.
HiveJob *HiveJob `json:"hiveJob,omitempty"`
// JobUuid: Output only. A UUID that uniquely identifies a job within
// the project over time. This is in contrast to a user-settable
// reference.job_id that may be reused over time.
JobUuid string `json:"jobUuid,omitempty"`
// Labels: Optional. The labels to associate with this job. Label keys
// must contain 1 to 63 characters, and must conform to RFC 1035
// (https://www.ietf.org/rfc/rfc1035.txt). Label values may be empty,
// but, if present, must contain 1 to 63 characters, and must conform to
// RFC 1035 (https://www.ietf.org/rfc/rfc1035.txt). No more than 32
// labels can be associated with a job.
Labels map[string]string `json:"labels,omitempty"`
// PigJob: Job is a Pig job.
PigJob *PigJob `json:"pigJob,omitempty"`
// Placement: Required. Job information, including how, when, and where
// to run the job.
Placement *JobPlacement `json:"placement,omitempty"`
// PysparkJob: Job is a Pyspark job.
PysparkJob *PySparkJob `json:"pysparkJob,omitempty"`
// Reference: Optional. The fully qualified reference to the job, which
// can be used to obtain the equivalent REST path of the job resource.
// If this property is not specified when a job is created, the server
// generates a <code>job_id</code>.
Reference *JobReference `json:"reference,omitempty"`
// Scheduling: Optional. Job scheduling configuration.
Scheduling *JobScheduling `json:"scheduling,omitempty"`
// SparkJob: Job is a Spark job.
SparkJob *SparkJob `json:"sparkJob,omitempty"`
// SparkRJob: Job is a SparkR job.
SparkRJob *SparkRJob `json:"sparkRJob,omitempty"`
// SparkSqlJob: Job is a SparkSql job.
SparkSqlJob *SparkSqlJob `json:"sparkSqlJob,omitempty"`
// Status: Output only. The job status. Additional application-specific
// status information may be contained in the <code>type_job</code> and
// <code>yarn_applications</code> fields.
Status *JobStatus `json:"status,omitempty"`
// StatusHistory: Output only. The previous job status.
StatusHistory []*JobStatus `json:"statusHistory,omitempty"`
// SubmittedBy: Output only. The email address of the user submitting
// the job. For jobs submitted on the cluster, the address is
// <code>username@hostname</code>.
SubmittedBy string `json:"submittedBy,omitempty"`
// YarnApplications: Output only. The collection of YARN applications
// spun up by this job.Beta Feature: This report is available for
// testing purposes only. It may be changed before final release.
YarnApplications []*YarnApplication `json:"yarnApplications,omitempty"`
// ServerResponse contains the HTTP response code and headers from the
// server.
googleapi.ServerResponse `json:"-"`
// ForceSendFields is a list of field names (e.g.
// "DriverControlFilesUri") to unconditionally include in API requests.
// By default, fields with empty values are omitted from API requests.
// However, any non-pointer, non-interface field appearing in
// ForceSendFields will be sent to the server regardless of whether the
// field is empty or not. This may be used to include empty fields in
// Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "DriverControlFilesUri") to
// include in API requests with the JSON null value. By default, fields
// with empty values are omitted from API requests. However, any field
// with an empty value appearing in NullFields will be sent to the
// server as null. It is an error if a field in this list has a
// non-empty value. This may be used to include null fields in Patch
// requests.
NullFields []string `json:"-"`
}
func (s *Job) MarshalJSON() ([]byte, error) {
type NoMethod Job
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// JobPlacement: Cloud Dataproc job config.
type JobPlacement struct {
// ClusterName: Required. The name of the cluster where the job will be
// submitted.
ClusterName string `json:"clusterName,omitempty"`
// ClusterUuid: Output only. A cluster UUID generated by the Cloud
// Dataproc service when the job is submitted.
ClusterUuid string `json:"clusterUuid,omitempty"`
// ForceSendFields is a list of field names (e.g. "ClusterName") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "ClusterName") to include
// in API requests with the JSON null value. By default, fields with
// empty values are omitted from API requests. However, any field with
// an empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields []string `json:"-"`
}
func (s *JobPlacement) MarshalJSON() ([]byte, error) {
type NoMethod JobPlacement
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// JobReference: Encapsulates the full scoping used to reference a job.
type JobReference struct {
// JobId: Optional. The job ID, which must be unique within the project.
// The job ID is generated by the server upon job submission or provided
// by the user as a means to perform retries without creating duplicate
// jobs. The ID must contain only letters (a-z, A-Z), numbers (0-9),
// underscores (_), or hyphens (-). The maximum length is 100
// characters.
JobId string `json:"jobId,omitempty"`
// ProjectId: Required. The ID of the Google Cloud Platform project that
// the job belongs to.
ProjectId string `json:"projectId,omitempty"`
// ForceSendFields is a list of field names (e.g. "JobId") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "JobId") to include in API
// requests with the JSON null value. By default, fields with empty
// values are omitted from API requests. However, any field with an
// empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields []string `json:"-"`
}
func (s *JobReference) MarshalJSON() ([]byte, error) {
type NoMethod JobReference
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// JobScheduling: Job scheduling options.
type JobScheduling struct {
// MaxFailuresPerHour: Optional. Maximum number of times per hour a
// driver may be restarted as a result of driver terminating with
// non-zero code before job is reported failed.A job may be reported as
// thrashing if driver exits with non-zero code 4 times within 10 minute
// window.Maximum value is 10.
MaxFailuresPerHour int64 `json:"maxFailuresPerHour,omitempty"`
// ForceSendFields is a list of field names (e.g. "MaxFailuresPerHour")
// to unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "MaxFailuresPerHour") to
// include in API requests with the JSON null value. By default, fields
// with empty values are omitted from API requests. However, any field
// with an empty value appearing in NullFields will be sent to the
// server as null. It is an error if a field in this list has a
// non-empty value. This may be used to include null fields in Patch
// requests.
NullFields []string `json:"-"`
}
func (s *JobScheduling) MarshalJSON() ([]byte, error) {
type NoMethod JobScheduling
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// JobStatus: Cloud Dataproc job status.
type JobStatus struct {
// Details: Output only. Optional job state details, such as an error
// description if the state is <code>ERROR</code>.
Details string `json:"details,omitempty"`
// State: Output only. A state message specifying the overall job state.
//
// Possible values:
// "STATE_UNSPECIFIED" - The job state is unknown.
// "PENDING" - The job is pending; it has been submitted, but is not
// yet running.
// "SETUP_DONE" - Job has been received by the service and completed
// initial setup; it will soon be submitted to the cluster.
// "RUNNING" - The job is running on the cluster.
// "CANCEL_PENDING" - A CancelJob request has been received, but is
// pending.
// "CANCEL_STARTED" - Transient in-flight resources have been
// canceled, and the request to cancel the running job has been issued
// to the cluster.
// "CANCELLED" - The job cancellation was successful.
// "DONE" - The job has completed successfully.
// "ERROR" - The job has completed, but encountered an error.
// "ATTEMPT_FAILURE" - Job attempt has failed. The detail field
// contains failure details for this attempt.Applies to restartable jobs
// only.
State string `json:"state,omitempty"`
// StateStartTime: Output only. The time when this state was entered.
StateStartTime string `json:"stateStartTime,omitempty"`
// Substate: Output only. Additional state information, which includes
// status reported by the agent.
//
// Possible values:
// "UNSPECIFIED" - The job substate is unknown.
// "SUBMITTED" - The Job is submitted to the agent.Applies to RUNNING
// state.
// "QUEUED" - The Job has been received and is awaiting execution (it
// may be waiting for a condition to be met). See the "details" field
// for the reason for the delay.Applies to RUNNING state.
// "STALE_STATUS" - The agent-reported status is out of date, which
// may be caused by a loss of communication between the agent and Cloud
// Dataproc. If the agent does not send a timely update, the job will
// fail.Applies to RUNNING state.
Substate string `json:"substate,omitempty"`
// ForceSendFields is a list of field names (e.g. "Details") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "Details") to include in
// API requests with the JSON null value. By default, fields with empty
// values are omitted from API requests. However, any field with an
// empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields []string `json:"-"`
}
func (s *JobStatus) MarshalJSON() ([]byte, error) {
type NoMethod JobStatus
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// LifecycleConfig: Specifies the cluster auto-delete schedule
// configuration.
type LifecycleConfig struct {
// AutoDeleteTime: Optional. The time when cluster will be auto-deleted.
AutoDeleteTime string `json:"autoDeleteTime,omitempty"`
// AutoDeleteTtl: Optional. The lifetime duration of cluster. The
// cluster will be auto-deleted at the end of this period. Valid range:
// 10m, 14d.Example: "1d", to delete the cluster 1 day after its
// creation..
AutoDeleteTtl string `json:"autoDeleteTtl,omitempty"`
// IdleDeleteTtl: Optional. The duration to keep the cluster alive while
// idling. Passing this threshold will cause the cluster to be deleted.
// Valid range: 10m, 14d.Example: "10m", the minimum value, to delete
// the cluster when it has had no jobs running for 10 minutes.
IdleDeleteTtl string `json:"idleDeleteTtl,omitempty"`
// ForceSendFields is a list of field names (e.g. "AutoDeleteTime") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "AutoDeleteTime") to
// include in API requests with the JSON null value. By default, fields
// with empty values are omitted from API requests. However, any field
// with an empty value appearing in NullFields will be sent to the
// server as null. It is an error if a field in this list has a
// non-empty value. This may be used to include null fields in Patch
// requests.
NullFields []string `json:"-"`
}
func (s *LifecycleConfig) MarshalJSON() ([]byte, error) {
type NoMethod LifecycleConfig
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// ListClustersResponse: The list of all clusters in a project.
type ListClustersResponse struct {
// Clusters: Output only. The clusters in the project.
Clusters []*Cluster `json:"clusters,omitempty"`
// NextPageToken: Output only. This token is included in the response if
// there are more results to fetch. To fetch additional results, provide
// this value as the page_token in a subsequent
// <code>ListClustersRequest</code>.
NextPageToken string `json:"nextPageToken,omitempty"`
// ServerResponse contains the HTTP response code and headers from the
// server.
googleapi.ServerResponse `json:"-"`
// ForceSendFields is a list of field names (e.g. "Clusters") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "Clusters") to include in
// API requests with the JSON null value. By default, fields with empty
// values are omitted from API requests. However, any field with an
// empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields []string `json:"-"`
}
func (s *ListClustersResponse) MarshalJSON() ([]byte, error) {
type NoMethod ListClustersResponse
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// ListJobsResponse: A list of jobs in a project.
type ListJobsResponse struct {
// Jobs: Output only. Jobs list.
Jobs []*Job `json:"jobs,omitempty"`
// NextPageToken: Optional. This token is included in the response if
// there are more results to fetch. To fetch additional results, provide
// this value as the page_token in a subsequent
// <code>ListJobsRequest</code>.
NextPageToken string `json:"nextPageToken,omitempty"`
// ServerResponse contains the HTTP response code and headers from the
// server.
googleapi.ServerResponse `json:"-"`
// ForceSendFields is a list of field names (e.g. "Jobs") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "Jobs") to include in API
// requests with the JSON null value. By default, fields with empty
// values are omitted from API requests. However, any field with an
// empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields []string `json:"-"`
}
func (s *ListJobsResponse) MarshalJSON() ([]byte, error) {
type NoMethod ListJobsResponse
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// ListOperationsResponse: The response message for
// Operations.ListOperations.
type ListOperationsResponse struct {
// NextPageToken: The standard List next-page token.
NextPageToken string `json:"nextPageToken,omitempty"`
// Operations: A list of operations that matches the specified filter in
// the request.
Operations []*Operation `json:"operations,omitempty"`
// ServerResponse contains the HTTP response code and headers from the
// server.
googleapi.ServerResponse `json:"-"`
// ForceSendFields is a list of field names (e.g. "NextPageToken") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "NextPageToken") to include
// in API requests with the JSON null value. By default, fields with
// empty values are omitted from API requests. However, any field with
// an empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields []string `json:"-"`
}
func (s *ListOperationsResponse) MarshalJSON() ([]byte, error) {
type NoMethod ListOperationsResponse
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// ListWorkflowTemplatesResponse: A response to a request to list
// workflow templates in a project.
type ListWorkflowTemplatesResponse struct {
// NextPageToken: Output only. This token is included in the response if
// there are more results to fetch. To fetch additional results, provide
// this value as the page_token in a subsequent
// <code>ListWorkflowTemplatesRequest</code>.
NextPageToken string `json:"nextPageToken,omitempty"`
// Templates: Output only. WorkflowTemplates list.
Templates []*WorkflowTemplate `json:"templates,omitempty"`
// ServerResponse contains the HTTP response code and headers from the
// server.
googleapi.ServerResponse `json:"-"`
// ForceSendFields is a list of field names (e.g. "NextPageToken") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "NextPageToken") to include
// in API requests with the JSON null value. By default, fields with
// empty values are omitted from API requests. However, any field with
// an empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields []string `json:"-"`
}
func (s *ListWorkflowTemplatesResponse) MarshalJSON() ([]byte, error) {
type NoMethod ListWorkflowTemplatesResponse
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// LoggingConfig: The runtime logging config of the job.
type LoggingConfig struct {
// DriverLogLevels: The per-package log levels for the driver. This may
// include "root" package name to configure rootLogger. Examples:
// 'com.google = FATAL', 'root = INFO', 'org.apache = DEBUG'
DriverLogLevels map[string]string `json:"driverLogLevels,omitempty"`
// ForceSendFields is a list of field names (e.g. "DriverLogLevels") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "DriverLogLevels") to
// include in API requests with the JSON null value. By default, fields
// with empty values are omitted from API requests. However, any field
// with an empty value appearing in NullFields will be sent to the
// server as null. It is an error if a field in this list has a
// non-empty value. This may be used to include null fields in Patch
// requests.
NullFields []string `json:"-"`
}
func (s *LoggingConfig) MarshalJSON() ([]byte, error) {
type NoMethod LoggingConfig
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// ManagedCluster: Cluster that is managed by the workflow.
type ManagedCluster struct {
// ClusterName: Required. The cluster name prefix. A unique cluster name
// will be formed by appending a random suffix.The name must contain
// only lower-case letters (a-z), numbers (0-9), and hyphens (-). Must
// begin with a letter. Cannot begin or end with hyphen. Must consist of
// between 2 and 35 characters.
ClusterName string `json:"clusterName,omitempty"`
// Config: Required. The cluster configuration.
Config *ClusterConfig `json:"config,omitempty"`
// Labels: Optional. The labels to associate with this cluster.Label
// keys must be between 1 and 63 characters long, and must conform to
// the following PCRE regular expression: \p{Ll}\p{Lo}{0,62}Label values
// must be between 1 and 63 characters long, and must conform to the
// following PCRE regular expression: \p{Ll}\p{Lo}\p{N}_-{0,63}No more
// than 32 labels can be associated with a given cluster.
Labels map[string]string `json:"labels,omitempty"`
// ForceSendFields is a list of field names (e.g. "ClusterName") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "ClusterName") to include
// in API requests with the JSON null value. By default, fields with
// empty values are omitted from API requests. However, any field with
// an empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields []string `json:"-"`
}
func (s *ManagedCluster) MarshalJSON() ([]byte, error) {
type NoMethod ManagedCluster
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// ManagedGroupConfig: Specifies the resources used to actively manage
// an instance group.
type ManagedGroupConfig struct {
// InstanceGroupManagerName: Output only. The name of the Instance Group
// Manager for this group.
InstanceGroupManagerName string `json:"instanceGroupManagerName,omitempty"`
// InstanceTemplateName: Output only. The name of the Instance Template
// used for the Managed Instance Group.
InstanceTemplateName string `json:"instanceTemplateName,omitempty"`
// ForceSendFields is a list of field names (e.g.
// "InstanceGroupManagerName") to unconditionally include in API
// requests. By default, fields with empty values are omitted from API
// requests. However, any non-pointer, non-interface field appearing in
// ForceSendFields will be sent to the server regardless of whether the
// field is empty or not. This may be used to include empty fields in
// Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "InstanceGroupManagerName")
// to include in API requests with the JSON null value. By default,
// fields with empty values are omitted from API requests. However, any
// field with an empty value appearing in NullFields will be sent to the
// server as null. It is an error if a field in this list has a
// non-empty value. This may be used to include null fields in Patch
// requests.
NullFields []string `json:"-"`
}
func (s *ManagedGroupConfig) MarshalJSON() ([]byte, error) {
type NoMethod ManagedGroupConfig
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// NodeInitializationAction: Specifies an executable to run on a fully
// configured node and a timeout period for executable completion.
type NodeInitializationAction struct {
// ExecutableFile: Required. Cloud Storage URI of executable file.
ExecutableFile string `json:"executableFile,omitempty"`
// ExecutionTimeout: Optional. Amount of time executable has to
// complete. Default is 10 minutes. Cluster creation fails with an
// explanatory error message (the name of the executable that caused the
// error and the exceeded timeout period) if the executable is not
// completed at end of the timeout period.
ExecutionTimeout string `json:"executionTimeout,omitempty"`
// ForceSendFields is a list of field names (e.g. "ExecutableFile") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "ExecutableFile") to
// include in API requests with the JSON null value. By default, fields
// with empty values are omitted from API requests. However, any field
// with an empty value appearing in NullFields will be sent to the
// server as null. It is an error if a field in this list has a
// non-empty value. This may be used to include null fields in Patch
// requests.
NullFields []string `json:"-"`
}
func (s *NodeInitializationAction) MarshalJSON() ([]byte, error) {
type NoMethod NodeInitializationAction
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// Operation: This resource represents a long-running operation that is
// the result of a network API call.
type Operation struct {
// Done: If the value is false, it means the operation is still in
// progress. If true, the operation is completed, and either error or
// response is available.
Done bool `json:"done,omitempty"`
// Error: The error result of the operation in case of failure or
// cancellation.
Error *Status `json:"error,omitempty"`
// Metadata: Service-specific metadata associated with the operation. It
// typically contains progress information and common metadata such as
// create time. Some services might not provide such metadata. Any
// method that returns a long-running operation should document the
// metadata type, if any.
Metadata googleapi.RawMessage `json:"metadata,omitempty"`
// Name: The server-assigned name, which is only unique within the same
// service that originally returns it. If you use the default HTTP
// mapping, the name should have the format of
// operations/some/unique/name.
Name string `json:"name,omitempty"`
// Response: The normal response of the operation in case of success. If
// the original method returns no data on success, such as Delete, the
// response is google.protobuf.Empty. If the original method is standard
// Get/Create/Update, the response should be the resource. For other
// methods, the response should have the type XxxResponse, where Xxx is
// the original method name. For example, if the original method name is
// TakeSnapshot(), the inferred response type is TakeSnapshotResponse.
Response googleapi.RawMessage `json:"response,omitempty"`
// ServerResponse contains the HTTP response code and headers from the
// server.
googleapi.ServerResponse `json:"-"`
// ForceSendFields is a list of field names (e.g. "Done") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "Done") to include in API
// requests with the JSON null value. By default, fields with empty
// values are omitted from API requests. However, any field with an
// empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields []string `json:"-"`
}
func (s *Operation) MarshalJSON() ([]byte, error) {
type NoMethod Operation
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// OrderedJob: A job executed by the workflow.
type OrderedJob struct {
// HadoopJob: Job is a Hadoop job.
HadoopJob *HadoopJob `json:"hadoopJob,omitempty"`
// HiveJob: Job is a Hive job.
HiveJob *HiveJob `json:"hiveJob,omitempty"`
// Labels: Optional. The labels to associate with this job.Label keys
// must be between 1 and 63 characters long, and must conform to the
// following regular expression: \p{Ll}\p{Lo}{0,62}Label values must be
// between 1 and 63 characters long, and must conform to the following
// regular expression: \p{Ll}\p{Lo}\p{N}_-{0,63}No more than 32 labels
// can be associated with a given job.
Labels map[string]string `json:"labels,omitempty"`
// PigJob: Job is a Pig job.
PigJob *PigJob `json:"pigJob,omitempty"`
// PrerequisiteStepIds: Optional. The optional list of prerequisite job
// step_ids. If not specified, the job will start at the beginning of
// workflow.
PrerequisiteStepIds []string `json:"prerequisiteStepIds,omitempty"`
// PysparkJob: Job is a Pyspark job.
PysparkJob *PySparkJob `json:"pysparkJob,omitempty"`
// Scheduling: Optional. Job scheduling configuration.
Scheduling *JobScheduling `json:"scheduling,omitempty"`
// SparkJob: Job is a Spark job.
SparkJob *SparkJob `json:"sparkJob,omitempty"`
// SparkSqlJob: Job is a SparkSql job.
SparkSqlJob *SparkSqlJob `json:"sparkSqlJob,omitempty"`
// StepId: Required. The step id. The id must be unique among all jobs
// within the template.The step id is used as prefix for job id, as job
// goog-dataproc-workflow-step-id label, and in prerequisiteStepIds
// field from other steps.The id must contain only letters (a-z, A-Z),
// numbers (0-9), underscores (_), and hyphens (-). Cannot begin or end
// with underscore or hyphen. Must consist of between 3 and 50
// characters.
StepId string `json:"stepId,omitempty"`
// ForceSendFields is a list of field names (e.g. "HadoopJob") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "HadoopJob") to include in
// API requests with the JSON null value. By default, fields with empty
// values are omitted from API requests. However, any field with an
// empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields []string `json:"-"`
}
func (s *OrderedJob) MarshalJSON() ([]byte, error) {
type NoMethod OrderedJob
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// ParameterValidation: Configuration for parameter validation.
type ParameterValidation struct {
// Regex: Validation based on regular expressions.
Regex *RegexValidation `json:"regex,omitempty"`
// Values: Validation based on a list of allowed values.
Values *ValueValidation `json:"values,omitempty"`
// ForceSendFields is a list of field names (e.g. "Regex") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "Regex") to include in API
// requests with the JSON null value. By default, fields with empty
// values are omitted from API requests. However, any field with an
// empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields []string `json:"-"`
}
func (s *ParameterValidation) MarshalJSON() ([]byte, error) {
type NoMethod ParameterValidation
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// PigJob: A Cloud Dataproc job for running Apache Pig
// (https://pig.apache.org/) queries on YARN.
type PigJob struct {
// ContinueOnFailure: Optional. Whether to continue executing queries if
// a query fails. The default value is false. Setting to true can be
// useful when executing independent parallel queries.
ContinueOnFailure bool `json:"continueOnFailure,omitempty"`
// JarFileUris: Optional. HCFS URIs of jar files to add to the CLASSPATH
// of the Pig Client and Hadoop MapReduce (MR) tasks. Can contain Pig
// UDFs.
JarFileUris []string `json:"jarFileUris,omitempty"`
// LoggingConfig: Optional. The runtime log config for job execution.
LoggingConfig *LoggingConfig `json:"loggingConfig,omitempty"`
// Properties: Optional. A mapping of property names to values, used to
// configure Pig. Properties that conflict with values set by the Cloud
// Dataproc API may be overwritten. Can include properties set in
// /etc/hadoop/conf/*-site.xml, /etc/pig/conf/pig.properties, and
// classes in user code.
Properties map[string]string `json:"properties,omitempty"`
// QueryFileUri: The HCFS URI of the script that contains the Pig
// queries.
QueryFileUri string `json:"queryFileUri,omitempty"`
// QueryList: A list of queries.
QueryList *QueryList `json:"queryList,omitempty"`
// ScriptVariables: Optional. Mapping of query variable names to values
// (equivalent to the Pig command: name=[value]).
ScriptVariables map[string]string `json:"scriptVariables,omitempty"`
// ForceSendFields is a list of field names (e.g. "ContinueOnFailure")
// to unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "ContinueOnFailure") to
// include in API requests with the JSON null value. By default, fields
// with empty values are omitted from API requests. However, any field
// with an empty value appearing in NullFields will be sent to the
// server as null. It is an error if a field in this list has a
// non-empty value. This may be used to include null fields in Patch
// requests.
NullFields []string `json:"-"`
}
func (s *PigJob) MarshalJSON() ([]byte, error) {
type NoMethod PigJob
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// Policy: Defines an Identity and Access Management (IAM) policy. It is
// used to specify access control policies for Cloud Platform
// resources.A Policy consists of a list of bindings. A binding binds a
// list of members to a role, where the members can be user accounts,
// Google groups, Google domains, and service accounts. A role is a
// named list of permissions defined by IAM.JSON Example
// {
// "bindings": [
// {
// "role": "roles/owner",
// "members": [
// "user:mike@example.com",
// "group:admins@example.com",
// "domain:google.com",
// "serviceAccount:my-other-app@appspot.gserviceaccount.com"
// ]
// },
// {
// "role": "roles/viewer",
// "members": ["user:sean@example.com"]
// }
// ]
// }
// YAML Example
// bindings:
// - members:
// - user:mike@example.com
// - group:admins@example.com
// - domain:google.com
// - serviceAccount:my-other-app@appspot.gserviceaccount.com
// role: roles/owner
// - members:
// - user:sean@example.com
// role: roles/viewer
// For a description of IAM and its features, see the IAM developer's
// guide (https://cloud.google.com/iam/docs).
type Policy struct {
// Bindings: Associates a list of members to a role. bindings with no
// members will result in an error.
Bindings []*Binding `json:"bindings,omitempty"`
// Etag: etag is used for optimistic concurrency control as a way to
// help prevent simultaneous updates of a policy from overwriting each
// other. It is strongly suggested that systems make use of the etag in
// the read-modify-write cycle to perform policy updates in order to
// avoid race conditions: An etag is returned in the response to
// getIamPolicy, and systems are expected to put that etag in the
// request to setIamPolicy to ensure that their change will be applied
// to the same version of the policy.If no etag is provided in the call
// to setIamPolicy, then the existing policy is overwritten blindly.
Etag string `json:"etag,omitempty"`
// Version: Deprecated.
Version int64 `json:"version,omitempty"`
// ServerResponse contains the HTTP response code and headers from the
// server.
googleapi.ServerResponse `json:"-"`
// ForceSendFields is a list of field names (e.g. "Bindings") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "Bindings") to include in
// API requests with the JSON null value. By default, fields with empty
// values are omitted from API requests. However, any field with an
// empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields []string `json:"-"`
}
func (s *Policy) MarshalJSON() ([]byte, error) {
type NoMethod Policy
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// PySparkJob: A Cloud Dataproc job for running Apache PySpark
// (https://spark.apache.org/docs/0.9.0/python-programming-guide.html)
// applications on YARN.
type PySparkJob struct {
// ArchiveUris: Optional. HCFS URIs of archives to be extracted in the
// working directory of .jar, .tar, .tar.gz, .tgz, and .zip.
ArchiveUris []string `json:"archiveUris,omitempty"`
// Args: Optional. The arguments to pass to the driver. Do not include
// arguments, such as --conf, that can be set as job properties, since a
// collision may occur that causes an incorrect job submission.
Args []string `json:"args,omitempty"`
// FileUris: Optional. HCFS URIs of files to be copied to the working
// directory of Python drivers and distributed tasks. Useful for naively
// parallel tasks.
FileUris []string `json:"fileUris,omitempty"`
// JarFileUris: Optional. HCFS URIs of jar files to add to the
// CLASSPATHs of the Python driver and tasks.
JarFileUris []string `json:"jarFileUris,omitempty"`
// LoggingConfig: Optional. The runtime log config for job execution.
LoggingConfig *LoggingConfig `json:"loggingConfig,omitempty"`
// MainPythonFileUri: Required. The HCFS URI of the main Python file to
// use as the driver. Must be a .py file.
MainPythonFileUri string `json:"mainPythonFileUri,omitempty"`
// Properties: Optional. A mapping of property names to values, used to
// configure PySpark. Properties that conflict with values set by the
// Cloud Dataproc API may be overwritten. Can include properties set in
// /etc/spark/conf/spark-defaults.conf and classes in user code.
Properties map[string]string `json:"properties,omitempty"`
// PythonFileUris: Optional. HCFS file URIs of Python files to pass to
// the PySpark framework. Supported file types: .py, .egg, and .zip.
PythonFileUris []string `json:"pythonFileUris,omitempty"`
// ForceSendFields is a list of field names (e.g. "ArchiveUris") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "ArchiveUris") to include
// in API requests with the JSON null value. By default, fields with
// empty values are omitted from API requests. However, any field with
// an empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields []string `json:"-"`
}
func (s *PySparkJob) MarshalJSON() ([]byte, error) {
type NoMethod PySparkJob
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// QueryList: A list of queries to run on a cluster.
type QueryList struct {
// Queries: Required. The queries to execute. You do not need to
// terminate a query with a semicolon. Multiple queries can be specified
// in one string by separating each with a semicolon. Here is an example
// of an Cloud Dataproc API snippet that uses a QueryList to specify a
// HiveJob:
// "hiveJob": {
// "queryList": {
// "queries": [
// "query1",
// "query2",
// "query3;query4",
// ]
// }
// }
//
Queries []string `json:"queries,omitempty"`
// ForceSendFields is a list of field names (e.g. "Queries") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "Queries") to include in
// API requests with the JSON null value. By default, fields with empty
// values are omitted from API requests. However, any field with an
// empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields []string `json:"-"`
}
func (s *QueryList) MarshalJSON() ([]byte, error) {
type NoMethod QueryList
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// RegexValidation: Validation based on regular expressions.
type RegexValidation struct {
// Regexes: Required. RE2 regular expressions used to validate the
// parameter's value. The value must match the regex in its entirety
// (substring matches are not sufficient).
Regexes []string `json:"regexes,omitempty"`
// ForceSendFields is a list of field names (e.g. "Regexes") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "Regexes") to include in
// API requests with the JSON null value. By default, fields with empty
// values are omitted from API requests. However, any field with an
// empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields []string `json:"-"`
}
func (s *RegexValidation) MarshalJSON() ([]byte, error) {
type NoMethod RegexValidation
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// SetIamPolicyRequest: Request message for SetIamPolicy method.
type SetIamPolicyRequest struct {
// Policy: REQUIRED: The complete policy to be applied to the resource.
// The size of the policy is limited to a few 10s of KB. An empty policy
// is a valid policy but certain Cloud Platform services (such as
// Projects) might reject them.
Policy *Policy `json:"policy,omitempty"`
// ForceSendFields is a list of field names (e.g. "Policy") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "Policy") to include in API
// requests with the JSON null value. By default, fields with empty
// values are omitted from API requests. However, any field with an
// empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields []string `json:"-"`
}
func (s *SetIamPolicyRequest) MarshalJSON() ([]byte, error) {
type NoMethod SetIamPolicyRequest
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// SoftwareConfig: Specifies the selection and config of software inside
// the cluster.
type SoftwareConfig struct {
// ImageVersion: Optional. The version of software inside the cluster.
// It must be one of the supported Cloud Dataproc Versions, such as
// "1.2" (including a subminor version, such as "1.2.29"), or the
// "preview" version. If unspecified, it defaults to the latest version.
ImageVersion string `json:"imageVersion,omitempty"`
// OptionalComponents: The set of optional components to activate on the
// cluster.
//
// Possible values:
// "COMPONENT_UNSPECIFIED" - Unspecified component.
// "JUPYTER" - The Jupyter Notebook.
// "HIVE_WEBHCAT" - The Hive Web HCatalog (the REST service for
// accessing HCatalog).
// "ZEPPELIN" - The Zeppelin notebook.
// "ANACONDA" - The Anaconda python distribution.
// "PRESTO" - The Presto query engine.
// "KERBEROS" - The Kerberos security feature.
OptionalComponents []string `json:"optionalComponents,omitempty"`
// Properties: Optional. The properties to set on daemon config
// files.Property keys are specified in prefix:property format, such as
// core:fs.defaultFS. The following are supported prefixes and their
// mappings:
// capacity-scheduler: capacity-scheduler.xml
// core: core-site.xml
// distcp: distcp-default.xml
// hdfs: hdfs-site.xml
// hive: hive-site.xml
// mapred: mapred-site.xml
// pig: pig.properties
// spark: spark-defaults.conf
// yarn: yarn-site.xmlFor more information, see Cluster properties.
Properties map[string]string `json:"properties,omitempty"`
// ForceSendFields is a list of field names (e.g. "ImageVersion") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "ImageVersion") to include
// in API requests with the JSON null value. By default, fields with
// empty values are omitted from API requests. However, any field with
// an empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields []string `json:"-"`
}
func (s *SoftwareConfig) MarshalJSON() ([]byte, error) {
type NoMethod SoftwareConfig
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// SparkJob: A Cloud Dataproc job for running Apache Spark
// (http://spark.apache.org/) applications on YARN.
type SparkJob struct {
// ArchiveUris: Optional. HCFS URIs of archives to be extracted in the
// working directory of Spark drivers and tasks. Supported file types:
// .jar, .tar, .tar.gz, .tgz, and .zip.
ArchiveUris []string `json:"archiveUris,omitempty"`
// Args: Optional. The arguments to pass to the driver. Do not include
// arguments, such as --conf, that can be set as job properties, since a
// collision may occur that causes an incorrect job submission.
Args []string `json:"args,omitempty"`
// FileUris: Optional. HCFS URIs of files to be copied to the working
// directory of Spark drivers and distributed tasks. Useful for naively
// parallel tasks.
FileUris []string `json:"fileUris,omitempty"`
// JarFileUris: Optional. HCFS URIs of jar files to add to the
// CLASSPATHs of the Spark driver and tasks.
JarFileUris []string `json:"jarFileUris,omitempty"`
// LoggingConfig: Optional. The runtime log config for job execution.
LoggingConfig *LoggingConfig `json:"loggingConfig,omitempty"`
// MainClass: The name of the driver's main class. The jar file that
// contains the class must be in the default CLASSPATH or specified in
// jar_file_uris.
MainClass string `json:"mainClass,omitempty"`
// MainJarFileUri: The HCFS URI of the jar file that contains the main
// class.
MainJarFileUri string `json:"mainJarFileUri,omitempty"`
// Properties: Optional. A mapping of property names to values, used to
// configure Spark. Properties that conflict with values set by the
// Cloud Dataproc API may be overwritten. Can include properties set in
// /etc/spark/conf/spark-defaults.conf and classes in user code.
Properties map[string]string `json:"properties,omitempty"`
// ForceSendFields is a list of field names (e.g. "ArchiveUris") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "ArchiveUris") to include
// in API requests with the JSON null value. By default, fields with
// empty values are omitted from API requests. However, any field with
// an empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields []string `json:"-"`
}
func (s *SparkJob) MarshalJSON() ([]byte, error) {
type NoMethod SparkJob
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// SparkRJob: A Cloud Dataproc job for running Apache SparkR
// (https://spark.apache.org/docs/latest/sparkr.html) applications on
// YARN.
type SparkRJob struct {
// ArchiveUris: Optional. HCFS URIs of archives to be extracted in the
// working directory of Spark drivers and tasks. Supported file types:
// .jar, .tar, .tar.gz, .tgz, and .zip.
ArchiveUris []string `json:"archiveUris,omitempty"`
// Args: Optional. The arguments to pass to the driver. Do not include
// arguments, such as --conf, that can be set as job properties, since a
// collision may occur that causes an incorrect job submission.
Args []string `json:"args,omitempty"`
// FileUris: Optional. HCFS URIs of files to be copied to the working
// directory of R drivers and distributed tasks. Useful for naively
// parallel tasks.
FileUris []string `json:"fileUris,omitempty"`
// LoggingConfig: Optional. The runtime log config for job execution.
LoggingConfig *LoggingConfig `json:"loggingConfig,omitempty"`
// MainRFileUri: Required. The HCFS URI of the main R file to use as the
// driver. Must be a .R file.
MainRFileUri string `json:"mainRFileUri,omitempty"`
// Properties: Optional. A mapping of property names to values, used to
// configure SparkR. Properties that conflict with values set by the
// Cloud Dataproc API may be overwritten. Can include properties set in
// /etc/spark/conf/spark-defaults.conf and classes in user code.
Properties map[string]string `json:"properties,omitempty"`
// ForceSendFields is a list of field names (e.g. "ArchiveUris") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "ArchiveUris") to include
// in API requests with the JSON null value. By default, fields with
// empty values are omitted from API requests. However, any field with
// an empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields []string `json:"-"`
}
func (s *SparkRJob) MarshalJSON() ([]byte, error) {
type NoMethod SparkRJob
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// SparkSqlJob: A Cloud Dataproc job for running Apache Spark SQL
// (http://spark.apache.org/sql/) queries.
type SparkSqlJob struct {
// JarFileUris: Optional. HCFS URIs of jar files to be added to the
// Spark CLASSPATH.
JarFileUris []string `json:"jarFileUris,omitempty"`
// LoggingConfig: Optional. The runtime log config for job execution.
LoggingConfig *LoggingConfig `json:"loggingConfig,omitempty"`
// Properties: Optional. A mapping of property names to values, used to
// configure Spark SQL's SparkConf. Properties that conflict with values
// set by the Cloud Dataproc API may be overwritten.
Properties map[string]string `json:"properties,omitempty"`
// QueryFileUri: The HCFS URI of the script that contains SQL queries.
QueryFileUri string `json:"queryFileUri,omitempty"`
// QueryList: A list of queries.
QueryList *QueryList `json:"queryList,omitempty"`
// ScriptVariables: Optional. Mapping of query variable names to values
// (equivalent to the Spark SQL command: SET name="value";).
ScriptVariables map[string]string `json:"scriptVariables,omitempty"`
// ForceSendFields is a list of field names (e.g. "JarFileUris") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "JarFileUris") to include
// in API requests with the JSON null value. By default, fields with
// empty values are omitted from API requests. However, any field with
// an empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields []string `json:"-"`
}
func (s *SparkSqlJob) MarshalJSON() ([]byte, error) {
type NoMethod SparkSqlJob
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// Status: The Status type defines a logical error model that is
// suitable for different programming environments, including REST APIs
// and RPC APIs. It is used by gRPC (https://github.com/grpc). The error
// model is designed to be:
// Simple to use and understand for most users
// Flexible enough to meet unexpected needsOverviewThe Status message
// contains three pieces of data: error code, error message, and error
// details. The error code should be an enum value of google.rpc.Code,
// but it may accept additional error codes if needed. The error message
// should be a developer-facing English message that helps developers
// understand and resolve the error. If a localized user-facing error
// message is needed, put the localized message in the error details or
// localize it in the client. The optional error details may contain
// arbitrary information about the error. There is a predefined set of
// error detail types in the package google.rpc that can be used for
// common error conditions.Language mappingThe Status message is the
// logical representation of the error model, but it is not necessarily
// the actual wire format. When the Status message is exposed in
// different client libraries and different wire protocols, it can be
// mapped differently. For example, it will likely be mapped to some
// exceptions in Java, but more likely mapped to some error codes in
// C.Other usesThe error model and the Status message can be used in a
// variety of environments, either with or without APIs, to provide a
// consistent developer experience across different environments.Example
// uses of this error model include:
// Partial errors. If a service needs to return partial errors to the
// client, it may embed the Status in the normal response to indicate
// the partial errors.
// Workflow errors. A typical workflow has multiple steps. Each step may
// have a Status message for error reporting.
// Batch operations. If a client uses batch request and batch response,
// the Status message should be used directly inside batch response, one
// for each error sub-response.
// Asynchronous operations. If an API call embeds asynchronous operation
// results in its response, the status of those operations should be
// represented directly using the Status message.
// Logging. If some API errors are stored in logs, the message Status
// could be used directly after any stripping needed for
// security/privacy reasons.
type Status struct {
// Code: The status code, which should be an enum value of
// google.rpc.Code.
Code int64 `json:"code,omitempty"`
// Details: A list of messages that carry the error details. There is a
// common set of message types for APIs to use.
Details []googleapi.RawMessage `json:"details,omitempty"`
// Message: A developer-facing error message, which should be in
// English. Any user-facing error message should be localized and sent
// in the google.rpc.Status.details field, or localized by the client.
Message string `json:"message,omitempty"`
// ForceSendFields is a list of field names (e.g. "Code") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "Code") to include in API
// requests with the JSON null value. By default, fields with empty
// values are omitted from API requests. However, any field with an
// empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields []string `json:"-"`
}
func (s *Status) MarshalJSON() ([]byte, error) {
type NoMethod Status
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// SubmitJobRequest: A request to submit a job.
type SubmitJobRequest struct {
// Job: Required. The job resource.
Job *Job `json:"job,omitempty"`
// RequestId: Optional. A unique id used to identify the request. If the
// server receives two SubmitJobRequest requests with the same id, then
// the second request will be ignored and the first Job 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.
RequestId string `json:"requestId,omitempty"`
// ForceSendFields is a list of field names (e.g. "Job") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "Job") to include in API
// requests with the JSON null value. By default, fields with empty
// values are omitted from API requests. However, any field with an
// empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields []string `json:"-"`
}
func (s *SubmitJobRequest) MarshalJSON() ([]byte, error) {
type NoMethod SubmitJobRequest
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// TemplateParameter: A configurable parameter that replaces one or more
// fields in the template. Parameterizable fields: - Labels - File uris
// - Job properties - Job arguments - Script variables - Main class (in
// HadoopJob and SparkJob) - Zone (in ClusterSelector)
type TemplateParameter struct {
// Description: Optional. Brief description of the parameter. Must not
// exceed 1024 characters.
Description string `json:"description,omitempty"`
// Fields: Required. Paths to all fields that the parameter replaces. A
// field is allowed to appear in at most one parameter's list of field
// paths.A field path is similar in syntax to a
// google.protobuf.FieldMask. For example, a field path that references
// the zone field of a workflow template's cluster selector would be
// specified as placement.clusterSelector.zone.Also, field paths can
// reference fields using the following syntax:
// Values in maps can be referenced by
// key:
// labels'key'
// placement.clusterSelector.clusterLabels'key'
// placemen
// t.managedCluster.labels'key'
// placement.clusterSelector.clusterLabels'k
// ey'
// jobs'step-id'.labels'key'
// Jobs in the jobs list can be referenced by
// step-id:
// jobs'step-id'.hadoopJob.mainJarFileUri
// jobs'step-id'.hiveJob.
// queryFileUri
// jobs'step-id'.pySparkJob.mainPythonFileUri
// jobs'step-id'.
// hadoopJob.jarFileUris0
// jobs'step-id'.hadoopJob.archiveUris0
// jobs'step-
// id'.hadoopJob.fileUris0
// jobs'step-id'.pySparkJob.pythonFileUris0
// Items
// in repeated fields can be referenced by a zero-based
// index:
// jobs'step-id'.sparkJob.args0
// Other
// examples:
// jobs'step-id'.hadoopJob.properties'key'
// jobs'step-id'.hadoop
// Job.args0
// jobs'step-id'.hiveJob.scriptVariables'key'
// jobs'step-id'.had
// oopJob.mainJarFileUri
// placement.clusterSelector.zoneIt may not be possible to parameterize
// maps and repeated fields in their entirety since only individual map
// values and individual items in repeated fields can be referenced. For
// example, the following field paths are
// invalid:
// placement.clusterSelector.clusterLabels
// jobs'step-id'.sparkJo
// b.args
Fields []string `json:"fields,omitempty"`
// Name: Required. Parameter name. The parameter name is used as the
// key, and paired with the parameter value, which are passed to the
// template when the template is instantiated. The name must contain
// only capital letters (A-Z), numbers (0-9), and underscores (_), and
// must not start with a number. The maximum length is 40 characters.
Name string `json:"name,omitempty"`
// Validation: Optional. Validation rules to be applied to this
// parameter's value.
Validation *ParameterValidation `json:"validation,omitempty"`
// ForceSendFields is a list of field names (e.g. "Description") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "Description") to include
// in API requests with the JSON null value. By default, fields with
// empty values are omitted from API requests. However, any field with
// an empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields []string `json:"-"`
}
func (s *TemplateParameter) MarshalJSON() ([]byte, error) {
type NoMethod TemplateParameter
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// TestIamPermissionsRequest: Request message for TestIamPermissions
// method.
type TestIamPermissionsRequest struct {
// Permissions: The set of permissions to check for the resource.
// Permissions with wildcards (such as '*' or 'storage.*') are not
// allowed. For more information see IAM Overview
// (https://cloud.google.com/iam/docs/overview#permissions).
Permissions []string `json:"permissions,omitempty"`
// ForceSendFields is a list of field names (e.g. "Permissions") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "Permissions") to include
// in API requests with the JSON null value. By default, fields with
// empty values are omitted from API requests. However, any field with
// an empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields []string `json:"-"`
}
func (s *TestIamPermissionsRequest) MarshalJSON() ([]byte, error) {
type NoMethod TestIamPermissionsRequest
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// TestIamPermissionsResponse: Response message for TestIamPermissions
// method.
type TestIamPermissionsResponse struct {
// Permissions: A subset of TestPermissionsRequest.permissions that the
// caller is allowed.
Permissions []string `json:"permissions,omitempty"`
// ServerResponse contains the HTTP response code and headers from the
// server.
googleapi.ServerResponse `json:"-"`
// ForceSendFields is a list of field names (e.g. "Permissions") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "Permissions") to include
// in API requests with the JSON null value. By default, fields with
// empty values are omitted from API requests. However, any field with
// an empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields []string `json:"-"`
}
func (s *TestIamPermissionsResponse) MarshalJSON() ([]byte, error) {
type NoMethod TestIamPermissionsResponse
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// ValueValidation: Validation based on a list of allowed values.
type ValueValidation struct {
// Values: Required. List of allowed values for the parameter.
Values []string `json:"values,omitempty"`
// ForceSendFields is a list of field names (e.g. "Values") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "Values") to include in API
// requests with the JSON null value. By default, fields with empty
// values are omitted from API requests. However, any field with an
// empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields []string `json:"-"`
}
func (s *ValueValidation) MarshalJSON() ([]byte, error) {
type NoMethod ValueValidation
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// WorkflowGraph: The workflow graph.
type WorkflowGraph struct {
// Nodes: Output only. The workflow nodes.
Nodes []*WorkflowNode `json:"nodes,omitempty"`
// ForceSendFields is a list of field names (e.g. "Nodes") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "Nodes") to include in API
// requests with the JSON null value. By default, fields with empty
// values are omitted from API requests. However, any field with an
// empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields []string `json:"-"`
}
func (s *WorkflowGraph) MarshalJSON() ([]byte, error) {
type NoMethod WorkflowGraph
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// WorkflowMetadata: A Cloud Dataproc workflow template resource.
type WorkflowMetadata struct {
// ClusterName: Output only. The name of the target cluster.
ClusterName string `json:"clusterName,omitempty"`
// ClusterUuid: Output only. The UUID of target cluster.
ClusterUuid string `json:"clusterUuid,omitempty"`
// CreateCluster: Output only. The create cluster operation metadata.
CreateCluster *ClusterOperation `json:"createCluster,omitempty"`
// DeleteCluster: Output only. The delete cluster operation metadata.
DeleteCluster *ClusterOperation `json:"deleteCluster,omitempty"`
// EndTime: Output only. Workflow end time.
EndTime string `json:"endTime,omitempty"`
// Graph: Output only. The workflow graph.
Graph *WorkflowGraph `json:"graph,omitempty"`
// Parameters: Map from parameter names to values that were used for
// those parameters.
Parameters map[string]string `json:"parameters,omitempty"`
// StartTime: Output only. Workflow start time.
StartTime string `json:"startTime,omitempty"`
// State: Output only. The workflow state.
//
// Possible values:
// "UNKNOWN" - Unused.
// "PENDING" - The operation has been created.
// "RUNNING" - The operation is running.
// "DONE" - The operation is done; either cancelled or completed.
State string `json:"state,omitempty"`
// Template: Output only. The "resource name" of the template.
Template string `json:"template,omitempty"`
// Version: Output only. The version of template at the time of workflow
// instantiation.
Version int64 `json:"version,omitempty"`
// ForceSendFields is a list of field names (e.g. "ClusterName") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "ClusterName") to include
// in API requests with the JSON null value. By default, fields with
// empty values are omitted from API requests. However, any field with
// an empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields []string `json:"-"`
}
func (s *WorkflowMetadata) MarshalJSON() ([]byte, error) {
type NoMethod WorkflowMetadata
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// WorkflowNode: The workflow node.
type WorkflowNode struct {
// Error: Output only. The error detail.
Error string `json:"error,omitempty"`
// JobId: Output only. The job id; populated after the node enters
// RUNNING state.
JobId string `json:"jobId,omitempty"`
// PrerequisiteStepIds: Output only. Node's prerequisite nodes.
PrerequisiteStepIds []string `json:"prerequisiteStepIds,omitempty"`
// State: Output only. The node state.
//
// Possible values:
// "NODE_STATUS_UNSPECIFIED" - State is unspecified.
// "BLOCKED" - The node is awaiting prerequisite node to finish.
// "RUNNABLE" - The node is runnable but not running.
// "RUNNING" - The node is running.
// "COMPLETED" - The node completed successfully.
// "FAILED" - The node failed. A node can be marked FAILED because its
// ancestor or peer failed.
State string `json:"state,omitempty"`
// StepId: Output only. The name of the node.
StepId string `json:"stepId,omitempty"`
// ForceSendFields is a list of field names (e.g. "Error") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "Error") to include in API
// requests with the JSON null value. By default, fields with empty
// values are omitted from API requests. However, any field with an
// empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields []string `json:"-"`
}
func (s *WorkflowNode) MarshalJSON() ([]byte, error) {
type NoMethod WorkflowNode
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// WorkflowTemplate: A Cloud Dataproc workflow template resource.
type WorkflowTemplate struct {
// CreateTime: Output only. The time template was created.
CreateTime string `json:"createTime,omitempty"`
// Id: Required. The template id.The id must contain only letters (a-z,
// A-Z), numbers (0-9), underscores (_), and hyphens (-). Cannot begin
// or end with underscore or hyphen. Must consist of between 3 and 50
// characters..
Id string `json:"id,omitempty"`
// Jobs: Required. The Directed Acyclic Graph of Jobs to submit.
Jobs []*OrderedJob `json:"jobs,omitempty"`
// Labels: Optional. The labels to associate with this template. These
// labels will be propagated to all jobs and clusters created by the
// workflow instance.Label keys must contain 1 to 63 characters, and
// must conform to RFC 1035 (https://www.ietf.org/rfc/rfc1035.txt).Label
// values may be empty, but, if present, must contain 1 to 63
// characters, and must conform to RFC 1035
// (https://www.ietf.org/rfc/rfc1035.txt).No more than 32 labels can be
// associated with a template.
Labels map[string]string `json:"labels,omitempty"`
// Name: Output only. The "resource name" of the template, as described
// in https://cloud.google.com/apis/design/resource_names of the form
// projects/{project_id}/regions/{region}/workflowTemplates/{template_id}
Name string `json:"name,omitempty"`
// Parameters: Optional. Template parameters whose values are
// substituted into the template. Values for parameters must be provided
// when the template is instantiated.
Parameters []*TemplateParameter `json:"parameters,omitempty"`
// Placement: Required. WorkflowTemplate scheduling information.
Placement *WorkflowTemplatePlacement `json:"placement,omitempty"`
// UpdateTime: Output only. The time template was last updated.
UpdateTime string `json:"updateTime,omitempty"`
// Version: Optional. Used to perform a consistent
// read-modify-write.This field should be left blank for a
// CreateWorkflowTemplate request. It is required for an
// UpdateWorkflowTemplate request, and must match the current server
// version. A typical update template flow would fetch the current
// template with a GetWorkflowTemplate request, which will return the
// current template with the version field filled in with the current
// server version. The user updates other fields in the template, then
// returns it as part of the UpdateWorkflowTemplate request.
Version int64 `json:"version,omitempty"`
// ServerResponse contains the HTTP response code and headers from the
// server.
googleapi.ServerResponse `json:"-"`
// ForceSendFields is a list of field names (e.g. "CreateTime") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "CreateTime") to include in
// API requests with the JSON null value. By default, fields with empty
// values are omitted from API requests. However, any field with an
// empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields []string `json:"-"`
}
func (s *WorkflowTemplate) MarshalJSON() ([]byte, error) {
type NoMethod WorkflowTemplate
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// WorkflowTemplatePlacement: Specifies workflow execution target.Either
// managed_cluster or cluster_selector is required.
type WorkflowTemplatePlacement struct {
// ClusterSelector: Optional. A selector that chooses target cluster for
// jobs based on metadata.The selector is evaluated at the time each job
// is submitted.
ClusterSelector *ClusterSelector `json:"clusterSelector,omitempty"`
// ManagedCluster: Optional. A cluster that is managed by the workflow.
ManagedCluster *ManagedCluster `json:"managedCluster,omitempty"`
// ForceSendFields is a list of field names (e.g. "ClusterSelector") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "ClusterSelector") to
// include in API requests with the JSON null value. By default, fields
// with empty values are omitted from API requests. However, any field
// with an empty value appearing in NullFields will be sent to the
// server as null. It is an error if a field in this list has a
// non-empty value. This may be used to include null fields in Patch
// requests.
NullFields []string `json:"-"`
}
func (s *WorkflowTemplatePlacement) MarshalJSON() ([]byte, error) {
type NoMethod WorkflowTemplatePlacement
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// YarnApplication: A YARN application created by a job. Application
// information is a subset of
// <code>org.apache.hadoop.yarn.proto.YarnProtos.ApplicationReportProto</
// code>.Beta Feature: This report is available for testing purposes
// only. It may be changed before final release.
type YarnApplication struct {
// Name: Required. The application name.
Name string `json:"name,omitempty"`
// Progress: Required. The numerical progress of the application, from 1
// to 100.
Progress float64 `json:"progress,omitempty"`
// State: Required. The application state.
//
// Possible values:
// "STATE_UNSPECIFIED" - Status is unspecified.
// "NEW" - Status is NEW.
// "NEW_SAVING" - Status is NEW_SAVING.
// "SUBMITTED" - Status is SUBMITTED.
// "ACCEPTED" - Status is ACCEPTED.
// "RUNNING" - Status is RUNNING.
// "FINISHED" - Status is FINISHED.
// "FAILED" - Status is FAILED.
// "KILLED" - Status is KILLED.
State string `json:"state,omitempty"`
// TrackingUrl: Optional. The HTTP URL of the ApplicationMaster,
// HistoryServer, or TimelineServer that provides application-specific
// information. The URL uses the internal hostname, and requires a proxy
// server for resolution and, possibly, access.
TrackingUrl string `json:"trackingUrl,omitempty"`
// ForceSendFields is a list of field names (e.g. "Name") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "Name") to include in API
// requests with the JSON null value. By default, fields with empty
// values are omitted from API requests. However, any field with an
// empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields []string `json:"-"`
}
func (s *YarnApplication) MarshalJSON() ([]byte, error) {
type NoMethod YarnApplication
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
func (s *YarnApplication) UnmarshalJSON(data []byte) error {
type NoMethod YarnApplication
var s1 struct {
Progress gensupport.JSONFloat64 `json:"progress"`
*NoMethod
}
s1.NoMethod = (*NoMethod)(s)
if err := json.Unmarshal(data, &s1); err != nil {
return err
}
s.Progress = float64(s1.Progress)
return nil
}
// method id "dataproc.projects.locations.workflowTemplates.create":
type ProjectsLocationsWorkflowTemplatesCreateCall struct {
s *Service
parent string
workflowtemplate *WorkflowTemplate
urlParams_ gensupport.URLParams
ctx_ context.Context
header_ http.Header
}
// Create: Creates new workflow template.
func (r *ProjectsLocationsWorkflowTemplatesService) Create(parent string, workflowtemplate *WorkflowTemplate) *ProjectsLocationsWorkflowTemplatesCreateCall {
c := &ProjectsLocationsWorkflowTemplatesCreateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
c.parent = parent
c.workflowtemplate = workflowtemplate
return c
}
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
// for more information.
func (c *ProjectsLocationsWorkflowTemplatesCreateCall) Fields(s ...googleapi.Field) *ProjectsLocationsWorkflowTemplatesCreateCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
// Context sets the context to be used in this call's Do method. Any
// pending HTTP request will be aborted if the provided context is
// canceled.
func (c *ProjectsLocationsWorkflowTemplatesCreateCall) Context(ctx context.Context) *ProjectsLocationsWorkflowTemplatesCreateCall {
c.ctx_ = ctx
return c
}
// Header returns an http.Header that can be modified by the caller to
// add HTTP headers to the request.
func (c *ProjectsLocationsWorkflowTemplatesCreateCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
func (c *ProjectsLocationsWorkflowTemplatesCreateCall) doRequest(alt string) (*http.Response, error) {
reqHeaders := make(http.Header)
for k, v := range c.header_ {
reqHeaders[k] = v
}
reqHeaders.Set("User-Agent", c.s.userAgent())
var body io.Reader = nil
body, err := googleapi.WithoutDataWrapper.JSONReader(c.workflowtemplate)
if err != nil {
return nil, err
}
reqHeaders.Set("Content-Type", "application/json")
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta2/{+parent}/workflowTemplates")
urls += "?" + c.urlParams_.Encode()
req, err := http.NewRequest("POST", urls, body)
if err != nil {
return nil, err
}
req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
"parent": c.parent,
})
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
// Do executes the "dataproc.projects.locations.workflowTemplates.create" call.
// Exactly one of *WorkflowTemplate or error will be non-nil. Any
// non-2xx status code is an error. Response headers are in either
// *WorkflowTemplate.ServerResponse.Header or (if a response was
// returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was
// because http.StatusNotModified was returned.
func (c *ProjectsLocationsWorkflowTemplatesCreateCall) Do(opts ...googleapi.CallOption) (*WorkflowTemplate, error) {
gensupport.SetOptions(c.urlParams_, opts...)
res, err := c.doRequest("json")
if res != nil && res.StatusCode == http.StatusNotModified {
if res.Body != nil {
res.Body.Close()
}
return nil, &googleapi.Error{
Code: res.StatusCode,
Header: res.Header,
}
}
if err != nil {
return nil, err
}
defer googleapi.CloseBody(res)
if err := googleapi.CheckResponse(res); err != nil {
return nil, err
}
ret := &WorkflowTemplate{
ServerResponse: googleapi.ServerResponse{
Header: res.Header,
HTTPStatusCode: res.StatusCode,
},
}
target := &ret
if err := gensupport.DecodeResponse(target, res); err != nil {
return nil, err
}
return ret, nil
// {
// "description": "Creates new workflow template.",
// "flatPath": "v1beta2/projects/{projectsId}/locations/{locationsId}/workflowTemplates",
// "httpMethod": "POST",
// "id": "dataproc.projects.locations.workflowTemplates.create",
// "parameterOrder": [
// "parent"
// ],
// "parameters": {
// "parent": {
// "description": "Required. The \"resource name\" of the region, as described in https://cloud.google.com/apis/design/resource_names of the form projects/{project_id}/regions/{region}",
// "location": "path",
// "pattern": "^projects/[^/]+/locations/[^/]+$",
// "required": true,
// "type": "string"
// }
// },
// "path": "v1beta2/{+parent}/workflowTemplates",
// "request": {
// "$ref": "WorkflowTemplate"
// },
// "response": {
// "$ref": "WorkflowTemplate"
// },
// "scopes": [
// "https://www.googleapis.com/auth/cloud-platform"
// ]
// }
}
// method id "dataproc.projects.locations.workflowTemplates.delete":
type ProjectsLocationsWorkflowTemplatesDeleteCall struct {
s *Service
name string
urlParams_ gensupport.URLParams
ctx_ context.Context
header_ http.Header
}
// Delete: Deletes a workflow template. It does not cancel in-progress
// workflows.
func (r *ProjectsLocationsWorkflowTemplatesService) Delete(name string) *ProjectsLocationsWorkflowTemplatesDeleteCall {
c := &ProjectsLocationsWorkflowTemplatesDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
c.name = name
return c
}
// Version sets the optional parameter "version": The version of
// workflow template to delete. If specified, will only delete the
// template if the current server version matches specified version.
func (c *ProjectsLocationsWorkflowTemplatesDeleteCall) Version(version int64) *ProjectsLocationsWorkflowTemplatesDeleteCall {
c.urlParams_.Set("version", fmt.Sprint(version))
return c
}
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
// for more information.
func (c *ProjectsLocationsWorkflowTemplatesDeleteCall) Fields(s ...googleapi.Field) *ProjectsLocationsWorkflowTemplatesDeleteCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
// Context sets the context to be used in this call's Do method. Any
// pending HTTP request will be aborted if the provided context is
// canceled.
func (c *ProjectsLocationsWorkflowTemplatesDeleteCall) Context(ctx context.Context) *ProjectsLocationsWorkflowTemplatesDeleteCall {
c.ctx_ = ctx
return c
}
// Header returns an http.Header that can be modified by the caller to
// add HTTP headers to the request.
func (c *ProjectsLocationsWorkflowTemplatesDeleteCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
func (c *ProjectsLocationsWorkflowTemplatesDeleteCall) doRequest(alt string) (*http.Response, error) {
reqHeaders := make(http.Header)
for k, v := range c.header_ {
reqHeaders[k] = v
}
reqHeaders.Set("User-Agent", c.s.userAgent())
var body io.Reader = nil
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta2/{+name}")
urls += "?" + c.urlParams_.Encode()
req, err := http.NewRequest("DELETE", urls, body)
if err != nil {
return nil, err
}
req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
"name": c.name,
})
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
// Do executes the "dataproc.projects.locations.workflowTemplates.delete" call.
// Exactly one of *Empty or error will be non-nil. Any non-2xx status
// code is an error. Response headers are in either
// *Empty.ServerResponse.Header or (if a response was returned at all)
// in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
// check whether the returned error was because http.StatusNotModified
// was returned.
func (c *ProjectsLocationsWorkflowTemplatesDeleteCall) Do(opts ...googleapi.CallOption) (*Empty, error) {
gensupport.SetOptions(c.urlParams_, opts...)
res, err := c.doRequest("json")
if res != nil && res.StatusCode == http.StatusNotModified {
if res.Body != nil {
res.Body.Close()
}
return nil, &googleapi.Error{
Code: res.StatusCode,
Header: res.Header,
}
}
if err != nil {
return nil, err
}
defer googleapi.CloseBody(res)
if err := googleapi.CheckResponse(res); err != nil {
return nil, err
}
ret := &Empty{
ServerResponse: googleapi.ServerResponse{
Header: res.Header,
HTTPStatusCode: res.StatusCode,
},
}
target := &ret
if err := gensupport.DecodeResponse(target, res); err != nil {
return nil, err
}
return ret, nil
// {
// "description": "Deletes a workflow template. It does not cancel in-progress workflows.",
// "flatPath": "v1beta2/projects/{projectsId}/locations/{locationsId}/workflowTemplates/{workflowTemplatesId}",
// "httpMethod": "DELETE",
// "id": "dataproc.projects.locations.workflowTemplates.delete",
// "parameterOrder": [
// "name"
// ],
// "parameters": {
// "name": {
// "description": "Required. The \"resource name\" of the workflow template, as described in https://cloud.google.com/apis/design/resource_names of the form projects/{project_id}/regions/{region}/workflowTemplates/{template_id}",
// "location": "path",
// "pattern": "^projects/[^/]+/locations/[^/]+/workflowTemplates/[^/]+$",
// "required": true,
// "type": "string"
// },
// "version": {
// "description": "Optional. The version of workflow template to delete. If specified, will only delete the template if the current server version matches specified version.",
// "format": "int32",
// "location": "query",
// "type": "integer"
// }
// },
// "path": "v1beta2/{+name}",
// "response": {
// "$ref": "Empty"
// },
// "scopes": [
// "https://www.googleapis.com/auth/cloud-platform"
// ]
// }
}
// method id "dataproc.projects.locations.workflowTemplates.get":
type ProjectsLocationsWorkflowTemplatesGetCall struct {
s *Service
name string
urlParams_ gensupport.URLParams
ifNoneMatch_ string
ctx_ context.Context
header_ http.Header
}
// Get: Retrieves the latest workflow template.Can retrieve previously
// instantiated template by specifying optional version parameter.
func (r *ProjectsLocationsWorkflowTemplatesService) Get(name string) *ProjectsLocationsWorkflowTemplatesGetCall {
c := &ProjectsLocationsWorkflowTemplatesGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
c.name = name
return c
}
// Version sets the optional parameter "version": The version of
// workflow template to retrieve. Only previously instatiated versions
// can be retrieved.If unspecified, retrieves the current version.
func (c *ProjectsLocationsWorkflowTemplatesGetCall) Version(version int64) *ProjectsLocationsWorkflowTemplatesGetCall {
c.urlParams_.Set("version", fmt.Sprint(version))
return c
}
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
// for more information.
func (c *ProjectsLocationsWorkflowTemplatesGetCall) Fields(s ...googleapi.Field) *ProjectsLocationsWorkflowTemplatesGetCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
// IfNoneMatch sets the optional parameter which makes the operation
// fail if the object's ETag matches the given value. This is useful for
// getting updates only after the object has changed since the last
// request. Use googleapi.IsNotModified to check whether the response
// error from Do is the result of In-None-Match.
func (c *ProjectsLocationsWorkflowTemplatesGetCall) IfNoneMatch(entityTag string) *ProjectsLocationsWorkflowTemplatesGetCall {
c.ifNoneMatch_ = entityTag
return c
}
// Context sets the context to be used in this call's Do method. Any
// pending HTTP request will be aborted if the provided context is
// canceled.
func (c *ProjectsLocationsWorkflowTemplatesGetCall) Context(ctx context.Context) *ProjectsLocationsWorkflowTemplatesGetCall {
c.ctx_ = ctx
return c
}
// Header returns an http.Header that can be modified by the caller to
// add HTTP headers to the request.
func (c *ProjectsLocationsWorkflowTemplatesGetCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
func (c *ProjectsLocationsWorkflowTemplatesGetCall) doRequest(alt string) (*http.Response, error) {
reqHeaders := make(http.Header)
for k, v := range c.header_ {
reqHeaders[k] = v
}
reqHeaders.Set("User-Agent", c.s.userAgent())
if c.ifNoneMatch_ != "" {
reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
}
var body io.Reader = nil
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta2/{+name}")
urls += "?" + c.urlParams_.Encode()
req, err := http.NewRequest("GET", urls, body)
if err != nil {
return nil, err
}
req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
"name": c.name,
})
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
// Do executes the "dataproc.projects.locations.workflowTemplates.get" call.
// Exactly one of *WorkflowTemplate or error will be non-nil. Any
// non-2xx status code is an error. Response headers are in either
// *WorkflowTemplate.ServerResponse.Header or (if a response was
// returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was
// because http.StatusNotModified was returned.
func (c *ProjectsLocationsWorkflowTemplatesGetCall) Do(opts ...googleapi.CallOption) (*Workflo