diff --git a/README.md b/README.md
--- a/README.md
+++ b/README.md
@@ -8,7 +8,7 @@
 
 ## Version
 
-`0.1.1`
+`0.2.0`
 
 
 ## Description
diff --git a/gen/Network/Google/Dataproc.hs b/gen/Network/Google/Dataproc.hs
--- a/gen/Network/Google/Dataproc.hs
+++ b/gen/Network/Google/Dataproc.hs
@@ -13,7 +13,8 @@
 -- Stability   : auto-generated
 -- Portability : non-portable (GHC extensions)
 --
--- Manages Hadoop-based clusters and jobs on Google Cloud Platform.
+-- An API for managing Hadoop-based clusters and jobs on Google Cloud
+-- Platform.
 --
 -- /See:/ <https://cloud.google.com/dataproc/ Google Cloud Dataproc API Reference>
 module Network.Google.Dataproc
@@ -138,6 +139,11 @@
     , dcNumLocalSsds
     , dcBootDiskSizeGb
 
+    -- ** ClusterOperationMetadataLabels
+    , ClusterOperationMetadataLabels
+    , clusterOperationMetadataLabels
+    , comlAddtional
+
     -- ** ListOperationsResponse
     , ListOperationsResponse
     , listOperationsResponse
@@ -153,17 +159,30 @@
     , Cluster
     , cluster
     , cStatus
+    , cMetrics
     , cClusterUuid
     , cConfig
     , cClusterName
+    , cLabels
     , cProjectId
     , cStatusHistory
 
+    -- ** JobLabels
+    , JobLabels
+    , jobLabels
+    , jlAddtional
+
     -- ** SubmitJobRequest
     , SubmitJobRequest
     , submitJobRequest
     , sjrJob
 
+    -- ** ClusterMetrics
+    , ClusterMetrics
+    , clusterMetrics
+    , cmYarnMetrics
+    , cmHdfsMetrics
+
     -- ** Operation
     , Operation
     , operation
@@ -237,6 +256,11 @@
     , niaExecutionTimeout
     , niaExecutableFile
 
+    -- ** ClusterMetricsYarnMetrics
+    , ClusterMetricsYarnMetrics
+    , clusterMetricsYarnMetrics
+    , cmymAddtional
+
     -- ** JobPlacement
     , JobPlacement
     , jobPlacement
@@ -247,6 +271,7 @@
     , GceClusterConfig
     , gceClusterConfig
     , gccSubnetworkURI
+    , gccInternalIPOnly
     , gccNetworkURI
     , gccZoneURI
     , gccMetadata
@@ -276,6 +301,11 @@
     , diagnoseClusterOutputLocation
     , dcolOutputURI
 
+    -- ** ClusterLabels
+    , ClusterLabels
+    , clusterLabels
+    , clAddtional
+
     -- ** Job
     , Job
     , job
@@ -286,6 +316,8 @@
     , jReference
     , jSparkSQLJob
     , jHadoopJob
+    , jYarnApplications
+    , jLabels
     , jPysparkJob
     , jDriverOutputResourceURI
     , jStatusHistory
@@ -314,6 +346,7 @@
     , comStatus
     , comClusterUuid
     , comClusterName
+    , comLabels
     , comOperationType
     , comStatusHistory
     , comDescription
@@ -406,6 +439,11 @@
     , pigJobScriptVariables
     , pjsvAddtional
 
+    -- ** ClusterMetricsHdfsMetrics
+    , ClusterMetricsHdfsMetrics
+    , clusterMetricsHdfsMetrics
+    , cmhmAddtional
+
     -- ** OperationResponse
     , OperationResponse
     , operationResponse
@@ -422,6 +460,14 @@
     , csState
     , csStateStartTime
     , csDetail
+
+    -- ** YarnApplication
+    , YarnApplication
+    , yarnApplication
+    , yaTrackingURL
+    , yaState
+    , yaProgress
+    , yaName
 
     -- ** PigJob
     , PigJob
diff --git a/gen/Network/Google/Dataproc/Types.hs b/gen/Network/Google/Dataproc/Types.hs
--- a/gen/Network/Google/Dataproc/Types.hs
+++ b/gen/Network/Google/Dataproc/Types.hs
@@ -84,6 +84,11 @@
     , dcNumLocalSsds
     , dcBootDiskSizeGb
 
+    -- * ClusterOperationMetadataLabels
+    , ClusterOperationMetadataLabels
+    , clusterOperationMetadataLabels
+    , comlAddtional
+
     -- * ListOperationsResponse
     , ListOperationsResponse
     , listOperationsResponse
@@ -99,17 +104,30 @@
     , Cluster
     , cluster
     , cStatus
+    , cMetrics
     , cClusterUuid
     , cConfig
     , cClusterName
+    , cLabels
     , cProjectId
     , cStatusHistory
 
+    -- * JobLabels
+    , JobLabels
+    , jobLabels
+    , jlAddtional
+
     -- * SubmitJobRequest
     , SubmitJobRequest
     , submitJobRequest
     , sjrJob
 
+    -- * ClusterMetrics
+    , ClusterMetrics
+    , clusterMetrics
+    , cmYarnMetrics
+    , cmHdfsMetrics
+
     -- * Operation
     , Operation
     , operation
@@ -183,6 +201,11 @@
     , niaExecutionTimeout
     , niaExecutableFile
 
+    -- * ClusterMetricsYarnMetrics
+    , ClusterMetricsYarnMetrics
+    , clusterMetricsYarnMetrics
+    , cmymAddtional
+
     -- * JobPlacement
     , JobPlacement
     , jobPlacement
@@ -193,6 +216,7 @@
     , GceClusterConfig
     , gceClusterConfig
     , gccSubnetworkURI
+    , gccInternalIPOnly
     , gccNetworkURI
     , gccZoneURI
     , gccMetadata
@@ -222,6 +246,11 @@
     , diagnoseClusterOutputLocation
     , dcolOutputURI
 
+    -- * ClusterLabels
+    , ClusterLabels
+    , clusterLabels
+    , clAddtional
+
     -- * Job
     , Job
     , job
@@ -232,6 +261,8 @@
     , jReference
     , jSparkSQLJob
     , jHadoopJob
+    , jYarnApplications
+    , jLabels
     , jPysparkJob
     , jDriverOutputResourceURI
     , jStatusHistory
@@ -260,6 +291,7 @@
     , comStatus
     , comClusterUuid
     , comClusterName
+    , comLabels
     , comOperationType
     , comStatusHistory
     , comDescription
@@ -352,6 +384,11 @@
     , pigJobScriptVariables
     , pjsvAddtional
 
+    -- * ClusterMetricsHdfsMetrics
+    , ClusterMetricsHdfsMetrics
+    , clusterMetricsHdfsMetrics
+    , cmhmAddtional
+
     -- * OperationResponse
     , OperationResponse
     , operationResponse
@@ -368,6 +405,14 @@
     , csState
     , csStateStartTime
     , csDetail
+
+    -- * YarnApplication
+    , YarnApplication
+    , yarnApplication
+    , yaTrackingURL
+    , yaState
+    , yaProgress
+    , yaName
 
     -- * PigJob
     , PigJob
diff --git a/gen/Network/Google/Dataproc/Types/Product.hs b/gen/Network/Google/Dataproc/Types/Product.hs
--- a/gen/Network/Google/Dataproc/Types/Product.hs
+++ b/gen/Network/Google/Dataproc/Types/Product.hs
@@ -43,7 +43,7 @@
     , _jrProjectId = Nothing
     }
 
--- | [Required] The job ID, which must be unique within the project. The job
+-- | [Optional] The job ID, which must be unique within the project. The job
 -- ID is generated by the server upon job submission or provided by the
 -- user as a means to perform retries without creating duplicate jobs. The
 -- ID must contain only letters (a-z, A-Z), numbers (0-9), underscores (_),
@@ -191,7 +191,7 @@
     { _osAddtional = _Coerce # pOsAddtional_
     }
 
--- | Properties of the object. Contains field \'ype with type URL.
+-- | Properties of the object. Contains field \'type with type URL.
 osAddtional :: Lens' OperationSchema (HashMap Text JSONValue)
 osAddtional
   = lens _osAddtional (\ s a -> s{_osAddtional = a}) .
@@ -262,8 +262,9 @@
     { _dcrOutputURI = Nothing
     }
 
--- | [Output-only] The Google Cloud Storage URI of the diagnostic output.
--- This is a plain text file with a summary of collected diagnostics.
+-- | [Output-only] The Google Cloud Storage URI of the diagnostic output. The
+-- output report is a plain text file with a summary of collected
+-- diagnostics.
 dcrOutputURI :: Lens' DiagnoseClusterResults (Maybe Text)
 dcrOutputURI
   = lens _dcrOutputURI (\ s a -> s{_dcrOutputURI = a})
@@ -279,8 +280,8 @@
           = object
               (catMaybes [("outputUri" .=) <$> _dcrOutputURI])
 
--- | The config settings for Google Compute Engine resources in an instance
--- group, such as a master or worker group.
+-- | [Optional] The config settings for Google Compute Engine resources in an
+-- instance group, such as a master or worker group.
 --
 -- /See:/ 'instanceGroupConfig' smart constructor.
 data InstanceGroupConfig = InstanceGroupConfig'
@@ -323,21 +324,22 @@
     , _igcMachineTypeURI = Nothing
     }
 
--- | The number of VM instances in the instance group. For master instance
--- groups, must be set to 1.
+-- | [Required] The number of VM instances in the instance group. For master
+-- instance groups, must be set to 1.
 igcNumInstances :: Lens' InstanceGroupConfig (Maybe Int32)
 igcNumInstances
   = lens _igcNumInstances
       (\ s a -> s{_igcNumInstances = a})
       . mapping _Coerce
 
--- | Disk option config settings.
+-- | [Optional] Disk option config settings.
 igcDiskConfig :: Lens' InstanceGroupConfig (Maybe DiskConfig)
 igcDiskConfig
   = lens _igcDiskConfig
       (\ s a -> s{_igcDiskConfig = a})
 
--- | Specifies that this instance group contains Preemptible Instances.
+-- | [Optional] Specifies that this instance group contains preemptible
+-- instances.
 igcIsPreemptible :: Lens' InstanceGroupConfig (Maybe Bool)
 igcIsPreemptible
   = lens _igcIsPreemptible
@@ -349,9 +351,10 @@
 igcImageURI
   = lens _igcImageURI (\ s a -> s{_igcImageURI = a})
 
--- | The list of instance names. Cloud Dataproc derives the names from
--- \`cluster_name\`, \`num_instances\`, and the instance group if not set
--- by user (recommended practice is to let Cloud Dataproc derive the name).
+-- | [Optional] The list of instance names. Cloud Dataproc derives the names
+-- from \`cluster_name\`, \`num_instances\`, and the instance group if not
+-- set by user (recommended practice is to let Cloud Dataproc derive the
+-- name).
 igcInstanceNames :: Lens' InstanceGroupConfig [Text]
 igcInstanceNames
   = lens _igcInstanceNames
@@ -367,8 +370,8 @@
   = lens _igcManagedGroupConfig
       (\ s a -> s{_igcManagedGroupConfig = a})
 
--- | The Google Compute Engine machine type used for cluster instances.
--- Example:
+-- | [Required] The Google Compute Engine machine type used for cluster
+-- instances. Example:
 -- \`https:\/\/www.googleapis.com\/compute\/v1\/projects\/[project_id]\/zones\/us-east1-a\/machineTypes\/n1-standard-2\`.
 igcMachineTypeURI :: Lens' InstanceGroupConfig (Maybe Text)
 igcMachineTypeURI
@@ -399,7 +402,8 @@
                   ("managedGroupConfig" .=) <$> _igcManagedGroupConfig,
                   ("machineTypeUri" .=) <$> _igcMachineTypeURI])
 
--- | A Cloud Dataproc job for running Spark applications on YARN.
+-- | A Cloud Dataproc job for running [Apache
+-- Spark](http:\/\/spark.apache.org\/) applications on YARN.
 --
 -- /See:/ 'sparkJob' smart constructor.
 data SparkJob = SparkJob'
@@ -598,7 +602,8 @@
     }
 
 -- | [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
+-- 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.
@@ -629,6 +634,43 @@
                  [("numLocalSsds" .=) <$> _dcNumLocalSsds,
                   ("bootDiskSizeGb" .=) <$> _dcBootDiskSizeGb])
 
+-- | [Output-only] labels associated with the operation
+--
+-- /See:/ 'clusterOperationMetadataLabels' smart constructor.
+newtype ClusterOperationMetadataLabels = ClusterOperationMetadataLabels'
+    { _comlAddtional :: HashMap Text Text
+    } deriving (Eq,Show,Data,Typeable,Generic)
+
+-- | Creates a value of 'ClusterOperationMetadataLabels' with the minimum fields required to make a request.
+--
+-- Use one of the following lenses to modify other fields as desired:
+--
+-- * 'comlAddtional'
+clusterOperationMetadataLabels
+    :: HashMap Text Text -- ^ 'comlAddtional'
+    -> ClusterOperationMetadataLabels
+clusterOperationMetadataLabels pComlAddtional_ =
+    ClusterOperationMetadataLabels'
+    { _comlAddtional = _Coerce # pComlAddtional_
+    }
+
+comlAddtional :: Lens' ClusterOperationMetadataLabels (HashMap Text Text)
+comlAddtional
+  = lens _comlAddtional
+      (\ s a -> s{_comlAddtional = a})
+      . _Coerce
+
+instance FromJSON ClusterOperationMetadataLabels
+         where
+        parseJSON
+          = withObject "ClusterOperationMetadataLabels"
+              (\ o ->
+                 ClusterOperationMetadataLabels' <$>
+                   (parseJSONObject o))
+
+instance ToJSON ClusterOperationMetadataLabels where
+        toJSON = toJSON . _comlAddtional
+
 -- | The response message for Operations.ListOperations.
 --
 -- /See:/ 'listOperationsResponse' smart constructor.
@@ -723,9 +765,11 @@
 -- /See:/ 'cluster' smart constructor.
 data Cluster = Cluster'
     { _cStatus        :: !(Maybe ClusterStatus)
+    , _cMetrics       :: !(Maybe ClusterMetrics)
     , _cClusterUuid   :: !(Maybe Text)
     , _cConfig        :: !(Maybe ClusterConfig)
     , _cClusterName   :: !(Maybe Text)
+    , _cLabels        :: !(Maybe ClusterLabels)
     , _cProjectId     :: !(Maybe Text)
     , _cStatusHistory :: !(Maybe [ClusterStatus])
     } deriving (Eq,Show,Data,Typeable,Generic)
@@ -736,12 +780,16 @@
 --
 -- * 'cStatus'
 --
+-- * 'cMetrics'
+--
 -- * 'cClusterUuid'
 --
 -- * 'cConfig'
 --
 -- * 'cClusterName'
 --
+-- * 'cLabels'
+--
 -- * 'cProjectId'
 --
 -- * 'cStatusHistory'
@@ -750,9 +798,11 @@
 cluster =
     Cluster'
     { _cStatus = Nothing
+    , _cMetrics = Nothing
     , _cClusterUuid = Nothing
     , _cConfig = Nothing
     , _cClusterName = Nothing
+    , _cLabels = Nothing
     , _cProjectId = Nothing
     , _cStatusHistory = Nothing
     }
@@ -761,6 +811,12 @@
 cStatus :: Lens' Cluster (Maybe ClusterStatus)
 cStatus = lens _cStatus (\ s a -> s{_cStatus = a})
 
+-- | 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.
+cMetrics :: Lens' Cluster (Maybe ClusterMetrics)
+cMetrics = lens _cMetrics (\ s a -> s{_cMetrics = a})
+
 -- | [Output-only] A cluster UUID (Unique Universal Identifier). Cloud
 -- Dataproc generates this value when it creates the cluster.
 cClusterUuid :: Lens' Cluster (Maybe Text)
@@ -778,6 +834,15 @@
 cClusterName
   = lens _cClusterName (\ s a -> s{_cClusterName = a})
 
+-- | [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.
+cLabels :: Lens' Cluster (Maybe ClusterLabels)
+cLabels = lens _cLabels (\ s a -> s{_cLabels = a})
+
 -- | [Required] The Google Cloud Platform project ID that the cluster belongs
 -- to.
 cProjectId :: Lens' Cluster (Maybe Text)
@@ -797,9 +862,11 @@
           = withObject "Cluster"
               (\ o ->
                  Cluster' <$>
-                   (o .:? "status") <*> (o .:? "clusterUuid") <*>
-                     (o .:? "config")
+                   (o .:? "status") <*> (o .:? "metrics") <*>
+                     (o .:? "clusterUuid")
+                     <*> (o .:? "config")
                      <*> (o .:? "clusterName")
+                     <*> (o .:? "labels")
                      <*> (o .:? "projectId")
                      <*> (o .:? "statusHistory" .!= mempty))
 
@@ -808,12 +875,52 @@
           = object
               (catMaybes
                  [("status" .=) <$> _cStatus,
+                  ("metrics" .=) <$> _cMetrics,
                   ("clusterUuid" .=) <$> _cClusterUuid,
                   ("config" .=) <$> _cConfig,
                   ("clusterName" .=) <$> _cClusterName,
+                  ("labels" .=) <$> _cLabels,
                   ("projectId" .=) <$> _cProjectId,
                   ("statusHistory" .=) <$> _cStatusHistory])
 
+-- | [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.
+--
+-- /See:/ 'jobLabels' smart constructor.
+newtype JobLabels = JobLabels'
+    { _jlAddtional :: HashMap Text Text
+    } deriving (Eq,Show,Data,Typeable,Generic)
+
+-- | Creates a value of 'JobLabels' with the minimum fields required to make a request.
+--
+-- Use one of the following lenses to modify other fields as desired:
+--
+-- * 'jlAddtional'
+jobLabels
+    :: HashMap Text Text -- ^ 'jlAddtional'
+    -> JobLabels
+jobLabels pJlAddtional_ =
+    JobLabels'
+    { _jlAddtional = _Coerce # pJlAddtional_
+    }
+
+jlAddtional :: Lens' JobLabels (HashMap Text Text)
+jlAddtional
+  = lens _jlAddtional (\ s a -> s{_jlAddtional = a}) .
+      _Coerce
+
+instance FromJSON JobLabels where
+        parseJSON
+          = withObject "JobLabels"
+              (\ o -> JobLabels' <$> (parseJSONObject o))
+
+instance ToJSON JobLabels where
+        toJSON = toJSON . _jlAddtional
+
 -- | A request to submit a job.
 --
 -- /See:/ 'submitJobRequest' smart constructor.
@@ -846,6 +953,57 @@
         toJSON SubmitJobRequest'{..}
           = object (catMaybes [("job" .=) <$> _sjrJob])
 
+-- | 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.
+--
+-- /See:/ 'clusterMetrics' smart constructor.
+data ClusterMetrics = ClusterMetrics'
+    { _cmYarnMetrics :: !(Maybe ClusterMetricsYarnMetrics)
+    , _cmHdfsMetrics :: !(Maybe ClusterMetricsHdfsMetrics)
+    } deriving (Eq,Show,Data,Typeable,Generic)
+
+-- | Creates a value of 'ClusterMetrics' with the minimum fields required to make a request.
+--
+-- Use one of the following lenses to modify other fields as desired:
+--
+-- * 'cmYarnMetrics'
+--
+-- * 'cmHdfsMetrics'
+clusterMetrics
+    :: ClusterMetrics
+clusterMetrics =
+    ClusterMetrics'
+    { _cmYarnMetrics = Nothing
+    , _cmHdfsMetrics = Nothing
+    }
+
+-- | The YARN metrics.
+cmYarnMetrics :: Lens' ClusterMetrics (Maybe ClusterMetricsYarnMetrics)
+cmYarnMetrics
+  = lens _cmYarnMetrics
+      (\ s a -> s{_cmYarnMetrics = a})
+
+-- | The HDFS metrics.
+cmHdfsMetrics :: Lens' ClusterMetrics (Maybe ClusterMetricsHdfsMetrics)
+cmHdfsMetrics
+  = lens _cmHdfsMetrics
+      (\ s a -> s{_cmHdfsMetrics = a})
+
+instance FromJSON ClusterMetrics where
+        parseJSON
+          = withObject "ClusterMetrics"
+              (\ o ->
+                 ClusterMetrics' <$>
+                   (o .:? "yarnMetrics") <*> (o .:? "hdfsMetrics"))
+
+instance ToJSON ClusterMetrics where
+        toJSON ClusterMetrics'{..}
+          = object
+              (catMaybes
+                 [("yarnMetrics" .=) <$> _cmYarnMetrics,
+                  ("hdfsMetrics" .=) <$> _cmHdfsMetrics])
+
 -- | This resource represents a long-running operation that is the result of
 -- a network API call.
 --
@@ -888,7 +1046,7 @@
 oDone :: Lens' Operation (Maybe Bool)
 oDone = lens _oDone (\ s a -> s{_oDone = a})
 
--- | The error result of the operation in case of failure.
+-- | The error result of the operation in case of failure or cancellation.
 oError :: Lens' Operation (Maybe Status)
 oError = lens _oError (\ s a -> s{_oError = a})
 
@@ -960,7 +1118,8 @@
 instance ToJSON Empty where
         toJSON = const emptyObject
 
--- | A Cloud Dataproc job for running Hive queries on YARN.
+-- | A Cloud Dataproc job for running [Apache
+-- Hive](https:\/\/hive.apache.org\/) queries on YARN.
 --
 -- /See:/ 'hiveJob' smart constructor.
 data HiveJob = HiveJob'
@@ -1193,8 +1352,8 @@
 -- | [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:
--- ROLE=$(\/usr\/share\/google\/get_metadata_value attributes\/role) if [[ \"${ROLE}\"
+-- 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
 ccInitializationActions :: Lens' ClusterConfig [NodeInitializationAction]
@@ -1336,23 +1495,23 @@
     , _cosDetails = Nothing
     }
 
--- | A message containing the operation state.
+-- | [Output-only] A message containing the operation state.
 cosState :: Lens' ClusterOperationStatus (Maybe Text)
 cosState = lens _cosState (\ s a -> s{_cosState = a})
 
--- | A message containing the detailed operation state.
+-- | [Output-only] A message containing the detailed operation state.
 cosInnerState :: Lens' ClusterOperationStatus (Maybe Text)
 cosInnerState
   = lens _cosInnerState
       (\ s a -> s{_cosInnerState = a})
 
--- | The time this state was entered.
+-- | [Output-only] The time this state was entered.
 cosStateStartTime :: Lens' ClusterOperationStatus (Maybe Text)
 cosStateStartTime
   = lens _cosStateStartTime
       (\ s a -> s{_cosStateStartTime = a})
 
--- | A message containing any operation metadata details.
+-- | [Output-only]A message containing any operation metadata details.
 cosDetails :: Lens' ClusterOperationStatus (Maybe Text)
 cosDetails
   = lens _cosDetails (\ s a -> s{_cosDetails = a})
@@ -1394,7 +1553,7 @@
     { _sdiAddtional = _Coerce # pSdiAddtional_
     }
 
--- | Properties of the object. Contains field \'ype with type URL.
+-- | Properties of the object. Contains field \'type with type URL.
 sdiAddtional :: Lens' StatusDetailsItem (HashMap Text JSONValue)
 sdiAddtional
   = lens _sdiAddtional (\ s a -> s{_sdiAddtional = a})
@@ -1499,6 +1658,41 @@
                  [("executionTimeout" .=) <$> _niaExecutionTimeout,
                   ("executableFile" .=) <$> _niaExecutableFile])
 
+-- | The YARN metrics.
+--
+-- /See:/ 'clusterMetricsYarnMetrics' smart constructor.
+newtype ClusterMetricsYarnMetrics = ClusterMetricsYarnMetrics'
+    { _cmymAddtional :: HashMap Text (Textual Int64)
+    } deriving (Eq,Show,Data,Typeable,Generic)
+
+-- | Creates a value of 'ClusterMetricsYarnMetrics' with the minimum fields required to make a request.
+--
+-- Use one of the following lenses to modify other fields as desired:
+--
+-- * 'cmymAddtional'
+clusterMetricsYarnMetrics
+    :: HashMap Text Int64 -- ^ 'cmymAddtional'
+    -> ClusterMetricsYarnMetrics
+clusterMetricsYarnMetrics pCmymAddtional_ =
+    ClusterMetricsYarnMetrics'
+    { _cmymAddtional = _Coerce # pCmymAddtional_
+    }
+
+cmymAddtional :: Lens' ClusterMetricsYarnMetrics (HashMap Text Int64)
+cmymAddtional
+  = lens _cmymAddtional
+      (\ s a -> s{_cmymAddtional = a})
+      . _Coerce
+
+instance FromJSON ClusterMetricsYarnMetrics where
+        parseJSON
+          = withObject "ClusterMetricsYarnMetrics"
+              (\ o ->
+                 ClusterMetricsYarnMetrics' <$> (parseJSONObject o))
+
+instance ToJSON ClusterMetricsYarnMetrics where
+        toJSON = toJSON . _cmymAddtional
+
 -- | Cloud Dataproc job config.
 --
 -- /See:/ 'jobPlacement' smart constructor.
@@ -1555,6 +1749,7 @@
 -- /See:/ 'gceClusterConfig' smart constructor.
 data GceClusterConfig = GceClusterConfig'
     { _gccSubnetworkURI        :: !(Maybe Text)
+    , _gccInternalIPOnly       :: !(Maybe Bool)
     , _gccNetworkURI           :: !(Maybe Text)
     , _gccZoneURI              :: !(Maybe Text)
     , _gccMetadata             :: !(Maybe GceClusterConfigMetadata)
@@ -1568,6 +1763,8 @@
 --
 -- * 'gccSubnetworkURI'
 --
+-- * 'gccInternalIPOnly'
+--
 -- * 'gccNetworkURI'
 --
 -- * 'gccZoneURI'
@@ -1582,6 +1779,7 @@
 gceClusterConfig =
     GceClusterConfig'
     { _gccSubnetworkURI = Nothing
+    , _gccInternalIPOnly = Nothing
     , _gccNetworkURI = Nothing
     , _gccZoneURI = Nothing
     , _gccMetadata = Nothing
@@ -1589,7 +1787,7 @@
     , _gccTags = Nothing
     }
 
--- | The Google Compute Engine subnetwork to be used for machine
+-- | [Optional] The Google Compute Engine subnetwork to be used for machine
 -- communications. Cannot be specified with network_uri. Example:
 -- \`https:\/\/www.googleapis.com\/compute\/v1\/projects\/[project_id]\/regions\/us-east1\/sub0\`.
 gccSubnetworkURI :: Lens' GceClusterConfig (Maybe Text)
@@ -1597,12 +1795,23 @@
   = lens _gccSubnetworkURI
       (\ s a -> s{_gccSubnetworkURI = a})
 
--- | The Google 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
--- https:\/\/cloud.google.com\/compute\/docs\/subnetworks for more
--- information). Example:
+-- | [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.
+gccInternalIPOnly :: Lens' GceClusterConfig (Maybe Bool)
+gccInternalIPOnly
+  = lens _gccInternalIPOnly
+      (\ s a -> s{_gccInternalIPOnly = a})
+
+-- | [Optional] The Google 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](\/compute\/docs\/subnetworks)
+-- for more information). Example:
 -- \`https:\/\/www.googleapis.com\/compute\/v1\/projects\/[project_id]\/regions\/global\/default\`.
 gccNetworkURI :: Lens' GceClusterConfig (Maybe Text)
 gccNetworkURI
@@ -1616,17 +1825,20 @@
 gccZoneURI
   = lens _gccZoneURI (\ s a -> s{_gccZoneURI = a})
 
--- | The Google Compute Engine metadata entries to add to all instances.
+-- | The Google Compute Engine metadata entries to add to all instances (see
+-- [Project and instance
+-- metadata](https:\/\/cloud.google.com\/compute\/docs\/storing-retrieving-metadata#project_and_instance_metadata)).
 gccMetadata :: Lens' GceClusterConfig (Maybe GceClusterConfigMetadata)
 gccMetadata
   = lens _gccMetadata (\ s a -> s{_gccMetadata = a})
 
--- | The URIs of service account scopes to be included in Google Compute
--- Engine instances. The following base set of scopes is always included: *
+-- | [Optional] The URIs of service account scopes to be included in Google
+-- 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.googleapis.com\/auth\/logging.write If no scopes are
--- specfied, the following defaults are also provided: *
+-- specified, the following defaults are also provided: *
 -- https:\/\/www.googleapis.com\/auth\/bigquery *
 -- https:\/\/www.googleapis.com\/auth\/bigtable.admin.table *
 -- https:\/\/www.googleapis.com\/auth\/bigtable.data *
@@ -1638,7 +1850,8 @@
       . _Default
       . _Coerce
 
--- | The Google Compute Engine tags to add to all instances.
+-- | The Google Compute Engine tags to add to all instances (see [Tagging
+-- instances](\/compute\/docs\/label-or-tag-resources#tags)).
 gccTags :: Lens' GceClusterConfig [Text]
 gccTags
   = lens _gccTags (\ s a -> s{_gccTags = a}) . _Default
@@ -1649,8 +1862,9 @@
           = withObject "GceClusterConfig"
               (\ o ->
                  GceClusterConfig' <$>
-                   (o .:? "subnetworkUri") <*> (o .:? "networkUri") <*>
-                     (o .:? "zoneUri")
+                   (o .:? "subnetworkUri") <*> (o .:? "internalIpOnly")
+                     <*> (o .:? "networkUri")
+                     <*> (o .:? "zoneUri")
                      <*> (o .:? "metadata")
                      <*> (o .:? "serviceAccountScopes" .!= mempty)
                      <*> (o .:? "tags" .!= mempty))
@@ -1660,6 +1874,7 @@
           = object
               (catMaybes
                  [("subnetworkUri" .=) <$> _gccSubnetworkURI,
+                  ("internalIpOnly" .=) <$> _gccInternalIPOnly,
                   ("networkUri" .=) <$> _gccNetworkURI,
                   ("zoneUri" .=) <$> _gccZoneURI,
                   ("metadata" .=) <$> _gccMetadata,
@@ -1736,7 +1951,9 @@
                   ("stateStartTime" .=) <$> _osStateStartTime,
                   ("details" .=) <$> _osDetails])
 
--- | The Google Compute Engine metadata entries to add to all instances.
+-- | The Google Compute Engine metadata entries to add to all instances (see
+-- [Project and instance
+-- metadata](https:\/\/cloud.google.com\/compute\/docs\/storing-retrieving-metadata#project_and_instance_metadata)).
 --
 -- /See:/ 'gceClusterConfigMetadata' smart constructor.
 newtype GceClusterConfigMetadata = GceClusterConfigMetadata'
@@ -1846,6 +2063,44 @@
           = object
               (catMaybes [("outputUri" .=) <$> _dcolOutputURI])
 
+-- | [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.
+--
+-- /See:/ 'clusterLabels' smart constructor.
+newtype ClusterLabels = ClusterLabels'
+    { _clAddtional :: HashMap Text Text
+    } deriving (Eq,Show,Data,Typeable,Generic)
+
+-- | Creates a value of 'ClusterLabels' with the minimum fields required to make a request.
+--
+-- Use one of the following lenses to modify other fields as desired:
+--
+-- * 'clAddtional'
+clusterLabels
+    :: HashMap Text Text -- ^ 'clAddtional'
+    -> ClusterLabels
+clusterLabels pClAddtional_ =
+    ClusterLabels'
+    { _clAddtional = _Coerce # pClAddtional_
+    }
+
+clAddtional :: Lens' ClusterLabels (HashMap Text Text)
+clAddtional
+  = lens _clAddtional (\ s a -> s{_clAddtional = a}) .
+      _Coerce
+
+instance FromJSON ClusterLabels where
+        parseJSON
+          = withObject "ClusterLabels"
+              (\ o -> ClusterLabels' <$> (parseJSONObject o))
+
+instance ToJSON ClusterLabels where
+        toJSON = toJSON . _clAddtional
+
 -- | A Cloud Dataproc job resource.
 --
 -- /See:/ 'job' smart constructor.
@@ -1857,6 +2112,8 @@
     , _jReference               :: !(Maybe JobReference)
     , _jSparkSQLJob             :: !(Maybe SparkSQLJob)
     , _jHadoopJob               :: !(Maybe HadoopJob)
+    , _jYarnApplications        :: !(Maybe [YarnApplication])
+    , _jLabels                  :: !(Maybe JobLabels)
     , _jPysparkJob              :: !(Maybe PySparkJob)
     , _jDriverOutputResourceURI :: !(Maybe Text)
     , _jStatusHistory           :: !(Maybe [JobStatus])
@@ -1882,6 +2139,10 @@
 --
 -- * 'jHadoopJob'
 --
+-- * 'jYarnApplications'
+--
+-- * 'jLabels'
+--
 -- * 'jPysparkJob'
 --
 -- * 'jDriverOutputResourceURI'
@@ -1902,6 +2163,8 @@
     , _jReference = Nothing
     , _jSparkSQLJob = Nothing
     , _jHadoopJob = Nothing
+    , _jYarnApplications = Nothing
+    , _jLabels = Nothing
     , _jPysparkJob = Nothing
     , _jDriverOutputResourceURI = Nothing
     , _jStatusHistory = Nothing
@@ -1950,6 +2213,25 @@
 jHadoopJob
   = lens _jHadoopJob (\ s a -> s{_jHadoopJob = a})
 
+-- | [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.
+jYarnApplications :: Lens' Job [YarnApplication]
+jYarnApplications
+  = lens _jYarnApplications
+      (\ s a -> s{_jYarnApplications = a})
+      . _Default
+      . _Coerce
+
+-- | [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.
+jLabels :: Lens' Job (Maybe JobLabels)
+jLabels = lens _jLabels (\ s a -> s{_jLabels = a})
+
 -- | Job is a Pyspark job.
 jPysparkJob :: Lens' Job (Maybe PySparkJob)
 jPysparkJob
@@ -1991,6 +2273,8 @@
                      <*> (o .:? "reference")
                      <*> (o .:? "sparkSqlJob")
                      <*> (o .:? "hadoopJob")
+                     <*> (o .:? "yarnApplications" .!= mempty)
+                     <*> (o .:? "labels")
                      <*> (o .:? "pysparkJob")
                      <*> (o .:? "driverOutputResourceUri")
                      <*> (o .:? "statusHistory" .!= mempty)
@@ -2009,6 +2293,8 @@
                   ("reference" .=) <$> _jReference,
                   ("sparkSqlJob" .=) <$> _jSparkSQLJob,
                   ("hadoopJob" .=) <$> _jHadoopJob,
+                  ("yarnApplications" .=) <$> _jYarnApplications,
+                  ("labels" .=) <$> _jLabels,
                   ("pysparkJob" .=) <$> _jPysparkJob,
                   ("driverOutputResourceUri" .=) <$>
                     _jDriverOutputResourceURI,
@@ -2037,7 +2323,10 @@
 instance ToJSON DiagnoseClusterRequest where
         toJSON = const emptyObject
 
--- | A Cloud Dataproc job for running Hadoop MapReduce jobs on YARN.
+-- | 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\/YARN.html).
 --
 -- /See:/ 'hadoopJob' smart constructor.
 data HadoopJob = HadoopJob'
@@ -2182,6 +2471,7 @@
     { _comStatus        :: !(Maybe ClusterOperationStatus)
     , _comClusterUuid   :: !(Maybe Text)
     , _comClusterName   :: !(Maybe Text)
+    , _comLabels        :: !(Maybe ClusterOperationMetadataLabels)
     , _comOperationType :: !(Maybe Text)
     , _comStatusHistory :: !(Maybe [ClusterOperationStatus])
     , _comDescription   :: !(Maybe Text)
@@ -2197,6 +2487,8 @@
 --
 -- * 'comClusterName'
 --
+-- * 'comLabels'
+--
 -- * 'comOperationType'
 --
 -- * 'comStatusHistory'
@@ -2209,6 +2501,7 @@
     { _comStatus = Nothing
     , _comClusterUuid = Nothing
     , _comClusterName = Nothing
+    , _comLabels = Nothing
     , _comOperationType = Nothing
     , _comStatusHistory = Nothing
     , _comDescription = Nothing
@@ -2219,18 +2512,23 @@
 comStatus
   = lens _comStatus (\ s a -> s{_comStatus = a})
 
--- | Cluster UUId for the operation.
+-- | [Output-only] Cluster UUID for the operation.
 comClusterUuid :: Lens' ClusterOperationMetadata (Maybe Text)
 comClusterUuid
   = lens _comClusterUuid
       (\ s a -> s{_comClusterUuid = a})
 
--- | Name of the cluster for the operation.
+-- | [Output-only] Name of the cluster for the operation.
 comClusterName :: Lens' ClusterOperationMetadata (Maybe Text)
 comClusterName
   = lens _comClusterName
       (\ s a -> s{_comClusterName = a})
 
+-- | [Output-only] labels associated with the operation
+comLabels :: Lens' ClusterOperationMetadata (Maybe ClusterOperationMetadataLabels)
+comLabels
+  = lens _comLabels (\ s a -> s{_comLabels = a})
+
 -- | [Output-only] The operation type.
 comOperationType :: Lens' ClusterOperationMetadata (Maybe Text)
 comOperationType
@@ -2258,6 +2556,7 @@
                  ClusterOperationMetadata' <$>
                    (o .:? "status") <*> (o .:? "clusterUuid") <*>
                      (o .:? "clusterName")
+                     <*> (o .:? "labels")
                      <*> (o .:? "operationType")
                      <*> (o .:? "statusHistory" .!= mempty)
                      <*> (o .:? "description"))
@@ -2269,11 +2568,13 @@
                  [("status" .=) <$> _comStatus,
                   ("clusterUuid" .=) <$> _comClusterUuid,
                   ("clusterName" .=) <$> _comClusterName,
+                  ("labels" .=) <$> _comLabels,
                   ("operationType" .=) <$> _comOperationType,
                   ("statusHistory" .=) <$> _comStatusHistory,
                   ("description" .=) <$> _comDescription])
 
--- | A Cloud Dataproc job for running Spark SQL queries.
+-- | A Cloud Dataproc job for running [Apache Spark
+-- SQL](http:\/\/spark.apache.org\/sql\/) queries.
 --
 -- /See:/ 'sparkSQLJob' smart constructor.
 data SparkSQLJob = SparkSQLJob'
@@ -2520,7 +2821,9 @@
 instance ToJSON SparkJobProperties where
         toJSON = toJSON . _sjpAddtional
 
--- | A Cloud Dataproc job for running PySpark applications on YARN.
+-- | A Cloud Dataproc job for running [Apache
+-- PySpark](https:\/\/spark.apache.org\/docs\/0.9.0\/python-programming-guide.html)
+-- applications on YARN.
 --
 -- /See:/ 'pySparkJob' smart constructor.
 data PySparkJob = PySparkJob'
@@ -2735,7 +3038,7 @@
     , _lcrClusters = Nothing
     }
 
--- | [Optional] This token is included in the response if there are more
+-- | [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.
 lcrNextPageToken :: Lens' ListClustersResponse (Maybe Text)
@@ -3015,7 +3318,7 @@
     , _jsDetails = Nothing
     }
 
--- | [Required] A state message specifying the overall job state.
+-- | [Output-only] A state message specifying the overall job state.
 jsState :: Lens' JobStatus (Maybe Text)
 jsState = lens _jsState (\ s a -> s{_jsState = a})
 
@@ -3025,8 +3328,8 @@
   = lens _jsStateStartTime
       (\ s a -> s{_jsStateStartTime = a})
 
--- | [Optional] Job state details, such as an error description if the state
--- is ERROR.
+-- | [Output-only] Optional job state details, such as an error description
+-- if the state is ERROR.
 jsDetails :: Lens' JobStatus (Maybe Text)
 jsDetails
   = lens _jsDetails (\ s a -> s{_jsDetails = a})
@@ -3083,6 +3386,41 @@
 instance ToJSON PigJobScriptVariables where
         toJSON = toJSON . _pjsvAddtional
 
+-- | The HDFS metrics.
+--
+-- /See:/ 'clusterMetricsHdfsMetrics' smart constructor.
+newtype ClusterMetricsHdfsMetrics = ClusterMetricsHdfsMetrics'
+    { _cmhmAddtional :: HashMap Text (Textual Int64)
+    } deriving (Eq,Show,Data,Typeable,Generic)
+
+-- | Creates a value of 'ClusterMetricsHdfsMetrics' with the minimum fields required to make a request.
+--
+-- Use one of the following lenses to modify other fields as desired:
+--
+-- * 'cmhmAddtional'
+clusterMetricsHdfsMetrics
+    :: HashMap Text Int64 -- ^ 'cmhmAddtional'
+    -> ClusterMetricsHdfsMetrics
+clusterMetricsHdfsMetrics pCmhmAddtional_ =
+    ClusterMetricsHdfsMetrics'
+    { _cmhmAddtional = _Coerce # pCmhmAddtional_
+    }
+
+cmhmAddtional :: Lens' ClusterMetricsHdfsMetrics (HashMap Text Int64)
+cmhmAddtional
+  = lens _cmhmAddtional
+      (\ s a -> s{_cmhmAddtional = a})
+      . _Coerce
+
+instance FromJSON ClusterMetricsHdfsMetrics where
+        parseJSON
+          = withObject "ClusterMetricsHdfsMetrics"
+              (\ o ->
+                 ClusterMetricsHdfsMetrics' <$> (parseJSONObject o))
+
+instance ToJSON ClusterMetricsHdfsMetrics where
+        toJSON = toJSON . _cmhmAddtional
+
 -- | 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
@@ -3110,7 +3448,7 @@
     { _orAddtional = _Coerce # pOrAddtional_
     }
 
--- | Properties of the object. Contains field \'ype with type URL.
+-- | Properties of the object. Contains field \'type with type URL.
 orAddtional :: Lens' OperationResponse (HashMap Text JSONValue)
 orAddtional
   = lens _orAddtional (\ s a -> s{_orAddtional = a}) .
@@ -3189,17 +3527,17 @@
     , _csDetail = Nothing
     }
 
--- | The cluster\'s state.
+-- | [Output-only] The cluster\'s state.
 csState :: Lens' ClusterStatus (Maybe Text)
 csState = lens _csState (\ s a -> s{_csState = a})
 
--- | Time when this state was entered.
+-- | [Output-only] Time when this state was entered.
 csStateStartTime :: Lens' ClusterStatus (Maybe Text)
 csStateStartTime
   = lens _csStateStartTime
       (\ s a -> s{_csStateStartTime = a})
 
--- | Optional details of cluster\'s state.
+-- | [Output-only] Optional details of cluster\'s state.
 csDetail :: Lens' ClusterStatus (Maybe Text)
 csDetail = lens _csDetail (\ s a -> s{_csDetail = a})
 
@@ -3219,7 +3557,83 @@
                   ("stateStartTime" .=) <$> _csStateStartTime,
                   ("detail" .=) <$> _csDetail])
 
--- | A Cloud Dataproc job for running Pig queries on YARN.
+-- | A YARN application created by a job. Application information is a subset
+-- of org.apache.hadoop.yarn.proto.YarnProtos.ApplicationReportProto.
+-- **Beta Feature**: This report is available for testing purposes only. It
+-- may be changed before final release.
+--
+-- /See:/ 'yarnApplication' smart constructor.
+data YarnApplication = YarnApplication'
+    { _yaTrackingURL :: !(Maybe Text)
+    , _yaState       :: !(Maybe Text)
+    , _yaProgress    :: !(Maybe (Textual Double))
+    , _yaName        :: !(Maybe Text)
+    } deriving (Eq,Show,Data,Typeable,Generic)
+
+-- | Creates a value of 'YarnApplication' with the minimum fields required to make a request.
+--
+-- Use one of the following lenses to modify other fields as desired:
+--
+-- * 'yaTrackingURL'
+--
+-- * 'yaState'
+--
+-- * 'yaProgress'
+--
+-- * 'yaName'
+yarnApplication
+    :: YarnApplication
+yarnApplication =
+    YarnApplication'
+    { _yaTrackingURL = Nothing
+    , _yaState = Nothing
+    , _yaProgress = Nothing
+    , _yaName = Nothing
+    }
+
+-- | [Optional] The HTTP URL of the ApplicationMaster, HistoryServer, or
+-- TimelineServer that provides application-specific information. The URL
+-- uses the internal hostname, and requires a proxy server for resolution
+-- and, possibly, access.
+yaTrackingURL :: Lens' YarnApplication (Maybe Text)
+yaTrackingURL
+  = lens _yaTrackingURL
+      (\ s a -> s{_yaTrackingURL = a})
+
+-- | [Required] The application state.
+yaState :: Lens' YarnApplication (Maybe Text)
+yaState = lens _yaState (\ s a -> s{_yaState = a})
+
+-- | [Required] The numerical progress of the application, from 1 to 100.
+yaProgress :: Lens' YarnApplication (Maybe Double)
+yaProgress
+  = lens _yaProgress (\ s a -> s{_yaProgress = a}) .
+      mapping _Coerce
+
+-- | [Required] The application name.
+yaName :: Lens' YarnApplication (Maybe Text)
+yaName = lens _yaName (\ s a -> s{_yaName = a})
+
+instance FromJSON YarnApplication where
+        parseJSON
+          = withObject "YarnApplication"
+              (\ o ->
+                 YarnApplication' <$>
+                   (o .:? "trackingUrl") <*> (o .:? "state") <*>
+                     (o .:? "progress")
+                     <*> (o .:? "name"))
+
+instance ToJSON YarnApplication where
+        toJSON YarnApplication'{..}
+          = object
+              (catMaybes
+                 [("trackingUrl" .=) <$> _yaTrackingURL,
+                  ("state" .=) <$> _yaState,
+                  ("progress" .=) <$> _yaProgress,
+                  ("name" .=) <$> _yaName])
+
+-- | A Cloud Dataproc job for running [Apache
+-- Pig](https:\/\/pig.apache.org\/) queries on YARN.
 --
 -- /See:/ 'pigJob' smart constructor.
 data PigJob = PigJob'
diff --git a/gen/Network/Google/Resource/Dataproc/Projects/Regions/Clusters/List.hs b/gen/Network/Google/Resource/Dataproc/Projects/Regions/Clusters/List.hs
--- a/gen/Network/Google/Resource/Dataproc/Projects/Regions/Clusters/List.hs
+++ b/gen/Network/Google/Resource/Dataproc/Projects/Regions/Clusters/List.hs
@@ -39,6 +39,7 @@
     , prclAccessToken
     , prclUploadType
     , prclBearerToken
+    , prclFilter
     , prclRegion
     , prclPageToken
     , prclProjectId
@@ -64,11 +65,12 @@
                        QueryParam "access_token" Text :>
                          QueryParam "uploadType" Text :>
                            QueryParam "bearer_token" Text :>
-                             QueryParam "pageToken" Text :>
-                               QueryParam "pageSize" (Textual Int32) :>
-                                 QueryParam "callback" Text :>
-                                   QueryParam "alt" AltJSON :>
-                                     Get '[JSON] ListClustersResponse
+                             QueryParam "filter" Text :>
+                               QueryParam "pageToken" Text :>
+                                 QueryParam "pageSize" (Textual Int32) :>
+                                   QueryParam "callback" Text :>
+                                     QueryParam "alt" AltJSON :>
+                                       Get '[JSON] ListClustersResponse
 
 -- | Lists all regions\/{region}\/clusters in a project.
 --
@@ -80,6 +82,7 @@
     , _prclAccessToken    :: !(Maybe Text)
     , _prclUploadType     :: !(Maybe Text)
     , _prclBearerToken    :: !(Maybe Text)
+    , _prclFilter         :: !(Maybe Text)
     , _prclRegion         :: !Text
     , _prclPageToken      :: !(Maybe Text)
     , _prclProjectId      :: !Text
@@ -103,6 +106,8 @@
 --
 -- * 'prclBearerToken'
 --
+-- * 'prclFilter'
+--
 -- * 'prclRegion'
 --
 -- * 'prclPageToken'
@@ -124,6 +129,7 @@
     , _prclAccessToken = Nothing
     , _prclUploadType = Nothing
     , _prclBearerToken = Nothing
+    , _prclFilter = Nothing
     , _prclRegion = pPrclRegion_
     , _prclPageToken = Nothing
     , _prclProjectId = pPrclProjectId_
@@ -164,12 +170,32 @@
   = lens _prclBearerToken
       (\ s a -> s{_prclBearerToken = a})
 
+-- | [Optional] A filter constraining the clusters to list. Filters are
+-- case-sensitive and have the following syntax: field:value [field:value]
+-- ... or field = value [AND [field = value]] ... where **field** is one of
+-- \`status.state\`, \`clusterName\`, or \`labels.[KEY]\`, and \`[KEY]\` is
+-- a label key. **value** can be \`*\` to match all values.
+-- \`status.state\` can be one of the following: \`ACTIVE\`, \`INACTIVE\`,
+-- \`CREATING\`, \`RUNNING\`, \`ERROR\`, \`DELETING\`, or \`UPDATING\`.
+-- \`ACTIVE\` contains the \`CREATING\`, \`UPDATING\`, and \`RUNNING\`
+-- states. \`INACTIVE\` contains the \`DELETING\` and \`ERROR\` states.
+-- \`clusterName\` is the name of the cluster provided at creation time.
+-- Only the logical \`AND\` operator is supported; space-separated items
+-- are treated as having an implicit \`AND\` operator. Example valid
+-- filters are: status.state:ACTIVE clusterName:mycluster
+-- labels.env:staging \\ labels.starred:* and status.state = ACTIVE AND
+-- clusterName = mycluster \\ AND labels.env = staging AND labels.starred =
+-- *
+prclFilter :: Lens' ProjectsRegionsClustersList (Maybe Text)
+prclFilter
+  = lens _prclFilter (\ s a -> s{_prclFilter = a})
+
 -- | [Required] The Cloud Dataproc region in which to handle the request.
 prclRegion :: Lens' ProjectsRegionsClustersList Text
 prclRegion
   = lens _prclRegion (\ s a -> s{_prclRegion = a})
 
--- | The standard List page token.
+-- | [Optional] The standard List page token.
 prclPageToken :: Lens' ProjectsRegionsClustersList (Maybe Text)
 prclPageToken
   = lens _prclPageToken
@@ -182,7 +208,7 @@
   = lens _prclProjectId
       (\ s a -> s{_prclProjectId = a})
 
--- | The standard List page size.
+-- | [Optional] The standard List page size.
 prclPageSize :: Lens' ProjectsRegionsClustersList (Maybe Int32)
 prclPageSize
   = lens _prclPageSize (\ s a -> s{_prclPageSize = a})
@@ -206,6 +232,7 @@
               _prclAccessToken
               _prclUploadType
               _prclBearerToken
+              _prclFilter
               _prclPageToken
               _prclPageSize
               _prclCallback
diff --git a/gen/Network/Google/Resource/Dataproc/Projects/Regions/Jobs/List.hs b/gen/Network/Google/Resource/Dataproc/Projects/Regions/Jobs/List.hs
--- a/gen/Network/Google/Resource/Dataproc/Projects/Regions/Jobs/List.hs
+++ b/gen/Network/Google/Resource/Dataproc/Projects/Regions/Jobs/List.hs
@@ -41,6 +41,7 @@
     , prjlUploadType
     , prjlBearerToken
     , prjlClusterName
+    , prjlFilter
     , prjlRegion
     , prjlPageToken
     , prjlProjectId
@@ -68,11 +69,12 @@
                            QueryParam "uploadType" Text :>
                              QueryParam "bearer_token" Text :>
                                QueryParam "clusterName" Text :>
-                                 QueryParam "pageToken" Text :>
-                                   QueryParam "pageSize" (Textual Int32) :>
-                                     QueryParam "callback" Text :>
-                                       QueryParam "alt" AltJSON :>
-                                         Get '[JSON] ListJobsResponse
+                                 QueryParam "filter" Text :>
+                                   QueryParam "pageToken" Text :>
+                                     QueryParam "pageSize" (Textual Int32) :>
+                                       QueryParam "callback" Text :>
+                                         QueryParam "alt" AltJSON :>
+                                           Get '[JSON] ListJobsResponse
 
 -- | Lists regions\/{region}\/jobs in a project.
 --
@@ -86,6 +88,7 @@
     , _prjlUploadType      :: !(Maybe Text)
     , _prjlBearerToken     :: !(Maybe Text)
     , _prjlClusterName     :: !(Maybe Text)
+    , _prjlFilter          :: !(Maybe Text)
     , _prjlRegion          :: !Text
     , _prjlPageToken       :: !(Maybe Text)
     , _prjlProjectId       :: !Text
@@ -113,6 +116,8 @@
 --
 -- * 'prjlClusterName'
 --
+-- * 'prjlFilter'
+--
 -- * 'prjlRegion'
 --
 -- * 'prjlPageToken'
@@ -136,6 +141,7 @@
     , _prjlUploadType = Nothing
     , _prjlBearerToken = Nothing
     , _prjlClusterName = Nothing
+    , _prjlFilter = Nothing
     , _prjlRegion = pPrjlRegion_
     , _prjlPageToken = Nothing
     , _prjlProjectId = pPrjlProjectId_
@@ -143,7 +149,8 @@
     , _prjlCallback = Nothing
     }
 
--- | [Optional] Specifies enumerated categories of jobs to list.
+-- | [Optional] Specifies enumerated categories of jobs to list (default =
+-- match ALL jobs).
 prjlJobStateMatcher :: Lens' ProjectsRegionsJobsList (Maybe Text)
 prjlJobStateMatcher
   = lens _prjlJobStateMatcher
@@ -189,6 +196,20 @@
   = lens _prjlClusterName
       (\ s a -> s{_prjlClusterName = a})
 
+-- | [Optional] A filter constraining the jobs to list. Filters are
+-- case-sensitive and have the following syntax: field:value] ... or [field
+-- = value] AND [field [= value]] ... where **field** is \`status.state\`
+-- or \`labels.[KEY]\`, and \`[KEY]\` is a label key. **value** can be
+-- \`*\` to match all values. \`status.state\` can be either \`ACTIVE\` or
+-- \`INACTIVE\`. Only the logical \`AND\` operator is supported;
+-- space-separated items are treated as having an implicit \`AND\`
+-- operator. Example valid filters are: status.state:ACTIVE
+-- labels.env:staging labels.starred:* and status.state = ACTIVE AND
+-- labels.env = staging AND labels.starred = *
+prjlFilter :: Lens' ProjectsRegionsJobsList (Maybe Text)
+prjlFilter
+  = lens _prjlFilter (\ s a -> s{_prjlFilter = a})
+
 -- | [Required] The Cloud Dataproc region in which to handle the request.
 prjlRegion :: Lens' ProjectsRegionsJobsList Text
 prjlRegion
@@ -232,6 +253,7 @@
               _prjlUploadType
               _prjlBearerToken
               _prjlClusterName
+              _prjlFilter
               _prjlPageToken
               _prjlPageSize
               _prjlCallback
diff --git a/gen/Network/Google/Resource/Dataproc/Projects/Regions/Operations/Cancel.hs b/gen/Network/Google/Resource/Dataproc/Projects/Regions/Operations/Cancel.hs
--- a/gen/Network/Google/Resource/Dataproc/Projects/Regions/Operations/Cancel.hs
+++ b/gen/Network/Google/Resource/Dataproc/Projects/Regions/Operations/Cancel.hs
@@ -26,7 +26,9 @@
 -- \`google.rpc.Code.UNIMPLEMENTED\`. Clients can use
 -- Operations.GetOperation or other methods to check whether the
 -- cancellation succeeded or whether the operation completed despite
--- cancellation.
+-- cancellation. On successful cancellation, the operation is not deleted;
+-- instead, it becomes an operation with an Operation.error value with a
+-- google.rpc.Status.code of 1, corresponding to \`Code.CANCELLED\`.
 --
 -- /See:/ <https://cloud.google.com/dataproc/ Google Cloud Dataproc API Reference> for @dataproc.projects.regions.operations.cancel@.
 module Network.Google.Resource.Dataproc.Projects.Regions.Operations.Cancel
@@ -72,7 +74,9 @@
 -- \`google.rpc.Code.UNIMPLEMENTED\`. Clients can use
 -- Operations.GetOperation or other methods to check whether the
 -- cancellation succeeded or whether the operation completed despite
--- cancellation.
+-- cancellation. On successful cancellation, the operation is not deleted;
+-- instead, it becomes an operation with an Operation.error value with a
+-- google.rpc.Status.code of 1, corresponding to \`Code.CANCELLED\`.
 --
 -- /See:/ 'projectsRegionsOperationsCancel' smart constructor.
 data ProjectsRegionsOperationsCancel = ProjectsRegionsOperationsCancel'
diff --git a/gogol-dataproc.cabal b/gogol-dataproc.cabal
--- a/gogol-dataproc.cabal
+++ b/gogol-dataproc.cabal
@@ -1,5 +1,5 @@
 name:                  gogol-dataproc
-version:               0.1.1
+version:               0.2.0
 synopsis:              Google Cloud Dataproc SDK.
 homepage:              https://github.com/brendanhay/gogol
 bug-reports:           https://github.com/brendanhay/gogol/issues
@@ -14,7 +14,8 @@
 extra-source-files:    README.md src/.gitkeep
 
 description:
-    Manages Hadoop-based clusters and jobs on Google Cloud Platform.
+    An API for managing Hadoop-based clusters and jobs on Google Cloud
+    Platform.
     .
     /Warning:/ This is an experimental prototype/preview release which is still
     under exploratory development and not intended for public use, caveat emptor!
@@ -56,5 +57,5 @@
         , Network.Google.Dataproc.Types.Sum
 
     build-depends:
-          gogol-core == 0.1.1.*
+          gogol-core == 0.2.0.*
         , base       >= 4.7 && < 5
