📄 Source: ClusterConfig.php
<?php
/*
* Copyright 2014 Google Inc.
*
* Licensed under the Apache License, Version 2.0 (the "License"); you may not
* use this file except in compliance with the License. You may obtain a copy of
* the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
* WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
* License for the specific language governing permissions and limitations under
* the License.
*/
namespace Google\Service\Dataproc;
class ClusterConfig extends \Google\Collection
{
/**
* Not set. Works the same as CLUSTER_TIER_STANDARD.
*/
public const CLUSTER_TIER_CLUSTER_TIER_UNSPECIFIED = 'CLUSTER_TIER_UNSPECIFIED';
/**
* Standard Dataproc cluster.
*/
public const CLUSTER_TIER_CLUSTER_TIER_STANDARD = 'CLUSTER_TIER_STANDARD';
/**
* Premium Dataproc cluster.
*/
public const CLUSTER_TIER_CLUSTER_TIER_PREMIUM = 'CLUSTER_TIER_PREMIUM';
/**
* Not set.
*/
public const CLUSTER_TYPE_CLUSTER_TYPE_UNSPECIFIED = 'CLUSTER_TYPE_UNSPECIFIED';
/**
* Standard dataproc cluster with a minimum of two primary workers.
*/
public const CLUSTER_TYPE_STANDARD = 'STANDARD';
/**
* https://cloud.google.com/dataproc/docs/concepts/configuring-
* clusters/single-node-clusters
*/
public const CLUSTER_TYPE_SINGLE_NODE = 'SINGLE_NODE';
/**
* Clusters that can use only secondary workers and be scaled down to zero
* secondary worker nodes.
*/
public const CLUSTER_TYPE_ZERO_SCALE = 'ZERO_SCALE';
/**
* The engine is not specified. Works the same as ENGINE_DEFAULT.
*/
public const ENGINE_ENGINE_UNSPECIFIED = 'ENGINE_UNSPECIFIED';
/**
* The cluster is a default engine cluster.
*/
public const ENGINE_DEFAULT = 'DEFAULT';
/**
* The cluster is a lightning engine cluster.
*/
public const ENGINE_LIGHTNING = 'LIGHTNING';
protected $collection_key = 'initializationActions';
protected $autoscalingConfigType = AutoscalingConfig::class;
protected $autoscalingConfigDataType = '';
protected $auxiliaryNodeGroupsType = AuxiliaryNodeGroup::class;
protected $auxiliaryNodeGroupsDataType = 'array';
/**
* Optional. The cluster tier.
*
* @var string
*/
public $clusterTier;
/**
* Optional. The type of the cluster.
*
* @var string
*/
public $clusterType;
/**
* Optional. A 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 Compute Engine
* zone where your cluster is deployed, and then create and manage this
* project-level, per-location bucket (see Dataproc staging and temp buckets
* (https://cloud.google.com/dataproc/docs/concepts/configuring-
* clusters/staging-bucket)). This field requires a Cloud Storage bucket name,
* not a gs://... URI to a Cloud Storage bucket.
*
* @var string
*/
public $configBucket;
protected $dataprocMetricConfigType = DataprocMetricConfig::class;
protected $dataprocMetricConfigDataType = '';
/**
* Optional. A Cloud Storage bucket used to collect checkpoint diagnostic data
* (https://cloud.google.com/dataproc/docs/support/diagnose-
* clusters#checkpoint_diagnostic_data). If you do not specify a diagnostic
* bucket, Cloud Dataproc will use the Dataproc temp bucket to collect the
* checkpoint diagnostic data. This field requires a Cloud Storage bucket
* name, not a gs://... URI to a Cloud Storage bucket.
*
* @var string
*/
public $diagnosticBucket;
protected $encryptionConfigType = EncryptionConfig::class;
protected $encryptionConfigDataType = '';
protected $endpointConfigType = EndpointConfig::class;
protected $endpointConfigDataType = '';
/**
* Optional. The cluster engine.
*
* @var string
*/
public $engine;
protected $gceClusterConfigType = GceClusterConfig::class;
protected $gceClusterConfigDataType = '';
protected $gkeClusterConfigType = GkeClusterConfig::class;
protected $gkeClusterConfigDataType = '';
protected $initializationActionsType = NodeInitializationAction::class;
protected $initializationActionsDataType = 'array';
protected $lifecycleConfigType = LifecycleConfig::class;
protected $lifecycleConfigDataType = '';
protected $masterConfigType = InstanceGroupConfig::class;
protected $masterConfigDataType = '';
protected $metastoreConfigType = MetastoreConfig::class;
protected $metastoreConfigDataType = '';
protected $secondaryWorkerConfigType = InstanceGroupConfig::class;
protected $secondaryWorkerConfigDataType = '';
protected $securityConfigType = SecurityConfig::class;
protected $securityConfigDataType = '';
protected $softwareConfigType = SoftwareConfig::class;
protected $softwareConfigDataType = '';
/**
* Optional. A Cloud Storage bucket used to store ephemeral cluster and jobs
* data, such as Spark and MapReduce history files. If you do not specify a
* temp bucket, Dataproc will determine a Cloud Storage location (US, ASIA, or
* EU) for your cluster's temp bucket according to the Compute Engine zone
* where your cluster is deployed, and then create and manage this project-
* level, per-location bucket. The default bucket has a TTL of 90 days, but
* you can use any TTL (or none) if you specify a bucket (see Dataproc staging
* and temp buckets
* (https://cloud.google.com/dataproc/docs/concepts/configuring-
* clusters/staging-bucket)). This field requires a Cloud Storage bucket name,
* not a gs://... URI to a Cloud Storage bucket.
*
* @var string
*/
public $tempBucket;
protected $workerConfigType = InstanceGroupConfig::class;
protected $workerConfigDataType = '';
/**
* Optional. Autoscaling config for the policy associated with the cluster.
* Cluster does not autoscale if this field is unset.
*
* @param AutoscalingConfig $autoscalingConfig
*/
public function setAutoscalingConfig(AutoscalingConfig $autoscalingConfig)
{
$this->autoscalingConfig = $autoscalingConfig;
}
/**
* @return AutoscalingConfig
*/
public function getAutoscalingConfig()
{
return $this->autoscalingConfig;
}
/**
* Optional. The node group settings.
*
* @param AuxiliaryNodeGroup[] $auxiliaryNodeGroups
*/
public function setAuxiliaryNodeGroups($auxiliaryNodeGroups)
{
$this->auxiliaryNodeGroups = $auxiliaryNodeGroups;
}
/**
* @return AuxiliaryNodeGroup[]
*/
public function getAuxiliaryNodeGroups()
{
return $this->auxiliaryNodeGroups;
}
/**
* Optional. The cluster tier.
*
* Accepted values: CLUSTER_TIER_UNSPECIFIED, CLUSTER_TIER_STANDARD,
* CLUSTER_TIER_PREMIUM
*
* @param self::CLUSTER_TIER_* $clusterTier
*/
public function setClusterTier($clusterTier)
{
$this->clusterTier = $clusterTier;
}
/**
* @return self::CLUSTER_TIER_*
*/
public function getClusterTier()
{
return $this->clusterTier;
}
/**
* Optional. The type of the cluster.
*
* Accepted values: CLUSTER_TYPE_UNSPECIFIED, STANDARD, SINGLE_NODE,
* ZERO_SCALE
*
* @param self::CLUSTER_TYPE_* $clusterType
*/
public function setClusterType($clusterType)
{
$this->clusterType = $clusterType;
}
/**
* @return self::CLUSTER_TYPE_*
*/
public function getClusterType()
{
return $this->clusterType;
}
/**
* Optional. A 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 Compute Engine
* zone where your cluster is deployed, and then create and manage this
* project-level, per-location bucket (see Dataproc staging and temp buckets
* (https://cloud.google.com/dataproc/docs/concepts/configuring-
* clusters/staging-bucket)). This field requires a Cloud Storage bucket name,
* not a gs://... URI to a Cloud Storage bucket.
*
* @param string $configBucket
*/
public function setConfigBucket($configBucket)
{
$this->configBucket = $configBucket;
}
/**
* @return string
*/
public function getConfigBucket()
{
return $this->configBucket;
}
/**
* Optional. The config for Dataproc metrics.
*
* @param DataprocMetricConfig $dataprocMetricConfig
*/
public function setDataprocMetricConfig(DataprocMetricConfig $dataprocMetricConfig)
{
$this->dataprocMetricConfig = $dataprocMetricConfig;
}
/**
* @return DataprocMetricConfig
*/
public function getDataprocMetricConfig()
{
return $this->dataprocMetricConfig;
}
/**
* Optional. A Cloud Storage bucket used to collect checkpoint diagnostic data
* (https://cloud.google.com/dataproc/docs/support/diagnose-
* clusters#checkpoint_diagnostic_data). If you do not specify a diagnostic
* bucket, Cloud Dataproc will use the Dataproc temp bucket to collect the
* checkpoint diagnostic data. This field requires a Cloud Storage bucket
* name, not a gs://... URI to a Cloud Storage bucket.
*
* @param string $diagnosticBucket
*/
public function setDiagnosticBucket($diagnosticBucket)
{
$this->diagnosticBucket = $diagnosticBucket;
}
/**
* @return string
*/
public function getDiagnosticBucket()
{
return $this->diagnosticBucket;
}
/**
* Optional. Encryption settings for the cluster.
*
* @param EncryptionConfig $encryptionConfig
*/
public function setEncryptionConfig(EncryptionConfig $encryptionConfig)
{
$this->encryptionConfig = $encryptionConfig;
}
/**
* @return EncryptionConfig
*/
public function getEncryptionConfig()
{
return $this->encryptionConfig;
}
/**
* Optional. Port/endpoint configuration for this cluster
*
* @param EndpointConfig $endpointConfig
*/
public function setEndpointConfig(EndpointConfig $endpointConfig)
{
$this->endpointConfig = $endpointConfig;
}
/**
* @return EndpointConfig
*/
public function getEndpointConfig()
{
return $this->endpointConfig;
}
/**
* Optional. The cluster engine.
*
* Accepted values: ENGINE_UNSPECIFIED, DEFAULT, LIGHTNING
*
* @param self::ENGINE_* $engine
*/
public function setEngine($engine)
{
$this->engine = $engine;
}
/**
* @return self::ENGINE_*
*/
public function getEngine()
{
return $this->engine;
}
/**
* Optional. The shared Compute Engine config settings for all instances in a
* cluster.
*
* @param GceClusterConfig $gceClusterConfig
*/
public function setGceClusterConfig(GceClusterConfig $gceClusterConfig)
{
$this->gceClusterConfig = $gceClusterConfig;
}
/**
* @return GceClusterConfig
*/
public function getGceClusterConfig()
{
return $this->gceClusterConfig;
}
/**
* Optional. BETA. The Kubernetes Engine config for Dataproc clusters deployed
* to The Kubernetes Engine config for Dataproc clusters deployed to
* Kubernetes. These config settings are mutually exclusive with Compute
* Engine-based options, such as gce_cluster_config, master_config,
* worker_config, secondary_worker_config, and autoscaling_config.
*
* @deprecated
* @param GkeClusterConfig $gkeClusterConfig
*/
public function setGkeClusterConfig(GkeClusterConfig $gkeClusterConfig)
{
$this->gkeClusterConfig = $gkeClusterConfig;
}
/**
* @deprecated
* @return GkeClusterConfig
*/
public function getGkeClusterConfig()
{
return $this->gkeClusterConfig;
}
/**
* 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/attributes/dataproc-role) if [[
* "${ROLE}" == 'Master' ]]; then ... master specific actions ... else ...
* worker specific actions ... fi
*
* @param NodeInitializationAction[] $initializationActions
*/
public function setInitializationActions($initializationActions)
{
$this->initializationActions = $initializationActions;
}
/**
* @return NodeInitializationAction[]
*/
public function getInitializationActions()
{
return $this->initializationActions;
}
/**
* Optional. Lifecycle setting for the cluster.
*
* @param LifecycleConfig $lifecycleConfig
*/
public function setLifecycleConfig(LifecycleConfig $lifecycleConfig)
{
$this->lifecycleConfig = $lifecycleConfig;
}
/**
* @return LifecycleConfig
*/
public function getLifecycleConfig()
{
return $this->lifecycleConfig;
}
/**
* Optional. The Compute Engine config settings for the cluster's master
* instance.
*
* @param InstanceGroupConfig $masterConfig
*/
public function setMasterConfig(InstanceGroupConfig $masterConfig)
{
$this->masterConfig = $masterConfig;
}
/**
* @return InstanceGroupConfig
*/
public function getMasterConfig()
{
return $this->masterConfig;
}
/**
* Optional. Metastore configuration.
*
* @param MetastoreConfig $metastoreConfig
*/
public function setMetastoreConfig(MetastoreConfig $metastoreConfig)
{
$this->metastoreConfig = $metastoreConfig;
}
/**
* @return MetastoreConfig
*/
public function getMetastoreConfig()
{
return $this->metastoreConfig;
}
/**
* Optional. The Compute Engine config settings for a cluster's secondary
* worker instances
*
* @param InstanceGroupConfig $secondaryWorkerConfig
*/
public function setSecondaryWorkerConfig(InstanceGroupConfig $secondaryWorkerConfig)
{
$this->secondaryWorkerConfig = $secondaryWorkerConfig;
}
/**
* @return InstanceGroupConfig
*/
public function getSecondaryWorkerConfig()
{
return $this->secondaryWorkerConfig;
}
/**
* Optional. Security settings for the cluster.
*
* @param SecurityConfig $securityConfig
*/
public function setSecurityConfig(SecurityConfig $securityConfig)
{
$this->securityConfig = $securityConfig;
}
/**
* @return SecurityConfig
*/
public function getSecurityConfig()
{
return $this->securityConfig;
}
/**
* Optional. The config settings for cluster software.
*
* @param SoftwareConfig $softwareConfig
*/
public function setSoftwareConfig(SoftwareConfig $softwareConfig)
{
$this->softwareConfig = $softwareConfig;
}
/**
* @return SoftwareConfig
*/
public function getSoftwareConfig()
{
return $this->softwareConfig;
}
/**
* Optional. A Cloud Storage bucket used to store ephemeral cluster and jobs
* data, such as Spark and MapReduce history files. If you do not specify a
* temp bucket, Dataproc will determine a Cloud Storage location (US, ASIA, or
* EU) for your cluster's temp bucket according to the Compute Engine zone
* where your cluster is deployed, and then create and manage this project-
* level, per-location bucket. The default bucket has a TTL of 90 days, but
* you can use any TTL (or none) if you specify a bucket (see Dataproc staging
* and temp buckets
* (https://cloud.google.com/dataproc/docs/concepts/configuring-
* clusters/staging-bucket)). This field requires a Cloud Storage bucket name,
* not a gs://... URI to a Cloud Storage bucket.
*
* @param string $tempBucket
*/
public function setTempBucket($tempBucket)
{
$this->tempBucket = $tempBucket;
}
/**
* @return string
*/
public function getTempBucket()
{
return $this->tempBucket;
}
/**
* Optional. The Compute Engine config settings for the cluster's worker
* instances.
*
* @param InstanceGroupConfig $workerConfig
*/
public function setWorkerConfig(InstanceGroupConfig $workerConfig)
{
$this->workerConfig = $workerConfig;
}
/**
* @return InstanceGroupConfig
*/
public function getWorkerConfig()
{
return $this->workerConfig;
}
}
// Adding a class alias for backwards compatibility with the previous class name.
class_alias(ClusterConfig::class, 'Google_Service_Dataproc_ClusterConfig');
← Back