blob: c6d95b79156b9a1c1302f571237b69ae287fbc64 [file] [log] [blame]
// Copyright 2019 Google LLC.
// 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.
//
// For product documentation, see: https://cloud.google.com/dataproc/
//
// Creating a client
//
// Usage example:
//
// import "google.golang.org/api/dataproc/v1"
// ...
// ctx := context.Background()
// dataprocService, err := dataproc.NewService(ctx)
//
// In this example, Google Application Default Credentials are used for authentication.
//
// For information on how to create and obtain Application Default Credentials, see https://developers.google.com/identity/protocols/application-default-credentials.
//
// Other authentication options
//
// To use an API key for authentication (note: some APIs do not support API keys), use option.WithAPIKey:
//
// dataprocService, err := dataproc.NewService(ctx, option.WithAPIKey("AIza..."))
//
// To use an OAuth token (e.g., a user token obtained via a three-legged OAuth flow), use option.WithTokenSource:
//
// config := &oauth2.Config{...}
// // ...
// token, err := config.Exchange(ctx, ...)
// dataprocService, err := dataproc.NewService(ctx, option.WithTokenSource(config.TokenSource(ctx, token)))
//
// See https://godoc.org/google.golang.org/api/option/ for details on options.
package dataproc // import "google.golang.org/api/dataproc/v1"
import (
"bytes"
"context"
"encoding/json"
"errors"
"fmt"
"io"
"net/http"
"net/url"
"strconv"
"strings"
googleapi "google.golang.org/api/googleapi"
gensupport "google.golang.org/api/internal/gensupport"
option "google.golang.org/api/option"
htransport "google.golang.org/api/transport/http"
)
// 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:v1"
const apiName = "dataproc"
const apiVersion = "v1"
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"
)
// NewService creates a new Service.
func NewService(ctx context.Context, opts ...option.ClientOption) (*Service, error) {
scopesOption := option.WithScopes(
"https://www.googleapis.com/auth/cloud-platform",
)
// NOTE: prepend, so we don't override user-specified scopes.
opts = append([]option.ClientOption{scopesOption}, opts...)
client, endpoint, err := htransport.NewClient(ctx, opts...)
if err != nil {
return nil, err
}
s, err := New(client)
if err != nil {
return nil, err
}
if endpoint != "" {
s.BasePath = endpoint
}
return s, nil
}
// New creates a new Service. It uses the provided http.Client for requests.
//
// Deprecated: please use NewService instead.
// To provide a custom HTTP client, use option.WithHTTPClient.
// If you are using google.golang.org/api/googleapis/transport.APIKey, use option.WithAPIKey with NewService instead.
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.AutoscalingPolicies = NewProjectsLocationsAutoscalingPoliciesService(s)
rs.WorkflowTemplates = NewProjectsLocationsWorkflowTemplatesService(s)
return rs
}
type ProjectsLocationsService struct {
s *Service
AutoscalingPolicies *ProjectsLocationsAutoscalingPoliciesService
WorkflowTemplates *ProjectsLocationsWorkflowTemplatesService
}
func NewProjectsLocationsAutoscalingPoliciesService(s *Service) *ProjectsLocationsAutoscalingPoliciesService {
rs := &ProjectsLocationsAutoscalingPoliciesService{s: s}
return rs
}
type ProjectsLocationsAutoscalingPoliciesService struct {
s *Service
}
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.AutoscalingPolicies = NewProjectsRegionsAutoscalingPoliciesService(s)
rs.Clusters = NewProjectsRegionsClustersService(s)
rs.Jobs = NewProjectsRegionsJobsService(s)
rs.Operations = NewProjectsRegionsOperationsService(s)
rs.WorkflowTemplates = NewProjectsRegionsWorkflowTemplatesService(s)
return rs
}
type ProjectsRegionsService struct {
s *Service
AutoscalingPolicies *ProjectsRegionsAutoscalingPoliciesService
Clusters *ProjectsRegionsClustersService
Jobs *ProjectsRegionsJobsService
Operations *ProjectsRegionsOperationsService
WorkflowTemplates *ProjectsRegionsWorkflowTemplatesService
}
func NewProjectsRegionsAutoscalingPoliciesService(s *Service) *ProjectsRegionsAutoscalingPoliciesService {
rs := &ProjectsRegionsAutoscalingPoliciesService{s: s}
return rs
}
type ProjectsRegionsAutoscalingPoliciesService struct {
s *Service
}
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. 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.Examples:
// https://www.googleapis.com/compute/beta/pro
// jects/[project_id]/zones/us-east1-a/acceleratorTypes/nvidia-tesla-k80
//
// projects/[project_id]/zones/us-east1-a/acceleratorTypes/nvidia-tesla-k
// 80
// 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)
}
// AutoscalingConfig: Autoscaling Policy config associated with the
// cluster.
type AutoscalingConfig struct {
// PolicyUri: Optional. The autoscaling policy used by the cluster.Only
// resource names including projectid and location (region) are valid.
// Examples:
// https://www.googleapis.com/compute/v1/projects/[project_id]/
// locations/[dataproc_region]/autoscalingPolicies/[policy_id]
// projects/[
// project_id]/locations/[dataproc_region]/autoscalingPolicies/[policy_id
// ]Note that the policy must be in the same project and Cloud Dataproc
// region.
PolicyUri string `json:"policyUri,omitempty"`
// ForceSendFields is a list of field names (e.g. "PolicyUri") 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. "PolicyUri") 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 *AutoscalingConfig) MarshalJSON() ([]byte, error) {
type NoMethod AutoscalingConfig
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// AutoscalingPolicy: Describes an autoscaling policy for Dataproc
// cluster autoscaler.
type AutoscalingPolicy struct {
BasicAlgorithm *BasicAutoscalingAlgorithm `json:"basicAlgorithm,omitempty"`
// Id: Required. The policy 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"`
// Name: Output only. The "resource name" of the autoscaling policy, as
// described in https://cloud.google.com/apis/design/resource_names.
// For projects.regions.autoscalingPolicies, the resource name of the
// policy has the following format:
// projects/{project_id}/regions/{region}/autoscalingPolicies/{policy_id}
//
// For projects.locations.autoscalingPolicies, the resource name of the
// policy has the following format:
// projects/{project_id}/locations/{location}/autoscalingPolicies/{policy
// _id}
Name string `json:"name,omitempty"`
// SecondaryWorkerConfig: Optional. Describes how the autoscaler will
// operate for secondary workers.
SecondaryWorkerConfig *InstanceGroupAutoscalingPolicyConfig `json:"secondaryWorkerConfig,omitempty"`
// WorkerConfig: Required. Describes how the autoscaler will operate for
// primary workers.
WorkerConfig *InstanceGroupAutoscalingPolicyConfig `json:"workerConfig,omitempty"`
// ServerResponse contains the HTTP response code and headers from the
// server.
googleapi.ServerResponse `json:"-"`
// ForceSendFields is a list of field names (e.g. "BasicAlgorithm") 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. "BasicAlgorithm") 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 *AutoscalingPolicy) MarshalJSON() ([]byte, error) {
type NoMethod AutoscalingPolicy
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// BasicAutoscalingAlgorithm: Basic algorithm for autoscaling.
type BasicAutoscalingAlgorithm struct {
// CooldownPeriod: Optional. Duration between scaling events. A scaling
// period starts after the update operation from the previous event has
// completed.Bounds: 2m, 1d. Default: 2m.
CooldownPeriod string `json:"cooldownPeriod,omitempty"`
// YarnConfig: Required. YARN autoscaling configuration.
YarnConfig *BasicYarnAutoscalingConfig `json:"yarnConfig,omitempty"`
// ForceSendFields is a list of field names (e.g. "CooldownPeriod") 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. "CooldownPeriod") 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 *BasicAutoscalingAlgorithm) MarshalJSON() ([]byte, error) {
type NoMethod BasicAutoscalingAlgorithm
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// BasicYarnAutoscalingConfig: Basic autoscaling configurations for
// YARN.
type BasicYarnAutoscalingConfig struct {
// GracefulDecommissionTimeout: Required. Timeout for YARN graceful
// decommissioning of Node Managers. Specifies the duration to wait for
// jobs to complete before forcefully removing workers (and potentially
// interrupting jobs). Only applicable to downscaling operations.Bounds:
// 0s, 1d.
GracefulDecommissionTimeout string `json:"gracefulDecommissionTimeout,omitempty"`
// ScaleDownFactor: Required. Fraction of average pending memory in the
// last cooldown period for which to remove workers. A scale-down factor
// of 1 will result in scaling down so that there is no available memory
// remaining after the update (more aggressive scaling). A scale-down
// factor of 0 disables removing workers, which can be beneficial for
// autoscaling a single job.Bounds: 0.0, 1.0.
ScaleDownFactor float64 `json:"scaleDownFactor,omitempty"`
// ScaleDownMinWorkerFraction: Optional. Minimum scale-down threshold as
// a fraction of total cluster size before scaling occurs. For example,
// in a 20-worker cluster, a threshold of 0.1 means the autoscaler must
// recommend at least a 2 worker scale-down for the cluster to scale. A
// threshold of 0 means the autoscaler will scale down on any
// recommended change.Bounds: 0.0, 1.0. Default: 0.0.
ScaleDownMinWorkerFraction float64 `json:"scaleDownMinWorkerFraction,omitempty"`
// ScaleUpFactor: Required. Fraction of average pending memory in the
// last cooldown period for which to add workers. A scale-up factor of
// 1.0 will result in scaling up so that there is no pending memory
// remaining after the update (more aggressive scaling). A scale-up
// factor closer to 0 will result in a smaller magnitude of scaling up
// (less aggressive scaling).Bounds: 0.0, 1.0.
ScaleUpFactor float64 `json:"scaleUpFactor,omitempty"`
// ScaleUpMinWorkerFraction: Optional. Minimum scale-up threshold as a
// fraction of total cluster size before scaling occurs. For example, in
// a 20-worker cluster, a threshold of 0.1 means the autoscaler must
// recommend at least a 2-worker scale-up for the cluster to scale. A
// threshold of 0 means the autoscaler will scale up on any recommended
// change.Bounds: 0.0, 1.0. Default: 0.0.
ScaleUpMinWorkerFraction float64 `json:"scaleUpMinWorkerFraction,omitempty"`
// ForceSendFields is a list of field names (e.g.
// "GracefulDecommissionTimeout") 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.
// "GracefulDecommissionTimeout") 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 *BasicYarnAutoscalingConfig) MarshalJSON() ([]byte, error) {
type NoMethod BasicYarnAutoscalingConfig
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
func (s *BasicYarnAutoscalingConfig) UnmarshalJSON(data []byte) error {
type NoMethod BasicYarnAutoscalingConfig
var s1 struct {
ScaleDownFactor gensupport.JSONFloat64 `json:"scaleDownFactor"`
ScaleDownMinWorkerFraction gensupport.JSONFloat64 `json:"scaleDownMinWorkerFraction"`
ScaleUpFactor gensupport.JSONFloat64 `json:"scaleUpFactor"`
ScaleUpMinWorkerFraction gensupport.JSONFloat64 `json:"scaleUpMinWorkerFraction"`
*NoMethod
}
s1.NoMethod = (*NoMethod)(s)
if err := json.Unmarshal(data, &s1); err != nil {
return err
}
s.ScaleDownFactor = float64(s1.ScaleDownFactor)
s.ScaleDownMinWorkerFraction = float64(s1.ScaleDownMinWorkerFraction)
s.ScaleUpFactor = float64(s1.ScaleUpFactor)
s.ScaleUpMinWorkerFraction = float64(s1.ScaleUpMinWorkerFraction)
return nil
}
// Binding: Associates members with a role.
type Binding struct {
// Condition: 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@example.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}: The G Suite domain (primary) 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: 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 {
// AutoscalingConfig: Optional. Autoscaling config for the policy
// associated with the cluster. Cluster does not autoscale if this field
// is unset.
AutoscalingConfig *AutoscalingConfig `json:"autoscalingConfig,omitempty"`
// ConfigBucket: Optional. A Google Cloud Storage bucket used to stage
// job dependencies, config files, and job driver console output. If you
// do not specify a staging bucket, Cloud Dataproc will determine a
// 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 create and manage this project-level,
// per-location bucket (see Cloud Dataproc staging bucket).
ConfigBucket string `json:"configBucket,omitempty"`
// EncryptionConfig: Optional. Encryption settings for the cluster.
EncryptionConfig *EncryptionConfig `json:"encryptionConfig,omitempty"`
// GceClusterConfig: Optional. 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 role 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/v1/instance/att
// ributes/dataproc-role)
// if [[ "${ROLE}" == 'Master' ]]; then
// ... master specific actions ...
// else
// ... worker specific actions ...
// fi
//
InitializationActions []*NodeInitializationAction `json:"initializationActions,omitempty"`
// LifecycleConfig: Optional. Lifecycle setting for the cluster.
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"`
// SecurityConfig: Optional. Security settings for the cluster.
SecurityConfig *SecurityConfig `json:"securityConfig,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. "AutoscalingConfig")
// 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. "AutoscalingConfig") 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: Optional. Output only. 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 {
// 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/subnetworks/sub0
// projects/[project_id]/regions/us-eas
// t1/subnetworks/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. "InternalIpOnly") 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. "InternalIpOnly") 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 {
// Options: OPTIONAL: A GetPolicyOptions object for specifying options
// to GetIamPolicy. This field is only used by Cloud IAM.
Options *GetPolicyOptions `json:"options,omitempty"`
// ForceSendFields is a list of field names (e.g. "Options") 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. "Options") 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 *GetIamPolicyRequest) MarshalJSON() ([]byte, error) {
type NoMethod GetIamPolicyRequest
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// GetPolicyOptions: Encapsulates settings provided to GetIamPolicy.
type GetPolicyOptions struct {
// RequestedPolicyVersion: Optional. The policy format version to be
// returned.Valid values are 0, 1, and 3. Requests specifying an invalid
// value will be rejected.Requests for policies with any conditional
// bindings must specify version 3. Policies without any conditional
// bindings may specify any valid value or leave the field unset.
RequestedPolicyVersion int64 `json:"requestedPolicyVersion,omitempty"`
// ForceSendFields is a list of field names (e.g.
// "RequestedPolicyVersion") 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. "RequestedPolicyVersion")
// 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 *GetPolicyOptions) MarshalJSON() ([]byte, error) {
type NoMethod GetPolicyOptions
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// 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)
}
// InstanceGroupAutoscalingPolicyConfig: Configuration for the size
// bounds of an instance group, including its proportional size to other
// groups.
type InstanceGroupAutoscalingPolicyConfig struct {
// MaxInstances: Required. Maximum number of instances for this group.
// Required for primary workers. Note that by default, clusters will not
// use secondary workers. Required for secondary workers if the minimum
// secondary instances is set.Primary workers - Bounds: [min_instances,
// ). Secondary workers - Bounds: [min_instances, ). Default: 0.
MaxInstances int64 `json:"maxInstances,omitempty"`
// MinInstances: Optional. Minimum number of instances for this
// group.Primary workers - Bounds: 2, max_instances. Default: 2.
// Secondary workers - Bounds: 0, max_instances. Default: 0.
MinInstances int64 `json:"minInstances,omitempty"`
// Weight: Optional. Weight for the instance group, which is used to
// determine the fraction of total workers in the cluster from this
// instance group. For example, if primary workers have weight 2, and
// secondary workers have weight 1, the cluster will have approximately
// 2 primary workers for each secondary worker.The cluster may not reach
// the specified balance if constrained by min/max bounds or other
// autoscaling settings. For example, if max_instances for secondary
// workers is 0, then only primary workers will be added. The cluster
// can also be out of balance when created.If weight is not set on any
// instance group, the cluster will default to equal weight for all
// groups: the cluster will attempt to maintain an equal number of
// workers in each group within the configured size bounds for each
// group. If weight is set for one group only, the cluster will default
// to zero weight on the unset group. For example if weight is set only
// on primary workers, the cluster will use primary workers only and no
// secondary workers.
Weight int64 `json:"weight,omitempty"`
// ForceSendFields is a list of field names (e.g. "MaxInstances") 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. "MaxInstances") 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 *InstanceGroupAutoscalingPolicyConfig) MarshalJSON() ([]byte, error) {
type NoMethod InstanceGroupAutoscalingPolicyConfig
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.
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→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 {
// 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. "Parameters") 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. "Parameters") 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"`
// 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 ID must contain only letters (a-z, A-Z), numbers (0-9),
// underscores (_), or hyphens (-). The maximum length is 100
// characters.If not specified by the caller, the job ID will be
// provided by the server.
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: Optional. Output only. 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)
}
// KerberosConfig: Specifies Kerberos related configuration.
type KerberosConfig struct {
// CrossRealmTrustAdminServer: Optional. The admin server (IP or
// hostname) for the remote trusted realm in a cross realm trust
// relationship.
CrossRealmTrustAdminServer string `json:"crossRealmTrustAdminServer,omitempty"`
// CrossRealmTrustKdc: Optional. The KDC (IP or hostname) for the remote
// trusted realm in a cross realm trust relationship.
CrossRealmTrustKdc string `json:"crossRealmTrustKdc,omitempty"`
// CrossRealmTrustRealm: Optional. The remote realm the Dataproc
// on-cluster KDC will trust, should the user enable cross realm trust.
CrossRealmTrustRealm string `json:"crossRealmTrustRealm,omitempty"`
// CrossRealmTrustSharedPasswordUri: Optional. The Cloud Storage URI of
// a KMS encrypted file containing the shared password between the
// on-cluster Kerberos realm and the remote trusted realm, in a cross
// realm trust relationship.
CrossRealmTrustSharedPasswordUri string `json:"crossRealmTrustSharedPasswordUri,omitempty"`
// EnableKerberos: Optional. Flag to indicate whether to Kerberize the
// cluster.
EnableKerberos bool `json:"enableKerberos,omitempty"`
// KdcDbKeyUri: Optional. The Cloud Storage URI of a KMS encrypted file
// containing the master key of the KDC database.
KdcDbKeyUri string `json:"kdcDbKeyUri,omitempty"`
// KeyPasswordUri: Optional. The Cloud Storage URI of a KMS encrypted
// file containing the password to the user provided key. For the
// self-signed certificate, this password is generated by Dataproc.
KeyPasswordUri string `json:"keyPasswordUri,omitempty"`
// KeystorePasswordUri: Optional. The Cloud Storage URI of a KMS
// encrypted file containing the password to the user provided keystore.
// For the self-signed certificate, this password is generated by
// Dataproc.
KeystorePasswordUri string `json:"keystorePasswordUri,omitempty"`
// KeystoreUri: Optional. The Cloud Storage URI of the keystore file
// used for SSL encryption. If not provided, Dataproc will provide a
// self-signed certificate.
KeystoreUri string `json:"keystoreUri,omitempty"`
// KmsKeyUri: Required. The uri of the KMS key used to encrypt various
// sensitive files.
KmsKeyUri string `json:"kmsKeyUri,omitempty"`
// Realm: Optional. The name of the on-cluster Kerberos realm. If not
// specified, the uppercased domain of hostnames will be the realm.
Realm string `json:"realm,omitempty"`
// RootPrincipalPasswordUri: Required. The Cloud Storage URI of a KMS
// encrypted file containing the root principal password.
RootPrincipalPasswordUri string `json:"rootPrincipalPasswordUri,omitempty"`
// TgtLifetimeHours: Optional. The lifetime of the ticket granting
// ticket, in hours. If not specified, or user specifies 0, then default
// value 10 will be used.
TgtLifetimeHours int64 `json:"tgtLifetimeHours,omitempty"`
// TruststorePasswordUri: Optional. The Cloud Storage URI of a KMS
// encrypted file containing the password to the user provided
// truststore. For the self-signed certificate, this password is
// generated by Dataproc.
TruststorePasswordUri string `json:"truststorePasswordUri,omitempty"`
// TruststoreUri: Optional. The Cloud Storage URI of the truststore file
// used for SSL encryption. If not provided, Dataproc will provide a
// self-signed certificate.
TruststoreUri string `json:"truststoreUri,omitempty"`
// ForceSendFields is a list of field names (e.g.
// "CrossRealmTrustAdminServer") 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.
// "CrossRealmTrustAdminServer") 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 *KerberosConfig) MarshalJSON() ([]byte, error) {
type NoMethod KerberosConfig
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"`
// IdleStartTime: Output only. The time when cluster became idle (most
// recent job finished) and became eligible for deletion due to
// idleness.
IdleStartTime string `json:"idleStartTime,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)
}
// ListAutoscalingPoliciesResponse: A response to a request to list
// autoscaling policies in a project.
type ListAutoscalingPoliciesResponse struct {
// NextPageToken: Output only. This token is included in the response if
// there are more results to fetch.
NextPageToken string `json:"nextPageToken,omitempty"`
// Policies: Output only. Autoscaling policies list.
Policies []*AutoscalingPolicy `json:"policies,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 *ListAutoscalingPoliciesResponse) MarshalJSON() ([]byte, error) {
type NoMethod ListAutoscalingPoliciesResponse
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 ListClustersRequest.
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 be a resource name ending with
// operations/{unique_id}.
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 is a collection of bindings. A binding binds one
// or more members to a single role. Members can be user accounts,
// service accounts, Google groups, and domains (such as G Suite). A
// role is a named list of permissions (defined by IAM or configured by
// users). A binding can optionally specify a condition, which is a
// logic expression that further constrains the role binding based on
// attributes about the request and/or target resource.JSON Example
// {
// "bindings": [
// {
// "role": "roles/resourcemanager.organizationAdmin",
// "members": [
// "user:mike@example.com",
// "group:admins@example.com",
// "domain:google.com",
// "serviceAccount:my-project-id@appspot.gserviceaccount.com"
// ]
// },
// {
// "role": "roles/resourcemanager.organizationViewer",
// "members": ["user:eve@example.com"],
// "condition": {
// "title": "expirable access",
// "description": "Does not grant access after Sep 2020",
// "expression": "request.time <
// timestamp('2020-10-01T00:00:00.000Z')",
// }
// }
// ]
// }
// YAML Example
// bindings:
// - members:
// - user:mike@example.com
// - group:admins@example.com
// - domain:google.com
// - serviceAccount:my-project-id@appspot.gserviceaccount.com
// role: roles/resourcemanager.organizationAdmin
// - members:
// - user:eve@example.com
// role: roles/resourcemanager.organizationViewer
// condition:
// title: expirable access
// description: Does not grant access after Sep 2020
// expression: request.time <
// timestamp('2020-10-01T00:00:00.000Z')
// 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. Optionally may
// specify a condition that determines when binding is in effect.
// 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. Due to
// blind-set semantics of an etag-less policy, 'setIamPolicy' will not
// fail even if either of incoming or stored policy does not meet the
// version requirements.
Etag string `json:"etag,omitempty"`
// Version: Specifies the format of the policy.Valid values are 0, 1,
// and 3. Requests specifying an invalid value will be
// rejected.Operations affecting conditional bindings must specify
// version 3. This can be either setting a conditional policy, modifying
// a conditional binding, or removing a conditional binding from the
// stored conditional policy. Operations on non-conditional policies may
// specify any valid value or leave the field unset.If no etag is
// provided in the call to setIamPolicy, any version compliance checks
// on the incoming and/or stored policy is skipped.
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)
}
// SecurityConfig: Security related configuration, including Kerberos.
type SecurityConfig struct {
// KerberosConfig: Kerberos related configuration.
KerberosConfig *KerberosConfig `json:"kerberosConfig,omitempty"`
// ForceSendFields is a list of field names (e.g. "KerberosConfig") 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. "KerberosConfig") 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 *SecurityConfig) MarshalJSON() ([]byte, error) {
type NoMethod SecurityConfig
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 Debian
// version.
ImageVersion string `json:"imageVersion,omitempty"`
// OptionalComponents: Optional. The set of components to activate on
// the cluster.
//
// Possible values:
// "COMPONENT_UNSPECIFIED" - Unspecified component.
// "ANACONDA" - The Anaconda python distribution.
// "HIVE_WEBHCAT" - The Hive Web HCatalog (the REST service for
// accessing HCatalog).
// "JUPYTER" - The Jupyter Notebook.
// "ZEPPELIN" - The Zeppelin notebook.
OptionalComponents []string `json:"optionalComponents,omitempty"`
// Properties: Optional. The properties to set on daemon config
// files.Property keys are specified in prefix:property format, for
// example core:hadoop.tmp.dir. 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). Each
// Status message contains three pieces of data: error code, error
// message, and error details.You can find out more about this error
// model and how to work with it in the API Design Guide
// (https://cloud.google.com/apis/design/errors).
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 workflow template as
// described in https://cloud.google.com/apis/design/resource_names.
// For projects.regions.workflowTemplates, the resource name of the
// template has the following format:
// projects/{project_id}/regions/{region}/workflowTemplates/{template_id}
//
// For projects.locations.workflowTemplates, the resource name of the
// template has the following format:
// projects/{project_id}/locations/{location}/workflowTemplates/{template
// _id}
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_STATE_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 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