packages feed

gogol-container 0.4.0 → 0.5.0

raw patch · 69 files changed

+7140/−5337 lines, 69 filesdep ~gogol-corePVP ok

version bump matches the API change (PVP)

Dependency ranges changed: gogol-core

API changes (from Hackage documentation)

- Network.Google.Container: GceQuotaExceeded :: StatusConditionCode
- Network.Google.Container: GceStockout :: StatusConditionCode
- Network.Google.Container: GkeServiceAccountDeleted :: StatusConditionCode
- Network.Google.Container: SetByOperator :: StatusConditionCode
- Network.Google.Container.Types: GceQuotaExceeded :: StatusConditionCode
- Network.Google.Container.Types: GceStockout :: StatusConditionCode
- Network.Google.Container.Types: GkeServiceAccountDeleted :: StatusConditionCode
- Network.Google.Container.Types: SetByOperator :: StatusConditionCode
+ Network.Google.Container: InUseManagedPod :: UsableSubnetworkSecondaryRangeStatus
+ Network.Google.Container: InUseService :: UsableSubnetworkSecondaryRangeStatus
+ Network.Google.Container: InUseShareablePod :: UsableSubnetworkSecondaryRangeStatus
+ Network.Google.Container: SCCGceQuotaExceeded :: StatusConditionCode
+ Network.Google.Container: SCCGceStockout :: StatusConditionCode
+ Network.Google.Container: SCCGkeServiceAccountDeleted :: StatusConditionCode
+ Network.Google.Container: SCCSetByOperator :: StatusConditionCode
+ Network.Google.Container: SCCUnknown :: StatusConditionCode
+ Network.Google.Container: Unused :: UsableSubnetworkSecondaryRangeStatus
+ Network.Google.Container: cDefaultMaxPodsConstraint :: Lens' Cluster (Maybe MaxPodsConstraint)
+ Network.Google.Container: cEnableTpu :: Lens' Cluster (Maybe Bool)
+ Network.Google.Container: cTpuIPv4CIdRBlock :: Lens' Cluster (Maybe Text)
+ Network.Google.Container: data GetJSONWebKeysResponse
+ Network.Google.Container: data GetOpenIdConfigResponse
+ Network.Google.Container: data JWK
+ Network.Google.Container: data ListUsableSubnetworksResponse
+ Network.Google.Container: data MaxPodsConstraint
+ Network.Google.Container: data UsableSubnetwork
+ Network.Google.Container: data UsableSubnetworkSecondaryRange
+ Network.Google.Container: data UsableSubnetworkSecondaryRangeStatus
+ Network.Google.Container: getJSONWebKeysResponse :: GetJSONWebKeysResponse
+ Network.Google.Container: getOpenIdConfigResponse :: GetOpenIdConfigResponse
+ Network.Google.Container: gjwkrKeys :: Lens' GetJSONWebKeysResponse [JWK]
+ Network.Google.Container: goicrClaimsSupported :: Lens' GetOpenIdConfigResponse [Text]
+ Network.Google.Container: goicrGrantTypes :: Lens' GetOpenIdConfigResponse [Text]
+ Network.Google.Container: goicrIdTokenSigningAlgValuesSupported :: Lens' GetOpenIdConfigResponse [Text]
+ Network.Google.Container: goicrIssuer :: Lens' GetOpenIdConfigResponse (Maybe Text)
+ Network.Google.Container: goicrJWKsURI :: Lens' GetOpenIdConfigResponse (Maybe Text)
+ Network.Google.Container: goicrResponseTypesSupported :: Lens' GetOpenIdConfigResponse [Text]
+ Network.Google.Container: goicrSubjectTypesSupported :: Lens' GetOpenIdConfigResponse [Text]
+ Network.Google.Container: iapTpuIPv4CIdRBlock :: Lens' IPAllocationPolicy (Maybe Text)
+ Network.Google.Container: jAlg :: Lens' JWK (Maybe Text)
+ Network.Google.Container: jCrv :: Lens' JWK (Maybe Text)
+ Network.Google.Container: jE :: Lens' JWK (Maybe Text)
+ Network.Google.Container: jKid :: Lens' JWK (Maybe Text)
+ Network.Google.Container: jKty :: Lens' JWK (Maybe Text)
+ Network.Google.Container: jN :: Lens' JWK (Maybe Text)
+ Network.Google.Container: jUse :: Lens' JWK (Maybe Text)
+ Network.Google.Container: jX :: Lens' JWK (Maybe Text)
+ Network.Google.Container: jY :: Lens' JWK (Maybe Text)
+ Network.Google.Container: jwk :: JWK
+ Network.Google.Container: listUsableSubnetworksResponse :: ListUsableSubnetworksResponse
+ Network.Google.Container: lusrNextPageToken :: Lens' ListUsableSubnetworksResponse (Maybe Text)
+ Network.Google.Container: lusrSubnetworks :: Lens' ListUsableSubnetworksResponse [UsableSubnetwork]
+ Network.Google.Container: maxPodsConstraint :: MaxPodsConstraint
+ Network.Google.Container: mpcMaxPodsPerNode :: Lens' MaxPodsConstraint (Maybe Int64)
+ Network.Google.Container: npMaxPodsConstraint :: Lens' NodePool (Maybe MaxPodsConstraint)
+ Network.Google.Container: usIPCIdRRange :: Lens' UsableSubnetwork (Maybe Text)
+ Network.Google.Container: usNetwork :: Lens' UsableSubnetwork (Maybe Text)
+ Network.Google.Container: usSecondaryIPRanges :: Lens' UsableSubnetwork [UsableSubnetworkSecondaryRange]
+ Network.Google.Container: usStatusMessage :: Lens' UsableSubnetwork (Maybe Text)
+ Network.Google.Container: usSubnetwork :: Lens' UsableSubnetwork (Maybe Text)
+ Network.Google.Container: usableSubnetwork :: UsableSubnetwork
+ Network.Google.Container: usableSubnetworkSecondaryRange :: UsableSubnetworkSecondaryRange
+ Network.Google.Container: ussrIPCIdRRange :: Lens' UsableSubnetworkSecondaryRange (Maybe Text)
+ Network.Google.Container: ussrRangeName :: Lens' UsableSubnetworkSecondaryRange (Maybe Text)
+ Network.Google.Container: ussrStatus :: Lens' UsableSubnetworkSecondaryRange (Maybe UsableSubnetworkSecondaryRangeStatus)
+ Network.Google.Container.Types: InUseManagedPod :: UsableSubnetworkSecondaryRangeStatus
+ Network.Google.Container.Types: InUseService :: UsableSubnetworkSecondaryRangeStatus
+ Network.Google.Container.Types: InUseShareablePod :: UsableSubnetworkSecondaryRangeStatus
+ Network.Google.Container.Types: SCCGceQuotaExceeded :: StatusConditionCode
+ Network.Google.Container.Types: SCCGceStockout :: StatusConditionCode
+ Network.Google.Container.Types: SCCGkeServiceAccountDeleted :: StatusConditionCode
+ Network.Google.Container.Types: SCCSetByOperator :: StatusConditionCode
+ Network.Google.Container.Types: SCCUnknown :: StatusConditionCode
+ Network.Google.Container.Types: Unused :: UsableSubnetworkSecondaryRangeStatus
+ Network.Google.Container.Types: cDefaultMaxPodsConstraint :: Lens' Cluster (Maybe MaxPodsConstraint)
+ Network.Google.Container.Types: cEnableTpu :: Lens' Cluster (Maybe Bool)
+ Network.Google.Container.Types: cTpuIPv4CIdRBlock :: Lens' Cluster (Maybe Text)
+ Network.Google.Container.Types: data GetJSONWebKeysResponse
+ Network.Google.Container.Types: data GetOpenIdConfigResponse
+ Network.Google.Container.Types: data JWK
+ Network.Google.Container.Types: data ListUsableSubnetworksResponse
+ Network.Google.Container.Types: data MaxPodsConstraint
+ Network.Google.Container.Types: data UsableSubnetwork
+ Network.Google.Container.Types: data UsableSubnetworkSecondaryRange
+ Network.Google.Container.Types: data UsableSubnetworkSecondaryRangeStatus
+ Network.Google.Container.Types: getJSONWebKeysResponse :: GetJSONWebKeysResponse
+ Network.Google.Container.Types: getOpenIdConfigResponse :: GetOpenIdConfigResponse
+ Network.Google.Container.Types: gjwkrKeys :: Lens' GetJSONWebKeysResponse [JWK]
+ Network.Google.Container.Types: goicrClaimsSupported :: Lens' GetOpenIdConfigResponse [Text]
+ Network.Google.Container.Types: goicrGrantTypes :: Lens' GetOpenIdConfigResponse [Text]
+ Network.Google.Container.Types: goicrIdTokenSigningAlgValuesSupported :: Lens' GetOpenIdConfigResponse [Text]
+ Network.Google.Container.Types: goicrIssuer :: Lens' GetOpenIdConfigResponse (Maybe Text)
+ Network.Google.Container.Types: goicrJWKsURI :: Lens' GetOpenIdConfigResponse (Maybe Text)
+ Network.Google.Container.Types: goicrResponseTypesSupported :: Lens' GetOpenIdConfigResponse [Text]
+ Network.Google.Container.Types: goicrSubjectTypesSupported :: Lens' GetOpenIdConfigResponse [Text]
+ Network.Google.Container.Types: iapTpuIPv4CIdRBlock :: Lens' IPAllocationPolicy (Maybe Text)
+ Network.Google.Container.Types: jAlg :: Lens' JWK (Maybe Text)
+ Network.Google.Container.Types: jCrv :: Lens' JWK (Maybe Text)
+ Network.Google.Container.Types: jE :: Lens' JWK (Maybe Text)
+ Network.Google.Container.Types: jKid :: Lens' JWK (Maybe Text)
+ Network.Google.Container.Types: jKty :: Lens' JWK (Maybe Text)
+ Network.Google.Container.Types: jN :: Lens' JWK (Maybe Text)
+ Network.Google.Container.Types: jUse :: Lens' JWK (Maybe Text)
+ Network.Google.Container.Types: jX :: Lens' JWK (Maybe Text)
+ Network.Google.Container.Types: jY :: Lens' JWK (Maybe Text)
+ Network.Google.Container.Types: jwk :: JWK
+ Network.Google.Container.Types: listUsableSubnetworksResponse :: ListUsableSubnetworksResponse
+ Network.Google.Container.Types: lusrNextPageToken :: Lens' ListUsableSubnetworksResponse (Maybe Text)
+ Network.Google.Container.Types: lusrSubnetworks :: Lens' ListUsableSubnetworksResponse [UsableSubnetwork]
+ Network.Google.Container.Types: maxPodsConstraint :: MaxPodsConstraint
+ Network.Google.Container.Types: mpcMaxPodsPerNode :: Lens' MaxPodsConstraint (Maybe Int64)
+ Network.Google.Container.Types: npMaxPodsConstraint :: Lens' NodePool (Maybe MaxPodsConstraint)
+ Network.Google.Container.Types: usIPCIdRRange :: Lens' UsableSubnetwork (Maybe Text)
+ Network.Google.Container.Types: usNetwork :: Lens' UsableSubnetwork (Maybe Text)
+ Network.Google.Container.Types: usSecondaryIPRanges :: Lens' UsableSubnetwork [UsableSubnetworkSecondaryRange]
+ Network.Google.Container.Types: usStatusMessage :: Lens' UsableSubnetwork (Maybe Text)
+ Network.Google.Container.Types: usSubnetwork :: Lens' UsableSubnetwork (Maybe Text)
+ Network.Google.Container.Types: usableSubnetwork :: UsableSubnetwork
+ Network.Google.Container.Types: usableSubnetworkSecondaryRange :: UsableSubnetworkSecondaryRange
+ Network.Google.Container.Types: ussrIPCIdRRange :: Lens' UsableSubnetworkSecondaryRange (Maybe Text)
+ Network.Google.Container.Types: ussrRangeName :: Lens' UsableSubnetworkSecondaryRange (Maybe Text)
+ Network.Google.Container.Types: ussrStatus :: Lens' UsableSubnetworkSecondaryRange (Maybe UsableSubnetworkSecondaryRangeStatus)
+ Network.Google.Resource.Container.Projects.Aggregated.UsableSubnetworks.List: data ProjectsAggregatedUsableSubnetworksList
+ Network.Google.Resource.Container.Projects.Aggregated.UsableSubnetworks.List: instance Data.Data.Data Network.Google.Resource.Container.Projects.Aggregated.UsableSubnetworks.List.ProjectsAggregatedUsableSubnetworksList
+ Network.Google.Resource.Container.Projects.Aggregated.UsableSubnetworks.List: instance GHC.Classes.Eq Network.Google.Resource.Container.Projects.Aggregated.UsableSubnetworks.List.ProjectsAggregatedUsableSubnetworksList
+ Network.Google.Resource.Container.Projects.Aggregated.UsableSubnetworks.List: instance GHC.Generics.Generic Network.Google.Resource.Container.Projects.Aggregated.UsableSubnetworks.List.ProjectsAggregatedUsableSubnetworksList
+ Network.Google.Resource.Container.Projects.Aggregated.UsableSubnetworks.List: instance GHC.Show.Show Network.Google.Resource.Container.Projects.Aggregated.UsableSubnetworks.List.ProjectsAggregatedUsableSubnetworksList
+ Network.Google.Resource.Container.Projects.Aggregated.UsableSubnetworks.List: instance Network.Google.Types.GoogleRequest Network.Google.Resource.Container.Projects.Aggregated.UsableSubnetworks.List.ProjectsAggregatedUsableSubnetworksList
+ Network.Google.Resource.Container.Projects.Aggregated.UsableSubnetworks.List: pauslAccessToken :: Lens' ProjectsAggregatedUsableSubnetworksList (Maybe Text)
+ Network.Google.Resource.Container.Projects.Aggregated.UsableSubnetworks.List: pauslCallback :: Lens' ProjectsAggregatedUsableSubnetworksList (Maybe Text)
+ Network.Google.Resource.Container.Projects.Aggregated.UsableSubnetworks.List: pauslFilter :: Lens' ProjectsAggregatedUsableSubnetworksList (Maybe Text)
+ Network.Google.Resource.Container.Projects.Aggregated.UsableSubnetworks.List: pauslPageSize :: Lens' ProjectsAggregatedUsableSubnetworksList (Maybe Int32)
+ Network.Google.Resource.Container.Projects.Aggregated.UsableSubnetworks.List: pauslPageToken :: Lens' ProjectsAggregatedUsableSubnetworksList (Maybe Text)
+ Network.Google.Resource.Container.Projects.Aggregated.UsableSubnetworks.List: pauslParent :: Lens' ProjectsAggregatedUsableSubnetworksList Text
+ Network.Google.Resource.Container.Projects.Aggregated.UsableSubnetworks.List: pauslUploadProtocol :: Lens' ProjectsAggregatedUsableSubnetworksList (Maybe Text)
+ Network.Google.Resource.Container.Projects.Aggregated.UsableSubnetworks.List: pauslUploadType :: Lens' ProjectsAggregatedUsableSubnetworksList (Maybe Text)
+ Network.Google.Resource.Container.Projects.Aggregated.UsableSubnetworks.List: pauslXgafv :: Lens' ProjectsAggregatedUsableSubnetworksList (Maybe Xgafv)
+ Network.Google.Resource.Container.Projects.Aggregated.UsableSubnetworks.List: projectsAggregatedUsableSubnetworksList :: Text -> ProjectsAggregatedUsableSubnetworksList
+ Network.Google.Resource.Container.Projects.Aggregated.UsableSubnetworks.List: type ProjectsAggregatedUsableSubnetworksListResource = "v1" :> Capture "parent" Text :> "aggregated" :> "usableSubnetworks" :> QueryParam "$.xgafv" Xgafv :> QueryParam "upload_protocol" Text :> QueryParam "access_token" Text :> QueryParam "uploadType" Text :> QueryParam "filter" Text :> QueryParam "pageToken" Text :> QueryParam "pageSize" (Textual Int32) :> QueryParam "callback" Text :> QueryParam "alt" AltJSON :> Get '[JSON] ListUsableSubnetworksResponse
+ Network.Google.Resource.Container.Projects.Locations.Clusters.GetJWKs: data ProjectsLocationsClustersGetJWKs
+ Network.Google.Resource.Container.Projects.Locations.Clusters.GetJWKs: instance Data.Data.Data Network.Google.Resource.Container.Projects.Locations.Clusters.GetJWKs.ProjectsLocationsClustersGetJWKs
+ Network.Google.Resource.Container.Projects.Locations.Clusters.GetJWKs: instance GHC.Classes.Eq Network.Google.Resource.Container.Projects.Locations.Clusters.GetJWKs.ProjectsLocationsClustersGetJWKs
+ Network.Google.Resource.Container.Projects.Locations.Clusters.GetJWKs: instance GHC.Generics.Generic Network.Google.Resource.Container.Projects.Locations.Clusters.GetJWKs.ProjectsLocationsClustersGetJWKs
+ Network.Google.Resource.Container.Projects.Locations.Clusters.GetJWKs: instance GHC.Show.Show Network.Google.Resource.Container.Projects.Locations.Clusters.GetJWKs.ProjectsLocationsClustersGetJWKs
+ Network.Google.Resource.Container.Projects.Locations.Clusters.GetJWKs: instance Network.Google.Types.GoogleRequest Network.Google.Resource.Container.Projects.Locations.Clusters.GetJWKs.ProjectsLocationsClustersGetJWKs
+ Network.Google.Resource.Container.Projects.Locations.Clusters.GetJWKs: plcgjAccessToken :: Lens' ProjectsLocationsClustersGetJWKs (Maybe Text)
+ Network.Google.Resource.Container.Projects.Locations.Clusters.GetJWKs: plcgjCallback :: Lens' ProjectsLocationsClustersGetJWKs (Maybe Text)
+ Network.Google.Resource.Container.Projects.Locations.Clusters.GetJWKs: plcgjParent :: Lens' ProjectsLocationsClustersGetJWKs Text
+ Network.Google.Resource.Container.Projects.Locations.Clusters.GetJWKs: plcgjUploadProtocol :: Lens' ProjectsLocationsClustersGetJWKs (Maybe Text)
+ Network.Google.Resource.Container.Projects.Locations.Clusters.GetJWKs: plcgjUploadType :: Lens' ProjectsLocationsClustersGetJWKs (Maybe Text)
+ Network.Google.Resource.Container.Projects.Locations.Clusters.GetJWKs: plcgjXgafv :: Lens' ProjectsLocationsClustersGetJWKs (Maybe Xgafv)
+ Network.Google.Resource.Container.Projects.Locations.Clusters.GetJWKs: projectsLocationsClustersGetJWKs :: Text -> ProjectsLocationsClustersGetJWKs
+ Network.Google.Resource.Container.Projects.Locations.Clusters.GetJWKs: type ProjectsLocationsClustersGetJWKsResource = "v1" :> Capture "parent" Text :> "jwks" :> QueryParam "$.xgafv" Xgafv :> QueryParam "upload_protocol" Text :> QueryParam "access_token" Text :> QueryParam "uploadType" Text :> QueryParam "callback" Text :> QueryParam "alt" AltJSON :> Get '[JSON] GetJSONWebKeysResponse
+ Network.Google.Resource.Container.Projects.Locations.Clusters.WellKnown.GetOpenidConfiguration: data ProjectsLocationsClustersWellKnownGetOpenidConfiguration
+ Network.Google.Resource.Container.Projects.Locations.Clusters.WellKnown.GetOpenidConfiguration: instance Data.Data.Data Network.Google.Resource.Container.Projects.Locations.Clusters.WellKnown.GetOpenidConfiguration.ProjectsLocationsClustersWellKnownGetOpenidConfiguration
+ Network.Google.Resource.Container.Projects.Locations.Clusters.WellKnown.GetOpenidConfiguration: instance GHC.Classes.Eq Network.Google.Resource.Container.Projects.Locations.Clusters.WellKnown.GetOpenidConfiguration.ProjectsLocationsClustersWellKnownGetOpenidConfiguration
+ Network.Google.Resource.Container.Projects.Locations.Clusters.WellKnown.GetOpenidConfiguration: instance GHC.Generics.Generic Network.Google.Resource.Container.Projects.Locations.Clusters.WellKnown.GetOpenidConfiguration.ProjectsLocationsClustersWellKnownGetOpenidConfiguration
+ Network.Google.Resource.Container.Projects.Locations.Clusters.WellKnown.GetOpenidConfiguration: instance GHC.Show.Show Network.Google.Resource.Container.Projects.Locations.Clusters.WellKnown.GetOpenidConfiguration.ProjectsLocationsClustersWellKnownGetOpenidConfiguration
+ Network.Google.Resource.Container.Projects.Locations.Clusters.WellKnown.GetOpenidConfiguration: instance Network.Google.Types.GoogleRequest Network.Google.Resource.Container.Projects.Locations.Clusters.WellKnown.GetOpenidConfiguration.ProjectsLocationsClustersWellKnownGetOpenidConfiguration
+ Network.Google.Resource.Container.Projects.Locations.Clusters.WellKnown.GetOpenidConfiguration: plcwkgocAccessToken :: Lens' ProjectsLocationsClustersWellKnownGetOpenidConfiguration (Maybe Text)
+ Network.Google.Resource.Container.Projects.Locations.Clusters.WellKnown.GetOpenidConfiguration: plcwkgocCallback :: Lens' ProjectsLocationsClustersWellKnownGetOpenidConfiguration (Maybe Text)
+ Network.Google.Resource.Container.Projects.Locations.Clusters.WellKnown.GetOpenidConfiguration: plcwkgocParent :: Lens' ProjectsLocationsClustersWellKnownGetOpenidConfiguration Text
+ Network.Google.Resource.Container.Projects.Locations.Clusters.WellKnown.GetOpenidConfiguration: plcwkgocUploadProtocol :: Lens' ProjectsLocationsClustersWellKnownGetOpenidConfiguration (Maybe Text)
+ Network.Google.Resource.Container.Projects.Locations.Clusters.WellKnown.GetOpenidConfiguration: plcwkgocUploadType :: Lens' ProjectsLocationsClustersWellKnownGetOpenidConfiguration (Maybe Text)
+ Network.Google.Resource.Container.Projects.Locations.Clusters.WellKnown.GetOpenidConfiguration: plcwkgocXgafv :: Lens' ProjectsLocationsClustersWellKnownGetOpenidConfiguration (Maybe Xgafv)
+ Network.Google.Resource.Container.Projects.Locations.Clusters.WellKnown.GetOpenidConfiguration: projectsLocationsClustersWellKnownGetOpenidConfiguration :: Text -> ProjectsLocationsClustersWellKnownGetOpenidConfiguration
+ Network.Google.Resource.Container.Projects.Locations.Clusters.WellKnown.GetOpenidConfiguration: type ProjectsLocationsClustersWellKnownGetOpenidConfigurationResource = "v1" :> Capture "parent" Text :> ".well-known" :> "openid-configuration" :> QueryParam "$.xgafv" Xgafv :> QueryParam "upload_protocol" Text :> QueryParam "access_token" Text :> QueryParam "uploadType" Text :> QueryParam "callback" Text :> QueryParam "alt" AltJSON :> Get '[JSON] GetOpenIdConfigResponse
- Network.Google.Container: Unknown :: StatusConditionCode
+ Network.Google.Container: Unknown :: UsableSubnetworkSecondaryRangeStatus
- Network.Google.Container: type ContainerAPI = ProjectsZonesOperationsListResource :<|> ProjectsZonesOperationsGetResource :<|> ProjectsZonesOperationsCancelResource :<|> ProjectsZonesClustersNodePoolsSetSizeResource :<|> ProjectsZonesClustersNodePoolsListResource :<|> ProjectsZonesClustersNodePoolsAutoscalingResource :<|> ProjectsZonesClustersNodePoolsGetResource :<|> ProjectsZonesClustersNodePoolsRollbackResource :<|> ProjectsZonesClustersNodePoolsSetManagementResource :<|> ProjectsZonesClustersNodePoolsCreateResource :<|> ProjectsZonesClustersNodePoolsDeleteResource :<|> ProjectsZonesClustersNodePoolsUpdateResource :<|> ProjectsZonesClustersSetNetworkPolicyResource :<|> ProjectsZonesClustersResourceLabelsResource :<|> ProjectsZonesClustersListResource :<|> ProjectsZonesClustersStartIPRotationResource :<|> ProjectsZonesClustersAddonsResource :<|> ProjectsZonesClustersGetResource :<|> ProjectsZonesClustersSetMasterAuthResource :<|> ProjectsZonesClustersLegacyAbacResource :<|> ProjectsZonesClustersMasterResource :<|> ProjectsZonesClustersCreateResource :<|> ProjectsZonesClustersCompleteIPRotationResource :<|> ProjectsZonesClustersMonitoringResource :<|> ProjectsZonesClustersSetMaintenancePolicyResource :<|> ProjectsZonesClustersLoggingResource :<|> ProjectsZonesClustersLocationsResource :<|> ProjectsZonesClustersDeleteResource :<|> ProjectsZonesClustersUpdateResource :<|> ProjectsZonesGetServerConfigResource :<|> ProjectsLocationsOperationsListResource :<|> ProjectsLocationsOperationsGetResource :<|> ProjectsLocationsOperationsCancelResource :<|> ProjectsLocationsClustersNodePoolsSetSizeResource :<|> ProjectsLocationsClustersNodePoolsListResource :<|> ProjectsLocationsClustersNodePoolsSetAutoscalingResource :<|> ProjectsLocationsClustersNodePoolsGetResource :<|> ProjectsLocationsClustersNodePoolsRollbackResource :<|> ProjectsLocationsClustersNodePoolsSetManagementResource :<|> ProjectsLocationsClustersNodePoolsCreateResource :<|> ProjectsLocationsClustersNodePoolsDeleteResource :<|> ProjectsLocationsClustersNodePoolsUpdateResource :<|> ProjectsLocationsClustersSetNetworkPolicyResource :<|> ProjectsLocationsClustersSetLocationsResource :<|> ProjectsLocationsClustersListResource :<|> ProjectsLocationsClustersUpdateMasterResource :<|> ProjectsLocationsClustersStartIPRotationResource :<|> ProjectsLocationsClustersSetResourceLabelsResource :<|> ProjectsLocationsClustersSetLegacyAbacResource :<|> ProjectsLocationsClustersGetResource :<|> ProjectsLocationsClustersSetMonitoringResource :<|> ProjectsLocationsClustersSetMasterAuthResource :<|> ProjectsLocationsClustersSetAddonsResource :<|> ProjectsLocationsClustersCreateResource :<|> ProjectsLocationsClustersCompleteIPRotationResource :<|> ProjectsLocationsClustersSetMaintenancePolicyResource :<|> ProjectsLocationsClustersDeleteResource :<|> ProjectsLocationsClustersUpdateResource :<|> ProjectsLocationsClustersSetLoggingResource :<|> ProjectsLocationsGetServerConfigResource
+ Network.Google.Container: type ContainerAPI = ProjectsAggregatedUsableSubnetworksListResource :<|> ProjectsZonesOperationsListResource :<|> ProjectsZonesOperationsGetResource :<|> ProjectsZonesOperationsCancelResource :<|> ProjectsZonesClustersNodePoolsSetSizeResource :<|> ProjectsZonesClustersNodePoolsListResource :<|> ProjectsZonesClustersNodePoolsAutoscalingResource :<|> ProjectsZonesClustersNodePoolsGetResource :<|> ProjectsZonesClustersNodePoolsRollbackResource :<|> ProjectsZonesClustersNodePoolsSetManagementResource :<|> ProjectsZonesClustersNodePoolsCreateResource :<|> ProjectsZonesClustersNodePoolsDeleteResource :<|> ProjectsZonesClustersNodePoolsUpdateResource :<|> ProjectsZonesClustersSetNetworkPolicyResource :<|> ProjectsZonesClustersResourceLabelsResource :<|> ProjectsZonesClustersListResource :<|> ProjectsZonesClustersStartIPRotationResource :<|> ProjectsZonesClustersAddonsResource :<|> ProjectsZonesClustersGetResource :<|> ProjectsZonesClustersSetMasterAuthResource :<|> ProjectsZonesClustersLegacyAbacResource :<|> ProjectsZonesClustersMasterResource :<|> ProjectsZonesClustersCreateResource :<|> ProjectsZonesClustersCompleteIPRotationResource :<|> ProjectsZonesClustersMonitoringResource :<|> ProjectsZonesClustersSetMaintenancePolicyResource :<|> ProjectsZonesClustersLoggingResource :<|> ProjectsZonesClustersLocationsResource :<|> ProjectsZonesClustersDeleteResource :<|> ProjectsZonesClustersUpdateResource :<|> ProjectsZonesGetServerConfigResource :<|> ProjectsLocationsOperationsListResource :<|> ProjectsLocationsOperationsGetResource :<|> ProjectsLocationsOperationsCancelResource :<|> ProjectsLocationsClustersNodePoolsSetSizeResource :<|> ProjectsLocationsClustersNodePoolsListResource :<|> ProjectsLocationsClustersNodePoolsSetAutoscalingResource :<|> ProjectsLocationsClustersNodePoolsGetResource :<|> ProjectsLocationsClustersNodePoolsRollbackResource :<|> ProjectsLocationsClustersNodePoolsSetManagementResource :<|> ProjectsLocationsClustersNodePoolsCreateResource :<|> ProjectsLocationsClustersNodePoolsDeleteResource :<|> ProjectsLocationsClustersNodePoolsUpdateResource :<|> ProjectsLocationsClustersWellKnownGetOpenidConfigurationResource :<|> ProjectsLocationsClustersSetNetworkPolicyResource :<|> ProjectsLocationsClustersSetLocationsResource :<|> ProjectsLocationsClustersListResource :<|> ProjectsLocationsClustersUpdateMasterResource :<|> ProjectsLocationsClustersStartIPRotationResource :<|> ProjectsLocationsClustersSetResourceLabelsResource :<|> ProjectsLocationsClustersSetLegacyAbacResource :<|> ProjectsLocationsClustersGetResource :<|> ProjectsLocationsClustersSetMonitoringResource :<|> ProjectsLocationsClustersSetMasterAuthResource :<|> ProjectsLocationsClustersSetAddonsResource :<|> ProjectsLocationsClustersCreateResource :<|> ProjectsLocationsClustersCompleteIPRotationResource :<|> ProjectsLocationsClustersSetMaintenancePolicyResource :<|> ProjectsLocationsClustersGetJWKsResource :<|> ProjectsLocationsClustersDeleteResource :<|> ProjectsLocationsClustersUpdateResource :<|> ProjectsLocationsClustersSetLoggingResource :<|> ProjectsLocationsGetServerConfigResource
- Network.Google.Container.Types: Unknown :: StatusConditionCode
+ Network.Google.Container.Types: Unknown :: UsableSubnetworkSecondaryRangeStatus

Files

README.md view
@@ -8,7 +8,7 @@  ## Version -`0.3.0`+`0.5.0`   ## Description
gen/Network/Google/Container.hs view
@@ -30,6 +30,9 @@      -- * Resources +    -- ** container.projects.aggregated.usableSubnetworks.list+    , module Network.Google.Resource.Container.Projects.Aggregated.UsableSubnetworks.List+     -- ** container.projects.locations.clusters.completeIpRotation     , module Network.Google.Resource.Container.Projects.Locations.Clusters.CompleteIPRotation @@ -42,6 +45,9 @@     -- ** container.projects.locations.clusters.get     , module Network.Google.Resource.Container.Projects.Locations.Clusters.Get +    -- ** container.projects.locations.clusters.getJwks+    , module Network.Google.Resource.Container.Projects.Locations.Clusters.GetJWKs+     -- ** container.projects.locations.clusters.list     , module Network.Google.Resource.Container.Projects.Locations.Clusters.List @@ -108,6 +114,9 @@     -- ** container.projects.locations.clusters.updateMaster     , module Network.Google.Resource.Container.Projects.Locations.Clusters.UpdateMaster +    -- ** container.projects.locations.clusters.well-known.getOpenid-configuration+    , module Network.Google.Resource.Container.Projects.Locations.Clusters.WellKnown.GetOpenidConfiguration+     -- ** container.projects.locations.getServerConfig     , module Network.Google.Resource.Container.Projects.Locations.GetServerConfig @@ -217,6 +226,12 @@     , networkPolicyConfig     , npcDisabled +    -- ** ListUsableSubnetworksResponse+    , ListUsableSubnetworksResponse+    , listUsableSubnetworksResponse+    , lusrNextPageToken+    , lusrSubnetworks+     -- ** UpdateNodePoolRequest     , UpdateNodePoolRequest     , updateNodePoolRequest@@ -255,6 +270,9 @@     , slarClusterId     , slarProjectId +    -- ** UsableSubnetworkSecondaryRangeStatus+    , UsableSubnetworkSecondaryRangeStatus (..)+     -- ** HorizontalPodAutoscaling     , HorizontalPodAutoscaling     , horizontalPodAutoscaling@@ -291,6 +309,7 @@     , cNodePools     , cEnableKubernetesAlpha     , cResourceLabels+    , cTpuIPv4CIdRBlock     , cNodeConfig     , cNodeIPv4CIdRSize     , cClusterIPv4CIdR@@ -311,11 +330,13 @@     , cName     , cCurrentMasterVersion     , cStatusMessage+    , cDefaultMaxPodsConstraint     , cSubnetwork     , cCurrentNodeCount     , cPrivateClusterConfig     , cMaintenancePolicy     , cConditions+    , cEnableTpu     , cEndpoint     , cExpireTime     , cNetworkPolicy@@ -426,6 +447,13 @@     -- ** OperationOperationType     , OperationOperationType (..) +    -- ** UsableSubnetworkSecondaryRange+    , UsableSubnetworkSecondaryRange+    , usableSubnetworkSecondaryRange+    , ussrStatus+    , ussrRangeName+    , ussrIPCIdRRange+     -- ** NodeManagement     , NodeManagement     , nodeManagement@@ -456,6 +484,15 @@     , smprMaintenancePolicy     , smprProjectId +    -- ** UsableSubnetwork+    , UsableSubnetwork+    , usableSubnetwork+    , usNetwork+    , usStatusMessage+    , usSecondaryIPRanges+    , usIPCIdRRange+    , usSubnetwork+     -- ** KubernetesDashboard     , KubernetesDashboard     , kubernetesDashboard@@ -476,6 +513,30 @@     , slrProjectId     , slrLabelFingerprint +    -- ** GetOpenIdConfigResponse+    , GetOpenIdConfigResponse+    , getOpenIdConfigResponse+    , goicrIdTokenSigningAlgValuesSupported+    , goicrResponseTypesSupported+    , goicrJWKsURI+    , goicrGrantTypes+    , goicrClaimsSupported+    , goicrIssuer+    , goicrSubjectTypesSupported++    -- ** JWK+    , JWK+    , jwk+    , jCrv+    , jAlg+    , jUse+    , jKid+    , jN+    , jE+    , jX+    , jKty+    , jY+     -- ** OperationStatus     , OperationStatus (..) @@ -484,10 +545,16 @@     , maintenanceWindow     , mwDailyMaintenanceWindow +    -- ** MaxPodsConstraint+    , MaxPodsConstraint+    , maxPodsConstraint+    , mpcMaxPodsPerNode+     -- ** IPAllocationPolicy     , IPAllocationPolicy     , ipAllocationPolicy     , iapServicesSecondaryRangeName+    , iapTpuIPv4CIdRBlock     , iapNodeIPv4CIdR     , iapUseIPAliases     , iapClusterIPv4CIdR@@ -521,6 +588,7 @@     , npConfig     , npInitialNodeCount     , npManagement+    , npMaxPodsConstraint     , npSelfLink     , npName     , npStatusMessage@@ -719,6 +787,11 @@     -- ** ClusterStatus     , ClusterStatus (..) +    -- ** GetJSONWebKeysResponse+    , GetJSONWebKeysResponse+    , getJSONWebKeysResponse+    , gjwkrKeys+     -- ** NodeTaintEffect     , NodeTaintEffect (..) @@ -742,10 +815,12 @@  import           Network.Google.Container.Types import           Network.Google.Prelude+import           Network.Google.Resource.Container.Projects.Aggregated.UsableSubnetworks.List import           Network.Google.Resource.Container.Projects.Locations.Clusters.CompleteIPRotation import           Network.Google.Resource.Container.Projects.Locations.Clusters.Create import           Network.Google.Resource.Container.Projects.Locations.Clusters.Delete import           Network.Google.Resource.Container.Projects.Locations.Clusters.Get+import           Network.Google.Resource.Container.Projects.Locations.Clusters.GetJWKs import           Network.Google.Resource.Container.Projects.Locations.Clusters.List import           Network.Google.Resource.Container.Projects.Locations.Clusters.NodePools.Create import           Network.Google.Resource.Container.Projects.Locations.Clusters.NodePools.Delete@@ -768,6 +843,7 @@ import           Network.Google.Resource.Container.Projects.Locations.Clusters.StartIPRotation import           Network.Google.Resource.Container.Projects.Locations.Clusters.Update import           Network.Google.Resource.Container.Projects.Locations.Clusters.UpdateMaster+import           Network.Google.Resource.Container.Projects.Locations.Clusters.WellKnown.GetOpenidConfiguration import           Network.Google.Resource.Container.Projects.Locations.GetServerConfig import           Network.Google.Resource.Container.Projects.Locations.Operations.Cancel import           Network.Google.Resource.Container.Projects.Locations.Operations.Get@@ -809,8 +885,9 @@  -- | Represents the entirety of the methods and resources available for the Kubernetes Engine API service. type ContainerAPI =-     ProjectsZonesOperationsListResource :<|>-       ProjectsZonesOperationsGetResource+     ProjectsAggregatedUsableSubnetworksListResource :<|>+       ProjectsZonesOperationsListResource+       :<|> ProjectsZonesOperationsGetResource        :<|> ProjectsZonesOperationsCancelResource        :<|> ProjectsZonesClustersNodePoolsSetSizeResource        :<|> ProjectsZonesClustersNodePoolsListResource@@ -859,6 +936,8 @@        :<|> ProjectsLocationsClustersNodePoolsDeleteResource        :<|> ProjectsLocationsClustersNodePoolsUpdateResource        :<|>+       ProjectsLocationsClustersWellKnownGetOpenidConfigurationResource+       :<|>        ProjectsLocationsClustersSetNetworkPolicyResource        :<|> ProjectsLocationsClustersSetLocationsResource        :<|> ProjectsLocationsClustersListResource@@ -876,6 +955,7 @@        ProjectsLocationsClustersCompleteIPRotationResource        :<|>        ProjectsLocationsClustersSetMaintenancePolicyResource+       :<|> ProjectsLocationsClustersGetJWKsResource        :<|> ProjectsLocationsClustersDeleteResource        :<|> ProjectsLocationsClustersUpdateResource        :<|> ProjectsLocationsClustersSetLoggingResource
gen/Network/Google/Container/Types.hs view
@@ -27,6 +27,12 @@     , networkPolicyConfig     , npcDisabled +    -- * ListUsableSubnetworksResponse+    , ListUsableSubnetworksResponse+    , listUsableSubnetworksResponse+    , lusrNextPageToken+    , lusrSubnetworks+     -- * UpdateNodePoolRequest     , UpdateNodePoolRequest     , updateNodePoolRequest@@ -65,6 +71,9 @@     , slarClusterId     , slarProjectId +    -- * UsableSubnetworkSecondaryRangeStatus+    , UsableSubnetworkSecondaryRangeStatus (..)+     -- * HorizontalPodAutoscaling     , HorizontalPodAutoscaling     , horizontalPodAutoscaling@@ -101,6 +110,7 @@     , cNodePools     , cEnableKubernetesAlpha     , cResourceLabels+    , cTpuIPv4CIdRBlock     , cNodeConfig     , cNodeIPv4CIdRSize     , cClusterIPv4CIdR@@ -121,11 +131,13 @@     , cName     , cCurrentMasterVersion     , cStatusMessage+    , cDefaultMaxPodsConstraint     , cSubnetwork     , cCurrentNodeCount     , cPrivateClusterConfig     , cMaintenancePolicy     , cConditions+    , cEnableTpu     , cEndpoint     , cExpireTime     , cNetworkPolicy@@ -236,6 +248,13 @@     -- * OperationOperationType     , OperationOperationType (..) +    -- * UsableSubnetworkSecondaryRange+    , UsableSubnetworkSecondaryRange+    , usableSubnetworkSecondaryRange+    , ussrStatus+    , ussrRangeName+    , ussrIPCIdRRange+     -- * NodeManagement     , NodeManagement     , nodeManagement@@ -266,6 +285,15 @@     , smprMaintenancePolicy     , smprProjectId +    -- * UsableSubnetwork+    , UsableSubnetwork+    , usableSubnetwork+    , usNetwork+    , usStatusMessage+    , usSecondaryIPRanges+    , usIPCIdRRange+    , usSubnetwork+     -- * KubernetesDashboard     , KubernetesDashboard     , kubernetesDashboard@@ -286,6 +314,30 @@     , slrProjectId     , slrLabelFingerprint +    -- * GetOpenIdConfigResponse+    , GetOpenIdConfigResponse+    , getOpenIdConfigResponse+    , goicrIdTokenSigningAlgValuesSupported+    , goicrResponseTypesSupported+    , goicrJWKsURI+    , goicrGrantTypes+    , goicrClaimsSupported+    , goicrIssuer+    , goicrSubjectTypesSupported++    -- * JWK+    , JWK+    , jwk+    , jCrv+    , jAlg+    , jUse+    , jKid+    , jN+    , jE+    , jX+    , jKty+    , jY+     -- * OperationStatus     , OperationStatus (..) @@ -294,10 +346,16 @@     , maintenanceWindow     , mwDailyMaintenanceWindow +    -- * MaxPodsConstraint+    , MaxPodsConstraint+    , maxPodsConstraint+    , mpcMaxPodsPerNode+     -- * IPAllocationPolicy     , IPAllocationPolicy     , ipAllocationPolicy     , iapServicesSecondaryRangeName+    , iapTpuIPv4CIdRBlock     , iapNodeIPv4CIdR     , iapUseIPAliases     , iapClusterIPv4CIdR@@ -331,6 +389,7 @@     , npConfig     , npInitialNodeCount     , npManagement+    , npMaxPodsConstraint     , npSelfLink     , npName     , npStatusMessage@@ -529,6 +588,11 @@     -- * ClusterStatus     , ClusterStatus (..) +    -- * GetJSONWebKeysResponse+    , GetJSONWebKeysResponse+    , getJSONWebKeysResponse+    , gjwkrKeys+     -- * NodeTaintEffect     , NodeTaintEffect (..) @@ -562,4 +626,4 @@  -- | View and manage your data across Google Cloud Platform services cloudPlatformScope :: Proxy '["https://www.googleapis.com/auth/cloud-platform"]-cloudPlatformScope = Proxy;+cloudPlatformScope = Proxy
gen/Network/Google/Container/Types/Product.hs view
@@ -25,5030 +25,5807 @@ -- is enabled for the nodes. -- -- /See:/ 'networkPolicyConfig' smart constructor.-newtype NetworkPolicyConfig = NetworkPolicyConfig'-    { _npcDisabled :: Maybe Bool-    } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'NetworkPolicyConfig' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'npcDisabled'-networkPolicyConfig-    :: NetworkPolicyConfig-networkPolicyConfig =-    NetworkPolicyConfig'-    { _npcDisabled = Nothing-    }---- | Whether NetworkPolicy is enabled for this cluster.-npcDisabled :: Lens' NetworkPolicyConfig (Maybe Bool)-npcDisabled-  = lens _npcDisabled (\ s a -> s{_npcDisabled = a})--instance FromJSON NetworkPolicyConfig where-        parseJSON-          = withObject "NetworkPolicyConfig"-              (\ o -> NetworkPolicyConfig' <$> (o .:? "disabled"))--instance ToJSON NetworkPolicyConfig where-        toJSON NetworkPolicyConfig'{..}-          = object-              (catMaybes [("disabled" .=) <$> _npcDisabled])---- | UpdateNodePoolRequests update a node pool\'s image and\/or version.------ /See:/ 'updateNodePoolRequest' smart constructor.-data UpdateNodePoolRequest = UpdateNodePoolRequest'-    { _unprZone        :: !(Maybe Text)-    , _unprNodePoolId  :: !(Maybe Text)-    , _unprImageType   :: !(Maybe Text)-    , _unprName        :: !(Maybe Text)-    , _unprClusterId   :: !(Maybe Text)-    , _unprNodeVersion :: !(Maybe Text)-    , _unprProjectId   :: !(Maybe Text)-    } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'UpdateNodePoolRequest' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'unprZone'------ * 'unprNodePoolId'------ * 'unprImageType'------ * 'unprName'------ * 'unprClusterId'------ * 'unprNodeVersion'------ * 'unprProjectId'-updateNodePoolRequest-    :: UpdateNodePoolRequest-updateNodePoolRequest =-    UpdateNodePoolRequest'-    { _unprZone = Nothing-    , _unprNodePoolId = Nothing-    , _unprImageType = Nothing-    , _unprName = Nothing-    , _unprClusterId = Nothing-    , _unprNodeVersion = Nothing-    , _unprProjectId = Nothing-    }---- | Deprecated. The name of the Google Compute Engine--- [zone](\/compute\/docs\/zones#available) in which the cluster resides.--- This field has been deprecated and replaced by the name field.-unprZone :: Lens' UpdateNodePoolRequest (Maybe Text)-unprZone = lens _unprZone (\ s a -> s{_unprZone = a})---- | Deprecated. The name of the node pool to upgrade. This field has been--- deprecated and replaced by the name field.-unprNodePoolId :: Lens' UpdateNodePoolRequest (Maybe Text)-unprNodePoolId-  = lens _unprNodePoolId-      (\ s a -> s{_unprNodePoolId = a})---- | The desired image type for the node pool.-unprImageType :: Lens' UpdateNodePoolRequest (Maybe Text)-unprImageType-  = lens _unprImageType-      (\ s a -> s{_unprImageType = a})---- | The name (project, location, cluster, node pool) of the node pool to--- update. Specified in the format--- \'projects\/*\/locations\/*\/clusters\/*\/nodePools\/*\'.-unprName :: Lens' UpdateNodePoolRequest (Maybe Text)-unprName = lens _unprName (\ s a -> s{_unprName = a})---- | Deprecated. The name of the cluster to upgrade. This field has been--- deprecated and replaced by the name field.-unprClusterId :: Lens' UpdateNodePoolRequest (Maybe Text)-unprClusterId-  = lens _unprClusterId-      (\ s a -> s{_unprClusterId = a})---- | The Kubernetes version to change the nodes to (typically an upgrade).--- Users may specify either explicit versions offered by Kubernetes Engine--- or version aliases, which have the following behavior: - \"latest\":--- picks the highest valid Kubernetes version - \"1.X\": picks the highest--- valid patch+gke.N patch in the 1.X version - \"1.X.Y\": picks the--- highest valid gke.N patch in the 1.X.Y version - \"1.X.Y-gke.N\": picks--- an explicit Kubernetes version - \"-\": picks the Kubernetes master--- version-unprNodeVersion :: Lens' UpdateNodePoolRequest (Maybe Text)-unprNodeVersion-  = lens _unprNodeVersion-      (\ s a -> s{_unprNodeVersion = a})---- | Deprecated. The Google Developers Console [project ID or project--- number](https:\/\/support.google.com\/cloud\/answer\/6158840). This--- field has been deprecated and replaced by the name field.-unprProjectId :: Lens' UpdateNodePoolRequest (Maybe Text)-unprProjectId-  = lens _unprProjectId-      (\ s a -> s{_unprProjectId = a})--instance FromJSON UpdateNodePoolRequest where-        parseJSON-          = withObject "UpdateNodePoolRequest"-              (\ o ->-                 UpdateNodePoolRequest' <$>-                   (o .:? "zone") <*> (o .:? "nodePoolId") <*>-                     (o .:? "imageType")-                     <*> (o .:? "name")-                     <*> (o .:? "clusterId")-                     <*> (o .:? "nodeVersion")-                     <*> (o .:? "projectId"))--instance ToJSON UpdateNodePoolRequest where-        toJSON UpdateNodePoolRequest'{..}-          = object-              (catMaybes-                 [("zone" .=) <$> _unprZone,-                  ("nodePoolId" .=) <$> _unprNodePoolId,-                  ("imageType" .=) <$> _unprImageType,-                  ("name" .=) <$> _unprName,-                  ("clusterId" .=) <$> _unprClusterId,-                  ("nodeVersion" .=) <$> _unprNodeVersion,-                  ("projectId" .=) <$> _unprProjectId])---- | UpdateMasterRequest updates the master of the cluster.------ /See:/ 'updateMasterRequest' smart constructor.-data UpdateMasterRequest = UpdateMasterRequest'-    { _umrZone          :: !(Maybe Text)-    , _umrName          :: !(Maybe Text)-    , _umrClusterId     :: !(Maybe Text)-    , _umrProjectId     :: !(Maybe Text)-    , _umrMasterVersion :: !(Maybe Text)-    } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'UpdateMasterRequest' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'umrZone'------ * 'umrName'------ * 'umrClusterId'------ * 'umrProjectId'------ * 'umrMasterVersion'-updateMasterRequest-    :: UpdateMasterRequest-updateMasterRequest =-    UpdateMasterRequest'-    { _umrZone = Nothing-    , _umrName = Nothing-    , _umrClusterId = Nothing-    , _umrProjectId = Nothing-    , _umrMasterVersion = Nothing-    }---- | Deprecated. The name of the Google Compute Engine--- [zone](\/compute\/docs\/zones#available) in which the cluster resides.--- This field has been deprecated and replaced by the name field.-umrZone :: Lens' UpdateMasterRequest (Maybe Text)-umrZone = lens _umrZone (\ s a -> s{_umrZone = a})---- | The name (project, location, cluster) of the cluster to update.--- Specified in the format \'projects\/*\/locations\/*\/clusters\/*\'.-umrName :: Lens' UpdateMasterRequest (Maybe Text)-umrName = lens _umrName (\ s a -> s{_umrName = a})---- | Deprecated. The name of the cluster to upgrade. This field has been--- deprecated and replaced by the name field.-umrClusterId :: Lens' UpdateMasterRequest (Maybe Text)-umrClusterId-  = lens _umrClusterId (\ s a -> s{_umrClusterId = a})---- | Deprecated. The Google Developers Console [project ID or project--- number](https:\/\/support.google.com\/cloud\/answer\/6158840). This--- field has been deprecated and replaced by the name field.-umrProjectId :: Lens' UpdateMasterRequest (Maybe Text)-umrProjectId-  = lens _umrProjectId (\ s a -> s{_umrProjectId = a})---- | The Kubernetes version to change the master to. Users may specify either--- explicit versions offered by Kubernetes Engine or version aliases, which--- have the following behavior: - \"latest\": picks the highest valid--- Kubernetes version - \"1.X\": picks the highest valid patch+gke.N patch--- in the 1.X version - \"1.X.Y\": picks the highest valid gke.N patch in--- the 1.X.Y version - \"1.X.Y-gke.N\": picks an explicit Kubernetes--- version - \"-\": picks the default Kubernetes version-umrMasterVersion :: Lens' UpdateMasterRequest (Maybe Text)-umrMasterVersion-  = lens _umrMasterVersion-      (\ s a -> s{_umrMasterVersion = a})--instance FromJSON UpdateMasterRequest where-        parseJSON-          = withObject "UpdateMasterRequest"-              (\ o ->-                 UpdateMasterRequest' <$>-                   (o .:? "zone") <*> (o .:? "name") <*>-                     (o .:? "clusterId")-                     <*> (o .:? "projectId")-                     <*> (o .:? "masterVersion"))--instance ToJSON UpdateMasterRequest where-        toJSON UpdateMasterRequest'{..}-          = object-              (catMaybes-                 [("zone" .=) <$> _umrZone, ("name" .=) <$> _umrName,-                  ("clusterId" .=) <$> _umrClusterId,-                  ("projectId" .=) <$> _umrProjectId,-                  ("masterVersion" .=) <$> _umrMasterVersion])---- | StartIPRotationRequest creates a new IP for the cluster and then--- performs a node upgrade on each node pool to point to the new IP.------ /See:/ 'startIPRotationRequest' smart constructor.-data StartIPRotationRequest = StartIPRotationRequest'-    { _sirrZone              :: !(Maybe Text)-    , _sirrRotateCredentials :: !(Maybe Bool)-    , _sirrName              :: !(Maybe Text)-    , _sirrClusterId         :: !(Maybe Text)-    , _sirrProjectId         :: !(Maybe Text)-    } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'StartIPRotationRequest' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'sirrZone'------ * 'sirrRotateCredentials'------ * 'sirrName'------ * 'sirrClusterId'------ * 'sirrProjectId'-startIPRotationRequest-    :: StartIPRotationRequest-startIPRotationRequest =-    StartIPRotationRequest'-    { _sirrZone = Nothing-    , _sirrRotateCredentials = Nothing-    , _sirrName = Nothing-    , _sirrClusterId = Nothing-    , _sirrProjectId = Nothing-    }---- | Deprecated. The name of the Google Compute Engine--- [zone](\/compute\/docs\/zones#available) in which the cluster resides.--- This field has been deprecated and replaced by the name field.-sirrZone :: Lens' StartIPRotationRequest (Maybe Text)-sirrZone = lens _sirrZone (\ s a -> s{_sirrZone = a})---- | Whether to rotate credentials during IP rotation.-sirrRotateCredentials :: Lens' StartIPRotationRequest (Maybe Bool)-sirrRotateCredentials-  = lens _sirrRotateCredentials-      (\ s a -> s{_sirrRotateCredentials = a})---- | The name (project, location, cluster id) of the cluster to start IP--- rotation. Specified in the format--- \'projects\/*\/locations\/*\/clusters\/*\'.-sirrName :: Lens' StartIPRotationRequest (Maybe Text)-sirrName = lens _sirrName (\ s a -> s{_sirrName = a})---- | Deprecated. The name of the cluster. This field has been deprecated and--- replaced by the name field.-sirrClusterId :: Lens' StartIPRotationRequest (Maybe Text)-sirrClusterId-  = lens _sirrClusterId-      (\ s a -> s{_sirrClusterId = a})---- | Deprecated. The Google Developers Console [project ID or project--- number](https:\/\/developers.google.com\/console\/help\/new\/#projectnumber).--- This field has been deprecated and replaced by the name field.-sirrProjectId :: Lens' StartIPRotationRequest (Maybe Text)-sirrProjectId-  = lens _sirrProjectId-      (\ s a -> s{_sirrProjectId = a})--instance FromJSON StartIPRotationRequest where-        parseJSON-          = withObject "StartIPRotationRequest"-              (\ o ->-                 StartIPRotationRequest' <$>-                   (o .:? "zone") <*> (o .:? "rotateCredentials") <*>-                     (o .:? "name")-                     <*> (o .:? "clusterId")-                     <*> (o .:? "projectId"))--instance ToJSON StartIPRotationRequest where-        toJSON StartIPRotationRequest'{..}-          = object-              (catMaybes-                 [("zone" .=) <$> _sirrZone,-                  ("rotateCredentials" .=) <$> _sirrRotateCredentials,-                  ("name" .=) <$> _sirrName,-                  ("clusterId" .=) <$> _sirrClusterId,-                  ("projectId" .=) <$> _sirrProjectId])---- | SetLegacyAbacRequest enables or disables the ABAC authorization--- mechanism for a cluster.------ /See:/ 'setLegacyAbacRequest' smart constructor.-data SetLegacyAbacRequest = SetLegacyAbacRequest'-    { _slarEnabled   :: !(Maybe Bool)-    , _slarZone      :: !(Maybe Text)-    , _slarName      :: !(Maybe Text)-    , _slarClusterId :: !(Maybe Text)-    , _slarProjectId :: !(Maybe Text)-    } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'SetLegacyAbacRequest' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'slarEnabled'------ * 'slarZone'------ * 'slarName'------ * 'slarClusterId'------ * 'slarProjectId'-setLegacyAbacRequest-    :: SetLegacyAbacRequest-setLegacyAbacRequest =-    SetLegacyAbacRequest'-    { _slarEnabled = Nothing-    , _slarZone = Nothing-    , _slarName = Nothing-    , _slarClusterId = Nothing-    , _slarProjectId = Nothing-    }---- | Whether ABAC authorization will be enabled in the cluster.-slarEnabled :: Lens' SetLegacyAbacRequest (Maybe Bool)-slarEnabled-  = lens _slarEnabled (\ s a -> s{_slarEnabled = a})---- | Deprecated. The name of the Google Compute Engine--- [zone](\/compute\/docs\/zones#available) in which the cluster resides.--- This field has been deprecated and replaced by the name field.-slarZone :: Lens' SetLegacyAbacRequest (Maybe Text)-slarZone = lens _slarZone (\ s a -> s{_slarZone = a})---- | The name (project, location, cluster id) of the cluster to set legacy--- abac. Specified in the format--- \'projects\/*\/locations\/*\/clusters\/*\'.-slarName :: Lens' SetLegacyAbacRequest (Maybe Text)-slarName = lens _slarName (\ s a -> s{_slarName = a})---- | Deprecated. The name of the cluster to update. This field has been--- deprecated and replaced by the name field.-slarClusterId :: Lens' SetLegacyAbacRequest (Maybe Text)-slarClusterId-  = lens _slarClusterId-      (\ s a -> s{_slarClusterId = a})---- | Deprecated. The Google Developers Console [project ID or project--- number](https:\/\/support.google.com\/cloud\/answer\/6158840). This--- field has been deprecated and replaced by the name field.-slarProjectId :: Lens' SetLegacyAbacRequest (Maybe Text)-slarProjectId-  = lens _slarProjectId-      (\ s a -> s{_slarProjectId = a})--instance FromJSON SetLegacyAbacRequest where-        parseJSON-          = withObject "SetLegacyAbacRequest"-              (\ o ->-                 SetLegacyAbacRequest' <$>-                   (o .:? "enabled") <*> (o .:? "zone") <*>-                     (o .:? "name")-                     <*> (o .:? "clusterId")-                     <*> (o .:? "projectId"))--instance ToJSON SetLegacyAbacRequest where-        toJSON SetLegacyAbacRequest'{..}-          = object-              (catMaybes-                 [("enabled" .=) <$> _slarEnabled,-                  ("zone" .=) <$> _slarZone, ("name" .=) <$> _slarName,-                  ("clusterId" .=) <$> _slarClusterId,-                  ("projectId" .=) <$> _slarProjectId])---- | Configuration options for the horizontal pod autoscaling feature, which--- increases or decreases the number of replica pods a replication--- controller has based on the resource usage of the existing pods.------ /See:/ 'horizontalPodAutoscaling' smart constructor.-newtype HorizontalPodAutoscaling = HorizontalPodAutoscaling'-    { _hpaDisabled :: Maybe Bool-    } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'HorizontalPodAutoscaling' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'hpaDisabled'-horizontalPodAutoscaling-    :: HorizontalPodAutoscaling-horizontalPodAutoscaling =-    HorizontalPodAutoscaling'-    { _hpaDisabled = Nothing-    }---- | Whether the Horizontal Pod Autoscaling feature is enabled in the--- cluster. When enabled, it ensures that a Heapster pod is running in the--- cluster, which is also used by the Cloud Monitoring service.-hpaDisabled :: Lens' HorizontalPodAutoscaling (Maybe Bool)-hpaDisabled-  = lens _hpaDisabled (\ s a -> s{_hpaDisabled = a})--instance FromJSON HorizontalPodAutoscaling where-        parseJSON-          = withObject "HorizontalPodAutoscaling"-              (\ o ->-                 HorizontalPodAutoscaling' <$> (o .:? "disabled"))--instance ToJSON HorizontalPodAutoscaling where-        toJSON HorizontalPodAutoscaling'{..}-          = object-              (catMaybes [("disabled" .=) <$> _hpaDisabled])---- | SetMasterAuthRequest updates the admin password of a cluster.------ /See:/ 'setMasterAuthRequest' smart constructor.-data SetMasterAuthRequest = SetMasterAuthRequest'-    { _smarAction    :: !(Maybe SetMasterAuthRequestAction)-    , _smarZone      :: !(Maybe Text)-    , _smarName      :: !(Maybe Text)-    , _smarClusterId :: !(Maybe Text)-    , _smarProjectId :: !(Maybe Text)-    , _smarUpdate    :: !(Maybe MasterAuth)-    } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'SetMasterAuthRequest' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'smarAction'------ * 'smarZone'------ * 'smarName'------ * 'smarClusterId'------ * 'smarProjectId'------ * 'smarUpdate'-setMasterAuthRequest-    :: SetMasterAuthRequest-setMasterAuthRequest =-    SetMasterAuthRequest'-    { _smarAction = Nothing-    , _smarZone = Nothing-    , _smarName = Nothing-    , _smarClusterId = Nothing-    , _smarProjectId = Nothing-    , _smarUpdate = Nothing-    }---- | The exact form of action to be taken on the master auth.-smarAction :: Lens' SetMasterAuthRequest (Maybe SetMasterAuthRequestAction)-smarAction-  = lens _smarAction (\ s a -> s{_smarAction = a})---- | Deprecated. The name of the Google Compute Engine--- [zone](\/compute\/docs\/zones#available) in which the cluster resides.--- This field has been deprecated and replaced by the name field.-smarZone :: Lens' SetMasterAuthRequest (Maybe Text)-smarZone = lens _smarZone (\ s a -> s{_smarZone = a})---- | The name (project, location, cluster) of the cluster to set auth.--- Specified in the format \'projects\/*\/locations\/*\/clusters\/*\'.-smarName :: Lens' SetMasterAuthRequest (Maybe Text)-smarName = lens _smarName (\ s a -> s{_smarName = a})---- | Deprecated. The name of the cluster to upgrade. This field has been--- deprecated and replaced by the name field.-smarClusterId :: Lens' SetMasterAuthRequest (Maybe Text)-smarClusterId-  = lens _smarClusterId-      (\ s a -> s{_smarClusterId = a})---- | Deprecated. The Google Developers Console [project ID or project--- number](https:\/\/support.google.com\/cloud\/answer\/6158840). This--- field has been deprecated and replaced by the name field.-smarProjectId :: Lens' SetMasterAuthRequest (Maybe Text)-smarProjectId-  = lens _smarProjectId-      (\ s a -> s{_smarProjectId = a})---- | A description of the update.-smarUpdate :: Lens' SetMasterAuthRequest (Maybe MasterAuth)-smarUpdate-  = lens _smarUpdate (\ s a -> s{_smarUpdate = a})--instance FromJSON SetMasterAuthRequest where-        parseJSON-          = withObject "SetMasterAuthRequest"-              (\ o ->-                 SetMasterAuthRequest' <$>-                   (o .:? "action") <*> (o .:? "zone") <*>-                     (o .:? "name")-                     <*> (o .:? "clusterId")-                     <*> (o .:? "projectId")-                     <*> (o .:? "update"))--instance ToJSON SetMasterAuthRequest where-        toJSON SetMasterAuthRequest'{..}-          = object-              (catMaybes-                 [("action" .=) <$> _smarAction,-                  ("zone" .=) <$> _smarZone, ("name" .=) <$> _smarName,-                  ("clusterId" .=) <$> _smarClusterId,-                  ("projectId" .=) <$> _smarProjectId,-                  ("update" .=) <$> _smarUpdate])---- | ListOperationsResponse is the result of ListOperationsRequest.------ /See:/ 'listOperationsResponse' smart constructor.-data ListOperationsResponse = ListOperationsResponse'-    { _lorOperations   :: !(Maybe [Operation])-    , _lorMissingZones :: !(Maybe [Text])-    } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'ListOperationsResponse' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'lorOperations'------ * 'lorMissingZones'-listOperationsResponse-    :: ListOperationsResponse-listOperationsResponse =-    ListOperationsResponse'-    { _lorOperations = Nothing-    , _lorMissingZones = Nothing-    }---- | A list of operations in the project in the specified zone.-lorOperations :: Lens' ListOperationsResponse [Operation]-lorOperations-  = lens _lorOperations-      (\ s a -> s{_lorOperations = a})-      . _Default-      . _Coerce---- | If any zones are listed here, the list of operations returned may be--- missing the operations from those zones.-lorMissingZones :: Lens' ListOperationsResponse [Text]-lorMissingZones-  = lens _lorMissingZones-      (\ s a -> s{_lorMissingZones = a})-      . _Default-      . _Coerce--instance FromJSON ListOperationsResponse where-        parseJSON-          = withObject "ListOperationsResponse"-              (\ o ->-                 ListOperationsResponse' <$>-                   (o .:? "operations" .!= mempty) <*>-                     (o .:? "missingZones" .!= mempty))--instance ToJSON ListOperationsResponse where-        toJSON ListOperationsResponse'{..}-          = object-              (catMaybes-                 [("operations" .=) <$> _lorOperations,-                  ("missingZones" .=) <$> _lorMissingZones])---- | CreateClusterRequest creates a cluster.------ /See:/ 'createClusterRequest' smart constructor.-data CreateClusterRequest = CreateClusterRequest'-    { _ccrParent    :: !(Maybe Text)-    , _ccrCluster   :: !(Maybe Cluster)-    , _ccrZone      :: !(Maybe Text)-    , _ccrProjectId :: !(Maybe Text)-    } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'CreateClusterRequest' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'ccrParent'------ * 'ccrCluster'------ * 'ccrZone'------ * 'ccrProjectId'-createClusterRequest-    :: CreateClusterRequest-createClusterRequest =-    CreateClusterRequest'-    { _ccrParent = Nothing-    , _ccrCluster = Nothing-    , _ccrZone = Nothing-    , _ccrProjectId = Nothing-    }---- | The parent (project and location) where the cluster will be created.--- Specified in the format \'projects\/*\/locations\/*\'.-ccrParent :: Lens' CreateClusterRequest (Maybe Text)-ccrParent-  = lens _ccrParent (\ s a -> s{_ccrParent = a})---- | A [cluster--- resource](\/container-engine\/reference\/rest\/v1\/projects.zones.clusters)-ccrCluster :: Lens' CreateClusterRequest (Maybe Cluster)-ccrCluster-  = lens _ccrCluster (\ s a -> s{_ccrCluster = a})---- | Deprecated. The name of the Google Compute Engine--- [zone](\/compute\/docs\/zones#available) in which the cluster resides.--- This field has been deprecated and replaced by the parent field.-ccrZone :: Lens' CreateClusterRequest (Maybe Text)-ccrZone = lens _ccrZone (\ s a -> s{_ccrZone = a})---- | Deprecated. The Google Developers Console [project ID or project--- number](https:\/\/support.google.com\/cloud\/answer\/6158840). This--- field has been deprecated and replaced by the parent field.-ccrProjectId :: Lens' CreateClusterRequest (Maybe Text)-ccrProjectId-  = lens _ccrProjectId (\ s a -> s{_ccrProjectId = a})--instance FromJSON CreateClusterRequest where-        parseJSON-          = withObject "CreateClusterRequest"-              (\ o ->-                 CreateClusterRequest' <$>-                   (o .:? "parent") <*> (o .:? "cluster") <*>-                     (o .:? "zone")-                     <*> (o .:? "projectId"))--instance ToJSON CreateClusterRequest where-        toJSON CreateClusterRequest'{..}-          = object-              (catMaybes-                 [("parent" .=) <$> _ccrParent,-                  ("cluster" .=) <$> _ccrCluster,-                  ("zone" .=) <$> _ccrZone,-                  ("projectId" .=) <$> _ccrProjectId])---- | A Google Kubernetes Engine cluster.------ /See:/ 'cluster' smart constructor.-data Cluster = Cluster'-    { _cStatus                         :: !(Maybe ClusterStatus)-    , _cNodePools                      :: !(Maybe [NodePool])-    , _cEnableKubernetesAlpha          :: !(Maybe Bool)-    , _cResourceLabels                 :: !(Maybe ClusterResourceLabels)-    , _cNodeConfig                     :: !(Maybe NodeConfig)-    , _cNodeIPv4CIdRSize               :: !(Maybe (Textual Int32))-    , _cClusterIPv4CIdR                :: !(Maybe Text)-    , _cLocation                       :: !(Maybe Text)-    , _cInitialNodeCount               :: !(Maybe (Textual Int32))-    , _cCurrentNodeVersion             :: !(Maybe Text)-    , _cNetwork                        :: !(Maybe Text)-    , _cInitialClusterVersion          :: !(Maybe Text)-    , _cZone                           :: !(Maybe Text)-    , _cAddonsConfig                   :: !(Maybe AddonsConfig)-    , _cServicesIPv4CIdR               :: !(Maybe Text)-    , _cIPAllocationPolicy             :: !(Maybe IPAllocationPolicy)-    , _cMasterAuthorizedNetworksConfig :: !(Maybe MasterAuthorizedNetworksConfig)-    , _cLegacyAbac                     :: !(Maybe LegacyAbac)-    , _cNetworkConfig                  :: !(Maybe NetworkConfig)-    , _cMasterAuth                     :: !(Maybe MasterAuth)-    , _cSelfLink                       :: !(Maybe Text)-    , _cName                           :: !(Maybe Text)-    , _cCurrentMasterVersion           :: !(Maybe Text)-    , _cStatusMessage                  :: !(Maybe Text)-    , _cSubnetwork                     :: !(Maybe Text)-    , _cCurrentNodeCount               :: !(Maybe (Textual Int32))-    , _cPrivateClusterConfig           :: !(Maybe PrivateClusterConfig)-    , _cMaintenancePolicy              :: !(Maybe MaintenancePolicy)-    , _cConditions                     :: !(Maybe [StatusCondition])-    , _cEndpoint                       :: !(Maybe Text)-    , _cExpireTime                     :: !(Maybe Text)-    , _cNetworkPolicy                  :: !(Maybe NetworkPolicy)-    , _cLocations                      :: !(Maybe [Text])-    , _cLoggingService                 :: !(Maybe Text)-    , _cLabelFingerprint               :: !(Maybe Text)-    , _cDescription                    :: !(Maybe Text)-    , _cInstanceGroupURLs              :: !(Maybe [Text])-    , _cMonitoringService              :: !(Maybe Text)-    , _cCreateTime                     :: !(Maybe Text)-    } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'Cluster' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'cStatus'------ * 'cNodePools'------ * 'cEnableKubernetesAlpha'------ * 'cResourceLabels'------ * 'cNodeConfig'------ * 'cNodeIPv4CIdRSize'------ * 'cClusterIPv4CIdR'------ * 'cLocation'------ * 'cInitialNodeCount'------ * 'cCurrentNodeVersion'------ * 'cNetwork'------ * 'cInitialClusterVersion'------ * 'cZone'------ * 'cAddonsConfig'------ * 'cServicesIPv4CIdR'------ * 'cIPAllocationPolicy'------ * 'cMasterAuthorizedNetworksConfig'------ * 'cLegacyAbac'------ * 'cNetworkConfig'------ * 'cMasterAuth'------ * 'cSelfLink'------ * 'cName'------ * 'cCurrentMasterVersion'------ * 'cStatusMessage'------ * 'cSubnetwork'------ * 'cCurrentNodeCount'------ * 'cPrivateClusterConfig'------ * 'cMaintenancePolicy'------ * 'cConditions'------ * 'cEndpoint'------ * 'cExpireTime'------ * 'cNetworkPolicy'------ * 'cLocations'------ * 'cLoggingService'------ * 'cLabelFingerprint'------ * 'cDescription'------ * 'cInstanceGroupURLs'------ * 'cMonitoringService'------ * 'cCreateTime'-cluster-    :: Cluster-cluster =-    Cluster'-    { _cStatus = Nothing-    , _cNodePools = Nothing-    , _cEnableKubernetesAlpha = Nothing-    , _cResourceLabels = Nothing-    , _cNodeConfig = Nothing-    , _cNodeIPv4CIdRSize = Nothing-    , _cClusterIPv4CIdR = Nothing-    , _cLocation = Nothing-    , _cInitialNodeCount = Nothing-    , _cCurrentNodeVersion = Nothing-    , _cNetwork = Nothing-    , _cInitialClusterVersion = Nothing-    , _cZone = Nothing-    , _cAddonsConfig = Nothing-    , _cServicesIPv4CIdR = Nothing-    , _cIPAllocationPolicy = Nothing-    , _cMasterAuthorizedNetworksConfig = Nothing-    , _cLegacyAbac = Nothing-    , _cNetworkConfig = Nothing-    , _cMasterAuth = Nothing-    , _cSelfLink = Nothing-    , _cName = Nothing-    , _cCurrentMasterVersion = Nothing-    , _cStatusMessage = Nothing-    , _cSubnetwork = Nothing-    , _cCurrentNodeCount = Nothing-    , _cPrivateClusterConfig = Nothing-    , _cMaintenancePolicy = Nothing-    , _cConditions = Nothing-    , _cEndpoint = Nothing-    , _cExpireTime = Nothing-    , _cNetworkPolicy = Nothing-    , _cLocations = Nothing-    , _cLoggingService = Nothing-    , _cLabelFingerprint = Nothing-    , _cDescription = Nothing-    , _cInstanceGroupURLs = Nothing-    , _cMonitoringService = Nothing-    , _cCreateTime = Nothing-    }---- | [Output only] The current status of this cluster.-cStatus :: Lens' Cluster (Maybe ClusterStatus)-cStatus = lens _cStatus (\ s a -> s{_cStatus = a})---- | The node pools associated with this cluster. This field should not be--- set if \"node_config\" or \"initial_node_count\" are specified.-cNodePools :: Lens' Cluster [NodePool]-cNodePools-  = lens _cNodePools (\ s a -> s{_cNodePools = a}) .-      _Default-      . _Coerce---- | Kubernetes alpha features are enabled on this cluster. This includes--- alpha API groups (e.g. v1alpha1) and features that may not be production--- ready in the kubernetes version of the master and nodes. The cluster has--- no SLA for uptime and master\/node upgrades are disabled. Alpha enabled--- clusters are automatically deleted thirty days after creation.-cEnableKubernetesAlpha :: Lens' Cluster (Maybe Bool)-cEnableKubernetesAlpha-  = lens _cEnableKubernetesAlpha-      (\ s a -> s{_cEnableKubernetesAlpha = a})---- | The resource labels for the cluster to use to annotate any related--- Google Compute Engine resources.-cResourceLabels :: Lens' Cluster (Maybe ClusterResourceLabels)-cResourceLabels-  = lens _cResourceLabels-      (\ s a -> s{_cResourceLabels = a})---- | Parameters used in creating the cluster\'s nodes. See \`nodeConfig\` for--- the description of its properties. For requests, this field should only--- be used in lieu of a \"node_pool\" object, since this configuration--- (along with the \"initial_node_count\") will be used to create a--- \"NodePool\" object with an auto-generated name. Do not use this and a--- node_pool at the same time. For responses, this field will be populated--- with the node configuration of the first node pool. If unspecified, the--- defaults are used.-cNodeConfig :: Lens' Cluster (Maybe NodeConfig)-cNodeConfig-  = lens _cNodeConfig (\ s a -> s{_cNodeConfig = a})---- | [Output only] The size of the address space on each node for hosting--- containers. This is provisioned from within the \`container_ipv4_cidr\`--- range.-cNodeIPv4CIdRSize :: Lens' Cluster (Maybe Int32)-cNodeIPv4CIdRSize-  = lens _cNodeIPv4CIdRSize-      (\ s a -> s{_cNodeIPv4CIdRSize = a})-      . mapping _Coerce---- | The IP address range of the container pods in this cluster, in--- [CIDR](http:\/\/en.wikipedia.org\/wiki\/Classless_Inter-Domain_Routing)--- notation (e.g. \`10.96.0.0\/14\`). Leave blank to have one automatically--- chosen or specify a \`\/14\` block in \`10.0.0.0\/8\`.-cClusterIPv4CIdR :: Lens' Cluster (Maybe Text)-cClusterIPv4CIdR-  = lens _cClusterIPv4CIdR-      (\ s a -> s{_cClusterIPv4CIdR = a})---- | [Output only] The name of the Google Compute Engine--- [zone](\/compute\/docs\/regions-zones\/regions-zones#available) or--- [region](\/compute\/docs\/regions-zones\/regions-zones#available) in--- which the cluster resides.-cLocation :: Lens' Cluster (Maybe Text)-cLocation-  = lens _cLocation (\ s a -> s{_cLocation = a})---- | The number of nodes to create in this cluster. You must ensure that your--- Compute Engine </compute/docs/resource-quotas resource quota> is--- sufficient for this number of instances. You must also have available--- firewall and routes quota. For requests, this field should only be used--- in lieu of a \"node_pool\" object, since this configuration (along with--- the \"node_config\") will be used to create a \"NodePool\" object with--- an auto-generated name. Do not use this and a node_pool at the same--- time.-cInitialNodeCount :: Lens' Cluster (Maybe Int32)-cInitialNodeCount-  = lens _cInitialNodeCount-      (\ s a -> s{_cInitialNodeCount = a})-      . mapping _Coerce---- | [Output only] Deprecated, use--- [NodePool.version](\/kubernetes-engine\/docs\/reference\/rest\/v1\/projects.zones.clusters.nodePool)--- instead. The current version of the node software components. If they--- are currently at multiple versions because they\'re in the process of--- being upgraded, this reflects the minimum version of all nodes.-cCurrentNodeVersion :: Lens' Cluster (Maybe Text)-cCurrentNodeVersion-  = lens _cCurrentNodeVersion-      (\ s a -> s{_cCurrentNodeVersion = a})---- | The name of the Google Compute Engine--- [network](\/compute\/docs\/networks-and-firewalls#networks) to which the--- cluster is connected. If left unspecified, the \`default\` network will--- be used.-cNetwork :: Lens' Cluster (Maybe Text)-cNetwork = lens _cNetwork (\ s a -> s{_cNetwork = a})---- | The initial Kubernetes version for this cluster. Valid versions are--- those found in validMasterVersions returned by getServerConfig. The--- version can be upgraded over time; such upgrades are reflected in--- currentMasterVersion and currentNodeVersion. Users may specify either--- explicit versions offered by Kubernetes Engine or version aliases, which--- have the following behavior: - \"latest\": picks the highest valid--- Kubernetes version - \"1.X\": picks the highest valid patch+gke.N patch--- in the 1.X version - \"1.X.Y\": picks the highest valid gke.N patch in--- the 1.X.Y version - \"1.X.Y-gke.N\": picks an explicit Kubernetes--- version - \"\",\"-\": picks the default Kubernetes version-cInitialClusterVersion :: Lens' Cluster (Maybe Text)-cInitialClusterVersion-  = lens _cInitialClusterVersion-      (\ s a -> s{_cInitialClusterVersion = a})---- | [Output only] The name of the Google Compute Engine--- [zone](\/compute\/docs\/zones#available) in which the cluster resides.--- This field is deprecated, use location instead.-cZone :: Lens' Cluster (Maybe Text)-cZone = lens _cZone (\ s a -> s{_cZone = a})---- | Configurations for the various addons available to run in the cluster.-cAddonsConfig :: Lens' Cluster (Maybe AddonsConfig)-cAddonsConfig-  = lens _cAddonsConfig-      (\ s a -> s{_cAddonsConfig = a})---- | [Output only] The IP address range of the Kubernetes services in this--- cluster, in--- [CIDR](http:\/\/en.wikipedia.org\/wiki\/Classless_Inter-Domain_Routing)--- notation (e.g. \`1.2.3.4\/29\`). Service addresses are typically put in--- the last \`\/16\` from the container CIDR.-cServicesIPv4CIdR :: Lens' Cluster (Maybe Text)-cServicesIPv4CIdR-  = lens _cServicesIPv4CIdR-      (\ s a -> s{_cServicesIPv4CIdR = a})---- | Configuration for cluster IP allocation.-cIPAllocationPolicy :: Lens' Cluster (Maybe IPAllocationPolicy)-cIPAllocationPolicy-  = lens _cIPAllocationPolicy-      (\ s a -> s{_cIPAllocationPolicy = a})---- | The configuration options for master authorized networks feature.-cMasterAuthorizedNetworksConfig :: Lens' Cluster (Maybe MasterAuthorizedNetworksConfig)-cMasterAuthorizedNetworksConfig-  = lens _cMasterAuthorizedNetworksConfig-      (\ s a -> s{_cMasterAuthorizedNetworksConfig = a})---- | Configuration for the legacy ABAC authorization mode.-cLegacyAbac :: Lens' Cluster (Maybe LegacyAbac)-cLegacyAbac-  = lens _cLegacyAbac (\ s a -> s{_cLegacyAbac = a})---- | Configuration for cluster networking.-cNetworkConfig :: Lens' Cluster (Maybe NetworkConfig)-cNetworkConfig-  = lens _cNetworkConfig-      (\ s a -> s{_cNetworkConfig = a})---- | The authentication information for accessing the master endpoint. If--- unspecified, the defaults are used: For clusters before v1.12, if--- master_auth is unspecified, \`username\` will be set to \"admin\", a--- random password will be generated, and a client certificate will be--- issued.-cMasterAuth :: Lens' Cluster (Maybe MasterAuth)-cMasterAuth-  = lens _cMasterAuth (\ s a -> s{_cMasterAuth = a})---- | [Output only] Server-defined URL for the resource.-cSelfLink :: Lens' Cluster (Maybe Text)-cSelfLink-  = lens _cSelfLink (\ s a -> s{_cSelfLink = a})---- | The name of this cluster. The name must be unique within this project--- and zone, and can be up to 40 characters with the following--- restrictions: * Lowercase letters, numbers, and hyphens only. * Must--- start with a letter. * Must end with a number or a letter.-cName :: Lens' Cluster (Maybe Text)-cName = lens _cName (\ s a -> s{_cName = a})---- | [Output only] The current software version of the master endpoint.-cCurrentMasterVersion :: Lens' Cluster (Maybe Text)-cCurrentMasterVersion-  = lens _cCurrentMasterVersion-      (\ s a -> s{_cCurrentMasterVersion = a})---- | [Output only] Additional information about the current status of this--- cluster, if available.-cStatusMessage :: Lens' Cluster (Maybe Text)-cStatusMessage-  = lens _cStatusMessage-      (\ s a -> s{_cStatusMessage = a})---- | The name of the Google Compute Engine--- [subnetwork](\/compute\/docs\/subnetworks) to which the cluster is--- connected.-cSubnetwork :: Lens' Cluster (Maybe Text)-cSubnetwork-  = lens _cSubnetwork (\ s a -> s{_cSubnetwork = a})---- | [Output only] The number of nodes currently in the cluster. Deprecated.--- Call Kubernetes API directly to retrieve node information.-cCurrentNodeCount :: Lens' Cluster (Maybe Int32)-cCurrentNodeCount-  = lens _cCurrentNodeCount-      (\ s a -> s{_cCurrentNodeCount = a})-      . mapping _Coerce---- | Configuration for private cluster.-cPrivateClusterConfig :: Lens' Cluster (Maybe PrivateClusterConfig)-cPrivateClusterConfig-  = lens _cPrivateClusterConfig-      (\ s a -> s{_cPrivateClusterConfig = a})---- | Configure the maintenance policy for this cluster.-cMaintenancePolicy :: Lens' Cluster (Maybe MaintenancePolicy)-cMaintenancePolicy-  = lens _cMaintenancePolicy-      (\ s a -> s{_cMaintenancePolicy = a})---- | Which conditions caused the current cluster state.-cConditions :: Lens' Cluster [StatusCondition]-cConditions-  = lens _cConditions (\ s a -> s{_cConditions = a}) .-      _Default-      . _Coerce---- | [Output only] The IP address of this cluster\'s master endpoint. The--- endpoint can be accessed from the internet at--- \`https:\/\/username:password\'endpoint\/\`. See the \`masterAuth\`--- property of this resource for username and password information.-cEndpoint :: Lens' Cluster (Maybe Text)-cEndpoint-  = lens _cEndpoint (\ s a -> s{_cEndpoint = a})---- | [Output only] The time the cluster will be automatically deleted in--- [RFC3339](https:\/\/www.ietf.org\/rfc\/rfc3339.txt) text format.-cExpireTime :: Lens' Cluster (Maybe Text)-cExpireTime-  = lens _cExpireTime (\ s a -> s{_cExpireTime = a})---- | Configuration options for the NetworkPolicy feature.-cNetworkPolicy :: Lens' Cluster (Maybe NetworkPolicy)-cNetworkPolicy-  = lens _cNetworkPolicy-      (\ s a -> s{_cNetworkPolicy = a})---- | The list of Google Compute Engine--- [zones](\/compute\/docs\/zones#available) in which the cluster\'s nodes--- should be located.-cLocations :: Lens' Cluster [Text]-cLocations-  = lens _cLocations (\ s a -> s{_cLocations = a}) .-      _Default-      . _Coerce---- | The logging service the cluster should use to write logs. Currently--- available options: * \`logging.googleapis.com\` - the Google Cloud--- Logging service. * \`none\` - no logs will be exported from the cluster.--- * if left as an empty string,\`logging.googleapis.com\` will be used.-cLoggingService :: Lens' Cluster (Maybe Text)-cLoggingService-  = lens _cLoggingService-      (\ s a -> s{_cLoggingService = a})---- | The fingerprint of the set of labels for this cluster.-cLabelFingerprint :: Lens' Cluster (Maybe Text)-cLabelFingerprint-  = lens _cLabelFingerprint-      (\ s a -> s{_cLabelFingerprint = a})---- | An optional description of this cluster.-cDescription :: Lens' Cluster (Maybe Text)-cDescription-  = lens _cDescription (\ s a -> s{_cDescription = a})---- | Deprecated. Use node_pools.instance_group_urls.-cInstanceGroupURLs :: Lens' Cluster [Text]-cInstanceGroupURLs-  = lens _cInstanceGroupURLs-      (\ s a -> s{_cInstanceGroupURLs = a})-      . _Default-      . _Coerce---- | The monitoring service the cluster should use to write metrics.--- Currently available options: * \`monitoring.googleapis.com\` - the--- Google Cloud Monitoring service. * \`none\` - no metrics will be--- exported from the cluster. * if left as an empty string,--- \`monitoring.googleapis.com\` will be used.-cMonitoringService :: Lens' Cluster (Maybe Text)-cMonitoringService-  = lens _cMonitoringService-      (\ s a -> s{_cMonitoringService = a})---- | [Output only] The time the cluster was created, in--- [RFC3339](https:\/\/www.ietf.org\/rfc\/rfc3339.txt) text format.-cCreateTime :: Lens' Cluster (Maybe Text)-cCreateTime-  = lens _cCreateTime (\ s a -> s{_cCreateTime = a})--instance FromJSON Cluster where-        parseJSON-          = withObject "Cluster"-              (\ o ->-                 Cluster' <$>-                   (o .:? "status") <*> (o .:? "nodePools" .!= mempty)-                     <*> (o .:? "enableKubernetesAlpha")-                     <*> (o .:? "resourceLabels")-                     <*> (o .:? "nodeConfig")-                     <*> (o .:? "nodeIpv4CidrSize")-                     <*> (o .:? "clusterIpv4Cidr")-                     <*> (o .:? "location")-                     <*> (o .:? "initialNodeCount")-                     <*> (o .:? "currentNodeVersion")-                     <*> (o .:? "network")-                     <*> (o .:? "initialClusterVersion")-                     <*> (o .:? "zone")-                     <*> (o .:? "addonsConfig")-                     <*> (o .:? "servicesIpv4Cidr")-                     <*> (o .:? "ipAllocationPolicy")-                     <*> (o .:? "masterAuthorizedNetworksConfig")-                     <*> (o .:? "legacyAbac")-                     <*> (o .:? "networkConfig")-                     <*> (o .:? "masterAuth")-                     <*> (o .:? "selfLink")-                     <*> (o .:? "name")-                     <*> (o .:? "currentMasterVersion")-                     <*> (o .:? "statusMessage")-                     <*> (o .:? "subnetwork")-                     <*> (o .:? "currentNodeCount")-                     <*> (o .:? "privateClusterConfig")-                     <*> (o .:? "maintenancePolicy")-                     <*> (o .:? "conditions" .!= mempty)-                     <*> (o .:? "endpoint")-                     <*> (o .:? "expireTime")-                     <*> (o .:? "networkPolicy")-                     <*> (o .:? "locations" .!= mempty)-                     <*> (o .:? "loggingService")-                     <*> (o .:? "labelFingerprint")-                     <*> (o .:? "description")-                     <*> (o .:? "instanceGroupUrls" .!= mempty)-                     <*> (o .:? "monitoringService")-                     <*> (o .:? "createTime"))--instance ToJSON Cluster where-        toJSON Cluster'{..}-          = object-              (catMaybes-                 [("status" .=) <$> _cStatus,-                  ("nodePools" .=) <$> _cNodePools,-                  ("enableKubernetesAlpha" .=) <$>-                    _cEnableKubernetesAlpha,-                  ("resourceLabels" .=) <$> _cResourceLabels,-                  ("nodeConfig" .=) <$> _cNodeConfig,-                  ("nodeIpv4CidrSize" .=) <$> _cNodeIPv4CIdRSize,-                  ("clusterIpv4Cidr" .=) <$> _cClusterIPv4CIdR,-                  ("location" .=) <$> _cLocation,-                  ("initialNodeCount" .=) <$> _cInitialNodeCount,-                  ("currentNodeVersion" .=) <$> _cCurrentNodeVersion,-                  ("network" .=) <$> _cNetwork,-                  ("initialClusterVersion" .=) <$>-                    _cInitialClusterVersion,-                  ("zone" .=) <$> _cZone,-                  ("addonsConfig" .=) <$> _cAddonsConfig,-                  ("servicesIpv4Cidr" .=) <$> _cServicesIPv4CIdR,-                  ("ipAllocationPolicy" .=) <$> _cIPAllocationPolicy,-                  ("masterAuthorizedNetworksConfig" .=) <$>-                    _cMasterAuthorizedNetworksConfig,-                  ("legacyAbac" .=) <$> _cLegacyAbac,-                  ("networkConfig" .=) <$> _cNetworkConfig,-                  ("masterAuth" .=) <$> _cMasterAuth,-                  ("selfLink" .=) <$> _cSelfLink,-                  ("name" .=) <$> _cName,-                  ("currentMasterVersion" .=) <$>-                    _cCurrentMasterVersion,-                  ("statusMessage" .=) <$> _cStatusMessage,-                  ("subnetwork" .=) <$> _cSubnetwork,-                  ("currentNodeCount" .=) <$> _cCurrentNodeCount,-                  ("privateClusterConfig" .=) <$>-                    _cPrivateClusterConfig,-                  ("maintenancePolicy" .=) <$> _cMaintenancePolicy,-                  ("conditions" .=) <$> _cConditions,-                  ("endpoint" .=) <$> _cEndpoint,-                  ("expireTime" .=) <$> _cExpireTime,-                  ("networkPolicy" .=) <$> _cNetworkPolicy,-                  ("locations" .=) <$> _cLocations,-                  ("loggingService" .=) <$> _cLoggingService,-                  ("labelFingerprint" .=) <$> _cLabelFingerprint,-                  ("description" .=) <$> _cDescription,-                  ("instanceGroupUrls" .=) <$> _cInstanceGroupURLs,-                  ("monitoringService" .=) <$> _cMonitoringService,-                  ("createTime" .=) <$> _cCreateTime])---- | CancelOperationRequest cancels a single operation.------ /See:/ 'cancelOperationRequest' smart constructor.-data CancelOperationRequest = CancelOperationRequest'-    { _corZone        :: !(Maybe Text)-    , _corName        :: !(Maybe Text)-    , _corProjectId   :: !(Maybe Text)-    , _corOperationId :: !(Maybe Text)-    } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'CancelOperationRequest' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'corZone'------ * 'corName'------ * 'corProjectId'------ * 'corOperationId'-cancelOperationRequest-    :: CancelOperationRequest-cancelOperationRequest =-    CancelOperationRequest'-    { _corZone = Nothing-    , _corName = Nothing-    , _corProjectId = Nothing-    , _corOperationId = Nothing-    }---- | Deprecated. The name of the Google Compute Engine--- [zone](\/compute\/docs\/zones#available) in which the operation resides.--- This field has been deprecated and replaced by the name field.-corZone :: Lens' CancelOperationRequest (Maybe Text)-corZone = lens _corZone (\ s a -> s{_corZone = a})---- | The name (project, location, operation id) of the operation to cancel.--- Specified in the format \'projects\/*\/locations\/*\/operations\/*\'.-corName :: Lens' CancelOperationRequest (Maybe Text)-corName = lens _corName (\ s a -> s{_corName = a})---- | Deprecated. The Google Developers Console [project ID or project--- number](https:\/\/support.google.com\/cloud\/answer\/6158840). This--- field has been deprecated and replaced by the name field.-corProjectId :: Lens' CancelOperationRequest (Maybe Text)-corProjectId-  = lens _corProjectId (\ s a -> s{_corProjectId = a})---- | Deprecated. The server-assigned \`name\` of the operation. This field--- has been deprecated and replaced by the name field.-corOperationId :: Lens' CancelOperationRequest (Maybe Text)-corOperationId-  = lens _corOperationId-      (\ s a -> s{_corOperationId = a})--instance FromJSON CancelOperationRequest where-        parseJSON-          = withObject "CancelOperationRequest"-              (\ o ->-                 CancelOperationRequest' <$>-                   (o .:? "zone") <*> (o .:? "name") <*>-                     (o .:? "projectId")-                     <*> (o .:? "operationId"))--instance ToJSON CancelOperationRequest where-        toJSON CancelOperationRequest'{..}-          = object-              (catMaybes-                 [("zone" .=) <$> _corZone, ("name" .=) <$> _corName,-                  ("projectId" .=) <$> _corProjectId,-                  ("operationId" .=) <$> _corOperationId])---- | UpdateClusterRequest updates the settings of a cluster.------ /See:/ 'updateClusterRequest' smart constructor.-data UpdateClusterRequest = UpdateClusterRequest'-    { _ucrZone      :: !(Maybe Text)-    , _ucrName      :: !(Maybe Text)-    , _ucrClusterId :: !(Maybe Text)-    , _ucrProjectId :: !(Maybe Text)-    , _ucrUpdate    :: !(Maybe ClusterUpdate)-    } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'UpdateClusterRequest' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'ucrZone'------ * 'ucrName'------ * 'ucrClusterId'------ * 'ucrProjectId'------ * 'ucrUpdate'-updateClusterRequest-    :: UpdateClusterRequest-updateClusterRequest =-    UpdateClusterRequest'-    { _ucrZone = Nothing-    , _ucrName = Nothing-    , _ucrClusterId = Nothing-    , _ucrProjectId = Nothing-    , _ucrUpdate = Nothing-    }---- | Deprecated. The name of the Google Compute Engine--- [zone](\/compute\/docs\/zones#available) in which the cluster resides.--- This field has been deprecated and replaced by the name field.-ucrZone :: Lens' UpdateClusterRequest (Maybe Text)-ucrZone = lens _ucrZone (\ s a -> s{_ucrZone = a})---- | The name (project, location, cluster) of the cluster to update.--- Specified in the format \'projects\/*\/locations\/*\/clusters\/*\'.-ucrName :: Lens' UpdateClusterRequest (Maybe Text)-ucrName = lens _ucrName (\ s a -> s{_ucrName = a})---- | Deprecated. The name of the cluster to upgrade. This field has been--- deprecated and replaced by the name field.-ucrClusterId :: Lens' UpdateClusterRequest (Maybe Text)-ucrClusterId-  = lens _ucrClusterId (\ s a -> s{_ucrClusterId = a})---- | Deprecated. The Google Developers Console [project ID or project--- number](https:\/\/support.google.com\/cloud\/answer\/6158840). This--- field has been deprecated and replaced by the name field.-ucrProjectId :: Lens' UpdateClusterRequest (Maybe Text)-ucrProjectId-  = lens _ucrProjectId (\ s a -> s{_ucrProjectId = a})---- | A description of the update.-ucrUpdate :: Lens' UpdateClusterRequest (Maybe ClusterUpdate)-ucrUpdate-  = lens _ucrUpdate (\ s a -> s{_ucrUpdate = a})--instance FromJSON UpdateClusterRequest where-        parseJSON-          = withObject "UpdateClusterRequest"-              (\ o ->-                 UpdateClusterRequest' <$>-                   (o .:? "zone") <*> (o .:? "name") <*>-                     (o .:? "clusterId")-                     <*> (o .:? "projectId")-                     <*> (o .:? "update"))--instance ToJSON UpdateClusterRequest where-        toJSON UpdateClusterRequest'{..}-          = object-              (catMaybes-                 [("zone" .=) <$> _ucrZone, ("name" .=) <$> _ucrName,-                  ("clusterId" .=) <$> _ucrClusterId,-                  ("projectId" .=) <$> _ucrProjectId,-                  ("update" .=) <$> _ucrUpdate])---- | SetAddonsConfigRequest sets the addons associated with the cluster.------ /See:/ 'setAddonsConfigRequest' smart constructor.-data SetAddonsConfigRequest = SetAddonsConfigRequest'-    { _sacrZone         :: !(Maybe Text)-    , _sacrAddonsConfig :: !(Maybe AddonsConfig)-    , _sacrName         :: !(Maybe Text)-    , _sacrClusterId    :: !(Maybe Text)-    , _sacrProjectId    :: !(Maybe Text)-    } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'SetAddonsConfigRequest' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'sacrZone'------ * 'sacrAddonsConfig'------ * 'sacrName'------ * 'sacrClusterId'------ * 'sacrProjectId'-setAddonsConfigRequest-    :: SetAddonsConfigRequest-setAddonsConfigRequest =-    SetAddonsConfigRequest'-    { _sacrZone = Nothing-    , _sacrAddonsConfig = Nothing-    , _sacrName = Nothing-    , _sacrClusterId = Nothing-    , _sacrProjectId = Nothing-    }---- | Deprecated. The name of the Google Compute Engine--- [zone](\/compute\/docs\/zones#available) in which the cluster resides.--- This field has been deprecated and replaced by the name field.-sacrZone :: Lens' SetAddonsConfigRequest (Maybe Text)-sacrZone = lens _sacrZone (\ s a -> s{_sacrZone = a})---- | The desired configurations for the various addons available to run in--- the cluster.-sacrAddonsConfig :: Lens' SetAddonsConfigRequest (Maybe AddonsConfig)-sacrAddonsConfig-  = lens _sacrAddonsConfig-      (\ s a -> s{_sacrAddonsConfig = a})---- | The name (project, location, cluster) of the cluster to set addons.--- Specified in the format \'projects\/*\/locations\/*\/clusters\/*\'.-sacrName :: Lens' SetAddonsConfigRequest (Maybe Text)-sacrName = lens _sacrName (\ s a -> s{_sacrName = a})---- | Deprecated. The name of the cluster to upgrade. This field has been--- deprecated and replaced by the name field.-sacrClusterId :: Lens' SetAddonsConfigRequest (Maybe Text)-sacrClusterId-  = lens _sacrClusterId-      (\ s a -> s{_sacrClusterId = a})---- | Deprecated. The Google Developers Console [project ID or project--- number](https:\/\/support.google.com\/cloud\/answer\/6158840). This--- field has been deprecated and replaced by the name field.-sacrProjectId :: Lens' SetAddonsConfigRequest (Maybe Text)-sacrProjectId-  = lens _sacrProjectId-      (\ s a -> s{_sacrProjectId = a})--instance FromJSON SetAddonsConfigRequest where-        parseJSON-          = withObject "SetAddonsConfigRequest"-              (\ o ->-                 SetAddonsConfigRequest' <$>-                   (o .:? "zone") <*> (o .:? "addonsConfig") <*>-                     (o .:? "name")-                     <*> (o .:? "clusterId")-                     <*> (o .:? "projectId"))--instance ToJSON SetAddonsConfigRequest where-        toJSON SetAddonsConfigRequest'{..}-          = object-              (catMaybes-                 [("zone" .=) <$> _sacrZone,-                  ("addonsConfig" .=) <$> _sacrAddonsConfig,-                  ("name" .=) <$> _sacrName,-                  ("clusterId" .=) <$> _sacrClusterId,-                  ("projectId" .=) <$> _sacrProjectId])---- | Parameters that describe the nodes in a cluster.------ /See:/ 'nodeConfig' smart constructor.-data NodeConfig = NodeConfig'-    { _ncLocalSsdCount  :: !(Maybe (Textual Int32))-    , _ncDiskSizeGb     :: !(Maybe (Textual Int32))-    , _ncTaints         :: !(Maybe [NodeTaint])-    , _ncOAuthScopes    :: !(Maybe [Text])-    , _ncServiceAccount :: !(Maybe Text)-    , _ncAccelerators   :: !(Maybe [AcceleratorConfig])-    , _ncImageType      :: !(Maybe Text)-    , _ncMachineType    :: !(Maybe Text)-    , _ncMetadata       :: !(Maybe NodeConfigMetadata)-    , _ncDiskType       :: !(Maybe Text)-    , _ncLabels         :: !(Maybe NodeConfigLabels)-    , _ncMinCPUPlatform :: !(Maybe Text)-    , _ncTags           :: !(Maybe [Text])-    , _ncPreemptible    :: !(Maybe Bool)-    } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'NodeConfig' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'ncLocalSsdCount'------ * 'ncDiskSizeGb'------ * 'ncTaints'------ * 'ncOAuthScopes'------ * 'ncServiceAccount'------ * 'ncAccelerators'------ * 'ncImageType'------ * 'ncMachineType'------ * 'ncMetadata'------ * 'ncDiskType'------ * 'ncLabels'------ * 'ncMinCPUPlatform'------ * 'ncTags'------ * 'ncPreemptible'-nodeConfig-    :: NodeConfig-nodeConfig =-    NodeConfig'-    { _ncLocalSsdCount = Nothing-    , _ncDiskSizeGb = Nothing-    , _ncTaints = Nothing-    , _ncOAuthScopes = Nothing-    , _ncServiceAccount = Nothing-    , _ncAccelerators = Nothing-    , _ncImageType = Nothing-    , _ncMachineType = Nothing-    , _ncMetadata = Nothing-    , _ncDiskType = Nothing-    , _ncLabels = Nothing-    , _ncMinCPUPlatform = Nothing-    , _ncTags = Nothing-    , _ncPreemptible = Nothing-    }---- | The number of local SSD disks to be attached to the node. The limit for--- this value is dependant upon the maximum number of disks available on a--- machine per zone. See:--- https:\/\/cloud.google.com\/compute\/docs\/disks\/local-ssd#local_ssd_limits--- for more information.-ncLocalSsdCount :: Lens' NodeConfig (Maybe Int32)-ncLocalSsdCount-  = lens _ncLocalSsdCount-      (\ s a -> s{_ncLocalSsdCount = a})-      . mapping _Coerce---- | Size of the disk attached to each node, specified in GB. The smallest--- allowed disk size is 10GB. If unspecified, the default disk size is--- 100GB.-ncDiskSizeGb :: Lens' NodeConfig (Maybe Int32)-ncDiskSizeGb-  = lens _ncDiskSizeGb (\ s a -> s{_ncDiskSizeGb = a})-      . mapping _Coerce---- | List of kubernetes taints to be applied to each node. For more--- information, including usage and the valid values, see:--- https:\/\/kubernetes.io\/docs\/concepts\/configuration\/taint-and-toleration\/-ncTaints :: Lens' NodeConfig [NodeTaint]-ncTaints-  = lens _ncTaints (\ s a -> s{_ncTaints = a}) .-      _Default-      . _Coerce---- | The set of Google API scopes to be made available on all of the node VMs--- under the \"default\" service account. The following scopes are--- recommended, but not required, and by default are not included: *--- \`https:\/\/www.googleapis.com\/auth\/compute\` is required for mounting--- persistent storage on your nodes. *--- \`https:\/\/www.googleapis.com\/auth\/devstorage.read_only\` is required--- for communicating with **gcr.io** (the [Google Container--- Registry](\/container-registry\/)). If unspecified, no scopes are added,--- unless Cloud Logging or Cloud Monitoring are enabled, in which case--- their required scopes will be added.-ncOAuthScopes :: Lens' NodeConfig [Text]-ncOAuthScopes-  = lens _ncOAuthScopes-      (\ s a -> s{_ncOAuthScopes = a})-      . _Default-      . _Coerce---- | The Google Cloud Platform Service Account to be used by the node VMs. If--- no Service Account is specified, the \"default\" service account is--- used.-ncServiceAccount :: Lens' NodeConfig (Maybe Text)-ncServiceAccount-  = lens _ncServiceAccount-      (\ s a -> s{_ncServiceAccount = a})---- | A list of hardware accelerators to be attached to each node. See--- https:\/\/cloud.google.com\/compute\/docs\/gpus for more information--- about support for GPUs.-ncAccelerators :: Lens' NodeConfig [AcceleratorConfig]-ncAccelerators-  = lens _ncAccelerators-      (\ s a -> s{_ncAccelerators = a})-      . _Default-      . _Coerce---- | The image type to use for this node. Note that for a given image type,--- the latest version of it will be used.-ncImageType :: Lens' NodeConfig (Maybe Text)-ncImageType-  = lens _ncImageType (\ s a -> s{_ncImageType = a})---- | The name of a Google Compute Engine [machine--- type](\/compute\/docs\/machine-types) (e.g. \`n1-standard-1\`). If--- unspecified, the default machine type is \`n1-standard-1\`.-ncMachineType :: Lens' NodeConfig (Maybe Text)-ncMachineType-  = lens _ncMachineType-      (\ s a -> s{_ncMachineType = a})---- | The metadata key\/value pairs assigned to instances in the cluster. Keys--- must conform to the regexp [a-zA-Z0-9-_]+ and be less than 128 bytes in--- length. These are reflected as part of a URL in the metadata server.--- Additionally, to avoid ambiguity, keys must not conflict with any other--- metadata keys for the project or be one of the reserved keys:--- \"cluster-location\" \"cluster-name\" \"cluster-uid\" \"configure-sh\"--- \"enable-os-login\" \"gci-update-strategy\" \"gci-ensure-gke-docker\"--- \"instance-template\" \"kube-env\" \"startup-script\" \"user-data\"--- Values are free-form strings, and only have meaning as interpreted by--- the image running in the instance. The only restriction placed on them--- is that each value\'s size must be less than or equal to 32 KB. The--- total size of all keys and values must be less than 512 KB.-ncMetadata :: Lens' NodeConfig (Maybe NodeConfigMetadata)-ncMetadata-  = lens _ncMetadata (\ s a -> s{_ncMetadata = a})---- | Type of the disk attached to each node (e.g. \'pd-standard\' or--- \'pd-ssd\') If unspecified, the default disk type is \'pd-standard\'-ncDiskType :: Lens' NodeConfig (Maybe Text)-ncDiskType-  = lens _ncDiskType (\ s a -> s{_ncDiskType = a})---- | The map of Kubernetes labels (key\/value pairs) to be applied to each--- node. These will added in addition to any default label(s) that--- Kubernetes may apply to the node. In case of conflict in label keys, the--- applied set may differ depending on the Kubernetes version -- it\'s best--- to assume the behavior is undefined and conflicts should be avoided. For--- more information, including usage and the valid values, see:--- https:\/\/kubernetes.io\/docs\/concepts\/overview\/working-with-objects\/labels\/-ncLabels :: Lens' NodeConfig (Maybe NodeConfigLabels)-ncLabels = lens _ncLabels (\ s a -> s{_ncLabels = a})---- | Minimum CPU platform to be used by this instance. The instance may be--- scheduled on the specified or newer CPU platform. Applicable values are--- the friendly names of CPU platforms, such as--- 'minCpuPlatform: \"Intel Haswell\"' or--- 'minCpuPlatform: \"Intel Sandy Bridge\"'. For more information, read--- [how to specify min CPU--- platform](https:\/\/cloud.google.com\/compute\/docs\/instances\/specify-min-cpu-platform)-ncMinCPUPlatform :: Lens' NodeConfig (Maybe Text)-ncMinCPUPlatform-  = lens _ncMinCPUPlatform-      (\ s a -> s{_ncMinCPUPlatform = a})---- | The list of instance tags applied to all nodes. Tags are used to--- identify valid sources or targets for network firewalls and are--- specified by the client during cluster or node pool creation. Each tag--- within the list must comply with RFC1035.-ncTags :: Lens' NodeConfig [Text]-ncTags-  = lens _ncTags (\ s a -> s{_ncTags = a}) . _Default .-      _Coerce---- | Whether the nodes are created as preemptible VM instances. See:--- https:\/\/cloud.google.com\/compute\/docs\/instances\/preemptible for--- more information about preemptible VM instances.-ncPreemptible :: Lens' NodeConfig (Maybe Bool)-ncPreemptible-  = lens _ncPreemptible-      (\ s a -> s{_ncPreemptible = a})--instance FromJSON NodeConfig where-        parseJSON-          = withObject "NodeConfig"-              (\ o ->-                 NodeConfig' <$>-                   (o .:? "localSsdCount") <*> (o .:? "diskSizeGb") <*>-                     (o .:? "taints" .!= mempty)-                     <*> (o .:? "oauthScopes" .!= mempty)-                     <*> (o .:? "serviceAccount")-                     <*> (o .:? "accelerators" .!= mempty)-                     <*> (o .:? "imageType")-                     <*> (o .:? "machineType")-                     <*> (o .:? "metadata")-                     <*> (o .:? "diskType")-                     <*> (o .:? "labels")-                     <*> (o .:? "minCpuPlatform")-                     <*> (o .:? "tags" .!= mempty)-                     <*> (o .:? "preemptible"))--instance ToJSON NodeConfig where-        toJSON NodeConfig'{..}-          = object-              (catMaybes-                 [("localSsdCount" .=) <$> _ncLocalSsdCount,-                  ("diskSizeGb" .=) <$> _ncDiskSizeGb,-                  ("taints" .=) <$> _ncTaints,-                  ("oauthScopes" .=) <$> _ncOAuthScopes,-                  ("serviceAccount" .=) <$> _ncServiceAccount,-                  ("accelerators" .=) <$> _ncAccelerators,-                  ("imageType" .=) <$> _ncImageType,-                  ("machineType" .=) <$> _ncMachineType,-                  ("metadata" .=) <$> _ncMetadata,-                  ("diskType" .=) <$> _ncDiskType,-                  ("labels" .=) <$> _ncLabels,-                  ("minCpuPlatform" .=) <$> _ncMinCPUPlatform,-                  ("tags" .=) <$> _ncTags,-                  ("preemptible" .=) <$> _ncPreemptible])---- | Configuration options for the HTTP (L7) load balancing controller addon,--- which makes it easy to set up HTTP load balancers for services in a--- cluster.------ /See:/ 'hTTPLoadBalancing' smart constructor.-newtype HTTPLoadBalancing = HTTPLoadBalancing'-    { _httplbDisabled :: Maybe Bool-    } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'HTTPLoadBalancing' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'httplbDisabled'-hTTPLoadBalancing-    :: HTTPLoadBalancing-hTTPLoadBalancing =-    HTTPLoadBalancing'-    { _httplbDisabled = Nothing-    }---- | Whether the HTTP Load Balancing controller is enabled in the cluster.--- When enabled, it runs a small pod in the cluster that manages the load--- balancers.-httplbDisabled :: Lens' HTTPLoadBalancing (Maybe Bool)-httplbDisabled-  = lens _httplbDisabled-      (\ s a -> s{_httplbDisabled = a})--instance FromJSON HTTPLoadBalancing where-        parseJSON-          = withObject "HTTPLoadBalancing"-              (\ o -> HTTPLoadBalancing' <$> (o .:? "disabled"))--instance ToJSON HTTPLoadBalancing where-        toJSON HTTPLoadBalancing'{..}-          = object-              (catMaybes [("disabled" .=) <$> _httplbDisabled])---- | This operation resource represents operations that may have happened or--- are happening on the cluster. All fields are output only.------ /See:/ 'operation' smart constructor.-data Operation = Operation'-    { _oNodepoolConditions :: !(Maybe [StatusCondition])-    , _oStatus             :: !(Maybe OperationStatus)-    , _oLocation           :: !(Maybe Text)-    , _oStartTime          :: !(Maybe Text)-    , _oZone               :: !(Maybe Text)-    , _oSelfLink           :: !(Maybe Text)-    , _oName               :: !(Maybe Text)-    , _oStatusMessage      :: !(Maybe Text)-    , _oEndTime            :: !(Maybe Text)-    , _oClusterConditions  :: !(Maybe [StatusCondition])-    , _oOperationType      :: !(Maybe OperationOperationType)-    , _oTargetLink         :: !(Maybe Text)-    , _oDetail             :: !(Maybe Text)-    } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'Operation' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'oNodepoolConditions'------ * 'oStatus'------ * 'oLocation'------ * 'oStartTime'------ * 'oZone'------ * 'oSelfLink'------ * 'oName'------ * 'oStatusMessage'------ * 'oEndTime'------ * 'oClusterConditions'------ * 'oOperationType'------ * 'oTargetLink'------ * 'oDetail'-operation-    :: Operation-operation =-    Operation'-    { _oNodepoolConditions = Nothing-    , _oStatus = Nothing-    , _oLocation = Nothing-    , _oStartTime = Nothing-    , _oZone = Nothing-    , _oSelfLink = Nothing-    , _oName = Nothing-    , _oStatusMessage = Nothing-    , _oEndTime = Nothing-    , _oClusterConditions = Nothing-    , _oOperationType = Nothing-    , _oTargetLink = Nothing-    , _oDetail = Nothing-    }---- | Which conditions caused the current node pool state.-oNodepoolConditions :: Lens' Operation [StatusCondition]-oNodepoolConditions-  = lens _oNodepoolConditions-      (\ s a -> s{_oNodepoolConditions = a})-      . _Default-      . _Coerce---- | The current status of the operation.-oStatus :: Lens' Operation (Maybe OperationStatus)-oStatus = lens _oStatus (\ s a -> s{_oStatus = a})---- | [Output only] The name of the Google Compute Engine--- [zone](\/compute\/docs\/regions-zones\/regions-zones#available) or--- [region](\/compute\/docs\/regions-zones\/regions-zones#available) in--- which the cluster resides.-oLocation :: Lens' Operation (Maybe Text)-oLocation-  = lens _oLocation (\ s a -> s{_oLocation = a})---- | [Output only] The time the operation started, in--- [RFC3339](https:\/\/www.ietf.org\/rfc\/rfc3339.txt) text format.-oStartTime :: Lens' Operation (Maybe Text)-oStartTime-  = lens _oStartTime (\ s a -> s{_oStartTime = a})---- | The name of the Google Compute Engine--- [zone](\/compute\/docs\/zones#available) in which the operation is--- taking place. This field is deprecated, use location instead.-oZone :: Lens' Operation (Maybe Text)-oZone = lens _oZone (\ s a -> s{_oZone = a})---- | Server-defined URL for the resource.-oSelfLink :: Lens' Operation (Maybe Text)-oSelfLink-  = lens _oSelfLink (\ s a -> s{_oSelfLink = a})---- | The server-assigned ID for the operation.-oName :: Lens' Operation (Maybe Text)-oName = lens _oName (\ s a -> s{_oName = a})---- | If an error has occurred, a textual description of the error.-oStatusMessage :: Lens' Operation (Maybe Text)-oStatusMessage-  = lens _oStatusMessage-      (\ s a -> s{_oStatusMessage = a})---- | [Output only] The time the operation completed, in--- [RFC3339](https:\/\/www.ietf.org\/rfc\/rfc3339.txt) text format.-oEndTime :: Lens' Operation (Maybe Text)-oEndTime = lens _oEndTime (\ s a -> s{_oEndTime = a})---- | Which conditions caused the current cluster state.-oClusterConditions :: Lens' Operation [StatusCondition]-oClusterConditions-  = lens _oClusterConditions-      (\ s a -> s{_oClusterConditions = a})-      . _Default-      . _Coerce---- | The operation type.-oOperationType :: Lens' Operation (Maybe OperationOperationType)-oOperationType-  = lens _oOperationType-      (\ s a -> s{_oOperationType = a})---- | Server-defined URL for the target of the operation.-oTargetLink :: Lens' Operation (Maybe Text)-oTargetLink-  = lens _oTargetLink (\ s a -> s{_oTargetLink = a})---- | Detailed operation progress, if available.-oDetail :: Lens' Operation (Maybe Text)-oDetail = lens _oDetail (\ s a -> s{_oDetail = a})--instance FromJSON Operation where-        parseJSON-          = withObject "Operation"-              (\ o ->-                 Operation' <$>-                   (o .:? "nodepoolConditions" .!= mempty) <*>-                     (o .:? "status")-                     <*> (o .:? "location")-                     <*> (o .:? "startTime")-                     <*> (o .:? "zone")-                     <*> (o .:? "selfLink")-                     <*> (o .:? "name")-                     <*> (o .:? "statusMessage")-                     <*> (o .:? "endTime")-                     <*> (o .:? "clusterConditions" .!= mempty)-                     <*> (o .:? "operationType")-                     <*> (o .:? "targetLink")-                     <*> (o .:? "detail"))--instance ToJSON Operation where-        toJSON Operation'{..}-          = object-              (catMaybes-                 [("nodepoolConditions" .=) <$> _oNodepoolConditions,-                  ("status" .=) <$> _oStatus,-                  ("location" .=) <$> _oLocation,-                  ("startTime" .=) <$> _oStartTime,-                  ("zone" .=) <$> _oZone,-                  ("selfLink" .=) <$> _oSelfLink,-                  ("name" .=) <$> _oName,-                  ("statusMessage" .=) <$> _oStatusMessage,-                  ("endTime" .=) <$> _oEndTime,-                  ("clusterConditions" .=) <$> _oClusterConditions,-                  ("operationType" .=) <$> _oOperationType,-                  ("targetLink" .=) <$> _oTargetLink,-                  ("detail" .=) <$> _oDetail])---- | The resource labels for the cluster to use to annotate any related--- Google Compute Engine resources.------ /See:/ 'clusterResourceLabels' smart constructor.-newtype ClusterResourceLabels = ClusterResourceLabels'-    { _crlAddtional :: HashMap Text Text-    } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'ClusterResourceLabels' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'crlAddtional'-clusterResourceLabels-    :: HashMap Text Text -- ^ 'crlAddtional'-    -> ClusterResourceLabels-clusterResourceLabels pCrlAddtional_ =-    ClusterResourceLabels'-    { _crlAddtional = _Coerce # pCrlAddtional_-    }--crlAddtional :: Lens' ClusterResourceLabels (HashMap Text Text)-crlAddtional-  = lens _crlAddtional (\ s a -> s{_crlAddtional = a})-      . _Coerce--instance FromJSON ClusterResourceLabels where-        parseJSON-          = withObject "ClusterResourceLabels"-              (\ o ->-                 ClusterResourceLabels' <$> (parseJSONObject o))--instance ToJSON ClusterResourceLabels where-        toJSON = toJSON . _crlAddtional---- | 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 \`{}\`.------ /See:/ 'empty' smart constructor.-data Empty =-    Empty'-    deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'Empty' with the minimum fields required to make a request.----empty-    :: Empty-empty = Empty'--instance FromJSON Empty where-        parseJSON = withObject "Empty" (\ o -> pure Empty')--instance ToJSON Empty where-        toJSON = const emptyObject---- | SetNodePoolAutoscalingRequest sets the autoscaler settings of a node--- pool.------ /See:/ 'setNodePoolAutoscalingRequest' smart constructor.-data SetNodePoolAutoscalingRequest = SetNodePoolAutoscalingRequest'-    { _snparAutoscaling :: !(Maybe NodePoolAutoscaling)-    , _snparZone        :: !(Maybe Text)-    , _snparNodePoolId  :: !(Maybe Text)-    , _snparName        :: !(Maybe Text)-    , _snparClusterId   :: !(Maybe Text)-    , _snparProjectId   :: !(Maybe Text)-    } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'SetNodePoolAutoscalingRequest' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'snparAutoscaling'------ * 'snparZone'------ * 'snparNodePoolId'------ * 'snparName'------ * 'snparClusterId'------ * 'snparProjectId'-setNodePoolAutoscalingRequest-    :: SetNodePoolAutoscalingRequest-setNodePoolAutoscalingRequest =-    SetNodePoolAutoscalingRequest'-    { _snparAutoscaling = Nothing-    , _snparZone = Nothing-    , _snparNodePoolId = Nothing-    , _snparName = Nothing-    , _snparClusterId = Nothing-    , _snparProjectId = Nothing-    }---- | Autoscaling configuration for the node pool.-snparAutoscaling :: Lens' SetNodePoolAutoscalingRequest (Maybe NodePoolAutoscaling)-snparAutoscaling-  = lens _snparAutoscaling-      (\ s a -> s{_snparAutoscaling = a})---- | Deprecated. The name of the Google Compute Engine--- [zone](\/compute\/docs\/zones#available) in which the cluster resides.--- This field has been deprecated and replaced by the name field.-snparZone :: Lens' SetNodePoolAutoscalingRequest (Maybe Text)-snparZone-  = lens _snparZone (\ s a -> s{_snparZone = a})---- | Deprecated. The name of the node pool to upgrade. This field has been--- deprecated and replaced by the name field.-snparNodePoolId :: Lens' SetNodePoolAutoscalingRequest (Maybe Text)-snparNodePoolId-  = lens _snparNodePoolId-      (\ s a -> s{_snparNodePoolId = a})---- | The name (project, location, cluster, node pool) of the node pool to set--- autoscaler settings. Specified in the format--- \'projects\/*\/locations\/*\/clusters\/*\/nodePools\/*\'.-snparName :: Lens' SetNodePoolAutoscalingRequest (Maybe Text)-snparName-  = lens _snparName (\ s a -> s{_snparName = a})---- | Deprecated. The name of the cluster to upgrade. This field has been--- deprecated and replaced by the name field.-snparClusterId :: Lens' SetNodePoolAutoscalingRequest (Maybe Text)-snparClusterId-  = lens _snparClusterId-      (\ s a -> s{_snparClusterId = a})---- | Deprecated. The Google Developers Console [project ID or project--- number](https:\/\/support.google.com\/cloud\/answer\/6158840). This--- field has been deprecated and replaced by the name field.-snparProjectId :: Lens' SetNodePoolAutoscalingRequest (Maybe Text)-snparProjectId-  = lens _snparProjectId-      (\ s a -> s{_snparProjectId = a})--instance FromJSON SetNodePoolAutoscalingRequest where-        parseJSON-          = withObject "SetNodePoolAutoscalingRequest"-              (\ o ->-                 SetNodePoolAutoscalingRequest' <$>-                   (o .:? "autoscaling") <*> (o .:? "zone") <*>-                     (o .:? "nodePoolId")-                     <*> (o .:? "name")-                     <*> (o .:? "clusterId")-                     <*> (o .:? "projectId"))--instance ToJSON SetNodePoolAutoscalingRequest where-        toJSON SetNodePoolAutoscalingRequest'{..}-          = object-              (catMaybes-                 [("autoscaling" .=) <$> _snparAutoscaling,-                  ("zone" .=) <$> _snparZone,-                  ("nodePoolId" .=) <$> _snparNodePoolId,-                  ("name" .=) <$> _snparName,-                  ("clusterId" .=) <$> _snparClusterId,-                  ("projectId" .=) <$> _snparProjectId])---- | CompleteIPRotationRequest moves the cluster master back into single-IP--- mode.------ /See:/ 'completeIPRotationRequest' smart constructor.-data CompleteIPRotationRequest = CompleteIPRotationRequest'-    { _cirrZone      :: !(Maybe Text)-    , _cirrName      :: !(Maybe Text)-    , _cirrClusterId :: !(Maybe Text)-    , _cirrProjectId :: !(Maybe Text)-    } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'CompleteIPRotationRequest' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'cirrZone'------ * 'cirrName'------ * 'cirrClusterId'------ * 'cirrProjectId'-completeIPRotationRequest-    :: CompleteIPRotationRequest-completeIPRotationRequest =-    CompleteIPRotationRequest'-    { _cirrZone = Nothing-    , _cirrName = Nothing-    , _cirrClusterId = Nothing-    , _cirrProjectId = Nothing-    }---- | Deprecated. The name of the Google Compute Engine--- [zone](\/compute\/docs\/zones#available) in which the cluster resides.--- This field has been deprecated and replaced by the name field.-cirrZone :: Lens' CompleteIPRotationRequest (Maybe Text)-cirrZone = lens _cirrZone (\ s a -> s{_cirrZone = a})---- | The name (project, location, cluster id) of the cluster to complete IP--- rotation. Specified in the format--- \'projects\/*\/locations\/*\/clusters\/*\'.-cirrName :: Lens' CompleteIPRotationRequest (Maybe Text)-cirrName = lens _cirrName (\ s a -> s{_cirrName = a})---- | Deprecated. The name of the cluster. This field has been deprecated and--- replaced by the name field.-cirrClusterId :: Lens' CompleteIPRotationRequest (Maybe Text)-cirrClusterId-  = lens _cirrClusterId-      (\ s a -> s{_cirrClusterId = a})---- | Deprecated. The Google Developers Console [project ID or project--- number](https:\/\/developers.google.com\/console\/help\/new\/#projectnumber).--- This field has been deprecated and replaced by the name field.-cirrProjectId :: Lens' CompleteIPRotationRequest (Maybe Text)-cirrProjectId-  = lens _cirrProjectId-      (\ s a -> s{_cirrProjectId = a})--instance FromJSON CompleteIPRotationRequest where-        parseJSON-          = withObject "CompleteIPRotationRequest"-              (\ o ->-                 CompleteIPRotationRequest' <$>-                   (o .:? "zone") <*> (o .:? "name") <*>-                     (o .:? "clusterId")-                     <*> (o .:? "projectId"))--instance ToJSON CompleteIPRotationRequest where-        toJSON CompleteIPRotationRequest'{..}-          = object-              (catMaybes-                 [("zone" .=) <$> _cirrZone,-                  ("name" .=) <$> _cirrName,-                  ("clusterId" .=) <$> _cirrClusterId,-                  ("projectId" .=) <$> _cirrProjectId])---- | NodeManagement defines the set of node management services turned on for--- the node pool.------ /See:/ 'nodeManagement' smart constructor.-data NodeManagement = NodeManagement'-    { _nmAutoUpgrade    :: !(Maybe Bool)-    , _nmAutoRepair     :: !(Maybe Bool)-    , _nmUpgradeOptions :: !(Maybe AutoUpgradeOptions)-    } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'NodeManagement' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'nmAutoUpgrade'------ * 'nmAutoRepair'------ * 'nmUpgradeOptions'-nodeManagement-    :: NodeManagement-nodeManagement =-    NodeManagement'-    { _nmAutoUpgrade = Nothing-    , _nmAutoRepair = Nothing-    , _nmUpgradeOptions = Nothing-    }---- | A flag that specifies whether node auto-upgrade is enabled for the node--- pool. If enabled, node auto-upgrade helps keep the nodes in your node--- pool up to date with the latest release version of Kubernetes.-nmAutoUpgrade :: Lens' NodeManagement (Maybe Bool)-nmAutoUpgrade-  = lens _nmAutoUpgrade-      (\ s a -> s{_nmAutoUpgrade = a})---- | A flag that specifies whether the node auto-repair is enabled for the--- node pool. If enabled, the nodes in this node pool will be monitored--- and, if they fail health checks too many times, an automatic repair--- action will be triggered.-nmAutoRepair :: Lens' NodeManagement (Maybe Bool)-nmAutoRepair-  = lens _nmAutoRepair (\ s a -> s{_nmAutoRepair = a})---- | Specifies the Auto Upgrade knobs for the node pool.-nmUpgradeOptions :: Lens' NodeManagement (Maybe AutoUpgradeOptions)-nmUpgradeOptions-  = lens _nmUpgradeOptions-      (\ s a -> s{_nmUpgradeOptions = a})--instance FromJSON NodeManagement where-        parseJSON-          = withObject "NodeManagement"-              (\ o ->-                 NodeManagement' <$>-                   (o .:? "autoUpgrade") <*> (o .:? "autoRepair") <*>-                     (o .:? "upgradeOptions"))--instance ToJSON NodeManagement where-        toJSON NodeManagement'{..}-          = object-              (catMaybes-                 [("autoUpgrade" .=) <$> _nmAutoUpgrade,-                  ("autoRepair" .=) <$> _nmAutoRepair,-                  ("upgradeOptions" .=) <$> _nmUpgradeOptions])---- | Kubernetes taint is comprised of three fields: key, value, and effect.--- Effect can only be one of three types: NoSchedule, PreferNoSchedule or--- NoExecute. For more information, including usage and the valid values,--- see:--- https:\/\/kubernetes.io\/docs\/concepts\/configuration\/taint-and-toleration\/------ /See:/ 'nodeTaint' smart constructor.-data NodeTaint = NodeTaint'-    { _ntEffect :: !(Maybe NodeTaintEffect)-    , _ntValue  :: !(Maybe Text)-    , _ntKey    :: !(Maybe Text)-    } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'NodeTaint' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'ntEffect'------ * 'ntValue'------ * 'ntKey'-nodeTaint-    :: NodeTaint-nodeTaint =-    NodeTaint'-    { _ntEffect = Nothing-    , _ntValue = Nothing-    , _ntKey = Nothing-    }---- | Effect for taint.-ntEffect :: Lens' NodeTaint (Maybe NodeTaintEffect)-ntEffect = lens _ntEffect (\ s a -> s{_ntEffect = a})---- | Value for taint.-ntValue :: Lens' NodeTaint (Maybe Text)-ntValue = lens _ntValue (\ s a -> s{_ntValue = a})---- | Key for taint.-ntKey :: Lens' NodeTaint (Maybe Text)-ntKey = lens _ntKey (\ s a -> s{_ntKey = a})--instance FromJSON NodeTaint where-        parseJSON-          = withObject "NodeTaint"-              (\ o ->-                 NodeTaint' <$>-                   (o .:? "effect") <*> (o .:? "value") <*>-                     (o .:? "key"))--instance ToJSON NodeTaint where-        toJSON NodeTaint'{..}-          = object-              (catMaybes-                 [("effect" .=) <$> _ntEffect,-                  ("value" .=) <$> _ntValue, ("key" .=) <$> _ntKey])---- | NodePoolAutoscaling contains information required by cluster autoscaler--- to adjust the size of the node pool to the current cluster usage.------ /See:/ 'nodePoolAutoscaling' smart constructor.-data NodePoolAutoscaling = NodePoolAutoscaling'-    { _npaMaxNodeCount :: !(Maybe (Textual Int32))-    , _npaEnabled      :: !(Maybe Bool)-    , _npaMinNodeCount :: !(Maybe (Textual Int32))-    } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'NodePoolAutoscaling' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'npaMaxNodeCount'------ * 'npaEnabled'------ * 'npaMinNodeCount'-nodePoolAutoscaling-    :: NodePoolAutoscaling-nodePoolAutoscaling =-    NodePoolAutoscaling'-    { _npaMaxNodeCount = Nothing-    , _npaEnabled = Nothing-    , _npaMinNodeCount = Nothing-    }---- | Maximum number of nodes in the NodePool. Must be >= min_node_count.--- There has to enough quota to scale up the cluster.-npaMaxNodeCount :: Lens' NodePoolAutoscaling (Maybe Int32)-npaMaxNodeCount-  = lens _npaMaxNodeCount-      (\ s a -> s{_npaMaxNodeCount = a})-      . mapping _Coerce---- | Is autoscaling enabled for this node pool.-npaEnabled :: Lens' NodePoolAutoscaling (Maybe Bool)-npaEnabled-  = lens _npaEnabled (\ s a -> s{_npaEnabled = a})---- | Minimum number of nodes in the NodePool. Must be >= 1 and \<=--- max_node_count.-npaMinNodeCount :: Lens' NodePoolAutoscaling (Maybe Int32)-npaMinNodeCount-  = lens _npaMinNodeCount-      (\ s a -> s{_npaMinNodeCount = a})-      . mapping _Coerce--instance FromJSON NodePoolAutoscaling where-        parseJSON-          = withObject "NodePoolAutoscaling"-              (\ o ->-                 NodePoolAutoscaling' <$>-                   (o .:? "maxNodeCount") <*> (o .:? "enabled") <*>-                     (o .:? "minNodeCount"))--instance ToJSON NodePoolAutoscaling where-        toJSON NodePoolAutoscaling'{..}-          = object-              (catMaybes-                 [("maxNodeCount" .=) <$> _npaMaxNodeCount,-                  ("enabled" .=) <$> _npaEnabled,-                  ("minNodeCount" .=) <$> _npaMinNodeCount])---- | SetMaintenancePolicyRequest sets the maintenance policy for a cluster.------ /See:/ 'setMaintenancePolicyRequest' smart constructor.-data SetMaintenancePolicyRequest = SetMaintenancePolicyRequest'-    { _smprZone              :: !(Maybe Text)-    , _smprName              :: !(Maybe Text)-    , _smprClusterId         :: !(Maybe Text)-    , _smprMaintenancePolicy :: !(Maybe MaintenancePolicy)-    , _smprProjectId         :: !(Maybe Text)-    } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'SetMaintenancePolicyRequest' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'smprZone'------ * 'smprName'------ * 'smprClusterId'------ * 'smprMaintenancePolicy'------ * 'smprProjectId'-setMaintenancePolicyRequest-    :: SetMaintenancePolicyRequest-setMaintenancePolicyRequest =-    SetMaintenancePolicyRequest'-    { _smprZone = Nothing-    , _smprName = Nothing-    , _smprClusterId = Nothing-    , _smprMaintenancePolicy = Nothing-    , _smprProjectId = Nothing-    }---- | The name of the Google Compute Engine--- [zone](\/compute\/docs\/zones#available) in which the cluster resides.-smprZone :: Lens' SetMaintenancePolicyRequest (Maybe Text)-smprZone = lens _smprZone (\ s a -> s{_smprZone = a})---- | The name (project, location, cluster id) of the cluster to set--- maintenance policy. Specified in the format--- \'projects\/*\/locations\/*\/clusters\/*\'.-smprName :: Lens' SetMaintenancePolicyRequest (Maybe Text)-smprName = lens _smprName (\ s a -> s{_smprName = a})---- | The name of the cluster to update.-smprClusterId :: Lens' SetMaintenancePolicyRequest (Maybe Text)-smprClusterId-  = lens _smprClusterId-      (\ s a -> s{_smprClusterId = a})---- | The maintenance policy to be set for the cluster. An empty field clears--- the existing maintenance policy.-smprMaintenancePolicy :: Lens' SetMaintenancePolicyRequest (Maybe MaintenancePolicy)-smprMaintenancePolicy-  = lens _smprMaintenancePolicy-      (\ s a -> s{_smprMaintenancePolicy = a})---- | The Google Developers Console [project ID or project--- number](https:\/\/support.google.com\/cloud\/answer\/6158840).-smprProjectId :: Lens' SetMaintenancePolicyRequest (Maybe Text)-smprProjectId-  = lens _smprProjectId-      (\ s a -> s{_smprProjectId = a})--instance FromJSON SetMaintenancePolicyRequest where-        parseJSON-          = withObject "SetMaintenancePolicyRequest"-              (\ o ->-                 SetMaintenancePolicyRequest' <$>-                   (o .:? "zone") <*> (o .:? "name") <*>-                     (o .:? "clusterId")-                     <*> (o .:? "maintenancePolicy")-                     <*> (o .:? "projectId"))--instance ToJSON SetMaintenancePolicyRequest where-        toJSON SetMaintenancePolicyRequest'{..}-          = object-              (catMaybes-                 [("zone" .=) <$> _smprZone,-                  ("name" .=) <$> _smprName,-                  ("clusterId" .=) <$> _smprClusterId,-                  ("maintenancePolicy" .=) <$> _smprMaintenancePolicy,-                  ("projectId" .=) <$> _smprProjectId])---- | Configuration for the Kubernetes Dashboard.------ /See:/ 'kubernetesDashboard' smart constructor.-newtype KubernetesDashboard = KubernetesDashboard'-    { _kdDisabled :: Maybe Bool-    } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'KubernetesDashboard' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'kdDisabled'-kubernetesDashboard-    :: KubernetesDashboard-kubernetesDashboard =-    KubernetesDashboard'-    { _kdDisabled = Nothing-    }---- | Whether the Kubernetes Dashboard is enabled for this cluster.-kdDisabled :: Lens' KubernetesDashboard (Maybe Bool)-kdDisabled-  = lens _kdDisabled (\ s a -> s{_kdDisabled = a})--instance FromJSON KubernetesDashboard where-        parseJSON-          = withObject "KubernetesDashboard"-              (\ o -> KubernetesDashboard' <$> (o .:? "disabled"))--instance ToJSON KubernetesDashboard where-        toJSON KubernetesDashboard'{..}-          = object-              (catMaybes [("disabled" .=) <$> _kdDisabled])---- | Configuration for client certificates on the cluster.------ /See:/ 'clientCertificateConfig' smart constructor.-newtype ClientCertificateConfig = ClientCertificateConfig'-    { _cccIssueClientCertificate :: Maybe Bool-    } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'ClientCertificateConfig' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'cccIssueClientCertificate'-clientCertificateConfig-    :: ClientCertificateConfig-clientCertificateConfig =-    ClientCertificateConfig'-    { _cccIssueClientCertificate = Nothing-    }---- | Issue a client certificate.-cccIssueClientCertificate :: Lens' ClientCertificateConfig (Maybe Bool)-cccIssueClientCertificate-  = lens _cccIssueClientCertificate-      (\ s a -> s{_cccIssueClientCertificate = a})--instance FromJSON ClientCertificateConfig where-        parseJSON-          = withObject "ClientCertificateConfig"-              (\ o ->-                 ClientCertificateConfig' <$>-                   (o .:? "issueClientCertificate"))--instance ToJSON ClientCertificateConfig where-        toJSON ClientCertificateConfig'{..}-          = object-              (catMaybes-                 [("issueClientCertificate" .=) <$>-                    _cccIssueClientCertificate])---- | SetLabelsRequest sets the Google Cloud Platform labels on a Google--- Container Engine cluster, which will in turn set them for Google Compute--- Engine resources used by that cluster------ /See:/ 'setLabelsRequest' smart constructor.-data SetLabelsRequest = SetLabelsRequest'-    { _slrResourceLabels   :: !(Maybe SetLabelsRequestResourceLabels)-    , _slrZone             :: !(Maybe Text)-    , _slrName             :: !(Maybe Text)-    , _slrClusterId        :: !(Maybe Text)-    , _slrProjectId        :: !(Maybe Text)-    , _slrLabelFingerprint :: !(Maybe Text)-    } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'SetLabelsRequest' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'slrResourceLabels'------ * 'slrZone'------ * 'slrName'------ * 'slrClusterId'------ * 'slrProjectId'------ * 'slrLabelFingerprint'-setLabelsRequest-    :: SetLabelsRequest-setLabelsRequest =-    SetLabelsRequest'-    { _slrResourceLabels = Nothing-    , _slrZone = Nothing-    , _slrName = Nothing-    , _slrClusterId = Nothing-    , _slrProjectId = Nothing-    , _slrLabelFingerprint = Nothing-    }---- | The labels to set for that cluster.-slrResourceLabels :: Lens' SetLabelsRequest (Maybe SetLabelsRequestResourceLabels)-slrResourceLabels-  = lens _slrResourceLabels-      (\ s a -> s{_slrResourceLabels = a})---- | Deprecated. The name of the Google Compute Engine--- [zone](\/compute\/docs\/zones#available) in which the cluster resides.--- This field has been deprecated and replaced by the name field.-slrZone :: Lens' SetLabelsRequest (Maybe Text)-slrZone = lens _slrZone (\ s a -> s{_slrZone = a})---- | The name (project, location, cluster id) of the cluster to set labels.--- Specified in the format \'projects\/*\/locations\/*\/clusters\/*\'.-slrName :: Lens' SetLabelsRequest (Maybe Text)-slrName = lens _slrName (\ s a -> s{_slrName = a})---- | Deprecated. The name of the cluster. This field has been deprecated and--- replaced by the name field.-slrClusterId :: Lens' SetLabelsRequest (Maybe Text)-slrClusterId-  = lens _slrClusterId (\ s a -> s{_slrClusterId = a})---- | Deprecated. The Google Developers Console [project ID or project--- number](https:\/\/developers.google.com\/console\/help\/new\/#projectnumber).--- This field has been deprecated and replaced by the name field.-slrProjectId :: Lens' SetLabelsRequest (Maybe Text)-slrProjectId-  = lens _slrProjectId (\ s a -> s{_slrProjectId = a})---- | The fingerprint of the previous set of labels for this resource, used to--- detect conflicts. The fingerprint is initially generated by Kubernetes--- Engine and changes after every request to modify or update labels. You--- must always provide an up-to-date fingerprint hash when updating or--- changing labels. Make a 'get()' request to the resource to get the--- latest fingerprint.-slrLabelFingerprint :: Lens' SetLabelsRequest (Maybe Text)-slrLabelFingerprint-  = lens _slrLabelFingerprint-      (\ s a -> s{_slrLabelFingerprint = a})--instance FromJSON SetLabelsRequest where-        parseJSON-          = withObject "SetLabelsRequest"-              (\ o ->-                 SetLabelsRequest' <$>-                   (o .:? "resourceLabels") <*> (o .:? "zone") <*>-                     (o .:? "name")-                     <*> (o .:? "clusterId")-                     <*> (o .:? "projectId")-                     <*> (o .:? "labelFingerprint"))--instance ToJSON SetLabelsRequest where-        toJSON SetLabelsRequest'{..}-          = object-              (catMaybes-                 [("resourceLabels" .=) <$> _slrResourceLabels,-                  ("zone" .=) <$> _slrZone, ("name" .=) <$> _slrName,-                  ("clusterId" .=) <$> _slrClusterId,-                  ("projectId" .=) <$> _slrProjectId,-                  ("labelFingerprint" .=) <$> _slrLabelFingerprint])---- | MaintenanceWindow defines the maintenance window to be used for the--- cluster.------ /See:/ 'maintenanceWindow' smart constructor.-newtype MaintenanceWindow = MaintenanceWindow'-    { _mwDailyMaintenanceWindow :: Maybe DailyMaintenanceWindow-    } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'MaintenanceWindow' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'mwDailyMaintenanceWindow'-maintenanceWindow-    :: MaintenanceWindow-maintenanceWindow =-    MaintenanceWindow'-    { _mwDailyMaintenanceWindow = Nothing-    }---- | DailyMaintenanceWindow specifies a daily maintenance operation window.-mwDailyMaintenanceWindow :: Lens' MaintenanceWindow (Maybe DailyMaintenanceWindow)-mwDailyMaintenanceWindow-  = lens _mwDailyMaintenanceWindow-      (\ s a -> s{_mwDailyMaintenanceWindow = a})--instance FromJSON MaintenanceWindow where-        parseJSON-          = withObject "MaintenanceWindow"-              (\ o ->-                 MaintenanceWindow' <$>-                   (o .:? "dailyMaintenanceWindow"))--instance ToJSON MaintenanceWindow where-        toJSON MaintenanceWindow'{..}-          = object-              (catMaybes-                 [("dailyMaintenanceWindow" .=) <$>-                    _mwDailyMaintenanceWindow])---- | Configuration for controlling how IPs are allocated in the cluster.------ /See:/ 'ipAllocationPolicy' smart constructor.-data IPAllocationPolicy = IPAllocationPolicy'-    { _iapServicesSecondaryRangeName :: !(Maybe Text)-    , _iapNodeIPv4CIdR               :: !(Maybe Text)-    , _iapUseIPAliases               :: !(Maybe Bool)-    , _iapClusterIPv4CIdR            :: !(Maybe Text)-    , _iapSubnetworkName             :: !(Maybe Text)-    , _iapClusterSecondaryRangeName  :: !(Maybe Text)-    , _iapNodeIPv4CIdRBlock          :: !(Maybe Text)-    , _iapServicesIPv4CIdR           :: !(Maybe Text)-    , _iapClusterIPv4CIdRBlock       :: !(Maybe Text)-    , _iapServicesIPv4CIdRBlock      :: !(Maybe Text)-    , _iapCreateSubnetwork           :: !(Maybe Bool)-    } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'IPAllocationPolicy' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'iapServicesSecondaryRangeName'------ * 'iapNodeIPv4CIdR'------ * 'iapUseIPAliases'------ * 'iapClusterIPv4CIdR'------ * 'iapSubnetworkName'------ * 'iapClusterSecondaryRangeName'------ * 'iapNodeIPv4CIdRBlock'------ * 'iapServicesIPv4CIdR'------ * 'iapClusterIPv4CIdRBlock'------ * 'iapServicesIPv4CIdRBlock'------ * 'iapCreateSubnetwork'-ipAllocationPolicy-    :: IPAllocationPolicy-ipAllocationPolicy =-    IPAllocationPolicy'-    { _iapServicesSecondaryRangeName = Nothing-    , _iapNodeIPv4CIdR = Nothing-    , _iapUseIPAliases = Nothing-    , _iapClusterIPv4CIdR = Nothing-    , _iapSubnetworkName = Nothing-    , _iapClusterSecondaryRangeName = Nothing-    , _iapNodeIPv4CIdRBlock = Nothing-    , _iapServicesIPv4CIdR = Nothing-    , _iapClusterIPv4CIdRBlock = Nothing-    , _iapServicesIPv4CIdRBlock = Nothing-    , _iapCreateSubnetwork = Nothing-    }---- | The name of the secondary range to be used as for the services CIDR--- block. The secondary range will be used for service ClusterIPs. This--- must be an existing secondary range associated with the cluster--- subnetwork. This field is only applicable with use_ip_aliases is true--- and create_subnetwork is false.-iapServicesSecondaryRangeName :: Lens' IPAllocationPolicy (Maybe Text)-iapServicesSecondaryRangeName-  = lens _iapServicesSecondaryRangeName-      (\ s a -> s{_iapServicesSecondaryRangeName = a})---- | This field is deprecated, use node_ipv4_cidr_block.-iapNodeIPv4CIdR :: Lens' IPAllocationPolicy (Maybe Text)-iapNodeIPv4CIdR-  = lens _iapNodeIPv4CIdR-      (\ s a -> s{_iapNodeIPv4CIdR = a})---- | Whether alias IPs will be used for pod IPs in the cluster.-iapUseIPAliases :: Lens' IPAllocationPolicy (Maybe Bool)-iapUseIPAliases-  = lens _iapUseIPAliases-      (\ s a -> s{_iapUseIPAliases = a})---- | This field is deprecated, use cluster_ipv4_cidr_block.-iapClusterIPv4CIdR :: Lens' IPAllocationPolicy (Maybe Text)-iapClusterIPv4CIdR-  = lens _iapClusterIPv4CIdR-      (\ s a -> s{_iapClusterIPv4CIdR = a})---- | A custom subnetwork name to be used if \`create_subnetwork\` is true. If--- this field is empty, then an automatic name will be chosen for the new--- subnetwork.-iapSubnetworkName :: Lens' IPAllocationPolicy (Maybe Text)-iapSubnetworkName-  = lens _iapSubnetworkName-      (\ s a -> s{_iapSubnetworkName = a})---- | The name of the secondary range to be used for the cluster CIDR block.--- The secondary range will be used for pod IP addresses. This must be an--- existing secondary range associated with the cluster subnetwork. This--- field is only applicable with use_ip_aliases is true and--- create_subnetwork is false.-iapClusterSecondaryRangeName :: Lens' IPAllocationPolicy (Maybe Text)-iapClusterSecondaryRangeName-  = lens _iapClusterSecondaryRangeName-      (\ s a -> s{_iapClusterSecondaryRangeName = a})---- | The IP address range of the instance IPs in this cluster. This is--- applicable only if \`create_subnetwork\` is true. Set to blank to have a--- range chosen with the default size. Set to \/netmask (e.g. \`\/14\`) to--- have a range chosen with a specific netmask. Set to a--- [CIDR](http:\/\/en.wikipedia.org\/wiki\/Classless_Inter-Domain_Routing)--- notation (e.g. \`10.96.0.0\/14\`) from the RFC-1918 private networks--- (e.g. \`10.0.0.0\/8\`, \`172.16.0.0\/12\`, \`192.168.0.0\/16\`) to pick--- a specific range to use.-iapNodeIPv4CIdRBlock :: Lens' IPAllocationPolicy (Maybe Text)-iapNodeIPv4CIdRBlock-  = lens _iapNodeIPv4CIdRBlock-      (\ s a -> s{_iapNodeIPv4CIdRBlock = a})---- | This field is deprecated, use services_ipv4_cidr_block.-iapServicesIPv4CIdR :: Lens' IPAllocationPolicy (Maybe Text)-iapServicesIPv4CIdR-  = lens _iapServicesIPv4CIdR-      (\ s a -> s{_iapServicesIPv4CIdR = a})---- | The IP address range for the cluster pod IPs. If this field is set, then--- \`cluster.cluster_ipv4_cidr\` must be left blank. This field is only--- applicable when \`use_ip_aliases\` is true. Set to blank to have a range--- chosen with the default size. Set to \/netmask (e.g. \`\/14\`) to have a--- range chosen with a specific netmask. Set to a--- [CIDR](http:\/\/en.wikipedia.org\/wiki\/Classless_Inter-Domain_Routing)--- notation (e.g. \`10.96.0.0\/14\`) from the RFC-1918 private networks--- (e.g. \`10.0.0.0\/8\`, \`172.16.0.0\/12\`, \`192.168.0.0\/16\`) to pick--- a specific range to use.-iapClusterIPv4CIdRBlock :: Lens' IPAllocationPolicy (Maybe Text)-iapClusterIPv4CIdRBlock-  = lens _iapClusterIPv4CIdRBlock-      (\ s a -> s{_iapClusterIPv4CIdRBlock = a})---- | The IP address range of the services IPs in this cluster. If blank, a--- range will be automatically chosen with the default size. This field is--- only applicable when \`use_ip_aliases\` is true. Set to blank to have a--- range chosen with the default size. Set to \/netmask (e.g. \`\/14\`) to--- have a range chosen with a specific netmask. Set to a--- [CIDR](http:\/\/en.wikipedia.org\/wiki\/Classless_Inter-Domain_Routing)--- notation (e.g. \`10.96.0.0\/14\`) from the RFC-1918 private networks--- (e.g. \`10.0.0.0\/8\`, \`172.16.0.0\/12\`, \`192.168.0.0\/16\`) to pick--- a specific range to use.-iapServicesIPv4CIdRBlock :: Lens' IPAllocationPolicy (Maybe Text)-iapServicesIPv4CIdRBlock-  = lens _iapServicesIPv4CIdRBlock-      (\ s a -> s{_iapServicesIPv4CIdRBlock = a})---- | Whether a new subnetwork will be created automatically for the cluster.--- This field is only applicable when \`use_ip_aliases\` is true.-iapCreateSubnetwork :: Lens' IPAllocationPolicy (Maybe Bool)-iapCreateSubnetwork-  = lens _iapCreateSubnetwork-      (\ s a -> s{_iapCreateSubnetwork = a})--instance FromJSON IPAllocationPolicy where-        parseJSON-          = withObject "IPAllocationPolicy"-              (\ o ->-                 IPAllocationPolicy' <$>-                   (o .:? "servicesSecondaryRangeName") <*>-                     (o .:? "nodeIpv4Cidr")-                     <*> (o .:? "useIpAliases")-                     <*> (o .:? "clusterIpv4Cidr")-                     <*> (o .:? "subnetworkName")-                     <*> (o .:? "clusterSecondaryRangeName")-                     <*> (o .:? "nodeIpv4CidrBlock")-                     <*> (o .:? "servicesIpv4Cidr")-                     <*> (o .:? "clusterIpv4CidrBlock")-                     <*> (o .:? "servicesIpv4CidrBlock")-                     <*> (o .:? "createSubnetwork"))--instance ToJSON IPAllocationPolicy where-        toJSON IPAllocationPolicy'{..}-          = object-              (catMaybes-                 [("servicesSecondaryRangeName" .=) <$>-                    _iapServicesSecondaryRangeName,-                  ("nodeIpv4Cidr" .=) <$> _iapNodeIPv4CIdR,-                  ("useIpAliases" .=) <$> _iapUseIPAliases,-                  ("clusterIpv4Cidr" .=) <$> _iapClusterIPv4CIdR,-                  ("subnetworkName" .=) <$> _iapSubnetworkName,-                  ("clusterSecondaryRangeName" .=) <$>-                    _iapClusterSecondaryRangeName,-                  ("nodeIpv4CidrBlock" .=) <$> _iapNodeIPv4CIdRBlock,-                  ("servicesIpv4Cidr" .=) <$> _iapServicesIPv4CIdR,-                  ("clusterIpv4CidrBlock" .=) <$>-                    _iapClusterIPv4CIdRBlock,-                  ("servicesIpv4CidrBlock" .=) <$>-                    _iapServicesIPv4CIdRBlock,-                  ("createSubnetwork" .=) <$> _iapCreateSubnetwork])---- | Configuration for the addons that can be automatically spun up in the--- cluster, enabling additional functionality.------ /See:/ 'addonsConfig' smart constructor.-data AddonsConfig = AddonsConfig'-    { _acNetworkPolicyConfig      :: !(Maybe NetworkPolicyConfig)-    , _acHorizontalPodAutoscaling :: !(Maybe HorizontalPodAutoscaling)-    , _acHTTPLoadBalancing        :: !(Maybe HTTPLoadBalancing)-    , _acKubernetesDashboard      :: !(Maybe KubernetesDashboard)-    } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'AddonsConfig' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'acNetworkPolicyConfig'------ * 'acHorizontalPodAutoscaling'------ * 'acHTTPLoadBalancing'------ * 'acKubernetesDashboard'-addonsConfig-    :: AddonsConfig-addonsConfig =-    AddonsConfig'-    { _acNetworkPolicyConfig = Nothing-    , _acHorizontalPodAutoscaling = Nothing-    , _acHTTPLoadBalancing = Nothing-    , _acKubernetesDashboard = Nothing-    }---- | Configuration for NetworkPolicy. This only tracks whether the addon is--- enabled or not on the Master, it does not track whether network policy--- is enabled for the nodes.-acNetworkPolicyConfig :: Lens' AddonsConfig (Maybe NetworkPolicyConfig)-acNetworkPolicyConfig-  = lens _acNetworkPolicyConfig-      (\ s a -> s{_acNetworkPolicyConfig = a})---- | Configuration for the horizontal pod autoscaling feature, which--- increases or decreases the number of replica pods a replication--- controller has based on the resource usage of the existing pods.-acHorizontalPodAutoscaling :: Lens' AddonsConfig (Maybe HorizontalPodAutoscaling)-acHorizontalPodAutoscaling-  = lens _acHorizontalPodAutoscaling-      (\ s a -> s{_acHorizontalPodAutoscaling = a})---- | Configuration for the HTTP (L7) load balancing controller addon, which--- makes it easy to set up HTTP load balancers for services in a cluster.-acHTTPLoadBalancing :: Lens' AddonsConfig (Maybe HTTPLoadBalancing)-acHTTPLoadBalancing-  = lens _acHTTPLoadBalancing-      (\ s a -> s{_acHTTPLoadBalancing = a})---- | Configuration for the Kubernetes Dashboard.-acKubernetesDashboard :: Lens' AddonsConfig (Maybe KubernetesDashboard)-acKubernetesDashboard-  = lens _acKubernetesDashboard-      (\ s a -> s{_acKubernetesDashboard = a})--instance FromJSON AddonsConfig where-        parseJSON-          = withObject "AddonsConfig"-              (\ o ->-                 AddonsConfig' <$>-                   (o .:? "networkPolicyConfig") <*>-                     (o .:? "horizontalPodAutoscaling")-                     <*> (o .:? "httpLoadBalancing")-                     <*> (o .:? "kubernetesDashboard"))--instance ToJSON AddonsConfig where-        toJSON AddonsConfig'{..}-          = object-              (catMaybes-                 [("networkPolicyConfig" .=) <$>-                    _acNetworkPolicyConfig,-                  ("horizontalPodAutoscaling" .=) <$>-                    _acHorizontalPodAutoscaling,-                  ("httpLoadBalancing" .=) <$> _acHTTPLoadBalancing,-                  ("kubernetesDashboard" .=) <$>-                    _acKubernetesDashboard])---- | NetworkConfig reports the relative names of network & subnetwork.------ /See:/ 'networkConfig' smart constructor.-data NetworkConfig = NetworkConfig'-    { _ncNetwork    :: !(Maybe Text)-    , _ncSubnetwork :: !(Maybe Text)-    } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'NetworkConfig' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'ncNetwork'------ * 'ncSubnetwork'-networkConfig-    :: NetworkConfig-networkConfig =-    NetworkConfig'-    { _ncNetwork = Nothing-    , _ncSubnetwork = Nothing-    }---- | Output only. The relative name of the Google Compute Engine--- network(\/compute\/docs\/networks-and-firewalls#networks) to which the--- cluster is connected. Example:--- projects\/my-project\/global\/networks\/my-network-ncNetwork :: Lens' NetworkConfig (Maybe Text)-ncNetwork-  = lens _ncNetwork (\ s a -> s{_ncNetwork = a})---- | Output only. The relative name of the Google Compute Engine--- [subnetwork](\/compute\/docs\/vpc) to which the cluster is connected.--- Example:--- projects\/my-project\/regions\/us-central1\/subnetworks\/my-subnet-ncSubnetwork :: Lens' NetworkConfig (Maybe Text)-ncSubnetwork-  = lens _ncSubnetwork (\ s a -> s{_ncSubnetwork = a})--instance FromJSON NetworkConfig where-        parseJSON-          = withObject "NetworkConfig"-              (\ o ->-                 NetworkConfig' <$>-                   (o .:? "network") <*> (o .:? "subnetwork"))--instance ToJSON NetworkConfig where-        toJSON NetworkConfig'{..}-          = object-              (catMaybes-                 [("network" .=) <$> _ncNetwork,-                  ("subnetwork" .=) <$> _ncSubnetwork])---- | NodePool contains the name and configuration for a cluster\'s node pool.--- Node pools are a set of nodes (i.e. VM\'s), with a common configuration--- and specification, under the control of the cluster master. They may--- have a set of Kubernetes labels applied to them, which may be used to--- reference them during pod scheduling. They may also be resized up or--- down, to accommodate the workload.------ /See:/ 'nodePool' smart constructor.-data NodePool = NodePool'-    { _npStatus            :: !(Maybe NodePoolStatus)-    , _npAutoscaling       :: !(Maybe NodePoolAutoscaling)-    , _npConfig            :: !(Maybe NodeConfig)-    , _npInitialNodeCount  :: !(Maybe (Textual Int32))-    , _npManagement        :: !(Maybe NodeManagement)-    , _npSelfLink          :: !(Maybe Text)-    , _npName              :: !(Maybe Text)-    , _npStatusMessage     :: !(Maybe Text)-    , _npVersion           :: !(Maybe Text)-    , _npConditions        :: !(Maybe [StatusCondition])-    , _npInstanceGroupURLs :: !(Maybe [Text])-    } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'NodePool' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'npStatus'------ * 'npAutoscaling'------ * 'npConfig'------ * 'npInitialNodeCount'------ * 'npManagement'------ * 'npSelfLink'------ * 'npName'------ * 'npStatusMessage'------ * 'npVersion'------ * 'npConditions'------ * 'npInstanceGroupURLs'-nodePool-    :: NodePool-nodePool =-    NodePool'-    { _npStatus = Nothing-    , _npAutoscaling = Nothing-    , _npConfig = Nothing-    , _npInitialNodeCount = Nothing-    , _npManagement = Nothing-    , _npSelfLink = Nothing-    , _npName = Nothing-    , _npStatusMessage = Nothing-    , _npVersion = Nothing-    , _npConditions = Nothing-    , _npInstanceGroupURLs = Nothing-    }---- | [Output only] The status of the nodes in this pool instance.-npStatus :: Lens' NodePool (Maybe NodePoolStatus)-npStatus = lens _npStatus (\ s a -> s{_npStatus = a})---- | Autoscaler configuration for this NodePool. Autoscaler is enabled only--- if a valid configuration is present.-npAutoscaling :: Lens' NodePool (Maybe NodePoolAutoscaling)-npAutoscaling-  = lens _npAutoscaling-      (\ s a -> s{_npAutoscaling = a})---- | The node configuration of the pool.-npConfig :: Lens' NodePool (Maybe NodeConfig)-npConfig = lens _npConfig (\ s a -> s{_npConfig = a})---- | The initial node count for the pool. You must ensure that your Compute--- Engine </compute/docs/resource-quotas resource quota> is sufficient for--- this number of instances. You must also have available firewall and--- routes quota.-npInitialNodeCount :: Lens' NodePool (Maybe Int32)-npInitialNodeCount-  = lens _npInitialNodeCount-      (\ s a -> s{_npInitialNodeCount = a})-      . mapping _Coerce---- | NodeManagement configuration for this NodePool.-npManagement :: Lens' NodePool (Maybe NodeManagement)-npManagement-  = lens _npManagement (\ s a -> s{_npManagement = a})---- | [Output only] Server-defined URL for the resource.-npSelfLink :: Lens' NodePool (Maybe Text)-npSelfLink-  = lens _npSelfLink (\ s a -> s{_npSelfLink = a})---- | The name of the node pool.-npName :: Lens' NodePool (Maybe Text)-npName = lens _npName (\ s a -> s{_npName = a})---- | [Output only] Additional information about the current status of this--- node pool instance, if available.-npStatusMessage :: Lens' NodePool (Maybe Text)-npStatusMessage-  = lens _npStatusMessage-      (\ s a -> s{_npStatusMessage = a})---- | The version of the Kubernetes of this node.-npVersion :: Lens' NodePool (Maybe Text)-npVersion-  = lens _npVersion (\ s a -> s{_npVersion = a})---- | Which conditions caused the current node pool state.-npConditions :: Lens' NodePool [StatusCondition]-npConditions-  = lens _npConditions (\ s a -> s{_npConditions = a})-      . _Default-      . _Coerce---- | [Output only] The resource URLs of the [managed instance--- groups](\/compute\/docs\/instance-groups\/creating-groups-of-managed-instances)--- associated with this node pool.-npInstanceGroupURLs :: Lens' NodePool [Text]-npInstanceGroupURLs-  = lens _npInstanceGroupURLs-      (\ s a -> s{_npInstanceGroupURLs = a})-      . _Default-      . _Coerce--instance FromJSON NodePool where-        parseJSON-          = withObject "NodePool"-              (\ o ->-                 NodePool' <$>-                   (o .:? "status") <*> (o .:? "autoscaling") <*>-                     (o .:? "config")-                     <*> (o .:? "initialNodeCount")-                     <*> (o .:? "management")-                     <*> (o .:? "selfLink")-                     <*> (o .:? "name")-                     <*> (o .:? "statusMessage")-                     <*> (o .:? "version")-                     <*> (o .:? "conditions" .!= mempty)-                     <*> (o .:? "instanceGroupUrls" .!= mempty))--instance ToJSON NodePool where-        toJSON NodePool'{..}-          = object-              (catMaybes-                 [("status" .=) <$> _npStatus,-                  ("autoscaling" .=) <$> _npAutoscaling,-                  ("config" .=) <$> _npConfig,-                  ("initialNodeCount" .=) <$> _npInitialNodeCount,-                  ("management" .=) <$> _npManagement,-                  ("selfLink" .=) <$> _npSelfLink,-                  ("name" .=) <$> _npName,-                  ("statusMessage" .=) <$> _npStatusMessage,-                  ("version" .=) <$> _npVersion,-                  ("conditions" .=) <$> _npConditions,-                  ("instanceGroupUrls" .=) <$> _npInstanceGroupURLs])---- | SetNodePoolManagementRequest sets the node management properties of a--- node pool.------ /See:/ 'setNodePoolManagementRequest' smart constructor.-data SetNodePoolManagementRequest = SetNodePoolManagementRequest'-    { _snpmrManagement :: !(Maybe NodeManagement)-    , _snpmrZone       :: !(Maybe Text)-    , _snpmrNodePoolId :: !(Maybe Text)-    , _snpmrName       :: !(Maybe Text)-    , _snpmrClusterId  :: !(Maybe Text)-    , _snpmrProjectId  :: !(Maybe Text)-    } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'SetNodePoolManagementRequest' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'snpmrManagement'------ * 'snpmrZone'------ * 'snpmrNodePoolId'------ * 'snpmrName'------ * 'snpmrClusterId'------ * 'snpmrProjectId'-setNodePoolManagementRequest-    :: SetNodePoolManagementRequest-setNodePoolManagementRequest =-    SetNodePoolManagementRequest'-    { _snpmrManagement = Nothing-    , _snpmrZone = Nothing-    , _snpmrNodePoolId = Nothing-    , _snpmrName = Nothing-    , _snpmrClusterId = Nothing-    , _snpmrProjectId = Nothing-    }---- | NodeManagement configuration for the node pool.-snpmrManagement :: Lens' SetNodePoolManagementRequest (Maybe NodeManagement)-snpmrManagement-  = lens _snpmrManagement-      (\ s a -> s{_snpmrManagement = a})---- | Deprecated. The name of the Google Compute Engine--- [zone](\/compute\/docs\/zones#available) in which the cluster resides.--- This field has been deprecated and replaced by the name field.-snpmrZone :: Lens' SetNodePoolManagementRequest (Maybe Text)-snpmrZone-  = lens _snpmrZone (\ s a -> s{_snpmrZone = a})---- | Deprecated. The name of the node pool to update. This field has been--- deprecated and replaced by the name field.-snpmrNodePoolId :: Lens' SetNodePoolManagementRequest (Maybe Text)-snpmrNodePoolId-  = lens _snpmrNodePoolId-      (\ s a -> s{_snpmrNodePoolId = a})---- | The name (project, location, cluster, node pool id) of the node pool to--- set management properties. Specified in the format--- \'projects\/*\/locations\/*\/clusters\/*\/nodePools\/*\'.-snpmrName :: Lens' SetNodePoolManagementRequest (Maybe Text)-snpmrName-  = lens _snpmrName (\ s a -> s{_snpmrName = a})---- | Deprecated. The name of the cluster to update. This field has been--- deprecated and replaced by the name field.-snpmrClusterId :: Lens' SetNodePoolManagementRequest (Maybe Text)-snpmrClusterId-  = lens _snpmrClusterId-      (\ s a -> s{_snpmrClusterId = a})---- | Deprecated. The Google Developers Console [project ID or project--- number](https:\/\/support.google.com\/cloud\/answer\/6158840). This--- field has been deprecated and replaced by the name field.-snpmrProjectId :: Lens' SetNodePoolManagementRequest (Maybe Text)-snpmrProjectId-  = lens _snpmrProjectId-      (\ s a -> s{_snpmrProjectId = a})--instance FromJSON SetNodePoolManagementRequest where-        parseJSON-          = withObject "SetNodePoolManagementRequest"-              (\ o ->-                 SetNodePoolManagementRequest' <$>-                   (o .:? "management") <*> (o .:? "zone") <*>-                     (o .:? "nodePoolId")-                     <*> (o .:? "name")-                     <*> (o .:? "clusterId")-                     <*> (o .:? "projectId"))--instance ToJSON SetNodePoolManagementRequest where-        toJSON SetNodePoolManagementRequest'{..}-          = object-              (catMaybes-                 [("management" .=) <$> _snpmrManagement,-                  ("zone" .=) <$> _snpmrZone,-                  ("nodePoolId" .=) <$> _snpmrNodePoolId,-                  ("name" .=) <$> _snpmrName,-                  ("clusterId" .=) <$> _snpmrClusterId,-                  ("projectId" .=) <$> _snpmrProjectId])---- | Configuration options for the master authorized networks feature.--- Enabled master authorized networks will disallow all external traffic to--- access Kubernetes master through HTTPS except traffic from the given--- CIDR blocks, Google Compute Engine Public IPs and Google Prod IPs.------ /See:/ 'masterAuthorizedNetworksConfig' smart constructor.-data MasterAuthorizedNetworksConfig = MasterAuthorizedNetworksConfig'-    { _mancEnabled    :: !(Maybe Bool)-    , _mancCIdRBlocks :: !(Maybe [CIdRBlock])-    } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'MasterAuthorizedNetworksConfig' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'mancEnabled'------ * 'mancCIdRBlocks'-masterAuthorizedNetworksConfig-    :: MasterAuthorizedNetworksConfig-masterAuthorizedNetworksConfig =-    MasterAuthorizedNetworksConfig'-    { _mancEnabled = Nothing-    , _mancCIdRBlocks = Nothing-    }---- | Whether or not master authorized networks is enabled.-mancEnabled :: Lens' MasterAuthorizedNetworksConfig (Maybe Bool)-mancEnabled-  = lens _mancEnabled (\ s a -> s{_mancEnabled = a})---- | cidr_blocks define up to 10 external networks that could access--- Kubernetes master through HTTPS.-mancCIdRBlocks :: Lens' MasterAuthorizedNetworksConfig [CIdRBlock]-mancCIdRBlocks-  = lens _mancCIdRBlocks-      (\ s a -> s{_mancCIdRBlocks = a})-      . _Default-      . _Coerce--instance FromJSON MasterAuthorizedNetworksConfig-         where-        parseJSON-          = withObject "MasterAuthorizedNetworksConfig"-              (\ o ->-                 MasterAuthorizedNetworksConfig' <$>-                   (o .:? "enabled") <*>-                     (o .:? "cidrBlocks" .!= mempty))--instance ToJSON MasterAuthorizedNetworksConfig where-        toJSON MasterAuthorizedNetworksConfig'{..}-          = object-              (catMaybes-                 [("enabled" .=) <$> _mancEnabled,-                  ("cidrBlocks" .=) <$> _mancCIdRBlocks])---- | Configuration for the legacy Attribute Based Access Control--- authorization mode.------ /See:/ 'legacyAbac' smart constructor.-newtype LegacyAbac = LegacyAbac'-    { _laEnabled :: Maybe Bool-    } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'LegacyAbac' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'laEnabled'-legacyAbac-    :: LegacyAbac-legacyAbac =-    LegacyAbac'-    { _laEnabled = Nothing-    }---- | Whether the ABAC authorizer is enabled for this cluster. When enabled,--- identities in the system, including service accounts, nodes, and--- controllers, will have statically granted permissions beyond those--- provided by the RBAC configuration or IAM.-laEnabled :: Lens' LegacyAbac (Maybe Bool)-laEnabled-  = lens _laEnabled (\ s a -> s{_laEnabled = a})--instance FromJSON LegacyAbac where-        parseJSON-          = withObject "LegacyAbac"-              (\ o -> LegacyAbac' <$> (o .:? "enabled"))--instance ToJSON LegacyAbac where-        toJSON LegacyAbac'{..}-          = object (catMaybes [("enabled" .=) <$> _laEnabled])---- | The authentication information for accessing the master endpoint.--- Authentication can be done using HTTP basic auth or using client--- certificates.------ /See:/ 'masterAuth' smart constructor.-data MasterAuth = MasterAuth'-    { _maClientKey               :: !(Maybe Text)-    , _maUsername                :: !(Maybe Text)-    , _maClientCertificateConfig :: !(Maybe ClientCertificateConfig)-    , _maClientCertificate       :: !(Maybe Text)-    , _maPassword                :: !(Maybe Text)-    , _maClusterCaCertificate    :: !(Maybe Text)-    } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'MasterAuth' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'maClientKey'------ * 'maUsername'------ * 'maClientCertificateConfig'------ * 'maClientCertificate'------ * 'maPassword'------ * 'maClusterCaCertificate'-masterAuth-    :: MasterAuth-masterAuth =-    MasterAuth'-    { _maClientKey = Nothing-    , _maUsername = Nothing-    , _maClientCertificateConfig = Nothing-    , _maClientCertificate = Nothing-    , _maPassword = Nothing-    , _maClusterCaCertificate = Nothing-    }---- | [Output only] Base64-encoded private key used by clients to authenticate--- to the cluster endpoint.-maClientKey :: Lens' MasterAuth (Maybe Text)-maClientKey-  = lens _maClientKey (\ s a -> s{_maClientKey = a})---- | The username to use for HTTP basic authentication to the master--- endpoint. For clusters v1.6.0 and later, basic authentication can be--- disabled by leaving username unspecified (or setting it to the empty--- string).-maUsername :: Lens' MasterAuth (Maybe Text)-maUsername-  = lens _maUsername (\ s a -> s{_maUsername = a})---- | Configuration for client certificate authentication on the cluster. For--- clusters before v1.12, if no configuration is specified, a client--- certificate is issued.-maClientCertificateConfig :: Lens' MasterAuth (Maybe ClientCertificateConfig)-maClientCertificateConfig-  = lens _maClientCertificateConfig-      (\ s a -> s{_maClientCertificateConfig = a})---- | [Output only] Base64-encoded public certificate used by clients to--- authenticate to the cluster endpoint.-maClientCertificate :: Lens' MasterAuth (Maybe Text)-maClientCertificate-  = lens _maClientCertificate-      (\ s a -> s{_maClientCertificate = a})---- | The password to use for HTTP basic authentication to the master--- endpoint. Because the master endpoint is open to the Internet, you--- should create a strong password. If a password is provided for cluster--- creation, username must be non-empty.-maPassword :: Lens' MasterAuth (Maybe Text)-maPassword-  = lens _maPassword (\ s a -> s{_maPassword = a})---- | [Output only] Base64-encoded public certificate that is the root of--- trust for the cluster.-maClusterCaCertificate :: Lens' MasterAuth (Maybe Text)-maClusterCaCertificate-  = lens _maClusterCaCertificate-      (\ s a -> s{_maClusterCaCertificate = a})--instance FromJSON MasterAuth where-        parseJSON-          = withObject "MasterAuth"-              (\ o ->-                 MasterAuth' <$>-                   (o .:? "clientKey") <*> (o .:? "username") <*>-                     (o .:? "clientCertificateConfig")-                     <*> (o .:? "clientCertificate")-                     <*> (o .:? "password")-                     <*> (o .:? "clusterCaCertificate"))--instance ToJSON MasterAuth where-        toJSON MasterAuth'{..}-          = object-              (catMaybes-                 [("clientKey" .=) <$> _maClientKey,-                  ("username" .=) <$> _maUsername,-                  ("clientCertificateConfig" .=) <$>-                    _maClientCertificateConfig,-                  ("clientCertificate" .=) <$> _maClientCertificate,-                  ("password" .=) <$> _maPassword,-                  ("clusterCaCertificate" .=) <$>-                    _maClusterCaCertificate])---- | StatusCondition describes why a cluster or a node pool has a certain--- status (e.g., ERROR or DEGRADED).------ /See:/ 'statusCondition' smart constructor.-data StatusCondition = StatusCondition'-    { _scCode    :: !(Maybe StatusConditionCode)-    , _scMessage :: !(Maybe Text)-    } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'StatusCondition' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'scCode'------ * 'scMessage'-statusCondition-    :: StatusCondition-statusCondition =-    StatusCondition'-    { _scCode = Nothing-    , _scMessage = Nothing-    }---- | Machine-friendly representation of the condition-scCode :: Lens' StatusCondition (Maybe StatusConditionCode)-scCode = lens _scCode (\ s a -> s{_scCode = a})---- | Human-friendly representation of the condition-scMessage :: Lens' StatusCondition (Maybe Text)-scMessage-  = lens _scMessage (\ s a -> s{_scMessage = a})--instance FromJSON StatusCondition where-        parseJSON-          = withObject "StatusCondition"-              (\ o ->-                 StatusCondition' <$>-                   (o .:? "code") <*> (o .:? "message"))--instance ToJSON StatusCondition where-        toJSON StatusCondition'{..}-          = object-              (catMaybes-                 [("code" .=) <$> _scCode,-                  ("message" .=) <$> _scMessage])---- | The metadata key\/value pairs assigned to instances in the cluster. Keys--- must conform to the regexp [a-zA-Z0-9-_]+ and be less than 128 bytes in--- length. These are reflected as part of a URL in the metadata server.--- Additionally, to avoid ambiguity, keys must not conflict with any other--- metadata keys for the project or be one of the reserved keys:--- \"cluster-location\" \"cluster-name\" \"cluster-uid\" \"configure-sh\"--- \"enable-os-login\" \"gci-update-strategy\" \"gci-ensure-gke-docker\"--- \"instance-template\" \"kube-env\" \"startup-script\" \"user-data\"--- Values are free-form strings, and only have meaning as interpreted by--- the image running in the instance. The only restriction placed on them--- is that each value\'s size must be less than or equal to 32 KB. The--- total size of all keys and values must be less than 512 KB.------ /See:/ 'nodeConfigMetadata' smart constructor.-newtype NodeConfigMetadata = NodeConfigMetadata'-    { _ncmAddtional :: HashMap Text Text-    } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'NodeConfigMetadata' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'ncmAddtional'-nodeConfigMetadata-    :: HashMap Text Text -- ^ 'ncmAddtional'-    -> NodeConfigMetadata-nodeConfigMetadata pNcmAddtional_ =-    NodeConfigMetadata'-    { _ncmAddtional = _Coerce # pNcmAddtional_-    }--ncmAddtional :: Lens' NodeConfigMetadata (HashMap Text Text)-ncmAddtional-  = lens _ncmAddtional (\ s a -> s{_ncmAddtional = a})-      . _Coerce--instance FromJSON NodeConfigMetadata where-        parseJSON-          = withObject "NodeConfigMetadata"-              (\ o -> NodeConfigMetadata' <$> (parseJSONObject o))--instance ToJSON NodeConfigMetadata where-        toJSON = toJSON . _ncmAddtional---- | The map of Kubernetes labels (key\/value pairs) to be applied to each--- node. These will added in addition to any default label(s) that--- Kubernetes may apply to the node. In case of conflict in label keys, the--- applied set may differ depending on the Kubernetes version -- it\'s best--- to assume the behavior is undefined and conflicts should be avoided. For--- more information, including usage and the valid values, see:--- https:\/\/kubernetes.io\/docs\/concepts\/overview\/working-with-objects\/labels\/------ /See:/ 'nodeConfigLabels' smart constructor.-newtype NodeConfigLabels = NodeConfigLabels'-    { _nclAddtional :: HashMap Text Text-    } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'NodeConfigLabels' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'nclAddtional'-nodeConfigLabels-    :: HashMap Text Text -- ^ 'nclAddtional'-    -> NodeConfigLabels-nodeConfigLabels pNclAddtional_ =-    NodeConfigLabels'-    { _nclAddtional = _Coerce # pNclAddtional_-    }--nclAddtional :: Lens' NodeConfigLabels (HashMap Text Text)-nclAddtional-  = lens _nclAddtional (\ s a -> s{_nclAddtional = a})-      . _Coerce--instance FromJSON NodeConfigLabels where-        parseJSON-          = withObject "NodeConfigLabels"-              (\ o -> NodeConfigLabels' <$> (parseJSONObject o))--instance ToJSON NodeConfigLabels where-        toJSON = toJSON . _nclAddtional---- | Kubernetes Engine service configuration.------ /See:/ 'serverConfig' smart constructor.-data ServerConfig = ServerConfig'-    { _scDefaultImageType      :: !(Maybe Text)-    , _scValidNodeVersions     :: !(Maybe [Text])-    , _scValidImageTypes       :: !(Maybe [Text])-    , _scDefaultClusterVersion :: !(Maybe Text)-    , _scValidMasterVersions   :: !(Maybe [Text])-    } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'ServerConfig' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'scDefaultImageType'------ * 'scValidNodeVersions'------ * 'scValidImageTypes'------ * 'scDefaultClusterVersion'------ * 'scValidMasterVersions'-serverConfig-    :: ServerConfig-serverConfig =-    ServerConfig'-    { _scDefaultImageType = Nothing-    , _scValidNodeVersions = Nothing-    , _scValidImageTypes = Nothing-    , _scDefaultClusterVersion = Nothing-    , _scValidMasterVersions = Nothing-    }---- | Default image type.-scDefaultImageType :: Lens' ServerConfig (Maybe Text)-scDefaultImageType-  = lens _scDefaultImageType-      (\ s a -> s{_scDefaultImageType = a})---- | List of valid node upgrade target versions.-scValidNodeVersions :: Lens' ServerConfig [Text]-scValidNodeVersions-  = lens _scValidNodeVersions-      (\ s a -> s{_scValidNodeVersions = a})-      . _Default-      . _Coerce---- | List of valid image types.-scValidImageTypes :: Lens' ServerConfig [Text]-scValidImageTypes-  = lens _scValidImageTypes-      (\ s a -> s{_scValidImageTypes = a})-      . _Default-      . _Coerce---- | Version of Kubernetes the service deploys by default.-scDefaultClusterVersion :: Lens' ServerConfig (Maybe Text)-scDefaultClusterVersion-  = lens _scDefaultClusterVersion-      (\ s a -> s{_scDefaultClusterVersion = a})---- | List of valid master versions.-scValidMasterVersions :: Lens' ServerConfig [Text]-scValidMasterVersions-  = lens _scValidMasterVersions-      (\ s a -> s{_scValidMasterVersions = a})-      . _Default-      . _Coerce--instance FromJSON ServerConfig where-        parseJSON-          = withObject "ServerConfig"-              (\ o ->-                 ServerConfig' <$>-                   (o .:? "defaultImageType") <*>-                     (o .:? "validNodeVersions" .!= mempty)-                     <*> (o .:? "validImageTypes" .!= mempty)-                     <*> (o .:? "defaultClusterVersion")-                     <*> (o .:? "validMasterVersions" .!= mempty))--instance ToJSON ServerConfig where-        toJSON ServerConfig'{..}-          = object-              (catMaybes-                 [("defaultImageType" .=) <$> _scDefaultImageType,-                  ("validNodeVersions" .=) <$> _scValidNodeVersions,-                  ("validImageTypes" .=) <$> _scValidImageTypes,-                  ("defaultClusterVersion" .=) <$>-                    _scDefaultClusterVersion,-                  ("validMasterVersions" .=) <$>-                    _scValidMasterVersions])---- | AutoUpgradeOptions defines the set of options for the user to control--- how the Auto Upgrades will proceed.------ /See:/ 'autoUpgradeOptions' smart constructor.-data AutoUpgradeOptions = AutoUpgradeOptions'-    { _auoAutoUpgradeStartTime :: !(Maybe Text)-    , _auoDescription          :: !(Maybe Text)-    } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'AutoUpgradeOptions' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'auoAutoUpgradeStartTime'------ * 'auoDescription'-autoUpgradeOptions-    :: AutoUpgradeOptions-autoUpgradeOptions =-    AutoUpgradeOptions'-    { _auoAutoUpgradeStartTime = Nothing-    , _auoDescription = Nothing-    }---- | [Output only] This field is set when upgrades are about to commence with--- the approximate start time for the upgrades, in--- [RFC3339](https:\/\/www.ietf.org\/rfc\/rfc3339.txt) text format.-auoAutoUpgradeStartTime :: Lens' AutoUpgradeOptions (Maybe Text)-auoAutoUpgradeStartTime-  = lens _auoAutoUpgradeStartTime-      (\ s a -> s{_auoAutoUpgradeStartTime = a})---- | [Output only] This field is set when upgrades are about to commence with--- the description of the upgrade.-auoDescription :: Lens' AutoUpgradeOptions (Maybe Text)-auoDescription-  = lens _auoDescription-      (\ s a -> s{_auoDescription = a})--instance FromJSON AutoUpgradeOptions where-        parseJSON-          = withObject "AutoUpgradeOptions"-              (\ o ->-                 AutoUpgradeOptions' <$>-                   (o .:? "autoUpgradeStartTime") <*>-                     (o .:? "description"))--instance ToJSON AutoUpgradeOptions where-        toJSON AutoUpgradeOptions'{..}-          = object-              (catMaybes-                 [("autoUpgradeStartTime" .=) <$>-                    _auoAutoUpgradeStartTime,-                  ("description" .=) <$> _auoDescription])---- | SetNodePoolSizeRequest sets the size a node pool.------ /See:/ 'setNodePoolSizeRequest' smart constructor.-data SetNodePoolSizeRequest = SetNodePoolSizeRequest'-    { _snpsrNodeCount  :: !(Maybe (Textual Int32))-    , _snpsrZone       :: !(Maybe Text)-    , _snpsrNodePoolId :: !(Maybe Text)-    , _snpsrName       :: !(Maybe Text)-    , _snpsrClusterId  :: !(Maybe Text)-    , _snpsrProjectId  :: !(Maybe Text)-    } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'SetNodePoolSizeRequest' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'snpsrNodeCount'------ * 'snpsrZone'------ * 'snpsrNodePoolId'------ * 'snpsrName'------ * 'snpsrClusterId'------ * 'snpsrProjectId'-setNodePoolSizeRequest-    :: SetNodePoolSizeRequest-setNodePoolSizeRequest =-    SetNodePoolSizeRequest'-    { _snpsrNodeCount = Nothing-    , _snpsrZone = Nothing-    , _snpsrNodePoolId = Nothing-    , _snpsrName = Nothing-    , _snpsrClusterId = Nothing-    , _snpsrProjectId = Nothing-    }---- | The desired node count for the pool.-snpsrNodeCount :: Lens' SetNodePoolSizeRequest (Maybe Int32)-snpsrNodeCount-  = lens _snpsrNodeCount-      (\ s a -> s{_snpsrNodeCount = a})-      . mapping _Coerce---- | Deprecated. The name of the Google Compute Engine--- [zone](\/compute\/docs\/zones#available) in which the cluster resides.--- This field has been deprecated and replaced by the name field.-snpsrZone :: Lens' SetNodePoolSizeRequest (Maybe Text)-snpsrZone-  = lens _snpsrZone (\ s a -> s{_snpsrZone = a})---- | Deprecated. The name of the node pool to update. This field has been--- deprecated and replaced by the name field.-snpsrNodePoolId :: Lens' SetNodePoolSizeRequest (Maybe Text)-snpsrNodePoolId-  = lens _snpsrNodePoolId-      (\ s a -> s{_snpsrNodePoolId = a})---- | The name (project, location, cluster, node pool id) of the node pool to--- set size. Specified in the format--- \'projects\/*\/locations\/*\/clusters\/*\/nodePools\/*\'.-snpsrName :: Lens' SetNodePoolSizeRequest (Maybe Text)-snpsrName-  = lens _snpsrName (\ s a -> s{_snpsrName = a})---- | Deprecated. The name of the cluster to update. This field has been--- deprecated and replaced by the name field.-snpsrClusterId :: Lens' SetNodePoolSizeRequest (Maybe Text)-snpsrClusterId-  = lens _snpsrClusterId-      (\ s a -> s{_snpsrClusterId = a})---- | Deprecated. The Google Developers Console [project ID or project--- number](https:\/\/support.google.com\/cloud\/answer\/6158840). This--- field has been deprecated and replaced by the name field.-snpsrProjectId :: Lens' SetNodePoolSizeRequest (Maybe Text)-snpsrProjectId-  = lens _snpsrProjectId-      (\ s a -> s{_snpsrProjectId = a})--instance FromJSON SetNodePoolSizeRequest where-        parseJSON-          = withObject "SetNodePoolSizeRequest"-              (\ o ->-                 SetNodePoolSizeRequest' <$>-                   (o .:? "nodeCount") <*> (o .:? "zone") <*>-                     (o .:? "nodePoolId")-                     <*> (o .:? "name")-                     <*> (o .:? "clusterId")-                     <*> (o .:? "projectId"))--instance ToJSON SetNodePoolSizeRequest where-        toJSON SetNodePoolSizeRequest'{..}-          = object-              (catMaybes-                 [("nodeCount" .=) <$> _snpsrNodeCount,-                  ("zone" .=) <$> _snpsrZone,-                  ("nodePoolId" .=) <$> _snpsrNodePoolId,-                  ("name" .=) <$> _snpsrName,-                  ("clusterId" .=) <$> _snpsrClusterId,-                  ("projectId" .=) <$> _snpsrProjectId])---- | SetMonitoringServiceRequest sets the monitoring service of a cluster.------ /See:/ 'setMonitoringServiceRequest' smart constructor.-data SetMonitoringServiceRequest = SetMonitoringServiceRequest'-    { _smsrZone              :: !(Maybe Text)-    , _smsrName              :: !(Maybe Text)-    , _smsrClusterId         :: !(Maybe Text)-    , _smsrProjectId         :: !(Maybe Text)-    , _smsrMonitoringService :: !(Maybe Text)-    } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'SetMonitoringServiceRequest' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'smsrZone'------ * 'smsrName'------ * 'smsrClusterId'------ * 'smsrProjectId'------ * 'smsrMonitoringService'-setMonitoringServiceRequest-    :: SetMonitoringServiceRequest-setMonitoringServiceRequest =-    SetMonitoringServiceRequest'-    { _smsrZone = Nothing-    , _smsrName = Nothing-    , _smsrClusterId = Nothing-    , _smsrProjectId = Nothing-    , _smsrMonitoringService = Nothing-    }---- | Deprecated. The name of the Google Compute Engine--- [zone](\/compute\/docs\/zones#available) in which the cluster resides.--- This field has been deprecated and replaced by the name field.-smsrZone :: Lens' SetMonitoringServiceRequest (Maybe Text)-smsrZone = lens _smsrZone (\ s a -> s{_smsrZone = a})---- | The name (project, location, cluster) of the cluster to set monitoring.--- Specified in the format \'projects\/*\/locations\/*\/clusters\/*\'.-smsrName :: Lens' SetMonitoringServiceRequest (Maybe Text)-smsrName = lens _smsrName (\ s a -> s{_smsrName = a})---- | Deprecated. The name of the cluster to upgrade. This field has been--- deprecated and replaced by the name field.-smsrClusterId :: Lens' SetMonitoringServiceRequest (Maybe Text)-smsrClusterId-  = lens _smsrClusterId-      (\ s a -> s{_smsrClusterId = a})---- | Deprecated. The Google Developers Console [project ID or project--- number](https:\/\/support.google.com\/cloud\/answer\/6158840). This--- field has been deprecated and replaced by the name field.-smsrProjectId :: Lens' SetMonitoringServiceRequest (Maybe Text)-smsrProjectId-  = lens _smsrProjectId-      (\ s a -> s{_smsrProjectId = a})---- | The monitoring service the cluster should use to write metrics.--- Currently available options: * \"monitoring.googleapis.com\" - the--- Google Cloud Monitoring service * \"none\" - no metrics will be exported--- from the cluster-smsrMonitoringService :: Lens' SetMonitoringServiceRequest (Maybe Text)-smsrMonitoringService-  = lens _smsrMonitoringService-      (\ s a -> s{_smsrMonitoringService = a})--instance FromJSON SetMonitoringServiceRequest where-        parseJSON-          = withObject "SetMonitoringServiceRequest"-              (\ o ->-                 SetMonitoringServiceRequest' <$>-                   (o .:? "zone") <*> (o .:? "name") <*>-                     (o .:? "clusterId")-                     <*> (o .:? "projectId")-                     <*> (o .:? "monitoringService"))--instance ToJSON SetMonitoringServiceRequest where-        toJSON SetMonitoringServiceRequest'{..}-          = object-              (catMaybes-                 [("zone" .=) <$> _smsrZone,-                  ("name" .=) <$> _smsrName,-                  ("clusterId" .=) <$> _smsrClusterId,-                  ("projectId" .=) <$> _smsrProjectId,-                  ("monitoringService" .=) <$> _smsrMonitoringService])---- | SetLoggingServiceRequest sets the logging service of a cluster.------ /See:/ 'setLoggingServiceRequest' smart constructor.-data SetLoggingServiceRequest = SetLoggingServiceRequest'-    { _slsrZone           :: !(Maybe Text)-    , _slsrName           :: !(Maybe Text)-    , _slsrClusterId      :: !(Maybe Text)-    , _slsrProjectId      :: !(Maybe Text)-    , _slsrLoggingService :: !(Maybe Text)-    } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'SetLoggingServiceRequest' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'slsrZone'------ * 'slsrName'------ * 'slsrClusterId'------ * 'slsrProjectId'------ * 'slsrLoggingService'-setLoggingServiceRequest-    :: SetLoggingServiceRequest-setLoggingServiceRequest =-    SetLoggingServiceRequest'-    { _slsrZone = Nothing-    , _slsrName = Nothing-    , _slsrClusterId = Nothing-    , _slsrProjectId = Nothing-    , _slsrLoggingService = Nothing-    }---- | Deprecated. The name of the Google Compute Engine--- [zone](\/compute\/docs\/zones#available) in which the cluster resides.--- This field has been deprecated and replaced by the name field.-slsrZone :: Lens' SetLoggingServiceRequest (Maybe Text)-slsrZone = lens _slsrZone (\ s a -> s{_slsrZone = a})---- | The name (project, location, cluster) of the cluster to set logging.--- Specified in the format \'projects\/*\/locations\/*\/clusters\/*\'.-slsrName :: Lens' SetLoggingServiceRequest (Maybe Text)-slsrName = lens _slsrName (\ s a -> s{_slsrName = a})---- | Deprecated. The name of the cluster to upgrade. This field has been--- deprecated and replaced by the name field.-slsrClusterId :: Lens' SetLoggingServiceRequest (Maybe Text)-slsrClusterId-  = lens _slsrClusterId-      (\ s a -> s{_slsrClusterId = a})---- | Deprecated. The Google Developers Console [project ID or project--- number](https:\/\/support.google.com\/cloud\/answer\/6158840). This--- field has been deprecated and replaced by the name field.-slsrProjectId :: Lens' SetLoggingServiceRequest (Maybe Text)-slsrProjectId-  = lens _slsrProjectId-      (\ s a -> s{_slsrProjectId = a})---- | The logging service the cluster should use to write metrics. Currently--- available options: * \"logging.googleapis.com\" - the Google Cloud--- Logging service * \"none\" - no metrics will be exported from the--- cluster-slsrLoggingService :: Lens' SetLoggingServiceRequest (Maybe Text)-slsrLoggingService-  = lens _slsrLoggingService-      (\ s a -> s{_slsrLoggingService = a})--instance FromJSON SetLoggingServiceRequest where-        parseJSON-          = withObject "SetLoggingServiceRequest"-              (\ o ->-                 SetLoggingServiceRequest' <$>-                   (o .:? "zone") <*> (o .:? "name") <*>-                     (o .:? "clusterId")-                     <*> (o .:? "projectId")-                     <*> (o .:? "loggingService"))--instance ToJSON SetLoggingServiceRequest where-        toJSON SetLoggingServiceRequest'{..}-          = object-              (catMaybes-                 [("zone" .=) <$> _slsrZone,-                  ("name" .=) <$> _slsrName,-                  ("clusterId" .=) <$> _slsrClusterId,-                  ("projectId" .=) <$> _slsrProjectId,-                  ("loggingService" .=) <$> _slsrLoggingService])---- | MaintenancePolicy defines the maintenance policy to be used for the--- cluster.------ /See:/ 'maintenancePolicy' smart constructor.-newtype MaintenancePolicy = MaintenancePolicy'-    { _mpWindow :: Maybe MaintenanceWindow-    } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'MaintenancePolicy' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'mpWindow'-maintenancePolicy-    :: MaintenancePolicy-maintenancePolicy =-    MaintenancePolicy'-    { _mpWindow = Nothing-    }---- | Specifies the maintenance window in which maintenance may be performed.-mpWindow :: Lens' MaintenancePolicy (Maybe MaintenanceWindow)-mpWindow = lens _mpWindow (\ s a -> s{_mpWindow = a})--instance FromJSON MaintenancePolicy where-        parseJSON-          = withObject "MaintenancePolicy"-              (\ o -> MaintenancePolicy' <$> (o .:? "window"))--instance ToJSON MaintenancePolicy where-        toJSON MaintenancePolicy'{..}-          = object (catMaybes [("window" .=) <$> _mpWindow])---- | CidrBlock contains an optional name and one CIDR block.------ /See:/ 'cIdRBlock' smart constructor.-data CIdRBlock = CIdRBlock'-    { _cirbCIdRBlock   :: !(Maybe Text)-    , _cirbDisplayName :: !(Maybe Text)-    } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'CIdRBlock' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'cirbCIdRBlock'------ * 'cirbDisplayName'-cIdRBlock-    :: CIdRBlock-cIdRBlock =-    CIdRBlock'-    { _cirbCIdRBlock = Nothing-    , _cirbDisplayName = Nothing-    }---- | cidr_block must be specified in CIDR notation.-cirbCIdRBlock :: Lens' CIdRBlock (Maybe Text)-cirbCIdRBlock-  = lens _cirbCIdRBlock-      (\ s a -> s{_cirbCIdRBlock = a})---- | display_name is an optional field for users to identify CIDR blocks.-cirbDisplayName :: Lens' CIdRBlock (Maybe Text)-cirbDisplayName-  = lens _cirbDisplayName-      (\ s a -> s{_cirbDisplayName = a})--instance FromJSON CIdRBlock where-        parseJSON-          = withObject "CIdRBlock"-              (\ o ->-                 CIdRBlock' <$>-                   (o .:? "cidrBlock") <*> (o .:? "displayName"))--instance ToJSON CIdRBlock where-        toJSON CIdRBlock'{..}-          = object-              (catMaybes-                 [("cidrBlock" .=) <$> _cirbCIdRBlock,-                  ("displayName" .=) <$> _cirbDisplayName])---- | AcceleratorConfig represents a Hardware Accelerator request.------ /See:/ 'acceleratorConfig' smart constructor.-data AcceleratorConfig = AcceleratorConfig'-    { _acAcceleratorCount :: !(Maybe (Textual Int64))-    , _acAcceleratorType  :: !(Maybe Text)-    } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'AcceleratorConfig' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'acAcceleratorCount'------ * 'acAcceleratorType'-acceleratorConfig-    :: AcceleratorConfig-acceleratorConfig =-    AcceleratorConfig'-    { _acAcceleratorCount = Nothing-    , _acAcceleratorType = Nothing-    }---- | The number of the accelerator cards exposed to an instance.-acAcceleratorCount :: Lens' AcceleratorConfig (Maybe Int64)-acAcceleratorCount-  = lens _acAcceleratorCount-      (\ s a -> s{_acAcceleratorCount = a})-      . mapping _Coerce---- | The accelerator type resource name. List of supported accelerators--- [here](\/compute\/docs\/gpus\/#Introduction)-acAcceleratorType :: Lens' AcceleratorConfig (Maybe Text)-acAcceleratorType-  = lens _acAcceleratorType-      (\ s a -> s{_acAcceleratorType = a})--instance FromJSON AcceleratorConfig where-        parseJSON-          = withObject "AcceleratorConfig"-              (\ o ->-                 AcceleratorConfig' <$>-                   (o .:? "acceleratorCount") <*>-                     (o .:? "acceleratorType"))--instance ToJSON AcceleratorConfig where-        toJSON AcceleratorConfig'{..}-          = object-              (catMaybes-                 [("acceleratorCount" .=) <$> _acAcceleratorCount,-                  ("acceleratorType" .=) <$> _acAcceleratorType])---- | SetLocationsRequest sets the locations of the cluster.------ /See:/ 'setLocationsRequest' smart constructor.-data SetLocationsRequest = SetLocationsRequest'-    { _sZone      :: !(Maybe Text)-    , _sName      :: !(Maybe Text)-    , _sClusterId :: !(Maybe Text)-    , _sProjectId :: !(Maybe Text)-    , _sLocations :: !(Maybe [Text])-    } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'SetLocationsRequest' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'sZone'------ * 'sName'------ * 'sClusterId'------ * 'sProjectId'------ * 'sLocations'-setLocationsRequest-    :: SetLocationsRequest-setLocationsRequest =-    SetLocationsRequest'-    { _sZone = Nothing-    , _sName = Nothing-    , _sClusterId = Nothing-    , _sProjectId = Nothing-    , _sLocations = Nothing-    }---- | Deprecated. The name of the Google Compute Engine--- [zone](\/compute\/docs\/zones#available) in which the cluster resides.--- This field has been deprecated and replaced by the name field.-sZone :: Lens' SetLocationsRequest (Maybe Text)-sZone = lens _sZone (\ s a -> s{_sZone = a})---- | The name (project, location, cluster) of the cluster to set locations.--- Specified in the format \'projects\/*\/locations\/*\/clusters\/*\'.-sName :: Lens' SetLocationsRequest (Maybe Text)-sName = lens _sName (\ s a -> s{_sName = a})---- | Deprecated. The name of the cluster to upgrade. This field has been--- deprecated and replaced by the name field.-sClusterId :: Lens' SetLocationsRequest (Maybe Text)-sClusterId-  = lens _sClusterId (\ s a -> s{_sClusterId = a})---- | Deprecated. The Google Developers Console [project ID or project--- number](https:\/\/support.google.com\/cloud\/answer\/6158840). This--- field has been deprecated and replaced by the name field.-sProjectId :: Lens' SetLocationsRequest (Maybe Text)-sProjectId-  = lens _sProjectId (\ s a -> s{_sProjectId = a})---- | The desired list of Google Compute Engine--- [zones](\/compute\/docs\/zones#available) in which the cluster\'s nodes--- should be located. Changing the locations a cluster is in will result in--- nodes being either created or removed from the cluster, depending on--- whether locations are being added or removed. This list must always--- include the cluster\'s primary zone.-sLocations :: Lens' SetLocationsRequest [Text]-sLocations-  = lens _sLocations (\ s a -> s{_sLocations = a}) .-      _Default-      . _Coerce--instance FromJSON SetLocationsRequest where-        parseJSON-          = withObject "SetLocationsRequest"-              (\ o ->-                 SetLocationsRequest' <$>-                   (o .:? "zone") <*> (o .:? "name") <*>-                     (o .:? "clusterId")-                     <*> (o .:? "projectId")-                     <*> (o .:? "locations" .!= mempty))--instance ToJSON SetLocationsRequest where-        toJSON SetLocationsRequest'{..}-          = object-              (catMaybes-                 [("zone" .=) <$> _sZone, ("name" .=) <$> _sName,-                  ("clusterId" .=) <$> _sClusterId,-                  ("projectId" .=) <$> _sProjectId,-                  ("locations" .=) <$> _sLocations])---- | SetNetworkPolicyRequest enables\/disables network policy for a cluster.------ /See:/ 'setNetworkPolicyRequest' smart constructor.-data SetNetworkPolicyRequest = SetNetworkPolicyRequest'-    { _snprZone          :: !(Maybe Text)-    , _snprName          :: !(Maybe Text)-    , _snprClusterId     :: !(Maybe Text)-    , _snprProjectId     :: !(Maybe Text)-    , _snprNetworkPolicy :: !(Maybe NetworkPolicy)-    } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'SetNetworkPolicyRequest' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'snprZone'------ * 'snprName'------ * 'snprClusterId'------ * 'snprProjectId'------ * 'snprNetworkPolicy'-setNetworkPolicyRequest-    :: SetNetworkPolicyRequest-setNetworkPolicyRequest =-    SetNetworkPolicyRequest'-    { _snprZone = Nothing-    , _snprName = Nothing-    , _snprClusterId = Nothing-    , _snprProjectId = Nothing-    , _snprNetworkPolicy = Nothing-    }---- | Deprecated. The name of the Google Compute Engine--- [zone](\/compute\/docs\/zones#available) in which the cluster resides.--- This field has been deprecated and replaced by the name field.-snprZone :: Lens' SetNetworkPolicyRequest (Maybe Text)-snprZone = lens _snprZone (\ s a -> s{_snprZone = a})---- | The name (project, location, cluster id) of the cluster to set--- networking policy. Specified in the format--- \'projects\/*\/locations\/*\/clusters\/*\'.-snprName :: Lens' SetNetworkPolicyRequest (Maybe Text)-snprName = lens _snprName (\ s a -> s{_snprName = a})---- | Deprecated. The name of the cluster. This field has been deprecated and--- replaced by the name field.-snprClusterId :: Lens' SetNetworkPolicyRequest (Maybe Text)-snprClusterId-  = lens _snprClusterId-      (\ s a -> s{_snprClusterId = a})---- | Deprecated. The Google Developers Console [project ID or project--- number](https:\/\/developers.google.com\/console\/help\/new\/#projectnumber).--- This field has been deprecated and replaced by the name field.-snprProjectId :: Lens' SetNetworkPolicyRequest (Maybe Text)-snprProjectId-  = lens _snprProjectId-      (\ s a -> s{_snprProjectId = a})---- | Configuration options for the NetworkPolicy feature.-snprNetworkPolicy :: Lens' SetNetworkPolicyRequest (Maybe NetworkPolicy)-snprNetworkPolicy-  = lens _snprNetworkPolicy-      (\ s a -> s{_snprNetworkPolicy = a})--instance FromJSON SetNetworkPolicyRequest where-        parseJSON-          = withObject "SetNetworkPolicyRequest"-              (\ o ->-                 SetNetworkPolicyRequest' <$>-                   (o .:? "zone") <*> (o .:? "name") <*>-                     (o .:? "clusterId")-                     <*> (o .:? "projectId")-                     <*> (o .:? "networkPolicy"))--instance ToJSON SetNetworkPolicyRequest where-        toJSON SetNetworkPolicyRequest'{..}-          = object-              (catMaybes-                 [("zone" .=) <$> _snprZone,-                  ("name" .=) <$> _snprName,-                  ("clusterId" .=) <$> _snprClusterId,-                  ("projectId" .=) <$> _snprProjectId,-                  ("networkPolicy" .=) <$> _snprNetworkPolicy])---- | Configuration options for private clusters.------ /See:/ 'privateClusterConfig' smart constructor.-data PrivateClusterConfig = PrivateClusterConfig'-    { _pccEnablePrivateNodes    :: !(Maybe Bool)-    , _pccEnablePrivateEndpoint :: !(Maybe Bool)-    , _pccPublicEndpoint        :: !(Maybe Text)-    , _pccMasterIPv4CIdRBlock   :: !(Maybe Text)-    , _pccPrivateEndpoint       :: !(Maybe Text)-    } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'PrivateClusterConfig' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'pccEnablePrivateNodes'------ * 'pccEnablePrivateEndpoint'------ * 'pccPublicEndpoint'------ * 'pccMasterIPv4CIdRBlock'------ * 'pccPrivateEndpoint'-privateClusterConfig-    :: PrivateClusterConfig-privateClusterConfig =-    PrivateClusterConfig'-    { _pccEnablePrivateNodes = Nothing-    , _pccEnablePrivateEndpoint = Nothing-    , _pccPublicEndpoint = Nothing-    , _pccMasterIPv4CIdRBlock = Nothing-    , _pccPrivateEndpoint = Nothing-    }---- | Whether nodes have internal IP addresses only. If enabled, all nodes are--- given only RFC 1918 private addresses and communicate with the master--- via private networking.-pccEnablePrivateNodes :: Lens' PrivateClusterConfig (Maybe Bool)-pccEnablePrivateNodes-  = lens _pccEnablePrivateNodes-      (\ s a -> s{_pccEnablePrivateNodes = a})---- | Whether the master\'s internal IP address is used as the cluster--- endpoint.-pccEnablePrivateEndpoint :: Lens' PrivateClusterConfig (Maybe Bool)-pccEnablePrivateEndpoint-  = lens _pccEnablePrivateEndpoint-      (\ s a -> s{_pccEnablePrivateEndpoint = a})---- | Output only. The external IP address of this cluster\'s master endpoint.-pccPublicEndpoint :: Lens' PrivateClusterConfig (Maybe Text)-pccPublicEndpoint-  = lens _pccPublicEndpoint-      (\ s a -> s{_pccPublicEndpoint = a})---- | The IP range in CIDR notation to use for the hosted master network. This--- range will be used for assigning internal IP addresses to the master or--- set of masters, as well as the ILB VIP. This range must not overlap with--- any other ranges in use within the cluster\'s network.-pccMasterIPv4CIdRBlock :: Lens' PrivateClusterConfig (Maybe Text)-pccMasterIPv4CIdRBlock-  = lens _pccMasterIPv4CIdRBlock-      (\ s a -> s{_pccMasterIPv4CIdRBlock = a})---- | Output only. The internal IP address of this cluster\'s master endpoint.-pccPrivateEndpoint :: Lens' PrivateClusterConfig (Maybe Text)-pccPrivateEndpoint-  = lens _pccPrivateEndpoint-      (\ s a -> s{_pccPrivateEndpoint = a})--instance FromJSON PrivateClusterConfig where-        parseJSON-          = withObject "PrivateClusterConfig"-              (\ o ->-                 PrivateClusterConfig' <$>-                   (o .:? "enablePrivateNodes") <*>-                     (o .:? "enablePrivateEndpoint")-                     <*> (o .:? "publicEndpoint")-                     <*> (o .:? "masterIpv4CidrBlock")-                     <*> (o .:? "privateEndpoint"))--instance ToJSON PrivateClusterConfig where-        toJSON PrivateClusterConfig'{..}-          = object-              (catMaybes-                 [("enablePrivateNodes" .=) <$>-                    _pccEnablePrivateNodes,-                  ("enablePrivateEndpoint" .=) <$>-                    _pccEnablePrivateEndpoint,-                  ("publicEndpoint" .=) <$> _pccPublicEndpoint,-                  ("masterIpv4CidrBlock" .=) <$>-                    _pccMasterIPv4CIdRBlock,-                  ("privateEndpoint" .=) <$> _pccPrivateEndpoint])---- | Time window specified for daily maintenance operations.------ /See:/ 'dailyMaintenanceWindow' smart constructor.-data DailyMaintenanceWindow = DailyMaintenanceWindow'-    { _dmwStartTime :: !(Maybe Text)-    , _dmwDuration  :: !(Maybe Text)-    } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'DailyMaintenanceWindow' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'dmwStartTime'------ * 'dmwDuration'-dailyMaintenanceWindow-    :: DailyMaintenanceWindow-dailyMaintenanceWindow =-    DailyMaintenanceWindow'-    { _dmwStartTime = Nothing-    , _dmwDuration = Nothing-    }---- | Time within the maintenance window to start the maintenance operations.--- Time format should be in--- [RFC3339](https:\/\/www.ietf.org\/rfc\/rfc3339.txt) format \"HH:MM”,--- where HH : [00-23] and MM : [00-59] GMT.-dmwStartTime :: Lens' DailyMaintenanceWindow (Maybe Text)-dmwStartTime-  = lens _dmwStartTime (\ s a -> s{_dmwStartTime = a})---- | [Output only] Duration of the time window, automatically chosen to be--- smallest possible in the given scenario. Duration will be in--- [RFC3339](https:\/\/www.ietf.org\/rfc\/rfc3339.txt) format \"PTnHnMnS\".-dmwDuration :: Lens' DailyMaintenanceWindow (Maybe Text)-dmwDuration-  = lens _dmwDuration (\ s a -> s{_dmwDuration = a})--instance FromJSON DailyMaintenanceWindow where-        parseJSON-          = withObject "DailyMaintenanceWindow"-              (\ o ->-                 DailyMaintenanceWindow' <$>-                   (o .:? "startTime") <*> (o .:? "duration"))--instance ToJSON DailyMaintenanceWindow where-        toJSON DailyMaintenanceWindow'{..}-          = object-              (catMaybes-                 [("startTime" .=) <$> _dmwStartTime,-                  ("duration" .=) <$> _dmwDuration])---- | ListClustersResponse is the result of ListClustersRequest.------ /See:/ 'listClustersResponse' smart constructor.-data ListClustersResponse = ListClustersResponse'-    { _lcrClusters     :: !(Maybe [Cluster])-    , _lcrMissingZones :: !(Maybe [Text])-    } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'ListClustersResponse' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'lcrClusters'------ * 'lcrMissingZones'-listClustersResponse-    :: ListClustersResponse-listClustersResponse =-    ListClustersResponse'-    { _lcrClusters = Nothing-    , _lcrMissingZones = Nothing-    }---- | A list of clusters in the project in the specified zone, or across all--- ones.-lcrClusters :: Lens' ListClustersResponse [Cluster]-lcrClusters-  = lens _lcrClusters (\ s a -> s{_lcrClusters = a}) .-      _Default-      . _Coerce---- | If any zones are listed here, the list of clusters returned may be--- missing those zones.-lcrMissingZones :: Lens' ListClustersResponse [Text]-lcrMissingZones-  = lens _lcrMissingZones-      (\ s a -> s{_lcrMissingZones = a})-      . _Default-      . _Coerce--instance FromJSON ListClustersResponse where-        parseJSON-          = withObject "ListClustersResponse"-              (\ o ->-                 ListClustersResponse' <$>-                   (o .:? "clusters" .!= mempty) <*>-                     (o .:? "missingZones" .!= mempty))--instance ToJSON ListClustersResponse where-        toJSON ListClustersResponse'{..}-          = object-              (catMaybes-                 [("clusters" .=) <$> _lcrClusters,-                  ("missingZones" .=) <$> _lcrMissingZones])---- | ClusterUpdate describes an update to the cluster. Exactly one update can--- be applied to a cluster with each request, so at most one field can be--- provided.------ /See:/ 'clusterUpdate' smart constructor.-data ClusterUpdate = ClusterUpdate'-    { _cuDesiredNodePoolAutoscaling            :: !(Maybe NodePoolAutoscaling)-    , _cuDesiredAddonsConfig                   :: !(Maybe AddonsConfig)-    , _cuDesiredNodePoolId                     :: !(Maybe Text)-    , _cuDesiredMasterAuthorizedNetworksConfig :: !(Maybe MasterAuthorizedNetworksConfig)-    , _cuDesiredImageType                      :: !(Maybe Text)-    , _cuDesiredNodeVersion                    :: !(Maybe Text)-    , _cuDesiredMasterVersion                  :: !(Maybe Text)-    , _cuDesiredLocations                      :: !(Maybe [Text])-    , _cuDesiredMonitoringService              :: !(Maybe Text)-    } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'ClusterUpdate' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'cuDesiredNodePoolAutoscaling'------ * 'cuDesiredAddonsConfig'------ * 'cuDesiredNodePoolId'------ * 'cuDesiredMasterAuthorizedNetworksConfig'------ * 'cuDesiredImageType'------ * 'cuDesiredNodeVersion'------ * 'cuDesiredMasterVersion'------ * 'cuDesiredLocations'------ * 'cuDesiredMonitoringService'-clusterUpdate-    :: ClusterUpdate-clusterUpdate =-    ClusterUpdate'-    { _cuDesiredNodePoolAutoscaling = Nothing-    , _cuDesiredAddonsConfig = Nothing-    , _cuDesiredNodePoolId = Nothing-    , _cuDesiredMasterAuthorizedNetworksConfig = Nothing-    , _cuDesiredImageType = Nothing-    , _cuDesiredNodeVersion = Nothing-    , _cuDesiredMasterVersion = Nothing-    , _cuDesiredLocations = Nothing-    , _cuDesiredMonitoringService = Nothing-    }---- | Autoscaler configuration for the node pool specified in--- desired_node_pool_id. If there is only one pool in the cluster and--- desired_node_pool_id is not provided then the change applies to that--- single node pool.-cuDesiredNodePoolAutoscaling :: Lens' ClusterUpdate (Maybe NodePoolAutoscaling)-cuDesiredNodePoolAutoscaling-  = lens _cuDesiredNodePoolAutoscaling-      (\ s a -> s{_cuDesiredNodePoolAutoscaling = a})---- | Configurations for the various addons available to run in the cluster.-cuDesiredAddonsConfig :: Lens' ClusterUpdate (Maybe AddonsConfig)-cuDesiredAddonsConfig-  = lens _cuDesiredAddonsConfig-      (\ s a -> s{_cuDesiredAddonsConfig = a})---- | The node pool to be upgraded. This field is mandatory if--- \"desired_node_version\", \"desired_image_family\" or--- \"desired_node_pool_autoscaling\" is specified and there is more than--- one node pool on the cluster.-cuDesiredNodePoolId :: Lens' ClusterUpdate (Maybe Text)-cuDesiredNodePoolId-  = lens _cuDesiredNodePoolId-      (\ s a -> s{_cuDesiredNodePoolId = a})---- | The desired configuration options for master authorized networks--- feature.-cuDesiredMasterAuthorizedNetworksConfig :: Lens' ClusterUpdate (Maybe MasterAuthorizedNetworksConfig)-cuDesiredMasterAuthorizedNetworksConfig-  = lens _cuDesiredMasterAuthorizedNetworksConfig-      (\ s a ->-         s{_cuDesiredMasterAuthorizedNetworksConfig = a})---- | The desired image type for the node pool. NOTE: Set the--- \"desired_node_pool\" field as well.-cuDesiredImageType :: Lens' ClusterUpdate (Maybe Text)-cuDesiredImageType-  = lens _cuDesiredImageType-      (\ s a -> s{_cuDesiredImageType = a})---- | The Kubernetes version to change the nodes to (typically an upgrade).--- Users may specify either explicit versions offered by Kubernetes Engine--- or version aliases, which have the following behavior: - \"latest\":--- picks the highest valid Kubernetes version - \"1.X\": picks the highest--- valid patch+gke.N patch in the 1.X version - \"1.X.Y\": picks the--- highest valid gke.N patch in the 1.X.Y version - \"1.X.Y-gke.N\": picks--- an explicit Kubernetes version - \"-\": picks the Kubernetes master--- version-cuDesiredNodeVersion :: Lens' ClusterUpdate (Maybe Text)-cuDesiredNodeVersion-  = lens _cuDesiredNodeVersion-      (\ s a -> s{_cuDesiredNodeVersion = a})---- | The Kubernetes version to change the master to. Users may specify either--- explicit versions offered by Kubernetes Engine or version aliases, which--- have the following behavior: - \"latest\": picks the highest valid--- Kubernetes version - \"1.X\": picks the highest valid patch+gke.N patch--- in the 1.X version - \"1.X.Y\": picks the highest valid gke.N patch in--- the 1.X.Y version - \"1.X.Y-gke.N\": picks an explicit Kubernetes--- version - \"-\": picks the default Kubernetes version-cuDesiredMasterVersion :: Lens' ClusterUpdate (Maybe Text)-cuDesiredMasterVersion-  = lens _cuDesiredMasterVersion-      (\ s a -> s{_cuDesiredMasterVersion = a})---- | The desired list of Google Compute Engine--- [zones](\/compute\/docs\/zones#available) in which the cluster\'s nodes--- should be located. Changing the locations a cluster is in will result in--- nodes being either created or removed from the cluster, depending on--- whether locations are being added or removed. This list must always--- include the cluster\'s primary zone.-cuDesiredLocations :: Lens' ClusterUpdate [Text]-cuDesiredLocations-  = lens _cuDesiredLocations-      (\ s a -> s{_cuDesiredLocations = a})-      . _Default-      . _Coerce---- | The monitoring service the cluster should use to write metrics.--- Currently available options: * \"monitoring.googleapis.com\" - the--- Google Cloud Monitoring service * \"none\" - no metrics will be exported--- from the cluster-cuDesiredMonitoringService :: Lens' ClusterUpdate (Maybe Text)-cuDesiredMonitoringService-  = lens _cuDesiredMonitoringService-      (\ s a -> s{_cuDesiredMonitoringService = a})--instance FromJSON ClusterUpdate where-        parseJSON-          = withObject "ClusterUpdate"-              (\ o ->-                 ClusterUpdate' <$>-                   (o .:? "desiredNodePoolAutoscaling") <*>-                     (o .:? "desiredAddonsConfig")-                     <*> (o .:? "desiredNodePoolId")-                     <*> (o .:? "desiredMasterAuthorizedNetworksConfig")-                     <*> (o .:? "desiredImageType")-                     <*> (o .:? "desiredNodeVersion")-                     <*> (o .:? "desiredMasterVersion")-                     <*> (o .:? "desiredLocations" .!= mempty)-                     <*> (o .:? "desiredMonitoringService"))--instance ToJSON ClusterUpdate where-        toJSON ClusterUpdate'{..}-          = object-              (catMaybes-                 [("desiredNodePoolAutoscaling" .=) <$>-                    _cuDesiredNodePoolAutoscaling,-                  ("desiredAddonsConfig" .=) <$>-                    _cuDesiredAddonsConfig,-                  ("desiredNodePoolId" .=) <$> _cuDesiredNodePoolId,-                  ("desiredMasterAuthorizedNetworksConfig" .=) <$>-                    _cuDesiredMasterAuthorizedNetworksConfig,-                  ("desiredImageType" .=) <$> _cuDesiredImageType,-                  ("desiredNodeVersion" .=) <$> _cuDesiredNodeVersion,-                  ("desiredMasterVersion" .=) <$>-                    _cuDesiredMasterVersion,-                  ("desiredLocations" .=) <$> _cuDesiredLocations,-                  ("desiredMonitoringService" .=) <$>-                    _cuDesiredMonitoringService])---- | RollbackNodePoolUpgradeRequest rollbacks the previously Aborted or--- Failed NodePool upgrade. This will be an no-op if the last upgrade--- successfully completed.------ /See:/ 'rollbackNodePoolUpgradeRequest' smart constructor.-data RollbackNodePoolUpgradeRequest = RollbackNodePoolUpgradeRequest'-    { _rnpurZone       :: !(Maybe Text)-    , _rnpurNodePoolId :: !(Maybe Text)-    , _rnpurName       :: !(Maybe Text)-    , _rnpurClusterId  :: !(Maybe Text)-    , _rnpurProjectId  :: !(Maybe Text)-    } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'RollbackNodePoolUpgradeRequest' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'rnpurZone'------ * 'rnpurNodePoolId'------ * 'rnpurName'------ * 'rnpurClusterId'------ * 'rnpurProjectId'-rollbackNodePoolUpgradeRequest-    :: RollbackNodePoolUpgradeRequest-rollbackNodePoolUpgradeRequest =-    RollbackNodePoolUpgradeRequest'-    { _rnpurZone = Nothing-    , _rnpurNodePoolId = Nothing-    , _rnpurName = Nothing-    , _rnpurClusterId = Nothing-    , _rnpurProjectId = Nothing-    }---- | Deprecated. The name of the Google Compute Engine--- [zone](\/compute\/docs\/zones#available) in which the cluster resides.--- This field has been deprecated and replaced by the name field.-rnpurZone :: Lens' RollbackNodePoolUpgradeRequest (Maybe Text)-rnpurZone-  = lens _rnpurZone (\ s a -> s{_rnpurZone = a})---- | Deprecated. The name of the node pool to rollback. This field has been--- deprecated and replaced by the name field.-rnpurNodePoolId :: Lens' RollbackNodePoolUpgradeRequest (Maybe Text)-rnpurNodePoolId-  = lens _rnpurNodePoolId-      (\ s a -> s{_rnpurNodePoolId = a})---- | The name (project, location, cluster, node pool id) of the node poll to--- rollback upgrade. Specified in the format--- \'projects\/*\/locations\/*\/clusters\/*\/nodePools\/*\'.-rnpurName :: Lens' RollbackNodePoolUpgradeRequest (Maybe Text)-rnpurName-  = lens _rnpurName (\ s a -> s{_rnpurName = a})---- | Deprecated. The name of the cluster to rollback. This field has been--- deprecated and replaced by the name field.-rnpurClusterId :: Lens' RollbackNodePoolUpgradeRequest (Maybe Text)-rnpurClusterId-  = lens _rnpurClusterId-      (\ s a -> s{_rnpurClusterId = a})---- | Deprecated. The Google Developers Console [project ID or project--- number](https:\/\/support.google.com\/cloud\/answer\/6158840). This--- field has been deprecated and replaced by the name field.-rnpurProjectId :: Lens' RollbackNodePoolUpgradeRequest (Maybe Text)-rnpurProjectId-  = lens _rnpurProjectId-      (\ s a -> s{_rnpurProjectId = a})--instance FromJSON RollbackNodePoolUpgradeRequest-         where-        parseJSON-          = withObject "RollbackNodePoolUpgradeRequest"-              (\ o ->-                 RollbackNodePoolUpgradeRequest' <$>-                   (o .:? "zone") <*> (o .:? "nodePoolId") <*>-                     (o .:? "name")-                     <*> (o .:? "clusterId")-                     <*> (o .:? "projectId"))--instance ToJSON RollbackNodePoolUpgradeRequest where-        toJSON RollbackNodePoolUpgradeRequest'{..}-          = object-              (catMaybes-                 [("zone" .=) <$> _rnpurZone,-                  ("nodePoolId" .=) <$> _rnpurNodePoolId,-                  ("name" .=) <$> _rnpurName,-                  ("clusterId" .=) <$> _rnpurClusterId,-                  ("projectId" .=) <$> _rnpurProjectId])---- | Configuration options for the NetworkPolicy feature.--- https:\/\/kubernetes.io\/docs\/concepts\/services-networking\/networkpolicies\/------ /See:/ 'networkPolicy' smart constructor.-data NetworkPolicy = NetworkPolicy'-    { _npEnabled  :: !(Maybe Bool)-    , _npProvider :: !(Maybe NetworkPolicyProvider)-    } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'NetworkPolicy' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'npEnabled'------ * 'npProvider'-networkPolicy-    :: NetworkPolicy-networkPolicy =-    NetworkPolicy'-    { _npEnabled = Nothing-    , _npProvider = Nothing-    }---- | Whether network policy is enabled on the cluster.-npEnabled :: Lens' NetworkPolicy (Maybe Bool)-npEnabled-  = lens _npEnabled (\ s a -> s{_npEnabled = a})---- | The selected network policy provider.-npProvider :: Lens' NetworkPolicy (Maybe NetworkPolicyProvider)-npProvider-  = lens _npProvider (\ s a -> s{_npProvider = a})--instance FromJSON NetworkPolicy where-        parseJSON-          = withObject "NetworkPolicy"-              (\ o ->-                 NetworkPolicy' <$>-                   (o .:? "enabled") <*> (o .:? "provider"))--instance ToJSON NetworkPolicy where-        toJSON NetworkPolicy'{..}-          = object-              (catMaybes-                 [("enabled" .=) <$> _npEnabled,-                  ("provider" .=) <$> _npProvider])---- | ListNodePoolsResponse is the result of ListNodePoolsRequest.------ /See:/ 'listNodePoolsResponse' smart constructor.-newtype ListNodePoolsResponse = ListNodePoolsResponse'-    { _lnprNodePools :: Maybe [NodePool]-    } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'ListNodePoolsResponse' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'lnprNodePools'-listNodePoolsResponse-    :: ListNodePoolsResponse-listNodePoolsResponse =-    ListNodePoolsResponse'-    { _lnprNodePools = Nothing-    }---- | A list of node pools for a cluster.-lnprNodePools :: Lens' ListNodePoolsResponse [NodePool]-lnprNodePools-  = lens _lnprNodePools-      (\ s a -> s{_lnprNodePools = a})-      . _Default-      . _Coerce--instance FromJSON ListNodePoolsResponse where-        parseJSON-          = withObject "ListNodePoolsResponse"-              (\ o ->-                 ListNodePoolsResponse' <$>-                   (o .:? "nodePools" .!= mempty))--instance ToJSON ListNodePoolsResponse where-        toJSON ListNodePoolsResponse'{..}-          = object-              (catMaybes [("nodePools" .=) <$> _lnprNodePools])---- | CreateNodePoolRequest creates a node pool for a cluster.------ /See:/ 'createNodePoolRequest' smart constructor.-data CreateNodePoolRequest = CreateNodePoolRequest'-    { _cnprParent    :: !(Maybe Text)-    , _cnprZone      :: !(Maybe Text)-    , _cnprNodePool  :: !(Maybe NodePool)-    , _cnprClusterId :: !(Maybe Text)-    , _cnprProjectId :: !(Maybe Text)-    } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'CreateNodePoolRequest' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'cnprParent'------ * 'cnprZone'------ * 'cnprNodePool'------ * 'cnprClusterId'------ * 'cnprProjectId'-createNodePoolRequest-    :: CreateNodePoolRequest-createNodePoolRequest =-    CreateNodePoolRequest'-    { _cnprParent = Nothing-    , _cnprZone = Nothing-    , _cnprNodePool = Nothing-    , _cnprClusterId = Nothing-    , _cnprProjectId = Nothing-    }---- | The parent (project, location, cluster id) where the node pool will be--- created. Specified in the format--- \'projects\/*\/locations\/*\/clusters\/*\'.-cnprParent :: Lens' CreateNodePoolRequest (Maybe Text)-cnprParent-  = lens _cnprParent (\ s a -> s{_cnprParent = a})---- | Deprecated. The name of the Google Compute Engine--- [zone](\/compute\/docs\/zones#available) in which the cluster resides.--- This field has been deprecated and replaced by the parent field.-cnprZone :: Lens' CreateNodePoolRequest (Maybe Text)-cnprZone = lens _cnprZone (\ s a -> s{_cnprZone = a})---- | The node pool to create.-cnprNodePool :: Lens' CreateNodePoolRequest (Maybe NodePool)-cnprNodePool-  = lens _cnprNodePool (\ s a -> s{_cnprNodePool = a})---- | Deprecated. The name of the cluster. This field has been deprecated and--- replaced by the parent field.-cnprClusterId :: Lens' CreateNodePoolRequest (Maybe Text)-cnprClusterId-  = lens _cnprClusterId-      (\ s a -> s{_cnprClusterId = a})---- | Deprecated. The Google Developers Console [project ID or project--- number](https:\/\/developers.google.com\/console\/help\/new\/#projectnumber).--- This field has been deprecated and replaced by the parent field.-cnprProjectId :: Lens' CreateNodePoolRequest (Maybe Text)-cnprProjectId-  = lens _cnprProjectId-      (\ s a -> s{_cnprProjectId = a})--instance FromJSON CreateNodePoolRequest where-        parseJSON-          = withObject "CreateNodePoolRequest"-              (\ o ->-                 CreateNodePoolRequest' <$>-                   (o .:? "parent") <*> (o .:? "zone") <*>-                     (o .:? "nodePool")-                     <*> (o .:? "clusterId")-                     <*> (o .:? "projectId"))--instance ToJSON CreateNodePoolRequest where-        toJSON CreateNodePoolRequest'{..}-          = object-              (catMaybes-                 [("parent" .=) <$> _cnprParent,-                  ("zone" .=) <$> _cnprZone,-                  ("nodePool" .=) <$> _cnprNodePool,-                  ("clusterId" .=) <$> _cnprClusterId,-                  ("projectId" .=) <$> _cnprProjectId])---- | The labels to set for that cluster.------ /See:/ 'setLabelsRequestResourceLabels' smart constructor.-newtype SetLabelsRequestResourceLabels = SetLabelsRequestResourceLabels'-    { _slrrlAddtional :: HashMap Text Text-    } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'SetLabelsRequestResourceLabels' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'slrrlAddtional'-setLabelsRequestResourceLabels-    :: HashMap Text Text -- ^ 'slrrlAddtional'-    -> SetLabelsRequestResourceLabels-setLabelsRequestResourceLabels pSlrrlAddtional_ =-    SetLabelsRequestResourceLabels'-    { _slrrlAddtional = _Coerce # pSlrrlAddtional_-    }+newtype NetworkPolicyConfig =+  NetworkPolicyConfig'+    { _npcDisabled :: Maybe Bool+    }+  deriving (Eq, Show, Data, Typeable, Generic)+++-- | Creates a value of 'NetworkPolicyConfig' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'npcDisabled'+networkPolicyConfig+    :: NetworkPolicyConfig+networkPolicyConfig = NetworkPolicyConfig' {_npcDisabled = Nothing}+++-- | Whether NetworkPolicy is enabled for this cluster.+npcDisabled :: Lens' NetworkPolicyConfig (Maybe Bool)+npcDisabled+  = lens _npcDisabled (\ s a -> s{_npcDisabled = a})++instance FromJSON NetworkPolicyConfig where+        parseJSON+          = withObject "NetworkPolicyConfig"+              (\ o -> NetworkPolicyConfig' <$> (o .:? "disabled"))++instance ToJSON NetworkPolicyConfig where+        toJSON NetworkPolicyConfig'{..}+          = object+              (catMaybes [("disabled" .=) <$> _npcDisabled])++-- | ListUsableSubnetworksResponse is the response of+-- ListUsableSubnetworksRequest.+--+-- /See:/ 'listUsableSubnetworksResponse' smart constructor.+data ListUsableSubnetworksResponse =+  ListUsableSubnetworksResponse'+    { _lusrNextPageToken :: !(Maybe Text)+    , _lusrSubnetworks   :: !(Maybe [UsableSubnetwork])+    }+  deriving (Eq, Show, Data, Typeable, Generic)+++-- | Creates a value of 'ListUsableSubnetworksResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'lusrNextPageToken'+--+-- * 'lusrSubnetworks'+listUsableSubnetworksResponse+    :: ListUsableSubnetworksResponse+listUsableSubnetworksResponse =+  ListUsableSubnetworksResponse'+    {_lusrNextPageToken = Nothing, _lusrSubnetworks = Nothing}+++-- | This token allows you to get the next page of results for list requests.+-- If the number of results is larger than \`page_size\`, use the+-- \`next_page_token\` as a value for the query parameter \`page_token\` in+-- the next request. The value will become empty when there are no more+-- pages.+lusrNextPageToken :: Lens' ListUsableSubnetworksResponse (Maybe Text)+lusrNextPageToken+  = lens _lusrNextPageToken+      (\ s a -> s{_lusrNextPageToken = a})++-- | A list of usable subnetworks in the specified network project.+lusrSubnetworks :: Lens' ListUsableSubnetworksResponse [UsableSubnetwork]+lusrSubnetworks+  = lens _lusrSubnetworks+      (\ s a -> s{_lusrSubnetworks = a})+      . _Default+      . _Coerce++instance FromJSON ListUsableSubnetworksResponse where+        parseJSON+          = withObject "ListUsableSubnetworksResponse"+              (\ o ->+                 ListUsableSubnetworksResponse' <$>+                   (o .:? "nextPageToken") <*>+                     (o .:? "subnetworks" .!= mempty))++instance ToJSON ListUsableSubnetworksResponse where+        toJSON ListUsableSubnetworksResponse'{..}+          = object+              (catMaybes+                 [("nextPageToken" .=) <$> _lusrNextPageToken,+                  ("subnetworks" .=) <$> _lusrSubnetworks])++-- | UpdateNodePoolRequests update a node pool\'s image and\/or version.+--+-- /See:/ 'updateNodePoolRequest' smart constructor.+data UpdateNodePoolRequest =+  UpdateNodePoolRequest'+    { _unprZone        :: !(Maybe Text)+    , _unprNodePoolId  :: !(Maybe Text)+    , _unprImageType   :: !(Maybe Text)+    , _unprName        :: !(Maybe Text)+    , _unprClusterId   :: !(Maybe Text)+    , _unprNodeVersion :: !(Maybe Text)+    , _unprProjectId   :: !(Maybe Text)+    }+  deriving (Eq, Show, Data, Typeable, Generic)+++-- | Creates a value of 'UpdateNodePoolRequest' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'unprZone'+--+-- * 'unprNodePoolId'+--+-- * 'unprImageType'+--+-- * 'unprName'+--+-- * 'unprClusterId'+--+-- * 'unprNodeVersion'+--+-- * 'unprProjectId'+updateNodePoolRequest+    :: UpdateNodePoolRequest+updateNodePoolRequest =+  UpdateNodePoolRequest'+    { _unprZone = Nothing+    , _unprNodePoolId = Nothing+    , _unprImageType = Nothing+    , _unprName = Nothing+    , _unprClusterId = Nothing+    , _unprNodeVersion = Nothing+    , _unprProjectId = Nothing+    }+++-- | Deprecated. The name of the Google Compute Engine+-- [zone](\/compute\/docs\/zones#available) in which the cluster resides.+-- This field has been deprecated and replaced by the name field.+unprZone :: Lens' UpdateNodePoolRequest (Maybe Text)+unprZone = lens _unprZone (\ s a -> s{_unprZone = a})++-- | Deprecated. The name of the node pool to upgrade. This field has been+-- deprecated and replaced by the name field.+unprNodePoolId :: Lens' UpdateNodePoolRequest (Maybe Text)+unprNodePoolId+  = lens _unprNodePoolId+      (\ s a -> s{_unprNodePoolId = a})++-- | The desired image type for the node pool.+unprImageType :: Lens' UpdateNodePoolRequest (Maybe Text)+unprImageType+  = lens _unprImageType+      (\ s a -> s{_unprImageType = a})++-- | The name (project, location, cluster, node pool) of the node pool to+-- update. Specified in the format+-- \'projects\/*\/locations\/*\/clusters\/*\/nodePools\/*\'.+unprName :: Lens' UpdateNodePoolRequest (Maybe Text)+unprName = lens _unprName (\ s a -> s{_unprName = a})++-- | Deprecated. The name of the cluster to upgrade. This field has been+-- deprecated and replaced by the name field.+unprClusterId :: Lens' UpdateNodePoolRequest (Maybe Text)+unprClusterId+  = lens _unprClusterId+      (\ s a -> s{_unprClusterId = a})++-- | The Kubernetes version to change the nodes to (typically an upgrade).+-- Users may specify either explicit versions offered by Kubernetes Engine+-- or version aliases, which have the following behavior: - \"latest\":+-- picks the highest valid Kubernetes version - \"1.X\": picks the highest+-- valid patch+gke.N patch in the 1.X version - \"1.X.Y\": picks the+-- highest valid gke.N patch in the 1.X.Y version - \"1.X.Y-gke.N\": picks+-- an explicit Kubernetes version - \"-\": picks the Kubernetes master+-- version+unprNodeVersion :: Lens' UpdateNodePoolRequest (Maybe Text)+unprNodeVersion+  = lens _unprNodeVersion+      (\ s a -> s{_unprNodeVersion = a})++-- | Deprecated. The Google Developers Console [project ID or project+-- number](https:\/\/support.google.com\/cloud\/answer\/6158840). This+-- field has been deprecated and replaced by the name field.+unprProjectId :: Lens' UpdateNodePoolRequest (Maybe Text)+unprProjectId+  = lens _unprProjectId+      (\ s a -> s{_unprProjectId = a})++instance FromJSON UpdateNodePoolRequest where+        parseJSON+          = withObject "UpdateNodePoolRequest"+              (\ o ->+                 UpdateNodePoolRequest' <$>+                   (o .:? "zone") <*> (o .:? "nodePoolId") <*>+                     (o .:? "imageType")+                     <*> (o .:? "name")+                     <*> (o .:? "clusterId")+                     <*> (o .:? "nodeVersion")+                     <*> (o .:? "projectId"))++instance ToJSON UpdateNodePoolRequest where+        toJSON UpdateNodePoolRequest'{..}+          = object+              (catMaybes+                 [("zone" .=) <$> _unprZone,+                  ("nodePoolId" .=) <$> _unprNodePoolId,+                  ("imageType" .=) <$> _unprImageType,+                  ("name" .=) <$> _unprName,+                  ("clusterId" .=) <$> _unprClusterId,+                  ("nodeVersion" .=) <$> _unprNodeVersion,+                  ("projectId" .=) <$> _unprProjectId])++-- | UpdateMasterRequest updates the master of the cluster.+--+-- /See:/ 'updateMasterRequest' smart constructor.+data UpdateMasterRequest =+  UpdateMasterRequest'+    { _umrZone          :: !(Maybe Text)+    , _umrName          :: !(Maybe Text)+    , _umrClusterId     :: !(Maybe Text)+    , _umrProjectId     :: !(Maybe Text)+    , _umrMasterVersion :: !(Maybe Text)+    }+  deriving (Eq, Show, Data, Typeable, Generic)+++-- | Creates a value of 'UpdateMasterRequest' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'umrZone'+--+-- * 'umrName'+--+-- * 'umrClusterId'+--+-- * 'umrProjectId'+--+-- * 'umrMasterVersion'+updateMasterRequest+    :: UpdateMasterRequest+updateMasterRequest =+  UpdateMasterRequest'+    { _umrZone = Nothing+    , _umrName = Nothing+    , _umrClusterId = Nothing+    , _umrProjectId = Nothing+    , _umrMasterVersion = Nothing+    }+++-- | Deprecated. The name of the Google Compute Engine+-- [zone](\/compute\/docs\/zones#available) in which the cluster resides.+-- This field has been deprecated and replaced by the name field.+umrZone :: Lens' UpdateMasterRequest (Maybe Text)+umrZone = lens _umrZone (\ s a -> s{_umrZone = a})++-- | The name (project, location, cluster) of the cluster to update.+-- Specified in the format \'projects\/*\/locations\/*\/clusters\/*\'.+umrName :: Lens' UpdateMasterRequest (Maybe Text)+umrName = lens _umrName (\ s a -> s{_umrName = a})++-- | Deprecated. The name of the cluster to upgrade. This field has been+-- deprecated and replaced by the name field.+umrClusterId :: Lens' UpdateMasterRequest (Maybe Text)+umrClusterId+  = lens _umrClusterId (\ s a -> s{_umrClusterId = a})++-- | Deprecated. The Google Developers Console [project ID or project+-- number](https:\/\/support.google.com\/cloud\/answer\/6158840). This+-- field has been deprecated and replaced by the name field.+umrProjectId :: Lens' UpdateMasterRequest (Maybe Text)+umrProjectId+  = lens _umrProjectId (\ s a -> s{_umrProjectId = a})++-- | The Kubernetes version to change the master to. Users may specify either+-- explicit versions offered by Kubernetes Engine or version aliases, which+-- have the following behavior: - \"latest\": picks the highest valid+-- Kubernetes version - \"1.X\": picks the highest valid patch+gke.N patch+-- in the 1.X version - \"1.X.Y\": picks the highest valid gke.N patch in+-- the 1.X.Y version - \"1.X.Y-gke.N\": picks an explicit Kubernetes+-- version - \"-\": picks the default Kubernetes version+umrMasterVersion :: Lens' UpdateMasterRequest (Maybe Text)+umrMasterVersion+  = lens _umrMasterVersion+      (\ s a -> s{_umrMasterVersion = a})++instance FromJSON UpdateMasterRequest where+        parseJSON+          = withObject "UpdateMasterRequest"+              (\ o ->+                 UpdateMasterRequest' <$>+                   (o .:? "zone") <*> (o .:? "name") <*>+                     (o .:? "clusterId")+                     <*> (o .:? "projectId")+                     <*> (o .:? "masterVersion"))++instance ToJSON UpdateMasterRequest where+        toJSON UpdateMasterRequest'{..}+          = object+              (catMaybes+                 [("zone" .=) <$> _umrZone, ("name" .=) <$> _umrName,+                  ("clusterId" .=) <$> _umrClusterId,+                  ("projectId" .=) <$> _umrProjectId,+                  ("masterVersion" .=) <$> _umrMasterVersion])++-- | StartIPRotationRequest creates a new IP for the cluster and then+-- performs a node upgrade on each node pool to point to the new IP.+--+-- /See:/ 'startIPRotationRequest' smart constructor.+data StartIPRotationRequest =+  StartIPRotationRequest'+    { _sirrZone              :: !(Maybe Text)+    , _sirrRotateCredentials :: !(Maybe Bool)+    , _sirrName              :: !(Maybe Text)+    , _sirrClusterId         :: !(Maybe Text)+    , _sirrProjectId         :: !(Maybe Text)+    }+  deriving (Eq, Show, Data, Typeable, Generic)+++-- | Creates a value of 'StartIPRotationRequest' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'sirrZone'+--+-- * 'sirrRotateCredentials'+--+-- * 'sirrName'+--+-- * 'sirrClusterId'+--+-- * 'sirrProjectId'+startIPRotationRequest+    :: StartIPRotationRequest+startIPRotationRequest =+  StartIPRotationRequest'+    { _sirrZone = Nothing+    , _sirrRotateCredentials = Nothing+    , _sirrName = Nothing+    , _sirrClusterId = Nothing+    , _sirrProjectId = Nothing+    }+++-- | Deprecated. The name of the Google Compute Engine+-- [zone](\/compute\/docs\/zones#available) in which the cluster resides.+-- This field has been deprecated and replaced by the name field.+sirrZone :: Lens' StartIPRotationRequest (Maybe Text)+sirrZone = lens _sirrZone (\ s a -> s{_sirrZone = a})++-- | Whether to rotate credentials during IP rotation.+sirrRotateCredentials :: Lens' StartIPRotationRequest (Maybe Bool)+sirrRotateCredentials+  = lens _sirrRotateCredentials+      (\ s a -> s{_sirrRotateCredentials = a})++-- | The name (project, location, cluster id) of the cluster to start IP+-- rotation. Specified in the format+-- \'projects\/*\/locations\/*\/clusters\/*\'.+sirrName :: Lens' StartIPRotationRequest (Maybe Text)+sirrName = lens _sirrName (\ s a -> s{_sirrName = a})++-- | Deprecated. The name of the cluster. This field has been deprecated and+-- replaced by the name field.+sirrClusterId :: Lens' StartIPRotationRequest (Maybe Text)+sirrClusterId+  = lens _sirrClusterId+      (\ s a -> s{_sirrClusterId = a})++-- | Deprecated. The Google Developers Console [project ID or project+-- number](https:\/\/developers.google.com\/console\/help\/new\/#projectnumber).+-- This field has been deprecated and replaced by the name field.+sirrProjectId :: Lens' StartIPRotationRequest (Maybe Text)+sirrProjectId+  = lens _sirrProjectId+      (\ s a -> s{_sirrProjectId = a})++instance FromJSON StartIPRotationRequest where+        parseJSON+          = withObject "StartIPRotationRequest"+              (\ o ->+                 StartIPRotationRequest' <$>+                   (o .:? "zone") <*> (o .:? "rotateCredentials") <*>+                     (o .:? "name")+                     <*> (o .:? "clusterId")+                     <*> (o .:? "projectId"))++instance ToJSON StartIPRotationRequest where+        toJSON StartIPRotationRequest'{..}+          = object+              (catMaybes+                 [("zone" .=) <$> _sirrZone,+                  ("rotateCredentials" .=) <$> _sirrRotateCredentials,+                  ("name" .=) <$> _sirrName,+                  ("clusterId" .=) <$> _sirrClusterId,+                  ("projectId" .=) <$> _sirrProjectId])++-- | SetLegacyAbacRequest enables or disables the ABAC authorization+-- mechanism for a cluster.+--+-- /See:/ 'setLegacyAbacRequest' smart constructor.+data SetLegacyAbacRequest =+  SetLegacyAbacRequest'+    { _slarEnabled   :: !(Maybe Bool)+    , _slarZone      :: !(Maybe Text)+    , _slarName      :: !(Maybe Text)+    , _slarClusterId :: !(Maybe Text)+    , _slarProjectId :: !(Maybe Text)+    }+  deriving (Eq, Show, Data, Typeable, Generic)+++-- | Creates a value of 'SetLegacyAbacRequest' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'slarEnabled'+--+-- * 'slarZone'+--+-- * 'slarName'+--+-- * 'slarClusterId'+--+-- * 'slarProjectId'+setLegacyAbacRequest+    :: SetLegacyAbacRequest+setLegacyAbacRequest =+  SetLegacyAbacRequest'+    { _slarEnabled = Nothing+    , _slarZone = Nothing+    , _slarName = Nothing+    , _slarClusterId = Nothing+    , _slarProjectId = Nothing+    }+++-- | Whether ABAC authorization will be enabled in the cluster.+slarEnabled :: Lens' SetLegacyAbacRequest (Maybe Bool)+slarEnabled+  = lens _slarEnabled (\ s a -> s{_slarEnabled = a})++-- | Deprecated. The name of the Google Compute Engine+-- [zone](\/compute\/docs\/zones#available) in which the cluster resides.+-- This field has been deprecated and replaced by the name field.+slarZone :: Lens' SetLegacyAbacRequest (Maybe Text)+slarZone = lens _slarZone (\ s a -> s{_slarZone = a})++-- | The name (project, location, cluster id) of the cluster to set legacy+-- abac. Specified in the format+-- \'projects\/*\/locations\/*\/clusters\/*\'.+slarName :: Lens' SetLegacyAbacRequest (Maybe Text)+slarName = lens _slarName (\ s a -> s{_slarName = a})++-- | Deprecated. The name of the cluster to update. This field has been+-- deprecated and replaced by the name field.+slarClusterId :: Lens' SetLegacyAbacRequest (Maybe Text)+slarClusterId+  = lens _slarClusterId+      (\ s a -> s{_slarClusterId = a})++-- | Deprecated. The Google Developers Console [project ID or project+-- number](https:\/\/support.google.com\/cloud\/answer\/6158840). This+-- field has been deprecated and replaced by the name field.+slarProjectId :: Lens' SetLegacyAbacRequest (Maybe Text)+slarProjectId+  = lens _slarProjectId+      (\ s a -> s{_slarProjectId = a})++instance FromJSON SetLegacyAbacRequest where+        parseJSON+          = withObject "SetLegacyAbacRequest"+              (\ o ->+                 SetLegacyAbacRequest' <$>+                   (o .:? "enabled") <*> (o .:? "zone") <*>+                     (o .:? "name")+                     <*> (o .:? "clusterId")+                     <*> (o .:? "projectId"))++instance ToJSON SetLegacyAbacRequest where+        toJSON SetLegacyAbacRequest'{..}+          = object+              (catMaybes+                 [("enabled" .=) <$> _slarEnabled,+                  ("zone" .=) <$> _slarZone, ("name" .=) <$> _slarName,+                  ("clusterId" .=) <$> _slarClusterId,+                  ("projectId" .=) <$> _slarProjectId])++-- | Configuration options for the horizontal pod autoscaling feature, which+-- increases or decreases the number of replica pods a replication+-- controller has based on the resource usage of the existing pods.+--+-- /See:/ 'horizontalPodAutoscaling' smart constructor.+newtype HorizontalPodAutoscaling =+  HorizontalPodAutoscaling'+    { _hpaDisabled :: Maybe Bool+    }+  deriving (Eq, Show, Data, Typeable, Generic)+++-- | Creates a value of 'HorizontalPodAutoscaling' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'hpaDisabled'+horizontalPodAutoscaling+    :: HorizontalPodAutoscaling+horizontalPodAutoscaling = HorizontalPodAutoscaling' {_hpaDisabled = Nothing}+++-- | Whether the Horizontal Pod Autoscaling feature is enabled in the+-- cluster. When enabled, it ensures that a Heapster pod is running in the+-- cluster, which is also used by the Cloud Monitoring service.+hpaDisabled :: Lens' HorizontalPodAutoscaling (Maybe Bool)+hpaDisabled+  = lens _hpaDisabled (\ s a -> s{_hpaDisabled = a})++instance FromJSON HorizontalPodAutoscaling where+        parseJSON+          = withObject "HorizontalPodAutoscaling"+              (\ o ->+                 HorizontalPodAutoscaling' <$> (o .:? "disabled"))++instance ToJSON HorizontalPodAutoscaling where+        toJSON HorizontalPodAutoscaling'{..}+          = object+              (catMaybes [("disabled" .=) <$> _hpaDisabled])++-- | SetMasterAuthRequest updates the admin password of a cluster.+--+-- /See:/ 'setMasterAuthRequest' smart constructor.+data SetMasterAuthRequest =+  SetMasterAuthRequest'+    { _smarAction    :: !(Maybe SetMasterAuthRequestAction)+    , _smarZone      :: !(Maybe Text)+    , _smarName      :: !(Maybe Text)+    , _smarClusterId :: !(Maybe Text)+    , _smarProjectId :: !(Maybe Text)+    , _smarUpdate    :: !(Maybe MasterAuth)+    }+  deriving (Eq, Show, Data, Typeable, Generic)+++-- | Creates a value of 'SetMasterAuthRequest' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'smarAction'+--+-- * 'smarZone'+--+-- * 'smarName'+--+-- * 'smarClusterId'+--+-- * 'smarProjectId'+--+-- * 'smarUpdate'+setMasterAuthRequest+    :: SetMasterAuthRequest+setMasterAuthRequest =+  SetMasterAuthRequest'+    { _smarAction = Nothing+    , _smarZone = Nothing+    , _smarName = Nothing+    , _smarClusterId = Nothing+    , _smarProjectId = Nothing+    , _smarUpdate = Nothing+    }+++-- | The exact form of action to be taken on the master auth.+smarAction :: Lens' SetMasterAuthRequest (Maybe SetMasterAuthRequestAction)+smarAction+  = lens _smarAction (\ s a -> s{_smarAction = a})++-- | Deprecated. The name of the Google Compute Engine+-- [zone](\/compute\/docs\/zones#available) in which the cluster resides.+-- This field has been deprecated and replaced by the name field.+smarZone :: Lens' SetMasterAuthRequest (Maybe Text)+smarZone = lens _smarZone (\ s a -> s{_smarZone = a})++-- | The name (project, location, cluster) of the cluster to set auth.+-- Specified in the format \'projects\/*\/locations\/*\/clusters\/*\'.+smarName :: Lens' SetMasterAuthRequest (Maybe Text)+smarName = lens _smarName (\ s a -> s{_smarName = a})++-- | Deprecated. The name of the cluster to upgrade. This field has been+-- deprecated and replaced by the name field.+smarClusterId :: Lens' SetMasterAuthRequest (Maybe Text)+smarClusterId+  = lens _smarClusterId+      (\ s a -> s{_smarClusterId = a})++-- | Deprecated. The Google Developers Console [project ID or project+-- number](https:\/\/support.google.com\/cloud\/answer\/6158840). This+-- field has been deprecated and replaced by the name field.+smarProjectId :: Lens' SetMasterAuthRequest (Maybe Text)+smarProjectId+  = lens _smarProjectId+      (\ s a -> s{_smarProjectId = a})++-- | A description of the update.+smarUpdate :: Lens' SetMasterAuthRequest (Maybe MasterAuth)+smarUpdate+  = lens _smarUpdate (\ s a -> s{_smarUpdate = a})++instance FromJSON SetMasterAuthRequest where+        parseJSON+          = withObject "SetMasterAuthRequest"+              (\ o ->+                 SetMasterAuthRequest' <$>+                   (o .:? "action") <*> (o .:? "zone") <*>+                     (o .:? "name")+                     <*> (o .:? "clusterId")+                     <*> (o .:? "projectId")+                     <*> (o .:? "update"))++instance ToJSON SetMasterAuthRequest where+        toJSON SetMasterAuthRequest'{..}+          = object+              (catMaybes+                 [("action" .=) <$> _smarAction,+                  ("zone" .=) <$> _smarZone, ("name" .=) <$> _smarName,+                  ("clusterId" .=) <$> _smarClusterId,+                  ("projectId" .=) <$> _smarProjectId,+                  ("update" .=) <$> _smarUpdate])++-- | ListOperationsResponse is the result of ListOperationsRequest.+--+-- /See:/ 'listOperationsResponse' smart constructor.+data ListOperationsResponse =+  ListOperationsResponse'+    { _lorOperations   :: !(Maybe [Operation])+    , _lorMissingZones :: !(Maybe [Text])+    }+  deriving (Eq, Show, Data, Typeable, Generic)+++-- | Creates a value of 'ListOperationsResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'lorOperations'+--+-- * 'lorMissingZones'+listOperationsResponse+    :: ListOperationsResponse+listOperationsResponse =+  ListOperationsResponse' {_lorOperations = Nothing, _lorMissingZones = Nothing}+++-- | A list of operations in the project in the specified zone.+lorOperations :: Lens' ListOperationsResponse [Operation]+lorOperations+  = lens _lorOperations+      (\ s a -> s{_lorOperations = a})+      . _Default+      . _Coerce++-- | If any zones are listed here, the list of operations returned may be+-- missing the operations from those zones.+lorMissingZones :: Lens' ListOperationsResponse [Text]+lorMissingZones+  = lens _lorMissingZones+      (\ s a -> s{_lorMissingZones = a})+      . _Default+      . _Coerce++instance FromJSON ListOperationsResponse where+        parseJSON+          = withObject "ListOperationsResponse"+              (\ o ->+                 ListOperationsResponse' <$>+                   (o .:? "operations" .!= mempty) <*>+                     (o .:? "missingZones" .!= mempty))++instance ToJSON ListOperationsResponse where+        toJSON ListOperationsResponse'{..}+          = object+              (catMaybes+                 [("operations" .=) <$> _lorOperations,+                  ("missingZones" .=) <$> _lorMissingZones])++-- | CreateClusterRequest creates a cluster.+--+-- /See:/ 'createClusterRequest' smart constructor.+data CreateClusterRequest =+  CreateClusterRequest'+    { _ccrParent    :: !(Maybe Text)+    , _ccrCluster   :: !(Maybe Cluster)+    , _ccrZone      :: !(Maybe Text)+    , _ccrProjectId :: !(Maybe Text)+    }+  deriving (Eq, Show, Data, Typeable, Generic)+++-- | Creates a value of 'CreateClusterRequest' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'ccrParent'+--+-- * 'ccrCluster'+--+-- * 'ccrZone'+--+-- * 'ccrProjectId'+createClusterRequest+    :: CreateClusterRequest+createClusterRequest =+  CreateClusterRequest'+    { _ccrParent = Nothing+    , _ccrCluster = Nothing+    , _ccrZone = Nothing+    , _ccrProjectId = Nothing+    }+++-- | The parent (project and location) where the cluster will be created.+-- Specified in the format \'projects\/*\/locations\/*\'.+ccrParent :: Lens' CreateClusterRequest (Maybe Text)+ccrParent+  = lens _ccrParent (\ s a -> s{_ccrParent = a})++-- | A [cluster+-- resource](\/container-engine\/reference\/rest\/v1\/projects.zones.clusters)+ccrCluster :: Lens' CreateClusterRequest (Maybe Cluster)+ccrCluster+  = lens _ccrCluster (\ s a -> s{_ccrCluster = a})++-- | Deprecated. The name of the Google Compute Engine+-- [zone](\/compute\/docs\/zones#available) in which the cluster resides.+-- This field has been deprecated and replaced by the parent field.+ccrZone :: Lens' CreateClusterRequest (Maybe Text)+ccrZone = lens _ccrZone (\ s a -> s{_ccrZone = a})++-- | Deprecated. The Google Developers Console [project ID or project+-- number](https:\/\/support.google.com\/cloud\/answer\/6158840). This+-- field has been deprecated and replaced by the parent field.+ccrProjectId :: Lens' CreateClusterRequest (Maybe Text)+ccrProjectId+  = lens _ccrProjectId (\ s a -> s{_ccrProjectId = a})++instance FromJSON CreateClusterRequest where+        parseJSON+          = withObject "CreateClusterRequest"+              (\ o ->+                 CreateClusterRequest' <$>+                   (o .:? "parent") <*> (o .:? "cluster") <*>+                     (o .:? "zone")+                     <*> (o .:? "projectId"))++instance ToJSON CreateClusterRequest where+        toJSON CreateClusterRequest'{..}+          = object+              (catMaybes+                 [("parent" .=) <$> _ccrParent,+                  ("cluster" .=) <$> _ccrCluster,+                  ("zone" .=) <$> _ccrZone,+                  ("projectId" .=) <$> _ccrProjectId])++-- | A Google Kubernetes Engine cluster.+--+-- /See:/ 'cluster' smart constructor.+data Cluster =+  Cluster'+    { _cStatus                         :: !(Maybe ClusterStatus)+    , _cNodePools                      :: !(Maybe [NodePool])+    , _cEnableKubernetesAlpha          :: !(Maybe Bool)+    , _cResourceLabels                 :: !(Maybe ClusterResourceLabels)+    , _cTpuIPv4CIdRBlock               :: !(Maybe Text)+    , _cNodeConfig                     :: !(Maybe NodeConfig)+    , _cNodeIPv4CIdRSize               :: !(Maybe (Textual Int32))+    , _cClusterIPv4CIdR                :: !(Maybe Text)+    , _cLocation                       :: !(Maybe Text)+    , _cInitialNodeCount               :: !(Maybe (Textual Int32))+    , _cCurrentNodeVersion             :: !(Maybe Text)+    , _cNetwork                        :: !(Maybe Text)+    , _cInitialClusterVersion          :: !(Maybe Text)+    , _cZone                           :: !(Maybe Text)+    , _cAddonsConfig                   :: !(Maybe AddonsConfig)+    , _cServicesIPv4CIdR               :: !(Maybe Text)+    , _cIPAllocationPolicy             :: !(Maybe IPAllocationPolicy)+    , _cMasterAuthorizedNetworksConfig :: !(Maybe MasterAuthorizedNetworksConfig)+    , _cLegacyAbac                     :: !(Maybe LegacyAbac)+    , _cNetworkConfig                  :: !(Maybe NetworkConfig)+    , _cMasterAuth                     :: !(Maybe MasterAuth)+    , _cSelfLink                       :: !(Maybe Text)+    , _cName                           :: !(Maybe Text)+    , _cCurrentMasterVersion           :: !(Maybe Text)+    , _cStatusMessage                  :: !(Maybe Text)+    , _cDefaultMaxPodsConstraint       :: !(Maybe MaxPodsConstraint)+    , _cSubnetwork                     :: !(Maybe Text)+    , _cCurrentNodeCount               :: !(Maybe (Textual Int32))+    , _cPrivateClusterConfig           :: !(Maybe PrivateClusterConfig)+    , _cMaintenancePolicy              :: !(Maybe MaintenancePolicy)+    , _cConditions                     :: !(Maybe [StatusCondition])+    , _cEnableTpu                      :: !(Maybe Bool)+    , _cEndpoint                       :: !(Maybe Text)+    , _cExpireTime                     :: !(Maybe Text)+    , _cNetworkPolicy                  :: !(Maybe NetworkPolicy)+    , _cLocations                      :: !(Maybe [Text])+    , _cLoggingService                 :: !(Maybe Text)+    , _cLabelFingerprint               :: !(Maybe Text)+    , _cDescription                    :: !(Maybe Text)+    , _cInstanceGroupURLs              :: !(Maybe [Text])+    , _cMonitoringService              :: !(Maybe Text)+    , _cCreateTime                     :: !(Maybe Text)+    }+  deriving (Eq, Show, Data, Typeable, Generic)+++-- | Creates a value of 'Cluster' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'cStatus'+--+-- * 'cNodePools'+--+-- * 'cEnableKubernetesAlpha'+--+-- * 'cResourceLabels'+--+-- * 'cTpuIPv4CIdRBlock'+--+-- * 'cNodeConfig'+--+-- * 'cNodeIPv4CIdRSize'+--+-- * 'cClusterIPv4CIdR'+--+-- * 'cLocation'+--+-- * 'cInitialNodeCount'+--+-- * 'cCurrentNodeVersion'+--+-- * 'cNetwork'+--+-- * 'cInitialClusterVersion'+--+-- * 'cZone'+--+-- * 'cAddonsConfig'+--+-- * 'cServicesIPv4CIdR'+--+-- * 'cIPAllocationPolicy'+--+-- * 'cMasterAuthorizedNetworksConfig'+--+-- * 'cLegacyAbac'+--+-- * 'cNetworkConfig'+--+-- * 'cMasterAuth'+--+-- * 'cSelfLink'+--+-- * 'cName'+--+-- * 'cCurrentMasterVersion'+--+-- * 'cStatusMessage'+--+-- * 'cDefaultMaxPodsConstraint'+--+-- * 'cSubnetwork'+--+-- * 'cCurrentNodeCount'+--+-- * 'cPrivateClusterConfig'+--+-- * 'cMaintenancePolicy'+--+-- * 'cConditions'+--+-- * 'cEnableTpu'+--+-- * 'cEndpoint'+--+-- * 'cExpireTime'+--+-- * 'cNetworkPolicy'+--+-- * 'cLocations'+--+-- * 'cLoggingService'+--+-- * 'cLabelFingerprint'+--+-- * 'cDescription'+--+-- * 'cInstanceGroupURLs'+--+-- * 'cMonitoringService'+--+-- * 'cCreateTime'+cluster+    :: Cluster+cluster =+  Cluster'+    { _cStatus = Nothing+    , _cNodePools = Nothing+    , _cEnableKubernetesAlpha = Nothing+    , _cResourceLabels = Nothing+    , _cTpuIPv4CIdRBlock = Nothing+    , _cNodeConfig = Nothing+    , _cNodeIPv4CIdRSize = Nothing+    , _cClusterIPv4CIdR = Nothing+    , _cLocation = Nothing+    , _cInitialNodeCount = Nothing+    , _cCurrentNodeVersion = Nothing+    , _cNetwork = Nothing+    , _cInitialClusterVersion = Nothing+    , _cZone = Nothing+    , _cAddonsConfig = Nothing+    , _cServicesIPv4CIdR = Nothing+    , _cIPAllocationPolicy = Nothing+    , _cMasterAuthorizedNetworksConfig = Nothing+    , _cLegacyAbac = Nothing+    , _cNetworkConfig = Nothing+    , _cMasterAuth = Nothing+    , _cSelfLink = Nothing+    , _cName = Nothing+    , _cCurrentMasterVersion = Nothing+    , _cStatusMessage = Nothing+    , _cDefaultMaxPodsConstraint = Nothing+    , _cSubnetwork = Nothing+    , _cCurrentNodeCount = Nothing+    , _cPrivateClusterConfig = Nothing+    , _cMaintenancePolicy = Nothing+    , _cConditions = Nothing+    , _cEnableTpu = Nothing+    , _cEndpoint = Nothing+    , _cExpireTime = Nothing+    , _cNetworkPolicy = Nothing+    , _cLocations = Nothing+    , _cLoggingService = Nothing+    , _cLabelFingerprint = Nothing+    , _cDescription = Nothing+    , _cInstanceGroupURLs = Nothing+    , _cMonitoringService = Nothing+    , _cCreateTime = Nothing+    }+++-- | [Output only] The current status of this cluster.+cStatus :: Lens' Cluster (Maybe ClusterStatus)+cStatus = lens _cStatus (\ s a -> s{_cStatus = a})++-- | The node pools associated with this cluster. This field should not be+-- set if \"node_config\" or \"initial_node_count\" are specified.+cNodePools :: Lens' Cluster [NodePool]+cNodePools+  = lens _cNodePools (\ s a -> s{_cNodePools = a}) .+      _Default+      . _Coerce++-- | Kubernetes alpha features are enabled on this cluster. This includes+-- alpha API groups (e.g. v1alpha1) and features that may not be production+-- ready in the kubernetes version of the master and nodes. The cluster has+-- no SLA for uptime and master\/node upgrades are disabled. Alpha enabled+-- clusters are automatically deleted thirty days after creation.+cEnableKubernetesAlpha :: Lens' Cluster (Maybe Bool)+cEnableKubernetesAlpha+  = lens _cEnableKubernetesAlpha+      (\ s a -> s{_cEnableKubernetesAlpha = a})++-- | The resource labels for the cluster to use to annotate any related+-- Google Compute Engine resources.+cResourceLabels :: Lens' Cluster (Maybe ClusterResourceLabels)+cResourceLabels+  = lens _cResourceLabels+      (\ s a -> s{_cResourceLabels = a})++-- | [Output only] The IP address range of the Cloud TPUs in this cluster, in+-- [CIDR](http:\/\/en.wikipedia.org\/wiki\/Classless_Inter-Domain_Routing)+-- notation (e.g. \`1.2.3.4\/29\`).+cTpuIPv4CIdRBlock :: Lens' Cluster (Maybe Text)+cTpuIPv4CIdRBlock+  = lens _cTpuIPv4CIdRBlock+      (\ s a -> s{_cTpuIPv4CIdRBlock = a})++-- | Parameters used in creating the cluster\'s nodes. See \`nodeConfig\` for+-- the description of its properties. For requests, this field should only+-- be used in lieu of a \"node_pool\" object, since this configuration+-- (along with the \"initial_node_count\") will be used to create a+-- \"NodePool\" object with an auto-generated name. Do not use this and a+-- node_pool at the same time. For responses, this field will be populated+-- with the node configuration of the first node pool. If unspecified, the+-- defaults are used.+cNodeConfig :: Lens' Cluster (Maybe NodeConfig)+cNodeConfig+  = lens _cNodeConfig (\ s a -> s{_cNodeConfig = a})++-- | [Output only] The size of the address space on each node for hosting+-- containers. This is provisioned from within the \`container_ipv4_cidr\`+-- range.+cNodeIPv4CIdRSize :: Lens' Cluster (Maybe Int32)+cNodeIPv4CIdRSize+  = lens _cNodeIPv4CIdRSize+      (\ s a -> s{_cNodeIPv4CIdRSize = a})+      . mapping _Coerce++-- | The IP address range of the container pods in this cluster, in+-- [CIDR](http:\/\/en.wikipedia.org\/wiki\/Classless_Inter-Domain_Routing)+-- notation (e.g. \`10.96.0.0\/14\`). Leave blank to have one automatically+-- chosen or specify a \`\/14\` block in \`10.0.0.0\/8\`.+cClusterIPv4CIdR :: Lens' Cluster (Maybe Text)+cClusterIPv4CIdR+  = lens _cClusterIPv4CIdR+      (\ s a -> s{_cClusterIPv4CIdR = a})++-- | [Output only] The name of the Google Compute Engine+-- [zone](\/compute\/docs\/regions-zones\/regions-zones#available) or+-- [region](\/compute\/docs\/regions-zones\/regions-zones#available) in+-- which the cluster resides.+cLocation :: Lens' Cluster (Maybe Text)+cLocation+  = lens _cLocation (\ s a -> s{_cLocation = a})++-- | The number of nodes to create in this cluster. You must ensure that your+-- Compute Engine </compute/docs/resource-quotas resource quota> is+-- sufficient for this number of instances. You must also have available+-- firewall and routes quota. For requests, this field should only be used+-- in lieu of a \"node_pool\" object, since this configuration (along with+-- the \"node_config\") will be used to create a \"NodePool\" object with+-- an auto-generated name. Do not use this and a node_pool at the same+-- time.+cInitialNodeCount :: Lens' Cluster (Maybe Int32)+cInitialNodeCount+  = lens _cInitialNodeCount+      (\ s a -> s{_cInitialNodeCount = a})+      . mapping _Coerce++-- | [Output only] Deprecated, use+-- [NodePools.version](\/kubernetes-engine\/docs\/reference\/rest\/v1\/projects.zones.clusters.nodePools)+-- instead. The current version of the node software components. If they+-- are currently at multiple versions because they\'re in the process of+-- being upgraded, this reflects the minimum version of all nodes.+cCurrentNodeVersion :: Lens' Cluster (Maybe Text)+cCurrentNodeVersion+  = lens _cCurrentNodeVersion+      (\ s a -> s{_cCurrentNodeVersion = a})++-- | The name of the Google Compute Engine+-- [network](\/compute\/docs\/networks-and-firewalls#networks) to which the+-- cluster is connected. If left unspecified, the \`default\` network will+-- be used.+cNetwork :: Lens' Cluster (Maybe Text)+cNetwork = lens _cNetwork (\ s a -> s{_cNetwork = a})++-- | The initial Kubernetes version for this cluster. Valid versions are+-- those found in validMasterVersions returned by getServerConfig. The+-- version can be upgraded over time; such upgrades are reflected in+-- currentMasterVersion and currentNodeVersion. Users may specify either+-- explicit versions offered by Kubernetes Engine or version aliases, which+-- have the following behavior: - \"latest\": picks the highest valid+-- Kubernetes version - \"1.X\": picks the highest valid patch+gke.N patch+-- in the 1.X version - \"1.X.Y\": picks the highest valid gke.N patch in+-- the 1.X.Y version - \"1.X.Y-gke.N\": picks an explicit Kubernetes+-- version - \"\",\"-\": picks the default Kubernetes version+cInitialClusterVersion :: Lens' Cluster (Maybe Text)+cInitialClusterVersion+  = lens _cInitialClusterVersion+      (\ s a -> s{_cInitialClusterVersion = a})++-- | [Output only] The name of the Google Compute Engine+-- [zone](\/compute\/docs\/zones#available) in which the cluster resides.+-- This field is deprecated, use location instead.+cZone :: Lens' Cluster (Maybe Text)+cZone = lens _cZone (\ s a -> s{_cZone = a})++-- | Configurations for the various addons available to run in the cluster.+cAddonsConfig :: Lens' Cluster (Maybe AddonsConfig)+cAddonsConfig+  = lens _cAddonsConfig+      (\ s a -> s{_cAddonsConfig = a})++-- | [Output only] The IP address range of the Kubernetes services in this+-- cluster, in+-- [CIDR](http:\/\/en.wikipedia.org\/wiki\/Classless_Inter-Domain_Routing)+-- notation (e.g. \`1.2.3.4\/29\`). Service addresses are typically put in+-- the last \`\/16\` from the container CIDR.+cServicesIPv4CIdR :: Lens' Cluster (Maybe Text)+cServicesIPv4CIdR+  = lens _cServicesIPv4CIdR+      (\ s a -> s{_cServicesIPv4CIdR = a})++-- | Configuration for cluster IP allocation.+cIPAllocationPolicy :: Lens' Cluster (Maybe IPAllocationPolicy)+cIPAllocationPolicy+  = lens _cIPAllocationPolicy+      (\ s a -> s{_cIPAllocationPolicy = a})++-- | The configuration options for master authorized networks feature.+cMasterAuthorizedNetworksConfig :: Lens' Cluster (Maybe MasterAuthorizedNetworksConfig)+cMasterAuthorizedNetworksConfig+  = lens _cMasterAuthorizedNetworksConfig+      (\ s a -> s{_cMasterAuthorizedNetworksConfig = a})++-- | Configuration for the legacy ABAC authorization mode.+cLegacyAbac :: Lens' Cluster (Maybe LegacyAbac)+cLegacyAbac+  = lens _cLegacyAbac (\ s a -> s{_cLegacyAbac = a})++-- | Configuration for cluster networking.+cNetworkConfig :: Lens' Cluster (Maybe NetworkConfig)+cNetworkConfig+  = lens _cNetworkConfig+      (\ s a -> s{_cNetworkConfig = a})++-- | The authentication information for accessing the master endpoint. If+-- unspecified, the defaults are used: For clusters before v1.12, if+-- master_auth is unspecified, \`username\` will be set to \"admin\", a+-- random password will be generated, and a client certificate will be+-- issued.+cMasterAuth :: Lens' Cluster (Maybe MasterAuth)+cMasterAuth+  = lens _cMasterAuth (\ s a -> s{_cMasterAuth = a})++-- | [Output only] Server-defined URL for the resource.+cSelfLink :: Lens' Cluster (Maybe Text)+cSelfLink+  = lens _cSelfLink (\ s a -> s{_cSelfLink = a})++-- | The name of this cluster. The name must be unique within this project+-- and zone, and can be up to 40 characters with the following+-- restrictions: * Lowercase letters, numbers, and hyphens only. * Must+-- start with a letter. * Must end with a number or a letter.+cName :: Lens' Cluster (Maybe Text)+cName = lens _cName (\ s a -> s{_cName = a})++-- | [Output only] The current software version of the master endpoint.+cCurrentMasterVersion :: Lens' Cluster (Maybe Text)+cCurrentMasterVersion+  = lens _cCurrentMasterVersion+      (\ s a -> s{_cCurrentMasterVersion = a})++-- | [Output only] Additional information about the current status of this+-- cluster, if available.+cStatusMessage :: Lens' Cluster (Maybe Text)+cStatusMessage+  = lens _cStatusMessage+      (\ s a -> s{_cStatusMessage = a})++-- | The default constraint on the maximum number of pods that can be run+-- simultaneously on a node in the node pool of this cluster. Only honored+-- if cluster created with IP Alias support.+cDefaultMaxPodsConstraint :: Lens' Cluster (Maybe MaxPodsConstraint)+cDefaultMaxPodsConstraint+  = lens _cDefaultMaxPodsConstraint+      (\ s a -> s{_cDefaultMaxPodsConstraint = a})++-- | The name of the Google Compute Engine+-- [subnetwork](\/compute\/docs\/subnetworks) to which the cluster is+-- connected.+cSubnetwork :: Lens' Cluster (Maybe Text)+cSubnetwork+  = lens _cSubnetwork (\ s a -> s{_cSubnetwork = a})++-- | [Output only] The number of nodes currently in the cluster. Deprecated.+-- Call Kubernetes API directly to retrieve node information.+cCurrentNodeCount :: Lens' Cluster (Maybe Int32)+cCurrentNodeCount+  = lens _cCurrentNodeCount+      (\ s a -> s{_cCurrentNodeCount = a})+      . mapping _Coerce++-- | Configuration for private cluster.+cPrivateClusterConfig :: Lens' Cluster (Maybe PrivateClusterConfig)+cPrivateClusterConfig+  = lens _cPrivateClusterConfig+      (\ s a -> s{_cPrivateClusterConfig = a})++-- | Configure the maintenance policy for this cluster.+cMaintenancePolicy :: Lens' Cluster (Maybe MaintenancePolicy)+cMaintenancePolicy+  = lens _cMaintenancePolicy+      (\ s a -> s{_cMaintenancePolicy = a})++-- | Which conditions caused the current cluster state.+cConditions :: Lens' Cluster [StatusCondition]+cConditions+  = lens _cConditions (\ s a -> s{_cConditions = a}) .+      _Default+      . _Coerce++-- | Enable the ability to use Cloud TPUs in this cluster.+cEnableTpu :: Lens' Cluster (Maybe Bool)+cEnableTpu+  = lens _cEnableTpu (\ s a -> s{_cEnableTpu = a})++-- | [Output only] The IP address of this cluster\'s master endpoint. The+-- endpoint can be accessed from the internet at+-- \`https:\/\/username:password\'endpoint\/\`. See the \`masterAuth\`+-- property of this resource for username and password information.+cEndpoint :: Lens' Cluster (Maybe Text)+cEndpoint+  = lens _cEndpoint (\ s a -> s{_cEndpoint = a})++-- | [Output only] The time the cluster will be automatically deleted in+-- [RFC3339](https:\/\/www.ietf.org\/rfc\/rfc3339.txt) text format.+cExpireTime :: Lens' Cluster (Maybe Text)+cExpireTime+  = lens _cExpireTime (\ s a -> s{_cExpireTime = a})++-- | Configuration options for the NetworkPolicy feature.+cNetworkPolicy :: Lens' Cluster (Maybe NetworkPolicy)+cNetworkPolicy+  = lens _cNetworkPolicy+      (\ s a -> s{_cNetworkPolicy = a})++-- | The list of Google Compute Engine+-- [zones](\/compute\/docs\/zones#available) in which the cluster\'s nodes+-- should be located.+cLocations :: Lens' Cluster [Text]+cLocations+  = lens _cLocations (\ s a -> s{_cLocations = a}) .+      _Default+      . _Coerce++-- | The logging service the cluster should use to write logs. Currently+-- available options: * \`logging.googleapis.com\` - the Google Cloud+-- Logging service. * \`none\` - no logs will be exported from the cluster.+-- * if left as an empty string,\`logging.googleapis.com\` will be used.+cLoggingService :: Lens' Cluster (Maybe Text)+cLoggingService+  = lens _cLoggingService+      (\ s a -> s{_cLoggingService = a})++-- | The fingerprint of the set of labels for this cluster.+cLabelFingerprint :: Lens' Cluster (Maybe Text)+cLabelFingerprint+  = lens _cLabelFingerprint+      (\ s a -> s{_cLabelFingerprint = a})++-- | An optional description of this cluster.+cDescription :: Lens' Cluster (Maybe Text)+cDescription+  = lens _cDescription (\ s a -> s{_cDescription = a})++-- | Deprecated. Use node_pools.instance_group_urls.+cInstanceGroupURLs :: Lens' Cluster [Text]+cInstanceGroupURLs+  = lens _cInstanceGroupURLs+      (\ s a -> s{_cInstanceGroupURLs = a})+      . _Default+      . _Coerce++-- | The monitoring service the cluster should use to write metrics.+-- Currently available options: * \`monitoring.googleapis.com\` - the+-- Google Cloud Monitoring service. * \`none\` - no metrics will be+-- exported from the cluster. * if left as an empty string,+-- \`monitoring.googleapis.com\` will be used.+cMonitoringService :: Lens' Cluster (Maybe Text)+cMonitoringService+  = lens _cMonitoringService+      (\ s a -> s{_cMonitoringService = a})++-- | [Output only] The time the cluster was created, in+-- [RFC3339](https:\/\/www.ietf.org\/rfc\/rfc3339.txt) text format.+cCreateTime :: Lens' Cluster (Maybe Text)+cCreateTime+  = lens _cCreateTime (\ s a -> s{_cCreateTime = a})++instance FromJSON Cluster where+        parseJSON+          = withObject "Cluster"+              (\ o ->+                 Cluster' <$>+                   (o .:? "status") <*> (o .:? "nodePools" .!= mempty)+                     <*> (o .:? "enableKubernetesAlpha")+                     <*> (o .:? "resourceLabels")+                     <*> (o .:? "tpuIpv4CidrBlock")+                     <*> (o .:? "nodeConfig")+                     <*> (o .:? "nodeIpv4CidrSize")+                     <*> (o .:? "clusterIpv4Cidr")+                     <*> (o .:? "location")+                     <*> (o .:? "initialNodeCount")+                     <*> (o .:? "currentNodeVersion")+                     <*> (o .:? "network")+                     <*> (o .:? "initialClusterVersion")+                     <*> (o .:? "zone")+                     <*> (o .:? "addonsConfig")+                     <*> (o .:? "servicesIpv4Cidr")+                     <*> (o .:? "ipAllocationPolicy")+                     <*> (o .:? "masterAuthorizedNetworksConfig")+                     <*> (o .:? "legacyAbac")+                     <*> (o .:? "networkConfig")+                     <*> (o .:? "masterAuth")+                     <*> (o .:? "selfLink")+                     <*> (o .:? "name")+                     <*> (o .:? "currentMasterVersion")+                     <*> (o .:? "statusMessage")+                     <*> (o .:? "defaultMaxPodsConstraint")+                     <*> (o .:? "subnetwork")+                     <*> (o .:? "currentNodeCount")+                     <*> (o .:? "privateClusterConfig")+                     <*> (o .:? "maintenancePolicy")+                     <*> (o .:? "conditions" .!= mempty)+                     <*> (o .:? "enableTpu")+                     <*> (o .:? "endpoint")+                     <*> (o .:? "expireTime")+                     <*> (o .:? "networkPolicy")+                     <*> (o .:? "locations" .!= mempty)+                     <*> (o .:? "loggingService")+                     <*> (o .:? "labelFingerprint")+                     <*> (o .:? "description")+                     <*> (o .:? "instanceGroupUrls" .!= mempty)+                     <*> (o .:? "monitoringService")+                     <*> (o .:? "createTime"))++instance ToJSON Cluster where+        toJSON Cluster'{..}+          = object+              (catMaybes+                 [("status" .=) <$> _cStatus,+                  ("nodePools" .=) <$> _cNodePools,+                  ("enableKubernetesAlpha" .=) <$>+                    _cEnableKubernetesAlpha,+                  ("resourceLabels" .=) <$> _cResourceLabels,+                  ("tpuIpv4CidrBlock" .=) <$> _cTpuIPv4CIdRBlock,+                  ("nodeConfig" .=) <$> _cNodeConfig,+                  ("nodeIpv4CidrSize" .=) <$> _cNodeIPv4CIdRSize,+                  ("clusterIpv4Cidr" .=) <$> _cClusterIPv4CIdR,+                  ("location" .=) <$> _cLocation,+                  ("initialNodeCount" .=) <$> _cInitialNodeCount,+                  ("currentNodeVersion" .=) <$> _cCurrentNodeVersion,+                  ("network" .=) <$> _cNetwork,+                  ("initialClusterVersion" .=) <$>+                    _cInitialClusterVersion,+                  ("zone" .=) <$> _cZone,+                  ("addonsConfig" .=) <$> _cAddonsConfig,+                  ("servicesIpv4Cidr" .=) <$> _cServicesIPv4CIdR,+                  ("ipAllocationPolicy" .=) <$> _cIPAllocationPolicy,+                  ("masterAuthorizedNetworksConfig" .=) <$>+                    _cMasterAuthorizedNetworksConfig,+                  ("legacyAbac" .=) <$> _cLegacyAbac,+                  ("networkConfig" .=) <$> _cNetworkConfig,+                  ("masterAuth" .=) <$> _cMasterAuth,+                  ("selfLink" .=) <$> _cSelfLink,+                  ("name" .=) <$> _cName,+                  ("currentMasterVersion" .=) <$>+                    _cCurrentMasterVersion,+                  ("statusMessage" .=) <$> _cStatusMessage,+                  ("defaultMaxPodsConstraint" .=) <$>+                    _cDefaultMaxPodsConstraint,+                  ("subnetwork" .=) <$> _cSubnetwork,+                  ("currentNodeCount" .=) <$> _cCurrentNodeCount,+                  ("privateClusterConfig" .=) <$>+                    _cPrivateClusterConfig,+                  ("maintenancePolicy" .=) <$> _cMaintenancePolicy,+                  ("conditions" .=) <$> _cConditions,+                  ("enableTpu" .=) <$> _cEnableTpu,+                  ("endpoint" .=) <$> _cEndpoint,+                  ("expireTime" .=) <$> _cExpireTime,+                  ("networkPolicy" .=) <$> _cNetworkPolicy,+                  ("locations" .=) <$> _cLocations,+                  ("loggingService" .=) <$> _cLoggingService,+                  ("labelFingerprint" .=) <$> _cLabelFingerprint,+                  ("description" .=) <$> _cDescription,+                  ("instanceGroupUrls" .=) <$> _cInstanceGroupURLs,+                  ("monitoringService" .=) <$> _cMonitoringService,+                  ("createTime" .=) <$> _cCreateTime])++-- | CancelOperationRequest cancels a single operation.+--+-- /See:/ 'cancelOperationRequest' smart constructor.+data CancelOperationRequest =+  CancelOperationRequest'+    { _corZone        :: !(Maybe Text)+    , _corName        :: !(Maybe Text)+    , _corProjectId   :: !(Maybe Text)+    , _corOperationId :: !(Maybe Text)+    }+  deriving (Eq, Show, Data, Typeable, Generic)+++-- | Creates a value of 'CancelOperationRequest' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'corZone'+--+-- * 'corName'+--+-- * 'corProjectId'+--+-- * 'corOperationId'+cancelOperationRequest+    :: CancelOperationRequest+cancelOperationRequest =+  CancelOperationRequest'+    { _corZone = Nothing+    , _corName = Nothing+    , _corProjectId = Nothing+    , _corOperationId = Nothing+    }+++-- | Deprecated. The name of the Google Compute Engine+-- [zone](\/compute\/docs\/zones#available) in which the operation resides.+-- This field has been deprecated and replaced by the name field.+corZone :: Lens' CancelOperationRequest (Maybe Text)+corZone = lens _corZone (\ s a -> s{_corZone = a})++-- | The name (project, location, operation id) of the operation to cancel.+-- Specified in the format \'projects\/*\/locations\/*\/operations\/*\'.+corName :: Lens' CancelOperationRequest (Maybe Text)+corName = lens _corName (\ s a -> s{_corName = a})++-- | Deprecated. The Google Developers Console [project ID or project+-- number](https:\/\/support.google.com\/cloud\/answer\/6158840). This+-- field has been deprecated and replaced by the name field.+corProjectId :: Lens' CancelOperationRequest (Maybe Text)+corProjectId+  = lens _corProjectId (\ s a -> s{_corProjectId = a})++-- | Deprecated. The server-assigned \`name\` of the operation. This field+-- has been deprecated and replaced by the name field.+corOperationId :: Lens' CancelOperationRequest (Maybe Text)+corOperationId+  = lens _corOperationId+      (\ s a -> s{_corOperationId = a})++instance FromJSON CancelOperationRequest where+        parseJSON+          = withObject "CancelOperationRequest"+              (\ o ->+                 CancelOperationRequest' <$>+                   (o .:? "zone") <*> (o .:? "name") <*>+                     (o .:? "projectId")+                     <*> (o .:? "operationId"))++instance ToJSON CancelOperationRequest where+        toJSON CancelOperationRequest'{..}+          = object+              (catMaybes+                 [("zone" .=) <$> _corZone, ("name" .=) <$> _corName,+                  ("projectId" .=) <$> _corProjectId,+                  ("operationId" .=) <$> _corOperationId])++-- | UpdateClusterRequest updates the settings of a cluster.+--+-- /See:/ 'updateClusterRequest' smart constructor.+data UpdateClusterRequest =+  UpdateClusterRequest'+    { _ucrZone      :: !(Maybe Text)+    , _ucrName      :: !(Maybe Text)+    , _ucrClusterId :: !(Maybe Text)+    , _ucrProjectId :: !(Maybe Text)+    , _ucrUpdate    :: !(Maybe ClusterUpdate)+    }+  deriving (Eq, Show, Data, Typeable, Generic)+++-- | Creates a value of 'UpdateClusterRequest' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'ucrZone'+--+-- * 'ucrName'+--+-- * 'ucrClusterId'+--+-- * 'ucrProjectId'+--+-- * 'ucrUpdate'+updateClusterRequest+    :: UpdateClusterRequest+updateClusterRequest =+  UpdateClusterRequest'+    { _ucrZone = Nothing+    , _ucrName = Nothing+    , _ucrClusterId = Nothing+    , _ucrProjectId = Nothing+    , _ucrUpdate = Nothing+    }+++-- | Deprecated. The name of the Google Compute Engine+-- [zone](\/compute\/docs\/zones#available) in which the cluster resides.+-- This field has been deprecated and replaced by the name field.+ucrZone :: Lens' UpdateClusterRequest (Maybe Text)+ucrZone = lens _ucrZone (\ s a -> s{_ucrZone = a})++-- | The name (project, location, cluster) of the cluster to update.+-- Specified in the format \'projects\/*\/locations\/*\/clusters\/*\'.+ucrName :: Lens' UpdateClusterRequest (Maybe Text)+ucrName = lens _ucrName (\ s a -> s{_ucrName = a})++-- | Deprecated. The name of the cluster to upgrade. This field has been+-- deprecated and replaced by the name field.+ucrClusterId :: Lens' UpdateClusterRequest (Maybe Text)+ucrClusterId+  = lens _ucrClusterId (\ s a -> s{_ucrClusterId = a})++-- | Deprecated. The Google Developers Console [project ID or project+-- number](https:\/\/support.google.com\/cloud\/answer\/6158840). This+-- field has been deprecated and replaced by the name field.+ucrProjectId :: Lens' UpdateClusterRequest (Maybe Text)+ucrProjectId+  = lens _ucrProjectId (\ s a -> s{_ucrProjectId = a})++-- | A description of the update.+ucrUpdate :: Lens' UpdateClusterRequest (Maybe ClusterUpdate)+ucrUpdate+  = lens _ucrUpdate (\ s a -> s{_ucrUpdate = a})++instance FromJSON UpdateClusterRequest where+        parseJSON+          = withObject "UpdateClusterRequest"+              (\ o ->+                 UpdateClusterRequest' <$>+                   (o .:? "zone") <*> (o .:? "name") <*>+                     (o .:? "clusterId")+                     <*> (o .:? "projectId")+                     <*> (o .:? "update"))++instance ToJSON UpdateClusterRequest where+        toJSON UpdateClusterRequest'{..}+          = object+              (catMaybes+                 [("zone" .=) <$> _ucrZone, ("name" .=) <$> _ucrName,+                  ("clusterId" .=) <$> _ucrClusterId,+                  ("projectId" .=) <$> _ucrProjectId,+                  ("update" .=) <$> _ucrUpdate])++-- | SetAddonsConfigRequest sets the addons associated with the cluster.+--+-- /See:/ 'setAddonsConfigRequest' smart constructor.+data SetAddonsConfigRequest =+  SetAddonsConfigRequest'+    { _sacrZone         :: !(Maybe Text)+    , _sacrAddonsConfig :: !(Maybe AddonsConfig)+    , _sacrName         :: !(Maybe Text)+    , _sacrClusterId    :: !(Maybe Text)+    , _sacrProjectId    :: !(Maybe Text)+    }+  deriving (Eq, Show, Data, Typeable, Generic)+++-- | Creates a value of 'SetAddonsConfigRequest' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'sacrZone'+--+-- * 'sacrAddonsConfig'+--+-- * 'sacrName'+--+-- * 'sacrClusterId'+--+-- * 'sacrProjectId'+setAddonsConfigRequest+    :: SetAddonsConfigRequest+setAddonsConfigRequest =+  SetAddonsConfigRequest'+    { _sacrZone = Nothing+    , _sacrAddonsConfig = Nothing+    , _sacrName = Nothing+    , _sacrClusterId = Nothing+    , _sacrProjectId = Nothing+    }+++-- | Deprecated. The name of the Google Compute Engine+-- [zone](\/compute\/docs\/zones#available) in which the cluster resides.+-- This field has been deprecated and replaced by the name field.+sacrZone :: Lens' SetAddonsConfigRequest (Maybe Text)+sacrZone = lens _sacrZone (\ s a -> s{_sacrZone = a})++-- | The desired configurations for the various addons available to run in+-- the cluster.+sacrAddonsConfig :: Lens' SetAddonsConfigRequest (Maybe AddonsConfig)+sacrAddonsConfig+  = lens _sacrAddonsConfig+      (\ s a -> s{_sacrAddonsConfig = a})++-- | The name (project, location, cluster) of the cluster to set addons.+-- Specified in the format \'projects\/*\/locations\/*\/clusters\/*\'.+sacrName :: Lens' SetAddonsConfigRequest (Maybe Text)+sacrName = lens _sacrName (\ s a -> s{_sacrName = a})++-- | Deprecated. The name of the cluster to upgrade. This field has been+-- deprecated and replaced by the name field.+sacrClusterId :: Lens' SetAddonsConfigRequest (Maybe Text)+sacrClusterId+  = lens _sacrClusterId+      (\ s a -> s{_sacrClusterId = a})++-- | Deprecated. The Google Developers Console [project ID or project+-- number](https:\/\/support.google.com\/cloud\/answer\/6158840). This+-- field has been deprecated and replaced by the name field.+sacrProjectId :: Lens' SetAddonsConfigRequest (Maybe Text)+sacrProjectId+  = lens _sacrProjectId+      (\ s a -> s{_sacrProjectId = a})++instance FromJSON SetAddonsConfigRequest where+        parseJSON+          = withObject "SetAddonsConfigRequest"+              (\ o ->+                 SetAddonsConfigRequest' <$>+                   (o .:? "zone") <*> (o .:? "addonsConfig") <*>+                     (o .:? "name")+                     <*> (o .:? "clusterId")+                     <*> (o .:? "projectId"))++instance ToJSON SetAddonsConfigRequest where+        toJSON SetAddonsConfigRequest'{..}+          = object+              (catMaybes+                 [("zone" .=) <$> _sacrZone,+                  ("addonsConfig" .=) <$> _sacrAddonsConfig,+                  ("name" .=) <$> _sacrName,+                  ("clusterId" .=) <$> _sacrClusterId,+                  ("projectId" .=) <$> _sacrProjectId])++-- | Parameters that describe the nodes in a cluster.+--+-- /See:/ 'nodeConfig' smart constructor.+data NodeConfig =+  NodeConfig'+    { _ncLocalSsdCount  :: !(Maybe (Textual Int32))+    , _ncDiskSizeGb     :: !(Maybe (Textual Int32))+    , _ncTaints         :: !(Maybe [NodeTaint])+    , _ncOAuthScopes    :: !(Maybe [Text])+    , _ncServiceAccount :: !(Maybe Text)+    , _ncAccelerators   :: !(Maybe [AcceleratorConfig])+    , _ncImageType      :: !(Maybe Text)+    , _ncMachineType    :: !(Maybe Text)+    , _ncMetadata       :: !(Maybe NodeConfigMetadata)+    , _ncDiskType       :: !(Maybe Text)+    , _ncLabels         :: !(Maybe NodeConfigLabels)+    , _ncMinCPUPlatform :: !(Maybe Text)+    , _ncTags           :: !(Maybe [Text])+    , _ncPreemptible    :: !(Maybe Bool)+    }+  deriving (Eq, Show, Data, Typeable, Generic)+++-- | Creates a value of 'NodeConfig' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'ncLocalSsdCount'+--+-- * 'ncDiskSizeGb'+--+-- * 'ncTaints'+--+-- * 'ncOAuthScopes'+--+-- * 'ncServiceAccount'+--+-- * 'ncAccelerators'+--+-- * 'ncImageType'+--+-- * 'ncMachineType'+--+-- * 'ncMetadata'+--+-- * 'ncDiskType'+--+-- * 'ncLabels'+--+-- * 'ncMinCPUPlatform'+--+-- * 'ncTags'+--+-- * 'ncPreemptible'+nodeConfig+    :: NodeConfig+nodeConfig =+  NodeConfig'+    { _ncLocalSsdCount = Nothing+    , _ncDiskSizeGb = Nothing+    , _ncTaints = Nothing+    , _ncOAuthScopes = Nothing+    , _ncServiceAccount = Nothing+    , _ncAccelerators = Nothing+    , _ncImageType = Nothing+    , _ncMachineType = Nothing+    , _ncMetadata = Nothing+    , _ncDiskType = Nothing+    , _ncLabels = Nothing+    , _ncMinCPUPlatform = Nothing+    , _ncTags = Nothing+    , _ncPreemptible = Nothing+    }+++-- | The number of local SSD disks to be attached to the node. The limit for+-- this value is dependant upon the maximum number of disks available on a+-- machine per zone. See:+-- https:\/\/cloud.google.com\/compute\/docs\/disks\/local-ssd#local_ssd_limits+-- for more information.+ncLocalSsdCount :: Lens' NodeConfig (Maybe Int32)+ncLocalSsdCount+  = lens _ncLocalSsdCount+      (\ s a -> s{_ncLocalSsdCount = a})+      . mapping _Coerce++-- | Size of the disk attached to each node, specified in GB. The smallest+-- allowed disk size is 10GB. If unspecified, the default disk size is+-- 100GB.+ncDiskSizeGb :: Lens' NodeConfig (Maybe Int32)+ncDiskSizeGb+  = lens _ncDiskSizeGb (\ s a -> s{_ncDiskSizeGb = a})+      . mapping _Coerce++-- | List of kubernetes taints to be applied to each node. For more+-- information, including usage and the valid values, see:+-- https:\/\/kubernetes.io\/docs\/concepts\/configuration\/taint-and-toleration\/+ncTaints :: Lens' NodeConfig [NodeTaint]+ncTaints+  = lens _ncTaints (\ s a -> s{_ncTaints = a}) .+      _Default+      . _Coerce++-- | The set of Google API scopes to be made available on all of the node VMs+-- under the \"default\" service account. The following scopes are+-- recommended, but not required, and by default are not included: *+-- \`https:\/\/www.googleapis.com\/auth\/compute\` is required for mounting+-- persistent storage on your nodes. *+-- \`https:\/\/www.googleapis.com\/auth\/devstorage.read_only\` is required+-- for communicating with **gcr.io** (the [Google Container+-- Registry](\/container-registry\/)). If unspecified, no scopes are added,+-- unless Cloud Logging or Cloud Monitoring are enabled, in which case+-- their required scopes will be added.+ncOAuthScopes :: Lens' NodeConfig [Text]+ncOAuthScopes+  = lens _ncOAuthScopes+      (\ s a -> s{_ncOAuthScopes = a})+      . _Default+      . _Coerce++-- | The Google Cloud Platform Service Account to be used by the node VMs. If+-- no Service Account is specified, the \"default\" service account is+-- used.+ncServiceAccount :: Lens' NodeConfig (Maybe Text)+ncServiceAccount+  = lens _ncServiceAccount+      (\ s a -> s{_ncServiceAccount = a})++-- | A list of hardware accelerators to be attached to each node. See+-- https:\/\/cloud.google.com\/compute\/docs\/gpus for more information+-- about support for GPUs.+ncAccelerators :: Lens' NodeConfig [AcceleratorConfig]+ncAccelerators+  = lens _ncAccelerators+      (\ s a -> s{_ncAccelerators = a})+      . _Default+      . _Coerce++-- | The image type to use for this node. Note that for a given image type,+-- the latest version of it will be used.+ncImageType :: Lens' NodeConfig (Maybe Text)+ncImageType+  = lens _ncImageType (\ s a -> s{_ncImageType = a})++-- | The name of a Google Compute Engine [machine+-- type](\/compute\/docs\/machine-types) (e.g. \`n1-standard-1\`). If+-- unspecified, the default machine type is \`n1-standard-1\`.+ncMachineType :: Lens' NodeConfig (Maybe Text)+ncMachineType+  = lens _ncMachineType+      (\ s a -> s{_ncMachineType = a})++-- | The metadata key\/value pairs assigned to instances in the cluster. Keys+-- must conform to the regexp [a-zA-Z0-9-_]+ and be less than 128 bytes in+-- length. These are reflected as part of a URL in the metadata server.+-- Additionally, to avoid ambiguity, keys must not conflict with any other+-- metadata keys for the project or be one of the reserved keys:+-- \"cluster-location\" \"cluster-name\" \"cluster-uid\" \"configure-sh\"+-- \"containerd-configure-sh\" \"enable-os-login\" \"gci-update-strategy\"+-- \"gci-ensure-gke-docker\" \"instance-template\" \"kube-env\"+-- \"startup-script\" \"user-data\" Values are free-form strings, and only+-- have meaning as interpreted by the image running in the instance. The+-- only restriction placed on them is that each value\'s size must be less+-- than or equal to 32 KB. The total size of all keys and values must be+-- less than 512 KB.+ncMetadata :: Lens' NodeConfig (Maybe NodeConfigMetadata)+ncMetadata+  = lens _ncMetadata (\ s a -> s{_ncMetadata = a})++-- | Type of the disk attached to each node (e.g. \'pd-standard\' or+-- \'pd-ssd\') If unspecified, the default disk type is \'pd-standard\'+ncDiskType :: Lens' NodeConfig (Maybe Text)+ncDiskType+  = lens _ncDiskType (\ s a -> s{_ncDiskType = a})++-- | The map of Kubernetes labels (key\/value pairs) to be applied to each+-- node. These will added in addition to any default label(s) that+-- Kubernetes may apply to the node. In case of conflict in label keys, the+-- applied set may differ depending on the Kubernetes version -- it\'s best+-- to assume the behavior is undefined and conflicts should be avoided. For+-- more information, including usage and the valid values, see:+-- https:\/\/kubernetes.io\/docs\/concepts\/overview\/working-with-objects\/labels\/+ncLabels :: Lens' NodeConfig (Maybe NodeConfigLabels)+ncLabels = lens _ncLabels (\ s a -> s{_ncLabels = a})++-- | Minimum CPU platform to be used by this instance. The instance may be+-- scheduled on the specified or newer CPU platform. Applicable values are+-- the friendly names of CPU platforms, such as+-- 'minCpuPlatform: \"Intel Haswell\"' or+-- 'minCpuPlatform: \"Intel Sandy Bridge\"'. For more information, read+-- [how to specify min CPU+-- platform](https:\/\/cloud.google.com\/compute\/docs\/instances\/specify-min-cpu-platform)+ncMinCPUPlatform :: Lens' NodeConfig (Maybe Text)+ncMinCPUPlatform+  = lens _ncMinCPUPlatform+      (\ s a -> s{_ncMinCPUPlatform = a})++-- | The list of instance tags applied to all nodes. Tags are used to+-- identify valid sources or targets for network firewalls and are+-- specified by the client during cluster or node pool creation. Each tag+-- within the list must comply with RFC1035.+ncTags :: Lens' NodeConfig [Text]+ncTags+  = lens _ncTags (\ s a -> s{_ncTags = a}) . _Default .+      _Coerce++-- | Whether the nodes are created as preemptible VM instances. See:+-- https:\/\/cloud.google.com\/compute\/docs\/instances\/preemptible for+-- more information about preemptible VM instances.+ncPreemptible :: Lens' NodeConfig (Maybe Bool)+ncPreemptible+  = lens _ncPreemptible+      (\ s a -> s{_ncPreemptible = a})++instance FromJSON NodeConfig where+        parseJSON+          = withObject "NodeConfig"+              (\ o ->+                 NodeConfig' <$>+                   (o .:? "localSsdCount") <*> (o .:? "diskSizeGb") <*>+                     (o .:? "taints" .!= mempty)+                     <*> (o .:? "oauthScopes" .!= mempty)+                     <*> (o .:? "serviceAccount")+                     <*> (o .:? "accelerators" .!= mempty)+                     <*> (o .:? "imageType")+                     <*> (o .:? "machineType")+                     <*> (o .:? "metadata")+                     <*> (o .:? "diskType")+                     <*> (o .:? "labels")+                     <*> (o .:? "minCpuPlatform")+                     <*> (o .:? "tags" .!= mempty)+                     <*> (o .:? "preemptible"))++instance ToJSON NodeConfig where+        toJSON NodeConfig'{..}+          = object+              (catMaybes+                 [("localSsdCount" .=) <$> _ncLocalSsdCount,+                  ("diskSizeGb" .=) <$> _ncDiskSizeGb,+                  ("taints" .=) <$> _ncTaints,+                  ("oauthScopes" .=) <$> _ncOAuthScopes,+                  ("serviceAccount" .=) <$> _ncServiceAccount,+                  ("accelerators" .=) <$> _ncAccelerators,+                  ("imageType" .=) <$> _ncImageType,+                  ("machineType" .=) <$> _ncMachineType,+                  ("metadata" .=) <$> _ncMetadata,+                  ("diskType" .=) <$> _ncDiskType,+                  ("labels" .=) <$> _ncLabels,+                  ("minCpuPlatform" .=) <$> _ncMinCPUPlatform,+                  ("tags" .=) <$> _ncTags,+                  ("preemptible" .=) <$> _ncPreemptible])++-- | Configuration options for the HTTP (L7) load balancing controller addon,+-- which makes it easy to set up HTTP load balancers for services in a+-- cluster.+--+-- /See:/ 'hTTPLoadBalancing' smart constructor.+newtype HTTPLoadBalancing =+  HTTPLoadBalancing'+    { _httplbDisabled :: Maybe Bool+    }+  deriving (Eq, Show, Data, Typeable, Generic)+++-- | Creates a value of 'HTTPLoadBalancing' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'httplbDisabled'+hTTPLoadBalancing+    :: HTTPLoadBalancing+hTTPLoadBalancing = HTTPLoadBalancing' {_httplbDisabled = Nothing}+++-- | Whether the HTTP Load Balancing controller is enabled in the cluster.+-- When enabled, it runs a small pod in the cluster that manages the load+-- balancers.+httplbDisabled :: Lens' HTTPLoadBalancing (Maybe Bool)+httplbDisabled+  = lens _httplbDisabled+      (\ s a -> s{_httplbDisabled = a})++instance FromJSON HTTPLoadBalancing where+        parseJSON+          = withObject "HTTPLoadBalancing"+              (\ o -> HTTPLoadBalancing' <$> (o .:? "disabled"))++instance ToJSON HTTPLoadBalancing where+        toJSON HTTPLoadBalancing'{..}+          = object+              (catMaybes [("disabled" .=) <$> _httplbDisabled])++-- | This operation resource represents operations that may have happened or+-- are happening on the cluster. All fields are output only.+--+-- /See:/ 'operation' smart constructor.+data Operation =+  Operation'+    { _oNodepoolConditions :: !(Maybe [StatusCondition])+    , _oStatus             :: !(Maybe OperationStatus)+    , _oLocation           :: !(Maybe Text)+    , _oStartTime          :: !(Maybe Text)+    , _oZone               :: !(Maybe Text)+    , _oSelfLink           :: !(Maybe Text)+    , _oName               :: !(Maybe Text)+    , _oStatusMessage      :: !(Maybe Text)+    , _oEndTime            :: !(Maybe Text)+    , _oClusterConditions  :: !(Maybe [StatusCondition])+    , _oOperationType      :: !(Maybe OperationOperationType)+    , _oTargetLink         :: !(Maybe Text)+    , _oDetail             :: !(Maybe Text)+    }+  deriving (Eq, Show, Data, Typeable, Generic)+++-- | Creates a value of 'Operation' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'oNodepoolConditions'+--+-- * 'oStatus'+--+-- * 'oLocation'+--+-- * 'oStartTime'+--+-- * 'oZone'+--+-- * 'oSelfLink'+--+-- * 'oName'+--+-- * 'oStatusMessage'+--+-- * 'oEndTime'+--+-- * 'oClusterConditions'+--+-- * 'oOperationType'+--+-- * 'oTargetLink'+--+-- * 'oDetail'+operation+    :: Operation+operation =+  Operation'+    { _oNodepoolConditions = Nothing+    , _oStatus = Nothing+    , _oLocation = Nothing+    , _oStartTime = Nothing+    , _oZone = Nothing+    , _oSelfLink = Nothing+    , _oName = Nothing+    , _oStatusMessage = Nothing+    , _oEndTime = Nothing+    , _oClusterConditions = Nothing+    , _oOperationType = Nothing+    , _oTargetLink = Nothing+    , _oDetail = Nothing+    }+++-- | Which conditions caused the current node pool state.+oNodepoolConditions :: Lens' Operation [StatusCondition]+oNodepoolConditions+  = lens _oNodepoolConditions+      (\ s a -> s{_oNodepoolConditions = a})+      . _Default+      . _Coerce++-- | The current status of the operation.+oStatus :: Lens' Operation (Maybe OperationStatus)+oStatus = lens _oStatus (\ s a -> s{_oStatus = a})++-- | [Output only] The name of the Google Compute Engine+-- [zone](\/compute\/docs\/regions-zones\/regions-zones#available) or+-- [region](\/compute\/docs\/regions-zones\/regions-zones#available) in+-- which the cluster resides.+oLocation :: Lens' Operation (Maybe Text)+oLocation+  = lens _oLocation (\ s a -> s{_oLocation = a})++-- | [Output only] The time the operation started, in+-- [RFC3339](https:\/\/www.ietf.org\/rfc\/rfc3339.txt) text format.+oStartTime :: Lens' Operation (Maybe Text)+oStartTime+  = lens _oStartTime (\ s a -> s{_oStartTime = a})++-- | The name of the Google Compute Engine+-- [zone](\/compute\/docs\/zones#available) in which the operation is+-- taking place. This field is deprecated, use location instead.+oZone :: Lens' Operation (Maybe Text)+oZone = lens _oZone (\ s a -> s{_oZone = a})++-- | Server-defined URL for the resource.+oSelfLink :: Lens' Operation (Maybe Text)+oSelfLink+  = lens _oSelfLink (\ s a -> s{_oSelfLink = a})++-- | The server-assigned ID for the operation.+oName :: Lens' Operation (Maybe Text)+oName = lens _oName (\ s a -> s{_oName = a})++-- | If an error has occurred, a textual description of the error.+oStatusMessage :: Lens' Operation (Maybe Text)+oStatusMessage+  = lens _oStatusMessage+      (\ s a -> s{_oStatusMessage = a})++-- | [Output only] The time the operation completed, in+-- [RFC3339](https:\/\/www.ietf.org\/rfc\/rfc3339.txt) text format.+oEndTime :: Lens' Operation (Maybe Text)+oEndTime = lens _oEndTime (\ s a -> s{_oEndTime = a})++-- | Which conditions caused the current cluster state.+oClusterConditions :: Lens' Operation [StatusCondition]+oClusterConditions+  = lens _oClusterConditions+      (\ s a -> s{_oClusterConditions = a})+      . _Default+      . _Coerce++-- | The operation type.+oOperationType :: Lens' Operation (Maybe OperationOperationType)+oOperationType+  = lens _oOperationType+      (\ s a -> s{_oOperationType = a})++-- | Server-defined URL for the target of the operation.+oTargetLink :: Lens' Operation (Maybe Text)+oTargetLink+  = lens _oTargetLink (\ s a -> s{_oTargetLink = a})++-- | Detailed operation progress, if available.+oDetail :: Lens' Operation (Maybe Text)+oDetail = lens _oDetail (\ s a -> s{_oDetail = a})++instance FromJSON Operation where+        parseJSON+          = withObject "Operation"+              (\ o ->+                 Operation' <$>+                   (o .:? "nodepoolConditions" .!= mempty) <*>+                     (o .:? "status")+                     <*> (o .:? "location")+                     <*> (o .:? "startTime")+                     <*> (o .:? "zone")+                     <*> (o .:? "selfLink")+                     <*> (o .:? "name")+                     <*> (o .:? "statusMessage")+                     <*> (o .:? "endTime")+                     <*> (o .:? "clusterConditions" .!= mempty)+                     <*> (o .:? "operationType")+                     <*> (o .:? "targetLink")+                     <*> (o .:? "detail"))++instance ToJSON Operation where+        toJSON Operation'{..}+          = object+              (catMaybes+                 [("nodepoolConditions" .=) <$> _oNodepoolConditions,+                  ("status" .=) <$> _oStatus,+                  ("location" .=) <$> _oLocation,+                  ("startTime" .=) <$> _oStartTime,+                  ("zone" .=) <$> _oZone,+                  ("selfLink" .=) <$> _oSelfLink,+                  ("name" .=) <$> _oName,+                  ("statusMessage" .=) <$> _oStatusMessage,+                  ("endTime" .=) <$> _oEndTime,+                  ("clusterConditions" .=) <$> _oClusterConditions,+                  ("operationType" .=) <$> _oOperationType,+                  ("targetLink" .=) <$> _oTargetLink,+                  ("detail" .=) <$> _oDetail])++-- | The resource labels for the cluster to use to annotate any related+-- Google Compute Engine resources.+--+-- /See:/ 'clusterResourceLabels' smart constructor.+newtype ClusterResourceLabels =+  ClusterResourceLabels'+    { _crlAddtional :: HashMap Text Text+    }+  deriving (Eq, Show, Data, Typeable, Generic)+++-- | Creates a value of 'ClusterResourceLabels' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'crlAddtional'+clusterResourceLabels+    :: HashMap Text Text -- ^ 'crlAddtional'+    -> ClusterResourceLabels+clusterResourceLabels pCrlAddtional_ =+  ClusterResourceLabels' {_crlAddtional = _Coerce # pCrlAddtional_}+++crlAddtional :: Lens' ClusterResourceLabels (HashMap Text Text)+crlAddtional+  = lens _crlAddtional (\ s a -> s{_crlAddtional = a})+      . _Coerce++instance FromJSON ClusterResourceLabels where+        parseJSON+          = withObject "ClusterResourceLabels"+              (\ o ->+                 ClusterResourceLabels' <$> (parseJSONObject o))++instance ToJSON ClusterResourceLabels where+        toJSON = toJSON . _crlAddtional++-- | 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 \`{}\`.+--+-- /See:/ 'empty' smart constructor.+data Empty =+  Empty'+  deriving (Eq, Show, Data, Typeable, Generic)+++-- | Creates a value of 'Empty' with the minimum fields required to make a request.+--+empty+    :: Empty+empty = Empty'+++instance FromJSON Empty where+        parseJSON = withObject "Empty" (\ o -> pure Empty')++instance ToJSON Empty where+        toJSON = const emptyObject++-- | SetNodePoolAutoscalingRequest sets the autoscaler settings of a node+-- pool.+--+-- /See:/ 'setNodePoolAutoscalingRequest' smart constructor.+data SetNodePoolAutoscalingRequest =+  SetNodePoolAutoscalingRequest'+    { _snparAutoscaling :: !(Maybe NodePoolAutoscaling)+    , _snparZone        :: !(Maybe Text)+    , _snparNodePoolId  :: !(Maybe Text)+    , _snparName        :: !(Maybe Text)+    , _snparClusterId   :: !(Maybe Text)+    , _snparProjectId   :: !(Maybe Text)+    }+  deriving (Eq, Show, Data, Typeable, Generic)+++-- | Creates a value of 'SetNodePoolAutoscalingRequest' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'snparAutoscaling'+--+-- * 'snparZone'+--+-- * 'snparNodePoolId'+--+-- * 'snparName'+--+-- * 'snparClusterId'+--+-- * 'snparProjectId'+setNodePoolAutoscalingRequest+    :: SetNodePoolAutoscalingRequest+setNodePoolAutoscalingRequest =+  SetNodePoolAutoscalingRequest'+    { _snparAutoscaling = Nothing+    , _snparZone = Nothing+    , _snparNodePoolId = Nothing+    , _snparName = Nothing+    , _snparClusterId = Nothing+    , _snparProjectId = Nothing+    }+++-- | Autoscaling configuration for the node pool.+snparAutoscaling :: Lens' SetNodePoolAutoscalingRequest (Maybe NodePoolAutoscaling)+snparAutoscaling+  = lens _snparAutoscaling+      (\ s a -> s{_snparAutoscaling = a})++-- | Deprecated. The name of the Google Compute Engine+-- [zone](\/compute\/docs\/zones#available) in which the cluster resides.+-- This field has been deprecated and replaced by the name field.+snparZone :: Lens' SetNodePoolAutoscalingRequest (Maybe Text)+snparZone+  = lens _snparZone (\ s a -> s{_snparZone = a})++-- | Deprecated. The name of the node pool to upgrade. This field has been+-- deprecated and replaced by the name field.+snparNodePoolId :: Lens' SetNodePoolAutoscalingRequest (Maybe Text)+snparNodePoolId+  = lens _snparNodePoolId+      (\ s a -> s{_snparNodePoolId = a})++-- | The name (project, location, cluster, node pool) of the node pool to set+-- autoscaler settings. Specified in the format+-- \'projects\/*\/locations\/*\/clusters\/*\/nodePools\/*\'.+snparName :: Lens' SetNodePoolAutoscalingRequest (Maybe Text)+snparName+  = lens _snparName (\ s a -> s{_snparName = a})++-- | Deprecated. The name of the cluster to upgrade. This field has been+-- deprecated and replaced by the name field.+snparClusterId :: Lens' SetNodePoolAutoscalingRequest (Maybe Text)+snparClusterId+  = lens _snparClusterId+      (\ s a -> s{_snparClusterId = a})++-- | Deprecated. The Google Developers Console [project ID or project+-- number](https:\/\/support.google.com\/cloud\/answer\/6158840). This+-- field has been deprecated and replaced by the name field.+snparProjectId :: Lens' SetNodePoolAutoscalingRequest (Maybe Text)+snparProjectId+  = lens _snparProjectId+      (\ s a -> s{_snparProjectId = a})++instance FromJSON SetNodePoolAutoscalingRequest where+        parseJSON+          = withObject "SetNodePoolAutoscalingRequest"+              (\ o ->+                 SetNodePoolAutoscalingRequest' <$>+                   (o .:? "autoscaling") <*> (o .:? "zone") <*>+                     (o .:? "nodePoolId")+                     <*> (o .:? "name")+                     <*> (o .:? "clusterId")+                     <*> (o .:? "projectId"))++instance ToJSON SetNodePoolAutoscalingRequest where+        toJSON SetNodePoolAutoscalingRequest'{..}+          = object+              (catMaybes+                 [("autoscaling" .=) <$> _snparAutoscaling,+                  ("zone" .=) <$> _snparZone,+                  ("nodePoolId" .=) <$> _snparNodePoolId,+                  ("name" .=) <$> _snparName,+                  ("clusterId" .=) <$> _snparClusterId,+                  ("projectId" .=) <$> _snparProjectId])++-- | CompleteIPRotationRequest moves the cluster master back into single-IP+-- mode.+--+-- /See:/ 'completeIPRotationRequest' smart constructor.+data CompleteIPRotationRequest =+  CompleteIPRotationRequest'+    { _cirrZone      :: !(Maybe Text)+    , _cirrName      :: !(Maybe Text)+    , _cirrClusterId :: !(Maybe Text)+    , _cirrProjectId :: !(Maybe Text)+    }+  deriving (Eq, Show, Data, Typeable, Generic)+++-- | Creates a value of 'CompleteIPRotationRequest' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'cirrZone'+--+-- * 'cirrName'+--+-- * 'cirrClusterId'+--+-- * 'cirrProjectId'+completeIPRotationRequest+    :: CompleteIPRotationRequest+completeIPRotationRequest =+  CompleteIPRotationRequest'+    { _cirrZone = Nothing+    , _cirrName = Nothing+    , _cirrClusterId = Nothing+    , _cirrProjectId = Nothing+    }+++-- | Deprecated. The name of the Google Compute Engine+-- [zone](\/compute\/docs\/zones#available) in which the cluster resides.+-- This field has been deprecated and replaced by the name field.+cirrZone :: Lens' CompleteIPRotationRequest (Maybe Text)+cirrZone = lens _cirrZone (\ s a -> s{_cirrZone = a})++-- | The name (project, location, cluster id) of the cluster to complete IP+-- rotation. Specified in the format+-- \'projects\/*\/locations\/*\/clusters\/*\'.+cirrName :: Lens' CompleteIPRotationRequest (Maybe Text)+cirrName = lens _cirrName (\ s a -> s{_cirrName = a})++-- | Deprecated. The name of the cluster. This field has been deprecated and+-- replaced by the name field.+cirrClusterId :: Lens' CompleteIPRotationRequest (Maybe Text)+cirrClusterId+  = lens _cirrClusterId+      (\ s a -> s{_cirrClusterId = a})++-- | Deprecated. The Google Developers Console [project ID or project+-- number](https:\/\/developers.google.com\/console\/help\/new\/#projectnumber).+-- This field has been deprecated and replaced by the name field.+cirrProjectId :: Lens' CompleteIPRotationRequest (Maybe Text)+cirrProjectId+  = lens _cirrProjectId+      (\ s a -> s{_cirrProjectId = a})++instance FromJSON CompleteIPRotationRequest where+        parseJSON+          = withObject "CompleteIPRotationRequest"+              (\ o ->+                 CompleteIPRotationRequest' <$>+                   (o .:? "zone") <*> (o .:? "name") <*>+                     (o .:? "clusterId")+                     <*> (o .:? "projectId"))++instance ToJSON CompleteIPRotationRequest where+        toJSON CompleteIPRotationRequest'{..}+          = object+              (catMaybes+                 [("zone" .=) <$> _cirrZone,+                  ("name" .=) <$> _cirrName,+                  ("clusterId" .=) <$> _cirrClusterId,+                  ("projectId" .=) <$> _cirrProjectId])++-- | Secondary IP range of a usable subnetwork.+--+-- /See:/ 'usableSubnetworkSecondaryRange' smart constructor.+data UsableSubnetworkSecondaryRange =+  UsableSubnetworkSecondaryRange'+    { _ussrStatus      :: !(Maybe UsableSubnetworkSecondaryRangeStatus)+    , _ussrRangeName   :: !(Maybe Text)+    , _ussrIPCIdRRange :: !(Maybe Text)+    }+  deriving (Eq, Show, Data, Typeable, Generic)+++-- | Creates a value of 'UsableSubnetworkSecondaryRange' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'ussrStatus'+--+-- * 'ussrRangeName'+--+-- * 'ussrIPCIdRRange'+usableSubnetworkSecondaryRange+    :: UsableSubnetworkSecondaryRange+usableSubnetworkSecondaryRange =+  UsableSubnetworkSecondaryRange'+    { _ussrStatus = Nothing+    , _ussrRangeName = Nothing+    , _ussrIPCIdRRange = Nothing+    }+++-- | This field is to determine the status of the secondary range+-- programmably.+ussrStatus :: Lens' UsableSubnetworkSecondaryRange (Maybe UsableSubnetworkSecondaryRangeStatus)+ussrStatus+  = lens _ussrStatus (\ s a -> s{_ussrStatus = a})++-- | The name associated with this subnetwork secondary range, used when+-- adding an alias IP range to a VM instance.+ussrRangeName :: Lens' UsableSubnetworkSecondaryRange (Maybe Text)+ussrRangeName+  = lens _ussrRangeName+      (\ s a -> s{_ussrRangeName = a})++-- | The range of IP addresses belonging to this subnetwork secondary range.+ussrIPCIdRRange :: Lens' UsableSubnetworkSecondaryRange (Maybe Text)+ussrIPCIdRRange+  = lens _ussrIPCIdRRange+      (\ s a -> s{_ussrIPCIdRRange = a})++instance FromJSON UsableSubnetworkSecondaryRange+         where+        parseJSON+          = withObject "UsableSubnetworkSecondaryRange"+              (\ o ->+                 UsableSubnetworkSecondaryRange' <$>+                   (o .:? "status") <*> (o .:? "rangeName") <*>+                     (o .:? "ipCidrRange"))++instance ToJSON UsableSubnetworkSecondaryRange where+        toJSON UsableSubnetworkSecondaryRange'{..}+          = object+              (catMaybes+                 [("status" .=) <$> _ussrStatus,+                  ("rangeName" .=) <$> _ussrRangeName,+                  ("ipCidrRange" .=) <$> _ussrIPCIdRRange])++-- | NodeManagement defines the set of node management services turned on for+-- the node pool.+--+-- /See:/ 'nodeManagement' smart constructor.+data NodeManagement =+  NodeManagement'+    { _nmAutoUpgrade    :: !(Maybe Bool)+    , _nmAutoRepair     :: !(Maybe Bool)+    , _nmUpgradeOptions :: !(Maybe AutoUpgradeOptions)+    }+  deriving (Eq, Show, Data, Typeable, Generic)+++-- | Creates a value of 'NodeManagement' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'nmAutoUpgrade'+--+-- * 'nmAutoRepair'+--+-- * 'nmUpgradeOptions'+nodeManagement+    :: NodeManagement+nodeManagement =+  NodeManagement'+    { _nmAutoUpgrade = Nothing+    , _nmAutoRepair = Nothing+    , _nmUpgradeOptions = Nothing+    }+++-- | A flag that specifies whether node auto-upgrade is enabled for the node+-- pool. If enabled, node auto-upgrade helps keep the nodes in your node+-- pool up to date with the latest release version of Kubernetes.+nmAutoUpgrade :: Lens' NodeManagement (Maybe Bool)+nmAutoUpgrade+  = lens _nmAutoUpgrade+      (\ s a -> s{_nmAutoUpgrade = a})++-- | A flag that specifies whether the node auto-repair is enabled for the+-- node pool. If enabled, the nodes in this node pool will be monitored+-- and, if they fail health checks too many times, an automatic repair+-- action will be triggered.+nmAutoRepair :: Lens' NodeManagement (Maybe Bool)+nmAutoRepair+  = lens _nmAutoRepair (\ s a -> s{_nmAutoRepair = a})++-- | Specifies the Auto Upgrade knobs for the node pool.+nmUpgradeOptions :: Lens' NodeManagement (Maybe AutoUpgradeOptions)+nmUpgradeOptions+  = lens _nmUpgradeOptions+      (\ s a -> s{_nmUpgradeOptions = a})++instance FromJSON NodeManagement where+        parseJSON+          = withObject "NodeManagement"+              (\ o ->+                 NodeManagement' <$>+                   (o .:? "autoUpgrade") <*> (o .:? "autoRepair") <*>+                     (o .:? "upgradeOptions"))++instance ToJSON NodeManagement where+        toJSON NodeManagement'{..}+          = object+              (catMaybes+                 [("autoUpgrade" .=) <$> _nmAutoUpgrade,+                  ("autoRepair" .=) <$> _nmAutoRepair,+                  ("upgradeOptions" .=) <$> _nmUpgradeOptions])++-- | Kubernetes taint is comprised of three fields: key, value, and effect.+-- Effect can only be one of three types: NoSchedule, PreferNoSchedule or+-- NoExecute. For more information, including usage and the valid values,+-- see:+-- https:\/\/kubernetes.io\/docs\/concepts\/configuration\/taint-and-toleration\/+--+-- /See:/ 'nodeTaint' smart constructor.+data NodeTaint =+  NodeTaint'+    { _ntEffect :: !(Maybe NodeTaintEffect)+    , _ntValue  :: !(Maybe Text)+    , _ntKey    :: !(Maybe Text)+    }+  deriving (Eq, Show, Data, Typeable, Generic)+++-- | Creates a value of 'NodeTaint' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'ntEffect'+--+-- * 'ntValue'+--+-- * 'ntKey'+nodeTaint+    :: NodeTaint+nodeTaint =+  NodeTaint' {_ntEffect = Nothing, _ntValue = Nothing, _ntKey = Nothing}+++-- | Effect for taint.+ntEffect :: Lens' NodeTaint (Maybe NodeTaintEffect)+ntEffect = lens _ntEffect (\ s a -> s{_ntEffect = a})++-- | Value for taint.+ntValue :: Lens' NodeTaint (Maybe Text)+ntValue = lens _ntValue (\ s a -> s{_ntValue = a})++-- | Key for taint.+ntKey :: Lens' NodeTaint (Maybe Text)+ntKey = lens _ntKey (\ s a -> s{_ntKey = a})++instance FromJSON NodeTaint where+        parseJSON+          = withObject "NodeTaint"+              (\ o ->+                 NodeTaint' <$>+                   (o .:? "effect") <*> (o .:? "value") <*>+                     (o .:? "key"))++instance ToJSON NodeTaint where+        toJSON NodeTaint'{..}+          = object+              (catMaybes+                 [("effect" .=) <$> _ntEffect,+                  ("value" .=) <$> _ntValue, ("key" .=) <$> _ntKey])++-- | NodePoolAutoscaling contains information required by cluster autoscaler+-- to adjust the size of the node pool to the current cluster usage.+--+-- /See:/ 'nodePoolAutoscaling' smart constructor.+data NodePoolAutoscaling =+  NodePoolAutoscaling'+    { _npaMaxNodeCount :: !(Maybe (Textual Int32))+    , _npaEnabled      :: !(Maybe Bool)+    , _npaMinNodeCount :: !(Maybe (Textual Int32))+    }+  deriving (Eq, Show, Data, Typeable, Generic)+++-- | Creates a value of 'NodePoolAutoscaling' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'npaMaxNodeCount'+--+-- * 'npaEnabled'+--+-- * 'npaMinNodeCount'+nodePoolAutoscaling+    :: NodePoolAutoscaling+nodePoolAutoscaling =+  NodePoolAutoscaling'+    { _npaMaxNodeCount = Nothing+    , _npaEnabled = Nothing+    , _npaMinNodeCount = Nothing+    }+++-- | Maximum number of nodes in the NodePool. Must be >= min_node_count.+-- There has to enough quota to scale up the cluster.+npaMaxNodeCount :: Lens' NodePoolAutoscaling (Maybe Int32)+npaMaxNodeCount+  = lens _npaMaxNodeCount+      (\ s a -> s{_npaMaxNodeCount = a})+      . mapping _Coerce++-- | Is autoscaling enabled for this node pool.+npaEnabled :: Lens' NodePoolAutoscaling (Maybe Bool)+npaEnabled+  = lens _npaEnabled (\ s a -> s{_npaEnabled = a})++-- | Minimum number of nodes in the NodePool. Must be >= 1 and \<=+-- max_node_count.+npaMinNodeCount :: Lens' NodePoolAutoscaling (Maybe Int32)+npaMinNodeCount+  = lens _npaMinNodeCount+      (\ s a -> s{_npaMinNodeCount = a})+      . mapping _Coerce++instance FromJSON NodePoolAutoscaling where+        parseJSON+          = withObject "NodePoolAutoscaling"+              (\ o ->+                 NodePoolAutoscaling' <$>+                   (o .:? "maxNodeCount") <*> (o .:? "enabled") <*>+                     (o .:? "minNodeCount"))++instance ToJSON NodePoolAutoscaling where+        toJSON NodePoolAutoscaling'{..}+          = object+              (catMaybes+                 [("maxNodeCount" .=) <$> _npaMaxNodeCount,+                  ("enabled" .=) <$> _npaEnabled,+                  ("minNodeCount" .=) <$> _npaMinNodeCount])++-- | SetMaintenancePolicyRequest sets the maintenance policy for a cluster.+--+-- /See:/ 'setMaintenancePolicyRequest' smart constructor.+data SetMaintenancePolicyRequest =+  SetMaintenancePolicyRequest'+    { _smprZone              :: !(Maybe Text)+    , _smprName              :: !(Maybe Text)+    , _smprClusterId         :: !(Maybe Text)+    , _smprMaintenancePolicy :: !(Maybe MaintenancePolicy)+    , _smprProjectId         :: !(Maybe Text)+    }+  deriving (Eq, Show, Data, Typeable, Generic)+++-- | Creates a value of 'SetMaintenancePolicyRequest' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'smprZone'+--+-- * 'smprName'+--+-- * 'smprClusterId'+--+-- * 'smprMaintenancePolicy'+--+-- * 'smprProjectId'+setMaintenancePolicyRequest+    :: SetMaintenancePolicyRequest+setMaintenancePolicyRequest =+  SetMaintenancePolicyRequest'+    { _smprZone = Nothing+    , _smprName = Nothing+    , _smprClusterId = Nothing+    , _smprMaintenancePolicy = Nothing+    , _smprProjectId = Nothing+    }+++-- | The name of the Google Compute Engine+-- [zone](\/compute\/docs\/zones#available) in which the cluster resides.+smprZone :: Lens' SetMaintenancePolicyRequest (Maybe Text)+smprZone = lens _smprZone (\ s a -> s{_smprZone = a})++-- | The name (project, location, cluster id) of the cluster to set+-- maintenance policy. Specified in the format+-- \'projects\/*\/locations\/*\/clusters\/*\'.+smprName :: Lens' SetMaintenancePolicyRequest (Maybe Text)+smprName = lens _smprName (\ s a -> s{_smprName = a})++-- | The name of the cluster to update.+smprClusterId :: Lens' SetMaintenancePolicyRequest (Maybe Text)+smprClusterId+  = lens _smprClusterId+      (\ s a -> s{_smprClusterId = a})++-- | The maintenance policy to be set for the cluster. An empty field clears+-- the existing maintenance policy.+smprMaintenancePolicy :: Lens' SetMaintenancePolicyRequest (Maybe MaintenancePolicy)+smprMaintenancePolicy+  = lens _smprMaintenancePolicy+      (\ s a -> s{_smprMaintenancePolicy = a})++-- | The Google Developers Console [project ID or project+-- number](https:\/\/support.google.com\/cloud\/answer\/6158840).+smprProjectId :: Lens' SetMaintenancePolicyRequest (Maybe Text)+smprProjectId+  = lens _smprProjectId+      (\ s a -> s{_smprProjectId = a})++instance FromJSON SetMaintenancePolicyRequest where+        parseJSON+          = withObject "SetMaintenancePolicyRequest"+              (\ o ->+                 SetMaintenancePolicyRequest' <$>+                   (o .:? "zone") <*> (o .:? "name") <*>+                     (o .:? "clusterId")+                     <*> (o .:? "maintenancePolicy")+                     <*> (o .:? "projectId"))++instance ToJSON SetMaintenancePolicyRequest where+        toJSON SetMaintenancePolicyRequest'{..}+          = object+              (catMaybes+                 [("zone" .=) <$> _smprZone,+                  ("name" .=) <$> _smprName,+                  ("clusterId" .=) <$> _smprClusterId,+                  ("maintenancePolicy" .=) <$> _smprMaintenancePolicy,+                  ("projectId" .=) <$> _smprProjectId])++-- | UsableSubnetwork resource returns the subnetwork name, its associated+-- network and the primary CIDR range.+--+-- /See:/ 'usableSubnetwork' smart constructor.+data UsableSubnetwork =+  UsableSubnetwork'+    { _usNetwork           :: !(Maybe Text)+    , _usStatusMessage     :: !(Maybe Text)+    , _usSecondaryIPRanges :: !(Maybe [UsableSubnetworkSecondaryRange])+    , _usIPCIdRRange       :: !(Maybe Text)+    , _usSubnetwork        :: !(Maybe Text)+    }+  deriving (Eq, Show, Data, Typeable, Generic)+++-- | Creates a value of 'UsableSubnetwork' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'usNetwork'+--+-- * 'usStatusMessage'+--+-- * 'usSecondaryIPRanges'+--+-- * 'usIPCIdRRange'+--+-- * 'usSubnetwork'+usableSubnetwork+    :: UsableSubnetwork+usableSubnetwork =+  UsableSubnetwork'+    { _usNetwork = Nothing+    , _usStatusMessage = Nothing+    , _usSecondaryIPRanges = Nothing+    , _usIPCIdRRange = Nothing+    , _usSubnetwork = Nothing+    }+++-- | Network Name. Example:+-- projects\/my-project\/global\/networks\/my-network+usNetwork :: Lens' UsableSubnetwork (Maybe Text)+usNetwork+  = lens _usNetwork (\ s a -> s{_usNetwork = a})++-- | A human readable status message representing the reasons for cases where+-- the caller cannot use the secondary ranges under the subnet. For example+-- if the secondary_ip_ranges is empty due to a permission issue, an+-- insufficient permission message will be given by status_message.+usStatusMessage :: Lens' UsableSubnetwork (Maybe Text)+usStatusMessage+  = lens _usStatusMessage+      (\ s a -> s{_usStatusMessage = a})++-- | Secondary IP ranges.+usSecondaryIPRanges :: Lens' UsableSubnetwork [UsableSubnetworkSecondaryRange]+usSecondaryIPRanges+  = lens _usSecondaryIPRanges+      (\ s a -> s{_usSecondaryIPRanges = a})+      . _Default+      . _Coerce++-- | The range of internal addresses that are owned by this subnetwork.+usIPCIdRRange :: Lens' UsableSubnetwork (Maybe Text)+usIPCIdRRange+  = lens _usIPCIdRRange+      (\ s a -> s{_usIPCIdRRange = a})++-- | Subnetwork Name. Example:+-- projects\/my-project\/regions\/us-central1\/subnetworks\/my-subnet+usSubnetwork :: Lens' UsableSubnetwork (Maybe Text)+usSubnetwork+  = lens _usSubnetwork (\ s a -> s{_usSubnetwork = a})++instance FromJSON UsableSubnetwork where+        parseJSON+          = withObject "UsableSubnetwork"+              (\ o ->+                 UsableSubnetwork' <$>+                   (o .:? "network") <*> (o .:? "statusMessage") <*>+                     (o .:? "secondaryIpRanges" .!= mempty)+                     <*> (o .:? "ipCidrRange")+                     <*> (o .:? "subnetwork"))++instance ToJSON UsableSubnetwork where+        toJSON UsableSubnetwork'{..}+          = object+              (catMaybes+                 [("network" .=) <$> _usNetwork,+                  ("statusMessage" .=) <$> _usStatusMessage,+                  ("secondaryIpRanges" .=) <$> _usSecondaryIPRanges,+                  ("ipCidrRange" .=) <$> _usIPCIdRRange,+                  ("subnetwork" .=) <$> _usSubnetwork])++-- | Configuration for the Kubernetes Dashboard.+--+-- /See:/ 'kubernetesDashboard' smart constructor.+newtype KubernetesDashboard =+  KubernetesDashboard'+    { _kdDisabled :: Maybe Bool+    }+  deriving (Eq, Show, Data, Typeable, Generic)+++-- | Creates a value of 'KubernetesDashboard' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'kdDisabled'+kubernetesDashboard+    :: KubernetesDashboard+kubernetesDashboard = KubernetesDashboard' {_kdDisabled = Nothing}+++-- | Whether the Kubernetes Dashboard is enabled for this cluster.+kdDisabled :: Lens' KubernetesDashboard (Maybe Bool)+kdDisabled+  = lens _kdDisabled (\ s a -> s{_kdDisabled = a})++instance FromJSON KubernetesDashboard where+        parseJSON+          = withObject "KubernetesDashboard"+              (\ o -> KubernetesDashboard' <$> (o .:? "disabled"))++instance ToJSON KubernetesDashboard where+        toJSON KubernetesDashboard'{..}+          = object+              (catMaybes [("disabled" .=) <$> _kdDisabled])++-- | Configuration for client certificates on the cluster.+--+-- /See:/ 'clientCertificateConfig' smart constructor.+newtype ClientCertificateConfig =+  ClientCertificateConfig'+    { _cccIssueClientCertificate :: Maybe Bool+    }+  deriving (Eq, Show, Data, Typeable, Generic)+++-- | Creates a value of 'ClientCertificateConfig' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'cccIssueClientCertificate'+clientCertificateConfig+    :: ClientCertificateConfig+clientCertificateConfig =+  ClientCertificateConfig' {_cccIssueClientCertificate = Nothing}+++-- | Issue a client certificate.+cccIssueClientCertificate :: Lens' ClientCertificateConfig (Maybe Bool)+cccIssueClientCertificate+  = lens _cccIssueClientCertificate+      (\ s a -> s{_cccIssueClientCertificate = a})++instance FromJSON ClientCertificateConfig where+        parseJSON+          = withObject "ClientCertificateConfig"+              (\ o ->+                 ClientCertificateConfig' <$>+                   (o .:? "issueClientCertificate"))++instance ToJSON ClientCertificateConfig where+        toJSON ClientCertificateConfig'{..}+          = object+              (catMaybes+                 [("issueClientCertificate" .=) <$>+                    _cccIssueClientCertificate])++-- | SetLabelsRequest sets the Google Cloud Platform labels on a Google+-- Container Engine cluster, which will in turn set them for Google Compute+-- Engine resources used by that cluster+--+-- /See:/ 'setLabelsRequest' smart constructor.+data SetLabelsRequest =+  SetLabelsRequest'+    { _slrResourceLabels   :: !(Maybe SetLabelsRequestResourceLabels)+    , _slrZone             :: !(Maybe Text)+    , _slrName             :: !(Maybe Text)+    , _slrClusterId        :: !(Maybe Text)+    , _slrProjectId        :: !(Maybe Text)+    , _slrLabelFingerprint :: !(Maybe Text)+    }+  deriving (Eq, Show, Data, Typeable, Generic)+++-- | Creates a value of 'SetLabelsRequest' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'slrResourceLabels'+--+-- * 'slrZone'+--+-- * 'slrName'+--+-- * 'slrClusterId'+--+-- * 'slrProjectId'+--+-- * 'slrLabelFingerprint'+setLabelsRequest+    :: SetLabelsRequest+setLabelsRequest =+  SetLabelsRequest'+    { _slrResourceLabels = Nothing+    , _slrZone = Nothing+    , _slrName = Nothing+    , _slrClusterId = Nothing+    , _slrProjectId = Nothing+    , _slrLabelFingerprint = Nothing+    }+++-- | The labels to set for that cluster.+slrResourceLabels :: Lens' SetLabelsRequest (Maybe SetLabelsRequestResourceLabels)+slrResourceLabels+  = lens _slrResourceLabels+      (\ s a -> s{_slrResourceLabels = a})++-- | Deprecated. The name of the Google Compute Engine+-- [zone](\/compute\/docs\/zones#available) in which the cluster resides.+-- This field has been deprecated and replaced by the name field.+slrZone :: Lens' SetLabelsRequest (Maybe Text)+slrZone = lens _slrZone (\ s a -> s{_slrZone = a})++-- | The name (project, location, cluster id) of the cluster to set labels.+-- Specified in the format \'projects\/*\/locations\/*\/clusters\/*\'.+slrName :: Lens' SetLabelsRequest (Maybe Text)+slrName = lens _slrName (\ s a -> s{_slrName = a})++-- | Deprecated. The name of the cluster. This field has been deprecated and+-- replaced by the name field.+slrClusterId :: Lens' SetLabelsRequest (Maybe Text)+slrClusterId+  = lens _slrClusterId (\ s a -> s{_slrClusterId = a})++-- | Deprecated. The Google Developers Console [project ID or project+-- number](https:\/\/developers.google.com\/console\/help\/new\/#projectnumber).+-- This field has been deprecated and replaced by the name field.+slrProjectId :: Lens' SetLabelsRequest (Maybe Text)+slrProjectId+  = lens _slrProjectId (\ s a -> s{_slrProjectId = a})++-- | The fingerprint of the previous set of labels for this resource, used to+-- detect conflicts. The fingerprint is initially generated by Kubernetes+-- Engine and changes after every request to modify or update labels. You+-- must always provide an up-to-date fingerprint hash when updating or+-- changing labels. Make a 'get()' request to the resource to get the+-- latest fingerprint.+slrLabelFingerprint :: Lens' SetLabelsRequest (Maybe Text)+slrLabelFingerprint+  = lens _slrLabelFingerprint+      (\ s a -> s{_slrLabelFingerprint = a})++instance FromJSON SetLabelsRequest where+        parseJSON+          = withObject "SetLabelsRequest"+              (\ o ->+                 SetLabelsRequest' <$>+                   (o .:? "resourceLabels") <*> (o .:? "zone") <*>+                     (o .:? "name")+                     <*> (o .:? "clusterId")+                     <*> (o .:? "projectId")+                     <*> (o .:? "labelFingerprint"))++instance ToJSON SetLabelsRequest where+        toJSON SetLabelsRequest'{..}+          = object+              (catMaybes+                 [("resourceLabels" .=) <$> _slrResourceLabels,+                  ("zone" .=) <$> _slrZone, ("name" .=) <$> _slrName,+                  ("clusterId" .=) <$> _slrClusterId,+                  ("projectId" .=) <$> _slrProjectId,+                  ("labelFingerprint" .=) <$> _slrLabelFingerprint])++-- | GetOpenIDConfigResponse is an OIDC discovery document for the cluster.+-- See the OpenID Connect Discovery 1.0 specification for details.+--+-- /See:/ 'getOpenIdConfigResponse' smart constructor.+data GetOpenIdConfigResponse =+  GetOpenIdConfigResponse'+    { _goicrIdTokenSigningAlgValuesSupported :: !(Maybe [Text])+    , _goicrResponseTypesSupported           :: !(Maybe [Text])+    , _goicrJWKsURI                          :: !(Maybe Text)+    , _goicrGrantTypes                       :: !(Maybe [Text])+    , _goicrClaimsSupported                  :: !(Maybe [Text])+    , _goicrIssuer                           :: !(Maybe Text)+    , _goicrSubjectTypesSupported            :: !(Maybe [Text])+    }+  deriving (Eq, Show, Data, Typeable, Generic)+++-- | Creates a value of 'GetOpenIdConfigResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'goicrIdTokenSigningAlgValuesSupported'+--+-- * 'goicrResponseTypesSupported'+--+-- * 'goicrJWKsURI'+--+-- * 'goicrGrantTypes'+--+-- * 'goicrClaimsSupported'+--+-- * 'goicrIssuer'+--+-- * 'goicrSubjectTypesSupported'+getOpenIdConfigResponse+    :: GetOpenIdConfigResponse+getOpenIdConfigResponse =+  GetOpenIdConfigResponse'+    { _goicrIdTokenSigningAlgValuesSupported = Nothing+    , _goicrResponseTypesSupported = Nothing+    , _goicrJWKsURI = Nothing+    , _goicrGrantTypes = Nothing+    , _goicrClaimsSupported = Nothing+    , _goicrIssuer = Nothing+    , _goicrSubjectTypesSupported = Nothing+    }+++-- | NOLINT+goicrIdTokenSigningAlgValuesSupported :: Lens' GetOpenIdConfigResponse [Text]+goicrIdTokenSigningAlgValuesSupported+  = lens _goicrIdTokenSigningAlgValuesSupported+      (\ s a ->+         s{_goicrIdTokenSigningAlgValuesSupported = a})+      . _Default+      . _Coerce++-- | NOLINT+goicrResponseTypesSupported :: Lens' GetOpenIdConfigResponse [Text]+goicrResponseTypesSupported+  = lens _goicrResponseTypesSupported+      (\ s a -> s{_goicrResponseTypesSupported = a})+      . _Default+      . _Coerce++-- | NOLINT+goicrJWKsURI :: Lens' GetOpenIdConfigResponse (Maybe Text)+goicrJWKsURI+  = lens _goicrJWKsURI (\ s a -> s{_goicrJWKsURI = a})++-- | NOLINT+goicrGrantTypes :: Lens' GetOpenIdConfigResponse [Text]+goicrGrantTypes+  = lens _goicrGrantTypes+      (\ s a -> s{_goicrGrantTypes = a})+      . _Default+      . _Coerce++-- | NOLINT+goicrClaimsSupported :: Lens' GetOpenIdConfigResponse [Text]+goicrClaimsSupported+  = lens _goicrClaimsSupported+      (\ s a -> s{_goicrClaimsSupported = a})+      . _Default+      . _Coerce++-- | NOLINT+goicrIssuer :: Lens' GetOpenIdConfigResponse (Maybe Text)+goicrIssuer+  = lens _goicrIssuer (\ s a -> s{_goicrIssuer = a})++-- | NOLINT+goicrSubjectTypesSupported :: Lens' GetOpenIdConfigResponse [Text]+goicrSubjectTypesSupported+  = lens _goicrSubjectTypesSupported+      (\ s a -> s{_goicrSubjectTypesSupported = a})+      . _Default+      . _Coerce++instance FromJSON GetOpenIdConfigResponse where+        parseJSON+          = withObject "GetOpenIdConfigResponse"+              (\ o ->+                 GetOpenIdConfigResponse' <$>+                   (o .:? "id_token_signing_alg_values_supported" .!=+                      mempty)+                     <*> (o .:? "response_types_supported" .!= mempty)+                     <*> (o .:? "jwks_uri")+                     <*> (o .:? "grant_types" .!= mempty)+                     <*> (o .:? "claims_supported" .!= mempty)+                     <*> (o .:? "issuer")+                     <*> (o .:? "subject_types_supported" .!= mempty))++instance ToJSON GetOpenIdConfigResponse where+        toJSON GetOpenIdConfigResponse'{..}+          = object+              (catMaybes+                 [("id_token_signing_alg_values_supported" .=) <$>+                    _goicrIdTokenSigningAlgValuesSupported,+                  ("response_types_supported" .=) <$>+                    _goicrResponseTypesSupported,+                  ("jwks_uri" .=) <$> _goicrJWKsURI,+                  ("grant_types" .=) <$> _goicrGrantTypes,+                  ("claims_supported" .=) <$> _goicrClaimsSupported,+                  ("issuer" .=) <$> _goicrIssuer,+                  ("subject_types_supported" .=) <$>+                    _goicrSubjectTypesSupported])++-- | Jwk is a JSON Web Key as specified in RFC 7517+--+-- /See:/ 'jwk' smart constructor.+data JWK =+  JWK'+    { _jCrv :: !(Maybe Text)+    , _jAlg :: !(Maybe Text)+    , _jUse :: !(Maybe Text)+    , _jKid :: !(Maybe Text)+    , _jN   :: !(Maybe Text)+    , _jE   :: !(Maybe Text)+    , _jX   :: !(Maybe Text)+    , _jKty :: !(Maybe Text)+    , _jY   :: !(Maybe Text)+    }+  deriving (Eq, Show, Data, Typeable, Generic)+++-- | Creates a value of 'JWK' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'jCrv'+--+-- * 'jAlg'+--+-- * 'jUse'+--+-- * 'jKid'+--+-- * 'jN'+--+-- * 'jE'+--+-- * 'jX'+--+-- * 'jKty'+--+-- * 'jY'+jwk+    :: JWK+jwk =+  JWK'+    { _jCrv = Nothing+    , _jAlg = Nothing+    , _jUse = Nothing+    , _jKid = Nothing+    , _jN = Nothing+    , _jE = Nothing+    , _jX = Nothing+    , _jKty = Nothing+    , _jY = Nothing+    }+++-- | NOLINT+jCrv :: Lens' JWK (Maybe Text)+jCrv = lens _jCrv (\ s a -> s{_jCrv = a})++-- | NOLINT+jAlg :: Lens' JWK (Maybe Text)+jAlg = lens _jAlg (\ s a -> s{_jAlg = a})++-- | NOLINT+jUse :: Lens' JWK (Maybe Text)+jUse = lens _jUse (\ s a -> s{_jUse = a})++-- | NOLINT+jKid :: Lens' JWK (Maybe Text)+jKid = lens _jKid (\ s a -> s{_jKid = a})++-- | Fields for RSA keys. NOLINT+jN :: Lens' JWK (Maybe Text)+jN = lens _jN (\ s a -> s{_jN = a})++-- | NOLINT+jE :: Lens' JWK (Maybe Text)+jE = lens _jE (\ s a -> s{_jE = a})++-- | Fields for ECDSA keys. NOLINT+jX :: Lens' JWK (Maybe Text)+jX = lens _jX (\ s a -> s{_jX = a})++-- | NOLINT+jKty :: Lens' JWK (Maybe Text)+jKty = lens _jKty (\ s a -> s{_jKty = a})++-- | NOLINT+jY :: Lens' JWK (Maybe Text)+jY = lens _jY (\ s a -> s{_jY = a})++instance FromJSON JWK where+        parseJSON+          = withObject "JWK"+              (\ o ->+                 JWK' <$>+                   (o .:? "crv") <*> (o .:? "alg") <*> (o .:? "use") <*>+                     (o .:? "kid")+                     <*> (o .:? "n")+                     <*> (o .:? "e")+                     <*> (o .:? "x")+                     <*> (o .:? "kty")+                     <*> (o .:? "y"))++instance ToJSON JWK where+        toJSON JWK'{..}+          = object+              (catMaybes+                 [("crv" .=) <$> _jCrv, ("alg" .=) <$> _jAlg,+                  ("use" .=) <$> _jUse, ("kid" .=) <$> _jKid,+                  ("n" .=) <$> _jN, ("e" .=) <$> _jE, ("x" .=) <$> _jX,+                  ("kty" .=) <$> _jKty, ("y" .=) <$> _jY])++-- | MaintenanceWindow defines the maintenance window to be used for the+-- cluster.+--+-- /See:/ 'maintenanceWindow' smart constructor.+newtype MaintenanceWindow =+  MaintenanceWindow'+    { _mwDailyMaintenanceWindow :: Maybe DailyMaintenanceWindow+    }+  deriving (Eq, Show, Data, Typeable, Generic)+++-- | Creates a value of 'MaintenanceWindow' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'mwDailyMaintenanceWindow'+maintenanceWindow+    :: MaintenanceWindow+maintenanceWindow = MaintenanceWindow' {_mwDailyMaintenanceWindow = Nothing}+++-- | DailyMaintenanceWindow specifies a daily maintenance operation window.+mwDailyMaintenanceWindow :: Lens' MaintenanceWindow (Maybe DailyMaintenanceWindow)+mwDailyMaintenanceWindow+  = lens _mwDailyMaintenanceWindow+      (\ s a -> s{_mwDailyMaintenanceWindow = a})++instance FromJSON MaintenanceWindow where+        parseJSON+          = withObject "MaintenanceWindow"+              (\ o ->+                 MaintenanceWindow' <$>+                   (o .:? "dailyMaintenanceWindow"))++instance ToJSON MaintenanceWindow where+        toJSON MaintenanceWindow'{..}+          = object+              (catMaybes+                 [("dailyMaintenanceWindow" .=) <$>+                    _mwDailyMaintenanceWindow])++-- | Constraints applied to pods.+--+-- /See:/ 'maxPodsConstraint' smart constructor.+newtype MaxPodsConstraint =+  MaxPodsConstraint'+    { _mpcMaxPodsPerNode :: Maybe (Textual Int64)+    }+  deriving (Eq, Show, Data, Typeable, Generic)+++-- | Creates a value of 'MaxPodsConstraint' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'mpcMaxPodsPerNode'+maxPodsConstraint+    :: MaxPodsConstraint+maxPodsConstraint = MaxPodsConstraint' {_mpcMaxPodsPerNode = Nothing}+++-- | Constraint enforced on the max num of pods per node.+mpcMaxPodsPerNode :: Lens' MaxPodsConstraint (Maybe Int64)+mpcMaxPodsPerNode+  = lens _mpcMaxPodsPerNode+      (\ s a -> s{_mpcMaxPodsPerNode = a})+      . mapping _Coerce++instance FromJSON MaxPodsConstraint where+        parseJSON+          = withObject "MaxPodsConstraint"+              (\ o ->+                 MaxPodsConstraint' <$> (o .:? "maxPodsPerNode"))++instance ToJSON MaxPodsConstraint where+        toJSON MaxPodsConstraint'{..}+          = object+              (catMaybes+                 [("maxPodsPerNode" .=) <$> _mpcMaxPodsPerNode])++-- | Configuration for controlling how IPs are allocated in the cluster.+--+-- /See:/ 'ipAllocationPolicy' smart constructor.+data IPAllocationPolicy =+  IPAllocationPolicy'+    { _iapServicesSecondaryRangeName :: !(Maybe Text)+    , _iapTpuIPv4CIdRBlock           :: !(Maybe Text)+    , _iapNodeIPv4CIdR               :: !(Maybe Text)+    , _iapUseIPAliases               :: !(Maybe Bool)+    , _iapClusterIPv4CIdR            :: !(Maybe Text)+    , _iapSubnetworkName             :: !(Maybe Text)+    , _iapClusterSecondaryRangeName  :: !(Maybe Text)+    , _iapNodeIPv4CIdRBlock          :: !(Maybe Text)+    , _iapServicesIPv4CIdR           :: !(Maybe Text)+    , _iapClusterIPv4CIdRBlock       :: !(Maybe Text)+    , _iapServicesIPv4CIdRBlock      :: !(Maybe Text)+    , _iapCreateSubnetwork           :: !(Maybe Bool)+    }+  deriving (Eq, Show, Data, Typeable, Generic)+++-- | Creates a value of 'IPAllocationPolicy' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'iapServicesSecondaryRangeName'+--+-- * 'iapTpuIPv4CIdRBlock'+--+-- * 'iapNodeIPv4CIdR'+--+-- * 'iapUseIPAliases'+--+-- * 'iapClusterIPv4CIdR'+--+-- * 'iapSubnetworkName'+--+-- * 'iapClusterSecondaryRangeName'+--+-- * 'iapNodeIPv4CIdRBlock'+--+-- * 'iapServicesIPv4CIdR'+--+-- * 'iapClusterIPv4CIdRBlock'+--+-- * 'iapServicesIPv4CIdRBlock'+--+-- * 'iapCreateSubnetwork'+ipAllocationPolicy+    :: IPAllocationPolicy+ipAllocationPolicy =+  IPAllocationPolicy'+    { _iapServicesSecondaryRangeName = Nothing+    , _iapTpuIPv4CIdRBlock = Nothing+    , _iapNodeIPv4CIdR = Nothing+    , _iapUseIPAliases = Nothing+    , _iapClusterIPv4CIdR = Nothing+    , _iapSubnetworkName = Nothing+    , _iapClusterSecondaryRangeName = Nothing+    , _iapNodeIPv4CIdRBlock = Nothing+    , _iapServicesIPv4CIdR = Nothing+    , _iapClusterIPv4CIdRBlock = Nothing+    , _iapServicesIPv4CIdRBlock = Nothing+    , _iapCreateSubnetwork = Nothing+    }+++-- | The name of the secondary range to be used as for the services CIDR+-- block. The secondary range will be used for service ClusterIPs. This+-- must be an existing secondary range associated with the cluster+-- subnetwork. This field is only applicable with use_ip_aliases is true+-- and create_subnetwork is false.+iapServicesSecondaryRangeName :: Lens' IPAllocationPolicy (Maybe Text)+iapServicesSecondaryRangeName+  = lens _iapServicesSecondaryRangeName+      (\ s a -> s{_iapServicesSecondaryRangeName = a})++-- | The IP address range of the Cloud TPUs in this cluster. If unspecified,+-- a range will be automatically chosen with the default size. This field+-- is only applicable when \`use_ip_aliases\` is true. If unspecified, the+-- range will use the default size. Set to \/netmask (e.g. \`\/14\`) to+-- have a range chosen with a specific netmask. Set to a+-- [CIDR](http:\/\/en.wikipedia.org\/wiki\/Classless_Inter-Domain_Routing)+-- notation (e.g. \`10.96.0.0\/14\`) from the RFC-1918 private networks+-- (e.g. \`10.0.0.0\/8\`, \`172.16.0.0\/12\`, \`192.168.0.0\/16\`) to pick+-- a specific range to use.+iapTpuIPv4CIdRBlock :: Lens' IPAllocationPolicy (Maybe Text)+iapTpuIPv4CIdRBlock+  = lens _iapTpuIPv4CIdRBlock+      (\ s a -> s{_iapTpuIPv4CIdRBlock = a})++-- | This field is deprecated, use node_ipv4_cidr_block.+iapNodeIPv4CIdR :: Lens' IPAllocationPolicy (Maybe Text)+iapNodeIPv4CIdR+  = lens _iapNodeIPv4CIdR+      (\ s a -> s{_iapNodeIPv4CIdR = a})++-- | Whether alias IPs will be used for pod IPs in the cluster.+iapUseIPAliases :: Lens' IPAllocationPolicy (Maybe Bool)+iapUseIPAliases+  = lens _iapUseIPAliases+      (\ s a -> s{_iapUseIPAliases = a})++-- | This field is deprecated, use cluster_ipv4_cidr_block.+iapClusterIPv4CIdR :: Lens' IPAllocationPolicy (Maybe Text)+iapClusterIPv4CIdR+  = lens _iapClusterIPv4CIdR+      (\ s a -> s{_iapClusterIPv4CIdR = a})++-- | A custom subnetwork name to be used if \`create_subnetwork\` is true. If+-- this field is empty, then an automatic name will be chosen for the new+-- subnetwork.+iapSubnetworkName :: Lens' IPAllocationPolicy (Maybe Text)+iapSubnetworkName+  = lens _iapSubnetworkName+      (\ s a -> s{_iapSubnetworkName = a})++-- | The name of the secondary range to be used for the cluster CIDR block.+-- The secondary range will be used for pod IP addresses. This must be an+-- existing secondary range associated with the cluster subnetwork. This+-- field is only applicable with use_ip_aliases is true and+-- create_subnetwork is false.+iapClusterSecondaryRangeName :: Lens' IPAllocationPolicy (Maybe Text)+iapClusterSecondaryRangeName+  = lens _iapClusterSecondaryRangeName+      (\ s a -> s{_iapClusterSecondaryRangeName = a})++-- | The IP address range of the instance IPs in this cluster. This is+-- applicable only if \`create_subnetwork\` is true. Set to blank to have a+-- range chosen with the default size. Set to \/netmask (e.g. \`\/14\`) to+-- have a range chosen with a specific netmask. Set to a+-- [CIDR](http:\/\/en.wikipedia.org\/wiki\/Classless_Inter-Domain_Routing)+-- notation (e.g. \`10.96.0.0\/14\`) from the RFC-1918 private networks+-- (e.g. \`10.0.0.0\/8\`, \`172.16.0.0\/12\`, \`192.168.0.0\/16\`) to pick+-- a specific range to use.+iapNodeIPv4CIdRBlock :: Lens' IPAllocationPolicy (Maybe Text)+iapNodeIPv4CIdRBlock+  = lens _iapNodeIPv4CIdRBlock+      (\ s a -> s{_iapNodeIPv4CIdRBlock = a})++-- | This field is deprecated, use services_ipv4_cidr_block.+iapServicesIPv4CIdR :: Lens' IPAllocationPolicy (Maybe Text)+iapServicesIPv4CIdR+  = lens _iapServicesIPv4CIdR+      (\ s a -> s{_iapServicesIPv4CIdR = a})++-- | The IP address range for the cluster pod IPs. If this field is set, then+-- \`cluster.cluster_ipv4_cidr\` must be left blank. This field is only+-- applicable when \`use_ip_aliases\` is true. Set to blank to have a range+-- chosen with the default size. Set to \/netmask (e.g. \`\/14\`) to have a+-- range chosen with a specific netmask. Set to a+-- [CIDR](http:\/\/en.wikipedia.org\/wiki\/Classless_Inter-Domain_Routing)+-- notation (e.g. \`10.96.0.0\/14\`) from the RFC-1918 private networks+-- (e.g. \`10.0.0.0\/8\`, \`172.16.0.0\/12\`, \`192.168.0.0\/16\`) to pick+-- a specific range to use.+iapClusterIPv4CIdRBlock :: Lens' IPAllocationPolicy (Maybe Text)+iapClusterIPv4CIdRBlock+  = lens _iapClusterIPv4CIdRBlock+      (\ s a -> s{_iapClusterIPv4CIdRBlock = a})++-- | The IP address range of the services IPs in this cluster. If blank, a+-- range will be automatically chosen with the default size. This field is+-- only applicable when \`use_ip_aliases\` is true. Set to blank to have a+-- range chosen with the default size. Set to \/netmask (e.g. \`\/14\`) to+-- have a range chosen with a specific netmask. Set to a+-- [CIDR](http:\/\/en.wikipedia.org\/wiki\/Classless_Inter-Domain_Routing)+-- notation (e.g. \`10.96.0.0\/14\`) from the RFC-1918 private networks+-- (e.g. \`10.0.0.0\/8\`, \`172.16.0.0\/12\`, \`192.168.0.0\/16\`) to pick+-- a specific range to use.+iapServicesIPv4CIdRBlock :: Lens' IPAllocationPolicy (Maybe Text)+iapServicesIPv4CIdRBlock+  = lens _iapServicesIPv4CIdRBlock+      (\ s a -> s{_iapServicesIPv4CIdRBlock = a})++-- | Whether a new subnetwork will be created automatically for the cluster.+-- This field is only applicable when \`use_ip_aliases\` is true.+iapCreateSubnetwork :: Lens' IPAllocationPolicy (Maybe Bool)+iapCreateSubnetwork+  = lens _iapCreateSubnetwork+      (\ s a -> s{_iapCreateSubnetwork = a})++instance FromJSON IPAllocationPolicy where+        parseJSON+          = withObject "IPAllocationPolicy"+              (\ o ->+                 IPAllocationPolicy' <$>+                   (o .:? "servicesSecondaryRangeName") <*>+                     (o .:? "tpuIpv4CidrBlock")+                     <*> (o .:? "nodeIpv4Cidr")+                     <*> (o .:? "useIpAliases")+                     <*> (o .:? "clusterIpv4Cidr")+                     <*> (o .:? "subnetworkName")+                     <*> (o .:? "clusterSecondaryRangeName")+                     <*> (o .:? "nodeIpv4CidrBlock")+                     <*> (o .:? "servicesIpv4Cidr")+                     <*> (o .:? "clusterIpv4CidrBlock")+                     <*> (o .:? "servicesIpv4CidrBlock")+                     <*> (o .:? "createSubnetwork"))++instance ToJSON IPAllocationPolicy where+        toJSON IPAllocationPolicy'{..}+          = object+              (catMaybes+                 [("servicesSecondaryRangeName" .=) <$>+                    _iapServicesSecondaryRangeName,+                  ("tpuIpv4CidrBlock" .=) <$> _iapTpuIPv4CIdRBlock,+                  ("nodeIpv4Cidr" .=) <$> _iapNodeIPv4CIdR,+                  ("useIpAliases" .=) <$> _iapUseIPAliases,+                  ("clusterIpv4Cidr" .=) <$> _iapClusterIPv4CIdR,+                  ("subnetworkName" .=) <$> _iapSubnetworkName,+                  ("clusterSecondaryRangeName" .=) <$>+                    _iapClusterSecondaryRangeName,+                  ("nodeIpv4CidrBlock" .=) <$> _iapNodeIPv4CIdRBlock,+                  ("servicesIpv4Cidr" .=) <$> _iapServicesIPv4CIdR,+                  ("clusterIpv4CidrBlock" .=) <$>+                    _iapClusterIPv4CIdRBlock,+                  ("servicesIpv4CidrBlock" .=) <$>+                    _iapServicesIPv4CIdRBlock,+                  ("createSubnetwork" .=) <$> _iapCreateSubnetwork])++-- | Configuration for the addons that can be automatically spun up in the+-- cluster, enabling additional functionality.+--+-- /See:/ 'addonsConfig' smart constructor.+data AddonsConfig =+  AddonsConfig'+    { _acNetworkPolicyConfig      :: !(Maybe NetworkPolicyConfig)+    , _acHorizontalPodAutoscaling :: !(Maybe HorizontalPodAutoscaling)+    , _acHTTPLoadBalancing        :: !(Maybe HTTPLoadBalancing)+    , _acKubernetesDashboard      :: !(Maybe KubernetesDashboard)+    }+  deriving (Eq, Show, Data, Typeable, Generic)+++-- | Creates a value of 'AddonsConfig' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'acNetworkPolicyConfig'+--+-- * 'acHorizontalPodAutoscaling'+--+-- * 'acHTTPLoadBalancing'+--+-- * 'acKubernetesDashboard'+addonsConfig+    :: AddonsConfig+addonsConfig =+  AddonsConfig'+    { _acNetworkPolicyConfig = Nothing+    , _acHorizontalPodAutoscaling = Nothing+    , _acHTTPLoadBalancing = Nothing+    , _acKubernetesDashboard = Nothing+    }+++-- | Configuration for NetworkPolicy. This only tracks whether the addon is+-- enabled or not on the Master, it does not track whether network policy+-- is enabled for the nodes.+acNetworkPolicyConfig :: Lens' AddonsConfig (Maybe NetworkPolicyConfig)+acNetworkPolicyConfig+  = lens _acNetworkPolicyConfig+      (\ s a -> s{_acNetworkPolicyConfig = a})++-- | Configuration for the horizontal pod autoscaling feature, which+-- increases or decreases the number of replica pods a replication+-- controller has based on the resource usage of the existing pods.+acHorizontalPodAutoscaling :: Lens' AddonsConfig (Maybe HorizontalPodAutoscaling)+acHorizontalPodAutoscaling+  = lens _acHorizontalPodAutoscaling+      (\ s a -> s{_acHorizontalPodAutoscaling = a})++-- | Configuration for the HTTP (L7) load balancing controller addon, which+-- makes it easy to set up HTTP load balancers for services in a cluster.+acHTTPLoadBalancing :: Lens' AddonsConfig (Maybe HTTPLoadBalancing)+acHTTPLoadBalancing+  = lens _acHTTPLoadBalancing+      (\ s a -> s{_acHTTPLoadBalancing = a})++-- | Configuration for the Kubernetes Dashboard.+acKubernetesDashboard :: Lens' AddonsConfig (Maybe KubernetesDashboard)+acKubernetesDashboard+  = lens _acKubernetesDashboard+      (\ s a -> s{_acKubernetesDashboard = a})++instance FromJSON AddonsConfig where+        parseJSON+          = withObject "AddonsConfig"+              (\ o ->+                 AddonsConfig' <$>+                   (o .:? "networkPolicyConfig") <*>+                     (o .:? "horizontalPodAutoscaling")+                     <*> (o .:? "httpLoadBalancing")+                     <*> (o .:? "kubernetesDashboard"))++instance ToJSON AddonsConfig where+        toJSON AddonsConfig'{..}+          = object+              (catMaybes+                 [("networkPolicyConfig" .=) <$>+                    _acNetworkPolicyConfig,+                  ("horizontalPodAutoscaling" .=) <$>+                    _acHorizontalPodAutoscaling,+                  ("httpLoadBalancing" .=) <$> _acHTTPLoadBalancing,+                  ("kubernetesDashboard" .=) <$>+                    _acKubernetesDashboard])++-- | NetworkConfig reports the relative names of network & subnetwork.+--+-- /See:/ 'networkConfig' smart constructor.+data NetworkConfig =+  NetworkConfig'+    { _ncNetwork    :: !(Maybe Text)+    , _ncSubnetwork :: !(Maybe Text)+    }+  deriving (Eq, Show, Data, Typeable, Generic)+++-- | Creates a value of 'NetworkConfig' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'ncNetwork'+--+-- * 'ncSubnetwork'+networkConfig+    :: NetworkConfig+networkConfig = NetworkConfig' {_ncNetwork = Nothing, _ncSubnetwork = Nothing}+++-- | Output only. The relative name of the Google Compute Engine+-- network(\/compute\/docs\/networks-and-firewalls#networks) to which the+-- cluster is connected. Example:+-- projects\/my-project\/global\/networks\/my-network+ncNetwork :: Lens' NetworkConfig (Maybe Text)+ncNetwork+  = lens _ncNetwork (\ s a -> s{_ncNetwork = a})++-- | Output only. The relative name of the Google Compute Engine+-- [subnetwork](\/compute\/docs\/vpc) to which the cluster is connected.+-- Example:+-- projects\/my-project\/regions\/us-central1\/subnetworks\/my-subnet+ncSubnetwork :: Lens' NetworkConfig (Maybe Text)+ncSubnetwork+  = lens _ncSubnetwork (\ s a -> s{_ncSubnetwork = a})++instance FromJSON NetworkConfig where+        parseJSON+          = withObject "NetworkConfig"+              (\ o ->+                 NetworkConfig' <$>+                   (o .:? "network") <*> (o .:? "subnetwork"))++instance ToJSON NetworkConfig where+        toJSON NetworkConfig'{..}+          = object+              (catMaybes+                 [("network" .=) <$> _ncNetwork,+                  ("subnetwork" .=) <$> _ncSubnetwork])++-- | NodePool contains the name and configuration for a cluster\'s node pool.+-- Node pools are a set of nodes (i.e. VM\'s), with a common configuration+-- and specification, under the control of the cluster master. They may+-- have a set of Kubernetes labels applied to them, which may be used to+-- reference them during pod scheduling. They may also be resized up or+-- down, to accommodate the workload.+--+-- /See:/ 'nodePool' smart constructor.+data NodePool =+  NodePool'+    { _npStatus            :: !(Maybe NodePoolStatus)+    , _npAutoscaling       :: !(Maybe NodePoolAutoscaling)+    , _npConfig            :: !(Maybe NodeConfig)+    , _npInitialNodeCount  :: !(Maybe (Textual Int32))+    , _npManagement        :: !(Maybe NodeManagement)+    , _npMaxPodsConstraint :: !(Maybe MaxPodsConstraint)+    , _npSelfLink          :: !(Maybe Text)+    , _npName              :: !(Maybe Text)+    , _npStatusMessage     :: !(Maybe Text)+    , _npVersion           :: !(Maybe Text)+    , _npConditions        :: !(Maybe [StatusCondition])+    , _npInstanceGroupURLs :: !(Maybe [Text])+    }+  deriving (Eq, Show, Data, Typeable, Generic)+++-- | Creates a value of 'NodePool' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'npStatus'+--+-- * 'npAutoscaling'+--+-- * 'npConfig'+--+-- * 'npInitialNodeCount'+--+-- * 'npManagement'+--+-- * 'npMaxPodsConstraint'+--+-- * 'npSelfLink'+--+-- * 'npName'+--+-- * 'npStatusMessage'+--+-- * 'npVersion'+--+-- * 'npConditions'+--+-- * 'npInstanceGroupURLs'+nodePool+    :: NodePool+nodePool =+  NodePool'+    { _npStatus = Nothing+    , _npAutoscaling = Nothing+    , _npConfig = Nothing+    , _npInitialNodeCount = Nothing+    , _npManagement = Nothing+    , _npMaxPodsConstraint = Nothing+    , _npSelfLink = Nothing+    , _npName = Nothing+    , _npStatusMessage = Nothing+    , _npVersion = Nothing+    , _npConditions = Nothing+    , _npInstanceGroupURLs = Nothing+    }+++-- | [Output only] The status of the nodes in this pool instance.+npStatus :: Lens' NodePool (Maybe NodePoolStatus)+npStatus = lens _npStatus (\ s a -> s{_npStatus = a})++-- | Autoscaler configuration for this NodePool. Autoscaler is enabled only+-- if a valid configuration is present.+npAutoscaling :: Lens' NodePool (Maybe NodePoolAutoscaling)+npAutoscaling+  = lens _npAutoscaling+      (\ s a -> s{_npAutoscaling = a})++-- | The node configuration of the pool.+npConfig :: Lens' NodePool (Maybe NodeConfig)+npConfig = lens _npConfig (\ s a -> s{_npConfig = a})++-- | The initial node count for the pool. You must ensure that your Compute+-- Engine </compute/docs/resource-quotas resource quota> is sufficient for+-- this number of instances. You must also have available firewall and+-- routes quota.+npInitialNodeCount :: Lens' NodePool (Maybe Int32)+npInitialNodeCount+  = lens _npInitialNodeCount+      (\ s a -> s{_npInitialNodeCount = a})+      . mapping _Coerce++-- | NodeManagement configuration for this NodePool.+npManagement :: Lens' NodePool (Maybe NodeManagement)+npManagement+  = lens _npManagement (\ s a -> s{_npManagement = a})++-- | The constraint on the maximum number of pods that can be run+-- simultaneously on a node in the node pool.+npMaxPodsConstraint :: Lens' NodePool (Maybe MaxPodsConstraint)+npMaxPodsConstraint+  = lens _npMaxPodsConstraint+      (\ s a -> s{_npMaxPodsConstraint = a})++-- | [Output only] Server-defined URL for the resource.+npSelfLink :: Lens' NodePool (Maybe Text)+npSelfLink+  = lens _npSelfLink (\ s a -> s{_npSelfLink = a})++-- | The name of the node pool.+npName :: Lens' NodePool (Maybe Text)+npName = lens _npName (\ s a -> s{_npName = a})++-- | [Output only] Additional information about the current status of this+-- node pool instance, if available.+npStatusMessage :: Lens' NodePool (Maybe Text)+npStatusMessage+  = lens _npStatusMessage+      (\ s a -> s{_npStatusMessage = a})++-- | The version of the Kubernetes of this node.+npVersion :: Lens' NodePool (Maybe Text)+npVersion+  = lens _npVersion (\ s a -> s{_npVersion = a})++-- | Which conditions caused the current node pool state.+npConditions :: Lens' NodePool [StatusCondition]+npConditions+  = lens _npConditions (\ s a -> s{_npConditions = a})+      . _Default+      . _Coerce++-- | [Output only] The resource URLs of the [managed instance+-- groups](\/compute\/docs\/instance-groups\/creating-groups-of-managed-instances)+-- associated with this node pool.+npInstanceGroupURLs :: Lens' NodePool [Text]+npInstanceGroupURLs+  = lens _npInstanceGroupURLs+      (\ s a -> s{_npInstanceGroupURLs = a})+      . _Default+      . _Coerce++instance FromJSON NodePool where+        parseJSON+          = withObject "NodePool"+              (\ o ->+                 NodePool' <$>+                   (o .:? "status") <*> (o .:? "autoscaling") <*>+                     (o .:? "config")+                     <*> (o .:? "initialNodeCount")+                     <*> (o .:? "management")+                     <*> (o .:? "maxPodsConstraint")+                     <*> (o .:? "selfLink")+                     <*> (o .:? "name")+                     <*> (o .:? "statusMessage")+                     <*> (o .:? "version")+                     <*> (o .:? "conditions" .!= mempty)+                     <*> (o .:? "instanceGroupUrls" .!= mempty))++instance ToJSON NodePool where+        toJSON NodePool'{..}+          = object+              (catMaybes+                 [("status" .=) <$> _npStatus,+                  ("autoscaling" .=) <$> _npAutoscaling,+                  ("config" .=) <$> _npConfig,+                  ("initialNodeCount" .=) <$> _npInitialNodeCount,+                  ("management" .=) <$> _npManagement,+                  ("maxPodsConstraint" .=) <$> _npMaxPodsConstraint,+                  ("selfLink" .=) <$> _npSelfLink,+                  ("name" .=) <$> _npName,+                  ("statusMessage" .=) <$> _npStatusMessage,+                  ("version" .=) <$> _npVersion,+                  ("conditions" .=) <$> _npConditions,+                  ("instanceGroupUrls" .=) <$> _npInstanceGroupURLs])++-- | SetNodePoolManagementRequest sets the node management properties of a+-- node pool.+--+-- /See:/ 'setNodePoolManagementRequest' smart constructor.+data SetNodePoolManagementRequest =+  SetNodePoolManagementRequest'+    { _snpmrManagement :: !(Maybe NodeManagement)+    , _snpmrZone       :: !(Maybe Text)+    , _snpmrNodePoolId :: !(Maybe Text)+    , _snpmrName       :: !(Maybe Text)+    , _snpmrClusterId  :: !(Maybe Text)+    , _snpmrProjectId  :: !(Maybe Text)+    }+  deriving (Eq, Show, Data, Typeable, Generic)+++-- | Creates a value of 'SetNodePoolManagementRequest' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'snpmrManagement'+--+-- * 'snpmrZone'+--+-- * 'snpmrNodePoolId'+--+-- * 'snpmrName'+--+-- * 'snpmrClusterId'+--+-- * 'snpmrProjectId'+setNodePoolManagementRequest+    :: SetNodePoolManagementRequest+setNodePoolManagementRequest =+  SetNodePoolManagementRequest'+    { _snpmrManagement = Nothing+    , _snpmrZone = Nothing+    , _snpmrNodePoolId = Nothing+    , _snpmrName = Nothing+    , _snpmrClusterId = Nothing+    , _snpmrProjectId = Nothing+    }+++-- | NodeManagement configuration for the node pool.+snpmrManagement :: Lens' SetNodePoolManagementRequest (Maybe NodeManagement)+snpmrManagement+  = lens _snpmrManagement+      (\ s a -> s{_snpmrManagement = a})++-- | Deprecated. The name of the Google Compute Engine+-- [zone](\/compute\/docs\/zones#available) in which the cluster resides.+-- This field has been deprecated and replaced by the name field.+snpmrZone :: Lens' SetNodePoolManagementRequest (Maybe Text)+snpmrZone+  = lens _snpmrZone (\ s a -> s{_snpmrZone = a})++-- | Deprecated. The name of the node pool to update. This field has been+-- deprecated and replaced by the name field.+snpmrNodePoolId :: Lens' SetNodePoolManagementRequest (Maybe Text)+snpmrNodePoolId+  = lens _snpmrNodePoolId+      (\ s a -> s{_snpmrNodePoolId = a})++-- | The name (project, location, cluster, node pool id) of the node pool to+-- set management properties. Specified in the format+-- \'projects\/*\/locations\/*\/clusters\/*\/nodePools\/*\'.+snpmrName :: Lens' SetNodePoolManagementRequest (Maybe Text)+snpmrName+  = lens _snpmrName (\ s a -> s{_snpmrName = a})++-- | Deprecated. The name of the cluster to update. This field has been+-- deprecated and replaced by the name field.+snpmrClusterId :: Lens' SetNodePoolManagementRequest (Maybe Text)+snpmrClusterId+  = lens _snpmrClusterId+      (\ s a -> s{_snpmrClusterId = a})++-- | Deprecated. The Google Developers Console [project ID or project+-- number](https:\/\/support.google.com\/cloud\/answer\/6158840). This+-- field has been deprecated and replaced by the name field.+snpmrProjectId :: Lens' SetNodePoolManagementRequest (Maybe Text)+snpmrProjectId+  = lens _snpmrProjectId+      (\ s a -> s{_snpmrProjectId = a})++instance FromJSON SetNodePoolManagementRequest where+        parseJSON+          = withObject "SetNodePoolManagementRequest"+              (\ o ->+                 SetNodePoolManagementRequest' <$>+                   (o .:? "management") <*> (o .:? "zone") <*>+                     (o .:? "nodePoolId")+                     <*> (o .:? "name")+                     <*> (o .:? "clusterId")+                     <*> (o .:? "projectId"))++instance ToJSON SetNodePoolManagementRequest where+        toJSON SetNodePoolManagementRequest'{..}+          = object+              (catMaybes+                 [("management" .=) <$> _snpmrManagement,+                  ("zone" .=) <$> _snpmrZone,+                  ("nodePoolId" .=) <$> _snpmrNodePoolId,+                  ("name" .=) <$> _snpmrName,+                  ("clusterId" .=) <$> _snpmrClusterId,+                  ("projectId" .=) <$> _snpmrProjectId])++-- | Configuration options for the master authorized networks feature.+-- Enabled master authorized networks will disallow all external traffic to+-- access Kubernetes master through HTTPS except traffic from the given+-- CIDR blocks, Google Compute Engine Public IPs and Google Prod IPs.+--+-- /See:/ 'masterAuthorizedNetworksConfig' smart constructor.+data MasterAuthorizedNetworksConfig =+  MasterAuthorizedNetworksConfig'+    { _mancEnabled    :: !(Maybe Bool)+    , _mancCIdRBlocks :: !(Maybe [CIdRBlock])+    }+  deriving (Eq, Show, Data, Typeable, Generic)+++-- | Creates a value of 'MasterAuthorizedNetworksConfig' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'mancEnabled'+--+-- * 'mancCIdRBlocks'+masterAuthorizedNetworksConfig+    :: MasterAuthorizedNetworksConfig+masterAuthorizedNetworksConfig =+  MasterAuthorizedNetworksConfig'+    {_mancEnabled = Nothing, _mancCIdRBlocks = Nothing}+++-- | Whether or not master authorized networks is enabled.+mancEnabled :: Lens' MasterAuthorizedNetworksConfig (Maybe Bool)+mancEnabled+  = lens _mancEnabled (\ s a -> s{_mancEnabled = a})++-- | cidr_blocks define up to 10 external networks that could access+-- Kubernetes master through HTTPS.+mancCIdRBlocks :: Lens' MasterAuthorizedNetworksConfig [CIdRBlock]+mancCIdRBlocks+  = lens _mancCIdRBlocks+      (\ s a -> s{_mancCIdRBlocks = a})+      . _Default+      . _Coerce++instance FromJSON MasterAuthorizedNetworksConfig+         where+        parseJSON+          = withObject "MasterAuthorizedNetworksConfig"+              (\ o ->+                 MasterAuthorizedNetworksConfig' <$>+                   (o .:? "enabled") <*>+                     (o .:? "cidrBlocks" .!= mempty))++instance ToJSON MasterAuthorizedNetworksConfig where+        toJSON MasterAuthorizedNetworksConfig'{..}+          = object+              (catMaybes+                 [("enabled" .=) <$> _mancEnabled,+                  ("cidrBlocks" .=) <$> _mancCIdRBlocks])++-- | Configuration for the legacy Attribute Based Access Control+-- authorization mode.+--+-- /See:/ 'legacyAbac' smart constructor.+newtype LegacyAbac =+  LegacyAbac'+    { _laEnabled :: Maybe Bool+    }+  deriving (Eq, Show, Data, Typeable, Generic)+++-- | Creates a value of 'LegacyAbac' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'laEnabled'+legacyAbac+    :: LegacyAbac+legacyAbac = LegacyAbac' {_laEnabled = Nothing}+++-- | Whether the ABAC authorizer is enabled for this cluster. When enabled,+-- identities in the system, including service accounts, nodes, and+-- controllers, will have statically granted permissions beyond those+-- provided by the RBAC configuration or IAM.+laEnabled :: Lens' LegacyAbac (Maybe Bool)+laEnabled+  = lens _laEnabled (\ s a -> s{_laEnabled = a})++instance FromJSON LegacyAbac where+        parseJSON+          = withObject "LegacyAbac"+              (\ o -> LegacyAbac' <$> (o .:? "enabled"))++instance ToJSON LegacyAbac where+        toJSON LegacyAbac'{..}+          = object (catMaybes [("enabled" .=) <$> _laEnabled])++-- | The authentication information for accessing the master endpoint.+-- Authentication can be done using HTTP basic auth or using client+-- certificates.+--+-- /See:/ 'masterAuth' smart constructor.+data MasterAuth =+  MasterAuth'+    { _maClientKey               :: !(Maybe Text)+    , _maUsername                :: !(Maybe Text)+    , _maClientCertificateConfig :: !(Maybe ClientCertificateConfig)+    , _maClientCertificate       :: !(Maybe Text)+    , _maPassword                :: !(Maybe Text)+    , _maClusterCaCertificate    :: !(Maybe Text)+    }+  deriving (Eq, Show, Data, Typeable, Generic)+++-- | Creates a value of 'MasterAuth' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'maClientKey'+--+-- * 'maUsername'+--+-- * 'maClientCertificateConfig'+--+-- * 'maClientCertificate'+--+-- * 'maPassword'+--+-- * 'maClusterCaCertificate'+masterAuth+    :: MasterAuth+masterAuth =+  MasterAuth'+    { _maClientKey = Nothing+    , _maUsername = Nothing+    , _maClientCertificateConfig = Nothing+    , _maClientCertificate = Nothing+    , _maPassword = Nothing+    , _maClusterCaCertificate = Nothing+    }+++-- | [Output only] Base64-encoded private key used by clients to authenticate+-- to the cluster endpoint.+maClientKey :: Lens' MasterAuth (Maybe Text)+maClientKey+  = lens _maClientKey (\ s a -> s{_maClientKey = a})++-- | The username to use for HTTP basic authentication to the master+-- endpoint. For clusters v1.6.0 and later, basic authentication can be+-- disabled by leaving username unspecified (or setting it to the empty+-- string).+maUsername :: Lens' MasterAuth (Maybe Text)+maUsername+  = lens _maUsername (\ s a -> s{_maUsername = a})++-- | Configuration for client certificate authentication on the cluster. For+-- clusters before v1.12, if no configuration is specified, a client+-- certificate is issued.+maClientCertificateConfig :: Lens' MasterAuth (Maybe ClientCertificateConfig)+maClientCertificateConfig+  = lens _maClientCertificateConfig+      (\ s a -> s{_maClientCertificateConfig = a})++-- | [Output only] Base64-encoded public certificate used by clients to+-- authenticate to the cluster endpoint.+maClientCertificate :: Lens' MasterAuth (Maybe Text)+maClientCertificate+  = lens _maClientCertificate+      (\ s a -> s{_maClientCertificate = a})++-- | The password to use for HTTP basic authentication to the master+-- endpoint. Because the master endpoint is open to the Internet, you+-- should create a strong password. If a password is provided for cluster+-- creation, username must be non-empty.+maPassword :: Lens' MasterAuth (Maybe Text)+maPassword+  = lens _maPassword (\ s a -> s{_maPassword = a})++-- | [Output only] Base64-encoded public certificate that is the root of+-- trust for the cluster.+maClusterCaCertificate :: Lens' MasterAuth (Maybe Text)+maClusterCaCertificate+  = lens _maClusterCaCertificate+      (\ s a -> s{_maClusterCaCertificate = a})++instance FromJSON MasterAuth where+        parseJSON+          = withObject "MasterAuth"+              (\ o ->+                 MasterAuth' <$>+                   (o .:? "clientKey") <*> (o .:? "username") <*>+                     (o .:? "clientCertificateConfig")+                     <*> (o .:? "clientCertificate")+                     <*> (o .:? "password")+                     <*> (o .:? "clusterCaCertificate"))++instance ToJSON MasterAuth where+        toJSON MasterAuth'{..}+          = object+              (catMaybes+                 [("clientKey" .=) <$> _maClientKey,+                  ("username" .=) <$> _maUsername,+                  ("clientCertificateConfig" .=) <$>+                    _maClientCertificateConfig,+                  ("clientCertificate" .=) <$> _maClientCertificate,+                  ("password" .=) <$> _maPassword,+                  ("clusterCaCertificate" .=) <$>+                    _maClusterCaCertificate])++-- | StatusCondition describes why a cluster or a node pool has a certain+-- status (e.g., ERROR or DEGRADED).+--+-- /See:/ 'statusCondition' smart constructor.+data StatusCondition =+  StatusCondition'+    { _scCode    :: !(Maybe StatusConditionCode)+    , _scMessage :: !(Maybe Text)+    }+  deriving (Eq, Show, Data, Typeable, Generic)+++-- | Creates a value of 'StatusCondition' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'scCode'+--+-- * 'scMessage'+statusCondition+    :: StatusCondition+statusCondition = StatusCondition' {_scCode = Nothing, _scMessage = Nothing}+++-- | Machine-friendly representation of the condition+scCode :: Lens' StatusCondition (Maybe StatusConditionCode)+scCode = lens _scCode (\ s a -> s{_scCode = a})++-- | Human-friendly representation of the condition+scMessage :: Lens' StatusCondition (Maybe Text)+scMessage+  = lens _scMessage (\ s a -> s{_scMessage = a})++instance FromJSON StatusCondition where+        parseJSON+          = withObject "StatusCondition"+              (\ o ->+                 StatusCondition' <$>+                   (o .:? "code") <*> (o .:? "message"))++instance ToJSON StatusCondition where+        toJSON StatusCondition'{..}+          = object+              (catMaybes+                 [("code" .=) <$> _scCode,+                  ("message" .=) <$> _scMessage])++-- | The metadata key\/value pairs assigned to instances in the cluster. Keys+-- must conform to the regexp [a-zA-Z0-9-_]+ and be less than 128 bytes in+-- length. These are reflected as part of a URL in the metadata server.+-- Additionally, to avoid ambiguity, keys must not conflict with any other+-- metadata keys for the project or be one of the reserved keys:+-- \"cluster-location\" \"cluster-name\" \"cluster-uid\" \"configure-sh\"+-- \"containerd-configure-sh\" \"enable-os-login\" \"gci-update-strategy\"+-- \"gci-ensure-gke-docker\" \"instance-template\" \"kube-env\"+-- \"startup-script\" \"user-data\" Values are free-form strings, and only+-- have meaning as interpreted by the image running in the instance. The+-- only restriction placed on them is that each value\'s size must be less+-- than or equal to 32 KB. The total size of all keys and values must be+-- less than 512 KB.+--+-- /See:/ 'nodeConfigMetadata' smart constructor.+newtype NodeConfigMetadata =+  NodeConfigMetadata'+    { _ncmAddtional :: HashMap Text Text+    }+  deriving (Eq, Show, Data, Typeable, Generic)+++-- | Creates a value of 'NodeConfigMetadata' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'ncmAddtional'+nodeConfigMetadata+    :: HashMap Text Text -- ^ 'ncmAddtional'+    -> NodeConfigMetadata+nodeConfigMetadata pNcmAddtional_ =+  NodeConfigMetadata' {_ncmAddtional = _Coerce # pNcmAddtional_}+++ncmAddtional :: Lens' NodeConfigMetadata (HashMap Text Text)+ncmAddtional+  = lens _ncmAddtional (\ s a -> s{_ncmAddtional = a})+      . _Coerce++instance FromJSON NodeConfigMetadata where+        parseJSON+          = withObject "NodeConfigMetadata"+              (\ o -> NodeConfigMetadata' <$> (parseJSONObject o))++instance ToJSON NodeConfigMetadata where+        toJSON = toJSON . _ncmAddtional++-- | The map of Kubernetes labels (key\/value pairs) to be applied to each+-- node. These will added in addition to any default label(s) that+-- Kubernetes may apply to the node. In case of conflict in label keys, the+-- applied set may differ depending on the Kubernetes version -- it\'s best+-- to assume the behavior is undefined and conflicts should be avoided. For+-- more information, including usage and the valid values, see:+-- https:\/\/kubernetes.io\/docs\/concepts\/overview\/working-with-objects\/labels\/+--+-- /See:/ 'nodeConfigLabels' smart constructor.+newtype NodeConfigLabels =+  NodeConfigLabels'+    { _nclAddtional :: HashMap Text Text+    }+  deriving (Eq, Show, Data, Typeable, Generic)+++-- | Creates a value of 'NodeConfigLabels' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'nclAddtional'+nodeConfigLabels+    :: HashMap Text Text -- ^ 'nclAddtional'+    -> NodeConfigLabels+nodeConfigLabels pNclAddtional_ =+  NodeConfigLabels' {_nclAddtional = _Coerce # pNclAddtional_}+++nclAddtional :: Lens' NodeConfigLabels (HashMap Text Text)+nclAddtional+  = lens _nclAddtional (\ s a -> s{_nclAddtional = a})+      . _Coerce++instance FromJSON NodeConfigLabels where+        parseJSON+          = withObject "NodeConfigLabels"+              (\ o -> NodeConfigLabels' <$> (parseJSONObject o))++instance ToJSON NodeConfigLabels where+        toJSON = toJSON . _nclAddtional++-- | Kubernetes Engine service configuration.+--+-- /See:/ 'serverConfig' smart constructor.+data ServerConfig =+  ServerConfig'+    { _scDefaultImageType      :: !(Maybe Text)+    , _scValidNodeVersions     :: !(Maybe [Text])+    , _scValidImageTypes       :: !(Maybe [Text])+    , _scDefaultClusterVersion :: !(Maybe Text)+    , _scValidMasterVersions   :: !(Maybe [Text])+    }+  deriving (Eq, Show, Data, Typeable, Generic)+++-- | Creates a value of 'ServerConfig' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'scDefaultImageType'+--+-- * 'scValidNodeVersions'+--+-- * 'scValidImageTypes'+--+-- * 'scDefaultClusterVersion'+--+-- * 'scValidMasterVersions'+serverConfig+    :: ServerConfig+serverConfig =+  ServerConfig'+    { _scDefaultImageType = Nothing+    , _scValidNodeVersions = Nothing+    , _scValidImageTypes = Nothing+    , _scDefaultClusterVersion = Nothing+    , _scValidMasterVersions = Nothing+    }+++-- | Default image type.+scDefaultImageType :: Lens' ServerConfig (Maybe Text)+scDefaultImageType+  = lens _scDefaultImageType+      (\ s a -> s{_scDefaultImageType = a})++-- | List of valid node upgrade target versions.+scValidNodeVersions :: Lens' ServerConfig [Text]+scValidNodeVersions+  = lens _scValidNodeVersions+      (\ s a -> s{_scValidNodeVersions = a})+      . _Default+      . _Coerce++-- | List of valid image types.+scValidImageTypes :: Lens' ServerConfig [Text]+scValidImageTypes+  = lens _scValidImageTypes+      (\ s a -> s{_scValidImageTypes = a})+      . _Default+      . _Coerce++-- | Version of Kubernetes the service deploys by default.+scDefaultClusterVersion :: Lens' ServerConfig (Maybe Text)+scDefaultClusterVersion+  = lens _scDefaultClusterVersion+      (\ s a -> s{_scDefaultClusterVersion = a})++-- | List of valid master versions.+scValidMasterVersions :: Lens' ServerConfig [Text]+scValidMasterVersions+  = lens _scValidMasterVersions+      (\ s a -> s{_scValidMasterVersions = a})+      . _Default+      . _Coerce++instance FromJSON ServerConfig where+        parseJSON+          = withObject "ServerConfig"+              (\ o ->+                 ServerConfig' <$>+                   (o .:? "defaultImageType") <*>+                     (o .:? "validNodeVersions" .!= mempty)+                     <*> (o .:? "validImageTypes" .!= mempty)+                     <*> (o .:? "defaultClusterVersion")+                     <*> (o .:? "validMasterVersions" .!= mempty))++instance ToJSON ServerConfig where+        toJSON ServerConfig'{..}+          = object+              (catMaybes+                 [("defaultImageType" .=) <$> _scDefaultImageType,+                  ("validNodeVersions" .=) <$> _scValidNodeVersions,+                  ("validImageTypes" .=) <$> _scValidImageTypes,+                  ("defaultClusterVersion" .=) <$>+                    _scDefaultClusterVersion,+                  ("validMasterVersions" .=) <$>+                    _scValidMasterVersions])++-- | AutoUpgradeOptions defines the set of options for the user to control+-- how the Auto Upgrades will proceed.+--+-- /See:/ 'autoUpgradeOptions' smart constructor.+data AutoUpgradeOptions =+  AutoUpgradeOptions'+    { _auoAutoUpgradeStartTime :: !(Maybe Text)+    , _auoDescription          :: !(Maybe Text)+    }+  deriving (Eq, Show, Data, Typeable, Generic)+++-- | Creates a value of 'AutoUpgradeOptions' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'auoAutoUpgradeStartTime'+--+-- * 'auoDescription'+autoUpgradeOptions+    :: AutoUpgradeOptions+autoUpgradeOptions =+  AutoUpgradeOptions'+    {_auoAutoUpgradeStartTime = Nothing, _auoDescription = Nothing}+++-- | [Output only] This field is set when upgrades are about to commence with+-- the approximate start time for the upgrades, in+-- [RFC3339](https:\/\/www.ietf.org\/rfc\/rfc3339.txt) text format.+auoAutoUpgradeStartTime :: Lens' AutoUpgradeOptions (Maybe Text)+auoAutoUpgradeStartTime+  = lens _auoAutoUpgradeStartTime+      (\ s a -> s{_auoAutoUpgradeStartTime = a})++-- | [Output only] This field is set when upgrades are about to commence with+-- the description of the upgrade.+auoDescription :: Lens' AutoUpgradeOptions (Maybe Text)+auoDescription+  = lens _auoDescription+      (\ s a -> s{_auoDescription = a})++instance FromJSON AutoUpgradeOptions where+        parseJSON+          = withObject "AutoUpgradeOptions"+              (\ o ->+                 AutoUpgradeOptions' <$>+                   (o .:? "autoUpgradeStartTime") <*>+                     (o .:? "description"))++instance ToJSON AutoUpgradeOptions where+        toJSON AutoUpgradeOptions'{..}+          = object+              (catMaybes+                 [("autoUpgradeStartTime" .=) <$>+                    _auoAutoUpgradeStartTime,+                  ("description" .=) <$> _auoDescription])++-- | SetNodePoolSizeRequest sets the size a node pool.+--+-- /See:/ 'setNodePoolSizeRequest' smart constructor.+data SetNodePoolSizeRequest =+  SetNodePoolSizeRequest'+    { _snpsrNodeCount  :: !(Maybe (Textual Int32))+    , _snpsrZone       :: !(Maybe Text)+    , _snpsrNodePoolId :: !(Maybe Text)+    , _snpsrName       :: !(Maybe Text)+    , _snpsrClusterId  :: !(Maybe Text)+    , _snpsrProjectId  :: !(Maybe Text)+    }+  deriving (Eq, Show, Data, Typeable, Generic)+++-- | Creates a value of 'SetNodePoolSizeRequest' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'snpsrNodeCount'+--+-- * 'snpsrZone'+--+-- * 'snpsrNodePoolId'+--+-- * 'snpsrName'+--+-- * 'snpsrClusterId'+--+-- * 'snpsrProjectId'+setNodePoolSizeRequest+    :: SetNodePoolSizeRequest+setNodePoolSizeRequest =+  SetNodePoolSizeRequest'+    { _snpsrNodeCount = Nothing+    , _snpsrZone = Nothing+    , _snpsrNodePoolId = Nothing+    , _snpsrName = Nothing+    , _snpsrClusterId = Nothing+    , _snpsrProjectId = Nothing+    }+++-- | The desired node count for the pool.+snpsrNodeCount :: Lens' SetNodePoolSizeRequest (Maybe Int32)+snpsrNodeCount+  = lens _snpsrNodeCount+      (\ s a -> s{_snpsrNodeCount = a})+      . mapping _Coerce++-- | Deprecated. The name of the Google Compute Engine+-- [zone](\/compute\/docs\/zones#available) in which the cluster resides.+-- This field has been deprecated and replaced by the name field.+snpsrZone :: Lens' SetNodePoolSizeRequest (Maybe Text)+snpsrZone+  = lens _snpsrZone (\ s a -> s{_snpsrZone = a})++-- | Deprecated. The name of the node pool to update. This field has been+-- deprecated and replaced by the name field.+snpsrNodePoolId :: Lens' SetNodePoolSizeRequest (Maybe Text)+snpsrNodePoolId+  = lens _snpsrNodePoolId+      (\ s a -> s{_snpsrNodePoolId = a})++-- | The name (project, location, cluster, node pool id) of the node pool to+-- set size. Specified in the format+-- \'projects\/*\/locations\/*\/clusters\/*\/nodePools\/*\'.+snpsrName :: Lens' SetNodePoolSizeRequest (Maybe Text)+snpsrName+  = lens _snpsrName (\ s a -> s{_snpsrName = a})++-- | Deprecated. The name of the cluster to update. This field has been+-- deprecated and replaced by the name field.+snpsrClusterId :: Lens' SetNodePoolSizeRequest (Maybe Text)+snpsrClusterId+  = lens _snpsrClusterId+      (\ s a -> s{_snpsrClusterId = a})++-- | Deprecated. The Google Developers Console [project ID or project+-- number](https:\/\/support.google.com\/cloud\/answer\/6158840). This+-- field has been deprecated and replaced by the name field.+snpsrProjectId :: Lens' SetNodePoolSizeRequest (Maybe Text)+snpsrProjectId+  = lens _snpsrProjectId+      (\ s a -> s{_snpsrProjectId = a})++instance FromJSON SetNodePoolSizeRequest where+        parseJSON+          = withObject "SetNodePoolSizeRequest"+              (\ o ->+                 SetNodePoolSizeRequest' <$>+                   (o .:? "nodeCount") <*> (o .:? "zone") <*>+                     (o .:? "nodePoolId")+                     <*> (o .:? "name")+                     <*> (o .:? "clusterId")+                     <*> (o .:? "projectId"))++instance ToJSON SetNodePoolSizeRequest where+        toJSON SetNodePoolSizeRequest'{..}+          = object+              (catMaybes+                 [("nodeCount" .=) <$> _snpsrNodeCount,+                  ("zone" .=) <$> _snpsrZone,+                  ("nodePoolId" .=) <$> _snpsrNodePoolId,+                  ("name" .=) <$> _snpsrName,+                  ("clusterId" .=) <$> _snpsrClusterId,+                  ("projectId" .=) <$> _snpsrProjectId])++-- | SetMonitoringServiceRequest sets the monitoring service of a cluster.+--+-- /See:/ 'setMonitoringServiceRequest' smart constructor.+data SetMonitoringServiceRequest =+  SetMonitoringServiceRequest'+    { _smsrZone              :: !(Maybe Text)+    , _smsrName              :: !(Maybe Text)+    , _smsrClusterId         :: !(Maybe Text)+    , _smsrProjectId         :: !(Maybe Text)+    , _smsrMonitoringService :: !(Maybe Text)+    }+  deriving (Eq, Show, Data, Typeable, Generic)+++-- | Creates a value of 'SetMonitoringServiceRequest' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'smsrZone'+--+-- * 'smsrName'+--+-- * 'smsrClusterId'+--+-- * 'smsrProjectId'+--+-- * 'smsrMonitoringService'+setMonitoringServiceRequest+    :: SetMonitoringServiceRequest+setMonitoringServiceRequest =+  SetMonitoringServiceRequest'+    { _smsrZone = Nothing+    , _smsrName = Nothing+    , _smsrClusterId = Nothing+    , _smsrProjectId = Nothing+    , _smsrMonitoringService = Nothing+    }+++-- | Deprecated. The name of the Google Compute Engine+-- [zone](\/compute\/docs\/zones#available) in which the cluster resides.+-- This field has been deprecated and replaced by the name field.+smsrZone :: Lens' SetMonitoringServiceRequest (Maybe Text)+smsrZone = lens _smsrZone (\ s a -> s{_smsrZone = a})++-- | The name (project, location, cluster) of the cluster to set monitoring.+-- Specified in the format \'projects\/*\/locations\/*\/clusters\/*\'.+smsrName :: Lens' SetMonitoringServiceRequest (Maybe Text)+smsrName = lens _smsrName (\ s a -> s{_smsrName = a})++-- | Deprecated. The name of the cluster to upgrade. This field has been+-- deprecated and replaced by the name field.+smsrClusterId :: Lens' SetMonitoringServiceRequest (Maybe Text)+smsrClusterId+  = lens _smsrClusterId+      (\ s a -> s{_smsrClusterId = a})++-- | Deprecated. The Google Developers Console [project ID or project+-- number](https:\/\/support.google.com\/cloud\/answer\/6158840). This+-- field has been deprecated and replaced by the name field.+smsrProjectId :: Lens' SetMonitoringServiceRequest (Maybe Text)+smsrProjectId+  = lens _smsrProjectId+      (\ s a -> s{_smsrProjectId = a})++-- | The monitoring service the cluster should use to write metrics.+-- Currently available options: * \"monitoring.googleapis.com\" - the+-- Google Cloud Monitoring service * \"none\" - no metrics will be exported+-- from the cluster+smsrMonitoringService :: Lens' SetMonitoringServiceRequest (Maybe Text)+smsrMonitoringService+  = lens _smsrMonitoringService+      (\ s a -> s{_smsrMonitoringService = a})++instance FromJSON SetMonitoringServiceRequest where+        parseJSON+          = withObject "SetMonitoringServiceRequest"+              (\ o ->+                 SetMonitoringServiceRequest' <$>+                   (o .:? "zone") <*> (o .:? "name") <*>+                     (o .:? "clusterId")+                     <*> (o .:? "projectId")+                     <*> (o .:? "monitoringService"))++instance ToJSON SetMonitoringServiceRequest where+        toJSON SetMonitoringServiceRequest'{..}+          = object+              (catMaybes+                 [("zone" .=) <$> _smsrZone,+                  ("name" .=) <$> _smsrName,+                  ("clusterId" .=) <$> _smsrClusterId,+                  ("projectId" .=) <$> _smsrProjectId,+                  ("monitoringService" .=) <$> _smsrMonitoringService])++-- | SetLoggingServiceRequest sets the logging service of a cluster.+--+-- /See:/ 'setLoggingServiceRequest' smart constructor.+data SetLoggingServiceRequest =+  SetLoggingServiceRequest'+    { _slsrZone           :: !(Maybe Text)+    , _slsrName           :: !(Maybe Text)+    , _slsrClusterId      :: !(Maybe Text)+    , _slsrProjectId      :: !(Maybe Text)+    , _slsrLoggingService :: !(Maybe Text)+    }+  deriving (Eq, Show, Data, Typeable, Generic)+++-- | Creates a value of 'SetLoggingServiceRequest' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'slsrZone'+--+-- * 'slsrName'+--+-- * 'slsrClusterId'+--+-- * 'slsrProjectId'+--+-- * 'slsrLoggingService'+setLoggingServiceRequest+    :: SetLoggingServiceRequest+setLoggingServiceRequest =+  SetLoggingServiceRequest'+    { _slsrZone = Nothing+    , _slsrName = Nothing+    , _slsrClusterId = Nothing+    , _slsrProjectId = Nothing+    , _slsrLoggingService = Nothing+    }+++-- | Deprecated. The name of the Google Compute Engine+-- [zone](\/compute\/docs\/zones#available) in which the cluster resides.+-- This field has been deprecated and replaced by the name field.+slsrZone :: Lens' SetLoggingServiceRequest (Maybe Text)+slsrZone = lens _slsrZone (\ s a -> s{_slsrZone = a})++-- | The name (project, location, cluster) of the cluster to set logging.+-- Specified in the format \'projects\/*\/locations\/*\/clusters\/*\'.+slsrName :: Lens' SetLoggingServiceRequest (Maybe Text)+slsrName = lens _slsrName (\ s a -> s{_slsrName = a})++-- | Deprecated. The name of the cluster to upgrade. This field has been+-- deprecated and replaced by the name field.+slsrClusterId :: Lens' SetLoggingServiceRequest (Maybe Text)+slsrClusterId+  = lens _slsrClusterId+      (\ s a -> s{_slsrClusterId = a})++-- | Deprecated. The Google Developers Console [project ID or project+-- number](https:\/\/support.google.com\/cloud\/answer\/6158840). This+-- field has been deprecated and replaced by the name field.+slsrProjectId :: Lens' SetLoggingServiceRequest (Maybe Text)+slsrProjectId+  = lens _slsrProjectId+      (\ s a -> s{_slsrProjectId = a})++-- | The logging service the cluster should use to write metrics. Currently+-- available options: * \"logging.googleapis.com\" - the Google Cloud+-- Logging service * \"none\" - no metrics will be exported from the+-- cluster+slsrLoggingService :: Lens' SetLoggingServiceRequest (Maybe Text)+slsrLoggingService+  = lens _slsrLoggingService+      (\ s a -> s{_slsrLoggingService = a})++instance FromJSON SetLoggingServiceRequest where+        parseJSON+          = withObject "SetLoggingServiceRequest"+              (\ o ->+                 SetLoggingServiceRequest' <$>+                   (o .:? "zone") <*> (o .:? "name") <*>+                     (o .:? "clusterId")+                     <*> (o .:? "projectId")+                     <*> (o .:? "loggingService"))++instance ToJSON SetLoggingServiceRequest where+        toJSON SetLoggingServiceRequest'{..}+          = object+              (catMaybes+                 [("zone" .=) <$> _slsrZone,+                  ("name" .=) <$> _slsrName,+                  ("clusterId" .=) <$> _slsrClusterId,+                  ("projectId" .=) <$> _slsrProjectId,+                  ("loggingService" .=) <$> _slsrLoggingService])++-- | MaintenancePolicy defines the maintenance policy to be used for the+-- cluster.+--+-- /See:/ 'maintenancePolicy' smart constructor.+newtype MaintenancePolicy =+  MaintenancePolicy'+    { _mpWindow :: Maybe MaintenanceWindow+    }+  deriving (Eq, Show, Data, Typeable, Generic)+++-- | Creates a value of 'MaintenancePolicy' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'mpWindow'+maintenancePolicy+    :: MaintenancePolicy+maintenancePolicy = MaintenancePolicy' {_mpWindow = Nothing}+++-- | Specifies the maintenance window in which maintenance may be performed.+mpWindow :: Lens' MaintenancePolicy (Maybe MaintenanceWindow)+mpWindow = lens _mpWindow (\ s a -> s{_mpWindow = a})++instance FromJSON MaintenancePolicy where+        parseJSON+          = withObject "MaintenancePolicy"+              (\ o -> MaintenancePolicy' <$> (o .:? "window"))++instance ToJSON MaintenancePolicy where+        toJSON MaintenancePolicy'{..}+          = object (catMaybes [("window" .=) <$> _mpWindow])++-- | CidrBlock contains an optional name and one CIDR block.+--+-- /See:/ 'cIdRBlock' smart constructor.+data CIdRBlock =+  CIdRBlock'+    { _cirbCIdRBlock   :: !(Maybe Text)+    , _cirbDisplayName :: !(Maybe Text)+    }+  deriving (Eq, Show, Data, Typeable, Generic)+++-- | Creates a value of 'CIdRBlock' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'cirbCIdRBlock'+--+-- * 'cirbDisplayName'+cIdRBlock+    :: CIdRBlock+cIdRBlock = CIdRBlock' {_cirbCIdRBlock = Nothing, _cirbDisplayName = Nothing}+++-- | cidr_block must be specified in CIDR notation.+cirbCIdRBlock :: Lens' CIdRBlock (Maybe Text)+cirbCIdRBlock+  = lens _cirbCIdRBlock+      (\ s a -> s{_cirbCIdRBlock = a})++-- | display_name is an optional field for users to identify CIDR blocks.+cirbDisplayName :: Lens' CIdRBlock (Maybe Text)+cirbDisplayName+  = lens _cirbDisplayName+      (\ s a -> s{_cirbDisplayName = a})++instance FromJSON CIdRBlock where+        parseJSON+          = withObject "CIdRBlock"+              (\ o ->+                 CIdRBlock' <$>+                   (o .:? "cidrBlock") <*> (o .:? "displayName"))++instance ToJSON CIdRBlock where+        toJSON CIdRBlock'{..}+          = object+              (catMaybes+                 [("cidrBlock" .=) <$> _cirbCIdRBlock,+                  ("displayName" .=) <$> _cirbDisplayName])++-- | AcceleratorConfig represents a Hardware Accelerator request.+--+-- /See:/ 'acceleratorConfig' smart constructor.+data AcceleratorConfig =+  AcceleratorConfig'+    { _acAcceleratorCount :: !(Maybe (Textual Int64))+    , _acAcceleratorType  :: !(Maybe Text)+    }+  deriving (Eq, Show, Data, Typeable, Generic)+++-- | Creates a value of 'AcceleratorConfig' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'acAcceleratorCount'+--+-- * 'acAcceleratorType'+acceleratorConfig+    :: AcceleratorConfig+acceleratorConfig =+  AcceleratorConfig'+    {_acAcceleratorCount = Nothing, _acAcceleratorType = Nothing}+++-- | The number of the accelerator cards exposed to an instance.+acAcceleratorCount :: Lens' AcceleratorConfig (Maybe Int64)+acAcceleratorCount+  = lens _acAcceleratorCount+      (\ s a -> s{_acAcceleratorCount = a})+      . mapping _Coerce++-- | The accelerator type resource name. List of supported accelerators+-- [here](\/compute\/docs\/gpus\/#Introduction)+acAcceleratorType :: Lens' AcceleratorConfig (Maybe Text)+acAcceleratorType+  = lens _acAcceleratorType+      (\ s a -> s{_acAcceleratorType = a})++instance FromJSON AcceleratorConfig where+        parseJSON+          = withObject "AcceleratorConfig"+              (\ o ->+                 AcceleratorConfig' <$>+                   (o .:? "acceleratorCount") <*>+                     (o .:? "acceleratorType"))++instance ToJSON AcceleratorConfig where+        toJSON AcceleratorConfig'{..}+          = object+              (catMaybes+                 [("acceleratorCount" .=) <$> _acAcceleratorCount,+                  ("acceleratorType" .=) <$> _acAcceleratorType])++-- | SetLocationsRequest sets the locations of the cluster.+--+-- /See:/ 'setLocationsRequest' smart constructor.+data SetLocationsRequest =+  SetLocationsRequest'+    { _sZone      :: !(Maybe Text)+    , _sName      :: !(Maybe Text)+    , _sClusterId :: !(Maybe Text)+    , _sProjectId :: !(Maybe Text)+    , _sLocations :: !(Maybe [Text])+    }+  deriving (Eq, Show, Data, Typeable, Generic)+++-- | Creates a value of 'SetLocationsRequest' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'sZone'+--+-- * 'sName'+--+-- * 'sClusterId'+--+-- * 'sProjectId'+--+-- * 'sLocations'+setLocationsRequest+    :: SetLocationsRequest+setLocationsRequest =+  SetLocationsRequest'+    { _sZone = Nothing+    , _sName = Nothing+    , _sClusterId = Nothing+    , _sProjectId = Nothing+    , _sLocations = Nothing+    }+++-- | Deprecated. The name of the Google Compute Engine+-- [zone](\/compute\/docs\/zones#available) in which the cluster resides.+-- This field has been deprecated and replaced by the name field.+sZone :: Lens' SetLocationsRequest (Maybe Text)+sZone = lens _sZone (\ s a -> s{_sZone = a})++-- | The name (project, location, cluster) of the cluster to set locations.+-- Specified in the format \'projects\/*\/locations\/*\/clusters\/*\'.+sName :: Lens' SetLocationsRequest (Maybe Text)+sName = lens _sName (\ s a -> s{_sName = a})++-- | Deprecated. The name of the cluster to upgrade. This field has been+-- deprecated and replaced by the name field.+sClusterId :: Lens' SetLocationsRequest (Maybe Text)+sClusterId+  = lens _sClusterId (\ s a -> s{_sClusterId = a})++-- | Deprecated. The Google Developers Console [project ID or project+-- number](https:\/\/support.google.com\/cloud\/answer\/6158840). This+-- field has been deprecated and replaced by the name field.+sProjectId :: Lens' SetLocationsRequest (Maybe Text)+sProjectId+  = lens _sProjectId (\ s a -> s{_sProjectId = a})++-- | The desired list of Google Compute Engine+-- [zones](\/compute\/docs\/zones#available) in which the cluster\'s nodes+-- should be located. Changing the locations a cluster is in will result in+-- nodes being either created or removed from the cluster, depending on+-- whether locations are being added or removed. This list must always+-- include the cluster\'s primary zone.+sLocations :: Lens' SetLocationsRequest [Text]+sLocations+  = lens _sLocations (\ s a -> s{_sLocations = a}) .+      _Default+      . _Coerce++instance FromJSON SetLocationsRequest where+        parseJSON+          = withObject "SetLocationsRequest"+              (\ o ->+                 SetLocationsRequest' <$>+                   (o .:? "zone") <*> (o .:? "name") <*>+                     (o .:? "clusterId")+                     <*> (o .:? "projectId")+                     <*> (o .:? "locations" .!= mempty))++instance ToJSON SetLocationsRequest where+        toJSON SetLocationsRequest'{..}+          = object+              (catMaybes+                 [("zone" .=) <$> _sZone, ("name" .=) <$> _sName,+                  ("clusterId" .=) <$> _sClusterId,+                  ("projectId" .=) <$> _sProjectId,+                  ("locations" .=) <$> _sLocations])++-- | SetNetworkPolicyRequest enables\/disables network policy for a cluster.+--+-- /See:/ 'setNetworkPolicyRequest' smart constructor.+data SetNetworkPolicyRequest =+  SetNetworkPolicyRequest'+    { _snprZone          :: !(Maybe Text)+    , _snprName          :: !(Maybe Text)+    , _snprClusterId     :: !(Maybe Text)+    , _snprProjectId     :: !(Maybe Text)+    , _snprNetworkPolicy :: !(Maybe NetworkPolicy)+    }+  deriving (Eq, Show, Data, Typeable, Generic)+++-- | Creates a value of 'SetNetworkPolicyRequest' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'snprZone'+--+-- * 'snprName'+--+-- * 'snprClusterId'+--+-- * 'snprProjectId'+--+-- * 'snprNetworkPolicy'+setNetworkPolicyRequest+    :: SetNetworkPolicyRequest+setNetworkPolicyRequest =+  SetNetworkPolicyRequest'+    { _snprZone = Nothing+    , _snprName = Nothing+    , _snprClusterId = Nothing+    , _snprProjectId = Nothing+    , _snprNetworkPolicy = Nothing+    }+++-- | Deprecated. The name of the Google Compute Engine+-- [zone](\/compute\/docs\/zones#available) in which the cluster resides.+-- This field has been deprecated and replaced by the name field.+snprZone :: Lens' SetNetworkPolicyRequest (Maybe Text)+snprZone = lens _snprZone (\ s a -> s{_snprZone = a})++-- | The name (project, location, cluster id) of the cluster to set+-- networking policy. Specified in the format+-- \'projects\/*\/locations\/*\/clusters\/*\'.+snprName :: Lens' SetNetworkPolicyRequest (Maybe Text)+snprName = lens _snprName (\ s a -> s{_snprName = a})++-- | Deprecated. The name of the cluster. This field has been deprecated and+-- replaced by the name field.+snprClusterId :: Lens' SetNetworkPolicyRequest (Maybe Text)+snprClusterId+  = lens _snprClusterId+      (\ s a -> s{_snprClusterId = a})++-- | Deprecated. The Google Developers Console [project ID or project+-- number](https:\/\/developers.google.com\/console\/help\/new\/#projectnumber).+-- This field has been deprecated and replaced by the name field.+snprProjectId :: Lens' SetNetworkPolicyRequest (Maybe Text)+snprProjectId+  = lens _snprProjectId+      (\ s a -> s{_snprProjectId = a})++-- | Configuration options for the NetworkPolicy feature.+snprNetworkPolicy :: Lens' SetNetworkPolicyRequest (Maybe NetworkPolicy)+snprNetworkPolicy+  = lens _snprNetworkPolicy+      (\ s a -> s{_snprNetworkPolicy = a})++instance FromJSON SetNetworkPolicyRequest where+        parseJSON+          = withObject "SetNetworkPolicyRequest"+              (\ o ->+                 SetNetworkPolicyRequest' <$>+                   (o .:? "zone") <*> (o .:? "name") <*>+                     (o .:? "clusterId")+                     <*> (o .:? "projectId")+                     <*> (o .:? "networkPolicy"))++instance ToJSON SetNetworkPolicyRequest where+        toJSON SetNetworkPolicyRequest'{..}+          = object+              (catMaybes+                 [("zone" .=) <$> _snprZone,+                  ("name" .=) <$> _snprName,+                  ("clusterId" .=) <$> _snprClusterId,+                  ("projectId" .=) <$> _snprProjectId,+                  ("networkPolicy" .=) <$> _snprNetworkPolicy])++-- | Configuration options for private clusters.+--+-- /See:/ 'privateClusterConfig' smart constructor.+data PrivateClusterConfig =+  PrivateClusterConfig'+    { _pccEnablePrivateNodes    :: !(Maybe Bool)+    , _pccEnablePrivateEndpoint :: !(Maybe Bool)+    , _pccPublicEndpoint        :: !(Maybe Text)+    , _pccMasterIPv4CIdRBlock   :: !(Maybe Text)+    , _pccPrivateEndpoint       :: !(Maybe Text)+    }+  deriving (Eq, Show, Data, Typeable, Generic)+++-- | Creates a value of 'PrivateClusterConfig' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'pccEnablePrivateNodes'+--+-- * 'pccEnablePrivateEndpoint'+--+-- * 'pccPublicEndpoint'+--+-- * 'pccMasterIPv4CIdRBlock'+--+-- * 'pccPrivateEndpoint'+privateClusterConfig+    :: PrivateClusterConfig+privateClusterConfig =+  PrivateClusterConfig'+    { _pccEnablePrivateNodes = Nothing+    , _pccEnablePrivateEndpoint = Nothing+    , _pccPublicEndpoint = Nothing+    , _pccMasterIPv4CIdRBlock = Nothing+    , _pccPrivateEndpoint = Nothing+    }+++-- | Whether nodes have internal IP addresses only. If enabled, all nodes are+-- given only RFC 1918 private addresses and communicate with the master+-- via private networking.+pccEnablePrivateNodes :: Lens' PrivateClusterConfig (Maybe Bool)+pccEnablePrivateNodes+  = lens _pccEnablePrivateNodes+      (\ s a -> s{_pccEnablePrivateNodes = a})++-- | Whether the master\'s internal IP address is used as the cluster+-- endpoint.+pccEnablePrivateEndpoint :: Lens' PrivateClusterConfig (Maybe Bool)+pccEnablePrivateEndpoint+  = lens _pccEnablePrivateEndpoint+      (\ s a -> s{_pccEnablePrivateEndpoint = a})++-- | Output only. The external IP address of this cluster\'s master endpoint.+pccPublicEndpoint :: Lens' PrivateClusterConfig (Maybe Text)+pccPublicEndpoint+  = lens _pccPublicEndpoint+      (\ s a -> s{_pccPublicEndpoint = a})++-- | The IP range in CIDR notation to use for the hosted master network. This+-- range will be used for assigning internal IP addresses to the master or+-- set of masters, as well as the ILB VIP. This range must not overlap with+-- any other ranges in use within the cluster\'s network.+pccMasterIPv4CIdRBlock :: Lens' PrivateClusterConfig (Maybe Text)+pccMasterIPv4CIdRBlock+  = lens _pccMasterIPv4CIdRBlock+      (\ s a -> s{_pccMasterIPv4CIdRBlock = a})++-- | Output only. The internal IP address of this cluster\'s master endpoint.+pccPrivateEndpoint :: Lens' PrivateClusterConfig (Maybe Text)+pccPrivateEndpoint+  = lens _pccPrivateEndpoint+      (\ s a -> s{_pccPrivateEndpoint = a})++instance FromJSON PrivateClusterConfig where+        parseJSON+          = withObject "PrivateClusterConfig"+              (\ o ->+                 PrivateClusterConfig' <$>+                   (o .:? "enablePrivateNodes") <*>+                     (o .:? "enablePrivateEndpoint")+                     <*> (o .:? "publicEndpoint")+                     <*> (o .:? "masterIpv4CidrBlock")+                     <*> (o .:? "privateEndpoint"))++instance ToJSON PrivateClusterConfig where+        toJSON PrivateClusterConfig'{..}+          = object+              (catMaybes+                 [("enablePrivateNodes" .=) <$>+                    _pccEnablePrivateNodes,+                  ("enablePrivateEndpoint" .=) <$>+                    _pccEnablePrivateEndpoint,+                  ("publicEndpoint" .=) <$> _pccPublicEndpoint,+                  ("masterIpv4CidrBlock" .=) <$>+                    _pccMasterIPv4CIdRBlock,+                  ("privateEndpoint" .=) <$> _pccPrivateEndpoint])++-- | Time window specified for daily maintenance operations.+--+-- /See:/ 'dailyMaintenanceWindow' smart constructor.+data DailyMaintenanceWindow =+  DailyMaintenanceWindow'+    { _dmwStartTime :: !(Maybe Text)+    , _dmwDuration  :: !(Maybe Text)+    }+  deriving (Eq, Show, Data, Typeable, Generic)+++-- | Creates a value of 'DailyMaintenanceWindow' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'dmwStartTime'+--+-- * 'dmwDuration'+dailyMaintenanceWindow+    :: DailyMaintenanceWindow+dailyMaintenanceWindow =+  DailyMaintenanceWindow' {_dmwStartTime = Nothing, _dmwDuration = Nothing}+++-- | Time within the maintenance window to start the maintenance operations.+-- Time format should be in+-- [RFC3339](https:\/\/www.ietf.org\/rfc\/rfc3339.txt) format \"HH:MM”,+-- where HH : [00-23] and MM : [00-59] GMT.+dmwStartTime :: Lens' DailyMaintenanceWindow (Maybe Text)+dmwStartTime+  = lens _dmwStartTime (\ s a -> s{_dmwStartTime = a})++-- | [Output only] Duration of the time window, automatically chosen to be+-- smallest possible in the given scenario. Duration will be in+-- [RFC3339](https:\/\/www.ietf.org\/rfc\/rfc3339.txt) format \"PTnHnMnS\".+dmwDuration :: Lens' DailyMaintenanceWindow (Maybe Text)+dmwDuration+  = lens _dmwDuration (\ s a -> s{_dmwDuration = a})++instance FromJSON DailyMaintenanceWindow where+        parseJSON+          = withObject "DailyMaintenanceWindow"+              (\ o ->+                 DailyMaintenanceWindow' <$>+                   (o .:? "startTime") <*> (o .:? "duration"))++instance ToJSON DailyMaintenanceWindow where+        toJSON DailyMaintenanceWindow'{..}+          = object+              (catMaybes+                 [("startTime" .=) <$> _dmwStartTime,+                  ("duration" .=) <$> _dmwDuration])++-- | ListClustersResponse is the result of ListClustersRequest.+--+-- /See:/ 'listClustersResponse' smart constructor.+data ListClustersResponse =+  ListClustersResponse'+    { _lcrClusters     :: !(Maybe [Cluster])+    , _lcrMissingZones :: !(Maybe [Text])+    }+  deriving (Eq, Show, Data, Typeable, Generic)+++-- | Creates a value of 'ListClustersResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'lcrClusters'+--+-- * 'lcrMissingZones'+listClustersResponse+    :: ListClustersResponse+listClustersResponse =+  ListClustersResponse' {_lcrClusters = Nothing, _lcrMissingZones = Nothing}+++-- | A list of clusters in the project in the specified zone, or across all+-- ones.+lcrClusters :: Lens' ListClustersResponse [Cluster]+lcrClusters+  = lens _lcrClusters (\ s a -> s{_lcrClusters = a}) .+      _Default+      . _Coerce++-- | If any zones are listed here, the list of clusters returned may be+-- missing those zones.+lcrMissingZones :: Lens' ListClustersResponse [Text]+lcrMissingZones+  = lens _lcrMissingZones+      (\ s a -> s{_lcrMissingZones = a})+      . _Default+      . _Coerce++instance FromJSON ListClustersResponse where+        parseJSON+          = withObject "ListClustersResponse"+              (\ o ->+                 ListClustersResponse' <$>+                   (o .:? "clusters" .!= mempty) <*>+                     (o .:? "missingZones" .!= mempty))++instance ToJSON ListClustersResponse where+        toJSON ListClustersResponse'{..}+          = object+              (catMaybes+                 [("clusters" .=) <$> _lcrClusters,+                  ("missingZones" .=) <$> _lcrMissingZones])++-- | ClusterUpdate describes an update to the cluster. Exactly one update can+-- be applied to a cluster with each request, so at most one field can be+-- provided.+--+-- /See:/ 'clusterUpdate' smart constructor.+data ClusterUpdate =+  ClusterUpdate'+    { _cuDesiredNodePoolAutoscaling            :: !(Maybe NodePoolAutoscaling)+    , _cuDesiredAddonsConfig                   :: !(Maybe AddonsConfig)+    , _cuDesiredNodePoolId                     :: !(Maybe Text)+    , _cuDesiredMasterAuthorizedNetworksConfig :: !(Maybe MasterAuthorizedNetworksConfig)+    , _cuDesiredImageType                      :: !(Maybe Text)+    , _cuDesiredNodeVersion                    :: !(Maybe Text)+    , _cuDesiredMasterVersion                  :: !(Maybe Text)+    , _cuDesiredLocations                      :: !(Maybe [Text])+    , _cuDesiredMonitoringService              :: !(Maybe Text)+    }+  deriving (Eq, Show, Data, Typeable, Generic)+++-- | Creates a value of 'ClusterUpdate' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'cuDesiredNodePoolAutoscaling'+--+-- * 'cuDesiredAddonsConfig'+--+-- * 'cuDesiredNodePoolId'+--+-- * 'cuDesiredMasterAuthorizedNetworksConfig'+--+-- * 'cuDesiredImageType'+--+-- * 'cuDesiredNodeVersion'+--+-- * 'cuDesiredMasterVersion'+--+-- * 'cuDesiredLocations'+--+-- * 'cuDesiredMonitoringService'+clusterUpdate+    :: ClusterUpdate+clusterUpdate =+  ClusterUpdate'+    { _cuDesiredNodePoolAutoscaling = Nothing+    , _cuDesiredAddonsConfig = Nothing+    , _cuDesiredNodePoolId = Nothing+    , _cuDesiredMasterAuthorizedNetworksConfig = Nothing+    , _cuDesiredImageType = Nothing+    , _cuDesiredNodeVersion = Nothing+    , _cuDesiredMasterVersion = Nothing+    , _cuDesiredLocations = Nothing+    , _cuDesiredMonitoringService = Nothing+    }+++-- | Autoscaler configuration for the node pool specified in+-- desired_node_pool_id. If there is only one pool in the cluster and+-- desired_node_pool_id is not provided then the change applies to that+-- single node pool.+cuDesiredNodePoolAutoscaling :: Lens' ClusterUpdate (Maybe NodePoolAutoscaling)+cuDesiredNodePoolAutoscaling+  = lens _cuDesiredNodePoolAutoscaling+      (\ s a -> s{_cuDesiredNodePoolAutoscaling = a})++-- | Configurations for the various addons available to run in the cluster.+cuDesiredAddonsConfig :: Lens' ClusterUpdate (Maybe AddonsConfig)+cuDesiredAddonsConfig+  = lens _cuDesiredAddonsConfig+      (\ s a -> s{_cuDesiredAddonsConfig = a})++-- | The node pool to be upgraded. This field is mandatory if+-- \"desired_node_version\", \"desired_image_family\" or+-- \"desired_node_pool_autoscaling\" is specified and there is more than+-- one node pool on the cluster.+cuDesiredNodePoolId :: Lens' ClusterUpdate (Maybe Text)+cuDesiredNodePoolId+  = lens _cuDesiredNodePoolId+      (\ s a -> s{_cuDesiredNodePoolId = a})++-- | The desired configuration options for master authorized networks+-- feature.+cuDesiredMasterAuthorizedNetworksConfig :: Lens' ClusterUpdate (Maybe MasterAuthorizedNetworksConfig)+cuDesiredMasterAuthorizedNetworksConfig+  = lens _cuDesiredMasterAuthorizedNetworksConfig+      (\ s a ->+         s{_cuDesiredMasterAuthorizedNetworksConfig = a})++-- | The desired image type for the node pool. NOTE: Set the+-- \"desired_node_pool\" field as well.+cuDesiredImageType :: Lens' ClusterUpdate (Maybe Text)+cuDesiredImageType+  = lens _cuDesiredImageType+      (\ s a -> s{_cuDesiredImageType = a})++-- | The Kubernetes version to change the nodes to (typically an upgrade).+-- Users may specify either explicit versions offered by Kubernetes Engine+-- or version aliases, which have the following behavior: - \"latest\":+-- picks the highest valid Kubernetes version - \"1.X\": picks the highest+-- valid patch+gke.N patch in the 1.X version - \"1.X.Y\": picks the+-- highest valid gke.N patch in the 1.X.Y version - \"1.X.Y-gke.N\": picks+-- an explicit Kubernetes version - \"-\": picks the Kubernetes master+-- version+cuDesiredNodeVersion :: Lens' ClusterUpdate (Maybe Text)+cuDesiredNodeVersion+  = lens _cuDesiredNodeVersion+      (\ s a -> s{_cuDesiredNodeVersion = a})++-- | The Kubernetes version to change the master to. Users may specify either+-- explicit versions offered by Kubernetes Engine or version aliases, which+-- have the following behavior: - \"latest\": picks the highest valid+-- Kubernetes version - \"1.X\": picks the highest valid patch+gke.N patch+-- in the 1.X version - \"1.X.Y\": picks the highest valid gke.N patch in+-- the 1.X.Y version - \"1.X.Y-gke.N\": picks an explicit Kubernetes+-- version - \"-\": picks the default Kubernetes version+cuDesiredMasterVersion :: Lens' ClusterUpdate (Maybe Text)+cuDesiredMasterVersion+  = lens _cuDesiredMasterVersion+      (\ s a -> s{_cuDesiredMasterVersion = a})++-- | The desired list of Google Compute Engine+-- [zones](\/compute\/docs\/zones#available) in which the cluster\'s nodes+-- should be located. Changing the locations a cluster is in will result in+-- nodes being either created or removed from the cluster, depending on+-- whether locations are being added or removed. This list must always+-- include the cluster\'s primary zone.+cuDesiredLocations :: Lens' ClusterUpdate [Text]+cuDesiredLocations+  = lens _cuDesiredLocations+      (\ s a -> s{_cuDesiredLocations = a})+      . _Default+      . _Coerce++-- | The monitoring service the cluster should use to write metrics.+-- Currently available options: * \"monitoring.googleapis.com\" - the+-- Google Cloud Monitoring service * \"none\" - no metrics will be exported+-- from the cluster+cuDesiredMonitoringService :: Lens' ClusterUpdate (Maybe Text)+cuDesiredMonitoringService+  = lens _cuDesiredMonitoringService+      (\ s a -> s{_cuDesiredMonitoringService = a})++instance FromJSON ClusterUpdate where+        parseJSON+          = withObject "ClusterUpdate"+              (\ o ->+                 ClusterUpdate' <$>+                   (o .:? "desiredNodePoolAutoscaling") <*>+                     (o .:? "desiredAddonsConfig")+                     <*> (o .:? "desiredNodePoolId")+                     <*> (o .:? "desiredMasterAuthorizedNetworksConfig")+                     <*> (o .:? "desiredImageType")+                     <*> (o .:? "desiredNodeVersion")+                     <*> (o .:? "desiredMasterVersion")+                     <*> (o .:? "desiredLocations" .!= mempty)+                     <*> (o .:? "desiredMonitoringService"))++instance ToJSON ClusterUpdate where+        toJSON ClusterUpdate'{..}+          = object+              (catMaybes+                 [("desiredNodePoolAutoscaling" .=) <$>+                    _cuDesiredNodePoolAutoscaling,+                  ("desiredAddonsConfig" .=) <$>+                    _cuDesiredAddonsConfig,+                  ("desiredNodePoolId" .=) <$> _cuDesiredNodePoolId,+                  ("desiredMasterAuthorizedNetworksConfig" .=) <$>+                    _cuDesiredMasterAuthorizedNetworksConfig,+                  ("desiredImageType" .=) <$> _cuDesiredImageType,+                  ("desiredNodeVersion" .=) <$> _cuDesiredNodeVersion,+                  ("desiredMasterVersion" .=) <$>+                    _cuDesiredMasterVersion,+                  ("desiredLocations" .=) <$> _cuDesiredLocations,+                  ("desiredMonitoringService" .=) <$>+                    _cuDesiredMonitoringService])++-- | RollbackNodePoolUpgradeRequest rollbacks the previously Aborted or+-- Failed NodePool upgrade. This will be an no-op if the last upgrade+-- successfully completed.+--+-- /See:/ 'rollbackNodePoolUpgradeRequest' smart constructor.+data RollbackNodePoolUpgradeRequest =+  RollbackNodePoolUpgradeRequest'+    { _rnpurZone       :: !(Maybe Text)+    , _rnpurNodePoolId :: !(Maybe Text)+    , _rnpurName       :: !(Maybe Text)+    , _rnpurClusterId  :: !(Maybe Text)+    , _rnpurProjectId  :: !(Maybe Text)+    }+  deriving (Eq, Show, Data, Typeable, Generic)+++-- | Creates a value of 'RollbackNodePoolUpgradeRequest' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'rnpurZone'+--+-- * 'rnpurNodePoolId'+--+-- * 'rnpurName'+--+-- * 'rnpurClusterId'+--+-- * 'rnpurProjectId'+rollbackNodePoolUpgradeRequest+    :: RollbackNodePoolUpgradeRequest+rollbackNodePoolUpgradeRequest =+  RollbackNodePoolUpgradeRequest'+    { _rnpurZone = Nothing+    , _rnpurNodePoolId = Nothing+    , _rnpurName = Nothing+    , _rnpurClusterId = Nothing+    , _rnpurProjectId = Nothing+    }+++-- | Deprecated. The name of the Google Compute Engine+-- [zone](\/compute\/docs\/zones#available) in which the cluster resides.+-- This field has been deprecated and replaced by the name field.+rnpurZone :: Lens' RollbackNodePoolUpgradeRequest (Maybe Text)+rnpurZone+  = lens _rnpurZone (\ s a -> s{_rnpurZone = a})++-- | Deprecated. The name of the node pool to rollback. This field has been+-- deprecated and replaced by the name field.+rnpurNodePoolId :: Lens' RollbackNodePoolUpgradeRequest (Maybe Text)+rnpurNodePoolId+  = lens _rnpurNodePoolId+      (\ s a -> s{_rnpurNodePoolId = a})++-- | The name (project, location, cluster, node pool id) of the node poll to+-- rollback upgrade. Specified in the format+-- \'projects\/*\/locations\/*\/clusters\/*\/nodePools\/*\'.+rnpurName :: Lens' RollbackNodePoolUpgradeRequest (Maybe Text)+rnpurName+  = lens _rnpurName (\ s a -> s{_rnpurName = a})++-- | Deprecated. The name of the cluster to rollback. This field has been+-- deprecated and replaced by the name field.+rnpurClusterId :: Lens' RollbackNodePoolUpgradeRequest (Maybe Text)+rnpurClusterId+  = lens _rnpurClusterId+      (\ s a -> s{_rnpurClusterId = a})++-- | Deprecated. The Google Developers Console [project ID or project+-- number](https:\/\/support.google.com\/cloud\/answer\/6158840). This+-- field has been deprecated and replaced by the name field.+rnpurProjectId :: Lens' RollbackNodePoolUpgradeRequest (Maybe Text)+rnpurProjectId+  = lens _rnpurProjectId+      (\ s a -> s{_rnpurProjectId = a})++instance FromJSON RollbackNodePoolUpgradeRequest+         where+        parseJSON+          = withObject "RollbackNodePoolUpgradeRequest"+              (\ o ->+                 RollbackNodePoolUpgradeRequest' <$>+                   (o .:? "zone") <*> (o .:? "nodePoolId") <*>+                     (o .:? "name")+                     <*> (o .:? "clusterId")+                     <*> (o .:? "projectId"))++instance ToJSON RollbackNodePoolUpgradeRequest where+        toJSON RollbackNodePoolUpgradeRequest'{..}+          = object+              (catMaybes+                 [("zone" .=) <$> _rnpurZone,+                  ("nodePoolId" .=) <$> _rnpurNodePoolId,+                  ("name" .=) <$> _rnpurName,+                  ("clusterId" .=) <$> _rnpurClusterId,+                  ("projectId" .=) <$> _rnpurProjectId])++-- | Configuration options for the NetworkPolicy feature.+-- https:\/\/kubernetes.io\/docs\/concepts\/services-networking\/networkpolicies\/+--+-- /See:/ 'networkPolicy' smart constructor.+data NetworkPolicy =+  NetworkPolicy'+    { _npEnabled  :: !(Maybe Bool)+    , _npProvider :: !(Maybe NetworkPolicyProvider)+    }+  deriving (Eq, Show, Data, Typeable, Generic)+++-- | Creates a value of 'NetworkPolicy' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'npEnabled'+--+-- * 'npProvider'+networkPolicy+    :: NetworkPolicy+networkPolicy = NetworkPolicy' {_npEnabled = Nothing, _npProvider = Nothing}+++-- | Whether network policy is enabled on the cluster.+npEnabled :: Lens' NetworkPolicy (Maybe Bool)+npEnabled+  = lens _npEnabled (\ s a -> s{_npEnabled = a})++-- | The selected network policy provider.+npProvider :: Lens' NetworkPolicy (Maybe NetworkPolicyProvider)+npProvider+  = lens _npProvider (\ s a -> s{_npProvider = a})++instance FromJSON NetworkPolicy where+        parseJSON+          = withObject "NetworkPolicy"+              (\ o ->+                 NetworkPolicy' <$>+                   (o .:? "enabled") <*> (o .:? "provider"))++instance ToJSON NetworkPolicy where+        toJSON NetworkPolicy'{..}+          = object+              (catMaybes+                 [("enabled" .=) <$> _npEnabled,+                  ("provider" .=) <$> _npProvider])++-- | ListNodePoolsResponse is the result of ListNodePoolsRequest.+--+-- /See:/ 'listNodePoolsResponse' smart constructor.+newtype ListNodePoolsResponse =+  ListNodePoolsResponse'+    { _lnprNodePools :: Maybe [NodePool]+    }+  deriving (Eq, Show, Data, Typeable, Generic)+++-- | Creates a value of 'ListNodePoolsResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'lnprNodePools'+listNodePoolsResponse+    :: ListNodePoolsResponse+listNodePoolsResponse = ListNodePoolsResponse' {_lnprNodePools = Nothing}+++-- | A list of node pools for a cluster.+lnprNodePools :: Lens' ListNodePoolsResponse [NodePool]+lnprNodePools+  = lens _lnprNodePools+      (\ s a -> s{_lnprNodePools = a})+      . _Default+      . _Coerce++instance FromJSON ListNodePoolsResponse where+        parseJSON+          = withObject "ListNodePoolsResponse"+              (\ o ->+                 ListNodePoolsResponse' <$>+                   (o .:? "nodePools" .!= mempty))++instance ToJSON ListNodePoolsResponse where+        toJSON ListNodePoolsResponse'{..}+          = object+              (catMaybes [("nodePools" .=) <$> _lnprNodePools])++-- | GetJSONWebKeysResponse is a valid JSON Web Key Set as specififed in rfc+-- 7517+--+-- /See:/ 'getJSONWebKeysResponse' smart constructor.+newtype GetJSONWebKeysResponse =+  GetJSONWebKeysResponse'+    { _gjwkrKeys :: Maybe [JWK]+    }+  deriving (Eq, Show, Data, Typeable, Generic)+++-- | Creates a value of 'GetJSONWebKeysResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'gjwkrKeys'+getJSONWebKeysResponse+    :: GetJSONWebKeysResponse+getJSONWebKeysResponse = GetJSONWebKeysResponse' {_gjwkrKeys = Nothing}+++-- | The public component of the keys used by the cluster to sign token+-- requests.+gjwkrKeys :: Lens' GetJSONWebKeysResponse [JWK]+gjwkrKeys+  = lens _gjwkrKeys (\ s a -> s{_gjwkrKeys = a}) .+      _Default+      . _Coerce++instance FromJSON GetJSONWebKeysResponse where+        parseJSON+          = withObject "GetJSONWebKeysResponse"+              (\ o ->+                 GetJSONWebKeysResponse' <$>+                   (o .:? "keys" .!= mempty))++instance ToJSON GetJSONWebKeysResponse where+        toJSON GetJSONWebKeysResponse'{..}+          = object (catMaybes [("keys" .=) <$> _gjwkrKeys])++-- | CreateNodePoolRequest creates a node pool for a cluster.+--+-- /See:/ 'createNodePoolRequest' smart constructor.+data CreateNodePoolRequest =+  CreateNodePoolRequest'+    { _cnprParent    :: !(Maybe Text)+    , _cnprZone      :: !(Maybe Text)+    , _cnprNodePool  :: !(Maybe NodePool)+    , _cnprClusterId :: !(Maybe Text)+    , _cnprProjectId :: !(Maybe Text)+    }+  deriving (Eq, Show, Data, Typeable, Generic)+++-- | Creates a value of 'CreateNodePoolRequest' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'cnprParent'+--+-- * 'cnprZone'+--+-- * 'cnprNodePool'+--+-- * 'cnprClusterId'+--+-- * 'cnprProjectId'+createNodePoolRequest+    :: CreateNodePoolRequest+createNodePoolRequest =+  CreateNodePoolRequest'+    { _cnprParent = Nothing+    , _cnprZone = Nothing+    , _cnprNodePool = Nothing+    , _cnprClusterId = Nothing+    , _cnprProjectId = Nothing+    }+++-- | The parent (project, location, cluster id) where the node pool will be+-- created. Specified in the format+-- \'projects\/*\/locations\/*\/clusters\/*\'.+cnprParent :: Lens' CreateNodePoolRequest (Maybe Text)+cnprParent+  = lens _cnprParent (\ s a -> s{_cnprParent = a})++-- | Deprecated. The name of the Google Compute Engine+-- [zone](\/compute\/docs\/zones#available) in which the cluster resides.+-- This field has been deprecated and replaced by the parent field.+cnprZone :: Lens' CreateNodePoolRequest (Maybe Text)+cnprZone = lens _cnprZone (\ s a -> s{_cnprZone = a})++-- | The node pool to create.+cnprNodePool :: Lens' CreateNodePoolRequest (Maybe NodePool)+cnprNodePool+  = lens _cnprNodePool (\ s a -> s{_cnprNodePool = a})++-- | Deprecated. The name of the cluster. This field has been deprecated and+-- replaced by the parent field.+cnprClusterId :: Lens' CreateNodePoolRequest (Maybe Text)+cnprClusterId+  = lens _cnprClusterId+      (\ s a -> s{_cnprClusterId = a})++-- | Deprecated. The Google Developers Console [project ID or project+-- number](https:\/\/developers.google.com\/console\/help\/new\/#projectnumber).+-- This field has been deprecated and replaced by the parent field.+cnprProjectId :: Lens' CreateNodePoolRequest (Maybe Text)+cnprProjectId+  = lens _cnprProjectId+      (\ s a -> s{_cnprProjectId = a})++instance FromJSON CreateNodePoolRequest where+        parseJSON+          = withObject "CreateNodePoolRequest"+              (\ o ->+                 CreateNodePoolRequest' <$>+                   (o .:? "parent") <*> (o .:? "zone") <*>+                     (o .:? "nodePool")+                     <*> (o .:? "clusterId")+                     <*> (o .:? "projectId"))++instance ToJSON CreateNodePoolRequest where+        toJSON CreateNodePoolRequest'{..}+          = object+              (catMaybes+                 [("parent" .=) <$> _cnprParent,+                  ("zone" .=) <$> _cnprZone,+                  ("nodePool" .=) <$> _cnprNodePool,+                  ("clusterId" .=) <$> _cnprClusterId,+                  ("projectId" .=) <$> _cnprProjectId])++-- | The labels to set for that cluster.+--+-- /See:/ 'setLabelsRequestResourceLabels' smart constructor.+newtype SetLabelsRequestResourceLabels =+  SetLabelsRequestResourceLabels'+    { _slrrlAddtional :: HashMap Text Text+    }+  deriving (Eq, Show, Data, Typeable, Generic)+++-- | Creates a value of 'SetLabelsRequestResourceLabels' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'slrrlAddtional'+setLabelsRequestResourceLabels+    :: HashMap Text Text -- ^ 'slrrlAddtional'+    -> SetLabelsRequestResourceLabels+setLabelsRequestResourceLabels pSlrrlAddtional_ =+  SetLabelsRequestResourceLabels' {_slrrlAddtional = _Coerce # pSlrrlAddtional_}+  slrrlAddtional :: Lens' SetLabelsRequestResourceLabels (HashMap Text Text) slrrlAddtional
gen/Network/Google/Container/Types/Sum.hs view
@@ -18,22 +18,71 @@  import           Network.Google.Prelude hiding (Bytes) +-- | This field is to determine the status of the secondary range+-- programmably.+data UsableSubnetworkSecondaryRangeStatus+    = Unknown+      -- ^ @UNKNOWN@+      -- UNKNOWN is the zero value of the Status enum. It\'s not a valid status.+    | Unused+      -- ^ @UNUSED@+      -- UNUSED denotes that this range is unclaimed by any cluster.+    | InUseService+      -- ^ @IN_USE_SERVICE@+      -- IN_USE_SERVICE denotes that this range is claimed by a cluster for+      -- services. It cannot be used for other clusters.+    | InUseShareablePod+      -- ^ @IN_USE_SHAREABLE_POD@+      -- IN_USE_SHAREABLE_POD denotes this range was created by the network admin+      -- and is currently claimed by a cluster for pods. It can only be used by+      -- other clusters as a pod range.+    | InUseManagedPod+      -- ^ @IN_USE_MANAGED_POD@+      -- IN_USE_MANAGED_POD denotes this range was created by GKE and is claimed+      -- for pods. It cannot be used for other clusters.+      deriving (Eq, Ord, Enum, Read, Show, Data, Typeable, Generic)++instance Hashable UsableSubnetworkSecondaryRangeStatus++instance FromHttpApiData UsableSubnetworkSecondaryRangeStatus where+    parseQueryParam = \case+        "UNKNOWN" -> Right Unknown+        "UNUSED" -> Right Unused+        "IN_USE_SERVICE" -> Right InUseService+        "IN_USE_SHAREABLE_POD" -> Right InUseShareablePod+        "IN_USE_MANAGED_POD" -> Right InUseManagedPod+        x -> Left ("Unable to parse UsableSubnetworkSecondaryRangeStatus from: " <> x)++instance ToHttpApiData UsableSubnetworkSecondaryRangeStatus where+    toQueryParam = \case+        Unknown -> "UNKNOWN"+        Unused -> "UNUSED"+        InUseService -> "IN_USE_SERVICE"+        InUseShareablePod -> "IN_USE_SHAREABLE_POD"+        InUseManagedPod -> "IN_USE_MANAGED_POD"++instance FromJSON UsableSubnetworkSecondaryRangeStatus where+    parseJSON = parseJSONText "UsableSubnetworkSecondaryRangeStatus"++instance ToJSON UsableSubnetworkSecondaryRangeStatus where+    toJSON = toJSONText+ -- | Machine-friendly representation of the condition data StatusConditionCode-    = Unknown+    = SCCUnknown       -- ^ @UNKNOWN@       -- UNKNOWN indicates a generic condition.-    | GceStockout+    | SCCGceStockout       -- ^ @GCE_STOCKOUT@       -- GCE_STOCKOUT indicates a Google Compute Engine stockout.-    | GkeServiceAccountDeleted+    | SCCGkeServiceAccountDeleted       -- ^ @GKE_SERVICE_ACCOUNT_DELETED@       -- GKE_SERVICE_ACCOUNT_DELETED indicates that the user deleted their robot       -- service account.-    | GceQuotaExceeded+    | SCCGceQuotaExceeded       -- ^ @GCE_QUOTA_EXCEEDED@       -- Google Compute Engine quota was exceeded.-    | SetByOperator+    | SCCSetByOperator       -- ^ @SET_BY_OPERATOR@       -- Cluster state was manually changed by an SRE due to a system logic       -- error. More codes TBA@@ -43,20 +92,20 @@  instance FromHttpApiData StatusConditionCode where     parseQueryParam = \case-        "UNKNOWN" -> Right Unknown-        "GCE_STOCKOUT" -> Right GceStockout-        "GKE_SERVICE_ACCOUNT_DELETED" -> Right GkeServiceAccountDeleted-        "GCE_QUOTA_EXCEEDED" -> Right GceQuotaExceeded-        "SET_BY_OPERATOR" -> Right SetByOperator+        "UNKNOWN" -> Right SCCUnknown+        "GCE_STOCKOUT" -> Right SCCGceStockout+        "GKE_SERVICE_ACCOUNT_DELETED" -> Right SCCGkeServiceAccountDeleted+        "GCE_QUOTA_EXCEEDED" -> Right SCCGceQuotaExceeded+        "SET_BY_OPERATOR" -> Right SCCSetByOperator         x -> Left ("Unable to parse StatusConditionCode from: " <> x)  instance ToHttpApiData StatusConditionCode where     toQueryParam = \case-        Unknown -> "UNKNOWN"-        GceStockout -> "GCE_STOCKOUT"-        GkeServiceAccountDeleted -> "GKE_SERVICE_ACCOUNT_DELETED"-        GceQuotaExceeded -> "GCE_QUOTA_EXCEEDED"-        SetByOperator -> "SET_BY_OPERATOR"+        SCCUnknown -> "UNKNOWN"+        SCCGceStockout -> "GCE_STOCKOUT"+        SCCGkeServiceAccountDeleted -> "GKE_SERVICE_ACCOUNT_DELETED"+        SCCGceQuotaExceeded -> "GCE_QUOTA_EXCEEDED"+        SCCSetByOperator -> "SET_BY_OPERATOR"  instance FromJSON StatusConditionCode where     parseJSON = parseJSONText "StatusConditionCode"
+ gen/Network/Google/Resource/Container/Projects/Aggregated/UsableSubnetworks/List.hs view
@@ -0,0 +1,209 @@+{-# LANGUAGE DataKinds          #-}+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric      #-}+{-# LANGUAGE FlexibleInstances  #-}+{-# LANGUAGE NoImplicitPrelude  #-}+{-# LANGUAGE OverloadedStrings  #-}+{-# LANGUAGE RecordWildCards    #-}+{-# LANGUAGE TypeFamilies       #-}+{-# LANGUAGE TypeOperators      #-}++{-# OPTIONS_GHC -fno-warn-duplicate-exports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds      #-}+{-# OPTIONS_GHC -fno-warn-unused-imports    #-}++-- |+-- Module      : Network.Google.Resource.Container.Projects.Aggregated.UsableSubnetworks.List+-- Copyright   : (c) 2015-2016 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Lists subnetworks that are usable for creating clusters in a project.+--+-- /See:/ <https://cloud.google.com/container-engine/ Kubernetes Engine API Reference> for @container.projects.aggregated.usableSubnetworks.list@.+module Network.Google.Resource.Container.Projects.Aggregated.UsableSubnetworks.List+    (+    -- * REST Resource+      ProjectsAggregatedUsableSubnetworksListResource++    -- * Creating a Request+    , projectsAggregatedUsableSubnetworksList+    , ProjectsAggregatedUsableSubnetworksList++    -- * Request Lenses+    , pauslParent+    , pauslXgafv+    , pauslUploadProtocol+    , pauslAccessToken+    , pauslUploadType+    , pauslFilter+    , pauslPageToken+    , pauslPageSize+    , pauslCallback+    ) where++import           Network.Google.Container.Types+import           Network.Google.Prelude++-- | A resource alias for @container.projects.aggregated.usableSubnetworks.list@ method which the+-- 'ProjectsAggregatedUsableSubnetworksList' request conforms to.+type ProjectsAggregatedUsableSubnetworksListResource+     =+     "v1" :>+       Capture "parent" Text :>+         "aggregated" :>+           "usableSubnetworks" :>+             QueryParam "$.xgafv" Xgafv :>+               QueryParam "upload_protocol" Text :>+                 QueryParam "access_token" Text :>+                   QueryParam "uploadType" Text :>+                     QueryParam "filter" Text :>+                       QueryParam "pageToken" Text :>+                         QueryParam "pageSize" (Textual Int32) :>+                           QueryParam "callback" Text :>+                             QueryParam "alt" AltJSON :>+                               Get '[JSON] ListUsableSubnetworksResponse++-- | Lists subnetworks that are usable for creating clusters in a project.+--+-- /See:/ 'projectsAggregatedUsableSubnetworksList' smart constructor.+data ProjectsAggregatedUsableSubnetworksList =+  ProjectsAggregatedUsableSubnetworksList'+    { _pauslParent         :: !Text+    , _pauslXgafv          :: !(Maybe Xgafv)+    , _pauslUploadProtocol :: !(Maybe Text)+    , _pauslAccessToken    :: !(Maybe Text)+    , _pauslUploadType     :: !(Maybe Text)+    , _pauslFilter         :: !(Maybe Text)+    , _pauslPageToken      :: !(Maybe Text)+    , _pauslPageSize       :: !(Maybe (Textual Int32))+    , _pauslCallback       :: !(Maybe Text)+    }+  deriving (Eq, Show, Data, Typeable, Generic)+++-- | Creates a value of 'ProjectsAggregatedUsableSubnetworksList' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'pauslParent'+--+-- * 'pauslXgafv'+--+-- * 'pauslUploadProtocol'+--+-- * 'pauslAccessToken'+--+-- * 'pauslUploadType'+--+-- * 'pauslFilter'+--+-- * 'pauslPageToken'+--+-- * 'pauslPageSize'+--+-- * 'pauslCallback'+projectsAggregatedUsableSubnetworksList+    :: Text -- ^ 'pauslParent'+    -> ProjectsAggregatedUsableSubnetworksList+projectsAggregatedUsableSubnetworksList pPauslParent_ =+  ProjectsAggregatedUsableSubnetworksList'+    { _pauslParent = pPauslParent_+    , _pauslXgafv = Nothing+    , _pauslUploadProtocol = Nothing+    , _pauslAccessToken = Nothing+    , _pauslUploadType = Nothing+    , _pauslFilter = Nothing+    , _pauslPageToken = Nothing+    , _pauslPageSize = Nothing+    , _pauslCallback = Nothing+    }+++-- | The parent project where subnetworks are usable. Specified in the format+-- \'projects\/*\'.+pauslParent :: Lens' ProjectsAggregatedUsableSubnetworksList Text+pauslParent+  = lens _pauslParent (\ s a -> s{_pauslParent = a})++-- | V1 error format.+pauslXgafv :: Lens' ProjectsAggregatedUsableSubnetworksList (Maybe Xgafv)+pauslXgafv+  = lens _pauslXgafv (\ s a -> s{_pauslXgafv = a})++-- | Upload protocol for media (e.g. \"raw\", \"multipart\").+pauslUploadProtocol :: Lens' ProjectsAggregatedUsableSubnetworksList (Maybe Text)+pauslUploadProtocol+  = lens _pauslUploadProtocol+      (\ s a -> s{_pauslUploadProtocol = a})++-- | OAuth access token.+pauslAccessToken :: Lens' ProjectsAggregatedUsableSubnetworksList (Maybe Text)+pauslAccessToken+  = lens _pauslAccessToken+      (\ s a -> s{_pauslAccessToken = a})++-- | Legacy upload protocol for media (e.g. \"media\", \"multipart\").+pauslUploadType :: Lens' ProjectsAggregatedUsableSubnetworksList (Maybe Text)+pauslUploadType+  = lens _pauslUploadType+      (\ s a -> s{_pauslUploadType = a})++-- | Filtering currently only supports equality on the networkProjectId and+-- must be in the form: \"networkProjectId=[PROJECTID]\", where+-- \`networkProjectId\` is the project which owns the listed subnetworks.+-- This defaults to the parent project ID.+pauslFilter :: Lens' ProjectsAggregatedUsableSubnetworksList (Maybe Text)+pauslFilter+  = lens _pauslFilter (\ s a -> s{_pauslFilter = a})++-- | Specifies a page token to use. Set this to the nextPageToken returned by+-- previous list requests to get the next page of results.+pauslPageToken :: Lens' ProjectsAggregatedUsableSubnetworksList (Maybe Text)+pauslPageToken+  = lens _pauslPageToken+      (\ s a -> s{_pauslPageToken = a})++-- | The max number of results per page that should be returned. If the+-- number of available results is larger than \`page_size\`, a+-- \`next_page_token\` is returned which can be used to get the next page+-- of results in subsequent requests. Acceptable values are 0 to 500,+-- inclusive. (Default: 500)+pauslPageSize :: Lens' ProjectsAggregatedUsableSubnetworksList (Maybe Int32)+pauslPageSize+  = lens _pauslPageSize+      (\ s a -> s{_pauslPageSize = a})+      . mapping _Coerce++-- | JSONP+pauslCallback :: Lens' ProjectsAggregatedUsableSubnetworksList (Maybe Text)+pauslCallback+  = lens _pauslCallback+      (\ s a -> s{_pauslCallback = a})++instance GoogleRequest+           ProjectsAggregatedUsableSubnetworksList+         where+        type Rs ProjectsAggregatedUsableSubnetworksList =+             ListUsableSubnetworksResponse+        type Scopes ProjectsAggregatedUsableSubnetworksList =+             '["https://www.googleapis.com/auth/cloud-platform"]+        requestClient+          ProjectsAggregatedUsableSubnetworksList'{..}+          = go _pauslParent _pauslXgafv _pauslUploadProtocol+              _pauslAccessToken+              _pauslUploadType+              _pauslFilter+              _pauslPageToken+              _pauslPageSize+              _pauslCallback+              (Just AltJSON)+              containerService+          where go+                  = buildClient+                      (Proxy ::+                         Proxy+                           ProjectsAggregatedUsableSubnetworksListResource)+                      mempty
gen/Network/Google/Resource/Container/Projects/Locations/Clusters/CompleteIPRotation.hs view
@@ -63,7 +63,8 @@ -- | Completes master IP rotation. -- -- /See:/ 'projectsLocationsClustersCompleteIPRotation' smart constructor.-data ProjectsLocationsClustersCompleteIPRotation = ProjectsLocationsClustersCompleteIPRotation'+data ProjectsLocationsClustersCompleteIPRotation =+  ProjectsLocationsClustersCompleteIPRotation'     { _plccirXgafv          :: !(Maybe Xgafv)     , _plccirUploadProtocol :: !(Maybe Text)     , _plccirAccessToken    :: !(Maybe Text)@@ -71,8 +72,10 @@     , _plccirPayload        :: !CompleteIPRotationRequest     , _plccirName           :: !Text     , _plccirCallback       :: !(Maybe Text)-    } deriving (Eq,Show,Data,Typeable,Generic)+    }+  deriving (Eq, Show, Data, Typeable, Generic) + -- | Creates a value of 'ProjectsLocationsClustersCompleteIPRotation' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired:@@ -95,7 +98,7 @@     -> Text -- ^ 'plccirName'     -> ProjectsLocationsClustersCompleteIPRotation projectsLocationsClustersCompleteIPRotation pPlccirPayload_ pPlccirName_ =-    ProjectsLocationsClustersCompleteIPRotation'+  ProjectsLocationsClustersCompleteIPRotation'     { _plccirXgafv = Nothing     , _plccirUploadProtocol = Nothing     , _plccirAccessToken = Nothing@@ -105,6 +108,7 @@     , _plccirCallback = Nothing     } + -- | V1 error format. plccirXgafv :: Lens' ProjectsLocationsClustersCompleteIPRotation (Maybe Xgafv) plccirXgafv@@ -148,7 +152,8 @@       (\ s a -> s{_plccirCallback = a})  instance GoogleRequest-         ProjectsLocationsClustersCompleteIPRotation where+           ProjectsLocationsClustersCompleteIPRotation+         where         type Rs ProjectsLocationsClustersCompleteIPRotation =              Operation         type Scopes
gen/Network/Google/Resource/Container/Projects/Locations/Clusters/Create.hs view
@@ -24,11 +24,11 @@ -- Compute Engine instances. By default, the cluster is created in the -- project\'s [default -- network](\/compute\/docs\/networks-and-firewalls#networks). One firewall--- is added for the cluster. After cluster creation, the cluster creates+-- is added for the cluster. After cluster creation, the Kubelet creates -- routes for each node to allow the containers on that node to communicate -- with all other instances in the cluster. Finally, an entry is added to--- the project\'s global metadata indicating which CIDR range is being used--- by the cluster.+-- the project\'s global metadata indicating which CIDR range the cluster+-- is using. -- -- /See:/ <https://cloud.google.com/container-engine/ Kubernetes Engine API Reference> for @container.projects.locations.clusters.create@. module Network.Google.Resource.Container.Projects.Locations.Clusters.Create@@ -72,14 +72,15 @@ -- Compute Engine instances. By default, the cluster is created in the -- project\'s [default -- network](\/compute\/docs\/networks-and-firewalls#networks). One firewall--- is added for the cluster. After cluster creation, the cluster creates+-- is added for the cluster. After cluster creation, the Kubelet creates -- routes for each node to allow the containers on that node to communicate -- with all other instances in the cluster. Finally, an entry is added to--- the project\'s global metadata indicating which CIDR range is being used--- by the cluster.+-- the project\'s global metadata indicating which CIDR range the cluster+-- is using. -- -- /See:/ 'projectsLocationsClustersCreate' smart constructor.-data ProjectsLocationsClustersCreate = ProjectsLocationsClustersCreate'+data ProjectsLocationsClustersCreate =+  ProjectsLocationsClustersCreate'     { _plccParent         :: !Text     , _plccXgafv          :: !(Maybe Xgafv)     , _plccUploadProtocol :: !(Maybe Text)@@ -87,8 +88,10 @@     , _plccUploadType     :: !(Maybe Text)     , _plccPayload        :: !CreateClusterRequest     , _plccCallback       :: !(Maybe Text)-    } deriving (Eq,Show,Data,Typeable,Generic)+    }+  deriving (Eq, Show, Data, Typeable, Generic) + -- | Creates a value of 'ProjectsLocationsClustersCreate' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired:@@ -111,7 +114,7 @@     -> CreateClusterRequest -- ^ 'plccPayload'     -> ProjectsLocationsClustersCreate projectsLocationsClustersCreate pPlccParent_ pPlccPayload_ =-    ProjectsLocationsClustersCreate'+  ProjectsLocationsClustersCreate'     { _plccParent = pPlccParent_     , _plccXgafv = Nothing     , _plccUploadProtocol = Nothing@@ -121,6 +124,7 @@     , _plccCallback = Nothing     } + -- | The parent (project and location) where the cluster will be created. -- Specified in the format \'projects\/*\/locations\/*\'. plccParent :: Lens' ProjectsLocationsClustersCreate Text@@ -161,7 +165,8 @@   = lens _plccCallback (\ s a -> s{_plccCallback = a})  instance GoogleRequest-         ProjectsLocationsClustersCreate where+           ProjectsLocationsClustersCreate+         where         type Rs ProjectsLocationsClustersCreate = Operation         type Scopes ProjectsLocationsClustersCreate =              '["https://www.googleapis.com/auth/cloud-platform"]
gen/Network/Google/Resource/Container/Projects/Locations/Clusters/Delete.hs view
@@ -23,8 +23,8 @@ -- Deletes the cluster, including the Kubernetes endpoint and all worker -- nodes. Firewalls and routes that were configured during cluster creation -- are also deleted. Other Google Compute Engine resources that might be in--- use by the cluster (e.g. load balancer resources) will not be deleted if--- they weren\'t present at the initial create time.+-- use by the cluster, such as load balancer resources, are not deleted if+-- they weren\'t present when the cluster was initially created. -- -- /See:/ <https://cloud.google.com/container-engine/ Kubernetes Engine API Reference> for @container.projects.locations.clusters.delete@. module Network.Google.Resource.Container.Projects.Locations.Clusters.Delete@@ -69,11 +69,12 @@ -- | Deletes the cluster, including the Kubernetes endpoint and all worker -- nodes. Firewalls and routes that were configured during cluster creation -- are also deleted. Other Google Compute Engine resources that might be in--- use by the cluster (e.g. load balancer resources) will not be deleted if--- they weren\'t present at the initial create time.+-- use by the cluster, such as load balancer resources, are not deleted if+-- they weren\'t present when the cluster was initially created. -- -- /See:/ 'projectsLocationsClustersDelete' smart constructor.-data ProjectsLocationsClustersDelete = ProjectsLocationsClustersDelete'+data ProjectsLocationsClustersDelete =+  ProjectsLocationsClustersDelete'     { _plcdXgafv          :: !(Maybe Xgafv)     , _plcdUploadProtocol :: !(Maybe Text)     , _plcdAccessToken    :: !(Maybe Text)@@ -83,8 +84,10 @@     , _plcdClusterId      :: !(Maybe Text)     , _plcdProjectId      :: !(Maybe Text)     , _plcdCallback       :: !(Maybe Text)-    } deriving (Eq,Show,Data,Typeable,Generic)+    }+  deriving (Eq, Show, Data, Typeable, Generic) + -- | Creates a value of 'ProjectsLocationsClustersDelete' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired:@@ -110,7 +113,7 @@     :: Text -- ^ 'plcdName'     -> ProjectsLocationsClustersDelete projectsLocationsClustersDelete pPlcdName_ =-    ProjectsLocationsClustersDelete'+  ProjectsLocationsClustersDelete'     { _plcdXgafv = Nothing     , _plcdUploadProtocol = Nothing     , _plcdAccessToken = Nothing@@ -122,6 +125,7 @@     , _plcdCallback = Nothing     } + -- | V1 error format. plcdXgafv :: Lens' ProjectsLocationsClustersDelete (Maybe Xgafv) plcdXgafv@@ -177,7 +181,8 @@   = lens _plcdCallback (\ s a -> s{_plcdCallback = a})  instance GoogleRequest-         ProjectsLocationsClustersDelete where+           ProjectsLocationsClustersDelete+         where         type Rs ProjectsLocationsClustersDelete = Operation         type Scopes ProjectsLocationsClustersDelete =              '["https://www.googleapis.com/auth/cloud-platform"]
gen/Network/Google/Resource/Container/Projects/Locations/Clusters/Get.hs view
@@ -65,7 +65,8 @@ -- | Gets the details of a specific cluster. -- -- /See:/ 'projectsLocationsClustersGet' smart constructor.-data ProjectsLocationsClustersGet = ProjectsLocationsClustersGet'+data ProjectsLocationsClustersGet =+  ProjectsLocationsClustersGet'     { _plcgXgafv          :: !(Maybe Xgafv)     , _plcgUploadProtocol :: !(Maybe Text)     , _plcgAccessToken    :: !(Maybe Text)@@ -75,8 +76,10 @@     , _plcgClusterId      :: !(Maybe Text)     , _plcgProjectId      :: !(Maybe Text)     , _plcgCallback       :: !(Maybe Text)-    } deriving (Eq,Show,Data,Typeable,Generic)+    }+  deriving (Eq, Show, Data, Typeable, Generic) + -- | Creates a value of 'ProjectsLocationsClustersGet' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired:@@ -102,7 +105,7 @@     :: Text -- ^ 'plcgName'     -> ProjectsLocationsClustersGet projectsLocationsClustersGet pPlcgName_ =-    ProjectsLocationsClustersGet'+  ProjectsLocationsClustersGet'     { _plcgXgafv = Nothing     , _plcgUploadProtocol = Nothing     , _plcgAccessToken = Nothing@@ -113,6 +116,7 @@     , _plcgProjectId = Nothing     , _plcgCallback = Nothing     }+  -- | V1 error format. plcgXgafv :: Lens' ProjectsLocationsClustersGet (Maybe Xgafv)
+ gen/Network/Google/Resource/Container/Projects/Locations/Clusters/GetJWKs.hs view
@@ -0,0 +1,162 @@+{-# LANGUAGE DataKinds          #-}+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric      #-}+{-# LANGUAGE FlexibleInstances  #-}+{-# LANGUAGE NoImplicitPrelude  #-}+{-# LANGUAGE OverloadedStrings  #-}+{-# LANGUAGE RecordWildCards    #-}+{-# LANGUAGE TypeFamilies       #-}+{-# LANGUAGE TypeOperators      #-}++{-# OPTIONS_GHC -fno-warn-duplicate-exports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds      #-}+{-# OPTIONS_GHC -fno-warn-unused-imports    #-}++-- |+-- Module      : Network.Google.Resource.Container.Projects.Locations.Clusters.GetJWKs+-- Copyright   : (c) 2015-2016 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Gets the public component of the cluster signing keys in JSON Web Key+-- format. This API is not yet intended for general use, and is not+-- available for all clusters.+--+-- /See:/ <https://cloud.google.com/container-engine/ Kubernetes Engine API Reference> for @container.projects.locations.clusters.getJwks@.+module Network.Google.Resource.Container.Projects.Locations.Clusters.GetJWKs+    (+    -- * REST Resource+      ProjectsLocationsClustersGetJWKsResource++    -- * Creating a Request+    , projectsLocationsClustersGetJWKs+    , ProjectsLocationsClustersGetJWKs++    -- * Request Lenses+    , plcgjParent+    , plcgjXgafv+    , plcgjUploadProtocol+    , plcgjAccessToken+    , plcgjUploadType+    , plcgjCallback+    ) where++import           Network.Google.Container.Types+import           Network.Google.Prelude++-- | A resource alias for @container.projects.locations.clusters.getJwks@ method which the+-- 'ProjectsLocationsClustersGetJWKs' request conforms to.+type ProjectsLocationsClustersGetJWKsResource =+     "v1" :>+       Capture "parent" Text :>+         "jwks" :>+           QueryParam "$.xgafv" Xgafv :>+             QueryParam "upload_protocol" Text :>+               QueryParam "access_token" Text :>+                 QueryParam "uploadType" Text :>+                   QueryParam "callback" Text :>+                     QueryParam "alt" AltJSON :>+                       Get '[JSON] GetJSONWebKeysResponse++-- | Gets the public component of the cluster signing keys in JSON Web Key+-- format. This API is not yet intended for general use, and is not+-- available for all clusters.+--+-- /See:/ 'projectsLocationsClustersGetJWKs' smart constructor.+data ProjectsLocationsClustersGetJWKs =+  ProjectsLocationsClustersGetJWKs'+    { _plcgjParent         :: !Text+    , _plcgjXgafv          :: !(Maybe Xgafv)+    , _plcgjUploadProtocol :: !(Maybe Text)+    , _plcgjAccessToken    :: !(Maybe Text)+    , _plcgjUploadType     :: !(Maybe Text)+    , _plcgjCallback       :: !(Maybe Text)+    }+  deriving (Eq, Show, Data, Typeable, Generic)+++-- | Creates a value of 'ProjectsLocationsClustersGetJWKs' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'plcgjParent'+--+-- * 'plcgjXgafv'+--+-- * 'plcgjUploadProtocol'+--+-- * 'plcgjAccessToken'+--+-- * 'plcgjUploadType'+--+-- * 'plcgjCallback'+projectsLocationsClustersGetJWKs+    :: Text -- ^ 'plcgjParent'+    -> ProjectsLocationsClustersGetJWKs+projectsLocationsClustersGetJWKs pPlcgjParent_ =+  ProjectsLocationsClustersGetJWKs'+    { _plcgjParent = pPlcgjParent_+    , _plcgjXgafv = Nothing+    , _plcgjUploadProtocol = Nothing+    , _plcgjAccessToken = Nothing+    , _plcgjUploadType = Nothing+    , _plcgjCallback = Nothing+    }+++-- | The cluster (project, location, cluster id) to get keys for. Specified+-- in the format \'projects\/*\/locations\/*\/clusters\/*\'.+plcgjParent :: Lens' ProjectsLocationsClustersGetJWKs Text+plcgjParent+  = lens _plcgjParent (\ s a -> s{_plcgjParent = a})++-- | V1 error format.+plcgjXgafv :: Lens' ProjectsLocationsClustersGetJWKs (Maybe Xgafv)+plcgjXgafv+  = lens _plcgjXgafv (\ s a -> s{_plcgjXgafv = a})++-- | Upload protocol for media (e.g. \"raw\", \"multipart\").+plcgjUploadProtocol :: Lens' ProjectsLocationsClustersGetJWKs (Maybe Text)+plcgjUploadProtocol+  = lens _plcgjUploadProtocol+      (\ s a -> s{_plcgjUploadProtocol = a})++-- | OAuth access token.+plcgjAccessToken :: Lens' ProjectsLocationsClustersGetJWKs (Maybe Text)+plcgjAccessToken+  = lens _plcgjAccessToken+      (\ s a -> s{_plcgjAccessToken = a})++-- | Legacy upload protocol for media (e.g. \"media\", \"multipart\").+plcgjUploadType :: Lens' ProjectsLocationsClustersGetJWKs (Maybe Text)+plcgjUploadType+  = lens _plcgjUploadType+      (\ s a -> s{_plcgjUploadType = a})++-- | JSONP+plcgjCallback :: Lens' ProjectsLocationsClustersGetJWKs (Maybe Text)+plcgjCallback+  = lens _plcgjCallback+      (\ s a -> s{_plcgjCallback = a})++instance GoogleRequest+           ProjectsLocationsClustersGetJWKs+         where+        type Rs ProjectsLocationsClustersGetJWKs =+             GetJSONWebKeysResponse+        type Scopes ProjectsLocationsClustersGetJWKs =+             '["https://www.googleapis.com/auth/cloud-platform"]+        requestClient ProjectsLocationsClustersGetJWKs'{..}+          = go _plcgjParent _plcgjXgafv _plcgjUploadProtocol+              _plcgjAccessToken+              _plcgjUploadType+              _plcgjCallback+              (Just AltJSON)+              containerService+          where go+                  = buildClient+                      (Proxy ::+                         Proxy ProjectsLocationsClustersGetJWKsResource)+                      mempty
gen/Network/Google/Resource/Container/Projects/Locations/Clusters/List.hs view
@@ -67,7 +67,8 @@ -- all zones. -- -- /See:/ 'projectsLocationsClustersList' smart constructor.-data ProjectsLocationsClustersList = ProjectsLocationsClustersList'+data ProjectsLocationsClustersList =+  ProjectsLocationsClustersList'     { _plclParent         :: !Text     , _plclXgafv          :: !(Maybe Xgafv)     , _plclUploadProtocol :: !(Maybe Text)@@ -76,8 +77,10 @@     , _plclZone           :: !(Maybe Text)     , _plclProjectId      :: !(Maybe Text)     , _plclCallback       :: !(Maybe Text)-    } deriving (Eq,Show,Data,Typeable,Generic)+    }+  deriving (Eq, Show, Data, Typeable, Generic) + -- | Creates a value of 'ProjectsLocationsClustersList' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired:@@ -101,7 +104,7 @@     :: Text -- ^ 'plclParent'     -> ProjectsLocationsClustersList projectsLocationsClustersList pPlclParent_ =-    ProjectsLocationsClustersList'+  ProjectsLocationsClustersList'     { _plclParent = pPlclParent_     , _plclXgafv = Nothing     , _plclUploadProtocol = Nothing@@ -111,6 +114,7 @@     , _plclProjectId = Nothing     , _plclCallback = Nothing     }+  -- | The parent (project and location) where the clusters will be listed. -- Specified in the format \'projects\/*\/locations\/*\'. Location \"-\"
gen/Network/Google/Resource/Container/Projects/Locations/Clusters/NodePools/Create.hs view
@@ -64,7 +64,8 @@ -- | Creates a node pool for a cluster. -- -- /See:/ 'projectsLocationsClustersNodePoolsCreate' smart constructor.-data ProjectsLocationsClustersNodePoolsCreate = ProjectsLocationsClustersNodePoolsCreate'+data ProjectsLocationsClustersNodePoolsCreate =+  ProjectsLocationsClustersNodePoolsCreate'     { _plcnpcParent         :: !Text     , _plcnpcXgafv          :: !(Maybe Xgafv)     , _plcnpcUploadProtocol :: !(Maybe Text)@@ -72,8 +73,10 @@     , _plcnpcUploadType     :: !(Maybe Text)     , _plcnpcPayload        :: !CreateNodePoolRequest     , _plcnpcCallback       :: !(Maybe Text)-    } deriving (Eq,Show,Data,Typeable,Generic)+    }+  deriving (Eq, Show, Data, Typeable, Generic) + -- | Creates a value of 'ProjectsLocationsClustersNodePoolsCreate' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired:@@ -96,7 +99,7 @@     -> CreateNodePoolRequest -- ^ 'plcnpcPayload'     -> ProjectsLocationsClustersNodePoolsCreate projectsLocationsClustersNodePoolsCreate pPlcnpcParent_ pPlcnpcPayload_ =-    ProjectsLocationsClustersNodePoolsCreate'+  ProjectsLocationsClustersNodePoolsCreate'     { _plcnpcParent = pPlcnpcParent_     , _plcnpcXgafv = Nothing     , _plcnpcUploadProtocol = Nothing@@ -106,6 +109,7 @@     , _plcnpcCallback = Nothing     } + -- | The parent (project, location, cluster id) where the node pool will be -- created. Specified in the format -- \'projects\/*\/locations\/*\/clusters\/*\'.@@ -149,7 +153,8 @@       (\ s a -> s{_plcnpcCallback = a})  instance GoogleRequest-         ProjectsLocationsClustersNodePoolsCreate where+           ProjectsLocationsClustersNodePoolsCreate+         where         type Rs ProjectsLocationsClustersNodePoolsCreate =              Operation         type Scopes ProjectsLocationsClustersNodePoolsCreate
gen/Network/Google/Resource/Container/Projects/Locations/Clusters/NodePools/Delete.hs view
@@ -68,7 +68,8 @@ -- | Deletes a node pool from a cluster. -- -- /See:/ 'projectsLocationsClustersNodePoolsDelete' smart constructor.-data ProjectsLocationsClustersNodePoolsDelete = ProjectsLocationsClustersNodePoolsDelete'+data ProjectsLocationsClustersNodePoolsDelete =+  ProjectsLocationsClustersNodePoolsDelete'     { _plcnpdXgafv          :: !(Maybe Xgafv)     , _plcnpdUploadProtocol :: !(Maybe Text)     , _plcnpdAccessToken    :: !(Maybe Text)@@ -79,8 +80,10 @@     , _plcnpdClusterId      :: !(Maybe Text)     , _plcnpdProjectId      :: !(Maybe Text)     , _plcnpdCallback       :: !(Maybe Text)-    } deriving (Eq,Show,Data,Typeable,Generic)+    }+  deriving (Eq, Show, Data, Typeable, Generic) + -- | Creates a value of 'ProjectsLocationsClustersNodePoolsDelete' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired:@@ -108,7 +111,7 @@     :: Text -- ^ 'plcnpdName'     -> ProjectsLocationsClustersNodePoolsDelete projectsLocationsClustersNodePoolsDelete pPlcnpdName_ =-    ProjectsLocationsClustersNodePoolsDelete'+  ProjectsLocationsClustersNodePoolsDelete'     { _plcnpdXgafv = Nothing     , _plcnpdUploadProtocol = Nothing     , _plcnpdAccessToken = Nothing@@ -121,6 +124,7 @@     , _plcnpdCallback = Nothing     } + -- | V1 error format. plcnpdXgafv :: Lens' ProjectsLocationsClustersNodePoolsDelete (Maybe Xgafv) plcnpdXgafv@@ -187,7 +191,8 @@       (\ s a -> s{_plcnpdCallback = a})  instance GoogleRequest-         ProjectsLocationsClustersNodePoolsDelete where+           ProjectsLocationsClustersNodePoolsDelete+         where         type Rs ProjectsLocationsClustersNodePoolsDelete =              Operation         type Scopes ProjectsLocationsClustersNodePoolsDelete
gen/Network/Google/Resource/Container/Projects/Locations/Clusters/NodePools/Get.hs view
@@ -20,7 +20,7 @@ -- Stability   : auto-generated -- Portability : non-portable (GHC extensions) ----- Retrieves the node pool requested.+-- Retrieves the requested node pool. -- -- /See:/ <https://cloud.google.com/container-engine/ Kubernetes Engine API Reference> for @container.projects.locations.clusters.nodePools.get@. module Network.Google.Resource.Container.Projects.Locations.Clusters.NodePools.Get@@ -64,10 +64,11 @@                          QueryParam "callback" Text :>                            QueryParam "alt" AltJSON :> Get '[JSON] NodePool --- | Retrieves the node pool requested.+-- | Retrieves the requested node pool. -- -- /See:/ 'projectsLocationsClustersNodePoolsGet' smart constructor.-data ProjectsLocationsClustersNodePoolsGet = ProjectsLocationsClustersNodePoolsGet'+data ProjectsLocationsClustersNodePoolsGet =+  ProjectsLocationsClustersNodePoolsGet'     { _plcnpgXgafv          :: !(Maybe Xgafv)     , _plcnpgUploadProtocol :: !(Maybe Text)     , _plcnpgAccessToken    :: !(Maybe Text)@@ -78,8 +79,10 @@     , _plcnpgClusterId      :: !(Maybe Text)     , _plcnpgProjectId      :: !(Maybe Text)     , _plcnpgCallback       :: !(Maybe Text)-    } deriving (Eq,Show,Data,Typeable,Generic)+    }+  deriving (Eq, Show, Data, Typeable, Generic) + -- | Creates a value of 'ProjectsLocationsClustersNodePoolsGet' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired:@@ -107,7 +110,7 @@     :: Text -- ^ 'plcnpgName'     -> ProjectsLocationsClustersNodePoolsGet projectsLocationsClustersNodePoolsGet pPlcnpgName_ =-    ProjectsLocationsClustersNodePoolsGet'+  ProjectsLocationsClustersNodePoolsGet'     { _plcnpgXgafv = Nothing     , _plcnpgUploadProtocol = Nothing     , _plcnpgAccessToken = Nothing@@ -120,6 +123,7 @@     , _plcnpgCallback = Nothing     } + -- | V1 error format. plcnpgXgafv :: Lens' ProjectsLocationsClustersNodePoolsGet (Maybe Xgafv) plcnpgXgafv@@ -186,7 +190,8 @@       (\ s a -> s{_plcnpgCallback = a})  instance GoogleRequest-         ProjectsLocationsClustersNodePoolsGet where+           ProjectsLocationsClustersNodePoolsGet+         where         type Rs ProjectsLocationsClustersNodePoolsGet =              NodePool         type Scopes ProjectsLocationsClustersNodePoolsGet =
gen/Network/Google/Resource/Container/Projects/Locations/Clusters/NodePools/List.hs view
@@ -67,7 +67,8 @@ -- | Lists the node pools for a cluster. -- -- /See:/ 'projectsLocationsClustersNodePoolsList' smart constructor.-data ProjectsLocationsClustersNodePoolsList = ProjectsLocationsClustersNodePoolsList'+data ProjectsLocationsClustersNodePoolsList =+  ProjectsLocationsClustersNodePoolsList'     { _plcnplParent         :: !Text     , _plcnplXgafv          :: !(Maybe Xgafv)     , _plcnplUploadProtocol :: !(Maybe Text)@@ -77,8 +78,10 @@     , _plcnplClusterId      :: !(Maybe Text)     , _plcnplProjectId      :: !(Maybe Text)     , _plcnplCallback       :: !(Maybe Text)-    } deriving (Eq,Show,Data,Typeable,Generic)+    }+  deriving (Eq, Show, Data, Typeable, Generic) + -- | Creates a value of 'ProjectsLocationsClustersNodePoolsList' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired:@@ -104,7 +107,7 @@     :: Text -- ^ 'plcnplParent'     -> ProjectsLocationsClustersNodePoolsList projectsLocationsClustersNodePoolsList pPlcnplParent_ =-    ProjectsLocationsClustersNodePoolsList'+  ProjectsLocationsClustersNodePoolsList'     { _plcnplParent = pPlcnplParent_     , _plcnplXgafv = Nothing     , _plcnplUploadProtocol = Nothing@@ -116,6 +119,7 @@     , _plcnplCallback = Nothing     } + -- | The parent (project, location, cluster id) where the node pools will be -- listed. Specified in the format -- \'projects\/*\/locations\/*\/clusters\/*\'.@@ -175,7 +179,8 @@       (\ s a -> s{_plcnplCallback = a})  instance GoogleRequest-         ProjectsLocationsClustersNodePoolsList where+           ProjectsLocationsClustersNodePoolsList+         where         type Rs ProjectsLocationsClustersNodePoolsList =              ListNodePoolsResponse         type Scopes ProjectsLocationsClustersNodePoolsList =
gen/Network/Google/Resource/Container/Projects/Locations/Clusters/NodePools/Rollback.hs view
@@ -20,8 +20,8 @@ -- Stability   : auto-generated -- Portability : non-portable (GHC extensions) ----- Roll back the previously Aborted or Failed NodePool upgrade. This will--- be an no-op if the last upgrade successfully completed.+-- Rolls back a previously Aborted or Failed NodePool upgrade. This makes+-- no changes if the last upgrade successfully completed. -- -- /See:/ <https://cloud.google.com/container-engine/ Kubernetes Engine API Reference> for @container.projects.locations.clusters.nodePools.rollback@. module Network.Google.Resource.Container.Projects.Locations.Clusters.NodePools.Rollback@@ -61,11 +61,12 @@                      ReqBody '[JSON] RollbackNodePoolUpgradeRequest :>                        Post '[JSON] Operation --- | Roll back the previously Aborted or Failed NodePool upgrade. This will--- be an no-op if the last upgrade successfully completed.+-- | Rolls back a previously Aborted or Failed NodePool upgrade. This makes+-- no changes if the last upgrade successfully completed. -- -- /See:/ 'projectsLocationsClustersNodePoolsRollback' smart constructor.-data ProjectsLocationsClustersNodePoolsRollback = ProjectsLocationsClustersNodePoolsRollback'+data ProjectsLocationsClustersNodePoolsRollback =+  ProjectsLocationsClustersNodePoolsRollback'     { _plcnprXgafv          :: !(Maybe Xgafv)     , _plcnprUploadProtocol :: !(Maybe Text)     , _plcnprAccessToken    :: !(Maybe Text)@@ -73,8 +74,10 @@     , _plcnprPayload        :: !RollbackNodePoolUpgradeRequest     , _plcnprName           :: !Text     , _plcnprCallback       :: !(Maybe Text)-    } deriving (Eq,Show,Data,Typeable,Generic)+    }+  deriving (Eq, Show, Data, Typeable, Generic) + -- | Creates a value of 'ProjectsLocationsClustersNodePoolsRollback' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired:@@ -97,7 +100,7 @@     -> Text -- ^ 'plcnprName'     -> ProjectsLocationsClustersNodePoolsRollback projectsLocationsClustersNodePoolsRollback pPlcnprPayload_ pPlcnprName_ =-    ProjectsLocationsClustersNodePoolsRollback'+  ProjectsLocationsClustersNodePoolsRollback'     { _plcnprXgafv = Nothing     , _plcnprUploadProtocol = Nothing     , _plcnprAccessToken = Nothing@@ -107,6 +110,7 @@     , _plcnprCallback = Nothing     } + -- | V1 error format. plcnprXgafv :: Lens' ProjectsLocationsClustersNodePoolsRollback (Maybe Xgafv) plcnprXgafv@@ -150,7 +154,8 @@       (\ s a -> s{_plcnprCallback = a})  instance GoogleRequest-         ProjectsLocationsClustersNodePoolsRollback where+           ProjectsLocationsClustersNodePoolsRollback+         where         type Rs ProjectsLocationsClustersNodePoolsRollback =              Operation         type Scopes
gen/Network/Google/Resource/Container/Projects/Locations/Clusters/NodePools/SetAutoscaling.hs view
@@ -20,7 +20,7 @@ -- Stability   : auto-generated -- Portability : non-portable (GHC extensions) ----- Sets the autoscaling settings for a specific node pool.+-- Sets the autoscaling settings for the specified node pool. -- -- /See:/ <https://cloud.google.com/container-engine/ Kubernetes Engine API Reference> for @container.projects.locations.clusters.nodePools.setAutoscaling@. module Network.Google.Resource.Container.Projects.Locations.Clusters.NodePools.SetAutoscaling@@ -60,10 +60,11 @@                      ReqBody '[JSON] SetNodePoolAutoscalingRequest :>                        Post '[JSON] Operation --- | Sets the autoscaling settings for a specific node pool.+-- | Sets the autoscaling settings for the specified node pool. -- -- /See:/ 'projectsLocationsClustersNodePoolsSetAutoscaling' smart constructor.-data ProjectsLocationsClustersNodePoolsSetAutoscaling = ProjectsLocationsClustersNodePoolsSetAutoscaling'+data ProjectsLocationsClustersNodePoolsSetAutoscaling =+  ProjectsLocationsClustersNodePoolsSetAutoscaling'     { _plcnpsaXgafv          :: !(Maybe Xgafv)     , _plcnpsaUploadProtocol :: !(Maybe Text)     , _plcnpsaAccessToken    :: !(Maybe Text)@@ -71,8 +72,10 @@     , _plcnpsaPayload        :: !SetNodePoolAutoscalingRequest     , _plcnpsaName           :: !Text     , _plcnpsaCallback       :: !(Maybe Text)-    } deriving (Eq,Show,Data,Typeable,Generic)+    }+  deriving (Eq, Show, Data, Typeable, Generic) + -- | Creates a value of 'ProjectsLocationsClustersNodePoolsSetAutoscaling' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired:@@ -95,7 +98,7 @@     -> Text -- ^ 'plcnpsaName'     -> ProjectsLocationsClustersNodePoolsSetAutoscaling projectsLocationsClustersNodePoolsSetAutoscaling pPlcnpsaPayload_ pPlcnpsaName_ =-    ProjectsLocationsClustersNodePoolsSetAutoscaling'+  ProjectsLocationsClustersNodePoolsSetAutoscaling'     { _plcnpsaXgafv = Nothing     , _plcnpsaUploadProtocol = Nothing     , _plcnpsaAccessToken = Nothing@@ -105,6 +108,7 @@     , _plcnpsaCallback = Nothing     } + -- | V1 error format. plcnpsaXgafv :: Lens' ProjectsLocationsClustersNodePoolsSetAutoscaling (Maybe Xgafv) plcnpsaXgafv@@ -148,7 +152,7 @@       (\ s a -> s{_plcnpsaCallback = a})  instance GoogleRequest-         ProjectsLocationsClustersNodePoolsSetAutoscaling+           ProjectsLocationsClustersNodePoolsSetAutoscaling          where         type Rs                ProjectsLocationsClustersNodePoolsSetAutoscaling
gen/Network/Google/Resource/Container/Projects/Locations/Clusters/NodePools/SetManagement.hs view
@@ -63,7 +63,8 @@ -- | Sets the NodeManagement options for a node pool. -- -- /See:/ 'projectsLocationsClustersNodePoolsSetManagement' smart constructor.-data ProjectsLocationsClustersNodePoolsSetManagement = ProjectsLocationsClustersNodePoolsSetManagement'+data ProjectsLocationsClustersNodePoolsSetManagement =+  ProjectsLocationsClustersNodePoolsSetManagement'     { _plcnpsmXgafv          :: !(Maybe Xgafv)     , _plcnpsmUploadProtocol :: !(Maybe Text)     , _plcnpsmAccessToken    :: !(Maybe Text)@@ -71,8 +72,10 @@     , _plcnpsmPayload        :: !SetNodePoolManagementRequest     , _plcnpsmName           :: !Text     , _plcnpsmCallback       :: !(Maybe Text)-    } deriving (Eq,Show,Data,Typeable,Generic)+    }+  deriving (Eq, Show, Data, Typeable, Generic) + -- | Creates a value of 'ProjectsLocationsClustersNodePoolsSetManagement' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired:@@ -95,7 +98,7 @@     -> Text -- ^ 'plcnpsmName'     -> ProjectsLocationsClustersNodePoolsSetManagement projectsLocationsClustersNodePoolsSetManagement pPlcnpsmPayload_ pPlcnpsmName_ =-    ProjectsLocationsClustersNodePoolsSetManagement'+  ProjectsLocationsClustersNodePoolsSetManagement'     { _plcnpsmXgafv = Nothing     , _plcnpsmUploadProtocol = Nothing     , _plcnpsmAccessToken = Nothing@@ -105,6 +108,7 @@     , _plcnpsmCallback = Nothing     } + -- | V1 error format. plcnpsmXgafv :: Lens' ProjectsLocationsClustersNodePoolsSetManagement (Maybe Xgafv) plcnpsmXgafv@@ -148,7 +152,8 @@       (\ s a -> s{_plcnpsmCallback = a})  instance GoogleRequest-         ProjectsLocationsClustersNodePoolsSetManagement where+           ProjectsLocationsClustersNodePoolsSetManagement+         where         type Rs                ProjectsLocationsClustersNodePoolsSetManagement              = Operation
gen/Network/Google/Resource/Container/Projects/Locations/Clusters/NodePools/SetSize.hs view
@@ -63,7 +63,8 @@ -- | Sets the size for a specific node pool. -- -- /See:/ 'projectsLocationsClustersNodePoolsSetSize' smart constructor.-data ProjectsLocationsClustersNodePoolsSetSize = ProjectsLocationsClustersNodePoolsSetSize'+data ProjectsLocationsClustersNodePoolsSetSize =+  ProjectsLocationsClustersNodePoolsSetSize'     { _plcnpssXgafv          :: !(Maybe Xgafv)     , _plcnpssUploadProtocol :: !(Maybe Text)     , _plcnpssAccessToken    :: !(Maybe Text)@@ -71,8 +72,10 @@     , _plcnpssPayload        :: !SetNodePoolSizeRequest     , _plcnpssName           :: !Text     , _plcnpssCallback       :: !(Maybe Text)-    } deriving (Eq,Show,Data,Typeable,Generic)+    }+  deriving (Eq, Show, Data, Typeable, Generic) + -- | Creates a value of 'ProjectsLocationsClustersNodePoolsSetSize' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired:@@ -95,7 +98,7 @@     -> Text -- ^ 'plcnpssName'     -> ProjectsLocationsClustersNodePoolsSetSize projectsLocationsClustersNodePoolsSetSize pPlcnpssPayload_ pPlcnpssName_ =-    ProjectsLocationsClustersNodePoolsSetSize'+  ProjectsLocationsClustersNodePoolsSetSize'     { _plcnpssXgafv = Nothing     , _plcnpssUploadProtocol = Nothing     , _plcnpssAccessToken = Nothing@@ -105,6 +108,7 @@     , _plcnpssCallback = Nothing     } + -- | V1 error format. plcnpssXgafv :: Lens' ProjectsLocationsClustersNodePoolsSetSize (Maybe Xgafv) plcnpssXgafv@@ -148,7 +152,8 @@       (\ s a -> s{_plcnpssCallback = a})  instance GoogleRequest-         ProjectsLocationsClustersNodePoolsSetSize where+           ProjectsLocationsClustersNodePoolsSetSize+         where         type Rs ProjectsLocationsClustersNodePoolsSetSize =              Operation         type Scopes ProjectsLocationsClustersNodePoolsSetSize
gen/Network/Google/Resource/Container/Projects/Locations/Clusters/NodePools/Update.hs view
@@ -20,7 +20,7 @@ -- Stability   : auto-generated -- Portability : non-portable (GHC extensions) ----- Updates the version and\/or image type for a specific node pool.+-- Updates the version and\/or image type for the specified node pool. -- -- /See:/ <https://cloud.google.com/container-engine/ Kubernetes Engine API Reference> for @container.projects.locations.clusters.nodePools.update@. module Network.Google.Resource.Container.Projects.Locations.Clusters.NodePools.Update@@ -60,10 +60,11 @@                      ReqBody '[JSON] UpdateNodePoolRequest :>                        Put '[JSON] Operation --- | Updates the version and\/or image type for a specific node pool.+-- | Updates the version and\/or image type for the specified node pool. -- -- /See:/ 'projectsLocationsClustersNodePoolsUpdate' smart constructor.-data ProjectsLocationsClustersNodePoolsUpdate = ProjectsLocationsClustersNodePoolsUpdate'+data ProjectsLocationsClustersNodePoolsUpdate =+  ProjectsLocationsClustersNodePoolsUpdate'     { _plcnpuXgafv          :: !(Maybe Xgafv)     , _plcnpuUploadProtocol :: !(Maybe Text)     , _plcnpuAccessToken    :: !(Maybe Text)@@ -71,8 +72,10 @@     , _plcnpuPayload        :: !UpdateNodePoolRequest     , _plcnpuName           :: !Text     , _plcnpuCallback       :: !(Maybe Text)-    } deriving (Eq,Show,Data,Typeable,Generic)+    }+  deriving (Eq, Show, Data, Typeable, Generic) + -- | Creates a value of 'ProjectsLocationsClustersNodePoolsUpdate' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired:@@ -95,7 +98,7 @@     -> Text -- ^ 'plcnpuName'     -> ProjectsLocationsClustersNodePoolsUpdate projectsLocationsClustersNodePoolsUpdate pPlcnpuPayload_ pPlcnpuName_ =-    ProjectsLocationsClustersNodePoolsUpdate'+  ProjectsLocationsClustersNodePoolsUpdate'     { _plcnpuXgafv = Nothing     , _plcnpuUploadProtocol = Nothing     , _plcnpuAccessToken = Nothing@@ -105,6 +108,7 @@     , _plcnpuCallback = Nothing     } + -- | V1 error format. plcnpuXgafv :: Lens' ProjectsLocationsClustersNodePoolsUpdate (Maybe Xgafv) plcnpuXgafv@@ -148,7 +152,8 @@       (\ s a -> s{_plcnpuCallback = a})  instance GoogleRequest-         ProjectsLocationsClustersNodePoolsUpdate where+           ProjectsLocationsClustersNodePoolsUpdate+         where         type Rs ProjectsLocationsClustersNodePoolsUpdate =              Operation         type Scopes ProjectsLocationsClustersNodePoolsUpdate
gen/Network/Google/Resource/Container/Projects/Locations/Clusters/SetAddons.hs view
@@ -62,7 +62,8 @@ -- | Sets the addons for a specific cluster. -- -- /See:/ 'projectsLocationsClustersSetAddons' smart constructor.-data ProjectsLocationsClustersSetAddons = ProjectsLocationsClustersSetAddons'+data ProjectsLocationsClustersSetAddons =+  ProjectsLocationsClustersSetAddons'     { _plcsaXgafv          :: !(Maybe Xgafv)     , _plcsaUploadProtocol :: !(Maybe Text)     , _plcsaAccessToken    :: !(Maybe Text)@@ -70,8 +71,10 @@     , _plcsaPayload        :: !SetAddonsConfigRequest     , _plcsaName           :: !Text     , _plcsaCallback       :: !(Maybe Text)-    } deriving (Eq,Show,Data,Typeable,Generic)+    }+  deriving (Eq, Show, Data, Typeable, Generic) + -- | Creates a value of 'ProjectsLocationsClustersSetAddons' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired:@@ -94,7 +97,7 @@     -> Text -- ^ 'plcsaName'     -> ProjectsLocationsClustersSetAddons projectsLocationsClustersSetAddons pPlcsaPayload_ pPlcsaName_ =-    ProjectsLocationsClustersSetAddons'+  ProjectsLocationsClustersSetAddons'     { _plcsaXgafv = Nothing     , _plcsaUploadProtocol = Nothing     , _plcsaAccessToken = Nothing@@ -104,6 +107,7 @@     , _plcsaCallback = Nothing     } + -- | V1 error format. plcsaXgafv :: Lens' ProjectsLocationsClustersSetAddons (Maybe Xgafv) plcsaXgafv@@ -145,7 +149,8 @@       (\ s a -> s{_plcsaCallback = a})  instance GoogleRequest-         ProjectsLocationsClustersSetAddons where+           ProjectsLocationsClustersSetAddons+         where         type Rs ProjectsLocationsClustersSetAddons =              Operation         type Scopes ProjectsLocationsClustersSetAddons =
gen/Network/Google/Resource/Container/Projects/Locations/Clusters/SetLegacyAbac.hs view
@@ -62,7 +62,8 @@ -- | Enables or disables the ABAC authorization mechanism on a cluster. -- -- /See:/ 'projectsLocationsClustersSetLegacyAbac' smart constructor.-data ProjectsLocationsClustersSetLegacyAbac = ProjectsLocationsClustersSetLegacyAbac'+data ProjectsLocationsClustersSetLegacyAbac =+  ProjectsLocationsClustersSetLegacyAbac'     { _plcslaXgafv          :: !(Maybe Xgafv)     , _plcslaUploadProtocol :: !(Maybe Text)     , _plcslaAccessToken    :: !(Maybe Text)@@ -70,8 +71,10 @@     , _plcslaPayload        :: !SetLegacyAbacRequest     , _plcslaName           :: !Text     , _plcslaCallback       :: !(Maybe Text)-    } deriving (Eq,Show,Data,Typeable,Generic)+    }+  deriving (Eq, Show, Data, Typeable, Generic) + -- | Creates a value of 'ProjectsLocationsClustersSetLegacyAbac' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired:@@ -94,7 +97,7 @@     -> Text -- ^ 'plcslaName'     -> ProjectsLocationsClustersSetLegacyAbac projectsLocationsClustersSetLegacyAbac pPlcslaPayload_ pPlcslaName_ =-    ProjectsLocationsClustersSetLegacyAbac'+  ProjectsLocationsClustersSetLegacyAbac'     { _plcslaXgafv = Nothing     , _plcslaUploadProtocol = Nothing     , _plcslaAccessToken = Nothing@@ -104,6 +107,7 @@     , _plcslaCallback = Nothing     } + -- | V1 error format. plcslaXgafv :: Lens' ProjectsLocationsClustersSetLegacyAbac (Maybe Xgafv) plcslaXgafv@@ -147,7 +151,8 @@       (\ s a -> s{_plcslaCallback = a})  instance GoogleRequest-         ProjectsLocationsClustersSetLegacyAbac where+           ProjectsLocationsClustersSetLegacyAbac+         where         type Rs ProjectsLocationsClustersSetLegacyAbac =              Operation         type Scopes ProjectsLocationsClustersSetLegacyAbac =
gen/Network/Google/Resource/Container/Projects/Locations/Clusters/SetLocations.hs view
@@ -62,7 +62,8 @@ -- | Sets the locations for a specific cluster. -- -- /See:/ 'projectsLocationsClustersSetLocations' smart constructor.-data ProjectsLocationsClustersSetLocations = ProjectsLocationsClustersSetLocations'+data ProjectsLocationsClustersSetLocations =+  ProjectsLocationsClustersSetLocations'     { _plcslsXgafv          :: !(Maybe Xgafv)     , _plcslsUploadProtocol :: !(Maybe Text)     , _plcslsAccessToken    :: !(Maybe Text)@@ -70,8 +71,10 @@     , _plcslsPayload        :: !SetLocationsRequest     , _plcslsName           :: !Text     , _plcslsCallback       :: !(Maybe Text)-    } deriving (Eq,Show,Data,Typeable,Generic)+    }+  deriving (Eq, Show, Data, Typeable, Generic) + -- | Creates a value of 'ProjectsLocationsClustersSetLocations' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired:@@ -94,7 +97,7 @@     -> Text -- ^ 'plcslsName'     -> ProjectsLocationsClustersSetLocations projectsLocationsClustersSetLocations pPlcslsPayload_ pPlcslsName_ =-    ProjectsLocationsClustersSetLocations'+  ProjectsLocationsClustersSetLocations'     { _plcslsXgafv = Nothing     , _plcslsUploadProtocol = Nothing     , _plcslsAccessToken = Nothing@@ -104,6 +107,7 @@     , _plcslsCallback = Nothing     } + -- | V1 error format. plcslsXgafv :: Lens' ProjectsLocationsClustersSetLocations (Maybe Xgafv) plcslsXgafv@@ -146,7 +150,8 @@       (\ s a -> s{_plcslsCallback = a})  instance GoogleRequest-         ProjectsLocationsClustersSetLocations where+           ProjectsLocationsClustersSetLocations+         where         type Rs ProjectsLocationsClustersSetLocations =              Operation         type Scopes ProjectsLocationsClustersSetLocations =
gen/Network/Google/Resource/Container/Projects/Locations/Clusters/SetLogging.hs view
@@ -62,7 +62,8 @@ -- | Sets the logging service for a specific cluster. -- -- /See:/ 'projectsLocationsClustersSetLogging' smart constructor.-data ProjectsLocationsClustersSetLogging = ProjectsLocationsClustersSetLogging'+data ProjectsLocationsClustersSetLogging =+  ProjectsLocationsClustersSetLogging'     { _plcslXgafv          :: !(Maybe Xgafv)     , _plcslUploadProtocol :: !(Maybe Text)     , _plcslAccessToken    :: !(Maybe Text)@@ -70,8 +71,10 @@     , _plcslPayload        :: !SetLoggingServiceRequest     , _plcslName           :: !Text     , _plcslCallback       :: !(Maybe Text)-    } deriving (Eq,Show,Data,Typeable,Generic)+    }+  deriving (Eq, Show, Data, Typeable, Generic) + -- | Creates a value of 'ProjectsLocationsClustersSetLogging' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired:@@ -94,7 +97,7 @@     -> Text -- ^ 'plcslName'     -> ProjectsLocationsClustersSetLogging projectsLocationsClustersSetLogging pPlcslPayload_ pPlcslName_ =-    ProjectsLocationsClustersSetLogging'+  ProjectsLocationsClustersSetLogging'     { _plcslXgafv = Nothing     , _plcslUploadProtocol = Nothing     , _plcslAccessToken = Nothing@@ -104,6 +107,7 @@     , _plcslCallback = Nothing     } + -- | V1 error format. plcslXgafv :: Lens' ProjectsLocationsClustersSetLogging (Maybe Xgafv) plcslXgafv@@ -145,7 +149,8 @@       (\ s a -> s{_plcslCallback = a})  instance GoogleRequest-         ProjectsLocationsClustersSetLogging where+           ProjectsLocationsClustersSetLogging+         where         type Rs ProjectsLocationsClustersSetLogging =              Operation         type Scopes ProjectsLocationsClustersSetLogging =
gen/Network/Google/Resource/Container/Projects/Locations/Clusters/SetMaintenancePolicy.hs view
@@ -63,7 +63,8 @@ -- | Sets the maintenance policy for a cluster. -- -- /See:/ 'projectsLocationsClustersSetMaintenancePolicy' smart constructor.-data ProjectsLocationsClustersSetMaintenancePolicy = ProjectsLocationsClustersSetMaintenancePolicy'+data ProjectsLocationsClustersSetMaintenancePolicy =+  ProjectsLocationsClustersSetMaintenancePolicy'     { _plcsmpXgafv          :: !(Maybe Xgafv)     , _plcsmpUploadProtocol :: !(Maybe Text)     , _plcsmpAccessToken    :: !(Maybe Text)@@ -71,8 +72,10 @@     , _plcsmpPayload        :: !SetMaintenancePolicyRequest     , _plcsmpName           :: !Text     , _plcsmpCallback       :: !(Maybe Text)-    } deriving (Eq,Show,Data,Typeable,Generic)+    }+  deriving (Eq, Show, Data, Typeable, Generic) + -- | Creates a value of 'ProjectsLocationsClustersSetMaintenancePolicy' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired:@@ -95,7 +98,7 @@     -> Text -- ^ 'plcsmpName'     -> ProjectsLocationsClustersSetMaintenancePolicy projectsLocationsClustersSetMaintenancePolicy pPlcsmpPayload_ pPlcsmpName_ =-    ProjectsLocationsClustersSetMaintenancePolicy'+  ProjectsLocationsClustersSetMaintenancePolicy'     { _plcsmpXgafv = Nothing     , _plcsmpUploadProtocol = Nothing     , _plcsmpAccessToken = Nothing@@ -105,6 +108,7 @@     , _plcsmpCallback = Nothing     } + -- | V1 error format. plcsmpXgafv :: Lens' ProjectsLocationsClustersSetMaintenancePolicy (Maybe Xgafv) plcsmpXgafv@@ -148,7 +152,8 @@       (\ s a -> s{_plcsmpCallback = a})  instance GoogleRequest-         ProjectsLocationsClustersSetMaintenancePolicy where+           ProjectsLocationsClustersSetMaintenancePolicy+         where         type Rs ProjectsLocationsClustersSetMaintenancePolicy              = Operation         type Scopes
gen/Network/Google/Resource/Container/Projects/Locations/Clusters/SetMasterAuth.hs view
@@ -20,9 +20,9 @@ -- Stability   : auto-generated -- Portability : non-portable (GHC extensions) ----- Used to set master auth materials. Currently supports :- Changing the--- admin password for a specific cluster. This can be either via password--- generation or explicitly set the password.+-- Sets master auth materials. Currently supports changing the admin+-- password or a specific cluster, either via password generation or+-- explicitly setting the password. -- -- /See:/ <https://cloud.google.com/container-engine/ Kubernetes Engine API Reference> for @container.projects.locations.clusters.setMasterAuth@. module Network.Google.Resource.Container.Projects.Locations.Clusters.SetMasterAuth@@ -61,12 +61,13 @@                      ReqBody '[JSON] SetMasterAuthRequest :>                        Post '[JSON] Operation --- | Used to set master auth materials. Currently supports :- Changing the--- admin password for a specific cluster. This can be either via password--- generation or explicitly set the password.+-- | Sets master auth materials. Currently supports changing the admin+-- password or a specific cluster, either via password generation or+-- explicitly setting the password. -- -- /See:/ 'projectsLocationsClustersSetMasterAuth' smart constructor.-data ProjectsLocationsClustersSetMasterAuth = ProjectsLocationsClustersSetMasterAuth'+data ProjectsLocationsClustersSetMasterAuth =+  ProjectsLocationsClustersSetMasterAuth'     { _plcsmaXgafv          :: !(Maybe Xgafv)     , _plcsmaUploadProtocol :: !(Maybe Text)     , _plcsmaAccessToken    :: !(Maybe Text)@@ -74,8 +75,10 @@     , _plcsmaPayload        :: !SetMasterAuthRequest     , _plcsmaName           :: !Text     , _plcsmaCallback       :: !(Maybe Text)-    } deriving (Eq,Show,Data,Typeable,Generic)+    }+  deriving (Eq, Show, Data, Typeable, Generic) + -- | Creates a value of 'ProjectsLocationsClustersSetMasterAuth' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired:@@ -98,7 +101,7 @@     -> Text -- ^ 'plcsmaName'     -> ProjectsLocationsClustersSetMasterAuth projectsLocationsClustersSetMasterAuth pPlcsmaPayload_ pPlcsmaName_ =-    ProjectsLocationsClustersSetMasterAuth'+  ProjectsLocationsClustersSetMasterAuth'     { _plcsmaXgafv = Nothing     , _plcsmaUploadProtocol = Nothing     , _plcsmaAccessToken = Nothing@@ -108,6 +111,7 @@     , _plcsmaCallback = Nothing     } + -- | V1 error format. plcsmaXgafv :: Lens' ProjectsLocationsClustersSetMasterAuth (Maybe Xgafv) plcsmaXgafv@@ -150,7 +154,8 @@       (\ s a -> s{_plcsmaCallback = a})  instance GoogleRequest-         ProjectsLocationsClustersSetMasterAuth where+           ProjectsLocationsClustersSetMasterAuth+         where         type Rs ProjectsLocationsClustersSetMasterAuth =              Operation         type Scopes ProjectsLocationsClustersSetMasterAuth =
gen/Network/Google/Resource/Container/Projects/Locations/Clusters/SetMonitoring.hs view
@@ -62,7 +62,8 @@ -- | Sets the monitoring service for a specific cluster. -- -- /See:/ 'projectsLocationsClustersSetMonitoring' smart constructor.-data ProjectsLocationsClustersSetMonitoring = ProjectsLocationsClustersSetMonitoring'+data ProjectsLocationsClustersSetMonitoring =+  ProjectsLocationsClustersSetMonitoring'     { _plcsmXgafv          :: !(Maybe Xgafv)     , _plcsmUploadProtocol :: !(Maybe Text)     , _plcsmAccessToken    :: !(Maybe Text)@@ -70,8 +71,10 @@     , _plcsmPayload        :: !SetMonitoringServiceRequest     , _plcsmName           :: !Text     , _plcsmCallback       :: !(Maybe Text)-    } deriving (Eq,Show,Data,Typeable,Generic)+    }+  deriving (Eq, Show, Data, Typeable, Generic) + -- | Creates a value of 'ProjectsLocationsClustersSetMonitoring' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired:@@ -94,7 +97,7 @@     -> Text -- ^ 'plcsmName'     -> ProjectsLocationsClustersSetMonitoring projectsLocationsClustersSetMonitoring pPlcsmPayload_ pPlcsmName_ =-    ProjectsLocationsClustersSetMonitoring'+  ProjectsLocationsClustersSetMonitoring'     { _plcsmXgafv = Nothing     , _plcsmUploadProtocol = Nothing     , _plcsmAccessToken = Nothing@@ -104,6 +107,7 @@     , _plcsmCallback = Nothing     } + -- | V1 error format. plcsmXgafv :: Lens' ProjectsLocationsClustersSetMonitoring (Maybe Xgafv) plcsmXgafv@@ -145,7 +149,8 @@       (\ s a -> s{_plcsmCallback = a})  instance GoogleRequest-         ProjectsLocationsClustersSetMonitoring where+           ProjectsLocationsClustersSetMonitoring+         where         type Rs ProjectsLocationsClustersSetMonitoring =              Operation         type Scopes ProjectsLocationsClustersSetMonitoring =
gen/Network/Google/Resource/Container/Projects/Locations/Clusters/SetNetworkPolicy.hs view
@@ -20,7 +20,7 @@ -- Stability   : auto-generated -- Portability : non-portable (GHC extensions) ----- Enables\/Disables Network Policy for a cluster.+-- Enables or disables Network Policy for a cluster. -- -- /See:/ <https://cloud.google.com/container-engine/ Kubernetes Engine API Reference> for @container.projects.locations.clusters.setNetworkPolicy@. module Network.Google.Resource.Container.Projects.Locations.Clusters.SetNetworkPolicy@@ -60,10 +60,11 @@                      ReqBody '[JSON] SetNetworkPolicyRequest :>                        Post '[JSON] Operation --- | Enables\/Disables Network Policy for a cluster.+-- | Enables or disables Network Policy for a cluster. -- -- /See:/ 'projectsLocationsClustersSetNetworkPolicy' smart constructor.-data ProjectsLocationsClustersSetNetworkPolicy = ProjectsLocationsClustersSetNetworkPolicy'+data ProjectsLocationsClustersSetNetworkPolicy =+  ProjectsLocationsClustersSetNetworkPolicy'     { _plcsnpXgafv          :: !(Maybe Xgafv)     , _plcsnpUploadProtocol :: !(Maybe Text)     , _plcsnpAccessToken    :: !(Maybe Text)@@ -71,8 +72,10 @@     , _plcsnpPayload        :: !SetNetworkPolicyRequest     , _plcsnpName           :: !Text     , _plcsnpCallback       :: !(Maybe Text)-    } deriving (Eq,Show,Data,Typeable,Generic)+    }+  deriving (Eq, Show, Data, Typeable, Generic) + -- | Creates a value of 'ProjectsLocationsClustersSetNetworkPolicy' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired:@@ -95,7 +98,7 @@     -> Text -- ^ 'plcsnpName'     -> ProjectsLocationsClustersSetNetworkPolicy projectsLocationsClustersSetNetworkPolicy pPlcsnpPayload_ pPlcsnpName_ =-    ProjectsLocationsClustersSetNetworkPolicy'+  ProjectsLocationsClustersSetNetworkPolicy'     { _plcsnpXgafv = Nothing     , _plcsnpUploadProtocol = Nothing     , _plcsnpAccessToken = Nothing@@ -105,6 +108,7 @@     , _plcsnpCallback = Nothing     } + -- | V1 error format. plcsnpXgafv :: Lens' ProjectsLocationsClustersSetNetworkPolicy (Maybe Xgafv) plcsnpXgafv@@ -148,7 +152,8 @@       (\ s a -> s{_plcsnpCallback = a})  instance GoogleRequest-         ProjectsLocationsClustersSetNetworkPolicy where+           ProjectsLocationsClustersSetNetworkPolicy+         where         type Rs ProjectsLocationsClustersSetNetworkPolicy =              Operation         type Scopes ProjectsLocationsClustersSetNetworkPolicy
gen/Network/Google/Resource/Container/Projects/Locations/Clusters/SetResourceLabels.hs view
@@ -63,7 +63,8 @@ -- | Sets labels on a cluster. -- -- /See:/ 'projectsLocationsClustersSetResourceLabels' smart constructor.-data ProjectsLocationsClustersSetResourceLabels = ProjectsLocationsClustersSetResourceLabels'+data ProjectsLocationsClustersSetResourceLabels =+  ProjectsLocationsClustersSetResourceLabels'     { _plcsrlXgafv          :: !(Maybe Xgafv)     , _plcsrlUploadProtocol :: !(Maybe Text)     , _plcsrlAccessToken    :: !(Maybe Text)@@ -71,8 +72,10 @@     , _plcsrlPayload        :: !SetLabelsRequest     , _plcsrlName           :: !Text     , _plcsrlCallback       :: !(Maybe Text)-    } deriving (Eq,Show,Data,Typeable,Generic)+    }+  deriving (Eq, Show, Data, Typeable, Generic) + -- | Creates a value of 'ProjectsLocationsClustersSetResourceLabels' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired:@@ -95,7 +98,7 @@     -> Text -- ^ 'plcsrlName'     -> ProjectsLocationsClustersSetResourceLabels projectsLocationsClustersSetResourceLabels pPlcsrlPayload_ pPlcsrlName_ =-    ProjectsLocationsClustersSetResourceLabels'+  ProjectsLocationsClustersSetResourceLabels'     { _plcsrlXgafv = Nothing     , _plcsrlUploadProtocol = Nothing     , _plcsrlAccessToken = Nothing@@ -105,6 +108,7 @@     , _plcsrlCallback = Nothing     } + -- | V1 error format. plcsrlXgafv :: Lens' ProjectsLocationsClustersSetResourceLabels (Maybe Xgafv) plcsrlXgafv@@ -147,7 +151,8 @@       (\ s a -> s{_plcsrlCallback = a})  instance GoogleRequest-         ProjectsLocationsClustersSetResourceLabels where+           ProjectsLocationsClustersSetResourceLabels+         where         type Rs ProjectsLocationsClustersSetResourceLabels =              Operation         type Scopes
gen/Network/Google/Resource/Container/Projects/Locations/Clusters/StartIPRotation.hs view
@@ -20,7 +20,7 @@ -- Stability   : auto-generated -- Portability : non-portable (GHC extensions) ----- Start master IP rotation.+-- Starts master IP rotation. -- -- /See:/ <https://cloud.google.com/container-engine/ Kubernetes Engine API Reference> for @container.projects.locations.clusters.startIpRotation@. module Network.Google.Resource.Container.Projects.Locations.Clusters.StartIPRotation@@ -60,10 +60,11 @@                      ReqBody '[JSON] StartIPRotationRequest :>                        Post '[JSON] Operation --- | Start master IP rotation.+-- | Starts master IP rotation. -- -- /See:/ 'projectsLocationsClustersStartIPRotation' smart constructor.-data ProjectsLocationsClustersStartIPRotation = ProjectsLocationsClustersStartIPRotation'+data ProjectsLocationsClustersStartIPRotation =+  ProjectsLocationsClustersStartIPRotation'     { _plcsirXgafv          :: !(Maybe Xgafv)     , _plcsirUploadProtocol :: !(Maybe Text)     , _plcsirAccessToken    :: !(Maybe Text)@@ -71,8 +72,10 @@     , _plcsirPayload        :: !StartIPRotationRequest     , _plcsirName           :: !Text     , _plcsirCallback       :: !(Maybe Text)-    } deriving (Eq,Show,Data,Typeable,Generic)+    }+  deriving (Eq, Show, Data, Typeable, Generic) + -- | Creates a value of 'ProjectsLocationsClustersStartIPRotation' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired:@@ -95,7 +98,7 @@     -> Text -- ^ 'plcsirName'     -> ProjectsLocationsClustersStartIPRotation projectsLocationsClustersStartIPRotation pPlcsirPayload_ pPlcsirName_ =-    ProjectsLocationsClustersStartIPRotation'+  ProjectsLocationsClustersStartIPRotation'     { _plcsirXgafv = Nothing     , _plcsirUploadProtocol = Nothing     , _plcsirAccessToken = Nothing@@ -105,6 +108,7 @@     , _plcsirCallback = Nothing     } + -- | V1 error format. plcsirXgafv :: Lens' ProjectsLocationsClustersStartIPRotation (Maybe Xgafv) plcsirXgafv@@ -148,7 +152,8 @@       (\ s a -> s{_plcsirCallback = a})  instance GoogleRequest-         ProjectsLocationsClustersStartIPRotation where+           ProjectsLocationsClustersStartIPRotation+         where         type Rs ProjectsLocationsClustersStartIPRotation =              Operation         type Scopes ProjectsLocationsClustersStartIPRotation
gen/Network/Google/Resource/Container/Projects/Locations/Clusters/Update.hs view
@@ -62,7 +62,8 @@ -- | Updates the settings of a specific cluster. -- -- /See:/ 'projectsLocationsClustersUpdate' smart constructor.-data ProjectsLocationsClustersUpdate = ProjectsLocationsClustersUpdate'+data ProjectsLocationsClustersUpdate =+  ProjectsLocationsClustersUpdate'     { _plcuXgafv          :: !(Maybe Xgafv)     , _plcuUploadProtocol :: !(Maybe Text)     , _plcuAccessToken    :: !(Maybe Text)@@ -70,8 +71,10 @@     , _plcuPayload        :: !UpdateClusterRequest     , _plcuName           :: !Text     , _plcuCallback       :: !(Maybe Text)-    } deriving (Eq,Show,Data,Typeable,Generic)+    }+  deriving (Eq, Show, Data, Typeable, Generic) + -- | Creates a value of 'ProjectsLocationsClustersUpdate' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired:@@ -94,7 +97,7 @@     -> Text -- ^ 'plcuName'     -> ProjectsLocationsClustersUpdate projectsLocationsClustersUpdate pPlcuPayload_ pPlcuName_ =-    ProjectsLocationsClustersUpdate'+  ProjectsLocationsClustersUpdate'     { _plcuXgafv = Nothing     , _plcuUploadProtocol = Nothing     , _plcuAccessToken = Nothing@@ -104,6 +107,7 @@     , _plcuCallback = Nothing     } + -- | V1 error format. plcuXgafv :: Lens' ProjectsLocationsClustersUpdate (Maybe Xgafv) plcuXgafv@@ -143,7 +147,8 @@   = lens _plcuCallback (\ s a -> s{_plcuCallback = a})  instance GoogleRequest-         ProjectsLocationsClustersUpdate where+           ProjectsLocationsClustersUpdate+         where         type Rs ProjectsLocationsClustersUpdate = Operation         type Scopes ProjectsLocationsClustersUpdate =              '["https://www.googleapis.com/auth/cloud-platform"]
gen/Network/Google/Resource/Container/Projects/Locations/Clusters/UpdateMaster.hs view
@@ -62,7 +62,8 @@ -- | Updates the master for a specific cluster. -- -- /See:/ 'projectsLocationsClustersUpdateMaster' smart constructor.-data ProjectsLocationsClustersUpdateMaster = ProjectsLocationsClustersUpdateMaster'+data ProjectsLocationsClustersUpdateMaster =+  ProjectsLocationsClustersUpdateMaster'     { _plcumXgafv          :: !(Maybe Xgafv)     , _plcumUploadProtocol :: !(Maybe Text)     , _plcumAccessToken    :: !(Maybe Text)@@ -70,8 +71,10 @@     , _plcumPayload        :: !UpdateMasterRequest     , _plcumName           :: !Text     , _plcumCallback       :: !(Maybe Text)-    } deriving (Eq,Show,Data,Typeable,Generic)+    }+  deriving (Eq, Show, Data, Typeable, Generic) + -- | Creates a value of 'ProjectsLocationsClustersUpdateMaster' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired:@@ -94,7 +97,7 @@     -> Text -- ^ 'plcumName'     -> ProjectsLocationsClustersUpdateMaster projectsLocationsClustersUpdateMaster pPlcumPayload_ pPlcumName_ =-    ProjectsLocationsClustersUpdateMaster'+  ProjectsLocationsClustersUpdateMaster'     { _plcumXgafv = Nothing     , _plcumUploadProtocol = Nothing     , _plcumAccessToken = Nothing@@ -104,6 +107,7 @@     , _plcumCallback = Nothing     } + -- | V1 error format. plcumXgafv :: Lens' ProjectsLocationsClustersUpdateMaster (Maybe Xgafv) plcumXgafv@@ -145,7 +149,8 @@       (\ s a -> s{_plcumCallback = a})  instance GoogleRequest-         ProjectsLocationsClustersUpdateMaster where+           ProjectsLocationsClustersUpdateMaster+         where         type Rs ProjectsLocationsClustersUpdateMaster =              Operation         type Scopes ProjectsLocationsClustersUpdateMaster =
+ gen/Network/Google/Resource/Container/Projects/Locations/Clusters/WellKnown/GetOpenidConfiguration.hs view
@@ -0,0 +1,176 @@+{-# LANGUAGE DataKinds          #-}+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric      #-}+{-# LANGUAGE FlexibleInstances  #-}+{-# LANGUAGE NoImplicitPrelude  #-}+{-# LANGUAGE OverloadedStrings  #-}+{-# LANGUAGE RecordWildCards    #-}+{-# LANGUAGE TypeFamilies       #-}+{-# LANGUAGE TypeOperators      #-}++{-# OPTIONS_GHC -fno-warn-duplicate-exports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds      #-}+{-# OPTIONS_GHC -fno-warn-unused-imports    #-}++-- |+-- Module      : Network.Google.Resource.Container.Projects.Locations.Clusters.WellKnown.GetOpenidConfiguration+-- Copyright   : (c) 2015-2016 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Gets the OIDC discovery document for the cluster. See the [OpenID+-- Connect Discovery 1.0+-- specification](https:\/\/openid.net\/specs\/openid-connect-discovery-1_0.html)+-- for details. This API is not yet intended for general use, and is not+-- available for all clusters.+--+-- /See:/ <https://cloud.google.com/container-engine/ Kubernetes Engine API Reference> for @container.projects.locations.clusters.well-known.getOpenid-configuration@.+module Network.Google.Resource.Container.Projects.Locations.Clusters.WellKnown.GetOpenidConfiguration+    (+    -- * REST Resource+      ProjectsLocationsClustersWellKnownGetOpenidConfigurationResource++    -- * Creating a Request+    , projectsLocationsClustersWellKnownGetOpenidConfiguration+    , ProjectsLocationsClustersWellKnownGetOpenidConfiguration++    -- * Request Lenses+    , plcwkgocParent+    , plcwkgocXgafv+    , plcwkgocUploadProtocol+    , plcwkgocAccessToken+    , plcwkgocUploadType+    , plcwkgocCallback+    ) where++import           Network.Google.Container.Types+import           Network.Google.Prelude++-- | A resource alias for @container.projects.locations.clusters.well-known.getOpenid-configuration@ method which the+-- 'ProjectsLocationsClustersWellKnownGetOpenidConfiguration' request conforms to.+type ProjectsLocationsClustersWellKnownGetOpenidConfigurationResource+     =+     "v1" :>+       Capture "parent" Text :>+         ".well-known" :>+           "openid-configuration" :>+             QueryParam "$.xgafv" Xgafv :>+               QueryParam "upload_protocol" Text :>+                 QueryParam "access_token" Text :>+                   QueryParam "uploadType" Text :>+                     QueryParam "callback" Text :>+                       QueryParam "alt" AltJSON :>+                         Get '[JSON] GetOpenIdConfigResponse++-- | Gets the OIDC discovery document for the cluster. See the [OpenID+-- Connect Discovery 1.0+-- specification](https:\/\/openid.net\/specs\/openid-connect-discovery-1_0.html)+-- for details. This API is not yet intended for general use, and is not+-- available for all clusters.+--+-- /See:/ 'projectsLocationsClustersWellKnownGetOpenidConfiguration' smart constructor.+data ProjectsLocationsClustersWellKnownGetOpenidConfiguration =+  ProjectsLocationsClustersWellKnownGetOpenidConfiguration'+    { _plcwkgocParent         :: !Text+    , _plcwkgocXgafv          :: !(Maybe Xgafv)+    , _plcwkgocUploadProtocol :: !(Maybe Text)+    , _plcwkgocAccessToken    :: !(Maybe Text)+    , _plcwkgocUploadType     :: !(Maybe Text)+    , _plcwkgocCallback       :: !(Maybe Text)+    }+  deriving (Eq, Show, Data, Typeable, Generic)+++-- | Creates a value of 'ProjectsLocationsClustersWellKnownGetOpenidConfiguration' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'plcwkgocParent'+--+-- * 'plcwkgocXgafv'+--+-- * 'plcwkgocUploadProtocol'+--+-- * 'plcwkgocAccessToken'+--+-- * 'plcwkgocUploadType'+--+-- * 'plcwkgocCallback'+projectsLocationsClustersWellKnownGetOpenidConfiguration+    :: Text -- ^ 'plcwkgocParent'+    -> ProjectsLocationsClustersWellKnownGetOpenidConfiguration+projectsLocationsClustersWellKnownGetOpenidConfiguration pPlcwkgocParent_ =+  ProjectsLocationsClustersWellKnownGetOpenidConfiguration'+    { _plcwkgocParent = pPlcwkgocParent_+    , _plcwkgocXgafv = Nothing+    , _plcwkgocUploadProtocol = Nothing+    , _plcwkgocAccessToken = Nothing+    , _plcwkgocUploadType = Nothing+    , _plcwkgocCallback = Nothing+    }+++-- | The cluster (project, location, cluster id) to get the discovery+-- document for. Specified in the format+-- \'projects\/*\/locations\/*\/clusters\/*\'.+plcwkgocParent :: Lens' ProjectsLocationsClustersWellKnownGetOpenidConfiguration Text+plcwkgocParent+  = lens _plcwkgocParent+      (\ s a -> s{_plcwkgocParent = a})++-- | V1 error format.+plcwkgocXgafv :: Lens' ProjectsLocationsClustersWellKnownGetOpenidConfiguration (Maybe Xgafv)+plcwkgocXgafv+  = lens _plcwkgocXgafv+      (\ s a -> s{_plcwkgocXgafv = a})++-- | Upload protocol for media (e.g. \"raw\", \"multipart\").+plcwkgocUploadProtocol :: Lens' ProjectsLocationsClustersWellKnownGetOpenidConfiguration (Maybe Text)+plcwkgocUploadProtocol+  = lens _plcwkgocUploadProtocol+      (\ s a -> s{_plcwkgocUploadProtocol = a})++-- | OAuth access token.+plcwkgocAccessToken :: Lens' ProjectsLocationsClustersWellKnownGetOpenidConfiguration (Maybe Text)+plcwkgocAccessToken+  = lens _plcwkgocAccessToken+      (\ s a -> s{_plcwkgocAccessToken = a})++-- | Legacy upload protocol for media (e.g. \"media\", \"multipart\").+plcwkgocUploadType :: Lens' ProjectsLocationsClustersWellKnownGetOpenidConfiguration (Maybe Text)+plcwkgocUploadType+  = lens _plcwkgocUploadType+      (\ s a -> s{_plcwkgocUploadType = a})++-- | JSONP+plcwkgocCallback :: Lens' ProjectsLocationsClustersWellKnownGetOpenidConfiguration (Maybe Text)+plcwkgocCallback+  = lens _plcwkgocCallback+      (\ s a -> s{_plcwkgocCallback = a})++instance GoogleRequest+           ProjectsLocationsClustersWellKnownGetOpenidConfiguration+         where+        type Rs+               ProjectsLocationsClustersWellKnownGetOpenidConfiguration+             = GetOpenIdConfigResponse+        type Scopes+               ProjectsLocationsClustersWellKnownGetOpenidConfiguration+             = '["https://www.googleapis.com/auth/cloud-platform"]+        requestClient+          ProjectsLocationsClustersWellKnownGetOpenidConfiguration'{..}+          = go _plcwkgocParent _plcwkgocXgafv+              _plcwkgocUploadProtocol+              _plcwkgocAccessToken+              _plcwkgocUploadType+              _plcwkgocCallback+              (Just AltJSON)+              containerService+          where go+                  = buildClient+                      (Proxy ::+                         Proxy+                           ProjectsLocationsClustersWellKnownGetOpenidConfigurationResource)+                      mempty
gen/Network/Google/Resource/Container/Projects/Locations/GetServerConfig.hs view
@@ -20,7 +20,7 @@ -- Stability   : auto-generated -- Portability : non-portable (GHC extensions) ----- Returns configuration info about the Kubernetes Engine service.+-- Returns configuration info about the Google Kubernetes Engine service. -- -- /See:/ <https://cloud.google.com/container-engine/ Kubernetes Engine API Reference> for @container.projects.locations.getServerConfig@. module Network.Google.Resource.Container.Projects.Locations.GetServerConfig@@ -61,10 +61,11 @@                        QueryParam "callback" Text :>                          QueryParam "alt" AltJSON :> Get '[JSON] ServerConfig --- | Returns configuration info about the Kubernetes Engine service.+-- | Returns configuration info about the Google Kubernetes Engine service. -- -- /See:/ 'projectsLocationsGetServerConfig' smart constructor.-data ProjectsLocationsGetServerConfig = ProjectsLocationsGetServerConfig'+data ProjectsLocationsGetServerConfig =+  ProjectsLocationsGetServerConfig'     { _plgscXgafv          :: !(Maybe Xgafv)     , _plgscUploadProtocol :: !(Maybe Text)     , _plgscAccessToken    :: !(Maybe Text)@@ -73,8 +74,10 @@     , _plgscName           :: !Text     , _plgscProjectId      :: !(Maybe Text)     , _plgscCallback       :: !(Maybe Text)-    } deriving (Eq,Show,Data,Typeable,Generic)+    }+  deriving (Eq, Show, Data, Typeable, Generic) + -- | Creates a value of 'ProjectsLocationsGetServerConfig' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired:@@ -98,7 +101,7 @@     :: Text -- ^ 'plgscName'     -> ProjectsLocationsGetServerConfig projectsLocationsGetServerConfig pPlgscName_ =-    ProjectsLocationsGetServerConfig'+  ProjectsLocationsGetServerConfig'     { _plgscXgafv = Nothing     , _plgscUploadProtocol = Nothing     , _plgscAccessToken = Nothing@@ -109,6 +112,7 @@     , _plgscCallback = Nothing     } + -- | V1 error format. plgscXgafv :: Lens' ProjectsLocationsGetServerConfig (Maybe Xgafv) plgscXgafv@@ -139,8 +143,8 @@ plgscZone   = lens _plgscZone (\ s a -> s{_plgscZone = a}) --- | The name (project and location) of the server config to get Specified in--- the format \'projects\/*\/locations\/*\'.+-- | The name (project and location) of the server config to get, specified+-- in the format \'projects\/*\/locations\/*\'. plgscName :: Lens' ProjectsLocationsGetServerConfig Text plgscName   = lens _plgscName (\ s a -> s{_plgscName = a})@@ -160,7 +164,8 @@       (\ s a -> s{_plgscCallback = a})  instance GoogleRequest-         ProjectsLocationsGetServerConfig where+           ProjectsLocationsGetServerConfig+         where         type Rs ProjectsLocationsGetServerConfig =              ServerConfig         type Scopes ProjectsLocationsGetServerConfig =
gen/Network/Google/Resource/Container/Projects/Locations/Operations/Cancel.hs view
@@ -62,7 +62,8 @@ -- | Cancels the specified operation. -- -- /See:/ 'projectsLocationsOperationsCancel' smart constructor.-data ProjectsLocationsOperationsCancel = ProjectsLocationsOperationsCancel'+data ProjectsLocationsOperationsCancel =+  ProjectsLocationsOperationsCancel'     { _plocXgafv          :: !(Maybe Xgafv)     , _plocUploadProtocol :: !(Maybe Text)     , _plocAccessToken    :: !(Maybe Text)@@ -70,8 +71,10 @@     , _plocPayload        :: !CancelOperationRequest     , _plocName           :: !Text     , _plocCallback       :: !(Maybe Text)-    } deriving (Eq,Show,Data,Typeable,Generic)+    }+  deriving (Eq, Show, Data, Typeable, Generic) + -- | Creates a value of 'ProjectsLocationsOperationsCancel' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired:@@ -94,7 +97,7 @@     -> Text -- ^ 'plocName'     -> ProjectsLocationsOperationsCancel projectsLocationsOperationsCancel pPlocPayload_ pPlocName_ =-    ProjectsLocationsOperationsCancel'+  ProjectsLocationsOperationsCancel'     { _plocXgafv = Nothing     , _plocUploadProtocol = Nothing     , _plocAccessToken = Nothing@@ -104,6 +107,7 @@     , _plocCallback = Nothing     } + -- | V1 error format. plocXgafv :: Lens' ProjectsLocationsOperationsCancel (Maybe Xgafv) plocXgafv@@ -143,7 +147,8 @@   = lens _plocCallback (\ s a -> s{_plocCallback = a})  instance GoogleRequest-         ProjectsLocationsOperationsCancel where+           ProjectsLocationsOperationsCancel+         where         type Rs ProjectsLocationsOperationsCancel = Empty         type Scopes ProjectsLocationsOperationsCancel =              '["https://www.googleapis.com/auth/cloud-platform"]
gen/Network/Google/Resource/Container/Projects/Locations/Operations/Get.hs view
@@ -65,7 +65,8 @@ -- | Gets the specified operation. -- -- /See:/ 'projectsLocationsOperationsGet' smart constructor.-data ProjectsLocationsOperationsGet = ProjectsLocationsOperationsGet'+data ProjectsLocationsOperationsGet =+  ProjectsLocationsOperationsGet'     { _plogXgafv          :: !(Maybe Xgafv)     , _plogUploadProtocol :: !(Maybe Text)     , _plogAccessToken    :: !(Maybe Text)@@ -75,8 +76,10 @@     , _plogProjectId      :: !(Maybe Text)     , _plogOperationId    :: !(Maybe Text)     , _plogCallback       :: !(Maybe Text)-    } deriving (Eq,Show,Data,Typeable,Generic)+    }+  deriving (Eq, Show, Data, Typeable, Generic) + -- | Creates a value of 'ProjectsLocationsOperationsGet' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired:@@ -102,7 +105,7 @@     :: Text -- ^ 'plogName'     -> ProjectsLocationsOperationsGet projectsLocationsOperationsGet pPlogName_ =-    ProjectsLocationsOperationsGet'+  ProjectsLocationsOperationsGet'     { _plogXgafv = Nothing     , _plogUploadProtocol = Nothing     , _plogAccessToken = Nothing@@ -113,6 +116,7 @@     , _plogOperationId = Nothing     , _plogCallback = Nothing     }+  -- | V1 error format. plogXgafv :: Lens' ProjectsLocationsOperationsGet (Maybe Xgafv)
gen/Network/Google/Resource/Container/Projects/Locations/Operations/List.hs view
@@ -65,7 +65,8 @@ -- | Lists all operations in a project in a specific zone or all zones. -- -- /See:/ 'projectsLocationsOperationsList' smart constructor.-data ProjectsLocationsOperationsList = ProjectsLocationsOperationsList'+data ProjectsLocationsOperationsList =+  ProjectsLocationsOperationsList'     { _plolParent         :: !Text     , _plolXgafv          :: !(Maybe Xgafv)     , _plolUploadProtocol :: !(Maybe Text)@@ -74,8 +75,10 @@     , _plolZone           :: !(Maybe Text)     , _plolProjectId      :: !(Maybe Text)     , _plolCallback       :: !(Maybe Text)-    } deriving (Eq,Show,Data,Typeable,Generic)+    }+  deriving (Eq, Show, Data, Typeable, Generic) + -- | Creates a value of 'ProjectsLocationsOperationsList' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired:@@ -99,7 +102,7 @@     :: Text -- ^ 'plolParent'     -> ProjectsLocationsOperationsList projectsLocationsOperationsList pPlolParent_ =-    ProjectsLocationsOperationsList'+  ProjectsLocationsOperationsList'     { _plolParent = pPlolParent_     , _plolXgafv = Nothing     , _plolUploadProtocol = Nothing@@ -110,6 +113,7 @@     , _plolCallback = Nothing     } + -- | The parent (project and location) where the operations will be listed. -- Specified in the format \'projects\/*\/locations\/*\'. Location \"-\" -- matches all zones and all regions.@@ -161,7 +165,8 @@   = lens _plolCallback (\ s a -> s{_plolCallback = a})  instance GoogleRequest-         ProjectsLocationsOperationsList where+           ProjectsLocationsOperationsList+         where         type Rs ProjectsLocationsOperationsList =              ListOperationsResponse         type Scopes ProjectsLocationsOperationsList =
gen/Network/Google/Resource/Container/Projects/Zones/Clusters/Addons.hs view
@@ -70,7 +70,8 @@ -- | Sets the addons for a specific cluster. -- -- /See:/ 'projectsZonesClustersAddons' smart constructor.-data ProjectsZonesClustersAddons = ProjectsZonesClustersAddons'+data ProjectsZonesClustersAddons =+  ProjectsZonesClustersAddons'     { _pzcaXgafv          :: !(Maybe Xgafv)     , _pzcaUploadProtocol :: !(Maybe Text)     , _pzcaAccessToken    :: !(Maybe Text)@@ -80,8 +81,10 @@     , _pzcaClusterId      :: !Text     , _pzcaProjectId      :: !Text     , _pzcaCallback       :: !(Maybe Text)-    } deriving (Eq,Show,Data,Typeable,Generic)+    }+  deriving (Eq, Show, Data, Typeable, Generic) + -- | Creates a value of 'ProjectsZonesClustersAddons' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired:@@ -110,7 +113,7 @@     -> Text -- ^ 'pzcaProjectId'     -> ProjectsZonesClustersAddons projectsZonesClustersAddons pPzcaZone_ pPzcaPayload_ pPzcaClusterId_ pPzcaProjectId_ =-    ProjectsZonesClustersAddons'+  ProjectsZonesClustersAddons'     { _pzcaXgafv = Nothing     , _pzcaUploadProtocol = Nothing     , _pzcaAccessToken = Nothing@@ -121,6 +124,7 @@     , _pzcaProjectId = pPzcaProjectId_     , _pzcaCallback = Nothing     }+  -- | V1 error format. pzcaXgafv :: Lens' ProjectsZonesClustersAddons (Maybe Xgafv)
gen/Network/Google/Resource/Container/Projects/Zones/Clusters/CompleteIPRotation.hs view
@@ -70,7 +70,8 @@ -- | Completes master IP rotation. -- -- /See:/ 'projectsZonesClustersCompleteIPRotation' smart constructor.-data ProjectsZonesClustersCompleteIPRotation = ProjectsZonesClustersCompleteIPRotation'+data ProjectsZonesClustersCompleteIPRotation =+  ProjectsZonesClustersCompleteIPRotation'     { _pzccirXgafv          :: !(Maybe Xgafv)     , _pzccirUploadProtocol :: !(Maybe Text)     , _pzccirAccessToken    :: !(Maybe Text)@@ -80,8 +81,10 @@     , _pzccirClusterId      :: !Text     , _pzccirProjectId      :: !Text     , _pzccirCallback       :: !(Maybe Text)-    } deriving (Eq,Show,Data,Typeable,Generic)+    }+  deriving (Eq, Show, Data, Typeable, Generic) + -- | Creates a value of 'ProjectsZonesClustersCompleteIPRotation' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired:@@ -110,7 +113,7 @@     -> Text -- ^ 'pzccirProjectId'     -> ProjectsZonesClustersCompleteIPRotation projectsZonesClustersCompleteIPRotation pPzccirZone_ pPzccirPayload_ pPzccirClusterId_ pPzccirProjectId_ =-    ProjectsZonesClustersCompleteIPRotation'+  ProjectsZonesClustersCompleteIPRotation'     { _pzccirXgafv = Nothing     , _pzccirUploadProtocol = Nothing     , _pzccirAccessToken = Nothing@@ -122,6 +125,7 @@     , _pzccirCallback = Nothing     } + -- | V1 error format. pzccirXgafv :: Lens' ProjectsZonesClustersCompleteIPRotation (Maybe Xgafv) pzccirXgafv@@ -180,7 +184,8 @@       (\ s a -> s{_pzccirCallback = a})  instance GoogleRequest-         ProjectsZonesClustersCompleteIPRotation where+           ProjectsZonesClustersCompleteIPRotation+         where         type Rs ProjectsZonesClustersCompleteIPRotation =              Operation         type Scopes ProjectsZonesClustersCompleteIPRotation =
gen/Network/Google/Resource/Container/Projects/Zones/Clusters/Create.hs view
@@ -24,11 +24,11 @@ -- Compute Engine instances. By default, the cluster is created in the -- project\'s [default -- network](\/compute\/docs\/networks-and-firewalls#networks). One firewall--- is added for the cluster. After cluster creation, the cluster creates+-- is added for the cluster. After cluster creation, the Kubelet creates -- routes for each node to allow the containers on that node to communicate -- with all other instances in the cluster. Finally, an entry is added to--- the project\'s global metadata indicating which CIDR range is being used--- by the cluster.+-- the project\'s global metadata indicating which CIDR range the cluster+-- is using. -- -- /See:/ <https://cloud.google.com/container-engine/ Kubernetes Engine API Reference> for @container.projects.zones.clusters.create@. module Network.Google.Resource.Container.Projects.Zones.Clusters.Create@@ -76,14 +76,15 @@ -- Compute Engine instances. By default, the cluster is created in the -- project\'s [default -- network](\/compute\/docs\/networks-and-firewalls#networks). One firewall--- is added for the cluster. After cluster creation, the cluster creates+-- is added for the cluster. After cluster creation, the Kubelet creates -- routes for each node to allow the containers on that node to communicate -- with all other instances in the cluster. Finally, an entry is added to--- the project\'s global metadata indicating which CIDR range is being used--- by the cluster.+-- the project\'s global metadata indicating which CIDR range the cluster+-- is using. -- -- /See:/ 'projectsZonesClustersCreate' smart constructor.-data ProjectsZonesClustersCreate = ProjectsZonesClustersCreate'+data ProjectsZonesClustersCreate =+  ProjectsZonesClustersCreate'     { _pzccXgafv          :: !(Maybe Xgafv)     , _pzccUploadProtocol :: !(Maybe Text)     , _pzccAccessToken    :: !(Maybe Text)@@ -92,8 +93,10 @@     , _pzccPayload        :: !CreateClusterRequest     , _pzccProjectId      :: !Text     , _pzccCallback       :: !(Maybe Text)-    } deriving (Eq,Show,Data,Typeable,Generic)+    }+  deriving (Eq, Show, Data, Typeable, Generic) + -- | Creates a value of 'ProjectsZonesClustersCreate' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired:@@ -119,7 +122,7 @@     -> Text -- ^ 'pzccProjectId'     -> ProjectsZonesClustersCreate projectsZonesClustersCreate pPzccZone_ pPzccPayload_ pPzccProjectId_ =-    ProjectsZonesClustersCreate'+  ProjectsZonesClustersCreate'     { _pzccXgafv = Nothing     , _pzccUploadProtocol = Nothing     , _pzccAccessToken = Nothing@@ -129,6 +132,7 @@     , _pzccProjectId = pPzccProjectId_     , _pzccCallback = Nothing     }+  -- | V1 error format. pzccXgafv :: Lens' ProjectsZonesClustersCreate (Maybe Xgafv)
gen/Network/Google/Resource/Container/Projects/Zones/Clusters/Delete.hs view
@@ -23,8 +23,8 @@ -- Deletes the cluster, including the Kubernetes endpoint and all worker -- nodes. Firewalls and routes that were configured during cluster creation -- are also deleted. Other Google Compute Engine resources that might be in--- use by the cluster (e.g. load balancer resources) will not be deleted if--- they weren\'t present at the initial create time.+-- use by the cluster, such as load balancer resources, are not deleted if+-- they weren\'t present when the cluster was initially created. -- -- /See:/ <https://cloud.google.com/container-engine/ Kubernetes Engine API Reference> for @container.projects.zones.clusters.delete@. module Network.Google.Resource.Container.Projects.Zones.Clusters.Delete@@ -73,11 +73,12 @@ -- | Deletes the cluster, including the Kubernetes endpoint and all worker -- nodes. Firewalls and routes that were configured during cluster creation -- are also deleted. Other Google Compute Engine resources that might be in--- use by the cluster (e.g. load balancer resources) will not be deleted if--- they weren\'t present at the initial create time.+-- use by the cluster, such as load balancer resources, are not deleted if+-- they weren\'t present when the cluster was initially created. -- -- /See:/ 'projectsZonesClustersDelete' smart constructor.-data ProjectsZonesClustersDelete = ProjectsZonesClustersDelete'+data ProjectsZonesClustersDelete =+  ProjectsZonesClustersDelete'     { _pzcdXgafv          :: !(Maybe Xgafv)     , _pzcdUploadProtocol :: !(Maybe Text)     , _pzcdAccessToken    :: !(Maybe Text)@@ -87,8 +88,10 @@     , _pzcdClusterId      :: !Text     , _pzcdProjectId      :: !Text     , _pzcdCallback       :: !(Maybe Text)-    } deriving (Eq,Show,Data,Typeable,Generic)+    }+  deriving (Eq, Show, Data, Typeable, Generic) + -- | Creates a value of 'ProjectsZonesClustersDelete' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired:@@ -116,7 +119,7 @@     -> Text -- ^ 'pzcdProjectId'     -> ProjectsZonesClustersDelete projectsZonesClustersDelete pPzcdZone_ pPzcdClusterId_ pPzcdProjectId_ =-    ProjectsZonesClustersDelete'+  ProjectsZonesClustersDelete'     { _pzcdXgafv = Nothing     , _pzcdUploadProtocol = Nothing     , _pzcdAccessToken = Nothing@@ -127,6 +130,7 @@     , _pzcdProjectId = pPzcdProjectId_     , _pzcdCallback = Nothing     }+  -- | V1 error format. pzcdXgafv :: Lens' ProjectsZonesClustersDelete (Maybe Xgafv)
gen/Network/Google/Resource/Container/Projects/Zones/Clusters/Get.hs view
@@ -68,7 +68,8 @@ -- | Gets the details of a specific cluster. -- -- /See:/ 'projectsZonesClustersGet' smart constructor.-data ProjectsZonesClustersGet = ProjectsZonesClustersGet'+data ProjectsZonesClustersGet =+  ProjectsZonesClustersGet'     { _pzcgXgafv          :: !(Maybe Xgafv)     , _pzcgUploadProtocol :: !(Maybe Text)     , _pzcgAccessToken    :: !(Maybe Text)@@ -78,8 +79,10 @@     , _pzcgClusterId      :: !Text     , _pzcgProjectId      :: !Text     , _pzcgCallback       :: !(Maybe Text)-    } deriving (Eq,Show,Data,Typeable,Generic)+    }+  deriving (Eq, Show, Data, Typeable, Generic) + -- | Creates a value of 'ProjectsZonesClustersGet' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired:@@ -107,7 +110,7 @@     -> Text -- ^ 'pzcgProjectId'     -> ProjectsZonesClustersGet projectsZonesClustersGet pPzcgZone_ pPzcgClusterId_ pPzcgProjectId_ =-    ProjectsZonesClustersGet'+  ProjectsZonesClustersGet'     { _pzcgXgafv = Nothing     , _pzcgUploadProtocol = Nothing     , _pzcgAccessToken = Nothing@@ -118,6 +121,7 @@     , _pzcgProjectId = pPzcgProjectId_     , _pzcgCallback = Nothing     }+  -- | V1 error format. pzcgXgafv :: Lens' ProjectsZonesClustersGet (Maybe Xgafv)
gen/Network/Google/Resource/Container/Projects/Zones/Clusters/LegacyAbac.hs view
@@ -70,7 +70,8 @@ -- | Enables or disables the ABAC authorization mechanism on a cluster. -- -- /See:/ 'projectsZonesClustersLegacyAbac' smart constructor.-data ProjectsZonesClustersLegacyAbac = ProjectsZonesClustersLegacyAbac'+data ProjectsZonesClustersLegacyAbac =+  ProjectsZonesClustersLegacyAbac'     { _pzclaXgafv          :: !(Maybe Xgafv)     , _pzclaUploadProtocol :: !(Maybe Text)     , _pzclaAccessToken    :: !(Maybe Text)@@ -80,8 +81,10 @@     , _pzclaClusterId      :: !Text     , _pzclaProjectId      :: !Text     , _pzclaCallback       :: !(Maybe Text)-    } deriving (Eq,Show,Data,Typeable,Generic)+    }+  deriving (Eq, Show, Data, Typeable, Generic) + -- | Creates a value of 'ProjectsZonesClustersLegacyAbac' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired:@@ -110,7 +113,7 @@     -> Text -- ^ 'pzclaProjectId'     -> ProjectsZonesClustersLegacyAbac projectsZonesClustersLegacyAbac pPzclaZone_ pPzclaPayload_ pPzclaClusterId_ pPzclaProjectId_ =-    ProjectsZonesClustersLegacyAbac'+  ProjectsZonesClustersLegacyAbac'     { _pzclaXgafv = Nothing     , _pzclaUploadProtocol = Nothing     , _pzclaAccessToken = Nothing@@ -122,6 +125,7 @@     , _pzclaCallback = Nothing     } + -- | V1 error format. pzclaXgafv :: Lens' ProjectsZonesClustersLegacyAbac (Maybe Xgafv) pzclaXgafv@@ -179,7 +183,8 @@       (\ s a -> s{_pzclaCallback = a})  instance GoogleRequest-         ProjectsZonesClustersLegacyAbac where+           ProjectsZonesClustersLegacyAbac+         where         type Rs ProjectsZonesClustersLegacyAbac = Operation         type Scopes ProjectsZonesClustersLegacyAbac =              '["https://www.googleapis.com/auth/cloud-platform"]
gen/Network/Google/Resource/Container/Projects/Zones/Clusters/List.hs view
@@ -69,7 +69,8 @@ -- all zones. -- -- /See:/ 'projectsZonesClustersList' smart constructor.-data ProjectsZonesClustersList = ProjectsZonesClustersList'+data ProjectsZonesClustersList =+  ProjectsZonesClustersList'     { _proParent         :: !(Maybe Text)     , _proXgafv          :: !(Maybe Xgafv)     , _proUploadProtocol :: !(Maybe Text)@@ -78,8 +79,10 @@     , _proZone           :: !Text     , _proProjectId      :: !Text     , _proCallback       :: !(Maybe Text)-    } deriving (Eq,Show,Data,Typeable,Generic)+    }+  deriving (Eq, Show, Data, Typeable, Generic) + -- | Creates a value of 'ProjectsZonesClustersList' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired:@@ -104,7 +107,7 @@     -> Text -- ^ 'proProjectId'     -> ProjectsZonesClustersList projectsZonesClustersList pProZone_ pProProjectId_ =-    ProjectsZonesClustersList'+  ProjectsZonesClustersList'     { _proParent = Nothing     , _proXgafv = Nothing     , _proUploadProtocol = Nothing@@ -114,6 +117,7 @@     , _proProjectId = pProProjectId_     , _proCallback = Nothing     }+  -- | The parent (project and location) where the clusters will be listed. -- Specified in the format \'projects\/*\/locations\/*\'. Location \"-\"
gen/Network/Google/Resource/Container/Projects/Zones/Clusters/Locations.hs view
@@ -70,7 +70,8 @@ -- | Sets the locations for a specific cluster. -- -- /See:/ 'projectsZonesClustersLocations' smart constructor.-data ProjectsZonesClustersLocations = ProjectsZonesClustersLocations'+data ProjectsZonesClustersLocations =+  ProjectsZonesClustersLocations'     { _pXgafv          :: !(Maybe Xgafv)     , _pUploadProtocol :: !(Maybe Text)     , _pAccessToken    :: !(Maybe Text)@@ -80,8 +81,10 @@     , _pClusterId      :: !Text     , _pProjectId      :: !Text     , _pCallback       :: !(Maybe Text)-    } deriving (Eq,Show,Data,Typeable,Generic)+    }+  deriving (Eq, Show, Data, Typeable, Generic) + -- | Creates a value of 'ProjectsZonesClustersLocations' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired:@@ -110,7 +113,7 @@     -> Text -- ^ 'pProjectId'     -> ProjectsZonesClustersLocations projectsZonesClustersLocations pPZone_ pPPayload_ pPClusterId_ pPProjectId_ =-    ProjectsZonesClustersLocations'+  ProjectsZonesClustersLocations'     { _pXgafv = Nothing     , _pUploadProtocol = Nothing     , _pAccessToken = Nothing@@ -121,6 +124,7 @@     , _pProjectId = pPProjectId_     , _pCallback = Nothing     }+  -- | V1 error format. pXgafv :: Lens' ProjectsZonesClustersLocations (Maybe Xgafv)
gen/Network/Google/Resource/Container/Projects/Zones/Clusters/Logging.hs view
@@ -70,7 +70,8 @@ -- | Sets the logging service for a specific cluster. -- -- /See:/ 'projectsZonesClustersLogging' smart constructor.-data ProjectsZonesClustersLogging = ProjectsZonesClustersLogging'+data ProjectsZonesClustersLogging =+  ProjectsZonesClustersLogging'     { _pzclXgafv          :: !(Maybe Xgafv)     , _pzclUploadProtocol :: !(Maybe Text)     , _pzclAccessToken    :: !(Maybe Text)@@ -80,8 +81,10 @@     , _pzclClusterId      :: !Text     , _pzclProjectId      :: !Text     , _pzclCallback       :: !(Maybe Text)-    } deriving (Eq,Show,Data,Typeable,Generic)+    }+  deriving (Eq, Show, Data, Typeable, Generic) + -- | Creates a value of 'ProjectsZonesClustersLogging' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired:@@ -110,7 +113,7 @@     -> Text -- ^ 'pzclProjectId'     -> ProjectsZonesClustersLogging projectsZonesClustersLogging pPzclZone_ pPzclPayload_ pPzclClusterId_ pPzclProjectId_ =-    ProjectsZonesClustersLogging'+  ProjectsZonesClustersLogging'     { _pzclXgafv = Nothing     , _pzclUploadProtocol = Nothing     , _pzclAccessToken = Nothing@@ -121,6 +124,7 @@     , _pzclProjectId = pPzclProjectId_     , _pzclCallback = Nothing     }+  -- | V1 error format. pzclXgafv :: Lens' ProjectsZonesClustersLogging (Maybe Xgafv)
gen/Network/Google/Resource/Container/Projects/Zones/Clusters/Master.hs view
@@ -70,7 +70,8 @@ -- | Updates the master for a specific cluster. -- -- /See:/ 'projectsZonesClustersMaster' smart constructor.-data ProjectsZonesClustersMaster = ProjectsZonesClustersMaster'+data ProjectsZonesClustersMaster =+  ProjectsZonesClustersMaster'     { _pzcmXgafv          :: !(Maybe Xgafv)     , _pzcmUploadProtocol :: !(Maybe Text)     , _pzcmAccessToken    :: !(Maybe Text)@@ -80,8 +81,10 @@     , _pzcmClusterId      :: !Text     , _pzcmProjectId      :: !Text     , _pzcmCallback       :: !(Maybe Text)-    } deriving (Eq,Show,Data,Typeable,Generic)+    }+  deriving (Eq, Show, Data, Typeable, Generic) + -- | Creates a value of 'ProjectsZonesClustersMaster' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired:@@ -110,7 +113,7 @@     -> Text -- ^ 'pzcmProjectId'     -> ProjectsZonesClustersMaster projectsZonesClustersMaster pPzcmZone_ pPzcmPayload_ pPzcmClusterId_ pPzcmProjectId_ =-    ProjectsZonesClustersMaster'+  ProjectsZonesClustersMaster'     { _pzcmXgafv = Nothing     , _pzcmUploadProtocol = Nothing     , _pzcmAccessToken = Nothing@@ -121,6 +124,7 @@     , _pzcmProjectId = pPzcmProjectId_     , _pzcmCallback = Nothing     }+  -- | V1 error format. pzcmXgafv :: Lens' ProjectsZonesClustersMaster (Maybe Xgafv)
gen/Network/Google/Resource/Container/Projects/Zones/Clusters/Monitoring.hs view
@@ -70,7 +70,8 @@ -- | Sets the monitoring service for a specific cluster. -- -- /See:/ 'projectsZonesClustersMonitoring' smart constructor.-data ProjectsZonesClustersMonitoring = ProjectsZonesClustersMonitoring'+data ProjectsZonesClustersMonitoring =+  ProjectsZonesClustersMonitoring'     { _pzcmzXgafv          :: !(Maybe Xgafv)     , _pzcmzUploadProtocol :: !(Maybe Text)     , _pzcmzAccessToken    :: !(Maybe Text)@@ -80,8 +81,10 @@     , _pzcmzClusterId      :: !Text     , _pzcmzProjectId      :: !Text     , _pzcmzCallback       :: !(Maybe Text)-    } deriving (Eq,Show,Data,Typeable,Generic)+    }+  deriving (Eq, Show, Data, Typeable, Generic) + -- | Creates a value of 'ProjectsZonesClustersMonitoring' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired:@@ -110,7 +113,7 @@     -> Text -- ^ 'pzcmzProjectId'     -> ProjectsZonesClustersMonitoring projectsZonesClustersMonitoring pPzcmzZone_ pPzcmzPayload_ pPzcmzClusterId_ pPzcmzProjectId_ =-    ProjectsZonesClustersMonitoring'+  ProjectsZonesClustersMonitoring'     { _pzcmzXgafv = Nothing     , _pzcmzUploadProtocol = Nothing     , _pzcmzAccessToken = Nothing@@ -122,6 +125,7 @@     , _pzcmzCallback = Nothing     } + -- | V1 error format. pzcmzXgafv :: Lens' ProjectsZonesClustersMonitoring (Maybe Xgafv) pzcmzXgafv@@ -179,7 +183,8 @@       (\ s a -> s{_pzcmzCallback = a})  instance GoogleRequest-         ProjectsZonesClustersMonitoring where+           ProjectsZonesClustersMonitoring+         where         type Rs ProjectsZonesClustersMonitoring = Operation         type Scopes ProjectsZonesClustersMonitoring =              '["https://www.googleapis.com/auth/cloud-platform"]
gen/Network/Google/Resource/Container/Projects/Zones/Clusters/NodePools/Autoscaling.hs view
@@ -20,7 +20,7 @@ -- Stability   : auto-generated -- Portability : non-portable (GHC extensions) ----- Sets the autoscaling settings for a specific node pool.+-- Sets the autoscaling settings for the specified node pool. -- -- /See:/ <https://cloud.google.com/container-engine/ Kubernetes Engine API Reference> for @container.projects.zones.clusters.nodePools.autoscaling@. module Network.Google.Resource.Container.Projects.Zones.Clusters.NodePools.Autoscaling@@ -72,10 +72,11 @@                                        SetNodePoolAutoscalingRequest                                        :> Post '[JSON] Operation --- | Sets the autoscaling settings for a specific node pool.+-- | Sets the autoscaling settings for the specified node pool. -- -- /See:/ 'projectsZonesClustersNodePoolsAutoscaling' smart constructor.-data ProjectsZonesClustersNodePoolsAutoscaling = ProjectsZonesClustersNodePoolsAutoscaling'+data ProjectsZonesClustersNodePoolsAutoscaling =+  ProjectsZonesClustersNodePoolsAutoscaling'     { _pzcnpaXgafv          :: !(Maybe Xgafv)     , _pzcnpaUploadProtocol :: !(Maybe Text)     , _pzcnpaAccessToken    :: !(Maybe Text)@@ -86,8 +87,10 @@     , _pzcnpaClusterId      :: !Text     , _pzcnpaProjectId      :: !Text     , _pzcnpaCallback       :: !(Maybe Text)-    } deriving (Eq,Show,Data,Typeable,Generic)+    }+  deriving (Eq, Show, Data, Typeable, Generic) + -- | Creates a value of 'ProjectsZonesClustersNodePoolsAutoscaling' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired:@@ -119,7 +122,7 @@     -> Text -- ^ 'pzcnpaProjectId'     -> ProjectsZonesClustersNodePoolsAutoscaling projectsZonesClustersNodePoolsAutoscaling pPzcnpaZone_ pPzcnpaPayload_ pPzcnpaNodePoolId_ pPzcnpaClusterId_ pPzcnpaProjectId_ =-    ProjectsZonesClustersNodePoolsAutoscaling'+  ProjectsZonesClustersNodePoolsAutoscaling'     { _pzcnpaXgafv = Nothing     , _pzcnpaUploadProtocol = Nothing     , _pzcnpaAccessToken = Nothing@@ -132,6 +135,7 @@     , _pzcnpaCallback = Nothing     } + -- | V1 error format. pzcnpaXgafv :: Lens' ProjectsZonesClustersNodePoolsAutoscaling (Maybe Xgafv) pzcnpaXgafv@@ -197,7 +201,8 @@       (\ s a -> s{_pzcnpaCallback = a})  instance GoogleRequest-         ProjectsZonesClustersNodePoolsAutoscaling where+           ProjectsZonesClustersNodePoolsAutoscaling+         where         type Rs ProjectsZonesClustersNodePoolsAutoscaling =              Operation         type Scopes ProjectsZonesClustersNodePoolsAutoscaling
gen/Network/Google/Resource/Container/Projects/Zones/Clusters/NodePools/Create.hs view
@@ -70,7 +70,8 @@ -- | Creates a node pool for a cluster. -- -- /See:/ 'projectsZonesClustersNodePoolsCreate' smart constructor.-data ProjectsZonesClustersNodePoolsCreate = ProjectsZonesClustersNodePoolsCreate'+data ProjectsZonesClustersNodePoolsCreate =+  ProjectsZonesClustersNodePoolsCreate'     { _pzcnpcXgafv          :: !(Maybe Xgafv)     , _pzcnpcUploadProtocol :: !(Maybe Text)     , _pzcnpcAccessToken    :: !(Maybe Text)@@ -80,8 +81,10 @@     , _pzcnpcClusterId      :: !Text     , _pzcnpcProjectId      :: !Text     , _pzcnpcCallback       :: !(Maybe Text)-    } deriving (Eq,Show,Data,Typeable,Generic)+    }+  deriving (Eq, Show, Data, Typeable, Generic) + -- | Creates a value of 'ProjectsZonesClustersNodePoolsCreate' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired:@@ -110,7 +113,7 @@     -> Text -- ^ 'pzcnpcProjectId'     -> ProjectsZonesClustersNodePoolsCreate projectsZonesClustersNodePoolsCreate pPzcnpcZone_ pPzcnpcPayload_ pPzcnpcClusterId_ pPzcnpcProjectId_ =-    ProjectsZonesClustersNodePoolsCreate'+  ProjectsZonesClustersNodePoolsCreate'     { _pzcnpcXgafv = Nothing     , _pzcnpcUploadProtocol = Nothing     , _pzcnpcAccessToken = Nothing@@ -122,6 +125,7 @@     , _pzcnpcCallback = Nothing     } + -- | V1 error format. pzcnpcXgafv :: Lens' ProjectsZonesClustersNodePoolsCreate (Maybe Xgafv) pzcnpcXgafv@@ -180,7 +184,8 @@       (\ s a -> s{_pzcnpcCallback = a})  instance GoogleRequest-         ProjectsZonesClustersNodePoolsCreate where+           ProjectsZonesClustersNodePoolsCreate+         where         type Rs ProjectsZonesClustersNodePoolsCreate =              Operation         type Scopes ProjectsZonesClustersNodePoolsCreate =
gen/Network/Google/Resource/Container/Projects/Zones/Clusters/NodePools/Delete.hs view
@@ -72,7 +72,8 @@ -- | Deletes a node pool from a cluster. -- -- /See:/ 'projectsZonesClustersNodePoolsDelete' smart constructor.-data ProjectsZonesClustersNodePoolsDelete = ProjectsZonesClustersNodePoolsDelete'+data ProjectsZonesClustersNodePoolsDelete =+  ProjectsZonesClustersNodePoolsDelete'     { _pzcnpdXgafv          :: !(Maybe Xgafv)     , _pzcnpdUploadProtocol :: !(Maybe Text)     , _pzcnpdAccessToken    :: !(Maybe Text)@@ -83,8 +84,10 @@     , _pzcnpdClusterId      :: !Text     , _pzcnpdProjectId      :: !Text     , _pzcnpdCallback       :: !(Maybe Text)-    } deriving (Eq,Show,Data,Typeable,Generic)+    }+  deriving (Eq, Show, Data, Typeable, Generic) + -- | Creates a value of 'ProjectsZonesClustersNodePoolsDelete' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired:@@ -115,7 +118,7 @@     -> Text -- ^ 'pzcnpdProjectId'     -> ProjectsZonesClustersNodePoolsDelete projectsZonesClustersNodePoolsDelete pPzcnpdZone_ pPzcnpdNodePoolId_ pPzcnpdClusterId_ pPzcnpdProjectId_ =-    ProjectsZonesClustersNodePoolsDelete'+  ProjectsZonesClustersNodePoolsDelete'     { _pzcnpdXgafv = Nothing     , _pzcnpdUploadProtocol = Nothing     , _pzcnpdAccessToken = Nothing@@ -128,6 +131,7 @@     , _pzcnpdCallback = Nothing     } + -- | V1 error format. pzcnpdXgafv :: Lens' ProjectsZonesClustersNodePoolsDelete (Maybe Xgafv) pzcnpdXgafv@@ -194,7 +198,8 @@       (\ s a -> s{_pzcnpdCallback = a})  instance GoogleRequest-         ProjectsZonesClustersNodePoolsDelete where+           ProjectsZonesClustersNodePoolsDelete+         where         type Rs ProjectsZonesClustersNodePoolsDelete =              Operation         type Scopes ProjectsZonesClustersNodePoolsDelete =
gen/Network/Google/Resource/Container/Projects/Zones/Clusters/NodePools/Get.hs view
@@ -20,7 +20,7 @@ -- Stability   : auto-generated -- Portability : non-portable (GHC extensions) ----- Retrieves the node pool requested.+-- Retrieves the requested node pool. -- -- /See:/ <https://cloud.google.com/container-engine/ Kubernetes Engine API Reference> for @container.projects.zones.clusters.nodePools.get@. module Network.Google.Resource.Container.Projects.Zones.Clusters.NodePools.Get@@ -69,10 +69,11 @@                                    QueryParam "alt" AltJSON :>                                      Get '[JSON] NodePool --- | Retrieves the node pool requested.+-- | Retrieves the requested node pool. -- -- /See:/ 'projectsZonesClustersNodePoolsGet' smart constructor.-data ProjectsZonesClustersNodePoolsGet = ProjectsZonesClustersNodePoolsGet'+data ProjectsZonesClustersNodePoolsGet =+  ProjectsZonesClustersNodePoolsGet'     { _pzcnpgXgafv          :: !(Maybe Xgafv)     , _pzcnpgUploadProtocol :: !(Maybe Text)     , _pzcnpgAccessToken    :: !(Maybe Text)@@ -83,8 +84,10 @@     , _pzcnpgClusterId      :: !Text     , _pzcnpgProjectId      :: !Text     , _pzcnpgCallback       :: !(Maybe Text)-    } deriving (Eq,Show,Data,Typeable,Generic)+    }+  deriving (Eq, Show, Data, Typeable, Generic) + -- | Creates a value of 'ProjectsZonesClustersNodePoolsGet' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired:@@ -115,7 +118,7 @@     -> Text -- ^ 'pzcnpgProjectId'     -> ProjectsZonesClustersNodePoolsGet projectsZonesClustersNodePoolsGet pPzcnpgZone_ pPzcnpgNodePoolId_ pPzcnpgClusterId_ pPzcnpgProjectId_ =-    ProjectsZonesClustersNodePoolsGet'+  ProjectsZonesClustersNodePoolsGet'     { _pzcnpgXgafv = Nothing     , _pzcnpgUploadProtocol = Nothing     , _pzcnpgAccessToken = Nothing@@ -128,6 +131,7 @@     , _pzcnpgCallback = Nothing     } + -- | V1 error format. pzcnpgXgafv :: Lens' ProjectsZonesClustersNodePoolsGet (Maybe Xgafv) pzcnpgXgafv@@ -194,7 +198,8 @@       (\ s a -> s{_pzcnpgCallback = a})  instance GoogleRequest-         ProjectsZonesClustersNodePoolsGet where+           ProjectsZonesClustersNodePoolsGet+         where         type Rs ProjectsZonesClustersNodePoolsGet = NodePool         type Scopes ProjectsZonesClustersNodePoolsGet =              '["https://www.googleapis.com/auth/cloud-platform"]
gen/Network/Google/Resource/Container/Projects/Zones/Clusters/NodePools/List.hs view
@@ -70,7 +70,8 @@ -- | Lists the node pools for a cluster. -- -- /See:/ 'projectsZonesClustersNodePoolsList' smart constructor.-data ProjectsZonesClustersNodePoolsList = ProjectsZonesClustersNodePoolsList'+data ProjectsZonesClustersNodePoolsList =+  ProjectsZonesClustersNodePoolsList'     { _pzcnplParent         :: !(Maybe Text)     , _pzcnplXgafv          :: !(Maybe Xgafv)     , _pzcnplUploadProtocol :: !(Maybe Text)@@ -80,8 +81,10 @@     , _pzcnplClusterId      :: !Text     , _pzcnplProjectId      :: !Text     , _pzcnplCallback       :: !(Maybe Text)-    } deriving (Eq,Show,Data,Typeable,Generic)+    }+  deriving (Eq, Show, Data, Typeable, Generic) + -- | Creates a value of 'ProjectsZonesClustersNodePoolsList' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired:@@ -109,7 +112,7 @@     -> Text -- ^ 'pzcnplProjectId'     -> ProjectsZonesClustersNodePoolsList projectsZonesClustersNodePoolsList pPzcnplZone_ pPzcnplClusterId_ pPzcnplProjectId_ =-    ProjectsZonesClustersNodePoolsList'+  ProjectsZonesClustersNodePoolsList'     { _pzcnplParent = Nothing     , _pzcnplXgafv = Nothing     , _pzcnplUploadProtocol = Nothing@@ -121,6 +124,7 @@     , _pzcnplCallback = Nothing     } + -- | The parent (project, location, cluster id) where the node pools will be -- listed. Specified in the format -- \'projects\/*\/locations\/*\/clusters\/*\'.@@ -180,7 +184,8 @@       (\ s a -> s{_pzcnplCallback = a})  instance GoogleRequest-         ProjectsZonesClustersNodePoolsList where+           ProjectsZonesClustersNodePoolsList+         where         type Rs ProjectsZonesClustersNodePoolsList =              ListNodePoolsResponse         type Scopes ProjectsZonesClustersNodePoolsList =
gen/Network/Google/Resource/Container/Projects/Zones/Clusters/NodePools/Rollback.hs view
@@ -20,8 +20,8 @@ -- Stability   : auto-generated -- Portability : non-portable (GHC extensions) ----- Roll back the previously Aborted or Failed NodePool upgrade. This will--- be an no-op if the last upgrade successfully completed.+-- Rolls back a previously Aborted or Failed NodePool upgrade. This makes+-- no changes if the last upgrade successfully completed. -- -- /See:/ <https://cloud.google.com/container-engine/ Kubernetes Engine API Reference> for @container.projects.zones.clusters.nodePools.rollback@. module Network.Google.Resource.Container.Projects.Zones.Clusters.NodePools.Rollback@@ -71,11 +71,12 @@                                      RollbackNodePoolUpgradeRequest                                      :> Post '[JSON] Operation --- | Roll back the previously Aborted or Failed NodePool upgrade. This will--- be an no-op if the last upgrade successfully completed.+-- | Rolls back a previously Aborted or Failed NodePool upgrade. This makes+-- no changes if the last upgrade successfully completed. -- -- /See:/ 'projectsZonesClustersNodePoolsRollback' smart constructor.-data ProjectsZonesClustersNodePoolsRollback = ProjectsZonesClustersNodePoolsRollback'+data ProjectsZonesClustersNodePoolsRollback =+  ProjectsZonesClustersNodePoolsRollback'     { _pzcnprXgafv          :: !(Maybe Xgafv)     , _pzcnprUploadProtocol :: !(Maybe Text)     , _pzcnprAccessToken    :: !(Maybe Text)@@ -86,8 +87,10 @@     , _pzcnprClusterId      :: !Text     , _pzcnprProjectId      :: !Text     , _pzcnprCallback       :: !(Maybe Text)-    } deriving (Eq,Show,Data,Typeable,Generic)+    }+  deriving (Eq, Show, Data, Typeable, Generic) + -- | Creates a value of 'ProjectsZonesClustersNodePoolsRollback' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired:@@ -119,7 +122,7 @@     -> Text -- ^ 'pzcnprProjectId'     -> ProjectsZonesClustersNodePoolsRollback projectsZonesClustersNodePoolsRollback pPzcnprZone_ pPzcnprPayload_ pPzcnprNodePoolId_ pPzcnprClusterId_ pPzcnprProjectId_ =-    ProjectsZonesClustersNodePoolsRollback'+  ProjectsZonesClustersNodePoolsRollback'     { _pzcnprXgafv = Nothing     , _pzcnprUploadProtocol = Nothing     , _pzcnprAccessToken = Nothing@@ -132,6 +135,7 @@     , _pzcnprCallback = Nothing     } + -- | V1 error format. pzcnprXgafv :: Lens' ProjectsZonesClustersNodePoolsRollback (Maybe Xgafv) pzcnprXgafv@@ -197,7 +201,8 @@       (\ s a -> s{_pzcnprCallback = a})  instance GoogleRequest-         ProjectsZonesClustersNodePoolsRollback where+           ProjectsZonesClustersNodePoolsRollback+         where         type Rs ProjectsZonesClustersNodePoolsRollback =              Operation         type Scopes ProjectsZonesClustersNodePoolsRollback =
gen/Network/Google/Resource/Container/Projects/Zones/Clusters/NodePools/SetManagement.hs view
@@ -75,7 +75,8 @@ -- | Sets the NodeManagement options for a node pool. -- -- /See:/ 'projectsZonesClustersNodePoolsSetManagement' smart constructor.-data ProjectsZonesClustersNodePoolsSetManagement = ProjectsZonesClustersNodePoolsSetManagement'+data ProjectsZonesClustersNodePoolsSetManagement =+  ProjectsZonesClustersNodePoolsSetManagement'     { _pzcnpsmXgafv          :: !(Maybe Xgafv)     , _pzcnpsmUploadProtocol :: !(Maybe Text)     , _pzcnpsmAccessToken    :: !(Maybe Text)@@ -86,8 +87,10 @@     , _pzcnpsmClusterId      :: !Text     , _pzcnpsmProjectId      :: !Text     , _pzcnpsmCallback       :: !(Maybe Text)-    } deriving (Eq,Show,Data,Typeable,Generic)+    }+  deriving (Eq, Show, Data, Typeable, Generic) + -- | Creates a value of 'ProjectsZonesClustersNodePoolsSetManagement' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired:@@ -119,7 +122,7 @@     -> Text -- ^ 'pzcnpsmProjectId'     -> ProjectsZonesClustersNodePoolsSetManagement projectsZonesClustersNodePoolsSetManagement pPzcnpsmZone_ pPzcnpsmPayload_ pPzcnpsmNodePoolId_ pPzcnpsmClusterId_ pPzcnpsmProjectId_ =-    ProjectsZonesClustersNodePoolsSetManagement'+  ProjectsZonesClustersNodePoolsSetManagement'     { _pzcnpsmXgafv = Nothing     , _pzcnpsmUploadProtocol = Nothing     , _pzcnpsmAccessToken = Nothing@@ -132,6 +135,7 @@     , _pzcnpsmCallback = Nothing     } + -- | V1 error format. pzcnpsmXgafv :: Lens' ProjectsZonesClustersNodePoolsSetManagement (Maybe Xgafv) pzcnpsmXgafv@@ -197,7 +201,8 @@       (\ s a -> s{_pzcnpsmCallback = a})  instance GoogleRequest-         ProjectsZonesClustersNodePoolsSetManagement where+           ProjectsZonesClustersNodePoolsSetManagement+         where         type Rs ProjectsZonesClustersNodePoolsSetManagement =              Operation         type Scopes
gen/Network/Google/Resource/Container/Projects/Zones/Clusters/NodePools/SetSize.hs view
@@ -73,7 +73,8 @@ -- | Sets the size for a specific node pool. -- -- /See:/ 'projectsZonesClustersNodePoolsSetSize' smart constructor.-data ProjectsZonesClustersNodePoolsSetSize = ProjectsZonesClustersNodePoolsSetSize'+data ProjectsZonesClustersNodePoolsSetSize =+  ProjectsZonesClustersNodePoolsSetSize'     { _pzcnpssXgafv          :: !(Maybe Xgafv)     , _pzcnpssUploadProtocol :: !(Maybe Text)     , _pzcnpssAccessToken    :: !(Maybe Text)@@ -84,8 +85,10 @@     , _pzcnpssClusterId      :: !Text     , _pzcnpssProjectId      :: !Text     , _pzcnpssCallback       :: !(Maybe Text)-    } deriving (Eq,Show,Data,Typeable,Generic)+    }+  deriving (Eq, Show, Data, Typeable, Generic) + -- | Creates a value of 'ProjectsZonesClustersNodePoolsSetSize' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired:@@ -117,7 +120,7 @@     -> Text -- ^ 'pzcnpssProjectId'     -> ProjectsZonesClustersNodePoolsSetSize projectsZonesClustersNodePoolsSetSize pPzcnpssZone_ pPzcnpssPayload_ pPzcnpssNodePoolId_ pPzcnpssClusterId_ pPzcnpssProjectId_ =-    ProjectsZonesClustersNodePoolsSetSize'+  ProjectsZonesClustersNodePoolsSetSize'     { _pzcnpssXgafv = Nothing     , _pzcnpssUploadProtocol = Nothing     , _pzcnpssAccessToken = Nothing@@ -130,6 +133,7 @@     , _pzcnpssCallback = Nothing     } + -- | V1 error format. pzcnpssXgafv :: Lens' ProjectsZonesClustersNodePoolsSetSize (Maybe Xgafv) pzcnpssXgafv@@ -195,7 +199,8 @@       (\ s a -> s{_pzcnpssCallback = a})  instance GoogleRequest-         ProjectsZonesClustersNodePoolsSetSize where+           ProjectsZonesClustersNodePoolsSetSize+         where         type Rs ProjectsZonesClustersNodePoolsSetSize =              Operation         type Scopes ProjectsZonesClustersNodePoolsSetSize =
gen/Network/Google/Resource/Container/Projects/Zones/Clusters/NodePools/Update.hs view
@@ -20,7 +20,7 @@ -- Stability   : auto-generated -- Portability : non-portable (GHC extensions) ----- Updates the version and\/or image type for a specific node pool.+-- Updates the version and\/or image type for the specified node pool. -- -- /See:/ <https://cloud.google.com/container-engine/ Kubernetes Engine API Reference> for @container.projects.zones.clusters.nodePools.update@. module Network.Google.Resource.Container.Projects.Zones.Clusters.NodePools.Update@@ -70,10 +70,11 @@                                      ReqBody '[JSON] UpdateNodePoolRequest :>                                        Post '[JSON] Operation --- | Updates the version and\/or image type for a specific node pool.+-- | Updates the version and\/or image type for the specified node pool. -- -- /See:/ 'projectsZonesClustersNodePoolsUpdate' smart constructor.-data ProjectsZonesClustersNodePoolsUpdate = ProjectsZonesClustersNodePoolsUpdate'+data ProjectsZonesClustersNodePoolsUpdate =+  ProjectsZonesClustersNodePoolsUpdate'     { _pzcnpuXgafv          :: !(Maybe Xgafv)     , _pzcnpuUploadProtocol :: !(Maybe Text)     , _pzcnpuAccessToken    :: !(Maybe Text)@@ -84,8 +85,10 @@     , _pzcnpuClusterId      :: !Text     , _pzcnpuProjectId      :: !Text     , _pzcnpuCallback       :: !(Maybe Text)-    } deriving (Eq,Show,Data,Typeable,Generic)+    }+  deriving (Eq, Show, Data, Typeable, Generic) + -- | Creates a value of 'ProjectsZonesClustersNodePoolsUpdate' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired:@@ -117,7 +120,7 @@     -> Text -- ^ 'pzcnpuProjectId'     -> ProjectsZonesClustersNodePoolsUpdate projectsZonesClustersNodePoolsUpdate pPzcnpuZone_ pPzcnpuPayload_ pPzcnpuNodePoolId_ pPzcnpuClusterId_ pPzcnpuProjectId_ =-    ProjectsZonesClustersNodePoolsUpdate'+  ProjectsZonesClustersNodePoolsUpdate'     { _pzcnpuXgafv = Nothing     , _pzcnpuUploadProtocol = Nothing     , _pzcnpuAccessToken = Nothing@@ -130,6 +133,7 @@     , _pzcnpuCallback = Nothing     } + -- | V1 error format. pzcnpuXgafv :: Lens' ProjectsZonesClustersNodePoolsUpdate (Maybe Xgafv) pzcnpuXgafv@@ -195,7 +199,8 @@       (\ s a -> s{_pzcnpuCallback = a})  instance GoogleRequest-         ProjectsZonesClustersNodePoolsUpdate where+           ProjectsZonesClustersNodePoolsUpdate+         where         type Rs ProjectsZonesClustersNodePoolsUpdate =              Operation         type Scopes ProjectsZonesClustersNodePoolsUpdate =
gen/Network/Google/Resource/Container/Projects/Zones/Clusters/ResourceLabels.hs view
@@ -70,7 +70,8 @@ -- | Sets labels on a cluster. -- -- /See:/ 'projectsZonesClustersResourceLabels' smart constructor.-data ProjectsZonesClustersResourceLabels = ProjectsZonesClustersResourceLabels'+data ProjectsZonesClustersResourceLabels =+  ProjectsZonesClustersResourceLabels'     { _pzcrlXgafv          :: !(Maybe Xgafv)     , _pzcrlUploadProtocol :: !(Maybe Text)     , _pzcrlAccessToken    :: !(Maybe Text)@@ -80,8 +81,10 @@     , _pzcrlClusterId      :: !Text     , _pzcrlProjectId      :: !Text     , _pzcrlCallback       :: !(Maybe Text)-    } deriving (Eq,Show,Data,Typeable,Generic)+    }+  deriving (Eq, Show, Data, Typeable, Generic) + -- | Creates a value of 'ProjectsZonesClustersResourceLabels' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired:@@ -110,7 +113,7 @@     -> Text -- ^ 'pzcrlProjectId'     -> ProjectsZonesClustersResourceLabels projectsZonesClustersResourceLabels pPzcrlZone_ pPzcrlPayload_ pPzcrlClusterId_ pPzcrlProjectId_ =-    ProjectsZonesClustersResourceLabels'+  ProjectsZonesClustersResourceLabels'     { _pzcrlXgafv = Nothing     , _pzcrlUploadProtocol = Nothing     , _pzcrlAccessToken = Nothing@@ -122,6 +125,7 @@     , _pzcrlCallback = Nothing     } + -- | V1 error format. pzcrlXgafv :: Lens' ProjectsZonesClustersResourceLabels (Maybe Xgafv) pzcrlXgafv@@ -179,7 +183,8 @@       (\ s a -> s{_pzcrlCallback = a})  instance GoogleRequest-         ProjectsZonesClustersResourceLabels where+           ProjectsZonesClustersResourceLabels+         where         type Rs ProjectsZonesClustersResourceLabels =              Operation         type Scopes ProjectsZonesClustersResourceLabels =
gen/Network/Google/Resource/Container/Projects/Zones/Clusters/SetMaintenancePolicy.hs view
@@ -71,7 +71,8 @@ -- | Sets the maintenance policy for a cluster. -- -- /See:/ 'projectsZonesClustersSetMaintenancePolicy' smart constructor.-data ProjectsZonesClustersSetMaintenancePolicy = ProjectsZonesClustersSetMaintenancePolicy'+data ProjectsZonesClustersSetMaintenancePolicy =+  ProjectsZonesClustersSetMaintenancePolicy'     { _pzcsmpXgafv          :: !(Maybe Xgafv)     , _pzcsmpUploadProtocol :: !(Maybe Text)     , _pzcsmpAccessToken    :: !(Maybe Text)@@ -81,8 +82,10 @@     , _pzcsmpClusterId      :: !Text     , _pzcsmpProjectId      :: !Text     , _pzcsmpCallback       :: !(Maybe Text)-    } deriving (Eq,Show,Data,Typeable,Generic)+    }+  deriving (Eq, Show, Data, Typeable, Generic) + -- | Creates a value of 'ProjectsZonesClustersSetMaintenancePolicy' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired:@@ -111,7 +114,7 @@     -> Text -- ^ 'pzcsmpProjectId'     -> ProjectsZonesClustersSetMaintenancePolicy projectsZonesClustersSetMaintenancePolicy pPzcsmpZone_ pPzcsmpPayload_ pPzcsmpClusterId_ pPzcsmpProjectId_ =-    ProjectsZonesClustersSetMaintenancePolicy'+  ProjectsZonesClustersSetMaintenancePolicy'     { _pzcsmpXgafv = Nothing     , _pzcsmpUploadProtocol = Nothing     , _pzcsmpAccessToken = Nothing@@ -123,6 +126,7 @@     , _pzcsmpCallback = Nothing     } + -- | V1 error format. pzcsmpXgafv :: Lens' ProjectsZonesClustersSetMaintenancePolicy (Maybe Xgafv) pzcsmpXgafv@@ -178,7 +182,8 @@       (\ s a -> s{_pzcsmpCallback = a})  instance GoogleRequest-         ProjectsZonesClustersSetMaintenancePolicy where+           ProjectsZonesClustersSetMaintenancePolicy+         where         type Rs ProjectsZonesClustersSetMaintenancePolicy =              Operation         type Scopes ProjectsZonesClustersSetMaintenancePolicy
gen/Network/Google/Resource/Container/Projects/Zones/Clusters/SetMasterAuth.hs view
@@ -20,9 +20,9 @@ -- Stability   : auto-generated -- Portability : non-portable (GHC extensions) ----- Used to set master auth materials. Currently supports :- Changing the--- admin password for a specific cluster. This can be either via password--- generation or explicitly set the password.+-- Sets master auth materials. Currently supports changing the admin+-- password or a specific cluster, either via password generation or+-- explicitly setting the password. -- -- /See:/ <https://cloud.google.com/container-engine/ Kubernetes Engine API Reference> for @container.projects.zones.clusters.setMasterAuth@. module Network.Google.Resource.Container.Projects.Zones.Clusters.SetMasterAuth@@ -68,12 +68,13 @@                                ReqBody '[JSON] SetMasterAuthRequest :>                                  Post '[JSON] Operation --- | Used to set master auth materials. Currently supports :- Changing the--- admin password for a specific cluster. This can be either via password--- generation or explicitly set the password.+-- | Sets master auth materials. Currently supports changing the admin+-- password or a specific cluster, either via password generation or+-- explicitly setting the password. -- -- /See:/ 'projectsZonesClustersSetMasterAuth' smart constructor.-data ProjectsZonesClustersSetMasterAuth = ProjectsZonesClustersSetMasterAuth'+data ProjectsZonesClustersSetMasterAuth =+  ProjectsZonesClustersSetMasterAuth'     { _pzcsmaXgafv          :: !(Maybe Xgafv)     , _pzcsmaUploadProtocol :: !(Maybe Text)     , _pzcsmaAccessToken    :: !(Maybe Text)@@ -83,8 +84,10 @@     , _pzcsmaClusterId      :: !Text     , _pzcsmaProjectId      :: !Text     , _pzcsmaCallback       :: !(Maybe Text)-    } deriving (Eq,Show,Data,Typeable,Generic)+    }+  deriving (Eq, Show, Data, Typeable, Generic) + -- | Creates a value of 'ProjectsZonesClustersSetMasterAuth' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired:@@ -113,7 +116,7 @@     -> Text -- ^ 'pzcsmaProjectId'     -> ProjectsZonesClustersSetMasterAuth projectsZonesClustersSetMasterAuth pPzcsmaZone_ pPzcsmaPayload_ pPzcsmaClusterId_ pPzcsmaProjectId_ =-    ProjectsZonesClustersSetMasterAuth'+  ProjectsZonesClustersSetMasterAuth'     { _pzcsmaXgafv = Nothing     , _pzcsmaUploadProtocol = Nothing     , _pzcsmaAccessToken = Nothing@@ -125,6 +128,7 @@     , _pzcsmaCallback = Nothing     } + -- | V1 error format. pzcsmaXgafv :: Lens' ProjectsZonesClustersSetMasterAuth (Maybe Xgafv) pzcsmaXgafv@@ -183,7 +187,8 @@       (\ s a -> s{_pzcsmaCallback = a})  instance GoogleRequest-         ProjectsZonesClustersSetMasterAuth where+           ProjectsZonesClustersSetMasterAuth+         where         type Rs ProjectsZonesClustersSetMasterAuth =              Operation         type Scopes ProjectsZonesClustersSetMasterAuth =
gen/Network/Google/Resource/Container/Projects/Zones/Clusters/SetNetworkPolicy.hs view
@@ -20,7 +20,7 @@ -- Stability   : auto-generated -- Portability : non-portable (GHC extensions) ----- Enables\/Disables Network Policy for a cluster.+-- Enables or disables Network Policy for a cluster. -- -- /See:/ <https://cloud.google.com/container-engine/ Kubernetes Engine API Reference> for @container.projects.zones.clusters.setNetworkPolicy@. module Network.Google.Resource.Container.Projects.Zones.Clusters.SetNetworkPolicy@@ -66,10 +66,11 @@                                ReqBody '[JSON] SetNetworkPolicyRequest :>                                  Post '[JSON] Operation --- | Enables\/Disables Network Policy for a cluster.+-- | Enables or disables Network Policy for a cluster. -- -- /See:/ 'projectsZonesClustersSetNetworkPolicy' smart constructor.-data ProjectsZonesClustersSetNetworkPolicy = ProjectsZonesClustersSetNetworkPolicy'+data ProjectsZonesClustersSetNetworkPolicy =+  ProjectsZonesClustersSetNetworkPolicy'     { _pzcsnpXgafv          :: !(Maybe Xgafv)     , _pzcsnpUploadProtocol :: !(Maybe Text)     , _pzcsnpAccessToken    :: !(Maybe Text)@@ -79,8 +80,10 @@     , _pzcsnpClusterId      :: !Text     , _pzcsnpProjectId      :: !Text     , _pzcsnpCallback       :: !(Maybe Text)-    } deriving (Eq,Show,Data,Typeable,Generic)+    }+  deriving (Eq, Show, Data, Typeable, Generic) + -- | Creates a value of 'ProjectsZonesClustersSetNetworkPolicy' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired:@@ -109,7 +112,7 @@     -> Text -- ^ 'pzcsnpProjectId'     -> ProjectsZonesClustersSetNetworkPolicy projectsZonesClustersSetNetworkPolicy pPzcsnpZone_ pPzcsnpPayload_ pPzcsnpClusterId_ pPzcsnpProjectId_ =-    ProjectsZonesClustersSetNetworkPolicy'+  ProjectsZonesClustersSetNetworkPolicy'     { _pzcsnpXgafv = Nothing     , _pzcsnpUploadProtocol = Nothing     , _pzcsnpAccessToken = Nothing@@ -121,6 +124,7 @@     , _pzcsnpCallback = Nothing     } + -- | V1 error format. pzcsnpXgafv :: Lens' ProjectsZonesClustersSetNetworkPolicy (Maybe Xgafv) pzcsnpXgafv@@ -179,7 +183,8 @@       (\ s a -> s{_pzcsnpCallback = a})  instance GoogleRequest-         ProjectsZonesClustersSetNetworkPolicy where+           ProjectsZonesClustersSetNetworkPolicy+         where         type Rs ProjectsZonesClustersSetNetworkPolicy =              Operation         type Scopes ProjectsZonesClustersSetNetworkPolicy =
gen/Network/Google/Resource/Container/Projects/Zones/Clusters/StartIPRotation.hs view
@@ -20,7 +20,7 @@ -- Stability   : auto-generated -- Portability : non-portable (GHC extensions) ----- Start master IP rotation.+-- Starts master IP rotation. -- -- /See:/ <https://cloud.google.com/container-engine/ Kubernetes Engine API Reference> for @container.projects.zones.clusters.startIpRotation@. module Network.Google.Resource.Container.Projects.Zones.Clusters.StartIPRotation@@ -66,10 +66,11 @@                                ReqBody '[JSON] StartIPRotationRequest :>                                  Post '[JSON] Operation --- | Start master IP rotation.+-- | Starts master IP rotation. -- -- /See:/ 'projectsZonesClustersStartIPRotation' smart constructor.-data ProjectsZonesClustersStartIPRotation = ProjectsZonesClustersStartIPRotation'+data ProjectsZonesClustersStartIPRotation =+  ProjectsZonesClustersStartIPRotation'     { _pzcsirXgafv          :: !(Maybe Xgafv)     , _pzcsirUploadProtocol :: !(Maybe Text)     , _pzcsirAccessToken    :: !(Maybe Text)@@ -79,8 +80,10 @@     , _pzcsirClusterId      :: !Text     , _pzcsirProjectId      :: !Text     , _pzcsirCallback       :: !(Maybe Text)-    } deriving (Eq,Show,Data,Typeable,Generic)+    }+  deriving (Eq, Show, Data, Typeable, Generic) + -- | Creates a value of 'ProjectsZonesClustersStartIPRotation' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired:@@ -109,7 +112,7 @@     -> Text -- ^ 'pzcsirProjectId'     -> ProjectsZonesClustersStartIPRotation projectsZonesClustersStartIPRotation pPzcsirZone_ pPzcsirPayload_ pPzcsirClusterId_ pPzcsirProjectId_ =-    ProjectsZonesClustersStartIPRotation'+  ProjectsZonesClustersStartIPRotation'     { _pzcsirXgafv = Nothing     , _pzcsirUploadProtocol = Nothing     , _pzcsirAccessToken = Nothing@@ -121,6 +124,7 @@     , _pzcsirCallback = Nothing     } + -- | V1 error format. pzcsirXgafv :: Lens' ProjectsZonesClustersStartIPRotation (Maybe Xgafv) pzcsirXgafv@@ -179,7 +183,8 @@       (\ s a -> s{_pzcsirCallback = a})  instance GoogleRequest-         ProjectsZonesClustersStartIPRotation where+           ProjectsZonesClustersStartIPRotation+         where         type Rs ProjectsZonesClustersStartIPRotation =              Operation         type Scopes ProjectsZonesClustersStartIPRotation =
gen/Network/Google/Resource/Container/Projects/Zones/Clusters/Update.hs view
@@ -69,7 +69,8 @@ -- | Updates the settings of a specific cluster. -- -- /See:/ 'projectsZonesClustersUpdate' smart constructor.-data ProjectsZonesClustersUpdate = ProjectsZonesClustersUpdate'+data ProjectsZonesClustersUpdate =+  ProjectsZonesClustersUpdate'     { _pzcuXgafv          :: !(Maybe Xgafv)     , _pzcuUploadProtocol :: !(Maybe Text)     , _pzcuAccessToken    :: !(Maybe Text)@@ -79,8 +80,10 @@     , _pzcuClusterId      :: !Text     , _pzcuProjectId      :: !Text     , _pzcuCallback       :: !(Maybe Text)-    } deriving (Eq,Show,Data,Typeable,Generic)+    }+  deriving (Eq, Show, Data, Typeable, Generic) + -- | Creates a value of 'ProjectsZonesClustersUpdate' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired:@@ -109,7 +112,7 @@     -> Text -- ^ 'pzcuProjectId'     -> ProjectsZonesClustersUpdate projectsZonesClustersUpdate pPzcuZone_ pPzcuPayload_ pPzcuClusterId_ pPzcuProjectId_ =-    ProjectsZonesClustersUpdate'+  ProjectsZonesClustersUpdate'     { _pzcuXgafv = Nothing     , _pzcuUploadProtocol = Nothing     , _pzcuAccessToken = Nothing@@ -120,6 +123,7 @@     , _pzcuProjectId = pPzcuProjectId_     , _pzcuCallback = Nothing     }+  -- | V1 error format. pzcuXgafv :: Lens' ProjectsZonesClustersUpdate (Maybe Xgafv)
gen/Network/Google/Resource/Container/Projects/Zones/GetServerConfig.hs view
@@ -20,7 +20,7 @@ -- Stability   : auto-generated -- Portability : non-portable (GHC extensions) ----- Returns configuration info about the Kubernetes Engine service.+-- Returns configuration info about the Google Kubernetes Engine service. -- -- /See:/ <https://cloud.google.com/container-engine/ Kubernetes Engine API Reference> for @container.projects.zones.getServerconfig@. module Network.Google.Resource.Container.Projects.Zones.GetServerConfig@@ -64,10 +64,11 @@                              QueryParam "alt" AltJSON :>                                Get '[JSON] ServerConfig --- | Returns configuration info about the Kubernetes Engine service.+-- | Returns configuration info about the Google Kubernetes Engine service. -- -- /See:/ 'projectsZonesGetServerConfig' smart constructor.-data ProjectsZonesGetServerConfig = ProjectsZonesGetServerConfig'+data ProjectsZonesGetServerConfig =+  ProjectsZonesGetServerConfig'     { _pzgscXgafv          :: !(Maybe Xgafv)     , _pzgscUploadProtocol :: !(Maybe Text)     , _pzgscAccessToken    :: !(Maybe Text)@@ -76,8 +77,10 @@     , _pzgscName           :: !(Maybe Text)     , _pzgscProjectId      :: !Text     , _pzgscCallback       :: !(Maybe Text)-    } deriving (Eq,Show,Data,Typeable,Generic)+    }+  deriving (Eq, Show, Data, Typeable, Generic) + -- | Creates a value of 'ProjectsZonesGetServerConfig' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired:@@ -102,7 +105,7 @@     -> Text -- ^ 'pzgscProjectId'     -> ProjectsZonesGetServerConfig projectsZonesGetServerConfig pPzgscZone_ pPzgscProjectId_ =-    ProjectsZonesGetServerConfig'+  ProjectsZonesGetServerConfig'     { _pzgscXgafv = Nothing     , _pzgscUploadProtocol = Nothing     , _pzgscAccessToken = Nothing@@ -113,6 +116,7 @@     , _pzgscCallback = Nothing     } + -- | V1 error format. pzgscXgafv :: Lens' ProjectsZonesGetServerConfig (Maybe Xgafv) pzgscXgafv@@ -143,8 +147,8 @@ pzgscZone   = lens _pzgscZone (\ s a -> s{_pzgscZone = a}) --- | The name (project and location) of the server config to get Specified in--- the format \'projects\/*\/locations\/*\'.+-- | The name (project and location) of the server config to get, specified+-- in the format \'projects\/*\/locations\/*\'. pzgscName :: Lens' ProjectsZonesGetServerConfig (Maybe Text) pzgscName   = lens _pzgscName (\ s a -> s{_pzgscName = a})
gen/Network/Google/Resource/Container/Projects/Zones/Operations/Cancel.hs view
@@ -69,7 +69,8 @@ -- | Cancels the specified operation. -- -- /See:/ 'projectsZonesOperationsCancel' smart constructor.-data ProjectsZonesOperationsCancel = ProjectsZonesOperationsCancel'+data ProjectsZonesOperationsCancel =+  ProjectsZonesOperationsCancel'     { _pzocXgafv          :: !(Maybe Xgafv)     , _pzocUploadProtocol :: !(Maybe Text)     , _pzocAccessToken    :: !(Maybe Text)@@ -79,8 +80,10 @@     , _pzocProjectId      :: !Text     , _pzocOperationId    :: !Text     , _pzocCallback       :: !(Maybe Text)-    } deriving (Eq,Show,Data,Typeable,Generic)+    }+  deriving (Eq, Show, Data, Typeable, Generic) + -- | Creates a value of 'ProjectsZonesOperationsCancel' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired:@@ -109,7 +112,7 @@     -> Text -- ^ 'pzocOperationId'     -> ProjectsZonesOperationsCancel projectsZonesOperationsCancel pPzocZone_ pPzocPayload_ pPzocProjectId_ pPzocOperationId_ =-    ProjectsZonesOperationsCancel'+  ProjectsZonesOperationsCancel'     { _pzocXgafv = Nothing     , _pzocUploadProtocol = Nothing     , _pzocAccessToken = Nothing@@ -120,6 +123,7 @@     , _pzocOperationId = pPzocOperationId_     , _pzocCallback = Nothing     }+  -- | V1 error format. pzocXgafv :: Lens' ProjectsZonesOperationsCancel (Maybe Xgafv)
gen/Network/Google/Resource/Container/Projects/Zones/Operations/Get.hs view
@@ -68,7 +68,8 @@ -- | Gets the specified operation. -- -- /See:/ 'projectsZonesOperationsGet' smart constructor.-data ProjectsZonesOperationsGet = ProjectsZonesOperationsGet'+data ProjectsZonesOperationsGet =+  ProjectsZonesOperationsGet'     { _pzogXgafv          :: !(Maybe Xgafv)     , _pzogUploadProtocol :: !(Maybe Text)     , _pzogAccessToken    :: !(Maybe Text)@@ -78,8 +79,10 @@     , _pzogProjectId      :: !Text     , _pzogOperationId    :: !Text     , _pzogCallback       :: !(Maybe Text)-    } deriving (Eq,Show,Data,Typeable,Generic)+    }+  deriving (Eq, Show, Data, Typeable, Generic) + -- | Creates a value of 'ProjectsZonesOperationsGet' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired:@@ -107,7 +110,7 @@     -> Text -- ^ 'pzogOperationId'     -> ProjectsZonesOperationsGet projectsZonesOperationsGet pPzogZone_ pPzogProjectId_ pPzogOperationId_ =-    ProjectsZonesOperationsGet'+  ProjectsZonesOperationsGet'     { _pzogXgafv = Nothing     , _pzogUploadProtocol = Nothing     , _pzogAccessToken = Nothing@@ -118,6 +121,7 @@     , _pzogOperationId = pPzogOperationId_     , _pzogCallback = Nothing     }+  -- | V1 error format. pzogXgafv :: Lens' ProjectsZonesOperationsGet (Maybe Xgafv)
gen/Network/Google/Resource/Container/Projects/Zones/Operations/List.hs view
@@ -67,7 +67,8 @@ -- | Lists all operations in a project in a specific zone or all zones. -- -- /See:/ 'projectsZonesOperationsList' smart constructor.-data ProjectsZonesOperationsList = ProjectsZonesOperationsList'+data ProjectsZonesOperationsList =+  ProjectsZonesOperationsList'     { _pzolParent         :: !(Maybe Text)     , _pzolXgafv          :: !(Maybe Xgafv)     , _pzolUploadProtocol :: !(Maybe Text)@@ -76,8 +77,10 @@     , _pzolZone           :: !Text     , _pzolProjectId      :: !Text     , _pzolCallback       :: !(Maybe Text)-    } deriving (Eq,Show,Data,Typeable,Generic)+    }+  deriving (Eq, Show, Data, Typeable, Generic) + -- | Creates a value of 'ProjectsZonesOperationsList' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired:@@ -102,7 +105,7 @@     -> Text -- ^ 'pzolProjectId'     -> ProjectsZonesOperationsList projectsZonesOperationsList pPzolZone_ pPzolProjectId_ =-    ProjectsZonesOperationsList'+  ProjectsZonesOperationsList'     { _pzolParent = Nothing     , _pzolXgafv = Nothing     , _pzolUploadProtocol = Nothing@@ -112,6 +115,7 @@     , _pzolProjectId = pPzolProjectId_     , _pzolCallback = Nothing     }+  -- | The parent (project and location) where the operations will be listed. -- Specified in the format \'projects\/*\/locations\/*\'. Location \"-\"
gogol-container.cabal view
@@ -1,5 +1,5 @@ name:                  gogol-container-version:               0.4.0+version:               0.5.0 synopsis:              Google Kubernetes Engine SDK. homepage:              https://github.com/brendanhay/gogol bug-reports:           https://github.com/brendanhay/gogol/issues@@ -36,10 +36,12 @@     exposed-modules:           Network.Google.Container         , Network.Google.Container.Types+        , Network.Google.Resource.Container.Projects.Aggregated.UsableSubnetworks.List         , Network.Google.Resource.Container.Projects.Locations.Clusters.CompleteIPRotation         , Network.Google.Resource.Container.Projects.Locations.Clusters.Create         , Network.Google.Resource.Container.Projects.Locations.Clusters.Delete         , Network.Google.Resource.Container.Projects.Locations.Clusters.Get+        , Network.Google.Resource.Container.Projects.Locations.Clusters.GetJWKs         , Network.Google.Resource.Container.Projects.Locations.Clusters.List         , Network.Google.Resource.Container.Projects.Locations.Clusters.NodePools.Create         , Network.Google.Resource.Container.Projects.Locations.Clusters.NodePools.Delete@@ -62,6 +64,7 @@         , Network.Google.Resource.Container.Projects.Locations.Clusters.StartIPRotation         , Network.Google.Resource.Container.Projects.Locations.Clusters.Update         , Network.Google.Resource.Container.Projects.Locations.Clusters.UpdateMaster+        , Network.Google.Resource.Container.Projects.Locations.Clusters.WellKnown.GetOpenidConfiguration         , Network.Google.Resource.Container.Projects.Locations.GetServerConfig         , Network.Google.Resource.Container.Projects.Locations.Operations.Cancel         , Network.Google.Resource.Container.Projects.Locations.Operations.Get@@ -102,5 +105,5 @@         , Network.Google.Container.Types.Sum      build-depends:-          gogol-core == 0.4.0.*+          gogol-core == 0.5.0.*         , base       >= 4.7 && < 5