gogol-compute 0.1.0 → 0.1.1
raw patch · 89 files changed
+25155/−17578 lines, 89 filesdep ~gogol-corePVP: major bump suggested
API removals or changes: PVP suggests a major version bump
Dependency ranges changed: gogol-core
API changes (from Hackage documentation)
- Network.Google.Compute: AH :: ForwardingRuleIPProtocol
- Network.Google.Compute: ClientIP :: TargetPoolSessionAffinity
- Network.Google.Compute: ClientIPProto :: TargetPoolSessionAffinity
- Network.Google.Compute: Esp :: ForwardingRuleIPProtocol
- Network.Google.Compute: Sctp :: ForwardingRuleIPProtocol
- Network.Google.Compute: Udp :: ForwardingRuleIPProtocol
- Network.Google.Compute: httphcCheckIntervalSec :: Lens' HTTPHealthCheck (Maybe Int32)
- Network.Google.Compute: httphcCreationTimestamp :: Lens' HTTPHealthCheck (Maybe Text)
- Network.Google.Compute: httphcDescription :: Lens' HTTPHealthCheck (Maybe Text)
- Network.Google.Compute: httphcHealthyThreshold :: Lens' HTTPHealthCheck (Maybe Int32)
- Network.Google.Compute: httphcId :: Lens' HTTPHealthCheck (Maybe Word64)
- Network.Google.Compute: httphcKind :: Lens' HTTPHealthCheck Text
- Network.Google.Compute: httphcName :: Lens' HTTPHealthCheck (Maybe Text)
- Network.Google.Compute: httphcSelfLink :: Lens' HTTPHealthCheck (Maybe Text)
- Network.Google.Compute: httphcTimeoutSec :: Lens' HTTPHealthCheck (Maybe Int32)
- Network.Google.Compute: httphcUnhealthyThreshold :: Lens' HTTPHealthCheck (Maybe Int32)
- Network.Google.Compute: rDestRange :: Lens' Route (Maybe Text)
- Network.Google.Compute: rNextHopGateway :: Lens' Route (Maybe Text)
- Network.Google.Compute: rNextHopIP :: Lens' Route (Maybe Text)
- Network.Google.Compute: rNextHopInstance :: Lens' Route (Maybe Text)
- Network.Google.Compute: rNextHopNetwork :: Lens' Route (Maybe Text)
- Network.Google.Compute: rNextHopVPNTunnel :: Lens' Route (Maybe Text)
- Network.Google.Compute: rPriority :: Lens' Route (Maybe Word32)
- Network.Google.Compute: rTags :: Lens' Route [Text]
- Network.Google.Compute: rWarnings :: Lens' Route [RouteWarningsItem]
- Network.Google.Compute.Types: AH :: ForwardingRuleIPProtocol
- Network.Google.Compute.Types: ClientIP :: TargetPoolSessionAffinity
- Network.Google.Compute.Types: ClientIPProto :: TargetPoolSessionAffinity
- Network.Google.Compute.Types: Esp :: ForwardingRuleIPProtocol
- Network.Google.Compute.Types: Sctp :: ForwardingRuleIPProtocol
- Network.Google.Compute.Types: Udp :: ForwardingRuleIPProtocol
- Network.Google.Compute.Types: httphcCheckIntervalSec :: Lens' HTTPHealthCheck (Maybe Int32)
- Network.Google.Compute.Types: httphcCreationTimestamp :: Lens' HTTPHealthCheck (Maybe Text)
- Network.Google.Compute.Types: httphcDescription :: Lens' HTTPHealthCheck (Maybe Text)
- Network.Google.Compute.Types: httphcHealthyThreshold :: Lens' HTTPHealthCheck (Maybe Int32)
- Network.Google.Compute.Types: httphcId :: Lens' HTTPHealthCheck (Maybe Word64)
- Network.Google.Compute.Types: httphcKind :: Lens' HTTPHealthCheck Text
- Network.Google.Compute.Types: httphcName :: Lens' HTTPHealthCheck (Maybe Text)
- Network.Google.Compute.Types: httphcSelfLink :: Lens' HTTPHealthCheck (Maybe Text)
- Network.Google.Compute.Types: httphcTimeoutSec :: Lens' HTTPHealthCheck (Maybe Int32)
- Network.Google.Compute.Types: httphcUnhealthyThreshold :: Lens' HTTPHealthCheck (Maybe Int32)
- Network.Google.Compute.Types: rDestRange :: Lens' Route (Maybe Text)
- Network.Google.Compute.Types: rNextHopGateway :: Lens' Route (Maybe Text)
- Network.Google.Compute.Types: rNextHopIP :: Lens' Route (Maybe Text)
- Network.Google.Compute.Types: rNextHopInstance :: Lens' Route (Maybe Text)
- Network.Google.Compute.Types: rNextHopNetwork :: Lens' Route (Maybe Text)
- Network.Google.Compute.Types: rNextHopVPNTunnel :: Lens' Route (Maybe Text)
- Network.Google.Compute.Types: rPriority :: Lens' Route (Maybe Word32)
- Network.Google.Compute.Types: rTags :: Lens' Route [Text]
- Network.Google.Compute.Types: rWarnings :: Lens' Route [RouteWarningsItem]
- Network.Google.Resource.Compute.Addresses.Delete: aaAddress :: Lens' AddressesDelete Text
- Network.Google.Resource.Compute.Addresses.Delete: aaProject :: Lens' AddressesDelete Text
- Network.Google.Resource.Compute.Addresses.Delete: aaRegion :: Lens' AddressesDelete Text
- Network.Google.Resource.Compute.Regions.List: rFilter :: Lens' RegionsList (Maybe Text)
- Network.Google.Resource.Compute.Regions.List: rMaxResults :: Lens' RegionsList Word32
- Network.Google.Resource.Compute.Regions.List: rPageToken :: Lens' RegionsList (Maybe Text)
- Network.Google.Resource.Compute.Regions.List: rProject :: Lens' RegionsList Text
- Network.Google.Resource.Compute.Routes.Get: rouProject :: Lens' RoutesGet Text
- Network.Google.Resource.Compute.Routes.Get: rouRoute :: Lens' RoutesGet Text
- Network.Google.Resource.Compute.Routes.Insert: riPayload :: Lens' RoutesInsert Route
- Network.Google.Resource.Compute.Routes.Insert: riProject :: Lens' RoutesInsert Text
- Network.Google.Resource.Compute.Routes.List: rlFilter :: Lens' RoutesList (Maybe Text)
- Network.Google.Resource.Compute.Routes.List: rlMaxResults :: Lens' RoutesList Word32
- Network.Google.Resource.Compute.Routes.List: rlPageToken :: Lens' RoutesList (Maybe Text)
- Network.Google.Resource.Compute.Routes.List: rlProject :: Lens' RoutesList Text
+ Network.Google.Compute: AFieldValueOverriden :: AutoscalersScopedListWarningCode
+ Network.Google.Compute: ASLWCFieldValueOverriden :: AddressesScopedListWarningCode
+ Network.Google.Compute: BSSAClientIP :: BackendServiceSessionAffinity
+ Network.Google.Compute: BSSAClientIPProto :: BackendServiceSessionAffinity
+ Network.Google.Compute: BSSAGeneratedCookie :: BackendServiceSessionAffinity
+ Network.Google.Compute: BSSANone :: BackendServiceSessionAffinity
+ Network.Google.Compute: Connection :: BackendBalancingMode
+ Network.Google.Compute: DSLWCFieldValueOverriden :: DisksScopedListWarningCode
+ Network.Google.Compute: DTSLWCFieldValueOverriden :: DiskTypesScopedListWarningCode
+ Network.Google.Compute: FRIPAH :: ForwardingRuleIPProtocol
+ Network.Google.Compute: FRIPEsp :: ForwardingRuleIPProtocol
+ Network.Google.Compute: FRIPSctp :: ForwardingRuleIPProtocol
+ Network.Google.Compute: FRIPTCP :: ForwardingRuleIPProtocol
+ Network.Google.Compute: FRIPUdp :: ForwardingRuleIPProtocol
+ Network.Google.Compute: FRSLWCFieldValueOverriden :: ForwardingRulesScopedListWarningCode
+ Network.Google.Compute: FieldValueOverriden :: OperationWarningsItemCode
+ Network.Google.Compute: HCTHTTP :: HealthCheckType
+ Network.Google.Compute: HCTHTTP2 :: HealthCheckType
+ Network.Google.Compute: HCTHTTPS :: HealthCheckType
+ Network.Google.Compute: HCTInvalid :: HealthCheckType
+ Network.Google.Compute: HCTSSL :: HealthCheckType
+ Network.Google.Compute: HCTTCP :: HealthCheckType
+ Network.Google.Compute: HTTPHCPHNone :: HTTP2HealthCheckProxyHeader
+ Network.Google.Compute: HTTPHCPHProxyV1 :: HTTP2HealthCheckProxyHeader
+ Network.Google.Compute: IGMSLWCFieldValueOverriden :: InstanceGroupManagersScopedListWarningCode
+ Network.Google.Compute: IGSLWCFieldValueOverriden :: InstanceGroupsScopedListWarningCode
+ Network.Google.Compute: ISLWCFieldValueOverriden :: InstancesScopedListWarningCode
+ Network.Google.Compute: MICACreatingWithoutRetries :: ManagedInstanceCurrentAction
+ Network.Google.Compute: MTSLWCFieldValueOverriden :: MachineTypesScopedListWarningCode
+ Network.Google.Compute: OSLWCFieldValueOverriden :: OperationsScopedListWarningCode
+ Network.Google.Compute: PreemptibleCPUs :: QuotaMetric
+ Network.Google.Compute: ProxyV1 :: TargetSSLProxyProxyHeader
+ Network.Google.Compute: RSBPSSDown :: RouterStatusBGPPeerStatusStatus
+ Network.Google.Compute: RSBPSSUP :: RouterStatusBGPPeerStatusStatus
+ Network.Google.Compute: RSBPSSUnknown :: RouterStatusBGPPeerStatusStatus
+ Network.Google.Compute: RSLWCCleanupFailed :: RoutersScopedListWarningCode
+ Network.Google.Compute: RSLWCDeprecatedResourceUsed :: RoutersScopedListWarningCode
+ Network.Google.Compute: RSLWCDiskSizeLargerThanImageSize :: RoutersScopedListWarningCode
+ Network.Google.Compute: RSLWCFieldValueOverriden :: RoutersScopedListWarningCode
+ Network.Google.Compute: RSLWCInjectedKernelsDeprecated :: RoutersScopedListWarningCode
+ Network.Google.Compute: RSLWCNextHopAddressNotAssigned :: RoutersScopedListWarningCode
+ Network.Google.Compute: RSLWCNextHopCannotIPForward :: RoutersScopedListWarningCode
+ Network.Google.Compute: RSLWCNextHopInstanceNotFound :: RoutersScopedListWarningCode
+ Network.Google.Compute: RSLWCNextHopInstanceNotOnNetwork :: RoutersScopedListWarningCode
+ Network.Google.Compute: RSLWCNextHopNotRunning :: RoutersScopedListWarningCode
+ Network.Google.Compute: RSLWCNoResultsOnPage :: RoutersScopedListWarningCode
+ Network.Google.Compute: RSLWCNotCriticalError :: RoutersScopedListWarningCode
+ Network.Google.Compute: RSLWCRequiredTosAgreement :: RoutersScopedListWarningCode
+ Network.Google.Compute: RSLWCResourceNotDeleted :: RoutersScopedListWarningCode
+ Network.Google.Compute: RSLWCSingleInstancePropertyTemplate :: RoutersScopedListWarningCode
+ Network.Google.Compute: RSLWCUnreachable :: RoutersScopedListWarningCode
+ Network.Google.Compute: RWICFieldValueOverriden :: RouteWarningsItemCode
+ Network.Google.Compute: RegionalAutoscalers :: QuotaMetric
+ Network.Google.Compute: RegionalInstanceGroupManagers :: QuotaMetric
+ Network.Google.Compute: Routers :: QuotaMetric
+ Network.Google.Compute: SHCPHNone :: SSLHealthCheckProxyHeader
+ Network.Google.Compute: SHCPHProxyV1 :: SSLHealthCheckProxyHeader
+ Network.Google.Compute: SSL :: BackendServiceProtocol
+ Network.Google.Compute: SSLWCFieldValueOverriden :: SubnetworksScopedListWarningCode
+ Network.Google.Compute: THCPHNone :: TCPHealthCheckProxyHeader
+ Network.Google.Compute: THCPHProxyV1 :: TCPHealthCheckProxyHeader
+ Network.Google.Compute: TISLWCFieldValueOverriden :: TargetInstancesScopedListWarningCode
+ Network.Google.Compute: TPSAClientIP :: TargetPoolSessionAffinity
+ Network.Google.Compute: TPSAClientIPProto :: TargetPoolSessionAffinity
+ Network.Google.Compute: TPSAGeneratedCookie :: TargetPoolSessionAffinity
+ Network.Google.Compute: TPSANone :: TargetPoolSessionAffinity
+ Network.Google.Compute: TPSLWCFieldValueOverriden :: TargetPoolsScopedListWarningCode
+ Network.Google.Compute: TSPSPHRPHNone :: TargetSSLProxiesSetProxyHeaderRequestProxyHeader
+ Network.Google.Compute: TSPSPHRPHProxyV1 :: TargetSSLProxiesSetProxyHeaderRequestProxyHeader
+ Network.Google.Compute: TVGSLWCFieldValueOverriden :: TargetVPNGatewaysScopedListWarningCode
+ Network.Google.Compute: TargetSSLProxies :: QuotaMetric
+ Network.Google.Compute: VTSLWCFieldValueOverriden :: VPNTunnelsScopedListWarningCode
+ Network.Google.Compute: aaRegion :: Lens' Autoscaler (Maybe Text)
+ Network.Google.Compute: adDiskEncryptionKey :: Lens' AttachedDisk (Maybe CustomerEncryptionKey)
+ Network.Google.Compute: adipSourceImageEncryptionKey :: Lens' AttachedDiskInitializeParams (Maybe CustomerEncryptionKey)
+ Network.Google.Compute: bMaxConnections :: Lens' Backend (Maybe Int32)
+ Network.Google.Compute: bMaxConnectionsPerInstance :: Lens' Backend (Maybe Int32)
+ Network.Google.Compute: bsAffinityCookieTtlSec :: Lens' BackendService (Maybe Int32)
+ Network.Google.Compute: bsConnectionDraining :: Lens' BackendService (Maybe ConnectionDraining)
+ Network.Google.Compute: bsEnableCDN :: Lens' BackendService (Maybe Bool)
+ Network.Google.Compute: bsSessionAffinity :: Lens' BackendService (Maybe BackendServiceSessionAffinity)
+ Network.Google.Compute: cacheInvalidationRule :: CacheInvalidationRule
+ Network.Google.Compute: cdDrainingTimeoutSec :: Lens' ConnectionDraining (Maybe Int32)
+ Network.Google.Compute: cekRawKey :: Lens' CustomerEncryptionKey (Maybe Text)
+ Network.Google.Compute: cekSha256 :: Lens' CustomerEncryptionKey (Maybe Text)
+ Network.Google.Compute: cekpdDiskEncryptionKey :: Lens' CustomerEncryptionKeyProtectedDisk (Maybe CustomerEncryptionKey)
+ Network.Google.Compute: cekpdSource :: Lens' CustomerEncryptionKeyProtectedDisk (Maybe Text)
+ Network.Google.Compute: cirPath :: Lens' CacheInvalidationRule (Maybe Text)
+ Network.Google.Compute: connectionDraining :: ConnectionDraining
+ Network.Google.Compute: customerEncryptionKey :: CustomerEncryptionKey
+ Network.Google.Compute: customerEncryptionKeyProtectedDisk :: CustomerEncryptionKeyProtectedDisk
+ Network.Google.Compute: dDiskEncryptionKey :: Lens' Disk (Maybe CustomerEncryptionKey)
+ Network.Google.Compute: dSourceImageEncryptionKey :: Lens' Disk (Maybe CustomerEncryptionKey)
+ Network.Google.Compute: dSourceSnapshotEncryptionKey :: Lens' Disk (Maybe CustomerEncryptionKey)
+ Network.Google.Compute: data BackendServiceSessionAffinity
+ Network.Google.Compute: data CacheInvalidationRule
+ Network.Google.Compute: data ConnectionDraining
+ Network.Google.Compute: data CustomerEncryptionKey
+ Network.Google.Compute: data CustomerEncryptionKeyProtectedDisk
+ Network.Google.Compute: data HTTP2HealthCheck
+ Network.Google.Compute: data HTTP2HealthCheckProxyHeader
+ Network.Google.Compute: data HealthCheck
+ Network.Google.Compute: data HealthCheckList
+ Network.Google.Compute: data HealthCheckType
+ Network.Google.Compute: data InstancesStartWithEncryptionKeyRequest
+ Network.Google.Compute: data Router
+ Network.Google.Compute: data RouterAggregatedList
+ Network.Google.Compute: data RouterAggregatedListItems
+ Network.Google.Compute: data RouterBGP
+ Network.Google.Compute: data RouterBGPPeer
+ Network.Google.Compute: data RouterInterface
+ Network.Google.Compute: data RouterList
+ Network.Google.Compute: data RouterStatus
+ Network.Google.Compute: data RouterStatusBGPPeerStatus
+ Network.Google.Compute: data RouterStatusBGPPeerStatusStatus
+ Network.Google.Compute: data RouterStatusResponse
+ Network.Google.Compute: data RoutersPreviewResponse
+ Network.Google.Compute: data RoutersScopedList
+ Network.Google.Compute: data RoutersScopedListWarning
+ Network.Google.Compute: data RoutersScopedListWarningCode
+ Network.Google.Compute: data RoutersScopedListWarningDataItem
+ Network.Google.Compute: data SSLHealthCheck
+ Network.Google.Compute: data SSLHealthCheckProxyHeader
+ Network.Google.Compute: data TCPHealthCheck
+ Network.Google.Compute: data TCPHealthCheckProxyHeader
+ Network.Google.Compute: data TargetSSLProxiesSetBackendServiceRequest
+ Network.Google.Compute: data TargetSSLProxiesSetProxyHeaderRequest
+ Network.Google.Compute: data TargetSSLProxiesSetProxyHeaderRequestProxyHeader
+ Network.Google.Compute: data TargetSSLProxiesSetSSLCertificatesRequest
+ Network.Google.Compute: data TargetSSLProxy
+ Network.Google.Compute: data TargetSSLProxyList
+ Network.Google.Compute: data TargetSSLProxyProxyHeader
+ Network.Google.Compute: hCheckIntervalSec :: Lens' HTTPHealthCheck (Maybe Int32)
+ Network.Google.Compute: hCreationTimestamp :: Lens' HTTPHealthCheck (Maybe Text)
+ Network.Google.Compute: hDescription :: Lens' HTTPHealthCheck (Maybe Text)
+ Network.Google.Compute: hHealthyThreshold :: Lens' HTTPHealthCheck (Maybe Int32)
+ Network.Google.Compute: hHost :: Lens' HTTPHealthCheck (Maybe Text)
+ Network.Google.Compute: hId :: Lens' HTTPHealthCheck (Maybe Word64)
+ Network.Google.Compute: hKind :: Lens' HTTPHealthCheck Text
+ Network.Google.Compute: hName :: Lens' HTTPHealthCheck (Maybe Text)
+ Network.Google.Compute: hPort :: Lens' HTTPHealthCheck (Maybe Int32)
+ Network.Google.Compute: hRequestPath :: Lens' HTTPHealthCheck (Maybe Text)
+ Network.Google.Compute: hSelfLink :: Lens' HTTPHealthCheck (Maybe Text)
+ Network.Google.Compute: hTTP2HealthCheck :: HTTP2HealthCheck
+ Network.Google.Compute: hTimeoutSec :: Lens' HTTPHealthCheck (Maybe Int32)
+ Network.Google.Compute: hUnhealthyThreshold :: Lens' HTTPHealthCheck (Maybe Int32)
+ Network.Google.Compute: hcCheckIntervalSec :: Lens' HealthCheck (Maybe Int32)
+ Network.Google.Compute: hcCreationTimestamp :: Lens' HealthCheck (Maybe Text)
+ Network.Google.Compute: hcDescription :: Lens' HealthCheck (Maybe Text)
+ Network.Google.Compute: hcHTTP2HealthCheck :: Lens' HealthCheck (Maybe HTTP2HealthCheck)
+ Network.Google.Compute: hcHTTPHealthCheck :: Lens' HealthCheck (Maybe HTTPHealthCheck)
+ Network.Google.Compute: hcHTTPSHealthCheck :: Lens' HealthCheck (Maybe HTTPSHealthCheck)
+ Network.Google.Compute: hcHealthyThreshold :: Lens' HealthCheck (Maybe Int32)
+ Network.Google.Compute: hcId :: Lens' HealthCheck (Maybe Word64)
+ Network.Google.Compute: hcKind :: Lens' HealthCheck Text
+ Network.Google.Compute: hcName :: Lens' HealthCheck (Maybe Text)
+ Network.Google.Compute: hcSSLHealthCheck :: Lens' HealthCheck (Maybe SSLHealthCheck)
+ Network.Google.Compute: hcSelfLink :: Lens' HealthCheck (Maybe Text)
+ Network.Google.Compute: hcTCPHealthCheck :: Lens' HealthCheck (Maybe TCPHealthCheck)
+ Network.Google.Compute: hcTimeoutSec :: Lens' HealthCheck (Maybe Int32)
+ Network.Google.Compute: hcType :: Lens' HealthCheck (Maybe HealthCheckType)
+ Network.Google.Compute: hcUnhealthyThreshold :: Lens' HealthCheck (Maybe Int32)
+ Network.Google.Compute: hclId :: Lens' HealthCheckList (Maybe Text)
+ Network.Google.Compute: hclItems :: Lens' HealthCheckList [HealthCheck]
+ Network.Google.Compute: hclKind :: Lens' HealthCheckList Text
+ Network.Google.Compute: hclNextPageToken :: Lens' HealthCheckList (Maybe Text)
+ Network.Google.Compute: hclSelfLink :: Lens' HealthCheckList (Maybe Text)
+ Network.Google.Compute: healthCheck :: HealthCheck
+ Network.Google.Compute: healthCheckList :: HealthCheckList
+ Network.Google.Compute: httphcPortName :: Lens' HTTP2HealthCheck (Maybe Text)
+ Network.Google.Compute: httphcProxyHeader :: Lens' HTTP2HealthCheck (Maybe HTTP2HealthCheckProxyHeader)
+ Network.Google.Compute: iImageEncryptionKey :: Lens' Image (Maybe CustomerEncryptionKey)
+ Network.Google.Compute: iSourceDiskEncryptionKey :: Lens' Image (Maybe CustomerEncryptionKey)
+ Network.Google.Compute: igmRegion :: Lens' InstanceGroupManager (Maybe Text)
+ Network.Google.Compute: igmasCreatingWithoutRetries :: Lens' InstanceGroupManagerActionsSummary (Maybe Int32)
+ Network.Google.Compute: iiRegion :: Lens' InstanceGroup (Maybe Text)
+ Network.Google.Compute: instancesStartWithEncryptionKeyRequest :: InstancesStartWithEncryptionKeyRequest
+ Network.Google.Compute: iswekrDisks :: Lens' InstancesStartWithEncryptionKeyRequest [CustomerEncryptionKeyProtectedDisk]
+ Network.Google.Compute: mtIsSharedCPU :: Lens' MachineType (Maybe Bool)
+ Network.Google.Compute: pDefaultServiceAccount :: Lens' Project (Maybe Text)
+ Network.Google.Compute: rBGP :: Lens' Router (Maybe RouterBGP)
+ Network.Google.Compute: rBGPPeers :: Lens' Router [RouterBGPPeer]
+ Network.Google.Compute: rInterfaces :: Lens' Router [RouterInterface]
+ Network.Google.Compute: rRegion :: Lens' Router (Maybe Text)
+ Network.Google.Compute: ralId :: Lens' RouterAggregatedList (Maybe Text)
+ Network.Google.Compute: ralItems :: Lens' RouterAggregatedList (Maybe RouterAggregatedListItems)
+ Network.Google.Compute: ralKind :: Lens' RouterAggregatedList Text
+ Network.Google.Compute: ralNextPageToken :: Lens' RouterAggregatedList (Maybe Text)
+ Network.Google.Compute: ralSelfLink :: Lens' RouterAggregatedList (Maybe Text)
+ Network.Google.Compute: raliAddtional :: Lens' RouterAggregatedListItems (HashMap Text RoutersScopedList)
+ Network.Google.Compute: rbASN :: Lens' RouterBGP (Maybe Word32)
+ Network.Google.Compute: rbpAdvertisedRoutePriority :: Lens' RouterBGPPeer (Maybe Word32)
+ Network.Google.Compute: rbpIPAddress :: Lens' RouterBGPPeer (Maybe Text)
+ Network.Google.Compute: rbpInterfaceName :: Lens' RouterBGPPeer (Maybe Text)
+ Network.Google.Compute: rbpName :: Lens' RouterBGPPeer (Maybe Text)
+ Network.Google.Compute: rbpPeerASN :: Lens' RouterBGPPeer (Maybe Word32)
+ Network.Google.Compute: rbpPeerIPAddress :: Lens' RouterBGPPeer (Maybe Text)
+ Network.Google.Compute: riIPRange :: Lens' RouterInterface (Maybe Text)
+ Network.Google.Compute: riLinkedVPNTunnel :: Lens' RouterInterface (Maybe Text)
+ Network.Google.Compute: riName :: Lens' RouterInterface (Maybe Text)
+ Network.Google.Compute: rllId :: Lens' RouterList (Maybe Text)
+ Network.Google.Compute: rllItems :: Lens' RouterList [Router]
+ Network.Google.Compute: rllKind :: Lens' RouterList Text
+ Network.Google.Compute: rllNextPageToken :: Lens' RouterList (Maybe Text)
+ Network.Google.Compute: rllSelfLink :: Lens' RouterList (Maybe Text)
+ Network.Google.Compute: rouCreationTimestamp :: Lens' Route (Maybe Text)
+ Network.Google.Compute: rouDescription :: Lens' Route (Maybe Text)
+ Network.Google.Compute: rouDestRange :: Lens' Route (Maybe Text)
+ Network.Google.Compute: rouId :: Lens' Route (Maybe Word64)
+ Network.Google.Compute: rouKind :: Lens' Route Text
+ Network.Google.Compute: rouName :: Lens' Route (Maybe Text)
+ Network.Google.Compute: rouNetwork :: Lens' Route (Maybe Text)
+ Network.Google.Compute: rouNextHopGateway :: Lens' Route (Maybe Text)
+ Network.Google.Compute: rouNextHopIP :: Lens' Route (Maybe Text)
+ Network.Google.Compute: rouNextHopInstance :: Lens' Route (Maybe Text)
+ Network.Google.Compute: rouNextHopNetwork :: Lens' Route (Maybe Text)
+ Network.Google.Compute: rouNextHopVPNTunnel :: Lens' Route (Maybe Text)
+ Network.Google.Compute: rouPriority :: Lens' Route (Maybe Word32)
+ Network.Google.Compute: rouSelfLink :: Lens' Route (Maybe Text)
+ Network.Google.Compute: rouTags :: Lens' Route [Text]
+ Network.Google.Compute: rouWarnings :: Lens' Route [RouteWarningsItem]
+ Network.Google.Compute: router :: Router
+ Network.Google.Compute: routerAggregatedList :: RouterAggregatedList
+ Network.Google.Compute: routerAggregatedListItems :: HashMap Text RoutersScopedList -> RouterAggregatedListItems
+ Network.Google.Compute: routerBGP :: RouterBGP
+ Network.Google.Compute: routerBGPPeer :: RouterBGPPeer
+ Network.Google.Compute: routerInterface :: RouterInterface
+ Network.Google.Compute: routerList :: RouterList
+ Network.Google.Compute: routerStatus :: RouterStatus
+ Network.Google.Compute: routerStatusBGPPeerStatus :: RouterStatusBGPPeerStatus
+ Network.Google.Compute: routerStatusResponse :: RouterStatusResponse
+ Network.Google.Compute: routersPreviewResponse :: RoutersPreviewResponse
+ Network.Google.Compute: routersScopedList :: RoutersScopedList
+ Network.Google.Compute: routersScopedListWarning :: RoutersScopedListWarning
+ Network.Google.Compute: routersScopedListWarningDataItem :: RoutersScopedListWarningDataItem
+ Network.Google.Compute: rprResource :: Lens' RoutersPreviewResponse (Maybe Router)
+ Network.Google.Compute: rsBGPPeerStatus :: Lens' RouterStatus [RouterStatusBGPPeerStatus]
+ Network.Google.Compute: rsBestRoutes :: Lens' RouterStatus [Route]
+ Network.Google.Compute: rsNetwork :: Lens' RouterStatus (Maybe Text)
+ Network.Google.Compute: rsbpsAdvertisedRoutes :: Lens' RouterStatusBGPPeerStatus [Route]
+ Network.Google.Compute: rsbpsIPAddress :: Lens' RouterStatusBGPPeerStatus (Maybe Text)
+ Network.Google.Compute: rsbpsLinkedVPNTunnel :: Lens' RouterStatusBGPPeerStatus (Maybe Text)
+ Network.Google.Compute: rsbpsName :: Lens' RouterStatusBGPPeerStatus (Maybe Text)
+ Network.Google.Compute: rsbpsNumLearnedRoutes :: Lens' RouterStatusBGPPeerStatus (Maybe Word32)
+ Network.Google.Compute: rsbpsPeerIPAddress :: Lens' RouterStatusBGPPeerStatus (Maybe Text)
+ Network.Google.Compute: rsbpsState :: Lens' RouterStatusBGPPeerStatus (Maybe Text)
+ Network.Google.Compute: rsbpsStatus :: Lens' RouterStatusBGPPeerStatus (Maybe RouterStatusBGPPeerStatusStatus)
+ Network.Google.Compute: rsbpsUptime :: Lens' RouterStatusBGPPeerStatus (Maybe Text)
+ Network.Google.Compute: rsbpsUptimeSeconds :: Lens' RouterStatusBGPPeerStatus (Maybe Text)
+ Network.Google.Compute: rslRouters :: Lens' RoutersScopedList [Router]
+ Network.Google.Compute: rslWarning :: Lens' RoutersScopedList (Maybe RoutersScopedListWarning)
+ Network.Google.Compute: rslwCode :: Lens' RoutersScopedListWarning (Maybe RoutersScopedListWarningCode)
+ Network.Google.Compute: rslwData :: Lens' RoutersScopedListWarning [RoutersScopedListWarningDataItem]
+ Network.Google.Compute: rslwMessage :: Lens' RoutersScopedListWarning (Maybe Text)
+ Network.Google.Compute: rslwdiKey :: Lens' RoutersScopedListWarningDataItem (Maybe Text)
+ Network.Google.Compute: rslwdiValue :: Lens' RoutersScopedListWarningDataItem (Maybe Text)
+ Network.Google.Compute: rsrKind :: Lens' RouterStatusResponse Text
+ Network.Google.Compute: rsrResult :: Lens' RouterStatusResponse (Maybe RouterStatus)
+ Network.Google.Compute: sSnapshotEncryptionKey :: Lens' Snapshot (Maybe CustomerEncryptionKey)
+ Network.Google.Compute: sSourceDiskEncryptionKey :: Lens' Snapshot (Maybe CustomerEncryptionKey)
+ Network.Google.Compute: shcPort :: Lens' SSLHealthCheck (Maybe Int32)
+ Network.Google.Compute: shcPortName :: Lens' SSLHealthCheck (Maybe Text)
+ Network.Google.Compute: shcProxyHeader :: Lens' SSLHealthCheck (Maybe SSLHealthCheckProxyHeader)
+ Network.Google.Compute: shcRequest :: Lens' SSLHealthCheck (Maybe Text)
+ Network.Google.Compute: shcResponse :: Lens' SSLHealthCheck (Maybe Text)
+ Network.Google.Compute: sslHealthCheck :: SSLHealthCheck
+ Network.Google.Compute: targetSSLProxiesSetBackendServiceRequest :: TargetSSLProxiesSetBackendServiceRequest
+ Network.Google.Compute: targetSSLProxiesSetProxyHeaderRequest :: TargetSSLProxiesSetProxyHeaderRequest
+ Network.Google.Compute: targetSSLProxiesSetSSLCertificatesRequest :: TargetSSLProxiesSetSSLCertificatesRequest
+ Network.Google.Compute: targetSSLProxy :: TargetSSLProxy
+ Network.Google.Compute: targetSSLProxyList :: TargetSSLProxyList
+ Network.Google.Compute: tcpHealthCheck :: TCPHealthCheck
+ Network.Google.Compute: thcPort :: Lens' TCPHealthCheck (Maybe Int32)
+ Network.Google.Compute: thcPortName :: Lens' TCPHealthCheck (Maybe Text)
+ Network.Google.Compute: thcProxyHeader :: Lens' TCPHealthCheck (Maybe TCPHealthCheckProxyHeader)
+ Network.Google.Compute: thcRequest :: Lens' TCPHealthCheck (Maybe Text)
+ Network.Google.Compute: thcResponse :: Lens' TCPHealthCheck (Maybe Text)
+ Network.Google.Compute: tspCreationTimestamp :: Lens' TargetSSLProxy (Maybe Text)
+ Network.Google.Compute: tspDescription :: Lens' TargetSSLProxy (Maybe Text)
+ Network.Google.Compute: tspId :: Lens' TargetSSLProxy (Maybe Word64)
+ Network.Google.Compute: tspKind :: Lens' TargetSSLProxy Text
+ Network.Google.Compute: tspName :: Lens' TargetSSLProxy (Maybe Text)
+ Network.Google.Compute: tspProxyHeader :: Lens' TargetSSLProxy (Maybe TargetSSLProxyProxyHeader)
+ Network.Google.Compute: tspSSLCertificates :: Lens' TargetSSLProxy [Text]
+ Network.Google.Compute: tspSelfLink :: Lens' TargetSSLProxy (Maybe Text)
+ Network.Google.Compute: tspService :: Lens' TargetSSLProxy (Maybe Text)
+ Network.Google.Compute: tsplId :: Lens' TargetSSLProxyList (Maybe Text)
+ Network.Google.Compute: tsplItems :: Lens' TargetSSLProxyList [TargetSSLProxy]
+ Network.Google.Compute: tsplKind :: Lens' TargetSSLProxyList Text
+ Network.Google.Compute: tsplNextPageToken :: Lens' TargetSSLProxyList (Maybe Text)
+ Network.Google.Compute: tsplSelfLink :: Lens' TargetSSLProxyList (Maybe Text)
+ Network.Google.Compute: tspsbsrService :: Lens' TargetSSLProxiesSetBackendServiceRequest (Maybe Text)
+ Network.Google.Compute: tspsphrProxyHeader :: Lens' TargetSSLProxiesSetProxyHeaderRequest (Maybe TargetSSLProxiesSetProxyHeaderRequestProxyHeader)
+ Network.Google.Compute: tspsscrSSLCertificates :: Lens' TargetSSLProxiesSetSSLCertificatesRequest [Text]
+ Network.Google.Compute: vtRemoteTrafficSelector :: Lens' VPNTunnel [Text]
+ Network.Google.Compute: vtRouter :: Lens' VPNTunnel (Maybe Text)
+ Network.Google.Compute.Types: AFieldValueOverriden :: AutoscalersScopedListWarningCode
+ Network.Google.Compute.Types: ASLWCFieldValueOverriden :: AddressesScopedListWarningCode
+ Network.Google.Compute.Types: BSSAClientIP :: BackendServiceSessionAffinity
+ Network.Google.Compute.Types: BSSAClientIPProto :: BackendServiceSessionAffinity
+ Network.Google.Compute.Types: BSSAGeneratedCookie :: BackendServiceSessionAffinity
+ Network.Google.Compute.Types: BSSANone :: BackendServiceSessionAffinity
+ Network.Google.Compute.Types: Connection :: BackendBalancingMode
+ Network.Google.Compute.Types: DSLWCFieldValueOverriden :: DisksScopedListWarningCode
+ Network.Google.Compute.Types: DTSLWCFieldValueOverriden :: DiskTypesScopedListWarningCode
+ Network.Google.Compute.Types: FRIPAH :: ForwardingRuleIPProtocol
+ Network.Google.Compute.Types: FRIPEsp :: ForwardingRuleIPProtocol
+ Network.Google.Compute.Types: FRIPSctp :: ForwardingRuleIPProtocol
+ Network.Google.Compute.Types: FRIPTCP :: ForwardingRuleIPProtocol
+ Network.Google.Compute.Types: FRIPUdp :: ForwardingRuleIPProtocol
+ Network.Google.Compute.Types: FRSLWCFieldValueOverriden :: ForwardingRulesScopedListWarningCode
+ Network.Google.Compute.Types: FieldValueOverriden :: OperationWarningsItemCode
+ Network.Google.Compute.Types: HCTHTTP :: HealthCheckType
+ Network.Google.Compute.Types: HCTHTTP2 :: HealthCheckType
+ Network.Google.Compute.Types: HCTHTTPS :: HealthCheckType
+ Network.Google.Compute.Types: HCTInvalid :: HealthCheckType
+ Network.Google.Compute.Types: HCTSSL :: HealthCheckType
+ Network.Google.Compute.Types: HCTTCP :: HealthCheckType
+ Network.Google.Compute.Types: HTTPHCPHNone :: HTTP2HealthCheckProxyHeader
+ Network.Google.Compute.Types: HTTPHCPHProxyV1 :: HTTP2HealthCheckProxyHeader
+ Network.Google.Compute.Types: IGMSLWCFieldValueOverriden :: InstanceGroupManagersScopedListWarningCode
+ Network.Google.Compute.Types: IGSLWCFieldValueOverriden :: InstanceGroupsScopedListWarningCode
+ Network.Google.Compute.Types: ISLWCFieldValueOverriden :: InstancesScopedListWarningCode
+ Network.Google.Compute.Types: MICACreatingWithoutRetries :: ManagedInstanceCurrentAction
+ Network.Google.Compute.Types: MTSLWCFieldValueOverriden :: MachineTypesScopedListWarningCode
+ Network.Google.Compute.Types: OSLWCFieldValueOverriden :: OperationsScopedListWarningCode
+ Network.Google.Compute.Types: PreemptibleCPUs :: QuotaMetric
+ Network.Google.Compute.Types: ProxyV1 :: TargetSSLProxyProxyHeader
+ Network.Google.Compute.Types: RSBPSSDown :: RouterStatusBGPPeerStatusStatus
+ Network.Google.Compute.Types: RSBPSSUP :: RouterStatusBGPPeerStatusStatus
+ Network.Google.Compute.Types: RSBPSSUnknown :: RouterStatusBGPPeerStatusStatus
+ Network.Google.Compute.Types: RSLWCCleanupFailed :: RoutersScopedListWarningCode
+ Network.Google.Compute.Types: RSLWCDeprecatedResourceUsed :: RoutersScopedListWarningCode
+ Network.Google.Compute.Types: RSLWCDiskSizeLargerThanImageSize :: RoutersScopedListWarningCode
+ Network.Google.Compute.Types: RSLWCFieldValueOverriden :: RoutersScopedListWarningCode
+ Network.Google.Compute.Types: RSLWCInjectedKernelsDeprecated :: RoutersScopedListWarningCode
+ Network.Google.Compute.Types: RSLWCNextHopAddressNotAssigned :: RoutersScopedListWarningCode
+ Network.Google.Compute.Types: RSLWCNextHopCannotIPForward :: RoutersScopedListWarningCode
+ Network.Google.Compute.Types: RSLWCNextHopInstanceNotFound :: RoutersScopedListWarningCode
+ Network.Google.Compute.Types: RSLWCNextHopInstanceNotOnNetwork :: RoutersScopedListWarningCode
+ Network.Google.Compute.Types: RSLWCNextHopNotRunning :: RoutersScopedListWarningCode
+ Network.Google.Compute.Types: RSLWCNoResultsOnPage :: RoutersScopedListWarningCode
+ Network.Google.Compute.Types: RSLWCNotCriticalError :: RoutersScopedListWarningCode
+ Network.Google.Compute.Types: RSLWCRequiredTosAgreement :: RoutersScopedListWarningCode
+ Network.Google.Compute.Types: RSLWCResourceNotDeleted :: RoutersScopedListWarningCode
+ Network.Google.Compute.Types: RSLWCSingleInstancePropertyTemplate :: RoutersScopedListWarningCode
+ Network.Google.Compute.Types: RSLWCUnreachable :: RoutersScopedListWarningCode
+ Network.Google.Compute.Types: RWICFieldValueOverriden :: RouteWarningsItemCode
+ Network.Google.Compute.Types: RegionalAutoscalers :: QuotaMetric
+ Network.Google.Compute.Types: RegionalInstanceGroupManagers :: QuotaMetric
+ Network.Google.Compute.Types: Routers :: QuotaMetric
+ Network.Google.Compute.Types: SHCPHNone :: SSLHealthCheckProxyHeader
+ Network.Google.Compute.Types: SHCPHProxyV1 :: SSLHealthCheckProxyHeader
+ Network.Google.Compute.Types: SSL :: BackendServiceProtocol
+ Network.Google.Compute.Types: SSLWCFieldValueOverriden :: SubnetworksScopedListWarningCode
+ Network.Google.Compute.Types: THCPHNone :: TCPHealthCheckProxyHeader
+ Network.Google.Compute.Types: THCPHProxyV1 :: TCPHealthCheckProxyHeader
+ Network.Google.Compute.Types: TISLWCFieldValueOverriden :: TargetInstancesScopedListWarningCode
+ Network.Google.Compute.Types: TPSAClientIP :: TargetPoolSessionAffinity
+ Network.Google.Compute.Types: TPSAClientIPProto :: TargetPoolSessionAffinity
+ Network.Google.Compute.Types: TPSAGeneratedCookie :: TargetPoolSessionAffinity
+ Network.Google.Compute.Types: TPSANone :: TargetPoolSessionAffinity
+ Network.Google.Compute.Types: TPSLWCFieldValueOverriden :: TargetPoolsScopedListWarningCode
+ Network.Google.Compute.Types: TSPSPHRPHNone :: TargetSSLProxiesSetProxyHeaderRequestProxyHeader
+ Network.Google.Compute.Types: TSPSPHRPHProxyV1 :: TargetSSLProxiesSetProxyHeaderRequestProxyHeader
+ Network.Google.Compute.Types: TVGSLWCFieldValueOverriden :: TargetVPNGatewaysScopedListWarningCode
+ Network.Google.Compute.Types: TargetSSLProxies :: QuotaMetric
+ Network.Google.Compute.Types: VTSLWCFieldValueOverriden :: VPNTunnelsScopedListWarningCode
+ Network.Google.Compute.Types: aaRegion :: Lens' Autoscaler (Maybe Text)
+ Network.Google.Compute.Types: adDiskEncryptionKey :: Lens' AttachedDisk (Maybe CustomerEncryptionKey)
+ Network.Google.Compute.Types: adipSourceImageEncryptionKey :: Lens' AttachedDiskInitializeParams (Maybe CustomerEncryptionKey)
+ Network.Google.Compute.Types: bMaxConnections :: Lens' Backend (Maybe Int32)
+ Network.Google.Compute.Types: bMaxConnectionsPerInstance :: Lens' Backend (Maybe Int32)
+ Network.Google.Compute.Types: bsAffinityCookieTtlSec :: Lens' BackendService (Maybe Int32)
+ Network.Google.Compute.Types: bsConnectionDraining :: Lens' BackendService (Maybe ConnectionDraining)
+ Network.Google.Compute.Types: bsEnableCDN :: Lens' BackendService (Maybe Bool)
+ Network.Google.Compute.Types: bsSessionAffinity :: Lens' BackendService (Maybe BackendServiceSessionAffinity)
+ Network.Google.Compute.Types: cacheInvalidationRule :: CacheInvalidationRule
+ Network.Google.Compute.Types: cdDrainingTimeoutSec :: Lens' ConnectionDraining (Maybe Int32)
+ Network.Google.Compute.Types: cekRawKey :: Lens' CustomerEncryptionKey (Maybe Text)
+ Network.Google.Compute.Types: cekSha256 :: Lens' CustomerEncryptionKey (Maybe Text)
+ Network.Google.Compute.Types: cekpdDiskEncryptionKey :: Lens' CustomerEncryptionKeyProtectedDisk (Maybe CustomerEncryptionKey)
+ Network.Google.Compute.Types: cekpdSource :: Lens' CustomerEncryptionKeyProtectedDisk (Maybe Text)
+ Network.Google.Compute.Types: cirPath :: Lens' CacheInvalidationRule (Maybe Text)
+ Network.Google.Compute.Types: connectionDraining :: ConnectionDraining
+ Network.Google.Compute.Types: customerEncryptionKey :: CustomerEncryptionKey
+ Network.Google.Compute.Types: customerEncryptionKeyProtectedDisk :: CustomerEncryptionKeyProtectedDisk
+ Network.Google.Compute.Types: dDiskEncryptionKey :: Lens' Disk (Maybe CustomerEncryptionKey)
+ Network.Google.Compute.Types: dSourceImageEncryptionKey :: Lens' Disk (Maybe CustomerEncryptionKey)
+ Network.Google.Compute.Types: dSourceSnapshotEncryptionKey :: Lens' Disk (Maybe CustomerEncryptionKey)
+ Network.Google.Compute.Types: data BackendServiceSessionAffinity
+ Network.Google.Compute.Types: data CacheInvalidationRule
+ Network.Google.Compute.Types: data ConnectionDraining
+ Network.Google.Compute.Types: data CustomerEncryptionKey
+ Network.Google.Compute.Types: data CustomerEncryptionKeyProtectedDisk
+ Network.Google.Compute.Types: data HTTP2HealthCheck
+ Network.Google.Compute.Types: data HTTP2HealthCheckProxyHeader
+ Network.Google.Compute.Types: data HealthCheck
+ Network.Google.Compute.Types: data HealthCheckList
+ Network.Google.Compute.Types: data HealthCheckType
+ Network.Google.Compute.Types: data InstancesStartWithEncryptionKeyRequest
+ Network.Google.Compute.Types: data Router
+ Network.Google.Compute.Types: data RouterAggregatedList
+ Network.Google.Compute.Types: data RouterAggregatedListItems
+ Network.Google.Compute.Types: data RouterBGP
+ Network.Google.Compute.Types: data RouterBGPPeer
+ Network.Google.Compute.Types: data RouterInterface
+ Network.Google.Compute.Types: data RouterList
+ Network.Google.Compute.Types: data RouterStatus
+ Network.Google.Compute.Types: data RouterStatusBGPPeerStatus
+ Network.Google.Compute.Types: data RouterStatusBGPPeerStatusStatus
+ Network.Google.Compute.Types: data RouterStatusResponse
+ Network.Google.Compute.Types: data RoutersPreviewResponse
+ Network.Google.Compute.Types: data RoutersScopedList
+ Network.Google.Compute.Types: data RoutersScopedListWarning
+ Network.Google.Compute.Types: data RoutersScopedListWarningCode
+ Network.Google.Compute.Types: data RoutersScopedListWarningDataItem
+ Network.Google.Compute.Types: data SSLHealthCheck
+ Network.Google.Compute.Types: data SSLHealthCheckProxyHeader
+ Network.Google.Compute.Types: data TCPHealthCheck
+ Network.Google.Compute.Types: data TCPHealthCheckProxyHeader
+ Network.Google.Compute.Types: data TargetSSLProxiesSetBackendServiceRequest
+ Network.Google.Compute.Types: data TargetSSLProxiesSetProxyHeaderRequest
+ Network.Google.Compute.Types: data TargetSSLProxiesSetProxyHeaderRequestProxyHeader
+ Network.Google.Compute.Types: data TargetSSLProxiesSetSSLCertificatesRequest
+ Network.Google.Compute.Types: data TargetSSLProxy
+ Network.Google.Compute.Types: data TargetSSLProxyList
+ Network.Google.Compute.Types: data TargetSSLProxyProxyHeader
+ Network.Google.Compute.Types: hCheckIntervalSec :: Lens' HTTPHealthCheck (Maybe Int32)
+ Network.Google.Compute.Types: hCreationTimestamp :: Lens' HTTPHealthCheck (Maybe Text)
+ Network.Google.Compute.Types: hDescription :: Lens' HTTPHealthCheck (Maybe Text)
+ Network.Google.Compute.Types: hHealthyThreshold :: Lens' HTTPHealthCheck (Maybe Int32)
+ Network.Google.Compute.Types: hHost :: Lens' HTTPHealthCheck (Maybe Text)
+ Network.Google.Compute.Types: hId :: Lens' HTTPHealthCheck (Maybe Word64)
+ Network.Google.Compute.Types: hKind :: Lens' HTTPHealthCheck Text
+ Network.Google.Compute.Types: hName :: Lens' HTTPHealthCheck (Maybe Text)
+ Network.Google.Compute.Types: hPort :: Lens' HTTPHealthCheck (Maybe Int32)
+ Network.Google.Compute.Types: hRequestPath :: Lens' HTTPHealthCheck (Maybe Text)
+ Network.Google.Compute.Types: hSelfLink :: Lens' HTTPHealthCheck (Maybe Text)
+ Network.Google.Compute.Types: hTTP2HealthCheck :: HTTP2HealthCheck
+ Network.Google.Compute.Types: hTimeoutSec :: Lens' HTTPHealthCheck (Maybe Int32)
+ Network.Google.Compute.Types: hUnhealthyThreshold :: Lens' HTTPHealthCheck (Maybe Int32)
+ Network.Google.Compute.Types: hcCheckIntervalSec :: Lens' HealthCheck (Maybe Int32)
+ Network.Google.Compute.Types: hcCreationTimestamp :: Lens' HealthCheck (Maybe Text)
+ Network.Google.Compute.Types: hcDescription :: Lens' HealthCheck (Maybe Text)
+ Network.Google.Compute.Types: hcHTTP2HealthCheck :: Lens' HealthCheck (Maybe HTTP2HealthCheck)
+ Network.Google.Compute.Types: hcHTTPHealthCheck :: Lens' HealthCheck (Maybe HTTPHealthCheck)
+ Network.Google.Compute.Types: hcHTTPSHealthCheck :: Lens' HealthCheck (Maybe HTTPSHealthCheck)
+ Network.Google.Compute.Types: hcHealthyThreshold :: Lens' HealthCheck (Maybe Int32)
+ Network.Google.Compute.Types: hcId :: Lens' HealthCheck (Maybe Word64)
+ Network.Google.Compute.Types: hcKind :: Lens' HealthCheck Text
+ Network.Google.Compute.Types: hcName :: Lens' HealthCheck (Maybe Text)
+ Network.Google.Compute.Types: hcSSLHealthCheck :: Lens' HealthCheck (Maybe SSLHealthCheck)
+ Network.Google.Compute.Types: hcSelfLink :: Lens' HealthCheck (Maybe Text)
+ Network.Google.Compute.Types: hcTCPHealthCheck :: Lens' HealthCheck (Maybe TCPHealthCheck)
+ Network.Google.Compute.Types: hcTimeoutSec :: Lens' HealthCheck (Maybe Int32)
+ Network.Google.Compute.Types: hcType :: Lens' HealthCheck (Maybe HealthCheckType)
+ Network.Google.Compute.Types: hcUnhealthyThreshold :: Lens' HealthCheck (Maybe Int32)
+ Network.Google.Compute.Types: hclId :: Lens' HealthCheckList (Maybe Text)
+ Network.Google.Compute.Types: hclItems :: Lens' HealthCheckList [HealthCheck]
+ Network.Google.Compute.Types: hclKind :: Lens' HealthCheckList Text
+ Network.Google.Compute.Types: hclNextPageToken :: Lens' HealthCheckList (Maybe Text)
+ Network.Google.Compute.Types: hclSelfLink :: Lens' HealthCheckList (Maybe Text)
+ Network.Google.Compute.Types: healthCheck :: HealthCheck
+ Network.Google.Compute.Types: healthCheckList :: HealthCheckList
+ Network.Google.Compute.Types: httphcPortName :: Lens' HTTP2HealthCheck (Maybe Text)
+ Network.Google.Compute.Types: httphcProxyHeader :: Lens' HTTP2HealthCheck (Maybe HTTP2HealthCheckProxyHeader)
+ Network.Google.Compute.Types: iImageEncryptionKey :: Lens' Image (Maybe CustomerEncryptionKey)
+ Network.Google.Compute.Types: iSourceDiskEncryptionKey :: Lens' Image (Maybe CustomerEncryptionKey)
+ Network.Google.Compute.Types: igmRegion :: Lens' InstanceGroupManager (Maybe Text)
+ Network.Google.Compute.Types: igmasCreatingWithoutRetries :: Lens' InstanceGroupManagerActionsSummary (Maybe Int32)
+ Network.Google.Compute.Types: iiRegion :: Lens' InstanceGroup (Maybe Text)
+ Network.Google.Compute.Types: instancesStartWithEncryptionKeyRequest :: InstancesStartWithEncryptionKeyRequest
+ Network.Google.Compute.Types: iswekrDisks :: Lens' InstancesStartWithEncryptionKeyRequest [CustomerEncryptionKeyProtectedDisk]
+ Network.Google.Compute.Types: mtIsSharedCPU :: Lens' MachineType (Maybe Bool)
+ Network.Google.Compute.Types: pDefaultServiceAccount :: Lens' Project (Maybe Text)
+ Network.Google.Compute.Types: rBGP :: Lens' Router (Maybe RouterBGP)
+ Network.Google.Compute.Types: rBGPPeers :: Lens' Router [RouterBGPPeer]
+ Network.Google.Compute.Types: rInterfaces :: Lens' Router [RouterInterface]
+ Network.Google.Compute.Types: rRegion :: Lens' Router (Maybe Text)
+ Network.Google.Compute.Types: ralId :: Lens' RouterAggregatedList (Maybe Text)
+ Network.Google.Compute.Types: ralItems :: Lens' RouterAggregatedList (Maybe RouterAggregatedListItems)
+ Network.Google.Compute.Types: ralKind :: Lens' RouterAggregatedList Text
+ Network.Google.Compute.Types: ralNextPageToken :: Lens' RouterAggregatedList (Maybe Text)
+ Network.Google.Compute.Types: ralSelfLink :: Lens' RouterAggregatedList (Maybe Text)
+ Network.Google.Compute.Types: raliAddtional :: Lens' RouterAggregatedListItems (HashMap Text RoutersScopedList)
+ Network.Google.Compute.Types: rbASN :: Lens' RouterBGP (Maybe Word32)
+ Network.Google.Compute.Types: rbpAdvertisedRoutePriority :: Lens' RouterBGPPeer (Maybe Word32)
+ Network.Google.Compute.Types: rbpIPAddress :: Lens' RouterBGPPeer (Maybe Text)
+ Network.Google.Compute.Types: rbpInterfaceName :: Lens' RouterBGPPeer (Maybe Text)
+ Network.Google.Compute.Types: rbpName :: Lens' RouterBGPPeer (Maybe Text)
+ Network.Google.Compute.Types: rbpPeerASN :: Lens' RouterBGPPeer (Maybe Word32)
+ Network.Google.Compute.Types: rbpPeerIPAddress :: Lens' RouterBGPPeer (Maybe Text)
+ Network.Google.Compute.Types: riIPRange :: Lens' RouterInterface (Maybe Text)
+ Network.Google.Compute.Types: riLinkedVPNTunnel :: Lens' RouterInterface (Maybe Text)
+ Network.Google.Compute.Types: riName :: Lens' RouterInterface (Maybe Text)
+ Network.Google.Compute.Types: rllId :: Lens' RouterList (Maybe Text)
+ Network.Google.Compute.Types: rllItems :: Lens' RouterList [Router]
+ Network.Google.Compute.Types: rllKind :: Lens' RouterList Text
+ Network.Google.Compute.Types: rllNextPageToken :: Lens' RouterList (Maybe Text)
+ Network.Google.Compute.Types: rllSelfLink :: Lens' RouterList (Maybe Text)
+ Network.Google.Compute.Types: rouCreationTimestamp :: Lens' Route (Maybe Text)
+ Network.Google.Compute.Types: rouDescription :: Lens' Route (Maybe Text)
+ Network.Google.Compute.Types: rouDestRange :: Lens' Route (Maybe Text)
+ Network.Google.Compute.Types: rouId :: Lens' Route (Maybe Word64)
+ Network.Google.Compute.Types: rouKind :: Lens' Route Text
+ Network.Google.Compute.Types: rouName :: Lens' Route (Maybe Text)
+ Network.Google.Compute.Types: rouNetwork :: Lens' Route (Maybe Text)
+ Network.Google.Compute.Types: rouNextHopGateway :: Lens' Route (Maybe Text)
+ Network.Google.Compute.Types: rouNextHopIP :: Lens' Route (Maybe Text)
+ Network.Google.Compute.Types: rouNextHopInstance :: Lens' Route (Maybe Text)
+ Network.Google.Compute.Types: rouNextHopNetwork :: Lens' Route (Maybe Text)
+ Network.Google.Compute.Types: rouNextHopVPNTunnel :: Lens' Route (Maybe Text)
+ Network.Google.Compute.Types: rouPriority :: Lens' Route (Maybe Word32)
+ Network.Google.Compute.Types: rouSelfLink :: Lens' Route (Maybe Text)
+ Network.Google.Compute.Types: rouTags :: Lens' Route [Text]
+ Network.Google.Compute.Types: rouWarnings :: Lens' Route [RouteWarningsItem]
+ Network.Google.Compute.Types: router :: Router
+ Network.Google.Compute.Types: routerAggregatedList :: RouterAggregatedList
+ Network.Google.Compute.Types: routerAggregatedListItems :: HashMap Text RoutersScopedList -> RouterAggregatedListItems
+ Network.Google.Compute.Types: routerBGP :: RouterBGP
+ Network.Google.Compute.Types: routerBGPPeer :: RouterBGPPeer
+ Network.Google.Compute.Types: routerInterface :: RouterInterface
+ Network.Google.Compute.Types: routerList :: RouterList
+ Network.Google.Compute.Types: routerStatus :: RouterStatus
+ Network.Google.Compute.Types: routerStatusBGPPeerStatus :: RouterStatusBGPPeerStatus
+ Network.Google.Compute.Types: routerStatusResponse :: RouterStatusResponse
+ Network.Google.Compute.Types: routersPreviewResponse :: RoutersPreviewResponse
+ Network.Google.Compute.Types: routersScopedList :: RoutersScopedList
+ Network.Google.Compute.Types: routersScopedListWarning :: RoutersScopedListWarning
+ Network.Google.Compute.Types: routersScopedListWarningDataItem :: RoutersScopedListWarningDataItem
+ Network.Google.Compute.Types: rprResource :: Lens' RoutersPreviewResponse (Maybe Router)
+ Network.Google.Compute.Types: rsBGPPeerStatus :: Lens' RouterStatus [RouterStatusBGPPeerStatus]
+ Network.Google.Compute.Types: rsBestRoutes :: Lens' RouterStatus [Route]
+ Network.Google.Compute.Types: rsNetwork :: Lens' RouterStatus (Maybe Text)
+ Network.Google.Compute.Types: rsbpsAdvertisedRoutes :: Lens' RouterStatusBGPPeerStatus [Route]
+ Network.Google.Compute.Types: rsbpsIPAddress :: Lens' RouterStatusBGPPeerStatus (Maybe Text)
+ Network.Google.Compute.Types: rsbpsLinkedVPNTunnel :: Lens' RouterStatusBGPPeerStatus (Maybe Text)
+ Network.Google.Compute.Types: rsbpsName :: Lens' RouterStatusBGPPeerStatus (Maybe Text)
+ Network.Google.Compute.Types: rsbpsNumLearnedRoutes :: Lens' RouterStatusBGPPeerStatus (Maybe Word32)
+ Network.Google.Compute.Types: rsbpsPeerIPAddress :: Lens' RouterStatusBGPPeerStatus (Maybe Text)
+ Network.Google.Compute.Types: rsbpsState :: Lens' RouterStatusBGPPeerStatus (Maybe Text)
+ Network.Google.Compute.Types: rsbpsStatus :: Lens' RouterStatusBGPPeerStatus (Maybe RouterStatusBGPPeerStatusStatus)
+ Network.Google.Compute.Types: rsbpsUptime :: Lens' RouterStatusBGPPeerStatus (Maybe Text)
+ Network.Google.Compute.Types: rsbpsUptimeSeconds :: Lens' RouterStatusBGPPeerStatus (Maybe Text)
+ Network.Google.Compute.Types: rslRouters :: Lens' RoutersScopedList [Router]
+ Network.Google.Compute.Types: rslWarning :: Lens' RoutersScopedList (Maybe RoutersScopedListWarning)
+ Network.Google.Compute.Types: rslwCode :: Lens' RoutersScopedListWarning (Maybe RoutersScopedListWarningCode)
+ Network.Google.Compute.Types: rslwData :: Lens' RoutersScopedListWarning [RoutersScopedListWarningDataItem]
+ Network.Google.Compute.Types: rslwMessage :: Lens' RoutersScopedListWarning (Maybe Text)
+ Network.Google.Compute.Types: rslwdiKey :: Lens' RoutersScopedListWarningDataItem (Maybe Text)
+ Network.Google.Compute.Types: rslwdiValue :: Lens' RoutersScopedListWarningDataItem (Maybe Text)
+ Network.Google.Compute.Types: rsrKind :: Lens' RouterStatusResponse Text
+ Network.Google.Compute.Types: rsrResult :: Lens' RouterStatusResponse (Maybe RouterStatus)
+ Network.Google.Compute.Types: sSnapshotEncryptionKey :: Lens' Snapshot (Maybe CustomerEncryptionKey)
+ Network.Google.Compute.Types: sSourceDiskEncryptionKey :: Lens' Snapshot (Maybe CustomerEncryptionKey)
+ Network.Google.Compute.Types: shcPort :: Lens' SSLHealthCheck (Maybe Int32)
+ Network.Google.Compute.Types: shcPortName :: Lens' SSLHealthCheck (Maybe Text)
+ Network.Google.Compute.Types: shcProxyHeader :: Lens' SSLHealthCheck (Maybe SSLHealthCheckProxyHeader)
+ Network.Google.Compute.Types: shcRequest :: Lens' SSLHealthCheck (Maybe Text)
+ Network.Google.Compute.Types: shcResponse :: Lens' SSLHealthCheck (Maybe Text)
+ Network.Google.Compute.Types: sslHealthCheck :: SSLHealthCheck
+ Network.Google.Compute.Types: targetSSLProxiesSetBackendServiceRequest :: TargetSSLProxiesSetBackendServiceRequest
+ Network.Google.Compute.Types: targetSSLProxiesSetProxyHeaderRequest :: TargetSSLProxiesSetProxyHeaderRequest
+ Network.Google.Compute.Types: targetSSLProxiesSetSSLCertificatesRequest :: TargetSSLProxiesSetSSLCertificatesRequest
+ Network.Google.Compute.Types: targetSSLProxy :: TargetSSLProxy
+ Network.Google.Compute.Types: targetSSLProxyList :: TargetSSLProxyList
+ Network.Google.Compute.Types: tcpHealthCheck :: TCPHealthCheck
+ Network.Google.Compute.Types: thcPort :: Lens' TCPHealthCheck (Maybe Int32)
+ Network.Google.Compute.Types: thcPortName :: Lens' TCPHealthCheck (Maybe Text)
+ Network.Google.Compute.Types: thcProxyHeader :: Lens' TCPHealthCheck (Maybe TCPHealthCheckProxyHeader)
+ Network.Google.Compute.Types: thcRequest :: Lens' TCPHealthCheck (Maybe Text)
+ Network.Google.Compute.Types: thcResponse :: Lens' TCPHealthCheck (Maybe Text)
+ Network.Google.Compute.Types: tspCreationTimestamp :: Lens' TargetSSLProxy (Maybe Text)
+ Network.Google.Compute.Types: tspDescription :: Lens' TargetSSLProxy (Maybe Text)
+ Network.Google.Compute.Types: tspId :: Lens' TargetSSLProxy (Maybe Word64)
+ Network.Google.Compute.Types: tspKind :: Lens' TargetSSLProxy Text
+ Network.Google.Compute.Types: tspName :: Lens' TargetSSLProxy (Maybe Text)
+ Network.Google.Compute.Types: tspProxyHeader :: Lens' TargetSSLProxy (Maybe TargetSSLProxyProxyHeader)
+ Network.Google.Compute.Types: tspSSLCertificates :: Lens' TargetSSLProxy [Text]
+ Network.Google.Compute.Types: tspSelfLink :: Lens' TargetSSLProxy (Maybe Text)
+ Network.Google.Compute.Types: tspService :: Lens' TargetSSLProxy (Maybe Text)
+ Network.Google.Compute.Types: tsplId :: Lens' TargetSSLProxyList (Maybe Text)
+ Network.Google.Compute.Types: tsplItems :: Lens' TargetSSLProxyList [TargetSSLProxy]
+ Network.Google.Compute.Types: tsplKind :: Lens' TargetSSLProxyList Text
+ Network.Google.Compute.Types: tsplNextPageToken :: Lens' TargetSSLProxyList (Maybe Text)
+ Network.Google.Compute.Types: tsplSelfLink :: Lens' TargetSSLProxyList (Maybe Text)
+ Network.Google.Compute.Types: tspsbsrService :: Lens' TargetSSLProxiesSetBackendServiceRequest (Maybe Text)
+ Network.Google.Compute.Types: tspsphrProxyHeader :: Lens' TargetSSLProxiesSetProxyHeaderRequest (Maybe TargetSSLProxiesSetProxyHeaderRequestProxyHeader)
+ Network.Google.Compute.Types: tspsscrSSLCertificates :: Lens' TargetSSLProxiesSetSSLCertificatesRequest [Text]
+ Network.Google.Compute.Types: vtRemoteTrafficSelector :: Lens' VPNTunnel [Text]
+ Network.Google.Compute.Types: vtRouter :: Lens' VPNTunnel (Maybe Text)
+ Network.Google.Resource.Compute.Addresses.AggregatedList: aalOrderBy :: Lens' AddressesAggregatedList (Maybe Text)
+ Network.Google.Resource.Compute.Addresses.Delete: adddAddress :: Lens' AddressesDelete Text
+ Network.Google.Resource.Compute.Addresses.Delete: adddProject :: Lens' AddressesDelete Text
+ Network.Google.Resource.Compute.Addresses.Delete: adddRegion :: Lens' AddressesDelete Text
+ Network.Google.Resource.Compute.Addresses.List: alOrderBy :: Lens' AddressesList (Maybe Text)
+ Network.Google.Resource.Compute.Autoscalers.AggregatedList: autOrderBy :: Lens' AutoscalersAggregatedList (Maybe Text)
+ Network.Google.Resource.Compute.Autoscalers.List: aOrderBy :: Lens' AutoscalersList (Maybe Text)
+ Network.Google.Resource.Compute.BackendServices.List: bslOrderBy :: Lens' BackendServicesList (Maybe Text)
+ Network.Google.Resource.Compute.DiskTypes.AggregatedList: dtalOrderBy :: Lens' DiskTypesAggregatedList (Maybe Text)
+ Network.Google.Resource.Compute.DiskTypes.List: dtlOrderBy :: Lens' DiskTypesList (Maybe Text)
+ Network.Google.Resource.Compute.Disks.AggregatedList: dalOrderBy :: Lens' DisksAggregatedList (Maybe Text)
+ Network.Google.Resource.Compute.Disks.List: dlOrderBy :: Lens' DisksList (Maybe Text)
+ Network.Google.Resource.Compute.Firewalls.List: flOrderBy :: Lens' FirewallsList (Maybe Text)
+ Network.Google.Resource.Compute.ForwardingRules.AggregatedList: fralOrderBy :: Lens' ForwardingRulesAggregatedList (Maybe Text)
+ Network.Google.Resource.Compute.ForwardingRules.List: frlOrderBy :: Lens' ForwardingRulesList (Maybe Text)
+ Network.Google.Resource.Compute.GlobalAddresses.List: galOrderBy :: Lens' GlobalAddressesList (Maybe Text)
+ Network.Google.Resource.Compute.GlobalForwardingRules.List: gfrlOrderBy :: Lens' GlobalForwardingRulesList (Maybe Text)
+ Network.Google.Resource.Compute.GlobalOperations.AggregatedList: goalOrderBy :: Lens' GlobalOperationsAggregatedList (Maybe Text)
+ Network.Google.Resource.Compute.GlobalOperations.List: golOrderBy :: Lens' GlobalOperationsList (Maybe Text)
+ Network.Google.Resource.Compute.HTTPHealthChecks.List: httphclOrderBy :: Lens' HTTPHealthChecksList (Maybe Text)
+ Network.Google.Resource.Compute.HTTPSHealthChecks.List: hhclOrderBy :: Lens' HTTPSHealthChecksList (Maybe Text)
+ Network.Google.Resource.Compute.HealthChecks.Delete: data HealthChecksDelete
+ Network.Google.Resource.Compute.HealthChecks.Delete: hcdHealthCheck :: Lens' HealthChecksDelete Text
+ Network.Google.Resource.Compute.HealthChecks.Delete: hcdProject :: Lens' HealthChecksDelete Text
+ Network.Google.Resource.Compute.HealthChecks.Delete: healthChecksDelete :: Text -> Text -> HealthChecksDelete
+ Network.Google.Resource.Compute.HealthChecks.Delete: instance Data.Data.Data Network.Google.Resource.Compute.HealthChecks.Delete.HealthChecksDelete
+ Network.Google.Resource.Compute.HealthChecks.Delete: instance GHC.Classes.Eq Network.Google.Resource.Compute.HealthChecks.Delete.HealthChecksDelete
+ Network.Google.Resource.Compute.HealthChecks.Delete: instance GHC.Generics.Generic Network.Google.Resource.Compute.HealthChecks.Delete.HealthChecksDelete
+ Network.Google.Resource.Compute.HealthChecks.Delete: instance GHC.Show.Show Network.Google.Resource.Compute.HealthChecks.Delete.HealthChecksDelete
+ Network.Google.Resource.Compute.HealthChecks.Delete: instance Network.Google.Types.GoogleRequest Network.Google.Resource.Compute.HealthChecks.Delete.HealthChecksDelete
+ Network.Google.Resource.Compute.HealthChecks.Delete: type HealthChecksDeleteResource = "compute" :> ("v1" :> ("projects" :> (Capture "project" Text :> ("global" :> ("healthChecks" :> (Capture "healthCheck" Text :> (QueryParam "alt" AltJSON :> Delete '[JSON] Operation)))))))
+ Network.Google.Resource.Compute.HealthChecks.Get: data HealthChecksGet
+ Network.Google.Resource.Compute.HealthChecks.Get: hcgHealthCheck :: Lens' HealthChecksGet Text
+ Network.Google.Resource.Compute.HealthChecks.Get: hcgProject :: Lens' HealthChecksGet Text
+ Network.Google.Resource.Compute.HealthChecks.Get: healthChecksGet :: Text -> Text -> HealthChecksGet
+ Network.Google.Resource.Compute.HealthChecks.Get: instance Data.Data.Data Network.Google.Resource.Compute.HealthChecks.Get.HealthChecksGet
+ Network.Google.Resource.Compute.HealthChecks.Get: instance GHC.Classes.Eq Network.Google.Resource.Compute.HealthChecks.Get.HealthChecksGet
+ Network.Google.Resource.Compute.HealthChecks.Get: instance GHC.Generics.Generic Network.Google.Resource.Compute.HealthChecks.Get.HealthChecksGet
+ Network.Google.Resource.Compute.HealthChecks.Get: instance GHC.Show.Show Network.Google.Resource.Compute.HealthChecks.Get.HealthChecksGet
+ Network.Google.Resource.Compute.HealthChecks.Get: instance Network.Google.Types.GoogleRequest Network.Google.Resource.Compute.HealthChecks.Get.HealthChecksGet
+ Network.Google.Resource.Compute.HealthChecks.Get: type HealthChecksGetResource = "compute" :> ("v1" :> ("projects" :> (Capture "project" Text :> ("global" :> ("healthChecks" :> (Capture "healthCheck" Text :> (QueryParam "alt" AltJSON :> Get '[JSON] HealthCheck)))))))
+ Network.Google.Resource.Compute.HealthChecks.Insert: data HealthChecksInsert
+ Network.Google.Resource.Compute.HealthChecks.Insert: hciPayload :: Lens' HealthChecksInsert HealthCheck
+ Network.Google.Resource.Compute.HealthChecks.Insert: hciProject :: Lens' HealthChecksInsert Text
+ Network.Google.Resource.Compute.HealthChecks.Insert: healthChecksInsert :: Text -> HealthCheck -> HealthChecksInsert
+ Network.Google.Resource.Compute.HealthChecks.Insert: instance Data.Data.Data Network.Google.Resource.Compute.HealthChecks.Insert.HealthChecksInsert
+ Network.Google.Resource.Compute.HealthChecks.Insert: instance GHC.Classes.Eq Network.Google.Resource.Compute.HealthChecks.Insert.HealthChecksInsert
+ Network.Google.Resource.Compute.HealthChecks.Insert: instance GHC.Generics.Generic Network.Google.Resource.Compute.HealthChecks.Insert.HealthChecksInsert
+ Network.Google.Resource.Compute.HealthChecks.Insert: instance GHC.Show.Show Network.Google.Resource.Compute.HealthChecks.Insert.HealthChecksInsert
+ Network.Google.Resource.Compute.HealthChecks.Insert: instance Network.Google.Types.GoogleRequest Network.Google.Resource.Compute.HealthChecks.Insert.HealthChecksInsert
+ Network.Google.Resource.Compute.HealthChecks.Insert: type HealthChecksInsertResource = "compute" :> ("v1" :> ("projects" :> (Capture "project" Text :> ("global" :> ("healthChecks" :> (QueryParam "alt" AltJSON :> (ReqBody '[JSON] HealthCheck :> Post '[JSON] Operation)))))))
+ Network.Google.Resource.Compute.HealthChecks.List: data HealthChecksList
+ Network.Google.Resource.Compute.HealthChecks.List: hclFilter :: Lens' HealthChecksList (Maybe Text)
+ Network.Google.Resource.Compute.HealthChecks.List: hclMaxResults :: Lens' HealthChecksList Word32
+ Network.Google.Resource.Compute.HealthChecks.List: hclOrderBy :: Lens' HealthChecksList (Maybe Text)
+ Network.Google.Resource.Compute.HealthChecks.List: hclPageToken :: Lens' HealthChecksList (Maybe Text)
+ Network.Google.Resource.Compute.HealthChecks.List: hclProject :: Lens' HealthChecksList Text
+ Network.Google.Resource.Compute.HealthChecks.List: healthChecksList :: Text -> HealthChecksList
+ Network.Google.Resource.Compute.HealthChecks.List: instance Data.Data.Data Network.Google.Resource.Compute.HealthChecks.List.HealthChecksList
+ Network.Google.Resource.Compute.HealthChecks.List: instance GHC.Classes.Eq Network.Google.Resource.Compute.HealthChecks.List.HealthChecksList
+ Network.Google.Resource.Compute.HealthChecks.List: instance GHC.Generics.Generic Network.Google.Resource.Compute.HealthChecks.List.HealthChecksList
+ Network.Google.Resource.Compute.HealthChecks.List: instance GHC.Show.Show Network.Google.Resource.Compute.HealthChecks.List.HealthChecksList
+ Network.Google.Resource.Compute.HealthChecks.List: instance Network.Google.Types.GoogleRequest Network.Google.Resource.Compute.HealthChecks.List.HealthChecksList
+ Network.Google.Resource.Compute.HealthChecks.List: type HealthChecksListResource = "compute" :> ("v1" :> ("projects" :> (Capture "project" Text :> ("global" :> ("healthChecks" :> (QueryParam "orderBy" Text :> (QueryParam "filter" Text :> (QueryParam "pageToken" Text :> (QueryParam "maxResults" (Textual Word32) :> (QueryParam "alt" AltJSON :> Get '[JSON] HealthCheckList))))))))))
+ Network.Google.Resource.Compute.HealthChecks.Patch: data HealthChecksPatch
+ Network.Google.Resource.Compute.HealthChecks.Patch: hcpHealthCheck :: Lens' HealthChecksPatch Text
+ Network.Google.Resource.Compute.HealthChecks.Patch: hcpPayload :: Lens' HealthChecksPatch HealthCheck
+ Network.Google.Resource.Compute.HealthChecks.Patch: hcpProject :: Lens' HealthChecksPatch Text
+ Network.Google.Resource.Compute.HealthChecks.Patch: healthChecksPatch :: Text -> Text -> HealthCheck -> HealthChecksPatch
+ Network.Google.Resource.Compute.HealthChecks.Patch: instance Data.Data.Data Network.Google.Resource.Compute.HealthChecks.Patch.HealthChecksPatch
+ Network.Google.Resource.Compute.HealthChecks.Patch: instance GHC.Classes.Eq Network.Google.Resource.Compute.HealthChecks.Patch.HealthChecksPatch
+ Network.Google.Resource.Compute.HealthChecks.Patch: instance GHC.Generics.Generic Network.Google.Resource.Compute.HealthChecks.Patch.HealthChecksPatch
+ Network.Google.Resource.Compute.HealthChecks.Patch: instance GHC.Show.Show Network.Google.Resource.Compute.HealthChecks.Patch.HealthChecksPatch
+ Network.Google.Resource.Compute.HealthChecks.Patch: instance Network.Google.Types.GoogleRequest Network.Google.Resource.Compute.HealthChecks.Patch.HealthChecksPatch
+ Network.Google.Resource.Compute.HealthChecks.Patch: type HealthChecksPatchResource = "compute" :> ("v1" :> ("projects" :> (Capture "project" Text :> ("global" :> ("healthChecks" :> (Capture "healthCheck" Text :> (QueryParam "alt" AltJSON :> (ReqBody '[JSON] HealthCheck :> Patch '[JSON] Operation))))))))
+ Network.Google.Resource.Compute.HealthChecks.Update: data HealthChecksUpdate
+ Network.Google.Resource.Compute.HealthChecks.Update: hcuHealthCheck :: Lens' HealthChecksUpdate Text
+ Network.Google.Resource.Compute.HealthChecks.Update: hcuPayload :: Lens' HealthChecksUpdate HealthCheck
+ Network.Google.Resource.Compute.HealthChecks.Update: hcuProject :: Lens' HealthChecksUpdate Text
+ Network.Google.Resource.Compute.HealthChecks.Update: healthChecksUpdate :: Text -> Text -> HealthCheck -> HealthChecksUpdate
+ Network.Google.Resource.Compute.HealthChecks.Update: instance Data.Data.Data Network.Google.Resource.Compute.HealthChecks.Update.HealthChecksUpdate
+ Network.Google.Resource.Compute.HealthChecks.Update: instance GHC.Classes.Eq Network.Google.Resource.Compute.HealthChecks.Update.HealthChecksUpdate
+ Network.Google.Resource.Compute.HealthChecks.Update: instance GHC.Generics.Generic Network.Google.Resource.Compute.HealthChecks.Update.HealthChecksUpdate
+ Network.Google.Resource.Compute.HealthChecks.Update: instance GHC.Show.Show Network.Google.Resource.Compute.HealthChecks.Update.HealthChecksUpdate
+ Network.Google.Resource.Compute.HealthChecks.Update: instance Network.Google.Types.GoogleRequest Network.Google.Resource.Compute.HealthChecks.Update.HealthChecksUpdate
+ Network.Google.Resource.Compute.HealthChecks.Update: type HealthChecksUpdateResource = "compute" :> ("v1" :> ("projects" :> (Capture "project" Text :> ("global" :> ("healthChecks" :> (Capture "healthCheck" Text :> (QueryParam "alt" AltJSON :> (ReqBody '[JSON] HealthCheck :> Put '[JSON] Operation))))))))
+ Network.Google.Resource.Compute.Images.List: illOrderBy :: Lens' ImagesList (Maybe Text)
+ Network.Google.Resource.Compute.InstanceGroupManagers.AggregatedList: igmalOrderBy :: Lens' InstanceGroupManagersAggregatedList (Maybe Text)
+ Network.Google.Resource.Compute.InstanceGroupManagers.List: igmlOrderBy :: Lens' InstanceGroupManagersList (Maybe Text)
+ Network.Google.Resource.Compute.InstanceGroups.AggregatedList: igalOrderBy :: Lens' InstanceGroupsAggregatedList (Maybe Text)
+ Network.Google.Resource.Compute.InstanceGroups.List: iglOrderBy :: Lens' InstanceGroupsList (Maybe Text)
+ Network.Google.Resource.Compute.InstanceGroups.ListInstances: igliOrderBy :: Lens' InstanceGroupsListInstances' (Maybe Text)
+ Network.Google.Resource.Compute.InstanceTemplates.List: itlOrderBy :: Lens' InstanceTemplatesList (Maybe Text)
+ Network.Google.Resource.Compute.Instances.AggregatedList: ialOrderBy :: Lens' InstancesAggregatedList (Maybe Text)
+ Network.Google.Resource.Compute.Instances.List: ilOrderBy :: Lens' InstancesList (Maybe Text)
+ Network.Google.Resource.Compute.Instances.StartWithEncryptionKey: data InstancesStartWithEncryptionKey
+ Network.Google.Resource.Compute.Instances.StartWithEncryptionKey: instance Data.Data.Data Network.Google.Resource.Compute.Instances.StartWithEncryptionKey.InstancesStartWithEncryptionKey
+ Network.Google.Resource.Compute.Instances.StartWithEncryptionKey: instance GHC.Classes.Eq Network.Google.Resource.Compute.Instances.StartWithEncryptionKey.InstancesStartWithEncryptionKey
+ Network.Google.Resource.Compute.Instances.StartWithEncryptionKey: instance GHC.Generics.Generic Network.Google.Resource.Compute.Instances.StartWithEncryptionKey.InstancesStartWithEncryptionKey
+ Network.Google.Resource.Compute.Instances.StartWithEncryptionKey: instance GHC.Show.Show Network.Google.Resource.Compute.Instances.StartWithEncryptionKey.InstancesStartWithEncryptionKey
+ Network.Google.Resource.Compute.Instances.StartWithEncryptionKey: instance Network.Google.Types.GoogleRequest Network.Google.Resource.Compute.Instances.StartWithEncryptionKey.InstancesStartWithEncryptionKey
+ Network.Google.Resource.Compute.Instances.StartWithEncryptionKey: instancesStartWithEncryptionKey :: Text -> Text -> InstancesStartWithEncryptionKeyRequest -> Text -> InstancesStartWithEncryptionKey
+ Network.Google.Resource.Compute.Instances.StartWithEncryptionKey: iswekInstance :: Lens' InstancesStartWithEncryptionKey Text
+ Network.Google.Resource.Compute.Instances.StartWithEncryptionKey: iswekPayload :: Lens' InstancesStartWithEncryptionKey InstancesStartWithEncryptionKeyRequest
+ Network.Google.Resource.Compute.Instances.StartWithEncryptionKey: iswekProject :: Lens' InstancesStartWithEncryptionKey Text
+ Network.Google.Resource.Compute.Instances.StartWithEncryptionKey: iswekZone :: Lens' InstancesStartWithEncryptionKey Text
+ Network.Google.Resource.Compute.Instances.StartWithEncryptionKey: type InstancesStartWithEncryptionKeyResource = "compute" :> ("v1" :> ("projects" :> (Capture "project" Text :> ("zones" :> (Capture "zone" Text :> ("instances" :> (Capture "instance" Text :> ("startWithEncryptionKey" :> (QueryParam "alt" AltJSON :> (ReqBody '[JSON] InstancesStartWithEncryptionKeyRequest :> Post '[JSON] Operation))))))))))
+ Network.Google.Resource.Compute.MachineTypes.AggregatedList: mtalOrderBy :: Lens' MachineTypesAggregatedList (Maybe Text)
+ Network.Google.Resource.Compute.MachineTypes.List: mtlOrderBy :: Lens' MachineTypesList (Maybe Text)
+ Network.Google.Resource.Compute.Networks.List: nlOrderBy :: Lens' NetworksList (Maybe Text)
+ Network.Google.Resource.Compute.RegionOperations.List: rolOrderBy :: Lens' RegionOperationsList (Maybe Text)
+ Network.Google.Resource.Compute.Regions.List: regFilter :: Lens' RegionsList (Maybe Text)
+ Network.Google.Resource.Compute.Regions.List: regMaxResults :: Lens' RegionsList Word32
+ Network.Google.Resource.Compute.Regions.List: regOrderBy :: Lens' RegionsList (Maybe Text)
+ Network.Google.Resource.Compute.Regions.List: regPageToken :: Lens' RegionsList (Maybe Text)
+ Network.Google.Resource.Compute.Regions.List: regProject :: Lens' RegionsList Text
+ Network.Google.Resource.Compute.Routers.AggregatedList: data RoutersAggregatedList
+ Network.Google.Resource.Compute.Routers.AggregatedList: instance Data.Data.Data Network.Google.Resource.Compute.Routers.AggregatedList.RoutersAggregatedList
+ Network.Google.Resource.Compute.Routers.AggregatedList: instance GHC.Classes.Eq Network.Google.Resource.Compute.Routers.AggregatedList.RoutersAggregatedList
+ Network.Google.Resource.Compute.Routers.AggregatedList: instance GHC.Generics.Generic Network.Google.Resource.Compute.Routers.AggregatedList.RoutersAggregatedList
+ Network.Google.Resource.Compute.Routers.AggregatedList: instance GHC.Show.Show Network.Google.Resource.Compute.Routers.AggregatedList.RoutersAggregatedList
+ Network.Google.Resource.Compute.Routers.AggregatedList: instance Network.Google.Types.GoogleRequest Network.Google.Resource.Compute.Routers.AggregatedList.RoutersAggregatedList
+ Network.Google.Resource.Compute.Routers.AggregatedList: ralFilter :: Lens' RoutersAggregatedList (Maybe Text)
+ Network.Google.Resource.Compute.Routers.AggregatedList: ralMaxResults :: Lens' RoutersAggregatedList Word32
+ Network.Google.Resource.Compute.Routers.AggregatedList: ralOrderBy :: Lens' RoutersAggregatedList (Maybe Text)
+ Network.Google.Resource.Compute.Routers.AggregatedList: ralPageToken :: Lens' RoutersAggregatedList (Maybe Text)
+ Network.Google.Resource.Compute.Routers.AggregatedList: ralProject :: Lens' RoutersAggregatedList Text
+ Network.Google.Resource.Compute.Routers.AggregatedList: routersAggregatedList :: Text -> RoutersAggregatedList
+ Network.Google.Resource.Compute.Routers.AggregatedList: type RoutersAggregatedListResource = "compute" :> ("v1" :> ("projects" :> (Capture "project" Text :> ("aggregated" :> ("routers" :> (QueryParam "orderBy" Text :> (QueryParam "filter" Text :> (QueryParam "pageToken" Text :> (QueryParam "maxResults" (Textual Word32) :> (QueryParam "alt" AltJSON :> Get '[JSON] RouterAggregatedList))))))))))
+ Network.Google.Resource.Compute.Routers.Delete: data RoutersDelete
+ Network.Google.Resource.Compute.Routers.Delete: instance Data.Data.Data Network.Google.Resource.Compute.Routers.Delete.RoutersDelete
+ Network.Google.Resource.Compute.Routers.Delete: instance GHC.Classes.Eq Network.Google.Resource.Compute.Routers.Delete.RoutersDelete
+ Network.Google.Resource.Compute.Routers.Delete: instance GHC.Generics.Generic Network.Google.Resource.Compute.Routers.Delete.RoutersDelete
+ Network.Google.Resource.Compute.Routers.Delete: instance GHC.Show.Show Network.Google.Resource.Compute.Routers.Delete.RoutersDelete
+ Network.Google.Resource.Compute.Routers.Delete: instance Network.Google.Types.GoogleRequest Network.Google.Resource.Compute.Routers.Delete.RoutersDelete
+ Network.Google.Resource.Compute.Routers.Delete: rddProject :: Lens' RoutersDelete Text
+ Network.Google.Resource.Compute.Routers.Delete: rddRegion :: Lens' RoutersDelete Text
+ Network.Google.Resource.Compute.Routers.Delete: rddRouter :: Lens' RoutersDelete Text
+ Network.Google.Resource.Compute.Routers.Delete: routersDelete :: Text -> Text -> Text -> RoutersDelete
+ Network.Google.Resource.Compute.Routers.Delete: type RoutersDeleteResource = "compute" :> ("v1" :> ("projects" :> (Capture "project" Text :> ("regions" :> (Capture "region" Text :> ("routers" :> (Capture "router" Text :> (QueryParam "alt" AltJSON :> Delete '[JSON] Operation))))))))
+ Network.Google.Resource.Compute.Routers.Get: data RoutersGet
+ Network.Google.Resource.Compute.Routers.Get: instance Data.Data.Data Network.Google.Resource.Compute.Routers.Get.RoutersGet
+ Network.Google.Resource.Compute.Routers.Get: instance GHC.Classes.Eq Network.Google.Resource.Compute.Routers.Get.RoutersGet
+ Network.Google.Resource.Compute.Routers.Get: instance GHC.Generics.Generic Network.Google.Resource.Compute.Routers.Get.RoutersGet
+ Network.Google.Resource.Compute.Routers.Get: instance GHC.Show.Show Network.Google.Resource.Compute.Routers.Get.RoutersGet
+ Network.Google.Resource.Compute.Routers.Get: instance Network.Google.Types.GoogleRequest Network.Google.Resource.Compute.Routers.Get.RoutersGet
+ Network.Google.Resource.Compute.Routers.Get: rggProject :: Lens' RoutersGet Text
+ Network.Google.Resource.Compute.Routers.Get: rggRegion :: Lens' RoutersGet Text
+ Network.Google.Resource.Compute.Routers.Get: rggRouter :: Lens' RoutersGet Text
+ Network.Google.Resource.Compute.Routers.Get: routersGet :: Text -> Text -> Text -> RoutersGet
+ Network.Google.Resource.Compute.Routers.Get: type RoutersGetResource = "compute" :> ("v1" :> ("projects" :> (Capture "project" Text :> ("regions" :> (Capture "region" Text :> ("routers" :> (Capture "router" Text :> (QueryParam "alt" AltJSON :> Get '[JSON] Router))))))))
+ Network.Google.Resource.Compute.Routers.GetRouterStatus: data RoutersGetRouterStatus
+ Network.Google.Resource.Compute.Routers.GetRouterStatus: instance Data.Data.Data Network.Google.Resource.Compute.Routers.GetRouterStatus.RoutersGetRouterStatus
+ Network.Google.Resource.Compute.Routers.GetRouterStatus: instance GHC.Classes.Eq Network.Google.Resource.Compute.Routers.GetRouterStatus.RoutersGetRouterStatus
+ Network.Google.Resource.Compute.Routers.GetRouterStatus: instance GHC.Generics.Generic Network.Google.Resource.Compute.Routers.GetRouterStatus.RoutersGetRouterStatus
+ Network.Google.Resource.Compute.Routers.GetRouterStatus: instance GHC.Show.Show Network.Google.Resource.Compute.Routers.GetRouterStatus.RoutersGetRouterStatus
+ Network.Google.Resource.Compute.Routers.GetRouterStatus: instance Network.Google.Types.GoogleRequest Network.Google.Resource.Compute.Routers.GetRouterStatus.RoutersGetRouterStatus
+ Network.Google.Resource.Compute.Routers.GetRouterStatus: rgrsProject :: Lens' RoutersGetRouterStatus Text
+ Network.Google.Resource.Compute.Routers.GetRouterStatus: rgrsRegion :: Lens' RoutersGetRouterStatus Text
+ Network.Google.Resource.Compute.Routers.GetRouterStatus: rgrsRouter :: Lens' RoutersGetRouterStatus Text
+ Network.Google.Resource.Compute.Routers.GetRouterStatus: routersGetRouterStatus :: Text -> Text -> Text -> RoutersGetRouterStatus
+ Network.Google.Resource.Compute.Routers.GetRouterStatus: type RoutersGetRouterStatusResource = "compute" :> ("v1" :> ("projects" :> (Capture "project" Text :> ("regions" :> (Capture "region" Text :> ("routers" :> (Capture "router" Text :> ("getRouterStatus" :> (QueryParam "alt" AltJSON :> Get '[JSON] RouterStatusResponse)))))))))
+ Network.Google.Resource.Compute.Routers.Insert: data RoutersInsert
+ Network.Google.Resource.Compute.Routers.Insert: instance Data.Data.Data Network.Google.Resource.Compute.Routers.Insert.RoutersInsert
+ Network.Google.Resource.Compute.Routers.Insert: instance GHC.Classes.Eq Network.Google.Resource.Compute.Routers.Insert.RoutersInsert
+ Network.Google.Resource.Compute.Routers.Insert: instance GHC.Generics.Generic Network.Google.Resource.Compute.Routers.Insert.RoutersInsert
+ Network.Google.Resource.Compute.Routers.Insert: instance GHC.Show.Show Network.Google.Resource.Compute.Routers.Insert.RoutersInsert
+ Network.Google.Resource.Compute.Routers.Insert: instance Network.Google.Types.GoogleRequest Network.Google.Resource.Compute.Routers.Insert.RoutersInsert
+ Network.Google.Resource.Compute.Routers.Insert: riPayload :: Lens' RoutersInsert Router
+ Network.Google.Resource.Compute.Routers.Insert: riProject :: Lens' RoutersInsert Text
+ Network.Google.Resource.Compute.Routers.Insert: riRegion :: Lens' RoutersInsert Text
+ Network.Google.Resource.Compute.Routers.Insert: routersInsert :: Text -> Router -> Text -> RoutersInsert
+ Network.Google.Resource.Compute.Routers.Insert: type RoutersInsertResource = "compute" :> ("v1" :> ("projects" :> (Capture "project" Text :> ("regions" :> (Capture "region" Text :> ("routers" :> (QueryParam "alt" AltJSON :> (ReqBody '[JSON] Router :> Post '[JSON] Operation))))))))
+ Network.Google.Resource.Compute.Routers.List: data RoutersList
+ Network.Google.Resource.Compute.Routers.List: instance Data.Data.Data Network.Google.Resource.Compute.Routers.List.RoutersList
+ Network.Google.Resource.Compute.Routers.List: instance GHC.Classes.Eq Network.Google.Resource.Compute.Routers.List.RoutersList
+ Network.Google.Resource.Compute.Routers.List: instance GHC.Generics.Generic Network.Google.Resource.Compute.Routers.List.RoutersList
+ Network.Google.Resource.Compute.Routers.List: instance GHC.Show.Show Network.Google.Resource.Compute.Routers.List.RoutersList
+ Network.Google.Resource.Compute.Routers.List: instance Network.Google.Types.GoogleRequest Network.Google.Resource.Compute.Routers.List.RoutersList
+ Network.Google.Resource.Compute.Routers.List: rlFilter :: Lens' RoutersList (Maybe Text)
+ Network.Google.Resource.Compute.Routers.List: rlMaxResults :: Lens' RoutersList Word32
+ Network.Google.Resource.Compute.Routers.List: rlOrderBy :: Lens' RoutersList (Maybe Text)
+ Network.Google.Resource.Compute.Routers.List: rlPageToken :: Lens' RoutersList (Maybe Text)
+ Network.Google.Resource.Compute.Routers.List: rlProject :: Lens' RoutersList Text
+ Network.Google.Resource.Compute.Routers.List: rlRegion :: Lens' RoutersList Text
+ Network.Google.Resource.Compute.Routers.List: routersList :: Text -> Text -> RoutersList
+ Network.Google.Resource.Compute.Routers.List: type RoutersListResource = "compute" :> ("v1" :> ("projects" :> (Capture "project" Text :> ("regions" :> (Capture "region" Text :> ("routers" :> (QueryParam "orderBy" Text :> (QueryParam "filter" Text :> (QueryParam "pageToken" Text :> (QueryParam "maxResults" (Textual Word32) :> (QueryParam "alt" AltJSON :> Get '[JSON] RouterList)))))))))))
+ Network.Google.Resource.Compute.Routers.Patch: data RoutersPatch
+ Network.Google.Resource.Compute.Routers.Patch: instance Data.Data.Data Network.Google.Resource.Compute.Routers.Patch.RoutersPatch
+ Network.Google.Resource.Compute.Routers.Patch: instance GHC.Classes.Eq Network.Google.Resource.Compute.Routers.Patch.RoutersPatch
+ Network.Google.Resource.Compute.Routers.Patch: instance GHC.Generics.Generic Network.Google.Resource.Compute.Routers.Patch.RoutersPatch
+ Network.Google.Resource.Compute.Routers.Patch: instance GHC.Show.Show Network.Google.Resource.Compute.Routers.Patch.RoutersPatch
+ Network.Google.Resource.Compute.Routers.Patch: instance Network.Google.Types.GoogleRequest Network.Google.Resource.Compute.Routers.Patch.RoutersPatch
+ Network.Google.Resource.Compute.Routers.Patch: routersPatch :: Text -> Text -> Router -> Text -> RoutersPatch
+ Network.Google.Resource.Compute.Routers.Patch: rpPayload :: Lens' RoutersPatch Router
+ Network.Google.Resource.Compute.Routers.Patch: rpProject :: Lens' RoutersPatch Text
+ Network.Google.Resource.Compute.Routers.Patch: rpRegion :: Lens' RoutersPatch Text
+ Network.Google.Resource.Compute.Routers.Patch: rpRouter :: Lens' RoutersPatch Text
+ Network.Google.Resource.Compute.Routers.Patch: type RoutersPatchResource = "compute" :> ("v1" :> ("projects" :> (Capture "project" Text :> ("regions" :> (Capture "region" Text :> ("routers" :> (Capture "router" Text :> (QueryParam "alt" AltJSON :> (ReqBody '[JSON] Router :> Patch '[JSON] Operation)))))))))
+ Network.Google.Resource.Compute.Routers.Preview: data RoutersPreview
+ Network.Google.Resource.Compute.Routers.Preview: instance Data.Data.Data Network.Google.Resource.Compute.Routers.Preview.RoutersPreview
+ Network.Google.Resource.Compute.Routers.Preview: instance GHC.Classes.Eq Network.Google.Resource.Compute.Routers.Preview.RoutersPreview
+ Network.Google.Resource.Compute.Routers.Preview: instance GHC.Generics.Generic Network.Google.Resource.Compute.Routers.Preview.RoutersPreview
+ Network.Google.Resource.Compute.Routers.Preview: instance GHC.Show.Show Network.Google.Resource.Compute.Routers.Preview.RoutersPreview
+ Network.Google.Resource.Compute.Routers.Preview: instance Network.Google.Types.GoogleRequest Network.Google.Resource.Compute.Routers.Preview.RoutersPreview
+ Network.Google.Resource.Compute.Routers.Preview: routersPreview :: Text -> Text -> Router -> Text -> RoutersPreview
+ Network.Google.Resource.Compute.Routers.Preview: rppPayload :: Lens' RoutersPreview Router
+ Network.Google.Resource.Compute.Routers.Preview: rppProject :: Lens' RoutersPreview Text
+ Network.Google.Resource.Compute.Routers.Preview: rppRegion :: Lens' RoutersPreview Text
+ Network.Google.Resource.Compute.Routers.Preview: rppRouter :: Lens' RoutersPreview Text
+ Network.Google.Resource.Compute.Routers.Preview: type RoutersPreviewResource = "compute" :> ("v1" :> ("projects" :> (Capture "project" Text :> ("regions" :> (Capture "region" Text :> ("routers" :> (Capture "router" Text :> ("preview" :> (QueryParam "alt" AltJSON :> (ReqBody '[JSON] Router :> Post '[JSON] RoutersPreviewResponse))))))))))
+ Network.Google.Resource.Compute.Routers.Update: data RoutersUpdate
+ Network.Google.Resource.Compute.Routers.Update: instance Data.Data.Data Network.Google.Resource.Compute.Routers.Update.RoutersUpdate
+ Network.Google.Resource.Compute.Routers.Update: instance GHC.Classes.Eq Network.Google.Resource.Compute.Routers.Update.RoutersUpdate
+ Network.Google.Resource.Compute.Routers.Update: instance GHC.Generics.Generic Network.Google.Resource.Compute.Routers.Update.RoutersUpdate
+ Network.Google.Resource.Compute.Routers.Update: instance GHC.Show.Show Network.Google.Resource.Compute.Routers.Update.RoutersUpdate
+ Network.Google.Resource.Compute.Routers.Update: instance Network.Google.Types.GoogleRequest Network.Google.Resource.Compute.Routers.Update.RoutersUpdate
+ Network.Google.Resource.Compute.Routers.Update: routersUpdate :: Text -> Text -> Router -> Text -> RoutersUpdate
+ Network.Google.Resource.Compute.Routers.Update: ruPayload :: Lens' RoutersUpdate Router
+ Network.Google.Resource.Compute.Routers.Update: ruProject :: Lens' RoutersUpdate Text
+ Network.Google.Resource.Compute.Routers.Update: ruRegion :: Lens' RoutersUpdate Text
+ Network.Google.Resource.Compute.Routers.Update: ruRouter :: Lens' RoutersUpdate Text
+ Network.Google.Resource.Compute.Routers.Update: type RoutersUpdateResource = "compute" :> ("v1" :> ("projects" :> (Capture "project" Text :> ("regions" :> (Capture "region" Text :> ("routers" :> (Capture "router" Text :> (QueryParam "alt" AltJSON :> (ReqBody '[JSON] Router :> Put '[JSON] Operation)))))))))
+ Network.Google.Resource.Compute.Routes.Get: rrProject :: Lens' RoutesGet Text
+ Network.Google.Resource.Compute.Routes.Get: rrRoute :: Lens' RoutesGet Text
+ Network.Google.Resource.Compute.Routes.Insert: rPayload :: Lens' RoutesInsert Route
+ Network.Google.Resource.Compute.Routes.Insert: rProject :: Lens' RoutesInsert Text
+ Network.Google.Resource.Compute.Routes.List: rouFilter :: Lens' RoutesList (Maybe Text)
+ Network.Google.Resource.Compute.Routes.List: rouMaxResults :: Lens' RoutesList Word32
+ Network.Google.Resource.Compute.Routes.List: rouOrderBy :: Lens' RoutesList (Maybe Text)
+ Network.Google.Resource.Compute.Routes.List: rouPageToken :: Lens' RoutesList (Maybe Text)
+ Network.Google.Resource.Compute.Routes.List: rouProject :: Lens' RoutesList Text
+ Network.Google.Resource.Compute.SSLCertificates.List: sclOrderBy :: Lens' SSLCertificatesList (Maybe Text)
+ Network.Google.Resource.Compute.Snapshots.List: sOrderBy :: Lens' SnapshotsList (Maybe Text)
+ Network.Google.Resource.Compute.Subnetworks.AggregatedList: salOrderBy :: Lens' SubnetworksAggregatedList (Maybe Text)
+ Network.Google.Resource.Compute.Subnetworks.List: slOrderBy :: Lens' SubnetworksList (Maybe Text)
+ Network.Google.Resource.Compute.TargetHTTPProxies.List: thttpplOrderBy :: Lens' TargetHTTPProxiesList (Maybe Text)
+ Network.Google.Resource.Compute.TargetHTTPSProxies.List: thplOrderBy :: Lens' TargetHTTPSProxiesList (Maybe Text)
+ Network.Google.Resource.Compute.TargetInstances.AggregatedList: tialOrderBy :: Lens' TargetInstancesAggregatedList (Maybe Text)
+ Network.Google.Resource.Compute.TargetInstances.List: tilOrderBy :: Lens' TargetInstancesList (Maybe Text)
+ Network.Google.Resource.Compute.TargetPools.AggregatedList: tpalOrderBy :: Lens' TargetPoolsAggregatedList (Maybe Text)
+ Network.Google.Resource.Compute.TargetPools.List: tplOrderBy :: Lens' TargetPoolsList (Maybe Text)
+ Network.Google.Resource.Compute.TargetSSLProxies.Delete: data TargetSSLProxiesDelete
+ Network.Google.Resource.Compute.TargetSSLProxies.Delete: instance Data.Data.Data Network.Google.Resource.Compute.TargetSSLProxies.Delete.TargetSSLProxiesDelete
+ Network.Google.Resource.Compute.TargetSSLProxies.Delete: instance GHC.Classes.Eq Network.Google.Resource.Compute.TargetSSLProxies.Delete.TargetSSLProxiesDelete
+ Network.Google.Resource.Compute.TargetSSLProxies.Delete: instance GHC.Generics.Generic Network.Google.Resource.Compute.TargetSSLProxies.Delete.TargetSSLProxiesDelete
+ Network.Google.Resource.Compute.TargetSSLProxies.Delete: instance GHC.Show.Show Network.Google.Resource.Compute.TargetSSLProxies.Delete.TargetSSLProxiesDelete
+ Network.Google.Resource.Compute.TargetSSLProxies.Delete: instance Network.Google.Types.GoogleRequest Network.Google.Resource.Compute.TargetSSLProxies.Delete.TargetSSLProxiesDelete
+ Network.Google.Resource.Compute.TargetSSLProxies.Delete: targetSSLProxiesDelete :: Text -> Text -> TargetSSLProxiesDelete
+ Network.Google.Resource.Compute.TargetSSLProxies.Delete: tspdProject :: Lens' TargetSSLProxiesDelete Text
+ Network.Google.Resource.Compute.TargetSSLProxies.Delete: tspdTargetSSLProxy :: Lens' TargetSSLProxiesDelete Text
+ Network.Google.Resource.Compute.TargetSSLProxies.Delete: type TargetSSLProxiesDeleteResource = "compute" :> ("v1" :> ("projects" :> (Capture "project" Text :> ("global" :> ("targetSslProxies" :> (Capture "targetSslProxy" Text :> (QueryParam "alt" AltJSON :> Delete '[JSON] Operation)))))))
+ Network.Google.Resource.Compute.TargetSSLProxies.Get: data TargetSSLProxiesGet
+ Network.Google.Resource.Compute.TargetSSLProxies.Get: instance Data.Data.Data Network.Google.Resource.Compute.TargetSSLProxies.Get.TargetSSLProxiesGet
+ Network.Google.Resource.Compute.TargetSSLProxies.Get: instance GHC.Classes.Eq Network.Google.Resource.Compute.TargetSSLProxies.Get.TargetSSLProxiesGet
+ Network.Google.Resource.Compute.TargetSSLProxies.Get: instance GHC.Generics.Generic Network.Google.Resource.Compute.TargetSSLProxies.Get.TargetSSLProxiesGet
+ Network.Google.Resource.Compute.TargetSSLProxies.Get: instance GHC.Show.Show Network.Google.Resource.Compute.TargetSSLProxies.Get.TargetSSLProxiesGet
+ Network.Google.Resource.Compute.TargetSSLProxies.Get: instance Network.Google.Types.GoogleRequest Network.Google.Resource.Compute.TargetSSLProxies.Get.TargetSSLProxiesGet
+ Network.Google.Resource.Compute.TargetSSLProxies.Get: targetSSLProxiesGet :: Text -> Text -> TargetSSLProxiesGet
+ Network.Google.Resource.Compute.TargetSSLProxies.Get: tspgProject :: Lens' TargetSSLProxiesGet Text
+ Network.Google.Resource.Compute.TargetSSLProxies.Get: tspgTargetSSLProxy :: Lens' TargetSSLProxiesGet Text
+ Network.Google.Resource.Compute.TargetSSLProxies.Get: type TargetSSLProxiesGetResource = "compute" :> ("v1" :> ("projects" :> (Capture "project" Text :> ("global" :> ("targetSslProxies" :> (Capture "targetSslProxy" Text :> (QueryParam "alt" AltJSON :> Get '[JSON] TargetSSLProxy)))))))
+ Network.Google.Resource.Compute.TargetSSLProxies.Insert: data TargetSSLProxiesInsert
+ Network.Google.Resource.Compute.TargetSSLProxies.Insert: instance Data.Data.Data Network.Google.Resource.Compute.TargetSSLProxies.Insert.TargetSSLProxiesInsert
+ Network.Google.Resource.Compute.TargetSSLProxies.Insert: instance GHC.Classes.Eq Network.Google.Resource.Compute.TargetSSLProxies.Insert.TargetSSLProxiesInsert
+ Network.Google.Resource.Compute.TargetSSLProxies.Insert: instance GHC.Generics.Generic Network.Google.Resource.Compute.TargetSSLProxies.Insert.TargetSSLProxiesInsert
+ Network.Google.Resource.Compute.TargetSSLProxies.Insert: instance GHC.Show.Show Network.Google.Resource.Compute.TargetSSLProxies.Insert.TargetSSLProxiesInsert
+ Network.Google.Resource.Compute.TargetSSLProxies.Insert: instance Network.Google.Types.GoogleRequest Network.Google.Resource.Compute.TargetSSLProxies.Insert.TargetSSLProxiesInsert
+ Network.Google.Resource.Compute.TargetSSLProxies.Insert: targetSSLProxiesInsert :: Text -> TargetSSLProxy -> TargetSSLProxiesInsert
+ Network.Google.Resource.Compute.TargetSSLProxies.Insert: tspiPayload :: Lens' TargetSSLProxiesInsert TargetSSLProxy
+ Network.Google.Resource.Compute.TargetSSLProxies.Insert: tspiProject :: Lens' TargetSSLProxiesInsert Text
+ Network.Google.Resource.Compute.TargetSSLProxies.Insert: type TargetSSLProxiesInsertResource = "compute" :> ("v1" :> ("projects" :> (Capture "project" Text :> ("global" :> ("targetSslProxies" :> (QueryParam "alt" AltJSON :> (ReqBody '[JSON] TargetSSLProxy :> Post '[JSON] Operation)))))))
+ Network.Google.Resource.Compute.TargetSSLProxies.List: data TargetSSLProxiesList
+ Network.Google.Resource.Compute.TargetSSLProxies.List: instance Data.Data.Data Network.Google.Resource.Compute.TargetSSLProxies.List.TargetSSLProxiesList
+ Network.Google.Resource.Compute.TargetSSLProxies.List: instance GHC.Classes.Eq Network.Google.Resource.Compute.TargetSSLProxies.List.TargetSSLProxiesList
+ Network.Google.Resource.Compute.TargetSSLProxies.List: instance GHC.Generics.Generic Network.Google.Resource.Compute.TargetSSLProxies.List.TargetSSLProxiesList
+ Network.Google.Resource.Compute.TargetSSLProxies.List: instance GHC.Show.Show Network.Google.Resource.Compute.TargetSSLProxies.List.TargetSSLProxiesList
+ Network.Google.Resource.Compute.TargetSSLProxies.List: instance Network.Google.Types.GoogleRequest Network.Google.Resource.Compute.TargetSSLProxies.List.TargetSSLProxiesList
+ Network.Google.Resource.Compute.TargetSSLProxies.List: targetSSLProxiesList :: Text -> TargetSSLProxiesList
+ Network.Google.Resource.Compute.TargetSSLProxies.List: tsplFilter :: Lens' TargetSSLProxiesList (Maybe Text)
+ Network.Google.Resource.Compute.TargetSSLProxies.List: tsplMaxResults :: Lens' TargetSSLProxiesList Word32
+ Network.Google.Resource.Compute.TargetSSLProxies.List: tsplOrderBy :: Lens' TargetSSLProxiesList (Maybe Text)
+ Network.Google.Resource.Compute.TargetSSLProxies.List: tsplPageToken :: Lens' TargetSSLProxiesList (Maybe Text)
+ Network.Google.Resource.Compute.TargetSSLProxies.List: tsplProject :: Lens' TargetSSLProxiesList Text
+ Network.Google.Resource.Compute.TargetSSLProxies.List: type TargetSSLProxiesListResource = "compute" :> ("v1" :> ("projects" :> (Capture "project" Text :> ("global" :> ("targetSslProxies" :> (QueryParam "orderBy" Text :> (QueryParam "filter" Text :> (QueryParam "pageToken" Text :> (QueryParam "maxResults" (Textual Word32) :> (QueryParam "alt" AltJSON :> Get '[JSON] TargetSSLProxyList))))))))))
+ Network.Google.Resource.Compute.TargetSSLProxies.SetBackendService: data TargetSSLProxiesSetBackendService
+ Network.Google.Resource.Compute.TargetSSLProxies.SetBackendService: instance Data.Data.Data Network.Google.Resource.Compute.TargetSSLProxies.SetBackendService.TargetSSLProxiesSetBackendService
+ Network.Google.Resource.Compute.TargetSSLProxies.SetBackendService: instance GHC.Classes.Eq Network.Google.Resource.Compute.TargetSSLProxies.SetBackendService.TargetSSLProxiesSetBackendService
+ Network.Google.Resource.Compute.TargetSSLProxies.SetBackendService: instance GHC.Generics.Generic Network.Google.Resource.Compute.TargetSSLProxies.SetBackendService.TargetSSLProxiesSetBackendService
+ Network.Google.Resource.Compute.TargetSSLProxies.SetBackendService: instance GHC.Show.Show Network.Google.Resource.Compute.TargetSSLProxies.SetBackendService.TargetSSLProxiesSetBackendService
+ Network.Google.Resource.Compute.TargetSSLProxies.SetBackendService: instance Network.Google.Types.GoogleRequest Network.Google.Resource.Compute.TargetSSLProxies.SetBackendService.TargetSSLProxiesSetBackendService
+ Network.Google.Resource.Compute.TargetSSLProxies.SetBackendService: targetSSLProxiesSetBackendService :: Text -> TargetSSLProxiesSetBackendServiceRequest -> Text -> TargetSSLProxiesSetBackendService
+ Network.Google.Resource.Compute.TargetSSLProxies.SetBackendService: tspsbsPayload :: Lens' TargetSSLProxiesSetBackendService TargetSSLProxiesSetBackendServiceRequest
+ Network.Google.Resource.Compute.TargetSSLProxies.SetBackendService: tspsbsProject :: Lens' TargetSSLProxiesSetBackendService Text
+ Network.Google.Resource.Compute.TargetSSLProxies.SetBackendService: tspsbsTargetSSLProxy :: Lens' TargetSSLProxiesSetBackendService Text
+ Network.Google.Resource.Compute.TargetSSLProxies.SetBackendService: type TargetSSLProxiesSetBackendServiceResource = "compute" :> ("v1" :> ("projects" :> (Capture "project" Text :> ("global" :> ("targetSslProxies" :> (Capture "targetSslProxy" Text :> ("setBackendService" :> (QueryParam "alt" AltJSON :> (ReqBody '[JSON] TargetSSLProxiesSetBackendServiceRequest :> Post '[JSON] Operation)))))))))
+ Network.Google.Resource.Compute.TargetSSLProxies.SetProxyHeader: data TargetSSLProxiesSetProxyHeader
+ Network.Google.Resource.Compute.TargetSSLProxies.SetProxyHeader: instance Data.Data.Data Network.Google.Resource.Compute.TargetSSLProxies.SetProxyHeader.TargetSSLProxiesSetProxyHeader
+ Network.Google.Resource.Compute.TargetSSLProxies.SetProxyHeader: instance GHC.Classes.Eq Network.Google.Resource.Compute.TargetSSLProxies.SetProxyHeader.TargetSSLProxiesSetProxyHeader
+ Network.Google.Resource.Compute.TargetSSLProxies.SetProxyHeader: instance GHC.Generics.Generic Network.Google.Resource.Compute.TargetSSLProxies.SetProxyHeader.TargetSSLProxiesSetProxyHeader
+ Network.Google.Resource.Compute.TargetSSLProxies.SetProxyHeader: instance GHC.Show.Show Network.Google.Resource.Compute.TargetSSLProxies.SetProxyHeader.TargetSSLProxiesSetProxyHeader
+ Network.Google.Resource.Compute.TargetSSLProxies.SetProxyHeader: instance Network.Google.Types.GoogleRequest Network.Google.Resource.Compute.TargetSSLProxies.SetProxyHeader.TargetSSLProxiesSetProxyHeader
+ Network.Google.Resource.Compute.TargetSSLProxies.SetProxyHeader: targetSSLProxiesSetProxyHeader :: Text -> TargetSSLProxiesSetProxyHeaderRequest -> Text -> TargetSSLProxiesSetProxyHeader
+ Network.Google.Resource.Compute.TargetSSLProxies.SetProxyHeader: tspsphPayload :: Lens' TargetSSLProxiesSetProxyHeader TargetSSLProxiesSetProxyHeaderRequest
+ Network.Google.Resource.Compute.TargetSSLProxies.SetProxyHeader: tspsphProject :: Lens' TargetSSLProxiesSetProxyHeader Text
+ Network.Google.Resource.Compute.TargetSSLProxies.SetProxyHeader: tspsphTargetSSLProxy :: Lens' TargetSSLProxiesSetProxyHeader Text
+ Network.Google.Resource.Compute.TargetSSLProxies.SetProxyHeader: type TargetSSLProxiesSetProxyHeaderResource = "compute" :> ("v1" :> ("projects" :> (Capture "project" Text :> ("global" :> ("targetSslProxies" :> (Capture "targetSslProxy" Text :> ("setProxyHeader" :> (QueryParam "alt" AltJSON :> (ReqBody '[JSON] TargetSSLProxiesSetProxyHeaderRequest :> Post '[JSON] Operation)))))))))
+ Network.Google.Resource.Compute.TargetSSLProxies.SetSSLCertificates: data TargetSSLProxiesSetSSLCertificates
+ Network.Google.Resource.Compute.TargetSSLProxies.SetSSLCertificates: instance Data.Data.Data Network.Google.Resource.Compute.TargetSSLProxies.SetSSLCertificates.TargetSSLProxiesSetSSLCertificates
+ Network.Google.Resource.Compute.TargetSSLProxies.SetSSLCertificates: instance GHC.Classes.Eq Network.Google.Resource.Compute.TargetSSLProxies.SetSSLCertificates.TargetSSLProxiesSetSSLCertificates
+ Network.Google.Resource.Compute.TargetSSLProxies.SetSSLCertificates: instance GHC.Generics.Generic Network.Google.Resource.Compute.TargetSSLProxies.SetSSLCertificates.TargetSSLProxiesSetSSLCertificates
+ Network.Google.Resource.Compute.TargetSSLProxies.SetSSLCertificates: instance GHC.Show.Show Network.Google.Resource.Compute.TargetSSLProxies.SetSSLCertificates.TargetSSLProxiesSetSSLCertificates
+ Network.Google.Resource.Compute.TargetSSLProxies.SetSSLCertificates: instance Network.Google.Types.GoogleRequest Network.Google.Resource.Compute.TargetSSLProxies.SetSSLCertificates.TargetSSLProxiesSetSSLCertificates
+ Network.Google.Resource.Compute.TargetSSLProxies.SetSSLCertificates: targetSSLProxiesSetSSLCertificates :: Text -> TargetSSLProxiesSetSSLCertificatesRequest -> Text -> TargetSSLProxiesSetSSLCertificates
+ Network.Google.Resource.Compute.TargetSSLProxies.SetSSLCertificates: tspsscPayload :: Lens' TargetSSLProxiesSetSSLCertificates TargetSSLProxiesSetSSLCertificatesRequest
+ Network.Google.Resource.Compute.TargetSSLProxies.SetSSLCertificates: tspsscProject :: Lens' TargetSSLProxiesSetSSLCertificates Text
+ Network.Google.Resource.Compute.TargetSSLProxies.SetSSLCertificates: tspsscTargetSSLProxy :: Lens' TargetSSLProxiesSetSSLCertificates Text
+ Network.Google.Resource.Compute.TargetSSLProxies.SetSSLCertificates: type TargetSSLProxiesSetSSLCertificatesResource = "compute" :> ("v1" :> ("projects" :> (Capture "project" Text :> ("global" :> ("targetSslProxies" :> (Capture "targetSslProxy" Text :> ("setSslCertificates" :> (QueryParam "alt" AltJSON :> (ReqBody '[JSON] TargetSSLProxiesSetSSLCertificatesRequest :> Post '[JSON] Operation)))))))))
+ Network.Google.Resource.Compute.TargetVPNGateways.AggregatedList: tvgalOrderBy :: Lens' TargetVPNGatewaysAggregatedList (Maybe Text)
+ Network.Google.Resource.Compute.TargetVPNGateways.List: tvglOrderBy :: Lens' TargetVPNGatewaysList (Maybe Text)
+ Network.Google.Resource.Compute.URLMaps.InvalidateCache: data URLMapsInvalidateCache
+ Network.Google.Resource.Compute.URLMaps.InvalidateCache: instance Data.Data.Data Network.Google.Resource.Compute.URLMaps.InvalidateCache.URLMapsInvalidateCache
+ Network.Google.Resource.Compute.URLMaps.InvalidateCache: instance GHC.Classes.Eq Network.Google.Resource.Compute.URLMaps.InvalidateCache.URLMapsInvalidateCache
+ Network.Google.Resource.Compute.URLMaps.InvalidateCache: instance GHC.Generics.Generic Network.Google.Resource.Compute.URLMaps.InvalidateCache.URLMapsInvalidateCache
+ Network.Google.Resource.Compute.URLMaps.InvalidateCache: instance GHC.Show.Show Network.Google.Resource.Compute.URLMaps.InvalidateCache.URLMapsInvalidateCache
+ Network.Google.Resource.Compute.URLMaps.InvalidateCache: instance Network.Google.Types.GoogleRequest Network.Google.Resource.Compute.URLMaps.InvalidateCache.URLMapsInvalidateCache
+ Network.Google.Resource.Compute.URLMaps.InvalidateCache: type URLMapsInvalidateCacheResource = "compute" :> ("v1" :> ("projects" :> (Capture "project" Text :> ("global" :> ("urlMaps" :> (Capture "urlMap" Text :> ("invalidateCache" :> (QueryParam "alt" AltJSON :> (ReqBody '[JSON] CacheInvalidationRule :> Post '[JSON] Operation)))))))))
+ Network.Google.Resource.Compute.URLMaps.InvalidateCache: umicPayload :: Lens' URLMapsInvalidateCache CacheInvalidationRule
+ Network.Google.Resource.Compute.URLMaps.InvalidateCache: umicProject :: Lens' URLMapsInvalidateCache Text
+ Network.Google.Resource.Compute.URLMaps.InvalidateCache: umicURLMap :: Lens' URLMapsInvalidateCache Text
+ Network.Google.Resource.Compute.URLMaps.InvalidateCache: urlMapsInvalidateCache :: Text -> Text -> CacheInvalidationRule -> URLMapsInvalidateCache
+ Network.Google.Resource.Compute.URLMaps.List: umlOrderBy :: Lens' URLMapsList (Maybe Text)
+ Network.Google.Resource.Compute.VPNTunnels.AggregatedList: vtalOrderBy :: Lens' VPNTunnelsAggregatedList (Maybe Text)
+ Network.Google.Resource.Compute.VPNTunnels.List: vtlOrderBy :: Lens' VPNTunnelsList (Maybe Text)
+ Network.Google.Resource.Compute.ZoneOperations.List: zolOrderBy :: Lens' ZoneOperationsList (Maybe Text)
+ Network.Google.Resource.Compute.Zones.List: zlOrderBy :: Lens' ZonesList (Maybe Text)
- Network.Google.Compute: None :: TargetPoolSessionAffinity
+ Network.Google.Compute: None :: TargetSSLProxyProxyHeader
- Network.Google.Compute: TCP :: ForwardingRuleIPProtocol
+ Network.Google.Compute: TCP :: BackendServiceProtocol
- Network.Google.Compute: httphcHost :: Lens' HTTPHealthCheck (Maybe Text)
+ Network.Google.Compute: httphcHost :: Lens' HTTP2HealthCheck (Maybe Text)
- Network.Google.Compute: httphcPort :: Lens' HTTPHealthCheck (Maybe Int32)
+ Network.Google.Compute: httphcPort :: Lens' HTTP2HealthCheck (Maybe Int32)
- Network.Google.Compute: httphcRequestPath :: Lens' HTTPHealthCheck (Maybe Text)
+ Network.Google.Compute: httphcRequestPath :: Lens' HTTP2HealthCheck (Maybe Text)
- Network.Google.Compute: rCreationTimestamp :: Lens' Route (Maybe Text)
+ Network.Google.Compute: rCreationTimestamp :: Lens' Router (Maybe Text)
- Network.Google.Compute: rDescription :: Lens' Route (Maybe Text)
+ Network.Google.Compute: rDescription :: Lens' Router (Maybe Text)
- Network.Google.Compute: rId :: Lens' Route (Maybe Word64)
+ Network.Google.Compute: rId :: Lens' Router (Maybe Word64)
- Network.Google.Compute: rKind :: Lens' Route Text
+ Network.Google.Compute: rKind :: Lens' Router Text
- Network.Google.Compute: rName :: Lens' Route (Maybe Text)
+ Network.Google.Compute: rName :: Lens' Router (Maybe Text)
- Network.Google.Compute: rNetwork :: Lens' Route (Maybe Text)
+ Network.Google.Compute: rNetwork :: Lens' Router (Maybe Text)
- Network.Google.Compute: rSelfLink :: Lens' Route (Maybe Text)
+ Network.Google.Compute: rSelfLink :: Lens' Router (Maybe Text)
- Network.Google.Compute: type ComputeAPI = ImagesInsertResource :<|> (ImagesListResource :<|> (ImagesGetResource :<|> (ImagesGetFromFamilyResource :<|> (ImagesDeprecateResource :<|> (ImagesDeleteResource :<|> (URLMapsInsertResource :<|> (URLMapsListResource :<|> (URLMapsPatchResource :<|> (URLMapsGetResource :<|> (URLMapsValidateResource :<|> (URLMapsDeleteResource :<|> (URLMapsUpdateResource :<|> (RoutesInsertResource :<|> (RoutesListResource :<|> (RoutesGetResource :<|> (RoutesDeleteResource :<|> (InstanceTemplatesInsertResource :<|> (InstanceTemplatesListResource :<|> (InstanceTemplatesGetResource :<|> (InstanceTemplatesDeleteResource :<|> (TargetVPNGatewaysAggregatedListResource :<|> (TargetVPNGatewaysInsertResource :<|> (TargetVPNGatewaysListResource :<|> (TargetVPNGatewaysGetResource :<|> (TargetVPNGatewaysDeleteResource :<|> (SSLCertificatesInsertResource :<|> (SSLCertificatesListResource :<|> (SSLCertificatesGetResource :<|> (SSLCertificatesDeleteResource :<|> (ZonesListResource :<|> (ZonesGetResource :<|> (GlobalForwardingRulesInsertResource :<|> (GlobalForwardingRulesListResource :<|> (GlobalForwardingRulesGetResource :<|> (GlobalForwardingRulesSetTargetResource :<|> (GlobalForwardingRulesDeleteResource :<|> (NetworksInsertResource :<|> (NetworksListResource :<|> (NetworksGetResource :<|> (NetworksDeleteResource :<|> (AddressesAggregatedListResource :<|> (AddressesInsertResource :<|> (AddressesListResource :<|> (AddressesGetResource :<|> (AddressesDeleteResource :<|> (GlobalAddressesInsertResource :<|> (GlobalAddressesListResource :<|> (GlobalAddressesGetResource :<|> (GlobalAddressesDeleteResource :<|> (RegionsListResource :<|> (RegionsGetResource :<|> (TargetHTTPProxiesInsertResource :<|> (TargetHTTPProxiesListResource :<|> (TargetHTTPProxiesSetURLMapResource :<|> (TargetHTTPProxiesGetResource :<|> (TargetHTTPProxiesDeleteResource :<|> (VPNTunnelsAggregatedListResource :<|> (VPNTunnelsInsertResource :<|> (VPNTunnelsListResource :<|> (VPNTunnelsGetResource :<|> (VPNTunnelsDeleteResource :<|> (AutoscalersAggregatedListResource :<|> (AutoscalersInsertResource :<|> (AutoscalersListResource :<|> (AutoscalersPatchResource :<|> (AutoscalersGetResource :<|> (AutoscalersDeleteResource :<|> (AutoscalersUpdateResource :<|> (DiskTypesAggregatedListResource :<|> (DiskTypesListResource :<|> (DiskTypesGetResource :<|> (RegionOperationsListResource :<|> (RegionOperationsGetResource :<|> (RegionOperationsDeleteResource :<|> (MachineTypesAggregatedListResource :<|> (MachineTypesListResource :<|> (MachineTypesGetResource :<|> (HTTPHealthChecksInsertResource :<|> (HTTPHealthChecksListResource :<|> (HTTPHealthChecksPatchResource :<|> (HTTPHealthChecksGetResource :<|> (HTTPHealthChecksDeleteResource :<|> (HTTPHealthChecksUpdateResource :<|> (SubnetworksAggregatedListResource :<|> (SubnetworksInsertResource :<|> (SubnetworksListResource :<|> (SubnetworksGetResource :<|> (SubnetworksDeleteResource :<|> (SnapshotsListResource :<|> (SnapshotsGetResource :<|> (SnapshotsDeleteResource :<|> (HTTPSHealthChecksInsertResource :<|> (HTTPSHealthChecksListResource :<|> (HTTPSHealthChecksPatchResource :<|> (HTTPSHealthChecksGetResource :<|> (HTTPSHealthChecksDeleteResource :<|> (HTTPSHealthChecksUpdateResource :<|> (InstancesAddAccessConfigResource :<|> (InstancesAggregatedListResource :<|> (InstancesInsertResource :<|> (InstancesDetachDiskResource :<|> (InstancesListResource :<|> (InstancesStartResource :<|> (InstancesGetResource :<|> (InstancesSetMachineTypeResource :<|> (InstancesDeleteAccessConfigResource :<|> (InstancesSetMetadataResource :<|> (InstancesSetSchedulingResource :<|> (InstancesResetResource :<|> (InstancesStopResource :<|> (InstancesGetSerialPortOutputResource :<|> (InstancesSetTagsResource :<|> (InstancesAttachDiskResource :<|> (InstancesDeleteResource :<|> (InstancesSetDiskAutoDeleteResource :<|> (BackendServicesInsertResource :<|> (BackendServicesListResource :<|> (BackendServicesGetHealthResource :<|> (BackendServicesPatchResource :<|> (BackendServicesGetResource :<|> (BackendServicesDeleteResource :<|> (BackendServicesUpdateResource :<|> (InstanceGroupsRemoveInstancesResource :<|> (InstanceGroupsAggregatedListResource :<|> (InstanceGroupsInsertResource :<|> (InstanceGroupsListResource :<|> (InstanceGroupsAddInstancesResource :<|> (InstanceGroupsGetResource :<|> (InstanceGroupsListInstancesResource :<|> (InstanceGroupsSetNamedPortsResource :<|> (InstanceGroupsDeleteResource :<|> (FirewallsInsertResource :<|> (FirewallsListResource :<|> (FirewallsPatchResource :<|> (FirewallsGetResource :<|> (FirewallsDeleteResource :<|> (FirewallsUpdateResource :<|> (GlobalOperationsAggregatedListResource :<|> (GlobalOperationsListResource :<|> (GlobalOperationsGetResource :<|> (GlobalOperationsDeleteResource :<|> (LicensesGetResource :<|> (ZoneOperationsListResource :<|> (ZoneOperationsGetResource :<|> (ZoneOperationsDeleteResource :<|> (TargetHTTPSProxiesInsertResource :<|> (TargetHTTPSProxiesListResource :<|> (TargetHTTPSProxiesSetURLMapResource :<|> (TargetHTTPSProxiesSetSSLCertificatesResource :<|> (TargetHTTPSProxiesGetResource :<|> (TargetHTTPSProxiesDeleteResource :<|> (TargetInstancesAggregatedListResource :<|> (TargetInstancesInsertResource :<|> (TargetInstancesListResource :<|> (TargetInstancesGetResource :<|> (TargetInstancesDeleteResource :<|> (DisksAggregatedListResource :<|> (DisksInsertResource :<|> (DisksResizeResource :<|> (DisksListResource :<|> (DisksGetResource :<|> (DisksCreateSnapshotResource :<|> (DisksDeleteResource :<|> (ForwardingRulesAggregatedListResource :<|> (ForwardingRulesInsertResource :<|> (ForwardingRulesListResource :<|> (ForwardingRulesGetResource :<|> (ForwardingRulesSetTargetResource :<|> (ForwardingRulesDeleteResource :<|> (InstanceGroupManagersSetTargetPoolsResource :<|> (InstanceGroupManagersAggregatedListResource :<|> (InstanceGroupManagersInsertResource :<|> (InstanceGroupManagersResizeResource :<|> (InstanceGroupManagersListResource :<|> (InstanceGroupManagersListManagedInstancesResource :<|> (InstanceGroupManagersAbandonInstancesResource :<|> (InstanceGroupManagersSetInstanceTemplateResource :<|> (InstanceGroupManagersGetResource :<|> (InstanceGroupManagersDeleteInstancesResource :<|> (InstanceGroupManagersDeleteResource :<|> (InstanceGroupManagersRecreateInstancesResource :<|> (ProjectsSetUsageExportBucketResource :<|> (ProjectsMoveInstanceResource :<|> (ProjectsGetResource :<|> (ProjectsMoveDiskResource :<|> (ProjectsSetCommonInstanceMetadataResource :<|> (TargetPoolsAggregatedListResource :<|> (TargetPoolsRemoveInstanceResource :<|> (TargetPoolsInsertResource :<|> (TargetPoolsListResource :<|> (TargetPoolsGetHealthResource :<|> (TargetPoolsGetResource :<|> (TargetPoolsRemoveHealthCheckResource :<|> (TargetPoolsSetBackupResource :<|> (TargetPoolsAddInstanceResource :<|> (TargetPoolsAddHealthCheckResource :<|> TargetPoolsDeleteResource))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))
+ Network.Google.Compute: type ComputeAPI = ImagesInsertResource :<|> (ImagesListResource :<|> (ImagesGetResource :<|> (ImagesGetFromFamilyResource :<|> (ImagesDeprecateResource :<|> (ImagesDeleteResource :<|> (URLMapsInsertResource :<|> (URLMapsListResource :<|> (URLMapsPatchResource :<|> (URLMapsGetResource :<|> (URLMapsInvalidateCacheResource :<|> (URLMapsValidateResource :<|> (URLMapsDeleteResource :<|> (URLMapsUpdateResource :<|> (RoutesInsertResource :<|> (RoutesListResource :<|> (RoutesGetResource :<|> (RoutesDeleteResource :<|> (InstanceTemplatesInsertResource :<|> (InstanceTemplatesListResource :<|> (InstanceTemplatesGetResource :<|> (InstanceTemplatesDeleteResource :<|> (TargetVPNGatewaysAggregatedListResource :<|> (TargetVPNGatewaysInsertResource :<|> (TargetVPNGatewaysListResource :<|> (TargetVPNGatewaysGetResource :<|> (TargetVPNGatewaysDeleteResource :<|> (SSLCertificatesInsertResource :<|> (SSLCertificatesListResource :<|> (SSLCertificatesGetResource :<|> (SSLCertificatesDeleteResource :<|> (ZonesListResource :<|> (ZonesGetResource :<|> (GlobalForwardingRulesInsertResource :<|> (GlobalForwardingRulesListResource :<|> (GlobalForwardingRulesGetResource :<|> (GlobalForwardingRulesSetTargetResource :<|> (GlobalForwardingRulesDeleteResource :<|> (NetworksInsertResource :<|> (NetworksListResource :<|> (NetworksGetResource :<|> (NetworksDeleteResource :<|> (RoutersAggregatedListResource :<|> (RoutersInsertResource :<|> (RoutersListResource :<|> (RoutersPatchResource :<|> (RoutersGetResource :<|> (RoutersPreviewResource :<|> (RoutersDeleteResource :<|> (RoutersUpdateResource :<|> (RoutersGetRouterStatusResource :<|> (AddressesAggregatedListResource :<|> (AddressesInsertResource :<|> (AddressesListResource :<|> (AddressesGetResource :<|> (AddressesDeleteResource :<|> (GlobalAddressesInsertResource :<|> (GlobalAddressesListResource :<|> (GlobalAddressesGetResource :<|> (GlobalAddressesDeleteResource :<|> (RegionsListResource :<|> (RegionsGetResource :<|> (TargetHTTPProxiesInsertResource :<|> (TargetHTTPProxiesListResource :<|> (TargetHTTPProxiesSetURLMapResource :<|> (TargetHTTPProxiesGetResource :<|> (TargetHTTPProxiesDeleteResource :<|> (VPNTunnelsAggregatedListResource :<|> (VPNTunnelsInsertResource :<|> (VPNTunnelsListResource :<|> (VPNTunnelsGetResource :<|> (VPNTunnelsDeleteResource :<|> (AutoscalersAggregatedListResource :<|> (AutoscalersInsertResource :<|> (AutoscalersListResource :<|> (AutoscalersPatchResource :<|> (AutoscalersGetResource :<|> (AutoscalersDeleteResource :<|> (AutoscalersUpdateResource :<|> (DiskTypesAggregatedListResource :<|> (DiskTypesListResource :<|> (DiskTypesGetResource :<|> (RegionOperationsListResource :<|> (RegionOperationsGetResource :<|> (RegionOperationsDeleteResource :<|> (MachineTypesAggregatedListResource :<|> (MachineTypesListResource :<|> (MachineTypesGetResource :<|> (HTTPHealthChecksInsertResource :<|> (HTTPHealthChecksListResource :<|> (HTTPHealthChecksPatchResource :<|> (HTTPHealthChecksGetResource :<|> (HTTPHealthChecksDeleteResource :<|> (HTTPHealthChecksUpdateResource :<|> (SubnetworksAggregatedListResource :<|> (SubnetworksInsertResource :<|> (SubnetworksListResource :<|> (SubnetworksGetResource :<|> (SubnetworksDeleteResource :<|> (SnapshotsListResource :<|> (SnapshotsGetResource :<|> (SnapshotsDeleteResource :<|> (TargetSSLProxiesInsertResource :<|> (TargetSSLProxiesListResource :<|> (TargetSSLProxiesSetSSLCertificatesResource :<|> (TargetSSLProxiesGetResource :<|> (TargetSSLProxiesSetBackendServiceResource :<|> (TargetSSLProxiesDeleteResource :<|> (TargetSSLProxiesSetProxyHeaderResource :<|> (HTTPSHealthChecksInsertResource :<|> (HTTPSHealthChecksListResource :<|> (HTTPSHealthChecksPatchResource :<|> (HTTPSHealthChecksGetResource :<|> (HTTPSHealthChecksDeleteResource :<|> (HTTPSHealthChecksUpdateResource :<|> (InstancesAddAccessConfigResource :<|> (InstancesAggregatedListResource :<|> (InstancesInsertResource :<|> (InstancesDetachDiskResource :<|> (InstancesListResource :<|> (InstancesStartResource :<|> (InstancesGetResource :<|> (InstancesSetMachineTypeResource :<|> (InstancesDeleteAccessConfigResource :<|> (InstancesSetMetadataResource :<|> (InstancesSetSchedulingResource :<|> (InstancesStartWithEncryptionKeyResource :<|> (InstancesResetResource :<|> (InstancesStopResource :<|> (InstancesGetSerialPortOutputResource :<|> (InstancesSetTagsResource :<|> (InstancesAttachDiskResource :<|> (InstancesDeleteResource :<|> (InstancesSetDiskAutoDeleteResource :<|> (BackendServicesInsertResource :<|> (BackendServicesListResource :<|> (BackendServicesGetHealthResource :<|> (BackendServicesPatchResource :<|> (BackendServicesGetResource :<|> (BackendServicesDeleteResource :<|> (BackendServicesUpdateResource :<|> (InstanceGroupsRemoveInstancesResource :<|> (InstanceGroupsAggregatedListResource :<|> (InstanceGroupsInsertResource :<|> (InstanceGroupsListResource :<|> (InstanceGroupsAddInstancesResource :<|> (InstanceGroupsGetResource :<|> (InstanceGroupsListInstancesResource :<|> (InstanceGroupsSetNamedPortsResource :<|> (InstanceGroupsDeleteResource :<|> (FirewallsInsertResource :<|> (FirewallsListResource :<|> (FirewallsPatchResource :<|> (FirewallsGetResource :<|> (FirewallsDeleteResource :<|> (FirewallsUpdateResource :<|> (GlobalOperationsAggregatedListResource :<|> (GlobalOperationsListResource :<|> (GlobalOperationsGetResource :<|> (GlobalOperationsDeleteResource :<|> (LicensesGetResource :<|> (ZoneOperationsListResource :<|> (ZoneOperationsGetResource :<|> (ZoneOperationsDeleteResource :<|> (TargetHTTPSProxiesInsertResource :<|> (TargetHTTPSProxiesListResource :<|> (TargetHTTPSProxiesSetURLMapResource :<|> (TargetHTTPSProxiesSetSSLCertificatesResource :<|> (TargetHTTPSProxiesGetResource :<|> (TargetHTTPSProxiesDeleteResource :<|> (TargetInstancesAggregatedListResource :<|> (TargetInstancesInsertResource :<|> (TargetInstancesListResource :<|> (TargetInstancesGetResource :<|> (TargetInstancesDeleteResource :<|> (DisksAggregatedListResource :<|> (DisksInsertResource :<|> (DisksResizeResource :<|> (DisksListResource :<|> (DisksGetResource :<|> (DisksCreateSnapshotResource :<|> (DisksDeleteResource :<|> (ForwardingRulesAggregatedListResource :<|> (ForwardingRulesInsertResource :<|> (ForwardingRulesListResource :<|> (ForwardingRulesGetResource :<|> (ForwardingRulesSetTargetResource :<|> (ForwardingRulesDeleteResource :<|> (InstanceGroupManagersSetTargetPoolsResource :<|> (InstanceGroupManagersAggregatedListResource :<|> (InstanceGroupManagersInsertResource :<|> (InstanceGroupManagersResizeResource :<|> (InstanceGroupManagersListResource :<|> (InstanceGroupManagersListManagedInstancesResource :<|> (InstanceGroupManagersAbandonInstancesResource :<|> (InstanceGroupManagersSetInstanceTemplateResource :<|> (InstanceGroupManagersGetResource :<|> (InstanceGroupManagersDeleteInstancesResource :<|> (InstanceGroupManagersDeleteResource :<|> (InstanceGroupManagersRecreateInstancesResource :<|> (ProjectsSetUsageExportBucketResource :<|> (ProjectsMoveInstanceResource :<|> (ProjectsGetResource :<|> (ProjectsMoveDiskResource :<|> (ProjectsSetCommonInstanceMetadataResource :<|> (TargetPoolsAggregatedListResource :<|> (TargetPoolsRemoveInstanceResource :<|> (TargetPoolsInsertResource :<|> (TargetPoolsListResource :<|> (TargetPoolsGetHealthResource :<|> (TargetPoolsGetResource :<|> (TargetPoolsRemoveHealthCheckResource :<|> (TargetPoolsSetBackupResource :<|> (TargetPoolsAddInstanceResource :<|> (TargetPoolsAddHealthCheckResource :<|> (TargetPoolsDeleteResource :<|> (HealthChecksInsertResource :<|> (HealthChecksListResource :<|> (HealthChecksPatchResource :<|> (HealthChecksGetResource :<|> (HealthChecksDeleteResource :<|> HealthChecksUpdateResource))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))
- Network.Google.Compute.Types: None :: TargetPoolSessionAffinity
+ Network.Google.Compute.Types: None :: TargetSSLProxyProxyHeader
- Network.Google.Compute.Types: TCP :: ForwardingRuleIPProtocol
+ Network.Google.Compute.Types: TCP :: BackendServiceProtocol
- Network.Google.Compute.Types: httphcHost :: Lens' HTTPHealthCheck (Maybe Text)
+ Network.Google.Compute.Types: httphcHost :: Lens' HTTP2HealthCheck (Maybe Text)
- Network.Google.Compute.Types: httphcPort :: Lens' HTTPHealthCheck (Maybe Int32)
+ Network.Google.Compute.Types: httphcPort :: Lens' HTTP2HealthCheck (Maybe Int32)
- Network.Google.Compute.Types: httphcRequestPath :: Lens' HTTPHealthCheck (Maybe Text)
+ Network.Google.Compute.Types: httphcRequestPath :: Lens' HTTP2HealthCheck (Maybe Text)
- Network.Google.Compute.Types: rCreationTimestamp :: Lens' Route (Maybe Text)
+ Network.Google.Compute.Types: rCreationTimestamp :: Lens' Router (Maybe Text)
- Network.Google.Compute.Types: rDescription :: Lens' Route (Maybe Text)
+ Network.Google.Compute.Types: rDescription :: Lens' Router (Maybe Text)
- Network.Google.Compute.Types: rId :: Lens' Route (Maybe Word64)
+ Network.Google.Compute.Types: rId :: Lens' Router (Maybe Word64)
- Network.Google.Compute.Types: rKind :: Lens' Route Text
+ Network.Google.Compute.Types: rKind :: Lens' Router Text
- Network.Google.Compute.Types: rName :: Lens' Route (Maybe Text)
+ Network.Google.Compute.Types: rName :: Lens' Router (Maybe Text)
- Network.Google.Compute.Types: rNetwork :: Lens' Route (Maybe Text)
+ Network.Google.Compute.Types: rNetwork :: Lens' Router (Maybe Text)
- Network.Google.Compute.Types: rSelfLink :: Lens' Route (Maybe Text)
+ Network.Google.Compute.Types: rSelfLink :: Lens' Router (Maybe Text)
- Network.Google.Resource.Compute.Addresses.AggregatedList: type AddressesAggregatedListResource = "compute" :> ("v1" :> ("projects" :> (Capture "project" Text :> ("aggregated" :> ("addresses" :> (QueryParam "filter" Text :> (QueryParam "pageToken" Text :> (QueryParam "maxResults" (Textual Word32) :> (QueryParam "alt" AltJSON :> Get '[JSON] AddressAggregatedList)))))))))
+ Network.Google.Resource.Compute.Addresses.AggregatedList: type AddressesAggregatedListResource = "compute" :> ("v1" :> ("projects" :> (Capture "project" Text :> ("aggregated" :> ("addresses" :> (QueryParam "orderBy" Text :> (QueryParam "filter" Text :> (QueryParam "pageToken" Text :> (QueryParam "maxResults" (Textual Word32) :> (QueryParam "alt" AltJSON :> Get '[JSON] AddressAggregatedList))))))))))
- Network.Google.Resource.Compute.Addresses.List: type AddressesListResource = "compute" :> ("v1" :> ("projects" :> (Capture "project" Text :> ("regions" :> (Capture "region" Text :> ("addresses" :> (QueryParam "filter" Text :> (QueryParam "pageToken" Text :> (QueryParam "maxResults" (Textual Word32) :> (QueryParam "alt" AltJSON :> Get '[JSON] AddressList))))))))))
+ Network.Google.Resource.Compute.Addresses.List: type AddressesListResource = "compute" :> ("v1" :> ("projects" :> (Capture "project" Text :> ("regions" :> (Capture "region" Text :> ("addresses" :> (QueryParam "orderBy" Text :> (QueryParam "filter" Text :> (QueryParam "pageToken" Text :> (QueryParam "maxResults" (Textual Word32) :> (QueryParam "alt" AltJSON :> Get '[JSON] AddressList)))))))))))
- Network.Google.Resource.Compute.Autoscalers.AggregatedList: type AutoscalersAggregatedListResource = "compute" :> ("v1" :> ("projects" :> (Capture "project" Text :> ("aggregated" :> ("autoscalers" :> (QueryParam "filter" Text :> (QueryParam "pageToken" Text :> (QueryParam "maxResults" (Textual Word32) :> (QueryParam "alt" AltJSON :> Get '[JSON] AutoscalerAggregatedList)))))))))
+ Network.Google.Resource.Compute.Autoscalers.AggregatedList: type AutoscalersAggregatedListResource = "compute" :> ("v1" :> ("projects" :> (Capture "project" Text :> ("aggregated" :> ("autoscalers" :> (QueryParam "orderBy" Text :> (QueryParam "filter" Text :> (QueryParam "pageToken" Text :> (QueryParam "maxResults" (Textual Word32) :> (QueryParam "alt" AltJSON :> Get '[JSON] AutoscalerAggregatedList))))))))))
- Network.Google.Resource.Compute.Autoscalers.List: type AutoscalersListResource = "compute" :> ("v1" :> ("projects" :> (Capture "project" Text :> ("zones" :> (Capture "zone" Text :> ("autoscalers" :> (QueryParam "filter" Text :> (QueryParam "pageToken" Text :> (QueryParam "maxResults" (Textual Word32) :> (QueryParam "alt" AltJSON :> Get '[JSON] AutoscalerList))))))))))
+ Network.Google.Resource.Compute.Autoscalers.List: type AutoscalersListResource = "compute" :> ("v1" :> ("projects" :> (Capture "project" Text :> ("zones" :> (Capture "zone" Text :> ("autoscalers" :> (QueryParam "orderBy" Text :> (QueryParam "filter" Text :> (QueryParam "pageToken" Text :> (QueryParam "maxResults" (Textual Word32) :> (QueryParam "alt" AltJSON :> Get '[JSON] AutoscalerList)))))))))))
- Network.Google.Resource.Compute.BackendServices.List: type BackendServicesListResource = "compute" :> ("v1" :> ("projects" :> (Capture "project" Text :> ("global" :> ("backendServices" :> (QueryParam "filter" Text :> (QueryParam "pageToken" Text :> (QueryParam "maxResults" (Textual Word32) :> (QueryParam "alt" AltJSON :> Get '[JSON] BackendServiceList)))))))))
+ Network.Google.Resource.Compute.BackendServices.List: type BackendServicesListResource = "compute" :> ("v1" :> ("projects" :> (Capture "project" Text :> ("global" :> ("backendServices" :> (QueryParam "orderBy" Text :> (QueryParam "filter" Text :> (QueryParam "pageToken" Text :> (QueryParam "maxResults" (Textual Word32) :> (QueryParam "alt" AltJSON :> Get '[JSON] BackendServiceList))))))))))
- Network.Google.Resource.Compute.DiskTypes.AggregatedList: type DiskTypesAggregatedListResource = "compute" :> ("v1" :> ("projects" :> (Capture "project" Text :> ("aggregated" :> ("diskTypes" :> (QueryParam "filter" Text :> (QueryParam "pageToken" Text :> (QueryParam "maxResults" (Textual Word32) :> (QueryParam "alt" AltJSON :> Get '[JSON] DiskTypeAggregatedList)))))))))
+ Network.Google.Resource.Compute.DiskTypes.AggregatedList: type DiskTypesAggregatedListResource = "compute" :> ("v1" :> ("projects" :> (Capture "project" Text :> ("aggregated" :> ("diskTypes" :> (QueryParam "orderBy" Text :> (QueryParam "filter" Text :> (QueryParam "pageToken" Text :> (QueryParam "maxResults" (Textual Word32) :> (QueryParam "alt" AltJSON :> Get '[JSON] DiskTypeAggregatedList))))))))))
- Network.Google.Resource.Compute.DiskTypes.List: type DiskTypesListResource = "compute" :> ("v1" :> ("projects" :> (Capture "project" Text :> ("zones" :> (Capture "zone" Text :> ("diskTypes" :> (QueryParam "filter" Text :> (QueryParam "pageToken" Text :> (QueryParam "maxResults" (Textual Word32) :> (QueryParam "alt" AltJSON :> Get '[JSON] DiskTypeList))))))))))
+ Network.Google.Resource.Compute.DiskTypes.List: type DiskTypesListResource = "compute" :> ("v1" :> ("projects" :> (Capture "project" Text :> ("zones" :> (Capture "zone" Text :> ("diskTypes" :> (QueryParam "orderBy" Text :> (QueryParam "filter" Text :> (QueryParam "pageToken" Text :> (QueryParam "maxResults" (Textual Word32) :> (QueryParam "alt" AltJSON :> Get '[JSON] DiskTypeList)))))))))))
- Network.Google.Resource.Compute.Disks.AggregatedList: type DisksAggregatedListResource = "compute" :> ("v1" :> ("projects" :> (Capture "project" Text :> ("aggregated" :> ("disks" :> (QueryParam "filter" Text :> (QueryParam "pageToken" Text :> (QueryParam "maxResults" (Textual Word32) :> (QueryParam "alt" AltJSON :> Get '[JSON] DiskAggregatedList)))))))))
+ Network.Google.Resource.Compute.Disks.AggregatedList: type DisksAggregatedListResource = "compute" :> ("v1" :> ("projects" :> (Capture "project" Text :> ("aggregated" :> ("disks" :> (QueryParam "orderBy" Text :> (QueryParam "filter" Text :> (QueryParam "pageToken" Text :> (QueryParam "maxResults" (Textual Word32) :> (QueryParam "alt" AltJSON :> Get '[JSON] DiskAggregatedList))))))))))
- Network.Google.Resource.Compute.Disks.List: type DisksListResource = "compute" :> ("v1" :> ("projects" :> (Capture "project" Text :> ("zones" :> (Capture "zone" Text :> ("disks" :> (QueryParam "filter" Text :> (QueryParam "pageToken" Text :> (QueryParam "maxResults" (Textual Word32) :> (QueryParam "alt" AltJSON :> Get '[JSON] DiskList))))))))))
+ Network.Google.Resource.Compute.Disks.List: type DisksListResource = "compute" :> ("v1" :> ("projects" :> (Capture "project" Text :> ("zones" :> (Capture "zone" Text :> ("disks" :> (QueryParam "orderBy" Text :> (QueryParam "filter" Text :> (QueryParam "pageToken" Text :> (QueryParam "maxResults" (Textual Word32) :> (QueryParam "alt" AltJSON :> Get '[JSON] DiskList)))))))))))
- Network.Google.Resource.Compute.Firewalls.List: type FirewallsListResource = "compute" :> ("v1" :> ("projects" :> (Capture "project" Text :> ("global" :> ("firewalls" :> (QueryParam "filter" Text :> (QueryParam "pageToken" Text :> (QueryParam "maxResults" (Textual Word32) :> (QueryParam "alt" AltJSON :> Get '[JSON] FirewallList)))))))))
+ Network.Google.Resource.Compute.Firewalls.List: type FirewallsListResource = "compute" :> ("v1" :> ("projects" :> (Capture "project" Text :> ("global" :> ("firewalls" :> (QueryParam "orderBy" Text :> (QueryParam "filter" Text :> (QueryParam "pageToken" Text :> (QueryParam "maxResults" (Textual Word32) :> (QueryParam "alt" AltJSON :> Get '[JSON] FirewallList))))))))))
- Network.Google.Resource.Compute.ForwardingRules.AggregatedList: type ForwardingRulesAggregatedListResource = "compute" :> ("v1" :> ("projects" :> (Capture "project" Text :> ("aggregated" :> ("forwardingRules" :> (QueryParam "filter" Text :> (QueryParam "pageToken" Text :> (QueryParam "maxResults" (Textual Word32) :> (QueryParam "alt" AltJSON :> Get '[JSON] ForwardingRuleAggregatedList)))))))))
+ Network.Google.Resource.Compute.ForwardingRules.AggregatedList: type ForwardingRulesAggregatedListResource = "compute" :> ("v1" :> ("projects" :> (Capture "project" Text :> ("aggregated" :> ("forwardingRules" :> (QueryParam "orderBy" Text :> (QueryParam "filter" Text :> (QueryParam "pageToken" Text :> (QueryParam "maxResults" (Textual Word32) :> (QueryParam "alt" AltJSON :> Get '[JSON] ForwardingRuleAggregatedList))))))))))
- Network.Google.Resource.Compute.ForwardingRules.List: type ForwardingRulesListResource = "compute" :> ("v1" :> ("projects" :> (Capture "project" Text :> ("regions" :> (Capture "region" Text :> ("forwardingRules" :> (QueryParam "filter" Text :> (QueryParam "pageToken" Text :> (QueryParam "maxResults" (Textual Word32) :> (QueryParam "alt" AltJSON :> Get '[JSON] ForwardingRuleList))))))))))
+ Network.Google.Resource.Compute.ForwardingRules.List: type ForwardingRulesListResource = "compute" :> ("v1" :> ("projects" :> (Capture "project" Text :> ("regions" :> (Capture "region" Text :> ("forwardingRules" :> (QueryParam "orderBy" Text :> (QueryParam "filter" Text :> (QueryParam "pageToken" Text :> (QueryParam "maxResults" (Textual Word32) :> (QueryParam "alt" AltJSON :> Get '[JSON] ForwardingRuleList)))))))))))
- Network.Google.Resource.Compute.GlobalAddresses.List: type GlobalAddressesListResource = "compute" :> ("v1" :> ("projects" :> (Capture "project" Text :> ("global" :> ("addresses" :> (QueryParam "filter" Text :> (QueryParam "pageToken" Text :> (QueryParam "maxResults" (Textual Word32) :> (QueryParam "alt" AltJSON :> Get '[JSON] AddressList)))))))))
+ Network.Google.Resource.Compute.GlobalAddresses.List: type GlobalAddressesListResource = "compute" :> ("v1" :> ("projects" :> (Capture "project" Text :> ("global" :> ("addresses" :> (QueryParam "orderBy" Text :> (QueryParam "filter" Text :> (QueryParam "pageToken" Text :> (QueryParam "maxResults" (Textual Word32) :> (QueryParam "alt" AltJSON :> Get '[JSON] AddressList))))))))))
- Network.Google.Resource.Compute.GlobalForwardingRules.List: type GlobalForwardingRulesListResource = "compute" :> ("v1" :> ("projects" :> (Capture "project" Text :> ("global" :> ("forwardingRules" :> (QueryParam "filter" Text :> (QueryParam "pageToken" Text :> (QueryParam "maxResults" (Textual Word32) :> (QueryParam "alt" AltJSON :> Get '[JSON] ForwardingRuleList)))))))))
+ Network.Google.Resource.Compute.GlobalForwardingRules.List: type GlobalForwardingRulesListResource = "compute" :> ("v1" :> ("projects" :> (Capture "project" Text :> ("global" :> ("forwardingRules" :> (QueryParam "orderBy" Text :> (QueryParam "filter" Text :> (QueryParam "pageToken" Text :> (QueryParam "maxResults" (Textual Word32) :> (QueryParam "alt" AltJSON :> Get '[JSON] ForwardingRuleList))))))))))
- Network.Google.Resource.Compute.GlobalOperations.AggregatedList: type GlobalOperationsAggregatedListResource = "compute" :> ("v1" :> ("projects" :> (Capture "project" Text :> ("aggregated" :> ("operations" :> (QueryParam "filter" Text :> (QueryParam "pageToken" Text :> (QueryParam "maxResults" (Textual Word32) :> (QueryParam "alt" AltJSON :> Get '[JSON] OperationAggregatedList)))))))))
+ Network.Google.Resource.Compute.GlobalOperations.AggregatedList: type GlobalOperationsAggregatedListResource = "compute" :> ("v1" :> ("projects" :> (Capture "project" Text :> ("aggregated" :> ("operations" :> (QueryParam "orderBy" Text :> (QueryParam "filter" Text :> (QueryParam "pageToken" Text :> (QueryParam "maxResults" (Textual Word32) :> (QueryParam "alt" AltJSON :> Get '[JSON] OperationAggregatedList))))))))))
- Network.Google.Resource.Compute.GlobalOperations.List: type GlobalOperationsListResource = "compute" :> ("v1" :> ("projects" :> (Capture "project" Text :> ("global" :> ("operations" :> (QueryParam "filter" Text :> (QueryParam "pageToken" Text :> (QueryParam "maxResults" (Textual Word32) :> (QueryParam "alt" AltJSON :> Get '[JSON] OperationList)))))))))
+ Network.Google.Resource.Compute.GlobalOperations.List: type GlobalOperationsListResource = "compute" :> ("v1" :> ("projects" :> (Capture "project" Text :> ("global" :> ("operations" :> (QueryParam "orderBy" Text :> (QueryParam "filter" Text :> (QueryParam "pageToken" Text :> (QueryParam "maxResults" (Textual Word32) :> (QueryParam "alt" AltJSON :> Get '[JSON] OperationList))))))))))
- Network.Google.Resource.Compute.HTTPHealthChecks.List: type HTTPHealthChecksListResource = "compute" :> ("v1" :> ("projects" :> (Capture "project" Text :> ("global" :> ("httpHealthChecks" :> (QueryParam "filter" Text :> (QueryParam "pageToken" Text :> (QueryParam "maxResults" (Textual Word32) :> (QueryParam "alt" AltJSON :> Get '[JSON] HTTPHealthCheckList)))))))))
+ Network.Google.Resource.Compute.HTTPHealthChecks.List: type HTTPHealthChecksListResource = "compute" :> ("v1" :> ("projects" :> (Capture "project" Text :> ("global" :> ("httpHealthChecks" :> (QueryParam "orderBy" Text :> (QueryParam "filter" Text :> (QueryParam "pageToken" Text :> (QueryParam "maxResults" (Textual Word32) :> (QueryParam "alt" AltJSON :> Get '[JSON] HTTPHealthCheckList))))))))))
- Network.Google.Resource.Compute.HTTPSHealthChecks.List: type HTTPSHealthChecksListResource = "compute" :> ("v1" :> ("projects" :> (Capture "project" Text :> ("global" :> ("httpsHealthChecks" :> (QueryParam "filter" Text :> (QueryParam "pageToken" Text :> (QueryParam "maxResults" (Textual Word32) :> (QueryParam "alt" AltJSON :> Get '[JSON] HTTPSHealthCheckList)))))))))
+ Network.Google.Resource.Compute.HTTPSHealthChecks.List: type HTTPSHealthChecksListResource = "compute" :> ("v1" :> ("projects" :> (Capture "project" Text :> ("global" :> ("httpsHealthChecks" :> (QueryParam "orderBy" Text :> (QueryParam "filter" Text :> (QueryParam "pageToken" Text :> (QueryParam "maxResults" (Textual Word32) :> (QueryParam "alt" AltJSON :> Get '[JSON] HTTPSHealthCheckList))))))))))
- Network.Google.Resource.Compute.Images.List: type ImagesListResource = "compute" :> ("v1" :> ("projects" :> (Capture "project" Text :> ("global" :> ("images" :> (QueryParam "filter" Text :> (QueryParam "pageToken" Text :> (QueryParam "maxResults" (Textual Word32) :> (QueryParam "alt" AltJSON :> Get '[JSON] ImageList)))))))))
+ Network.Google.Resource.Compute.Images.List: type ImagesListResource = "compute" :> ("v1" :> ("projects" :> (Capture "project" Text :> ("global" :> ("images" :> (QueryParam "orderBy" Text :> (QueryParam "filter" Text :> (QueryParam "pageToken" Text :> (QueryParam "maxResults" (Textual Word32) :> (QueryParam "alt" AltJSON :> Get '[JSON] ImageList))))))))))
- Network.Google.Resource.Compute.InstanceGroupManagers.AggregatedList: type InstanceGroupManagersAggregatedListResource = "compute" :> ("v1" :> ("projects" :> (Capture "project" Text :> ("aggregated" :> ("instanceGroupManagers" :> (QueryParam "filter" Text :> (QueryParam "pageToken" Text :> (QueryParam "maxResults" (Textual Word32) :> (QueryParam "alt" AltJSON :> Get '[JSON] InstanceGroupManagerAggregatedList)))))))))
+ Network.Google.Resource.Compute.InstanceGroupManagers.AggregatedList: type InstanceGroupManagersAggregatedListResource = "compute" :> ("v1" :> ("projects" :> (Capture "project" Text :> ("aggregated" :> ("instanceGroupManagers" :> (QueryParam "orderBy" Text :> (QueryParam "filter" Text :> (QueryParam "pageToken" Text :> (QueryParam "maxResults" (Textual Word32) :> (QueryParam "alt" AltJSON :> Get '[JSON] InstanceGroupManagerAggregatedList))))))))))
- Network.Google.Resource.Compute.InstanceGroupManagers.List: type InstanceGroupManagersListResource = "compute" :> ("v1" :> ("projects" :> (Capture "project" Text :> ("zones" :> (Capture "zone" Text :> ("instanceGroupManagers" :> (QueryParam "filter" Text :> (QueryParam "pageToken" Text :> (QueryParam "maxResults" (Textual Word32) :> (QueryParam "alt" AltJSON :> Get '[JSON] InstanceGroupManagerList))))))))))
+ Network.Google.Resource.Compute.InstanceGroupManagers.List: type InstanceGroupManagersListResource = "compute" :> ("v1" :> ("projects" :> (Capture "project" Text :> ("zones" :> (Capture "zone" Text :> ("instanceGroupManagers" :> (QueryParam "orderBy" Text :> (QueryParam "filter" Text :> (QueryParam "pageToken" Text :> (QueryParam "maxResults" (Textual Word32) :> (QueryParam "alt" AltJSON :> Get '[JSON] InstanceGroupManagerList)))))))))))
- Network.Google.Resource.Compute.InstanceGroups.AggregatedList: type InstanceGroupsAggregatedListResource = "compute" :> ("v1" :> ("projects" :> (Capture "project" Text :> ("aggregated" :> ("instanceGroups" :> (QueryParam "filter" Text :> (QueryParam "pageToken" Text :> (QueryParam "maxResults" (Textual Word32) :> (QueryParam "alt" AltJSON :> Get '[JSON] InstanceGroupAggregatedList)))))))))
+ Network.Google.Resource.Compute.InstanceGroups.AggregatedList: type InstanceGroupsAggregatedListResource = "compute" :> ("v1" :> ("projects" :> (Capture "project" Text :> ("aggregated" :> ("instanceGroups" :> (QueryParam "orderBy" Text :> (QueryParam "filter" Text :> (QueryParam "pageToken" Text :> (QueryParam "maxResults" (Textual Word32) :> (QueryParam "alt" AltJSON :> Get '[JSON] InstanceGroupAggregatedList))))))))))
- Network.Google.Resource.Compute.InstanceGroups.List: type InstanceGroupsListResource = "compute" :> ("v1" :> ("projects" :> (Capture "project" Text :> ("zones" :> (Capture "zone" Text :> ("instanceGroups" :> (QueryParam "filter" Text :> (QueryParam "pageToken" Text :> (QueryParam "maxResults" (Textual Word32) :> (QueryParam "alt" AltJSON :> Get '[JSON] InstanceGroupList))))))))))
+ Network.Google.Resource.Compute.InstanceGroups.List: type InstanceGroupsListResource = "compute" :> ("v1" :> ("projects" :> (Capture "project" Text :> ("zones" :> (Capture "zone" Text :> ("instanceGroups" :> (QueryParam "orderBy" Text :> (QueryParam "filter" Text :> (QueryParam "pageToken" Text :> (QueryParam "maxResults" (Textual Word32) :> (QueryParam "alt" AltJSON :> Get '[JSON] InstanceGroupList)))))))))))
- Network.Google.Resource.Compute.InstanceGroups.ListInstances: type InstanceGroupsListInstancesResource = "compute" :> ("v1" :> ("projects" :> (Capture "project" Text :> ("zones" :> (Capture "zone" Text :> ("instanceGroups" :> (Capture "instanceGroup" Text :> ("listInstances" :> (QueryParam "filter" Text :> (QueryParam "pageToken" Text :> (QueryParam "maxResults" (Textual Word32) :> (QueryParam "alt" AltJSON :> (ReqBody '[JSON] InstanceGroupsListInstancesRequest :> Post '[JSON] InstanceGroupsListInstances)))))))))))))
+ Network.Google.Resource.Compute.InstanceGroups.ListInstances: type InstanceGroupsListInstancesResource = "compute" :> ("v1" :> ("projects" :> (Capture "project" Text :> ("zones" :> (Capture "zone" Text :> ("instanceGroups" :> (Capture "instanceGroup" Text :> ("listInstances" :> (QueryParam "orderBy" Text :> (QueryParam "filter" Text :> (QueryParam "pageToken" Text :> (QueryParam "maxResults" (Textual Word32) :> (QueryParam "alt" AltJSON :> (ReqBody '[JSON] InstanceGroupsListInstancesRequest :> Post '[JSON] InstanceGroupsListInstances))))))))))))))
- Network.Google.Resource.Compute.InstanceTemplates.List: type InstanceTemplatesListResource = "compute" :> ("v1" :> ("projects" :> (Capture "project" Text :> ("global" :> ("instanceTemplates" :> (QueryParam "filter" Text :> (QueryParam "pageToken" Text :> (QueryParam "maxResults" (Textual Word32) :> (QueryParam "alt" AltJSON :> Get '[JSON] InstanceTemplateList)))))))))
+ Network.Google.Resource.Compute.InstanceTemplates.List: type InstanceTemplatesListResource = "compute" :> ("v1" :> ("projects" :> (Capture "project" Text :> ("global" :> ("instanceTemplates" :> (QueryParam "orderBy" Text :> (QueryParam "filter" Text :> (QueryParam "pageToken" Text :> (QueryParam "maxResults" (Textual Word32) :> (QueryParam "alt" AltJSON :> Get '[JSON] InstanceTemplateList))))))))))
- Network.Google.Resource.Compute.Instances.AggregatedList: type InstancesAggregatedListResource = "compute" :> ("v1" :> ("projects" :> (Capture "project" Text :> ("aggregated" :> ("instances" :> (QueryParam "filter" Text :> (QueryParam "pageToken" Text :> (QueryParam "maxResults" (Textual Word32) :> (QueryParam "alt" AltJSON :> Get '[JSON] InstanceAggregatedList)))))))))
+ Network.Google.Resource.Compute.Instances.AggregatedList: type InstancesAggregatedListResource = "compute" :> ("v1" :> ("projects" :> (Capture "project" Text :> ("aggregated" :> ("instances" :> (QueryParam "orderBy" Text :> (QueryParam "filter" Text :> (QueryParam "pageToken" Text :> (QueryParam "maxResults" (Textual Word32) :> (QueryParam "alt" AltJSON :> Get '[JSON] InstanceAggregatedList))))))))))
- Network.Google.Resource.Compute.Instances.List: type InstancesListResource = "compute" :> ("v1" :> ("projects" :> (Capture "project" Text :> ("zones" :> (Capture "zone" Text :> ("instances" :> (QueryParam "filter" Text :> (QueryParam "pageToken" Text :> (QueryParam "maxResults" (Textual Word32) :> (QueryParam "alt" AltJSON :> Get '[JSON] InstanceList))))))))))
+ Network.Google.Resource.Compute.Instances.List: type InstancesListResource = "compute" :> ("v1" :> ("projects" :> (Capture "project" Text :> ("zones" :> (Capture "zone" Text :> ("instances" :> (QueryParam "orderBy" Text :> (QueryParam "filter" Text :> (QueryParam "pageToken" Text :> (QueryParam "maxResults" (Textual Word32) :> (QueryParam "alt" AltJSON :> Get '[JSON] InstanceList)))))))))))
- Network.Google.Resource.Compute.MachineTypes.AggregatedList: type MachineTypesAggregatedListResource = "compute" :> ("v1" :> ("projects" :> (Capture "project" Text :> ("aggregated" :> ("machineTypes" :> (QueryParam "filter" Text :> (QueryParam "pageToken" Text :> (QueryParam "maxResults" (Textual Word32) :> (QueryParam "alt" AltJSON :> Get '[JSON] MachineTypeAggregatedList)))))))))
+ Network.Google.Resource.Compute.MachineTypes.AggregatedList: type MachineTypesAggregatedListResource = "compute" :> ("v1" :> ("projects" :> (Capture "project" Text :> ("aggregated" :> ("machineTypes" :> (QueryParam "orderBy" Text :> (QueryParam "filter" Text :> (QueryParam "pageToken" Text :> (QueryParam "maxResults" (Textual Word32) :> (QueryParam "alt" AltJSON :> Get '[JSON] MachineTypeAggregatedList))))))))))
- Network.Google.Resource.Compute.MachineTypes.List: type MachineTypesListResource = "compute" :> ("v1" :> ("projects" :> (Capture "project" Text :> ("zones" :> (Capture "zone" Text :> ("machineTypes" :> (QueryParam "filter" Text :> (QueryParam "pageToken" Text :> (QueryParam "maxResults" (Textual Word32) :> (QueryParam "alt" AltJSON :> Get '[JSON] MachineTypeList))))))))))
+ Network.Google.Resource.Compute.MachineTypes.List: type MachineTypesListResource = "compute" :> ("v1" :> ("projects" :> (Capture "project" Text :> ("zones" :> (Capture "zone" Text :> ("machineTypes" :> (QueryParam "orderBy" Text :> (QueryParam "filter" Text :> (QueryParam "pageToken" Text :> (QueryParam "maxResults" (Textual Word32) :> (QueryParam "alt" AltJSON :> Get '[JSON] MachineTypeList)))))))))))
- Network.Google.Resource.Compute.Networks.List: type NetworksListResource = "compute" :> ("v1" :> ("projects" :> (Capture "project" Text :> ("global" :> ("networks" :> (QueryParam "filter" Text :> (QueryParam "pageToken" Text :> (QueryParam "maxResults" (Textual Word32) :> (QueryParam "alt" AltJSON :> Get '[JSON] NetworkList)))))))))
+ Network.Google.Resource.Compute.Networks.List: type NetworksListResource = "compute" :> ("v1" :> ("projects" :> (Capture "project" Text :> ("global" :> ("networks" :> (QueryParam "orderBy" Text :> (QueryParam "filter" Text :> (QueryParam "pageToken" Text :> (QueryParam "maxResults" (Textual Word32) :> (QueryParam "alt" AltJSON :> Get '[JSON] NetworkList))))))))))
- Network.Google.Resource.Compute.RegionOperations.List: type RegionOperationsListResource = "compute" :> ("v1" :> ("projects" :> (Capture "project" Text :> ("regions" :> (Capture "region" Text :> ("operations" :> (QueryParam "filter" Text :> (QueryParam "pageToken" Text :> (QueryParam "maxResults" (Textual Word32) :> (QueryParam "alt" AltJSON :> Get '[JSON] OperationList))))))))))
+ Network.Google.Resource.Compute.RegionOperations.List: type RegionOperationsListResource = "compute" :> ("v1" :> ("projects" :> (Capture "project" Text :> ("regions" :> (Capture "region" Text :> ("operations" :> (QueryParam "orderBy" Text :> (QueryParam "filter" Text :> (QueryParam "pageToken" Text :> (QueryParam "maxResults" (Textual Word32) :> (QueryParam "alt" AltJSON :> Get '[JSON] OperationList)))))))))))
- Network.Google.Resource.Compute.Regions.List: type RegionsListResource = "compute" :> ("v1" :> ("projects" :> (Capture "project" Text :> ("regions" :> (QueryParam "filter" Text :> (QueryParam "pageToken" Text :> (QueryParam "maxResults" (Textual Word32) :> (QueryParam "alt" AltJSON :> Get '[JSON] RegionList))))))))
+ Network.Google.Resource.Compute.Regions.List: type RegionsListResource = "compute" :> ("v1" :> ("projects" :> (Capture "project" Text :> ("regions" :> (QueryParam "orderBy" Text :> (QueryParam "filter" Text :> (QueryParam "pageToken" Text :> (QueryParam "maxResults" (Textual Word32) :> (QueryParam "alt" AltJSON :> Get '[JSON] RegionList)))))))))
- Network.Google.Resource.Compute.Routes.List: type RoutesListResource = "compute" :> ("v1" :> ("projects" :> (Capture "project" Text :> ("global" :> ("routes" :> (QueryParam "filter" Text :> (QueryParam "pageToken" Text :> (QueryParam "maxResults" (Textual Word32) :> (QueryParam "alt" AltJSON :> Get '[JSON] RouteList)))))))))
+ Network.Google.Resource.Compute.Routes.List: type RoutesListResource = "compute" :> ("v1" :> ("projects" :> (Capture "project" Text :> ("global" :> ("routes" :> (QueryParam "orderBy" Text :> (QueryParam "filter" Text :> (QueryParam "pageToken" Text :> (QueryParam "maxResults" (Textual Word32) :> (QueryParam "alt" AltJSON :> Get '[JSON] RouteList))))))))))
- Network.Google.Resource.Compute.SSLCertificates.List: type SSLCertificatesListResource = "compute" :> ("v1" :> ("projects" :> (Capture "project" Text :> ("global" :> ("sslCertificates" :> (QueryParam "filter" Text :> (QueryParam "pageToken" Text :> (QueryParam "maxResults" (Textual Word32) :> (QueryParam "alt" AltJSON :> Get '[JSON] SSLCertificateList)))))))))
+ Network.Google.Resource.Compute.SSLCertificates.List: type SSLCertificatesListResource = "compute" :> ("v1" :> ("projects" :> (Capture "project" Text :> ("global" :> ("sslCertificates" :> (QueryParam "orderBy" Text :> (QueryParam "filter" Text :> (QueryParam "pageToken" Text :> (QueryParam "maxResults" (Textual Word32) :> (QueryParam "alt" AltJSON :> Get '[JSON] SSLCertificateList))))))))))
- Network.Google.Resource.Compute.Snapshots.List: type SnapshotsListResource = "compute" :> ("v1" :> ("projects" :> (Capture "project" Text :> ("global" :> ("snapshots" :> (QueryParam "filter" Text :> (QueryParam "pageToken" Text :> (QueryParam "maxResults" (Textual Word32) :> (QueryParam "alt" AltJSON :> Get '[JSON] SnapshotList)))))))))
+ Network.Google.Resource.Compute.Snapshots.List: type SnapshotsListResource = "compute" :> ("v1" :> ("projects" :> (Capture "project" Text :> ("global" :> ("snapshots" :> (QueryParam "orderBy" Text :> (QueryParam "filter" Text :> (QueryParam "pageToken" Text :> (QueryParam "maxResults" (Textual Word32) :> (QueryParam "alt" AltJSON :> Get '[JSON] SnapshotList))))))))))
- Network.Google.Resource.Compute.Subnetworks.AggregatedList: type SubnetworksAggregatedListResource = "compute" :> ("v1" :> ("projects" :> (Capture "project" Text :> ("aggregated" :> ("subnetworks" :> (QueryParam "filter" Text :> (QueryParam "pageToken" Text :> (QueryParam "maxResults" (Textual Word32) :> (QueryParam "alt" AltJSON :> Get '[JSON] SubnetworkAggregatedList)))))))))
+ Network.Google.Resource.Compute.Subnetworks.AggregatedList: type SubnetworksAggregatedListResource = "compute" :> ("v1" :> ("projects" :> (Capture "project" Text :> ("aggregated" :> ("subnetworks" :> (QueryParam "orderBy" Text :> (QueryParam "filter" Text :> (QueryParam "pageToken" Text :> (QueryParam "maxResults" (Textual Word32) :> (QueryParam "alt" AltJSON :> Get '[JSON] SubnetworkAggregatedList))))))))))
- Network.Google.Resource.Compute.Subnetworks.List: type SubnetworksListResource = "compute" :> ("v1" :> ("projects" :> (Capture "project" Text :> ("regions" :> (Capture "region" Text :> ("subnetworks" :> (QueryParam "filter" Text :> (QueryParam "pageToken" Text :> (QueryParam "maxResults" (Textual Word32) :> (QueryParam "alt" AltJSON :> Get '[JSON] SubnetworkList))))))))))
+ Network.Google.Resource.Compute.Subnetworks.List: type SubnetworksListResource = "compute" :> ("v1" :> ("projects" :> (Capture "project" Text :> ("regions" :> (Capture "region" Text :> ("subnetworks" :> (QueryParam "orderBy" Text :> (QueryParam "filter" Text :> (QueryParam "pageToken" Text :> (QueryParam "maxResults" (Textual Word32) :> (QueryParam "alt" AltJSON :> Get '[JSON] SubnetworkList)))))))))))
- Network.Google.Resource.Compute.TargetHTTPProxies.List: type TargetHTTPProxiesListResource = "compute" :> ("v1" :> ("projects" :> (Capture "project" Text :> ("global" :> ("targetHttpProxies" :> (QueryParam "filter" Text :> (QueryParam "pageToken" Text :> (QueryParam "maxResults" (Textual Word32) :> (QueryParam "alt" AltJSON :> Get '[JSON] TargetHTTPProxyList)))))))))
+ Network.Google.Resource.Compute.TargetHTTPProxies.List: type TargetHTTPProxiesListResource = "compute" :> ("v1" :> ("projects" :> (Capture "project" Text :> ("global" :> ("targetHttpProxies" :> (QueryParam "orderBy" Text :> (QueryParam "filter" Text :> (QueryParam "pageToken" Text :> (QueryParam "maxResults" (Textual Word32) :> (QueryParam "alt" AltJSON :> Get '[JSON] TargetHTTPProxyList))))))))))
- Network.Google.Resource.Compute.TargetHTTPSProxies.List: type TargetHTTPSProxiesListResource = "compute" :> ("v1" :> ("projects" :> (Capture "project" Text :> ("global" :> ("targetHttpsProxies" :> (QueryParam "filter" Text :> (QueryParam "pageToken" Text :> (QueryParam "maxResults" (Textual Word32) :> (QueryParam "alt" AltJSON :> Get '[JSON] TargetHTTPSProxyList)))))))))
+ Network.Google.Resource.Compute.TargetHTTPSProxies.List: type TargetHTTPSProxiesListResource = "compute" :> ("v1" :> ("projects" :> (Capture "project" Text :> ("global" :> ("targetHttpsProxies" :> (QueryParam "orderBy" Text :> (QueryParam "filter" Text :> (QueryParam "pageToken" Text :> (QueryParam "maxResults" (Textual Word32) :> (QueryParam "alt" AltJSON :> Get '[JSON] TargetHTTPSProxyList))))))))))
- Network.Google.Resource.Compute.TargetInstances.AggregatedList: type TargetInstancesAggregatedListResource = "compute" :> ("v1" :> ("projects" :> (Capture "project" Text :> ("aggregated" :> ("targetInstances" :> (QueryParam "filter" Text :> (QueryParam "pageToken" Text :> (QueryParam "maxResults" (Textual Word32) :> (QueryParam "alt" AltJSON :> Get '[JSON] TargetInstanceAggregatedList)))))))))
+ Network.Google.Resource.Compute.TargetInstances.AggregatedList: type TargetInstancesAggregatedListResource = "compute" :> ("v1" :> ("projects" :> (Capture "project" Text :> ("aggregated" :> ("targetInstances" :> (QueryParam "orderBy" Text :> (QueryParam "filter" Text :> (QueryParam "pageToken" Text :> (QueryParam "maxResults" (Textual Word32) :> (QueryParam "alt" AltJSON :> Get '[JSON] TargetInstanceAggregatedList))))))))))
- Network.Google.Resource.Compute.TargetInstances.List: type TargetInstancesListResource = "compute" :> ("v1" :> ("projects" :> (Capture "project" Text :> ("zones" :> (Capture "zone" Text :> ("targetInstances" :> (QueryParam "filter" Text :> (QueryParam "pageToken" Text :> (QueryParam "maxResults" (Textual Word32) :> (QueryParam "alt" AltJSON :> Get '[JSON] TargetInstanceList))))))))))
+ Network.Google.Resource.Compute.TargetInstances.List: type TargetInstancesListResource = "compute" :> ("v1" :> ("projects" :> (Capture "project" Text :> ("zones" :> (Capture "zone" Text :> ("targetInstances" :> (QueryParam "orderBy" Text :> (QueryParam "filter" Text :> (QueryParam "pageToken" Text :> (QueryParam "maxResults" (Textual Word32) :> (QueryParam "alt" AltJSON :> Get '[JSON] TargetInstanceList)))))))))))
- Network.Google.Resource.Compute.TargetPools.AggregatedList: type TargetPoolsAggregatedListResource = "compute" :> ("v1" :> ("projects" :> (Capture "project" Text :> ("aggregated" :> ("targetPools" :> (QueryParam "filter" Text :> (QueryParam "pageToken" Text :> (QueryParam "maxResults" (Textual Word32) :> (QueryParam "alt" AltJSON :> Get '[JSON] TargetPoolAggregatedList)))))))))
+ Network.Google.Resource.Compute.TargetPools.AggregatedList: type TargetPoolsAggregatedListResource = "compute" :> ("v1" :> ("projects" :> (Capture "project" Text :> ("aggregated" :> ("targetPools" :> (QueryParam "orderBy" Text :> (QueryParam "filter" Text :> (QueryParam "pageToken" Text :> (QueryParam "maxResults" (Textual Word32) :> (QueryParam "alt" AltJSON :> Get '[JSON] TargetPoolAggregatedList))))))))))
- Network.Google.Resource.Compute.TargetPools.List: type TargetPoolsListResource = "compute" :> ("v1" :> ("projects" :> (Capture "project" Text :> ("regions" :> (Capture "region" Text :> ("targetPools" :> (QueryParam "filter" Text :> (QueryParam "pageToken" Text :> (QueryParam "maxResults" (Textual Word32) :> (QueryParam "alt" AltJSON :> Get '[JSON] TargetPoolList))))))))))
+ Network.Google.Resource.Compute.TargetPools.List: type TargetPoolsListResource = "compute" :> ("v1" :> ("projects" :> (Capture "project" Text :> ("regions" :> (Capture "region" Text :> ("targetPools" :> (QueryParam "orderBy" Text :> (QueryParam "filter" Text :> (QueryParam "pageToken" Text :> (QueryParam "maxResults" (Textual Word32) :> (QueryParam "alt" AltJSON :> Get '[JSON] TargetPoolList)))))))))))
- Network.Google.Resource.Compute.TargetVPNGateways.AggregatedList: type TargetVPNGatewaysAggregatedListResource = "compute" :> ("v1" :> ("projects" :> (Capture "project" Text :> ("aggregated" :> ("targetVpnGateways" :> (QueryParam "filter" Text :> (QueryParam "pageToken" Text :> (QueryParam "maxResults" (Textual Word32) :> (QueryParam "alt" AltJSON :> Get '[JSON] TargetVPNGatewayAggregatedList)))))))))
+ Network.Google.Resource.Compute.TargetVPNGateways.AggregatedList: type TargetVPNGatewaysAggregatedListResource = "compute" :> ("v1" :> ("projects" :> (Capture "project" Text :> ("aggregated" :> ("targetVpnGateways" :> (QueryParam "orderBy" Text :> (QueryParam "filter" Text :> (QueryParam "pageToken" Text :> (QueryParam "maxResults" (Textual Word32) :> (QueryParam "alt" AltJSON :> Get '[JSON] TargetVPNGatewayAggregatedList))))))))))
- Network.Google.Resource.Compute.TargetVPNGateways.List: type TargetVPNGatewaysListResource = "compute" :> ("v1" :> ("projects" :> (Capture "project" Text :> ("regions" :> (Capture "region" Text :> ("targetVpnGateways" :> (QueryParam "filter" Text :> (QueryParam "pageToken" Text :> (QueryParam "maxResults" (Textual Word32) :> (QueryParam "alt" AltJSON :> Get '[JSON] TargetVPNGatewayList))))))))))
+ Network.Google.Resource.Compute.TargetVPNGateways.List: type TargetVPNGatewaysListResource = "compute" :> ("v1" :> ("projects" :> (Capture "project" Text :> ("regions" :> (Capture "region" Text :> ("targetVpnGateways" :> (QueryParam "orderBy" Text :> (QueryParam "filter" Text :> (QueryParam "pageToken" Text :> (QueryParam "maxResults" (Textual Word32) :> (QueryParam "alt" AltJSON :> Get '[JSON] TargetVPNGatewayList)))))))))))
- Network.Google.Resource.Compute.URLMaps.List: type URLMapsListResource = "compute" :> ("v1" :> ("projects" :> (Capture "project" Text :> ("global" :> ("urlMaps" :> (QueryParam "filter" Text :> (QueryParam "pageToken" Text :> (QueryParam "maxResults" (Textual Word32) :> (QueryParam "alt" AltJSON :> Get '[JSON] URLMapList)))))))))
+ Network.Google.Resource.Compute.URLMaps.List: type URLMapsListResource = "compute" :> ("v1" :> ("projects" :> (Capture "project" Text :> ("global" :> ("urlMaps" :> (QueryParam "orderBy" Text :> (QueryParam "filter" Text :> (QueryParam "pageToken" Text :> (QueryParam "maxResults" (Textual Word32) :> (QueryParam "alt" AltJSON :> Get '[JSON] URLMapList))))))))))
- Network.Google.Resource.Compute.VPNTunnels.AggregatedList: type VPNTunnelsAggregatedListResource = "compute" :> ("v1" :> ("projects" :> (Capture "project" Text :> ("aggregated" :> ("vpnTunnels" :> (QueryParam "filter" Text :> (QueryParam "pageToken" Text :> (QueryParam "maxResults" (Textual Word32) :> (QueryParam "alt" AltJSON :> Get '[JSON] VPNTunnelAggregatedList)))))))))
+ Network.Google.Resource.Compute.VPNTunnels.AggregatedList: type VPNTunnelsAggregatedListResource = "compute" :> ("v1" :> ("projects" :> (Capture "project" Text :> ("aggregated" :> ("vpnTunnels" :> (QueryParam "orderBy" Text :> (QueryParam "filter" Text :> (QueryParam "pageToken" Text :> (QueryParam "maxResults" (Textual Word32) :> (QueryParam "alt" AltJSON :> Get '[JSON] VPNTunnelAggregatedList))))))))))
- Network.Google.Resource.Compute.VPNTunnels.List: type VPNTunnelsListResource = "compute" :> ("v1" :> ("projects" :> (Capture "project" Text :> ("regions" :> (Capture "region" Text :> ("vpnTunnels" :> (QueryParam "filter" Text :> (QueryParam "pageToken" Text :> (QueryParam "maxResults" (Textual Word32) :> (QueryParam "alt" AltJSON :> Get '[JSON] VPNTunnelList))))))))))
+ Network.Google.Resource.Compute.VPNTunnels.List: type VPNTunnelsListResource = "compute" :> ("v1" :> ("projects" :> (Capture "project" Text :> ("regions" :> (Capture "region" Text :> ("vpnTunnels" :> (QueryParam "orderBy" Text :> (QueryParam "filter" Text :> (QueryParam "pageToken" Text :> (QueryParam "maxResults" (Textual Word32) :> (QueryParam "alt" AltJSON :> Get '[JSON] VPNTunnelList)))))))))))
- Network.Google.Resource.Compute.ZoneOperations.List: type ZoneOperationsListResource = "compute" :> ("v1" :> ("projects" :> (Capture "project" Text :> ("zones" :> (Capture "zone" Text :> ("operations" :> (QueryParam "filter" Text :> (QueryParam "pageToken" Text :> (QueryParam "maxResults" (Textual Word32) :> (QueryParam "alt" AltJSON :> Get '[JSON] OperationList))))))))))
+ Network.Google.Resource.Compute.ZoneOperations.List: type ZoneOperationsListResource = "compute" :> ("v1" :> ("projects" :> (Capture "project" Text :> ("zones" :> (Capture "zone" Text :> ("operations" :> (QueryParam "orderBy" Text :> (QueryParam "filter" Text :> (QueryParam "pageToken" Text :> (QueryParam "maxResults" (Textual Word32) :> (QueryParam "alt" AltJSON :> Get '[JSON] OperationList)))))))))))
- Network.Google.Resource.Compute.Zones.List: type ZonesListResource = "compute" :> ("v1" :> ("projects" :> (Capture "project" Text :> ("zones" :> (QueryParam "filter" Text :> (QueryParam "pageToken" Text :> (QueryParam "maxResults" (Textual Word32) :> (QueryParam "alt" AltJSON :> Get '[JSON] ZoneList))))))))
+ Network.Google.Resource.Compute.Zones.List: type ZonesListResource = "compute" :> ("v1" :> ("projects" :> (Capture "project" Text :> ("zones" :> (QueryParam "orderBy" Text :> (QueryParam "filter" Text :> (QueryParam "pageToken" Text :> (QueryParam "maxResults" (Textual Word32) :> (QueryParam "alt" AltJSON :> Get '[JSON] ZoneList)))))))))
Files
- README.md +1/−1
- gen/Network/Google/Compute.hs +430/−29
- gen/Network/Google/Compute/Types.hs +310/−29
- gen/Network/Google/Compute/Types/Product.hs +19118/−16593
- gen/Network/Google/Compute/Types/Sum.hs +497/−46
- gen/Network/Google/Resource/Compute/Addresses/AggregatedList.hs +32/−15
- gen/Network/Google/Resource/Compute/Addresses/Delete.hs +27/−25
- gen/Network/Google/Resource/Compute/Addresses/List.hs +32/−14
- gen/Network/Google/Resource/Compute/Autoscalers/AggregatedList.hs +32/−15
- gen/Network/Google/Resource/Compute/Autoscalers/List.hs +31/−15
- gen/Network/Google/Resource/Compute/BackendServices/List.hs +32/−15
- gen/Network/Google/Resource/Compute/BackendServices/Patch.hs +8/−8
- gen/Network/Google/Resource/Compute/BackendServices/Update.hs +8/−6
- gen/Network/Google/Resource/Compute/DiskTypes/AggregatedList.hs +33/−15
- gen/Network/Google/Resource/Compute/DiskTypes/List.hs +32/−14
- gen/Network/Google/Resource/Compute/Disks/AggregatedList.hs +32/−15
- gen/Network/Google/Resource/Compute/Disks/List.hs +32/−14
- gen/Network/Google/Resource/Compute/Firewalls/List.hs +31/−14
- gen/Network/Google/Resource/Compute/ForwardingRules/AggregatedList.hs +33/−15
- gen/Network/Google/Resource/Compute/ForwardingRules/List.hs +33/−15
- gen/Network/Google/Resource/Compute/GlobalAddresses/List.hs +31/−14
- gen/Network/Google/Resource/Compute/GlobalForwardingRules/List.hs +33/−15
- gen/Network/Google/Resource/Compute/GlobalOperations/AggregatedList.hs +33/−15
- gen/Network/Google/Resource/Compute/GlobalOperations/List.hs +31/−14
- gen/Network/Google/Resource/Compute/HTTPHealthChecks/List.hs +34/−15
- gen/Network/Google/Resource/Compute/HTTPSHealthChecks/List.hs +33/−15
- gen/Network/Google/Resource/Compute/HealthChecks/Delete.hs +102/−0
- gen/Network/Google/Resource/Compute/HealthChecks/Get.hs +105/−0
- gen/Network/Google/Resource/Compute/HealthChecks/Insert.hs +103/−0
- gen/Network/Google/Resource/Compute/HealthChecks/List.hs +171/−0
- gen/Network/Google/Resource/Compute/HealthChecks/Patch.hs +118/−0
- gen/Network/Google/Resource/Compute/HealthChecks/Update.hs +117/−0
- gen/Network/Google/Resource/Compute/Images/GetFromFamily.hs +1/−1
- gen/Network/Google/Resource/Compute/Images/List.hs +35/−20
- gen/Network/Google/Resource/Compute/InstanceGroupManagers/AggregatedList.hs +33/−15
- gen/Network/Google/Resource/Compute/InstanceGroupManagers/List.hs +32/−15
- gen/Network/Google/Resource/Compute/InstanceGroups/AggregatedList.hs +33/−15
- gen/Network/Google/Resource/Compute/InstanceGroups/List.hs +33/−15
- gen/Network/Google/Resource/Compute/InstanceGroups/ListInstances.hs +34/−16
- gen/Network/Google/Resource/Compute/InstanceTemplates/List.hs +32/−15
- gen/Network/Google/Resource/Compute/Instances/AggregatedList.hs +32/−15
- gen/Network/Google/Resource/Compute/Instances/List.hs +32/−14
- gen/Network/Google/Resource/Compute/Instances/StartWithEncryptionKey.hs +135/−0
- gen/Network/Google/Resource/Compute/MachineTypes/AggregatedList.hs +33/−15
- gen/Network/Google/Resource/Compute/MachineTypes/List.hs +33/−15
- gen/Network/Google/Resource/Compute/Networks/List.hs +31/−14
- gen/Network/Google/Resource/Compute/RegionOperations/List.hs +32/−14
- gen/Network/Google/Resource/Compute/Regions/List.hs +62/−42
- gen/Network/Google/Resource/Compute/Routers/AggregatedList.hs +169/−0
- gen/Network/Google/Resource/Compute/Routers/Delete.hs +112/−0
- gen/Network/Google/Resource/Compute/Routers/Get.hs +115/−0
- gen/Network/Google/Resource/Compute/Routers/GetRouterStatus.hs +117/−0
- gen/Network/Google/Resource/Compute/Routers/Insert.hs +113/−0
- gen/Network/Google/Resource/Compute/Routers/List.hs +177/−0
- gen/Network/Google/Resource/Compute/Routers/Patch.hs +125/−0
- gen/Network/Google/Resource/Compute/Routers/Preview.hs +130/−0
- gen/Network/Google/Resource/Compute/Routers/Update.hs +125/−0
- gen/Network/Google/Resource/Compute/Routes/Get.hs +17/−17
- gen/Network/Google/Resource/Compute/Routes/Insert.hs +16/−18
- gen/Network/Google/Resource/Compute/Routes/List.hs +61/−42
- gen/Network/Google/Resource/Compute/SSLCertificates/List.hs +32/−15
- gen/Network/Google/Resource/Compute/Snapshots/List.hs +30/−14
- gen/Network/Google/Resource/Compute/Subnetworks/AggregatedList.hs +32/−15
- gen/Network/Google/Resource/Compute/Subnetworks/List.hs +33/−15
- gen/Network/Google/Resource/Compute/TargetHTTPProxies/List.hs +34/−15
- gen/Network/Google/Resource/Compute/TargetHTTPSProxies/List.hs +33/−15
- gen/Network/Google/Resource/Compute/TargetInstances/AggregatedList.hs +33/−15
- gen/Network/Google/Resource/Compute/TargetInstances/List.hs +33/−15
- gen/Network/Google/Resource/Compute/TargetPools/AggregatedList.hs +33/−15
- gen/Network/Google/Resource/Compute/TargetPools/List.hs +33/−15
- gen/Network/Google/Resource/Compute/TargetSSLProxies/Delete.hs +102/−0
- gen/Network/Google/Resource/Compute/TargetSSLProxies/Get.hs +106/−0
- gen/Network/Google/Resource/Compute/TargetSSLProxies/Insert.hs +104/−0
- gen/Network/Google/Resource/Compute/TargetSSLProxies/List.hs +173/−0
- gen/Network/Google/Resource/Compute/TargetSSLProxies/SetBackendService.hs +124/−0
- gen/Network/Google/Resource/Compute/TargetSSLProxies/SetProxyHeader.hs +122/−0
- gen/Network/Google/Resource/Compute/TargetSSLProxies/SetSSLCertificates.hs +125/−0
- gen/Network/Google/Resource/Compute/TargetVPNGateways/AggregatedList.hs +33/−15
- gen/Network/Google/Resource/Compute/TargetVPNGateways/List.hs +33/−15
- gen/Network/Google/Resource/Compute/URLMaps/InvalidateCache.hs +118/−0
- gen/Network/Google/Resource/Compute/URLMaps/List.hs +31/−14
- gen/Network/Google/Resource/Compute/URLMaps/Patch.hs +4/−4
- gen/Network/Google/Resource/Compute/URLMaps/Update.hs +4/−2
- gen/Network/Google/Resource/Compute/VPNTunnels/AggregatedList.hs +33/−15
- gen/Network/Google/Resource/Compute/VPNTunnels/List.hs +32/−14
- gen/Network/Google/Resource/Compute/ZoneOperations/List.hs +32/−14
- gen/Network/Google/Resource/Compute/Zones/List.hs +31/−14
- gogol-compute.cabal +27/−3
- src/.gitkeep +0/−0
README.md view
@@ -8,7 +8,7 @@ ## Version -`0.1.0`+`0.1.1` ## Description
gen/Network/Google/Compute.hs view
@@ -196,6 +196,24 @@ -- ** compute.globalOperations.list , module Network.Google.Resource.Compute.GlobalOperations.List + -- ** compute.healthChecks.delete+ , module Network.Google.Resource.Compute.HealthChecks.Delete++ -- ** compute.healthChecks.get+ , module Network.Google.Resource.Compute.HealthChecks.Get++ -- ** compute.healthChecks.insert+ , module Network.Google.Resource.Compute.HealthChecks.Insert++ -- ** compute.healthChecks.list+ , module Network.Google.Resource.Compute.HealthChecks.List++ -- ** compute.healthChecks.patch+ , module Network.Google.Resource.Compute.HealthChecks.Patch++ -- ** compute.healthChecks.update+ , module Network.Google.Resource.Compute.HealthChecks.Update+ -- ** compute.httpHealthChecks.delete , module Network.Google.Resource.Compute.HTTPHealthChecks.Delete @@ -376,6 +394,9 @@ -- ** compute.instances.start , module Network.Google.Resource.Compute.Instances.Start + -- ** compute.instances.startWithEncryptionKey+ , module Network.Google.Resource.Compute.Instances.StartWithEncryptionKey+ -- ** compute.instances.stop , module Network.Google.Resource.Compute.Instances.Stop @@ -433,6 +454,33 @@ -- ** compute.regions.list , module Network.Google.Resource.Compute.Regions.List + -- ** compute.routers.aggregatedList+ , module Network.Google.Resource.Compute.Routers.AggregatedList++ -- ** compute.routers.delete+ , module Network.Google.Resource.Compute.Routers.Delete++ -- ** compute.routers.get+ , module Network.Google.Resource.Compute.Routers.Get++ -- ** compute.routers.getRouterStatus+ , module Network.Google.Resource.Compute.Routers.GetRouterStatus++ -- ** compute.routers.insert+ , module Network.Google.Resource.Compute.Routers.Insert++ -- ** compute.routers.list+ , module Network.Google.Resource.Compute.Routers.List++ -- ** compute.routers.patch+ , module Network.Google.Resource.Compute.Routers.Patch++ -- ** compute.routers.preview+ , module Network.Google.Resource.Compute.Routers.Preview++ -- ** compute.routers.update+ , module Network.Google.Resource.Compute.Routers.Update+ -- ** compute.routes.delete , module Network.Google.Resource.Compute.Routes.Delete @@ -562,6 +610,27 @@ -- ** compute.targetPools.setBackup , module Network.Google.Resource.Compute.TargetPools.SetBackup + -- ** compute.targetSslProxies.delete+ , module Network.Google.Resource.Compute.TargetSSLProxies.Delete++ -- ** compute.targetSslProxies.get+ , module Network.Google.Resource.Compute.TargetSSLProxies.Get++ -- ** compute.targetSslProxies.insert+ , module Network.Google.Resource.Compute.TargetSSLProxies.Insert++ -- ** compute.targetSslProxies.list+ , module Network.Google.Resource.Compute.TargetSSLProxies.List++ -- ** compute.targetSslProxies.setBackendService+ , module Network.Google.Resource.Compute.TargetSSLProxies.SetBackendService++ -- ** compute.targetSslProxies.setProxyHeader+ , module Network.Google.Resource.Compute.TargetSSLProxies.SetProxyHeader++ -- ** compute.targetSslProxies.setSslCertificates+ , module Network.Google.Resource.Compute.TargetSSLProxies.SetSSLCertificates+ -- ** compute.targetVpnGateways.aggregatedList , module Network.Google.Resource.Compute.TargetVPNGateways.AggregatedList @@ -586,6 +655,9 @@ -- ** compute.urlMaps.insert , module Network.Google.Resource.Compute.URLMaps.Insert + -- ** compute.urlMaps.invalidateCache+ , module Network.Google.Resource.Compute.URLMaps.InvalidateCache+ -- ** compute.urlMaps.list , module Network.Google.Resource.Compute.URLMaps.List @@ -639,6 +711,18 @@ , thplSelfLink , thplId + -- ** RoutersScopedList+ , RoutersScopedList+ , routersScopedList+ , rslRouters+ , rslWarning++ -- ** RouterStatusResponse+ , RouterStatusResponse+ , routerStatusResponse+ , rsrKind+ , rsrResult+ -- ** AddressesScopedList , AddressesScopedList , addressesScopedList@@ -672,6 +756,15 @@ , diskTypeAggregatedListItems , dtaliAddtional + -- ** RouterAggregatedList+ , RouterAggregatedList+ , routerAggregatedList+ , ralNextPageToken+ , ralKind+ , ralItems+ , ralSelfLink+ , ralId+ -- ** FirewallList , FirewallList , firewallList@@ -702,6 +795,12 @@ , instancesSetMachineTypeRequest , ismtrMachineType + -- ** CustomerEncryptionKey+ , CustomerEncryptionKey+ , customerEncryptionKey+ , cekSha256+ , cekRawKey+ -- ** AutoscalerAggregatedListItems , AutoscalerAggregatedListItems , autoscalerAggregatedListItems@@ -732,8 +831,10 @@ , sDiskSizeGb , sSourceDiskId , sKind+ , sSourceDiskEncryptionKey , sStorageBytes , sSelfLink+ , sSnapshotEncryptionKey , sName , sCreationTimestamp , sId@@ -741,6 +842,13 @@ , sSourceDisk , sDescription + -- ** RouterStatus+ , RouterStatus+ , routerStatus+ , rsBGPPeerStatus+ , rsNetwork+ , rsBestRoutes+ -- ** AutoscalingPolicyCustomMetricUtilization , AutoscalingPolicyCustomMetricUtilization , autoscalingPolicyCustomMetricUtilization@@ -823,10 +931,12 @@ , Image , image , iStatus+ , iImageEncryptionKey , iDiskSizeGb , iSourceType , iSourceDiskId , iKind+ , iSourceDiskEncryptionKey , iArchiveSizeBytes , iFamily , iRawDisk@@ -889,6 +999,29 @@ , igmslWarning , igmslInstanceGroupManagers + -- ** HealthCheck+ , HealthCheck+ , healthCheck+ , hcHealthyThreshold+ , hcTCPHealthCheck+ , hcHTTP2HealthCheck+ , hcKind+ , hcSSLHealthCheck+ , hcSelfLink+ , hcCheckIntervalSec+ , hcName+ , hcCreationTimestamp+ , hcHTTPHealthCheck+ , hcId+ , hcType+ , hcTimeoutSec+ , hcDescription+ , hcUnhealthyThreshold+ , hcHTTPSHealthCheck++ -- ** TargetSSLProxyProxyHeader+ , TargetSSLProxyProxyHeader (..)+ -- ** DiskAggregatedList , DiskAggregatedList , diskAggregatedList@@ -993,6 +1126,9 @@ , oslwdiValue , oslwdiKey + -- ** BackendServiceSessionAffinity+ , BackendServiceSessionAffinity (..)+ -- ** TargetPool , TargetPool , targetPool@@ -1031,6 +1167,11 @@ -- ** OperationsScopedListWarningCode , OperationsScopedListWarningCode (..) + -- ** TargetSSLProxiesSetBackendServiceRequest+ , TargetSSLProxiesSetBackendServiceRequest+ , targetSSLProxiesSetBackendServiceRequest+ , tspsbsrService+ -- ** ForwardingRule , ForwardingRule , forwardingRule@@ -1083,6 +1224,7 @@ , pUsageExportLocation , pSelfLink , pName+ , pDefaultServiceAccount , pCreationTimestamp , pEnabledFeatures , pQuotas@@ -1134,6 +1276,7 @@ , dLastAttachTimestamp , dUsers , dSourceImage+ , dDiskEncryptionKey , dSizeGb , dKind , dLastDetachTimestamp@@ -1142,11 +1285,13 @@ , dName , dSourceImageId , dCreationTimestamp+ , dSourceImageEncryptionKey , dId , dLicenses , dOptions , dType , dDescription+ , dSourceSnapshotEncryptionKey , dSourceSnapshot -- ** DiskMoveRequest@@ -1180,14 +1325,27 @@ , igmName , igmCreationTimestamp , igmId+ , igmRegion , igmTargetPools , igmDescription , igmInstanceGroup , igmNamedPorts + -- ** TCPHealthCheck+ , TCPHealthCheck+ , tcpHealthCheck+ , thcResponse+ , thcProxyHeader+ , thcPortName+ , thcPort+ , thcRequest+ -- ** TargetPoolsScopedListWarningCode , TargetPoolsScopedListWarningCode (..) + -- ** SSLHealthCheckProxyHeader+ , SSLHealthCheckProxyHeader (..)+ -- ** TargetVPNGatewayStatus , TargetVPNGatewayStatus (..) @@ -1220,6 +1378,15 @@ , aslwCode , aslwMessage + -- ** HealthCheckList+ , HealthCheckList+ , healthCheckList+ , hclNextPageToken+ , hclKind+ , hclItems+ , hclSelfLink+ , hclId+ -- ** ManagedInstanceLastAttemptErrors , ManagedInstanceLastAttemptErrors , managedInstanceLastAttemptErrors@@ -1286,6 +1453,15 @@ , ipDescription , ipTags + -- ** HTTP2HealthCheck+ , HTTP2HealthCheck+ , hTTP2HealthCheck+ , httphcRequestPath+ , httphcHost+ , httphcProxyHeader+ , httphcPortName+ , httphcPort+ -- ** DiskTypesScopedListWarning , DiskTypesScopedListWarning , diskTypesScopedListWarning@@ -1302,6 +1478,7 @@ , adipSourceImage , adipDiskSizeGb , adipDiskName+ , adipSourceImageEncryptionKey , adipDiskType -- ** AddressesScopedListWarningDataItem@@ -1327,6 +1504,21 @@ , targetPoolsRemoveHealthCheckRequest , tprhcrHealthChecks + -- ** TargetSSLProxyList+ , TargetSSLProxyList+ , targetSSLProxyList+ , tsplNextPageToken+ , tsplKind+ , tsplItems+ , tsplSelfLink+ , tsplId++ -- ** CustomerEncryptionKeyProtectedDisk+ , CustomerEncryptionKeyProtectedDisk+ , customerEncryptionKeyProtectedDisk+ , cekpdDiskEncryptionKey+ , cekpdSource+ -- ** HealthStatusHealthState , HealthStatusHealthState (..) @@ -1351,6 +1543,30 @@ -- ** DeprecationStatusState , DeprecationStatusState (..) + -- ** Router+ , Router+ , router+ , rBGPPeers+ , rBGP+ , rKind+ , rNetwork+ , rInterfaces+ , rSelfLink+ , rName+ , rCreationTimestamp+ , rId+ , rRegion+ , rDescription++ -- ** RoutersScopedListWarningCode+ , RoutersScopedListWarningCode (..)++ -- ** RoutersScopedListWarningDataItem+ , RoutersScopedListWarningDataItem+ , routersScopedListWarningDataItem+ , rslwdiValue+ , rslwdiKey+ -- ** ManagedInstanceCurrentAction , ManagedInstanceCurrentAction (..) @@ -1395,6 +1611,13 @@ , nGatewayIPv4 , nDescription + -- ** RoutersScopedListWarning+ , RoutersScopedListWarning+ , routersScopedListWarning+ , rslwData+ , rslwCode+ , rslwMessage+ -- ** AccessConfigType , AccessConfigType (..) @@ -1421,6 +1644,15 @@ , ialSelfLink , ialId + -- ** SSLHealthCheck+ , SSLHealthCheck+ , sslHealthCheck+ , shcResponse+ , shcProxyHeader+ , shcPortName+ , shcPort+ , shcRequest+ -- ** Address , Address , address@@ -1448,11 +1680,21 @@ , zDescription , zDeprecated + -- ** RouterBGP+ , RouterBGP+ , routerBGP+ , rbASN+ -- ** InstanceGroupManagersRecreateInstancesRequest , InstanceGroupManagersRecreateInstancesRequest , instanceGroupManagersRecreateInstancesRequest , igmrirInstances + -- ** TargetSSLProxiesSetSSLCertificatesRequest+ , TargetSSLProxiesSetSSLCertificatesRequest+ , targetSSLProxiesSetSSLCertificatesRequest+ , tspsscrSSLCertificates+ -- ** InstancesScopedList , InstancesScopedList , instancesScopedList@@ -1484,22 +1726,22 @@ -- ** Route , Route , route- , rPriority- , rKind- , rNextHopGateway- , rNextHopNetwork- , rNetwork- , rWarnings- , rNextHopIP- , rDestRange- , rSelfLink- , rName- , rCreationTimestamp- , rId- , rNextHopVPNTunnel- , rDescription- , rTags- , rNextHopInstance+ , rouPriority+ , rouKind+ , rouNextHopGateway+ , rouNextHopNetwork+ , rouNetwork+ , rouWarnings+ , rouNextHopIP+ , rouDestRange+ , rouSelfLink+ , rouName+ , rouCreationTimestamp+ , rouId+ , rouNextHopVPNTunnel+ , rouDescription+ , rouTags+ , rouNextHopInstance -- ** TargetVPNGatewaysScopedListWarningDataItem , TargetVPNGatewaysScopedListWarningDataItem@@ -1526,6 +1768,28 @@ , itDescription , itProperties + -- ** RouterList+ , RouterList+ , routerList+ , rllNextPageToken+ , rllKind+ , rllItems+ , rllSelfLink+ , rllId++ -- ** TargetSSLProxy+ , TargetSSLProxy+ , targetSSLProxy+ , tspSSLCertificates+ , tspService+ , tspKind+ , tspSelfLink+ , tspName+ , tspCreationTimestamp+ , tspId+ , tspProxyHeader+ , tspDescription+ -- ** TargetVPNGateway , TargetVPNGateway , targetVPNGateway@@ -1564,6 +1828,20 @@ , scCertificate , scDescription + -- ** RouterStatusBGPPeerStatus+ , RouterStatusBGPPeerStatus+ , routerStatusBGPPeerStatus+ , rsbpsStatus+ , rsbpsIPAddress+ , rsbpsState+ , rsbpsPeerIPAddress+ , rsbpsUptime+ , rsbpsNumLearnedRoutes+ , rsbpsName+ , rsbpsUptimeSeconds+ , rsbpsAdvertisedRoutes+ , rsbpsLinkedVPNTunnel+ -- ** URLMapReference , URLMapReference , urlMapReference@@ -1600,6 +1878,16 @@ -- ** RegionStatus , RegionStatus (..) + -- ** RouterBGPPeer+ , RouterBGPPeer+ , routerBGPPeer+ , rbpIPAddress+ , rbpInterfaceName+ , rbpPeerIPAddress+ , rbpAdvertisedRoutePriority+ , rbpPeerASN+ , rbpName+ -- ** ManagedInstance , ManagedInstance , managedInstance@@ -1626,6 +1914,8 @@ , bBalancingMode , bMaxUtilization , bMaxRate+ , bMaxConnections+ , bMaxConnectionsPerInstance , bMaxRatePerInstance , bDescription , bCapacityScaler@@ -1637,6 +1927,9 @@ , tvgslwCode , tvgslwMessage + -- ** TargetSSLProxiesSetProxyHeaderRequestProxyHeader+ , TargetSSLProxiesSetProxyHeaderRequestProxyHeader (..)+ -- ** AddressList , AddressList , addressList@@ -1664,6 +1957,7 @@ , igmasNone , igmasCreating , igmasRefreshing+ , igmasCreatingWithoutRetries , igmasRecreating , igmasAbandoning @@ -1718,6 +2012,11 @@ , autSelfLink , autId + -- ** TargetSSLProxiesSetProxyHeaderRequest+ , TargetSSLProxiesSetProxyHeaderRequest+ , targetSSLProxiesSetProxyHeaderRequest+ , tspsphrProxyHeader+ -- ** VPNTunnelAggregatedList , VPNTunnelAggregatedList , vpnTunnelAggregatedList@@ -1730,6 +2029,7 @@ -- ** AttachedDisk , AttachedDisk , attachedDisk+ , adDiskEncryptionKey , adKind , adMode , adBoot@@ -1793,19 +2093,19 @@ -- ** HTTPHealthCheck , HTTPHealthCheck , hTTPHealthCheck- , httphcHealthyThreshold- , httphcKind- , httphcRequestPath- , httphcSelfLink- , httphcCheckIntervalSec- , httphcName- , httphcCreationTimestamp- , httphcId- , httphcHost- , httphcTimeoutSec- , httphcDescription- , httphcUnhealthyThreshold- , httphcPort+ , hHealthyThreshold+ , hKind+ , hRequestPath+ , hSelfLink+ , hCheckIntervalSec+ , hName+ , hCreationTimestamp+ , hId+ , hHost+ , hTimeoutSec+ , hDescription+ , hUnhealthyThreshold+ , hPort -- ** BackendServiceGroupHealth , BackendServiceGroupHealth@@ -1831,6 +2131,11 @@ , aalSelfLink , aalId + -- ** RouterAggregatedListItems+ , RouterAggregatedListItems+ , routerAggregatedListItems+ , raliAddtional+ -- ** AutoscalingPolicy , AutoscalingPolicy , autoscalingPolicy@@ -1853,6 +2158,9 @@ -- ** AttachedDiskInterface , AttachedDiskInterface (..) + -- ** HealthCheckType+ , HealthCheckType (..)+ -- ** ZoneStatus , ZoneStatus (..) @@ -1979,6 +2287,7 @@ -- ** MachineType , MachineType , machineType+ , mtIsSharedCPU , mtKind , mtImageSpaceGb , mtZone@@ -2051,6 +2360,7 @@ , aaCreationTimestamp , aaAutoscalingPolicy , aaId+ , aaRegion , aaDescription , aaTarget @@ -2066,6 +2376,9 @@ , targetVPNGatewayAggregatedListItems , tvgaliAddtional + -- ** RouterStatusBGPPeerStatusStatus+ , RouterStatusBGPPeerStatusStatus (..)+ -- ** TargetPoolsScopedListWarning , TargetPoolsScopedListWarning , targetPoolsScopedListWarning@@ -2103,7 +2416,9 @@ , vtLocalTrafficSelector , vtKind , vtPeerIP+ , vtRouter , vtTargetVPNGateway+ , vtRemoteTrafficSelector , vtSelfLink , vtSharedSecret , vtName@@ -2229,6 +2544,9 @@ , managedInstanceLastAttempt , milaErrors + -- ** HTTP2HealthCheckProxyHeader+ , HTTP2HealthCheckProxyHeader (..)+ -- ** BackendServiceList , BackendServiceList , backendServiceList@@ -2306,12 +2624,23 @@ , iiCreationTimestamp , iiSubnetwork , iiId+ , iiRegion , iiDescription , iiNamedPorts + -- ** RouterInterface+ , RouterInterface+ , routerInterface+ , riName+ , riIPRange+ , riLinkedVPNTunnel+ -- ** InstanceWithNamedPortsStatus , InstanceWithNamedPortsStatus (..) + -- ** TCPHealthCheckProxyHeader+ , TCPHealthCheckProxyHeader (..)+ -- ** SnapshotList , SnapshotList , snapshotList@@ -2363,6 +2692,16 @@ , thpId , thpDescription + -- ** ConnectionDraining+ , ConnectionDraining+ , connectionDraining+ , cdDrainingTimeoutSec++ -- ** CacheInvalidationRule+ , CacheInvalidationRule+ , cacheInvalidationRule+ , cirPath+ -- ** TargetVPNGatewaysScopedList , TargetVPNGatewaysScopedList , targetVPNGatewaysScopedList@@ -2396,8 +2735,11 @@ -- ** BackendService , BackendService , backendService+ , bsSessionAffinity , bsBackends+ , bsAffinityCookieTtlSec , bsKind+ , bsEnableCDN , bsFingerprint , bsProtocol , bsSelfLink@@ -2405,6 +2747,7 @@ , bsCreationTimestamp , bsId , bsRegion+ , bsConnectionDraining , bsTimeoutSec , bsDescription , bsPortName@@ -2426,6 +2769,11 @@ , igslWarning , igslInstanceGroups + -- ** InstancesStartWithEncryptionKeyRequest+ , InstancesStartWithEncryptionKeyRequest+ , instancesStartWithEncryptionKeyRequest+ , iswekrDisks+ -- ** HTTPSHealthCheck , HTTPSHealthCheck , httpsHealthCheck@@ -2481,6 +2829,11 @@ , umtHost , umtDescription + -- ** RoutersPreviewResponse+ , RoutersPreviewResponse+ , routersPreviewResponse+ , rprResource+ -- ** Instance , Instance , instance'@@ -2568,6 +2921,12 @@ import Network.Google.Resource.Compute.GlobalOperations.Delete import Network.Google.Resource.Compute.GlobalOperations.Get import Network.Google.Resource.Compute.GlobalOperations.List+import Network.Google.Resource.Compute.HealthChecks.Delete+import Network.Google.Resource.Compute.HealthChecks.Get+import Network.Google.Resource.Compute.HealthChecks.Insert+import Network.Google.Resource.Compute.HealthChecks.List+import Network.Google.Resource.Compute.HealthChecks.Patch+import Network.Google.Resource.Compute.HealthChecks.Update import Network.Google.Resource.Compute.HTTPHealthChecks.Delete import Network.Google.Resource.Compute.HTTPHealthChecks.Get import Network.Google.Resource.Compute.HTTPHealthChecks.Insert@@ -2624,6 +2983,7 @@ import Network.Google.Resource.Compute.Instances.SetScheduling import Network.Google.Resource.Compute.Instances.SetTags import Network.Google.Resource.Compute.Instances.Start+import Network.Google.Resource.Compute.Instances.StartWithEncryptionKey import Network.Google.Resource.Compute.Instances.Stop import Network.Google.Resource.Compute.InstanceTemplates.Delete import Network.Google.Resource.Compute.InstanceTemplates.Get@@ -2647,6 +3007,15 @@ import Network.Google.Resource.Compute.RegionOperations.List import Network.Google.Resource.Compute.Regions.Get import Network.Google.Resource.Compute.Regions.List+import Network.Google.Resource.Compute.Routers.AggregatedList+import Network.Google.Resource.Compute.Routers.Delete+import Network.Google.Resource.Compute.Routers.Get+import Network.Google.Resource.Compute.Routers.GetRouterStatus+import Network.Google.Resource.Compute.Routers.Insert+import Network.Google.Resource.Compute.Routers.List+import Network.Google.Resource.Compute.Routers.Patch+import Network.Google.Resource.Compute.Routers.Preview+import Network.Google.Resource.Compute.Routers.Update import Network.Google.Resource.Compute.Routes.Delete import Network.Google.Resource.Compute.Routes.Get import Network.Google.Resource.Compute.Routes.Insert@@ -2690,6 +3059,13 @@ import Network.Google.Resource.Compute.TargetPools.RemoveHealthCheck import Network.Google.Resource.Compute.TargetPools.RemoveInstance import Network.Google.Resource.Compute.TargetPools.SetBackup+import Network.Google.Resource.Compute.TargetSSLProxies.Delete+import Network.Google.Resource.Compute.TargetSSLProxies.Get+import Network.Google.Resource.Compute.TargetSSLProxies.Insert+import Network.Google.Resource.Compute.TargetSSLProxies.List+import Network.Google.Resource.Compute.TargetSSLProxies.SetBackendService+import Network.Google.Resource.Compute.TargetSSLProxies.SetProxyHeader+import Network.Google.Resource.Compute.TargetSSLProxies.SetSSLCertificates import Network.Google.Resource.Compute.TargetVPNGateways.AggregatedList import Network.Google.Resource.Compute.TargetVPNGateways.Delete import Network.Google.Resource.Compute.TargetVPNGateways.Get@@ -2698,6 +3074,7 @@ import Network.Google.Resource.Compute.URLMaps.Delete import Network.Google.Resource.Compute.URLMaps.Get import Network.Google.Resource.Compute.URLMaps.Insert+import Network.Google.Resource.Compute.URLMaps.InvalidateCache import Network.Google.Resource.Compute.URLMaps.List import Network.Google.Resource.Compute.URLMaps.Patch import Network.Google.Resource.Compute.URLMaps.Update@@ -2728,6 +3105,7 @@ :<|> URLMapsListResource :<|> URLMapsPatchResource :<|> URLMapsGetResource+ :<|> URLMapsInvalidateCacheResource :<|> URLMapsValidateResource :<|> URLMapsDeleteResource :<|> URLMapsUpdateResource@@ -2759,6 +3137,15 @@ :<|> NetworksListResource :<|> NetworksGetResource :<|> NetworksDeleteResource+ :<|> RoutersAggregatedListResource+ :<|> RoutersInsertResource+ :<|> RoutersListResource+ :<|> RoutersPatchResource+ :<|> RoutersGetResource+ :<|> RoutersPreviewResource+ :<|> RoutersDeleteResource+ :<|> RoutersUpdateResource+ :<|> RoutersGetRouterStatusResource :<|> AddressesAggregatedListResource :<|> AddressesInsertResource :<|> AddressesListResource@@ -2810,6 +3197,13 @@ :<|> SnapshotsListResource :<|> SnapshotsGetResource :<|> SnapshotsDeleteResource+ :<|> TargetSSLProxiesInsertResource+ :<|> TargetSSLProxiesListResource+ :<|> TargetSSLProxiesSetSSLCertificatesResource+ :<|> TargetSSLProxiesGetResource+ :<|> TargetSSLProxiesSetBackendServiceResource+ :<|> TargetSSLProxiesDeleteResource+ :<|> TargetSSLProxiesSetProxyHeaderResource :<|> HTTPSHealthChecksInsertResource :<|> HTTPSHealthChecksListResource :<|> HTTPSHealthChecksPatchResource@@ -2827,6 +3221,7 @@ :<|> InstancesDeleteAccessConfigResource :<|> InstancesSetMetadataResource :<|> InstancesSetSchedulingResource+ :<|> InstancesStartWithEncryptionKeyResource :<|> InstancesResetResource :<|> InstancesStopResource :<|> InstancesGetSerialPortOutputResource@@ -2917,3 +3312,9 @@ :<|> TargetPoolsAddInstanceResource :<|> TargetPoolsAddHealthCheckResource :<|> TargetPoolsDeleteResource+ :<|> HealthChecksInsertResource+ :<|> HealthChecksListResource+ :<|> HealthChecksPatchResource+ :<|> HealthChecksGetResource+ :<|> HealthChecksDeleteResource+ :<|> HealthChecksUpdateResource
gen/Network/Google/Compute/Types.hs view
@@ -36,6 +36,18 @@ , thplSelfLink , thplId + -- * RoutersScopedList+ , RoutersScopedList+ , routersScopedList+ , rslRouters+ , rslWarning++ -- * RouterStatusResponse+ , RouterStatusResponse+ , routerStatusResponse+ , rsrKind+ , rsrResult+ -- * AddressesScopedList , AddressesScopedList , addressesScopedList@@ -69,6 +81,15 @@ , diskTypeAggregatedListItems , dtaliAddtional + -- * RouterAggregatedList+ , RouterAggregatedList+ , routerAggregatedList+ , ralNextPageToken+ , ralKind+ , ralItems+ , ralSelfLink+ , ralId+ -- * FirewallList , FirewallList , firewallList@@ -99,6 +120,12 @@ , instancesSetMachineTypeRequest , ismtrMachineType + -- * CustomerEncryptionKey+ , CustomerEncryptionKey+ , customerEncryptionKey+ , cekSha256+ , cekRawKey+ -- * AutoscalerAggregatedListItems , AutoscalerAggregatedListItems , autoscalerAggregatedListItems@@ -129,8 +156,10 @@ , sDiskSizeGb , sSourceDiskId , sKind+ , sSourceDiskEncryptionKey , sStorageBytes , sSelfLink+ , sSnapshotEncryptionKey , sName , sCreationTimestamp , sId@@ -138,6 +167,13 @@ , sSourceDisk , sDescription + -- * RouterStatus+ , RouterStatus+ , routerStatus+ , rsBGPPeerStatus+ , rsNetwork+ , rsBestRoutes+ -- * AutoscalingPolicyCustomMetricUtilization , AutoscalingPolicyCustomMetricUtilization , autoscalingPolicyCustomMetricUtilization@@ -220,10 +256,12 @@ , Image , image , iStatus+ , iImageEncryptionKey , iDiskSizeGb , iSourceType , iSourceDiskId , iKind+ , iSourceDiskEncryptionKey , iArchiveSizeBytes , iFamily , iRawDisk@@ -286,6 +324,29 @@ , igmslWarning , igmslInstanceGroupManagers + -- * HealthCheck+ , HealthCheck+ , healthCheck+ , hcHealthyThreshold+ , hcTCPHealthCheck+ , hcHTTP2HealthCheck+ , hcKind+ , hcSSLHealthCheck+ , hcSelfLink+ , hcCheckIntervalSec+ , hcName+ , hcCreationTimestamp+ , hcHTTPHealthCheck+ , hcId+ , hcType+ , hcTimeoutSec+ , hcDescription+ , hcUnhealthyThreshold+ , hcHTTPSHealthCheck++ -- * TargetSSLProxyProxyHeader+ , TargetSSLProxyProxyHeader (..)+ -- * DiskAggregatedList , DiskAggregatedList , diskAggregatedList@@ -390,6 +451,9 @@ , oslwdiValue , oslwdiKey + -- * BackendServiceSessionAffinity+ , BackendServiceSessionAffinity (..)+ -- * TargetPool , TargetPool , targetPool@@ -428,6 +492,11 @@ -- * OperationsScopedListWarningCode , OperationsScopedListWarningCode (..) + -- * TargetSSLProxiesSetBackendServiceRequest+ , TargetSSLProxiesSetBackendServiceRequest+ , targetSSLProxiesSetBackendServiceRequest+ , tspsbsrService+ -- * ForwardingRule , ForwardingRule , forwardingRule@@ -480,6 +549,7 @@ , pUsageExportLocation , pSelfLink , pName+ , pDefaultServiceAccount , pCreationTimestamp , pEnabledFeatures , pQuotas@@ -531,6 +601,7 @@ , dLastAttachTimestamp , dUsers , dSourceImage+ , dDiskEncryptionKey , dSizeGb , dKind , dLastDetachTimestamp@@ -539,11 +610,13 @@ , dName , dSourceImageId , dCreationTimestamp+ , dSourceImageEncryptionKey , dId , dLicenses , dOptions , dType , dDescription+ , dSourceSnapshotEncryptionKey , dSourceSnapshot -- * DiskMoveRequest@@ -577,14 +650,27 @@ , igmName , igmCreationTimestamp , igmId+ , igmRegion , igmTargetPools , igmDescription , igmInstanceGroup , igmNamedPorts + -- * TCPHealthCheck+ , TCPHealthCheck+ , tcpHealthCheck+ , thcResponse+ , thcProxyHeader+ , thcPortName+ , thcPort+ , thcRequest+ -- * TargetPoolsScopedListWarningCode , TargetPoolsScopedListWarningCode (..) + -- * SSLHealthCheckProxyHeader+ , SSLHealthCheckProxyHeader (..)+ -- * TargetVPNGatewayStatus , TargetVPNGatewayStatus (..) @@ -617,6 +703,15 @@ , aslwCode , aslwMessage + -- * HealthCheckList+ , HealthCheckList+ , healthCheckList+ , hclNextPageToken+ , hclKind+ , hclItems+ , hclSelfLink+ , hclId+ -- * ManagedInstanceLastAttemptErrors , ManagedInstanceLastAttemptErrors , managedInstanceLastAttemptErrors@@ -683,6 +778,15 @@ , ipDescription , ipTags + -- * HTTP2HealthCheck+ , HTTP2HealthCheck+ , hTTP2HealthCheck+ , httphcRequestPath+ , httphcHost+ , httphcProxyHeader+ , httphcPortName+ , httphcPort+ -- * DiskTypesScopedListWarning , DiskTypesScopedListWarning , diskTypesScopedListWarning@@ -699,6 +803,7 @@ , adipSourceImage , adipDiskSizeGb , adipDiskName+ , adipSourceImageEncryptionKey , adipDiskType -- * AddressesScopedListWarningDataItem@@ -724,6 +829,21 @@ , targetPoolsRemoveHealthCheckRequest , tprhcrHealthChecks + -- * TargetSSLProxyList+ , TargetSSLProxyList+ , targetSSLProxyList+ , tsplNextPageToken+ , tsplKind+ , tsplItems+ , tsplSelfLink+ , tsplId++ -- * CustomerEncryptionKeyProtectedDisk+ , CustomerEncryptionKeyProtectedDisk+ , customerEncryptionKeyProtectedDisk+ , cekpdDiskEncryptionKey+ , cekpdSource+ -- * HealthStatusHealthState , HealthStatusHealthState (..) @@ -748,6 +868,30 @@ -- * DeprecationStatusState , DeprecationStatusState (..) + -- * Router+ , Router+ , router+ , rBGPPeers+ , rBGP+ , rKind+ , rNetwork+ , rInterfaces+ , rSelfLink+ , rName+ , rCreationTimestamp+ , rId+ , rRegion+ , rDescription++ -- * RoutersScopedListWarningCode+ , RoutersScopedListWarningCode (..)++ -- * RoutersScopedListWarningDataItem+ , RoutersScopedListWarningDataItem+ , routersScopedListWarningDataItem+ , rslwdiValue+ , rslwdiKey+ -- * ManagedInstanceCurrentAction , ManagedInstanceCurrentAction (..) @@ -792,6 +936,13 @@ , nGatewayIPv4 , nDescription + -- * RoutersScopedListWarning+ , RoutersScopedListWarning+ , routersScopedListWarning+ , rslwData+ , rslwCode+ , rslwMessage+ -- * AccessConfigType , AccessConfigType (..) @@ -818,6 +969,15 @@ , ialSelfLink , ialId + -- * SSLHealthCheck+ , SSLHealthCheck+ , sslHealthCheck+ , shcResponse+ , shcProxyHeader+ , shcPortName+ , shcPort+ , shcRequest+ -- * Address , Address , address@@ -845,11 +1005,21 @@ , zDescription , zDeprecated + -- * RouterBGP+ , RouterBGP+ , routerBGP+ , rbASN+ -- * InstanceGroupManagersRecreateInstancesRequest , InstanceGroupManagersRecreateInstancesRequest , instanceGroupManagersRecreateInstancesRequest , igmrirInstances + -- * TargetSSLProxiesSetSSLCertificatesRequest+ , TargetSSLProxiesSetSSLCertificatesRequest+ , targetSSLProxiesSetSSLCertificatesRequest+ , tspsscrSSLCertificates+ -- * InstancesScopedList , InstancesScopedList , instancesScopedList@@ -881,22 +1051,22 @@ -- * Route , Route , route- , rPriority- , rKind- , rNextHopGateway- , rNextHopNetwork- , rNetwork- , rWarnings- , rNextHopIP- , rDestRange- , rSelfLink- , rName- , rCreationTimestamp- , rId- , rNextHopVPNTunnel- , rDescription- , rTags- , rNextHopInstance+ , rouPriority+ , rouKind+ , rouNextHopGateway+ , rouNextHopNetwork+ , rouNetwork+ , rouWarnings+ , rouNextHopIP+ , rouDestRange+ , rouSelfLink+ , rouName+ , rouCreationTimestamp+ , rouId+ , rouNextHopVPNTunnel+ , rouDescription+ , rouTags+ , rouNextHopInstance -- * TargetVPNGatewaysScopedListWarningDataItem , TargetVPNGatewaysScopedListWarningDataItem@@ -923,6 +1093,28 @@ , itDescription , itProperties + -- * RouterList+ , RouterList+ , routerList+ , rllNextPageToken+ , rllKind+ , rllItems+ , rllSelfLink+ , rllId++ -- * TargetSSLProxy+ , TargetSSLProxy+ , targetSSLProxy+ , tspSSLCertificates+ , tspService+ , tspKind+ , tspSelfLink+ , tspName+ , tspCreationTimestamp+ , tspId+ , tspProxyHeader+ , tspDescription+ -- * TargetVPNGateway , TargetVPNGateway , targetVPNGateway@@ -961,6 +1153,20 @@ , scCertificate , scDescription + -- * RouterStatusBGPPeerStatus+ , RouterStatusBGPPeerStatus+ , routerStatusBGPPeerStatus+ , rsbpsStatus+ , rsbpsIPAddress+ , rsbpsState+ , rsbpsPeerIPAddress+ , rsbpsUptime+ , rsbpsNumLearnedRoutes+ , rsbpsName+ , rsbpsUptimeSeconds+ , rsbpsAdvertisedRoutes+ , rsbpsLinkedVPNTunnel+ -- * URLMapReference , URLMapReference , urlMapReference@@ -997,6 +1203,16 @@ -- * RegionStatus , RegionStatus (..) + -- * RouterBGPPeer+ , RouterBGPPeer+ , routerBGPPeer+ , rbpIPAddress+ , rbpInterfaceName+ , rbpPeerIPAddress+ , rbpAdvertisedRoutePriority+ , rbpPeerASN+ , rbpName+ -- * ManagedInstance , ManagedInstance , managedInstance@@ -1023,6 +1239,8 @@ , bBalancingMode , bMaxUtilization , bMaxRate+ , bMaxConnections+ , bMaxConnectionsPerInstance , bMaxRatePerInstance , bDescription , bCapacityScaler@@ -1034,6 +1252,9 @@ , tvgslwCode , tvgslwMessage + -- * TargetSSLProxiesSetProxyHeaderRequestProxyHeader+ , TargetSSLProxiesSetProxyHeaderRequestProxyHeader (..)+ -- * AddressList , AddressList , addressList@@ -1061,6 +1282,7 @@ , igmasNone , igmasCreating , igmasRefreshing+ , igmasCreatingWithoutRetries , igmasRecreating , igmasAbandoning @@ -1115,6 +1337,11 @@ , autSelfLink , autId + -- * TargetSSLProxiesSetProxyHeaderRequest+ , TargetSSLProxiesSetProxyHeaderRequest+ , targetSSLProxiesSetProxyHeaderRequest+ , tspsphrProxyHeader+ -- * VPNTunnelAggregatedList , VPNTunnelAggregatedList , vpnTunnelAggregatedList@@ -1127,6 +1354,7 @@ -- * AttachedDisk , AttachedDisk , attachedDisk+ , adDiskEncryptionKey , adKind , adMode , adBoot@@ -1190,19 +1418,19 @@ -- * HTTPHealthCheck , HTTPHealthCheck , hTTPHealthCheck- , httphcHealthyThreshold- , httphcKind- , httphcRequestPath- , httphcSelfLink- , httphcCheckIntervalSec- , httphcName- , httphcCreationTimestamp- , httphcId- , httphcHost- , httphcTimeoutSec- , httphcDescription- , httphcUnhealthyThreshold- , httphcPort+ , hHealthyThreshold+ , hKind+ , hRequestPath+ , hSelfLink+ , hCheckIntervalSec+ , hName+ , hCreationTimestamp+ , hId+ , hHost+ , hTimeoutSec+ , hDescription+ , hUnhealthyThreshold+ , hPort -- * BackendServiceGroupHealth , BackendServiceGroupHealth@@ -1228,6 +1456,11 @@ , aalSelfLink , aalId + -- * RouterAggregatedListItems+ , RouterAggregatedListItems+ , routerAggregatedListItems+ , raliAddtional+ -- * AutoscalingPolicy , AutoscalingPolicy , autoscalingPolicy@@ -1250,6 +1483,9 @@ -- * AttachedDiskInterface , AttachedDiskInterface (..) + -- * HealthCheckType+ , HealthCheckType (..)+ -- * ZoneStatus , ZoneStatus (..) @@ -1376,6 +1612,7 @@ -- * MachineType , MachineType , machineType+ , mtIsSharedCPU , mtKind , mtImageSpaceGb , mtZone@@ -1448,6 +1685,7 @@ , aaCreationTimestamp , aaAutoscalingPolicy , aaId+ , aaRegion , aaDescription , aaTarget @@ -1463,6 +1701,9 @@ , targetVPNGatewayAggregatedListItems , tvgaliAddtional + -- * RouterStatusBGPPeerStatusStatus+ , RouterStatusBGPPeerStatusStatus (..)+ -- * TargetPoolsScopedListWarning , TargetPoolsScopedListWarning , targetPoolsScopedListWarning@@ -1500,7 +1741,9 @@ , vtLocalTrafficSelector , vtKind , vtPeerIP+ , vtRouter , vtTargetVPNGateway+ , vtRemoteTrafficSelector , vtSelfLink , vtSharedSecret , vtName@@ -1626,6 +1869,9 @@ , managedInstanceLastAttempt , milaErrors + -- * HTTP2HealthCheckProxyHeader+ , HTTP2HealthCheckProxyHeader (..)+ -- * BackendServiceList , BackendServiceList , backendServiceList@@ -1703,12 +1949,23 @@ , iiCreationTimestamp , iiSubnetwork , iiId+ , iiRegion , iiDescription , iiNamedPorts + -- * RouterInterface+ , RouterInterface+ , routerInterface+ , riName+ , riIPRange+ , riLinkedVPNTunnel+ -- * InstanceWithNamedPortsStatus , InstanceWithNamedPortsStatus (..) + -- * TCPHealthCheckProxyHeader+ , TCPHealthCheckProxyHeader (..)+ -- * SnapshotList , SnapshotList , snapshotList@@ -1760,6 +2017,16 @@ , thpId , thpDescription + -- * ConnectionDraining+ , ConnectionDraining+ , connectionDraining+ , cdDrainingTimeoutSec++ -- * CacheInvalidationRule+ , CacheInvalidationRule+ , cacheInvalidationRule+ , cirPath+ -- * TargetVPNGatewaysScopedList , TargetVPNGatewaysScopedList , targetVPNGatewaysScopedList@@ -1793,8 +2060,11 @@ -- * BackendService , BackendService , backendService+ , bsSessionAffinity , bsBackends+ , bsAffinityCookieTtlSec , bsKind+ , bsEnableCDN , bsFingerprint , bsProtocol , bsSelfLink@@ -1802,6 +2072,7 @@ , bsCreationTimestamp , bsId , bsRegion+ , bsConnectionDraining , bsTimeoutSec , bsDescription , bsPortName@@ -1823,6 +2094,11 @@ , igslWarning , igslInstanceGroups + -- * InstancesStartWithEncryptionKeyRequest+ , InstancesStartWithEncryptionKeyRequest+ , instancesStartWithEncryptionKeyRequest+ , iswekrDisks+ -- * HTTPSHealthCheck , HTTPSHealthCheck , httpsHealthCheck@@ -1877,6 +2153,11 @@ , umtService , umtHost , umtDescription++ -- * RoutersPreviewResponse+ , RoutersPreviewResponse+ , routersPreviewResponse+ , rprResource -- * Instance , Instance
gen/Network/Google/Compute/Types/Product.hs view
@@ -109,16599 +109,19124 @@ ("id" .=) <$> _thplId]) ----- /See:/ 'addressesScopedList' smart constructor.-data AddressesScopedList = AddressesScopedList'- { _aslAddresses :: !(Maybe [Address])- , _aslWarning :: !(Maybe AddressesScopedListWarning)- } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'AddressesScopedList' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'aslAddresses'------ * 'aslWarning'-addressesScopedList- :: AddressesScopedList-addressesScopedList =- AddressesScopedList'- { _aslAddresses = Nothing- , _aslWarning = Nothing- }---- | [Output Only] List of addresses contained in this scope.-aslAddresses :: Lens' AddressesScopedList [Address]-aslAddresses- = lens _aslAddresses (\ s a -> s{_aslAddresses = a})- . _Default- . _Coerce---- | [Output Only] Informational warning which replaces the list of addresses--- when the list is empty.-aslWarning :: Lens' AddressesScopedList (Maybe AddressesScopedListWarning)-aslWarning- = lens _aslWarning (\ s a -> s{_aslWarning = a})--instance FromJSON AddressesScopedList where- parseJSON- = withObject "AddressesScopedList"- (\ o ->- AddressesScopedList' <$>- (o .:? "addresses" .!= mempty) <*> (o .:? "warning"))--instance ToJSON AddressesScopedList where- toJSON AddressesScopedList'{..}- = object- (catMaybes- [("addresses" .=) <$> _aslAddresses,- ("warning" .=) <$> _aslWarning])------- /See:/ 'operationWarningsItemDataItem' smart constructor.-data OperationWarningsItemDataItem = OperationWarningsItemDataItem'- { _owidiValue :: !(Maybe Text)- , _owidiKey :: !(Maybe Text)- } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'OperationWarningsItemDataItem' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'owidiValue'------ * 'owidiKey'-operationWarningsItemDataItem- :: OperationWarningsItemDataItem-operationWarningsItemDataItem =- OperationWarningsItemDataItem'- { _owidiValue = Nothing- , _owidiKey = Nothing- }---- | [Output Only] A warning data value corresponding to the key.-owidiValue :: Lens' OperationWarningsItemDataItem (Maybe Text)-owidiValue- = lens _owidiValue (\ s a -> s{_owidiValue = a})---- | [Output Only] A key that provides more detail on the warning being--- returned. For example, for warnings where there are no results in a list--- request for a particular zone, this key might be scope and the key value--- might be the zone name. Other examples might be a key indicating a--- deprecated resource and a suggested replacement, or a warning about--- invalid network settings (for example, if an instance attempts to--- perform IP forwarding but is not enabled for IP forwarding).-owidiKey :: Lens' OperationWarningsItemDataItem (Maybe Text)-owidiKey = lens _owidiKey (\ s a -> s{_owidiKey = a})--instance FromJSON OperationWarningsItemDataItem where- parseJSON- = withObject "OperationWarningsItemDataItem"- (\ o ->- OperationWarningsItemDataItem' <$>- (o .:? "value") <*> (o .:? "key"))--instance ToJSON OperationWarningsItemDataItem where- toJSON OperationWarningsItemDataItem'{..}- = object- (catMaybes- [("value" .=) <$> _owidiValue,- ("key" .=) <$> _owidiKey])------- /See:/ 'instanceGroupManagersAbandonInstancesRequest' smart constructor.-newtype InstanceGroupManagersAbandonInstancesRequest = InstanceGroupManagersAbandonInstancesRequest'- { _igmairInstances :: Maybe [Text]- } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'InstanceGroupManagersAbandonInstancesRequest' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'igmairInstances'-instanceGroupManagersAbandonInstancesRequest- :: InstanceGroupManagersAbandonInstancesRequest-instanceGroupManagersAbandonInstancesRequest =- InstanceGroupManagersAbandonInstancesRequest'- { _igmairInstances = Nothing- }---- | The URL for one or more instances to abandon from the managed instance--- group.-igmairInstances :: Lens' InstanceGroupManagersAbandonInstancesRequest [Text]-igmairInstances- = lens _igmairInstances- (\ s a -> s{_igmairInstances = a})- . _Default- . _Coerce--instance FromJSON- InstanceGroupManagersAbandonInstancesRequest where- parseJSON- = withObject- "InstanceGroupManagersAbandonInstancesRequest"- (\ o ->- InstanceGroupManagersAbandonInstancesRequest' <$>- (o .:? "instances" .!= mempty))--instance ToJSON- InstanceGroupManagersAbandonInstancesRequest where- toJSON- InstanceGroupManagersAbandonInstancesRequest'{..}- = object- (catMaybes [("instances" .=) <$> _igmairInstances])---- | [Output Only] A map of scoped machine type lists.------ /See:/ 'machineTypeAggregatedListItems' smart constructor.-newtype MachineTypeAggregatedListItems = MachineTypeAggregatedListItems'- { _mtaliAddtional :: HashMap Text MachineTypesScopedList- } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'MachineTypeAggregatedListItems' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'mtaliAddtional'-machineTypeAggregatedListItems- :: HashMap Text MachineTypesScopedList -- ^ 'mtaliAddtional'- -> MachineTypeAggregatedListItems-machineTypeAggregatedListItems pMtaliAddtional_ =- MachineTypeAggregatedListItems'- { _mtaliAddtional = _Coerce # pMtaliAddtional_- }---- | [Output Only] Name of the scope containing this set of machine types.-mtaliAddtional :: Lens' MachineTypeAggregatedListItems (HashMap Text MachineTypesScopedList)-mtaliAddtional- = lens _mtaliAddtional- (\ s a -> s{_mtaliAddtional = a})- . _Coerce--instance FromJSON MachineTypeAggregatedListItems- where- parseJSON- = withObject "MachineTypeAggregatedListItems"- (\ o ->- MachineTypeAggregatedListItems' <$>- (parseJSONObject o))--instance ToJSON MachineTypeAggregatedListItems where- toJSON = toJSON . _mtaliAddtional---- | [Output Only] A map of scoped disk type lists.------ /See:/ 'diskTypeAggregatedListItems' smart constructor.-newtype DiskTypeAggregatedListItems = DiskTypeAggregatedListItems'- { _dtaliAddtional :: HashMap Text DiskTypesScopedList- } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'DiskTypeAggregatedListItems' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'dtaliAddtional'-diskTypeAggregatedListItems- :: HashMap Text DiskTypesScopedList -- ^ 'dtaliAddtional'- -> DiskTypeAggregatedListItems-diskTypeAggregatedListItems pDtaliAddtional_ =- DiskTypeAggregatedListItems'- { _dtaliAddtional = _Coerce # pDtaliAddtional_- }---- | [Output Only] Name of the scope containing this set of disk types.-dtaliAddtional :: Lens' DiskTypeAggregatedListItems (HashMap Text DiskTypesScopedList)-dtaliAddtional- = lens _dtaliAddtional- (\ s a -> s{_dtaliAddtional = a})- . _Coerce--instance FromJSON DiskTypeAggregatedListItems where- parseJSON- = withObject "DiskTypeAggregatedListItems"- (\ o ->- DiskTypeAggregatedListItems' <$> (parseJSONObject o))--instance ToJSON DiskTypeAggregatedListItems where- toJSON = toJSON . _dtaliAddtional---- | Contains a list of firewalls.------ /See:/ 'firewallList' smart constructor.-data FirewallList = FirewallList'- { _flNextPageToken :: !(Maybe Text)- , _flKind :: !Text- , _flItems :: !(Maybe [Firewall])- , _flSelfLink :: !(Maybe Text)- , _flId :: !(Maybe Text)- } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'FirewallList' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'flNextPageToken'------ * 'flKind'------ * 'flItems'------ * 'flSelfLink'------ * 'flId'-firewallList- :: FirewallList-firewallList =- FirewallList'- { _flNextPageToken = Nothing- , _flKind = "compute#firewallList"- , _flItems = Nothing- , _flSelfLink = Nothing- , _flId = Nothing- }---- | [Output Only] This token allows you to get the next page of results for--- list requests. If the number of results is larger than maxResults, use--- the nextPageToken as a value for the query parameter pageToken in the--- next list request. Subsequent list requests will have their own--- nextPageToken to continue paging through the results.-flNextPageToken :: Lens' FirewallList (Maybe Text)-flNextPageToken- = lens _flNextPageToken- (\ s a -> s{_flNextPageToken = a})---- | [Output Only] Type of resource. Always compute#firewallList for lists of--- firewalls.-flKind :: Lens' FirewallList Text-flKind = lens _flKind (\ s a -> s{_flKind = a})---- | [Output Only] A list of Firewall resources.-flItems :: Lens' FirewallList [Firewall]-flItems- = lens _flItems (\ s a -> s{_flItems = a}) . _Default- . _Coerce---- | [Output Only] Server-defined URL for this resource.-flSelfLink :: Lens' FirewallList (Maybe Text)-flSelfLink- = lens _flSelfLink (\ s a -> s{_flSelfLink = a})---- | [Output Only] The unique identifier for the resource. This identifier is--- defined by the server.-flId :: Lens' FirewallList (Maybe Text)-flId = lens _flId (\ s a -> s{_flId = a})--instance FromJSON FirewallList where- parseJSON- = withObject "FirewallList"- (\ o ->- FirewallList' <$>- (o .:? "nextPageToken") <*>- (o .:? "kind" .!= "compute#firewallList")- <*> (o .:? "items" .!= mempty)- <*> (o .:? "selfLink")- <*> (o .:? "id"))--instance ToJSON FirewallList where- toJSON FirewallList'{..}- = object- (catMaybes- [("nextPageToken" .=) <$> _flNextPageToken,- Just ("kind" .= _flKind), ("items" .=) <$> _flItems,- ("selfLink" .=) <$> _flSelfLink,- ("id" .=) <$> _flId])---- | [Output Only] Informational warning which replaces the list of instances--- when the list is empty.------ /See:/ 'instancesScopedListWarning' smart constructor.-data InstancesScopedListWarning = InstancesScopedListWarning'- { _islwData :: !(Maybe [InstancesScopedListWarningDataItem])- , _islwCode :: !(Maybe InstancesScopedListWarningCode)- , _islwMessage :: !(Maybe Text)- } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'InstancesScopedListWarning' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'islwData'------ * 'islwCode'------ * 'islwMessage'-instancesScopedListWarning- :: InstancesScopedListWarning-instancesScopedListWarning =- InstancesScopedListWarning'- { _islwData = Nothing- , _islwCode = Nothing- , _islwMessage = Nothing- }---- | [Output Only] Metadata about this warning in key: value format. For--- example: \"data\": [ { \"key\": \"scope\", \"value\":--- \"zones\/us-east1-d\" }-islwData :: Lens' InstancesScopedListWarning [InstancesScopedListWarningDataItem]-islwData- = lens _islwData (\ s a -> s{_islwData = a}) .- _Default- . _Coerce---- | [Output Only] A warning code, if applicable. For example, Compute Engine--- returns NO_RESULTS_ON_PAGE if there are no results in the response.-islwCode :: Lens' InstancesScopedListWarning (Maybe InstancesScopedListWarningCode)-islwCode = lens _islwCode (\ s a -> s{_islwCode = a})---- | [Output Only] A human-readable description of the warning code.-islwMessage :: Lens' InstancesScopedListWarning (Maybe Text)-islwMessage- = lens _islwMessage (\ s a -> s{_islwMessage = a})--instance FromJSON InstancesScopedListWarning where- parseJSON- = withObject "InstancesScopedListWarning"- (\ o ->- InstancesScopedListWarning' <$>- (o .:? "data" .!= mempty) <*> (o .:? "code") <*>- (o .:? "message"))--instance ToJSON InstancesScopedListWarning where- toJSON InstancesScopedListWarning'{..}- = object- (catMaybes- [("data" .=) <$> _islwData,- ("code" .=) <$> _islwCode,- ("message" .=) <$> _islwMessage])---- | A list of InstanceGroup resources.------ /See:/ 'instanceGroupList' smart constructor.-data InstanceGroupList = InstanceGroupList'- { _iglNextPageToken :: !(Maybe Text)- , _iglKind :: !Text- , _iglItems :: !(Maybe [InstanceGroup])- , _iglSelfLink :: !(Maybe Text)- , _iglId :: !(Maybe Text)- } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'InstanceGroupList' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'iglNextPageToken'------ * 'iglKind'------ * 'iglItems'------ * 'iglSelfLink'------ * 'iglId'-instanceGroupList- :: InstanceGroupList-instanceGroupList =- InstanceGroupList'- { _iglNextPageToken = Nothing- , _iglKind = "compute#instanceGroupList"- , _iglItems = Nothing- , _iglSelfLink = Nothing- , _iglId = Nothing- }---- | [Output Only] This token allows you to get the next page of results for--- list requests. If the number of results is larger than maxResults, use--- the nextPageToken as a value for the query parameter pageToken in the--- next list request. Subsequent list requests will have their own--- nextPageToken to continue paging through the results.-iglNextPageToken :: Lens' InstanceGroupList (Maybe Text)-iglNextPageToken- = lens _iglNextPageToken- (\ s a -> s{_iglNextPageToken = a})---- | [Output Only] The resource type, which is always--- compute#instanceGroupList for instance group lists.-iglKind :: Lens' InstanceGroupList Text-iglKind = lens _iglKind (\ s a -> s{_iglKind = a})---- | A list of instance groups.-iglItems :: Lens' InstanceGroupList [InstanceGroup]-iglItems- = lens _iglItems (\ s a -> s{_iglItems = a}) .- _Default- . _Coerce---- | [Output Only] The URL for this resource type. The server generates this--- URL.-iglSelfLink :: Lens' InstanceGroupList (Maybe Text)-iglSelfLink- = lens _iglSelfLink (\ s a -> s{_iglSelfLink = a})---- | [Output Only] A unique identifier for this list of instance groups. The--- server generates this identifier.-iglId :: Lens' InstanceGroupList (Maybe Text)-iglId = lens _iglId (\ s a -> s{_iglId = a})--instance FromJSON InstanceGroupList where- parseJSON- = withObject "InstanceGroupList"- (\ o ->- InstanceGroupList' <$>- (o .:? "nextPageToken") <*>- (o .:? "kind" .!= "compute#instanceGroupList")- <*> (o .:? "items" .!= mempty)- <*> (o .:? "selfLink")- <*> (o .:? "id"))--instance ToJSON InstanceGroupList where- toJSON InstanceGroupList'{..}- = object- (catMaybes- [("nextPageToken" .=) <$> _iglNextPageToken,- Just ("kind" .= _iglKind),- ("items" .=) <$> _iglItems,- ("selfLink" .=) <$> _iglSelfLink,- ("id" .=) <$> _iglId])------- /See:/ 'instancesSetMachineTypeRequest' smart constructor.-newtype InstancesSetMachineTypeRequest = InstancesSetMachineTypeRequest'- { _ismtrMachineType :: Maybe Text- } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'InstancesSetMachineTypeRequest' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'ismtrMachineType'-instancesSetMachineTypeRequest- :: InstancesSetMachineTypeRequest-instancesSetMachineTypeRequest =- InstancesSetMachineTypeRequest'- { _ismtrMachineType = Nothing- }---- | Full or partial URL of the machine type resource. See Machine Types for--- a full list of machine types. For example:--- zones\/us-central1-f\/machineTypes\/n1-standard-1-ismtrMachineType :: Lens' InstancesSetMachineTypeRequest (Maybe Text)-ismtrMachineType- = lens _ismtrMachineType- (\ s a -> s{_ismtrMachineType = a})--instance FromJSON InstancesSetMachineTypeRequest- where- parseJSON- = withObject "InstancesSetMachineTypeRequest"- (\ o ->- InstancesSetMachineTypeRequest' <$>- (o .:? "machineType"))--instance ToJSON InstancesSetMachineTypeRequest where- toJSON InstancesSetMachineTypeRequest'{..}- = object- (catMaybes- [("machineType" .=) <$> _ismtrMachineType])---- | A map of scoped autoscaler lists.------ /See:/ 'autoscalerAggregatedListItems' smart constructor.-newtype AutoscalerAggregatedListItems = AutoscalerAggregatedListItems'- { _aaliAddtional :: HashMap Text AutoscalersScopedList- } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'AutoscalerAggregatedListItems' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'aaliAddtional'-autoscalerAggregatedListItems- :: HashMap Text AutoscalersScopedList -- ^ 'aaliAddtional'- -> AutoscalerAggregatedListItems-autoscalerAggregatedListItems pAaliAddtional_ =- AutoscalerAggregatedListItems'- { _aaliAddtional = _Coerce # pAaliAddtional_- }---- | [Output Only] Name of the scope containing this set of autoscalers.-aaliAddtional :: Lens' AutoscalerAggregatedListItems (HashMap Text AutoscalersScopedList)-aaliAddtional- = lens _aaliAddtional- (\ s a -> s{_aaliAddtional = a})- . _Coerce--instance FromJSON AutoscalerAggregatedListItems where- parseJSON- = withObject "AutoscalerAggregatedListItems"- (\ o ->- AutoscalerAggregatedListItems' <$>- (parseJSONObject o))--instance ToJSON AutoscalerAggregatedListItems where- toJSON = toJSON . _aaliAddtional------- /See:/ 'instanceGroupManagersSetInstanceTemplateRequest' smart constructor.-newtype InstanceGroupManagersSetInstanceTemplateRequest = InstanceGroupManagersSetInstanceTemplateRequest'- { _igmsitrInstanceTemplate :: Maybe Text- } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'InstanceGroupManagersSetInstanceTemplateRequest' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'igmsitrInstanceTemplate'-instanceGroupManagersSetInstanceTemplateRequest- :: InstanceGroupManagersSetInstanceTemplateRequest-instanceGroupManagersSetInstanceTemplateRequest =- InstanceGroupManagersSetInstanceTemplateRequest'- { _igmsitrInstanceTemplate = Nothing- }---- | The URL of the instance template that is specified for this managed--- instance group. The group uses this template to create all new instances--- in the managed instance group.-igmsitrInstanceTemplate :: Lens' InstanceGroupManagersSetInstanceTemplateRequest (Maybe Text)-igmsitrInstanceTemplate- = lens _igmsitrInstanceTemplate- (\ s a -> s{_igmsitrInstanceTemplate = a})--instance FromJSON- InstanceGroupManagersSetInstanceTemplateRequest where- parseJSON- = withObject- "InstanceGroupManagersSetInstanceTemplateRequest"- (\ o ->- InstanceGroupManagersSetInstanceTemplateRequest' <$>- (o .:? "instanceTemplate"))--instance ToJSON- InstanceGroupManagersSetInstanceTemplateRequest where- toJSON- InstanceGroupManagersSetInstanceTemplateRequest'{..}- = object- (catMaybes- [("instanceTemplate" .=) <$>- _igmsitrInstanceTemplate])---- | Deprecation status for a public resource.------ /See:/ 'deprecationStatus' smart constructor.-data DeprecationStatus = DeprecationStatus'- { _dsState :: !(Maybe DeprecationStatusState)- , _dsDeleted :: !(Maybe Text)- , _dsReplacement :: !(Maybe Text)- , _dsObsolete :: !(Maybe Text)- , _dsDeprecated :: !(Maybe Text)- } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'DeprecationStatus' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'dsState'------ * 'dsDeleted'------ * 'dsReplacement'------ * 'dsObsolete'------ * 'dsDeprecated'-deprecationStatus- :: DeprecationStatus-deprecationStatus =- DeprecationStatus'- { _dsState = Nothing- , _dsDeleted = Nothing- , _dsReplacement = Nothing- , _dsObsolete = Nothing- , _dsDeprecated = Nothing- }---- | The deprecation state of this resource. This can be DEPRECATED,--- OBSOLETE, or DELETED. Operations which create a new resource using a--- DEPRECATED resource will return successfully, but with a warning--- indicating the deprecated resource and recommending its replacement.--- Operations which use OBSOLETE or DELETED resources will be rejected and--- result in an error.-dsState :: Lens' DeprecationStatus (Maybe DeprecationStatusState)-dsState = lens _dsState (\ s a -> s{_dsState = a})---- | An optional RFC3339 timestamp on or after which the deprecation state of--- this resource will be changed to DELETED.-dsDeleted :: Lens' DeprecationStatus (Maybe Text)-dsDeleted- = lens _dsDeleted (\ s a -> s{_dsDeleted = a})---- | The URL of the suggested replacement for a deprecated resource. The--- suggested replacement resource must be the same kind of resource as the--- deprecated resource.-dsReplacement :: Lens' DeprecationStatus (Maybe Text)-dsReplacement- = lens _dsReplacement- (\ s a -> s{_dsReplacement = a})---- | An optional RFC3339 timestamp on or after which the deprecation state of--- this resource will be changed to OBSOLETE.-dsObsolete :: Lens' DeprecationStatus (Maybe Text)-dsObsolete- = lens _dsObsolete (\ s a -> s{_dsObsolete = a})---- | An optional RFC3339 timestamp on or after which the deprecation state of--- this resource will be changed to DEPRECATED.-dsDeprecated :: Lens' DeprecationStatus (Maybe Text)-dsDeprecated- = lens _dsDeprecated (\ s a -> s{_dsDeprecated = a})--instance FromJSON DeprecationStatus where- parseJSON- = withObject "DeprecationStatus"- (\ o ->- DeprecationStatus' <$>- (o .:? "state") <*> (o .:? "deleted") <*>- (o .:? "replacement")- <*> (o .:? "obsolete")- <*> (o .:? "deprecated"))--instance ToJSON DeprecationStatus where- toJSON DeprecationStatus'{..}- = object- (catMaybes- [("state" .=) <$> _dsState,- ("deleted" .=) <$> _dsDeleted,- ("replacement" .=) <$> _dsReplacement,- ("obsolete" .=) <$> _dsObsolete,- ("deprecated" .=) <$> _dsDeprecated])---- | A persistent disk snapshot resource.------ /See:/ 'snapshot' smart constructor.-data Snapshot = Snapshot'- { _sStorageBytesStatus :: !(Maybe SnapshotStorageBytesStatus)- , _sStatus :: !(Maybe SnapshotStatus)- , _sDiskSizeGb :: !(Maybe (Textual Int64))- , _sSourceDiskId :: !(Maybe Text)- , _sKind :: !Text- , _sStorageBytes :: !(Maybe (Textual Int64))- , _sSelfLink :: !(Maybe Text)- , _sName :: !(Maybe Text)- , _sCreationTimestamp :: !(Maybe Text)- , _sId :: !(Maybe (Textual Word64))- , _sLicenses :: !(Maybe [Text])- , _sSourceDisk :: !(Maybe Text)- , _sDescription :: !(Maybe Text)- } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'Snapshot' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'sStorageBytesStatus'------ * 'sStatus'------ * 'sDiskSizeGb'------ * 'sSourceDiskId'------ * 'sKind'------ * 'sStorageBytes'------ * 'sSelfLink'------ * 'sName'------ * 'sCreationTimestamp'------ * 'sId'------ * 'sLicenses'------ * 'sSourceDisk'------ * 'sDescription'-snapshot- :: Snapshot-snapshot =- Snapshot'- { _sStorageBytesStatus = Nothing- , _sStatus = Nothing- , _sDiskSizeGb = Nothing- , _sSourceDiskId = Nothing- , _sKind = "compute#snapshot"- , _sStorageBytes = Nothing- , _sSelfLink = Nothing- , _sName = Nothing- , _sCreationTimestamp = Nothing- , _sId = Nothing- , _sLicenses = Nothing- , _sSourceDisk = Nothing- , _sDescription = Nothing- }---- | [Output Only] An indicator whether storageBytes is in a stable state or--- it is being adjusted as a result of shared storage reallocation. This--- status can either be UPDATING, meaning the size of the snapshot is being--- updated, or UP_TO_DATE, meaning the size of the snapshot is up-to-date.-sStorageBytesStatus :: Lens' Snapshot (Maybe SnapshotStorageBytesStatus)-sStorageBytesStatus- = lens _sStorageBytesStatus- (\ s a -> s{_sStorageBytesStatus = a})---- | [Output Only] The status of the snapshot. This can be CREATING,--- DELETING, FAILED, READY, or UPLOADING.-sStatus :: Lens' Snapshot (Maybe SnapshotStatus)-sStatus = lens _sStatus (\ s a -> s{_sStatus = a})---- | [Output Only] Size of the snapshot, specified in GB.-sDiskSizeGb :: Lens' Snapshot (Maybe Int64)-sDiskSizeGb- = lens _sDiskSizeGb (\ s a -> s{_sDiskSizeGb = a}) .- mapping _Coerce---- | [Output Only] The ID value of the disk used to create this snapshot.--- This value may be used to determine whether the snapshot was taken from--- the current or a previous instance of a given disk name.-sSourceDiskId :: Lens' Snapshot (Maybe Text)-sSourceDiskId- = lens _sSourceDiskId- (\ s a -> s{_sSourceDiskId = a})---- | [Output Only] Type of the resource. Always compute#snapshot for Snapshot--- resources.-sKind :: Lens' Snapshot Text-sKind = lens _sKind (\ s a -> s{_sKind = a})---- | [Output Only] A size of the the storage used by the snapshot. As--- snapshots share storage, this number is expected to change with snapshot--- creation\/deletion.-sStorageBytes :: Lens' Snapshot (Maybe Int64)-sStorageBytes- = lens _sStorageBytes- (\ s a -> s{_sStorageBytes = a})- . mapping _Coerce---- | [Output Only] Server-defined URL for the resource.-sSelfLink :: Lens' Snapshot (Maybe Text)-sSelfLink- = lens _sSelfLink (\ s a -> s{_sSelfLink = a})---- | Name of the resource; provided by the client when the resource is--- created. The name must be 1-63 characters long, and comply with RFC1035.--- Specifically, the name must be 1-63 characters long and match the--- regular expression [a-z]([-a-z0-9]*[a-z0-9])? which means the first--- character must be a lowercase letter, and all following characters must--- be a dash, lowercase letter, or digit, except the last character, which--- cannot be a dash.-sName :: Lens' Snapshot (Maybe Text)-sName = lens _sName (\ s a -> s{_sName = a})---- | [Output Only] Creation timestamp in RFC3339 text format.-sCreationTimestamp :: Lens' Snapshot (Maybe Text)-sCreationTimestamp- = lens _sCreationTimestamp- (\ s a -> s{_sCreationTimestamp = a})---- | [Output Only] The unique identifier for the resource. This identifier is--- defined by the server.-sId :: Lens' Snapshot (Maybe Word64)-sId- = lens _sId (\ s a -> s{_sId = a}) . mapping _Coerce---- | [Output Only] A list of public visible licenses that apply to this--- snapshot. This can be because the original image had licenses attached--- (such as a Windows image).-sLicenses :: Lens' Snapshot [Text]-sLicenses- = lens _sLicenses (\ s a -> s{_sLicenses = a}) .- _Default- . _Coerce---- | [Output Only] The source disk used to create this snapshot.-sSourceDisk :: Lens' Snapshot (Maybe Text)-sSourceDisk- = lens _sSourceDisk (\ s a -> s{_sSourceDisk = a})---- | An optional description of this resource. Provide this property when you--- create the resource.-sDescription :: Lens' Snapshot (Maybe Text)-sDescription- = lens _sDescription (\ s a -> s{_sDescription = a})--instance FromJSON Snapshot where- parseJSON- = withObject "Snapshot"- (\ o ->- Snapshot' <$>- (o .:? "storageBytesStatus") <*> (o .:? "status") <*>- (o .:? "diskSizeGb")- <*> (o .:? "sourceDiskId")- <*> (o .:? "kind" .!= "compute#snapshot")- <*> (o .:? "storageBytes")- <*> (o .:? "selfLink")- <*> (o .:? "name")- <*> (o .:? "creationTimestamp")- <*> (o .:? "id")- <*> (o .:? "licenses" .!= mempty)- <*> (o .:? "sourceDisk")- <*> (o .:? "description"))--instance ToJSON Snapshot where- toJSON Snapshot'{..}- = object- (catMaybes- [("storageBytesStatus" .=) <$> _sStorageBytesStatus,- ("status" .=) <$> _sStatus,- ("diskSizeGb" .=) <$> _sDiskSizeGb,- ("sourceDiskId" .=) <$> _sSourceDiskId,- Just ("kind" .= _sKind),- ("storageBytes" .=) <$> _sStorageBytes,- ("selfLink" .=) <$> _sSelfLink,- ("name" .=) <$> _sName,- ("creationTimestamp" .=) <$> _sCreationTimestamp,- ("id" .=) <$> _sId, ("licenses" .=) <$> _sLicenses,- ("sourceDisk" .=) <$> _sSourceDisk,- ("description" .=) <$> _sDescription])---- | Custom utilization metric policy.------ /See:/ 'autoscalingPolicyCustomMetricUtilization' smart constructor.-data AutoscalingPolicyCustomMetricUtilization = AutoscalingPolicyCustomMetricUtilization'- { _apcmuUtilizationTarget :: !(Maybe (Textual Double))- , _apcmuMetric :: !(Maybe Text)- , _apcmuUtilizationTargetType :: !(Maybe AutoscalingPolicyCustomMetricUtilizationUtilizationTargetType)- } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'AutoscalingPolicyCustomMetricUtilization' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'apcmuUtilizationTarget'------ * 'apcmuMetric'------ * 'apcmuUtilizationTargetType'-autoscalingPolicyCustomMetricUtilization- :: AutoscalingPolicyCustomMetricUtilization-autoscalingPolicyCustomMetricUtilization =- AutoscalingPolicyCustomMetricUtilization'- { _apcmuUtilizationTarget = Nothing- , _apcmuMetric = Nothing- , _apcmuUtilizationTargetType = Nothing- }---- | Target value of the metric which autoscaler should maintain. Must be a--- positive value.-apcmuUtilizationTarget :: Lens' AutoscalingPolicyCustomMetricUtilization (Maybe Double)-apcmuUtilizationTarget- = lens _apcmuUtilizationTarget- (\ s a -> s{_apcmuUtilizationTarget = a})- . mapping _Coerce---- | The identifier of the Cloud Monitoring metric. The metric cannot have--- negative values and should be a utilization metric, which means that the--- number of virtual machines handling requests should increase or decrease--- proportionally to the metric. The metric must also have a label of--- compute.googleapis.com\/resource_id with the value of the instance\'s--- unique ID, although this alone does not guarantee that the metric is--- valid. For example, the following is a valid metric:--- compute.googleapis.com\/instance\/network\/received_bytes_count The--- following is not a valid metric because it does not increase or decrease--- based on usage: compute.googleapis.com\/instance\/cpu\/reserved_cores-apcmuMetric :: Lens' AutoscalingPolicyCustomMetricUtilization (Maybe Text)-apcmuMetric- = lens _apcmuMetric (\ s a -> s{_apcmuMetric = a})---- | Defines how target utilization value is expressed for a Cloud Monitoring--- metric. Either GAUGE, DELTA_PER_SECOND, or DELTA_PER_MINUTE. If not--- specified, the default is GAUGE.-apcmuUtilizationTargetType :: Lens' AutoscalingPolicyCustomMetricUtilization (Maybe AutoscalingPolicyCustomMetricUtilizationUtilizationTargetType)-apcmuUtilizationTargetType- = lens _apcmuUtilizationTargetType- (\ s a -> s{_apcmuUtilizationTargetType = a})--instance FromJSON- AutoscalingPolicyCustomMetricUtilization where- parseJSON- = withObject- "AutoscalingPolicyCustomMetricUtilization"- (\ o ->- AutoscalingPolicyCustomMetricUtilization' <$>- (o .:? "utilizationTarget") <*> (o .:? "metric") <*>- (o .:? "utilizationTargetType"))--instance ToJSON- AutoscalingPolicyCustomMetricUtilization where- toJSON AutoscalingPolicyCustomMetricUtilization'{..}- = object- (catMaybes- [("utilizationTarget" .=) <$>- _apcmuUtilizationTarget,- ("metric" .=) <$> _apcmuMetric,- ("utilizationTargetType" .=) <$>- _apcmuUtilizationTargetType])---- | Contains a list of ForwardingRule resources.------ /See:/ 'forwardingRuleList' smart constructor.-data ForwardingRuleList = ForwardingRuleList'- { _frlNextPageToken :: !(Maybe Text)- , _frlKind :: !Text- , _frlItems :: !(Maybe [ForwardingRule])- , _frlSelfLink :: !(Maybe Text)- , _frlId :: !(Maybe Text)- } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'ForwardingRuleList' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'frlNextPageToken'------ * 'frlKind'------ * 'frlItems'------ * 'frlSelfLink'------ * 'frlId'-forwardingRuleList- :: ForwardingRuleList-forwardingRuleList =- ForwardingRuleList'- { _frlNextPageToken = Nothing- , _frlKind = "compute#forwardingRuleList"- , _frlItems = Nothing- , _frlSelfLink = Nothing- , _frlId = Nothing- }---- | [Output Only] This token allows you to get the next page of results for--- list requests. If the number of results is larger than maxResults, use--- the nextPageToken as a value for the query parameter pageToken in the--- next list request. Subsequent list requests will have their own--- nextPageToken to continue paging through the results.-frlNextPageToken :: Lens' ForwardingRuleList (Maybe Text)-frlNextPageToken- = lens _frlNextPageToken- (\ s a -> s{_frlNextPageToken = a})---- | Type of resource.-frlKind :: Lens' ForwardingRuleList Text-frlKind = lens _frlKind (\ s a -> s{_frlKind = a})---- | A list of ForwardingRule resources.-frlItems :: Lens' ForwardingRuleList [ForwardingRule]-frlItems- = lens _frlItems (\ s a -> s{_frlItems = a}) .- _Default- . _Coerce---- | [Output Only] Server-defined URL for this resource.-frlSelfLink :: Lens' ForwardingRuleList (Maybe Text)-frlSelfLink- = lens _frlSelfLink (\ s a -> s{_frlSelfLink = a})---- | [Output Only] Unique identifier for the resource. Set by the server.-frlId :: Lens' ForwardingRuleList (Maybe Text)-frlId = lens _frlId (\ s a -> s{_frlId = a})--instance FromJSON ForwardingRuleList where- parseJSON- = withObject "ForwardingRuleList"- (\ o ->- ForwardingRuleList' <$>- (o .:? "nextPageToken") <*>- (o .:? "kind" .!= "compute#forwardingRuleList")- <*> (o .:? "items" .!= mempty)- <*> (o .:? "selfLink")- <*> (o .:? "id"))--instance ToJSON ForwardingRuleList where- toJSON ForwardingRuleList'{..}- = object- (catMaybes- [("nextPageToken" .=) <$> _frlNextPageToken,- Just ("kind" .= _frlKind),- ("items" .=) <$> _frlItems,- ("selfLink" .=) <$> _frlSelfLink,- ("id" .=) <$> _frlId])------- /See:/ 'vpnTunnelsScopedList' smart constructor.-data VPNTunnelsScopedList = VPNTunnelsScopedList'- { _vtslVPNTunnels :: !(Maybe [VPNTunnel])- , _vtslWarning :: !(Maybe VPNTunnelsScopedListWarning)- } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'VPNTunnelsScopedList' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'vtslVPNTunnels'------ * 'vtslWarning'-vpnTunnelsScopedList- :: VPNTunnelsScopedList-vpnTunnelsScopedList =- VPNTunnelsScopedList'- { _vtslVPNTunnels = Nothing- , _vtslWarning = Nothing- }---- | List of vpn tunnels contained in this scope.-vtslVPNTunnels :: Lens' VPNTunnelsScopedList [VPNTunnel]-vtslVPNTunnels- = lens _vtslVPNTunnels- (\ s a -> s{_vtslVPNTunnels = a})- . _Default- . _Coerce---- | Informational warning which replaces the list of addresses when the list--- is empty.-vtslWarning :: Lens' VPNTunnelsScopedList (Maybe VPNTunnelsScopedListWarning)-vtslWarning- = lens _vtslWarning (\ s a -> s{_vtslWarning = a})--instance FromJSON VPNTunnelsScopedList where- parseJSON- = withObject "VPNTunnelsScopedList"- (\ o ->- VPNTunnelsScopedList' <$>- (o .:? "vpnTunnels" .!= mempty) <*>- (o .:? "warning"))--instance ToJSON VPNTunnelsScopedList where- toJSON VPNTunnelsScopedList'{..}- = object- (catMaybes- [("vpnTunnels" .=) <$> _vtslVPNTunnels,- ("warning" .=) <$> _vtslWarning])------- /See:/ 'instanceGroupsSetNamedPortsRequest' smart constructor.-data InstanceGroupsSetNamedPortsRequest = InstanceGroupsSetNamedPortsRequest'- { _igsnprFingerprint :: !(Maybe Base64)- , _igsnprNamedPorts :: !(Maybe [NamedPort])- } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'InstanceGroupsSetNamedPortsRequest' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'igsnprFingerprint'------ * 'igsnprNamedPorts'-instanceGroupsSetNamedPortsRequest- :: InstanceGroupsSetNamedPortsRequest-instanceGroupsSetNamedPortsRequest =- InstanceGroupsSetNamedPortsRequest'- { _igsnprFingerprint = Nothing- , _igsnprNamedPorts = Nothing- }---- | The fingerprint of the named ports information for this instance group.--- Use this optional property to prevent conflicts when multiple users--- change the named ports settings concurrently. Obtain the fingerprint--- with the instanceGroups.get method. Then, include the fingerprint in--- your request to ensure that you do not overwrite changes that were--- applied from another concurrent request.-igsnprFingerprint :: Lens' InstanceGroupsSetNamedPortsRequest (Maybe ByteString)-igsnprFingerprint- = lens _igsnprFingerprint- (\ s a -> s{_igsnprFingerprint = a})- . mapping _Base64---- | The list of named ports to set for this instance group.-igsnprNamedPorts :: Lens' InstanceGroupsSetNamedPortsRequest [NamedPort]-igsnprNamedPorts- = lens _igsnprNamedPorts- (\ s a -> s{_igsnprNamedPorts = a})- . _Default- . _Coerce--instance FromJSON InstanceGroupsSetNamedPortsRequest- where- parseJSON- = withObject "InstanceGroupsSetNamedPortsRequest"- (\ o ->- InstanceGroupsSetNamedPortsRequest' <$>- (o .:? "fingerprint") <*>- (o .:? "namedPorts" .!= mempty))--instance ToJSON InstanceGroupsSetNamedPortsRequest- where- toJSON InstanceGroupsSetNamedPortsRequest'{..}- = object- (catMaybes- [("fingerprint" .=) <$> _igsnprFingerprint,- ("namedPorts" .=) <$> _igsnprNamedPorts])---- | Contains a list of Operation resources.------ /See:/ 'operationList' smart constructor.-data OperationList = OperationList'- { _olNextPageToken :: !(Maybe Text)- , _olKind :: !Text- , _olItems :: !(Maybe [Operation])- , _olSelfLink :: !(Maybe Text)- , _olId :: !(Maybe Text)- } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'OperationList' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'olNextPageToken'------ * 'olKind'------ * 'olItems'------ * 'olSelfLink'------ * 'olId'-operationList- :: OperationList-operationList =- OperationList'- { _olNextPageToken = Nothing- , _olKind = "compute#operationList"- , _olItems = Nothing- , _olSelfLink = Nothing- , _olId = Nothing- }---- | [Output Only] This token allows you to get the next page of results for--- list requests. If the number of results is larger than maxResults, use--- the nextPageToken as a value for the query parameter pageToken in the--- next list request. Subsequent list requests will have their own--- nextPageToken to continue paging through the results.-olNextPageToken :: Lens' OperationList (Maybe Text)-olNextPageToken- = lens _olNextPageToken- (\ s a -> s{_olNextPageToken = a})---- | [Output Only] Type of resource. Always compute#operations for Operations--- resource.-olKind :: Lens' OperationList Text-olKind = lens _olKind (\ s a -> s{_olKind = a})---- | [Output Only] A list of Operation resources.-olItems :: Lens' OperationList [Operation]-olItems- = lens _olItems (\ s a -> s{_olItems = a}) . _Default- . _Coerce---- | [Output Only] Server-defined URL for this resource.-olSelfLink :: Lens' OperationList (Maybe Text)-olSelfLink- = lens _olSelfLink (\ s a -> s{_olSelfLink = a})---- | [Output Only] The unique identifier for the resource. This identifier is--- defined by the server.-olId :: Lens' OperationList (Maybe Text)-olId = lens _olId (\ s a -> s{_olId = a})--instance FromJSON OperationList where- parseJSON- = withObject "OperationList"- (\ o ->- OperationList' <$>- (o .:? "nextPageToken") <*>- (o .:? "kind" .!= "compute#operationList")- <*> (o .:? "items" .!= mempty)- <*> (o .:? "selfLink")- <*> (o .:? "id"))--instance ToJSON OperationList where- toJSON OperationList'{..}- = object- (catMaybes- [("nextPageToken" .=) <$> _olNextPageToken,- Just ("kind" .= _olKind), ("items" .=) <$> _olItems,- ("selfLink" .=) <$> _olSelfLink,- ("id" .=) <$> _olId])---- | A list of Disk resources.------ /See:/ 'diskList' smart constructor.-data DiskList = DiskList'- { _dlNextPageToken :: !(Maybe Text)- , _dlKind :: !Text- , _dlItems :: !(Maybe [Disk])- , _dlSelfLink :: !(Maybe Text)- , _dlId :: !(Maybe Text)- } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'DiskList' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'dlNextPageToken'------ * 'dlKind'------ * 'dlItems'------ * 'dlSelfLink'------ * 'dlId'-diskList- :: DiskList-diskList =- DiskList'- { _dlNextPageToken = Nothing- , _dlKind = "compute#diskList"- , _dlItems = Nothing- , _dlSelfLink = Nothing- , _dlId = Nothing- }---- | [Output Only] This token allows you to get the next page of results for--- list requests. If the number of results is larger than maxResults, use--- the nextPageToken as a value for the query parameter pageToken in the--- next list request. Subsequent list requests will have their own--- nextPageToken to continue paging through the results.-dlNextPageToken :: Lens' DiskList (Maybe Text)-dlNextPageToken- = lens _dlNextPageToken- (\ s a -> s{_dlNextPageToken = a})---- | [Output Only] Type of resource. Always compute#diskList for lists of--- disks.-dlKind :: Lens' DiskList Text-dlKind = lens _dlKind (\ s a -> s{_dlKind = a})---- | [Output Only] A list of persistent disks.-dlItems :: Lens' DiskList [Disk]-dlItems- = lens _dlItems (\ s a -> s{_dlItems = a}) . _Default- . _Coerce---- | [Output Only] Server-defined URL for this resource.-dlSelfLink :: Lens' DiskList (Maybe Text)-dlSelfLink- = lens _dlSelfLink (\ s a -> s{_dlSelfLink = a})---- | [Output Only] The unique identifier for the resource. This identifier is--- defined by the server.-dlId :: Lens' DiskList (Maybe Text)-dlId = lens _dlId (\ s a -> s{_dlId = a})--instance FromJSON DiskList where- parseJSON- = withObject "DiskList"- (\ o ->- DiskList' <$>- (o .:? "nextPageToken") <*>- (o .:? "kind" .!= "compute#diskList")- <*> (o .:? "items" .!= mempty)- <*> (o .:? "selfLink")- <*> (o .:? "id"))--instance ToJSON DiskList where- toJSON DiskList'{..}- = object- (catMaybes- [("nextPageToken" .=) <$> _dlNextPageToken,- Just ("kind" .= _dlKind), ("items" .=) <$> _dlItems,- ("selfLink" .=) <$> _dlSelfLink,- ("id" .=) <$> _dlId])------- /See:/ 'targetPoolsAddInstanceRequest' smart constructor.-newtype TargetPoolsAddInstanceRequest = TargetPoolsAddInstanceRequest'- { _tpairInstances :: Maybe [InstanceReference]- } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'TargetPoolsAddInstanceRequest' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'tpairInstances'-targetPoolsAddInstanceRequest- :: TargetPoolsAddInstanceRequest-targetPoolsAddInstanceRequest =- TargetPoolsAddInstanceRequest'- { _tpairInstances = Nothing- }---- | A full or partial URL to an instance to add to this target pool. This--- can be a full or partial URL. For example, the following are valid URLs:--- ---- https:\/\/www.googleapis.com\/compute\/v1\/projects\/project-id\/zones\/zone\/instances\/instance-name--- - projects\/project-id\/zones\/zone\/instances\/instance-name ---- zones\/zone\/instances\/instance-name-tpairInstances :: Lens' TargetPoolsAddInstanceRequest [InstanceReference]-tpairInstances- = lens _tpairInstances- (\ s a -> s{_tpairInstances = a})- . _Default- . _Coerce--instance FromJSON TargetPoolsAddInstanceRequest where- parseJSON- = withObject "TargetPoolsAddInstanceRequest"- (\ o ->- TargetPoolsAddInstanceRequest' <$>- (o .:? "instances" .!= mempty))--instance ToJSON TargetPoolsAddInstanceRequest where- toJSON TargetPoolsAddInstanceRequest'{..}- = object- (catMaybes [("instances" .=) <$> _tpairInstances])------- /See:/ 'instanceGroupsAddInstancesRequest' smart constructor.-newtype InstanceGroupsAddInstancesRequest = InstanceGroupsAddInstancesRequest'- { _igairInstances :: Maybe [InstanceReference]- } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'InstanceGroupsAddInstancesRequest' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'igairInstances'-instanceGroupsAddInstancesRequest- :: InstanceGroupsAddInstancesRequest-instanceGroupsAddInstancesRequest =- InstanceGroupsAddInstancesRequest'- { _igairInstances = Nothing- }---- | The list of instances to add to the instance group.-igairInstances :: Lens' InstanceGroupsAddInstancesRequest [InstanceReference]-igairInstances- = lens _igairInstances- (\ s a -> s{_igairInstances = a})- . _Default- . _Coerce--instance FromJSON InstanceGroupsAddInstancesRequest- where- parseJSON- = withObject "InstanceGroupsAddInstancesRequest"- (\ o ->- InstanceGroupsAddInstancesRequest' <$>- (o .:? "instances" .!= mempty))--instance ToJSON InstanceGroupsAddInstancesRequest- where- toJSON InstanceGroupsAddInstancesRequest'{..}- = object- (catMaybes [("instances" .=) <$> _igairInstances])---- | [Output Only] A list of managed instance groups.------ /See:/ 'instanceGroupManagerList' smart constructor.-data InstanceGroupManagerList = InstanceGroupManagerList'- { _igmlNextPageToken :: !(Maybe Text)- , _igmlKind :: !Text- , _igmlItems :: !(Maybe [InstanceGroupManager])- , _igmlSelfLink :: !(Maybe Text)- , _igmlId :: !(Maybe Text)- } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'InstanceGroupManagerList' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'igmlNextPageToken'------ * 'igmlKind'------ * 'igmlItems'------ * 'igmlSelfLink'------ * 'igmlId'-instanceGroupManagerList- :: InstanceGroupManagerList-instanceGroupManagerList =- InstanceGroupManagerList'- { _igmlNextPageToken = Nothing- , _igmlKind = "compute#instanceGroupManagerList"- , _igmlItems = Nothing- , _igmlSelfLink = Nothing- , _igmlId = Nothing- }---- | [Output Only] This token allows you to get the next page of results for--- list requests. If the number of results is larger than maxResults, use--- the nextPageToken as a value for the query parameter pageToken in the--- next list request. Subsequent list requests will have their own--- nextPageToken to continue paging through the results.-igmlNextPageToken :: Lens' InstanceGroupManagerList (Maybe Text)-igmlNextPageToken- = lens _igmlNextPageToken- (\ s a -> s{_igmlNextPageToken = a})---- | [Output Only] The resource type, which is always--- compute#instanceGroupManagerList for a list of managed instance groups.-igmlKind :: Lens' InstanceGroupManagerList Text-igmlKind = lens _igmlKind (\ s a -> s{_igmlKind = a})---- | [Output Only] A list of managed instance groups.-igmlItems :: Lens' InstanceGroupManagerList [InstanceGroupManager]-igmlItems- = lens _igmlItems (\ s a -> s{_igmlItems = a}) .- _Default- . _Coerce---- | [Output Only] The URL for this resource type. The server generates this--- URL.-igmlSelfLink :: Lens' InstanceGroupManagerList (Maybe Text)-igmlSelfLink- = lens _igmlSelfLink (\ s a -> s{_igmlSelfLink = a})---- | [Output Only] A unique identifier for this resource type. The server--- generates this identifier.-igmlId :: Lens' InstanceGroupManagerList (Maybe Text)-igmlId = lens _igmlId (\ s a -> s{_igmlId = a})--instance FromJSON InstanceGroupManagerList where- parseJSON- = withObject "InstanceGroupManagerList"- (\ o ->- InstanceGroupManagerList' <$>- (o .:? "nextPageToken") <*>- (o .:? "kind" .!= "compute#instanceGroupManagerList")- <*> (o .:? "items" .!= mempty)- <*> (o .:? "selfLink")- <*> (o .:? "id"))--instance ToJSON InstanceGroupManagerList where- toJSON InstanceGroupManagerList'{..}- = object- (catMaybes- [("nextPageToken" .=) <$> _igmlNextPageToken,- Just ("kind" .= _igmlKind),- ("items" .=) <$> _igmlItems,- ("selfLink" .=) <$> _igmlSelfLink,- ("id" .=) <$> _igmlId])---- | An informational warning that appears when the list of addresses is--- empty.------ /See:/ 'subnetworksScopedListWarning' smart constructor.-data SubnetworksScopedListWarning = SubnetworksScopedListWarning'- { _sslwData :: !(Maybe [SubnetworksScopedListWarningDataItem])- , _sslwCode :: !(Maybe SubnetworksScopedListWarningCode)- , _sslwMessage :: !(Maybe Text)- } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'SubnetworksScopedListWarning' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'sslwData'------ * 'sslwCode'------ * 'sslwMessage'-subnetworksScopedListWarning- :: SubnetworksScopedListWarning-subnetworksScopedListWarning =- SubnetworksScopedListWarning'- { _sslwData = Nothing- , _sslwCode = Nothing- , _sslwMessage = Nothing- }---- | [Output Only] Metadata about this warning in key: value format. For--- example: \"data\": [ { \"key\": \"scope\", \"value\":--- \"zones\/us-east1-d\" }-sslwData :: Lens' SubnetworksScopedListWarning [SubnetworksScopedListWarningDataItem]-sslwData- = lens _sslwData (\ s a -> s{_sslwData = a}) .- _Default- . _Coerce---- | [Output Only] A warning code, if applicable. For example, Compute Engine--- returns NO_RESULTS_ON_PAGE if there are no results in the response.-sslwCode :: Lens' SubnetworksScopedListWarning (Maybe SubnetworksScopedListWarningCode)-sslwCode = lens _sslwCode (\ s a -> s{_sslwCode = a})---- | [Output Only] A human-readable description of the warning code.-sslwMessage :: Lens' SubnetworksScopedListWarning (Maybe Text)-sslwMessage- = lens _sslwMessage (\ s a -> s{_sslwMessage = a})--instance FromJSON SubnetworksScopedListWarning where- parseJSON- = withObject "SubnetworksScopedListWarning"- (\ o ->- SubnetworksScopedListWarning' <$>- (o .:? "data" .!= mempty) <*> (o .:? "code") <*>- (o .:? "message"))--instance ToJSON SubnetworksScopedListWarning where- toJSON SubnetworksScopedListWarning'{..}- = object- (catMaybes- [("data" .=) <$> _sslwData,- ("code" .=) <$> _sslwCode,- ("message" .=) <$> _sslwMessage])---- | An Image resource.------ /See:/ 'image' smart constructor.-data Image = Image'- { _iStatus :: !(Maybe ImageStatus)- , _iDiskSizeGb :: !(Maybe (Textual Int64))- , _iSourceType :: !ImageSourceType- , _iSourceDiskId :: !(Maybe Text)- , _iKind :: !Text- , _iArchiveSizeBytes :: !(Maybe (Textual Int64))- , _iFamily :: !(Maybe Text)- , _iRawDisk :: !(Maybe ImageRawDisk)- , _iSelfLink :: !(Maybe Text)- , _iName :: !(Maybe Text)- , _iCreationTimestamp :: !(Maybe Text)- , _iId :: !(Maybe (Textual Word64))- , _iLicenses :: !(Maybe [Text])- , _iSourceDisk :: !(Maybe Text)- , _iDescription :: !(Maybe Text)- , _iDeprecated :: !(Maybe DeprecationStatus)- } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'Image' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'iStatus'------ * 'iDiskSizeGb'------ * 'iSourceType'------ * 'iSourceDiskId'------ * 'iKind'------ * 'iArchiveSizeBytes'------ * 'iFamily'------ * 'iRawDisk'------ * 'iSelfLink'------ * 'iName'------ * 'iCreationTimestamp'------ * 'iId'------ * 'iLicenses'------ * 'iSourceDisk'------ * 'iDescription'------ * 'iDeprecated'-image- :: Image-image =- Image'- { _iStatus = Nothing- , _iDiskSizeGb = Nothing- , _iSourceType = Raw- , _iSourceDiskId = Nothing- , _iKind = "compute#image"- , _iArchiveSizeBytes = Nothing- , _iFamily = Nothing- , _iRawDisk = Nothing- , _iSelfLink = Nothing- , _iName = Nothing- , _iCreationTimestamp = Nothing- , _iId = Nothing- , _iLicenses = Nothing- , _iSourceDisk = Nothing- , _iDescription = Nothing- , _iDeprecated = Nothing- }---- | [Output Only] The status of the image. An image can be used to create--- other resources, such as instances, only after the image has been--- successfully created and the status is set to READY. Possible values are--- FAILED, PENDING, or READY.-iStatus :: Lens' Image (Maybe ImageStatus)-iStatus = lens _iStatus (\ s a -> s{_iStatus = a})---- | Size of the image when restored onto a persistent disk (in GB).-iDiskSizeGb :: Lens' Image (Maybe Int64)-iDiskSizeGb- = lens _iDiskSizeGb (\ s a -> s{_iDiskSizeGb = a}) .- mapping _Coerce---- | The type of the image used to create this disk. The default and only--- value is RAW-iSourceType :: Lens' Image ImageSourceType-iSourceType- = lens _iSourceType (\ s a -> s{_iSourceType = a})---- | The ID value of the disk used to create this image. This value may be--- used to determine whether the image was taken from the current or a--- previous instance of a given disk name.-iSourceDiskId :: Lens' Image (Maybe Text)-iSourceDiskId- = lens _iSourceDiskId- (\ s a -> s{_iSourceDiskId = a})---- | [Output Only] Type of the resource. Always compute#image for images.-iKind :: Lens' Image Text-iKind = lens _iKind (\ s a -> s{_iKind = a})---- | Size of the image tar.gz archive stored in Google Cloud Storage (in--- bytes).-iArchiveSizeBytes :: Lens' Image (Maybe Int64)-iArchiveSizeBytes- = lens _iArchiveSizeBytes- (\ s a -> s{_iArchiveSizeBytes = a})- . mapping _Coerce---- | The name of the image family to which this image belongs. You can create--- disks by specifying an image family instead of a specific image name.--- The image family always returns its latest image that is not deprecated.-iFamily :: Lens' Image (Maybe Text)-iFamily = lens _iFamily (\ s a -> s{_iFamily = a})---- | The parameters of the raw disk image.-iRawDisk :: Lens' Image (Maybe ImageRawDisk)-iRawDisk = lens _iRawDisk (\ s a -> s{_iRawDisk = a})---- | [Output Only] Server-defined URL for the resource.-iSelfLink :: Lens' Image (Maybe Text)-iSelfLink- = lens _iSelfLink (\ s a -> s{_iSelfLink = a})---- | Name of the resource; provided by the client when the resource is--- created. The name must be 1-63 characters long, and comply with RFC1035.--- Specifically, the name must be 1-63 characters long and match the--- regular expression [a-z]([-a-z0-9]*[a-z0-9])? which means the first--- character must be a lowercase letter, and all following characters must--- be a dash, lowercase letter, or digit, except the last character, which--- cannot be a dash.-iName :: Lens' Image (Maybe Text)-iName = lens _iName (\ s a -> s{_iName = a})---- | [Output Only] Creation timestamp in RFC3339 text format.-iCreationTimestamp :: Lens' Image (Maybe Text)-iCreationTimestamp- = lens _iCreationTimestamp- (\ s a -> s{_iCreationTimestamp = a})---- | [Output Only] The unique identifier for the resource. This identifier is--- defined by the server.-iId :: Lens' Image (Maybe Word64)-iId- = lens _iId (\ s a -> s{_iId = a}) . mapping _Coerce---- | Any applicable publicly visible licenses.-iLicenses :: Lens' Image [Text]-iLicenses- = lens _iLicenses (\ s a -> s{_iLicenses = a}) .- _Default- . _Coerce---- | URL of the The source disk used to create this image. This can be a full--- or valid partial URL. You must provide either this property or the--- rawDisk.source property but not both to create an image. For example,--- the following are valid values: ---- https:\/\/www.googleapis.com\/compute\/v1\/projects\/project\/zones\/zone\/disk\/disk--- - projects\/project\/zones\/zone\/disk\/disk - zones\/zone\/disks\/disk-iSourceDisk :: Lens' Image (Maybe Text)-iSourceDisk- = lens _iSourceDisk (\ s a -> s{_iSourceDisk = a})---- | An optional description of this resource. Provide this property when you--- create the resource.-iDescription :: Lens' Image (Maybe Text)-iDescription- = lens _iDescription (\ s a -> s{_iDescription = a})---- | The deprecation status associated with this image.-iDeprecated :: Lens' Image (Maybe DeprecationStatus)-iDeprecated- = lens _iDeprecated (\ s a -> s{_iDeprecated = a})--instance FromJSON Image where- parseJSON- = withObject "Image"- (\ o ->- Image' <$>- (o .:? "status") <*> (o .:? "diskSizeGb") <*>- (o .:? "sourceType" .!= Raw)- <*> (o .:? "sourceDiskId")- <*> (o .:? "kind" .!= "compute#image")- <*> (o .:? "archiveSizeBytes")- <*> (o .:? "family")- <*> (o .:? "rawDisk")- <*> (o .:? "selfLink")- <*> (o .:? "name")- <*> (o .:? "creationTimestamp")- <*> (o .:? "id")- <*> (o .:? "licenses" .!= mempty)- <*> (o .:? "sourceDisk")- <*> (o .:? "description")- <*> (o .:? "deprecated"))--instance ToJSON Image where- toJSON Image'{..}- = object- (catMaybes- [("status" .=) <$> _iStatus,- ("diskSizeGb" .=) <$> _iDiskSizeGb,- Just ("sourceType" .= _iSourceType),- ("sourceDiskId" .=) <$> _iSourceDiskId,- Just ("kind" .= _iKind),- ("archiveSizeBytes" .=) <$> _iArchiveSizeBytes,- ("family" .=) <$> _iFamily,- ("rawDisk" .=) <$> _iRawDisk,- ("selfLink" .=) <$> _iSelfLink,- ("name" .=) <$> _iName,- ("creationTimestamp" .=) <$> _iCreationTimestamp,- ("id" .=) <$> _iId, ("licenses" .=) <$> _iLicenses,- ("sourceDisk" .=) <$> _iSourceDisk,- ("description" .=) <$> _iDescription,- ("deprecated" .=) <$> _iDeprecated])---- | A UrlMap resource. This resource defines the mapping from URL to the--- BackendService resource, based on the \"longest-match\" of the URL\'s--- host and path.------ /See:/ 'urlMap' smart constructor.-data URLMap = URLMap'- { _umTests :: !(Maybe [URLMapTest])- , _umKind :: !Text- , _umFingerprint :: !(Maybe Base64)- , _umDefaultService :: !(Maybe Text)- , _umSelfLink :: !(Maybe Text)- , _umName :: !(Maybe Text)- , _umCreationTimestamp :: !(Maybe Text)- , _umPathMatchers :: !(Maybe [PathMatcher])- , _umId :: !(Maybe (Textual Word64))- , _umHostRules :: !(Maybe [HostRule])- , _umDescription :: !(Maybe Text)- } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'URLMap' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'umTests'------ * 'umKind'------ * 'umFingerprint'------ * 'umDefaultService'------ * 'umSelfLink'------ * 'umName'------ * 'umCreationTimestamp'------ * 'umPathMatchers'------ * 'umId'------ * 'umHostRules'------ * 'umDescription'-urlMap- :: URLMap-urlMap =- URLMap'- { _umTests = Nothing- , _umKind = "compute#urlMap"- , _umFingerprint = Nothing- , _umDefaultService = Nothing- , _umSelfLink = Nothing- , _umName = Nothing- , _umCreationTimestamp = Nothing- , _umPathMatchers = Nothing- , _umId = Nothing- , _umHostRules = Nothing- , _umDescription = Nothing- }---- | The list of expected URL mappings. Request to update this UrlMap will--- succeed only if all of the test cases pass.-umTests :: Lens' URLMap [URLMapTest]-umTests- = lens _umTests (\ s a -> s{_umTests = a}) . _Default- . _Coerce---- | [Output Only] Type of the resource. Always compute#urlMaps for url maps.-umKind :: Lens' URLMap Text-umKind = lens _umKind (\ s a -> s{_umKind = a})---- | Fingerprint of this resource. A hash of the contents stored in this--- object. This field is used in optimistic locking. This field will be--- ignored when inserting a UrlMap. An up-to-date fingerprint must be--- provided in order to update the UrlMap.-umFingerprint :: Lens' URLMap (Maybe ByteString)-umFingerprint- = lens _umFingerprint- (\ s a -> s{_umFingerprint = a})- . mapping _Base64---- | The URL of the BackendService resource if none of the hostRules match.-umDefaultService :: Lens' URLMap (Maybe Text)-umDefaultService- = lens _umDefaultService- (\ s a -> s{_umDefaultService = a})---- | [Output Only] Server-defined URL for the resource.-umSelfLink :: Lens' URLMap (Maybe Text)-umSelfLink- = lens _umSelfLink (\ s a -> s{_umSelfLink = a})---- | Name of the resource. Provided by the client when the resource is--- created. The name must be 1-63 characters long, and comply with RFC1035.--- Specifically, the name must be 1-63 characters long and match the--- regular expression [a-z]([-a-z0-9]*[a-z0-9])? which means the first--- character must be a lowercase letter, and all following characters must--- be a dash, lowercase letter, or digit, except the last character, which--- cannot be a dash.-umName :: Lens' URLMap (Maybe Text)-umName = lens _umName (\ s a -> s{_umName = a})---- | [Output Only] Creation timestamp in RFC3339 text format.-umCreationTimestamp :: Lens' URLMap (Maybe Text)-umCreationTimestamp- = lens _umCreationTimestamp- (\ s a -> s{_umCreationTimestamp = a})---- | The list of named PathMatchers to use against the URL.-umPathMatchers :: Lens' URLMap [PathMatcher]-umPathMatchers- = lens _umPathMatchers- (\ s a -> s{_umPathMatchers = a})- . _Default- . _Coerce---- | [Output Only] The unique identifier for the resource. This identifier is--- defined by the server.-umId :: Lens' URLMap (Maybe Word64)-umId- = lens _umId (\ s a -> s{_umId = a}) .- mapping _Coerce---- | The list of HostRules to use against the URL.-umHostRules :: Lens' URLMap [HostRule]-umHostRules- = lens _umHostRules (\ s a -> s{_umHostRules = a}) .- _Default- . _Coerce---- | An optional description of this resource. Provide this property when you--- create the resource.-umDescription :: Lens' URLMap (Maybe Text)-umDescription- = lens _umDescription- (\ s a -> s{_umDescription = a})--instance FromJSON URLMap where- parseJSON- = withObject "URLMap"- (\ o ->- URLMap' <$>- (o .:? "tests" .!= mempty) <*>- (o .:? "kind" .!= "compute#urlMap")- <*> (o .:? "fingerprint")- <*> (o .:? "defaultService")- <*> (o .:? "selfLink")- <*> (o .:? "name")- <*> (o .:? "creationTimestamp")- <*> (o .:? "pathMatchers" .!= mempty)- <*> (o .:? "id")- <*> (o .:? "hostRules" .!= mempty)- <*> (o .:? "description"))--instance ToJSON URLMap where- toJSON URLMap'{..}- = object- (catMaybes- [("tests" .=) <$> _umTests, Just ("kind" .= _umKind),- ("fingerprint" .=) <$> _umFingerprint,- ("defaultService" .=) <$> _umDefaultService,- ("selfLink" .=) <$> _umSelfLink,- ("name" .=) <$> _umName,- ("creationTimestamp" .=) <$> _umCreationTimestamp,- ("pathMatchers" .=) <$> _umPathMatchers,- ("id" .=) <$> _umId,- ("hostRules" .=) <$> _umHostRules,- ("description" .=) <$> _umDescription])---- | A map of scoped instance group lists.------ /See:/ 'instanceGroupAggregatedListItems' smart constructor.-newtype InstanceGroupAggregatedListItems = InstanceGroupAggregatedListItems'- { _igaliAddtional :: HashMap Text InstanceGroupsScopedList- } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'InstanceGroupAggregatedListItems' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'igaliAddtional'-instanceGroupAggregatedListItems- :: HashMap Text InstanceGroupsScopedList -- ^ 'igaliAddtional'- -> InstanceGroupAggregatedListItems-instanceGroupAggregatedListItems pIgaliAddtional_ =- InstanceGroupAggregatedListItems'- { _igaliAddtional = _Coerce # pIgaliAddtional_- }---- | The name of the scope that contains this set of instance groups.-igaliAddtional :: Lens' InstanceGroupAggregatedListItems (HashMap Text InstanceGroupsScopedList)-igaliAddtional- = lens _igaliAddtional- (\ s a -> s{_igaliAddtional = a})- . _Coerce--instance FromJSON InstanceGroupAggregatedListItems- where- parseJSON- = withObject "InstanceGroupAggregatedListItems"- (\ o ->- InstanceGroupAggregatedListItems' <$>- (parseJSONObject o))--instance ToJSON InstanceGroupAggregatedListItems- where- toJSON = toJSON . _igaliAddtional---- | Contains a list of TargetPool resources.------ /See:/ 'targetPoolList' smart constructor.-data TargetPoolList = TargetPoolList'- { _tplNextPageToken :: !(Maybe Text)- , _tplKind :: !Text- , _tplItems :: !(Maybe [TargetPool])- , _tplSelfLink :: !(Maybe Text)- , _tplId :: !(Maybe Text)- } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'TargetPoolList' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'tplNextPageToken'------ * 'tplKind'------ * 'tplItems'------ * 'tplSelfLink'------ * 'tplId'-targetPoolList- :: TargetPoolList-targetPoolList =- TargetPoolList'- { _tplNextPageToken = Nothing- , _tplKind = "compute#targetPoolList"- , _tplItems = Nothing- , _tplSelfLink = Nothing- , _tplId = Nothing- }---- | [Output Only] This token allows you to get the next page of results for--- list requests. If the number of results is larger than maxResults, use--- the nextPageToken as a value for the query parameter pageToken in the--- next list request. Subsequent list requests will have their own--- nextPageToken to continue paging through the results.-tplNextPageToken :: Lens' TargetPoolList (Maybe Text)-tplNextPageToken- = lens _tplNextPageToken- (\ s a -> s{_tplNextPageToken = a})---- | [Output Only] Type of resource. Always compute#targetPoolList for lists--- of target pools.-tplKind :: Lens' TargetPoolList Text-tplKind = lens _tplKind (\ s a -> s{_tplKind = a})---- | A list of TargetPool resources.-tplItems :: Lens' TargetPoolList [TargetPool]-tplItems- = lens _tplItems (\ s a -> s{_tplItems = a}) .- _Default- . _Coerce---- | [Output Only] Server-defined URL for this resource.-tplSelfLink :: Lens' TargetPoolList (Maybe Text)-tplSelfLink- = lens _tplSelfLink (\ s a -> s{_tplSelfLink = a})---- | [Output Only] Unique identifier for the resource. Defined by the server.-tplId :: Lens' TargetPoolList (Maybe Text)-tplId = lens _tplId (\ s a -> s{_tplId = a})--instance FromJSON TargetPoolList where- parseJSON- = withObject "TargetPoolList"- (\ o ->- TargetPoolList' <$>- (o .:? "nextPageToken") <*>- (o .:? "kind" .!= "compute#targetPoolList")- <*> (o .:? "items" .!= mempty)- <*> (o .:? "selfLink")- <*> (o .:? "id"))--instance ToJSON TargetPoolList where- toJSON TargetPoolList'{..}- = object- (catMaybes- [("nextPageToken" .=) <$> _tplNextPageToken,- Just ("kind" .= _tplKind),- ("items" .=) <$> _tplItems,- ("selfLink" .=) <$> _tplSelfLink,- ("id" .=) <$> _tplId])------- /See:/ 'targetInstanceAggregatedList' smart constructor.-data TargetInstanceAggregatedList = TargetInstanceAggregatedList'- { _tialNextPageToken :: !(Maybe Text)- , _tialKind :: !Text- , _tialItems :: !(Maybe TargetInstanceAggregatedListItems)- , _tialSelfLink :: !(Maybe Text)- , _tialId :: !(Maybe Text)- } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'TargetInstanceAggregatedList' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'tialNextPageToken'------ * 'tialKind'------ * 'tialItems'------ * 'tialSelfLink'------ * 'tialId'-targetInstanceAggregatedList- :: TargetInstanceAggregatedList-targetInstanceAggregatedList =- TargetInstanceAggregatedList'- { _tialNextPageToken = Nothing- , _tialKind = "compute#targetInstanceAggregatedList"- , _tialItems = Nothing- , _tialSelfLink = Nothing- , _tialId = Nothing- }---- | [Output Only] This token allows you to get the next page of results for--- list requests. If the number of results is larger than maxResults, use--- the nextPageToken as a value for the query parameter pageToken in the--- next list request. Subsequent list requests will have their own--- nextPageToken to continue paging through the results.-tialNextPageToken :: Lens' TargetInstanceAggregatedList (Maybe Text)-tialNextPageToken- = lens _tialNextPageToken- (\ s a -> s{_tialNextPageToken = a})---- | Type of resource.-tialKind :: Lens' TargetInstanceAggregatedList Text-tialKind = lens _tialKind (\ s a -> s{_tialKind = a})---- | A map of scoped target instance lists.-tialItems :: Lens' TargetInstanceAggregatedList (Maybe TargetInstanceAggregatedListItems)-tialItems- = lens _tialItems (\ s a -> s{_tialItems = a})---- | [Output Only] Server-defined URL for this resource.-tialSelfLink :: Lens' TargetInstanceAggregatedList (Maybe Text)-tialSelfLink- = lens _tialSelfLink (\ s a -> s{_tialSelfLink = a})---- | [Output Only] Unique identifier for the resource; defined by the server.-tialId :: Lens' TargetInstanceAggregatedList (Maybe Text)-tialId = lens _tialId (\ s a -> s{_tialId = a})--instance FromJSON TargetInstanceAggregatedList where- parseJSON- = withObject "TargetInstanceAggregatedList"- (\ o ->- TargetInstanceAggregatedList' <$>- (o .:? "nextPageToken") <*>- (o .:? "kind" .!=- "compute#targetInstanceAggregatedList")- <*> (o .:? "items")- <*> (o .:? "selfLink")- <*> (o .:? "id"))--instance ToJSON TargetInstanceAggregatedList where- toJSON TargetInstanceAggregatedList'{..}- = object- (catMaybes- [("nextPageToken" .=) <$> _tialNextPageToken,- Just ("kind" .= _tialKind),- ("items" .=) <$> _tialItems,- ("selfLink" .=) <$> _tialSelfLink,- ("id" .=) <$> _tialId])------- /See:/ 'disksScopedList' smart constructor.-data DisksScopedList = DisksScopedList'- { _dslWarning :: !(Maybe DisksScopedListWarning)- , _dslDisks :: !(Maybe [Disk])- } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'DisksScopedList' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'dslWarning'------ * 'dslDisks'-disksScopedList- :: DisksScopedList-disksScopedList =- DisksScopedList'- { _dslWarning = Nothing- , _dslDisks = Nothing- }---- | [Output Only] Informational warning which replaces the list of disks--- when the list is empty.-dslWarning :: Lens' DisksScopedList (Maybe DisksScopedListWarning)-dslWarning- = lens _dslWarning (\ s a -> s{_dslWarning = a})---- | [Output Only] List of disks contained in this scope.-dslDisks :: Lens' DisksScopedList [Disk]-dslDisks- = lens _dslDisks (\ s a -> s{_dslDisks = a}) .- _Default- . _Coerce--instance FromJSON DisksScopedList where- parseJSON- = withObject "DisksScopedList"- (\ o ->- DisksScopedList' <$>- (o .:? "warning") <*> (o .:? "disks" .!= mempty))--instance ToJSON DisksScopedList where- toJSON DisksScopedList'{..}- = object- (catMaybes- [("warning" .=) <$> _dslWarning,- ("disks" .=) <$> _dslDisks])------- /See:/ 'instanceGroupManagersScopedList' smart constructor.-data InstanceGroupManagersScopedList = InstanceGroupManagersScopedList'- { _igmslWarning :: !(Maybe InstanceGroupManagersScopedListWarning)- , _igmslInstanceGroupManagers :: !(Maybe [InstanceGroupManager])- } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'InstanceGroupManagersScopedList' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'igmslWarning'------ * 'igmslInstanceGroupManagers'-instanceGroupManagersScopedList- :: InstanceGroupManagersScopedList-instanceGroupManagersScopedList =- InstanceGroupManagersScopedList'- { _igmslWarning = Nothing- , _igmslInstanceGroupManagers = Nothing- }---- | [Output Only] The warning that replaces the list of managed instance--- groups when the list is empty.-igmslWarning :: Lens' InstanceGroupManagersScopedList (Maybe InstanceGroupManagersScopedListWarning)-igmslWarning- = lens _igmslWarning (\ s a -> s{_igmslWarning = a})---- | [Output Only] The list of managed instance groups that are contained in--- the specified project and zone.-igmslInstanceGroupManagers :: Lens' InstanceGroupManagersScopedList [InstanceGroupManager]-igmslInstanceGroupManagers- = lens _igmslInstanceGroupManagers- (\ s a -> s{_igmslInstanceGroupManagers = a})- . _Default- . _Coerce--instance FromJSON InstanceGroupManagersScopedList- where- parseJSON- = withObject "InstanceGroupManagersScopedList"- (\ o ->- InstanceGroupManagersScopedList' <$>- (o .:? "warning") <*>- (o .:? "instanceGroupManagers" .!= mempty))--instance ToJSON InstanceGroupManagersScopedList where- toJSON InstanceGroupManagersScopedList'{..}- = object- (catMaybes- [("warning" .=) <$> _igmslWarning,- ("instanceGroupManagers" .=) <$>- _igmslInstanceGroupManagers])------- /See:/ 'diskAggregatedList' smart constructor.-data DiskAggregatedList = DiskAggregatedList'- { _dalNextPageToken :: !(Maybe Text)- , _dalKind :: !Text- , _dalItems :: !(Maybe DiskAggregatedListItems)- , _dalSelfLink :: !(Maybe Text)- , _dalId :: !(Maybe Text)- } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'DiskAggregatedList' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'dalNextPageToken'------ * 'dalKind'------ * 'dalItems'------ * 'dalSelfLink'------ * 'dalId'-diskAggregatedList- :: DiskAggregatedList-diskAggregatedList =- DiskAggregatedList'- { _dalNextPageToken = Nothing- , _dalKind = "compute#diskAggregatedList"- , _dalItems = Nothing- , _dalSelfLink = Nothing- , _dalId = Nothing- }---- | [Output Only] This token allows you to get the next page of results for--- list requests. If the number of results is larger than maxResults, use--- the nextPageToken as a value for the query parameter pageToken in the--- next list request. Subsequent list requests will have their own--- nextPageToken to continue paging through the results.-dalNextPageToken :: Lens' DiskAggregatedList (Maybe Text)-dalNextPageToken- = lens _dalNextPageToken- (\ s a -> s{_dalNextPageToken = a})---- | [Output Only] Type of resource. Always compute#diskAggregatedList for--- aggregated lists of persistent disks.-dalKind :: Lens' DiskAggregatedList Text-dalKind = lens _dalKind (\ s a -> s{_dalKind = a})---- | [Output Only] A map of scoped disk lists.-dalItems :: Lens' DiskAggregatedList (Maybe DiskAggregatedListItems)-dalItems = lens _dalItems (\ s a -> s{_dalItems = a})---- | [Output Only] Server-defined URL for this resource.-dalSelfLink :: Lens' DiskAggregatedList (Maybe Text)-dalSelfLink- = lens _dalSelfLink (\ s a -> s{_dalSelfLink = a})---- | [Output Only] The unique identifier for the resource. This identifier is--- defined by the server.-dalId :: Lens' DiskAggregatedList (Maybe Text)-dalId = lens _dalId (\ s a -> s{_dalId = a})--instance FromJSON DiskAggregatedList where- parseJSON- = withObject "DiskAggregatedList"- (\ o ->- DiskAggregatedList' <$>- (o .:? "nextPageToken") <*>- (o .:? "kind" .!= "compute#diskAggregatedList")- <*> (o .:? "items")- <*> (o .:? "selfLink")- <*> (o .:? "id"))--instance ToJSON DiskAggregatedList where- toJSON DiskAggregatedList'{..}- = object- (catMaybes- [("nextPageToken" .=) <$> _dalNextPageToken,- Just ("kind" .= _dalKind),- ("items" .=) <$> _dalItems,- ("selfLink" .=) <$> _dalSelfLink,- ("id" .=) <$> _dalId])------- /See:/ 'instanceWithNamedPorts' smart constructor.-data InstanceWithNamedPorts = InstanceWithNamedPorts'- { _iwnpStatus :: !(Maybe InstanceWithNamedPortsStatus)- , _iwnpNamedPorts :: !(Maybe [NamedPort])- , _iwnpInstance :: !(Maybe Text)- } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'InstanceWithNamedPorts' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'iwnpStatus'------ * 'iwnpNamedPorts'------ * 'iwnpInstance'-instanceWithNamedPorts- :: InstanceWithNamedPorts-instanceWithNamedPorts =- InstanceWithNamedPorts'- { _iwnpStatus = Nothing- , _iwnpNamedPorts = Nothing- , _iwnpInstance = Nothing- }---- | [Output Only] The status of the instance.-iwnpStatus :: Lens' InstanceWithNamedPorts (Maybe InstanceWithNamedPortsStatus)-iwnpStatus- = lens _iwnpStatus (\ s a -> s{_iwnpStatus = a})---- | [Output Only] The named ports that belong to this instance group.-iwnpNamedPorts :: Lens' InstanceWithNamedPorts [NamedPort]-iwnpNamedPorts- = lens _iwnpNamedPorts- (\ s a -> s{_iwnpNamedPorts = a})- . _Default- . _Coerce---- | [Output Only] The URL of the instance.-iwnpInstance :: Lens' InstanceWithNamedPorts (Maybe Text)-iwnpInstance- = lens _iwnpInstance (\ s a -> s{_iwnpInstance = a})--instance FromJSON InstanceWithNamedPorts where- parseJSON- = withObject "InstanceWithNamedPorts"- (\ o ->- InstanceWithNamedPorts' <$>- (o .:? "status") <*> (o .:? "namedPorts" .!= mempty)- <*> (o .:? "instance"))--instance ToJSON InstanceWithNamedPorts where- toJSON InstanceWithNamedPorts'{..}- = object- (catMaybes- [("status" .=) <$> _iwnpStatus,- ("namedPorts" .=) <$> _iwnpNamedPorts,- ("instance" .=) <$> _iwnpInstance])------- /See:/ 'forwardingRulesScopedList' smart constructor.-data ForwardingRulesScopedList = ForwardingRulesScopedList'- { _frslWarning :: !(Maybe ForwardingRulesScopedListWarning)- , _frslForwardingRules :: !(Maybe [ForwardingRule])- } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'ForwardingRulesScopedList' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'frslWarning'------ * 'frslForwardingRules'-forwardingRulesScopedList- :: ForwardingRulesScopedList-forwardingRulesScopedList =- ForwardingRulesScopedList'- { _frslWarning = Nothing- , _frslForwardingRules = Nothing- }---- | Informational warning which replaces the list of forwarding rules when--- the list is empty.-frslWarning :: Lens' ForwardingRulesScopedList (Maybe ForwardingRulesScopedListWarning)-frslWarning- = lens _frslWarning (\ s a -> s{_frslWarning = a})---- | List of forwarding rules contained in this scope.-frslForwardingRules :: Lens' ForwardingRulesScopedList [ForwardingRule]-frslForwardingRules- = lens _frslForwardingRules- (\ s a -> s{_frslForwardingRules = a})- . _Default- . _Coerce--instance FromJSON ForwardingRulesScopedList where- parseJSON- = withObject "ForwardingRulesScopedList"- (\ o ->- ForwardingRulesScopedList' <$>- (o .:? "warning") <*>- (o .:? "forwardingRules" .!= mempty))--instance ToJSON ForwardingRulesScopedList where- toJSON ForwardingRulesScopedList'{..}- = object- (catMaybes- [("warning" .=) <$> _frslWarning,- ("forwardingRules" .=) <$> _frslForwardingRules])------- /See:/ 'instanceReference' smart constructor.-newtype InstanceReference = InstanceReference'- { _iInstance :: Maybe Text- } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'InstanceReference' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'iInstance'-instanceReference- :: InstanceReference-instanceReference =- InstanceReference'- { _iInstance = Nothing- }---- | The URL for a specific instance.-iInstance :: Lens' InstanceReference (Maybe Text)-iInstance- = lens _iInstance (\ s a -> s{_iInstance = a})--instance FromJSON InstanceReference where- parseJSON- = withObject "InstanceReference"- (\ o -> InstanceReference' <$> (o .:? "instance"))--instance ToJSON InstanceReference where- toJSON InstanceReference'{..}- = object (catMaybes [("instance" .=) <$> _iInstance])------- /See:/ 'operationAggregatedList' smart constructor.-data OperationAggregatedList = OperationAggregatedList'- { _oalNextPageToken :: !(Maybe Text)- , _oalKind :: !Text- , _oalItems :: !(Maybe OperationAggregatedListItems)- , _oalSelfLink :: !(Maybe Text)- , _oalId :: !(Maybe Text)- } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'OperationAggregatedList' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'oalNextPageToken'------ * 'oalKind'------ * 'oalItems'------ * 'oalSelfLink'------ * 'oalId'-operationAggregatedList- :: OperationAggregatedList-operationAggregatedList =- OperationAggregatedList'- { _oalNextPageToken = Nothing- , _oalKind = "compute#operationAggregatedList"- , _oalItems = Nothing- , _oalSelfLink = Nothing- , _oalId = Nothing- }---- | [Output Only] This token allows you to get the next page of results for--- list requests. If the number of results is larger than maxResults, use--- the nextPageToken as a value for the query parameter pageToken in the--- next list request. Subsequent list requests will have their own--- nextPageToken to continue paging through the results.-oalNextPageToken :: Lens' OperationAggregatedList (Maybe Text)-oalNextPageToken- = lens _oalNextPageToken- (\ s a -> s{_oalNextPageToken = a})---- | [Output Only] Type of resource. Always compute#operationAggregatedList--- for aggregated lists of operations.-oalKind :: Lens' OperationAggregatedList Text-oalKind = lens _oalKind (\ s a -> s{_oalKind = a})---- | [Output Only] A map of scoped operation lists.-oalItems :: Lens' OperationAggregatedList (Maybe OperationAggregatedListItems)-oalItems = lens _oalItems (\ s a -> s{_oalItems = a})---- | [Output Only] Server-defined URL for this resource.-oalSelfLink :: Lens' OperationAggregatedList (Maybe Text)-oalSelfLink- = lens _oalSelfLink (\ s a -> s{_oalSelfLink = a})---- | [Output Only] The unique identifier for the resource. This identifier is--- defined by the server.-oalId :: Lens' OperationAggregatedList (Maybe Text)-oalId = lens _oalId (\ s a -> s{_oalId = a})--instance FromJSON OperationAggregatedList where- parseJSON- = withObject "OperationAggregatedList"- (\ o ->- OperationAggregatedList' <$>- (o .:? "nextPageToken") <*>- (o .:? "kind" .!= "compute#operationAggregatedList")- <*> (o .:? "items")- <*> (o .:? "selfLink")- <*> (o .:? "id"))--instance ToJSON OperationAggregatedList where- toJSON OperationAggregatedList'{..}- = object- (catMaybes- [("nextPageToken" .=) <$> _oalNextPageToken,- Just ("kind" .= _oalKind),- ("items" .=) <$> _oalItems,- ("selfLink" .=) <$> _oalSelfLink,- ("id" .=) <$> _oalId])------- /See:/ 'operationsScopedList' smart constructor.-data OperationsScopedList = OperationsScopedList'- { _oslWarning :: !(Maybe OperationsScopedListWarning)- , _oslOperations :: !(Maybe [Operation])- } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'OperationsScopedList' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'oslWarning'------ * 'oslOperations'-operationsScopedList- :: OperationsScopedList-operationsScopedList =- OperationsScopedList'- { _oslWarning = Nothing- , _oslOperations = Nothing- }---- | [Output Only] Informational warning which replaces the list of--- operations when the list is empty.-oslWarning :: Lens' OperationsScopedList (Maybe OperationsScopedListWarning)-oslWarning- = lens _oslWarning (\ s a -> s{_oslWarning = a})---- | [Output Only] List of operations contained in this scope.-oslOperations :: Lens' OperationsScopedList [Operation]-oslOperations- = lens _oslOperations- (\ s a -> s{_oslOperations = a})- . _Default- . _Coerce--instance FromJSON OperationsScopedList where- parseJSON- = withObject "OperationsScopedList"- (\ o ->- OperationsScopedList' <$>- (o .:? "warning") <*>- (o .:? "operations" .!= mempty))--instance ToJSON OperationsScopedList where- toJSON OperationsScopedList'{..}- = object- (catMaybes- [("warning" .=) <$> _oslWarning,- ("operations" .=) <$> _oslOperations])---- | The named port. For example: .------ /See:/ 'namedPort' smart constructor.-data NamedPort = NamedPort'- { _npName :: !(Maybe Text)- , _npPort :: !(Maybe (Textual Int32))- } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'NamedPort' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'npName'------ * 'npPort'-namedPort- :: NamedPort-namedPort =- NamedPort'- { _npName = Nothing- , _npPort = Nothing- }---- | The name for this named port. The name must be 1-63 characters long, and--- comply with RFC1035.-npName :: Lens' NamedPort (Maybe Text)-npName = lens _npName (\ s a -> s{_npName = a})---- | The port number, which can be a value between 1 and 65535.-npPort :: Lens' NamedPort (Maybe Int32)-npPort- = lens _npPort (\ s a -> s{_npPort = a}) .- mapping _Coerce--instance FromJSON NamedPort where- parseJSON- = withObject "NamedPort"- (\ o ->- NamedPort' <$> (o .:? "name") <*> (o .:? "port"))--instance ToJSON NamedPort where- toJSON NamedPort'{..}- = object- (catMaybes- [("name" .=) <$> _npName, ("port" .=) <$> _npPort])---- | Contains a list of TargetInstance resources.------ /See:/ 'targetInstanceList' smart constructor.-data TargetInstanceList = TargetInstanceList'- { _tilNextPageToken :: !(Maybe Text)- , _tilKind :: !Text- , _tilItems :: !(Maybe [TargetInstance])- , _tilSelfLink :: !(Maybe Text)- , _tilId :: !(Maybe Text)- } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'TargetInstanceList' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'tilNextPageToken'------ * 'tilKind'------ * 'tilItems'------ * 'tilSelfLink'------ * 'tilId'-targetInstanceList- :: TargetInstanceList-targetInstanceList =- TargetInstanceList'- { _tilNextPageToken = Nothing- , _tilKind = "compute#targetInstanceList"- , _tilItems = Nothing- , _tilSelfLink = Nothing- , _tilId = Nothing- }---- | [Output Only] This token allows you to get the next page of results for--- list requests. If the number of results is larger than maxResults, use--- the nextPageToken as a value for the query parameter pageToken in the--- next list request. Subsequent list requests will have their own--- nextPageToken to continue paging through the results.-tilNextPageToken :: Lens' TargetInstanceList (Maybe Text)-tilNextPageToken- = lens _tilNextPageToken- (\ s a -> s{_tilNextPageToken = a})---- | Type of resource.-tilKind :: Lens' TargetInstanceList Text-tilKind = lens _tilKind (\ s a -> s{_tilKind = a})---- | A list of TargetInstance resources.-tilItems :: Lens' TargetInstanceList [TargetInstance]-tilItems- = lens _tilItems (\ s a -> s{_tilItems = a}) .- _Default- . _Coerce---- | [Output Only] Server-defined URL for this resource.-tilSelfLink :: Lens' TargetInstanceList (Maybe Text)-tilSelfLink- = lens _tilSelfLink (\ s a -> s{_tilSelfLink = a})---- | [Output Only] The unique identifier for the resource. This identifier is--- defined by the server.-tilId :: Lens' TargetInstanceList (Maybe Text)-tilId = lens _tilId (\ s a -> s{_tilId = a})--instance FromJSON TargetInstanceList where- parseJSON- = withObject "TargetInstanceList"- (\ o ->- TargetInstanceList' <$>- (o .:? "nextPageToken") <*>- (o .:? "kind" .!= "compute#targetInstanceList")- <*> (o .:? "items" .!= mempty)- <*> (o .:? "selfLink")- <*> (o .:? "id"))--instance ToJSON TargetInstanceList where- toJSON TargetInstanceList'{..}- = object- (catMaybes- [("nextPageToken" .=) <$> _tilNextPageToken,- Just ("kind" .= _tilKind),- ("items" .=) <$> _tilItems,- ("selfLink" .=) <$> _tilSelfLink,- ("id" .=) <$> _tilId])------- /See:/ 'instanceGroupManagerAggregatedList' smart constructor.-data InstanceGroupManagerAggregatedList = InstanceGroupManagerAggregatedList'- { _igmalNextPageToken :: !(Maybe Text)- , _igmalKind :: !Text- , _igmalItems :: !(Maybe InstanceGroupManagerAggregatedListItems)- , _igmalSelfLink :: !(Maybe Text)- , _igmalId :: !(Maybe Text)- } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'InstanceGroupManagerAggregatedList' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'igmalNextPageToken'------ * 'igmalKind'------ * 'igmalItems'------ * 'igmalSelfLink'------ * 'igmalId'-instanceGroupManagerAggregatedList- :: InstanceGroupManagerAggregatedList-instanceGroupManagerAggregatedList =- InstanceGroupManagerAggregatedList'- { _igmalNextPageToken = Nothing- , _igmalKind = "compute#instanceGroupManagerAggregatedList"- , _igmalItems = Nothing- , _igmalSelfLink = Nothing- , _igmalId = Nothing- }---- | [Output Only] This token allows you to get the next page of results for--- list requests. If the number of results is larger than maxResults, use--- the nextPageToken as a value for the query parameter pageToken in the--- next list request. Subsequent list requests will have their own--- nextPageToken to continue paging through the results.-igmalNextPageToken :: Lens' InstanceGroupManagerAggregatedList (Maybe Text)-igmalNextPageToken- = lens _igmalNextPageToken- (\ s a -> s{_igmalNextPageToken = a})---- | [Output Only] The resource type, which is always--- compute#instanceGroupManagerAggregatedList for an aggregated list of--- managed instance groups.-igmalKind :: Lens' InstanceGroupManagerAggregatedList Text-igmalKind- = lens _igmalKind (\ s a -> s{_igmalKind = a})---- | [Output Only] A map of filtered managed instance group lists.-igmalItems :: Lens' InstanceGroupManagerAggregatedList (Maybe InstanceGroupManagerAggregatedListItems)-igmalItems- = lens _igmalItems (\ s a -> s{_igmalItems = a})---- | [Output Only] The URL for this resource type. The server generates this--- URL.-igmalSelfLink :: Lens' InstanceGroupManagerAggregatedList (Maybe Text)-igmalSelfLink- = lens _igmalSelfLink- (\ s a -> s{_igmalSelfLink = a})---- | [Output Only] A unique identifier for this aggregated list of managed--- instance groups. The server generates this identifier.-igmalId :: Lens' InstanceGroupManagerAggregatedList (Maybe Text)-igmalId = lens _igmalId (\ s a -> s{_igmalId = a})--instance FromJSON InstanceGroupManagerAggregatedList- where- parseJSON- = withObject "InstanceGroupManagerAggregatedList"- (\ o ->- InstanceGroupManagerAggregatedList' <$>- (o .:? "nextPageToken") <*>- (o .:? "kind" .!=- "compute#instanceGroupManagerAggregatedList")- <*> (o .:? "items")- <*> (o .:? "selfLink")- <*> (o .:? "id"))--instance ToJSON InstanceGroupManagerAggregatedList- where- toJSON InstanceGroupManagerAggregatedList'{..}- = object- (catMaybes- [("nextPageToken" .=) <$> _igmalNextPageToken,- Just ("kind" .= _igmalKind),- ("items" .=) <$> _igmalItems,- ("selfLink" .=) <$> _igmalSelfLink,- ("id" .=) <$> _igmalId])------- /See:/ 'targetPoolsScopedList' smart constructor.-data TargetPoolsScopedList = TargetPoolsScopedList'- { _tpslWarning :: !(Maybe TargetPoolsScopedListWarning)- , _tpslTargetPools :: !(Maybe [TargetPool])- } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'TargetPoolsScopedList' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'tpslWarning'------ * 'tpslTargetPools'-targetPoolsScopedList- :: TargetPoolsScopedList-targetPoolsScopedList =- TargetPoolsScopedList'- { _tpslWarning = Nothing- , _tpslTargetPools = Nothing- }---- | Informational warning which replaces the list of addresses when the list--- is empty.-tpslWarning :: Lens' TargetPoolsScopedList (Maybe TargetPoolsScopedListWarning)-tpslWarning- = lens _tpslWarning (\ s a -> s{_tpslWarning = a})---- | List of target pools contained in this scope.-tpslTargetPools :: Lens' TargetPoolsScopedList [TargetPool]-tpslTargetPools- = lens _tpslTargetPools- (\ s a -> s{_tpslTargetPools = a})- . _Default- . _Coerce--instance FromJSON TargetPoolsScopedList where- parseJSON- = withObject "TargetPoolsScopedList"- (\ o ->- TargetPoolsScopedList' <$>- (o .:? "warning") <*>- (o .:? "targetPools" .!= mempty))--instance ToJSON TargetPoolsScopedList where- toJSON TargetPoolsScopedList'{..}- = object- (catMaybes- [("warning" .=) <$> _tpslWarning,- ("targetPools" .=) <$> _tpslTargetPools])------- /See:/ 'forwardingRuleAggregatedList' smart constructor.-data ForwardingRuleAggregatedList = ForwardingRuleAggregatedList'- { _fralNextPageToken :: !(Maybe Text)- , _fralKind :: !Text- , _fralItems :: !(Maybe ForwardingRuleAggregatedListItems)- , _fralSelfLink :: !(Maybe Text)- , _fralId :: !(Maybe Text)- } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'ForwardingRuleAggregatedList' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'fralNextPageToken'------ * 'fralKind'------ * 'fralItems'------ * 'fralSelfLink'------ * 'fralId'-forwardingRuleAggregatedList- :: ForwardingRuleAggregatedList-forwardingRuleAggregatedList =- ForwardingRuleAggregatedList'- { _fralNextPageToken = Nothing- , _fralKind = "compute#forwardingRuleAggregatedList"- , _fralItems = Nothing- , _fralSelfLink = Nothing- , _fralId = Nothing- }---- | [Output Only] This token allows you to get the next page of results for--- list requests. If the number of results is larger than maxResults, use--- the nextPageToken as a value for the query parameter pageToken in the--- next list request. Subsequent list requests will have their own--- nextPageToken to continue paging through the results.-fralNextPageToken :: Lens' ForwardingRuleAggregatedList (Maybe Text)-fralNextPageToken- = lens _fralNextPageToken- (\ s a -> s{_fralNextPageToken = a})---- | [Output Only] Type of resource. Always--- compute#forwardingRuleAggregatedList for lists of forwarding rules.-fralKind :: Lens' ForwardingRuleAggregatedList Text-fralKind = lens _fralKind (\ s a -> s{_fralKind = a})---- | A map of scoped forwarding rule lists.-fralItems :: Lens' ForwardingRuleAggregatedList (Maybe ForwardingRuleAggregatedListItems)-fralItems- = lens _fralItems (\ s a -> s{_fralItems = a})---- | [Output Only] Server-defined URL for this resource.-fralSelfLink :: Lens' ForwardingRuleAggregatedList (Maybe Text)-fralSelfLink- = lens _fralSelfLink (\ s a -> s{_fralSelfLink = a})---- | [Output Only] The unique identifier for the resource. This identifier is--- defined by the server.-fralId :: Lens' ForwardingRuleAggregatedList (Maybe Text)-fralId = lens _fralId (\ s a -> s{_fralId = a})--instance FromJSON ForwardingRuleAggregatedList where- parseJSON- = withObject "ForwardingRuleAggregatedList"- (\ o ->- ForwardingRuleAggregatedList' <$>- (o .:? "nextPageToken") <*>- (o .:? "kind" .!=- "compute#forwardingRuleAggregatedList")- <*> (o .:? "items")- <*> (o .:? "selfLink")- <*> (o .:? "id"))--instance ToJSON ForwardingRuleAggregatedList where- toJSON ForwardingRuleAggregatedList'{..}- = object- (catMaybes- [("nextPageToken" .=) <$> _fralNextPageToken,- Just ("kind" .= _fralKind),- ("items" .=) <$> _fralItems,- ("selfLink" .=) <$> _fralSelfLink,- ("id" .=) <$> _fralId])------- /See:/ 'targetReference' smart constructor.-newtype TargetReference = TargetReference'- { _trTarget :: Maybe Text- } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'TargetReference' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'trTarget'-targetReference- :: TargetReference-targetReference =- TargetReference'- { _trTarget = Nothing- }--trTarget :: Lens' TargetReference (Maybe Text)-trTarget = lens _trTarget (\ s a -> s{_trTarget = a})--instance FromJSON TargetReference where- parseJSON- = withObject "TargetReference"- (\ o -> TargetReference' <$> (o .:? "target"))--instance ToJSON TargetReference where- toJSON TargetReference'{..}- = object (catMaybes [("target" .=) <$> _trTarget])------- /See:/ 'targetPoolAggregatedList' smart constructor.-data TargetPoolAggregatedList = TargetPoolAggregatedList'- { _tpalNextPageToken :: !(Maybe Text)- , _tpalKind :: !Text- , _tpalItems :: !(Maybe TargetPoolAggregatedListItems)- , _tpalSelfLink :: !(Maybe Text)- , _tpalId :: !(Maybe Text)- } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'TargetPoolAggregatedList' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'tpalNextPageToken'------ * 'tpalKind'------ * 'tpalItems'------ * 'tpalSelfLink'------ * 'tpalId'-targetPoolAggregatedList- :: TargetPoolAggregatedList-targetPoolAggregatedList =- TargetPoolAggregatedList'- { _tpalNextPageToken = Nothing- , _tpalKind = "compute#targetPoolAggregatedList"- , _tpalItems = Nothing- , _tpalSelfLink = Nothing- , _tpalId = Nothing- }---- | [Output Only] This token allows you to get the next page of results for--- list requests. If the number of results is larger than maxResults, use--- the nextPageToken as a value for the query parameter pageToken in the--- next list request. Subsequent list requests will have their own--- nextPageToken to continue paging through the results.-tpalNextPageToken :: Lens' TargetPoolAggregatedList (Maybe Text)-tpalNextPageToken- = lens _tpalNextPageToken- (\ s a -> s{_tpalNextPageToken = a})---- | [Output Only] Type of resource. Always compute#targetPoolAggregatedList--- for aggregated lists of target pools.-tpalKind :: Lens' TargetPoolAggregatedList Text-tpalKind = lens _tpalKind (\ s a -> s{_tpalKind = a})---- | [Output Only] A map of scoped target pool lists.-tpalItems :: Lens' TargetPoolAggregatedList (Maybe TargetPoolAggregatedListItems)-tpalItems- = lens _tpalItems (\ s a -> s{_tpalItems = a})---- | [Output Only] Server-defined URL for this resource.-tpalSelfLink :: Lens' TargetPoolAggregatedList (Maybe Text)-tpalSelfLink- = lens _tpalSelfLink (\ s a -> s{_tpalSelfLink = a})---- | [Output Only] Unique identifier for the resource. Defined by the server.-tpalId :: Lens' TargetPoolAggregatedList (Maybe Text)-tpalId = lens _tpalId (\ s a -> s{_tpalId = a})--instance FromJSON TargetPoolAggregatedList where- parseJSON- = withObject "TargetPoolAggregatedList"- (\ o ->- TargetPoolAggregatedList' <$>- (o .:? "nextPageToken") <*>- (o .:? "kind" .!= "compute#targetPoolAggregatedList")- <*> (o .:? "items")- <*> (o .:? "selfLink")- <*> (o .:? "id"))--instance ToJSON TargetPoolAggregatedList where- toJSON TargetPoolAggregatedList'{..}- = object- (catMaybes- [("nextPageToken" .=) <$> _tpalNextPageToken,- Just ("kind" .= _tpalKind),- ("items" .=) <$> _tpalItems,- ("selfLink" .=) <$> _tpalSelfLink,- ("id" .=) <$> _tpalId])------- /See:/ 'operationsScopedListWarningDataItem' smart constructor.-data OperationsScopedListWarningDataItem = OperationsScopedListWarningDataItem'- { _oslwdiValue :: !(Maybe Text)- , _oslwdiKey :: !(Maybe Text)- } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'OperationsScopedListWarningDataItem' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'oslwdiValue'------ * 'oslwdiKey'-operationsScopedListWarningDataItem- :: OperationsScopedListWarningDataItem-operationsScopedListWarningDataItem =- OperationsScopedListWarningDataItem'- { _oslwdiValue = Nothing- , _oslwdiKey = Nothing- }---- | [Output Only] A warning data value corresponding to the key.-oslwdiValue :: Lens' OperationsScopedListWarningDataItem (Maybe Text)-oslwdiValue- = lens _oslwdiValue (\ s a -> s{_oslwdiValue = a})---- | [Output Only] A key that provides more detail on the warning being--- returned. For example, for warnings where there are no results in a list--- request for a particular zone, this key might be scope and the key value--- might be the zone name. Other examples might be a key indicating a--- deprecated resource and a suggested replacement, or a warning about--- invalid network settings (for example, if an instance attempts to--- perform IP forwarding but is not enabled for IP forwarding).-oslwdiKey :: Lens' OperationsScopedListWarningDataItem (Maybe Text)-oslwdiKey- = lens _oslwdiKey (\ s a -> s{_oslwdiKey = a})--instance FromJSON OperationsScopedListWarningDataItem- where- parseJSON- = withObject "OperationsScopedListWarningDataItem"- (\ o ->- OperationsScopedListWarningDataItem' <$>- (o .:? "value") <*> (o .:? "key"))--instance ToJSON OperationsScopedListWarningDataItem- where- toJSON OperationsScopedListWarningDataItem'{..}- = object- (catMaybes- [("value" .=) <$> _oslwdiValue,- ("key" .=) <$> _oslwdiKey])---- | A TargetPool resource. This resource defines a pool of instances,--- associated HttpHealthCheck resources, and the fallback target pool.------ /See:/ 'targetPool' smart constructor.-data TargetPool = TargetPool'- { _tpSessionAffinity :: !(Maybe TargetPoolSessionAffinity)- , _tpBackupPool :: !(Maybe Text)- , _tpKind :: !Text- , _tpSelfLink :: !(Maybe Text)- , _tpName :: !(Maybe Text)- , _tpCreationTimestamp :: !(Maybe Text)- , _tpInstances :: !(Maybe [Text])- , _tpId :: !(Maybe (Textual Word64))- , _tpFailoverRatio :: !(Maybe (Textual Double))- , _tpRegion :: !(Maybe Text)- , _tpDescription :: !(Maybe Text)- , _tpHealthChecks :: !(Maybe [Text])- } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'TargetPool' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'tpSessionAffinity'------ * 'tpBackupPool'------ * 'tpKind'------ * 'tpSelfLink'------ * 'tpName'------ * 'tpCreationTimestamp'------ * 'tpInstances'------ * 'tpId'------ * 'tpFailoverRatio'------ * 'tpRegion'------ * 'tpDescription'------ * 'tpHealthChecks'-targetPool- :: TargetPool-targetPool =- TargetPool'- { _tpSessionAffinity = Nothing- , _tpBackupPool = Nothing- , _tpKind = "compute#targetPool"- , _tpSelfLink = Nothing- , _tpName = Nothing- , _tpCreationTimestamp = Nothing- , _tpInstances = Nothing- , _tpId = Nothing- , _tpFailoverRatio = Nothing- , _tpRegion = Nothing- , _tpDescription = Nothing- , _tpHealthChecks = Nothing- }---- | Sesssion affinity option, must be one of the following values: NONE:--- Connections from the same client IP may go to any instance in the pool.--- CLIENT_IP: Connections from the same client IP will go to the same--- instance in the pool while that instance remains healthy.--- CLIENT_IP_PROTO: Connections from the same client IP with the same IP--- protocol will go to the same instance in the pool while that instance--- remains healthy.-tpSessionAffinity :: Lens' TargetPool (Maybe TargetPoolSessionAffinity)-tpSessionAffinity- = lens _tpSessionAffinity- (\ s a -> s{_tpSessionAffinity = a})---- | This field is applicable only when the containing target pool is serving--- a forwarding rule as the primary pool, and its failoverRatio field is--- properly set to a value between [0, 1]. backupPool and failoverRatio--- together define the fallback behavior of the primary target pool: if the--- ratio of the healthy instances in the primary pool is at or below--- failoverRatio, traffic arriving at the load-balanced IP will be directed--- to the backup pool. In case where failoverRatio and backupPool are not--- set, or all the instances in the backup pool are unhealthy, the traffic--- will be directed back to the primary pool in the \"force\" mode, where--- traffic will be spread to the healthy instances with the best effort, or--- to all instances when no instance is healthy.-tpBackupPool :: Lens' TargetPool (Maybe Text)-tpBackupPool- = lens _tpBackupPool (\ s a -> s{_tpBackupPool = a})---- | [Output Only] Type of the resource. Always compute#targetPool for target--- pools.-tpKind :: Lens' TargetPool Text-tpKind = lens _tpKind (\ s a -> s{_tpKind = a})---- | [Output Only] Server-defined URL for the resource.-tpSelfLink :: Lens' TargetPool (Maybe Text)-tpSelfLink- = lens _tpSelfLink (\ s a -> s{_tpSelfLink = a})---- | Name of the resource. Provided by the client when the resource is--- created. The name must be 1-63 characters long, and comply with RFC1035.--- Specifically, the name must be 1-63 characters long and match the--- regular expression [a-z]([-a-z0-9]*[a-z0-9])? which means the first--- character must be a lowercase letter, and all following characters must--- be a dash, lowercase letter, or digit, except the last character, which--- cannot be a dash.-tpName :: Lens' TargetPool (Maybe Text)-tpName = lens _tpName (\ s a -> s{_tpName = a})---- | [Output Only] Creation timestamp in RFC3339 text format.-tpCreationTimestamp :: Lens' TargetPool (Maybe Text)-tpCreationTimestamp- = lens _tpCreationTimestamp- (\ s a -> s{_tpCreationTimestamp = a})---- | A list of resource URLs to the virtual machine instances serving this--- pool. They must live in zones contained in the same region as this pool.-tpInstances :: Lens' TargetPool [Text]-tpInstances- = lens _tpInstances (\ s a -> s{_tpInstances = a}) .- _Default- . _Coerce---- | [Output Only] The unique identifier for the resource. This identifier is--- defined by the server.-tpId :: Lens' TargetPool (Maybe Word64)-tpId- = lens _tpId (\ s a -> s{_tpId = a}) .- mapping _Coerce---- | This field is applicable only when the containing target pool is serving--- a forwarding rule as the primary pool (i.e., not as a backup pool to--- some other target pool). The value of the field must be in [0, 1]. If--- set, backupPool must also be set. They together define the fallback--- behavior of the primary target pool: if the ratio of the healthy--- instances in the primary pool is at or below this number, traffic--- arriving at the load-balanced IP will be directed to the backup pool. In--- case where failoverRatio is not set or all the instances in the backup--- pool are unhealthy, the traffic will be directed back to the primary--- pool in the \"force\" mode, where traffic will be spread to the healthy--- instances with the best effort, or to all instances when no instance is--- healthy.-tpFailoverRatio :: Lens' TargetPool (Maybe Double)-tpFailoverRatio- = lens _tpFailoverRatio- (\ s a -> s{_tpFailoverRatio = a})- . mapping _Coerce---- | [Output Only] URL of the region where the target pool resides.-tpRegion :: Lens' TargetPool (Maybe Text)-tpRegion = lens _tpRegion (\ s a -> s{_tpRegion = a})---- | An optional description of this resource. Provide this property when you--- create the resource.-tpDescription :: Lens' TargetPool (Maybe Text)-tpDescription- = lens _tpDescription- (\ s a -> s{_tpDescription = a})---- | A list of URLs to the HttpHealthCheck resource. A member instance in--- this pool is considered healthy if and only if all specified health--- checks pass. An empty list means all member instances will be considered--- healthy at all times.-tpHealthChecks :: Lens' TargetPool [Text]-tpHealthChecks- = lens _tpHealthChecks- (\ s a -> s{_tpHealthChecks = a})- . _Default- . _Coerce--instance FromJSON TargetPool where- parseJSON- = withObject "TargetPool"- (\ o ->- TargetPool' <$>- (o .:? "sessionAffinity") <*> (o .:? "backupPool")- <*> (o .:? "kind" .!= "compute#targetPool")- <*> (o .:? "selfLink")- <*> (o .:? "name")- <*> (o .:? "creationTimestamp")- <*> (o .:? "instances" .!= mempty)- <*> (o .:? "id")- <*> (o .:? "failoverRatio")- <*> (o .:? "region")- <*> (o .:? "description")- <*> (o .:? "healthChecks" .!= mempty))--instance ToJSON TargetPool where- toJSON TargetPool'{..}- = object- (catMaybes- [("sessionAffinity" .=) <$> _tpSessionAffinity,- ("backupPool" .=) <$> _tpBackupPool,- Just ("kind" .= _tpKind),- ("selfLink" .=) <$> _tpSelfLink,- ("name" .=) <$> _tpName,- ("creationTimestamp" .=) <$> _tpCreationTimestamp,- ("instances" .=) <$> _tpInstances,- ("id" .=) <$> _tpId,- ("failoverRatio" .=) <$> _tpFailoverRatio,- ("region" .=) <$> _tpRegion,- ("description" .=) <$> _tpDescription,- ("healthChecks" .=) <$> _tpHealthChecks])---- | Contains a list of images.------ /See:/ 'imageList' smart constructor.-data ImageList = ImageList'- { _ilNextPageToken :: !(Maybe Text)- , _ilKind :: !Text- , _ilItems :: !(Maybe [Image])- , _ilSelfLink :: !(Maybe Text)- , _ilId :: !(Maybe Text)- } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'ImageList' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'ilNextPageToken'------ * 'ilKind'------ * 'ilItems'------ * 'ilSelfLink'------ * 'ilId'-imageList- :: ImageList-imageList =- ImageList'- { _ilNextPageToken = Nothing- , _ilKind = "compute#imageList"- , _ilItems = Nothing- , _ilSelfLink = Nothing- , _ilId = Nothing- }---- | [Output Only] This token allows you to get the next page of results for--- list requests. If the number of results is larger than maxResults, use--- the nextPageToken as a value for the query parameter pageToken in the--- next list request. Subsequent list requests will have their own--- nextPageToken to continue paging through the results.-ilNextPageToken :: Lens' ImageList (Maybe Text)-ilNextPageToken- = lens _ilNextPageToken- (\ s a -> s{_ilNextPageToken = a})---- | Type of resource.-ilKind :: Lens' ImageList Text-ilKind = lens _ilKind (\ s a -> s{_ilKind = a})---- | [Output Only] A list of Image resources.-ilItems :: Lens' ImageList [Image]-ilItems- = lens _ilItems (\ s a -> s{_ilItems = a}) . _Default- . _Coerce---- | [Output Only] Server-defined URL for this resource.-ilSelfLink :: Lens' ImageList (Maybe Text)-ilSelfLink- = lens _ilSelfLink (\ s a -> s{_ilSelfLink = a})---- | [Output Only] The unique identifier for the resource. This identifier is--- defined by the server.-ilId :: Lens' ImageList (Maybe Text)-ilId = lens _ilId (\ s a -> s{_ilId = a})--instance FromJSON ImageList where- parseJSON- = withObject "ImageList"- (\ o ->- ImageList' <$>- (o .:? "nextPageToken") <*>- (o .:? "kind" .!= "compute#imageList")- <*> (o .:? "items" .!= mempty)- <*> (o .:? "selfLink")- <*> (o .:? "id"))--instance ToJSON ImageList where- toJSON ImageList'{..}- = object- (catMaybes- [("nextPageToken" .=) <$> _ilNextPageToken,- Just ("kind" .= _ilKind), ("items" .=) <$> _ilItems,- ("selfLink" .=) <$> _ilSelfLink,- ("id" .=) <$> _ilId])---- | Informational warning which replaces the list of addresses when the list--- is empty.------ /See:/ 'vpnTunnelsScopedListWarning' smart constructor.-data VPNTunnelsScopedListWarning = VPNTunnelsScopedListWarning'- { _vtslwData :: !(Maybe [VPNTunnelsScopedListWarningDataItem])- , _vtslwCode :: !(Maybe VPNTunnelsScopedListWarningCode)- , _vtslwMessage :: !(Maybe Text)- } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'VPNTunnelsScopedListWarning' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'vtslwData'------ * 'vtslwCode'------ * 'vtslwMessage'-vpnTunnelsScopedListWarning- :: VPNTunnelsScopedListWarning-vpnTunnelsScopedListWarning =- VPNTunnelsScopedListWarning'- { _vtslwData = Nothing- , _vtslwCode = Nothing- , _vtslwMessage = Nothing- }---- | [Output Only] Metadata about this warning in key: value format. For--- example: \"data\": [ { \"key\": \"scope\", \"value\":--- \"zones\/us-east1-d\" }-vtslwData :: Lens' VPNTunnelsScopedListWarning [VPNTunnelsScopedListWarningDataItem]-vtslwData- = lens _vtslwData (\ s a -> s{_vtslwData = a}) .- _Default- . _Coerce---- | [Output Only] A warning code, if applicable. For example, Compute Engine--- returns NO_RESULTS_ON_PAGE if there are no results in the response.-vtslwCode :: Lens' VPNTunnelsScopedListWarning (Maybe VPNTunnelsScopedListWarningCode)-vtslwCode- = lens _vtslwCode (\ s a -> s{_vtslwCode = a})---- | [Output Only] A human-readable description of the warning code.-vtslwMessage :: Lens' VPNTunnelsScopedListWarning (Maybe Text)-vtslwMessage- = lens _vtslwMessage (\ s a -> s{_vtslwMessage = a})--instance FromJSON VPNTunnelsScopedListWarning where- parseJSON- = withObject "VPNTunnelsScopedListWarning"- (\ o ->- VPNTunnelsScopedListWarning' <$>- (o .:? "data" .!= mempty) <*> (o .:? "code") <*>- (o .:? "message"))--instance ToJSON VPNTunnelsScopedListWarning where- toJSON VPNTunnelsScopedListWarning'{..}- = object- (catMaybes- [("data" .=) <$> _vtslwData,- ("code" .=) <$> _vtslwCode,- ("message" .=) <$> _vtslwMessage])---- | A ForwardingRule resource. A ForwardingRule resource specifies which--- pool of target virtual machines to forward a packet to if it matches the--- given [IPAddress, IPProtocol, portRange] tuple.------ /See:/ 'forwardingRule' smart constructor.-data ForwardingRule = ForwardingRule'- { _frIPAddress :: !(Maybe Text)- , _frKind :: !Text- , _frPortRange :: !(Maybe Text)- , _frSelfLink :: !(Maybe Text)- , _frName :: !(Maybe Text)- , _frIPProtocol :: !(Maybe ForwardingRuleIPProtocol)- , _frCreationTimestamp :: !(Maybe Text)- , _frId :: !(Maybe (Textual Word64))- , _frRegion :: !(Maybe Text)- , _frDescription :: !(Maybe Text)- , _frTarget :: !(Maybe Text)- } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'ForwardingRule' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'frIPAddress'------ * 'frKind'------ * 'frPortRange'------ * 'frSelfLink'------ * 'frName'------ * 'frIPProtocol'------ * 'frCreationTimestamp'------ * 'frId'------ * 'frRegion'------ * 'frDescription'------ * 'frTarget'-forwardingRule- :: ForwardingRule-forwardingRule =- ForwardingRule'- { _frIPAddress = Nothing- , _frKind = "compute#forwardingRule"- , _frPortRange = Nothing- , _frSelfLink = Nothing- , _frName = Nothing- , _frIPProtocol = Nothing- , _frCreationTimestamp = Nothing- , _frId = Nothing- , _frRegion = Nothing- , _frDescription = Nothing- , _frTarget = Nothing- }---- | Value of the reserved IP address that this forwarding rule is serving on--- behalf of. For global forwarding rules, the address must be a global IP;--- for regional forwarding rules, the address must live in the same region--- as the forwarding rule. If left empty (default value), an ephemeral IP--- from the same scope (global or regional) will be assigned.-frIPAddress :: Lens' ForwardingRule (Maybe Text)-frIPAddress- = lens _frIPAddress (\ s a -> s{_frIPAddress = a})---- | [Output Only] Type of the resource. Always compute#forwardingRule for--- Forwarding Rule resources.-frKind :: Lens' ForwardingRule Text-frKind = lens _frKind (\ s a -> s{_frKind = a})---- | Applicable only when IPProtocol is TCP, UDP, or SCTP, only packets--- addressed to ports in the specified range will be forwarded to target.--- Forwarding rules with the same [IPAddress, IPProtocol] pair must have--- disjoint port ranges.-frPortRange :: Lens' ForwardingRule (Maybe Text)-frPortRange- = lens _frPortRange (\ s a -> s{_frPortRange = a})---- | [Output Only] Server-defined URL for the resource.-frSelfLink :: Lens' ForwardingRule (Maybe Text)-frSelfLink- = lens _frSelfLink (\ s a -> s{_frSelfLink = a})---- | Name of the resource; provided by the client when the resource is--- created. The name must be 1-63 characters long, and comply with RFC1035.--- Specifically, the name must be 1-63 characters long and match the--- regular expression [a-z]([-a-z0-9]*[a-z0-9])? which means the first--- character must be a lowercase letter, and all following characters must--- be a dash, lowercase letter, or digit, except the last character, which--- cannot be a dash.-frName :: Lens' ForwardingRule (Maybe Text)-frName = lens _frName (\ s a -> s{_frName = a})---- | The IP protocol to which this rule applies. Valid options are TCP, UDP,--- ESP, AH, SCTP or ICMP.-frIPProtocol :: Lens' ForwardingRule (Maybe ForwardingRuleIPProtocol)-frIPProtocol- = lens _frIPProtocol (\ s a -> s{_frIPProtocol = a})---- | [Output Only] Creation timestamp in RFC3339 text format.-frCreationTimestamp :: Lens' ForwardingRule (Maybe Text)-frCreationTimestamp- = lens _frCreationTimestamp- (\ s a -> s{_frCreationTimestamp = a})---- | [Output Only] The unique identifier for the resource. This identifier is--- defined by the server.-frId :: Lens' ForwardingRule (Maybe Word64)-frId- = lens _frId (\ s a -> s{_frId = a}) .- mapping _Coerce---- | [Output Only] URL of the region where the regional forwarding rule--- resides. This field is not applicable to global forwarding rules.-frRegion :: Lens' ForwardingRule (Maybe Text)-frRegion = lens _frRegion (\ s a -> s{_frRegion = a})---- | An optional description of this resource. Provide this property when you--- create the resource.-frDescription :: Lens' ForwardingRule (Maybe Text)-frDescription- = lens _frDescription- (\ s a -> s{_frDescription = a})---- | The URL of the target resource to receive the matched traffic. For--- regional forwarding rules, this target must live in the same region as--- the forwarding rule. For global forwarding rules, this target must be a--- global TargetHttpProxy or TargetHttpsProxy resource. The forwarded--- traffic must be of a type appropriate to the target object. For example,--- TargetHttpProxy requires HTTP traffic, and TargetHttpsProxy requires--- HTTPS traffic.-frTarget :: Lens' ForwardingRule (Maybe Text)-frTarget = lens _frTarget (\ s a -> s{_frTarget = a})--instance FromJSON ForwardingRule where- parseJSON- = withObject "ForwardingRule"- (\ o ->- ForwardingRule' <$>- (o .:? "IPAddress") <*>- (o .:? "kind" .!= "compute#forwardingRule")- <*> (o .:? "portRange")- <*> (o .:? "selfLink")- <*> (o .:? "name")- <*> (o .:? "IPProtocol")- <*> (o .:? "creationTimestamp")- <*> (o .:? "id")- <*> (o .:? "region")- <*> (o .:? "description")- <*> (o .:? "target"))--instance ToJSON ForwardingRule where- toJSON ForwardingRule'{..}- = object- (catMaybes- [("IPAddress" .=) <$> _frIPAddress,- Just ("kind" .= _frKind),- ("portRange" .=) <$> _frPortRange,- ("selfLink" .=) <$> _frSelfLink,- ("name" .=) <$> _frName,- ("IPProtocol" .=) <$> _frIPProtocol,- ("creationTimestamp" .=) <$> _frCreationTimestamp,- ("id" .=) <$> _frId, ("region" .=) <$> _frRegion,- ("description" .=) <$> _frDescription,- ("target" .=) <$> _frTarget])---- | Contains a list of UrlMap resources.------ /See:/ 'urlMapList' smart constructor.-data URLMapList = URLMapList'- { _umlNextPageToken :: !(Maybe Text)- , _umlKind :: !Text- , _umlItems :: !(Maybe [URLMap])- , _umlSelfLink :: !(Maybe Text)- , _umlId :: !(Maybe Text)- } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'URLMapList' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'umlNextPageToken'------ * 'umlKind'------ * 'umlItems'------ * 'umlSelfLink'------ * 'umlId'-urlMapList- :: URLMapList-urlMapList =- URLMapList'- { _umlNextPageToken = Nothing- , _umlKind = "compute#urlMapList"- , _umlItems = Nothing- , _umlSelfLink = Nothing- , _umlId = Nothing- }---- | [Output Only] This token allows you to get the next page of results for--- list requests. If the number of results is larger than maxResults, use--- the nextPageToken as a value for the query parameter pageToken in the--- next list request. Subsequent list requests will have their own--- nextPageToken to continue paging through the results.-umlNextPageToken :: Lens' URLMapList (Maybe Text)-umlNextPageToken- = lens _umlNextPageToken- (\ s a -> s{_umlNextPageToken = a})---- | Type of resource.-umlKind :: Lens' URLMapList Text-umlKind = lens _umlKind (\ s a -> s{_umlKind = a})---- | A list of UrlMap resources.-umlItems :: Lens' URLMapList [URLMap]-umlItems- = lens _umlItems (\ s a -> s{_umlItems = a}) .- _Default- . _Coerce---- | [Output Only] Server-defined URL for this resource.-umlSelfLink :: Lens' URLMapList (Maybe Text)-umlSelfLink- = lens _umlSelfLink (\ s a -> s{_umlSelfLink = a})---- | [Output Only] Unique identifier for the resource. Set by the server.-umlId :: Lens' URLMapList (Maybe Text)-umlId = lens _umlId (\ s a -> s{_umlId = a})--instance FromJSON URLMapList where- parseJSON- = withObject "URLMapList"- (\ o ->- URLMapList' <$>- (o .:? "nextPageToken") <*>- (o .:? "kind" .!= "compute#urlMapList")- <*> (o .:? "items" .!= mempty)- <*> (o .:? "selfLink")- <*> (o .:? "id"))--instance ToJSON URLMapList where- toJSON URLMapList'{..}- = object- (catMaybes- [("nextPageToken" .=) <$> _umlNextPageToken,- Just ("kind" .= _umlKind),- ("items" .=) <$> _umlItems,- ("selfLink" .=) <$> _umlSelfLink,- ("id" .=) <$> _umlId])------- /See:/ 'forwardingRulesScopedListWarningDataItem' smart constructor.-data ForwardingRulesScopedListWarningDataItem = ForwardingRulesScopedListWarningDataItem'- { _frslwdiValue :: !(Maybe Text)- , _frslwdiKey :: !(Maybe Text)- } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'ForwardingRulesScopedListWarningDataItem' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'frslwdiValue'------ * 'frslwdiKey'-forwardingRulesScopedListWarningDataItem- :: ForwardingRulesScopedListWarningDataItem-forwardingRulesScopedListWarningDataItem =- ForwardingRulesScopedListWarningDataItem'- { _frslwdiValue = Nothing- , _frslwdiKey = Nothing- }---- | [Output Only] A warning data value corresponding to the key.-frslwdiValue :: Lens' ForwardingRulesScopedListWarningDataItem (Maybe Text)-frslwdiValue- = lens _frslwdiValue (\ s a -> s{_frslwdiValue = a})---- | [Output Only] A key that provides more detail on the warning being--- returned. For example, for warnings where there are no results in a list--- request for a particular zone, this key might be scope and the key value--- might be the zone name. Other examples might be a key indicating a--- deprecated resource and a suggested replacement, or a warning about--- invalid network settings (for example, if an instance attempts to--- perform IP forwarding but is not enabled for IP forwarding).-frslwdiKey :: Lens' ForwardingRulesScopedListWarningDataItem (Maybe Text)-frslwdiKey- = lens _frslwdiKey (\ s a -> s{_frslwdiKey = a})--instance FromJSON- ForwardingRulesScopedListWarningDataItem where- parseJSON- = withObject- "ForwardingRulesScopedListWarningDataItem"- (\ o ->- ForwardingRulesScopedListWarningDataItem' <$>- (o .:? "value") <*> (o .:? "key"))--instance ToJSON- ForwardingRulesScopedListWarningDataItem where- toJSON ForwardingRulesScopedListWarningDataItem'{..}- = object- (catMaybes- [("value" .=) <$> _frslwdiValue,- ("key" .=) <$> _frslwdiKey])------- /See:/ 'instanceGroupManagersScopedListWarningDataItem' smart constructor.-data InstanceGroupManagersScopedListWarningDataItem = InstanceGroupManagersScopedListWarningDataItem'- { _igmslwdiValue :: !(Maybe Text)- , _igmslwdiKey :: !(Maybe Text)- } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'InstanceGroupManagersScopedListWarningDataItem' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'igmslwdiValue'------ * 'igmslwdiKey'-instanceGroupManagersScopedListWarningDataItem- :: InstanceGroupManagersScopedListWarningDataItem-instanceGroupManagersScopedListWarningDataItem =- InstanceGroupManagersScopedListWarningDataItem'- { _igmslwdiValue = Nothing- , _igmslwdiKey = Nothing- }---- | [Output Only] A warning data value corresponding to the key.-igmslwdiValue :: Lens' InstanceGroupManagersScopedListWarningDataItem (Maybe Text)-igmslwdiValue- = lens _igmslwdiValue- (\ s a -> s{_igmslwdiValue = a})---- | [Output Only] A key that provides more detail on the warning being--- returned. For example, for warnings where there are no results in a list--- request for a particular zone, this key might be scope and the key value--- might be the zone name. Other examples might be a key indicating a--- deprecated resource and a suggested replacement, or a warning about--- invalid network settings (for example, if an instance attempts to--- perform IP forwarding but is not enabled for IP forwarding).-igmslwdiKey :: Lens' InstanceGroupManagersScopedListWarningDataItem (Maybe Text)-igmslwdiKey- = lens _igmslwdiKey (\ s a -> s{_igmslwdiKey = a})--instance FromJSON- InstanceGroupManagersScopedListWarningDataItem where- parseJSON- = withObject- "InstanceGroupManagersScopedListWarningDataItem"- (\ o ->- InstanceGroupManagersScopedListWarningDataItem' <$>- (o .:? "value") <*> (o .:? "key"))--instance ToJSON- InstanceGroupManagersScopedListWarningDataItem where- toJSON- InstanceGroupManagersScopedListWarningDataItem'{..}- = object- (catMaybes- [("value" .=) <$> _igmslwdiValue,- ("key" .=) <$> _igmslwdiKey])------- /See:/ 'subnetworksScopedList' smart constructor.-data SubnetworksScopedList = SubnetworksScopedList'- { _sslSubnetworks :: !(Maybe [Subnetwork])- , _sslWarning :: !(Maybe SubnetworksScopedListWarning)- } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'SubnetworksScopedList' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'sslSubnetworks'------ * 'sslWarning'-subnetworksScopedList- :: SubnetworksScopedList-subnetworksScopedList =- SubnetworksScopedList'- { _sslSubnetworks = Nothing- , _sslWarning = Nothing- }---- | List of subnetworks contained in this scope.-sslSubnetworks :: Lens' SubnetworksScopedList [Subnetwork]-sslSubnetworks- = lens _sslSubnetworks- (\ s a -> s{_sslSubnetworks = a})- . _Default- . _Coerce---- | An informational warning that appears when the list of addresses is--- empty.-sslWarning :: Lens' SubnetworksScopedList (Maybe SubnetworksScopedListWarning)-sslWarning- = lens _sslWarning (\ s a -> s{_sslWarning = a})--instance FromJSON SubnetworksScopedList where- parseJSON- = withObject "SubnetworksScopedList"- (\ o ->- SubnetworksScopedList' <$>- (o .:? "subnetworks" .!= mempty) <*>- (o .:? "warning"))--instance ToJSON SubnetworksScopedList where- toJSON SubnetworksScopedList'{..}- = object- (catMaybes- [("subnetworks" .=) <$> _sslSubnetworks,- ("warning" .=) <$> _sslWarning])---- | A Project resource. Projects can only be created in the Google Cloud--- Platform Console. Unless marked otherwise, values can only be modified--- in the console.------ /See:/ 'project' smart constructor.-data Project = Project'- { _pKind :: !Text- , _pUsageExportLocation :: !(Maybe UsageExportLocation)- , _pSelfLink :: !(Maybe Text)- , _pName :: !(Maybe Text)- , _pCreationTimestamp :: !(Maybe Text)- , _pEnabledFeatures :: !(Maybe [Text])- , _pQuotas :: !(Maybe [Quota])- , _pId :: !(Maybe (Textual Word64))- , _pDescription :: !(Maybe Text)- , _pCommonInstanceMetadata :: !(Maybe Metadata)- } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'Project' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'pKind'------ * 'pUsageExportLocation'------ * 'pSelfLink'------ * 'pName'------ * 'pCreationTimestamp'------ * 'pEnabledFeatures'------ * 'pQuotas'------ * 'pId'------ * 'pDescription'------ * 'pCommonInstanceMetadata'-project- :: Project-project =- Project'- { _pKind = "compute#project"- , _pUsageExportLocation = Nothing- , _pSelfLink = Nothing- , _pName = Nothing- , _pCreationTimestamp = Nothing- , _pEnabledFeatures = Nothing- , _pQuotas = Nothing- , _pId = Nothing- , _pDescription = Nothing- , _pCommonInstanceMetadata = Nothing- }---- | [Output Only] Type of the resource. Always compute#project for projects.-pKind :: Lens' Project Text-pKind = lens _pKind (\ s a -> s{_pKind = a})---- | The naming prefix for daily usage reports and the Google Cloud Storage--- bucket where they are stored.-pUsageExportLocation :: Lens' Project (Maybe UsageExportLocation)-pUsageExportLocation- = lens _pUsageExportLocation- (\ s a -> s{_pUsageExportLocation = a})---- | [Output Only] Server-defined URL for the resource.-pSelfLink :: Lens' Project (Maybe Text)-pSelfLink- = lens _pSelfLink (\ s a -> s{_pSelfLink = a})---- | The project ID. For example: my-example-project. Use the project ID to--- make requests to Compute Engine.-pName :: Lens' Project (Maybe Text)-pName = lens _pName (\ s a -> s{_pName = a})---- | [Output Only] Creation timestamp in RFC3339 text format.-pCreationTimestamp :: Lens' Project (Maybe Text)-pCreationTimestamp- = lens _pCreationTimestamp- (\ s a -> s{_pCreationTimestamp = a})---- | Restricted features enabled for use on this project.-pEnabledFeatures :: Lens' Project [Text]-pEnabledFeatures- = lens _pEnabledFeatures- (\ s a -> s{_pEnabledFeatures = a})- . _Default- . _Coerce---- | [Output Only] Quotas assigned to this project.-pQuotas :: Lens' Project [Quota]-pQuotas- = lens _pQuotas (\ s a -> s{_pQuotas = a}) . _Default- . _Coerce---- | [Output Only] The unique identifier for the resource. This identifier is--- defined by the server. This is not the project ID, and is just a unique--- ID used by Compute Engine to identify resources.-pId :: Lens' Project (Maybe Word64)-pId- = lens _pId (\ s a -> s{_pId = a}) . mapping _Coerce---- | An optional textual description of the resource.-pDescription :: Lens' Project (Maybe Text)-pDescription- = lens _pDescription (\ s a -> s{_pDescription = a})---- | Metadata key\/value pairs available to all instances contained in this--- project. See Custom metadata for more information.-pCommonInstanceMetadata :: Lens' Project (Maybe Metadata)-pCommonInstanceMetadata- = lens _pCommonInstanceMetadata- (\ s a -> s{_pCommonInstanceMetadata = a})--instance FromJSON Project where- parseJSON- = withObject "Project"- (\ o ->- Project' <$>- (o .:? "kind" .!= "compute#project") <*>- (o .:? "usageExportLocation")- <*> (o .:? "selfLink")- <*> (o .:? "name")- <*> (o .:? "creationTimestamp")- <*> (o .:? "enabledFeatures" .!= mempty)- <*> (o .:? "quotas" .!= mempty)- <*> (o .:? "id")- <*> (o .:? "description")- <*> (o .:? "commonInstanceMetadata"))--instance ToJSON Project where- toJSON Project'{..}- = object- (catMaybes- [Just ("kind" .= _pKind),- ("usageExportLocation" .=) <$> _pUsageExportLocation,- ("selfLink" .=) <$> _pSelfLink,- ("name" .=) <$> _pName,- ("creationTimestamp" .=) <$> _pCreationTimestamp,- ("enabledFeatures" .=) <$> _pEnabledFeatures,- ("quotas" .=) <$> _pQuotas, ("id" .=) <$> _pId,- ("description" .=) <$> _pDescription,- ("commonInstanceMetadata" .=) <$>- _pCommonInstanceMetadata])---- | An Operation resource, used to manage asynchronous API requests.------ /See:/ 'operation' smart constructor.-data Operation = Operation'- { _oTargetId :: !(Maybe (Textual Word64))- , _oStatus :: !(Maybe OperationStatus)- , _oInsertTime :: !(Maybe Text)- , _oProgress :: !(Maybe (Textual Int32))- , _oStartTime :: !(Maybe Text)- , _oKind :: !Text- , _oError :: !(Maybe OperationError)- , _oHTTPErrorMessage :: !(Maybe Text)- , _oZone :: !(Maybe Text)- , _oWarnings :: !(Maybe [OperationWarningsItem])- , _oHTTPErrorStatusCode :: !(Maybe (Textual Int32))- , _oUser :: !(Maybe Text)- , _oSelfLink :: !(Maybe Text)- , _oName :: !(Maybe Text)- , _oStatusMessage :: !(Maybe Text)- , _oCreationTimestamp :: !(Maybe Text)- , _oEndTime :: !(Maybe Text)- , _oId :: !(Maybe (Textual Word64))- , _oOperationType :: !(Maybe Text)- , _oRegion :: !(Maybe Text)- , _oDescription :: !(Maybe Text)- , _oTargetLink :: !(Maybe Text)- , _oClientOperationId :: !(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:------ * 'oTargetId'------ * 'oStatus'------ * 'oInsertTime'------ * 'oProgress'------ * 'oStartTime'------ * 'oKind'------ * 'oError'------ * 'oHTTPErrorMessage'------ * 'oZone'------ * 'oWarnings'------ * 'oHTTPErrorStatusCode'------ * 'oUser'------ * 'oSelfLink'------ * 'oName'------ * 'oStatusMessage'------ * 'oCreationTimestamp'------ * 'oEndTime'------ * 'oId'------ * 'oOperationType'------ * 'oRegion'------ * 'oDescription'------ * 'oTargetLink'------ * 'oClientOperationId'-operation- :: Operation-operation =- Operation'- { _oTargetId = Nothing- , _oStatus = Nothing- , _oInsertTime = Nothing- , _oProgress = Nothing- , _oStartTime = Nothing- , _oKind = "compute#operation"- , _oError = Nothing- , _oHTTPErrorMessage = Nothing- , _oZone = Nothing- , _oWarnings = Nothing- , _oHTTPErrorStatusCode = Nothing- , _oUser = Nothing- , _oSelfLink = Nothing- , _oName = Nothing- , _oStatusMessage = Nothing- , _oCreationTimestamp = Nothing- , _oEndTime = Nothing- , _oId = Nothing- , _oOperationType = Nothing- , _oRegion = Nothing- , _oDescription = Nothing- , _oTargetLink = Nothing- , _oClientOperationId = Nothing- }---- | [Output Only] The unique target ID, which identifies a specific--- incarnation of the target resource.-oTargetId :: Lens' Operation (Maybe Word64)-oTargetId- = lens _oTargetId (\ s a -> s{_oTargetId = a}) .- mapping _Coerce---- | [Output Only] The status of the operation, which can be one of the--- following: PENDING, RUNNING, or DONE.-oStatus :: Lens' Operation (Maybe OperationStatus)-oStatus = lens _oStatus (\ s a -> s{_oStatus = a})---- | [Output Only] The time that this operation was requested. This value is--- in RFC3339 text format.-oInsertTime :: Lens' Operation (Maybe Text)-oInsertTime- = lens _oInsertTime (\ s a -> s{_oInsertTime = a})---- | [Output Only] An optional progress indicator that ranges from 0 to 100.--- There is no requirement that this be linear or support any granularity--- of operations. This should not be used to guess when the operation will--- be complete. This number should monotonically increase as the operation--- progresses.-oProgress :: Lens' Operation (Maybe Int32)-oProgress- = lens _oProgress (\ s a -> s{_oProgress = a}) .- mapping _Coerce---- | [Output Only] The time that this operation was started by the server.--- This value is in RFC3339 text format.-oStartTime :: Lens' Operation (Maybe Text)-oStartTime- = lens _oStartTime (\ s a -> s{_oStartTime = a})---- | [Output Only] Type of the resource. Always compute#operation for--- Operation resources.-oKind :: Lens' Operation Text-oKind = lens _oKind (\ s a -> s{_oKind = a})---- | [Output Only] If errors are generated during processing of the--- operation, this field will be populated.-oError :: Lens' Operation (Maybe OperationError)-oError = lens _oError (\ s a -> s{_oError = a})---- | [Output Only] If the operation fails, this field contains the HTTP error--- message that was returned, such as NOT FOUND.-oHTTPErrorMessage :: Lens' Operation (Maybe Text)-oHTTPErrorMessage- = lens _oHTTPErrorMessage- (\ s a -> s{_oHTTPErrorMessage = a})---- | [Output Only] The URL of the zone where the operation resides. Only--- available when performing per-zone operations.-oZone :: Lens' Operation (Maybe Text)-oZone = lens _oZone (\ s a -> s{_oZone = a})---- | [Output Only] If warning messages are generated during processing of the--- operation, this field will be populated.-oWarnings :: Lens' Operation [OperationWarningsItem]-oWarnings- = lens _oWarnings (\ s a -> s{_oWarnings = a}) .- _Default- . _Coerce---- | [Output Only] If the operation fails, this field contains the HTTP error--- status code that was returned. For example, a 404 means the resource was--- not found.-oHTTPErrorStatusCode :: Lens' Operation (Maybe Int32)-oHTTPErrorStatusCode- = lens _oHTTPErrorStatusCode- (\ s a -> s{_oHTTPErrorStatusCode = a})- . mapping _Coerce---- | [Output Only] User who requested the operation, for example:--- user\'example.com.-oUser :: Lens' Operation (Maybe Text)-oUser = lens _oUser (\ s a -> s{_oUser = a})---- | [Output Only] Server-defined URL for the resource.-oSelfLink :: Lens' Operation (Maybe Text)-oSelfLink- = lens _oSelfLink (\ s a -> s{_oSelfLink = a})---- | [Output Only] Name of the resource.-oName :: Lens' Operation (Maybe Text)-oName = lens _oName (\ s a -> s{_oName = a})---- | [Output Only] An optional textual description of the current status of--- the operation.-oStatusMessage :: Lens' Operation (Maybe Text)-oStatusMessage- = lens _oStatusMessage- (\ s a -> s{_oStatusMessage = a})---- | [Output Only] Creation timestamp in RFC3339 text format.-oCreationTimestamp :: Lens' Operation (Maybe Text)-oCreationTimestamp- = lens _oCreationTimestamp- (\ s a -> s{_oCreationTimestamp = a})---- | [Output Only] The time that this operation was completed. This value is--- in RFC3339 text format.-oEndTime :: Lens' Operation (Maybe Text)-oEndTime = lens _oEndTime (\ s a -> s{_oEndTime = a})---- | [Output Only] The unique identifier for the resource. This identifier is--- defined by the server.-oId :: Lens' Operation (Maybe Word64)-oId- = lens _oId (\ s a -> s{_oId = a}) . mapping _Coerce---- | [Output Only] The type of operation, such as insert, update, or delete,--- and so on.-oOperationType :: Lens' Operation (Maybe Text)-oOperationType- = lens _oOperationType- (\ s a -> s{_oOperationType = a})---- | [Output Only] The URL of the region where the operation resides. Only--- available when performing regional operations.-oRegion :: Lens' Operation (Maybe Text)-oRegion = lens _oRegion (\ s a -> s{_oRegion = a})---- | [Output Only] A textual description of the operation, which is set when--- the operation is created.-oDescription :: Lens' Operation (Maybe Text)-oDescription- = lens _oDescription (\ s a -> s{_oDescription = a})---- | [Output Only] The URL of the resource that the operation modifies.-oTargetLink :: Lens' Operation (Maybe Text)-oTargetLink- = lens _oTargetLink (\ s a -> s{_oTargetLink = a})---- | [Output Only] Reserved for future use.-oClientOperationId :: Lens' Operation (Maybe Text)-oClientOperationId- = lens _oClientOperationId- (\ s a -> s{_oClientOperationId = a})--instance FromJSON Operation where- parseJSON- = withObject "Operation"- (\ o ->- Operation' <$>- (o .:? "targetId") <*> (o .:? "status") <*>- (o .:? "insertTime")- <*> (o .:? "progress")- <*> (o .:? "startTime")- <*> (o .:? "kind" .!= "compute#operation")- <*> (o .:? "error")- <*> (o .:? "httpErrorMessage")- <*> (o .:? "zone")- <*> (o .:? "warnings" .!= mempty)- <*> (o .:? "httpErrorStatusCode")- <*> (o .:? "user")- <*> (o .:? "selfLink")- <*> (o .:? "name")- <*> (o .:? "statusMessage")- <*> (o .:? "creationTimestamp")- <*> (o .:? "endTime")- <*> (o .:? "id")- <*> (o .:? "operationType")- <*> (o .:? "region")- <*> (o .:? "description")- <*> (o .:? "targetLink")- <*> (o .:? "clientOperationId"))--instance ToJSON Operation where- toJSON Operation'{..}- = object- (catMaybes- [("targetId" .=) <$> _oTargetId,- ("status" .=) <$> _oStatus,- ("insertTime" .=) <$> _oInsertTime,- ("progress" .=) <$> _oProgress,- ("startTime" .=) <$> _oStartTime,- Just ("kind" .= _oKind), ("error" .=) <$> _oError,- ("httpErrorMessage" .=) <$> _oHTTPErrorMessage,- ("zone" .=) <$> _oZone,- ("warnings" .=) <$> _oWarnings,- ("httpErrorStatusCode" .=) <$> _oHTTPErrorStatusCode,- ("user" .=) <$> _oUser,- ("selfLink" .=) <$> _oSelfLink,- ("name" .=) <$> _oName,- ("statusMessage" .=) <$> _oStatusMessage,- ("creationTimestamp" .=) <$> _oCreationTimestamp,- ("endTime" .=) <$> _oEndTime, ("id" .=) <$> _oId,- ("operationType" .=) <$> _oOperationType,- ("region" .=) <$> _oRegion,- ("description" .=) <$> _oDescription,- ("targetLink" .=) <$> _oTargetLink,- ("clientOperationId" .=) <$> _oClientOperationId])------- /See:/ 'disksScopedListWarningDataItem' smart constructor.-data DisksScopedListWarningDataItem = DisksScopedListWarningDataItem'- { _dslwdiValue :: !(Maybe Text)- , _dslwdiKey :: !(Maybe Text)- } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'DisksScopedListWarningDataItem' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'dslwdiValue'------ * 'dslwdiKey'-disksScopedListWarningDataItem- :: DisksScopedListWarningDataItem-disksScopedListWarningDataItem =- DisksScopedListWarningDataItem'- { _dslwdiValue = Nothing- , _dslwdiKey = Nothing- }---- | [Output Only] A warning data value corresponding to the key.-dslwdiValue :: Lens' DisksScopedListWarningDataItem (Maybe Text)-dslwdiValue- = lens _dslwdiValue (\ s a -> s{_dslwdiValue = a})---- | [Output Only] A key that provides more detail on the warning being--- returned. For example, for warnings where there are no results in a list--- request for a particular zone, this key might be scope and the key value--- might be the zone name. Other examples might be a key indicating a--- deprecated resource and a suggested replacement, or a warning about--- invalid network settings (for example, if an instance attempts to--- perform IP forwarding but is not enabled for IP forwarding).-dslwdiKey :: Lens' DisksScopedListWarningDataItem (Maybe Text)-dslwdiKey- = lens _dslwdiKey (\ s a -> s{_dslwdiKey = a})--instance FromJSON DisksScopedListWarningDataItem- where- parseJSON- = withObject "DisksScopedListWarningDataItem"- (\ o ->- DisksScopedListWarningDataItem' <$>- (o .:? "value") <*> (o .:? "key"))--instance ToJSON DisksScopedListWarningDataItem where- toJSON DisksScopedListWarningDataItem'{..}- = object- (catMaybes- [("value" .=) <$> _dslwdiValue,- ("key" .=) <$> _dslwdiKey])---- | A Disk resource.------ /See:/ 'disk' smart constructor.-data Disk = Disk'- { _dStatus :: !(Maybe DiskStatus)- , _dSourceSnapshotId :: !(Maybe Text)- , _dLastAttachTimestamp :: !(Maybe Text)- , _dUsers :: !(Maybe [Text])- , _dSourceImage :: !(Maybe Text)- , _dSizeGb :: !(Maybe (Textual Int64))- , _dKind :: !Text- , _dLastDetachTimestamp :: !(Maybe Text)- , _dZone :: !(Maybe Text)- , _dSelfLink :: !(Maybe Text)- , _dName :: !(Maybe Text)- , _dSourceImageId :: !(Maybe Text)- , _dCreationTimestamp :: !(Maybe Text)- , _dId :: !(Maybe (Textual Word64))- , _dLicenses :: !(Maybe [Text])- , _dOptions :: !(Maybe Text)- , _dType :: !(Maybe Text)- , _dDescription :: !(Maybe Text)- , _dSourceSnapshot :: !(Maybe Text)- } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'Disk' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'dStatus'------ * 'dSourceSnapshotId'------ * 'dLastAttachTimestamp'------ * 'dUsers'------ * 'dSourceImage'------ * 'dSizeGb'------ * 'dKind'------ * 'dLastDetachTimestamp'------ * 'dZone'------ * 'dSelfLink'------ * 'dName'------ * 'dSourceImageId'------ * 'dCreationTimestamp'------ * 'dId'------ * 'dLicenses'------ * 'dOptions'------ * 'dType'------ * 'dDescription'------ * 'dSourceSnapshot'-disk- :: Disk-disk =- Disk'- { _dStatus = Nothing- , _dSourceSnapshotId = Nothing- , _dLastAttachTimestamp = Nothing- , _dUsers = Nothing- , _dSourceImage = Nothing- , _dSizeGb = Nothing- , _dKind = "compute#disk"- , _dLastDetachTimestamp = Nothing- , _dZone = Nothing- , _dSelfLink = Nothing- , _dName = Nothing- , _dSourceImageId = Nothing- , _dCreationTimestamp = Nothing- , _dId = Nothing- , _dLicenses = Nothing- , _dOptions = Nothing- , _dType = Nothing- , _dDescription = Nothing- , _dSourceSnapshot = Nothing- }---- | [Output Only] The status of disk creation. Applicable statuses includes:--- CREATING, FAILED, READY, RESTORING.-dStatus :: Lens' Disk (Maybe DiskStatus)-dStatus = lens _dStatus (\ s a -> s{_dStatus = a})---- | [Output Only] The unique ID of the snapshot used to create this disk.--- This value identifies the exact snapshot that was used to create this--- persistent disk. For example, if you created the persistent disk from a--- snapshot that was later deleted and recreated under the same name, the--- source snapshot ID would identify the exact version of the snapshot that--- was used.-dSourceSnapshotId :: Lens' Disk (Maybe Text)-dSourceSnapshotId- = lens _dSourceSnapshotId- (\ s a -> s{_dSourceSnapshotId = a})---- | [Output Only] Last attach timestamp in RFC3339 text format.-dLastAttachTimestamp :: Lens' Disk (Maybe Text)-dLastAttachTimestamp- = lens _dLastAttachTimestamp- (\ s a -> s{_dLastAttachTimestamp = a})---- | [Output Only] Links to the users of the disk (attached instances) in--- form: project\/zones\/zone\/instances\/instance-dUsers :: Lens' Disk [Text]-dUsers- = lens _dUsers (\ s a -> s{_dUsers = a}) . _Default .- _Coerce---- | The source image used to create this disk. If the source image is--- deleted, this field will not be set. To create a disk with one of the--- public operating system images, specify the image by its family name.--- For example, specify family\/debian-8 to use the latest Debian 8 image:--- projects\/debian-cloud\/global\/images\/family\/debian-8 Alternatively,--- use a specific version of a public operating system image:--- projects\/debian-cloud\/global\/images\/debian-8-jessie-vYYYYMMDD To--- create a disk with a private image that you created, specify the image--- name in the following format: global\/images\/my-private-image You can--- also specify a private image by its image family, which returns the--- latest version of the image in that family. Replace the image name with--- family\/family-name: global\/images\/family\/my-private-family-dSourceImage :: Lens' Disk (Maybe Text)-dSourceImage- = lens _dSourceImage (\ s a -> s{_dSourceImage = a})---- | Size of the persistent disk, specified in GB. You can specify this field--- when creating a persistent disk using the sourceImage or sourceSnapshot--- parameter, or specify it alone to create an empty persistent disk. If--- you specify this field along with sourceImage or sourceSnapshot, the--- value of sizeGb must not be less than the size of the sourceImage or the--- size of the snapshot.-dSizeGb :: Lens' Disk (Maybe Int64)-dSizeGb- = lens _dSizeGb (\ s a -> s{_dSizeGb = a}) .- mapping _Coerce---- | [Output Only] Type of the resource. Always compute#disk for disks.-dKind :: Lens' Disk Text-dKind = lens _dKind (\ s a -> s{_dKind = a})---- | [Output Only] Last detach timestamp in RFC3339 text format.-dLastDetachTimestamp :: Lens' Disk (Maybe Text)-dLastDetachTimestamp- = lens _dLastDetachTimestamp- (\ s a -> s{_dLastDetachTimestamp = a})---- | [Output Only] URL of the zone where the disk resides.-dZone :: Lens' Disk (Maybe Text)-dZone = lens _dZone (\ s a -> s{_dZone = a})---- | [Output Only] Server-defined fully-qualified URL for this resource.-dSelfLink :: Lens' Disk (Maybe Text)-dSelfLink- = lens _dSelfLink (\ s a -> s{_dSelfLink = a})---- | Name of the resource. Provided by the client when the resource is--- created. The name must be 1-63 characters long, and comply with RFC1035.--- Specifically, the name must be 1-63 characters long and match the--- regular expression [a-z]([-a-z0-9]*[a-z0-9])? which means the first--- character must be a lowercase letter, and all following characters must--- be a dash, lowercase letter, or digit, except the last character, which--- cannot be a dash.-dName :: Lens' Disk (Maybe Text)-dName = lens _dName (\ s a -> s{_dName = a})---- | [Output Only] The ID value of the image used to create this disk. This--- value identifies the exact image that was used to create this persistent--- disk. For example, if you created the persistent disk from an image that--- was later deleted and recreated under the same name, the source image ID--- would identify the exact version of the image that was used.-dSourceImageId :: Lens' Disk (Maybe Text)-dSourceImageId- = lens _dSourceImageId- (\ s a -> s{_dSourceImageId = a})---- | [Output Only] Creation timestamp in RFC3339 text format.-dCreationTimestamp :: Lens' Disk (Maybe Text)-dCreationTimestamp- = lens _dCreationTimestamp- (\ s a -> s{_dCreationTimestamp = a})---- | [Output Only] The unique identifier for the resource. This identifier is--- defined by the server.-dId :: Lens' Disk (Maybe Word64)-dId- = lens _dId (\ s a -> s{_dId = a}) . mapping _Coerce---- | [Output Only] Any applicable publicly visible licenses.-dLicenses :: Lens' Disk [Text]-dLicenses- = lens _dLicenses (\ s a -> s{_dLicenses = a}) .- _Default- . _Coerce---- | Internal use only.-dOptions :: Lens' Disk (Maybe Text)-dOptions = lens _dOptions (\ s a -> s{_dOptions = a})---- | URL of the disk type resource describing which disk type to use to--- create the disk. Provide this when creating the disk.-dType :: Lens' Disk (Maybe Text)-dType = lens _dType (\ s a -> s{_dType = a})---- | An optional description of this resource. Provide this property when you--- create the resource.-dDescription :: Lens' Disk (Maybe Text)-dDescription- = lens _dDescription (\ s a -> s{_dDescription = a})---- | The source snapshot used to create this disk. You can provide this as a--- partial or full URL to the resource. For example, the following are--- valid values: ---- https:\/\/www.googleapis.com\/compute\/v1\/projects\/project\/global\/snapshots\/snapshot--- - projects\/project\/global\/snapshots\/snapshot ---- global\/snapshots\/snapshot-dSourceSnapshot :: Lens' Disk (Maybe Text)-dSourceSnapshot- = lens _dSourceSnapshot- (\ s a -> s{_dSourceSnapshot = a})--instance FromJSON Disk where- parseJSON- = withObject "Disk"- (\ o ->- Disk' <$>- (o .:? "status") <*> (o .:? "sourceSnapshotId") <*>- (o .:? "lastAttachTimestamp")- <*> (o .:? "users" .!= mempty)- <*> (o .:? "sourceImage")- <*> (o .:? "sizeGb")- <*> (o .:? "kind" .!= "compute#disk")- <*> (o .:? "lastDetachTimestamp")- <*> (o .:? "zone")- <*> (o .:? "selfLink")- <*> (o .:? "name")- <*> (o .:? "sourceImageId")- <*> (o .:? "creationTimestamp")- <*> (o .:? "id")- <*> (o .:? "licenses" .!= mempty)- <*> (o .:? "options")- <*> (o .:? "type")- <*> (o .:? "description")- <*> (o .:? "sourceSnapshot"))--instance ToJSON Disk where- toJSON Disk'{..}- = object- (catMaybes- [("status" .=) <$> _dStatus,- ("sourceSnapshotId" .=) <$> _dSourceSnapshotId,- ("lastAttachTimestamp" .=) <$> _dLastAttachTimestamp,- ("users" .=) <$> _dUsers,- ("sourceImage" .=) <$> _dSourceImage,- ("sizeGb" .=) <$> _dSizeGb, Just ("kind" .= _dKind),- ("lastDetachTimestamp" .=) <$> _dLastDetachTimestamp,- ("zone" .=) <$> _dZone,- ("selfLink" .=) <$> _dSelfLink,- ("name" .=) <$> _dName,- ("sourceImageId" .=) <$> _dSourceImageId,- ("creationTimestamp" .=) <$> _dCreationTimestamp,- ("id" .=) <$> _dId, ("licenses" .=) <$> _dLicenses,- ("options" .=) <$> _dOptions, ("type" .=) <$> _dType,- ("description" .=) <$> _dDescription,- ("sourceSnapshot" .=) <$> _dSourceSnapshot])------- /See:/ 'diskMoveRequest' smart constructor.-data DiskMoveRequest = DiskMoveRequest'- { _dmrTargetDisk :: !(Maybe Text)- , _dmrDestinationZone :: !(Maybe Text)- } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'DiskMoveRequest' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'dmrTargetDisk'------ * 'dmrDestinationZone'-diskMoveRequest- :: DiskMoveRequest-diskMoveRequest =- DiskMoveRequest'- { _dmrTargetDisk = Nothing- , _dmrDestinationZone = Nothing- }---- | The URL of the target disk to move. This can be a full or partial URL.--- For example, the following are all valid URLs to a disk: ---- https:\/\/www.googleapis.com\/compute\/v1\/projects\/project\/zones\/zone\/disks\/disk--- - projects\/project\/zones\/zone\/disks\/disk - zones\/zone\/disks\/disk-dmrTargetDisk :: Lens' DiskMoveRequest (Maybe Text)-dmrTargetDisk- = lens _dmrTargetDisk- (\ s a -> s{_dmrTargetDisk = a})---- | The URL of the destination zone to move the disk. This can be a full or--- partial URL. For example, the following are all valid URLs to a zone: ---- https:\/\/www.googleapis.com\/compute\/v1\/projects\/project\/zones\/zone--- - projects\/project\/zones\/zone - zones\/zone-dmrDestinationZone :: Lens' DiskMoveRequest (Maybe Text)-dmrDestinationZone- = lens _dmrDestinationZone- (\ s a -> s{_dmrDestinationZone = a})--instance FromJSON DiskMoveRequest where- parseJSON- = withObject "DiskMoveRequest"- (\ o ->- DiskMoveRequest' <$>- (o .:? "targetDisk") <*> (o .:? "destinationZone"))--instance ToJSON DiskMoveRequest where- toJSON DiskMoveRequest'{..}- = object- (catMaybes- [("targetDisk" .=) <$> _dmrTargetDisk,- ("destinationZone" .=) <$> _dmrDestinationZone])---- | Configuration parameters of autoscaling based on load balancing.------ /See:/ 'autoscalingPolicyLoadBalancingUtilization' smart constructor.-newtype AutoscalingPolicyLoadBalancingUtilization = AutoscalingPolicyLoadBalancingUtilization'- { _aplbuUtilizationTarget :: Maybe (Textual Double)- } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'AutoscalingPolicyLoadBalancingUtilization' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'aplbuUtilizationTarget'-autoscalingPolicyLoadBalancingUtilization- :: AutoscalingPolicyLoadBalancingUtilization-autoscalingPolicyLoadBalancingUtilization =- AutoscalingPolicyLoadBalancingUtilization'- { _aplbuUtilizationTarget = Nothing- }---- | Fraction of backend capacity utilization (set in HTTP(s) load balancing--- configuration) that autoscaler should maintain. Must be a positive float--- value. If not defined, the default is 0.8.-aplbuUtilizationTarget :: Lens' AutoscalingPolicyLoadBalancingUtilization (Maybe Double)-aplbuUtilizationTarget- = lens _aplbuUtilizationTarget- (\ s a -> s{_aplbuUtilizationTarget = a})- . mapping _Coerce--instance FromJSON- AutoscalingPolicyLoadBalancingUtilization where- parseJSON- = withObject- "AutoscalingPolicyLoadBalancingUtilization"- (\ o ->- AutoscalingPolicyLoadBalancingUtilization' <$>- (o .:? "utilizationTarget"))--instance ToJSON- AutoscalingPolicyLoadBalancingUtilization where- toJSON AutoscalingPolicyLoadBalancingUtilization'{..}- = object- (catMaybes- [("utilizationTarget" .=) <$>- _aplbuUtilizationTarget])------- /See:/ 'targetPoolsScopedListWarningDataItem' smart constructor.-data TargetPoolsScopedListWarningDataItem = TargetPoolsScopedListWarningDataItem'- { _tpslwdiValue :: !(Maybe Text)- , _tpslwdiKey :: !(Maybe Text)- } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'TargetPoolsScopedListWarningDataItem' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'tpslwdiValue'------ * 'tpslwdiKey'-targetPoolsScopedListWarningDataItem- :: TargetPoolsScopedListWarningDataItem-targetPoolsScopedListWarningDataItem =- TargetPoolsScopedListWarningDataItem'- { _tpslwdiValue = Nothing- , _tpslwdiKey = Nothing- }---- | [Output Only] A warning data value corresponding to the key.-tpslwdiValue :: Lens' TargetPoolsScopedListWarningDataItem (Maybe Text)-tpslwdiValue- = lens _tpslwdiValue (\ s a -> s{_tpslwdiValue = a})---- | [Output Only] A key that provides more detail on the warning being--- returned. For example, for warnings where there are no results in a list--- request for a particular zone, this key might be scope and the key value--- might be the zone name. Other examples might be a key indicating a--- deprecated resource and a suggested replacement, or a warning about--- invalid network settings (for example, if an instance attempts to--- perform IP forwarding but is not enabled for IP forwarding).-tpslwdiKey :: Lens' TargetPoolsScopedListWarningDataItem (Maybe Text)-tpslwdiKey- = lens _tpslwdiKey (\ s a -> s{_tpslwdiKey = a})--instance FromJSON- TargetPoolsScopedListWarningDataItem where- parseJSON- = withObject "TargetPoolsScopedListWarningDataItem"- (\ o ->- TargetPoolsScopedListWarningDataItem' <$>- (o .:? "value") <*> (o .:? "key"))--instance ToJSON TargetPoolsScopedListWarningDataItem- where- toJSON TargetPoolsScopedListWarningDataItem'{..}- = object- (catMaybes- [("value" .=) <$> _tpslwdiValue,- ("key" .=) <$> _tpslwdiKey])------- /See:/ 'instanceGroupManager' smart constructor.-data InstanceGroupManager = InstanceGroupManager'- { _igmKind :: !Text- , _igmFingerprint :: !(Maybe Base64)- , _igmBaseInstanceName :: !(Maybe Text)- , _igmZone :: !(Maybe Text)- , _igmInstanceTemplate :: !(Maybe Text)- , _igmTargetSize :: !(Maybe (Textual Int32))- , _igmSelfLink :: !(Maybe Text)- , _igmCurrentActions :: !(Maybe InstanceGroupManagerActionsSummary)- , _igmName :: !(Maybe Text)- , _igmCreationTimestamp :: !(Maybe Text)- , _igmId :: !(Maybe (Textual Word64))- , _igmTargetPools :: !(Maybe [Text])- , _igmDescription :: !(Maybe Text)- , _igmInstanceGroup :: !(Maybe Text)- , _igmNamedPorts :: !(Maybe [NamedPort])- } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'InstanceGroupManager' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'igmKind'------ * 'igmFingerprint'------ * 'igmBaseInstanceName'------ * 'igmZone'------ * 'igmInstanceTemplate'------ * 'igmTargetSize'------ * 'igmSelfLink'------ * 'igmCurrentActions'------ * 'igmName'------ * 'igmCreationTimestamp'------ * 'igmId'------ * 'igmTargetPools'------ * 'igmDescription'------ * 'igmInstanceGroup'------ * 'igmNamedPorts'-instanceGroupManager- :: InstanceGroupManager-instanceGroupManager =- InstanceGroupManager'- { _igmKind = "compute#instanceGroupManager"- , _igmFingerprint = Nothing- , _igmBaseInstanceName = Nothing- , _igmZone = Nothing- , _igmInstanceTemplate = Nothing- , _igmTargetSize = Nothing- , _igmSelfLink = Nothing- , _igmCurrentActions = Nothing- , _igmName = Nothing- , _igmCreationTimestamp = Nothing- , _igmId = Nothing- , _igmTargetPools = Nothing- , _igmDescription = Nothing- , _igmInstanceGroup = Nothing- , _igmNamedPorts = Nothing- }---- | [Output Only] The resource type, which is always--- compute#instanceGroupManager for managed instance groups.-igmKind :: Lens' InstanceGroupManager Text-igmKind = lens _igmKind (\ s a -> s{_igmKind = a})---- | [Output Only] The fingerprint of the resource data. You can use this--- optional field for optimistic locking when you update the resource.-igmFingerprint :: Lens' InstanceGroupManager (Maybe ByteString)-igmFingerprint- = lens _igmFingerprint- (\ s a -> s{_igmFingerprint = a})- . mapping _Base64---- | The base instance name to use for instances in this group. The value--- must be 1-58 characters long. Instances are named by appending a hyphen--- and a random four-character string to the base instance name. The base--- instance name must comply with RFC1035.-igmBaseInstanceName :: Lens' InstanceGroupManager (Maybe Text)-igmBaseInstanceName- = lens _igmBaseInstanceName- (\ s a -> s{_igmBaseInstanceName = a})---- | The name of the zone where the managed instance group is located.-igmZone :: Lens' InstanceGroupManager (Maybe Text)-igmZone = lens _igmZone (\ s a -> s{_igmZone = a})---- | The URL of the instance template that is specified for this managed--- instance group. The group uses this template to create all new instances--- in the managed instance group.-igmInstanceTemplate :: Lens' InstanceGroupManager (Maybe Text)-igmInstanceTemplate- = lens _igmInstanceTemplate- (\ s a -> s{_igmInstanceTemplate = a})---- | The target number of running instances for this managed instance group.--- Deleting or abandoning instances reduces this number. Resizing the group--- changes this number.-igmTargetSize :: Lens' InstanceGroupManager (Maybe Int32)-igmTargetSize- = lens _igmTargetSize- (\ s a -> s{_igmTargetSize = a})- . mapping _Coerce---- | [Output Only] The URL for this managed instance group. The server--- defines this URL.-igmSelfLink :: Lens' InstanceGroupManager (Maybe Text)-igmSelfLink- = lens _igmSelfLink (\ s a -> s{_igmSelfLink = a})---- | [Output Only] The list of instance actions and the number of instances--- in this managed instance group that are scheduled for each of those--- actions.-igmCurrentActions :: Lens' InstanceGroupManager (Maybe InstanceGroupManagerActionsSummary)-igmCurrentActions- = lens _igmCurrentActions- (\ s a -> s{_igmCurrentActions = a})---- | The name of the managed instance group. The name must be 1-63 characters--- long, and comply with RFC1035.-igmName :: Lens' InstanceGroupManager (Maybe Text)-igmName = lens _igmName (\ s a -> s{_igmName = a})---- | [Output Only] The creation timestamp for this managed instance group in--- RFC3339 text format.-igmCreationTimestamp :: Lens' InstanceGroupManager (Maybe Text)-igmCreationTimestamp- = lens _igmCreationTimestamp- (\ s a -> s{_igmCreationTimestamp = a})---- | [Output Only] A unique identifier for this resource type. The server--- generates this identifier.-igmId :: Lens' InstanceGroupManager (Maybe Word64)-igmId- = lens _igmId (\ s a -> s{_igmId = a}) .- mapping _Coerce---- | The URLs for all TargetPool resources to which instances in the--- instanceGroup field are added. The target pools automatically apply to--- all of the instances in the managed instance group.-igmTargetPools :: Lens' InstanceGroupManager [Text]-igmTargetPools- = lens _igmTargetPools- (\ s a -> s{_igmTargetPools = a})- . _Default- . _Coerce---- | An optional description of this resource. Provide this property when you--- create the resource.-igmDescription :: Lens' InstanceGroupManager (Maybe Text)-igmDescription- = lens _igmDescription- (\ s a -> s{_igmDescription = a})---- | [Output Only] The URL of the Instance Group resource.-igmInstanceGroup :: Lens' InstanceGroupManager (Maybe Text)-igmInstanceGroup- = lens _igmInstanceGroup- (\ s a -> s{_igmInstanceGroup = a})---- | Named ports configured for the Instance Groups complementary to this--- Instance Group Manager.-igmNamedPorts :: Lens' InstanceGroupManager [NamedPort]-igmNamedPorts- = lens _igmNamedPorts- (\ s a -> s{_igmNamedPorts = a})- . _Default- . _Coerce--instance FromJSON InstanceGroupManager where- parseJSON- = withObject "InstanceGroupManager"- (\ o ->- InstanceGroupManager' <$>- (o .:? "kind" .!= "compute#instanceGroupManager") <*>- (o .:? "fingerprint")- <*> (o .:? "baseInstanceName")- <*> (o .:? "zone")- <*> (o .:? "instanceTemplate")- <*> (o .:? "targetSize")- <*> (o .:? "selfLink")- <*> (o .:? "currentActions")- <*> (o .:? "name")- <*> (o .:? "creationTimestamp")- <*> (o .:? "id")- <*> (o .:? "targetPools" .!= mempty)- <*> (o .:? "description")- <*> (o .:? "instanceGroup")- <*> (o .:? "namedPorts" .!= mempty))--instance ToJSON InstanceGroupManager where- toJSON InstanceGroupManager'{..}- = object- (catMaybes- [Just ("kind" .= _igmKind),- ("fingerprint" .=) <$> _igmFingerprint,- ("baseInstanceName" .=) <$> _igmBaseInstanceName,- ("zone" .=) <$> _igmZone,- ("instanceTemplate" .=) <$> _igmInstanceTemplate,- ("targetSize" .=) <$> _igmTargetSize,- ("selfLink" .=) <$> _igmSelfLink,- ("currentActions" .=) <$> _igmCurrentActions,- ("name" .=) <$> _igmName,- ("creationTimestamp" .=) <$> _igmCreationTimestamp,- ("id" .=) <$> _igmId,- ("targetPools" .=) <$> _igmTargetPools,- ("description" .=) <$> _igmDescription,- ("instanceGroup" .=) <$> _igmInstanceGroup,- ("namedPorts" .=) <$> _igmNamedPorts])------- /See:/ 'instanceGroupsRemoveInstancesRequest' smart constructor.-newtype InstanceGroupsRemoveInstancesRequest = InstanceGroupsRemoveInstancesRequest'- { _igrirInstances :: Maybe [InstanceReference]- } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'InstanceGroupsRemoveInstancesRequest' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'igrirInstances'-instanceGroupsRemoveInstancesRequest- :: InstanceGroupsRemoveInstancesRequest-instanceGroupsRemoveInstancesRequest =- InstanceGroupsRemoveInstancesRequest'- { _igrirInstances = Nothing- }---- | The list of instances to remove from the instance group.-igrirInstances :: Lens' InstanceGroupsRemoveInstancesRequest [InstanceReference]-igrirInstances- = lens _igrirInstances- (\ s a -> s{_igrirInstances = a})- . _Default- . _Coerce--instance FromJSON- InstanceGroupsRemoveInstancesRequest where- parseJSON- = withObject "InstanceGroupsRemoveInstancesRequest"- (\ o ->- InstanceGroupsRemoveInstancesRequest' <$>- (o .:? "instances" .!= mempty))--instance ToJSON InstanceGroupsRemoveInstancesRequest- where- toJSON InstanceGroupsRemoveInstancesRequest'{..}- = object- (catMaybes [("instances" .=) <$> _igrirInstances])------- /See:/ 'routeWarningsItemDataItem' smart constructor.-data RouteWarningsItemDataItem = RouteWarningsItemDataItem'- { _rwidiValue :: !(Maybe Text)- , _rwidiKey :: !(Maybe Text)- } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'RouteWarningsItemDataItem' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'rwidiValue'------ * 'rwidiKey'-routeWarningsItemDataItem- :: RouteWarningsItemDataItem-routeWarningsItemDataItem =- RouteWarningsItemDataItem'- { _rwidiValue = Nothing- , _rwidiKey = Nothing- }---- | [Output Only] A warning data value corresponding to the key.-rwidiValue :: Lens' RouteWarningsItemDataItem (Maybe Text)-rwidiValue- = lens _rwidiValue (\ s a -> s{_rwidiValue = a})---- | [Output Only] A key that provides more detail on the warning being--- returned. For example, for warnings where there are no results in a list--- request for a particular zone, this key might be scope and the key value--- might be the zone name. Other examples might be a key indicating a--- deprecated resource and a suggested replacement, or a warning about--- invalid network settings (for example, if an instance attempts to--- perform IP forwarding but is not enabled for IP forwarding).-rwidiKey :: Lens' RouteWarningsItemDataItem (Maybe Text)-rwidiKey = lens _rwidiKey (\ s a -> s{_rwidiKey = a})--instance FromJSON RouteWarningsItemDataItem where- parseJSON- = withObject "RouteWarningsItemDataItem"- (\ o ->- RouteWarningsItemDataItem' <$>- (o .:? "value") <*> (o .:? "key"))--instance ToJSON RouteWarningsItemDataItem where- toJSON RouteWarningsItemDataItem'{..}- = object- (catMaybes- [("value" .=) <$> _rwidiValue,- ("key" .=) <$> _rwidiKey])---- | [Output Only] A map of scoped instance lists.------ /See:/ 'instanceAggregatedListItems' smart constructor.-newtype InstanceAggregatedListItems = InstanceAggregatedListItems'- { _ialiAddtional :: HashMap Text InstancesScopedList- } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'InstanceAggregatedListItems' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'ialiAddtional'-instanceAggregatedListItems- :: HashMap Text InstancesScopedList -- ^ 'ialiAddtional'- -> InstanceAggregatedListItems-instanceAggregatedListItems pIaliAddtional_ =- InstanceAggregatedListItems'- { _ialiAddtional = _Coerce # pIaliAddtional_- }---- | [Output Only] Name of the scope containing this set of instances.-ialiAddtional :: Lens' InstanceAggregatedListItems (HashMap Text InstancesScopedList)-ialiAddtional- = lens _ialiAddtional- (\ s a -> s{_ialiAddtional = a})- . _Coerce--instance FromJSON InstanceAggregatedListItems where- parseJSON- = withObject "InstanceAggregatedListItems"- (\ o ->- InstanceAggregatedListItems' <$> (parseJSONObject o))--instance ToJSON InstanceAggregatedListItems where- toJSON = toJSON . _ialiAddtional---- | [Output Only] Informational warning which replaces the list of--- autoscalers when the list is empty.------ /See:/ 'autoscalersScopedListWarning' smart constructor.-data AutoscalersScopedListWarning = AutoscalersScopedListWarning'- { _aslwData :: !(Maybe [AutoscalersScopedListWarningDataItem])- , _aslwCode :: !(Maybe AutoscalersScopedListWarningCode)- , _aslwMessage :: !(Maybe Text)- } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'AutoscalersScopedListWarning' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'aslwData'------ * 'aslwCode'------ * 'aslwMessage'-autoscalersScopedListWarning- :: AutoscalersScopedListWarning-autoscalersScopedListWarning =- AutoscalersScopedListWarning'- { _aslwData = Nothing- , _aslwCode = Nothing- , _aslwMessage = Nothing- }---- | [Output Only] Metadata about this warning in key: value format. For--- example: \"data\": [ { \"key\": \"scope\", \"value\":--- \"zones\/us-east1-d\" }-aslwData :: Lens' AutoscalersScopedListWarning [AutoscalersScopedListWarningDataItem]-aslwData- = lens _aslwData (\ s a -> s{_aslwData = a}) .- _Default- . _Coerce---- | [Output Only] A warning code, if applicable. For example, Compute Engine--- returns NO_RESULTS_ON_PAGE if there are no results in the response.-aslwCode :: Lens' AutoscalersScopedListWarning (Maybe AutoscalersScopedListWarningCode)-aslwCode = lens _aslwCode (\ s a -> s{_aslwCode = a})---- | [Output Only] A human-readable description of the warning code.-aslwMessage :: Lens' AutoscalersScopedListWarning (Maybe Text)-aslwMessage- = lens _aslwMessage (\ s a -> s{_aslwMessage = a})--instance FromJSON AutoscalersScopedListWarning where- parseJSON- = withObject "AutoscalersScopedListWarning"- (\ o ->- AutoscalersScopedListWarning' <$>- (o .:? "data" .!= mempty) <*> (o .:? "code") <*>- (o .:? "message"))--instance ToJSON AutoscalersScopedListWarning where- toJSON AutoscalersScopedListWarning'{..}- = object- (catMaybes- [("data" .=) <$> _aslwData,- ("code" .=) <$> _aslwCode,- ("message" .=) <$> _aslwMessage])---- | [Output Only] Encountered errors during the last attempt to create or--- delete the instance.------ /See:/ 'managedInstanceLastAttemptErrors' smart constructor.-newtype ManagedInstanceLastAttemptErrors = ManagedInstanceLastAttemptErrors'- { _milaeErrors :: Maybe [ManagedInstanceLastAttemptErrorsErrorsItem]- } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'ManagedInstanceLastAttemptErrors' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'milaeErrors'-managedInstanceLastAttemptErrors- :: ManagedInstanceLastAttemptErrors-managedInstanceLastAttemptErrors =- ManagedInstanceLastAttemptErrors'- { _milaeErrors = Nothing- }---- | [Output Only] The array of errors encountered while processing this--- operation.-milaeErrors :: Lens' ManagedInstanceLastAttemptErrors [ManagedInstanceLastAttemptErrorsErrorsItem]-milaeErrors- = lens _milaeErrors (\ s a -> s{_milaeErrors = a}) .- _Default- . _Coerce--instance FromJSON ManagedInstanceLastAttemptErrors- where- parseJSON- = withObject "ManagedInstanceLastAttemptErrors"- (\ o ->- ManagedInstanceLastAttemptErrors' <$>- (o .:? "errors" .!= mempty))--instance ToJSON ManagedInstanceLastAttemptErrors- where- toJSON ManagedInstanceLastAttemptErrors'{..}- = object (catMaybes [("errors" .=) <$> _milaeErrors])------- /See:/ 'targetPoolsRemoveInstanceRequest' smart constructor.-newtype TargetPoolsRemoveInstanceRequest = TargetPoolsRemoveInstanceRequest'- { _tprirInstances :: Maybe [InstanceReference]- } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'TargetPoolsRemoveInstanceRequest' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'tprirInstances'-targetPoolsRemoveInstanceRequest- :: TargetPoolsRemoveInstanceRequest-targetPoolsRemoveInstanceRequest =- TargetPoolsRemoveInstanceRequest'- { _tprirInstances = Nothing- }---- | URLs of the instances to be removed from target pool.-tprirInstances :: Lens' TargetPoolsRemoveInstanceRequest [InstanceReference]-tprirInstances- = lens _tprirInstances- (\ s a -> s{_tprirInstances = a})- . _Default- . _Coerce--instance FromJSON TargetPoolsRemoveInstanceRequest- where- parseJSON- = withObject "TargetPoolsRemoveInstanceRequest"- (\ o ->- TargetPoolsRemoveInstanceRequest' <$>- (o .:? "instances" .!= mempty))--instance ToJSON TargetPoolsRemoveInstanceRequest- where- toJSON TargetPoolsRemoveInstanceRequest'{..}- = object- (catMaybes [("instances" .=) <$> _tprirInstances])------- /See:/ 'targetInstancesScopedListWarningDataItem' smart constructor.-data TargetInstancesScopedListWarningDataItem = TargetInstancesScopedListWarningDataItem'- { _tislwdiValue :: !(Maybe Text)- , _tislwdiKey :: !(Maybe Text)- } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'TargetInstancesScopedListWarningDataItem' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'tislwdiValue'------ * 'tislwdiKey'-targetInstancesScopedListWarningDataItem- :: TargetInstancesScopedListWarningDataItem-targetInstancesScopedListWarningDataItem =- TargetInstancesScopedListWarningDataItem'- { _tislwdiValue = Nothing- , _tislwdiKey = Nothing- }---- | [Output Only] A warning data value corresponding to the key.-tislwdiValue :: Lens' TargetInstancesScopedListWarningDataItem (Maybe Text)-tislwdiValue- = lens _tislwdiValue (\ s a -> s{_tislwdiValue = a})---- | [Output Only] A key that provides more detail on the warning being--- returned. For example, for warnings where there are no results in a list--- request for a particular zone, this key might be scope and the key value--- might be the zone name. Other examples might be a key indicating a--- deprecated resource and a suggested replacement, or a warning about--- invalid network settings (for example, if an instance attempts to--- perform IP forwarding but is not enabled for IP forwarding).-tislwdiKey :: Lens' TargetInstancesScopedListWarningDataItem (Maybe Text)-tislwdiKey- = lens _tislwdiKey (\ s a -> s{_tislwdiKey = a})--instance FromJSON- TargetInstancesScopedListWarningDataItem where- parseJSON- = withObject- "TargetInstancesScopedListWarningDataItem"- (\ o ->- TargetInstancesScopedListWarningDataItem' <$>- (o .:? "value") <*> (o .:? "key"))--instance ToJSON- TargetInstancesScopedListWarningDataItem where- toJSON TargetInstancesScopedListWarningDataItem'{..}- = object- (catMaybes- [("value" .=) <$> _tislwdiValue,- ("key" .=) <$> _tislwdiKey])---- | [Output Only] An informational warning that appears when the machine--- types list is empty.------ /See:/ 'machineTypesScopedListWarning' smart constructor.-data MachineTypesScopedListWarning = MachineTypesScopedListWarning'- { _mtslwData :: !(Maybe [MachineTypesScopedListWarningDataItem])- , _mtslwCode :: !(Maybe MachineTypesScopedListWarningCode)- , _mtslwMessage :: !(Maybe Text)- } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'MachineTypesScopedListWarning' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'mtslwData'------ * 'mtslwCode'------ * 'mtslwMessage'-machineTypesScopedListWarning- :: MachineTypesScopedListWarning-machineTypesScopedListWarning =- MachineTypesScopedListWarning'- { _mtslwData = Nothing- , _mtslwCode = Nothing- , _mtslwMessage = Nothing- }---- | [Output Only] Metadata about this warning in key: value format. For--- example: \"data\": [ { \"key\": \"scope\", \"value\":--- \"zones\/us-east1-d\" }-mtslwData :: Lens' MachineTypesScopedListWarning [MachineTypesScopedListWarningDataItem]-mtslwData- = lens _mtslwData (\ s a -> s{_mtslwData = a}) .- _Default- . _Coerce---- | [Output Only] A warning code, if applicable. For example, Compute Engine--- returns NO_RESULTS_ON_PAGE if there are no results in the response.-mtslwCode :: Lens' MachineTypesScopedListWarning (Maybe MachineTypesScopedListWarningCode)-mtslwCode- = lens _mtslwCode (\ s a -> s{_mtslwCode = a})---- | [Output Only] A human-readable description of the warning code.-mtslwMessage :: Lens' MachineTypesScopedListWarning (Maybe Text)-mtslwMessage- = lens _mtslwMessage (\ s a -> s{_mtslwMessage = a})--instance FromJSON MachineTypesScopedListWarning where- parseJSON- = withObject "MachineTypesScopedListWarning"- (\ o ->- MachineTypesScopedListWarning' <$>- (o .:? "data" .!= mempty) <*> (o .:? "code") <*>- (o .:? "message"))--instance ToJSON MachineTypesScopedListWarning where- toJSON MachineTypesScopedListWarning'{..}- = object- (catMaybes- [("data" .=) <$> _mtslwData,- ("code" .=) <$> _mtslwCode,- ("message" .=) <$> _mtslwMessage])---- | A TargetInstance resource. This resource defines an endpoint instance--- that terminates traffic of certain protocols.------ /See:/ 'targetInstance' smart constructor.-data TargetInstance = TargetInstance'- { _tiKind :: !Text- , _tiNATPolicy :: !(Maybe TargetInstanceNATPolicy)- , _tiZone :: !(Maybe Text)- , _tiSelfLink :: !(Maybe Text)- , _tiName :: !(Maybe Text)- , _tiCreationTimestamp :: !(Maybe Text)- , _tiId :: !(Maybe (Textual Word64))- , _tiDescription :: !(Maybe Text)- , _tiInstance :: !(Maybe Text)- } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'TargetInstance' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'tiKind'------ * 'tiNATPolicy'------ * 'tiZone'------ * 'tiSelfLink'------ * 'tiName'------ * 'tiCreationTimestamp'------ * 'tiId'------ * 'tiDescription'------ * 'tiInstance'-targetInstance- :: TargetInstance-targetInstance =- TargetInstance'- { _tiKind = "compute#targetInstance"- , _tiNATPolicy = Nothing- , _tiZone = Nothing- , _tiSelfLink = Nothing- , _tiName = Nothing- , _tiCreationTimestamp = Nothing- , _tiId = Nothing- , _tiDescription = Nothing- , _tiInstance = Nothing- }---- | [Output Only] The type of the resource. Always compute#targetInstance--- for target instances.-tiKind :: Lens' TargetInstance Text-tiKind = lens _tiKind (\ s a -> s{_tiKind = a})---- | NAT option controlling how IPs are NAT\'ed to the instance. Currently--- only NO_NAT (default value) is supported.-tiNATPolicy :: Lens' TargetInstance (Maybe TargetInstanceNATPolicy)-tiNATPolicy- = lens _tiNATPolicy (\ s a -> s{_tiNATPolicy = a})---- | [Output Only] URL of the zone where the target instance resides.-tiZone :: Lens' TargetInstance (Maybe Text)-tiZone = lens _tiZone (\ s a -> s{_tiZone = a})---- | [Output Only] Server-defined URL for the resource.-tiSelfLink :: Lens' TargetInstance (Maybe Text)-tiSelfLink- = lens _tiSelfLink (\ s a -> s{_tiSelfLink = a})---- | Name of the resource. Provided by the client when the resource is--- created. The name must be 1-63 characters long, and comply with RFC1035.--- Specifically, the name must be 1-63 characters long and match the--- regular expression [a-z]([-a-z0-9]*[a-z0-9])? which means the first--- character must be a lowercase letter, and all following characters must--- be a dash, lowercase letter, or digit, except the last character, which--- cannot be a dash.-tiName :: Lens' TargetInstance (Maybe Text)-tiName = lens _tiName (\ s a -> s{_tiName = a})---- | [Output Only] Creation timestamp in RFC3339 text format.-tiCreationTimestamp :: Lens' TargetInstance (Maybe Text)-tiCreationTimestamp- = lens _tiCreationTimestamp- (\ s a -> s{_tiCreationTimestamp = a})---- | [Output Only] The unique identifier for the resource. This identifier is--- defined by the server.-tiId :: Lens' TargetInstance (Maybe Word64)-tiId- = lens _tiId (\ s a -> s{_tiId = a}) .- mapping _Coerce---- | An optional description of this resource. Provide this property when you--- create the resource.-tiDescription :: Lens' TargetInstance (Maybe Text)-tiDescription- = lens _tiDescription- (\ s a -> s{_tiDescription = a})---- | A URL to the virtual machine instance that handles traffic for this--- target instance. When creating a target instance, you can provide the--- fully-qualified URL or a valid partial URL to the desired virtual--- machine. For example, the following are all valid URLs: ---- https:\/\/www.googleapis.com\/compute\/v1\/projects\/project\/zones\/zone\/instances\/instance--- - projects\/project\/zones\/zone\/instances\/instance ---- zones\/zone\/instances\/instance-tiInstance :: Lens' TargetInstance (Maybe Text)-tiInstance- = lens _tiInstance (\ s a -> s{_tiInstance = a})--instance FromJSON TargetInstance where- parseJSON- = withObject "TargetInstance"- (\ o ->- TargetInstance' <$>- (o .:? "kind" .!= "compute#targetInstance") <*>- (o .:? "natPolicy")- <*> (o .:? "zone")- <*> (o .:? "selfLink")- <*> (o .:? "name")- <*> (o .:? "creationTimestamp")- <*> (o .:? "id")- <*> (o .:? "description")- <*> (o .:? "instance"))--instance ToJSON TargetInstance where- toJSON TargetInstance'{..}- = object- (catMaybes- [Just ("kind" .= _tiKind),- ("natPolicy" .=) <$> _tiNATPolicy,- ("zone" .=) <$> _tiZone,- ("selfLink" .=) <$> _tiSelfLink,- ("name" .=) <$> _tiName,- ("creationTimestamp" .=) <$> _tiCreationTimestamp,- ("id" .=) <$> _tiId,- ("description" .=) <$> _tiDescription,- ("instance" .=) <$> _tiInstance])------- /See:/ 'targetPoolInstanceHealth' smart constructor.-data TargetPoolInstanceHealth = TargetPoolInstanceHealth'- { _tpihKind :: !Text- , _tpihHealthStatus :: !(Maybe [HealthStatus])- } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'TargetPoolInstanceHealth' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'tpihKind'------ * 'tpihHealthStatus'-targetPoolInstanceHealth- :: TargetPoolInstanceHealth-targetPoolInstanceHealth =- TargetPoolInstanceHealth'- { _tpihKind = "compute#targetPoolInstanceHealth"- , _tpihHealthStatus = Nothing- }---- | [Output Only] Type of resource. Always compute#targetPoolInstanceHealth--- when checking the health of an instance.-tpihKind :: Lens' TargetPoolInstanceHealth Text-tpihKind = lens _tpihKind (\ s a -> s{_tpihKind = a})--tpihHealthStatus :: Lens' TargetPoolInstanceHealth [HealthStatus]-tpihHealthStatus- = lens _tpihHealthStatus- (\ s a -> s{_tpihHealthStatus = a})- . _Default- . _Coerce--instance FromJSON TargetPoolInstanceHealth where- parseJSON- = withObject "TargetPoolInstanceHealth"- (\ o ->- TargetPoolInstanceHealth' <$>- (o .:? "kind" .!= "compute#targetPoolInstanceHealth")- <*> (o .:? "healthStatus" .!= mempty))--instance ToJSON TargetPoolInstanceHealth where- toJSON TargetPoolInstanceHealth'{..}- = object- (catMaybes- [Just ("kind" .= _tpihKind),- ("healthStatus" .=) <$> _tpihHealthStatus])------- /See:/ 'instanceGroupManagersListManagedInstancesResponse' smart constructor.-newtype InstanceGroupManagersListManagedInstancesResponse = InstanceGroupManagersListManagedInstancesResponse'- { _igmlmirManagedInstances :: Maybe [ManagedInstance]- } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'InstanceGroupManagersListManagedInstancesResponse' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'igmlmirManagedInstances'-instanceGroupManagersListManagedInstancesResponse- :: InstanceGroupManagersListManagedInstancesResponse-instanceGroupManagersListManagedInstancesResponse =- InstanceGroupManagersListManagedInstancesResponse'- { _igmlmirManagedInstances = Nothing- }---- | [Output Only] The list of instances in the managed instance group.-igmlmirManagedInstances :: Lens' InstanceGroupManagersListManagedInstancesResponse [ManagedInstance]-igmlmirManagedInstances- = lens _igmlmirManagedInstances- (\ s a -> s{_igmlmirManagedInstances = a})- . _Default- . _Coerce--instance FromJSON- InstanceGroupManagersListManagedInstancesResponse- where- parseJSON- = withObject- "InstanceGroupManagersListManagedInstancesResponse"- (\ o ->- InstanceGroupManagersListManagedInstancesResponse'- <$> (o .:? "managedInstances" .!= mempty))--instance ToJSON- InstanceGroupManagersListManagedInstancesResponse- where- toJSON- InstanceGroupManagersListManagedInstancesResponse'{..}- = object- (catMaybes- [("managedInstances" .=) <$>- _igmlmirManagedInstances])---- |------ /See:/ 'instanceProperties' smart constructor.-data InstanceProperties = InstanceProperties'- { _ipServiceAccounts :: !(Maybe [ServiceAccount])- , _ipNetworkInterfaces :: !(Maybe [NetworkInterface])- , _ipMachineType :: !(Maybe Text)- , _ipMetadata :: !(Maybe Metadata)- , _ipScheduling :: !(Maybe Scheduling)- , _ipDisks :: !(Maybe [AttachedDisk])- , _ipCanIPForward :: !(Maybe Bool)- , _ipDescription :: !(Maybe Text)- , _ipTags :: !(Maybe Tags)- } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'InstanceProperties' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'ipServiceAccounts'------ * 'ipNetworkInterfaces'------ * 'ipMachineType'------ * 'ipMetadata'------ * 'ipScheduling'------ * 'ipDisks'------ * 'ipCanIPForward'------ * 'ipDescription'------ * 'ipTags'-instanceProperties- :: InstanceProperties-instanceProperties =- InstanceProperties'- { _ipServiceAccounts = Nothing- , _ipNetworkInterfaces = Nothing- , _ipMachineType = Nothing- , _ipMetadata = Nothing- , _ipScheduling = Nothing- , _ipDisks = Nothing- , _ipCanIPForward = Nothing- , _ipDescription = Nothing- , _ipTags = Nothing- }---- | A list of service accounts with specified scopes. Access tokens for--- these service accounts are available to the instances that are created--- from this template. Use metadata queries to obtain the access tokens for--- these instances.-ipServiceAccounts :: Lens' InstanceProperties [ServiceAccount]-ipServiceAccounts- = lens _ipServiceAccounts- (\ s a -> s{_ipServiceAccounts = a})- . _Default- . _Coerce---- | An array of network access configurations for this interface.-ipNetworkInterfaces :: Lens' InstanceProperties [NetworkInterface]-ipNetworkInterfaces- = lens _ipNetworkInterfaces- (\ s a -> s{_ipNetworkInterfaces = a})- . _Default- . _Coerce---- | The machine type to use for instances that are created from this--- template.-ipMachineType :: Lens' InstanceProperties (Maybe Text)-ipMachineType- = lens _ipMachineType- (\ s a -> s{_ipMachineType = a})---- | The metadata key\/value pairs to assign to instances that are created--- from this template. These pairs can consist of custom metadata or--- predefined keys. See Project and instance metadata for more information.-ipMetadata :: Lens' InstanceProperties (Maybe Metadata)-ipMetadata- = lens _ipMetadata (\ s a -> s{_ipMetadata = a})---- | Specifies the scheduling options for the instances that are created from--- this template.-ipScheduling :: Lens' InstanceProperties (Maybe Scheduling)-ipScheduling- = lens _ipScheduling (\ s a -> s{_ipScheduling = a})---- | An array of disks that are associated with the instances that are--- created from this template.-ipDisks :: Lens' InstanceProperties [AttachedDisk]-ipDisks- = lens _ipDisks (\ s a -> s{_ipDisks = a}) . _Default- . _Coerce---- | Enables instances created based on this template to send packets with--- source IP addresses other than their own and receive packets with--- destination IP addresses other than their own. If these instances will--- be used as an IP gateway or it will be set as the next-hop in a Route--- resource, specify true. If unsure, leave this set to false. See the--- canIpForward documentation for more information.-ipCanIPForward :: Lens' InstanceProperties (Maybe Bool)-ipCanIPForward- = lens _ipCanIPForward- (\ s a -> s{_ipCanIPForward = a})---- | An optional text description for the instances that are created from--- this instance template.-ipDescription :: Lens' InstanceProperties (Maybe Text)-ipDescription- = lens _ipDescription- (\ s a -> s{_ipDescription = a})---- | A list of tags to apply to the instances that are created from this--- template. The tags identify valid sources or targets for network--- firewalls. The setTags method can modify this list of tags. Each tag--- within the list must comply with RFC1035.-ipTags :: Lens' InstanceProperties (Maybe Tags)-ipTags = lens _ipTags (\ s a -> s{_ipTags = a})--instance FromJSON InstanceProperties where- parseJSON- = withObject "InstanceProperties"- (\ o ->- InstanceProperties' <$>- (o .:? "serviceAccounts" .!= mempty) <*>- (o .:? "networkInterfaces" .!= mempty)- <*> (o .:? "machineType")- <*> (o .:? "metadata")- <*> (o .:? "scheduling")- <*> (o .:? "disks" .!= mempty)- <*> (o .:? "canIpForward")- <*> (o .:? "description")- <*> (o .:? "tags"))--instance ToJSON InstanceProperties where- toJSON InstanceProperties'{..}- = object- (catMaybes- [("serviceAccounts" .=) <$> _ipServiceAccounts,- ("networkInterfaces" .=) <$> _ipNetworkInterfaces,- ("machineType" .=) <$> _ipMachineType,- ("metadata" .=) <$> _ipMetadata,- ("scheduling" .=) <$> _ipScheduling,- ("disks" .=) <$> _ipDisks,- ("canIpForward" .=) <$> _ipCanIPForward,- ("description" .=) <$> _ipDescription,- ("tags" .=) <$> _ipTags])---- | [Output Only] Informational warning which replaces the list of disk--- types when the list is empty.------ /See:/ 'diskTypesScopedListWarning' smart constructor.-data DiskTypesScopedListWarning = DiskTypesScopedListWarning'- { _dtslwData :: !(Maybe [DiskTypesScopedListWarningDataItem])- , _dtslwCode :: !(Maybe DiskTypesScopedListWarningCode)- , _dtslwMessage :: !(Maybe Text)- } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'DiskTypesScopedListWarning' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'dtslwData'------ * 'dtslwCode'------ * 'dtslwMessage'-diskTypesScopedListWarning- :: DiskTypesScopedListWarning-diskTypesScopedListWarning =- DiskTypesScopedListWarning'- { _dtslwData = Nothing- , _dtslwCode = Nothing- , _dtslwMessage = Nothing- }---- | [Output Only] Metadata about this warning in key: value format. For--- example: \"data\": [ { \"key\": \"scope\", \"value\":--- \"zones\/us-east1-d\" }-dtslwData :: Lens' DiskTypesScopedListWarning [DiskTypesScopedListWarningDataItem]-dtslwData- = lens _dtslwData (\ s a -> s{_dtslwData = a}) .- _Default- . _Coerce---- | [Output Only] A warning code, if applicable. For example, Compute Engine--- returns NO_RESULTS_ON_PAGE if there are no results in the response.-dtslwCode :: Lens' DiskTypesScopedListWarning (Maybe DiskTypesScopedListWarningCode)-dtslwCode- = lens _dtslwCode (\ s a -> s{_dtslwCode = a})---- | [Output Only] A human-readable description of the warning code.-dtslwMessage :: Lens' DiskTypesScopedListWarning (Maybe Text)-dtslwMessage- = lens _dtslwMessage (\ s a -> s{_dtslwMessage = a})--instance FromJSON DiskTypesScopedListWarning where- parseJSON- = withObject "DiskTypesScopedListWarning"- (\ o ->- DiskTypesScopedListWarning' <$>- (o .:? "data" .!= mempty) <*> (o .:? "code") <*>- (o .:? "message"))--instance ToJSON DiskTypesScopedListWarning where- toJSON DiskTypesScopedListWarning'{..}- = object- (catMaybes- [("data" .=) <$> _dtslwData,- ("code" .=) <$> _dtslwCode,- ("message" .=) <$> _dtslwMessage])---- | [Input Only] Specifies the parameters for a new disk that will be--- created alongside the new instance. Use initialization parameters to--- create boot disks or local SSDs attached to the new instance. This--- property is mutually exclusive with the source property; you can only--- define one or the other, but not both.------ /See:/ 'attachedDiskInitializeParams' smart constructor.-data AttachedDiskInitializeParams = AttachedDiskInitializeParams'- { _adipSourceImage :: !(Maybe Text)- , _adipDiskSizeGb :: !(Maybe (Textual Int64))- , _adipDiskName :: !(Maybe Text)- , _adipDiskType :: !(Maybe Text)- } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'AttachedDiskInitializeParams' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'adipSourceImage'------ * 'adipDiskSizeGb'------ * 'adipDiskName'------ * 'adipDiskType'-attachedDiskInitializeParams- :: AttachedDiskInitializeParams-attachedDiskInitializeParams =- AttachedDiskInitializeParams'- { _adipSourceImage = Nothing- , _adipDiskSizeGb = Nothing- , _adipDiskName = Nothing- , _adipDiskType = Nothing- }---- | The source image used to create this disk. If the source image is--- deleted, this field will not be set. To create a disk with one of the--- public operating system images, specify the image by its family name.--- For example, specify family\/debian-8 to use the latest Debian 8 image:--- projects\/debian-cloud\/global\/images\/family\/debian-8 Alternatively,--- use a specific version of a public operating system image:--- projects\/debian-cloud\/global\/images\/debian-8-jessie-vYYYYMMDD To--- create a disk with a private image that you created, specify the image--- name in the following format: global\/images\/my-private-image You can--- also specify a private image by its image family, which returns the--- latest version of the image in that family. Replace the image name with--- family\/family-name: global\/images\/family\/my-private-family-adipSourceImage :: Lens' AttachedDiskInitializeParams (Maybe Text)-adipSourceImage- = lens _adipSourceImage- (\ s a -> s{_adipSourceImage = a})---- | Specifies the size of the disk in base-2 GB.-adipDiskSizeGb :: Lens' AttachedDiskInitializeParams (Maybe Int64)-adipDiskSizeGb- = lens _adipDiskSizeGb- (\ s a -> s{_adipDiskSizeGb = a})- . mapping _Coerce---- | Specifies the disk name. If not specified, the default is to use the--- name of the instance.-adipDiskName :: Lens' AttachedDiskInitializeParams (Maybe Text)-adipDiskName- = lens _adipDiskName (\ s a -> s{_adipDiskName = a})---- | Specifies the disk type to use to create the instance. If not specified,--- the default is pd-standard, specified using the full URL. For example:--- https:\/\/www.googleapis.com\/compute\/v1\/projects\/project\/zones\/zone\/diskTypes\/pd-standard--- Other values include pd-ssd and local-ssd. If you define this field, you--- can provide either the full or partial URL. For example, the following--- are valid values: ---- https:\/\/www.googleapis.com\/compute\/v1\/projects\/project\/zones\/zone\/diskTypes\/diskType--- - projects\/project\/zones\/zone\/diskTypes\/diskType ---- zones\/zone\/diskTypes\/diskType-adipDiskType :: Lens' AttachedDiskInitializeParams (Maybe Text)-adipDiskType- = lens _adipDiskType (\ s a -> s{_adipDiskType = a})--instance FromJSON AttachedDiskInitializeParams where- parseJSON- = withObject "AttachedDiskInitializeParams"- (\ o ->- AttachedDiskInitializeParams' <$>- (o .:? "sourceImage") <*> (o .:? "diskSizeGb") <*>- (o .:? "diskName")- <*> (o .:? "diskType"))--instance ToJSON AttachedDiskInitializeParams where- toJSON AttachedDiskInitializeParams'{..}- = object- (catMaybes- [("sourceImage" .=) <$> _adipSourceImage,- ("diskSizeGb" .=) <$> _adipDiskSizeGb,- ("diskName" .=) <$> _adipDiskName,- ("diskType" .=) <$> _adipDiskType])------- /See:/ 'addressesScopedListWarningDataItem' smart constructor.-data AddressesScopedListWarningDataItem = AddressesScopedListWarningDataItem'- { _aslwdiValue :: !(Maybe Text)- , _aslwdiKey :: !(Maybe Text)- } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'AddressesScopedListWarningDataItem' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'aslwdiValue'------ * 'aslwdiKey'-addressesScopedListWarningDataItem- :: AddressesScopedListWarningDataItem-addressesScopedListWarningDataItem =- AddressesScopedListWarningDataItem'- { _aslwdiValue = Nothing- , _aslwdiKey = Nothing- }---- | [Output Only] A warning data value corresponding to the key.-aslwdiValue :: Lens' AddressesScopedListWarningDataItem (Maybe Text)-aslwdiValue- = lens _aslwdiValue (\ s a -> s{_aslwdiValue = a})---- | [Output Only] A key that provides more detail on the warning being--- returned. For example, for warnings where there are no results in a list--- request for a particular zone, this key might be scope and the key value--- might be the zone name. Other examples might be a key indicating a--- deprecated resource and a suggested replacement, or a warning about--- invalid network settings (for example, if an instance attempts to--- perform IP forwarding but is not enabled for IP forwarding).-aslwdiKey :: Lens' AddressesScopedListWarningDataItem (Maybe Text)-aslwdiKey- = lens _aslwdiKey (\ s a -> s{_aslwdiKey = a})--instance FromJSON AddressesScopedListWarningDataItem- where- parseJSON- = withObject "AddressesScopedListWarningDataItem"- (\ o ->- AddressesScopedListWarningDataItem' <$>- (o .:? "value") <*> (o .:? "key"))--instance ToJSON AddressesScopedListWarningDataItem- where- toJSON AddressesScopedListWarningDataItem'{..}- = object- (catMaybes- [("value" .=) <$> _aslwdiValue,- ("key" .=) <$> _aslwdiKey])---- | A network interface resource attached to an instance.------ /See:/ 'networkInterface' smart constructor.-data NetworkInterface = NetworkInterface'- { _niNetwork :: !(Maybe Text)- , _niName :: !(Maybe Text)- , _niNetworkIP :: !(Maybe Text)- , _niSubnetwork :: !(Maybe Text)- , _niAccessConfigs :: !(Maybe [AccessConfig])- } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'NetworkInterface' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'niNetwork'------ * 'niName'------ * 'niNetworkIP'------ * 'niSubnetwork'------ * 'niAccessConfigs'-networkInterface- :: NetworkInterface-networkInterface =- NetworkInterface'- { _niNetwork = Nothing- , _niName = Nothing- , _niNetworkIP = Nothing- , _niSubnetwork = Nothing- , _niAccessConfigs = Nothing- }---- | URL of the network resource for this instance. This is required for--- creating an instance but optional when creating a firewall rule. If not--- specified when creating a firewall rule, the default network is used:--- global\/networks\/default If you specify this property, you can specify--- the network as a full or partial URL. For example, the following are all--- valid URLs: ---- https:\/\/www.googleapis.com\/compute\/v1\/projects\/project\/global\/networks\/network--- - projects\/project\/global\/networks\/network ---- global\/networks\/default-niNetwork :: Lens' NetworkInterface (Maybe Text)-niNetwork- = lens _niNetwork (\ s a -> s{_niNetwork = a})---- | [Output Only] The name of the network interface, generated by the--- server. For network devices, these are eth0, eth1, etc.-niName :: Lens' NetworkInterface (Maybe Text)-niName = lens _niName (\ s a -> s{_niName = a})---- | An IPv4 internal network address to assign to the instance for this--- network interface. If not specified by the user, an unused internal IP--- is assigned by the system.-niNetworkIP :: Lens' NetworkInterface (Maybe Text)-niNetworkIP- = lens _niNetworkIP (\ s a -> s{_niNetworkIP = a})---- | The URL of the Subnetwork resource for this instance. If the network--- resource is in legacy mode, do not provide this property. If the network--- is in auto subnet mode, providing the subnetwork is optional. If the--- network is in custom subnet mode, then this field should be specified.--- If you specify this property, you can specify the subnetwork as a full--- or partial URL. For example, the following are all valid URLs: ---- https:\/\/www.googleapis.com\/compute\/v1\/projects\/project\/regions\/region\/subnetworks\/subnetwork--- - regions\/region\/subnetworks\/subnetwork-niSubnetwork :: Lens' NetworkInterface (Maybe Text)-niSubnetwork- = lens _niSubnetwork (\ s a -> s{_niSubnetwork = a})---- | An array of configurations for this interface. Currently, ONE_TO_ONE_NAT--- is the only access config supported. If there are no accessConfigs--- specified, then this instance will have no external internet access.-niAccessConfigs :: Lens' NetworkInterface [AccessConfig]-niAccessConfigs- = lens _niAccessConfigs- (\ s a -> s{_niAccessConfigs = a})- . _Default- . _Coerce--instance FromJSON NetworkInterface where- parseJSON- = withObject "NetworkInterface"- (\ o ->- NetworkInterface' <$>- (o .:? "network") <*> (o .:? "name") <*>- (o .:? "networkIP")- <*> (o .:? "subnetwork")- <*> (o .:? "accessConfigs" .!= mempty))--instance ToJSON NetworkInterface where- toJSON NetworkInterface'{..}- = object- (catMaybes- [("network" .=) <$> _niNetwork,- ("name" .=) <$> _niName,- ("networkIP" .=) <$> _niNetworkIP,- ("subnetwork" .=) <$> _niSubnetwork,- ("accessConfigs" .=) <$> _niAccessConfigs])------- /See:/ 'targetPoolsRemoveHealthCheckRequest' smart constructor.-newtype TargetPoolsRemoveHealthCheckRequest = TargetPoolsRemoveHealthCheckRequest'- { _tprhcrHealthChecks :: Maybe [HealthCheckReference]- } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'TargetPoolsRemoveHealthCheckRequest' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'tprhcrHealthChecks'-targetPoolsRemoveHealthCheckRequest- :: TargetPoolsRemoveHealthCheckRequest-targetPoolsRemoveHealthCheckRequest =- TargetPoolsRemoveHealthCheckRequest'- { _tprhcrHealthChecks = Nothing- }---- | Health check URL to be removed. This can be a full or valid partial URL.--- For example, the following are valid URLs: ---- https:\/\/www.googleapis.com\/compute\/beta\/projects\/project\/global\/httpHealthChecks\/health-check--- - projects\/project\/global\/httpHealthChecks\/health-check ---- global\/httpHealthChecks\/health-check-tprhcrHealthChecks :: Lens' TargetPoolsRemoveHealthCheckRequest [HealthCheckReference]-tprhcrHealthChecks- = lens _tprhcrHealthChecks- (\ s a -> s{_tprhcrHealthChecks = a})- . _Default- . _Coerce--instance FromJSON TargetPoolsRemoveHealthCheckRequest- where- parseJSON- = withObject "TargetPoolsRemoveHealthCheckRequest"- (\ o ->- TargetPoolsRemoveHealthCheckRequest' <$>- (o .:? "healthChecks" .!= mempty))--instance ToJSON TargetPoolsRemoveHealthCheckRequest- where- toJSON TargetPoolsRemoveHealthCheckRequest'{..}- = object- (catMaybes- [("healthChecks" .=) <$> _tprhcrHealthChecks])---- | A list of instance templates.------ /See:/ 'instanceTemplateList' smart constructor.-data InstanceTemplateList = InstanceTemplateList'- { _itlNextPageToken :: !(Maybe Text)- , _itlKind :: !Text- , _itlItems :: !(Maybe [InstanceTemplate])- , _itlSelfLink :: !(Maybe Text)- , _itlId :: !(Maybe Text)- } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'InstanceTemplateList' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'itlNextPageToken'------ * 'itlKind'------ * 'itlItems'------ * 'itlSelfLink'------ * 'itlId'-instanceTemplateList- :: InstanceTemplateList-instanceTemplateList =- InstanceTemplateList'- { _itlNextPageToken = Nothing- , _itlKind = "compute#instanceTemplateList"- , _itlItems = Nothing- , _itlSelfLink = Nothing- , _itlId = Nothing- }---- | [Output Only] This token allows you to get the next page of results for--- list requests. If the number of results is larger than maxResults, use--- the nextPageToken as a value for the query parameter pageToken in the--- next list request. Subsequent list requests will have their own--- nextPageToken to continue paging through the results.-itlNextPageToken :: Lens' InstanceTemplateList (Maybe Text)-itlNextPageToken- = lens _itlNextPageToken- (\ s a -> s{_itlNextPageToken = a})---- | [Output Only] The resource type, which is always--- compute#instanceTemplatesListResponse for instance template lists.-itlKind :: Lens' InstanceTemplateList Text-itlKind = lens _itlKind (\ s a -> s{_itlKind = a})---- | [Output Only] list of InstanceTemplate resources.-itlItems :: Lens' InstanceTemplateList [InstanceTemplate]-itlItems- = lens _itlItems (\ s a -> s{_itlItems = a}) .- _Default- . _Coerce---- | [Output Only] The URL for this instance template list. The server--- defines this URL.-itlSelfLink :: Lens' InstanceTemplateList (Maybe Text)-itlSelfLink- = lens _itlSelfLink (\ s a -> s{_itlSelfLink = a})---- | [Output Only] A unique identifier for this instance template. The server--- defines this identifier.-itlId :: Lens' InstanceTemplateList (Maybe Text)-itlId = lens _itlId (\ s a -> s{_itlId = a})--instance FromJSON InstanceTemplateList where- parseJSON- = withObject "InstanceTemplateList"- (\ o ->- InstanceTemplateList' <$>- (o .:? "nextPageToken") <*>- (o .:? "kind" .!= "compute#instanceTemplateList")- <*> (o .:? "items" .!= mempty)- <*> (o .:? "selfLink")- <*> (o .:? "id"))--instance ToJSON InstanceTemplateList where- toJSON InstanceTemplateList'{..}- = object- (catMaybes- [("nextPageToken" .=) <$> _itlNextPageToken,- Just ("kind" .= _itlKind),- ("items" .=) <$> _itlItems,- ("selfLink" .=) <$> _itlSelfLink,- ("id" .=) <$> _itlId])---- | Contains a list of Route resources.------ /See:/ 'routeList' smart constructor.-data RouteList = RouteList'- { _rlNextPageToken :: !(Maybe Text)- , _rlKind :: !Text- , _rlItems :: !(Maybe [Route])- , _rlSelfLink :: !(Maybe Text)- , _rlId :: !(Maybe Text)- } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'RouteList' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'rlNextPageToken'------ * 'rlKind'------ * 'rlItems'------ * 'rlSelfLink'------ * 'rlId'-routeList- :: RouteList-routeList =- RouteList'- { _rlNextPageToken = Nothing- , _rlKind = "compute#routeList"- , _rlItems = Nothing- , _rlSelfLink = Nothing- , _rlId = Nothing- }---- | [Output Only] This token allows you to get the next page of results for--- list requests. If the number of results is larger than maxResults, use--- the nextPageToken as a value for the query parameter pageToken in the--- next list request. Subsequent list requests will have their own--- nextPageToken to continue paging through the results.-rlNextPageToken :: Lens' RouteList (Maybe Text)-rlNextPageToken- = lens _rlNextPageToken- (\ s a -> s{_rlNextPageToken = a})---- | Type of resource.-rlKind :: Lens' RouteList Text-rlKind = lens _rlKind (\ s a -> s{_rlKind = a})---- | [Output Only] A list of Route resources.-rlItems :: Lens' RouteList [Route]-rlItems- = lens _rlItems (\ s a -> s{_rlItems = a}) . _Default- . _Coerce---- | [Output Only] Server-defined URL for this resource.-rlSelfLink :: Lens' RouteList (Maybe Text)-rlSelfLink- = lens _rlSelfLink (\ s a -> s{_rlSelfLink = a})---- | [Output Only] Unique identifier for the resource. Defined by the server.-rlId :: Lens' RouteList (Maybe Text)-rlId = lens _rlId (\ s a -> s{_rlId = a})--instance FromJSON RouteList where- parseJSON- = withObject "RouteList"- (\ o ->- RouteList' <$>- (o .:? "nextPageToken") <*>- (o .:? "kind" .!= "compute#routeList")- <*> (o .:? "items" .!= mempty)- <*> (o .:? "selfLink")- <*> (o .:? "id"))--instance ToJSON RouteList where- toJSON RouteList'{..}- = object- (catMaybes- [("nextPageToken" .=) <$> _rlNextPageToken,- Just ("kind" .= _rlKind), ("items" .=) <$> _rlItems,- ("selfLink" .=) <$> _rlSelfLink,- ("id" .=) <$> _rlId])---- | Contains a list of TargetVpnGateway resources.------ /See:/ 'targetVPNGatewayList' smart constructor.-data TargetVPNGatewayList = TargetVPNGatewayList'- { _tvglNextPageToken :: !(Maybe Text)- , _tvglKind :: !Text- , _tvglItems :: !(Maybe [TargetVPNGateway])- , _tvglSelfLink :: !(Maybe Text)- , _tvglId :: !(Maybe Text)- } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'TargetVPNGatewayList' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'tvglNextPageToken'------ * 'tvglKind'------ * 'tvglItems'------ * 'tvglSelfLink'------ * 'tvglId'-targetVPNGatewayList- :: TargetVPNGatewayList-targetVPNGatewayList =- TargetVPNGatewayList'- { _tvglNextPageToken = Nothing- , _tvglKind = "compute#targetVpnGatewayList"- , _tvglItems = Nothing- , _tvglSelfLink = Nothing- , _tvglId = Nothing- }---- | [Output Only] This token allows you to get the next page of results for--- list requests. If the number of results is larger than maxResults, use--- the nextPageToken as a value for the query parameter pageToken in the--- next list request. Subsequent list requests will have their own--- nextPageToken to continue paging through the results.-tvglNextPageToken :: Lens' TargetVPNGatewayList (Maybe Text)-tvglNextPageToken- = lens _tvglNextPageToken- (\ s a -> s{_tvglNextPageToken = a})---- | [Output Only] Type of resource. Always compute#targetVpnGateway for--- target VPN gateways.-tvglKind :: Lens' TargetVPNGatewayList Text-tvglKind = lens _tvglKind (\ s a -> s{_tvglKind = a})---- | [Output Only] A list of TargetVpnGateway resources.-tvglItems :: Lens' TargetVPNGatewayList [TargetVPNGateway]-tvglItems- = lens _tvglItems (\ s a -> s{_tvglItems = a}) .- _Default- . _Coerce---- | [Output Only] Server-defined URL for the resource.-tvglSelfLink :: Lens' TargetVPNGatewayList (Maybe Text)-tvglSelfLink- = lens _tvglSelfLink (\ s a -> s{_tvglSelfLink = a})---- | [Output Only] The unique identifier for the resource. This identifier is--- defined by the server.-tvglId :: Lens' TargetVPNGatewayList (Maybe Text)-tvglId = lens _tvglId (\ s a -> s{_tvglId = a})--instance FromJSON TargetVPNGatewayList where- parseJSON- = withObject "TargetVPNGatewayList"- (\ o ->- TargetVPNGatewayList' <$>- (o .:? "nextPageToken") <*>- (o .:? "kind" .!= "compute#targetVpnGatewayList")- <*> (o .:? "items" .!= mempty)- <*> (o .:? "selfLink")- <*> (o .:? "id"))--instance ToJSON TargetVPNGatewayList where- toJSON TargetVPNGatewayList'{..}- = object- (catMaybes- [("nextPageToken" .=) <$> _tvglNextPageToken,- Just ("kind" .= _tvglKind),- ("items" .=) <$> _tvglItems,- ("selfLink" .=) <$> _tvglSelfLink,- ("id" .=) <$> _tvglId])---- | Contains a list of SslCertificate resources.------ /See:/ 'sslCertificateList' smart constructor.-data SSLCertificateList = SSLCertificateList'- { _sclNextPageToken :: !(Maybe Text)- , _sclKind :: !Text- , _sclItems :: !(Maybe [SSLCertificate])- , _sclSelfLink :: !(Maybe Text)- , _sclId :: !(Maybe Text)- } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'SSLCertificateList' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'sclNextPageToken'------ * 'sclKind'------ * 'sclItems'------ * 'sclSelfLink'------ * 'sclId'-sslCertificateList- :: SSLCertificateList-sslCertificateList =- SSLCertificateList'- { _sclNextPageToken = Nothing- , _sclKind = "compute#sslCertificateList"- , _sclItems = Nothing- , _sclSelfLink = Nothing- , _sclId = Nothing- }---- | [Output Only] This token allows you to get the next page of results for--- list requests. If the number of results is larger than maxResults, use--- the nextPageToken as a value for the query parameter pageToken in the--- next list request. Subsequent list requests will have their own--- nextPageToken to continue paging through the results.-sclNextPageToken :: Lens' SSLCertificateList (Maybe Text)-sclNextPageToken- = lens _sclNextPageToken- (\ s a -> s{_sclNextPageToken = a})---- | Type of resource.-sclKind :: Lens' SSLCertificateList Text-sclKind = lens _sclKind (\ s a -> s{_sclKind = a})---- | A list of SslCertificate resources.-sclItems :: Lens' SSLCertificateList [SSLCertificate]-sclItems- = lens _sclItems (\ s a -> s{_sclItems = a}) .- _Default- . _Coerce---- | [Output Only] Server-defined URL for this resource.-sclSelfLink :: Lens' SSLCertificateList (Maybe Text)-sclSelfLink- = lens _sclSelfLink (\ s a -> s{_sclSelfLink = a})---- | [Output Only] Unique identifier for the resource. Defined by the server.-sclId :: Lens' SSLCertificateList (Maybe Text)-sclId = lens _sclId (\ s a -> s{_sclId = a})--instance FromJSON SSLCertificateList where- parseJSON- = withObject "SSLCertificateList"- (\ o ->- SSLCertificateList' <$>- (o .:? "nextPageToken") <*>- (o .:? "kind" .!= "compute#sslCertificateList")- <*> (o .:? "items" .!= mempty)- <*> (o .:? "selfLink")- <*> (o .:? "id"))--instance ToJSON SSLCertificateList where- toJSON SSLCertificateList'{..}- = object- (catMaybes- [("nextPageToken" .=) <$> _sclNextPageToken,- Just ("kind" .= _sclKind),- ("items" .=) <$> _sclItems,- ("selfLink" .=) <$> _sclSelfLink,- ("id" .=) <$> _sclId])------- /See:/ 'firewallAllowedItem' smart constructor.-data FirewallAllowedItem = FirewallAllowedItem'- { _faiIPProtocol :: !(Maybe Text)- , _faiPorts :: !(Maybe [Text])- } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'FirewallAllowedItem' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'faiIPProtocol'------ * 'faiPorts'-firewallAllowedItem- :: FirewallAllowedItem-firewallAllowedItem =- FirewallAllowedItem'- { _faiIPProtocol = Nothing- , _faiPorts = Nothing- }---- | The IP protocol that is allowed for this rule. The protocol type is--- required when creating a firewall rule. This value can either be one of--- the following well known protocol strings (tcp, udp, icmp, esp, ah,--- sctp), or the IP protocol number.-faiIPProtocol :: Lens' FirewallAllowedItem (Maybe Text)-faiIPProtocol- = lens _faiIPProtocol- (\ s a -> s{_faiIPProtocol = a})---- | An optional list of ports which are allowed. This field is only--- applicable for UDP or TCP protocol. Each entry must be either an integer--- or a range. If not specified, connections through any port are allowed--- Example inputs include: [\"22\"], [\"80\",\"443\"], and--- [\"12345-12349\"].-faiPorts :: Lens' FirewallAllowedItem [Text]-faiPorts- = lens _faiPorts (\ s a -> s{_faiPorts = a}) .- _Default- . _Coerce--instance FromJSON FirewallAllowedItem where- parseJSON- = withObject "FirewallAllowedItem"- (\ o ->- FirewallAllowedItem' <$>- (o .:? "IPProtocol") <*> (o .:? "ports" .!= mempty))--instance ToJSON FirewallAllowedItem where- toJSON FirewallAllowedItem'{..}- = object- (catMaybes- [("IPProtocol" .=) <$> _faiIPProtocol,- ("ports" .=) <$> _faiPorts])---- | Represents a Network resource. Read Networks and Firewalls for more--- information.------ /See:/ 'network' smart constructor.-data Network = Network'- { _nAutoCreateSubnetworks :: !(Maybe Bool)- , _nKind :: !Text- , _nSubnetworks :: !(Maybe [Text])- , _nIPv4Range :: !(Maybe Text)- , _nSelfLink :: !(Maybe Text)- , _nName :: !(Maybe Text)- , _nCreationTimestamp :: !(Maybe Text)- , _nId :: !(Maybe (Textual Word64))- , _nGatewayIPv4 :: !(Maybe Text)- , _nDescription :: !(Maybe Text)- } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'Network' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'nAutoCreateSubnetworks'------ * 'nKind'------ * 'nSubnetworks'------ * 'nIPv4Range'------ * 'nSelfLink'------ * 'nName'------ * 'nCreationTimestamp'------ * 'nId'------ * 'nGatewayIPv4'------ * 'nDescription'-network- :: Network-network =- Network'- { _nAutoCreateSubnetworks = Nothing- , _nKind = "compute#network"- , _nSubnetworks = Nothing- , _nIPv4Range = Nothing- , _nSelfLink = Nothing- , _nName = Nothing- , _nCreationTimestamp = Nothing- , _nId = Nothing- , _nGatewayIPv4 = Nothing- , _nDescription = Nothing- }---- | When set to true, the network is created in \"auto subnet mode\". When--- set to false, the network is in \"custom subnet mode\". In \"auto subnet--- mode\", a newly created network is assigned the default CIDR of--- 10.128.0.0\/9 and it automatically creates one subnetwork per region.-nAutoCreateSubnetworks :: Lens' Network (Maybe Bool)-nAutoCreateSubnetworks- = lens _nAutoCreateSubnetworks- (\ s a -> s{_nAutoCreateSubnetworks = a})---- | [Output Only] Type of the resource. Always compute#network for networks.-nKind :: Lens' Network Text-nKind = lens _nKind (\ s a -> s{_nKind = a})---- | [Output Only] Server-defined fully-qualified URLs for all subnetworks in--- this network.-nSubnetworks :: Lens' Network [Text]-nSubnetworks- = lens _nSubnetworks (\ s a -> s{_nSubnetworks = a})- . _Default- . _Coerce---- | The range of internal addresses that are legal on this network. This--- range is a CIDR specification, for example: 192.168.0.0\/16. Provided by--- the client when the network is created.-nIPv4Range :: Lens' Network (Maybe Text)-nIPv4Range- = lens _nIPv4Range (\ s a -> s{_nIPv4Range = a})---- | [Output Only] Server-defined URL for the resource.-nSelfLink :: Lens' Network (Maybe Text)-nSelfLink- = lens _nSelfLink (\ s a -> s{_nSelfLink = a})---- | Name of the resource. Provided by the client when the resource is--- created. The name must be 1-63 characters long, and comply with RFC1035.--- Specifically, the name must be 1-63 characters long and match the--- regular expression [a-z]([-a-z0-9]*[a-z0-9])? which means the first--- character must be a lowercase letter, and all following characters must--- be a dash, lowercase letter, or digit, except the last character, which--- cannot be a dash.-nName :: Lens' Network (Maybe Text)-nName = lens _nName (\ s a -> s{_nName = a})---- | [Output Only] Creation timestamp in RFC3339 text format.-nCreationTimestamp :: Lens' Network (Maybe Text)-nCreationTimestamp- = lens _nCreationTimestamp- (\ s a -> s{_nCreationTimestamp = a})---- | [Output Only] The unique identifier for the resource. This identifier is--- defined by the server.-nId :: Lens' Network (Maybe Word64)-nId- = lens _nId (\ s a -> s{_nId = a}) . mapping _Coerce---- | A gateway address for default routing to other networks. This value is--- read only and is selected by the Google Compute Engine, typically as the--- first usable address in the IPv4Range.-nGatewayIPv4 :: Lens' Network (Maybe Text)-nGatewayIPv4- = lens _nGatewayIPv4 (\ s a -> s{_nGatewayIPv4 = a})---- | An optional description of this resource. Provide this property when you--- create the resource.-nDescription :: Lens' Network (Maybe Text)-nDescription- = lens _nDescription (\ s a -> s{_nDescription = a})--instance FromJSON Network where- parseJSON- = withObject "Network"- (\ o ->- Network' <$>- (o .:? "autoCreateSubnetworks") <*>- (o .:? "kind" .!= "compute#network")- <*> (o .:? "subnetworks" .!= mempty)- <*> (o .:? "IPv4Range")- <*> (o .:? "selfLink")- <*> (o .:? "name")- <*> (o .:? "creationTimestamp")- <*> (o .:? "id")- <*> (o .:? "gatewayIPv4")- <*> (o .:? "description"))--instance ToJSON Network where- toJSON Network'{..}- = object- (catMaybes- [("autoCreateSubnetworks" .=) <$>- _nAutoCreateSubnetworks,- Just ("kind" .= _nKind),- ("subnetworks" .=) <$> _nSubnetworks,- ("IPv4Range" .=) <$> _nIPv4Range,- ("selfLink" .=) <$> _nSelfLink,- ("name" .=) <$> _nName,- ("creationTimestamp" .=) <$> _nCreationTimestamp,- ("id" .=) <$> _nId,- ("gatewayIPv4" .=) <$> _nGatewayIPv4,- ("description" .=) <$> _nDescription])---- | [Output Only] Informational warning which replaces the list of addresses--- when the list is empty.------ /See:/ 'addressesScopedListWarning' smart constructor.-data AddressesScopedListWarning = AddressesScopedListWarning'- { _aData :: !(Maybe [AddressesScopedListWarningDataItem])- , _aCode :: !(Maybe AddressesScopedListWarningCode)- , _aMessage :: !(Maybe Text)- } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'AddressesScopedListWarning' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'aData'------ * 'aCode'------ * 'aMessage'-addressesScopedListWarning- :: AddressesScopedListWarning-addressesScopedListWarning =- AddressesScopedListWarning'- { _aData = Nothing- , _aCode = Nothing- , _aMessage = Nothing- }---- | [Output Only] Metadata about this warning in key: value format. For--- example: \"data\": [ { \"key\": \"scope\", \"value\":--- \"zones\/us-east1-d\" }-aData :: Lens' AddressesScopedListWarning [AddressesScopedListWarningDataItem]-aData- = lens _aData (\ s a -> s{_aData = a}) . _Default .- _Coerce---- | [Output Only] A warning code, if applicable. For example, Compute Engine--- returns NO_RESULTS_ON_PAGE if there are no results in the response.-aCode :: Lens' AddressesScopedListWarning (Maybe AddressesScopedListWarningCode)-aCode = lens _aCode (\ s a -> s{_aCode = a})---- | [Output Only] A human-readable description of the warning code.-aMessage :: Lens' AddressesScopedListWarning (Maybe Text)-aMessage = lens _aMessage (\ s a -> s{_aMessage = a})--instance FromJSON AddressesScopedListWarning where- parseJSON- = withObject "AddressesScopedListWarning"- (\ o ->- AddressesScopedListWarning' <$>- (o .:? "data" .!= mempty) <*> (o .:? "code") <*>- (o .:? "message"))--instance ToJSON AddressesScopedListWarning where- toJSON AddressesScopedListWarning'{..}- = object- (catMaybes- [("data" .=) <$> _aData, ("code" .=) <$> _aCode,- ("message" .=) <$> _aMessage])---- | The parameters of the raw disk image.------ /See:/ 'imageRawDisk' smart constructor.-data ImageRawDisk = ImageRawDisk'- { _irdContainerType :: !(Maybe ImageRawDiskContainerType)- , _irdSource :: !(Maybe Text)- , _irdSha1Checksum :: !(Maybe Text)- } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'ImageRawDisk' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'irdContainerType'------ * 'irdSource'------ * 'irdSha1Checksum'-imageRawDisk- :: ImageRawDisk-imageRawDisk =- ImageRawDisk'- { _irdContainerType = Nothing- , _irdSource = Nothing- , _irdSha1Checksum = Nothing- }---- | The format used to encode and transmit the block device, which should be--- TAR. This is just a container and transmission format and not a runtime--- format. Provided by the client when the disk image is created.-irdContainerType :: Lens' ImageRawDisk (Maybe ImageRawDiskContainerType)-irdContainerType- = lens _irdContainerType- (\ s a -> s{_irdContainerType = a})---- | The full Google Cloud Storage URL where the disk image is stored. You--- must provide either this property or the sourceDisk property but not--- both.-irdSource :: Lens' ImageRawDisk (Maybe Text)-irdSource- = lens _irdSource (\ s a -> s{_irdSource = a})---- | An optional SHA1 checksum of the disk image before unpackaging; provided--- by the client when the disk image is created.-irdSha1Checksum :: Lens' ImageRawDisk (Maybe Text)-irdSha1Checksum- = lens _irdSha1Checksum- (\ s a -> s{_irdSha1Checksum = a})--instance FromJSON ImageRawDisk where- parseJSON- = withObject "ImageRawDisk"- (\ o ->- ImageRawDisk' <$>- (o .:? "containerType") <*> (o .:? "source") <*>- (o .:? "sha1Checksum"))--instance ToJSON ImageRawDisk where- toJSON ImageRawDisk'{..}- = object- (catMaybes- [("containerType" .=) <$> _irdContainerType,- ("source" .=) <$> _irdSource,- ("sha1Checksum" .=) <$> _irdSha1Checksum])------- /See:/ 'instanceAggregatedList' smart constructor.-data InstanceAggregatedList = InstanceAggregatedList'- { _ialNextPageToken :: !(Maybe Text)- , _ialKind :: !Text- , _ialItems :: !(Maybe InstanceAggregatedListItems)- , _ialSelfLink :: !(Maybe Text)- , _ialId :: !(Maybe Text)- } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'InstanceAggregatedList' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'ialNextPageToken'------ * 'ialKind'------ * 'ialItems'------ * 'ialSelfLink'------ * 'ialId'-instanceAggregatedList- :: InstanceAggregatedList-instanceAggregatedList =- InstanceAggregatedList'- { _ialNextPageToken = Nothing- , _ialKind = "compute#instanceAggregatedList"- , _ialItems = Nothing- , _ialSelfLink = Nothing- , _ialId = Nothing- }---- | [Output Only] This token allows you to get the next page of results for--- list requests. If the number of results is larger than maxResults, use--- the nextPageToken as a value for the query parameter pageToken in the--- next list request. Subsequent list requests will have their own--- nextPageToken to continue paging through the results.-ialNextPageToken :: Lens' InstanceAggregatedList (Maybe Text)-ialNextPageToken- = lens _ialNextPageToken- (\ s a -> s{_ialNextPageToken = a})---- | [Output Only] Type of resource. Always compute#instanceAggregatedList--- for aggregated lists of Instance resources.-ialKind :: Lens' InstanceAggregatedList Text-ialKind = lens _ialKind (\ s a -> s{_ialKind = a})---- | [Output Only] A map of scoped instance lists.-ialItems :: Lens' InstanceAggregatedList (Maybe InstanceAggregatedListItems)-ialItems = lens _ialItems (\ s a -> s{_ialItems = a})---- | [Output Only] Server-defined URL for this resource.-ialSelfLink :: Lens' InstanceAggregatedList (Maybe Text)-ialSelfLink- = lens _ialSelfLink (\ s a -> s{_ialSelfLink = a})---- | [Output Only] The unique identifier for the resource. This identifier is--- defined by the server.-ialId :: Lens' InstanceAggregatedList (Maybe Text)-ialId = lens _ialId (\ s a -> s{_ialId = a})--instance FromJSON InstanceAggregatedList where- parseJSON- = withObject "InstanceAggregatedList"- (\ o ->- InstanceAggregatedList' <$>- (o .:? "nextPageToken") <*>- (o .:? "kind" .!= "compute#instanceAggregatedList")- <*> (o .:? "items")- <*> (o .:? "selfLink")- <*> (o .:? "id"))--instance ToJSON InstanceAggregatedList where- toJSON InstanceAggregatedList'{..}- = object- (catMaybes- [("nextPageToken" .=) <$> _ialNextPageToken,- Just ("kind" .= _ialKind),- ("items" .=) <$> _ialItems,- ("selfLink" .=) <$> _ialSelfLink,- ("id" .=) <$> _ialId])---- | A reserved address resource.------ /See:/ 'address' smart constructor.-data Address = Address'- { _aStatus :: !(Maybe AddressStatus)- , _aUsers :: !(Maybe [Text])- , _aKind :: !Text- , _aAddress :: !(Maybe Text)- , _aSelfLink :: !(Maybe Text)- , _aName :: !(Maybe Text)- , _aCreationTimestamp :: !(Maybe Text)- , _aId :: !(Maybe (Textual Word64))- , _aRegion :: !(Maybe Text)- , _aDescription :: !(Maybe Text)- } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'Address' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'aStatus'------ * 'aUsers'------ * 'aKind'------ * 'aAddress'------ * 'aSelfLink'------ * 'aName'------ * 'aCreationTimestamp'------ * 'aId'------ * 'aRegion'------ * 'aDescription'-address- :: Address-address =- Address'- { _aStatus = Nothing- , _aUsers = Nothing- , _aKind = "compute#address"- , _aAddress = Nothing- , _aSelfLink = Nothing- , _aName = Nothing- , _aCreationTimestamp = Nothing- , _aId = Nothing- , _aRegion = Nothing- , _aDescription = Nothing- }---- | [Output Only] The status of the address, which can be either IN_USE or--- RESERVED. An address that is RESERVED is currently reserved and--- available to use. An IN_USE address is currently being used by another--- resource and is not available.-aStatus :: Lens' Address (Maybe AddressStatus)-aStatus = lens _aStatus (\ s a -> s{_aStatus = a})---- | [Output Only] The URLs of the resources that are using this address.-aUsers :: Lens' Address [Text]-aUsers- = lens _aUsers (\ s a -> s{_aUsers = a}) . _Default .- _Coerce---- | [Output Only] Type of the resource. Always compute#address for--- addresses.-aKind :: Lens' Address Text-aKind = lens _aKind (\ s a -> s{_aKind = a})---- | The static external IP address represented by this resource.-aAddress :: Lens' Address (Maybe Text)-aAddress = lens _aAddress (\ s a -> s{_aAddress = a})---- | [Output Only] Server-defined URL for the resource.-aSelfLink :: Lens' Address (Maybe Text)-aSelfLink- = lens _aSelfLink (\ s a -> s{_aSelfLink = a})---- | Name of the resource. Provided by the client when the resource is--- created. The name must be 1-63 characters long, and comply with RFC1035.--- Specifically, the name must be 1-63 characters long and match the--- regular expression [a-z]([-a-z0-9]*[a-z0-9])? which means the first--- character must be a lowercase letter, and all following characters must--- be a dash, lowercase letter, or digit, except the last character, which--- cannot be a dash.-aName :: Lens' Address (Maybe Text)-aName = lens _aName (\ s a -> s{_aName = a})---- | [Output Only] Creation timestamp in RFC3339 text format.-aCreationTimestamp :: Lens' Address (Maybe Text)-aCreationTimestamp- = lens _aCreationTimestamp- (\ s a -> s{_aCreationTimestamp = a})---- | [Output Only] The unique identifier for the resource. This identifier is--- defined by the server.-aId :: Lens' Address (Maybe Word64)-aId- = lens _aId (\ s a -> s{_aId = a}) . mapping _Coerce---- | [Output Only] URL of the region where the regional address resides. This--- field is not applicable to global addresses.-aRegion :: Lens' Address (Maybe Text)-aRegion = lens _aRegion (\ s a -> s{_aRegion = a})---- | An optional description of this resource. Provide this property when you--- create the resource.-aDescription :: Lens' Address (Maybe Text)-aDescription- = lens _aDescription (\ s a -> s{_aDescription = a})--instance FromJSON Address where- parseJSON- = withObject "Address"- (\ o ->- Address' <$>- (o .:? "status") <*> (o .:? "users" .!= mempty) <*>- (o .:? "kind" .!= "compute#address")- <*> (o .:? "address")- <*> (o .:? "selfLink")- <*> (o .:? "name")- <*> (o .:? "creationTimestamp")- <*> (o .:? "id")- <*> (o .:? "region")- <*> (o .:? "description"))--instance ToJSON Address where- toJSON Address'{..}- = object- (catMaybes- [("status" .=) <$> _aStatus,- ("users" .=) <$> _aUsers, Just ("kind" .= _aKind),- ("address" .=) <$> _aAddress,- ("selfLink" .=) <$> _aSelfLink,- ("name" .=) <$> _aName,- ("creationTimestamp" .=) <$> _aCreationTimestamp,- ("id" .=) <$> _aId, ("region" .=) <$> _aRegion,- ("description" .=) <$> _aDescription])---- | A Zone resource.------ /See:/ 'zone' smart constructor.-data Zone = Zone'- { _zStatus :: !(Maybe ZoneStatus)- , _zKind :: !Text- , _zSelfLink :: !(Maybe Text)- , _zName :: !(Maybe Text)- , _zCreationTimestamp :: !(Maybe Text)- , _zId :: !(Maybe (Textual Word64))- , _zRegion :: !(Maybe Text)- , _zDescription :: !(Maybe Text)- , _zDeprecated :: !(Maybe DeprecationStatus)- } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'Zone' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'zStatus'------ * 'zKind'------ * 'zSelfLink'------ * 'zName'------ * 'zCreationTimestamp'------ * 'zId'------ * 'zRegion'------ * 'zDescription'------ * 'zDeprecated'-zone- :: Zone-zone =- Zone'- { _zStatus = Nothing- , _zKind = "compute#zone"- , _zSelfLink = Nothing- , _zName = Nothing- , _zCreationTimestamp = Nothing- , _zId = Nothing- , _zRegion = Nothing- , _zDescription = Nothing- , _zDeprecated = Nothing- }---- | [Output Only] Status of the zone, either UP or DOWN.-zStatus :: Lens' Zone (Maybe ZoneStatus)-zStatus = lens _zStatus (\ s a -> s{_zStatus = a})---- | [Output Only] Type of the resource. Always compute#zone for zones.-zKind :: Lens' Zone Text-zKind = lens _zKind (\ s a -> s{_zKind = a})---- | [Output Only] Server-defined URL for the resource.-zSelfLink :: Lens' Zone (Maybe Text)-zSelfLink- = lens _zSelfLink (\ s a -> s{_zSelfLink = a})---- | [Output Only] Name of the resource.-zName :: Lens' Zone (Maybe Text)-zName = lens _zName (\ s a -> s{_zName = a})---- | [Output Only] Creation timestamp in RFC3339 text format.-zCreationTimestamp :: Lens' Zone (Maybe Text)-zCreationTimestamp- = lens _zCreationTimestamp- (\ s a -> s{_zCreationTimestamp = a})---- | [Output Only] The unique identifier for the resource. This identifier is--- defined by the server.-zId :: Lens' Zone (Maybe Word64)-zId- = lens _zId (\ s a -> s{_zId = a}) . mapping _Coerce---- | [Output Only] Full URL reference to the region which hosts the zone.-zRegion :: Lens' Zone (Maybe Text)-zRegion = lens _zRegion (\ s a -> s{_zRegion = a})---- | [Output Only] Textual description of the resource.-zDescription :: Lens' Zone (Maybe Text)-zDescription- = lens _zDescription (\ s a -> s{_zDescription = a})---- | [Output Only] The deprecation status associated with this zone.-zDeprecated :: Lens' Zone (Maybe DeprecationStatus)-zDeprecated- = lens _zDeprecated (\ s a -> s{_zDeprecated = a})--instance FromJSON Zone where- parseJSON- = withObject "Zone"- (\ o ->- Zone' <$>- (o .:? "status") <*>- (o .:? "kind" .!= "compute#zone")- <*> (o .:? "selfLink")- <*> (o .:? "name")- <*> (o .:? "creationTimestamp")- <*> (o .:? "id")- <*> (o .:? "region")- <*> (o .:? "description")- <*> (o .:? "deprecated"))--instance ToJSON Zone where- toJSON Zone'{..}- = object- (catMaybes- [("status" .=) <$> _zStatus, Just ("kind" .= _zKind),- ("selfLink" .=) <$> _zSelfLink,- ("name" .=) <$> _zName,- ("creationTimestamp" .=) <$> _zCreationTimestamp,- ("id" .=) <$> _zId, ("region" .=) <$> _zRegion,- ("description" .=) <$> _zDescription,- ("deprecated" .=) <$> _zDeprecated])------- /See:/ 'instanceGroupManagersRecreateInstancesRequest' smart constructor.-newtype InstanceGroupManagersRecreateInstancesRequest = InstanceGroupManagersRecreateInstancesRequest'- { _igmrirInstances :: Maybe [Text]- } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'InstanceGroupManagersRecreateInstancesRequest' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'igmrirInstances'-instanceGroupManagersRecreateInstancesRequest- :: InstanceGroupManagersRecreateInstancesRequest-instanceGroupManagersRecreateInstancesRequest =- InstanceGroupManagersRecreateInstancesRequest'- { _igmrirInstances = Nothing- }---- | The URL for one or more instances to recreate.-igmrirInstances :: Lens' InstanceGroupManagersRecreateInstancesRequest [Text]-igmrirInstances- = lens _igmrirInstances- (\ s a -> s{_igmrirInstances = a})- . _Default- . _Coerce--instance FromJSON- InstanceGroupManagersRecreateInstancesRequest where- parseJSON- = withObject- "InstanceGroupManagersRecreateInstancesRequest"- (\ o ->- InstanceGroupManagersRecreateInstancesRequest' <$>- (o .:? "instances" .!= mempty))--instance ToJSON- InstanceGroupManagersRecreateInstancesRequest where- toJSON- InstanceGroupManagersRecreateInstancesRequest'{..}- = object- (catMaybes [("instances" .=) <$> _igmrirInstances])------- /See:/ 'instancesScopedList' smart constructor.-data InstancesScopedList = InstancesScopedList'- { _islWarning :: !(Maybe InstancesScopedListWarning)- , _islInstances :: !(Maybe [Instance])- } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'InstancesScopedList' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'islWarning'------ * 'islInstances'-instancesScopedList- :: InstancesScopedList-instancesScopedList =- InstancesScopedList'- { _islWarning = Nothing- , _islInstances = Nothing- }---- | [Output Only] Informational warning which replaces the list of instances--- when the list is empty.-islWarning :: Lens' InstancesScopedList (Maybe InstancesScopedListWarning)-islWarning- = lens _islWarning (\ s a -> s{_islWarning = a})---- | [Output Only] List of instances contained in this scope.-islInstances :: Lens' InstancesScopedList [Instance]-islInstances- = lens _islInstances (\ s a -> s{_islInstances = a})- . _Default- . _Coerce--instance FromJSON InstancesScopedList where- parseJSON- = withObject "InstancesScopedList"- (\ o ->- InstancesScopedList' <$>- (o .:? "warning") <*> (o .:? "instances" .!= mempty))--instance ToJSON InstancesScopedList where- toJSON InstancesScopedList'{..}- = object- (catMaybes- [("warning" .=) <$> _islWarning,- ("instances" .=) <$> _islInstances])---- | A full or valid partial URL to a health check. For example, the--- following are valid URLs: ---- https:\/\/www.googleapis.com\/compute\/beta\/projects\/project-id\/global\/httpHealthChecks\/health-check--- - projects\/project-id\/global\/httpHealthChecks\/health-check ---- global\/httpHealthChecks\/health-check------ /See:/ 'healthCheckReference' smart constructor.-newtype HealthCheckReference = HealthCheckReference'- { _hcrHealthCheck :: Maybe Text- } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'HealthCheckReference' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'hcrHealthCheck'-healthCheckReference- :: HealthCheckReference-healthCheckReference =- HealthCheckReference'- { _hcrHealthCheck = Nothing- }--hcrHealthCheck :: Lens' HealthCheckReference (Maybe Text)-hcrHealthCheck- = lens _hcrHealthCheck- (\ s a -> s{_hcrHealthCheck = a})--instance FromJSON HealthCheckReference where- parseJSON- = withObject "HealthCheckReference"- (\ o ->- HealthCheckReference' <$> (o .:? "healthCheck"))--instance ToJSON HealthCheckReference where- toJSON HealthCheckReference'{..}- = object- (catMaybes [("healthCheck" .=) <$> _hcrHealthCheck])---- | A map of scoped target instance lists.------ /See:/ 'targetInstanceAggregatedListItems' smart constructor.-newtype TargetInstanceAggregatedListItems = TargetInstanceAggregatedListItems'- { _tialiAddtional :: HashMap Text TargetInstancesScopedList- } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'TargetInstanceAggregatedListItems' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'tialiAddtional'-targetInstanceAggregatedListItems- :: HashMap Text TargetInstancesScopedList -- ^ 'tialiAddtional'- -> TargetInstanceAggregatedListItems-targetInstanceAggregatedListItems pTialiAddtional_ =- TargetInstanceAggregatedListItems'- { _tialiAddtional = _Coerce # pTialiAddtional_- }---- | Name of the scope containing this set of target instances.-tialiAddtional :: Lens' TargetInstanceAggregatedListItems (HashMap Text TargetInstancesScopedList)-tialiAddtional- = lens _tialiAddtional- (\ s a -> s{_tialiAddtional = a})- . _Coerce--instance FromJSON TargetInstanceAggregatedListItems- where- parseJSON- = withObject "TargetInstanceAggregatedListItems"- (\ o ->- TargetInstanceAggregatedListItems' <$>- (parseJSONObject o))--instance ToJSON TargetInstanceAggregatedListItems- where- toJSON = toJSON . _tialiAddtional------- /See:/ 'instanceGroupAggregatedList' smart constructor.-data InstanceGroupAggregatedList = InstanceGroupAggregatedList'- { _igalNextPageToken :: !(Maybe Text)- , _igalKind :: !Text- , _igalItems :: !(Maybe InstanceGroupAggregatedListItems)- , _igalSelfLink :: !(Maybe Text)- , _igalId :: !(Maybe Text)- } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'InstanceGroupAggregatedList' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'igalNextPageToken'------ * 'igalKind'------ * 'igalItems'------ * 'igalSelfLink'------ * 'igalId'-instanceGroupAggregatedList- :: InstanceGroupAggregatedList-instanceGroupAggregatedList =- InstanceGroupAggregatedList'- { _igalNextPageToken = Nothing- , _igalKind = "compute#instanceGroupAggregatedList"- , _igalItems = Nothing- , _igalSelfLink = Nothing- , _igalId = Nothing- }---- | [Output Only] This token allows you to get the next page of results for--- list requests. If the number of results is larger than maxResults, use--- the nextPageToken as a value for the query parameter pageToken in the--- next list request. Subsequent list requests will have their own--- nextPageToken to continue paging through the results.-igalNextPageToken :: Lens' InstanceGroupAggregatedList (Maybe Text)-igalNextPageToken- = lens _igalNextPageToken- (\ s a -> s{_igalNextPageToken = a})---- | [Output Only] The resource type, which is always--- compute#instanceGroupAggregatedList for aggregated lists of instance--- groups.-igalKind :: Lens' InstanceGroupAggregatedList Text-igalKind = lens _igalKind (\ s a -> s{_igalKind = a})---- | A map of scoped instance group lists.-igalItems :: Lens' InstanceGroupAggregatedList (Maybe InstanceGroupAggregatedListItems)-igalItems- = lens _igalItems (\ s a -> s{_igalItems = a})---- | [Output Only] The URL for this resource type. The server generates this--- URL.-igalSelfLink :: Lens' InstanceGroupAggregatedList (Maybe Text)-igalSelfLink- = lens _igalSelfLink (\ s a -> s{_igalSelfLink = a})---- | [Output Only] A unique identifier for this aggregated list of instance--- groups. The server generates this identifier.-igalId :: Lens' InstanceGroupAggregatedList (Maybe Text)-igalId = lens _igalId (\ s a -> s{_igalId = a})--instance FromJSON InstanceGroupAggregatedList where- parseJSON- = withObject "InstanceGroupAggregatedList"- (\ o ->- InstanceGroupAggregatedList' <$>- (o .:? "nextPageToken") <*>- (o .:? "kind" .!=- "compute#instanceGroupAggregatedList")- <*> (o .:? "items")- <*> (o .:? "selfLink")- <*> (o .:? "id"))--instance ToJSON InstanceGroupAggregatedList where- toJSON InstanceGroupAggregatedList'{..}- = object- (catMaybes- [("nextPageToken" .=) <$> _igalNextPageToken,- Just ("kind" .= _igalKind),- ("items" .=) <$> _igalItems,- ("selfLink" .=) <$> _igalSelfLink,- ("id" .=) <$> _igalId])---- | Represents a Route resource. A route specifies how certain packets--- should be handled by the network. Routes are associated with instances--- by tags and the set of routes for a particular instance is called its--- routing table. For each packet leaving a instance, the system searches--- that instance\'s routing table for a single best matching route. Routes--- match packets by destination IP address, preferring smaller or more--- specific ranges over larger ones. If there is a tie, the system selects--- the route with the smallest priority value. If there is still a tie, it--- uses the layer three and four packet headers to select just one of the--- remaining matching routes. The packet is then forwarded as specified by--- the nextHop field of the winning route - either to another instance--- destination, a instance gateway or a Google Compute Engine-operated--- gateway. Packets that do not match any route in the sending instance\'s--- routing table are dropped.------ /See:/ 'route' smart constructor.-data Route = Route'- { _rPriority :: !(Maybe (Textual Word32))- , _rKind :: !Text- , _rNextHopGateway :: !(Maybe Text)- , _rNextHopNetwork :: !(Maybe Text)- , _rNetwork :: !(Maybe Text)- , _rWarnings :: !(Maybe [RouteWarningsItem])- , _rNextHopIP :: !(Maybe Text)- , _rDestRange :: !(Maybe Text)- , _rSelfLink :: !(Maybe Text)- , _rName :: !(Maybe Text)- , _rCreationTimestamp :: !(Maybe Text)- , _rId :: !(Maybe (Textual Word64))- , _rNextHopVPNTunnel :: !(Maybe Text)- , _rDescription :: !(Maybe Text)- , _rTags :: !(Maybe [Text])- , _rNextHopInstance :: !(Maybe Text)- } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'Route' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'rPriority'------ * 'rKind'------ * 'rNextHopGateway'------ * 'rNextHopNetwork'------ * 'rNetwork'------ * 'rWarnings'------ * 'rNextHopIP'------ * 'rDestRange'------ * 'rSelfLink'------ * 'rName'------ * 'rCreationTimestamp'------ * 'rId'------ * 'rNextHopVPNTunnel'------ * 'rDescription'------ * 'rTags'------ * 'rNextHopInstance'-route- :: Route-route =- Route'- { _rPriority = Nothing- , _rKind = "compute#route"- , _rNextHopGateway = Nothing- , _rNextHopNetwork = Nothing- , _rNetwork = Nothing- , _rWarnings = Nothing- , _rNextHopIP = Nothing- , _rDestRange = Nothing- , _rSelfLink = Nothing- , _rName = Nothing- , _rCreationTimestamp = Nothing- , _rId = Nothing- , _rNextHopVPNTunnel = Nothing- , _rDescription = Nothing- , _rTags = Nothing- , _rNextHopInstance = Nothing- }---- | The priority of this route. Priority is used to break ties in cases--- where there is more than one matching route of equal prefix length. In--- the case of two routes with equal prefix length, the one with the--- lowest-numbered priority value wins. Default value is 1000. Valid range--- is 0 through 65535.-rPriority :: Lens' Route (Maybe Word32)-rPriority- = lens _rPriority (\ s a -> s{_rPriority = a}) .- mapping _Coerce---- | [Output Only] Type of this resource. Always compute#routes for Route--- resources.-rKind :: Lens' Route Text-rKind = lens _rKind (\ s a -> s{_rKind = a})---- | The URL to a gateway that should handle matching packets. You can only--- specify the internet gateway using a full or partial valid URL:--- projects\/\/global\/gateways\/default-internet-gateway-rNextHopGateway :: Lens' Route (Maybe Text)-rNextHopGateway- = lens _rNextHopGateway- (\ s a -> s{_rNextHopGateway = a})---- | The URL of the local network if it should handle matching packets.-rNextHopNetwork :: Lens' Route (Maybe Text)-rNextHopNetwork- = lens _rNextHopNetwork- (\ s a -> s{_rNextHopNetwork = a})---- | Fully-qualified URL of the network that this route applies to.-rNetwork :: Lens' Route (Maybe Text)-rNetwork = lens _rNetwork (\ s a -> s{_rNetwork = a})---- | [Output Only] If potential misconfigurations are detected for this--- route, this field will be populated with warning messages.-rWarnings :: Lens' Route [RouteWarningsItem]-rWarnings- = lens _rWarnings (\ s a -> s{_rWarnings = a}) .- _Default- . _Coerce---- | The network IP address of an instance that should handle matching--- packets.-rNextHopIP :: Lens' Route (Maybe Text)-rNextHopIP- = lens _rNextHopIP (\ s a -> s{_rNextHopIP = a})---- | The destination range of outgoing packets that this route applies to.-rDestRange :: Lens' Route (Maybe Text)-rDestRange- = lens _rDestRange (\ s a -> s{_rDestRange = a})---- | [Output Only] Server-defined fully-qualified URL for this resource.-rSelfLink :: Lens' Route (Maybe Text)-rSelfLink- = lens _rSelfLink (\ s a -> s{_rSelfLink = a})---- | Name of the resource. Provided by the client when the resource is--- created. The name must be 1-63 characters long, and comply with RFC1035.--- Specifically, the name must be 1-63 characters long and match the--- regular expression [a-z]([-a-z0-9]*[a-z0-9])? which means the first--- character must be a lowercase letter, and all following characters must--- be a dash, lowercase letter, or digit, except the last character, which--- cannot be a dash.-rName :: Lens' Route (Maybe Text)-rName = lens _rName (\ s a -> s{_rName = a})---- | [Output Only] Creation timestamp in RFC3339 text format.-rCreationTimestamp :: Lens' Route (Maybe Text)-rCreationTimestamp- = lens _rCreationTimestamp- (\ s a -> s{_rCreationTimestamp = a})---- | [Output Only] The unique identifier for the resource. This identifier is--- defined by the server.-rId :: Lens' Route (Maybe Word64)-rId- = lens _rId (\ s a -> s{_rId = a}) . mapping _Coerce---- | The URL to a VpnTunnel that should handle matching packets.-rNextHopVPNTunnel :: Lens' Route (Maybe Text)-rNextHopVPNTunnel- = lens _rNextHopVPNTunnel- (\ s a -> s{_rNextHopVPNTunnel = a})---- | An optional description of this resource. Provide this property when you--- create the resource.-rDescription :: Lens' Route (Maybe Text)-rDescription- = lens _rDescription (\ s a -> s{_rDescription = a})---- | A list of instance tags to which this route applies.-rTags :: Lens' Route [Text]-rTags- = lens _rTags (\ s a -> s{_rTags = a}) . _Default .- _Coerce---- | The URL to an instance that should handle matching packets. You can--- specify this as a full or partial URL. For example:--- https:\/\/www.googleapis.com\/compute\/v1\/projects\/project\/zones\/zone\/instances\/-rNextHopInstance :: Lens' Route (Maybe Text)-rNextHopInstance- = lens _rNextHopInstance- (\ s a -> s{_rNextHopInstance = a})--instance FromJSON Route where- parseJSON- = withObject "Route"- (\ o ->- Route' <$>- (o .:? "priority") <*>- (o .:? "kind" .!= "compute#route")- <*> (o .:? "nextHopGateway")- <*> (o .:? "nextHopNetwork")- <*> (o .:? "network")- <*> (o .:? "warnings" .!= mempty)- <*> (o .:? "nextHopIp")- <*> (o .:? "destRange")- <*> (o .:? "selfLink")- <*> (o .:? "name")- <*> (o .:? "creationTimestamp")- <*> (o .:? "id")- <*> (o .:? "nextHopVpnTunnel")- <*> (o .:? "description")- <*> (o .:? "tags" .!= mempty)- <*> (o .:? "nextHopInstance"))--instance ToJSON Route where- toJSON Route'{..}- = object- (catMaybes- [("priority" .=) <$> _rPriority,- Just ("kind" .= _rKind),- ("nextHopGateway" .=) <$> _rNextHopGateway,- ("nextHopNetwork" .=) <$> _rNextHopNetwork,- ("network" .=) <$> _rNetwork,- ("warnings" .=) <$> _rWarnings,- ("nextHopIp" .=) <$> _rNextHopIP,- ("destRange" .=) <$> _rDestRange,- ("selfLink" .=) <$> _rSelfLink,- ("name" .=) <$> _rName,- ("creationTimestamp" .=) <$> _rCreationTimestamp,- ("id" .=) <$> _rId,- ("nextHopVpnTunnel" .=) <$> _rNextHopVPNTunnel,- ("description" .=) <$> _rDescription,- ("tags" .=) <$> _rTags,- ("nextHopInstance" .=) <$> _rNextHopInstance])------- /See:/ 'targetVPNGatewaysScopedListWarningDataItem' smart constructor.-data TargetVPNGatewaysScopedListWarningDataItem = TargetVPNGatewaysScopedListWarningDataItem'- { _tvgslwdiValue :: !(Maybe Text)- , _tvgslwdiKey :: !(Maybe Text)- } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'TargetVPNGatewaysScopedListWarningDataItem' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'tvgslwdiValue'------ * 'tvgslwdiKey'-targetVPNGatewaysScopedListWarningDataItem- :: TargetVPNGatewaysScopedListWarningDataItem-targetVPNGatewaysScopedListWarningDataItem =- TargetVPNGatewaysScopedListWarningDataItem'- { _tvgslwdiValue = Nothing- , _tvgslwdiKey = Nothing- }---- | [Output Only] A warning data value corresponding to the key.-tvgslwdiValue :: Lens' TargetVPNGatewaysScopedListWarningDataItem (Maybe Text)-tvgslwdiValue- = lens _tvgslwdiValue- (\ s a -> s{_tvgslwdiValue = a})---- | [Output Only] A key that provides more detail on the warning being--- returned. For example, for warnings where there are no results in a list--- request for a particular zone, this key might be scope and the key value--- might be the zone name. Other examples might be a key indicating a--- deprecated resource and a suggested replacement, or a warning about--- invalid network settings (for example, if an instance attempts to--- perform IP forwarding but is not enabled for IP forwarding).-tvgslwdiKey :: Lens' TargetVPNGatewaysScopedListWarningDataItem (Maybe Text)-tvgslwdiKey- = lens _tvgslwdiKey (\ s a -> s{_tvgslwdiKey = a})--instance FromJSON- TargetVPNGatewaysScopedListWarningDataItem where- parseJSON- = withObject- "TargetVPNGatewaysScopedListWarningDataItem"- (\ o ->- TargetVPNGatewaysScopedListWarningDataItem' <$>- (o .:? "value") <*> (o .:? "key"))--instance ToJSON- TargetVPNGatewaysScopedListWarningDataItem where- toJSON- TargetVPNGatewaysScopedListWarningDataItem'{..}- = object- (catMaybes- [("value" .=) <$> _tvgslwdiValue,- ("key" .=) <$> _tvgslwdiKey])------- /See:/ 'targetHTTPSProxiesSetSSLCertificatesRequest' smart constructor.-newtype TargetHTTPSProxiesSetSSLCertificatesRequest = TargetHTTPSProxiesSetSSLCertificatesRequest'- { _thpsscrSSLCertificates :: Maybe [Text]- } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'TargetHTTPSProxiesSetSSLCertificatesRequest' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'thpsscrSSLCertificates'-targetHTTPSProxiesSetSSLCertificatesRequest- :: TargetHTTPSProxiesSetSSLCertificatesRequest-targetHTTPSProxiesSetSSLCertificatesRequest =- TargetHTTPSProxiesSetSSLCertificatesRequest'- { _thpsscrSSLCertificates = Nothing- }---- | New set of SslCertificate resources to associate with this--- TargetHttpsProxy resource. Currently exactly one SslCertificate resource--- must be specified.-thpsscrSSLCertificates :: Lens' TargetHTTPSProxiesSetSSLCertificatesRequest [Text]-thpsscrSSLCertificates- = lens _thpsscrSSLCertificates- (\ s a -> s{_thpsscrSSLCertificates = a})- . _Default- . _Coerce--instance FromJSON- TargetHTTPSProxiesSetSSLCertificatesRequest where- parseJSON- = withObject- "TargetHTTPSProxiesSetSSLCertificatesRequest"- (\ o ->- TargetHTTPSProxiesSetSSLCertificatesRequest' <$>- (o .:? "sslCertificates" .!= mempty))--instance ToJSON- TargetHTTPSProxiesSetSSLCertificatesRequest where- toJSON- TargetHTTPSProxiesSetSSLCertificatesRequest'{..}- = object- (catMaybes- [("sslCertificates" .=) <$> _thpsscrSSLCertificates])---- | An Instance Template resource.------ /See:/ 'instanceTemplate' smart constructor.-data InstanceTemplate = InstanceTemplate'- { _itKind :: !Text- , _itSelfLink :: !(Maybe Text)- , _itName :: !(Maybe Text)- , _itCreationTimestamp :: !(Maybe Text)- , _itId :: !(Maybe (Textual Word64))- , _itDescription :: !(Maybe Text)- , _itProperties :: !(Maybe InstanceProperties)- } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'InstanceTemplate' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'itKind'------ * 'itSelfLink'------ * 'itName'------ * 'itCreationTimestamp'------ * 'itId'------ * 'itDescription'------ * 'itProperties'-instanceTemplate- :: InstanceTemplate-instanceTemplate =- InstanceTemplate'- { _itKind = "compute#instanceTemplate"- , _itSelfLink = Nothing- , _itName = Nothing- , _itCreationTimestamp = Nothing- , _itId = Nothing- , _itDescription = Nothing- , _itProperties = Nothing- }---- | [Output Only] The resource type, which is always--- compute#instanceTemplate for instance templates.-itKind :: Lens' InstanceTemplate Text-itKind = lens _itKind (\ s a -> s{_itKind = a})---- | [Output Only] The URL for this instance template. The server defines--- this URL.-itSelfLink :: Lens' InstanceTemplate (Maybe Text)-itSelfLink- = lens _itSelfLink (\ s a -> s{_itSelfLink = a})---- | Name of the resource; provided by the client when the resource is--- created. The name must be 1-63 characters long, and comply with RFC1035.--- Specifically, the name must be 1-63 characters long and match the--- regular expression [a-z]([-a-z0-9]*[a-z0-9])? which means the first--- character must be a lowercase letter, and all following characters must--- be a dash, lowercase letter, or digit, except the last character, which--- cannot be a dash.-itName :: Lens' InstanceTemplate (Maybe Text)-itName = lens _itName (\ s a -> s{_itName = a})---- | [Output Only] The creation timestamp for this instance template in--- RFC3339 text format.-itCreationTimestamp :: Lens' InstanceTemplate (Maybe Text)-itCreationTimestamp- = lens _itCreationTimestamp- (\ s a -> s{_itCreationTimestamp = a})---- | [Output Only] A unique identifier for this instance template. The server--- defines this identifier.-itId :: Lens' InstanceTemplate (Maybe Word64)-itId- = lens _itId (\ s a -> s{_itId = a}) .- mapping _Coerce---- | An optional description of this resource. Provide this property when you--- create the resource.-itDescription :: Lens' InstanceTemplate (Maybe Text)-itDescription- = lens _itDescription- (\ s a -> s{_itDescription = a})---- | The instance properties for this instance template.-itProperties :: Lens' InstanceTemplate (Maybe InstanceProperties)-itProperties- = lens _itProperties (\ s a -> s{_itProperties = a})--instance FromJSON InstanceTemplate where- parseJSON- = withObject "InstanceTemplate"- (\ o ->- InstanceTemplate' <$>- (o .:? "kind" .!= "compute#instanceTemplate") <*>- (o .:? "selfLink")- <*> (o .:? "name")- <*> (o .:? "creationTimestamp")- <*> (o .:? "id")- <*> (o .:? "description")- <*> (o .:? "properties"))--instance ToJSON InstanceTemplate where- toJSON InstanceTemplate'{..}- = object- (catMaybes- [Just ("kind" .= _itKind),- ("selfLink" .=) <$> _itSelfLink,- ("name" .=) <$> _itName,- ("creationTimestamp" .=) <$> _itCreationTimestamp,- ("id" .=) <$> _itId,- ("description" .=) <$> _itDescription,- ("properties" .=) <$> _itProperties])---- | Represents a Target VPN gateway resource.------ /See:/ 'targetVPNGateway' smart constructor.-data TargetVPNGateway = TargetVPNGateway'- { _tvgStatus :: !(Maybe TargetVPNGatewayStatus)- , _tvgKind :: !Text- , _tvgNetwork :: !(Maybe Text)- , _tvgSelfLink :: !(Maybe Text)- , _tvgName :: !(Maybe Text)- , _tvgCreationTimestamp :: !(Maybe Text)- , _tvgId :: !(Maybe (Textual Word64))- , _tvgRegion :: !(Maybe Text)- , _tvgTunnels :: !(Maybe [Text])- , _tvgDescription :: !(Maybe Text)- , _tvgForwardingRules :: !(Maybe [Text])- } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'TargetVPNGateway' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'tvgStatus'------ * 'tvgKind'------ * 'tvgNetwork'------ * 'tvgSelfLink'------ * 'tvgName'------ * 'tvgCreationTimestamp'------ * 'tvgId'------ * 'tvgRegion'------ * 'tvgTunnels'------ * 'tvgDescription'------ * 'tvgForwardingRules'-targetVPNGateway- :: TargetVPNGateway-targetVPNGateway =- TargetVPNGateway'- { _tvgStatus = Nothing- , _tvgKind = "compute#targetVpnGateway"- , _tvgNetwork = Nothing- , _tvgSelfLink = Nothing- , _tvgName = Nothing- , _tvgCreationTimestamp = Nothing- , _tvgId = Nothing- , _tvgRegion = Nothing- , _tvgTunnels = Nothing- , _tvgDescription = Nothing- , _tvgForwardingRules = Nothing- }---- | [Output Only] The status of the VPN gateway.-tvgStatus :: Lens' TargetVPNGateway (Maybe TargetVPNGatewayStatus)-tvgStatus- = lens _tvgStatus (\ s a -> s{_tvgStatus = a})---- | [Output Only] Type of resource. Always compute#targetVpnGateway for--- target VPN gateways.-tvgKind :: Lens' TargetVPNGateway Text-tvgKind = lens _tvgKind (\ s a -> s{_tvgKind = a})---- | URL of the network to which this VPN gateway is attached. Provided by--- the client when the VPN gateway is created.-tvgNetwork :: Lens' TargetVPNGateway (Maybe Text)-tvgNetwork- = lens _tvgNetwork (\ s a -> s{_tvgNetwork = a})---- | [Output Only] Server-defined URL for the resource.-tvgSelfLink :: Lens' TargetVPNGateway (Maybe Text)-tvgSelfLink- = lens _tvgSelfLink (\ s a -> s{_tvgSelfLink = a})---- | Name of the resource. Provided by the client when the resource is--- created. The name must be 1-63 characters long, and comply with RFC1035.--- Specifically, the name must be 1-63 characters long and match the--- regular expression [a-z]([-a-z0-9]*[a-z0-9])? which means the first--- character must be a lowercase letter, and all following characters must--- be a dash, lowercase letter, or digit, except the last character, which--- cannot be a dash.-tvgName :: Lens' TargetVPNGateway (Maybe Text)-tvgName = lens _tvgName (\ s a -> s{_tvgName = a})---- | [Output Only] Creation timestamp in RFC3339 text format.-tvgCreationTimestamp :: Lens' TargetVPNGateway (Maybe Text)-tvgCreationTimestamp- = lens _tvgCreationTimestamp- (\ s a -> s{_tvgCreationTimestamp = a})---- | [Output Only] The unique identifier for the resource. This identifier is--- defined by the server.-tvgId :: Lens' TargetVPNGateway (Maybe Word64)-tvgId- = lens _tvgId (\ s a -> s{_tvgId = a}) .- mapping _Coerce---- | [Output Only] URL of the region where the target VPN gateway resides.-tvgRegion :: Lens' TargetVPNGateway (Maybe Text)-tvgRegion- = lens _tvgRegion (\ s a -> s{_tvgRegion = a})---- | [Output Only] A list of URLs to VpnTunnel resources. VpnTunnels are--- created using compute.vpntunnels.insert method and associated to a VPN--- gateway.-tvgTunnels :: Lens' TargetVPNGateway [Text]-tvgTunnels- = lens _tvgTunnels (\ s a -> s{_tvgTunnels = a}) .- _Default- . _Coerce---- | An optional description of this resource. Provide this property when you--- create the resource.-tvgDescription :: Lens' TargetVPNGateway (Maybe Text)-tvgDescription- = lens _tvgDescription- (\ s a -> s{_tvgDescription = a})---- | [Output Only] A list of URLs to the ForwardingRule resources.--- ForwardingRules are created using compute.forwardingRules.insert and--- associated to a VPN gateway.-tvgForwardingRules :: Lens' TargetVPNGateway [Text]-tvgForwardingRules- = lens _tvgForwardingRules- (\ s a -> s{_tvgForwardingRules = a})- . _Default- . _Coerce--instance FromJSON TargetVPNGateway where- parseJSON- = withObject "TargetVPNGateway"- (\ o ->- TargetVPNGateway' <$>- (o .:? "status") <*>- (o .:? "kind" .!= "compute#targetVpnGateway")- <*> (o .:? "network")- <*> (o .:? "selfLink")- <*> (o .:? "name")- <*> (o .:? "creationTimestamp")- <*> (o .:? "id")- <*> (o .:? "region")- <*> (o .:? "tunnels" .!= mempty)- <*> (o .:? "description")- <*> (o .:? "forwardingRules" .!= mempty))--instance ToJSON TargetVPNGateway where- toJSON TargetVPNGateway'{..}- = object- (catMaybes- [("status" .=) <$> _tvgStatus,- Just ("kind" .= _tvgKind),- ("network" .=) <$> _tvgNetwork,- ("selfLink" .=) <$> _tvgSelfLink,- ("name" .=) <$> _tvgName,- ("creationTimestamp" .=) <$> _tvgCreationTimestamp,- ("id" .=) <$> _tvgId, ("region" .=) <$> _tvgRegion,- ("tunnels" .=) <$> _tvgTunnels,- ("description" .=) <$> _tvgDescription,- ("forwardingRules" .=) <$> _tvgForwardingRules])------- /See:/ 'urlMapsValidateResponse' smart constructor.-newtype URLMapsValidateResponse = URLMapsValidateResponse'- { _umvrResult :: Maybe URLMapValidationResult- } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'URLMapsValidateResponse' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'umvrResult'-urlMapsValidateResponse- :: URLMapsValidateResponse-urlMapsValidateResponse =- URLMapsValidateResponse'- { _umvrResult = Nothing- }--umvrResult :: Lens' URLMapsValidateResponse (Maybe URLMapValidationResult)-umvrResult- = lens _umvrResult (\ s a -> s{_umvrResult = a})--instance FromJSON URLMapsValidateResponse where- parseJSON- = withObject "URLMapsValidateResponse"- (\ o ->- URLMapsValidateResponse' <$> (o .:? "result"))--instance ToJSON URLMapsValidateResponse where- toJSON URLMapsValidateResponse'{..}- = object (catMaybes [("result" .=) <$> _umvrResult])---- | An SslCertificate resource. This resource provides a mechanism to upload--- an SSL key and certificate to the load balancer to serve secure--- connections from the user.------ /See:/ 'sslCertificate' smart constructor.-data SSLCertificate = SSLCertificate'- { _scPrivateKey :: !(Maybe Text)- , _scKind :: !Text- , _scSelfLink :: !(Maybe Text)- , _scName :: !(Maybe Text)- , _scCreationTimestamp :: !(Maybe Text)- , _scId :: !(Maybe (Textual Word64))- , _scCertificate :: !(Maybe Text)- , _scDescription :: !(Maybe Text)- } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'SSLCertificate' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'scPrivateKey'------ * 'scKind'------ * 'scSelfLink'------ * 'scName'------ * 'scCreationTimestamp'------ * 'scId'------ * 'scCertificate'------ * 'scDescription'-sslCertificate- :: SSLCertificate-sslCertificate =- SSLCertificate'- { _scPrivateKey = Nothing- , _scKind = "compute#sslCertificate"- , _scSelfLink = Nothing- , _scName = Nothing- , _scCreationTimestamp = Nothing- , _scId = Nothing- , _scCertificate = Nothing- , _scDescription = Nothing- }---- | A write-only private key in PEM format. Only insert RPCs will include--- this field.-scPrivateKey :: Lens' SSLCertificate (Maybe Text)-scPrivateKey- = lens _scPrivateKey (\ s a -> s{_scPrivateKey = a})---- | [Output Only] Type of the resource. Always compute#sslCertificate for--- SSL certificates.-scKind :: Lens' SSLCertificate Text-scKind = lens _scKind (\ s a -> s{_scKind = a})---- | [Output only] Server-defined URL for the resource.-scSelfLink :: Lens' SSLCertificate (Maybe Text)-scSelfLink- = lens _scSelfLink (\ s a -> s{_scSelfLink = a})---- | Name of the resource. Provided by the client when the resource is--- created. The name must be 1-63 characters long, and comply with RFC1035.--- Specifically, the name must be 1-63 characters long and match the--- regular expression [a-z]([-a-z0-9]*[a-z0-9])? which means the first--- character must be a lowercase letter, and all following characters must--- be a dash, lowercase letter, or digit, except the last character, which--- cannot be a dash.-scName :: Lens' SSLCertificate (Maybe Text)-scName = lens _scName (\ s a -> s{_scName = a})---- | [Output Only] Creation timestamp in RFC3339 text format.-scCreationTimestamp :: Lens' SSLCertificate (Maybe Text)-scCreationTimestamp- = lens _scCreationTimestamp- (\ s a -> s{_scCreationTimestamp = a})---- | [Output Only] The unique identifier for the resource. This identifier is--- defined by the server.-scId :: Lens' SSLCertificate (Maybe Word64)-scId- = lens _scId (\ s a -> s{_scId = a}) .- mapping _Coerce---- | A local certificate file. The certificate must be in PEM format. The--- certificate chain must be no greater than 5 certs long. The chain must--- include at least one intermediate cert.-scCertificate :: Lens' SSLCertificate (Maybe Text)-scCertificate- = lens _scCertificate- (\ s a -> s{_scCertificate = a})---- | An optional description of this resource. Provide this property when you--- create the resource.-scDescription :: Lens' SSLCertificate (Maybe Text)-scDescription- = lens _scDescription- (\ s a -> s{_scDescription = a})--instance FromJSON SSLCertificate where- parseJSON- = withObject "SSLCertificate"- (\ o ->- SSLCertificate' <$>- (o .:? "privateKey") <*>- (o .:? "kind" .!= "compute#sslCertificate")- <*> (o .:? "selfLink")- <*> (o .:? "name")- <*> (o .:? "creationTimestamp")- <*> (o .:? "id")- <*> (o .:? "certificate")- <*> (o .:? "description"))--instance ToJSON SSLCertificate where- toJSON SSLCertificate'{..}- = object- (catMaybes- [("privateKey" .=) <$> _scPrivateKey,- Just ("kind" .= _scKind),- ("selfLink" .=) <$> _scSelfLink,- ("name" .=) <$> _scName,- ("creationTimestamp" .=) <$> _scCreationTimestamp,- ("id" .=) <$> _scId,- ("certificate" .=) <$> _scCertificate,- ("description" .=) <$> _scDescription])------- /See:/ 'urlMapReference' smart constructor.-newtype URLMapReference = URLMapReference'- { _umrURLMap :: Maybe Text- } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'URLMapReference' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'umrURLMap'-urlMapReference- :: URLMapReference-urlMapReference =- URLMapReference'- { _umrURLMap = Nothing- }--umrURLMap :: Lens' URLMapReference (Maybe Text)-umrURLMap- = lens _umrURLMap (\ s a -> s{_umrURLMap = a})--instance FromJSON URLMapReference where- parseJSON- = withObject "URLMapReference"- (\ o -> URLMapReference' <$> (o .:? "urlMap"))--instance ToJSON URLMapReference where- toJSON URLMapReference'{..}- = object (catMaybes [("urlMap" .=) <$> _umrURLMap])------- /See:/ 'targetPoolsAddHealthCheckRequest' smart constructor.-newtype TargetPoolsAddHealthCheckRequest = TargetPoolsAddHealthCheckRequest'- { _tpahcrHealthChecks :: Maybe [HealthCheckReference]- } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'TargetPoolsAddHealthCheckRequest' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'tpahcrHealthChecks'-targetPoolsAddHealthCheckRequest- :: TargetPoolsAddHealthCheckRequest-targetPoolsAddHealthCheckRequest =- TargetPoolsAddHealthCheckRequest'- { _tpahcrHealthChecks = Nothing- }---- | A list of HttpHealthCheck resources to add to the target pool.-tpahcrHealthChecks :: Lens' TargetPoolsAddHealthCheckRequest [HealthCheckReference]-tpahcrHealthChecks- = lens _tpahcrHealthChecks- (\ s a -> s{_tpahcrHealthChecks = a})- . _Default- . _Coerce--instance FromJSON TargetPoolsAddHealthCheckRequest- where- parseJSON- = withObject "TargetPoolsAddHealthCheckRequest"- (\ o ->- TargetPoolsAddHealthCheckRequest' <$>- (o .:? "healthChecks" .!= mempty))--instance ToJSON TargetPoolsAddHealthCheckRequest- where- toJSON TargetPoolsAddHealthCheckRequest'{..}- = object- (catMaybes- [("healthChecks" .=) <$> _tpahcrHealthChecks])---- | [Output Only] A map of scoped disk lists.------ /See:/ 'diskAggregatedListItems' smart constructor.-newtype DiskAggregatedListItems = DiskAggregatedListItems'- { _daliAddtional :: HashMap Text DisksScopedList- } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'DiskAggregatedListItems' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'daliAddtional'-diskAggregatedListItems- :: HashMap Text DisksScopedList -- ^ 'daliAddtional'- -> DiskAggregatedListItems-diskAggregatedListItems pDaliAddtional_ =- DiskAggregatedListItems'- { _daliAddtional = _Coerce # pDaliAddtional_- }---- | [Output Only] Name of the scope containing this set of disks.-daliAddtional :: Lens' DiskAggregatedListItems (HashMap Text DisksScopedList)-daliAddtional- = lens _daliAddtional- (\ s a -> s{_daliAddtional = a})- . _Coerce--instance FromJSON DiskAggregatedListItems where- parseJSON- = withObject "DiskAggregatedListItems"- (\ o ->- DiskAggregatedListItems' <$> (parseJSONObject o))--instance ToJSON DiskAggregatedListItems where- toJSON = toJSON . _daliAddtional---- | The location in Cloud Storage and naming method of the daily usage--- report. Contains bucket_name and report_name prefix.------ /See:/ 'usageExportLocation' smart constructor.-data UsageExportLocation = UsageExportLocation'- { _uelReportNamePrefix :: !(Maybe Text)- , _uelBucketName :: !(Maybe Text)- } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'UsageExportLocation' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'uelReportNamePrefix'------ * 'uelBucketName'-usageExportLocation- :: UsageExportLocation-usageExportLocation =- UsageExportLocation'- { _uelReportNamePrefix = Nothing- , _uelBucketName = Nothing- }---- | An optional prefix for the name of the usage report object stored in--- bucketName. If not supplied, defaults to usage. The report is stored as--- a CSV file named report_name_prefix_gce_YYYYMMDD.csv where YYYYMMDD is--- the day of the usage according to Pacific Time. If you supply a prefix,--- it should conform to Cloud Storage object naming conventions.-uelReportNamePrefix :: Lens' UsageExportLocation (Maybe Text)-uelReportNamePrefix- = lens _uelReportNamePrefix- (\ s a -> s{_uelReportNamePrefix = a})---- | The name of an existing bucket in Cloud Storage where the usage report--- object is stored. The Google Service Account is granted write access to--- this bucket. This can either be the bucket name by itself, such as--- example-bucket, or the bucket name with gs:\/\/ or--- https:\/\/storage.googleapis.com\/ in front of it, such as--- gs:\/\/example-bucket.-uelBucketName :: Lens' UsageExportLocation (Maybe Text)-uelBucketName- = lens _uelBucketName- (\ s a -> s{_uelBucketName = a})--instance FromJSON UsageExportLocation where- parseJSON- = withObject "UsageExportLocation"- (\ o ->- UsageExportLocation' <$>- (o .:? "reportNamePrefix") <*> (o .:? "bucketName"))--instance ToJSON UsageExportLocation where- toJSON UsageExportLocation'{..}- = object- (catMaybes- [("reportNamePrefix" .=) <$> _uelReportNamePrefix,- ("bucketName" .=) <$> _uelBucketName])---- | Contains a list of zone resources.------ /See:/ 'zoneList' smart constructor.-data ZoneList = ZoneList'- { _zlNextPageToken :: !(Maybe Text)- , _zlKind :: !Text- , _zlItems :: !(Maybe [Zone])- , _zlSelfLink :: !(Maybe Text)- , _zlId :: !(Maybe Text)- } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'ZoneList' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'zlNextPageToken'------ * 'zlKind'------ * 'zlItems'------ * 'zlSelfLink'------ * 'zlId'-zoneList- :: ZoneList-zoneList =- ZoneList'- { _zlNextPageToken = Nothing- , _zlKind = "compute#zoneList"- , _zlItems = Nothing- , _zlSelfLink = Nothing- , _zlId = Nothing- }---- | [Output Only] This token allows you to get the next page of results for--- list requests. If the number of results is larger than maxResults, use--- the nextPageToken as a value for the query parameter pageToken in the--- next list request. Subsequent list requests will have their own--- nextPageToken to continue paging through the results.-zlNextPageToken :: Lens' ZoneList (Maybe Text)-zlNextPageToken- = lens _zlNextPageToken- (\ s a -> s{_zlNextPageToken = a})---- | Type of resource.-zlKind :: Lens' ZoneList Text-zlKind = lens _zlKind (\ s a -> s{_zlKind = a})---- | [Output Only] A list of Zone resources.-zlItems :: Lens' ZoneList [Zone]-zlItems- = lens _zlItems (\ s a -> s{_zlItems = a}) . _Default- . _Coerce---- | [Output Only] Server-defined URL for this resource.-zlSelfLink :: Lens' ZoneList (Maybe Text)-zlSelfLink- = lens _zlSelfLink (\ s a -> s{_zlSelfLink = a})---- | [Output Only] Unique identifier for the resource; defined by the server.-zlId :: Lens' ZoneList (Maybe Text)-zlId = lens _zlId (\ s a -> s{_zlId = a})--instance FromJSON ZoneList where- parseJSON- = withObject "ZoneList"- (\ o ->- ZoneList' <$>- (o .:? "nextPageToken") <*>- (o .:? "kind" .!= "compute#zoneList")- <*> (o .:? "items" .!= mempty)- <*> (o .:? "selfLink")- <*> (o .:? "id"))--instance ToJSON ZoneList where- toJSON ZoneList'{..}- = object- (catMaybes- [("nextPageToken" .=) <$> _zlNextPageToken,- Just ("kind" .= _zlKind), ("items" .=) <$> _zlItems,- ("selfLink" .=) <$> _zlSelfLink,- ("id" .=) <$> _zlId])------- /See:/ 'managedInstance' smart constructor.-data ManagedInstance = ManagedInstance'- { _miLastAttempt :: !(Maybe ManagedInstanceLastAttempt)- , _miCurrentAction :: !(Maybe ManagedInstanceCurrentAction)- , _miId :: !(Maybe (Textual Word64))- , _miInstanceStatus :: !(Maybe ManagedInstanceInstanceStatus)- , _miInstance :: !(Maybe Text)- } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'ManagedInstance' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'miLastAttempt'------ * 'miCurrentAction'------ * 'miId'------ * 'miInstanceStatus'------ * 'miInstance'-managedInstance- :: ManagedInstance-managedInstance =- ManagedInstance'- { _miLastAttempt = Nothing- , _miCurrentAction = Nothing- , _miId = Nothing- , _miInstanceStatus = Nothing- , _miInstance = Nothing- }---- | [Output Only] Information about the last attempt to create or delete the--- instance.-miLastAttempt :: Lens' ManagedInstance (Maybe ManagedInstanceLastAttempt)-miLastAttempt- = lens _miLastAttempt- (\ s a -> s{_miLastAttempt = a})---- | [Output Only] The current action that the managed instance group has--- scheduled for the instance. Possible values: - NONE The instance is--- running, and the managed instance group does not have any scheduled--- actions for this instance. - CREATING The managed instance group is--- creating this instance. If the group fails to create this instance, it--- will try again until it is successful. - CREATING_WITHOUT_RETRIES The--- managed instance group is attempting to create this instance only once.--- If the group fails to create this instance, it does not try again and--- the group\'s target_size value is decreased. - RECREATING The managed--- instance group is recreating this instance. - DELETING The managed--- instance group is permanently deleting this instance. - ABANDONING The--- managed instance group is abandoning this instance. The instance will be--- removed from the instance group and from any target pools that are--- associated with this group. - RESTARTING The managed instance group is--- restarting the instance. - REFRESHING The managed instance group is--- applying configuration changes to the instance without stopping it. For--- example, the group can update the target pool list for an instance--- without stopping that instance.-miCurrentAction :: Lens' ManagedInstance (Maybe ManagedInstanceCurrentAction)-miCurrentAction- = lens _miCurrentAction- (\ s a -> s{_miCurrentAction = a})---- | [Output only] The unique identifier for this resource. This field is--- empty when instance does not exist.-miId :: Lens' ManagedInstance (Maybe Word64)-miId- = lens _miId (\ s a -> s{_miId = a}) .- mapping _Coerce---- | [Output Only] The status of the instance. This field is empty when the--- instance does not exist.-miInstanceStatus :: Lens' ManagedInstance (Maybe ManagedInstanceInstanceStatus)-miInstanceStatus- = lens _miInstanceStatus- (\ s a -> s{_miInstanceStatus = a})---- | [Output Only] The URL of the instance. The URL can exist even if the--- instance has not yet been created.-miInstance :: Lens' ManagedInstance (Maybe Text)-miInstance- = lens _miInstance (\ s a -> s{_miInstance = a})--instance FromJSON ManagedInstance where- parseJSON- = withObject "ManagedInstance"- (\ o ->- ManagedInstance' <$>- (o .:? "lastAttempt") <*> (o .:? "currentAction") <*>- (o .:? "id")- <*> (o .:? "instanceStatus")- <*> (o .:? "instance"))--instance ToJSON ManagedInstance where- toJSON ManagedInstance'{..}- = object- (catMaybes- [("lastAttempt" .=) <$> _miLastAttempt,- ("currentAction" .=) <$> _miCurrentAction,- ("id" .=) <$> _miId,- ("instanceStatus" .=) <$> _miInstanceStatus,- ("instance" .=) <$> _miInstance])---- | [Output Only] A map of filtered managed instance group lists.------ /See:/ 'instanceGroupManagerAggregatedListItems' smart constructor.-newtype InstanceGroupManagerAggregatedListItems = InstanceGroupManagerAggregatedListItems'- { _igmaliAddtional :: HashMap Text InstanceGroupManagersScopedList- } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'InstanceGroupManagerAggregatedListItems' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'igmaliAddtional'-instanceGroupManagerAggregatedListItems- :: HashMap Text InstanceGroupManagersScopedList -- ^ 'igmaliAddtional'- -> InstanceGroupManagerAggregatedListItems-instanceGroupManagerAggregatedListItems pIgmaliAddtional_ =- InstanceGroupManagerAggregatedListItems'- { _igmaliAddtional = _Coerce # pIgmaliAddtional_- }---- | [Output Only] The name of the scope that contains this set of managed--- instance groups.-igmaliAddtional :: Lens' InstanceGroupManagerAggregatedListItems (HashMap Text InstanceGroupManagersScopedList)-igmaliAddtional- = lens _igmaliAddtional- (\ s a -> s{_igmaliAddtional = a})- . _Coerce--instance FromJSON- InstanceGroupManagerAggregatedListItems where- parseJSON- = withObject- "InstanceGroupManagerAggregatedListItems"- (\ o ->- InstanceGroupManagerAggregatedListItems' <$>- (parseJSONObject o))--instance ToJSON- InstanceGroupManagerAggregatedListItems where- toJSON = toJSON . _igmaliAddtional------- /See:/ 'instanceGroupManagersDeleteInstancesRequest' smart constructor.-newtype InstanceGroupManagersDeleteInstancesRequest = InstanceGroupManagersDeleteInstancesRequest'- { _igmdirInstances :: Maybe [Text]- } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'InstanceGroupManagersDeleteInstancesRequest' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'igmdirInstances'-instanceGroupManagersDeleteInstancesRequest- :: InstanceGroupManagersDeleteInstancesRequest-instanceGroupManagersDeleteInstancesRequest =- InstanceGroupManagersDeleteInstancesRequest'- { _igmdirInstances = Nothing- }---- | The list of instances to delete from this managed instance group.--- Specify one or more instance URLs.-igmdirInstances :: Lens' InstanceGroupManagersDeleteInstancesRequest [Text]-igmdirInstances- = lens _igmdirInstances- (\ s a -> s{_igmdirInstances = a})- . _Default- . _Coerce--instance FromJSON- InstanceGroupManagersDeleteInstancesRequest where- parseJSON- = withObject- "InstanceGroupManagersDeleteInstancesRequest"- (\ o ->- InstanceGroupManagersDeleteInstancesRequest' <$>- (o .:? "instances" .!= mempty))--instance ToJSON- InstanceGroupManagersDeleteInstancesRequest where- toJSON- InstanceGroupManagersDeleteInstancesRequest'{..}- = object- (catMaybes [("instances" .=) <$> _igmdirInstances])---- | Message containing information of one individual backend.------ /See:/ 'backend' smart constructor.-data Backend = Backend'- { _bGroup :: !(Maybe Text)- , _bBalancingMode :: !(Maybe BackendBalancingMode)- , _bMaxUtilization :: !(Maybe (Textual Double))- , _bMaxRate :: !(Maybe (Textual Int32))- , _bMaxRatePerInstance :: !(Maybe (Textual Double))- , _bDescription :: !(Maybe Text)- , _bCapacityScaler :: !(Maybe (Textual Double))- } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'Backend' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'bGroup'------ * 'bBalancingMode'------ * 'bMaxUtilization'------ * 'bMaxRate'------ * 'bMaxRatePerInstance'------ * 'bDescription'------ * 'bCapacityScaler'-backend- :: Backend-backend =- Backend'- { _bGroup = Nothing- , _bBalancingMode = Nothing- , _bMaxUtilization = Nothing- , _bMaxRate = Nothing- , _bMaxRatePerInstance = Nothing- , _bDescription = Nothing- , _bCapacityScaler = Nothing- }---- | The fully-qualified URL of a zonal Instance Group resource. This--- instance group defines the list of instances that serve traffic. Member--- virtual machine instances from each instance group must live in the same--- zone as the instance group itself. No two backends in a backend service--- are allowed to use same Instance Group resource. Note that you must--- specify an Instance Group resource using the fully-qualified URL, rather--- than a partial URL.-bGroup :: Lens' Backend (Maybe Text)-bGroup = lens _bGroup (\ s a -> s{_bGroup = a})---- | Specifies the balancing mode for this backend. For global HTTP(S) load--- balancing, the default is UTILIZATION. Valid values are UTILIZATION and--- RATE.-bBalancingMode :: Lens' Backend (Maybe BackendBalancingMode)-bBalancingMode- = lens _bBalancingMode- (\ s a -> s{_bBalancingMode = a})---- | Used when balancingMode is UTILIZATION. This ratio defines the CPU--- utilization target for the group. The default is 0.8. Valid range is--- [0.0, 1.0].-bMaxUtilization :: Lens' Backend (Maybe Double)-bMaxUtilization- = lens _bMaxUtilization- (\ s a -> s{_bMaxUtilization = a})- . mapping _Coerce---- | The max requests per second (RPS) of the group. Can be used with either--- RATE or UTILIZATION balancing modes, but required if RATE mode. For RATE--- mode, either maxRate or maxRatePerInstance must be set.-bMaxRate :: Lens' Backend (Maybe Int32)-bMaxRate- = lens _bMaxRate (\ s a -> s{_bMaxRate = a}) .- mapping _Coerce---- | The max requests per second (RPS) that a single backend instance can--- handle.This is used to calculate the capacity of the group. Can be used--- in either balancing mode. For RATE mode, either maxRate or--- maxRatePerInstance must be set.-bMaxRatePerInstance :: Lens' Backend (Maybe Double)-bMaxRatePerInstance- = lens _bMaxRatePerInstance- (\ s a -> s{_bMaxRatePerInstance = a})- . mapping _Coerce---- | An optional description of this resource. Provide this property when you--- create the resource.-bDescription :: Lens' Backend (Maybe Text)-bDescription- = lens _bDescription (\ s a -> s{_bDescription = a})---- | A multiplier applied to the group\'s maximum servicing capacity (either--- UTILIZATION or RATE). Default value is 1, which means the group will--- serve up to 100% of its configured CPU or RPS (depending on--- balancingMode). A setting of 0 means the group is completely drained,--- offering 0% of its available CPU or RPS. Valid range is [0.0,1.0].-bCapacityScaler :: Lens' Backend (Maybe Double)-bCapacityScaler- = lens _bCapacityScaler- (\ s a -> s{_bCapacityScaler = a})- . mapping _Coerce--instance FromJSON Backend where- parseJSON- = withObject "Backend"- (\ o ->- Backend' <$>- (o .:? "group") <*> (o .:? "balancingMode") <*>- (o .:? "maxUtilization")- <*> (o .:? "maxRate")- <*> (o .:? "maxRatePerInstance")- <*> (o .:? "description")- <*> (o .:? "capacityScaler"))--instance ToJSON Backend where- toJSON Backend'{..}- = object- (catMaybes- [("group" .=) <$> _bGroup,- ("balancingMode" .=) <$> _bBalancingMode,- ("maxUtilization" .=) <$> _bMaxUtilization,- ("maxRate" .=) <$> _bMaxRate,- ("maxRatePerInstance" .=) <$> _bMaxRatePerInstance,- ("description" .=) <$> _bDescription,- ("capacityScaler" .=) <$> _bCapacityScaler])---- | [Output Only] Informational warning which replaces the list of addresses--- when the list is empty.------ /See:/ 'targetVPNGatewaysScopedListWarning' smart constructor.-data TargetVPNGatewaysScopedListWarning = TargetVPNGatewaysScopedListWarning'- { _tvgslwData :: !(Maybe [TargetVPNGatewaysScopedListWarningDataItem])- , _tvgslwCode :: !(Maybe TargetVPNGatewaysScopedListWarningCode)- , _tvgslwMessage :: !(Maybe Text)- } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'TargetVPNGatewaysScopedListWarning' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'tvgslwData'------ * 'tvgslwCode'------ * 'tvgslwMessage'-targetVPNGatewaysScopedListWarning- :: TargetVPNGatewaysScopedListWarning-targetVPNGatewaysScopedListWarning =- TargetVPNGatewaysScopedListWarning'- { _tvgslwData = Nothing- , _tvgslwCode = Nothing- , _tvgslwMessage = Nothing- }---- | [Output Only] Metadata about this warning in key: value format. For--- example: \"data\": [ { \"key\": \"scope\", \"value\":--- \"zones\/us-east1-d\" }-tvgslwData :: Lens' TargetVPNGatewaysScopedListWarning [TargetVPNGatewaysScopedListWarningDataItem]-tvgslwData- = lens _tvgslwData (\ s a -> s{_tvgslwData = a}) .- _Default- . _Coerce---- | [Output Only] A warning code, if applicable. For example, Compute Engine--- returns NO_RESULTS_ON_PAGE if there are no results in the response.-tvgslwCode :: Lens' TargetVPNGatewaysScopedListWarning (Maybe TargetVPNGatewaysScopedListWarningCode)-tvgslwCode- = lens _tvgslwCode (\ s a -> s{_tvgslwCode = a})---- | [Output Only] A human-readable description of the warning code.-tvgslwMessage :: Lens' TargetVPNGatewaysScopedListWarning (Maybe Text)-tvgslwMessage- = lens _tvgslwMessage- (\ s a -> s{_tvgslwMessage = a})--instance FromJSON TargetVPNGatewaysScopedListWarning- where- parseJSON- = withObject "TargetVPNGatewaysScopedListWarning"- (\ o ->- TargetVPNGatewaysScopedListWarning' <$>- (o .:? "data" .!= mempty) <*> (o .:? "code") <*>- (o .:? "message"))--instance ToJSON TargetVPNGatewaysScopedListWarning- where- toJSON TargetVPNGatewaysScopedListWarning'{..}- = object- (catMaybes- [("data" .=) <$> _tvgslwData,- ("code" .=) <$> _tvgslwCode,- ("message" .=) <$> _tvgslwMessage])---- | Contains a list of addresses.------ /See:/ 'addressList' smart constructor.-data AddressList = AddressList'- { _alNextPageToken :: !(Maybe Text)- , _alKind :: !Text- , _alItems :: !(Maybe [Address])- , _alSelfLink :: !(Maybe Text)- , _alId :: !(Maybe Text)- } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'AddressList' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'alNextPageToken'------ * 'alKind'------ * 'alItems'------ * 'alSelfLink'------ * 'alId'-addressList- :: AddressList-addressList =- AddressList'- { _alNextPageToken = Nothing- , _alKind = "compute#addressList"- , _alItems = Nothing- , _alSelfLink = Nothing- , _alId = Nothing- }---- | [Output Only] This token allows you to get the next page of results for--- list requests. If the number of results is larger than maxResults, use--- the nextPageToken as a value for the query parameter pageToken in the--- next list request. Subsequent list requests will have their own--- nextPageToken to continue paging through the results.-alNextPageToken :: Lens' AddressList (Maybe Text)-alNextPageToken- = lens _alNextPageToken- (\ s a -> s{_alNextPageToken = a})---- | [Output Only] Type of resource. Always compute#addressList for lists of--- addresses.-alKind :: Lens' AddressList Text-alKind = lens _alKind (\ s a -> s{_alKind = a})---- | [Output Only] A list of addresses.-alItems :: Lens' AddressList [Address]-alItems- = lens _alItems (\ s a -> s{_alItems = a}) . _Default- . _Coerce---- | [Output Only] Server-defined URL for the resource.-alSelfLink :: Lens' AddressList (Maybe Text)-alSelfLink- = lens _alSelfLink (\ s a -> s{_alSelfLink = a})---- | [Output Only] The unique identifier for the resource. This identifier is--- defined by the server.-alId :: Lens' AddressList (Maybe Text)-alId = lens _alId (\ s a -> s{_alId = a})--instance FromJSON AddressList where- parseJSON- = withObject "AddressList"- (\ o ->- AddressList' <$>- (o .:? "nextPageToken") <*>- (o .:? "kind" .!= "compute#addressList")- <*> (o .:? "items" .!= mempty)- <*> (o .:? "selfLink")- <*> (o .:? "id"))--instance ToJSON AddressList where- toJSON AddressList'{..}- = object- (catMaybes- [("nextPageToken" .=) <$> _alNextPageToken,- Just ("kind" .= _alKind), ("items" .=) <$> _alItems,- ("selfLink" .=) <$> _alSelfLink,- ("id" .=) <$> _alId])---- | A map of scoped forwarding rule lists.------ /See:/ 'forwardingRuleAggregatedListItems' smart constructor.-newtype ForwardingRuleAggregatedListItems = ForwardingRuleAggregatedListItems'- { _fraliAddtional :: HashMap Text ForwardingRulesScopedList- } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'ForwardingRuleAggregatedListItems' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'fraliAddtional'-forwardingRuleAggregatedListItems- :: HashMap Text ForwardingRulesScopedList -- ^ 'fraliAddtional'- -> ForwardingRuleAggregatedListItems-forwardingRuleAggregatedListItems pFraliAddtional_ =- ForwardingRuleAggregatedListItems'- { _fraliAddtional = _Coerce # pFraliAddtional_- }---- | Name of the scope containing this set of addresses.-fraliAddtional :: Lens' ForwardingRuleAggregatedListItems (HashMap Text ForwardingRulesScopedList)-fraliAddtional- = lens _fraliAddtional- (\ s a -> s{_fraliAddtional = a})- . _Coerce--instance FromJSON ForwardingRuleAggregatedListItems- where- parseJSON- = withObject "ForwardingRuleAggregatedListItems"- (\ o ->- ForwardingRuleAggregatedListItems' <$>- (parseJSONObject o))--instance ToJSON ForwardingRuleAggregatedListItems- where- toJSON = toJSON . _fraliAddtional---- | [Output Only] A map of scoped operation lists.------ /See:/ 'operationAggregatedListItems' smart constructor.-newtype OperationAggregatedListItems = OperationAggregatedListItems'- { _oaliAddtional :: HashMap Text OperationsScopedList- } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'OperationAggregatedListItems' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'oaliAddtional'-operationAggregatedListItems- :: HashMap Text OperationsScopedList -- ^ 'oaliAddtional'- -> OperationAggregatedListItems-operationAggregatedListItems pOaliAddtional_ =- OperationAggregatedListItems'- { _oaliAddtional = _Coerce # pOaliAddtional_- }---- | [Output Only] Name of the scope containing this set of operations.-oaliAddtional :: Lens' OperationAggregatedListItems (HashMap Text OperationsScopedList)-oaliAddtional- = lens _oaliAddtional- (\ s a -> s{_oaliAddtional = a})- . _Coerce--instance FromJSON OperationAggregatedListItems where- parseJSON- = withObject "OperationAggregatedListItems"- (\ o ->- OperationAggregatedListItems' <$>- (parseJSONObject o))--instance ToJSON OperationAggregatedListItems where- toJSON = toJSON . _oaliAddtional------- /See:/ 'instanceGroupManagerActionsSummary' smart constructor.-data InstanceGroupManagerActionsSummary = InstanceGroupManagerActionsSummary'- { _igmasDeleting :: !(Maybe (Textual Int32))- , _igmasRestarting :: !(Maybe (Textual Int32))- , _igmasNone :: !(Maybe (Textual Int32))- , _igmasCreating :: !(Maybe (Textual Int32))- , _igmasRefreshing :: !(Maybe (Textual Int32))- , _igmasRecreating :: !(Maybe (Textual Int32))- , _igmasAbandoning :: !(Maybe (Textual Int32))- } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'InstanceGroupManagerActionsSummary' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'igmasDeleting'------ * 'igmasRestarting'------ * 'igmasNone'------ * 'igmasCreating'------ * 'igmasRefreshing'------ * 'igmasRecreating'------ * 'igmasAbandoning'-instanceGroupManagerActionsSummary- :: InstanceGroupManagerActionsSummary-instanceGroupManagerActionsSummary =- InstanceGroupManagerActionsSummary'- { _igmasDeleting = Nothing- , _igmasRestarting = Nothing- , _igmasNone = Nothing- , _igmasCreating = Nothing- , _igmasRefreshing = Nothing- , _igmasRecreating = Nothing- , _igmasAbandoning = Nothing- }---- | [Output Only] The number of instances in the managed instance group that--- are scheduled to be deleted or are currently being deleted.-igmasDeleting :: Lens' InstanceGroupManagerActionsSummary (Maybe Int32)-igmasDeleting- = lens _igmasDeleting- (\ s a -> s{_igmasDeleting = a})- . mapping _Coerce---- | [Output Only] The number of instances in the managed instance group that--- are scheduled to be restarted or are currently being restarted.-igmasRestarting :: Lens' InstanceGroupManagerActionsSummary (Maybe Int32)-igmasRestarting- = lens _igmasRestarting- (\ s a -> s{_igmasRestarting = a})- . mapping _Coerce---- | [Output Only] The number of instances in the managed instance group that--- are running and have no scheduled actions.-igmasNone :: Lens' InstanceGroupManagerActionsSummary (Maybe Int32)-igmasNone- = lens _igmasNone (\ s a -> s{_igmasNone = a}) .- mapping _Coerce---- | [Output Only] The number of instances in the managed instance group that--- are scheduled to be created or are currently being created. If the group--- fails to create one of these instances, it tries again until it creates--- the instance successfully.-igmasCreating :: Lens' InstanceGroupManagerActionsSummary (Maybe Int32)-igmasCreating- = lens _igmasCreating- (\ s a -> s{_igmasCreating = a})- . mapping _Coerce---- | [Output Only] The number of instances in the managed instance group that--- are being reconfigured with properties that do not require a restart or--- a recreate action. For example, setting or removing target pools for the--- instance.-igmasRefreshing :: Lens' InstanceGroupManagerActionsSummary (Maybe Int32)-igmasRefreshing- = lens _igmasRefreshing- (\ s a -> s{_igmasRefreshing = a})- . mapping _Coerce---- | [Output Only] The number of instances in the managed instance group that--- are scheduled to be recreated or are currently being being recreated.--- Recreating an instance deletes the existing root persistent disk and--- creates a new disk from the image that is defined in the instance--- template.-igmasRecreating :: Lens' InstanceGroupManagerActionsSummary (Maybe Int32)-igmasRecreating- = lens _igmasRecreating- (\ s a -> s{_igmasRecreating = a})- . mapping _Coerce---- | [Output Only] The total number of instances in the managed instance--- group that are scheduled to be abandoned. Abandoning an instance removes--- it from the managed instance group without deleting it.-igmasAbandoning :: Lens' InstanceGroupManagerActionsSummary (Maybe Int32)-igmasAbandoning- = lens _igmasAbandoning- (\ s a -> s{_igmasAbandoning = a})- . mapping _Coerce--instance FromJSON InstanceGroupManagerActionsSummary- where- parseJSON- = withObject "InstanceGroupManagerActionsSummary"- (\ o ->- InstanceGroupManagerActionsSummary' <$>- (o .:? "deleting") <*> (o .:? "restarting") <*>- (o .:? "none")- <*> (o .:? "creating")- <*> (o .:? "refreshing")- <*> (o .:? "recreating")- <*> (o .:? "abandoning"))--instance ToJSON InstanceGroupManagerActionsSummary- where- toJSON InstanceGroupManagerActionsSummary'{..}- = object- (catMaybes- [("deleting" .=) <$> _igmasDeleting,- ("restarting" .=) <$> _igmasRestarting,- ("none" .=) <$> _igmasNone,- ("creating" .=) <$> _igmasCreating,- ("refreshing" .=) <$> _igmasRefreshing,- ("recreating" .=) <$> _igmasRecreating,- ("abandoning" .=) <$> _igmasAbandoning])---- | A service account.------ /See:/ 'serviceAccount' smart constructor.-data ServiceAccount = ServiceAccount'- { _saEmail :: !(Maybe Text)- , _saScopes :: !(Maybe [Text])- } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'ServiceAccount' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'saEmail'------ * 'saScopes'-serviceAccount- :: ServiceAccount-serviceAccount =- ServiceAccount'- { _saEmail = Nothing- , _saScopes = Nothing- }---- | Email address of the service account.-saEmail :: Lens' ServiceAccount (Maybe Text)-saEmail = lens _saEmail (\ s a -> s{_saEmail = a})---- | The list of scopes to be made available for this service account.-saScopes :: Lens' ServiceAccount [Text]-saScopes- = lens _saScopes (\ s a -> s{_saScopes = a}) .- _Default- . _Coerce--instance FromJSON ServiceAccount where- parseJSON- = withObject "ServiceAccount"- (\ o ->- ServiceAccount' <$>- (o .:? "email") <*> (o .:? "scopes" .!= mempty))--instance ToJSON ServiceAccount where- toJSON ServiceAccount'{..}- = object- (catMaybes- [("email" .=) <$> _saEmail,- ("scopes" .=) <$> _saScopes])---- | Contains a list of networks.------ /See:/ 'networkList' smart constructor.-data NetworkList = NetworkList'- { _nlNextPageToken :: !(Maybe Text)- , _nlKind :: !Text- , _nlItems :: !(Maybe [Network])- , _nlSelfLink :: !(Maybe Text)- , _nlId :: !(Maybe Text)- } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'NetworkList' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'nlNextPageToken'------ * 'nlKind'------ * 'nlItems'------ * 'nlSelfLink'------ * 'nlId'-networkList- :: NetworkList-networkList =- NetworkList'- { _nlNextPageToken = Nothing- , _nlKind = "compute#networkList"- , _nlItems = Nothing- , _nlSelfLink = Nothing- , _nlId = Nothing- }---- | [Output Only] This token allows you to get the next page of results for--- list requests. If the number of results is larger than maxResults, use--- the nextPageToken as a value for the query parameter pageToken in the--- next list request. Subsequent list requests will have their own--- nextPageToken to continue paging through the results.-nlNextPageToken :: Lens' NetworkList (Maybe Text)-nlNextPageToken- = lens _nlNextPageToken- (\ s a -> s{_nlNextPageToken = a})---- | [Output Only] Type of resource. Always compute#networkList for lists of--- networks.-nlKind :: Lens' NetworkList Text-nlKind = lens _nlKind (\ s a -> s{_nlKind = a})---- | [Output Only] A list of Network resources.-nlItems :: Lens' NetworkList [Network]-nlItems- = lens _nlItems (\ s a -> s{_nlItems = a}) . _Default- . _Coerce---- | [Output Only] Server-defined URL for this resource .-nlSelfLink :: Lens' NetworkList (Maybe Text)-nlSelfLink- = lens _nlSelfLink (\ s a -> s{_nlSelfLink = a})---- | [Output Only] The unique identifier for the resource. This identifier is--- defined by the server.-nlId :: Lens' NetworkList (Maybe Text)-nlId = lens _nlId (\ s a -> s{_nlId = a})--instance FromJSON NetworkList where- parseJSON- = withObject "NetworkList"- (\ o ->- NetworkList' <$>- (o .:? "nextPageToken") <*>- (o .:? "kind" .!= "compute#networkList")- <*> (o .:? "items" .!= mempty)- <*> (o .:? "selfLink")- <*> (o .:? "id"))--instance ToJSON NetworkList where- toJSON NetworkList'{..}- = object- (catMaybes- [("nextPageToken" .=) <$> _nlNextPageToken,- Just ("kind" .= _nlKind), ("items" .=) <$> _nlItems,- ("selfLink" .=) <$> _nlSelfLink,- ("id" .=) <$> _nlId])------- /See:/ 'instanceGroupsListInstancesRequest' smart constructor.-newtype InstanceGroupsListInstancesRequest = InstanceGroupsListInstancesRequest'- { _iglirInstanceState :: Maybe InstanceGroupsListInstancesRequestInstanceState- } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'InstanceGroupsListInstancesRequest' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'iglirInstanceState'-instanceGroupsListInstancesRequest- :: InstanceGroupsListInstancesRequest-instanceGroupsListInstancesRequest =- InstanceGroupsListInstancesRequest'- { _iglirInstanceState = Nothing- }---- | A filter for the state of the instances in the instance group. Valid--- options are ALL or RUNNING. If you do not specify this parameter the--- list includes all instances regardless of their state.-iglirInstanceState :: Lens' InstanceGroupsListInstancesRequest (Maybe InstanceGroupsListInstancesRequestInstanceState)-iglirInstanceState- = lens _iglirInstanceState- (\ s a -> s{_iglirInstanceState = a})--instance FromJSON InstanceGroupsListInstancesRequest- where- parseJSON- = withObject "InstanceGroupsListInstancesRequest"- (\ o ->- InstanceGroupsListInstancesRequest' <$>- (o .:? "instanceState"))--instance ToJSON InstanceGroupsListInstancesRequest- where- toJSON InstanceGroupsListInstancesRequest'{..}- = object- (catMaybes- [("instanceState" .=) <$> _iglirInstanceState])---- | [Output Only] A map of scoped target pool lists.------ /See:/ 'targetPoolAggregatedListItems' smart constructor.-newtype TargetPoolAggregatedListItems = TargetPoolAggregatedListItems'- { _tpaliAddtional :: HashMap Text TargetPoolsScopedList- } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'TargetPoolAggregatedListItems' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'tpaliAddtional'-targetPoolAggregatedListItems- :: HashMap Text TargetPoolsScopedList -- ^ 'tpaliAddtional'- -> TargetPoolAggregatedListItems-targetPoolAggregatedListItems pTpaliAddtional_ =- TargetPoolAggregatedListItems'- { _tpaliAddtional = _Coerce # pTpaliAddtional_- }---- | Name of the scope containing this set of target pools.-tpaliAddtional :: Lens' TargetPoolAggregatedListItems (HashMap Text TargetPoolsScopedList)-tpaliAddtional- = lens _tpaliAddtional- (\ s a -> s{_tpaliAddtional = a})- . _Coerce--instance FromJSON TargetPoolAggregatedListItems where- parseJSON- = withObject "TargetPoolAggregatedListItems"- (\ o ->- TargetPoolAggregatedListItems' <$>- (parseJSONObject o))--instance ToJSON TargetPoolAggregatedListItems where- toJSON = toJSON . _tpaliAddtional------- /See:/ 'targetInstancesScopedList' smart constructor.-data TargetInstancesScopedList = TargetInstancesScopedList'- { _tislWarning :: !(Maybe TargetInstancesScopedListWarning)- , _tislTargetInstances :: !(Maybe [TargetInstance])- } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'TargetInstancesScopedList' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'tislWarning'------ * 'tislTargetInstances'-targetInstancesScopedList- :: TargetInstancesScopedList-targetInstancesScopedList =- TargetInstancesScopedList'- { _tislWarning = Nothing- , _tislTargetInstances = Nothing- }---- | Informational warning which replaces the list of addresses when the list--- is empty.-tislWarning :: Lens' TargetInstancesScopedList (Maybe TargetInstancesScopedListWarning)-tislWarning- = lens _tislWarning (\ s a -> s{_tislWarning = a})---- | List of target instances contained in this scope.-tislTargetInstances :: Lens' TargetInstancesScopedList [TargetInstance]-tislTargetInstances- = lens _tislTargetInstances- (\ s a -> s{_tislTargetInstances = a})- . _Default- . _Coerce--instance FromJSON TargetInstancesScopedList where- parseJSON- = withObject "TargetInstancesScopedList"- (\ o ->- TargetInstancesScopedList' <$>- (o .:? "warning") <*>- (o .:? "targetInstances" .!= mempty))--instance ToJSON TargetInstancesScopedList where- toJSON TargetInstancesScopedList'{..}- = object- (catMaybes- [("warning" .=) <$> _tislWarning,- ("targetInstances" .=) <$> _tislTargetInstances])---- | [Output Only] A map of scoped address lists.------ /See:/ 'addressAggregatedListItems' smart constructor.-newtype AddressAggregatedListItems = AddressAggregatedListItems'- { _aAddtional :: HashMap Text AddressesScopedList- } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'AddressAggregatedListItems' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'aAddtional'-addressAggregatedListItems- :: HashMap Text AddressesScopedList -- ^ 'aAddtional'- -> AddressAggregatedListItems-addressAggregatedListItems pAAddtional_ =- AddressAggregatedListItems'- { _aAddtional = _Coerce # pAAddtional_- }---- | [Output Only] Name of the scope containing this set of addresses.-aAddtional :: Lens' AddressAggregatedListItems (HashMap Text AddressesScopedList)-aAddtional- = lens _aAddtional (\ s a -> s{_aAddtional = a}) .- _Coerce--instance FromJSON AddressAggregatedListItems where- parseJSON- = withObject "AddressAggregatedListItems"- (\ o ->- AddressAggregatedListItems' <$> (parseJSONObject o))--instance ToJSON AddressAggregatedListItems where- toJSON = toJSON . _aAddtional---- | Contains a list of Autoscaler resources.------ /See:/ 'autoscalerList' smart constructor.-data AutoscalerList = AutoscalerList'- { _autNextPageToken :: !(Maybe Text)- , _autKind :: !Text- , _autItems :: !(Maybe [Autoscaler])- , _autSelfLink :: !(Maybe Text)- , _autId :: !(Maybe Text)- } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'AutoscalerList' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'autNextPageToken'------ * 'autKind'------ * 'autItems'------ * 'autSelfLink'------ * 'autId'-autoscalerList- :: AutoscalerList-autoscalerList =- AutoscalerList'- { _autNextPageToken = Nothing- , _autKind = "compute#autoscalerList"- , _autItems = Nothing- , _autSelfLink = Nothing- , _autId = Nothing- }---- | [Output Only] This token allows you to get the next page of results for--- list requests. If the number of results is larger than maxResults, use--- the nextPageToken as a value for the query parameter pageToken in the--- next list request. Subsequent list requests will have their own--- nextPageToken to continue paging through the results.-autNextPageToken :: Lens' AutoscalerList (Maybe Text)-autNextPageToken- = lens _autNextPageToken- (\ s a -> s{_autNextPageToken = a})---- | [Output Only] Type of resource. Always compute#autoscalerList for lists--- of autoscalers.-autKind :: Lens' AutoscalerList Text-autKind = lens _autKind (\ s a -> s{_autKind = a})---- | A list of Autoscaler resources.-autItems :: Lens' AutoscalerList [Autoscaler]-autItems- = lens _autItems (\ s a -> s{_autItems = a}) .- _Default- . _Coerce---- | [Output Only] Server-defined URL for this resource.-autSelfLink :: Lens' AutoscalerList (Maybe Text)-autSelfLink- = lens _autSelfLink (\ s a -> s{_autSelfLink = a})---- | [Output Only] The unique identifier for the resource. This identifier is--- defined by the server.-autId :: Lens' AutoscalerList (Maybe Text)-autId = lens _autId (\ s a -> s{_autId = a})--instance FromJSON AutoscalerList where- parseJSON- = withObject "AutoscalerList"- (\ o ->- AutoscalerList' <$>- (o .:? "nextPageToken") <*>- (o .:? "kind" .!= "compute#autoscalerList")- <*> (o .:? "items" .!= mempty)- <*> (o .:? "selfLink")- <*> (o .:? "id"))--instance ToJSON AutoscalerList where- toJSON AutoscalerList'{..}- = object- (catMaybes- [("nextPageToken" .=) <$> _autNextPageToken,- Just ("kind" .= _autKind),- ("items" .=) <$> _autItems,- ("selfLink" .=) <$> _autSelfLink,- ("id" .=) <$> _autId])------- /See:/ 'vpnTunnelAggregatedList' smart constructor.-data VPNTunnelAggregatedList = VPNTunnelAggregatedList'- { _vtalNextPageToken :: !(Maybe Text)- , _vtalKind :: !Text- , _vtalItems :: !(Maybe VPNTunnelAggregatedListItems)- , _vtalSelfLink :: !(Maybe Text)- , _vtalId :: !(Maybe Text)- } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'VPNTunnelAggregatedList' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'vtalNextPageToken'------ * 'vtalKind'------ * 'vtalItems'------ * 'vtalSelfLink'------ * 'vtalId'-vpnTunnelAggregatedList- :: VPNTunnelAggregatedList-vpnTunnelAggregatedList =- VPNTunnelAggregatedList'- { _vtalNextPageToken = Nothing- , _vtalKind = "compute#vpnTunnelAggregatedList"- , _vtalItems = Nothing- , _vtalSelfLink = Nothing- , _vtalId = Nothing- }---- | [Output Only] This token allows you to get the next page of results for--- list requests. If the number of results is larger than maxResults, use--- the nextPageToken as a value for the query parameter pageToken in the--- next list request. Subsequent list requests will have their own--- nextPageToken to continue paging through the results.-vtalNextPageToken :: Lens' VPNTunnelAggregatedList (Maybe Text)-vtalNextPageToken- = lens _vtalNextPageToken- (\ s a -> s{_vtalNextPageToken = a})---- | [Output Only] Type of resource. Always compute#vpnTunnel for VPN--- tunnels.-vtalKind :: Lens' VPNTunnelAggregatedList Text-vtalKind = lens _vtalKind (\ s a -> s{_vtalKind = a})---- | [Output Only] A map of scoped vpn tunnel lists.-vtalItems :: Lens' VPNTunnelAggregatedList (Maybe VPNTunnelAggregatedListItems)-vtalItems- = lens _vtalItems (\ s a -> s{_vtalItems = a})---- | [Output Only] Server-defined URL for this resource.-vtalSelfLink :: Lens' VPNTunnelAggregatedList (Maybe Text)-vtalSelfLink- = lens _vtalSelfLink (\ s a -> s{_vtalSelfLink = a})---- | [Output Only] The unique identifier for the resource. This identifier is--- defined by the server.-vtalId :: Lens' VPNTunnelAggregatedList (Maybe Text)-vtalId = lens _vtalId (\ s a -> s{_vtalId = a})--instance FromJSON VPNTunnelAggregatedList where- parseJSON- = withObject "VPNTunnelAggregatedList"- (\ o ->- VPNTunnelAggregatedList' <$>- (o .:? "nextPageToken") <*>- (o .:? "kind" .!= "compute#vpnTunnelAggregatedList")- <*> (o .:? "items")- <*> (o .:? "selfLink")- <*> (o .:? "id"))--instance ToJSON VPNTunnelAggregatedList where- toJSON VPNTunnelAggregatedList'{..}- = object- (catMaybes- [("nextPageToken" .=) <$> _vtalNextPageToken,- Just ("kind" .= _vtalKind),- ("items" .=) <$> _vtalItems,- ("selfLink" .=) <$> _vtalSelfLink,- ("id" .=) <$> _vtalId])---- | An instance-attached disk resource.------ /See:/ 'attachedDisk' smart constructor.-data AttachedDisk = AttachedDisk'- { _adKind :: !Text- , _adMode :: !(Maybe AttachedDiskMode)- , _adBoot :: !(Maybe Bool)- , _adAutoDelete :: !(Maybe Bool)- , _adInitializeParams :: !(Maybe AttachedDiskInitializeParams)- , _adDeviceName :: !(Maybe Text)- , _adInterface :: !(Maybe AttachedDiskInterface)- , _adSource :: !(Maybe Text)- , _adLicenses :: !(Maybe [Text])- , _adType :: !(Maybe AttachedDiskType)- , _adIndex :: !(Maybe (Textual Int32))- } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'AttachedDisk' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'adKind'------ * 'adMode'------ * 'adBoot'------ * 'adAutoDelete'------ * 'adInitializeParams'------ * 'adDeviceName'------ * 'adInterface'------ * 'adSource'------ * 'adLicenses'------ * 'adType'------ * 'adIndex'-attachedDisk- :: AttachedDisk-attachedDisk =- AttachedDisk'- { _adKind = "compute#attachedDisk"- , _adMode = Nothing- , _adBoot = Nothing- , _adAutoDelete = Nothing- , _adInitializeParams = Nothing- , _adDeviceName = Nothing- , _adInterface = Nothing- , _adSource = Nothing- , _adLicenses = Nothing- , _adType = Nothing- , _adIndex = Nothing- }---- | [Output Only] Type of the resource. Always compute#attachedDisk for--- attached disks.-adKind :: Lens' AttachedDisk Text-adKind = lens _adKind (\ s a -> s{_adKind = a})---- | The mode in which to attach this disk, either READ_WRITE or READ_ONLY.--- If not specified, the default is to attach the disk in READ_WRITE mode.-adMode :: Lens' AttachedDisk (Maybe AttachedDiskMode)-adMode = lens _adMode (\ s a -> s{_adMode = a})---- | Indicates that this is a boot disk. The virtual machine will use the--- first partition of the disk for its root filesystem.-adBoot :: Lens' AttachedDisk (Maybe Bool)-adBoot = lens _adBoot (\ s a -> s{_adBoot = a})---- | Specifies whether the disk will be auto-deleted when the instance is--- deleted (but not when the disk is detached from the instance).-adAutoDelete :: Lens' AttachedDisk (Maybe Bool)-adAutoDelete- = lens _adAutoDelete (\ s a -> s{_adAutoDelete = a})---- | [Input Only] Specifies the parameters for a new disk that will be--- created alongside the new instance. Use initialization parameters to--- create boot disks or local SSDs attached to the new instance. This--- property is mutually exclusive with the source property; you can only--- define one or the other, but not both.-adInitializeParams :: Lens' AttachedDisk (Maybe AttachedDiskInitializeParams)-adInitializeParams- = lens _adInitializeParams- (\ s a -> s{_adInitializeParams = a})---- | Specifies a unique device name of your choice that is reflected into the--- \/dev\/disk\/by-id\/google-* tree of a Linux operating system running--- within the instance. This name can be used to reference the device for--- mounting, resizing, and so on, from within the instance. If not--- specified, the server chooses a default device name to apply to this--- disk, in the form persistent-disks-x, where x is a number assigned by--- Google Compute Engine. This field is only applicable for persistent--- disks.-adDeviceName :: Lens' AttachedDisk (Maybe Text)-adDeviceName- = lens _adDeviceName (\ s a -> s{_adDeviceName = a})---- | Specifies the disk interface to use for attaching this disk, which is--- either SCSI or NVME. The default is SCSI. Persistent disks must always--- use SCSI and the request will fail if you attempt to attach a persistent--- disk in any other format than SCSI. Local SSDs can use either NVME or--- SCSI. For performance characteristics of SCSI over NVMe, see Local SSD--- performance.-adInterface :: Lens' AttachedDisk (Maybe AttachedDiskInterface)-adInterface- = lens _adInterface (\ s a -> s{_adInterface = a})---- | Specifies a valid partial or full URL to an existing Persistent Disk--- resource. This field is only applicable for persistent disks.-adSource :: Lens' AttachedDisk (Maybe Text)-adSource = lens _adSource (\ s a -> s{_adSource = a})---- | [Output Only] Any valid publicly visible licenses.-adLicenses :: Lens' AttachedDisk [Text]-adLicenses- = lens _adLicenses (\ s a -> s{_adLicenses = a}) .- _Default- . _Coerce---- | Specifies the type of the disk, either SCRATCH or PERSISTENT. If not--- specified, the default is PERSISTENT.-adType :: Lens' AttachedDisk (Maybe AttachedDiskType)-adType = lens _adType (\ s a -> s{_adType = a})---- | Assigns a zero-based index to this disk, where 0 is reserved for the--- boot disk. For example, if you have many disks attached to an instance,--- each disk would have a unique index number. If not specified, the server--- will choose an appropriate value.-adIndex :: Lens' AttachedDisk (Maybe Int32)-adIndex- = lens _adIndex (\ s a -> s{_adIndex = a}) .- mapping _Coerce--instance FromJSON AttachedDisk where- parseJSON- = withObject "AttachedDisk"- (\ o ->- AttachedDisk' <$>- (o .:? "kind" .!= "compute#attachedDisk") <*>- (o .:? "mode")- <*> (o .:? "boot")- <*> (o .:? "autoDelete")- <*> (o .:? "initializeParams")- <*> (o .:? "deviceName")- <*> (o .:? "interface")- <*> (o .:? "source")- <*> (o .:? "licenses" .!= mempty)- <*> (o .:? "type")- <*> (o .:? "index"))--instance ToJSON AttachedDisk where- toJSON AttachedDisk'{..}- = object- (catMaybes- [Just ("kind" .= _adKind), ("mode" .=) <$> _adMode,- ("boot" .=) <$> _adBoot,- ("autoDelete" .=) <$> _adAutoDelete,- ("initializeParams" .=) <$> _adInitializeParams,- ("deviceName" .=) <$> _adDeviceName,- ("interface" .=) <$> _adInterface,- ("source" .=) <$> _adSource,- ("licenses" .=) <$> _adLicenses,- ("type" .=) <$> _adType, ("index" .=) <$> _adIndex])---- | Contains a list of disk types.------ /See:/ 'diskTypeList' smart constructor.-data DiskTypeList = DiskTypeList'- { _dtlNextPageToken :: !(Maybe Text)- , _dtlKind :: !Text- , _dtlItems :: !(Maybe [DiskType])- , _dtlSelfLink :: !(Maybe Text)- , _dtlId :: !(Maybe Text)- } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'DiskTypeList' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'dtlNextPageToken'------ * 'dtlKind'------ * 'dtlItems'------ * 'dtlSelfLink'------ * 'dtlId'-diskTypeList- :: DiskTypeList-diskTypeList =- DiskTypeList'- { _dtlNextPageToken = Nothing- , _dtlKind = "compute#diskTypeList"- , _dtlItems = Nothing- , _dtlSelfLink = Nothing- , _dtlId = Nothing- }---- | [Output Only] This token allows you to get the next page of results for--- list requests. If the number of results is larger than maxResults, use--- the nextPageToken as a value for the query parameter pageToken in the--- next list request. Subsequent list requests will have their own--- nextPageToken to continue paging through the results.-dtlNextPageToken :: Lens' DiskTypeList (Maybe Text)-dtlNextPageToken- = lens _dtlNextPageToken- (\ s a -> s{_dtlNextPageToken = a})---- | [Output Only] Type of resource. Always compute#diskTypeList for disk--- types.-dtlKind :: Lens' DiskTypeList Text-dtlKind = lens _dtlKind (\ s a -> s{_dtlKind = a})---- | [Output Only] A list of Disk Type resources.-dtlItems :: Lens' DiskTypeList [DiskType]-dtlItems- = lens _dtlItems (\ s a -> s{_dtlItems = a}) .- _Default- . _Coerce---- | [Output Only] Server-defined URL for this resource.-dtlSelfLink :: Lens' DiskTypeList (Maybe Text)-dtlSelfLink- = lens _dtlSelfLink (\ s a -> s{_dtlSelfLink = a})---- | [Output Only] The unique identifier for the resource. This identifier is--- defined by the server.-dtlId :: Lens' DiskTypeList (Maybe Text)-dtlId = lens _dtlId (\ s a -> s{_dtlId = a})--instance FromJSON DiskTypeList where- parseJSON- = withObject "DiskTypeList"- (\ o ->- DiskTypeList' <$>- (o .:? "nextPageToken") <*>- (o .:? "kind" .!= "compute#diskTypeList")- <*> (o .:? "items" .!= mempty)- <*> (o .:? "selfLink")- <*> (o .:? "id"))--instance ToJSON DiskTypeList where- toJSON DiskTypeList'{..}- = object- (catMaybes- [("nextPageToken" .=) <$> _dtlNextPageToken,- Just ("kind" .= _dtlKind),- ("items" .=) <$> _dtlItems,- ("selfLink" .=) <$> _dtlSelfLink,- ("id" .=) <$> _dtlId])---- | Contains a list of machine types.------ /See:/ 'machineTypeList' smart constructor.-data MachineTypeList = MachineTypeList'- { _mtlNextPageToken :: !(Maybe Text)- , _mtlKind :: !Text- , _mtlItems :: !(Maybe [MachineType])- , _mtlSelfLink :: !(Maybe Text)- , _mtlId :: !(Maybe Text)- } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'MachineTypeList' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'mtlNextPageToken'------ * 'mtlKind'------ * 'mtlItems'------ * 'mtlSelfLink'------ * 'mtlId'-machineTypeList- :: MachineTypeList-machineTypeList =- MachineTypeList'- { _mtlNextPageToken = Nothing- , _mtlKind = "compute#machineTypeList"- , _mtlItems = Nothing- , _mtlSelfLink = Nothing- , _mtlId = Nothing- }---- | [Output Only] This token allows you to get the next page of results for--- list requests. If the number of results is larger than maxResults, use--- the nextPageToken as a value for the query parameter pageToken in the--- next list request. Subsequent list requests will have their own--- nextPageToken to continue paging through the results.-mtlNextPageToken :: Lens' MachineTypeList (Maybe Text)-mtlNextPageToken- = lens _mtlNextPageToken- (\ s a -> s{_mtlNextPageToken = a})---- | [Output Only] Type of resource. Always compute#machineTypeList for lists--- of machine types.-mtlKind :: Lens' MachineTypeList Text-mtlKind = lens _mtlKind (\ s a -> s{_mtlKind = a})---- | [Output Only] A list of Machine Type resources.-mtlItems :: Lens' MachineTypeList [MachineType]-mtlItems- = lens _mtlItems (\ s a -> s{_mtlItems = a}) .- _Default- . _Coerce---- | [Output Only] Server-defined URL for this resource.-mtlSelfLink :: Lens' MachineTypeList (Maybe Text)-mtlSelfLink- = lens _mtlSelfLink (\ s a -> s{_mtlSelfLink = a})---- | [Output Only] The unique identifier for the resource. This identifier is--- defined by the server.-mtlId :: Lens' MachineTypeList (Maybe Text)-mtlId = lens _mtlId (\ s a -> s{_mtlId = a})--instance FromJSON MachineTypeList where- parseJSON- = withObject "MachineTypeList"- (\ o ->- MachineTypeList' <$>- (o .:? "nextPageToken") <*>- (o .:? "kind" .!= "compute#machineTypeList")- <*> (o .:? "items" .!= mempty)- <*> (o .:? "selfLink")- <*> (o .:? "id"))--instance ToJSON MachineTypeList where- toJSON MachineTypeList'{..}- = object- (catMaybes- [("nextPageToken" .=) <$> _mtlNextPageToken,- Just ("kind" .= _mtlKind),- ("items" .=) <$> _mtlItems,- ("selfLink" .=) <$> _mtlSelfLink,- ("id" .=) <$> _mtlId])---- | A list of TargetHttpProxy resources.------ /See:/ 'targetHTTPProxyList' smart constructor.-data TargetHTTPProxyList = TargetHTTPProxyList'- { _thttpplNextPageToken :: !(Maybe Text)- , _thttpplKind :: !Text- , _thttpplItems :: !(Maybe [TargetHTTPProxy])- , _thttpplSelfLink :: !(Maybe Text)- , _thttpplId :: !(Maybe Text)- } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'TargetHTTPProxyList' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'thttpplNextPageToken'------ * 'thttpplKind'------ * 'thttpplItems'------ * 'thttpplSelfLink'------ * 'thttpplId'-targetHTTPProxyList- :: TargetHTTPProxyList-targetHTTPProxyList =- TargetHTTPProxyList'- { _thttpplNextPageToken = Nothing- , _thttpplKind = "compute#targetHttpProxyList"- , _thttpplItems = Nothing- , _thttpplSelfLink = Nothing- , _thttpplId = Nothing- }---- | [Output Only] This token allows you to get the next page of results for--- list requests. If the number of results is larger than maxResults, use--- the nextPageToken as a value for the query parameter pageToken in the--- next list request. Subsequent list requests will have their own--- nextPageToken to continue paging through the results.-thttpplNextPageToken :: Lens' TargetHTTPProxyList (Maybe Text)-thttpplNextPageToken- = lens _thttpplNextPageToken- (\ s a -> s{_thttpplNextPageToken = a})---- | Type of resource. Always compute#targetHttpProxyList for lists of target--- HTTP proxies.-thttpplKind :: Lens' TargetHTTPProxyList Text-thttpplKind- = lens _thttpplKind (\ s a -> s{_thttpplKind = a})---- | A list of TargetHttpProxy resources.-thttpplItems :: Lens' TargetHTTPProxyList [TargetHTTPProxy]-thttpplItems- = lens _thttpplItems (\ s a -> s{_thttpplItems = a})- . _Default- . _Coerce---- | [Output Only] Server-defined URL for this resource.-thttpplSelfLink :: Lens' TargetHTTPProxyList (Maybe Text)-thttpplSelfLink- = lens _thttpplSelfLink- (\ s a -> s{_thttpplSelfLink = a})---- | [Output Only] The unique identifier for the resource. This identifier is--- defined by the server.-thttpplId :: Lens' TargetHTTPProxyList (Maybe Text)-thttpplId- = lens _thttpplId (\ s a -> s{_thttpplId = a})--instance FromJSON TargetHTTPProxyList where- parseJSON- = withObject "TargetHTTPProxyList"- (\ o ->- TargetHTTPProxyList' <$>- (o .:? "nextPageToken") <*>- (o .:? "kind" .!= "compute#targetHttpProxyList")- <*> (o .:? "items" .!= mempty)- <*> (o .:? "selfLink")- <*> (o .:? "id"))--instance ToJSON TargetHTTPProxyList where- toJSON TargetHTTPProxyList'{..}- = object- (catMaybes- [("nextPageToken" .=) <$> _thttpplNextPageToken,- Just ("kind" .= _thttpplKind),- ("items" .=) <$> _thttpplItems,- ("selfLink" .=) <$> _thttpplSelfLink,- ("id" .=) <$> _thttpplId])------- /See:/ 'diskTypesScopedList' smart constructor.-data DiskTypesScopedList = DiskTypesScopedList'- { _dtslDiskTypes :: !(Maybe [DiskType])- , _dtslWarning :: !(Maybe DiskTypesScopedListWarning)- } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'DiskTypesScopedList' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'dtslDiskTypes'------ * 'dtslWarning'-diskTypesScopedList- :: DiskTypesScopedList-diskTypesScopedList =- DiskTypesScopedList'- { _dtslDiskTypes = Nothing- , _dtslWarning = Nothing- }---- | [Output Only] List of disk types contained in this scope.-dtslDiskTypes :: Lens' DiskTypesScopedList [DiskType]-dtslDiskTypes- = lens _dtslDiskTypes- (\ s a -> s{_dtslDiskTypes = a})- . _Default- . _Coerce---- | [Output Only] Informational warning which replaces the list of disk--- types when the list is empty.-dtslWarning :: Lens' DiskTypesScopedList (Maybe DiskTypesScopedListWarning)-dtslWarning- = lens _dtslWarning (\ s a -> s{_dtslWarning = a})--instance FromJSON DiskTypesScopedList where- parseJSON- = withObject "DiskTypesScopedList"- (\ o ->- DiskTypesScopedList' <$>- (o .:? "diskTypes" .!= mempty) <*> (o .:? "warning"))--instance ToJSON DiskTypesScopedList where- toJSON DiskTypesScopedList'{..}- = object- (catMaybes- [("diskTypes" .=) <$> _dtslDiskTypes,- ("warning" .=) <$> _dtslWarning])------- /See:/ 'diskTypeAggregatedList' smart constructor.-data DiskTypeAggregatedList = DiskTypeAggregatedList'- { _dtalNextPageToken :: !(Maybe Text)- , _dtalKind :: !Text- , _dtalItems :: !(Maybe DiskTypeAggregatedListItems)- , _dtalSelfLink :: !(Maybe Text)- , _dtalId :: !(Maybe Text)- } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'DiskTypeAggregatedList' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'dtalNextPageToken'------ * 'dtalKind'------ * 'dtalItems'------ * 'dtalSelfLink'------ * 'dtalId'-diskTypeAggregatedList- :: DiskTypeAggregatedList-diskTypeAggregatedList =- DiskTypeAggregatedList'- { _dtalNextPageToken = Nothing- , _dtalKind = "compute#diskTypeAggregatedList"- , _dtalItems = Nothing- , _dtalSelfLink = Nothing- , _dtalId = Nothing- }---- | [Output Only] This token allows you to get the next page of results for--- list requests. If the number of results is larger than maxResults, use--- the nextPageToken as a value for the query parameter pageToken in the--- next list request. Subsequent list requests will have their own--- nextPageToken to continue paging through the results.-dtalNextPageToken :: Lens' DiskTypeAggregatedList (Maybe Text)-dtalNextPageToken- = lens _dtalNextPageToken- (\ s a -> s{_dtalNextPageToken = a})---- | [Output Only] Type of resource. Always compute#diskTypeAggregatedList.-dtalKind :: Lens' DiskTypeAggregatedList Text-dtalKind = lens _dtalKind (\ s a -> s{_dtalKind = a})---- | [Output Only] A map of scoped disk type lists.-dtalItems :: Lens' DiskTypeAggregatedList (Maybe DiskTypeAggregatedListItems)-dtalItems- = lens _dtalItems (\ s a -> s{_dtalItems = a})---- | [Output Only] Server-defined URL for this resource.-dtalSelfLink :: Lens' DiskTypeAggregatedList (Maybe Text)-dtalSelfLink- = lens _dtalSelfLink (\ s a -> s{_dtalSelfLink = a})---- | [Output Only] The unique identifier for the resource. This identifier is--- defined by the server.-dtalId :: Lens' DiskTypeAggregatedList (Maybe Text)-dtalId = lens _dtalId (\ s a -> s{_dtalId = a})--instance FromJSON DiskTypeAggregatedList where- parseJSON- = withObject "DiskTypeAggregatedList"- (\ o ->- DiskTypeAggregatedList' <$>- (o .:? "nextPageToken") <*>- (o .:? "kind" .!= "compute#diskTypeAggregatedList")- <*> (o .:? "items")- <*> (o .:? "selfLink")- <*> (o .:? "id"))--instance ToJSON DiskTypeAggregatedList where- toJSON DiskTypeAggregatedList'{..}- = object- (catMaybes- [("nextPageToken" .=) <$> _dtalNextPageToken,- Just ("kind" .= _dtalKind),- ("items" .=) <$> _dtalItems,- ("selfLink" .=) <$> _dtalSelfLink,- ("id" .=) <$> _dtalId])---- | An HttpHealthCheck resource. This resource defines a template for how--- individual instances should be checked for health, via HTTP.------ /See:/ 'hTTPHealthCheck' smart constructor.-data HTTPHealthCheck = HTTPHealthCheck'- { _httphcHealthyThreshold :: !(Maybe (Textual Int32))- , _httphcKind :: !Text- , _httphcRequestPath :: !(Maybe Text)- , _httphcSelfLink :: !(Maybe Text)- , _httphcCheckIntervalSec :: !(Maybe (Textual Int32))- , _httphcName :: !(Maybe Text)- , _httphcCreationTimestamp :: !(Maybe Text)- , _httphcId :: !(Maybe (Textual Word64))- , _httphcHost :: !(Maybe Text)- , _httphcTimeoutSec :: !(Maybe (Textual Int32))- , _httphcDescription :: !(Maybe Text)- , _httphcUnhealthyThreshold :: !(Maybe (Textual Int32))- , _httphcPort :: !(Maybe (Textual Int32))- } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'HTTPHealthCheck' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'httphcHealthyThreshold'------ * 'httphcKind'------ * 'httphcRequestPath'------ * 'httphcSelfLink'------ * 'httphcCheckIntervalSec'------ * 'httphcName'------ * 'httphcCreationTimestamp'------ * 'httphcId'------ * 'httphcHost'------ * 'httphcTimeoutSec'------ * 'httphcDescription'------ * 'httphcUnhealthyThreshold'------ * 'httphcPort'-hTTPHealthCheck- :: HTTPHealthCheck-hTTPHealthCheck =- HTTPHealthCheck'- { _httphcHealthyThreshold = Nothing- , _httphcKind = "compute#httpHealthCheck"- , _httphcRequestPath = Nothing- , _httphcSelfLink = Nothing- , _httphcCheckIntervalSec = Nothing- , _httphcName = Nothing- , _httphcCreationTimestamp = Nothing- , _httphcId = Nothing- , _httphcHost = Nothing- , _httphcTimeoutSec = Nothing- , _httphcDescription = Nothing- , _httphcUnhealthyThreshold = Nothing- , _httphcPort = Nothing- }---- | A so-far unhealthy instance will be marked healthy after this many--- consecutive successes. The default value is 2.-httphcHealthyThreshold :: Lens' HTTPHealthCheck (Maybe Int32)-httphcHealthyThreshold- = lens _httphcHealthyThreshold- (\ s a -> s{_httphcHealthyThreshold = a})- . mapping _Coerce---- | [Output Only] Type of the resource. Always compute#httpHealthCheck for--- HTTP health checks.-httphcKind :: Lens' HTTPHealthCheck Text-httphcKind- = lens _httphcKind (\ s a -> s{_httphcKind = a})---- | The request path of the HTTP health check request. The default value is--- \/.-httphcRequestPath :: Lens' HTTPHealthCheck (Maybe Text)-httphcRequestPath- = lens _httphcRequestPath- (\ s a -> s{_httphcRequestPath = a})---- | [Output Only] Server-defined URL for the resource.-httphcSelfLink :: Lens' HTTPHealthCheck (Maybe Text)-httphcSelfLink- = lens _httphcSelfLink- (\ s a -> s{_httphcSelfLink = a})---- | How often (in seconds) to send a health check. The default value is 5--- seconds.-httphcCheckIntervalSec :: Lens' HTTPHealthCheck (Maybe Int32)-httphcCheckIntervalSec- = lens _httphcCheckIntervalSec- (\ s a -> s{_httphcCheckIntervalSec = a})- . mapping _Coerce---- | Name of the resource. Provided by the client when the resource is--- created. The name must be 1-63 characters long, and comply with RFC1035.--- Specifically, the name must be 1-63 characters long and match the--- regular expression [a-z]([-a-z0-9]*[a-z0-9])? which means the first--- character must be a lowercase letter, and all following characters must--- be a dash, lowercase letter, or digit, except the last character, which--- cannot be a dash.-httphcName :: Lens' HTTPHealthCheck (Maybe Text)-httphcName- = lens _httphcName (\ s a -> s{_httphcName = a})---- | [Output Only] Creation timestamp in RFC3339 text format.-httphcCreationTimestamp :: Lens' HTTPHealthCheck (Maybe Text)-httphcCreationTimestamp- = lens _httphcCreationTimestamp- (\ s a -> s{_httphcCreationTimestamp = a})---- | [Output Only] The unique identifier for the resource. This identifier is--- defined by the server.-httphcId :: Lens' HTTPHealthCheck (Maybe Word64)-httphcId- = lens _httphcId (\ s a -> s{_httphcId = a}) .- mapping _Coerce---- | The value of the host header in the HTTP health check request. If left--- empty (default value), the public IP on behalf of which this health--- check is performed will be used.-httphcHost :: Lens' HTTPHealthCheck (Maybe Text)-httphcHost- = lens _httphcHost (\ s a -> s{_httphcHost = a})---- | How long (in seconds) to wait before claiming failure. The default value--- is 5 seconds. It is invalid for timeoutSec to have greater value than--- checkIntervalSec.-httphcTimeoutSec :: Lens' HTTPHealthCheck (Maybe Int32)-httphcTimeoutSec- = lens _httphcTimeoutSec- (\ s a -> s{_httphcTimeoutSec = a})- . mapping _Coerce---- | An optional description of this resource. Provide this property when you--- create the resource.-httphcDescription :: Lens' HTTPHealthCheck (Maybe Text)-httphcDescription- = lens _httphcDescription- (\ s a -> s{_httphcDescription = a})---- | A so-far healthy instance will be marked unhealthy after this many--- consecutive failures. The default value is 2.-httphcUnhealthyThreshold :: Lens' HTTPHealthCheck (Maybe Int32)-httphcUnhealthyThreshold- = lens _httphcUnhealthyThreshold- (\ s a -> s{_httphcUnhealthyThreshold = a})- . mapping _Coerce---- | The TCP port number for the HTTP health check request. The default value--- is 80.-httphcPort :: Lens' HTTPHealthCheck (Maybe Int32)-httphcPort- = lens _httphcPort (\ s a -> s{_httphcPort = a}) .- mapping _Coerce--instance FromJSON HTTPHealthCheck where- parseJSON- = withObject "HTTPHealthCheck"- (\ o ->- HTTPHealthCheck' <$>- (o .:? "healthyThreshold") <*>- (o .:? "kind" .!= "compute#httpHealthCheck")- <*> (o .:? "requestPath")- <*> (o .:? "selfLink")- <*> (o .:? "checkIntervalSec")- <*> (o .:? "name")- <*> (o .:? "creationTimestamp")- <*> (o .:? "id")- <*> (o .:? "host")- <*> (o .:? "timeoutSec")- <*> (o .:? "description")- <*> (o .:? "unhealthyThreshold")- <*> (o .:? "port"))--instance ToJSON HTTPHealthCheck where- toJSON HTTPHealthCheck'{..}- = object- (catMaybes- [("healthyThreshold" .=) <$> _httphcHealthyThreshold,- Just ("kind" .= _httphcKind),- ("requestPath" .=) <$> _httphcRequestPath,- ("selfLink" .=) <$> _httphcSelfLink,- ("checkIntervalSec" .=) <$> _httphcCheckIntervalSec,- ("name" .=) <$> _httphcName,- ("creationTimestamp" .=) <$>- _httphcCreationTimestamp,- ("id" .=) <$> _httphcId, ("host" .=) <$> _httphcHost,- ("timeoutSec" .=) <$> _httphcTimeoutSec,- ("description" .=) <$> _httphcDescription,- ("unhealthyThreshold" .=) <$>- _httphcUnhealthyThreshold,- ("port" .=) <$> _httphcPort])------- /See:/ 'backendServiceGroupHealth' smart constructor.-data BackendServiceGroupHealth = BackendServiceGroupHealth'- { _bsghKind :: !Text- , _bsghHealthStatus :: !(Maybe [HealthStatus])- } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'BackendServiceGroupHealth' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'bsghKind'------ * 'bsghHealthStatus'-backendServiceGroupHealth- :: BackendServiceGroupHealth-backendServiceGroupHealth =- BackendServiceGroupHealth'- { _bsghKind = "compute#backendServiceGroupHealth"- , _bsghHealthStatus = Nothing- }---- | [Output Only] Type of resource. Always compute#backendServiceGroupHealth--- for the health of backend services.-bsghKind :: Lens' BackendServiceGroupHealth Text-bsghKind = lens _bsghKind (\ s a -> s{_bsghKind = a})--bsghHealthStatus :: Lens' BackendServiceGroupHealth [HealthStatus]-bsghHealthStatus- = lens _bsghHealthStatus- (\ s a -> s{_bsghHealthStatus = a})- . _Default- . _Coerce--instance FromJSON BackendServiceGroupHealth where- parseJSON- = withObject "BackendServiceGroupHealth"- (\ o ->- BackendServiceGroupHealth' <$>- (o .:? "kind" .!=- "compute#backendServiceGroupHealth")- <*> (o .:? "healthStatus" .!= mempty))--instance ToJSON BackendServiceGroupHealth where- toJSON BackendServiceGroupHealth'{..}- = object- (catMaybes- [Just ("kind" .= _bsghKind),- ("healthStatus" .=) <$> _bsghHealthStatus])------- /See:/ 'autoscalersScopedList' smart constructor.-data AutoscalersScopedList = AutoscalersScopedList'- { _aAutoscalers :: !(Maybe [Autoscaler])- , _aWarning :: !(Maybe AutoscalersScopedListWarning)- } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'AutoscalersScopedList' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'aAutoscalers'------ * 'aWarning'-autoscalersScopedList- :: AutoscalersScopedList-autoscalersScopedList =- AutoscalersScopedList'- { _aAutoscalers = Nothing- , _aWarning = Nothing- }---- | [Output Only] List of autoscalers contained in this scope.-aAutoscalers :: Lens' AutoscalersScopedList [Autoscaler]-aAutoscalers- = lens _aAutoscalers (\ s a -> s{_aAutoscalers = a})- . _Default- . _Coerce---- | [Output Only] Informational warning which replaces the list of--- autoscalers when the list is empty.-aWarning :: Lens' AutoscalersScopedList (Maybe AutoscalersScopedListWarning)-aWarning = lens _aWarning (\ s a -> s{_aWarning = a})--instance FromJSON AutoscalersScopedList where- parseJSON- = withObject "AutoscalersScopedList"- (\ o ->- AutoscalersScopedList' <$>- (o .:? "autoscalers" .!= mempty) <*>- (o .:? "warning"))--instance ToJSON AutoscalersScopedList where- toJSON AutoscalersScopedList'{..}- = object- (catMaybes- [("autoscalers" .=) <$> _aAutoscalers,- ("warning" .=) <$> _aWarning])------- /See:/ 'autoscalerAggregatedList' smart constructor.-data AutoscalerAggregatedList = AutoscalerAggregatedList'- { _aalNextPageToken :: !(Maybe Text)- , _aalKind :: !Text- , _aalItems :: !(Maybe AutoscalerAggregatedListItems)- , _aalSelfLink :: !(Maybe Text)- , _aalId :: !(Maybe Text)- } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'AutoscalerAggregatedList' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'aalNextPageToken'------ * 'aalKind'------ * 'aalItems'------ * 'aalSelfLink'------ * 'aalId'-autoscalerAggregatedList- :: AutoscalerAggregatedList-autoscalerAggregatedList =- AutoscalerAggregatedList'- { _aalNextPageToken = Nothing- , _aalKind = "compute#autoscalerAggregatedList"- , _aalItems = Nothing- , _aalSelfLink = Nothing- , _aalId = Nothing- }---- | [Output Only] This token allows you to get the next page of results for--- list requests. If the number of results is larger than maxResults, use--- the nextPageToken as a value for the query parameter pageToken in the--- next list request. Subsequent list requests will have their own--- nextPageToken to continue paging through the results.-aalNextPageToken :: Lens' AutoscalerAggregatedList (Maybe Text)-aalNextPageToken- = lens _aalNextPageToken- (\ s a -> s{_aalNextPageToken = a})---- | [Output Only] Type of resource. Always compute#autoscalerAggregatedList--- for aggregated lists of autoscalers.-aalKind :: Lens' AutoscalerAggregatedList Text-aalKind = lens _aalKind (\ s a -> s{_aalKind = a})---- | A map of scoped autoscaler lists.-aalItems :: Lens' AutoscalerAggregatedList (Maybe AutoscalerAggregatedListItems)-aalItems = lens _aalItems (\ s a -> s{_aalItems = a})---- | [Output Only] Server-defined URL for this resource.-aalSelfLink :: Lens' AutoscalerAggregatedList (Maybe Text)-aalSelfLink- = lens _aalSelfLink (\ s a -> s{_aalSelfLink = a})---- | [Output Only] The unique identifier for the resource. This identifier is--- defined by the server.-aalId :: Lens' AutoscalerAggregatedList (Maybe Text)-aalId = lens _aalId (\ s a -> s{_aalId = a})--instance FromJSON AutoscalerAggregatedList where- parseJSON- = withObject "AutoscalerAggregatedList"- (\ o ->- AutoscalerAggregatedList' <$>- (o .:? "nextPageToken") <*>- (o .:? "kind" .!= "compute#autoscalerAggregatedList")- <*> (o .:? "items")- <*> (o .:? "selfLink")- <*> (o .:? "id"))--instance ToJSON AutoscalerAggregatedList where- toJSON AutoscalerAggregatedList'{..}- = object- (catMaybes- [("nextPageToken" .=) <$> _aalNextPageToken,- Just ("kind" .= _aalKind),- ("items" .=) <$> _aalItems,- ("selfLink" .=) <$> _aalSelfLink,- ("id" .=) <$> _aalId])---- | Cloud Autoscaler policy.------ /See:/ 'autoscalingPolicy' smart constructor.-data AutoscalingPolicy = AutoscalingPolicy'- { _apCustomMetricUtilizations :: !(Maybe [AutoscalingPolicyCustomMetricUtilization])- , _apMaxNumReplicas :: !(Maybe (Textual Int32))- , _apCPUUtilization :: !(Maybe AutoscalingPolicyCPUUtilization)- , _apLoadBalancingUtilization :: !(Maybe AutoscalingPolicyLoadBalancingUtilization)- , _apMinNumReplicas :: !(Maybe (Textual Int32))- , _apCoolDownPeriodSec :: !(Maybe (Textual Int32))- } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'AutoscalingPolicy' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'apCustomMetricUtilizations'------ * 'apMaxNumReplicas'------ * 'apCPUUtilization'------ * 'apLoadBalancingUtilization'------ * 'apMinNumReplicas'------ * 'apCoolDownPeriodSec'-autoscalingPolicy- :: AutoscalingPolicy-autoscalingPolicy =- AutoscalingPolicy'- { _apCustomMetricUtilizations = Nothing- , _apMaxNumReplicas = Nothing- , _apCPUUtilization = Nothing- , _apLoadBalancingUtilization = Nothing- , _apMinNumReplicas = Nothing- , _apCoolDownPeriodSec = Nothing- }---- | Configuration parameters of autoscaling based on a custom metric.-apCustomMetricUtilizations :: Lens' AutoscalingPolicy [AutoscalingPolicyCustomMetricUtilization]-apCustomMetricUtilizations- = lens _apCustomMetricUtilizations- (\ s a -> s{_apCustomMetricUtilizations = a})- . _Default- . _Coerce---- | The maximum number of instances that the autoscaler can scale up to.--- This is required when creating or updating an autoscaler. The maximum--- number of replicas should not be lower than minimal number of replicas.-apMaxNumReplicas :: Lens' AutoscalingPolicy (Maybe Int32)-apMaxNumReplicas- = lens _apMaxNumReplicas- (\ s a -> s{_apMaxNumReplicas = a})- . mapping _Coerce---- | Defines the CPU utilization policy that allows the autoscaler to scale--- based on the average CPU utilization of a managed instance group.-apCPUUtilization :: Lens' AutoscalingPolicy (Maybe AutoscalingPolicyCPUUtilization)-apCPUUtilization- = lens _apCPUUtilization- (\ s a -> s{_apCPUUtilization = a})---- | Configuration parameters of autoscaling based on load balancer.-apLoadBalancingUtilization :: Lens' AutoscalingPolicy (Maybe AutoscalingPolicyLoadBalancingUtilization)-apLoadBalancingUtilization- = lens _apLoadBalancingUtilization- (\ s a -> s{_apLoadBalancingUtilization = a})---- | The minimum number of replicas that the autoscaler can scale down to.--- This cannot be less than 0. If not provided, autoscaler will choose a--- default value depending on maximum number of instances allowed.-apMinNumReplicas :: Lens' AutoscalingPolicy (Maybe Int32)-apMinNumReplicas- = lens _apMinNumReplicas- (\ s a -> s{_apMinNumReplicas = a})- . mapping _Coerce---- | The number of seconds that the autoscaler should wait before it starts--- collecting information from a new instance. This prevents the autoscaler--- from collecting information when the instance is initializing, during--- which the collected usage would not be reliable. The default time--- autoscaler waits is 60 seconds. Virtual machine initialization times--- might vary because of numerous factors. We recommend that you test how--- long an instance may take to initialize. To do this, create an instance--- and time the startup process.-apCoolDownPeriodSec :: Lens' AutoscalingPolicy (Maybe Int32)-apCoolDownPeriodSec- = lens _apCoolDownPeriodSec- (\ s a -> s{_apCoolDownPeriodSec = a})- . mapping _Coerce--instance FromJSON AutoscalingPolicy where- parseJSON- = withObject "AutoscalingPolicy"- (\ o ->- AutoscalingPolicy' <$>- (o .:? "customMetricUtilizations" .!= mempty) <*>- (o .:? "maxNumReplicas")- <*> (o .:? "cpuUtilization")- <*> (o .:? "loadBalancingUtilization")- <*> (o .:? "minNumReplicas")- <*> (o .:? "coolDownPeriodSec"))--instance ToJSON AutoscalingPolicy where- toJSON AutoscalingPolicy'{..}- = object- (catMaybes- [("customMetricUtilizations" .=) <$>- _apCustomMetricUtilizations,- ("maxNumReplicas" .=) <$> _apMaxNumReplicas,- ("cpuUtilization" .=) <$> _apCPUUtilization,- ("loadBalancingUtilization" .=) <$>- _apLoadBalancingUtilization,- ("minNumReplicas" .=) <$> _apMinNumReplicas,- ("coolDownPeriodSec" .=) <$> _apCoolDownPeriodSec])---- | Contains a list of region resources.------ /See:/ 'regionList' smart constructor.-data RegionList = RegionList'- { _regNextPageToken :: !(Maybe Text)- , _regKind :: !Text- , _regItems :: !(Maybe [Region])- , _regSelfLink :: !(Maybe Text)- , _regId :: !(Maybe Text)- } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'RegionList' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'regNextPageToken'------ * 'regKind'------ * 'regItems'------ * 'regSelfLink'------ * 'regId'-regionList- :: RegionList-regionList =- RegionList'- { _regNextPageToken = Nothing- , _regKind = "compute#regionList"- , _regItems = Nothing- , _regSelfLink = Nothing- , _regId = Nothing- }---- | [Output Only] This token allows you to get the next page of results for--- list requests. If the number of results is larger than maxResults, use--- the nextPageToken as a value for the query parameter pageToken in the--- next list request. Subsequent list requests will have their own--- nextPageToken to continue paging through the results.-regNextPageToken :: Lens' RegionList (Maybe Text)-regNextPageToken- = lens _regNextPageToken- (\ s a -> s{_regNextPageToken = a})---- | [Output Only] Type of resource. Always compute#regionList for lists of--- regions.-regKind :: Lens' RegionList Text-regKind = lens _regKind (\ s a -> s{_regKind = a})---- | [Output Only] A list of Region resources.-regItems :: Lens' RegionList [Region]-regItems- = lens _regItems (\ s a -> s{_regItems = a}) .- _Default- . _Coerce---- | [Output Only] Server-defined URL for this resource.-regSelfLink :: Lens' RegionList (Maybe Text)-regSelfLink- = lens _regSelfLink (\ s a -> s{_regSelfLink = a})---- | [Output Only] The unique identifier for the resource. This identifier is--- defined by the server.-regId :: Lens' RegionList (Maybe Text)-regId = lens _regId (\ s a -> s{_regId = a})--instance FromJSON RegionList where- parseJSON- = withObject "RegionList"- (\ o ->- RegionList' <$>- (o .:? "nextPageToken") <*>- (o .:? "kind" .!= "compute#regionList")- <*> (o .:? "items" .!= mempty)- <*> (o .:? "selfLink")- <*> (o .:? "id"))--instance ToJSON RegionList where- toJSON RegionList'{..}- = object- (catMaybes- [("nextPageToken" .=) <$> _regNextPageToken,- Just ("kind" .= _regKind),- ("items" .=) <$> _regItems,- ("selfLink" .=) <$> _regSelfLink,- ("id" .=) <$> _regId])---- | Contains a list of VpnTunnel resources.------ /See:/ 'vpnTunnelList' smart constructor.-data VPNTunnelList = VPNTunnelList'- { _vtlNextPageToken :: !(Maybe Text)- , _vtlKind :: !Text- , _vtlItems :: !(Maybe [VPNTunnel])- , _vtlSelfLink :: !(Maybe Text)- , _vtlId :: !(Maybe Text)- } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'VPNTunnelList' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'vtlNextPageToken'------ * 'vtlKind'------ * 'vtlItems'------ * 'vtlSelfLink'------ * 'vtlId'-vpnTunnelList- :: VPNTunnelList-vpnTunnelList =- VPNTunnelList'- { _vtlNextPageToken = Nothing- , _vtlKind = "compute#vpnTunnelList"- , _vtlItems = Nothing- , _vtlSelfLink = Nothing- , _vtlId = Nothing- }---- | [Output Only] This token allows you to get the next page of results for--- list requests. If the number of results is larger than maxResults, use--- the nextPageToken as a value for the query parameter pageToken in the--- next list request. Subsequent list requests will have their own--- nextPageToken to continue paging through the results.-vtlNextPageToken :: Lens' VPNTunnelList (Maybe Text)-vtlNextPageToken- = lens _vtlNextPageToken- (\ s a -> s{_vtlNextPageToken = a})---- | [Output Only] Type of resource. Always compute#vpnTunnel for VPN--- tunnels.-vtlKind :: Lens' VPNTunnelList Text-vtlKind = lens _vtlKind (\ s a -> s{_vtlKind = a})---- | [Output Only] A list of VpnTunnel resources.-vtlItems :: Lens' VPNTunnelList [VPNTunnel]-vtlItems- = lens _vtlItems (\ s a -> s{_vtlItems = a}) .- _Default- . _Coerce---- | [Output Only] Server-defined URL for the resource.-vtlSelfLink :: Lens' VPNTunnelList (Maybe Text)-vtlSelfLink- = lens _vtlSelfLink (\ s a -> s{_vtlSelfLink = a})---- | [Output Only] The unique identifier for the resource. This identifier is--- defined by the server.-vtlId :: Lens' VPNTunnelList (Maybe Text)-vtlId = lens _vtlId (\ s a -> s{_vtlId = a})--instance FromJSON VPNTunnelList where- parseJSON- = withObject "VPNTunnelList"- (\ o ->- VPNTunnelList' <$>- (o .:? "nextPageToken") <*>- (o .:? "kind" .!= "compute#vpnTunnelList")- <*> (o .:? "items" .!= mempty)- <*> (o .:? "selfLink")- <*> (o .:? "id"))--instance ToJSON VPNTunnelList where- toJSON VPNTunnelList'{..}- = object- (catMaybes- [("nextPageToken" .=) <$> _vtlNextPageToken,- Just ("kind" .= _vtlKind),- ("items" .=) <$> _vtlItems,- ("selfLink" .=) <$> _vtlSelfLink,- ("id" .=) <$> _vtlId])------- /See:/ 'machineTypeScratchDisksItem' smart constructor.-newtype MachineTypeScratchDisksItem = MachineTypeScratchDisksItem'- { _mtsdiDiskGb :: Maybe (Textual Int32)- } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'MachineTypeScratchDisksItem' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'mtsdiDiskGb'-machineTypeScratchDisksItem- :: MachineTypeScratchDisksItem-machineTypeScratchDisksItem =- MachineTypeScratchDisksItem'- { _mtsdiDiskGb = Nothing- }---- | Size of the scratch disk, defined in GB.-mtsdiDiskGb :: Lens' MachineTypeScratchDisksItem (Maybe Int32)-mtsdiDiskGb- = lens _mtsdiDiskGb (\ s a -> s{_mtsdiDiskGb = a}) .- mapping _Coerce--instance FromJSON MachineTypeScratchDisksItem where- parseJSON- = withObject "MachineTypeScratchDisksItem"- (\ o ->- MachineTypeScratchDisksItem' <$> (o .:? "diskGb"))--instance ToJSON MachineTypeScratchDisksItem where- toJSON MachineTypeScratchDisksItem'{..}- = object (catMaybes [("diskGb" .=) <$> _mtsdiDiskGb])------- /See:/ 'subnetworksScopedListWarningDataItem' smart constructor.-data SubnetworksScopedListWarningDataItem = SubnetworksScopedListWarningDataItem'- { _sslwdiValue :: !(Maybe Text)- , _sslwdiKey :: !(Maybe Text)- } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'SubnetworksScopedListWarningDataItem' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'sslwdiValue'------ * 'sslwdiKey'-subnetworksScopedListWarningDataItem- :: SubnetworksScopedListWarningDataItem-subnetworksScopedListWarningDataItem =- SubnetworksScopedListWarningDataItem'- { _sslwdiValue = Nothing- , _sslwdiKey = Nothing- }---- | [Output Only] A warning data value corresponding to the key.-sslwdiValue :: Lens' SubnetworksScopedListWarningDataItem (Maybe Text)-sslwdiValue- = lens _sslwdiValue (\ s a -> s{_sslwdiValue = a})---- | [Output Only] A key that provides more detail on the warning being--- returned. For example, for warnings where there are no results in a list--- request for a particular zone, this key might be scope and the key value--- might be the zone name. Other examples might be a key indicating a--- deprecated resource and a suggested replacement, or a warning about--- invalid network settings (for example, if an instance attempts to--- perform IP forwarding but is not enabled for IP forwarding).-sslwdiKey :: Lens' SubnetworksScopedListWarningDataItem (Maybe Text)-sslwdiKey- = lens _sslwdiKey (\ s a -> s{_sslwdiKey = a})--instance FromJSON- SubnetworksScopedListWarningDataItem where- parseJSON- = withObject "SubnetworksScopedListWarningDataItem"- (\ o ->- SubnetworksScopedListWarningDataItem' <$>- (o .:? "value") <*> (o .:? "key"))--instance ToJSON SubnetworksScopedListWarningDataItem- where- toJSON SubnetworksScopedListWarningDataItem'{..}- = object- (catMaybes- [("value" .=) <$> _sslwdiValue,- ("key" .=) <$> _sslwdiKey])------- /See:/ 'machineTypesScopedList' smart constructor.-data MachineTypesScopedList = MachineTypesScopedList'- { _mtslMachineTypes :: !(Maybe [MachineType])- , _mtslWarning :: !(Maybe MachineTypesScopedListWarning)- } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'MachineTypesScopedList' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'mtslMachineTypes'------ * 'mtslWarning'-machineTypesScopedList- :: MachineTypesScopedList-machineTypesScopedList =- MachineTypesScopedList'- { _mtslMachineTypes = Nothing- , _mtslWarning = Nothing- }---- | [Output Only] List of machine types contained in this scope.-mtslMachineTypes :: Lens' MachineTypesScopedList [MachineType]-mtslMachineTypes- = lens _mtslMachineTypes- (\ s a -> s{_mtslMachineTypes = a})- . _Default- . _Coerce---- | [Output Only] An informational warning that appears when the machine--- types list is empty.-mtslWarning :: Lens' MachineTypesScopedList (Maybe MachineTypesScopedListWarning)-mtslWarning- = lens _mtslWarning (\ s a -> s{_mtslWarning = a})--instance FromJSON MachineTypesScopedList where- parseJSON- = withObject "MachineTypesScopedList"- (\ o ->- MachineTypesScopedList' <$>- (o .:? "machineTypes" .!= mempty) <*>- (o .:? "warning"))--instance ToJSON MachineTypesScopedList where- toJSON MachineTypesScopedList'{..}- = object- (catMaybes- [("machineTypes" .=) <$> _mtslMachineTypes,- ("warning" .=) <$> _mtslWarning])---- | A Subnetwork resource.------ /See:/ 'subnetwork' smart constructor.-data Subnetwork = Subnetwork'- { _subKind :: !Text- , _subNetwork :: !(Maybe Text)- , _subGatewayAddress :: !(Maybe Text)- , _subSelfLink :: !(Maybe Text)- , _subName :: !(Maybe Text)- , _subCreationTimestamp :: !(Maybe Text)- , _subIPCIdRRange :: !(Maybe Text)- , _subId :: !(Maybe (Textual Word64))- , _subRegion :: !(Maybe Text)- , _subDescription :: !(Maybe Text)- } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'Subnetwork' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'subKind'------ * 'subNetwork'------ * 'subGatewayAddress'------ * 'subSelfLink'------ * 'subName'------ * 'subCreationTimestamp'------ * 'subIPCIdRRange'------ * 'subId'------ * 'subRegion'------ * 'subDescription'-subnetwork- :: Subnetwork-subnetwork =- Subnetwork'- { _subKind = "compute#subnetwork"- , _subNetwork = Nothing- , _subGatewayAddress = Nothing- , _subSelfLink = Nothing- , _subName = Nothing- , _subCreationTimestamp = Nothing- , _subIPCIdRRange = Nothing- , _subId = Nothing- , _subRegion = Nothing- , _subDescription = Nothing- }---- | [Output Only] Type of the resource. Always compute#subnetwork for--- Subnetwork resources.-subKind :: Lens' Subnetwork Text-subKind = lens _subKind (\ s a -> s{_subKind = a})---- | The URL of the network to which this subnetwork belongs, provided by the--- client when initially creating the subnetwork. Only networks that are in--- the distributed mode can have subnetworks.-subNetwork :: Lens' Subnetwork (Maybe Text)-subNetwork- = lens _subNetwork (\ s a -> s{_subNetwork = a})---- | [Output Only] The gateway address for default routes to reach--- destination addresses outside this subnetwork.-subGatewayAddress :: Lens' Subnetwork (Maybe Text)-subGatewayAddress- = lens _subGatewayAddress- (\ s a -> s{_subGatewayAddress = a})---- | [Output Only] Server-defined URL for the resource.-subSelfLink :: Lens' Subnetwork (Maybe Text)-subSelfLink- = lens _subSelfLink (\ s a -> s{_subSelfLink = a})---- | The name of the resource, provided by the client when initially creating--- the resource. The name must be 1-63 characters long, and comply with--- RFC1035. Specifically, the name must be 1-63 characters long and match--- the regular expression [a-z]([-a-z0-9]*[a-z0-9])? which means the first--- character must be a lowercase letter, and all following characters must--- be a dash, lowercase letter, or digit, except the last character, which--- cannot be a dash.-subName :: Lens' Subnetwork (Maybe Text)-subName = lens _subName (\ s a -> s{_subName = a})---- | [Output Only] Creation timestamp in RFC3339 text format.-subCreationTimestamp :: Lens' Subnetwork (Maybe Text)-subCreationTimestamp- = lens _subCreationTimestamp- (\ s a -> s{_subCreationTimestamp = a})---- | The range of internal addresses that are owned by this subnetwork.--- Provide this property when you create the subnetwork. For example,--- 10.0.0.0\/8 or 192.168.0.0\/16. Ranges must be unique and--- non-overlapping within a network.-subIPCIdRRange :: Lens' Subnetwork (Maybe Text)-subIPCIdRRange- = lens _subIPCIdRRange- (\ s a -> s{_subIPCIdRRange = a})---- | [Output Only] The unique identifier for the resource. This identifier is--- defined by the server.-subId :: Lens' Subnetwork (Maybe Word64)-subId- = lens _subId (\ s a -> s{_subId = a}) .- mapping _Coerce---- | URL of the region where the Subnetwork resides.-subRegion :: Lens' Subnetwork (Maybe Text)-subRegion- = lens _subRegion (\ s a -> s{_subRegion = a})---- | An optional description of this resource. Provide this property when you--- create the resource.-subDescription :: Lens' Subnetwork (Maybe Text)-subDescription- = lens _subDescription- (\ s a -> s{_subDescription = a})--instance FromJSON Subnetwork where- parseJSON- = withObject "Subnetwork"- (\ o ->- Subnetwork' <$>- (o .:? "kind" .!= "compute#subnetwork") <*>- (o .:? "network")- <*> (o .:? "gatewayAddress")- <*> (o .:? "selfLink")- <*> (o .:? "name")- <*> (o .:? "creationTimestamp")- <*> (o .:? "ipCidrRange")- <*> (o .:? "id")- <*> (o .:? "region")- <*> (o .:? "description"))--instance ToJSON Subnetwork where- toJSON Subnetwork'{..}- = object- (catMaybes- [Just ("kind" .= _subKind),- ("network" .=) <$> _subNetwork,- ("gatewayAddress" .=) <$> _subGatewayAddress,- ("selfLink" .=) <$> _subSelfLink,- ("name" .=) <$> _subName,- ("creationTimestamp" .=) <$> _subCreationTimestamp,- ("ipCidrRange" .=) <$> _subIPCIdRRange,- ("id" .=) <$> _subId, ("region" .=) <$> _subRegion,- ("description" .=) <$> _subDescription])------- /See:/ 'machineTypeAggregatedList' smart constructor.-data MachineTypeAggregatedList = MachineTypeAggregatedList'- { _mtalNextPageToken :: !(Maybe Text)- , _mtalKind :: !Text- , _mtalItems :: !(Maybe MachineTypeAggregatedListItems)- , _mtalSelfLink :: !(Maybe Text)- , _mtalId :: !(Maybe Text)- } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'MachineTypeAggregatedList' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'mtalNextPageToken'------ * 'mtalKind'------ * 'mtalItems'------ * 'mtalSelfLink'------ * 'mtalId'-machineTypeAggregatedList- :: MachineTypeAggregatedList-machineTypeAggregatedList =- MachineTypeAggregatedList'- { _mtalNextPageToken = Nothing- , _mtalKind = "compute#machineTypeAggregatedList"- , _mtalItems = Nothing- , _mtalSelfLink = Nothing- , _mtalId = Nothing- }---- | [Output Only] This token allows you to get the next page of results for--- list requests. If the number of results is larger than maxResults, use--- the nextPageToken as a value for the query parameter pageToken in the--- next list request. Subsequent list requests will have their own--- nextPageToken to continue paging through the results.-mtalNextPageToken :: Lens' MachineTypeAggregatedList (Maybe Text)-mtalNextPageToken- = lens _mtalNextPageToken- (\ s a -> s{_mtalNextPageToken = a})---- | [Output Only] Type of resource. Always compute#machineTypeAggregatedList--- for aggregated lists of machine types.-mtalKind :: Lens' MachineTypeAggregatedList Text-mtalKind = lens _mtalKind (\ s a -> s{_mtalKind = a})---- | [Output Only] A map of scoped machine type lists.-mtalItems :: Lens' MachineTypeAggregatedList (Maybe MachineTypeAggregatedListItems)-mtalItems- = lens _mtalItems (\ s a -> s{_mtalItems = a})---- | [Output Only] Server-defined URL for this resource.-mtalSelfLink :: Lens' MachineTypeAggregatedList (Maybe Text)-mtalSelfLink- = lens _mtalSelfLink (\ s a -> s{_mtalSelfLink = a})---- | [Output Only] The unique identifier for the resource. This identifier is--- defined by the server.-mtalId :: Lens' MachineTypeAggregatedList (Maybe Text)-mtalId = lens _mtalId (\ s a -> s{_mtalId = a})--instance FromJSON MachineTypeAggregatedList where- parseJSON- = withObject "MachineTypeAggregatedList"- (\ o ->- MachineTypeAggregatedList' <$>- (o .:? "nextPageToken") <*>- (o .:? "kind" .!=- "compute#machineTypeAggregatedList")- <*> (o .:? "items")- <*> (o .:? "selfLink")- <*> (o .:? "id"))--instance ToJSON MachineTypeAggregatedList where- toJSON MachineTypeAggregatedList'{..}- = object- (catMaybes- [("nextPageToken" .=) <$> _mtalNextPageToken,- Just ("kind" .= _mtalKind),- ("items" .=) <$> _mtalItems,- ("selfLink" .=) <$> _mtalSelfLink,- ("id" .=) <$> _mtalId])---- | A DiskType resource.------ /See:/ 'diskType' smart constructor.-data DiskType = DiskType'- { _dtKind :: !Text- , _dtZone :: !(Maybe Text)- , _dtSelfLink :: !(Maybe Text)- , _dtName :: !(Maybe Text)- , _dtCreationTimestamp :: !(Maybe Text)- , _dtId :: !(Maybe (Textual Word64))- , _dtValidDiskSize :: !(Maybe Text)- , _dtDescription :: !(Maybe Text)- , _dtDefaultDiskSizeGb :: !(Maybe (Textual Int64))- , _dtDeprecated :: !(Maybe DeprecationStatus)- } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'DiskType' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'dtKind'------ * 'dtZone'------ * 'dtSelfLink'------ * 'dtName'------ * 'dtCreationTimestamp'------ * 'dtId'------ * 'dtValidDiskSize'------ * 'dtDescription'------ * 'dtDefaultDiskSizeGb'------ * 'dtDeprecated'-diskType- :: DiskType-diskType =- DiskType'- { _dtKind = "compute#diskType"- , _dtZone = Nothing- , _dtSelfLink = Nothing- , _dtName = Nothing- , _dtCreationTimestamp = Nothing- , _dtId = Nothing- , _dtValidDiskSize = Nothing- , _dtDescription = Nothing- , _dtDefaultDiskSizeGb = Nothing- , _dtDeprecated = Nothing- }---- | [Output Only] Type of the resource. Always compute#diskType for disk--- types.-dtKind :: Lens' DiskType Text-dtKind = lens _dtKind (\ s a -> s{_dtKind = a})---- | [Output Only] URL of the zone where the disk type resides.-dtZone :: Lens' DiskType (Maybe Text)-dtZone = lens _dtZone (\ s a -> s{_dtZone = a})---- | [Output Only] Server-defined URL for the resource.-dtSelfLink :: Lens' DiskType (Maybe Text)-dtSelfLink- = lens _dtSelfLink (\ s a -> s{_dtSelfLink = a})---- | [Output Only] Name of the resource.-dtName :: Lens' DiskType (Maybe Text)-dtName = lens _dtName (\ s a -> s{_dtName = a})---- | [Output Only] Creation timestamp in RFC3339 text format.-dtCreationTimestamp :: Lens' DiskType (Maybe Text)-dtCreationTimestamp- = lens _dtCreationTimestamp- (\ s a -> s{_dtCreationTimestamp = a})---- | [Output Only] The unique identifier for the resource. This identifier is--- defined by the server.-dtId :: Lens' DiskType (Maybe Word64)-dtId- = lens _dtId (\ s a -> s{_dtId = a}) .- mapping _Coerce---- | [Output Only] An optional textual description of the valid disk size,--- such as \"10GB-10TB\".-dtValidDiskSize :: Lens' DiskType (Maybe Text)-dtValidDiskSize- = lens _dtValidDiskSize- (\ s a -> s{_dtValidDiskSize = a})---- | [Output Only] An optional description of this resource.-dtDescription :: Lens' DiskType (Maybe Text)-dtDescription- = lens _dtDescription- (\ s a -> s{_dtDescription = a})---- | [Output Only] Server-defined default disk size in GB.-dtDefaultDiskSizeGb :: Lens' DiskType (Maybe Int64)-dtDefaultDiskSizeGb- = lens _dtDefaultDiskSizeGb- (\ s a -> s{_dtDefaultDiskSizeGb = a})- . mapping _Coerce---- | [Output Only] The deprecation status associated with this disk type.-dtDeprecated :: Lens' DiskType (Maybe DeprecationStatus)-dtDeprecated- = lens _dtDeprecated (\ s a -> s{_dtDeprecated = a})--instance FromJSON DiskType where- parseJSON- = withObject "DiskType"- (\ o ->- DiskType' <$>- (o .:? "kind" .!= "compute#diskType") <*>- (o .:? "zone")- <*> (o .:? "selfLink")- <*> (o .:? "name")- <*> (o .:? "creationTimestamp")- <*> (o .:? "id")- <*> (o .:? "validDiskSize")- <*> (o .:? "description")- <*> (o .:? "defaultDiskSizeGb")- <*> (o .:? "deprecated"))--instance ToJSON DiskType where- toJSON DiskType'{..}- = object- (catMaybes- [Just ("kind" .= _dtKind), ("zone" .=) <$> _dtZone,- ("selfLink" .=) <$> _dtSelfLink,- ("name" .=) <$> _dtName,- ("creationTimestamp" .=) <$> _dtCreationTimestamp,- ("id" .=) <$> _dtId,- ("validDiskSize" .=) <$> _dtValidDiskSize,- ("description" .=) <$> _dtDescription,- ("defaultDiskSizeGb" .=) <$> _dtDefaultDiskSizeGb,- ("deprecated" .=) <$> _dtDeprecated])---- | Message representing the validation result for a UrlMap.------ /See:/ 'urlMapValidationResult' smart constructor.-data URLMapValidationResult = URLMapValidationResult'- { _umvrLoadErrors :: !(Maybe [Text])- , _umvrLoadSucceeded :: !(Maybe Bool)- , _umvrTestPassed :: !(Maybe Bool)- , _umvrTestFailures :: !(Maybe [TestFailure])- } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'URLMapValidationResult' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'umvrLoadErrors'------ * 'umvrLoadSucceeded'------ * 'umvrTestPassed'------ * 'umvrTestFailures'-urlMapValidationResult- :: URLMapValidationResult-urlMapValidationResult =- URLMapValidationResult'- { _umvrLoadErrors = Nothing- , _umvrLoadSucceeded = Nothing- , _umvrTestPassed = Nothing- , _umvrTestFailures = Nothing- }--umvrLoadErrors :: Lens' URLMapValidationResult [Text]-umvrLoadErrors- = lens _umvrLoadErrors- (\ s a -> s{_umvrLoadErrors = a})- . _Default- . _Coerce---- | Whether the given UrlMap can be successfully loaded. If false,--- \'loadErrors\' indicates the reasons.-umvrLoadSucceeded :: Lens' URLMapValidationResult (Maybe Bool)-umvrLoadSucceeded- = lens _umvrLoadSucceeded- (\ s a -> s{_umvrLoadSucceeded = a})---- | If successfully loaded, this field indicates whether the test passed. If--- false, \'testFailures\'s indicate the reason of failure.-umvrTestPassed :: Lens' URLMapValidationResult (Maybe Bool)-umvrTestPassed- = lens _umvrTestPassed- (\ s a -> s{_umvrTestPassed = a})--umvrTestFailures :: Lens' URLMapValidationResult [TestFailure]-umvrTestFailures- = lens _umvrTestFailures- (\ s a -> s{_umvrTestFailures = a})- . _Default- . _Coerce--instance FromJSON URLMapValidationResult where- parseJSON- = withObject "URLMapValidationResult"- (\ o ->- URLMapValidationResult' <$>- (o .:? "loadErrors" .!= mempty) <*>- (o .:? "loadSucceeded")- <*> (o .:? "testPassed")- <*> (o .:? "testFailures" .!= mempty))--instance ToJSON URLMapValidationResult where- toJSON URLMapValidationResult'{..}- = object- (catMaybes- [("loadErrors" .=) <$> _umvrLoadErrors,- ("loadSucceeded" .=) <$> _umvrLoadSucceeded,- ("testPassed" .=) <$> _umvrTestPassed,- ("testFailures" .=) <$> _umvrTestFailures])---- | A metadata key\/value entry.------ /See:/ 'metadata' smart constructor.-data Metadata = Metadata'- { _mKind :: !Text- , _mFingerprint :: !(Maybe Base64)- , _mItems :: !(Maybe [MetadataItemsItem])- } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'Metadata' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'mKind'------ * 'mFingerprint'------ * 'mItems'-metadata- :: Metadata-metadata =- Metadata'- { _mKind = "compute#metadata"- , _mFingerprint = Nothing- , _mItems = Nothing- }---- | [Output Only] Type of the resource. Always compute#metadata for--- metadata.-mKind :: Lens' Metadata Text-mKind = lens _mKind (\ s a -> s{_mKind = a})---- | Specifies a fingerprint for this request, which is essentially a hash of--- the metadata\'s contents and used for optimistic locking. The--- fingerprint is initially generated by Compute Engine and changes after--- every request to modify or update metadata. You must always provide an--- up-to-date fingerprint hash in order to update or change metadata.-mFingerprint :: Lens' Metadata (Maybe ByteString)-mFingerprint- = lens _mFingerprint (\ s a -> s{_mFingerprint = a})- . mapping _Base64---- | Array of key\/value pairs. The total size of all keys and values must be--- less than 512 KB.-mItems :: Lens' Metadata [MetadataItemsItem]-mItems- = lens _mItems (\ s a -> s{_mItems = a}) . _Default .- _Coerce--instance FromJSON Metadata where- parseJSON- = withObject "Metadata"- (\ o ->- Metadata' <$>- (o .:? "kind" .!= "compute#metadata") <*>- (o .:? "fingerprint")- <*> (o .:? "items" .!= mempty))--instance ToJSON Metadata where- toJSON Metadata'{..}- = object- (catMaybes- [Just ("kind" .= _mKind),- ("fingerprint" .=) <$> _mFingerprint,- ("items" .=) <$> _mItems])------- /See:/ 'routeWarningsItem' smart constructor.-data RouteWarningsItem = RouteWarningsItem'- { _rwiData :: !(Maybe [RouteWarningsItemDataItem])- , _rwiCode :: !(Maybe RouteWarningsItemCode)- , _rwiMessage :: !(Maybe Text)- } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'RouteWarningsItem' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'rwiData'------ * 'rwiCode'------ * 'rwiMessage'-routeWarningsItem- :: RouteWarningsItem-routeWarningsItem =- RouteWarningsItem'- { _rwiData = Nothing- , _rwiCode = Nothing- , _rwiMessage = Nothing- }---- | [Output Only] Metadata about this warning in key: value format. For--- example: \"data\": [ { \"key\": \"scope\", \"value\":--- \"zones\/us-east1-d\" }-rwiData :: Lens' RouteWarningsItem [RouteWarningsItemDataItem]-rwiData- = lens _rwiData (\ s a -> s{_rwiData = a}) . _Default- . _Coerce---- | [Output Only] A warning code, if applicable. For example, Compute Engine--- returns NO_RESULTS_ON_PAGE if there are no results in the response.-rwiCode :: Lens' RouteWarningsItem (Maybe RouteWarningsItemCode)-rwiCode = lens _rwiCode (\ s a -> s{_rwiCode = a})---- | [Output Only] A human-readable description of the warning code.-rwiMessage :: Lens' RouteWarningsItem (Maybe Text)-rwiMessage- = lens _rwiMessage (\ s a -> s{_rwiMessage = a})--instance FromJSON RouteWarningsItem where- parseJSON- = withObject "RouteWarningsItem"- (\ o ->- RouteWarningsItem' <$>- (o .:? "data" .!= mempty) <*> (o .:? "code") <*>- (o .:? "message"))--instance ToJSON RouteWarningsItem where- toJSON RouteWarningsItem'{..}- = object- (catMaybes- [("data" .=) <$> _rwiData, ("code" .=) <$> _rwiCode,- ("message" .=) <$> _rwiMessage])------- /See:/ 'machineTypesScopedListWarningDataItem' smart constructor.-data MachineTypesScopedListWarningDataItem = MachineTypesScopedListWarningDataItem'- { _mtslwdiValue :: !(Maybe Text)- , _mtslwdiKey :: !(Maybe Text)- } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'MachineTypesScopedListWarningDataItem' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'mtslwdiValue'------ * 'mtslwdiKey'-machineTypesScopedListWarningDataItem- :: MachineTypesScopedListWarningDataItem-machineTypesScopedListWarningDataItem =- MachineTypesScopedListWarningDataItem'- { _mtslwdiValue = Nothing- , _mtslwdiKey = Nothing- }---- | [Output Only] A warning data value corresponding to the key.-mtslwdiValue :: Lens' MachineTypesScopedListWarningDataItem (Maybe Text)-mtslwdiValue- = lens _mtslwdiValue (\ s a -> s{_mtslwdiValue = a})---- | [Output Only] A key that provides more detail on the warning being--- returned. For example, for warnings where there are no results in a list--- request for a particular zone, this key might be scope and the key value--- might be the zone name. Other examples might be a key indicating a--- deprecated resource and a suggested replacement, or a warning about--- invalid network settings (for example, if an instance attempts to--- perform IP forwarding but is not enabled for IP forwarding).-mtslwdiKey :: Lens' MachineTypesScopedListWarningDataItem (Maybe Text)-mtslwdiKey- = lens _mtslwdiKey (\ s a -> s{_mtslwdiKey = a})--instance FromJSON- MachineTypesScopedListWarningDataItem where- parseJSON- = withObject "MachineTypesScopedListWarningDataItem"- (\ o ->- MachineTypesScopedListWarningDataItem' <$>- (o .:? "value") <*> (o .:? "key"))--instance ToJSON MachineTypesScopedListWarningDataItem- where- toJSON MachineTypesScopedListWarningDataItem'{..}- = object- (catMaybes- [("value" .=) <$> _mtslwdiValue,- ("key" .=) <$> _mtslwdiKey])------- /See:/ 'diskTypesScopedListWarningDataItem' smart constructor.-data DiskTypesScopedListWarningDataItem = DiskTypesScopedListWarningDataItem'- { _dtslwdiValue :: !(Maybe Text)- , _dtslwdiKey :: !(Maybe Text)- } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'DiskTypesScopedListWarningDataItem' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'dtslwdiValue'------ * 'dtslwdiKey'-diskTypesScopedListWarningDataItem- :: DiskTypesScopedListWarningDataItem-diskTypesScopedListWarningDataItem =- DiskTypesScopedListWarningDataItem'- { _dtslwdiValue = Nothing- , _dtslwdiKey = Nothing- }---- | [Output Only] A warning data value corresponding to the key.-dtslwdiValue :: Lens' DiskTypesScopedListWarningDataItem (Maybe Text)-dtslwdiValue- = lens _dtslwdiValue (\ s a -> s{_dtslwdiValue = a})---- | [Output Only] A key that provides more detail on the warning being--- returned. For example, for warnings where there are no results in a list--- request for a particular zone, this key might be scope and the key value--- might be the zone name. Other examples might be a key indicating a--- deprecated resource and a suggested replacement, or a warning about--- invalid network settings (for example, if an instance attempts to--- perform IP forwarding but is not enabled for IP forwarding).-dtslwdiKey :: Lens' DiskTypesScopedListWarningDataItem (Maybe Text)-dtslwdiKey- = lens _dtslwdiKey (\ s a -> s{_dtslwdiKey = a})--instance FromJSON DiskTypesScopedListWarningDataItem- where- parseJSON- = withObject "DiskTypesScopedListWarningDataItem"- (\ o ->- DiskTypesScopedListWarningDataItem' <$>- (o .:? "value") <*> (o .:? "key"))--instance ToJSON DiskTypesScopedListWarningDataItem- where- toJSON DiskTypesScopedListWarningDataItem'{..}- = object- (catMaybes- [("value" .=) <$> _dtslwdiValue,- ("key" .=) <$> _dtslwdiKey])---- | A TargetHttpProxy resource. This resource defines an HTTP proxy.------ /See:/ 'targetHTTPProxy' smart constructor.-data TargetHTTPProxy = TargetHTTPProxy'- { _thttppURLMap :: !(Maybe Text)- , _thttppKind :: !Text- , _thttppSelfLink :: !(Maybe Text)- , _thttppName :: !(Maybe Text)- , _thttppCreationTimestamp :: !(Maybe Text)- , _thttppId :: !(Maybe (Textual Word64))- , _thttppDescription :: !(Maybe Text)- } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'TargetHTTPProxy' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'thttppURLMap'------ * 'thttppKind'------ * 'thttppSelfLink'------ * 'thttppName'------ * 'thttppCreationTimestamp'------ * 'thttppId'------ * 'thttppDescription'-targetHTTPProxy- :: TargetHTTPProxy-targetHTTPProxy =- TargetHTTPProxy'- { _thttppURLMap = Nothing- , _thttppKind = "compute#targetHttpProxy"- , _thttppSelfLink = Nothing- , _thttppName = Nothing- , _thttppCreationTimestamp = Nothing- , _thttppId = Nothing- , _thttppDescription = Nothing- }---- | URL to the UrlMap resource that defines the mapping from URL to the--- BackendService.-thttppURLMap :: Lens' TargetHTTPProxy (Maybe Text)-thttppURLMap- = lens _thttppURLMap (\ s a -> s{_thttppURLMap = a})---- | [Output Only] Type of resource. Always compute#targetHttpProxy for--- target HTTP proxies.-thttppKind :: Lens' TargetHTTPProxy Text-thttppKind- = lens _thttppKind (\ s a -> s{_thttppKind = a})---- | [Output Only] Server-defined URL for the resource.-thttppSelfLink :: Lens' TargetHTTPProxy (Maybe Text)-thttppSelfLink- = lens _thttppSelfLink- (\ s a -> s{_thttppSelfLink = a})---- | Name of the resource. Provided by the client when the resource is--- created. The name must be 1-63 characters long, and comply with RFC1035.--- Specifically, the name must be 1-63 characters long and match the--- regular expression [a-z]([-a-z0-9]*[a-z0-9])? which means the first--- character must be a lowercase letter, and all following characters must--- be a dash, lowercase letter, or digit, except the last character, which--- cannot be a dash.-thttppName :: Lens' TargetHTTPProxy (Maybe Text)-thttppName- = lens _thttppName (\ s a -> s{_thttppName = a})---- | [Output Only] Creation timestamp in RFC3339 text format.-thttppCreationTimestamp :: Lens' TargetHTTPProxy (Maybe Text)-thttppCreationTimestamp- = lens _thttppCreationTimestamp- (\ s a -> s{_thttppCreationTimestamp = a})---- | [Output Only] The unique identifier for the resource. This identifier is--- defined by the server.-thttppId :: Lens' TargetHTTPProxy (Maybe Word64)-thttppId- = lens _thttppId (\ s a -> s{_thttppId = a}) .- mapping _Coerce---- | An optional description of this resource. Provide this property when you--- create the resource.-thttppDescription :: Lens' TargetHTTPProxy (Maybe Text)-thttppDescription- = lens _thttppDescription- (\ s a -> s{_thttppDescription = a})--instance FromJSON TargetHTTPProxy where- parseJSON- = withObject "TargetHTTPProxy"- (\ o ->- TargetHTTPProxy' <$>- (o .:? "urlMap") <*>- (o .:? "kind" .!= "compute#targetHttpProxy")- <*> (o .:? "selfLink")- <*> (o .:? "name")- <*> (o .:? "creationTimestamp")- <*> (o .:? "id")- <*> (o .:? "description"))--instance ToJSON TargetHTTPProxy where- toJSON TargetHTTPProxy'{..}- = object- (catMaybes- [("urlMap" .=) <$> _thttppURLMap,- Just ("kind" .= _thttppKind),- ("selfLink" .=) <$> _thttppSelfLink,- ("name" .=) <$> _thttppName,- ("creationTimestamp" .=) <$>- _thttppCreationTimestamp,- ("id" .=) <$> _thttppId,- ("description" .=) <$> _thttppDescription])---- | A Machine Type resource.------ /See:/ 'machineType' smart constructor.-data MachineType = MachineType'- { _mtKind :: !Text- , _mtImageSpaceGb :: !(Maybe (Textual Int32))- , _mtZone :: !(Maybe Text)- , _mtSelfLink :: !(Maybe Text)- , _mtName :: !(Maybe Text)- , _mtCreationTimestamp :: !(Maybe Text)- , _mtScratchDisks :: !(Maybe [MachineTypeScratchDisksItem])- , _mtId :: !(Maybe (Textual Word64))- , _mtGuestCPUs :: !(Maybe (Textual Int32))- , _mtMaximumPersistentDisksSizeGb :: !(Maybe (Textual Int64))- , _mtMaximumPersistentDisks :: !(Maybe (Textual Int32))- , _mtMemoryMb :: !(Maybe (Textual Int32))- , _mtDescription :: !(Maybe Text)- , _mtDeprecated :: !(Maybe DeprecationStatus)- } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'MachineType' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'mtKind'------ * 'mtImageSpaceGb'------ * 'mtZone'------ * 'mtSelfLink'------ * 'mtName'------ * 'mtCreationTimestamp'------ * 'mtScratchDisks'------ * 'mtId'------ * 'mtGuestCPUs'------ * 'mtMaximumPersistentDisksSizeGb'------ * 'mtMaximumPersistentDisks'------ * 'mtMemoryMb'------ * 'mtDescription'------ * 'mtDeprecated'-machineType- :: MachineType-machineType =- MachineType'- { _mtKind = "compute#machineType"- , _mtImageSpaceGb = Nothing- , _mtZone = Nothing- , _mtSelfLink = Nothing- , _mtName = Nothing- , _mtCreationTimestamp = Nothing- , _mtScratchDisks = Nothing- , _mtId = Nothing- , _mtGuestCPUs = Nothing- , _mtMaximumPersistentDisksSizeGb = Nothing- , _mtMaximumPersistentDisks = Nothing- , _mtMemoryMb = Nothing- , _mtDescription = Nothing- , _mtDeprecated = Nothing- }---- | [Output Only] The type of the resource. Always compute#machineType for--- machine types.-mtKind :: Lens' MachineType Text-mtKind = lens _mtKind (\ s a -> s{_mtKind = a})---- | [Deprecated] This property is deprecated and will never be populated--- with any relevant values.-mtImageSpaceGb :: Lens' MachineType (Maybe Int32)-mtImageSpaceGb- = lens _mtImageSpaceGb- (\ s a -> s{_mtImageSpaceGb = a})- . mapping _Coerce---- | [Output Only] The name of the zone where the machine type resides, such--- as us-central1-a.-mtZone :: Lens' MachineType (Maybe Text)-mtZone = lens _mtZone (\ s a -> s{_mtZone = a})---- | [Output Only] Server-defined URL for the resource.-mtSelfLink :: Lens' MachineType (Maybe Text)-mtSelfLink- = lens _mtSelfLink (\ s a -> s{_mtSelfLink = a})---- | [Output Only] Name of the resource.-mtName :: Lens' MachineType (Maybe Text)-mtName = lens _mtName (\ s a -> s{_mtName = a})---- | [Output Only] Creation timestamp in RFC3339 text format.-mtCreationTimestamp :: Lens' MachineType (Maybe Text)-mtCreationTimestamp- = lens _mtCreationTimestamp- (\ s a -> s{_mtCreationTimestamp = a})---- | [Output Only] List of extended scratch disks assigned to the instance.-mtScratchDisks :: Lens' MachineType [MachineTypeScratchDisksItem]-mtScratchDisks- = lens _mtScratchDisks- (\ s a -> s{_mtScratchDisks = a})- . _Default- . _Coerce---- | [Output Only] The unique identifier for the resource. This identifier is--- defined by the server.-mtId :: Lens' MachineType (Maybe Word64)-mtId- = lens _mtId (\ s a -> s{_mtId = a}) .- mapping _Coerce---- | [Output Only] The number of virtual CPUs that are available to the--- instance.-mtGuestCPUs :: Lens' MachineType (Maybe Int32)-mtGuestCPUs- = lens _mtGuestCPUs (\ s a -> s{_mtGuestCPUs = a}) .- mapping _Coerce---- | [Output Only] Maximum total persistent disks size (GB) allowed.-mtMaximumPersistentDisksSizeGb :: Lens' MachineType (Maybe Int64)-mtMaximumPersistentDisksSizeGb- = lens _mtMaximumPersistentDisksSizeGb- (\ s a -> s{_mtMaximumPersistentDisksSizeGb = a})- . mapping _Coerce---- | [Output Only] Maximum persistent disks allowed.-mtMaximumPersistentDisks :: Lens' MachineType (Maybe Int32)-mtMaximumPersistentDisks- = lens _mtMaximumPersistentDisks- (\ s a -> s{_mtMaximumPersistentDisks = a})- . mapping _Coerce---- | [Output Only] The amount of physical memory available to the instance,--- defined in MB.-mtMemoryMb :: Lens' MachineType (Maybe Int32)-mtMemoryMb- = lens _mtMemoryMb (\ s a -> s{_mtMemoryMb = a}) .- mapping _Coerce---- | [Output Only] An optional textual description of the resource.-mtDescription :: Lens' MachineType (Maybe Text)-mtDescription- = lens _mtDescription- (\ s a -> s{_mtDescription = a})---- | [Output Only] The deprecation status associated with this machine type.-mtDeprecated :: Lens' MachineType (Maybe DeprecationStatus)-mtDeprecated- = lens _mtDeprecated (\ s a -> s{_mtDeprecated = a})--instance FromJSON MachineType where- parseJSON- = withObject "MachineType"- (\ o ->- MachineType' <$>- (o .:? "kind" .!= "compute#machineType") <*>- (o .:? "imageSpaceGb")- <*> (o .:? "zone")- <*> (o .:? "selfLink")- <*> (o .:? "name")- <*> (o .:? "creationTimestamp")- <*> (o .:? "scratchDisks" .!= mempty)- <*> (o .:? "id")- <*> (o .:? "guestCpus")- <*> (o .:? "maximumPersistentDisksSizeGb")- <*> (o .:? "maximumPersistentDisks")- <*> (o .:? "memoryMb")- <*> (o .:? "description")- <*> (o .:? "deprecated"))--instance ToJSON MachineType where- toJSON MachineType'{..}- = object- (catMaybes- [Just ("kind" .= _mtKind),- ("imageSpaceGb" .=) <$> _mtImageSpaceGb,- ("zone" .=) <$> _mtZone,- ("selfLink" .=) <$> _mtSelfLink,- ("name" .=) <$> _mtName,- ("creationTimestamp" .=) <$> _mtCreationTimestamp,- ("scratchDisks" .=) <$> _mtScratchDisks,- ("id" .=) <$> _mtId,- ("guestCpus" .=) <$> _mtGuestCPUs,- ("maximumPersistentDisksSizeGb" .=) <$>- _mtMaximumPersistentDisksSizeGb,- ("maximumPersistentDisks" .=) <$>- _mtMaximumPersistentDisks,- ("memoryMb" .=) <$> _mtMemoryMb,- ("description" .=) <$> _mtDescription,- ("deprecated" .=) <$> _mtDeprecated])---- | [Output Only] If errors are generated during processing of the--- operation, this field will be populated.------ /See:/ 'operationError' smart constructor.-newtype OperationError = OperationError'- { _oeErrors :: Maybe [OperationErrorErrorsItem]- } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'OperationError' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'oeErrors'-operationError- :: OperationError-operationError =- OperationError'- { _oeErrors = Nothing- }---- | [Output Only] The array of errors encountered while processing this--- operation.-oeErrors :: Lens' OperationError [OperationErrorErrorsItem]-oeErrors- = lens _oeErrors (\ s a -> s{_oeErrors = a}) .- _Default- . _Coerce--instance FromJSON OperationError where- parseJSON- = withObject "OperationError"- (\ o ->- OperationError' <$> (o .:? "errors" .!= mempty))--instance ToJSON OperationError where- toJSON OperationError'{..}- = object (catMaybes [("errors" .=) <$> _oeErrors])---- | Informational warning which replaces the list of addresses when the list--- is empty.------ /See:/ 'targetInstancesScopedListWarning' smart constructor.-data TargetInstancesScopedListWarning = TargetInstancesScopedListWarning'- { _tislwData :: !(Maybe [TargetInstancesScopedListWarningDataItem])- , _tislwCode :: !(Maybe TargetInstancesScopedListWarningCode)- , _tislwMessage :: !(Maybe Text)- } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'TargetInstancesScopedListWarning' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'tislwData'------ * 'tislwCode'------ * 'tislwMessage'-targetInstancesScopedListWarning- :: TargetInstancesScopedListWarning-targetInstancesScopedListWarning =- TargetInstancesScopedListWarning'- { _tislwData = Nothing- , _tislwCode = Nothing- , _tislwMessage = Nothing- }---- | [Output Only] Metadata about this warning in key: value format. For--- example: \"data\": [ { \"key\": \"scope\", \"value\":--- \"zones\/us-east1-d\" }-tislwData :: Lens' TargetInstancesScopedListWarning [TargetInstancesScopedListWarningDataItem]-tislwData- = lens _tislwData (\ s a -> s{_tislwData = a}) .- _Default- . _Coerce---- | [Output Only] A warning code, if applicable. For example, Compute Engine--- returns NO_RESULTS_ON_PAGE if there are no results in the response.-tislwCode :: Lens' TargetInstancesScopedListWarning (Maybe TargetInstancesScopedListWarningCode)-tislwCode- = lens _tislwCode (\ s a -> s{_tislwCode = a})---- | [Output Only] A human-readable description of the warning code.-tislwMessage :: Lens' TargetInstancesScopedListWarning (Maybe Text)-tislwMessage- = lens _tislwMessage (\ s a -> s{_tislwMessage = a})--instance FromJSON TargetInstancesScopedListWarning- where- parseJSON- = withObject "TargetInstancesScopedListWarning"- (\ o ->- TargetInstancesScopedListWarning' <$>- (o .:? "data" .!= mempty) <*> (o .:? "code") <*>- (o .:? "message"))--instance ToJSON TargetInstancesScopedListWarning- where- toJSON TargetInstancesScopedListWarning'{..}- = object- (catMaybes- [("data" .=) <$> _tislwData,- ("code" .=) <$> _tislwCode,- ("message" .=) <$> _tislwMessage])------- /See:/ 'subnetworkAggregatedList' smart constructor.-data SubnetworkAggregatedList = SubnetworkAggregatedList'- { _salNextPageToken :: !(Maybe Text)- , _salKind :: !Text- , _salItems :: !(Maybe SubnetworkAggregatedListItems)- , _salSelfLink :: !(Maybe Text)- , _salId :: !(Maybe Text)- } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'SubnetworkAggregatedList' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'salNextPageToken'------ * 'salKind'------ * 'salItems'------ * 'salSelfLink'------ * 'salId'-subnetworkAggregatedList- :: SubnetworkAggregatedList-subnetworkAggregatedList =- SubnetworkAggregatedList'- { _salNextPageToken = Nothing- , _salKind = "compute#subnetworkAggregatedList"- , _salItems = Nothing- , _salSelfLink = Nothing- , _salId = Nothing- }---- | [Output Only] This token allows you to get the next page of results for--- list requests. If the number of results is larger than maxResults, use--- the nextPageToken as a value for the query parameter pageToken in the--- next list request. Subsequent list requests will have their own--- nextPageToken to continue paging through the results.-salNextPageToken :: Lens' SubnetworkAggregatedList (Maybe Text)-salNextPageToken- = lens _salNextPageToken- (\ s a -> s{_salNextPageToken = a})---- | [Output Only] Type of resource. Always compute#subnetworkAggregatedList--- for aggregated lists of subnetworks.-salKind :: Lens' SubnetworkAggregatedList Text-salKind = lens _salKind (\ s a -> s{_salKind = a})---- | [Output] A map of scoped Subnetwork lists.-salItems :: Lens' SubnetworkAggregatedList (Maybe SubnetworkAggregatedListItems)-salItems = lens _salItems (\ s a -> s{_salItems = a})---- | [Output Only] Server-defined URL for this resource.-salSelfLink :: Lens' SubnetworkAggregatedList (Maybe Text)-salSelfLink- = lens _salSelfLink (\ s a -> s{_salSelfLink = a})---- | [Output Only] The unique identifier for the resource. This identifier is--- defined by the server.-salId :: Lens' SubnetworkAggregatedList (Maybe Text)-salId = lens _salId (\ s a -> s{_salId = a})--instance FromJSON SubnetworkAggregatedList where- parseJSON- = withObject "SubnetworkAggregatedList"- (\ o ->- SubnetworkAggregatedList' <$>- (o .:? "nextPageToken") <*>- (o .:? "kind" .!= "compute#subnetworkAggregatedList")- <*> (o .:? "items")- <*> (o .:? "selfLink")- <*> (o .:? "id"))--instance ToJSON SubnetworkAggregatedList where- toJSON SubnetworkAggregatedList'{..}- = object- (catMaybes- [("nextPageToken" .=) <$> _salNextPageToken,- Just ("kind" .= _salKind),- ("items" .=) <$> _salItems,- ("selfLink" .=) <$> _salSelfLink,- ("id" .=) <$> _salId])------- /See:/ 'disksResizeRequest' smart constructor.-newtype DisksResizeRequest = DisksResizeRequest'- { _drrSizeGb :: Maybe (Textual Int64)- } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'DisksResizeRequest' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'drrSizeGb'-disksResizeRequest- :: DisksResizeRequest-disksResizeRequest =- DisksResizeRequest'- { _drrSizeGb = Nothing- }---- | The new size of the persistent disk, which is specified in GB.-drrSizeGb :: Lens' DisksResizeRequest (Maybe Int64)-drrSizeGb- = lens _drrSizeGb (\ s a -> s{_drrSizeGb = a}) .- mapping _Coerce--instance FromJSON DisksResizeRequest where- parseJSON- = withObject "DisksResizeRequest"- (\ o -> DisksResizeRequest' <$> (o .:? "sizeGb"))--instance ToJSON DisksResizeRequest where- toJSON DisksResizeRequest'{..}- = object (catMaybes [("sizeGb" .=) <$> _drrSizeGb])------- /See:/ 'autoscalersScopedListWarningDataItem' smart constructor.-data AutoscalersScopedListWarningDataItem = AutoscalersScopedListWarningDataItem'- { _aValue :: !(Maybe Text)- , _aKey :: !(Maybe Text)- } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'AutoscalersScopedListWarningDataItem' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'aValue'------ * 'aKey'-autoscalersScopedListWarningDataItem- :: AutoscalersScopedListWarningDataItem-autoscalersScopedListWarningDataItem =- AutoscalersScopedListWarningDataItem'- { _aValue = Nothing- , _aKey = Nothing- }---- | [Output Only] A warning data value corresponding to the key.-aValue :: Lens' AutoscalersScopedListWarningDataItem (Maybe Text)-aValue = lens _aValue (\ s a -> s{_aValue = a})---- | [Output Only] A key that provides more detail on the warning being--- returned. For example, for warnings where there are no results in a list--- request for a particular zone, this key might be scope and the key value--- might be the zone name. Other examples might be a key indicating a--- deprecated resource and a suggested replacement, or a warning about--- invalid network settings (for example, if an instance attempts to--- perform IP forwarding but is not enabled for IP forwarding).-aKey :: Lens' AutoscalersScopedListWarningDataItem (Maybe Text)-aKey = lens _aKey (\ s a -> s{_aKey = a})--instance FromJSON- AutoscalersScopedListWarningDataItem where- parseJSON- = withObject "AutoscalersScopedListWarningDataItem"- (\ o ->- AutoscalersScopedListWarningDataItem' <$>- (o .:? "value") <*> (o .:? "key"))--instance ToJSON AutoscalersScopedListWarningDataItem- where- toJSON AutoscalersScopedListWarningDataItem'{..}- = object- (catMaybes- [("value" .=) <$> _aValue, ("key" .=) <$> _aKey])------- /See:/ 'instanceGroupsListInstances' smart constructor.-data InstanceGroupsListInstances = InstanceGroupsListInstances'- { _igliNextPageToken :: !(Maybe Text)- , _igliKind :: !Text- , _igliItems :: !(Maybe [InstanceWithNamedPorts])- , _igliSelfLink :: !(Maybe Text)- , _igliId :: !(Maybe Text)- } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'InstanceGroupsListInstances' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'igliNextPageToken'------ * 'igliKind'------ * 'igliItems'------ * 'igliSelfLink'------ * 'igliId'-instanceGroupsListInstances- :: InstanceGroupsListInstances-instanceGroupsListInstances =- InstanceGroupsListInstances'- { _igliNextPageToken = Nothing- , _igliKind = "compute#instanceGroupsListInstances"- , _igliItems = Nothing- , _igliSelfLink = Nothing- , _igliId = Nothing- }---- | [Output Only] This token allows you to get the next page of results for--- list requests. If the number of results is larger than maxResults, use--- the nextPageToken as a value for the query parameter pageToken in the--- next list request. Subsequent list requests will have their own--- nextPageToken to continue paging through the results.-igliNextPageToken :: Lens' InstanceGroupsListInstances (Maybe Text)-igliNextPageToken- = lens _igliNextPageToken- (\ s a -> s{_igliNextPageToken = a})---- | [Output Only] The resource type, which is always--- compute#instanceGroupsListInstances for lists of instance groups.-igliKind :: Lens' InstanceGroupsListInstances Text-igliKind = lens _igliKind (\ s a -> s{_igliKind = a})---- | [Output Only] A list of instances and any named ports that are assigned--- to those instances.-igliItems :: Lens' InstanceGroupsListInstances [InstanceWithNamedPorts]-igliItems- = lens _igliItems (\ s a -> s{_igliItems = a}) .- _Default- . _Coerce---- | [Output Only] The URL for this list of instance groups. The server--- generates this URL.-igliSelfLink :: Lens' InstanceGroupsListInstances (Maybe Text)-igliSelfLink- = lens _igliSelfLink (\ s a -> s{_igliSelfLink = a})---- | [Output Only] A unique identifier for this list of instance groups. The--- server generates this identifier.-igliId :: Lens' InstanceGroupsListInstances (Maybe Text)-igliId = lens _igliId (\ s a -> s{_igliId = a})--instance FromJSON InstanceGroupsListInstances where- parseJSON- = withObject "InstanceGroupsListInstances"- (\ o ->- InstanceGroupsListInstances' <$>- (o .:? "nextPageToken") <*>- (o .:? "kind" .!=- "compute#instanceGroupsListInstances")- <*> (o .:? "items" .!= mempty)- <*> (o .:? "selfLink")- <*> (o .:? "id"))--instance ToJSON InstanceGroupsListInstances where- toJSON InstanceGroupsListInstances'{..}- = object- (catMaybes- [("nextPageToken" .=) <$> _igliNextPageToken,- Just ("kind" .= _igliKind),- ("items" .=) <$> _igliItems,- ("selfLink" .=) <$> _igliSelfLink,- ("id" .=) <$> _igliId])---- | Represents an Autoscaler resource. Autoscalers allow you to--- automatically scale virtual machine instances in managed instance groups--- according to an autoscaling policy that you define. For more--- information, read Autoscaling Groups of Instances.------ /See:/ 'autoscaler' smart constructor.-data Autoscaler = Autoscaler'- { _aaKind :: !Text- , _aaZone :: !(Maybe Text)- , _aaSelfLink :: !(Maybe Text)- , _aaName :: !(Maybe Text)- , _aaCreationTimestamp :: !(Maybe Text)- , _aaAutoscalingPolicy :: !(Maybe AutoscalingPolicy)- , _aaId :: !(Maybe (Textual Word64))- , _aaDescription :: !(Maybe Text)- , _aaTarget :: !(Maybe Text)- } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'Autoscaler' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'aaKind'------ * 'aaZone'------ * 'aaSelfLink'------ * 'aaName'------ * 'aaCreationTimestamp'------ * 'aaAutoscalingPolicy'------ * 'aaId'------ * 'aaDescription'------ * 'aaTarget'-autoscaler- :: Autoscaler-autoscaler =- Autoscaler'- { _aaKind = "compute#autoscaler"- , _aaZone = Nothing- , _aaSelfLink = Nothing- , _aaName = Nothing- , _aaCreationTimestamp = Nothing- , _aaAutoscalingPolicy = Nothing- , _aaId = Nothing- , _aaDescription = Nothing- , _aaTarget = Nothing- }---- | [Output Only] Type of the resource. Always compute#autoscaler for--- autoscalers.-aaKind :: Lens' Autoscaler Text-aaKind = lens _aaKind (\ s a -> s{_aaKind = a})---- | [Output Only] URL of the zone where the instance group resides.-aaZone :: Lens' Autoscaler (Maybe Text)-aaZone = lens _aaZone (\ s a -> s{_aaZone = a})---- | [Output Only] Server-defined URL for the resource.-aaSelfLink :: Lens' Autoscaler (Maybe Text)-aaSelfLink- = lens _aaSelfLink (\ s a -> s{_aaSelfLink = a})---- | Name of the resource. Provided by the client when the resource is--- created. The name must be 1-63 characters long, and comply with RFC1035.--- Specifically, the name must be 1-63 characters long and match the--- regular expression [a-z]([-a-z0-9]*[a-z0-9])? which means the first--- character must be a lowercase letter, and all following characters must--- be a dash, lowercase letter, or digit, except the last character, which--- cannot be a dash.-aaName :: Lens' Autoscaler (Maybe Text)-aaName = lens _aaName (\ s a -> s{_aaName = a})---- | [Output Only] Creation timestamp in RFC3339 text format.-aaCreationTimestamp :: Lens' Autoscaler (Maybe Text)-aaCreationTimestamp- = lens _aaCreationTimestamp- (\ s a -> s{_aaCreationTimestamp = a})---- | The configuration parameters for the autoscaling algorithm. You can--- define one or more of the policies for an autoscaler: cpuUtilization,--- customMetricUtilizations, and loadBalancingUtilization. If none of these--- are specified, the default will be to autoscale based on cpuUtilization--- to 0.8 or 80%.-aaAutoscalingPolicy :: Lens' Autoscaler (Maybe AutoscalingPolicy)-aaAutoscalingPolicy- = lens _aaAutoscalingPolicy- (\ s a -> s{_aaAutoscalingPolicy = a})---- | [Output Only] The unique identifier for the resource. This identifier is--- defined by the server.-aaId :: Lens' Autoscaler (Maybe Word64)-aaId- = lens _aaId (\ s a -> s{_aaId = a}) .- mapping _Coerce---- | An optional description of this resource. Provide this property when you--- create the resource.-aaDescription :: Lens' Autoscaler (Maybe Text)-aaDescription- = lens _aaDescription- (\ s a -> s{_aaDescription = a})---- | URL of the managed instance group that this autoscaler will scale.-aaTarget :: Lens' Autoscaler (Maybe Text)-aaTarget = lens _aaTarget (\ s a -> s{_aaTarget = a})--instance FromJSON Autoscaler where- parseJSON- = withObject "Autoscaler"- (\ o ->- Autoscaler' <$>- (o .:? "kind" .!= "compute#autoscaler") <*>- (o .:? "zone")- <*> (o .:? "selfLink")- <*> (o .:? "name")- <*> (o .:? "creationTimestamp")- <*> (o .:? "autoscalingPolicy")- <*> (o .:? "id")- <*> (o .:? "description")- <*> (o .:? "target"))--instance ToJSON Autoscaler where- toJSON Autoscaler'{..}- = object- (catMaybes- [Just ("kind" .= _aaKind), ("zone" .=) <$> _aaZone,- ("selfLink" .=) <$> _aaSelfLink,- ("name" .=) <$> _aaName,- ("creationTimestamp" .=) <$> _aaCreationTimestamp,- ("autoscalingPolicy" .=) <$> _aaAutoscalingPolicy,- ("id" .=) <$> _aaId,- ("description" .=) <$> _aaDescription,- ("target" .=) <$> _aaTarget])---- | [Output Only] Informational warning which replaces the list of disks--- when the list is empty.------ /See:/ 'disksScopedListWarning' smart constructor.-data DisksScopedListWarning = DisksScopedListWarning'- { _dslwData :: !(Maybe [DisksScopedListWarningDataItem])- , _dslwCode :: !(Maybe DisksScopedListWarningCode)- , _dslwMessage :: !(Maybe Text)- } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'DisksScopedListWarning' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'dslwData'------ * 'dslwCode'------ * 'dslwMessage'-disksScopedListWarning- :: DisksScopedListWarning-disksScopedListWarning =- DisksScopedListWarning'- { _dslwData = Nothing- , _dslwCode = Nothing- , _dslwMessage = Nothing- }---- | [Output Only] Metadata about this warning in key: value format. For--- example: \"data\": [ { \"key\": \"scope\", \"value\":--- \"zones\/us-east1-d\" }-dslwData :: Lens' DisksScopedListWarning [DisksScopedListWarningDataItem]-dslwData- = lens _dslwData (\ s a -> s{_dslwData = a}) .- _Default- . _Coerce---- | [Output Only] A warning code, if applicable. For example, Compute Engine--- returns NO_RESULTS_ON_PAGE if there are no results in the response.-dslwCode :: Lens' DisksScopedListWarning (Maybe DisksScopedListWarningCode)-dslwCode = lens _dslwCode (\ s a -> s{_dslwCode = a})---- | [Output Only] A human-readable description of the warning code.-dslwMessage :: Lens' DisksScopedListWarning (Maybe Text)-dslwMessage- = lens _dslwMessage (\ s a -> s{_dslwMessage = a})--instance FromJSON DisksScopedListWarning where- parseJSON- = withObject "DisksScopedListWarning"- (\ o ->- DisksScopedListWarning' <$>- (o .:? "data" .!= mempty) <*> (o .:? "code") <*>- (o .:? "message"))--instance ToJSON DisksScopedListWarning where- toJSON DisksScopedListWarning'{..}- = object- (catMaybes- [("data" .=) <$> _dslwData,- ("code" .=) <$> _dslwCode,- ("message" .=) <$> _dslwMessage])---- | A map of scoped target vpn gateway lists.------ /See:/ 'targetVPNGatewayAggregatedListItems' smart constructor.-newtype TargetVPNGatewayAggregatedListItems = TargetVPNGatewayAggregatedListItems'- { _tvgaliAddtional :: HashMap Text TargetVPNGatewaysScopedList- } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'TargetVPNGatewayAggregatedListItems' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'tvgaliAddtional'-targetVPNGatewayAggregatedListItems- :: HashMap Text TargetVPNGatewaysScopedList -- ^ 'tvgaliAddtional'- -> TargetVPNGatewayAggregatedListItems-targetVPNGatewayAggregatedListItems pTvgaliAddtional_ =- TargetVPNGatewayAggregatedListItems'- { _tvgaliAddtional = _Coerce # pTvgaliAddtional_- }---- | [Output Only] Name of the scope containing this set of target VPN--- gateways.-tvgaliAddtional :: Lens' TargetVPNGatewayAggregatedListItems (HashMap Text TargetVPNGatewaysScopedList)-tvgaliAddtional- = lens _tvgaliAddtional- (\ s a -> s{_tvgaliAddtional = a})- . _Coerce--instance FromJSON TargetVPNGatewayAggregatedListItems- where- parseJSON- = withObject "TargetVPNGatewayAggregatedListItems"- (\ o ->- TargetVPNGatewayAggregatedListItems' <$>- (parseJSONObject o))--instance ToJSON TargetVPNGatewayAggregatedListItems- where- toJSON = toJSON . _tvgaliAddtional---- | Informational warning which replaces the list of addresses when the list--- is empty.------ /See:/ 'targetPoolsScopedListWarning' smart constructor.-data TargetPoolsScopedListWarning = TargetPoolsScopedListWarning'- { _tpslwData :: !(Maybe [TargetPoolsScopedListWarningDataItem])- , _tpslwCode :: !(Maybe TargetPoolsScopedListWarningCode)- , _tpslwMessage :: !(Maybe Text)- } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'TargetPoolsScopedListWarning' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'tpslwData'------ * 'tpslwCode'------ * 'tpslwMessage'-targetPoolsScopedListWarning- :: TargetPoolsScopedListWarning-targetPoolsScopedListWarning =- TargetPoolsScopedListWarning'- { _tpslwData = Nothing- , _tpslwCode = Nothing- , _tpslwMessage = Nothing- }---- | [Output Only] Metadata about this warning in key: value format. For--- example: \"data\": [ { \"key\": \"scope\", \"value\":--- \"zones\/us-east1-d\" }-tpslwData :: Lens' TargetPoolsScopedListWarning [TargetPoolsScopedListWarningDataItem]-tpslwData- = lens _tpslwData (\ s a -> s{_tpslwData = a}) .- _Default- . _Coerce---- | [Output Only] A warning code, if applicable. For example, Compute Engine--- returns NO_RESULTS_ON_PAGE if there are no results in the response.-tpslwCode :: Lens' TargetPoolsScopedListWarning (Maybe TargetPoolsScopedListWarningCode)-tpslwCode- = lens _tpslwCode (\ s a -> s{_tpslwCode = a})---- | [Output Only] A human-readable description of the warning code.-tpslwMessage :: Lens' TargetPoolsScopedListWarning (Maybe Text)-tpslwMessage- = lens _tpslwMessage (\ s a -> s{_tpslwMessage = a})--instance FromJSON TargetPoolsScopedListWarning where- parseJSON- = withObject "TargetPoolsScopedListWarning"- (\ o ->- TargetPoolsScopedListWarning' <$>- (o .:? "data" .!= mempty) <*> (o .:? "code") <*>- (o .:? "message"))--instance ToJSON TargetPoolsScopedListWarning where- toJSON TargetPoolsScopedListWarning'{..}- = object- (catMaybes- [("data" .=) <$> _tpslwData,- ("code" .=) <$> _tpslwCode,- ("message" .=) <$> _tpslwMessage])------- /See:/ 'healthStatus' smart constructor.-data HealthStatus = HealthStatus'- { _hsIPAddress :: !(Maybe Text)- , _hsHealthState :: !(Maybe HealthStatusHealthState)- , _hsPort :: !(Maybe (Textual Int32))- , _hsInstance :: !(Maybe Text)- } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'HealthStatus' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'hsIPAddress'------ * 'hsHealthState'------ * 'hsPort'------ * 'hsInstance'-healthStatus- :: HealthStatus-healthStatus =- HealthStatus'- { _hsIPAddress = Nothing- , _hsHealthState = Nothing- , _hsPort = Nothing- , _hsInstance = Nothing- }---- | The IP address represented by this resource.-hsIPAddress :: Lens' HealthStatus (Maybe Text)-hsIPAddress- = lens _hsIPAddress (\ s a -> s{_hsIPAddress = a})---- | Health state of the instance.-hsHealthState :: Lens' HealthStatus (Maybe HealthStatusHealthState)-hsHealthState- = lens _hsHealthState- (\ s a -> s{_hsHealthState = a})---- | The port on the instance.-hsPort :: Lens' HealthStatus (Maybe Int32)-hsPort- = lens _hsPort (\ s a -> s{_hsPort = a}) .- mapping _Coerce---- | URL of the instance resource.-hsInstance :: Lens' HealthStatus (Maybe Text)-hsInstance- = lens _hsInstance (\ s a -> s{_hsInstance = a})--instance FromJSON HealthStatus where- parseJSON- = withObject "HealthStatus"- (\ o ->- HealthStatus' <$>- (o .:? "ipAddress") <*> (o .:? "healthState") <*>- (o .:? "port")- <*> (o .:? "instance"))--instance ToJSON HealthStatus where- toJSON HealthStatus'{..}- = object- (catMaybes- [("ipAddress" .=) <$> _hsIPAddress,- ("healthState" .=) <$> _hsHealthState,- ("port" .=) <$> _hsPort,- ("instance" .=) <$> _hsInstance])---- | Region resource.------ /See:/ 'region' smart constructor.-data Region = Region'- { _rrStatus :: !(Maybe RegionStatus)- , _rrZones :: !(Maybe [Text])- , _rrKind :: !Text- , _rrSelfLink :: !(Maybe Text)- , _rrName :: !(Maybe Text)- , _rrCreationTimestamp :: !(Maybe Text)- , _rrQuotas :: !(Maybe [Quota])- , _rrId :: !(Maybe (Textual Word64))- , _rrDescription :: !(Maybe Text)- , _rrDeprecated :: !(Maybe DeprecationStatus)- } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'Region' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'rrStatus'------ * 'rrZones'------ * 'rrKind'------ * 'rrSelfLink'------ * 'rrName'------ * 'rrCreationTimestamp'------ * 'rrQuotas'------ * 'rrId'------ * 'rrDescription'------ * 'rrDeprecated'-region- :: Region-region =- Region'- { _rrStatus = Nothing- , _rrZones = Nothing- , _rrKind = "compute#region"- , _rrSelfLink = Nothing- , _rrName = Nothing- , _rrCreationTimestamp = Nothing- , _rrQuotas = Nothing- , _rrId = Nothing- , _rrDescription = Nothing- , _rrDeprecated = Nothing- }---- | [Output Only] Status of the region, either UP or DOWN.-rrStatus :: Lens' Region (Maybe RegionStatus)-rrStatus = lens _rrStatus (\ s a -> s{_rrStatus = a})---- | [Output Only] A list of zones available in this region, in the form of--- resource URLs.-rrZones :: Lens' Region [Text]-rrZones- = lens _rrZones (\ s a -> s{_rrZones = a}) . _Default- . _Coerce---- | [Output Only] Type of the resource. Always compute#region for regions.-rrKind :: Lens' Region Text-rrKind = lens _rrKind (\ s a -> s{_rrKind = a})---- | [Output Only] Server-defined URL for the resource.-rrSelfLink :: Lens' Region (Maybe Text)-rrSelfLink- = lens _rrSelfLink (\ s a -> s{_rrSelfLink = a})---- | [Output Only] Name of the resource.-rrName :: Lens' Region (Maybe Text)-rrName = lens _rrName (\ s a -> s{_rrName = a})---- | [Output Only] Creation timestamp in RFC3339 text format.-rrCreationTimestamp :: Lens' Region (Maybe Text)-rrCreationTimestamp- = lens _rrCreationTimestamp- (\ s a -> s{_rrCreationTimestamp = a})---- | [Output Only] Quotas assigned to this region.-rrQuotas :: Lens' Region [Quota]-rrQuotas- = lens _rrQuotas (\ s a -> s{_rrQuotas = a}) .- _Default- . _Coerce---- | [Output Only] The unique identifier for the resource. This identifier is--- defined by the server.-rrId :: Lens' Region (Maybe Word64)-rrId- = lens _rrId (\ s a -> s{_rrId = a}) .- mapping _Coerce---- | [Output Only] Textual description of the resource.-rrDescription :: Lens' Region (Maybe Text)-rrDescription- = lens _rrDescription- (\ s a -> s{_rrDescription = a})---- | [Output Only] The deprecation status associated with this region.-rrDeprecated :: Lens' Region (Maybe DeprecationStatus)-rrDeprecated- = lens _rrDeprecated (\ s a -> s{_rrDeprecated = a})--instance FromJSON Region where- parseJSON- = withObject "Region"- (\ o ->- Region' <$>- (o .:? "status") <*> (o .:? "zones" .!= mempty) <*>- (o .:? "kind" .!= "compute#region")- <*> (o .:? "selfLink")- <*> (o .:? "name")- <*> (o .:? "creationTimestamp")- <*> (o .:? "quotas" .!= mempty)- <*> (o .:? "id")- <*> (o .:? "description")- <*> (o .:? "deprecated"))--instance ToJSON Region where- toJSON Region'{..}- = object- (catMaybes- [("status" .=) <$> _rrStatus,- ("zones" .=) <$> _rrZones, Just ("kind" .= _rrKind),- ("selfLink" .=) <$> _rrSelfLink,- ("name" .=) <$> _rrName,- ("creationTimestamp" .=) <$> _rrCreationTimestamp,- ("quotas" .=) <$> _rrQuotas, ("id" .=) <$> _rrId,- ("description" .=) <$> _rrDescription,- ("deprecated" .=) <$> _rrDeprecated])------- /See:/ 'vpnTunnel' smart constructor.-data VPNTunnel = VPNTunnel'- { _vtDetailedStatus :: !(Maybe Text)- , _vtStatus :: !(Maybe VPNTunnelStatus)- , _vtLocalTrafficSelector :: !(Maybe [Text])- , _vtKind :: !Text- , _vtPeerIP :: !(Maybe Text)- , _vtTargetVPNGateway :: !(Maybe Text)- , _vtSelfLink :: !(Maybe Text)- , _vtSharedSecret :: !(Maybe Text)- , _vtName :: !(Maybe Text)- , _vtCreationTimestamp :: !(Maybe Text)- , _vtSharedSecretHash :: !(Maybe Text)- , _vtId :: !(Maybe (Textual Word64))- , _vtIkeVersion :: !(Maybe (Textual Int32))- , _vtRegion :: !(Maybe Text)- , _vtDescription :: !(Maybe Text)- } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'VPNTunnel' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'vtDetailedStatus'------ * 'vtStatus'------ * 'vtLocalTrafficSelector'------ * 'vtKind'------ * 'vtPeerIP'------ * 'vtTargetVPNGateway'------ * 'vtSelfLink'------ * 'vtSharedSecret'------ * 'vtName'------ * 'vtCreationTimestamp'------ * 'vtSharedSecretHash'------ * 'vtId'------ * 'vtIkeVersion'------ * 'vtRegion'------ * 'vtDescription'-vpnTunnel- :: VPNTunnel-vpnTunnel =- VPNTunnel'- { _vtDetailedStatus = Nothing- , _vtStatus = Nothing- , _vtLocalTrafficSelector = Nothing- , _vtKind = "compute#vpnTunnel"- , _vtPeerIP = Nothing- , _vtTargetVPNGateway = Nothing- , _vtSelfLink = Nothing- , _vtSharedSecret = Nothing- , _vtName = Nothing- , _vtCreationTimestamp = Nothing- , _vtSharedSecretHash = Nothing- , _vtId = Nothing- , _vtIkeVersion = Nothing- , _vtRegion = Nothing- , _vtDescription = Nothing- }---- | [Output Only] Detailed status message for the VPN tunnel.-vtDetailedStatus :: Lens' VPNTunnel (Maybe Text)-vtDetailedStatus- = lens _vtDetailedStatus- (\ s a -> s{_vtDetailedStatus = a})---- | [Output Only] The status of the VPN tunnel.-vtStatus :: Lens' VPNTunnel (Maybe VPNTunnelStatus)-vtStatus = lens _vtStatus (\ s a -> s{_vtStatus = a})---- | Local traffic selector to use when establishing the VPN tunnel with peer--- VPN gateway. The value should be a CIDR formatted string, for example:--- 192.168.0.0\/16. The ranges should be disjoint.-vtLocalTrafficSelector :: Lens' VPNTunnel [Text]-vtLocalTrafficSelector- = lens _vtLocalTrafficSelector- (\ s a -> s{_vtLocalTrafficSelector = a})- . _Default- . _Coerce---- | [Output Only] Type of resource. Always compute#vpnTunnel for VPN--- tunnels.-vtKind :: Lens' VPNTunnel Text-vtKind = lens _vtKind (\ s a -> s{_vtKind = a})---- | IP address of the peer VPN gateway.-vtPeerIP :: Lens' VPNTunnel (Maybe Text)-vtPeerIP = lens _vtPeerIP (\ s a -> s{_vtPeerIP = a})---- | URL of the VPN gateway with which this VPN tunnel is associated.--- Provided by the client when the VPN tunnel is created.-vtTargetVPNGateway :: Lens' VPNTunnel (Maybe Text)-vtTargetVPNGateway- = lens _vtTargetVPNGateway- (\ s a -> s{_vtTargetVPNGateway = a})---- | [Output Only] Server-defined URL for the resource.-vtSelfLink :: Lens' VPNTunnel (Maybe Text)-vtSelfLink- = lens _vtSelfLink (\ s a -> s{_vtSelfLink = a})---- | Shared secret used to set the secure session between the Cloud VPN--- gateway and the peer VPN gateway.-vtSharedSecret :: Lens' VPNTunnel (Maybe Text)-vtSharedSecret- = lens _vtSharedSecret- (\ s a -> s{_vtSharedSecret = a})---- | Name of the resource. Provided by the client when the resource is--- created. The name must be 1-63 characters long, and comply with RFC1035.--- Specifically, the name must be 1-63 characters long and match the--- regular expression [a-z]([-a-z0-9]*[a-z0-9])? which means the first--- character must be a lowercase letter, and all following characters must--- be a dash, lowercase letter, or digit, except the last character, which--- cannot be a dash.-vtName :: Lens' VPNTunnel (Maybe Text)-vtName = lens _vtName (\ s a -> s{_vtName = a})---- | [Output Only] Creation timestamp in RFC3339 text format.-vtCreationTimestamp :: Lens' VPNTunnel (Maybe Text)-vtCreationTimestamp- = lens _vtCreationTimestamp- (\ s a -> s{_vtCreationTimestamp = a})---- | Hash of the shared secret.-vtSharedSecretHash :: Lens' VPNTunnel (Maybe Text)-vtSharedSecretHash- = lens _vtSharedSecretHash- (\ s a -> s{_vtSharedSecretHash = a})---- | [Output Only] The unique identifier for the resource. This identifier is--- defined by the server.-vtId :: Lens' VPNTunnel (Maybe Word64)-vtId- = lens _vtId (\ s a -> s{_vtId = a}) .- mapping _Coerce---- | IKE protocol version to use when establishing the VPN tunnel with peer--- VPN gateway. Acceptable IKE versions are 1 or 2. Default version is 2.-vtIkeVersion :: Lens' VPNTunnel (Maybe Int32)-vtIkeVersion- = lens _vtIkeVersion (\ s a -> s{_vtIkeVersion = a})- . mapping _Coerce---- | [Output Only] URL of the region where the VPN tunnel resides.-vtRegion :: Lens' VPNTunnel (Maybe Text)-vtRegion = lens _vtRegion (\ s a -> s{_vtRegion = a})---- | An optional description of this resource. Provide this property when you--- create the resource.-vtDescription :: Lens' VPNTunnel (Maybe Text)-vtDescription- = lens _vtDescription- (\ s a -> s{_vtDescription = a})--instance FromJSON VPNTunnel where- parseJSON- = withObject "VPNTunnel"- (\ o ->- VPNTunnel' <$>- (o .:? "detailedStatus") <*> (o .:? "status") <*>- (o .:? "localTrafficSelector" .!= mempty)- <*> (o .:? "kind" .!= "compute#vpnTunnel")- <*> (o .:? "peerIp")- <*> (o .:? "targetVpnGateway")- <*> (o .:? "selfLink")- <*> (o .:? "sharedSecret")- <*> (o .:? "name")- <*> (o .:? "creationTimestamp")- <*> (o .:? "sharedSecretHash")- <*> (o .:? "id")- <*> (o .:? "ikeVersion")- <*> (o .:? "region")- <*> (o .:? "description"))--instance ToJSON VPNTunnel where- toJSON VPNTunnel'{..}- = object- (catMaybes- [("detailedStatus" .=) <$> _vtDetailedStatus,- ("status" .=) <$> _vtStatus,- ("localTrafficSelector" .=) <$>- _vtLocalTrafficSelector,- Just ("kind" .= _vtKind),- ("peerIp" .=) <$> _vtPeerIP,- ("targetVpnGateway" .=) <$> _vtTargetVPNGateway,- ("selfLink" .=) <$> _vtSelfLink,- ("sharedSecret" .=) <$> _vtSharedSecret,- ("name" .=) <$> _vtName,- ("creationTimestamp" .=) <$> _vtCreationTimestamp,- ("sharedSecretHash" .=) <$> _vtSharedSecretHash,- ("id" .=) <$> _vtId,- ("ikeVersion" .=) <$> _vtIkeVersion,- ("region" .=) <$> _vtRegion,- ("description" .=) <$> _vtDescription])---- | [Output Only] Informational warning which replaces the list of--- operations when the list is empty.------ /See:/ 'operationsScopedListWarning' smart constructor.-data OperationsScopedListWarning = OperationsScopedListWarning'- { _oslwData :: !(Maybe [OperationsScopedListWarningDataItem])- , _oslwCode :: !(Maybe OperationsScopedListWarningCode)- , _oslwMessage :: !(Maybe Text)- } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'OperationsScopedListWarning' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'oslwData'------ * 'oslwCode'------ * 'oslwMessage'-operationsScopedListWarning- :: OperationsScopedListWarning-operationsScopedListWarning =- OperationsScopedListWarning'- { _oslwData = Nothing- , _oslwCode = Nothing- , _oslwMessage = Nothing- }---- | [Output Only] Metadata about this warning in key: value format. For--- example: \"data\": [ { \"key\": \"scope\", \"value\":--- \"zones\/us-east1-d\" }-oslwData :: Lens' OperationsScopedListWarning [OperationsScopedListWarningDataItem]-oslwData- = lens _oslwData (\ s a -> s{_oslwData = a}) .- _Default- . _Coerce---- | [Output Only] A warning code, if applicable. For example, Compute Engine--- returns NO_RESULTS_ON_PAGE if there are no results in the response.-oslwCode :: Lens' OperationsScopedListWarning (Maybe OperationsScopedListWarningCode)-oslwCode = lens _oslwCode (\ s a -> s{_oslwCode = a})---- | [Output Only] A human-readable description of the warning code.-oslwMessage :: Lens' OperationsScopedListWarning (Maybe Text)-oslwMessage- = lens _oslwMessage (\ s a -> s{_oslwMessage = a})--instance FromJSON OperationsScopedListWarning where- parseJSON- = withObject "OperationsScopedListWarning"- (\ o ->- OperationsScopedListWarning' <$>- (o .:? "data" .!= mempty) <*> (o .:? "code") <*>- (o .:? "message"))--instance ToJSON OperationsScopedListWarning where- toJSON OperationsScopedListWarning'{..}- = object- (catMaybes- [("data" .=) <$> _oslwData,- ("code" .=) <$> _oslwCode,- ("message" .=) <$> _oslwMessage])---- | Sets the scheduling options for an Instance.------ /See:/ 'scheduling' smart constructor.-data Scheduling = Scheduling'- { _sAutomaticRestart :: !(Maybe Bool)- , _sOnHostMaintenance :: !(Maybe SchedulingOnHostMaintenance)- , _sPreemptible :: !(Maybe Bool)- } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'Scheduling' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'sAutomaticRestart'------ * 'sOnHostMaintenance'------ * 'sPreemptible'-scheduling- :: Scheduling-scheduling =- Scheduling'- { _sAutomaticRestart = Nothing- , _sOnHostMaintenance = Nothing- , _sPreemptible = Nothing- }---- | Specifies whether the instance should be automatically restarted if it--- is terminated by Compute Engine (not terminated by a user). You can only--- set the automatic restart option for standard instances. Preemptible--- instances cannot be automatically restarted.-sAutomaticRestart :: Lens' Scheduling (Maybe Bool)-sAutomaticRestart- = lens _sAutomaticRestart- (\ s a -> s{_sAutomaticRestart = a})---- | Defines the maintenance behavior for this instance. For standard--- instances, the default behavior is MIGRATE. For preemptible instances,--- the default and only possible behavior is TERMINATE. For more--- information, see Setting Instance Scheduling Options.-sOnHostMaintenance :: Lens' Scheduling (Maybe SchedulingOnHostMaintenance)-sOnHostMaintenance- = lens _sOnHostMaintenance- (\ s a -> s{_sOnHostMaintenance = a})---- | Whether the instance is preemptible.-sPreemptible :: Lens' Scheduling (Maybe Bool)-sPreemptible- = lens _sPreemptible (\ s a -> s{_sPreemptible = a})--instance FromJSON Scheduling where- parseJSON- = withObject "Scheduling"- (\ o ->- Scheduling' <$>- (o .:? "automaticRestart") <*>- (o .:? "onHostMaintenance")- <*> (o .:? "preemptible"))--instance ToJSON Scheduling where- toJSON Scheduling'{..}- = object- (catMaybes- [("automaticRestart" .=) <$> _sAutomaticRestart,- ("onHostMaintenance" .=) <$> _sOnHostMaintenance,- ("preemptible" .=) <$> _sPreemptible])------- /See:/ 'vpnTunnelsScopedListWarningDataItem' smart constructor.-data VPNTunnelsScopedListWarningDataItem = VPNTunnelsScopedListWarningDataItem'- { _vtslwdiValue :: !(Maybe Text)- , _vtslwdiKey :: !(Maybe Text)- } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'VPNTunnelsScopedListWarningDataItem' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'vtslwdiValue'------ * 'vtslwdiKey'-vpnTunnelsScopedListWarningDataItem- :: VPNTunnelsScopedListWarningDataItem-vpnTunnelsScopedListWarningDataItem =- VPNTunnelsScopedListWarningDataItem'- { _vtslwdiValue = Nothing- , _vtslwdiKey = Nothing- }---- | [Output Only] A warning data value corresponding to the key.-vtslwdiValue :: Lens' VPNTunnelsScopedListWarningDataItem (Maybe Text)-vtslwdiValue- = lens _vtslwdiValue (\ s a -> s{_vtslwdiValue = a})---- | [Output Only] A key that provides more detail on the warning being--- returned. For example, for warnings where there are no results in a list--- request for a particular zone, this key might be scope and the key value--- might be the zone name. Other examples might be a key indicating a--- deprecated resource and a suggested replacement, or a warning about--- invalid network settings (for example, if an instance attempts to--- perform IP forwarding but is not enabled for IP forwarding).-vtslwdiKey :: Lens' VPNTunnelsScopedListWarningDataItem (Maybe Text)-vtslwdiKey- = lens _vtslwdiKey (\ s a -> s{_vtslwdiKey = a})--instance FromJSON VPNTunnelsScopedListWarningDataItem- where- parseJSON- = withObject "VPNTunnelsScopedListWarningDataItem"- (\ o ->- VPNTunnelsScopedListWarningDataItem' <$>- (o .:? "value") <*> (o .:? "key"))--instance ToJSON VPNTunnelsScopedListWarningDataItem- where- toJSON VPNTunnelsScopedListWarningDataItem'{..}- = object- (catMaybes- [("value" .=) <$> _vtslwdiValue,- ("key" .=) <$> _vtslwdiKey])---- | Contains a list of Subnetwork resources.------ /See:/ 'subnetworkList' smart constructor.-data SubnetworkList = SubnetworkList'- { _slNextPageToken :: !(Maybe Text)- , _slKind :: !Text- , _slItems :: !(Maybe [Subnetwork])- , _slSelfLink :: !(Maybe Text)- , _slId :: !(Maybe Text)- } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'SubnetworkList' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'slNextPageToken'------ * 'slKind'------ * 'slItems'------ * 'slSelfLink'------ * 'slId'-subnetworkList- :: SubnetworkList-subnetworkList =- SubnetworkList'- { _slNextPageToken = Nothing- , _slKind = "compute#subnetworkList"- , _slItems = Nothing- , _slSelfLink = Nothing- , _slId = Nothing- }---- | [Output Only] This token allows you to get the next page of results for--- list requests. If the number of results is larger than maxResults, use--- the nextPageToken as a value for the query parameter pageToken in the--- next list request. Subsequent list requests will have their own--- nextPageToken to continue paging through the results.-slNextPageToken :: Lens' SubnetworkList (Maybe Text)-slNextPageToken- = lens _slNextPageToken- (\ s a -> s{_slNextPageToken = a})---- | [Output Only] Type of resource. Always compute#subnetworkList for lists--- of subnetworks.-slKind :: Lens' SubnetworkList Text-slKind = lens _slKind (\ s a -> s{_slKind = a})---- | The Subnetwork resources.-slItems :: Lens' SubnetworkList [Subnetwork]-slItems- = lens _slItems (\ s a -> s{_slItems = a}) . _Default- . _Coerce---- | [Output Only] Server-defined URL for this resource.-slSelfLink :: Lens' SubnetworkList (Maybe Text)-slSelfLink- = lens _slSelfLink (\ s a -> s{_slSelfLink = a})---- | [Output Only] The unique identifier for the resource. This identifier is--- defined by the server.-slId :: Lens' SubnetworkList (Maybe Text)-slId = lens _slId (\ s a -> s{_slId = a})--instance FromJSON SubnetworkList where- parseJSON- = withObject "SubnetworkList"- (\ o ->- SubnetworkList' <$>- (o .:? "nextPageToken") <*>- (o .:? "kind" .!= "compute#subnetworkList")- <*> (o .:? "items" .!= mempty)- <*> (o .:? "selfLink")- <*> (o .:? "id"))--instance ToJSON SubnetworkList where- toJSON SubnetworkList'{..}- = object- (catMaybes- [("nextPageToken" .=) <$> _slNextPageToken,- Just ("kind" .= _slKind), ("items" .=) <$> _slItems,- ("selfLink" .=) <$> _slSelfLink,- ("id" .=) <$> _slId])---- | Informational warning which replaces the list of forwarding rules when--- the list is empty.------ /See:/ 'forwardingRulesScopedListWarning' smart constructor.-data ForwardingRulesScopedListWarning = ForwardingRulesScopedListWarning'- { _frslwData :: !(Maybe [ForwardingRulesScopedListWarningDataItem])- , _frslwCode :: !(Maybe ForwardingRulesScopedListWarningCode)- , _frslwMessage :: !(Maybe Text)- } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'ForwardingRulesScopedListWarning' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'frslwData'------ * 'frslwCode'------ * 'frslwMessage'-forwardingRulesScopedListWarning- :: ForwardingRulesScopedListWarning-forwardingRulesScopedListWarning =- ForwardingRulesScopedListWarning'- { _frslwData = Nothing- , _frslwCode = Nothing- , _frslwMessage = Nothing- }---- | [Output Only] Metadata about this warning in key: value format. For--- example: \"data\": [ { \"key\": \"scope\", \"value\":--- \"zones\/us-east1-d\" }-frslwData :: Lens' ForwardingRulesScopedListWarning [ForwardingRulesScopedListWarningDataItem]-frslwData- = lens _frslwData (\ s a -> s{_frslwData = a}) .- _Default- . _Coerce---- | [Output Only] A warning code, if applicable. For example, Compute Engine--- returns NO_RESULTS_ON_PAGE if there are no results in the response.-frslwCode :: Lens' ForwardingRulesScopedListWarning (Maybe ForwardingRulesScopedListWarningCode)-frslwCode- = lens _frslwCode (\ s a -> s{_frslwCode = a})---- | [Output Only] A human-readable description of the warning code.-frslwMessage :: Lens' ForwardingRulesScopedListWarning (Maybe Text)-frslwMessage- = lens _frslwMessage (\ s a -> s{_frslwMessage = a})--instance FromJSON ForwardingRulesScopedListWarning- where- parseJSON- = withObject "ForwardingRulesScopedListWarning"- (\ o ->- ForwardingRulesScopedListWarning' <$>- (o .:? "data" .!= mempty) <*> (o .:? "code") <*>- (o .:? "message"))--instance ToJSON ForwardingRulesScopedListWarning- where- toJSON ForwardingRulesScopedListWarning'{..}- = object- (catMaybes- [("data" .=) <$> _frslwData,- ("code" .=) <$> _frslwCode,- ("message" .=) <$> _frslwMessage])---- | Contains a list of HttpHealthCheck resources.------ /See:/ 'hTTPHealthCheckList' smart constructor.-data HTTPHealthCheckList = HTTPHealthCheckList'- { _httphclNextPageToken :: !(Maybe Text)- , _httphclKind :: !Text- , _httphclItems :: !(Maybe [HTTPHealthCheck])- , _httphclSelfLink :: !(Maybe Text)- , _httphclId :: !(Maybe Text)- } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'HTTPHealthCheckList' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'httphclNextPageToken'------ * 'httphclKind'------ * 'httphclItems'------ * 'httphclSelfLink'------ * 'httphclId'-hTTPHealthCheckList- :: HTTPHealthCheckList-hTTPHealthCheckList =- HTTPHealthCheckList'- { _httphclNextPageToken = Nothing- , _httphclKind = "compute#httpHealthCheckList"- , _httphclItems = Nothing- , _httphclSelfLink = Nothing- , _httphclId = Nothing- }---- | [Output Only] This token allows you to get the next page of results for--- list requests. If the number of results is larger than maxResults, use--- the nextPageToken as a value for the query parameter pageToken in the--- next list request. Subsequent list requests will have their own--- nextPageToken to continue paging through the results.-httphclNextPageToken :: Lens' HTTPHealthCheckList (Maybe Text)-httphclNextPageToken- = lens _httphclNextPageToken- (\ s a -> s{_httphclNextPageToken = a})---- | Type of resource.-httphclKind :: Lens' HTTPHealthCheckList Text-httphclKind- = lens _httphclKind (\ s a -> s{_httphclKind = a})---- | A list of HttpHealthCheck resources.-httphclItems :: Lens' HTTPHealthCheckList [HTTPHealthCheck]-httphclItems- = lens _httphclItems (\ s a -> s{_httphclItems = a})- . _Default- . _Coerce---- | [Output Only] Server-defined URL for this resource.-httphclSelfLink :: Lens' HTTPHealthCheckList (Maybe Text)-httphclSelfLink- = lens _httphclSelfLink- (\ s a -> s{_httphclSelfLink = a})---- | [Output Only] Unique identifier for the resource. Defined by the server.-httphclId :: Lens' HTTPHealthCheckList (Maybe Text)-httphclId- = lens _httphclId (\ s a -> s{_httphclId = a})--instance FromJSON HTTPHealthCheckList where- parseJSON- = withObject "HTTPHealthCheckList"- (\ o ->- HTTPHealthCheckList' <$>- (o .:? "nextPageToken") <*>- (o .:? "kind" .!= "compute#httpHealthCheckList")- <*> (o .:? "items" .!= mempty)- <*> (o .:? "selfLink")- <*> (o .:? "id"))--instance ToJSON HTTPHealthCheckList where- toJSON HTTPHealthCheckList'{..}- = object- (catMaybes- [("nextPageToken" .=) <$> _httphclNextPageToken,- Just ("kind" .= _httphclKind),- ("items" .=) <$> _httphclItems,- ("selfLink" .=) <$> _httphclSelfLink,- ("id" .=) <$> _httphclId])---- | [Output Only] The warning that replaces the list of managed instance--- groups when the list is empty.------ /See:/ 'instanceGroupManagersScopedListWarning' smart constructor.-data InstanceGroupManagersScopedListWarning = InstanceGroupManagersScopedListWarning'- { _igmslwData :: !(Maybe [InstanceGroupManagersScopedListWarningDataItem])- , _igmslwCode :: !(Maybe InstanceGroupManagersScopedListWarningCode)- , _igmslwMessage :: !(Maybe Text)- } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'InstanceGroupManagersScopedListWarning' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'igmslwData'------ * 'igmslwCode'------ * 'igmslwMessage'-instanceGroupManagersScopedListWarning- :: InstanceGroupManagersScopedListWarning-instanceGroupManagersScopedListWarning =- InstanceGroupManagersScopedListWarning'- { _igmslwData = Nothing- , _igmslwCode = Nothing- , _igmslwMessage = Nothing- }---- | [Output Only] Metadata about this warning in key: value format. For--- example: \"data\": [ { \"key\": \"scope\", \"value\":--- \"zones\/us-east1-d\" }-igmslwData :: Lens' InstanceGroupManagersScopedListWarning [InstanceGroupManagersScopedListWarningDataItem]-igmslwData- = lens _igmslwData (\ s a -> s{_igmslwData = a}) .- _Default- . _Coerce---- | [Output Only] A warning code, if applicable. For example, Compute Engine--- returns NO_RESULTS_ON_PAGE if there are no results in the response.-igmslwCode :: Lens' InstanceGroupManagersScopedListWarning (Maybe InstanceGroupManagersScopedListWarningCode)-igmslwCode- = lens _igmslwCode (\ s a -> s{_igmslwCode = a})---- | [Output Only] A human-readable description of the warning code.-igmslwMessage :: Lens' InstanceGroupManagersScopedListWarning (Maybe Text)-igmslwMessage- = lens _igmslwMessage- (\ s a -> s{_igmslwMessage = a})--instance FromJSON- InstanceGroupManagersScopedListWarning where- parseJSON- = withObject "InstanceGroupManagersScopedListWarning"- (\ o ->- InstanceGroupManagersScopedListWarning' <$>- (o .:? "data" .!= mempty) <*> (o .:? "code") <*>- (o .:? "message"))--instance ToJSON- InstanceGroupManagersScopedListWarning where- toJSON InstanceGroupManagersScopedListWarning'{..}- = object- (catMaybes- [("data" .=) <$> _igmslwData,- ("code" .=) <$> _igmslwCode,- ("message" .=) <$> _igmslwMessage])------- /See:/ 'urlMapsValidateRequest' smart constructor.-newtype URLMapsValidateRequest = URLMapsValidateRequest'- { _umvrResource :: Maybe URLMap- } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'URLMapsValidateRequest' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'umvrResource'-urlMapsValidateRequest- :: URLMapsValidateRequest-urlMapsValidateRequest =- URLMapsValidateRequest'- { _umvrResource = Nothing- }---- | Content of the UrlMap to be validated.-umvrResource :: Lens' URLMapsValidateRequest (Maybe URLMap)-umvrResource- = lens _umvrResource (\ s a -> s{_umvrResource = a})--instance FromJSON URLMapsValidateRequest where- parseJSON- = withObject "URLMapsValidateRequest"- (\ o ->- URLMapsValidateRequest' <$> (o .:? "resource"))--instance ToJSON URLMapsValidateRequest where- toJSON URLMapsValidateRequest'{..}- = object- (catMaybes [("resource" .=) <$> _umvrResource])------- /See:/ 'instanceGroupManagersSetTargetPoolsRequest' smart constructor.-data InstanceGroupManagersSetTargetPoolsRequest = InstanceGroupManagersSetTargetPoolsRequest'- { _igmstprFingerprint :: !(Maybe Base64)- , _igmstprTargetPools :: !(Maybe [Text])- } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'InstanceGroupManagersSetTargetPoolsRequest' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'igmstprFingerprint'------ * 'igmstprTargetPools'-instanceGroupManagersSetTargetPoolsRequest- :: InstanceGroupManagersSetTargetPoolsRequest-instanceGroupManagersSetTargetPoolsRequest =- InstanceGroupManagersSetTargetPoolsRequest'- { _igmstprFingerprint = Nothing- , _igmstprTargetPools = Nothing- }---- | The fingerprint of the target pools information. Use this optional--- property to prevent conflicts when multiple users change the target--- pools settings concurrently. Obtain the fingerprint with the--- instanceGroupManagers.get method. Then, include the fingerprint in your--- request to ensure that you do not overwrite changes that were applied--- from another concurrent request.-igmstprFingerprint :: Lens' InstanceGroupManagersSetTargetPoolsRequest (Maybe ByteString)-igmstprFingerprint- = lens _igmstprFingerprint- (\ s a -> s{_igmstprFingerprint = a})- . mapping _Base64---- | The list of target pool URLs that instances in this managed instance--- group belong to. The managed instance group applies these target pools--- to all of the instances in the group. Existing instances and new--- instances in the group all receive these target pool settings.-igmstprTargetPools :: Lens' InstanceGroupManagersSetTargetPoolsRequest [Text]-igmstprTargetPools- = lens _igmstprTargetPools- (\ s a -> s{_igmstprTargetPools = a})- . _Default- . _Coerce--instance FromJSON- InstanceGroupManagersSetTargetPoolsRequest where- parseJSON- = withObject- "InstanceGroupManagersSetTargetPoolsRequest"- (\ o ->- InstanceGroupManagersSetTargetPoolsRequest' <$>- (o .:? "fingerprint") <*>- (o .:? "targetPools" .!= mempty))--instance ToJSON- InstanceGroupManagersSetTargetPoolsRequest where- toJSON- InstanceGroupManagersSetTargetPoolsRequest'{..}- = object- (catMaybes- [("fingerprint" .=) <$> _igmstprFingerprint,- ("targetPools" .=) <$> _igmstprTargetPools])---- | Contains a list of HttpsHealthCheck resources.------ /See:/ 'httpsHealthCheckList' smart constructor.-data HTTPSHealthCheckList = HTTPSHealthCheckList'- { _hhclNextPageToken :: !(Maybe Text)- , _hhclKind :: !Text- , _hhclItems :: !(Maybe [HTTPSHealthCheck])- , _hhclSelfLink :: !(Maybe Text)- , _hhclId :: !(Maybe Text)- } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'HTTPSHealthCheckList' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'hhclNextPageToken'------ * 'hhclKind'------ * 'hhclItems'------ * 'hhclSelfLink'------ * 'hhclId'-httpsHealthCheckList- :: HTTPSHealthCheckList-httpsHealthCheckList =- HTTPSHealthCheckList'- { _hhclNextPageToken = Nothing- , _hhclKind = "compute#httpsHealthCheckList"- , _hhclItems = Nothing- , _hhclSelfLink = Nothing- , _hhclId = Nothing- }---- | [Output Only] This token allows you to get the next page of results for--- list requests. If the number of results is larger than maxResults, use--- the nextPageToken as a value for the query parameter pageToken in the--- next list request. Subsequent list requests will have their own--- nextPageToken to continue paging through the results.-hhclNextPageToken :: Lens' HTTPSHealthCheckList (Maybe Text)-hhclNextPageToken- = lens _hhclNextPageToken- (\ s a -> s{_hhclNextPageToken = a})---- | Type of resource.-hhclKind :: Lens' HTTPSHealthCheckList Text-hhclKind = lens _hhclKind (\ s a -> s{_hhclKind = a})---- | A list of HttpsHealthCheck resources.-hhclItems :: Lens' HTTPSHealthCheckList [HTTPSHealthCheck]-hhclItems- = lens _hhclItems (\ s a -> s{_hhclItems = a}) .- _Default- . _Coerce---- | [Output Only] Server-defined URL for this resource.-hhclSelfLink :: Lens' HTTPSHealthCheckList (Maybe Text)-hhclSelfLink- = lens _hhclSelfLink (\ s a -> s{_hhclSelfLink = a})---- | [Output Only] Unique identifier for the resource; defined by the server.-hhclId :: Lens' HTTPSHealthCheckList (Maybe Text)-hhclId = lens _hhclId (\ s a -> s{_hhclId = a})--instance FromJSON HTTPSHealthCheckList where- parseJSON- = withObject "HTTPSHealthCheckList"- (\ o ->- HTTPSHealthCheckList' <$>- (o .:? "nextPageToken") <*>- (o .:? "kind" .!= "compute#httpsHealthCheckList")- <*> (o .:? "items" .!= mempty)- <*> (o .:? "selfLink")- <*> (o .:? "id"))--instance ToJSON HTTPSHealthCheckList where- toJSON HTTPSHealthCheckList'{..}- = object- (catMaybes- [("nextPageToken" .=) <$> _hhclNextPageToken,- Just ("kind" .= _hhclKind),- ("items" .=) <$> _hhclItems,- ("selfLink" .=) <$> _hhclSelfLink,- ("id" .=) <$> _hhclId])------- /See:/ 'operationErrorErrorsItem' smart constructor.-data OperationErrorErrorsItem = OperationErrorErrorsItem'- { _oeeiLocation :: !(Maybe Text)- , _oeeiCode :: !(Maybe Text)- , _oeeiMessage :: !(Maybe Text)- } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'OperationErrorErrorsItem' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'oeeiLocation'------ * 'oeeiCode'------ * 'oeeiMessage'-operationErrorErrorsItem- :: OperationErrorErrorsItem-operationErrorErrorsItem =- OperationErrorErrorsItem'- { _oeeiLocation = Nothing- , _oeeiCode = Nothing- , _oeeiMessage = Nothing- }---- | [Output Only] Indicates the field in the request that caused the error.--- This property is optional.-oeeiLocation :: Lens' OperationErrorErrorsItem (Maybe Text)-oeeiLocation- = lens _oeeiLocation (\ s a -> s{_oeeiLocation = a})---- | [Output Only] The error type identifier for this error.-oeeiCode :: Lens' OperationErrorErrorsItem (Maybe Text)-oeeiCode = lens _oeeiCode (\ s a -> s{_oeeiCode = a})---- | [Output Only] An optional, human-readable error message.-oeeiMessage :: Lens' OperationErrorErrorsItem (Maybe Text)-oeeiMessage- = lens _oeeiMessage (\ s a -> s{_oeeiMessage = a})--instance FromJSON OperationErrorErrorsItem where- parseJSON- = withObject "OperationErrorErrorsItem"- (\ o ->- OperationErrorErrorsItem' <$>- (o .:? "location") <*> (o .:? "code") <*>- (o .:? "message"))--instance ToJSON OperationErrorErrorsItem where- toJSON OperationErrorErrorsItem'{..}- = object- (catMaybes- [("location" .=) <$> _oeeiLocation,- ("code" .=) <$> _oeeiCode,- ("message" .=) <$> _oeeiMessage])---- | A license resource.------ /See:/ 'license' smart constructor.-data License = License'- { _lChargesUseFee :: !(Maybe Bool)- , _lKind :: !Text- , _lSelfLink :: !(Maybe Text)- , _lName :: !(Maybe Text)- } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'License' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'lChargesUseFee'------ * 'lKind'------ * 'lSelfLink'------ * 'lName'-license- :: License-license =- License'- { _lChargesUseFee = Nothing- , _lKind = "compute#license"- , _lSelfLink = Nothing- , _lName = Nothing- }---- | [Output Only] If true, the customer will be charged license fee for--- running software that contains this license on an instance.-lChargesUseFee :: Lens' License (Maybe Bool)-lChargesUseFee- = lens _lChargesUseFee- (\ s a -> s{_lChargesUseFee = a})---- | [Output Only] Type of resource. Always compute#license for licenses.-lKind :: Lens' License Text-lKind = lens _lKind (\ s a -> s{_lKind = a})---- | [Output Only] Server-defined URL for the resource.-lSelfLink :: Lens' License (Maybe Text)-lSelfLink- = lens _lSelfLink (\ s a -> s{_lSelfLink = a})---- | [Output Only] Name of the resource. The name is 1-63 characters long and--- complies with RFC1035.-lName :: Lens' License (Maybe Text)-lName = lens _lName (\ s a -> s{_lName = a})--instance FromJSON License where- parseJSON- = withObject "License"- (\ o ->- License' <$>- (o .:? "chargesUseFee") <*>- (o .:? "kind" .!= "compute#license")- <*> (o .:? "selfLink")- <*> (o .:? "name"))--instance ToJSON License where- toJSON License'{..}- = object- (catMaybes- [("chargesUseFee" .=) <$> _lChargesUseFee,- Just ("kind" .= _lKind),- ("selfLink" .=) <$> _lSelfLink,- ("name" .=) <$> _lName])---- | A path-matching rule for a URL. If matched, will use the specified--- BackendService to handle the traffic arriving at this URL.------ /See:/ 'pathRule' smart constructor.-data PathRule = PathRule'- { _prService :: !(Maybe Text)- , _prPaths :: !(Maybe [Text])- } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'PathRule' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'prService'------ * 'prPaths'-pathRule- :: PathRule-pathRule =- PathRule'- { _prService = Nothing- , _prPaths = Nothing- }---- | The URL of the BackendService resource if this rule is matched.-prService :: Lens' PathRule (Maybe Text)-prService- = lens _prService (\ s a -> s{_prService = a})---- | The list of path patterns to match. Each must start with \/ and the only--- place a * is allowed is at the end following a \/. The string fed to the--- path matcher does not include any text after the first ? or #, and those--- chars are not allowed here.-prPaths :: Lens' PathRule [Text]-prPaths- = lens _prPaths (\ s a -> s{_prPaths = a}) . _Default- . _Coerce--instance FromJSON PathRule where- parseJSON- = withObject "PathRule"- (\ o ->- PathRule' <$>- (o .:? "service") <*> (o .:? "paths" .!= mempty))--instance ToJSON PathRule where- toJSON PathRule'{..}- = object- (catMaybes- [("service" .=) <$> _prService,- ("paths" .=) <$> _prPaths])---- | Contains a list of instances.------ /See:/ 'instanceList' smart constructor.-data InstanceList = InstanceList'- { _insNextPageToken :: !(Maybe Text)- , _insKind :: !Text- , _insItems :: !(Maybe [Instance])- , _insSelfLink :: !(Maybe Text)- , _insId :: !(Maybe Text)- } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'InstanceList' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'insNextPageToken'------ * 'insKind'------ * 'insItems'------ * 'insSelfLink'------ * 'insId'-instanceList- :: InstanceList-instanceList =- InstanceList'- { _insNextPageToken = Nothing- , _insKind = "compute#instanceList"- , _insItems = Nothing- , _insSelfLink = Nothing- , _insId = Nothing- }---- | [Output Only] This token allows you to get the next page of results for--- list requests. If the number of results is larger than maxResults, use--- the nextPageToken as a value for the query parameter pageToken in the--- next list request. Subsequent list requests will have their own--- nextPageToken to continue paging through the results.-insNextPageToken :: Lens' InstanceList (Maybe Text)-insNextPageToken- = lens _insNextPageToken- (\ s a -> s{_insNextPageToken = a})---- | [Output Only] Type of resource. Always compute#instanceList for lists of--- Instance resources.-insKind :: Lens' InstanceList Text-insKind = lens _insKind (\ s a -> s{_insKind = a})---- | [Output Only] A list of instances.-insItems :: Lens' InstanceList [Instance]-insItems- = lens _insItems (\ s a -> s{_insItems = a}) .- _Default- . _Coerce---- | [Output Only] Server-defined URL for this resource.-insSelfLink :: Lens' InstanceList (Maybe Text)-insSelfLink- = lens _insSelfLink (\ s a -> s{_insSelfLink = a})---- | [Output Only] The unique identifier for the resource. This identifier is--- defined by the server.-insId :: Lens' InstanceList (Maybe Text)-insId = lens _insId (\ s a -> s{_insId = a})--instance FromJSON InstanceList where- parseJSON- = withObject "InstanceList"- (\ o ->- InstanceList' <$>- (o .:? "nextPageToken") <*>- (o .:? "kind" .!= "compute#instanceList")- <*> (o .:? "items" .!= mempty)- <*> (o .:? "selfLink")- <*> (o .:? "id"))--instance ToJSON InstanceList where- toJSON InstanceList'{..}- = object- (catMaybes- [("nextPageToken" .=) <$> _insNextPageToken,- Just ("kind" .= _insKind),- ("items" .=) <$> _insItems,- ("selfLink" .=) <$> _insSelfLink,- ("id" .=) <$> _insId])---- | [Output] A map of scoped Subnetwork lists.------ /See:/ 'subnetworkAggregatedListItems' smart constructor.-newtype SubnetworkAggregatedListItems = SubnetworkAggregatedListItems'- { _saliAddtional :: HashMap Text SubnetworksScopedList- } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'SubnetworkAggregatedListItems' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'saliAddtional'-subnetworkAggregatedListItems- :: HashMap Text SubnetworksScopedList -- ^ 'saliAddtional'- -> SubnetworkAggregatedListItems-subnetworkAggregatedListItems pSaliAddtional_ =- SubnetworkAggregatedListItems'- { _saliAddtional = _Coerce # pSaliAddtional_- }---- | Name of the scope containing this set of Subnetworks.-saliAddtional :: Lens' SubnetworkAggregatedListItems (HashMap Text SubnetworksScopedList)-saliAddtional- = lens _saliAddtional- (\ s a -> s{_saliAddtional = a})- . _Coerce--instance FromJSON SubnetworkAggregatedListItems where- parseJSON- = withObject "SubnetworkAggregatedListItems"- (\ o ->- SubnetworkAggregatedListItems' <$>- (parseJSONObject o))--instance ToJSON SubnetworkAggregatedListItems where- toJSON = toJSON . _saliAddtional------- /See:/ 'managedInstanceLastAttempt' smart constructor.-newtype ManagedInstanceLastAttempt = ManagedInstanceLastAttempt'- { _milaErrors :: Maybe ManagedInstanceLastAttemptErrors- } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'ManagedInstanceLastAttempt' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'milaErrors'-managedInstanceLastAttempt- :: ManagedInstanceLastAttempt-managedInstanceLastAttempt =- ManagedInstanceLastAttempt'- { _milaErrors = Nothing- }---- | [Output Only] Encountered errors during the last attempt to create or--- delete the instance.-milaErrors :: Lens' ManagedInstanceLastAttempt (Maybe ManagedInstanceLastAttemptErrors)-milaErrors- = lens _milaErrors (\ s a -> s{_milaErrors = a})--instance FromJSON ManagedInstanceLastAttempt where- parseJSON- = withObject "ManagedInstanceLastAttempt"- (\ o ->- ManagedInstanceLastAttempt' <$> (o .:? "errors"))--instance ToJSON ManagedInstanceLastAttempt where- toJSON ManagedInstanceLastAttempt'{..}- = object (catMaybes [("errors" .=) <$> _milaErrors])---- | Contains a list of BackendService resources.------ /See:/ 'backendServiceList' smart constructor.-data BackendServiceList = BackendServiceList'- { _bslNextPageToken :: !(Maybe Text)- , _bslKind :: !Text- , _bslItems :: !(Maybe [BackendService])- , _bslSelfLink :: !(Maybe Text)- , _bslId :: !(Maybe Text)- } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'BackendServiceList' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'bslNextPageToken'------ * 'bslKind'------ * 'bslItems'------ * 'bslSelfLink'------ * 'bslId'-backendServiceList- :: BackendServiceList-backendServiceList =- BackendServiceList'- { _bslNextPageToken = Nothing- , _bslKind = "compute#backendServiceList"- , _bslItems = Nothing- , _bslSelfLink = Nothing- , _bslId = Nothing- }---- | [Output Only] This token allows you to get the next page of results for--- list requests. If the number of results is larger than maxResults, use--- the nextPageToken as a value for the query parameter pageToken in the--- next list request. Subsequent list requests will have their own--- nextPageToken to continue paging through the results.-bslNextPageToken :: Lens' BackendServiceList (Maybe Text)-bslNextPageToken- = lens _bslNextPageToken- (\ s a -> s{_bslNextPageToken = a})---- | [Output Only] Type of resource. Always compute#backendServiceList for--- lists of backend services.-bslKind :: Lens' BackendServiceList Text-bslKind = lens _bslKind (\ s a -> s{_bslKind = a})---- | A list of BackendService resources.-bslItems :: Lens' BackendServiceList [BackendService]-bslItems- = lens _bslItems (\ s a -> s{_bslItems = a}) .- _Default- . _Coerce---- | [Output Only] Server-defined URL for this resource.-bslSelfLink :: Lens' BackendServiceList (Maybe Text)-bslSelfLink- = lens _bslSelfLink (\ s a -> s{_bslSelfLink = a})---- | [Output Only] The unique identifier for the resource. This identifier is--- defined by the server.-bslId :: Lens' BackendServiceList (Maybe Text)-bslId = lens _bslId (\ s a -> s{_bslId = a})--instance FromJSON BackendServiceList where- parseJSON- = withObject "BackendServiceList"- (\ o ->- BackendServiceList' <$>- (o .:? "nextPageToken") <*>- (o .:? "kind" .!= "compute#backendServiceList")- <*> (o .:? "items" .!= mempty)- <*> (o .:? "selfLink")- <*> (o .:? "id"))--instance ToJSON BackendServiceList where- toJSON BackendServiceList'{..}- = object- (catMaybes- [("nextPageToken" .=) <$> _bslNextPageToken,- Just ("kind" .= _bslKind),- ("items" .=) <$> _bslItems,- ("selfLink" .=) <$> _bslSelfLink,- ("id" .=) <$> _bslId])---- | [Output Only] An informational warning that replaces the list of--- instance groups when the list is empty.------ /See:/ 'instanceGroupsScopedListWarning' smart constructor.-data InstanceGroupsScopedListWarning = InstanceGroupsScopedListWarning'- { _igslwData :: !(Maybe [InstanceGroupsScopedListWarningDataItem])- , _igslwCode :: !(Maybe InstanceGroupsScopedListWarningCode)- , _igslwMessage :: !(Maybe Text)- } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'InstanceGroupsScopedListWarning' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'igslwData'------ * 'igslwCode'------ * 'igslwMessage'-instanceGroupsScopedListWarning- :: InstanceGroupsScopedListWarning-instanceGroupsScopedListWarning =- InstanceGroupsScopedListWarning'- { _igslwData = Nothing- , _igslwCode = Nothing- , _igslwMessage = Nothing- }---- | [Output Only] Metadata about this warning in key: value format. For--- example: \"data\": [ { \"key\": \"scope\", \"value\":--- \"zones\/us-east1-d\" }-igslwData :: Lens' InstanceGroupsScopedListWarning [InstanceGroupsScopedListWarningDataItem]-igslwData- = lens _igslwData (\ s a -> s{_igslwData = a}) .- _Default- . _Coerce---- | [Output Only] A warning code, if applicable. For example, Compute Engine--- returns NO_RESULTS_ON_PAGE if there are no results in the response.-igslwCode :: Lens' InstanceGroupsScopedListWarning (Maybe InstanceGroupsScopedListWarningCode)-igslwCode- = lens _igslwCode (\ s a -> s{_igslwCode = a})---- | [Output Only] A human-readable description of the warning code.-igslwMessage :: Lens' InstanceGroupsScopedListWarning (Maybe Text)-igslwMessage- = lens _igslwMessage (\ s a -> s{_igslwMessage = a})--instance FromJSON InstanceGroupsScopedListWarning- where- parseJSON- = withObject "InstanceGroupsScopedListWarning"- (\ o ->- InstanceGroupsScopedListWarning' <$>- (o .:? "data" .!= mempty) <*> (o .:? "code") <*>- (o .:? "message"))--instance ToJSON InstanceGroupsScopedListWarning where- toJSON InstanceGroupsScopedListWarning'{..}- = object- (catMaybes- [("data" .=) <$> _igslwData,- ("code" .=) <$> _igslwCode,- ("message" .=) <$> _igslwMessage])---- | CPU utilization policy.------ /See:/ 'autoscalingPolicyCPUUtilization' smart constructor.-newtype AutoscalingPolicyCPUUtilization = AutoscalingPolicyCPUUtilization'- { _apcuUtilizationTarget :: Maybe (Textual Double)- } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'AutoscalingPolicyCPUUtilization' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'apcuUtilizationTarget'-autoscalingPolicyCPUUtilization- :: AutoscalingPolicyCPUUtilization-autoscalingPolicyCPUUtilization =- AutoscalingPolicyCPUUtilization'- { _apcuUtilizationTarget = Nothing- }---- | The target CPU utilization that the autoscaler should maintain. Must be--- a float value in the range (0, 1]. If not specified, the default is 0.8.--- If the CPU level is below the target utilization, the autoscaler scales--- down the number of instances until it reaches the minimum number of--- instances you specified or until the average CPU of your instances--- reaches the target utilization. If the average CPU is above the target--- utilization, the autoscaler scales up until it reaches the maximum--- number of instances you specified or until the average utilization--- reaches the target utilization.-apcuUtilizationTarget :: Lens' AutoscalingPolicyCPUUtilization (Maybe Double)-apcuUtilizationTarget- = lens _apcuUtilizationTarget- (\ s a -> s{_apcuUtilizationTarget = a})- . mapping _Coerce--instance FromJSON AutoscalingPolicyCPUUtilization- where- parseJSON- = withObject "AutoscalingPolicyCPUUtilization"- (\ o ->- AutoscalingPolicyCPUUtilization' <$>- (o .:? "utilizationTarget"))--instance ToJSON AutoscalingPolicyCPUUtilization where- toJSON AutoscalingPolicyCPUUtilization'{..}- = object- (catMaybes- [("utilizationTarget" .=) <$>- _apcuUtilizationTarget])------- /See:/ 'instanceGroupsScopedListWarningDataItem' smart constructor.-data InstanceGroupsScopedListWarningDataItem = InstanceGroupsScopedListWarningDataItem'- { _igslwdiValue :: !(Maybe Text)- , _igslwdiKey :: !(Maybe Text)- } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'InstanceGroupsScopedListWarningDataItem' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'igslwdiValue'------ * 'igslwdiKey'-instanceGroupsScopedListWarningDataItem- :: InstanceGroupsScopedListWarningDataItem-instanceGroupsScopedListWarningDataItem =- InstanceGroupsScopedListWarningDataItem'- { _igslwdiValue = Nothing- , _igslwdiKey = Nothing- }---- | [Output Only] A warning data value corresponding to the key.-igslwdiValue :: Lens' InstanceGroupsScopedListWarningDataItem (Maybe Text)-igslwdiValue- = lens _igslwdiValue (\ s a -> s{_igslwdiValue = a})---- | [Output Only] A key that provides more detail on the warning being--- returned. For example, for warnings where there are no results in a list--- request for a particular zone, this key might be scope and the key value--- might be the zone name. Other examples might be a key indicating a--- deprecated resource and a suggested replacement, or a warning about--- invalid network settings (for example, if an instance attempts to--- perform IP forwarding but is not enabled for IP forwarding).-igslwdiKey :: Lens' InstanceGroupsScopedListWarningDataItem (Maybe Text)-igslwdiKey- = lens _igslwdiKey (\ s a -> s{_igslwdiKey = a})--instance FromJSON- InstanceGroupsScopedListWarningDataItem where- parseJSON- = withObject- "InstanceGroupsScopedListWarningDataItem"- (\ o ->- InstanceGroupsScopedListWarningDataItem' <$>- (o .:? "value") <*> (o .:? "key"))--instance ToJSON- InstanceGroupsScopedListWarningDataItem where- toJSON InstanceGroupsScopedListWarningDataItem'{..}- = object- (catMaybes- [("value" .=) <$> _igslwdiValue,- ("key" .=) <$> _igslwdiKey])------- /See:/ 'resourceGroupReference' smart constructor.-newtype ResourceGroupReference = ResourceGroupReference'- { _rgrGroup :: Maybe Text- } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'ResourceGroupReference' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'rgrGroup'-resourceGroupReference- :: ResourceGroupReference-resourceGroupReference =- ResourceGroupReference'- { _rgrGroup = Nothing- }---- | A URI referencing one of the resource views listed in the backend--- service.-rgrGroup :: Lens' ResourceGroupReference (Maybe Text)-rgrGroup = lens _rgrGroup (\ s a -> s{_rgrGroup = a})--instance FromJSON ResourceGroupReference where- parseJSON- = withObject "ResourceGroupReference"- (\ o -> ResourceGroupReference' <$> (o .:? "group"))--instance ToJSON ResourceGroupReference where- toJSON ResourceGroupReference'{..}- = object (catMaybes [("group" .=) <$> _rgrGroup])---- | Represents a Firewall resource.------ /See:/ 'firewall' smart constructor.-data Firewall = Firewall'- { _fSourceTags :: !(Maybe [Text])- , _fKind :: !Text- , _fTargetTags :: !(Maybe [Text])- , _fNetwork :: !(Maybe Text)- , _fSourceRanges :: !(Maybe [Text])- , _fSelfLink :: !(Maybe Text)- , _fName :: !(Maybe Text)- , _fCreationTimestamp :: !(Maybe Text)- , _fId :: !(Maybe (Textual Word64))- , _fAllowed :: !(Maybe [FirewallAllowedItem])- , _fDescription :: !(Maybe Text)- } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'Firewall' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'fSourceTags'------ * 'fKind'------ * 'fTargetTags'------ * 'fNetwork'------ * 'fSourceRanges'------ * 'fSelfLink'------ * 'fName'------ * 'fCreationTimestamp'------ * 'fId'------ * 'fAllowed'------ * 'fDescription'-firewall- :: Firewall-firewall =- Firewall'- { _fSourceTags = Nothing- , _fKind = "compute#firewall"- , _fTargetTags = Nothing- , _fNetwork = Nothing- , _fSourceRanges = Nothing- , _fSelfLink = Nothing- , _fName = Nothing- , _fCreationTimestamp = Nothing- , _fId = Nothing- , _fAllowed = Nothing- , _fDescription = Nothing- }---- | A list of instance tags which this rule applies to. One or both of--- sourceRanges and sourceTags may be set. If both properties are set, an--- inbound connection is allowed if the range matches the sourceRanges OR--- the tag of the source matches the sourceTags property. The connection--- does not need to match both properties. Source tags cannot be used to--- allow access to an instance\'s external IP address. Because tags are--- associated with an instance, not an IP address, source tags can only be--- used to control traffic traveling from an instance inside the same--- network as the firewall.-fSourceTags :: Lens' Firewall [Text]-fSourceTags- = lens _fSourceTags (\ s a -> s{_fSourceTags = a}) .- _Default- . _Coerce---- | [Output Ony] Type of the resource. Always compute#firewall for firewall--- rules.-fKind :: Lens' Firewall Text-fKind = lens _fKind (\ s a -> s{_fKind = a})---- | A list of instance tags indicating sets of instances located in the--- network that may make network connections as specified in allowed[]. If--- no targetTags are specified, the firewall rule applies to all instances--- on the specified network.-fTargetTags :: Lens' Firewall [Text]-fTargetTags- = lens _fTargetTags (\ s a -> s{_fTargetTags = a}) .- _Default- . _Coerce---- | URL of the network resource for this firewall rule. If not specified--- when creating a firewall rule, the default network is used:--- global\/networks\/default If you choose to specify this property, you--- can specify the network as a full or partial URL. For example, the--- following are all valid URLs: ---- https:\/\/www.googleapis.com\/compute\/v1\/projects\/myproject\/global\/networks\/my-network--- - projects\/myproject\/global\/networks\/my-network ---- global\/networks\/default-fNetwork :: Lens' Firewall (Maybe Text)-fNetwork = lens _fNetwork (\ s a -> s{_fNetwork = a})---- | The IP address blocks that this rule applies to, expressed in CIDR--- format. One or both of sourceRanges and sourceTags may be set. If both--- properties are set, an inbound connection is allowed if the range--- matches the sourceRanges OR the tag of the source matches the sourceTags--- property. The connection does not need to match both properties.-fSourceRanges :: Lens' Firewall [Text]-fSourceRanges- = lens _fSourceRanges- (\ s a -> s{_fSourceRanges = a})- . _Default- . _Coerce---- | [Output Only] Server-defined URL for the resource.-fSelfLink :: Lens' Firewall (Maybe Text)-fSelfLink- = lens _fSelfLink (\ s a -> s{_fSelfLink = a})---- | Name of the resource; provided by the client when the resource is--- created. The name must be 1-63 characters long, and comply with RFC1035.--- Specifically, the name must be 1-63 characters long and match the--- regular expression [a-z]([-a-z0-9]*[a-z0-9])? which means the first--- character must be a lowercase letter, and all following characters must--- be a dash, lowercase letter, or digit, except the last character, which--- cannot be a dash.-fName :: Lens' Firewall (Maybe Text)-fName = lens _fName (\ s a -> s{_fName = a})---- | [Output Only] Creation timestamp in RFC3339 text format.-fCreationTimestamp :: Lens' Firewall (Maybe Text)-fCreationTimestamp- = lens _fCreationTimestamp- (\ s a -> s{_fCreationTimestamp = a})---- | [Output Only] The unique identifier for the resource. This identifier is--- defined by the server.-fId :: Lens' Firewall (Maybe Word64)-fId- = lens _fId (\ s a -> s{_fId = a}) . mapping _Coerce---- | The list of rules specified by this firewall. Each rule specifies a--- protocol and port-range tuple that describes a permitted connection.-fAllowed :: Lens' Firewall [FirewallAllowedItem]-fAllowed- = lens _fAllowed (\ s a -> s{_fAllowed = a}) .- _Default- . _Coerce---- | An optional description of this resource. Provide this property when you--- create the resource.-fDescription :: Lens' Firewall (Maybe Text)-fDescription- = lens _fDescription (\ s a -> s{_fDescription = a})--instance FromJSON Firewall where- parseJSON- = withObject "Firewall"- (\ o ->- Firewall' <$>- (o .:? "sourceTags" .!= mempty) <*>- (o .:? "kind" .!= "compute#firewall")- <*> (o .:? "targetTags" .!= mempty)- <*> (o .:? "network")- <*> (o .:? "sourceRanges" .!= mempty)- <*> (o .:? "selfLink")- <*> (o .:? "name")- <*> (o .:? "creationTimestamp")- <*> (o .:? "id")- <*> (o .:? "allowed" .!= mempty)- <*> (o .:? "description"))--instance ToJSON Firewall where- toJSON Firewall'{..}- = object- (catMaybes- [("sourceTags" .=) <$> _fSourceTags,- Just ("kind" .= _fKind),- ("targetTags" .=) <$> _fTargetTags,- ("network" .=) <$> _fNetwork,- ("sourceRanges" .=) <$> _fSourceRanges,- ("selfLink" .=) <$> _fSelfLink,- ("name" .=) <$> _fName,- ("creationTimestamp" .=) <$> _fCreationTimestamp,- ("id" .=) <$> _fId, ("allowed" .=) <$> _fAllowed,- ("description" .=) <$> _fDescription])---- | UrlMaps A host-matching rule for a URL. If matched, will use the named--- PathMatcher to select the BackendService.------ /See:/ 'hostRule' smart constructor.-data HostRule = HostRule'- { _hrHosts :: !(Maybe [Text])- , _hrDescription :: !(Maybe Text)- , _hrPathMatcher :: !(Maybe Text)- } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'HostRule' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'hrHosts'------ * 'hrDescription'------ * 'hrPathMatcher'-hostRule- :: HostRule-hostRule =- HostRule'- { _hrHosts = Nothing- , _hrDescription = Nothing- , _hrPathMatcher = Nothing- }---- | The list of host patterns to match. They must be valid hostnames, except--- * will match any string of ([a-z0-9-.]*). In that case, * must be the--- first character and must be followed in the pattern by either - or ..-hrHosts :: Lens' HostRule [Text]-hrHosts- = lens _hrHosts (\ s a -> s{_hrHosts = a}) . _Default- . _Coerce---- | An optional description of this resource. Provide this property when you--- create the resource.-hrDescription :: Lens' HostRule (Maybe Text)-hrDescription- = lens _hrDescription- (\ s a -> s{_hrDescription = a})---- | The name of the PathMatcher to use to match the path portion of the URL--- if the hostRule matches the URL\'s host portion.-hrPathMatcher :: Lens' HostRule (Maybe Text)-hrPathMatcher- = lens _hrPathMatcher- (\ s a -> s{_hrPathMatcher = a})--instance FromJSON HostRule where- parseJSON- = withObject "HostRule"- (\ o ->- HostRule' <$>- (o .:? "hosts" .!= mempty) <*> (o .:? "description")- <*> (o .:? "pathMatcher"))--instance ToJSON HostRule where- toJSON HostRule'{..}- = object- (catMaybes- [("hosts" .=) <$> _hrHosts,- ("description" .=) <$> _hrDescription,- ("pathMatcher" .=) <$> _hrPathMatcher])---- | A quotas entry.------ /See:/ 'quota' smart constructor.-data Quota = Quota'- { _qMetric :: !(Maybe QuotaMetric)- , _qLimit :: !(Maybe (Textual Double))- , _qUsage :: !(Maybe (Textual Double))- } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'Quota' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'qMetric'------ * 'qLimit'------ * 'qUsage'-quota- :: Quota-quota =- Quota'- { _qMetric = Nothing- , _qLimit = Nothing- , _qUsage = Nothing- }---- | [Output Only] Name of the quota metric.-qMetric :: Lens' Quota (Maybe QuotaMetric)-qMetric = lens _qMetric (\ s a -> s{_qMetric = a})---- | [Output Only] Quota limit for this metric.-qLimit :: Lens' Quota (Maybe Double)-qLimit- = lens _qLimit (\ s a -> s{_qLimit = a}) .- mapping _Coerce---- | [Output Only] Current usage of this metric.-qUsage :: Lens' Quota (Maybe Double)-qUsage- = lens _qUsage (\ s a -> s{_qUsage = a}) .- mapping _Coerce--instance FromJSON Quota where- parseJSON- = withObject "Quota"- (\ o ->- Quota' <$>- (o .:? "metric") <*> (o .:? "limit") <*>- (o .:? "usage"))--instance ToJSON Quota where- toJSON Quota'{..}- = object- (catMaybes- [("metric" .=) <$> _qMetric,- ("limit" .=) <$> _qLimit, ("usage" .=) <$> _qUsage])------- /See:/ 'instanceGroup' smart constructor.-data InstanceGroup = InstanceGroup'- { _iiSize :: !(Maybe (Textual Int32))- , _iiKind :: !Text- , _iiFingerprint :: !(Maybe Base64)- , _iiNetwork :: !(Maybe Text)- , _iiZone :: !(Maybe Text)- , _iiSelfLink :: !(Maybe Text)- , _iiName :: !(Maybe Text)- , _iiCreationTimestamp :: !(Maybe Text)- , _iiSubnetwork :: !(Maybe Text)- , _iiId :: !(Maybe (Textual Word64))- , _iiDescription :: !(Maybe Text)- , _iiNamedPorts :: !(Maybe [NamedPort])- } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'InstanceGroup' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'iiSize'------ * 'iiKind'------ * 'iiFingerprint'------ * 'iiNetwork'------ * 'iiZone'------ * 'iiSelfLink'------ * 'iiName'------ * 'iiCreationTimestamp'------ * 'iiSubnetwork'------ * 'iiId'------ * 'iiDescription'------ * 'iiNamedPorts'-instanceGroup- :: InstanceGroup-instanceGroup =- InstanceGroup'- { _iiSize = Nothing- , _iiKind = "compute#instanceGroup"- , _iiFingerprint = Nothing- , _iiNetwork = Nothing- , _iiZone = Nothing- , _iiSelfLink = Nothing- , _iiName = Nothing- , _iiCreationTimestamp = Nothing- , _iiSubnetwork = Nothing- , _iiId = Nothing- , _iiDescription = Nothing- , _iiNamedPorts = Nothing- }---- | [Output Only] The total number of instances in the instance group.-iiSize :: Lens' InstanceGroup (Maybe Int32)-iiSize- = lens _iiSize (\ s a -> s{_iiSize = a}) .- mapping _Coerce---- | [Output Only] The resource type, which is always compute#instanceGroup--- for instance groups.-iiKind :: Lens' InstanceGroup Text-iiKind = lens _iiKind (\ s a -> s{_iiKind = a})---- | [Output Only] The fingerprint of the named ports. The system uses this--- fingerprint to detect conflicts when multiple users change the named--- ports concurrently.-iiFingerprint :: Lens' InstanceGroup (Maybe ByteString)-iiFingerprint- = lens _iiFingerprint- (\ s a -> s{_iiFingerprint = a})- . mapping _Base64---- | The URL of the network to which all instances in the instance group--- belong.-iiNetwork :: Lens' InstanceGroup (Maybe Text)-iiNetwork- = lens _iiNetwork (\ s a -> s{_iiNetwork = a})---- | [Output Only] The URL of the zone where the instance group is located.-iiZone :: Lens' InstanceGroup (Maybe Text)-iiZone = lens _iiZone (\ s a -> s{_iiZone = a})---- | [Output Only] The URL for this instance group. The server generates this--- URL.-iiSelfLink :: Lens' InstanceGroup (Maybe Text)-iiSelfLink- = lens _iiSelfLink (\ s a -> s{_iiSelfLink = a})---- | The name of the instance group. The name must be 1-63 characters long,--- and comply with RFC1035.-iiName :: Lens' InstanceGroup (Maybe Text)-iiName = lens _iiName (\ s a -> s{_iiName = a})---- | [Output Only] The creation timestamp for this instance group in RFC3339--- text format.-iiCreationTimestamp :: Lens' InstanceGroup (Maybe Text)-iiCreationTimestamp- = lens _iiCreationTimestamp- (\ s a -> s{_iiCreationTimestamp = a})---- | The URL of the subnetwork to which all instances in the instance group--- belong.-iiSubnetwork :: Lens' InstanceGroup (Maybe Text)-iiSubnetwork- = lens _iiSubnetwork (\ s a -> s{_iiSubnetwork = a})---- | [Output Only] A unique identifier for this resource type. The server--- generates this identifier.-iiId :: Lens' InstanceGroup (Maybe Word64)-iiId- = lens _iiId (\ s a -> s{_iiId = a}) .- mapping _Coerce---- | An optional description of this resource. Provide this property when you--- create the resource.-iiDescription :: Lens' InstanceGroup (Maybe Text)-iiDescription- = lens _iiDescription- (\ s a -> s{_iiDescription = a})---- | Assigns a name to a port number. For example: {name: \"http\", port: 80}--- This allows the system to reference ports by the assigned name instead--- of a port number. Named ports can also contain multiple ports. For--- example: [{name: \"http\", port: 80},{name: \"http\", port: 8080}] Named--- ports apply to all instances in this instance group.-iiNamedPorts :: Lens' InstanceGroup [NamedPort]-iiNamedPorts- = lens _iiNamedPorts (\ s a -> s{_iiNamedPorts = a})- . _Default- . _Coerce--instance FromJSON InstanceGroup where- parseJSON- = withObject "InstanceGroup"- (\ o ->- InstanceGroup' <$>- (o .:? "size") <*>- (o .:? "kind" .!= "compute#instanceGroup")- <*> (o .:? "fingerprint")- <*> (o .:? "network")- <*> (o .:? "zone")- <*> (o .:? "selfLink")- <*> (o .:? "name")- <*> (o .:? "creationTimestamp")- <*> (o .:? "subnetwork")- <*> (o .:? "id")- <*> (o .:? "description")- <*> (o .:? "namedPorts" .!= mempty))--instance ToJSON InstanceGroup where- toJSON InstanceGroup'{..}- = object- (catMaybes- [("size" .=) <$> _iiSize, Just ("kind" .= _iiKind),- ("fingerprint" .=) <$> _iiFingerprint,- ("network" .=) <$> _iiNetwork,- ("zone" .=) <$> _iiZone,- ("selfLink" .=) <$> _iiSelfLink,- ("name" .=) <$> _iiName,- ("creationTimestamp" .=) <$> _iiCreationTimestamp,- ("subnetwork" .=) <$> _iiSubnetwork,- ("id" .=) <$> _iiId,- ("description" .=) <$> _iiDescription,- ("namedPorts" .=) <$> _iiNamedPorts])---- | Contains a list of Snapshot resources.------ /See:/ 'snapshotList' smart constructor.-data SnapshotList = SnapshotList'- { _snaNextPageToken :: !(Maybe Text)- , _snaKind :: !Text- , _snaItems :: !(Maybe [Snapshot])- , _snaSelfLink :: !(Maybe Text)- , _snaId :: !(Maybe Text)- } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'SnapshotList' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'snaNextPageToken'------ * 'snaKind'------ * 'snaItems'------ * 'snaSelfLink'------ * 'snaId'-snapshotList- :: SnapshotList-snapshotList =- SnapshotList'- { _snaNextPageToken = Nothing- , _snaKind = "compute#snapshotList"- , _snaItems = Nothing- , _snaSelfLink = Nothing- , _snaId = Nothing- }---- | [Output Only] This token allows you to get the next page of results for--- list requests. If the number of results is larger than maxResults, use--- the nextPageToken as a value for the query parameter pageToken in the--- next list request. Subsequent list requests will have their own--- nextPageToken to continue paging through the results.-snaNextPageToken :: Lens' SnapshotList (Maybe Text)-snaNextPageToken- = lens _snaNextPageToken- (\ s a -> s{_snaNextPageToken = a})---- | Type of resource.-snaKind :: Lens' SnapshotList Text-snaKind = lens _snaKind (\ s a -> s{_snaKind = a})---- | [Output Only] A list of Snapshot resources.-snaItems :: Lens' SnapshotList [Snapshot]-snaItems- = lens _snaItems (\ s a -> s{_snaItems = a}) .- _Default- . _Coerce---- | [Output Only] Server-defined URL for this resource.-snaSelfLink :: Lens' SnapshotList (Maybe Text)-snaSelfLink- = lens _snaSelfLink (\ s a -> s{_snaSelfLink = a})---- | [Output Only] The unique identifier for the resource. This identifier is--- defined by the server.-snaId :: Lens' SnapshotList (Maybe Text)-snaId = lens _snaId (\ s a -> s{_snaId = a})--instance FromJSON SnapshotList where- parseJSON- = withObject "SnapshotList"- (\ o ->- SnapshotList' <$>- (o .:? "nextPageToken") <*>- (o .:? "kind" .!= "compute#snapshotList")- <*> (o .:? "items" .!= mempty)- <*> (o .:? "selfLink")- <*> (o .:? "id"))--instance ToJSON SnapshotList where- toJSON SnapshotList'{..}- = object- (catMaybes- [("nextPageToken" .=) <$> _snaNextPageToken,- Just ("kind" .= _snaKind),- ("items" .=) <$> _snaItems,- ("selfLink" .=) <$> _snaSelfLink,- ("id" .=) <$> _snaId])------- /See:/ 'testFailure' smart constructor.-data TestFailure = TestFailure'- { _tfPath :: !(Maybe Text)- , _tfExpectedService :: !(Maybe Text)- , _tfHost :: !(Maybe Text)- , _tfActualService :: !(Maybe Text)- } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'TestFailure' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'tfPath'------ * 'tfExpectedService'------ * 'tfHost'------ * 'tfActualService'-testFailure- :: TestFailure-testFailure =- TestFailure'- { _tfPath = Nothing- , _tfExpectedService = Nothing- , _tfHost = Nothing- , _tfActualService = Nothing- }--tfPath :: Lens' TestFailure (Maybe Text)-tfPath = lens _tfPath (\ s a -> s{_tfPath = a})--tfExpectedService :: Lens' TestFailure (Maybe Text)-tfExpectedService- = lens _tfExpectedService- (\ s a -> s{_tfExpectedService = a})--tfHost :: Lens' TestFailure (Maybe Text)-tfHost = lens _tfHost (\ s a -> s{_tfHost = a})--tfActualService :: Lens' TestFailure (Maybe Text)-tfActualService- = lens _tfActualService- (\ s a -> s{_tfActualService = a})--instance FromJSON TestFailure where- parseJSON- = withObject "TestFailure"- (\ o ->- TestFailure' <$>- (o .:? "path") <*> (o .:? "expectedService") <*>- (o .:? "host")- <*> (o .:? "actualService"))--instance ToJSON TestFailure where- toJSON TestFailure'{..}- = object- (catMaybes- [("path" .=) <$> _tfPath,- ("expectedService" .=) <$> _tfExpectedService,- ("host" .=) <$> _tfHost,- ("actualService" .=) <$> _tfActualService])---- | An instance\'s serial console output.------ /See:/ 'serialPortOutput' smart constructor.-data SerialPortOutput = SerialPortOutput'- { _spoContents :: !(Maybe Text)- , _spoKind :: !Text- , _spoSelfLink :: !(Maybe Text)- } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'SerialPortOutput' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'spoContents'------ * 'spoKind'------ * 'spoSelfLink'-serialPortOutput- :: SerialPortOutput-serialPortOutput =- SerialPortOutput'- { _spoContents = Nothing- , _spoKind = "compute#serialPortOutput"- , _spoSelfLink = Nothing- }---- | [Output Only] The contents of the console output.-spoContents :: Lens' SerialPortOutput (Maybe Text)-spoContents- = lens _spoContents (\ s a -> s{_spoContents = a})---- | [Output Only] Type of the resource. Always compute#serialPortOutput for--- serial port output.-spoKind :: Lens' SerialPortOutput Text-spoKind = lens _spoKind (\ s a -> s{_spoKind = a})---- | [Output Only] Server-defined URL for the resource.-spoSelfLink :: Lens' SerialPortOutput (Maybe Text)-spoSelfLink- = lens _spoSelfLink (\ s a -> s{_spoSelfLink = a})--instance FromJSON SerialPortOutput where- parseJSON- = withObject "SerialPortOutput"- (\ o ->- SerialPortOutput' <$>- (o .:? "contents") <*>- (o .:? "kind" .!= "compute#serialPortOutput")- <*> (o .:? "selfLink"))--instance ToJSON SerialPortOutput where- toJSON SerialPortOutput'{..}- = object- (catMaybes- [("contents" .=) <$> _spoContents,- Just ("kind" .= _spoKind),- ("selfLink" .=) <$> _spoSelfLink])------- /See:/ 'targetVPNGatewayAggregatedList' smart constructor.-data TargetVPNGatewayAggregatedList = TargetVPNGatewayAggregatedList'- { _tvgalNextPageToken :: !(Maybe Text)- , _tvgalKind :: !Text- , _tvgalItems :: !(Maybe TargetVPNGatewayAggregatedListItems)- , _tvgalSelfLink :: !(Maybe Text)- , _tvgalId :: !(Maybe Text)- } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'TargetVPNGatewayAggregatedList' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'tvgalNextPageToken'------ * 'tvgalKind'------ * 'tvgalItems'------ * 'tvgalSelfLink'------ * 'tvgalId'-targetVPNGatewayAggregatedList- :: TargetVPNGatewayAggregatedList-targetVPNGatewayAggregatedList =- TargetVPNGatewayAggregatedList'- { _tvgalNextPageToken = Nothing- , _tvgalKind = "compute#targetVpnGatewayAggregatedList"- , _tvgalItems = Nothing- , _tvgalSelfLink = Nothing- , _tvgalId = Nothing- }---- | [Output Only] This token allows you to get the next page of results for--- list requests. If the number of results is larger than maxResults, use--- the nextPageToken as a value for the query parameter pageToken in the--- next list request. Subsequent list requests will have their own--- nextPageToken to continue paging through the results.-tvgalNextPageToken :: Lens' TargetVPNGatewayAggregatedList (Maybe Text)-tvgalNextPageToken- = lens _tvgalNextPageToken- (\ s a -> s{_tvgalNextPageToken = a})---- | [Output Only] Type of resource. Always compute#targetVpnGateway for--- target VPN gateways.-tvgalKind :: Lens' TargetVPNGatewayAggregatedList Text-tvgalKind- = lens _tvgalKind (\ s a -> s{_tvgalKind = a})---- | A map of scoped target vpn gateway lists.-tvgalItems :: Lens' TargetVPNGatewayAggregatedList (Maybe TargetVPNGatewayAggregatedListItems)-tvgalItems- = lens _tvgalItems (\ s a -> s{_tvgalItems = a})---- | [Output Only] Server-defined URL for the resource.-tvgalSelfLink :: Lens' TargetVPNGatewayAggregatedList (Maybe Text)-tvgalSelfLink- = lens _tvgalSelfLink- (\ s a -> s{_tvgalSelfLink = a})---- | [Output Only] The unique identifier for the resource. This identifier is--- defined by the server.-tvgalId :: Lens' TargetVPNGatewayAggregatedList (Maybe Text)-tvgalId = lens _tvgalId (\ s a -> s{_tvgalId = a})--instance FromJSON TargetVPNGatewayAggregatedList- where- parseJSON- = withObject "TargetVPNGatewayAggregatedList"- (\ o ->- TargetVPNGatewayAggregatedList' <$>- (o .:? "nextPageToken") <*>- (o .:? "kind" .!=- "compute#targetVpnGatewayAggregatedList")- <*> (o .:? "items")- <*> (o .:? "selfLink")- <*> (o .:? "id"))--instance ToJSON TargetVPNGatewayAggregatedList where- toJSON TargetVPNGatewayAggregatedList'{..}- = object- (catMaybes- [("nextPageToken" .=) <$> _tvgalNextPageToken,- Just ("kind" .= _tvgalKind),- ("items" .=) <$> _tvgalItems,- ("selfLink" .=) <$> _tvgalSelfLink,- ("id" .=) <$> _tvgalId])------- /See:/ 'metadataItemsItem' smart constructor.-data MetadataItemsItem = MetadataItemsItem'- { _miiValue :: !(Maybe Text)- , _miiKey :: !(Maybe Text)- } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'MetadataItemsItem' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'miiValue'------ * 'miiKey'-metadataItemsItem- :: MetadataItemsItem-metadataItemsItem =- MetadataItemsItem'- { _miiValue = Nothing- , _miiKey = Nothing- }---- | Value for the metadata entry. These are free-form strings, and only have--- meaning as interpreted by the image running in the instance. The only--- restriction placed on values is that their size must be less than or--- equal to 32768 bytes.-miiValue :: Lens' MetadataItemsItem (Maybe Text)-miiValue = lens _miiValue (\ s a -> s{_miiValue = a})---- | Key for the metadata entry. Keys must conform to the following regexp:--- [a-zA-Z0-9-_]+, and be less than 128 bytes in length. This is 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.-miiKey :: Lens' MetadataItemsItem (Maybe Text)-miiKey = lens _miiKey (\ s a -> s{_miiKey = a})--instance FromJSON MetadataItemsItem where- parseJSON- = withObject "MetadataItemsItem"- (\ o ->- MetadataItemsItem' <$>- (o .:? "value") <*> (o .:? "key"))--instance ToJSON MetadataItemsItem where- toJSON MetadataItemsItem'{..}- = object- (catMaybes- [("value" .=) <$> _miiValue, ("key" .=) <$> _miiKey])---- | A TargetHttpsProxy resource. This resource defines an HTTPS proxy.------ /See:/ 'targetHTTPSProxy' smart constructor.-data TargetHTTPSProxy = TargetHTTPSProxy'- { _thpURLMap :: !(Maybe Text)- , _thpSSLCertificates :: !(Maybe [Text])- , _thpKind :: !Text- , _thpSelfLink :: !(Maybe Text)- , _thpName :: !(Maybe Text)- , _thpCreationTimestamp :: !(Maybe Text)- , _thpId :: !(Maybe (Textual Word64))- , _thpDescription :: !(Maybe Text)- } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'TargetHTTPSProxy' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'thpURLMap'------ * 'thpSSLCertificates'------ * 'thpKind'------ * 'thpSelfLink'------ * 'thpName'------ * 'thpCreationTimestamp'------ * 'thpId'------ * 'thpDescription'-targetHTTPSProxy- :: TargetHTTPSProxy-targetHTTPSProxy =- TargetHTTPSProxy'- { _thpURLMap = Nothing- , _thpSSLCertificates = Nothing- , _thpKind = "compute#targetHttpsProxy"- , _thpSelfLink = Nothing- , _thpName = Nothing- , _thpCreationTimestamp = Nothing- , _thpId = Nothing- , _thpDescription = Nothing- }---- | A fully-qualified or valid partial URL to the UrlMap resource that--- defines the mapping from URL to the BackendService. For example, the--- following are all valid URLs for specifying a URL map: ---- https:\/\/www.googleapis.compute\/v1\/projects\/project\/global\/urlMaps\/url-map--- - projects\/project\/global\/urlMaps\/url-map - global\/urlMaps\/url-map-thpURLMap :: Lens' TargetHTTPSProxy (Maybe Text)-thpURLMap- = lens _thpURLMap (\ s a -> s{_thpURLMap = a})---- | URLs to SslCertificate resources that are used to authenticate--- connections between users and the load balancer. Currently, exactly one--- SSL certificate must be specified.-thpSSLCertificates :: Lens' TargetHTTPSProxy [Text]-thpSSLCertificates- = lens _thpSSLCertificates- (\ s a -> s{_thpSSLCertificates = a})- . _Default- . _Coerce---- | [Output Only] Type of resource. Always compute#targetHttpsProxy for--- target HTTPS proxies.-thpKind :: Lens' TargetHTTPSProxy Text-thpKind = lens _thpKind (\ s a -> s{_thpKind = a})---- | [Output Only] Server-defined URL for the resource.-thpSelfLink :: Lens' TargetHTTPSProxy (Maybe Text)-thpSelfLink- = lens _thpSelfLink (\ s a -> s{_thpSelfLink = a})---- | Name of the resource. Provided by the client when the resource is--- created. The name must be 1-63 characters long, and comply with RFC1035.--- Specifically, the name must be 1-63 characters long and match the--- regular expression [a-z]([-a-z0-9]*[a-z0-9])? which means the first--- character must be a lowercase letter, and all following characters must--- be a dash, lowercase letter, or digit, except the last character, which--- cannot be a dash.-thpName :: Lens' TargetHTTPSProxy (Maybe Text)-thpName = lens _thpName (\ s a -> s{_thpName = a})---- | [Output Only] Creation timestamp in RFC3339 text format.-thpCreationTimestamp :: Lens' TargetHTTPSProxy (Maybe Text)-thpCreationTimestamp- = lens _thpCreationTimestamp- (\ s a -> s{_thpCreationTimestamp = a})---- | [Output Only] The unique identifier for the resource. This identifier is--- defined by the server.-thpId :: Lens' TargetHTTPSProxy (Maybe Word64)-thpId- = lens _thpId (\ s a -> s{_thpId = a}) .- mapping _Coerce---- | An optional description of this resource. Provide this property when you--- create the resource.-thpDescription :: Lens' TargetHTTPSProxy (Maybe Text)-thpDescription- = lens _thpDescription- (\ s a -> s{_thpDescription = a})--instance FromJSON TargetHTTPSProxy where- parseJSON- = withObject "TargetHTTPSProxy"- (\ o ->- TargetHTTPSProxy' <$>- (o .:? "urlMap") <*>- (o .:? "sslCertificates" .!= mempty)- <*> (o .:? "kind" .!= "compute#targetHttpsProxy")- <*> (o .:? "selfLink")- <*> (o .:? "name")- <*> (o .:? "creationTimestamp")- <*> (o .:? "id")- <*> (o .:? "description"))--instance ToJSON TargetHTTPSProxy where- toJSON TargetHTTPSProxy'{..}- = object- (catMaybes- [("urlMap" .=) <$> _thpURLMap,- ("sslCertificates" .=) <$> _thpSSLCertificates,- Just ("kind" .= _thpKind),- ("selfLink" .=) <$> _thpSelfLink,- ("name" .=) <$> _thpName,- ("creationTimestamp" .=) <$> _thpCreationTimestamp,- ("id" .=) <$> _thpId,- ("description" .=) <$> _thpDescription])------- /See:/ 'targetVPNGatewaysScopedList' smart constructor.-data TargetVPNGatewaysScopedList = TargetVPNGatewaysScopedList'- { _tvgslTargetVPNGateways :: !(Maybe [TargetVPNGateway])- , _tvgslWarning :: !(Maybe TargetVPNGatewaysScopedListWarning)- } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'TargetVPNGatewaysScopedList' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'tvgslTargetVPNGateways'------ * 'tvgslWarning'-targetVPNGatewaysScopedList- :: TargetVPNGatewaysScopedList-targetVPNGatewaysScopedList =- TargetVPNGatewaysScopedList'- { _tvgslTargetVPNGateways = Nothing- , _tvgslWarning = Nothing- }---- | [Output Only] List of target vpn gateways contained in this scope.-tvgslTargetVPNGateways :: Lens' TargetVPNGatewaysScopedList [TargetVPNGateway]-tvgslTargetVPNGateways- = lens _tvgslTargetVPNGateways- (\ s a -> s{_tvgslTargetVPNGateways = a})- . _Default- . _Coerce---- | [Output Only] Informational warning which replaces the list of addresses--- when the list is empty.-tvgslWarning :: Lens' TargetVPNGatewaysScopedList (Maybe TargetVPNGatewaysScopedListWarning)-tvgslWarning- = lens _tvgslWarning (\ s a -> s{_tvgslWarning = a})--instance FromJSON TargetVPNGatewaysScopedList where- parseJSON- = withObject "TargetVPNGatewaysScopedList"- (\ o ->- TargetVPNGatewaysScopedList' <$>- (o .:? "targetVpnGateways" .!= mempty) <*>- (o .:? "warning"))--instance ToJSON TargetVPNGatewaysScopedList where- toJSON TargetVPNGatewaysScopedList'{..}- = object- (catMaybes- [("targetVpnGateways" .=) <$>- _tvgslTargetVPNGateways,- ("warning" .=) <$> _tvgslWarning])---- | An access configuration attached to an instance\'s network interface.------ /See:/ 'accessConfig' smart constructor.-data AccessConfig = AccessConfig'- { _acKind :: !Text- , _acName :: !(Maybe Text)- , _acNATIP :: !(Maybe Text)- , _acType :: !AccessConfigType- } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'AccessConfig' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'acKind'------ * 'acName'------ * 'acNATIP'------ * 'acType'-accessConfig- :: AccessConfig-accessConfig =- AccessConfig'- { _acKind = "compute#accessConfig"- , _acName = Nothing- , _acNATIP = Nothing- , _acType = OneToOneNAT- }---- | [Output Only] Type of the resource. Always compute#accessConfig for--- access configs.-acKind :: Lens' AccessConfig Text-acKind = lens _acKind (\ s a -> s{_acKind = a})---- | Name of this access configuration.-acName :: Lens' AccessConfig (Maybe Text)-acName = lens _acName (\ s a -> s{_acName = a})---- | An external IP address associated with this instance. Specify an unused--- static external IP address available to the project or leave this field--- undefined to use an IP from a shared ephemeral IP address pool. If you--- specify a static external IP address, it must live in the same region as--- the zone of the instance.-acNATIP :: Lens' AccessConfig (Maybe Text)-acNATIP = lens _acNATIP (\ s a -> s{_acNATIP = a})---- | The type of configuration. The default and only option is--- ONE_TO_ONE_NAT.-acType :: Lens' AccessConfig AccessConfigType-acType = lens _acType (\ s a -> s{_acType = a})--instance FromJSON AccessConfig where- parseJSON- = withObject "AccessConfig"- (\ o ->- AccessConfig' <$>- (o .:? "kind" .!= "compute#accessConfig") <*>- (o .:? "name")- <*> (o .:? "natIP")- <*> (o .:? "type" .!= OneToOneNAT))--instance ToJSON AccessConfig where- toJSON AccessConfig'{..}- = object- (catMaybes- [Just ("kind" .= _acKind), ("name" .=) <$> _acName,- ("natIP" .=) <$> _acNATIP, Just ("type" .= _acType)])------- /See:/ 'managedInstanceLastAttemptErrorsErrorsItem' smart constructor.-data ManagedInstanceLastAttemptErrorsErrorsItem = ManagedInstanceLastAttemptErrorsErrorsItem'- { _milaeeiLocation :: !(Maybe Text)- , _milaeeiCode :: !(Maybe Text)- , _milaeeiMessage :: !(Maybe Text)- } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'ManagedInstanceLastAttemptErrorsErrorsItem' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'milaeeiLocation'------ * 'milaeeiCode'------ * 'milaeeiMessage'-managedInstanceLastAttemptErrorsErrorsItem- :: ManagedInstanceLastAttemptErrorsErrorsItem-managedInstanceLastAttemptErrorsErrorsItem =- ManagedInstanceLastAttemptErrorsErrorsItem'- { _milaeeiLocation = Nothing- , _milaeeiCode = Nothing- , _milaeeiMessage = Nothing- }---- | [Output Only] Indicates the field in the request that caused the error.--- This property is optional.-milaeeiLocation :: Lens' ManagedInstanceLastAttemptErrorsErrorsItem (Maybe Text)-milaeeiLocation- = lens _milaeeiLocation- (\ s a -> s{_milaeeiLocation = a})---- | [Output Only] The error type identifier for this error.-milaeeiCode :: Lens' ManagedInstanceLastAttemptErrorsErrorsItem (Maybe Text)-milaeeiCode- = lens _milaeeiCode (\ s a -> s{_milaeeiCode = a})---- | [Output Only] An optional, human-readable error message.-milaeeiMessage :: Lens' ManagedInstanceLastAttemptErrorsErrorsItem (Maybe Text)-milaeeiMessage- = lens _milaeeiMessage- (\ s a -> s{_milaeeiMessage = a})--instance FromJSON- ManagedInstanceLastAttemptErrorsErrorsItem where- parseJSON- = withObject- "ManagedInstanceLastAttemptErrorsErrorsItem"- (\ o ->- ManagedInstanceLastAttemptErrorsErrorsItem' <$>- (o .:? "location") <*> (o .:? "code") <*>- (o .:? "message"))--instance ToJSON- ManagedInstanceLastAttemptErrorsErrorsItem where- toJSON- ManagedInstanceLastAttemptErrorsErrorsItem'{..}- = object- (catMaybes- [("location" .=) <$> _milaeeiLocation,- ("code" .=) <$> _milaeeiCode,- ("message" .=) <$> _milaeeiMessage])------- /See:/ 'instancesScopedListWarningDataItem' smart constructor.-data InstancesScopedListWarningDataItem = InstancesScopedListWarningDataItem'- { _islwdiValue :: !(Maybe Text)- , _islwdiKey :: !(Maybe Text)- } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'InstancesScopedListWarningDataItem' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'islwdiValue'------ * 'islwdiKey'-instancesScopedListWarningDataItem- :: InstancesScopedListWarningDataItem-instancesScopedListWarningDataItem =- InstancesScopedListWarningDataItem'- { _islwdiValue = Nothing- , _islwdiKey = Nothing- }---- | [Output Only] A warning data value corresponding to the key.-islwdiValue :: Lens' InstancesScopedListWarningDataItem (Maybe Text)-islwdiValue- = lens _islwdiValue (\ s a -> s{_islwdiValue = a})---- | [Output Only] A key that provides more detail on the warning being--- returned. For example, for warnings where there are no results in a list--- request for a particular zone, this key might be scope and the key value--- might be the zone name. Other examples might be a key indicating a--- deprecated resource and a suggested replacement, or a warning about--- invalid network settings (for example, if an instance attempts to--- perform IP forwarding but is not enabled for IP forwarding).-islwdiKey :: Lens' InstancesScopedListWarningDataItem (Maybe Text)-islwdiKey- = lens _islwdiKey (\ s a -> s{_islwdiKey = a})--instance FromJSON InstancesScopedListWarningDataItem- where- parseJSON- = withObject "InstancesScopedListWarningDataItem"- (\ o ->- InstancesScopedListWarningDataItem' <$>- (o .:? "value") <*> (o .:? "key"))--instance ToJSON InstancesScopedListWarningDataItem- where- toJSON InstancesScopedListWarningDataItem'{..}- = object- (catMaybes- [("value" .=) <$> _islwdiValue,- ("key" .=) <$> _islwdiKey])---- | A BackendService resource. This resource defines a group of backend--- virtual machines and their serving capacity.------ /See:/ 'backendService' smart constructor.-data BackendService = BackendService'- { _bsBackends :: !(Maybe [Backend])- , _bsKind :: !Text- , _bsFingerprint :: !(Maybe Base64)- , _bsProtocol :: !(Maybe BackendServiceProtocol)- , _bsSelfLink :: !(Maybe Text)- , _bsName :: !(Maybe Text)- , _bsCreationTimestamp :: !(Maybe Text)- , _bsId :: !(Maybe (Textual Word64))- , _bsRegion :: !(Maybe Text)- , _bsTimeoutSec :: !(Maybe (Textual Int32))- , _bsDescription :: !(Maybe Text)- , _bsPortName :: !(Maybe Text)- , _bsHealthChecks :: !(Maybe [Text])- , _bsPort :: !(Maybe (Textual Int32))- } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'BackendService' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'bsBackends'------ * 'bsKind'------ * 'bsFingerprint'------ * 'bsProtocol'------ * 'bsSelfLink'------ * 'bsName'------ * 'bsCreationTimestamp'------ * 'bsId'------ * 'bsRegion'------ * 'bsTimeoutSec'------ * 'bsDescription'------ * 'bsPortName'------ * 'bsHealthChecks'------ * 'bsPort'-backendService- :: BackendService-backendService =- BackendService'- { _bsBackends = Nothing- , _bsKind = "compute#backendService"- , _bsFingerprint = Nothing- , _bsProtocol = Nothing- , _bsSelfLink = Nothing- , _bsName = Nothing- , _bsCreationTimestamp = Nothing- , _bsId = Nothing- , _bsRegion = Nothing- , _bsTimeoutSec = Nothing- , _bsDescription = Nothing- , _bsPortName = Nothing- , _bsHealthChecks = Nothing- , _bsPort = Nothing- }---- | The list of backends that serve this BackendService.-bsBackends :: Lens' BackendService [Backend]-bsBackends- = lens _bsBackends (\ s a -> s{_bsBackends = a}) .- _Default- . _Coerce---- | [Output Only] Type of resource. Always compute#backendService for--- backend services.-bsKind :: Lens' BackendService Text-bsKind = lens _bsKind (\ s a -> s{_bsKind = a})---- | Fingerprint of this resource. A hash of the contents stored in this--- object. This field is used in optimistic locking. This field will be--- ignored when inserting a BackendService. An up-to-date fingerprint must--- be provided in order to update the BackendService.-bsFingerprint :: Lens' BackendService (Maybe ByteString)-bsFingerprint- = lens _bsFingerprint- (\ s a -> s{_bsFingerprint = a})- . mapping _Base64---- | The protocol this BackendService uses to communicate with backends.--- Possible values are HTTP, HTTPS, HTTP2, TCP and SSL.-bsProtocol :: Lens' BackendService (Maybe BackendServiceProtocol)-bsProtocol- = lens _bsProtocol (\ s a -> s{_bsProtocol = a})---- | [Output Only] Server-defined URL for the resource.-bsSelfLink :: Lens' BackendService (Maybe Text)-bsSelfLink- = lens _bsSelfLink (\ s a -> s{_bsSelfLink = a})---- | Name of the resource. Provided by the client when the resource is--- created. The name must be 1-63 characters long, and comply with RFC1035.--- Specifically, the name must be 1-63 characters long and match the--- regular expression [a-z]([-a-z0-9]*[a-z0-9])? which means the first--- character must be a lowercase letter, and all following characters must--- be a dash, lowercase letter, or digit, except the last character, which--- cannot be a dash.-bsName :: Lens' BackendService (Maybe Text)-bsName = lens _bsName (\ s a -> s{_bsName = a})---- | [Output Only] Creation timestamp in RFC3339 text format.-bsCreationTimestamp :: Lens' BackendService (Maybe Text)-bsCreationTimestamp- = lens _bsCreationTimestamp- (\ s a -> s{_bsCreationTimestamp = a})---- | [Output Only] The unique identifier for the resource. This identifier is--- defined by the server.-bsId :: Lens' BackendService (Maybe Word64)-bsId- = lens _bsId (\ s a -> s{_bsId = a}) .- mapping _Coerce---- | [Output Only] URL of the region where the regional backend service--- resides. This field is not applicable to global backend services.-bsRegion :: Lens' BackendService (Maybe Text)-bsRegion = lens _bsRegion (\ s a -> s{_bsRegion = a})---- | How many seconds to wait for the backend before considering it a failed--- request. Default is 30 seconds.-bsTimeoutSec :: Lens' BackendService (Maybe Int32)-bsTimeoutSec- = lens _bsTimeoutSec (\ s a -> s{_bsTimeoutSec = a})- . mapping _Coerce---- | An optional description of this resource. Provide this property when you--- create the resource.-bsDescription :: Lens' BackendService (Maybe Text)-bsDescription- = lens _bsDescription- (\ s a -> s{_bsDescription = a})---- | Name of backend port. The same name should appear in the instance groups--- referenced by this service. Required.-bsPortName :: Lens' BackendService (Maybe Text)-bsPortName- = lens _bsPortName (\ s a -> s{_bsPortName = a})---- | The list of URLs to the HttpHealthCheck or HttpsHealthCheck resource for--- health checking this BackendService. Currently at most one health check--- can be specified, and a health check is required.-bsHealthChecks :: Lens' BackendService [Text]-bsHealthChecks- = lens _bsHealthChecks- (\ s a -> s{_bsHealthChecks = a})- . _Default- . _Coerce---- | Deprecated in favor of portName. The TCP port to connect on the backend.--- The default value is 80.-bsPort :: Lens' BackendService (Maybe Int32)-bsPort- = lens _bsPort (\ s a -> s{_bsPort = a}) .- mapping _Coerce--instance FromJSON BackendService where- parseJSON- = withObject "BackendService"- (\ o ->- BackendService' <$>- (o .:? "backends" .!= mempty) <*>- (o .:? "kind" .!= "compute#backendService")- <*> (o .:? "fingerprint")- <*> (o .:? "protocol")- <*> (o .:? "selfLink")- <*> (o .:? "name")- <*> (o .:? "creationTimestamp")- <*> (o .:? "id")- <*> (o .:? "region")- <*> (o .:? "timeoutSec")- <*> (o .:? "description")- <*> (o .:? "portName")- <*> (o .:? "healthChecks" .!= mempty)- <*> (o .:? "port"))--instance ToJSON BackendService where- toJSON BackendService'{..}- = object- (catMaybes- [("backends" .=) <$> _bsBackends,- Just ("kind" .= _bsKind),- ("fingerprint" .=) <$> _bsFingerprint,- ("protocol" .=) <$> _bsProtocol,- ("selfLink" .=) <$> _bsSelfLink,- ("name" .=) <$> _bsName,- ("creationTimestamp" .=) <$> _bsCreationTimestamp,- ("id" .=) <$> _bsId, ("region" .=) <$> _bsRegion,- ("timeoutSec" .=) <$> _bsTimeoutSec,- ("description" .=) <$> _bsDescription,- ("portName" .=) <$> _bsPortName,- ("healthChecks" .=) <$> _bsHealthChecks,- ("port" .=) <$> _bsPort])------- /See:/ 'instanceMoveRequest' smart constructor.-data InstanceMoveRequest = InstanceMoveRequest'- { _imrTargetInstance :: !(Maybe Text)- , _imrDestinationZone :: !(Maybe Text)- } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'InstanceMoveRequest' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'imrTargetInstance'------ * 'imrDestinationZone'-instanceMoveRequest- :: InstanceMoveRequest-instanceMoveRequest =- InstanceMoveRequest'- { _imrTargetInstance = Nothing- , _imrDestinationZone = Nothing- }---- | The URL of the target instance to move. This can be a full or partial--- URL. For example, the following are all valid URLs to an instance: ---- https:\/\/www.googleapis.com\/compute\/v1\/projects\/project\/zones\/zone\/instances\/instance--- - projects\/project\/zones\/zone\/instances\/instance ---- zones\/zone\/instances\/instance-imrTargetInstance :: Lens' InstanceMoveRequest (Maybe Text)-imrTargetInstance- = lens _imrTargetInstance- (\ s a -> s{_imrTargetInstance = a})---- | The URL of the destination zone to move the instance. This can be a full--- or partial URL. For example, the following are all valid URLs to a zone:--- ---- https:\/\/www.googleapis.com\/compute\/v1\/projects\/project\/zones\/zone--- - projects\/project\/zones\/zone - zones\/zone-imrDestinationZone :: Lens' InstanceMoveRequest (Maybe Text)-imrDestinationZone- = lens _imrDestinationZone- (\ s a -> s{_imrDestinationZone = a})--instance FromJSON InstanceMoveRequest where- parseJSON- = withObject "InstanceMoveRequest"- (\ o ->- InstanceMoveRequest' <$>- (o .:? "targetInstance") <*>- (o .:? "destinationZone"))--instance ToJSON InstanceMoveRequest where- toJSON InstanceMoveRequest'{..}- = object- (catMaybes- [("targetInstance" .=) <$> _imrTargetInstance,- ("destinationZone" .=) <$> _imrDestinationZone])------- /See:/ 'instanceGroupsScopedList' smart constructor.-data InstanceGroupsScopedList = InstanceGroupsScopedList'- { _igslWarning :: !(Maybe InstanceGroupsScopedListWarning)- , _igslInstanceGroups :: !(Maybe [InstanceGroup])- } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'InstanceGroupsScopedList' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'igslWarning'------ * 'igslInstanceGroups'-instanceGroupsScopedList- :: InstanceGroupsScopedList-instanceGroupsScopedList =- InstanceGroupsScopedList'- { _igslWarning = Nothing- , _igslInstanceGroups = Nothing- }---- | [Output Only] An informational warning that replaces the list of--- instance groups when the list is empty.-igslWarning :: Lens' InstanceGroupsScopedList (Maybe InstanceGroupsScopedListWarning)-igslWarning- = lens _igslWarning (\ s a -> s{_igslWarning = a})---- | [Output Only] The list of instance groups that are contained in this--- scope.-igslInstanceGroups :: Lens' InstanceGroupsScopedList [InstanceGroup]-igslInstanceGroups- = lens _igslInstanceGroups- (\ s a -> s{_igslInstanceGroups = a})- . _Default- . _Coerce--instance FromJSON InstanceGroupsScopedList where- parseJSON- = withObject "InstanceGroupsScopedList"- (\ o ->- InstanceGroupsScopedList' <$>- (o .:? "warning") <*>- (o .:? "instanceGroups" .!= mempty))--instance ToJSON InstanceGroupsScopedList where- toJSON InstanceGroupsScopedList'{..}- = object- (catMaybes- [("warning" .=) <$> _igslWarning,- ("instanceGroups" .=) <$> _igslInstanceGroups])---- | An HttpsHealthCheck resource. This resource defines a template for how--- individual instances should be checked for health, via HTTPS.------ /See:/ 'httpsHealthCheck' smart constructor.-data HTTPSHealthCheck = HTTPSHealthCheck'- { _hhcHealthyThreshold :: !(Maybe (Textual Int32))- , _hhcKind :: !Text- , _hhcRequestPath :: !(Maybe Text)- , _hhcSelfLink :: !(Maybe Text)- , _hhcCheckIntervalSec :: !(Maybe (Textual Int32))- , _hhcName :: !(Maybe Text)- , _hhcCreationTimestamp :: !(Maybe Text)- , _hhcId :: !(Maybe (Textual Word64))- , _hhcHost :: !(Maybe Text)- , _hhcTimeoutSec :: !(Maybe (Textual Int32))- , _hhcDescription :: !(Maybe Text)- , _hhcUnhealthyThreshold :: !(Maybe (Textual Int32))- , _hhcPort :: !(Maybe (Textual Int32))- } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'HTTPSHealthCheck' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'hhcHealthyThreshold'------ * 'hhcKind'------ * 'hhcRequestPath'------ * 'hhcSelfLink'------ * 'hhcCheckIntervalSec'------ * 'hhcName'------ * 'hhcCreationTimestamp'------ * 'hhcId'------ * 'hhcHost'------ * 'hhcTimeoutSec'------ * 'hhcDescription'------ * 'hhcUnhealthyThreshold'------ * 'hhcPort'-httpsHealthCheck- :: HTTPSHealthCheck-httpsHealthCheck =- HTTPSHealthCheck'- { _hhcHealthyThreshold = Nothing- , _hhcKind = "compute#httpsHealthCheck"- , _hhcRequestPath = Nothing- , _hhcSelfLink = Nothing- , _hhcCheckIntervalSec = Nothing- , _hhcName = Nothing- , _hhcCreationTimestamp = Nothing- , _hhcId = Nothing- , _hhcHost = Nothing- , _hhcTimeoutSec = Nothing- , _hhcDescription = Nothing- , _hhcUnhealthyThreshold = Nothing- , _hhcPort = Nothing- }---- | A so-far unhealthy instance will be marked healthy after this many--- consecutive successes. The default value is 2.-hhcHealthyThreshold :: Lens' HTTPSHealthCheck (Maybe Int32)-hhcHealthyThreshold- = lens _hhcHealthyThreshold- (\ s a -> s{_hhcHealthyThreshold = a})- . mapping _Coerce---- | Type of the resource.-hhcKind :: Lens' HTTPSHealthCheck Text-hhcKind = lens _hhcKind (\ s a -> s{_hhcKind = a})---- | The request path of the HTTPS health check request. The default value is--- \"\/\".-hhcRequestPath :: Lens' HTTPSHealthCheck (Maybe Text)-hhcRequestPath- = lens _hhcRequestPath- (\ s a -> s{_hhcRequestPath = a})---- | [Output Only] Server-defined URL for the resource.-hhcSelfLink :: Lens' HTTPSHealthCheck (Maybe Text)-hhcSelfLink- = lens _hhcSelfLink (\ s a -> s{_hhcSelfLink = a})---- | How often (in seconds) to send a health check. The default value is 5--- seconds.-hhcCheckIntervalSec :: Lens' HTTPSHealthCheck (Maybe Int32)-hhcCheckIntervalSec- = lens _hhcCheckIntervalSec- (\ s a -> s{_hhcCheckIntervalSec = a})- . mapping _Coerce---- | Name of the resource. Provided by the client when the resource is--- created. The name must be 1-63 characters long, and comply with RFC1035.--- Specifically, the name must be 1-63 characters long and match the--- regular expression [a-z]([-a-z0-9]*[a-z0-9])? which means the first--- character must be a lowercase letter, and all following characters must--- be a dash, lowercase letter, or digit, except the last character, which--- cannot be a dash.-hhcName :: Lens' HTTPSHealthCheck (Maybe Text)-hhcName = lens _hhcName (\ s a -> s{_hhcName = a})---- | [Output Only] Creation timestamp in RFC3339 text format.-hhcCreationTimestamp :: Lens' HTTPSHealthCheck (Maybe Text)-hhcCreationTimestamp- = lens _hhcCreationTimestamp- (\ s a -> s{_hhcCreationTimestamp = a})---- | [Output Only] The unique identifier for the resource. This identifier is--- defined by the server.-hhcId :: Lens' HTTPSHealthCheck (Maybe Word64)-hhcId- = lens _hhcId (\ s a -> s{_hhcId = a}) .- mapping _Coerce---- | The value of the host header in the HTTPS health check request. If left--- empty (default value), the public IP on behalf of which this health--- check is performed will be used.-hhcHost :: Lens' HTTPSHealthCheck (Maybe Text)-hhcHost = lens _hhcHost (\ s a -> s{_hhcHost = a})---- | How long (in seconds) to wait before claiming failure. The default value--- is 5 seconds. It is invalid for timeoutSec to have a greater value than--- checkIntervalSec.-hhcTimeoutSec :: Lens' HTTPSHealthCheck (Maybe Int32)-hhcTimeoutSec- = lens _hhcTimeoutSec- (\ s a -> s{_hhcTimeoutSec = a})- . mapping _Coerce---- | An optional description of this resource. Provide this property when you--- create the resource.-hhcDescription :: Lens' HTTPSHealthCheck (Maybe Text)-hhcDescription- = lens _hhcDescription- (\ s a -> s{_hhcDescription = a})---- | A so-far healthy instance will be marked unhealthy after this many--- consecutive failures. The default value is 2.-hhcUnhealthyThreshold :: Lens' HTTPSHealthCheck (Maybe Int32)-hhcUnhealthyThreshold- = lens _hhcUnhealthyThreshold- (\ s a -> s{_hhcUnhealthyThreshold = a})- . mapping _Coerce---- | The TCP port number for the HTTPS health check request. The default--- value is 443.-hhcPort :: Lens' HTTPSHealthCheck (Maybe Int32)-hhcPort- = lens _hhcPort (\ s a -> s{_hhcPort = a}) .- mapping _Coerce--instance FromJSON HTTPSHealthCheck where- parseJSON- = withObject "HTTPSHealthCheck"- (\ o ->- HTTPSHealthCheck' <$>- (o .:? "healthyThreshold") <*>- (o .:? "kind" .!= "compute#httpsHealthCheck")- <*> (o .:? "requestPath")- <*> (o .:? "selfLink")- <*> (o .:? "checkIntervalSec")- <*> (o .:? "name")- <*> (o .:? "creationTimestamp")- <*> (o .:? "id")- <*> (o .:? "host")- <*> (o .:? "timeoutSec")- <*> (o .:? "description")- <*> (o .:? "unhealthyThreshold")- <*> (o .:? "port"))--instance ToJSON HTTPSHealthCheck where- toJSON HTTPSHealthCheck'{..}- = object- (catMaybes- [("healthyThreshold" .=) <$> _hhcHealthyThreshold,- Just ("kind" .= _hhcKind),- ("requestPath" .=) <$> _hhcRequestPath,- ("selfLink" .=) <$> _hhcSelfLink,- ("checkIntervalSec" .=) <$> _hhcCheckIntervalSec,- ("name" .=) <$> _hhcName,- ("creationTimestamp" .=) <$> _hhcCreationTimestamp,- ("id" .=) <$> _hhcId, ("host" .=) <$> _hhcHost,- ("timeoutSec" .=) <$> _hhcTimeoutSec,- ("description" .=) <$> _hhcDescription,- ("unhealthyThreshold" .=) <$> _hhcUnhealthyThreshold,- ("port" .=) <$> _hhcPort])---- | [Output Only] A map of scoped vpn tunnel lists.------ /See:/ 'vpnTunnelAggregatedListItems' smart constructor.-newtype VPNTunnelAggregatedListItems = VPNTunnelAggregatedListItems'- { _vtaliAddtional :: HashMap Text VPNTunnelsScopedList- } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'VPNTunnelAggregatedListItems' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'vtaliAddtional'-vpnTunnelAggregatedListItems- :: HashMap Text VPNTunnelsScopedList -- ^ 'vtaliAddtional'- -> VPNTunnelAggregatedListItems-vpnTunnelAggregatedListItems pVtaliAddtional_ =- VPNTunnelAggregatedListItems'- { _vtaliAddtional = _Coerce # pVtaliAddtional_- }---- | Name of the scope containing this set of vpn tunnels.-vtaliAddtional :: Lens' VPNTunnelAggregatedListItems (HashMap Text VPNTunnelsScopedList)-vtaliAddtional- = lens _vtaliAddtional- (\ s a -> s{_vtaliAddtional = a})- . _Coerce--instance FromJSON VPNTunnelAggregatedListItems where- parseJSON- = withObject "VPNTunnelAggregatedListItems"- (\ o ->- VPNTunnelAggregatedListItems' <$>- (parseJSONObject o))--instance ToJSON VPNTunnelAggregatedListItems where- toJSON = toJSON . _vtaliAddtional---- | A set of instance tags.------ /See:/ 'tags' smart constructor.-data Tags = Tags'- { _tFingerprint :: !(Maybe Base64)- , _tItems :: !(Maybe [Text])- } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'Tags' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'tFingerprint'------ * 'tItems'-tags- :: Tags-tags =- Tags'- { _tFingerprint = Nothing- , _tItems = Nothing- }---- | Specifies a fingerprint for this request, which is essentially a hash of--- the metadata\'s contents and used for optimistic locking. The--- fingerprint is initially generated by Compute Engine and changes after--- every request to modify or update metadata. You must always provide an--- up-to-date fingerprint hash in order to update or change metadata. To--- see the latest fingerprint, make get() request to the instance.-tFingerprint :: Lens' Tags (Maybe ByteString)-tFingerprint- = lens _tFingerprint (\ s a -> s{_tFingerprint = a})- . mapping _Base64---- | An array of tags. Each tag must be 1-63 characters long, and comply with--- RFC1035.-tItems :: Lens' Tags [Text]-tItems- = lens _tItems (\ s a -> s{_tItems = a}) . _Default .- _Coerce--instance FromJSON Tags where- parseJSON- = withObject "Tags"- (\ o ->- Tags' <$>- (o .:? "fingerprint") <*> (o .:? "items" .!= mempty))--instance ToJSON Tags where- toJSON Tags'{..}- = object- (catMaybes- [("fingerprint" .=) <$> _tFingerprint,- ("items" .=) <$> _tItems])------- /See:/ 'addressAggregatedList' smart constructor.-data AddressAggregatedList = AddressAggregatedList'- { _addNextPageToken :: !(Maybe Text)- , _addKind :: !Text- , _addItems :: !(Maybe AddressAggregatedListItems)- , _addSelfLink :: !(Maybe Text)- , _addId :: !(Maybe Text)- } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'AddressAggregatedList' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'addNextPageToken'------ * 'addKind'------ * 'addItems'------ * 'addSelfLink'------ * 'addId'-addressAggregatedList- :: AddressAggregatedList-addressAggregatedList =- AddressAggregatedList'- { _addNextPageToken = Nothing- , _addKind = "compute#addressAggregatedList"- , _addItems = Nothing- , _addSelfLink = Nothing- , _addId = Nothing- }---- | [Output Only] This token allows you to get the next page of results for--- list requests. If the number of results is larger than maxResults, use--- the nextPageToken as a value for the query parameter pageToken in the--- next list request. Subsequent list requests will have their own--- nextPageToken to continue paging through the results.-addNextPageToken :: Lens' AddressAggregatedList (Maybe Text)-addNextPageToken- = lens _addNextPageToken- (\ s a -> s{_addNextPageToken = a})---- | [Output Only] Type of resource. Always compute#addressAggregatedList for--- aggregated lists of addresses.-addKind :: Lens' AddressAggregatedList Text-addKind = lens _addKind (\ s a -> s{_addKind = a})---- | [Output Only] A map of scoped address lists.-addItems :: Lens' AddressAggregatedList (Maybe AddressAggregatedListItems)-addItems = lens _addItems (\ s a -> s{_addItems = a})---- | [Output Only] Server-defined URL for this resource.-addSelfLink :: Lens' AddressAggregatedList (Maybe Text)-addSelfLink- = lens _addSelfLink (\ s a -> s{_addSelfLink = a})---- | [Output Only] Unique identifier for the resource; defined by the server.-addId :: Lens' AddressAggregatedList (Maybe Text)-addId = lens _addId (\ s a -> s{_addId = a})--instance FromJSON AddressAggregatedList where- parseJSON- = withObject "AddressAggregatedList"- (\ o ->- AddressAggregatedList' <$>- (o .:? "nextPageToken") <*>- (o .:? "kind" .!= "compute#addressAggregatedList")- <*> (o .:? "items")- <*> (o .:? "selfLink")- <*> (o .:? "id"))--instance ToJSON AddressAggregatedList where- toJSON AddressAggregatedList'{..}- = object- (catMaybes- [("nextPageToken" .=) <$> _addNextPageToken,- Just ("kind" .= _addKind),- ("items" .=) <$> _addItems,- ("selfLink" .=) <$> _addSelfLink,- ("id" .=) <$> _addId])------- /See:/ 'operationWarningsItem' smart constructor.-data OperationWarningsItem = OperationWarningsItem'- { _owiData :: !(Maybe [OperationWarningsItemDataItem])- , _owiCode :: !(Maybe OperationWarningsItemCode)- , _owiMessage :: !(Maybe Text)- } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'OperationWarningsItem' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'owiData'------ * 'owiCode'------ * 'owiMessage'-operationWarningsItem- :: OperationWarningsItem-operationWarningsItem =- OperationWarningsItem'- { _owiData = Nothing- , _owiCode = Nothing- , _owiMessage = Nothing- }---- | [Output Only] Metadata about this warning in key: value format. For--- example: \"data\": [ { \"key\": \"scope\", \"value\":--- \"zones\/us-east1-d\" }-owiData :: Lens' OperationWarningsItem [OperationWarningsItemDataItem]-owiData- = lens _owiData (\ s a -> s{_owiData = a}) . _Default- . _Coerce---- | [Output Only] A warning code, if applicable. For example, Compute Engine--- returns NO_RESULTS_ON_PAGE if there are no results in the response.-owiCode :: Lens' OperationWarningsItem (Maybe OperationWarningsItemCode)-owiCode = lens _owiCode (\ s a -> s{_owiCode = a})---- | [Output Only] A human-readable description of the warning code.-owiMessage :: Lens' OperationWarningsItem (Maybe Text)-owiMessage- = lens _owiMessage (\ s a -> s{_owiMessage = a})--instance FromJSON OperationWarningsItem where- parseJSON- = withObject "OperationWarningsItem"- (\ o ->- OperationWarningsItem' <$>- (o .:? "data" .!= mempty) <*> (o .:? "code") <*>- (o .:? "message"))--instance ToJSON OperationWarningsItem where- toJSON OperationWarningsItem'{..}- = object- (catMaybes- [("data" .=) <$> _owiData, ("code" .=) <$> _owiCode,- ("message" .=) <$> _owiMessage])---- | Message for the expected URL mappings.------ /See:/ 'urlMapTest' smart constructor.-data URLMapTest = URLMapTest'- { _umtPath :: !(Maybe Text)- , _umtService :: !(Maybe Text)- , _umtHost :: !(Maybe Text)- , _umtDescription :: !(Maybe Text)- } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'URLMapTest' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'umtPath'------ * 'umtService'------ * 'umtHost'------ * 'umtDescription'-urlMapTest- :: URLMapTest-urlMapTest =- URLMapTest'- { _umtPath = Nothing- , _umtService = Nothing- , _umtHost = Nothing- , _umtDescription = Nothing- }---- | Path portion of the URL.-umtPath :: Lens' URLMapTest (Maybe Text)-umtPath = lens _umtPath (\ s a -> s{_umtPath = a})---- | Expected BackendService resource the given URL should be mapped to.-umtService :: Lens' URLMapTest (Maybe Text)-umtService- = lens _umtService (\ s a -> s{_umtService = a})---- | Host portion of the URL.-umtHost :: Lens' URLMapTest (Maybe Text)-umtHost = lens _umtHost (\ s a -> s{_umtHost = a})---- | Description of this test case.-umtDescription :: Lens' URLMapTest (Maybe Text)-umtDescription- = lens _umtDescription- (\ s a -> s{_umtDescription = a})--instance FromJSON URLMapTest where- parseJSON- = withObject "URLMapTest"- (\ o ->- URLMapTest' <$>- (o .:? "path") <*> (o .:? "service") <*>- (o .:? "host")- <*> (o .:? "description"))--instance ToJSON URLMapTest where- toJSON URLMapTest'{..}- = object- (catMaybes- [("path" .=) <$> _umtPath,- ("service" .=) <$> _umtService,- ("host" .=) <$> _umtHost,- ("description" .=) <$> _umtDescription])---- | An Instance resource.------ /See:/ 'instance'' smart constructor.-data Instance = Instance'- { _insnStatus :: !(Maybe InstanceStatus)- , _insnServiceAccounts :: !(Maybe [ServiceAccount])- , _insnNetworkInterfaces :: !(Maybe [NetworkInterface])- , _insnKind :: !Text- , _insnZone :: !(Maybe Text)- , _insnCPUPlatform :: !(Maybe Text)- , _insnSelfLink :: !(Maybe Text)- , _insnName :: !(Maybe Text)- , _insnStatusMessage :: !(Maybe Text)- , _insnCreationTimestamp :: !(Maybe Text)- , _insnMachineType :: !(Maybe Text)- , _insnMetadata :: !(Maybe Metadata)- , _insnId :: !(Maybe (Textual Word64))- , _insnScheduling :: !(Maybe Scheduling)- , _insnDisks :: !(Maybe [AttachedDisk])- , _insnCanIPForward :: !(Maybe Bool)- , _insnDescription :: !(Maybe Text)- , _insnTags :: !(Maybe Tags)- } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'Instance' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'insnStatus'------ * 'insnServiceAccounts'------ * 'insnNetworkInterfaces'------ * 'insnKind'------ * 'insnZone'------ * 'insnCPUPlatform'------ * 'insnSelfLink'------ * 'insnName'------ * 'insnStatusMessage'------ * 'insnCreationTimestamp'------ * 'insnMachineType'------ * 'insnMetadata'------ * 'insnId'------ * 'insnScheduling'------ * 'insnDisks'------ * 'insnCanIPForward'------ * 'insnDescription'------ * 'insnTags'-instance'- :: Instance-instance' =- Instance'- { _insnStatus = Nothing- , _insnServiceAccounts = Nothing- , _insnNetworkInterfaces = Nothing- , _insnKind = "compute#instance"- , _insnZone = Nothing- , _insnCPUPlatform = Nothing- , _insnSelfLink = Nothing- , _insnName = Nothing- , _insnStatusMessage = Nothing- , _insnCreationTimestamp = Nothing- , _insnMachineType = Nothing- , _insnMetadata = Nothing- , _insnId = Nothing- , _insnScheduling = Nothing- , _insnDisks = Nothing- , _insnCanIPForward = Nothing- , _insnDescription = Nothing- , _insnTags = Nothing- }---- | [Output Only] The status of the instance. One of the following values:--- PROVISIONING, STAGING, RUNNING, STOPPING, and TERMINATED.-insnStatus :: Lens' Instance (Maybe InstanceStatus)-insnStatus- = lens _insnStatus (\ s a -> s{_insnStatus = a})---- | A list of service accounts, with their specified scopes, authorized for--- this instance. Service accounts generate access tokens that can be--- accessed through the metadata server and used to authenticate--- applications on the instance. See Authenticating from Google Compute--- Engine for more information.-insnServiceAccounts :: Lens' Instance [ServiceAccount]-insnServiceAccounts- = lens _insnServiceAccounts- (\ s a -> s{_insnServiceAccounts = a})- . _Default- . _Coerce---- | An array of configurations for this interface. This specifies how this--- interface is configured to interact with other network services, such as--- connecting to the internet.+-- /See:/ 'routersScopedList' smart constructor.+data RoutersScopedList = RoutersScopedList'+ { _rslRouters :: !(Maybe [Router])+ , _rslWarning :: !(Maybe RoutersScopedListWarning)+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'RoutersScopedList' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'rslRouters'+--+-- * 'rslWarning'+routersScopedList+ :: RoutersScopedList+routersScopedList =+ RoutersScopedList'+ { _rslRouters = Nothing+ , _rslWarning = Nothing+ }++-- | List of routers contained in this scope.+rslRouters :: Lens' RoutersScopedList [Router]+rslRouters+ = lens _rslRouters (\ s a -> s{_rslRouters = a}) .+ _Default+ . _Coerce++-- | Informational warning which replaces the list of routers when the list+-- is empty.+rslWarning :: Lens' RoutersScopedList (Maybe RoutersScopedListWarning)+rslWarning+ = lens _rslWarning (\ s a -> s{_rslWarning = a})++instance FromJSON RoutersScopedList where+ parseJSON+ = withObject "RoutersScopedList"+ (\ o ->+ RoutersScopedList' <$>+ (o .:? "routers" .!= mempty) <*> (o .:? "warning"))++instance ToJSON RoutersScopedList where+ toJSON RoutersScopedList'{..}+ = object+ (catMaybes+ [("routers" .=) <$> _rslRouters,+ ("warning" .=) <$> _rslWarning])++--+-- /See:/ 'routerStatusResponse' smart constructor.+data RouterStatusResponse = RouterStatusResponse'+ { _rsrKind :: !Text+ , _rsrResult :: !(Maybe RouterStatus)+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'RouterStatusResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'rsrKind'+--+-- * 'rsrResult'+routerStatusResponse+ :: RouterStatusResponse+routerStatusResponse =+ RouterStatusResponse'+ { _rsrKind = "compute#routerStatusResponse"+ , _rsrResult = Nothing+ }++-- | Type of resource.+rsrKind :: Lens' RouterStatusResponse Text+rsrKind = lens _rsrKind (\ s a -> s{_rsrKind = a})++rsrResult :: Lens' RouterStatusResponse (Maybe RouterStatus)+rsrResult+ = lens _rsrResult (\ s a -> s{_rsrResult = a})++instance FromJSON RouterStatusResponse where+ parseJSON+ = withObject "RouterStatusResponse"+ (\ o ->+ RouterStatusResponse' <$>+ (o .:? "kind" .!= "compute#routerStatusResponse") <*>+ (o .:? "result"))++instance ToJSON RouterStatusResponse where+ toJSON RouterStatusResponse'{..}+ = object+ (catMaybes+ [Just ("kind" .= _rsrKind),+ ("result" .=) <$> _rsrResult])++--+-- /See:/ 'addressesScopedList' smart constructor.+data AddressesScopedList = AddressesScopedList'+ { _aslAddresses :: !(Maybe [Address])+ , _aslWarning :: !(Maybe AddressesScopedListWarning)+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'AddressesScopedList' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'aslAddresses'+--+-- * 'aslWarning'+addressesScopedList+ :: AddressesScopedList+addressesScopedList =+ AddressesScopedList'+ { _aslAddresses = Nothing+ , _aslWarning = Nothing+ }++-- | [Output Only] List of addresses contained in this scope.+aslAddresses :: Lens' AddressesScopedList [Address]+aslAddresses+ = lens _aslAddresses (\ s a -> s{_aslAddresses = a})+ . _Default+ . _Coerce++-- | [Output Only] Informational warning which replaces the list of addresses+-- when the list is empty.+aslWarning :: Lens' AddressesScopedList (Maybe AddressesScopedListWarning)+aslWarning+ = lens _aslWarning (\ s a -> s{_aslWarning = a})++instance FromJSON AddressesScopedList where+ parseJSON+ = withObject "AddressesScopedList"+ (\ o ->+ AddressesScopedList' <$>+ (o .:? "addresses" .!= mempty) <*> (o .:? "warning"))++instance ToJSON AddressesScopedList where+ toJSON AddressesScopedList'{..}+ = object+ (catMaybes+ [("addresses" .=) <$> _aslAddresses,+ ("warning" .=) <$> _aslWarning])++--+-- /See:/ 'operationWarningsItemDataItem' smart constructor.+data OperationWarningsItemDataItem = OperationWarningsItemDataItem'+ { _owidiValue :: !(Maybe Text)+ , _owidiKey :: !(Maybe Text)+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'OperationWarningsItemDataItem' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'owidiValue'+--+-- * 'owidiKey'+operationWarningsItemDataItem+ :: OperationWarningsItemDataItem+operationWarningsItemDataItem =+ OperationWarningsItemDataItem'+ { _owidiValue = Nothing+ , _owidiKey = Nothing+ }++-- | [Output Only] A warning data value corresponding to the key.+owidiValue :: Lens' OperationWarningsItemDataItem (Maybe Text)+owidiValue+ = lens _owidiValue (\ s a -> s{_owidiValue = a})++-- | [Output Only] A key that provides more detail on the warning being+-- returned. For example, for warnings where there are no results in a list+-- request for a particular zone, this key might be scope and the key value+-- might be the zone name. Other examples might be a key indicating a+-- deprecated resource and a suggested replacement, or a warning about+-- invalid network settings (for example, if an instance attempts to+-- perform IP forwarding but is not enabled for IP forwarding).+owidiKey :: Lens' OperationWarningsItemDataItem (Maybe Text)+owidiKey = lens _owidiKey (\ s a -> s{_owidiKey = a})++instance FromJSON OperationWarningsItemDataItem where+ parseJSON+ = withObject "OperationWarningsItemDataItem"+ (\ o ->+ OperationWarningsItemDataItem' <$>+ (o .:? "value") <*> (o .:? "key"))++instance ToJSON OperationWarningsItemDataItem where+ toJSON OperationWarningsItemDataItem'{..}+ = object+ (catMaybes+ [("value" .=) <$> _owidiValue,+ ("key" .=) <$> _owidiKey])++--+-- /See:/ 'instanceGroupManagersAbandonInstancesRequest' smart constructor.+newtype InstanceGroupManagersAbandonInstancesRequest = InstanceGroupManagersAbandonInstancesRequest'+ { _igmairInstances :: Maybe [Text]+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'InstanceGroupManagersAbandonInstancesRequest' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'igmairInstances'+instanceGroupManagersAbandonInstancesRequest+ :: InstanceGroupManagersAbandonInstancesRequest+instanceGroupManagersAbandonInstancesRequest =+ InstanceGroupManagersAbandonInstancesRequest'+ { _igmairInstances = Nothing+ }++-- | The URL for one or more instances to abandon from the managed instance+-- group.+igmairInstances :: Lens' InstanceGroupManagersAbandonInstancesRequest [Text]+igmairInstances+ = lens _igmairInstances+ (\ s a -> s{_igmairInstances = a})+ . _Default+ . _Coerce++instance FromJSON+ InstanceGroupManagersAbandonInstancesRequest where+ parseJSON+ = withObject+ "InstanceGroupManagersAbandonInstancesRequest"+ (\ o ->+ InstanceGroupManagersAbandonInstancesRequest' <$>+ (o .:? "instances" .!= mempty))++instance ToJSON+ InstanceGroupManagersAbandonInstancesRequest where+ toJSON+ InstanceGroupManagersAbandonInstancesRequest'{..}+ = object+ (catMaybes [("instances" .=) <$> _igmairInstances])++-- | [Output Only] A map of scoped machine type lists.+--+-- /See:/ 'machineTypeAggregatedListItems' smart constructor.+newtype MachineTypeAggregatedListItems = MachineTypeAggregatedListItems'+ { _mtaliAddtional :: HashMap Text MachineTypesScopedList+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'MachineTypeAggregatedListItems' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'mtaliAddtional'+machineTypeAggregatedListItems+ :: HashMap Text MachineTypesScopedList -- ^ 'mtaliAddtional'+ -> MachineTypeAggregatedListItems+machineTypeAggregatedListItems pMtaliAddtional_ =+ MachineTypeAggregatedListItems'+ { _mtaliAddtional = _Coerce # pMtaliAddtional_+ }++-- | [Output Only] Name of the scope containing this set of machine types.+mtaliAddtional :: Lens' MachineTypeAggregatedListItems (HashMap Text MachineTypesScopedList)+mtaliAddtional+ = lens _mtaliAddtional+ (\ s a -> s{_mtaliAddtional = a})+ . _Coerce++instance FromJSON MachineTypeAggregatedListItems+ where+ parseJSON+ = withObject "MachineTypeAggregatedListItems"+ (\ o ->+ MachineTypeAggregatedListItems' <$>+ (parseJSONObject o))++instance ToJSON MachineTypeAggregatedListItems where+ toJSON = toJSON . _mtaliAddtional++-- | [Output Only] A map of scoped disk type lists.+--+-- /See:/ 'diskTypeAggregatedListItems' smart constructor.+newtype DiskTypeAggregatedListItems = DiskTypeAggregatedListItems'+ { _dtaliAddtional :: HashMap Text DiskTypesScopedList+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'DiskTypeAggregatedListItems' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'dtaliAddtional'+diskTypeAggregatedListItems+ :: HashMap Text DiskTypesScopedList -- ^ 'dtaliAddtional'+ -> DiskTypeAggregatedListItems+diskTypeAggregatedListItems pDtaliAddtional_ =+ DiskTypeAggregatedListItems'+ { _dtaliAddtional = _Coerce # pDtaliAddtional_+ }++-- | [Output Only] Name of the scope containing this set of disk types.+dtaliAddtional :: Lens' DiskTypeAggregatedListItems (HashMap Text DiskTypesScopedList)+dtaliAddtional+ = lens _dtaliAddtional+ (\ s a -> s{_dtaliAddtional = a})+ . _Coerce++instance FromJSON DiskTypeAggregatedListItems where+ parseJSON+ = withObject "DiskTypeAggregatedListItems"+ (\ o ->+ DiskTypeAggregatedListItems' <$> (parseJSONObject o))++instance ToJSON DiskTypeAggregatedListItems where+ toJSON = toJSON . _dtaliAddtional++-- | Contains a list of routers.+--+-- /See:/ 'routerAggregatedList' smart constructor.+data RouterAggregatedList = RouterAggregatedList'+ { _ralNextPageToken :: !(Maybe Text)+ , _ralKind :: !Text+ , _ralItems :: !(Maybe RouterAggregatedListItems)+ , _ralSelfLink :: !(Maybe Text)+ , _ralId :: !(Maybe Text)+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'RouterAggregatedList' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'ralNextPageToken'+--+-- * 'ralKind'+--+-- * 'ralItems'+--+-- * 'ralSelfLink'+--+-- * 'ralId'+routerAggregatedList+ :: RouterAggregatedList+routerAggregatedList =+ RouterAggregatedList'+ { _ralNextPageToken = Nothing+ , _ralKind = "compute#routerAggregatedList"+ , _ralItems = Nothing+ , _ralSelfLink = Nothing+ , _ralId = Nothing+ }++-- | [Output Only] This token allows you to get the next page of results for+-- list requests. If the number of results is larger than maxResults, use+-- the nextPageToken as a value for the query parameter pageToken in the+-- next list request. Subsequent list requests will have their own+-- nextPageToken to continue paging through the results.+ralNextPageToken :: Lens' RouterAggregatedList (Maybe Text)+ralNextPageToken+ = lens _ralNextPageToken+ (\ s a -> s{_ralNextPageToken = a})++-- | Type of resource.+ralKind :: Lens' RouterAggregatedList Text+ralKind = lens _ralKind (\ s a -> s{_ralKind = a})++-- | A map of scoped router lists.+ralItems :: Lens' RouterAggregatedList (Maybe RouterAggregatedListItems)+ralItems = lens _ralItems (\ s a -> s{_ralItems = a})++-- | [Output Only] Server-defined URL for this resource.+ralSelfLink :: Lens' RouterAggregatedList (Maybe Text)+ralSelfLink+ = lens _ralSelfLink (\ s a -> s{_ralSelfLink = a})++-- | [Output Only] The unique identifier for the resource. This identifier is+-- defined by the server.+ralId :: Lens' RouterAggregatedList (Maybe Text)+ralId = lens _ralId (\ s a -> s{_ralId = a})++instance FromJSON RouterAggregatedList where+ parseJSON+ = withObject "RouterAggregatedList"+ (\ o ->+ RouterAggregatedList' <$>+ (o .:? "nextPageToken") <*>+ (o .:? "kind" .!= "compute#routerAggregatedList")+ <*> (o .:? "items")+ <*> (o .:? "selfLink")+ <*> (o .:? "id"))++instance ToJSON RouterAggregatedList where+ toJSON RouterAggregatedList'{..}+ = object+ (catMaybes+ [("nextPageToken" .=) <$> _ralNextPageToken,+ Just ("kind" .= _ralKind),+ ("items" .=) <$> _ralItems,+ ("selfLink" .=) <$> _ralSelfLink,+ ("id" .=) <$> _ralId])++-- | Contains a list of firewalls.+--+-- /See:/ 'firewallList' smart constructor.+data FirewallList = FirewallList'+ { _flNextPageToken :: !(Maybe Text)+ , _flKind :: !Text+ , _flItems :: !(Maybe [Firewall])+ , _flSelfLink :: !(Maybe Text)+ , _flId :: !(Maybe Text)+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'FirewallList' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'flNextPageToken'+--+-- * 'flKind'+--+-- * 'flItems'+--+-- * 'flSelfLink'+--+-- * 'flId'+firewallList+ :: FirewallList+firewallList =+ FirewallList'+ { _flNextPageToken = Nothing+ , _flKind = "compute#firewallList"+ , _flItems = Nothing+ , _flSelfLink = Nothing+ , _flId = Nothing+ }++-- | [Output Only] This token allows you to get the next page of results for+-- list requests. If the number of results is larger than maxResults, use+-- the nextPageToken as a value for the query parameter pageToken in the+-- next list request. Subsequent list requests will have their own+-- nextPageToken to continue paging through the results.+flNextPageToken :: Lens' FirewallList (Maybe Text)+flNextPageToken+ = lens _flNextPageToken+ (\ s a -> s{_flNextPageToken = a})++-- | [Output Only] Type of resource. Always compute#firewallList for lists of+-- firewalls.+flKind :: Lens' FirewallList Text+flKind = lens _flKind (\ s a -> s{_flKind = a})++-- | [Output Only] A list of Firewall resources.+flItems :: Lens' FirewallList [Firewall]+flItems+ = lens _flItems (\ s a -> s{_flItems = a}) . _Default+ . _Coerce++-- | [Output Only] Server-defined URL for this resource.+flSelfLink :: Lens' FirewallList (Maybe Text)+flSelfLink+ = lens _flSelfLink (\ s a -> s{_flSelfLink = a})++-- | [Output Only] The unique identifier for the resource. This identifier is+-- defined by the server.+flId :: Lens' FirewallList (Maybe Text)+flId = lens _flId (\ s a -> s{_flId = a})++instance FromJSON FirewallList where+ parseJSON+ = withObject "FirewallList"+ (\ o ->+ FirewallList' <$>+ (o .:? "nextPageToken") <*>+ (o .:? "kind" .!= "compute#firewallList")+ <*> (o .:? "items" .!= mempty)+ <*> (o .:? "selfLink")+ <*> (o .:? "id"))++instance ToJSON FirewallList where+ toJSON FirewallList'{..}+ = object+ (catMaybes+ [("nextPageToken" .=) <$> _flNextPageToken,+ Just ("kind" .= _flKind), ("items" .=) <$> _flItems,+ ("selfLink" .=) <$> _flSelfLink,+ ("id" .=) <$> _flId])++-- | [Output Only] Informational warning which replaces the list of instances+-- when the list is empty.+--+-- /See:/ 'instancesScopedListWarning' smart constructor.+data InstancesScopedListWarning = InstancesScopedListWarning'+ { _islwData :: !(Maybe [InstancesScopedListWarningDataItem])+ , _islwCode :: !(Maybe InstancesScopedListWarningCode)+ , _islwMessage :: !(Maybe Text)+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'InstancesScopedListWarning' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'islwData'+--+-- * 'islwCode'+--+-- * 'islwMessage'+instancesScopedListWarning+ :: InstancesScopedListWarning+instancesScopedListWarning =+ InstancesScopedListWarning'+ { _islwData = Nothing+ , _islwCode = Nothing+ , _islwMessage = Nothing+ }++-- | [Output Only] Metadata about this warning in key: value format. For+-- example: \"data\": [ { \"key\": \"scope\", \"value\":+-- \"zones\/us-east1-d\" }+islwData :: Lens' InstancesScopedListWarning [InstancesScopedListWarningDataItem]+islwData+ = lens _islwData (\ s a -> s{_islwData = a}) .+ _Default+ . _Coerce++-- | [Output Only] A warning code, if applicable. For example, Compute Engine+-- returns NO_RESULTS_ON_PAGE if there are no results in the response.+islwCode :: Lens' InstancesScopedListWarning (Maybe InstancesScopedListWarningCode)+islwCode = lens _islwCode (\ s a -> s{_islwCode = a})++-- | [Output Only] A human-readable description of the warning code.+islwMessage :: Lens' InstancesScopedListWarning (Maybe Text)+islwMessage+ = lens _islwMessage (\ s a -> s{_islwMessage = a})++instance FromJSON InstancesScopedListWarning where+ parseJSON+ = withObject "InstancesScopedListWarning"+ (\ o ->+ InstancesScopedListWarning' <$>+ (o .:? "data" .!= mempty) <*> (o .:? "code") <*>+ (o .:? "message"))++instance ToJSON InstancesScopedListWarning where+ toJSON InstancesScopedListWarning'{..}+ = object+ (catMaybes+ [("data" .=) <$> _islwData,+ ("code" .=) <$> _islwCode,+ ("message" .=) <$> _islwMessage])++-- | A list of InstanceGroup resources.+--+-- /See:/ 'instanceGroupList' smart constructor.+data InstanceGroupList = InstanceGroupList'+ { _iglNextPageToken :: !(Maybe Text)+ , _iglKind :: !Text+ , _iglItems :: !(Maybe [InstanceGroup])+ , _iglSelfLink :: !(Maybe Text)+ , _iglId :: !(Maybe Text)+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'InstanceGroupList' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'iglNextPageToken'+--+-- * 'iglKind'+--+-- * 'iglItems'+--+-- * 'iglSelfLink'+--+-- * 'iglId'+instanceGroupList+ :: InstanceGroupList+instanceGroupList =+ InstanceGroupList'+ { _iglNextPageToken = Nothing+ , _iglKind = "compute#instanceGroupList"+ , _iglItems = Nothing+ , _iglSelfLink = Nothing+ , _iglId = Nothing+ }++-- | [Output Only] This token allows you to get the next page of results for+-- list requests. If the number of results is larger than maxResults, use+-- the nextPageToken as a value for the query parameter pageToken in the+-- next list request. Subsequent list requests will have their own+-- nextPageToken to continue paging through the results.+iglNextPageToken :: Lens' InstanceGroupList (Maybe Text)+iglNextPageToken+ = lens _iglNextPageToken+ (\ s a -> s{_iglNextPageToken = a})++-- | [Output Only] The resource type, which is always+-- compute#instanceGroupList for instance group lists.+iglKind :: Lens' InstanceGroupList Text+iglKind = lens _iglKind (\ s a -> s{_iglKind = a})++-- | A list of instance groups.+iglItems :: Lens' InstanceGroupList [InstanceGroup]+iglItems+ = lens _iglItems (\ s a -> s{_iglItems = a}) .+ _Default+ . _Coerce++-- | [Output Only] The URL for this resource type. The server generates this+-- URL.+iglSelfLink :: Lens' InstanceGroupList (Maybe Text)+iglSelfLink+ = lens _iglSelfLink (\ s a -> s{_iglSelfLink = a})++-- | [Output Only] A unique identifier for this list of instance groups. The+-- server generates this identifier.+iglId :: Lens' InstanceGroupList (Maybe Text)+iglId = lens _iglId (\ s a -> s{_iglId = a})++instance FromJSON InstanceGroupList where+ parseJSON+ = withObject "InstanceGroupList"+ (\ o ->+ InstanceGroupList' <$>+ (o .:? "nextPageToken") <*>+ (o .:? "kind" .!= "compute#instanceGroupList")+ <*> (o .:? "items" .!= mempty)+ <*> (o .:? "selfLink")+ <*> (o .:? "id"))++instance ToJSON InstanceGroupList where+ toJSON InstanceGroupList'{..}+ = object+ (catMaybes+ [("nextPageToken" .=) <$> _iglNextPageToken,+ Just ("kind" .= _iglKind),+ ("items" .=) <$> _iglItems,+ ("selfLink" .=) <$> _iglSelfLink,+ ("id" .=) <$> _iglId])++--+-- /See:/ 'instancesSetMachineTypeRequest' smart constructor.+newtype InstancesSetMachineTypeRequest = InstancesSetMachineTypeRequest'+ { _ismtrMachineType :: Maybe Text+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'InstancesSetMachineTypeRequest' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'ismtrMachineType'+instancesSetMachineTypeRequest+ :: InstancesSetMachineTypeRequest+instancesSetMachineTypeRequest =+ InstancesSetMachineTypeRequest'+ { _ismtrMachineType = Nothing+ }++-- | Full or partial URL of the machine type resource. See Machine Types for+-- a full list of machine types. For example:+-- zones\/us-central1-f\/machineTypes\/n1-standard-1+ismtrMachineType :: Lens' InstancesSetMachineTypeRequest (Maybe Text)+ismtrMachineType+ = lens _ismtrMachineType+ (\ s a -> s{_ismtrMachineType = a})++instance FromJSON InstancesSetMachineTypeRequest+ where+ parseJSON+ = withObject "InstancesSetMachineTypeRequest"+ (\ o ->+ InstancesSetMachineTypeRequest' <$>+ (o .:? "machineType"))++instance ToJSON InstancesSetMachineTypeRequest where+ toJSON InstancesSetMachineTypeRequest'{..}+ = object+ (catMaybes+ [("machineType" .=) <$> _ismtrMachineType])++-- | Represents a customer-supplied encryption key+--+-- /See:/ 'customerEncryptionKey' smart constructor.+data CustomerEncryptionKey = CustomerEncryptionKey'+ { _cekSha256 :: !(Maybe Text)+ , _cekRawKey :: !(Maybe Text)+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'CustomerEncryptionKey' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'cekSha256'+--+-- * 'cekRawKey'+customerEncryptionKey+ :: CustomerEncryptionKey+customerEncryptionKey =+ CustomerEncryptionKey'+ { _cekSha256 = Nothing+ , _cekRawKey = Nothing+ }++-- | [Output only] The RFC 4648 base64 encoded SHA-256 hash of the+-- customer-supplied encryption key that protects this resource.+cekSha256 :: Lens' CustomerEncryptionKey (Maybe Text)+cekSha256+ = lens _cekSha256 (\ s a -> s{_cekSha256 = a})++-- | Specifies a 256-bit customer-supplied encryption key, encoded in RFC+-- 4648 base64 to either encrypt or decrypt this resource.+cekRawKey :: Lens' CustomerEncryptionKey (Maybe Text)+cekRawKey+ = lens _cekRawKey (\ s a -> s{_cekRawKey = a})++instance FromJSON CustomerEncryptionKey where+ parseJSON+ = withObject "CustomerEncryptionKey"+ (\ o ->+ CustomerEncryptionKey' <$>+ (o .:? "sha256") <*> (o .:? "rawKey"))++instance ToJSON CustomerEncryptionKey where+ toJSON CustomerEncryptionKey'{..}+ = object+ (catMaybes+ [("sha256" .=) <$> _cekSha256,+ ("rawKey" .=) <$> _cekRawKey])++-- | A map of scoped autoscaler lists.+--+-- /See:/ 'autoscalerAggregatedListItems' smart constructor.+newtype AutoscalerAggregatedListItems = AutoscalerAggregatedListItems'+ { _aaliAddtional :: HashMap Text AutoscalersScopedList+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'AutoscalerAggregatedListItems' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'aaliAddtional'+autoscalerAggregatedListItems+ :: HashMap Text AutoscalersScopedList -- ^ 'aaliAddtional'+ -> AutoscalerAggregatedListItems+autoscalerAggregatedListItems pAaliAddtional_ =+ AutoscalerAggregatedListItems'+ { _aaliAddtional = _Coerce # pAaliAddtional_+ }++-- | [Output Only] Name of the scope containing this set of autoscalers.+aaliAddtional :: Lens' AutoscalerAggregatedListItems (HashMap Text AutoscalersScopedList)+aaliAddtional+ = lens _aaliAddtional+ (\ s a -> s{_aaliAddtional = a})+ . _Coerce++instance FromJSON AutoscalerAggregatedListItems where+ parseJSON+ = withObject "AutoscalerAggregatedListItems"+ (\ o ->+ AutoscalerAggregatedListItems' <$>+ (parseJSONObject o))++instance ToJSON AutoscalerAggregatedListItems where+ toJSON = toJSON . _aaliAddtional++--+-- /See:/ 'instanceGroupManagersSetInstanceTemplateRequest' smart constructor.+newtype InstanceGroupManagersSetInstanceTemplateRequest = InstanceGroupManagersSetInstanceTemplateRequest'+ { _igmsitrInstanceTemplate :: Maybe Text+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'InstanceGroupManagersSetInstanceTemplateRequest' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'igmsitrInstanceTemplate'+instanceGroupManagersSetInstanceTemplateRequest+ :: InstanceGroupManagersSetInstanceTemplateRequest+instanceGroupManagersSetInstanceTemplateRequest =+ InstanceGroupManagersSetInstanceTemplateRequest'+ { _igmsitrInstanceTemplate = Nothing+ }++-- | The URL of the instance template that is specified for this managed+-- instance group. The group uses this template to create all new instances+-- in the managed instance group.+igmsitrInstanceTemplate :: Lens' InstanceGroupManagersSetInstanceTemplateRequest (Maybe Text)+igmsitrInstanceTemplate+ = lens _igmsitrInstanceTemplate+ (\ s a -> s{_igmsitrInstanceTemplate = a})++instance FromJSON+ InstanceGroupManagersSetInstanceTemplateRequest where+ parseJSON+ = withObject+ "InstanceGroupManagersSetInstanceTemplateRequest"+ (\ o ->+ InstanceGroupManagersSetInstanceTemplateRequest' <$>+ (o .:? "instanceTemplate"))++instance ToJSON+ InstanceGroupManagersSetInstanceTemplateRequest where+ toJSON+ InstanceGroupManagersSetInstanceTemplateRequest'{..}+ = object+ (catMaybes+ [("instanceTemplate" .=) <$>+ _igmsitrInstanceTemplate])++-- | Deprecation status for a public resource.+--+-- /See:/ 'deprecationStatus' smart constructor.+data DeprecationStatus = DeprecationStatus'+ { _dsState :: !(Maybe DeprecationStatusState)+ , _dsDeleted :: !(Maybe Text)+ , _dsReplacement :: !(Maybe Text)+ , _dsObsolete :: !(Maybe Text)+ , _dsDeprecated :: !(Maybe Text)+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'DeprecationStatus' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'dsState'+--+-- * 'dsDeleted'+--+-- * 'dsReplacement'+--+-- * 'dsObsolete'+--+-- * 'dsDeprecated'+deprecationStatus+ :: DeprecationStatus+deprecationStatus =+ DeprecationStatus'+ { _dsState = Nothing+ , _dsDeleted = Nothing+ , _dsReplacement = Nothing+ , _dsObsolete = Nothing+ , _dsDeprecated = Nothing+ }++-- | The deprecation state of this resource. This can be DEPRECATED,+-- OBSOLETE, or DELETED. Operations which create a new resource using a+-- DEPRECATED resource will return successfully, but with a warning+-- indicating the deprecated resource and recommending its replacement.+-- Operations which use OBSOLETE or DELETED resources will be rejected and+-- result in an error.+dsState :: Lens' DeprecationStatus (Maybe DeprecationStatusState)+dsState = lens _dsState (\ s a -> s{_dsState = a})++-- | An optional RFC3339 timestamp on or after which the deprecation state of+-- this resource will be changed to DELETED.+dsDeleted :: Lens' DeprecationStatus (Maybe Text)+dsDeleted+ = lens _dsDeleted (\ s a -> s{_dsDeleted = a})++-- | The URL of the suggested replacement for a deprecated resource. The+-- suggested replacement resource must be the same kind of resource as the+-- deprecated resource.+dsReplacement :: Lens' DeprecationStatus (Maybe Text)+dsReplacement+ = lens _dsReplacement+ (\ s a -> s{_dsReplacement = a})++-- | An optional RFC3339 timestamp on or after which the deprecation state of+-- this resource will be changed to OBSOLETE.+dsObsolete :: Lens' DeprecationStatus (Maybe Text)+dsObsolete+ = lens _dsObsolete (\ s a -> s{_dsObsolete = a})++-- | An optional RFC3339 timestamp on or after which the deprecation state of+-- this resource will be changed to DEPRECATED.+dsDeprecated :: Lens' DeprecationStatus (Maybe Text)+dsDeprecated+ = lens _dsDeprecated (\ s a -> s{_dsDeprecated = a})++instance FromJSON DeprecationStatus where+ parseJSON+ = withObject "DeprecationStatus"+ (\ o ->+ DeprecationStatus' <$>+ (o .:? "state") <*> (o .:? "deleted") <*>+ (o .:? "replacement")+ <*> (o .:? "obsolete")+ <*> (o .:? "deprecated"))++instance ToJSON DeprecationStatus where+ toJSON DeprecationStatus'{..}+ = object+ (catMaybes+ [("state" .=) <$> _dsState,+ ("deleted" .=) <$> _dsDeleted,+ ("replacement" .=) <$> _dsReplacement,+ ("obsolete" .=) <$> _dsObsolete,+ ("deprecated" .=) <$> _dsDeprecated])++-- | A persistent disk snapshot resource.+--+-- /See:/ 'snapshot' smart constructor.+data Snapshot = Snapshot'+ { _sStorageBytesStatus :: !(Maybe SnapshotStorageBytesStatus)+ , _sStatus :: !(Maybe SnapshotStatus)+ , _sDiskSizeGb :: !(Maybe (Textual Int64))+ , _sSourceDiskId :: !(Maybe Text)+ , _sKind :: !Text+ , _sSourceDiskEncryptionKey :: !(Maybe CustomerEncryptionKey)+ , _sStorageBytes :: !(Maybe (Textual Int64))+ , _sSelfLink :: !(Maybe Text)+ , _sSnapshotEncryptionKey :: !(Maybe CustomerEncryptionKey)+ , _sName :: !(Maybe Text)+ , _sCreationTimestamp :: !(Maybe Text)+ , _sId :: !(Maybe (Textual Word64))+ , _sLicenses :: !(Maybe [Text])+ , _sSourceDisk :: !(Maybe Text)+ , _sDescription :: !(Maybe Text)+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'Snapshot' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'sStorageBytesStatus'+--+-- * 'sStatus'+--+-- * 'sDiskSizeGb'+--+-- * 'sSourceDiskId'+--+-- * 'sKind'+--+-- * 'sSourceDiskEncryptionKey'+--+-- * 'sStorageBytes'+--+-- * 'sSelfLink'+--+-- * 'sSnapshotEncryptionKey'+--+-- * 'sName'+--+-- * 'sCreationTimestamp'+--+-- * 'sId'+--+-- * 'sLicenses'+--+-- * 'sSourceDisk'+--+-- * 'sDescription'+snapshot+ :: Snapshot+snapshot =+ Snapshot'+ { _sStorageBytesStatus = Nothing+ , _sStatus = Nothing+ , _sDiskSizeGb = Nothing+ , _sSourceDiskId = Nothing+ , _sKind = "compute#snapshot"+ , _sSourceDiskEncryptionKey = Nothing+ , _sStorageBytes = Nothing+ , _sSelfLink = Nothing+ , _sSnapshotEncryptionKey = Nothing+ , _sName = Nothing+ , _sCreationTimestamp = Nothing+ , _sId = Nothing+ , _sLicenses = Nothing+ , _sSourceDisk = Nothing+ , _sDescription = Nothing+ }++-- | [Output Only] An indicator whether storageBytes is in a stable state or+-- it is being adjusted as a result of shared storage reallocation. This+-- status can either be UPDATING, meaning the size of the snapshot is being+-- updated, or UP_TO_DATE, meaning the size of the snapshot is up-to-date.+sStorageBytesStatus :: Lens' Snapshot (Maybe SnapshotStorageBytesStatus)+sStorageBytesStatus+ = lens _sStorageBytesStatus+ (\ s a -> s{_sStorageBytesStatus = a})++-- | [Output Only] The status of the snapshot. This can be CREATING,+-- DELETING, FAILED, READY, or UPLOADING.+sStatus :: Lens' Snapshot (Maybe SnapshotStatus)+sStatus = lens _sStatus (\ s a -> s{_sStatus = a})++-- | [Output Only] Size of the snapshot, specified in GB.+sDiskSizeGb :: Lens' Snapshot (Maybe Int64)+sDiskSizeGb+ = lens _sDiskSizeGb (\ s a -> s{_sDiskSizeGb = a}) .+ mapping _Coerce++-- | [Output Only] The ID value of the disk used to create this snapshot.+-- This value may be used to determine whether the snapshot was taken from+-- the current or a previous instance of a given disk name.+sSourceDiskId :: Lens' Snapshot (Maybe Text)+sSourceDiskId+ = lens _sSourceDiskId+ (\ s a -> s{_sSourceDiskId = a})++-- | [Output Only] Type of the resource. Always compute#snapshot for Snapshot+-- resources.+sKind :: Lens' Snapshot Text+sKind = lens _sKind (\ s a -> s{_sKind = a})++-- | The customer-supplied encryption key of the source disk. Required if the+-- source disk is protected by a customer-supplied encryption key.+sSourceDiskEncryptionKey :: Lens' Snapshot (Maybe CustomerEncryptionKey)+sSourceDiskEncryptionKey+ = lens _sSourceDiskEncryptionKey+ (\ s a -> s{_sSourceDiskEncryptionKey = a})++-- | [Output Only] A size of the the storage used by the snapshot. As+-- snapshots share storage, this number is expected to change with snapshot+-- creation\/deletion.+sStorageBytes :: Lens' Snapshot (Maybe Int64)+sStorageBytes+ = lens _sStorageBytes+ (\ s a -> s{_sStorageBytes = a})+ . mapping _Coerce++-- | [Output Only] Server-defined URL for the resource.+sSelfLink :: Lens' Snapshot (Maybe Text)+sSelfLink+ = lens _sSelfLink (\ s a -> s{_sSelfLink = a})++-- | Encrypts the snapshot using a customer-supplied encryption key. After+-- you encrypt a snapshot using a customer-supplied key, you must provide+-- the same key if you use the image later For example, you must provide+-- the encryption key when you create a disk from the encrypted snapshot in+-- a future request. Customer-supplied encryption keys do not protect+-- access to metadata of the disk. If you do not provide an encryption key+-- when creating the snapshot, then the snapshot will be encrypted using an+-- automatically generated key and you do not need to provide a key to use+-- the snapshot later.+sSnapshotEncryptionKey :: Lens' Snapshot (Maybe CustomerEncryptionKey)+sSnapshotEncryptionKey+ = lens _sSnapshotEncryptionKey+ (\ s a -> s{_sSnapshotEncryptionKey = a})++-- | Name of the resource; provided by the client when the resource is+-- created. The name must be 1-63 characters long, and comply with RFC1035.+-- Specifically, the name must be 1-63 characters long and match the+-- regular expression [a-z]([-a-z0-9]*[a-z0-9])? which means the first+-- character must be a lowercase letter, and all following characters must+-- be a dash, lowercase letter, or digit, except the last character, which+-- cannot be a dash.+sName :: Lens' Snapshot (Maybe Text)+sName = lens _sName (\ s a -> s{_sName = a})++-- | [Output Only] Creation timestamp in RFC3339 text format.+sCreationTimestamp :: Lens' Snapshot (Maybe Text)+sCreationTimestamp+ = lens _sCreationTimestamp+ (\ s a -> s{_sCreationTimestamp = a})++-- | [Output Only] The unique identifier for the resource. This identifier is+-- defined by the server.+sId :: Lens' Snapshot (Maybe Word64)+sId+ = lens _sId (\ s a -> s{_sId = a}) . mapping _Coerce++-- | [Output Only] A list of public visible licenses that apply to this+-- snapshot. This can be because the original image had licenses attached+-- (such as a Windows image).+sLicenses :: Lens' Snapshot [Text]+sLicenses+ = lens _sLicenses (\ s a -> s{_sLicenses = a}) .+ _Default+ . _Coerce++-- | [Output Only] The source disk used to create this snapshot.+sSourceDisk :: Lens' Snapshot (Maybe Text)+sSourceDisk+ = lens _sSourceDisk (\ s a -> s{_sSourceDisk = a})++-- | An optional description of this resource. Provide this property when you+-- create the resource.+sDescription :: Lens' Snapshot (Maybe Text)+sDescription+ = lens _sDescription (\ s a -> s{_sDescription = a})++instance FromJSON Snapshot where+ parseJSON+ = withObject "Snapshot"+ (\ o ->+ Snapshot' <$>+ (o .:? "storageBytesStatus") <*> (o .:? "status") <*>+ (o .:? "diskSizeGb")+ <*> (o .:? "sourceDiskId")+ <*> (o .:? "kind" .!= "compute#snapshot")+ <*> (o .:? "sourceDiskEncryptionKey")+ <*> (o .:? "storageBytes")+ <*> (o .:? "selfLink")+ <*> (o .:? "snapshotEncryptionKey")+ <*> (o .:? "name")+ <*> (o .:? "creationTimestamp")+ <*> (o .:? "id")+ <*> (o .:? "licenses" .!= mempty)+ <*> (o .:? "sourceDisk")+ <*> (o .:? "description"))++instance ToJSON Snapshot where+ toJSON Snapshot'{..}+ = object+ (catMaybes+ [("storageBytesStatus" .=) <$> _sStorageBytesStatus,+ ("status" .=) <$> _sStatus,+ ("diskSizeGb" .=) <$> _sDiskSizeGb,+ ("sourceDiskId" .=) <$> _sSourceDiskId,+ Just ("kind" .= _sKind),+ ("sourceDiskEncryptionKey" .=) <$>+ _sSourceDiskEncryptionKey,+ ("storageBytes" .=) <$> _sStorageBytes,+ ("selfLink" .=) <$> _sSelfLink,+ ("snapshotEncryptionKey" .=) <$>+ _sSnapshotEncryptionKey,+ ("name" .=) <$> _sName,+ ("creationTimestamp" .=) <$> _sCreationTimestamp,+ ("id" .=) <$> _sId, ("licenses" .=) <$> _sLicenses,+ ("sourceDisk" .=) <$> _sSourceDisk,+ ("description" .=) <$> _sDescription])++--+-- /See:/ 'routerStatus' smart constructor.+data RouterStatus = RouterStatus'+ { _rsBGPPeerStatus :: !(Maybe [RouterStatusBGPPeerStatus])+ , _rsNetwork :: !(Maybe Text)+ , _rsBestRoutes :: !(Maybe [Route])+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'RouterStatus' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'rsBGPPeerStatus'+--+-- * 'rsNetwork'+--+-- * 'rsBestRoutes'+routerStatus+ :: RouterStatus+routerStatus =+ RouterStatus'+ { _rsBGPPeerStatus = Nothing+ , _rsNetwork = Nothing+ , _rsBestRoutes = Nothing+ }++rsBGPPeerStatus :: Lens' RouterStatus [RouterStatusBGPPeerStatus]+rsBGPPeerStatus+ = lens _rsBGPPeerStatus+ (\ s a -> s{_rsBGPPeerStatus = a})+ . _Default+ . _Coerce++-- | URI of the network to which this router belongs.+rsNetwork :: Lens' RouterStatus (Maybe Text)+rsNetwork+ = lens _rsNetwork (\ s a -> s{_rsNetwork = a})++-- | Best routes for this router\'s network.+rsBestRoutes :: Lens' RouterStatus [Route]+rsBestRoutes+ = lens _rsBestRoutes (\ s a -> s{_rsBestRoutes = a})+ . _Default+ . _Coerce++instance FromJSON RouterStatus where+ parseJSON+ = withObject "RouterStatus"+ (\ o ->+ RouterStatus' <$>+ (o .:? "bgpPeerStatus" .!= mempty) <*>+ (o .:? "network")+ <*> (o .:? "bestRoutes" .!= mempty))++instance ToJSON RouterStatus where+ toJSON RouterStatus'{..}+ = object+ (catMaybes+ [("bgpPeerStatus" .=) <$> _rsBGPPeerStatus,+ ("network" .=) <$> _rsNetwork,+ ("bestRoutes" .=) <$> _rsBestRoutes])++-- | Custom utilization metric policy.+--+-- /See:/ 'autoscalingPolicyCustomMetricUtilization' smart constructor.+data AutoscalingPolicyCustomMetricUtilization = AutoscalingPolicyCustomMetricUtilization'+ { _apcmuUtilizationTarget :: !(Maybe (Textual Double))+ , _apcmuMetric :: !(Maybe Text)+ , _apcmuUtilizationTargetType :: !(Maybe AutoscalingPolicyCustomMetricUtilizationUtilizationTargetType)+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'AutoscalingPolicyCustomMetricUtilization' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'apcmuUtilizationTarget'+--+-- * 'apcmuMetric'+--+-- * 'apcmuUtilizationTargetType'+autoscalingPolicyCustomMetricUtilization+ :: AutoscalingPolicyCustomMetricUtilization+autoscalingPolicyCustomMetricUtilization =+ AutoscalingPolicyCustomMetricUtilization'+ { _apcmuUtilizationTarget = Nothing+ , _apcmuMetric = Nothing+ , _apcmuUtilizationTargetType = Nothing+ }++-- | Target value of the metric which autoscaler should maintain. Must be a+-- positive value.+apcmuUtilizationTarget :: Lens' AutoscalingPolicyCustomMetricUtilization (Maybe Double)+apcmuUtilizationTarget+ = lens _apcmuUtilizationTarget+ (\ s a -> s{_apcmuUtilizationTarget = a})+ . mapping _Coerce++-- | The identifier of the Stackdriver Monitoring metric. The metric cannot+-- have negative values and should be a utilization metric, which means+-- that the number of virtual machines handling requests should increase or+-- decrease proportionally to the metric. The metric must also have a label+-- of compute.googleapis.com\/resource_id with the value of the instance\'s+-- unique ID, although this alone does not guarantee that the metric is+-- valid. For example, the following is a valid metric:+-- compute.googleapis.com\/instance\/network\/received_bytes_count The+-- following is not a valid metric because it does not increase or decrease+-- based on usage: compute.googleapis.com\/instance\/cpu\/reserved_cores+apcmuMetric :: Lens' AutoscalingPolicyCustomMetricUtilization (Maybe Text)+apcmuMetric+ = lens _apcmuMetric (\ s a -> s{_apcmuMetric = a})++-- | Defines how target utilization value is expressed for a Stackdriver+-- Monitoring metric. Either GAUGE, DELTA_PER_SECOND, or DELTA_PER_MINUTE.+-- If not specified, the default is GAUGE.+apcmuUtilizationTargetType :: Lens' AutoscalingPolicyCustomMetricUtilization (Maybe AutoscalingPolicyCustomMetricUtilizationUtilizationTargetType)+apcmuUtilizationTargetType+ = lens _apcmuUtilizationTargetType+ (\ s a -> s{_apcmuUtilizationTargetType = a})++instance FromJSON+ AutoscalingPolicyCustomMetricUtilization where+ parseJSON+ = withObject+ "AutoscalingPolicyCustomMetricUtilization"+ (\ o ->+ AutoscalingPolicyCustomMetricUtilization' <$>+ (o .:? "utilizationTarget") <*> (o .:? "metric") <*>+ (o .:? "utilizationTargetType"))++instance ToJSON+ AutoscalingPolicyCustomMetricUtilization where+ toJSON AutoscalingPolicyCustomMetricUtilization'{..}+ = object+ (catMaybes+ [("utilizationTarget" .=) <$>+ _apcmuUtilizationTarget,+ ("metric" .=) <$> _apcmuMetric,+ ("utilizationTargetType" .=) <$>+ _apcmuUtilizationTargetType])++-- | Contains a list of ForwardingRule resources.+--+-- /See:/ 'forwardingRuleList' smart constructor.+data ForwardingRuleList = ForwardingRuleList'+ { _frlNextPageToken :: !(Maybe Text)+ , _frlKind :: !Text+ , _frlItems :: !(Maybe [ForwardingRule])+ , _frlSelfLink :: !(Maybe Text)+ , _frlId :: !(Maybe Text)+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'ForwardingRuleList' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'frlNextPageToken'+--+-- * 'frlKind'+--+-- * 'frlItems'+--+-- * 'frlSelfLink'+--+-- * 'frlId'+forwardingRuleList+ :: ForwardingRuleList+forwardingRuleList =+ ForwardingRuleList'+ { _frlNextPageToken = Nothing+ , _frlKind = "compute#forwardingRuleList"+ , _frlItems = Nothing+ , _frlSelfLink = Nothing+ , _frlId = Nothing+ }++-- | [Output Only] This token allows you to get the next page of results for+-- list requests. If the number of results is larger than maxResults, use+-- the nextPageToken as a value for the query parameter pageToken in the+-- next list request. Subsequent list requests will have their own+-- nextPageToken to continue paging through the results.+frlNextPageToken :: Lens' ForwardingRuleList (Maybe Text)+frlNextPageToken+ = lens _frlNextPageToken+ (\ s a -> s{_frlNextPageToken = a})++-- | Type of resource.+frlKind :: Lens' ForwardingRuleList Text+frlKind = lens _frlKind (\ s a -> s{_frlKind = a})++-- | A list of ForwardingRule resources.+frlItems :: Lens' ForwardingRuleList [ForwardingRule]+frlItems+ = lens _frlItems (\ s a -> s{_frlItems = a}) .+ _Default+ . _Coerce++-- | [Output Only] Server-defined URL for this resource.+frlSelfLink :: Lens' ForwardingRuleList (Maybe Text)+frlSelfLink+ = lens _frlSelfLink (\ s a -> s{_frlSelfLink = a})++-- | [Output Only] Unique identifier for the resource. Set by the server.+frlId :: Lens' ForwardingRuleList (Maybe Text)+frlId = lens _frlId (\ s a -> s{_frlId = a})++instance FromJSON ForwardingRuleList where+ parseJSON+ = withObject "ForwardingRuleList"+ (\ o ->+ ForwardingRuleList' <$>+ (o .:? "nextPageToken") <*>+ (o .:? "kind" .!= "compute#forwardingRuleList")+ <*> (o .:? "items" .!= mempty)+ <*> (o .:? "selfLink")+ <*> (o .:? "id"))++instance ToJSON ForwardingRuleList where+ toJSON ForwardingRuleList'{..}+ = object+ (catMaybes+ [("nextPageToken" .=) <$> _frlNextPageToken,+ Just ("kind" .= _frlKind),+ ("items" .=) <$> _frlItems,+ ("selfLink" .=) <$> _frlSelfLink,+ ("id" .=) <$> _frlId])++--+-- /See:/ 'vpnTunnelsScopedList' smart constructor.+data VPNTunnelsScopedList = VPNTunnelsScopedList'+ { _vtslVPNTunnels :: !(Maybe [VPNTunnel])+ , _vtslWarning :: !(Maybe VPNTunnelsScopedListWarning)+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'VPNTunnelsScopedList' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'vtslVPNTunnels'+--+-- * 'vtslWarning'+vpnTunnelsScopedList+ :: VPNTunnelsScopedList+vpnTunnelsScopedList =+ VPNTunnelsScopedList'+ { _vtslVPNTunnels = Nothing+ , _vtslWarning = Nothing+ }++-- | List of vpn tunnels contained in this scope.+vtslVPNTunnels :: Lens' VPNTunnelsScopedList [VPNTunnel]+vtslVPNTunnels+ = lens _vtslVPNTunnels+ (\ s a -> s{_vtslVPNTunnels = a})+ . _Default+ . _Coerce++-- | Informational warning which replaces the list of addresses when the list+-- is empty.+vtslWarning :: Lens' VPNTunnelsScopedList (Maybe VPNTunnelsScopedListWarning)+vtslWarning+ = lens _vtslWarning (\ s a -> s{_vtslWarning = a})++instance FromJSON VPNTunnelsScopedList where+ parseJSON+ = withObject "VPNTunnelsScopedList"+ (\ o ->+ VPNTunnelsScopedList' <$>+ (o .:? "vpnTunnels" .!= mempty) <*>+ (o .:? "warning"))++instance ToJSON VPNTunnelsScopedList where+ toJSON VPNTunnelsScopedList'{..}+ = object+ (catMaybes+ [("vpnTunnels" .=) <$> _vtslVPNTunnels,+ ("warning" .=) <$> _vtslWarning])++--+-- /See:/ 'instanceGroupsSetNamedPortsRequest' smart constructor.+data InstanceGroupsSetNamedPortsRequest = InstanceGroupsSetNamedPortsRequest'+ { _igsnprFingerprint :: !(Maybe Base64)+ , _igsnprNamedPorts :: !(Maybe [NamedPort])+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'InstanceGroupsSetNamedPortsRequest' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'igsnprFingerprint'+--+-- * 'igsnprNamedPorts'+instanceGroupsSetNamedPortsRequest+ :: InstanceGroupsSetNamedPortsRequest+instanceGroupsSetNamedPortsRequest =+ InstanceGroupsSetNamedPortsRequest'+ { _igsnprFingerprint = Nothing+ , _igsnprNamedPorts = Nothing+ }++-- | The fingerprint of the named ports information for this instance group.+-- Use this optional property to prevent conflicts when multiple users+-- change the named ports settings concurrently. Obtain the fingerprint+-- with the instanceGroups.get method. Then, include the fingerprint in+-- your request to ensure that you do not overwrite changes that were+-- applied from another concurrent request.+igsnprFingerprint :: Lens' InstanceGroupsSetNamedPortsRequest (Maybe ByteString)+igsnprFingerprint+ = lens _igsnprFingerprint+ (\ s a -> s{_igsnprFingerprint = a})+ . mapping _Base64++-- | The list of named ports to set for this instance group.+igsnprNamedPorts :: Lens' InstanceGroupsSetNamedPortsRequest [NamedPort]+igsnprNamedPorts+ = lens _igsnprNamedPorts+ (\ s a -> s{_igsnprNamedPorts = a})+ . _Default+ . _Coerce++instance FromJSON InstanceGroupsSetNamedPortsRequest+ where+ parseJSON+ = withObject "InstanceGroupsSetNamedPortsRequest"+ (\ o ->+ InstanceGroupsSetNamedPortsRequest' <$>+ (o .:? "fingerprint") <*>+ (o .:? "namedPorts" .!= mempty))++instance ToJSON InstanceGroupsSetNamedPortsRequest+ where+ toJSON InstanceGroupsSetNamedPortsRequest'{..}+ = object+ (catMaybes+ [("fingerprint" .=) <$> _igsnprFingerprint,+ ("namedPorts" .=) <$> _igsnprNamedPorts])++-- | Contains a list of Operation resources.+--+-- /See:/ 'operationList' smart constructor.+data OperationList = OperationList'+ { _olNextPageToken :: !(Maybe Text)+ , _olKind :: !Text+ , _olItems :: !(Maybe [Operation])+ , _olSelfLink :: !(Maybe Text)+ , _olId :: !(Maybe Text)+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'OperationList' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'olNextPageToken'+--+-- * 'olKind'+--+-- * 'olItems'+--+-- * 'olSelfLink'+--+-- * 'olId'+operationList+ :: OperationList+operationList =+ OperationList'+ { _olNextPageToken = Nothing+ , _olKind = "compute#operationList"+ , _olItems = Nothing+ , _olSelfLink = Nothing+ , _olId = Nothing+ }++-- | [Output Only] This token allows you to get the next page of results for+-- list requests. If the number of results is larger than maxResults, use+-- the nextPageToken as a value for the query parameter pageToken in the+-- next list request. Subsequent list requests will have their own+-- nextPageToken to continue paging through the results.+olNextPageToken :: Lens' OperationList (Maybe Text)+olNextPageToken+ = lens _olNextPageToken+ (\ s a -> s{_olNextPageToken = a})++-- | [Output Only] Type of resource. Always compute#operations for Operations+-- resource.+olKind :: Lens' OperationList Text+olKind = lens _olKind (\ s a -> s{_olKind = a})++-- | [Output Only] A list of Operation resources.+olItems :: Lens' OperationList [Operation]+olItems+ = lens _olItems (\ s a -> s{_olItems = a}) . _Default+ . _Coerce++-- | [Output Only] Server-defined URL for this resource.+olSelfLink :: Lens' OperationList (Maybe Text)+olSelfLink+ = lens _olSelfLink (\ s a -> s{_olSelfLink = a})++-- | [Output Only] The unique identifier for the resource. This identifier is+-- defined by the server.+olId :: Lens' OperationList (Maybe Text)+olId = lens _olId (\ s a -> s{_olId = a})++instance FromJSON OperationList where+ parseJSON+ = withObject "OperationList"+ (\ o ->+ OperationList' <$>+ (o .:? "nextPageToken") <*>+ (o .:? "kind" .!= "compute#operationList")+ <*> (o .:? "items" .!= mempty)+ <*> (o .:? "selfLink")+ <*> (o .:? "id"))++instance ToJSON OperationList where+ toJSON OperationList'{..}+ = object+ (catMaybes+ [("nextPageToken" .=) <$> _olNextPageToken,+ Just ("kind" .= _olKind), ("items" .=) <$> _olItems,+ ("selfLink" .=) <$> _olSelfLink,+ ("id" .=) <$> _olId])++-- | A list of Disk resources.+--+-- /See:/ 'diskList' smart constructor.+data DiskList = DiskList'+ { _dlNextPageToken :: !(Maybe Text)+ , _dlKind :: !Text+ , _dlItems :: !(Maybe [Disk])+ , _dlSelfLink :: !(Maybe Text)+ , _dlId :: !(Maybe Text)+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'DiskList' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'dlNextPageToken'+--+-- * 'dlKind'+--+-- * 'dlItems'+--+-- * 'dlSelfLink'+--+-- * 'dlId'+diskList+ :: DiskList+diskList =+ DiskList'+ { _dlNextPageToken = Nothing+ , _dlKind = "compute#diskList"+ , _dlItems = Nothing+ , _dlSelfLink = Nothing+ , _dlId = Nothing+ }++-- | [Output Only] This token allows you to get the next page of results for+-- list requests. If the number of results is larger than maxResults, use+-- the nextPageToken as a value for the query parameter pageToken in the+-- next list request. Subsequent list requests will have their own+-- nextPageToken to continue paging through the results.+dlNextPageToken :: Lens' DiskList (Maybe Text)+dlNextPageToken+ = lens _dlNextPageToken+ (\ s a -> s{_dlNextPageToken = a})++-- | [Output Only] Type of resource. Always compute#diskList for lists of+-- disks.+dlKind :: Lens' DiskList Text+dlKind = lens _dlKind (\ s a -> s{_dlKind = a})++-- | [Output Only] A list of persistent disks.+dlItems :: Lens' DiskList [Disk]+dlItems+ = lens _dlItems (\ s a -> s{_dlItems = a}) . _Default+ . _Coerce++-- | [Output Only] Server-defined URL for this resource.+dlSelfLink :: Lens' DiskList (Maybe Text)+dlSelfLink+ = lens _dlSelfLink (\ s a -> s{_dlSelfLink = a})++-- | [Output Only] The unique identifier for the resource. This identifier is+-- defined by the server.+dlId :: Lens' DiskList (Maybe Text)+dlId = lens _dlId (\ s a -> s{_dlId = a})++instance FromJSON DiskList where+ parseJSON+ = withObject "DiskList"+ (\ o ->+ DiskList' <$>+ (o .:? "nextPageToken") <*>+ (o .:? "kind" .!= "compute#diskList")+ <*> (o .:? "items" .!= mempty)+ <*> (o .:? "selfLink")+ <*> (o .:? "id"))++instance ToJSON DiskList where+ toJSON DiskList'{..}+ = object+ (catMaybes+ [("nextPageToken" .=) <$> _dlNextPageToken,+ Just ("kind" .= _dlKind), ("items" .=) <$> _dlItems,+ ("selfLink" .=) <$> _dlSelfLink,+ ("id" .=) <$> _dlId])++--+-- /See:/ 'targetPoolsAddInstanceRequest' smart constructor.+newtype TargetPoolsAddInstanceRequest = TargetPoolsAddInstanceRequest'+ { _tpairInstances :: Maybe [InstanceReference]+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'TargetPoolsAddInstanceRequest' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'tpairInstances'+targetPoolsAddInstanceRequest+ :: TargetPoolsAddInstanceRequest+targetPoolsAddInstanceRequest =+ TargetPoolsAddInstanceRequest'+ { _tpairInstances = Nothing+ }++-- | A full or partial URL to an instance to add to this target pool. This+-- can be a full or partial URL. For example, the following are valid URLs:+-- -+-- https:\/\/www.googleapis.com\/compute\/v1\/projects\/project-id\/zones\/zone\/instances\/instance-name+-- - projects\/project-id\/zones\/zone\/instances\/instance-name -+-- zones\/zone\/instances\/instance-name+tpairInstances :: Lens' TargetPoolsAddInstanceRequest [InstanceReference]+tpairInstances+ = lens _tpairInstances+ (\ s a -> s{_tpairInstances = a})+ . _Default+ . _Coerce++instance FromJSON TargetPoolsAddInstanceRequest where+ parseJSON+ = withObject "TargetPoolsAddInstanceRequest"+ (\ o ->+ TargetPoolsAddInstanceRequest' <$>+ (o .:? "instances" .!= mempty))++instance ToJSON TargetPoolsAddInstanceRequest where+ toJSON TargetPoolsAddInstanceRequest'{..}+ = object+ (catMaybes [("instances" .=) <$> _tpairInstances])++--+-- /See:/ 'instanceGroupsAddInstancesRequest' smart constructor.+newtype InstanceGroupsAddInstancesRequest = InstanceGroupsAddInstancesRequest'+ { _igairInstances :: Maybe [InstanceReference]+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'InstanceGroupsAddInstancesRequest' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'igairInstances'+instanceGroupsAddInstancesRequest+ :: InstanceGroupsAddInstancesRequest+instanceGroupsAddInstancesRequest =+ InstanceGroupsAddInstancesRequest'+ { _igairInstances = Nothing+ }++-- | The list of instances to add to the instance group.+igairInstances :: Lens' InstanceGroupsAddInstancesRequest [InstanceReference]+igairInstances+ = lens _igairInstances+ (\ s a -> s{_igairInstances = a})+ . _Default+ . _Coerce++instance FromJSON InstanceGroupsAddInstancesRequest+ where+ parseJSON+ = withObject "InstanceGroupsAddInstancesRequest"+ (\ o ->+ InstanceGroupsAddInstancesRequest' <$>+ (o .:? "instances" .!= mempty))++instance ToJSON InstanceGroupsAddInstancesRequest+ where+ toJSON InstanceGroupsAddInstancesRequest'{..}+ = object+ (catMaybes [("instances" .=) <$> _igairInstances])++-- | [Output Only] A list of managed instance groups.+--+-- /See:/ 'instanceGroupManagerList' smart constructor.+data InstanceGroupManagerList = InstanceGroupManagerList'+ { _igmlNextPageToken :: !(Maybe Text)+ , _igmlKind :: !Text+ , _igmlItems :: !(Maybe [InstanceGroupManager])+ , _igmlSelfLink :: !(Maybe Text)+ , _igmlId :: !(Maybe Text)+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'InstanceGroupManagerList' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'igmlNextPageToken'+--+-- * 'igmlKind'+--+-- * 'igmlItems'+--+-- * 'igmlSelfLink'+--+-- * 'igmlId'+instanceGroupManagerList+ :: InstanceGroupManagerList+instanceGroupManagerList =+ InstanceGroupManagerList'+ { _igmlNextPageToken = Nothing+ , _igmlKind = "compute#instanceGroupManagerList"+ , _igmlItems = Nothing+ , _igmlSelfLink = Nothing+ , _igmlId = Nothing+ }++-- | [Output Only] This token allows you to get the next page of results for+-- list requests. If the number of results is larger than maxResults, use+-- the nextPageToken as a value for the query parameter pageToken in the+-- next list request. Subsequent list requests will have their own+-- nextPageToken to continue paging through the results.+igmlNextPageToken :: Lens' InstanceGroupManagerList (Maybe Text)+igmlNextPageToken+ = lens _igmlNextPageToken+ (\ s a -> s{_igmlNextPageToken = a})++-- | [Output Only] The resource type, which is always+-- compute#instanceGroupManagerList for a list of managed instance groups.+igmlKind :: Lens' InstanceGroupManagerList Text+igmlKind = lens _igmlKind (\ s a -> s{_igmlKind = a})++-- | [Output Only] A list of managed instance groups.+igmlItems :: Lens' InstanceGroupManagerList [InstanceGroupManager]+igmlItems+ = lens _igmlItems (\ s a -> s{_igmlItems = a}) .+ _Default+ . _Coerce++-- | [Output Only] Server-defined URL for this resource.+igmlSelfLink :: Lens' InstanceGroupManagerList (Maybe Text)+igmlSelfLink+ = lens _igmlSelfLink (\ s a -> s{_igmlSelfLink = a})++-- | [Output Only] A unique identifier for this resource type. The server+-- generates this identifier.+igmlId :: Lens' InstanceGroupManagerList (Maybe Text)+igmlId = lens _igmlId (\ s a -> s{_igmlId = a})++instance FromJSON InstanceGroupManagerList where+ parseJSON+ = withObject "InstanceGroupManagerList"+ (\ o ->+ InstanceGroupManagerList' <$>+ (o .:? "nextPageToken") <*>+ (o .:? "kind" .!= "compute#instanceGroupManagerList")+ <*> (o .:? "items" .!= mempty)+ <*> (o .:? "selfLink")+ <*> (o .:? "id"))++instance ToJSON InstanceGroupManagerList where+ toJSON InstanceGroupManagerList'{..}+ = object+ (catMaybes+ [("nextPageToken" .=) <$> _igmlNextPageToken,+ Just ("kind" .= _igmlKind),+ ("items" .=) <$> _igmlItems,+ ("selfLink" .=) <$> _igmlSelfLink,+ ("id" .=) <$> _igmlId])++-- | An informational warning that appears when the list of addresses is+-- empty.+--+-- /See:/ 'subnetworksScopedListWarning' smart constructor.+data SubnetworksScopedListWarning = SubnetworksScopedListWarning'+ { _sslwData :: !(Maybe [SubnetworksScopedListWarningDataItem])+ , _sslwCode :: !(Maybe SubnetworksScopedListWarningCode)+ , _sslwMessage :: !(Maybe Text)+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'SubnetworksScopedListWarning' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'sslwData'+--+-- * 'sslwCode'+--+-- * 'sslwMessage'+subnetworksScopedListWarning+ :: SubnetworksScopedListWarning+subnetworksScopedListWarning =+ SubnetworksScopedListWarning'+ { _sslwData = Nothing+ , _sslwCode = Nothing+ , _sslwMessage = Nothing+ }++-- | [Output Only] Metadata about this warning in key: value format. For+-- example: \"data\": [ { \"key\": \"scope\", \"value\":+-- \"zones\/us-east1-d\" }+sslwData :: Lens' SubnetworksScopedListWarning [SubnetworksScopedListWarningDataItem]+sslwData+ = lens _sslwData (\ s a -> s{_sslwData = a}) .+ _Default+ . _Coerce++-- | [Output Only] A warning code, if applicable. For example, Compute Engine+-- returns NO_RESULTS_ON_PAGE if there are no results in the response.+sslwCode :: Lens' SubnetworksScopedListWarning (Maybe SubnetworksScopedListWarningCode)+sslwCode = lens _sslwCode (\ s a -> s{_sslwCode = a})++-- | [Output Only] A human-readable description of the warning code.+sslwMessage :: Lens' SubnetworksScopedListWarning (Maybe Text)+sslwMessage+ = lens _sslwMessage (\ s a -> s{_sslwMessage = a})++instance FromJSON SubnetworksScopedListWarning where+ parseJSON+ = withObject "SubnetworksScopedListWarning"+ (\ o ->+ SubnetworksScopedListWarning' <$>+ (o .:? "data" .!= mempty) <*> (o .:? "code") <*>+ (o .:? "message"))++instance ToJSON SubnetworksScopedListWarning where+ toJSON SubnetworksScopedListWarning'{..}+ = object+ (catMaybes+ [("data" .=) <$> _sslwData,+ ("code" .=) <$> _sslwCode,+ ("message" .=) <$> _sslwMessage])++-- | An Image resource.+--+-- /See:/ 'image' smart constructor.+data Image = Image'+ { _iStatus :: !(Maybe ImageStatus)+ , _iImageEncryptionKey :: !(Maybe CustomerEncryptionKey)+ , _iDiskSizeGb :: !(Maybe (Textual Int64))+ , _iSourceType :: !ImageSourceType+ , _iSourceDiskId :: !(Maybe Text)+ , _iKind :: !Text+ , _iSourceDiskEncryptionKey :: !(Maybe CustomerEncryptionKey)+ , _iArchiveSizeBytes :: !(Maybe (Textual Int64))+ , _iFamily :: !(Maybe Text)+ , _iRawDisk :: !(Maybe ImageRawDisk)+ , _iSelfLink :: !(Maybe Text)+ , _iName :: !(Maybe Text)+ , _iCreationTimestamp :: !(Maybe Text)+ , _iId :: !(Maybe (Textual Word64))+ , _iLicenses :: !(Maybe [Text])+ , _iSourceDisk :: !(Maybe Text)+ , _iDescription :: !(Maybe Text)+ , _iDeprecated :: !(Maybe DeprecationStatus)+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'Image' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'iStatus'+--+-- * 'iImageEncryptionKey'+--+-- * 'iDiskSizeGb'+--+-- * 'iSourceType'+--+-- * 'iSourceDiskId'+--+-- * 'iKind'+--+-- * 'iSourceDiskEncryptionKey'+--+-- * 'iArchiveSizeBytes'+--+-- * 'iFamily'+--+-- * 'iRawDisk'+--+-- * 'iSelfLink'+--+-- * 'iName'+--+-- * 'iCreationTimestamp'+--+-- * 'iId'+--+-- * 'iLicenses'+--+-- * 'iSourceDisk'+--+-- * 'iDescription'+--+-- * 'iDeprecated'+image+ :: Image+image =+ Image'+ { _iStatus = Nothing+ , _iImageEncryptionKey = Nothing+ , _iDiskSizeGb = Nothing+ , _iSourceType = Raw+ , _iSourceDiskId = Nothing+ , _iKind = "compute#image"+ , _iSourceDiskEncryptionKey = Nothing+ , _iArchiveSizeBytes = Nothing+ , _iFamily = Nothing+ , _iRawDisk = Nothing+ , _iSelfLink = Nothing+ , _iName = Nothing+ , _iCreationTimestamp = Nothing+ , _iId = Nothing+ , _iLicenses = Nothing+ , _iSourceDisk = Nothing+ , _iDescription = Nothing+ , _iDeprecated = Nothing+ }++-- | [Output Only] The status of the image. An image can be used to create+-- other resources, such as instances, only after the image has been+-- successfully created and the status is set to READY. Possible values are+-- FAILED, PENDING, or READY.+iStatus :: Lens' Image (Maybe ImageStatus)+iStatus = lens _iStatus (\ s a -> s{_iStatus = a})++-- | Encrypts the image using a customer-supplied encryption key. After you+-- encrypt an image with a customer-supplied key, you must provide the same+-- key if you use the image later (e.g. to create a disk from the image).+-- Customer-supplied encryption keys do not protect access to metadata of+-- the disk. If you do not provide an encryption key when creating the+-- image, then the disk will be encrypted using an automatically generated+-- key and you do not need to provide a key to use the image later.+iImageEncryptionKey :: Lens' Image (Maybe CustomerEncryptionKey)+iImageEncryptionKey+ = lens _iImageEncryptionKey+ (\ s a -> s{_iImageEncryptionKey = a})++-- | Size of the image when restored onto a persistent disk (in GB).+iDiskSizeGb :: Lens' Image (Maybe Int64)+iDiskSizeGb+ = lens _iDiskSizeGb (\ s a -> s{_iDiskSizeGb = a}) .+ mapping _Coerce++-- | The type of the image used to create this disk. The default and only+-- value is RAW+iSourceType :: Lens' Image ImageSourceType+iSourceType+ = lens _iSourceType (\ s a -> s{_iSourceType = a})++-- | The ID value of the disk used to create this image. This value may be+-- used to determine whether the image was taken from the current or a+-- previous instance of a given disk name.+iSourceDiskId :: Lens' Image (Maybe Text)+iSourceDiskId+ = lens _iSourceDiskId+ (\ s a -> s{_iSourceDiskId = a})++-- | [Output Only] Type of the resource. Always compute#image for images.+iKind :: Lens' Image Text+iKind = lens _iKind (\ s a -> s{_iKind = a})++-- | The customer-supplied encryption key of the source disk. Required if the+-- source disk is protected by a customer-supplied encryption key.+iSourceDiskEncryptionKey :: Lens' Image (Maybe CustomerEncryptionKey)+iSourceDiskEncryptionKey+ = lens _iSourceDiskEncryptionKey+ (\ s a -> s{_iSourceDiskEncryptionKey = a})++-- | Size of the image tar.gz archive stored in Google Cloud Storage (in+-- bytes).+iArchiveSizeBytes :: Lens' Image (Maybe Int64)+iArchiveSizeBytes+ = lens _iArchiveSizeBytes+ (\ s a -> s{_iArchiveSizeBytes = a})+ . mapping _Coerce++-- | The name of the image family to which this image belongs. You can create+-- disks by specifying an image family instead of a specific image name.+-- The image family always returns its latest image that is not deprecated.+-- The name of the image family must comply with RFC1035.+iFamily :: Lens' Image (Maybe Text)+iFamily = lens _iFamily (\ s a -> s{_iFamily = a})++-- | The parameters of the raw disk image.+iRawDisk :: Lens' Image (Maybe ImageRawDisk)+iRawDisk = lens _iRawDisk (\ s a -> s{_iRawDisk = a})++-- | [Output Only] Server-defined URL for the resource.+iSelfLink :: Lens' Image (Maybe Text)+iSelfLink+ = lens _iSelfLink (\ s a -> s{_iSelfLink = a})++-- | Name of the resource; provided by the client when the resource is+-- created. The name must be 1-63 characters long, and comply with RFC1035.+-- Specifically, the name must be 1-63 characters long and match the+-- regular expression [a-z]([-a-z0-9]*[a-z0-9])? which means the first+-- character must be a lowercase letter, and all following characters must+-- be a dash, lowercase letter, or digit, except the last character, which+-- cannot be a dash.+iName :: Lens' Image (Maybe Text)+iName = lens _iName (\ s a -> s{_iName = a})++-- | [Output Only] Creation timestamp in RFC3339 text format.+iCreationTimestamp :: Lens' Image (Maybe Text)+iCreationTimestamp+ = lens _iCreationTimestamp+ (\ s a -> s{_iCreationTimestamp = a})++-- | [Output Only] The unique identifier for the resource. This identifier is+-- defined by the server.+iId :: Lens' Image (Maybe Word64)+iId+ = lens _iId (\ s a -> s{_iId = a}) . mapping _Coerce++-- | Any applicable license URI.+iLicenses :: Lens' Image [Text]+iLicenses+ = lens _iLicenses (\ s a -> s{_iLicenses = a}) .+ _Default+ . _Coerce++-- | URL of the The source disk used to create this image. This can be a full+-- or valid partial URL. You must provide either this property or the+-- rawDisk.source property but not both to create an image. For example,+-- the following are valid values: -+-- https:\/\/www.googleapis.com\/compute\/v1\/projects\/project\/zones\/zone\/disks\/disk+-- - projects\/project\/zones\/zone\/disks\/disk - zones\/zone\/disks\/disk+iSourceDisk :: Lens' Image (Maybe Text)+iSourceDisk+ = lens _iSourceDisk (\ s a -> s{_iSourceDisk = a})++-- | An optional description of this resource. Provide this property when you+-- create the resource.+iDescription :: Lens' Image (Maybe Text)+iDescription+ = lens _iDescription (\ s a -> s{_iDescription = a})++-- | The deprecation status associated with this image.+iDeprecated :: Lens' Image (Maybe DeprecationStatus)+iDeprecated+ = lens _iDeprecated (\ s a -> s{_iDeprecated = a})++instance FromJSON Image where+ parseJSON+ = withObject "Image"+ (\ o ->+ Image' <$>+ (o .:? "status") <*> (o .:? "imageEncryptionKey") <*>+ (o .:? "diskSizeGb")+ <*> (o .:? "sourceType" .!= Raw)+ <*> (o .:? "sourceDiskId")+ <*> (o .:? "kind" .!= "compute#image")+ <*> (o .:? "sourceDiskEncryptionKey")+ <*> (o .:? "archiveSizeBytes")+ <*> (o .:? "family")+ <*> (o .:? "rawDisk")+ <*> (o .:? "selfLink")+ <*> (o .:? "name")+ <*> (o .:? "creationTimestamp")+ <*> (o .:? "id")+ <*> (o .:? "licenses" .!= mempty)+ <*> (o .:? "sourceDisk")+ <*> (o .:? "description")+ <*> (o .:? "deprecated"))++instance ToJSON Image where+ toJSON Image'{..}+ = object+ (catMaybes+ [("status" .=) <$> _iStatus,+ ("imageEncryptionKey" .=) <$> _iImageEncryptionKey,+ ("diskSizeGb" .=) <$> _iDiskSizeGb,+ Just ("sourceType" .= _iSourceType),+ ("sourceDiskId" .=) <$> _iSourceDiskId,+ Just ("kind" .= _iKind),+ ("sourceDiskEncryptionKey" .=) <$>+ _iSourceDiskEncryptionKey,+ ("archiveSizeBytes" .=) <$> _iArchiveSizeBytes,+ ("family" .=) <$> _iFamily,+ ("rawDisk" .=) <$> _iRawDisk,+ ("selfLink" .=) <$> _iSelfLink,+ ("name" .=) <$> _iName,+ ("creationTimestamp" .=) <$> _iCreationTimestamp,+ ("id" .=) <$> _iId, ("licenses" .=) <$> _iLicenses,+ ("sourceDisk" .=) <$> _iSourceDisk,+ ("description" .=) <$> _iDescription,+ ("deprecated" .=) <$> _iDeprecated])++-- | A UrlMap resource. This resource defines the mapping from URL to the+-- BackendService resource, based on the \"longest-match\" of the URL\'s+-- host and path.+--+-- /See:/ 'urlMap' smart constructor.+data URLMap = URLMap'+ { _umTests :: !(Maybe [URLMapTest])+ , _umKind :: !Text+ , _umFingerprint :: !(Maybe Base64)+ , _umDefaultService :: !(Maybe Text)+ , _umSelfLink :: !(Maybe Text)+ , _umName :: !(Maybe Text)+ , _umCreationTimestamp :: !(Maybe Text)+ , _umPathMatchers :: !(Maybe [PathMatcher])+ , _umId :: !(Maybe (Textual Word64))+ , _umHostRules :: !(Maybe [HostRule])+ , _umDescription :: !(Maybe Text)+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'URLMap' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'umTests'+--+-- * 'umKind'+--+-- * 'umFingerprint'+--+-- * 'umDefaultService'+--+-- * 'umSelfLink'+--+-- * 'umName'+--+-- * 'umCreationTimestamp'+--+-- * 'umPathMatchers'+--+-- * 'umId'+--+-- * 'umHostRules'+--+-- * 'umDescription'+urlMap+ :: URLMap+urlMap =+ URLMap'+ { _umTests = Nothing+ , _umKind = "compute#urlMap"+ , _umFingerprint = Nothing+ , _umDefaultService = Nothing+ , _umSelfLink = Nothing+ , _umName = Nothing+ , _umCreationTimestamp = Nothing+ , _umPathMatchers = Nothing+ , _umId = Nothing+ , _umHostRules = Nothing+ , _umDescription = Nothing+ }++-- | The list of expected URL mappings. Request to update this UrlMap will+-- succeed only if all of the test cases pass.+umTests :: Lens' URLMap [URLMapTest]+umTests+ = lens _umTests (\ s a -> s{_umTests = a}) . _Default+ . _Coerce++-- | [Output Only] Type of the resource. Always compute#urlMaps for url maps.+umKind :: Lens' URLMap Text+umKind = lens _umKind (\ s a -> s{_umKind = a})++-- | Fingerprint of this resource. A hash of the contents stored in this+-- object. This field is used in optimistic locking. This field will be+-- ignored when inserting a UrlMap. An up-to-date fingerprint must be+-- provided in order to update the UrlMap.+umFingerprint :: Lens' URLMap (Maybe ByteString)+umFingerprint+ = lens _umFingerprint+ (\ s a -> s{_umFingerprint = a})+ . mapping _Base64++-- | The URL of the BackendService resource if none of the hostRules match.+umDefaultService :: Lens' URLMap (Maybe Text)+umDefaultService+ = lens _umDefaultService+ (\ s a -> s{_umDefaultService = a})++-- | [Output Only] Server-defined URL for the resource.+umSelfLink :: Lens' URLMap (Maybe Text)+umSelfLink+ = lens _umSelfLink (\ s a -> s{_umSelfLink = a})++-- | Name of the resource. Provided by the client when the resource is+-- created. The name must be 1-63 characters long, and comply with RFC1035.+-- Specifically, the name must be 1-63 characters long and match the+-- regular expression [a-z]([-a-z0-9]*[a-z0-9])? which means the first+-- character must be a lowercase letter, and all following characters must+-- be a dash, lowercase letter, or digit, except the last character, which+-- cannot be a dash.+umName :: Lens' URLMap (Maybe Text)+umName = lens _umName (\ s a -> s{_umName = a})++-- | [Output Only] Creation timestamp in RFC3339 text format.+umCreationTimestamp :: Lens' URLMap (Maybe Text)+umCreationTimestamp+ = lens _umCreationTimestamp+ (\ s a -> s{_umCreationTimestamp = a})++-- | The list of named PathMatchers to use against the URL.+umPathMatchers :: Lens' URLMap [PathMatcher]+umPathMatchers+ = lens _umPathMatchers+ (\ s a -> s{_umPathMatchers = a})+ . _Default+ . _Coerce++-- | [Output Only] The unique identifier for the resource. This identifier is+-- defined by the server.+umId :: Lens' URLMap (Maybe Word64)+umId+ = lens _umId (\ s a -> s{_umId = a}) .+ mapping _Coerce++-- | The list of HostRules to use against the URL.+umHostRules :: Lens' URLMap [HostRule]+umHostRules+ = lens _umHostRules (\ s a -> s{_umHostRules = a}) .+ _Default+ . _Coerce++-- | An optional description of this resource. Provide this property when you+-- create the resource.+umDescription :: Lens' URLMap (Maybe Text)+umDescription+ = lens _umDescription+ (\ s a -> s{_umDescription = a})++instance FromJSON URLMap where+ parseJSON+ = withObject "URLMap"+ (\ o ->+ URLMap' <$>+ (o .:? "tests" .!= mempty) <*>+ (o .:? "kind" .!= "compute#urlMap")+ <*> (o .:? "fingerprint")+ <*> (o .:? "defaultService")+ <*> (o .:? "selfLink")+ <*> (o .:? "name")+ <*> (o .:? "creationTimestamp")+ <*> (o .:? "pathMatchers" .!= mempty)+ <*> (o .:? "id")+ <*> (o .:? "hostRules" .!= mempty)+ <*> (o .:? "description"))++instance ToJSON URLMap where+ toJSON URLMap'{..}+ = object+ (catMaybes+ [("tests" .=) <$> _umTests, Just ("kind" .= _umKind),+ ("fingerprint" .=) <$> _umFingerprint,+ ("defaultService" .=) <$> _umDefaultService,+ ("selfLink" .=) <$> _umSelfLink,+ ("name" .=) <$> _umName,+ ("creationTimestamp" .=) <$> _umCreationTimestamp,+ ("pathMatchers" .=) <$> _umPathMatchers,+ ("id" .=) <$> _umId,+ ("hostRules" .=) <$> _umHostRules,+ ("description" .=) <$> _umDescription])++-- | A map of scoped instance group lists.+--+-- /See:/ 'instanceGroupAggregatedListItems' smart constructor.+newtype InstanceGroupAggregatedListItems = InstanceGroupAggregatedListItems'+ { _igaliAddtional :: HashMap Text InstanceGroupsScopedList+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'InstanceGroupAggregatedListItems' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'igaliAddtional'+instanceGroupAggregatedListItems+ :: HashMap Text InstanceGroupsScopedList -- ^ 'igaliAddtional'+ -> InstanceGroupAggregatedListItems+instanceGroupAggregatedListItems pIgaliAddtional_ =+ InstanceGroupAggregatedListItems'+ { _igaliAddtional = _Coerce # pIgaliAddtional_+ }++-- | The name of the scope that contains this set of instance groups.+igaliAddtional :: Lens' InstanceGroupAggregatedListItems (HashMap Text InstanceGroupsScopedList)+igaliAddtional+ = lens _igaliAddtional+ (\ s a -> s{_igaliAddtional = a})+ . _Coerce++instance FromJSON InstanceGroupAggregatedListItems+ where+ parseJSON+ = withObject "InstanceGroupAggregatedListItems"+ (\ o ->+ InstanceGroupAggregatedListItems' <$>+ (parseJSONObject o))++instance ToJSON InstanceGroupAggregatedListItems+ where+ toJSON = toJSON . _igaliAddtional++-- | Contains a list of TargetPool resources.+--+-- /See:/ 'targetPoolList' smart constructor.+data TargetPoolList = TargetPoolList'+ { _tplNextPageToken :: !(Maybe Text)+ , _tplKind :: !Text+ , _tplItems :: !(Maybe [TargetPool])+ , _tplSelfLink :: !(Maybe Text)+ , _tplId :: !(Maybe Text)+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'TargetPoolList' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'tplNextPageToken'+--+-- * 'tplKind'+--+-- * 'tplItems'+--+-- * 'tplSelfLink'+--+-- * 'tplId'+targetPoolList+ :: TargetPoolList+targetPoolList =+ TargetPoolList'+ { _tplNextPageToken = Nothing+ , _tplKind = "compute#targetPoolList"+ , _tplItems = Nothing+ , _tplSelfLink = Nothing+ , _tplId = Nothing+ }++-- | [Output Only] This token allows you to get the next page of results for+-- list requests. If the number of results is larger than maxResults, use+-- the nextPageToken as a value for the query parameter pageToken in the+-- next list request. Subsequent list requests will have their own+-- nextPageToken to continue paging through the results.+tplNextPageToken :: Lens' TargetPoolList (Maybe Text)+tplNextPageToken+ = lens _tplNextPageToken+ (\ s a -> s{_tplNextPageToken = a})++-- | [Output Only] Type of resource. Always compute#targetPoolList for lists+-- of target pools.+tplKind :: Lens' TargetPoolList Text+tplKind = lens _tplKind (\ s a -> s{_tplKind = a})++-- | A list of TargetPool resources.+tplItems :: Lens' TargetPoolList [TargetPool]+tplItems+ = lens _tplItems (\ s a -> s{_tplItems = a}) .+ _Default+ . _Coerce++-- | [Output Only] Server-defined URL for this resource.+tplSelfLink :: Lens' TargetPoolList (Maybe Text)+tplSelfLink+ = lens _tplSelfLink (\ s a -> s{_tplSelfLink = a})++-- | [Output Only] Unique identifier for the resource. Defined by the server.+tplId :: Lens' TargetPoolList (Maybe Text)+tplId = lens _tplId (\ s a -> s{_tplId = a})++instance FromJSON TargetPoolList where+ parseJSON+ = withObject "TargetPoolList"+ (\ o ->+ TargetPoolList' <$>+ (o .:? "nextPageToken") <*>+ (o .:? "kind" .!= "compute#targetPoolList")+ <*> (o .:? "items" .!= mempty)+ <*> (o .:? "selfLink")+ <*> (o .:? "id"))++instance ToJSON TargetPoolList where+ toJSON TargetPoolList'{..}+ = object+ (catMaybes+ [("nextPageToken" .=) <$> _tplNextPageToken,+ Just ("kind" .= _tplKind),+ ("items" .=) <$> _tplItems,+ ("selfLink" .=) <$> _tplSelfLink,+ ("id" .=) <$> _tplId])++--+-- /See:/ 'targetInstanceAggregatedList' smart constructor.+data TargetInstanceAggregatedList = TargetInstanceAggregatedList'+ { _tialNextPageToken :: !(Maybe Text)+ , _tialKind :: !Text+ , _tialItems :: !(Maybe TargetInstanceAggregatedListItems)+ , _tialSelfLink :: !(Maybe Text)+ , _tialId :: !(Maybe Text)+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'TargetInstanceAggregatedList' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'tialNextPageToken'+--+-- * 'tialKind'+--+-- * 'tialItems'+--+-- * 'tialSelfLink'+--+-- * 'tialId'+targetInstanceAggregatedList+ :: TargetInstanceAggregatedList+targetInstanceAggregatedList =+ TargetInstanceAggregatedList'+ { _tialNextPageToken = Nothing+ , _tialKind = "compute#targetInstanceAggregatedList"+ , _tialItems = Nothing+ , _tialSelfLink = Nothing+ , _tialId = Nothing+ }++-- | [Output Only] This token allows you to get the next page of results for+-- list requests. If the number of results is larger than maxResults, use+-- the nextPageToken as a value for the query parameter pageToken in the+-- next list request. Subsequent list requests will have their own+-- nextPageToken to continue paging through the results.+tialNextPageToken :: Lens' TargetInstanceAggregatedList (Maybe Text)+tialNextPageToken+ = lens _tialNextPageToken+ (\ s a -> s{_tialNextPageToken = a})++-- | Type of resource.+tialKind :: Lens' TargetInstanceAggregatedList Text+tialKind = lens _tialKind (\ s a -> s{_tialKind = a})++-- | A map of scoped target instance lists.+tialItems :: Lens' TargetInstanceAggregatedList (Maybe TargetInstanceAggregatedListItems)+tialItems+ = lens _tialItems (\ s a -> s{_tialItems = a})++-- | [Output Only] Server-defined URL for this resource.+tialSelfLink :: Lens' TargetInstanceAggregatedList (Maybe Text)+tialSelfLink+ = lens _tialSelfLink (\ s a -> s{_tialSelfLink = a})++-- | [Output Only] Unique identifier for the resource; defined by the server.+tialId :: Lens' TargetInstanceAggregatedList (Maybe Text)+tialId = lens _tialId (\ s a -> s{_tialId = a})++instance FromJSON TargetInstanceAggregatedList where+ parseJSON+ = withObject "TargetInstanceAggregatedList"+ (\ o ->+ TargetInstanceAggregatedList' <$>+ (o .:? "nextPageToken") <*>+ (o .:? "kind" .!=+ "compute#targetInstanceAggregatedList")+ <*> (o .:? "items")+ <*> (o .:? "selfLink")+ <*> (o .:? "id"))++instance ToJSON TargetInstanceAggregatedList where+ toJSON TargetInstanceAggregatedList'{..}+ = object+ (catMaybes+ [("nextPageToken" .=) <$> _tialNextPageToken,+ Just ("kind" .= _tialKind),+ ("items" .=) <$> _tialItems,+ ("selfLink" .=) <$> _tialSelfLink,+ ("id" .=) <$> _tialId])++--+-- /See:/ 'disksScopedList' smart constructor.+data DisksScopedList = DisksScopedList'+ { _dslWarning :: !(Maybe DisksScopedListWarning)+ , _dslDisks :: !(Maybe [Disk])+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'DisksScopedList' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'dslWarning'+--+-- * 'dslDisks'+disksScopedList+ :: DisksScopedList+disksScopedList =+ DisksScopedList'+ { _dslWarning = Nothing+ , _dslDisks = Nothing+ }++-- | [Output Only] Informational warning which replaces the list of disks+-- when the list is empty.+dslWarning :: Lens' DisksScopedList (Maybe DisksScopedListWarning)+dslWarning+ = lens _dslWarning (\ s a -> s{_dslWarning = a})++-- | [Output Only] List of disks contained in this scope.+dslDisks :: Lens' DisksScopedList [Disk]+dslDisks+ = lens _dslDisks (\ s a -> s{_dslDisks = a}) .+ _Default+ . _Coerce++instance FromJSON DisksScopedList where+ parseJSON+ = withObject "DisksScopedList"+ (\ o ->+ DisksScopedList' <$>+ (o .:? "warning") <*> (o .:? "disks" .!= mempty))++instance ToJSON DisksScopedList where+ toJSON DisksScopedList'{..}+ = object+ (catMaybes+ [("warning" .=) <$> _dslWarning,+ ("disks" .=) <$> _dslDisks])++--+-- /See:/ 'instanceGroupManagersScopedList' smart constructor.+data InstanceGroupManagersScopedList = InstanceGroupManagersScopedList'+ { _igmslWarning :: !(Maybe InstanceGroupManagersScopedListWarning)+ , _igmslInstanceGroupManagers :: !(Maybe [InstanceGroupManager])+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'InstanceGroupManagersScopedList' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'igmslWarning'+--+-- * 'igmslInstanceGroupManagers'+instanceGroupManagersScopedList+ :: InstanceGroupManagersScopedList+instanceGroupManagersScopedList =+ InstanceGroupManagersScopedList'+ { _igmslWarning = Nothing+ , _igmslInstanceGroupManagers = Nothing+ }++-- | [Output Only] The warning that replaces the list of managed instance+-- groups when the list is empty.+igmslWarning :: Lens' InstanceGroupManagersScopedList (Maybe InstanceGroupManagersScopedListWarning)+igmslWarning+ = lens _igmslWarning (\ s a -> s{_igmslWarning = a})++-- | [Output Only] The list of managed instance groups that are contained in+-- the specified project and zone.+igmslInstanceGroupManagers :: Lens' InstanceGroupManagersScopedList [InstanceGroupManager]+igmslInstanceGroupManagers+ = lens _igmslInstanceGroupManagers+ (\ s a -> s{_igmslInstanceGroupManagers = a})+ . _Default+ . _Coerce++instance FromJSON InstanceGroupManagersScopedList+ where+ parseJSON+ = withObject "InstanceGroupManagersScopedList"+ (\ o ->+ InstanceGroupManagersScopedList' <$>+ (o .:? "warning") <*>+ (o .:? "instanceGroupManagers" .!= mempty))++instance ToJSON InstanceGroupManagersScopedList where+ toJSON InstanceGroupManagersScopedList'{..}+ = object+ (catMaybes+ [("warning" .=) <$> _igmslWarning,+ ("instanceGroupManagers" .=) <$>+ _igmslInstanceGroupManagers])++-- | An HealthCheck resource. This resource defines a template for how+-- individual virtual machines should be checked for health, via one of the+-- supported protocols.+--+-- /See:/ 'healthCheck' smart constructor.+data HealthCheck = HealthCheck'+ { _hcHealthyThreshold :: !(Maybe (Textual Int32))+ , _hcTCPHealthCheck :: !(Maybe TCPHealthCheck)+ , _hcHTTP2HealthCheck :: !(Maybe HTTP2HealthCheck)+ , _hcKind :: !Text+ , _hcSSLHealthCheck :: !(Maybe SSLHealthCheck)+ , _hcSelfLink :: !(Maybe Text)+ , _hcCheckIntervalSec :: !(Maybe (Textual Int32))+ , _hcName :: !(Maybe Text)+ , _hcCreationTimestamp :: !(Maybe Text)+ , _hcHTTPHealthCheck :: !(Maybe HTTPHealthCheck)+ , _hcId :: !(Maybe (Textual Word64))+ , _hcType :: !(Maybe HealthCheckType)+ , _hcTimeoutSec :: !(Maybe (Textual Int32))+ , _hcDescription :: !(Maybe Text)+ , _hcUnhealthyThreshold :: !(Maybe (Textual Int32))+ , _hcHTTPSHealthCheck :: !(Maybe HTTPSHealthCheck)+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'HealthCheck' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'hcHealthyThreshold'+--+-- * 'hcTCPHealthCheck'+--+-- * 'hcHTTP2HealthCheck'+--+-- * 'hcKind'+--+-- * 'hcSSLHealthCheck'+--+-- * 'hcSelfLink'+--+-- * 'hcCheckIntervalSec'+--+-- * 'hcName'+--+-- * 'hcCreationTimestamp'+--+-- * 'hcHTTPHealthCheck'+--+-- * 'hcId'+--+-- * 'hcType'+--+-- * 'hcTimeoutSec'+--+-- * 'hcDescription'+--+-- * 'hcUnhealthyThreshold'+--+-- * 'hcHTTPSHealthCheck'+healthCheck+ :: HealthCheck+healthCheck =+ HealthCheck'+ { _hcHealthyThreshold = Nothing+ , _hcTCPHealthCheck = Nothing+ , _hcHTTP2HealthCheck = Nothing+ , _hcKind = "compute#healthCheck"+ , _hcSSLHealthCheck = Nothing+ , _hcSelfLink = Nothing+ , _hcCheckIntervalSec = Nothing+ , _hcName = Nothing+ , _hcCreationTimestamp = Nothing+ , _hcHTTPHealthCheck = Nothing+ , _hcId = Nothing+ , _hcType = Nothing+ , _hcTimeoutSec = Nothing+ , _hcDescription = Nothing+ , _hcUnhealthyThreshold = Nothing+ , _hcHTTPSHealthCheck = Nothing+ }++-- | A so-far unhealthy instance will be marked healthy after this many+-- consecutive successes. The default value is 2.+hcHealthyThreshold :: Lens' HealthCheck (Maybe Int32)+hcHealthyThreshold+ = lens _hcHealthyThreshold+ (\ s a -> s{_hcHealthyThreshold = a})+ . mapping _Coerce++hcTCPHealthCheck :: Lens' HealthCheck (Maybe TCPHealthCheck)+hcTCPHealthCheck+ = lens _hcTCPHealthCheck+ (\ s a -> s{_hcTCPHealthCheck = a})++hcHTTP2HealthCheck :: Lens' HealthCheck (Maybe HTTP2HealthCheck)+hcHTTP2HealthCheck+ = lens _hcHTTP2HealthCheck+ (\ s a -> s{_hcHTTP2HealthCheck = a})++-- | Type of the resource.+hcKind :: Lens' HealthCheck Text+hcKind = lens _hcKind (\ s a -> s{_hcKind = a})++hcSSLHealthCheck :: Lens' HealthCheck (Maybe SSLHealthCheck)+hcSSLHealthCheck+ = lens _hcSSLHealthCheck+ (\ s a -> s{_hcSSLHealthCheck = a})++-- | [Output Only] Server-defined URL for the resource.+hcSelfLink :: Lens' HealthCheck (Maybe Text)+hcSelfLink+ = lens _hcSelfLink (\ s a -> s{_hcSelfLink = a})++-- | How often (in seconds) to send a health check. The default value is 5+-- seconds.+hcCheckIntervalSec :: Lens' HealthCheck (Maybe Int32)+hcCheckIntervalSec+ = lens _hcCheckIntervalSec+ (\ s a -> s{_hcCheckIntervalSec = a})+ . mapping _Coerce++-- | Name of the resource. Provided by the client when the resource is+-- created. The name must be 1-63 characters long, and comply with RFC1035.+-- Specifically, the name must be 1-63 characters long and match the+-- regular expression [a-z]([-a-z0-9]*[a-z0-9])? which means the first+-- character must be a lowercase letter, and all following characters must+-- be a dash, lowercase letter, or digit, except the last character, which+-- cannot be a dash.+hcName :: Lens' HealthCheck (Maybe Text)+hcName = lens _hcName (\ s a -> s{_hcName = a})++-- | [Output Only] Creation timestamp in 3339 text format.+hcCreationTimestamp :: Lens' HealthCheck (Maybe Text)+hcCreationTimestamp+ = lens _hcCreationTimestamp+ (\ s a -> s{_hcCreationTimestamp = a})++hcHTTPHealthCheck :: Lens' HealthCheck (Maybe HTTPHealthCheck)+hcHTTPHealthCheck+ = lens _hcHTTPHealthCheck+ (\ s a -> s{_hcHTTPHealthCheck = a})++-- | [Output Only] The unique identifier for the resource. This identifier is+-- defined by the server.+hcId :: Lens' HealthCheck (Maybe Word64)+hcId+ = lens _hcId (\ s a -> s{_hcId = a}) .+ mapping _Coerce++-- | Specifies the type of the healthCheck, either TCP, UDP, SSL, HTTP, HTTPS+-- or HTTP2. If not specified, the default is TCP. Exactly one of the+-- protocol-specific health check field must be specified, which must match+-- type field.+hcType :: Lens' HealthCheck (Maybe HealthCheckType)+hcType = lens _hcType (\ s a -> s{_hcType = a})++-- | How long (in seconds) to wait before claiming failure. The default value+-- is 5 seconds. It is invalid for timeoutSec to have greater value than+-- checkIntervalSec.+hcTimeoutSec :: Lens' HealthCheck (Maybe Int32)+hcTimeoutSec+ = lens _hcTimeoutSec (\ s a -> s{_hcTimeoutSec = a})+ . mapping _Coerce++-- | An optional description of this resource. Provide this property when you+-- create the resource.+hcDescription :: Lens' HealthCheck (Maybe Text)+hcDescription+ = lens _hcDescription+ (\ s a -> s{_hcDescription = a})++-- | A so-far healthy instance will be marked unhealthy after this many+-- consecutive failures. The default value is 2.+hcUnhealthyThreshold :: Lens' HealthCheck (Maybe Int32)+hcUnhealthyThreshold+ = lens _hcUnhealthyThreshold+ (\ s a -> s{_hcUnhealthyThreshold = a})+ . mapping _Coerce++hcHTTPSHealthCheck :: Lens' HealthCheck (Maybe HTTPSHealthCheck)+hcHTTPSHealthCheck+ = lens _hcHTTPSHealthCheck+ (\ s a -> s{_hcHTTPSHealthCheck = a})++instance FromJSON HealthCheck where+ parseJSON+ = withObject "HealthCheck"+ (\ o ->+ HealthCheck' <$>+ (o .:? "healthyThreshold") <*>+ (o .:? "tcpHealthCheck")+ <*> (o .:? "http2HealthCheck")+ <*> (o .:? "kind" .!= "compute#healthCheck")+ <*> (o .:? "sslHealthCheck")+ <*> (o .:? "selfLink")+ <*> (o .:? "checkIntervalSec")+ <*> (o .:? "name")+ <*> (o .:? "creationTimestamp")+ <*> (o .:? "httpHealthCheck")+ <*> (o .:? "id")+ <*> (o .:? "type")+ <*> (o .:? "timeoutSec")+ <*> (o .:? "description")+ <*> (o .:? "unhealthyThreshold")+ <*> (o .:? "httpsHealthCheck"))++instance ToJSON HealthCheck where+ toJSON HealthCheck'{..}+ = object+ (catMaybes+ [("healthyThreshold" .=) <$> _hcHealthyThreshold,+ ("tcpHealthCheck" .=) <$> _hcTCPHealthCheck,+ ("http2HealthCheck" .=) <$> _hcHTTP2HealthCheck,+ Just ("kind" .= _hcKind),+ ("sslHealthCheck" .=) <$> _hcSSLHealthCheck,+ ("selfLink" .=) <$> _hcSelfLink,+ ("checkIntervalSec" .=) <$> _hcCheckIntervalSec,+ ("name" .=) <$> _hcName,+ ("creationTimestamp" .=) <$> _hcCreationTimestamp,+ ("httpHealthCheck" .=) <$> _hcHTTPHealthCheck,+ ("id" .=) <$> _hcId, ("type" .=) <$> _hcType,+ ("timeoutSec" .=) <$> _hcTimeoutSec,+ ("description" .=) <$> _hcDescription,+ ("unhealthyThreshold" .=) <$> _hcUnhealthyThreshold,+ ("httpsHealthCheck" .=) <$> _hcHTTPSHealthCheck])++--+-- /See:/ 'diskAggregatedList' smart constructor.+data DiskAggregatedList = DiskAggregatedList'+ { _dalNextPageToken :: !(Maybe Text)+ , _dalKind :: !Text+ , _dalItems :: !(Maybe DiskAggregatedListItems)+ , _dalSelfLink :: !(Maybe Text)+ , _dalId :: !(Maybe Text)+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'DiskAggregatedList' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'dalNextPageToken'+--+-- * 'dalKind'+--+-- * 'dalItems'+--+-- * 'dalSelfLink'+--+-- * 'dalId'+diskAggregatedList+ :: DiskAggregatedList+diskAggregatedList =+ DiskAggregatedList'+ { _dalNextPageToken = Nothing+ , _dalKind = "compute#diskAggregatedList"+ , _dalItems = Nothing+ , _dalSelfLink = Nothing+ , _dalId = Nothing+ }++-- | [Output Only] This token allows you to get the next page of results for+-- list requests. If the number of results is larger than maxResults, use+-- the nextPageToken as a value for the query parameter pageToken in the+-- next list request. Subsequent list requests will have their own+-- nextPageToken to continue paging through the results.+dalNextPageToken :: Lens' DiskAggregatedList (Maybe Text)+dalNextPageToken+ = lens _dalNextPageToken+ (\ s a -> s{_dalNextPageToken = a})++-- | [Output Only] Type of resource. Always compute#diskAggregatedList for+-- aggregated lists of persistent disks.+dalKind :: Lens' DiskAggregatedList Text+dalKind = lens _dalKind (\ s a -> s{_dalKind = a})++-- | [Output Only] A map of scoped disk lists.+dalItems :: Lens' DiskAggregatedList (Maybe DiskAggregatedListItems)+dalItems = lens _dalItems (\ s a -> s{_dalItems = a})++-- | [Output Only] Server-defined URL for this resource.+dalSelfLink :: Lens' DiskAggregatedList (Maybe Text)+dalSelfLink+ = lens _dalSelfLink (\ s a -> s{_dalSelfLink = a})++-- | [Output Only] The unique identifier for the resource. This identifier is+-- defined by the server.+dalId :: Lens' DiskAggregatedList (Maybe Text)+dalId = lens _dalId (\ s a -> s{_dalId = a})++instance FromJSON DiskAggregatedList where+ parseJSON+ = withObject "DiskAggregatedList"+ (\ o ->+ DiskAggregatedList' <$>+ (o .:? "nextPageToken") <*>+ (o .:? "kind" .!= "compute#diskAggregatedList")+ <*> (o .:? "items")+ <*> (o .:? "selfLink")+ <*> (o .:? "id"))++instance ToJSON DiskAggregatedList where+ toJSON DiskAggregatedList'{..}+ = object+ (catMaybes+ [("nextPageToken" .=) <$> _dalNextPageToken,+ Just ("kind" .= _dalKind),+ ("items" .=) <$> _dalItems,+ ("selfLink" .=) <$> _dalSelfLink,+ ("id" .=) <$> _dalId])++--+-- /See:/ 'instanceWithNamedPorts' smart constructor.+data InstanceWithNamedPorts = InstanceWithNamedPorts'+ { _iwnpStatus :: !(Maybe InstanceWithNamedPortsStatus)+ , _iwnpNamedPorts :: !(Maybe [NamedPort])+ , _iwnpInstance :: !(Maybe Text)+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'InstanceWithNamedPorts' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'iwnpStatus'+--+-- * 'iwnpNamedPorts'+--+-- * 'iwnpInstance'+instanceWithNamedPorts+ :: InstanceWithNamedPorts+instanceWithNamedPorts =+ InstanceWithNamedPorts'+ { _iwnpStatus = Nothing+ , _iwnpNamedPorts = Nothing+ , _iwnpInstance = Nothing+ }++-- | [Output Only] The status of the instance.+iwnpStatus :: Lens' InstanceWithNamedPorts (Maybe InstanceWithNamedPortsStatus)+iwnpStatus+ = lens _iwnpStatus (\ s a -> s{_iwnpStatus = a})++-- | [Output Only] The named ports that belong to this instance group.+iwnpNamedPorts :: Lens' InstanceWithNamedPorts [NamedPort]+iwnpNamedPorts+ = lens _iwnpNamedPorts+ (\ s a -> s{_iwnpNamedPorts = a})+ . _Default+ . _Coerce++-- | [Output Only] The URL of the instance.+iwnpInstance :: Lens' InstanceWithNamedPorts (Maybe Text)+iwnpInstance+ = lens _iwnpInstance (\ s a -> s{_iwnpInstance = a})++instance FromJSON InstanceWithNamedPorts where+ parseJSON+ = withObject "InstanceWithNamedPorts"+ (\ o ->+ InstanceWithNamedPorts' <$>+ (o .:? "status") <*> (o .:? "namedPorts" .!= mempty)+ <*> (o .:? "instance"))++instance ToJSON InstanceWithNamedPorts where+ toJSON InstanceWithNamedPorts'{..}+ = object+ (catMaybes+ [("status" .=) <$> _iwnpStatus,+ ("namedPorts" .=) <$> _iwnpNamedPorts,+ ("instance" .=) <$> _iwnpInstance])++--+-- /See:/ 'forwardingRulesScopedList' smart constructor.+data ForwardingRulesScopedList = ForwardingRulesScopedList'+ { _frslWarning :: !(Maybe ForwardingRulesScopedListWarning)+ , _frslForwardingRules :: !(Maybe [ForwardingRule])+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'ForwardingRulesScopedList' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'frslWarning'+--+-- * 'frslForwardingRules'+forwardingRulesScopedList+ :: ForwardingRulesScopedList+forwardingRulesScopedList =+ ForwardingRulesScopedList'+ { _frslWarning = Nothing+ , _frslForwardingRules = Nothing+ }++-- | Informational warning which replaces the list of forwarding rules when+-- the list is empty.+frslWarning :: Lens' ForwardingRulesScopedList (Maybe ForwardingRulesScopedListWarning)+frslWarning+ = lens _frslWarning (\ s a -> s{_frslWarning = a})++-- | List of forwarding rules contained in this scope.+frslForwardingRules :: Lens' ForwardingRulesScopedList [ForwardingRule]+frslForwardingRules+ = lens _frslForwardingRules+ (\ s a -> s{_frslForwardingRules = a})+ . _Default+ . _Coerce++instance FromJSON ForwardingRulesScopedList where+ parseJSON+ = withObject "ForwardingRulesScopedList"+ (\ o ->+ ForwardingRulesScopedList' <$>+ (o .:? "warning") <*>+ (o .:? "forwardingRules" .!= mempty))++instance ToJSON ForwardingRulesScopedList where+ toJSON ForwardingRulesScopedList'{..}+ = object+ (catMaybes+ [("warning" .=) <$> _frslWarning,+ ("forwardingRules" .=) <$> _frslForwardingRules])++--+-- /See:/ 'instanceReference' smart constructor.+newtype InstanceReference = InstanceReference'+ { _iInstance :: Maybe Text+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'InstanceReference' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'iInstance'+instanceReference+ :: InstanceReference+instanceReference =+ InstanceReference'+ { _iInstance = Nothing+ }++-- | The URL for a specific instance.+iInstance :: Lens' InstanceReference (Maybe Text)+iInstance+ = lens _iInstance (\ s a -> s{_iInstance = a})++instance FromJSON InstanceReference where+ parseJSON+ = withObject "InstanceReference"+ (\ o -> InstanceReference' <$> (o .:? "instance"))++instance ToJSON InstanceReference where+ toJSON InstanceReference'{..}+ = object (catMaybes [("instance" .=) <$> _iInstance])++--+-- /See:/ 'operationAggregatedList' smart constructor.+data OperationAggregatedList = OperationAggregatedList'+ { _oalNextPageToken :: !(Maybe Text)+ , _oalKind :: !Text+ , _oalItems :: !(Maybe OperationAggregatedListItems)+ , _oalSelfLink :: !(Maybe Text)+ , _oalId :: !(Maybe Text)+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'OperationAggregatedList' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'oalNextPageToken'+--+-- * 'oalKind'+--+-- * 'oalItems'+--+-- * 'oalSelfLink'+--+-- * 'oalId'+operationAggregatedList+ :: OperationAggregatedList+operationAggregatedList =+ OperationAggregatedList'+ { _oalNextPageToken = Nothing+ , _oalKind = "compute#operationAggregatedList"+ , _oalItems = Nothing+ , _oalSelfLink = Nothing+ , _oalId = Nothing+ }++-- | [Output Only] This token allows you to get the next page of results for+-- list requests. If the number of results is larger than maxResults, use+-- the nextPageToken as a value for the query parameter pageToken in the+-- next list request. Subsequent list requests will have their own+-- nextPageToken to continue paging through the results.+oalNextPageToken :: Lens' OperationAggregatedList (Maybe Text)+oalNextPageToken+ = lens _oalNextPageToken+ (\ s a -> s{_oalNextPageToken = a})++-- | [Output Only] Type of resource. Always compute#operationAggregatedList+-- for aggregated lists of operations.+oalKind :: Lens' OperationAggregatedList Text+oalKind = lens _oalKind (\ s a -> s{_oalKind = a})++-- | [Output Only] A map of scoped operation lists.+oalItems :: Lens' OperationAggregatedList (Maybe OperationAggregatedListItems)+oalItems = lens _oalItems (\ s a -> s{_oalItems = a})++-- | [Output Only] Server-defined URL for this resource.+oalSelfLink :: Lens' OperationAggregatedList (Maybe Text)+oalSelfLink+ = lens _oalSelfLink (\ s a -> s{_oalSelfLink = a})++-- | [Output Only] The unique identifier for the resource. This identifier is+-- defined by the server.+oalId :: Lens' OperationAggregatedList (Maybe Text)+oalId = lens _oalId (\ s a -> s{_oalId = a})++instance FromJSON OperationAggregatedList where+ parseJSON+ = withObject "OperationAggregatedList"+ (\ o ->+ OperationAggregatedList' <$>+ (o .:? "nextPageToken") <*>+ (o .:? "kind" .!= "compute#operationAggregatedList")+ <*> (o .:? "items")+ <*> (o .:? "selfLink")+ <*> (o .:? "id"))++instance ToJSON OperationAggregatedList where+ toJSON OperationAggregatedList'{..}+ = object+ (catMaybes+ [("nextPageToken" .=) <$> _oalNextPageToken,+ Just ("kind" .= _oalKind),+ ("items" .=) <$> _oalItems,+ ("selfLink" .=) <$> _oalSelfLink,+ ("id" .=) <$> _oalId])++--+-- /See:/ 'operationsScopedList' smart constructor.+data OperationsScopedList = OperationsScopedList'+ { _oslWarning :: !(Maybe OperationsScopedListWarning)+ , _oslOperations :: !(Maybe [Operation])+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'OperationsScopedList' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'oslWarning'+--+-- * 'oslOperations'+operationsScopedList+ :: OperationsScopedList+operationsScopedList =+ OperationsScopedList'+ { _oslWarning = Nothing+ , _oslOperations = Nothing+ }++-- | [Output Only] Informational warning which replaces the list of+-- operations when the list is empty.+oslWarning :: Lens' OperationsScopedList (Maybe OperationsScopedListWarning)+oslWarning+ = lens _oslWarning (\ s a -> s{_oslWarning = a})++-- | [Output Only] List of operations contained in this scope.+oslOperations :: Lens' OperationsScopedList [Operation]+oslOperations+ = lens _oslOperations+ (\ s a -> s{_oslOperations = a})+ . _Default+ . _Coerce++instance FromJSON OperationsScopedList where+ parseJSON+ = withObject "OperationsScopedList"+ (\ o ->+ OperationsScopedList' <$>+ (o .:? "warning") <*>+ (o .:? "operations" .!= mempty))++instance ToJSON OperationsScopedList where+ toJSON OperationsScopedList'{..}+ = object+ (catMaybes+ [("warning" .=) <$> _oslWarning,+ ("operations" .=) <$> _oslOperations])++-- | The named port. For example: .+--+-- /See:/ 'namedPort' smart constructor.+data NamedPort = NamedPort'+ { _npName :: !(Maybe Text)+ , _npPort :: !(Maybe (Textual Int32))+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'NamedPort' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'npName'+--+-- * 'npPort'+namedPort+ :: NamedPort+namedPort =+ NamedPort'+ { _npName = Nothing+ , _npPort = Nothing+ }++-- | The name for this named port. The name must be 1-63 characters long, and+-- comply with RFC1035.+npName :: Lens' NamedPort (Maybe Text)+npName = lens _npName (\ s a -> s{_npName = a})++-- | The port number, which can be a value between 1 and 65535.+npPort :: Lens' NamedPort (Maybe Int32)+npPort+ = lens _npPort (\ s a -> s{_npPort = a}) .+ mapping _Coerce++instance FromJSON NamedPort where+ parseJSON+ = withObject "NamedPort"+ (\ o ->+ NamedPort' <$> (o .:? "name") <*> (o .:? "port"))++instance ToJSON NamedPort where+ toJSON NamedPort'{..}+ = object+ (catMaybes+ [("name" .=) <$> _npName, ("port" .=) <$> _npPort])++-- | Contains a list of TargetInstance resources.+--+-- /See:/ 'targetInstanceList' smart constructor.+data TargetInstanceList = TargetInstanceList'+ { _tilNextPageToken :: !(Maybe Text)+ , _tilKind :: !Text+ , _tilItems :: !(Maybe [TargetInstance])+ , _tilSelfLink :: !(Maybe Text)+ , _tilId :: !(Maybe Text)+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'TargetInstanceList' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'tilNextPageToken'+--+-- * 'tilKind'+--+-- * 'tilItems'+--+-- * 'tilSelfLink'+--+-- * 'tilId'+targetInstanceList+ :: TargetInstanceList+targetInstanceList =+ TargetInstanceList'+ { _tilNextPageToken = Nothing+ , _tilKind = "compute#targetInstanceList"+ , _tilItems = Nothing+ , _tilSelfLink = Nothing+ , _tilId = Nothing+ }++-- | [Output Only] This token allows you to get the next page of results for+-- list requests. If the number of results is larger than maxResults, use+-- the nextPageToken as a value for the query parameter pageToken in the+-- next list request. Subsequent list requests will have their own+-- nextPageToken to continue paging through the results.+tilNextPageToken :: Lens' TargetInstanceList (Maybe Text)+tilNextPageToken+ = lens _tilNextPageToken+ (\ s a -> s{_tilNextPageToken = a})++-- | Type of resource.+tilKind :: Lens' TargetInstanceList Text+tilKind = lens _tilKind (\ s a -> s{_tilKind = a})++-- | A list of TargetInstance resources.+tilItems :: Lens' TargetInstanceList [TargetInstance]+tilItems+ = lens _tilItems (\ s a -> s{_tilItems = a}) .+ _Default+ . _Coerce++-- | [Output Only] Server-defined URL for this resource.+tilSelfLink :: Lens' TargetInstanceList (Maybe Text)+tilSelfLink+ = lens _tilSelfLink (\ s a -> s{_tilSelfLink = a})++-- | [Output Only] The unique identifier for the resource. This identifier is+-- defined by the server.+tilId :: Lens' TargetInstanceList (Maybe Text)+tilId = lens _tilId (\ s a -> s{_tilId = a})++instance FromJSON TargetInstanceList where+ parseJSON+ = withObject "TargetInstanceList"+ (\ o ->+ TargetInstanceList' <$>+ (o .:? "nextPageToken") <*>+ (o .:? "kind" .!= "compute#targetInstanceList")+ <*> (o .:? "items" .!= mempty)+ <*> (o .:? "selfLink")+ <*> (o .:? "id"))++instance ToJSON TargetInstanceList where+ toJSON TargetInstanceList'{..}+ = object+ (catMaybes+ [("nextPageToken" .=) <$> _tilNextPageToken,+ Just ("kind" .= _tilKind),+ ("items" .=) <$> _tilItems,+ ("selfLink" .=) <$> _tilSelfLink,+ ("id" .=) <$> _tilId])++--+-- /See:/ 'instanceGroupManagerAggregatedList' smart constructor.+data InstanceGroupManagerAggregatedList = InstanceGroupManagerAggregatedList'+ { _igmalNextPageToken :: !(Maybe Text)+ , _igmalKind :: !Text+ , _igmalItems :: !(Maybe InstanceGroupManagerAggregatedListItems)+ , _igmalSelfLink :: !(Maybe Text)+ , _igmalId :: !(Maybe Text)+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'InstanceGroupManagerAggregatedList' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'igmalNextPageToken'+--+-- * 'igmalKind'+--+-- * 'igmalItems'+--+-- * 'igmalSelfLink'+--+-- * 'igmalId'+instanceGroupManagerAggregatedList+ :: InstanceGroupManagerAggregatedList+instanceGroupManagerAggregatedList =+ InstanceGroupManagerAggregatedList'+ { _igmalNextPageToken = Nothing+ , _igmalKind = "compute#instanceGroupManagerAggregatedList"+ , _igmalItems = Nothing+ , _igmalSelfLink = Nothing+ , _igmalId = Nothing+ }++-- | [Output Only] This token allows you to get the next page of results for+-- list requests. If the number of results is larger than maxResults, use+-- the nextPageToken as a value for the query parameter pageToken in the+-- next list request. Subsequent list requests will have their own+-- nextPageToken to continue paging through the results.+igmalNextPageToken :: Lens' InstanceGroupManagerAggregatedList (Maybe Text)+igmalNextPageToken+ = lens _igmalNextPageToken+ (\ s a -> s{_igmalNextPageToken = a})++-- | [Output Only] The resource type, which is always+-- compute#instanceGroupManagerAggregatedList for an aggregated list of+-- managed instance groups.+igmalKind :: Lens' InstanceGroupManagerAggregatedList Text+igmalKind+ = lens _igmalKind (\ s a -> s{_igmalKind = a})++-- | [Output Only] A map of filtered managed instance group lists.+igmalItems :: Lens' InstanceGroupManagerAggregatedList (Maybe InstanceGroupManagerAggregatedListItems)+igmalItems+ = lens _igmalItems (\ s a -> s{_igmalItems = a})++-- | [Output Only] The URL for this resource type. The server generates this+-- URL.+igmalSelfLink :: Lens' InstanceGroupManagerAggregatedList (Maybe Text)+igmalSelfLink+ = lens _igmalSelfLink+ (\ s a -> s{_igmalSelfLink = a})++-- | [Output Only] A unique identifier for this aggregated list of managed+-- instance groups. The server generates this identifier.+igmalId :: Lens' InstanceGroupManagerAggregatedList (Maybe Text)+igmalId = lens _igmalId (\ s a -> s{_igmalId = a})++instance FromJSON InstanceGroupManagerAggregatedList+ where+ parseJSON+ = withObject "InstanceGroupManagerAggregatedList"+ (\ o ->+ InstanceGroupManagerAggregatedList' <$>+ (o .:? "nextPageToken") <*>+ (o .:? "kind" .!=+ "compute#instanceGroupManagerAggregatedList")+ <*> (o .:? "items")+ <*> (o .:? "selfLink")+ <*> (o .:? "id"))++instance ToJSON InstanceGroupManagerAggregatedList+ where+ toJSON InstanceGroupManagerAggregatedList'{..}+ = object+ (catMaybes+ [("nextPageToken" .=) <$> _igmalNextPageToken,+ Just ("kind" .= _igmalKind),+ ("items" .=) <$> _igmalItems,+ ("selfLink" .=) <$> _igmalSelfLink,+ ("id" .=) <$> _igmalId])++--+-- /See:/ 'targetPoolsScopedList' smart constructor.+data TargetPoolsScopedList = TargetPoolsScopedList'+ { _tpslWarning :: !(Maybe TargetPoolsScopedListWarning)+ , _tpslTargetPools :: !(Maybe [TargetPool])+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'TargetPoolsScopedList' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'tpslWarning'+--+-- * 'tpslTargetPools'+targetPoolsScopedList+ :: TargetPoolsScopedList+targetPoolsScopedList =+ TargetPoolsScopedList'+ { _tpslWarning = Nothing+ , _tpslTargetPools = Nothing+ }++-- | Informational warning which replaces the list of addresses when the list+-- is empty.+tpslWarning :: Lens' TargetPoolsScopedList (Maybe TargetPoolsScopedListWarning)+tpslWarning+ = lens _tpslWarning (\ s a -> s{_tpslWarning = a})++-- | List of target pools contained in this scope.+tpslTargetPools :: Lens' TargetPoolsScopedList [TargetPool]+tpslTargetPools+ = lens _tpslTargetPools+ (\ s a -> s{_tpslTargetPools = a})+ . _Default+ . _Coerce++instance FromJSON TargetPoolsScopedList where+ parseJSON+ = withObject "TargetPoolsScopedList"+ (\ o ->+ TargetPoolsScopedList' <$>+ (o .:? "warning") <*>+ (o .:? "targetPools" .!= mempty))++instance ToJSON TargetPoolsScopedList where+ toJSON TargetPoolsScopedList'{..}+ = object+ (catMaybes+ [("warning" .=) <$> _tpslWarning,+ ("targetPools" .=) <$> _tpslTargetPools])++--+-- /See:/ 'forwardingRuleAggregatedList' smart constructor.+data ForwardingRuleAggregatedList = ForwardingRuleAggregatedList'+ { _fralNextPageToken :: !(Maybe Text)+ , _fralKind :: !Text+ , _fralItems :: !(Maybe ForwardingRuleAggregatedListItems)+ , _fralSelfLink :: !(Maybe Text)+ , _fralId :: !(Maybe Text)+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'ForwardingRuleAggregatedList' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'fralNextPageToken'+--+-- * 'fralKind'+--+-- * 'fralItems'+--+-- * 'fralSelfLink'+--+-- * 'fralId'+forwardingRuleAggregatedList+ :: ForwardingRuleAggregatedList+forwardingRuleAggregatedList =+ ForwardingRuleAggregatedList'+ { _fralNextPageToken = Nothing+ , _fralKind = "compute#forwardingRuleAggregatedList"+ , _fralItems = Nothing+ , _fralSelfLink = Nothing+ , _fralId = Nothing+ }++-- | [Output Only] This token allows you to get the next page of results for+-- list requests. If the number of results is larger than maxResults, use+-- the nextPageToken as a value for the query parameter pageToken in the+-- next list request. Subsequent list requests will have their own+-- nextPageToken to continue paging through the results.+fralNextPageToken :: Lens' ForwardingRuleAggregatedList (Maybe Text)+fralNextPageToken+ = lens _fralNextPageToken+ (\ s a -> s{_fralNextPageToken = a})++-- | [Output Only] Type of resource. Always+-- compute#forwardingRuleAggregatedList for lists of forwarding rules.+fralKind :: Lens' ForwardingRuleAggregatedList Text+fralKind = lens _fralKind (\ s a -> s{_fralKind = a})++-- | A map of scoped forwarding rule lists.+fralItems :: Lens' ForwardingRuleAggregatedList (Maybe ForwardingRuleAggregatedListItems)+fralItems+ = lens _fralItems (\ s a -> s{_fralItems = a})++-- | [Output Only] Server-defined URL for this resource.+fralSelfLink :: Lens' ForwardingRuleAggregatedList (Maybe Text)+fralSelfLink+ = lens _fralSelfLink (\ s a -> s{_fralSelfLink = a})++-- | [Output Only] The unique identifier for the resource. This identifier is+-- defined by the server.+fralId :: Lens' ForwardingRuleAggregatedList (Maybe Text)+fralId = lens _fralId (\ s a -> s{_fralId = a})++instance FromJSON ForwardingRuleAggregatedList where+ parseJSON+ = withObject "ForwardingRuleAggregatedList"+ (\ o ->+ ForwardingRuleAggregatedList' <$>+ (o .:? "nextPageToken") <*>+ (o .:? "kind" .!=+ "compute#forwardingRuleAggregatedList")+ <*> (o .:? "items")+ <*> (o .:? "selfLink")+ <*> (o .:? "id"))++instance ToJSON ForwardingRuleAggregatedList where+ toJSON ForwardingRuleAggregatedList'{..}+ = object+ (catMaybes+ [("nextPageToken" .=) <$> _fralNextPageToken,+ Just ("kind" .= _fralKind),+ ("items" .=) <$> _fralItems,+ ("selfLink" .=) <$> _fralSelfLink,+ ("id" .=) <$> _fralId])++--+-- /See:/ 'targetReference' smart constructor.+newtype TargetReference = TargetReference'+ { _trTarget :: Maybe Text+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'TargetReference' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'trTarget'+targetReference+ :: TargetReference+targetReference =+ TargetReference'+ { _trTarget = Nothing+ }++trTarget :: Lens' TargetReference (Maybe Text)+trTarget = lens _trTarget (\ s a -> s{_trTarget = a})++instance FromJSON TargetReference where+ parseJSON+ = withObject "TargetReference"+ (\ o -> TargetReference' <$> (o .:? "target"))++instance ToJSON TargetReference where+ toJSON TargetReference'{..}+ = object (catMaybes [("target" .=) <$> _trTarget])++--+-- /See:/ 'targetPoolAggregatedList' smart constructor.+data TargetPoolAggregatedList = TargetPoolAggregatedList'+ { _tpalNextPageToken :: !(Maybe Text)+ , _tpalKind :: !Text+ , _tpalItems :: !(Maybe TargetPoolAggregatedListItems)+ , _tpalSelfLink :: !(Maybe Text)+ , _tpalId :: !(Maybe Text)+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'TargetPoolAggregatedList' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'tpalNextPageToken'+--+-- * 'tpalKind'+--+-- * 'tpalItems'+--+-- * 'tpalSelfLink'+--+-- * 'tpalId'+targetPoolAggregatedList+ :: TargetPoolAggregatedList+targetPoolAggregatedList =+ TargetPoolAggregatedList'+ { _tpalNextPageToken = Nothing+ , _tpalKind = "compute#targetPoolAggregatedList"+ , _tpalItems = Nothing+ , _tpalSelfLink = Nothing+ , _tpalId = Nothing+ }++-- | [Output Only] This token allows you to get the next page of results for+-- list requests. If the number of results is larger than maxResults, use+-- the nextPageToken as a value for the query parameter pageToken in the+-- next list request. Subsequent list requests will have their own+-- nextPageToken to continue paging through the results.+tpalNextPageToken :: Lens' TargetPoolAggregatedList (Maybe Text)+tpalNextPageToken+ = lens _tpalNextPageToken+ (\ s a -> s{_tpalNextPageToken = a})++-- | [Output Only] Type of resource. Always compute#targetPoolAggregatedList+-- for aggregated lists of target pools.+tpalKind :: Lens' TargetPoolAggregatedList Text+tpalKind = lens _tpalKind (\ s a -> s{_tpalKind = a})++-- | [Output Only] A map of scoped target pool lists.+tpalItems :: Lens' TargetPoolAggregatedList (Maybe TargetPoolAggregatedListItems)+tpalItems+ = lens _tpalItems (\ s a -> s{_tpalItems = a})++-- | [Output Only] Server-defined URL for this resource.+tpalSelfLink :: Lens' TargetPoolAggregatedList (Maybe Text)+tpalSelfLink+ = lens _tpalSelfLink (\ s a -> s{_tpalSelfLink = a})++-- | [Output Only] Unique identifier for the resource. Defined by the server.+tpalId :: Lens' TargetPoolAggregatedList (Maybe Text)+tpalId = lens _tpalId (\ s a -> s{_tpalId = a})++instance FromJSON TargetPoolAggregatedList where+ parseJSON+ = withObject "TargetPoolAggregatedList"+ (\ o ->+ TargetPoolAggregatedList' <$>+ (o .:? "nextPageToken") <*>+ (o .:? "kind" .!= "compute#targetPoolAggregatedList")+ <*> (o .:? "items")+ <*> (o .:? "selfLink")+ <*> (o .:? "id"))++instance ToJSON TargetPoolAggregatedList where+ toJSON TargetPoolAggregatedList'{..}+ = object+ (catMaybes+ [("nextPageToken" .=) <$> _tpalNextPageToken,+ Just ("kind" .= _tpalKind),+ ("items" .=) <$> _tpalItems,+ ("selfLink" .=) <$> _tpalSelfLink,+ ("id" .=) <$> _tpalId])++--+-- /See:/ 'operationsScopedListWarningDataItem' smart constructor.+data OperationsScopedListWarningDataItem = OperationsScopedListWarningDataItem'+ { _oslwdiValue :: !(Maybe Text)+ , _oslwdiKey :: !(Maybe Text)+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'OperationsScopedListWarningDataItem' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'oslwdiValue'+--+-- * 'oslwdiKey'+operationsScopedListWarningDataItem+ :: OperationsScopedListWarningDataItem+operationsScopedListWarningDataItem =+ OperationsScopedListWarningDataItem'+ { _oslwdiValue = Nothing+ , _oslwdiKey = Nothing+ }++-- | [Output Only] A warning data value corresponding to the key.+oslwdiValue :: Lens' OperationsScopedListWarningDataItem (Maybe Text)+oslwdiValue+ = lens _oslwdiValue (\ s a -> s{_oslwdiValue = a})++-- | [Output Only] A key that provides more detail on the warning being+-- returned. For example, for warnings where there are no results in a list+-- request for a particular zone, this key might be scope and the key value+-- might be the zone name. Other examples might be a key indicating a+-- deprecated resource and a suggested replacement, or a warning about+-- invalid network settings (for example, if an instance attempts to+-- perform IP forwarding but is not enabled for IP forwarding).+oslwdiKey :: Lens' OperationsScopedListWarningDataItem (Maybe Text)+oslwdiKey+ = lens _oslwdiKey (\ s a -> s{_oslwdiKey = a})++instance FromJSON OperationsScopedListWarningDataItem+ where+ parseJSON+ = withObject "OperationsScopedListWarningDataItem"+ (\ o ->+ OperationsScopedListWarningDataItem' <$>+ (o .:? "value") <*> (o .:? "key"))++instance ToJSON OperationsScopedListWarningDataItem+ where+ toJSON OperationsScopedListWarningDataItem'{..}+ = object+ (catMaybes+ [("value" .=) <$> _oslwdiValue,+ ("key" .=) <$> _oslwdiKey])++-- | A TargetPool resource. This resource defines a pool of instances,+-- associated HttpHealthCheck resources, and the fallback target pool.+--+-- /See:/ 'targetPool' smart constructor.+data TargetPool = TargetPool'+ { _tpSessionAffinity :: !(Maybe TargetPoolSessionAffinity)+ , _tpBackupPool :: !(Maybe Text)+ , _tpKind :: !Text+ , _tpSelfLink :: !(Maybe Text)+ , _tpName :: !(Maybe Text)+ , _tpCreationTimestamp :: !(Maybe Text)+ , _tpInstances :: !(Maybe [Text])+ , _tpId :: !(Maybe (Textual Word64))+ , _tpFailoverRatio :: !(Maybe (Textual Double))+ , _tpRegion :: !(Maybe Text)+ , _tpDescription :: !(Maybe Text)+ , _tpHealthChecks :: !(Maybe [Text])+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'TargetPool' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'tpSessionAffinity'+--+-- * 'tpBackupPool'+--+-- * 'tpKind'+--+-- * 'tpSelfLink'+--+-- * 'tpName'+--+-- * 'tpCreationTimestamp'+--+-- * 'tpInstances'+--+-- * 'tpId'+--+-- * 'tpFailoverRatio'+--+-- * 'tpRegion'+--+-- * 'tpDescription'+--+-- * 'tpHealthChecks'+targetPool+ :: TargetPool+targetPool =+ TargetPool'+ { _tpSessionAffinity = Nothing+ , _tpBackupPool = Nothing+ , _tpKind = "compute#targetPool"+ , _tpSelfLink = Nothing+ , _tpName = Nothing+ , _tpCreationTimestamp = Nothing+ , _tpInstances = Nothing+ , _tpId = Nothing+ , _tpFailoverRatio = Nothing+ , _tpRegion = Nothing+ , _tpDescription = Nothing+ , _tpHealthChecks = Nothing+ }++-- | Sesssion affinity option, must be one of the following values: NONE:+-- Connections from the same client IP may go to any instance in the pool.+-- CLIENT_IP: Connections from the same client IP will go to the same+-- instance in the pool while that instance remains healthy.+-- CLIENT_IP_PROTO: Connections from the same client IP with the same IP+-- protocol will go to the same instance in the pool while that instance+-- remains healthy.+tpSessionAffinity :: Lens' TargetPool (Maybe TargetPoolSessionAffinity)+tpSessionAffinity+ = lens _tpSessionAffinity+ (\ s a -> s{_tpSessionAffinity = a})++-- | This field is applicable only when the containing target pool is serving+-- a forwarding rule as the primary pool, and its failoverRatio field is+-- properly set to a value between [0, 1]. backupPool and failoverRatio+-- together define the fallback behavior of the primary target pool: if the+-- ratio of the healthy instances in the primary pool is at or below+-- failoverRatio, traffic arriving at the load-balanced IP will be directed+-- to the backup pool. In case where failoverRatio and backupPool are not+-- set, or all the instances in the backup pool are unhealthy, the traffic+-- will be directed back to the primary pool in the \"force\" mode, where+-- traffic will be spread to the healthy instances with the best effort, or+-- to all instances when no instance is healthy.+tpBackupPool :: Lens' TargetPool (Maybe Text)+tpBackupPool+ = lens _tpBackupPool (\ s a -> s{_tpBackupPool = a})++-- | [Output Only] Type of the resource. Always compute#targetPool for target+-- pools.+tpKind :: Lens' TargetPool Text+tpKind = lens _tpKind (\ s a -> s{_tpKind = a})++-- | [Output Only] Server-defined URL for the resource.+tpSelfLink :: Lens' TargetPool (Maybe Text)+tpSelfLink+ = lens _tpSelfLink (\ s a -> s{_tpSelfLink = a})++-- | Name of the resource. Provided by the client when the resource is+-- created. The name must be 1-63 characters long, and comply with RFC1035.+-- Specifically, the name must be 1-63 characters long and match the+-- regular expression [a-z]([-a-z0-9]*[a-z0-9])? which means the first+-- character must be a lowercase letter, and all following characters must+-- be a dash, lowercase letter, or digit, except the last character, which+-- cannot be a dash.+tpName :: Lens' TargetPool (Maybe Text)+tpName = lens _tpName (\ s a -> s{_tpName = a})++-- | [Output Only] Creation timestamp in RFC3339 text format.+tpCreationTimestamp :: Lens' TargetPool (Maybe Text)+tpCreationTimestamp+ = lens _tpCreationTimestamp+ (\ s a -> s{_tpCreationTimestamp = a})++-- | A list of resource URLs to the virtual machine instances serving this+-- pool. They must live in zones contained in the same region as this pool.+tpInstances :: Lens' TargetPool [Text]+tpInstances+ = lens _tpInstances (\ s a -> s{_tpInstances = a}) .+ _Default+ . _Coerce++-- | [Output Only] The unique identifier for the resource. This identifier is+-- defined by the server.+tpId :: Lens' TargetPool (Maybe Word64)+tpId+ = lens _tpId (\ s a -> s{_tpId = a}) .+ mapping _Coerce++-- | This field is applicable only when the containing target pool is serving+-- a forwarding rule as the primary pool (i.e., not as a backup pool to+-- some other target pool). The value of the field must be in [0, 1]. If+-- set, backupPool must also be set. They together define the fallback+-- behavior of the primary target pool: if the ratio of the healthy+-- instances in the primary pool is at or below this number, traffic+-- arriving at the load-balanced IP will be directed to the backup pool. In+-- case where failoverRatio is not set or all the instances in the backup+-- pool are unhealthy, the traffic will be directed back to the primary+-- pool in the \"force\" mode, where traffic will be spread to the healthy+-- instances with the best effort, or to all instances when no instance is+-- healthy.+tpFailoverRatio :: Lens' TargetPool (Maybe Double)+tpFailoverRatio+ = lens _tpFailoverRatio+ (\ s a -> s{_tpFailoverRatio = a})+ . mapping _Coerce++-- | [Output Only] URL of the region where the target pool resides.+tpRegion :: Lens' TargetPool (Maybe Text)+tpRegion = lens _tpRegion (\ s a -> s{_tpRegion = a})++-- | An optional description of this resource. Provide this property when you+-- create the resource.+tpDescription :: Lens' TargetPool (Maybe Text)+tpDescription+ = lens _tpDescription+ (\ s a -> s{_tpDescription = a})++-- | A list of URLs to the HttpHealthCheck resource. A member instance in+-- this pool is considered healthy if and only if all specified health+-- checks pass. An empty list means all member instances will be considered+-- healthy at all times.+tpHealthChecks :: Lens' TargetPool [Text]+tpHealthChecks+ = lens _tpHealthChecks+ (\ s a -> s{_tpHealthChecks = a})+ . _Default+ . _Coerce++instance FromJSON TargetPool where+ parseJSON+ = withObject "TargetPool"+ (\ o ->+ TargetPool' <$>+ (o .:? "sessionAffinity") <*> (o .:? "backupPool")+ <*> (o .:? "kind" .!= "compute#targetPool")+ <*> (o .:? "selfLink")+ <*> (o .:? "name")+ <*> (o .:? "creationTimestamp")+ <*> (o .:? "instances" .!= mempty)+ <*> (o .:? "id")+ <*> (o .:? "failoverRatio")+ <*> (o .:? "region")+ <*> (o .:? "description")+ <*> (o .:? "healthChecks" .!= mempty))++instance ToJSON TargetPool where+ toJSON TargetPool'{..}+ = object+ (catMaybes+ [("sessionAffinity" .=) <$> _tpSessionAffinity,+ ("backupPool" .=) <$> _tpBackupPool,+ Just ("kind" .= _tpKind),+ ("selfLink" .=) <$> _tpSelfLink,+ ("name" .=) <$> _tpName,+ ("creationTimestamp" .=) <$> _tpCreationTimestamp,+ ("instances" .=) <$> _tpInstances,+ ("id" .=) <$> _tpId,+ ("failoverRatio" .=) <$> _tpFailoverRatio,+ ("region" .=) <$> _tpRegion,+ ("description" .=) <$> _tpDescription,+ ("healthChecks" .=) <$> _tpHealthChecks])++-- | Contains a list of images.+--+-- /See:/ 'imageList' smart constructor.+data ImageList = ImageList'+ { _ilNextPageToken :: !(Maybe Text)+ , _ilKind :: !Text+ , _ilItems :: !(Maybe [Image])+ , _ilSelfLink :: !(Maybe Text)+ , _ilId :: !(Maybe Text)+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'ImageList' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'ilNextPageToken'+--+-- * 'ilKind'+--+-- * 'ilItems'+--+-- * 'ilSelfLink'+--+-- * 'ilId'+imageList+ :: ImageList+imageList =+ ImageList'+ { _ilNextPageToken = Nothing+ , _ilKind = "compute#imageList"+ , _ilItems = Nothing+ , _ilSelfLink = Nothing+ , _ilId = Nothing+ }++-- | [Output Only] This token allows you to get the next page of results for+-- list requests. If the number of results is larger than maxResults, use+-- the nextPageToken as a value for the query parameter pageToken in the+-- next list request. Subsequent list requests will have their own+-- nextPageToken to continue paging through the results.+ilNextPageToken :: Lens' ImageList (Maybe Text)+ilNextPageToken+ = lens _ilNextPageToken+ (\ s a -> s{_ilNextPageToken = a})++-- | Type of resource.+ilKind :: Lens' ImageList Text+ilKind = lens _ilKind (\ s a -> s{_ilKind = a})++-- | [Output Only] A list of Image resources.+ilItems :: Lens' ImageList [Image]+ilItems+ = lens _ilItems (\ s a -> s{_ilItems = a}) . _Default+ . _Coerce++-- | [Output Only] Server-defined URL for this resource.+ilSelfLink :: Lens' ImageList (Maybe Text)+ilSelfLink+ = lens _ilSelfLink (\ s a -> s{_ilSelfLink = a})++-- | [Output Only] The unique identifier for the resource. This identifier is+-- defined by the server.+ilId :: Lens' ImageList (Maybe Text)+ilId = lens _ilId (\ s a -> s{_ilId = a})++instance FromJSON ImageList where+ parseJSON+ = withObject "ImageList"+ (\ o ->+ ImageList' <$>+ (o .:? "nextPageToken") <*>+ (o .:? "kind" .!= "compute#imageList")+ <*> (o .:? "items" .!= mempty)+ <*> (o .:? "selfLink")+ <*> (o .:? "id"))++instance ToJSON ImageList where+ toJSON ImageList'{..}+ = object+ (catMaybes+ [("nextPageToken" .=) <$> _ilNextPageToken,+ Just ("kind" .= _ilKind), ("items" .=) <$> _ilItems,+ ("selfLink" .=) <$> _ilSelfLink,+ ("id" .=) <$> _ilId])++-- | Informational warning which replaces the list of addresses when the list+-- is empty.+--+-- /See:/ 'vpnTunnelsScopedListWarning' smart constructor.+data VPNTunnelsScopedListWarning = VPNTunnelsScopedListWarning'+ { _vtslwData :: !(Maybe [VPNTunnelsScopedListWarningDataItem])+ , _vtslwCode :: !(Maybe VPNTunnelsScopedListWarningCode)+ , _vtslwMessage :: !(Maybe Text)+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'VPNTunnelsScopedListWarning' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'vtslwData'+--+-- * 'vtslwCode'+--+-- * 'vtslwMessage'+vpnTunnelsScopedListWarning+ :: VPNTunnelsScopedListWarning+vpnTunnelsScopedListWarning =+ VPNTunnelsScopedListWarning'+ { _vtslwData = Nothing+ , _vtslwCode = Nothing+ , _vtslwMessage = Nothing+ }++-- | [Output Only] Metadata about this warning in key: value format. For+-- example: \"data\": [ { \"key\": \"scope\", \"value\":+-- \"zones\/us-east1-d\" }+vtslwData :: Lens' VPNTunnelsScopedListWarning [VPNTunnelsScopedListWarningDataItem]+vtslwData+ = lens _vtslwData (\ s a -> s{_vtslwData = a}) .+ _Default+ . _Coerce++-- | [Output Only] A warning code, if applicable. For example, Compute Engine+-- returns NO_RESULTS_ON_PAGE if there are no results in the response.+vtslwCode :: Lens' VPNTunnelsScopedListWarning (Maybe VPNTunnelsScopedListWarningCode)+vtslwCode+ = lens _vtslwCode (\ s a -> s{_vtslwCode = a})++-- | [Output Only] A human-readable description of the warning code.+vtslwMessage :: Lens' VPNTunnelsScopedListWarning (Maybe Text)+vtslwMessage+ = lens _vtslwMessage (\ s a -> s{_vtslwMessage = a})++instance FromJSON VPNTunnelsScopedListWarning where+ parseJSON+ = withObject "VPNTunnelsScopedListWarning"+ (\ o ->+ VPNTunnelsScopedListWarning' <$>+ (o .:? "data" .!= mempty) <*> (o .:? "code") <*>+ (o .:? "message"))++instance ToJSON VPNTunnelsScopedListWarning where+ toJSON VPNTunnelsScopedListWarning'{..}+ = object+ (catMaybes+ [("data" .=) <$> _vtslwData,+ ("code" .=) <$> _vtslwCode,+ ("message" .=) <$> _vtslwMessage])++--+-- /See:/ 'targetSSLProxiesSetBackendServiceRequest' smart constructor.+newtype TargetSSLProxiesSetBackendServiceRequest = TargetSSLProxiesSetBackendServiceRequest'+ { _tspsbsrService :: Maybe Text+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'TargetSSLProxiesSetBackendServiceRequest' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'tspsbsrService'+targetSSLProxiesSetBackendServiceRequest+ :: TargetSSLProxiesSetBackendServiceRequest+targetSSLProxiesSetBackendServiceRequest =+ TargetSSLProxiesSetBackendServiceRequest'+ { _tspsbsrService = Nothing+ }++-- | The URL of the new BackendService resource for the targetSslProxy.+tspsbsrService :: Lens' TargetSSLProxiesSetBackendServiceRequest (Maybe Text)+tspsbsrService+ = lens _tspsbsrService+ (\ s a -> s{_tspsbsrService = a})++instance FromJSON+ TargetSSLProxiesSetBackendServiceRequest where+ parseJSON+ = withObject+ "TargetSSLProxiesSetBackendServiceRequest"+ (\ o ->+ TargetSSLProxiesSetBackendServiceRequest' <$>+ (o .:? "service"))++instance ToJSON+ TargetSSLProxiesSetBackendServiceRequest where+ toJSON TargetSSLProxiesSetBackendServiceRequest'{..}+ = object+ (catMaybes [("service" .=) <$> _tspsbsrService])++-- | A ForwardingRule resource. A ForwardingRule resource specifies which+-- pool of target virtual machines to forward a packet to if it matches the+-- given [IPAddress, IPProtocol, portRange] tuple.+--+-- /See:/ 'forwardingRule' smart constructor.+data ForwardingRule = ForwardingRule'+ { _frIPAddress :: !(Maybe Text)+ , _frKind :: !Text+ , _frPortRange :: !(Maybe Text)+ , _frSelfLink :: !(Maybe Text)+ , _frName :: !(Maybe Text)+ , _frIPProtocol :: !(Maybe ForwardingRuleIPProtocol)+ , _frCreationTimestamp :: !(Maybe Text)+ , _frId :: !(Maybe (Textual Word64))+ , _frRegion :: !(Maybe Text)+ , _frDescription :: !(Maybe Text)+ , _frTarget :: !(Maybe Text)+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'ForwardingRule' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'frIPAddress'+--+-- * 'frKind'+--+-- * 'frPortRange'+--+-- * 'frSelfLink'+--+-- * 'frName'+--+-- * 'frIPProtocol'+--+-- * 'frCreationTimestamp'+--+-- * 'frId'+--+-- * 'frRegion'+--+-- * 'frDescription'+--+-- * 'frTarget'+forwardingRule+ :: ForwardingRule+forwardingRule =+ ForwardingRule'+ { _frIPAddress = Nothing+ , _frKind = "compute#forwardingRule"+ , _frPortRange = Nothing+ , _frSelfLink = Nothing+ , _frName = Nothing+ , _frIPProtocol = Nothing+ , _frCreationTimestamp = Nothing+ , _frId = Nothing+ , _frRegion = Nothing+ , _frDescription = Nothing+ , _frTarget = Nothing+ }++-- | The IP address that this forwarding rule is serving on behalf of. For+-- global forwarding rules, the address must be a global IP; for regional+-- forwarding rules, the address must live in the same region as the+-- forwarding rule. By default, this field is empty and an ephemeral IP+-- from the same scope (global or regional) will be assigned. When the load+-- balancing scheme is INTERNAL, this can only be an RFC 1918 IP address+-- belonging to the network\/subnetwork configured for the forwarding rule.+-- A reserved address cannot be used. If the field is empty, the IP address+-- will be automatically allocated from the internal IP range of the+-- subnetwork or network configured for this forwarding rule.+frIPAddress :: Lens' ForwardingRule (Maybe Text)+frIPAddress+ = lens _frIPAddress (\ s a -> s{_frIPAddress = a})++-- | [Output Only] Type of the resource. Always compute#forwardingRule for+-- Forwarding Rule resources.+frKind :: Lens' ForwardingRule Text+frKind = lens _frKind (\ s a -> s{_frKind = a})++-- | Applicable only when IPProtocol is TCP, UDP, or SCTP, only packets+-- addressed to ports in the specified range will be forwarded to target.+-- Forwarding rules with the same [IPAddress, IPProtocol] pair must have+-- disjoint port ranges. This field is not used for internal load+-- balancing.+frPortRange :: Lens' ForwardingRule (Maybe Text)+frPortRange+ = lens _frPortRange (\ s a -> s{_frPortRange = a})++-- | [Output Only] Server-defined URL for the resource.+frSelfLink :: Lens' ForwardingRule (Maybe Text)+frSelfLink+ = lens _frSelfLink (\ s a -> s{_frSelfLink = a})++-- | Name of the resource; provided by the client when the resource is+-- created. The name must be 1-63 characters long, and comply with RFC1035.+-- Specifically, the name must be 1-63 characters long and match the+-- regular expression [a-z]([-a-z0-9]*[a-z0-9])? which means the first+-- character must be a lowercase letter, and all following characters must+-- be a dash, lowercase letter, or digit, except the last character, which+-- cannot be a dash.+frName :: Lens' ForwardingRule (Maybe Text)+frName = lens _frName (\ s a -> s{_frName = a})++-- | The IP protocol to which this rule applies. Valid options are TCP, UDP,+-- ESP, AH, SCTP or ICMP. When the load balancing scheme is INTERNAL+frIPProtocol :: Lens' ForwardingRule (Maybe ForwardingRuleIPProtocol)+frIPProtocol+ = lens _frIPProtocol (\ s a -> s{_frIPProtocol = a})++-- | [Output Only] Creation timestamp in RFC3339 text format.+frCreationTimestamp :: Lens' ForwardingRule (Maybe Text)+frCreationTimestamp+ = lens _frCreationTimestamp+ (\ s a -> s{_frCreationTimestamp = a})++-- | [Output Only] The unique identifier for the resource. This identifier is+-- defined by the server.+frId :: Lens' ForwardingRule (Maybe Word64)+frId+ = lens _frId (\ s a -> s{_frId = a}) .+ mapping _Coerce++-- | [Output Only] URL of the region where the regional forwarding rule+-- resides. This field is not applicable to global forwarding rules.+frRegion :: Lens' ForwardingRule (Maybe Text)+frRegion = lens _frRegion (\ s a -> s{_frRegion = a})++-- | An optional description of this resource. Provide this property when you+-- create the resource.+frDescription :: Lens' ForwardingRule (Maybe Text)+frDescription+ = lens _frDescription+ (\ s a -> s{_frDescription = a})++-- | The URL of the target resource to receive the matched traffic. For+-- regional forwarding rules, this target must live in the same region as+-- the forwarding rule. For global forwarding rules, this target must be a+-- global TargetHttpProxy or TargetHttpsProxy resource. The forwarded+-- traffic must be of a type appropriate to the target object. For example,+-- TargetHttpProxy requires HTTP traffic, and TargetHttpsProxy requires+-- HTTPS traffic. This field is not used for internal load balancing.+frTarget :: Lens' ForwardingRule (Maybe Text)+frTarget = lens _frTarget (\ s a -> s{_frTarget = a})++instance FromJSON ForwardingRule where+ parseJSON+ = withObject "ForwardingRule"+ (\ o ->+ ForwardingRule' <$>+ (o .:? "IPAddress") <*>+ (o .:? "kind" .!= "compute#forwardingRule")+ <*> (o .:? "portRange")+ <*> (o .:? "selfLink")+ <*> (o .:? "name")+ <*> (o .:? "IPProtocol")+ <*> (o .:? "creationTimestamp")+ <*> (o .:? "id")+ <*> (o .:? "region")+ <*> (o .:? "description")+ <*> (o .:? "target"))++instance ToJSON ForwardingRule where+ toJSON ForwardingRule'{..}+ = object+ (catMaybes+ [("IPAddress" .=) <$> _frIPAddress,+ Just ("kind" .= _frKind),+ ("portRange" .=) <$> _frPortRange,+ ("selfLink" .=) <$> _frSelfLink,+ ("name" .=) <$> _frName,+ ("IPProtocol" .=) <$> _frIPProtocol,+ ("creationTimestamp" .=) <$> _frCreationTimestamp,+ ("id" .=) <$> _frId, ("region" .=) <$> _frRegion,+ ("description" .=) <$> _frDescription,+ ("target" .=) <$> _frTarget])++-- | Contains a list of UrlMap resources.+--+-- /See:/ 'urlMapList' smart constructor.+data URLMapList = URLMapList'+ { _umlNextPageToken :: !(Maybe Text)+ , _umlKind :: !Text+ , _umlItems :: !(Maybe [URLMap])+ , _umlSelfLink :: !(Maybe Text)+ , _umlId :: !(Maybe Text)+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'URLMapList' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'umlNextPageToken'+--+-- * 'umlKind'+--+-- * 'umlItems'+--+-- * 'umlSelfLink'+--+-- * 'umlId'+urlMapList+ :: URLMapList+urlMapList =+ URLMapList'+ { _umlNextPageToken = Nothing+ , _umlKind = "compute#urlMapList"+ , _umlItems = Nothing+ , _umlSelfLink = Nothing+ , _umlId = Nothing+ }++-- | [Output Only] This token allows you to get the next page of results for+-- list requests. If the number of results is larger than maxResults, use+-- the nextPageToken as a value for the query parameter pageToken in the+-- next list request. Subsequent list requests will have their own+-- nextPageToken to continue paging through the results.+umlNextPageToken :: Lens' URLMapList (Maybe Text)+umlNextPageToken+ = lens _umlNextPageToken+ (\ s a -> s{_umlNextPageToken = a})++-- | Type of resource.+umlKind :: Lens' URLMapList Text+umlKind = lens _umlKind (\ s a -> s{_umlKind = a})++-- | A list of UrlMap resources.+umlItems :: Lens' URLMapList [URLMap]+umlItems+ = lens _umlItems (\ s a -> s{_umlItems = a}) .+ _Default+ . _Coerce++-- | [Output Only] Server-defined URL for this resource.+umlSelfLink :: Lens' URLMapList (Maybe Text)+umlSelfLink+ = lens _umlSelfLink (\ s a -> s{_umlSelfLink = a})++-- | [Output Only] Unique identifier for the resource. Set by the server.+umlId :: Lens' URLMapList (Maybe Text)+umlId = lens _umlId (\ s a -> s{_umlId = a})++instance FromJSON URLMapList where+ parseJSON+ = withObject "URLMapList"+ (\ o ->+ URLMapList' <$>+ (o .:? "nextPageToken") <*>+ (o .:? "kind" .!= "compute#urlMapList")+ <*> (o .:? "items" .!= mempty)+ <*> (o .:? "selfLink")+ <*> (o .:? "id"))++instance ToJSON URLMapList where+ toJSON URLMapList'{..}+ = object+ (catMaybes+ [("nextPageToken" .=) <$> _umlNextPageToken,+ Just ("kind" .= _umlKind),+ ("items" .=) <$> _umlItems,+ ("selfLink" .=) <$> _umlSelfLink,+ ("id" .=) <$> _umlId])++--+-- /See:/ 'forwardingRulesScopedListWarningDataItem' smart constructor.+data ForwardingRulesScopedListWarningDataItem = ForwardingRulesScopedListWarningDataItem'+ { _frslwdiValue :: !(Maybe Text)+ , _frslwdiKey :: !(Maybe Text)+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'ForwardingRulesScopedListWarningDataItem' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'frslwdiValue'+--+-- * 'frslwdiKey'+forwardingRulesScopedListWarningDataItem+ :: ForwardingRulesScopedListWarningDataItem+forwardingRulesScopedListWarningDataItem =+ ForwardingRulesScopedListWarningDataItem'+ { _frslwdiValue = Nothing+ , _frslwdiKey = Nothing+ }++-- | [Output Only] A warning data value corresponding to the key.+frslwdiValue :: Lens' ForwardingRulesScopedListWarningDataItem (Maybe Text)+frslwdiValue+ = lens _frslwdiValue (\ s a -> s{_frslwdiValue = a})++-- | [Output Only] A key that provides more detail on the warning being+-- returned. For example, for warnings where there are no results in a list+-- request for a particular zone, this key might be scope and the key value+-- might be the zone name. Other examples might be a key indicating a+-- deprecated resource and a suggested replacement, or a warning about+-- invalid network settings (for example, if an instance attempts to+-- perform IP forwarding but is not enabled for IP forwarding).+frslwdiKey :: Lens' ForwardingRulesScopedListWarningDataItem (Maybe Text)+frslwdiKey+ = lens _frslwdiKey (\ s a -> s{_frslwdiKey = a})++instance FromJSON+ ForwardingRulesScopedListWarningDataItem where+ parseJSON+ = withObject+ "ForwardingRulesScopedListWarningDataItem"+ (\ o ->+ ForwardingRulesScopedListWarningDataItem' <$>+ (o .:? "value") <*> (o .:? "key"))++instance ToJSON+ ForwardingRulesScopedListWarningDataItem where+ toJSON ForwardingRulesScopedListWarningDataItem'{..}+ = object+ (catMaybes+ [("value" .=) <$> _frslwdiValue,+ ("key" .=) <$> _frslwdiKey])++--+-- /See:/ 'instanceGroupManagersScopedListWarningDataItem' smart constructor.+data InstanceGroupManagersScopedListWarningDataItem = InstanceGroupManagersScopedListWarningDataItem'+ { _igmslwdiValue :: !(Maybe Text)+ , _igmslwdiKey :: !(Maybe Text)+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'InstanceGroupManagersScopedListWarningDataItem' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'igmslwdiValue'+--+-- * 'igmslwdiKey'+instanceGroupManagersScopedListWarningDataItem+ :: InstanceGroupManagersScopedListWarningDataItem+instanceGroupManagersScopedListWarningDataItem =+ InstanceGroupManagersScopedListWarningDataItem'+ { _igmslwdiValue = Nothing+ , _igmslwdiKey = Nothing+ }++-- | [Output Only] A warning data value corresponding to the key.+igmslwdiValue :: Lens' InstanceGroupManagersScopedListWarningDataItem (Maybe Text)+igmslwdiValue+ = lens _igmslwdiValue+ (\ s a -> s{_igmslwdiValue = a})++-- | [Output Only] A key that provides more detail on the warning being+-- returned. For example, for warnings where there are no results in a list+-- request for a particular zone, this key might be scope and the key value+-- might be the zone name. Other examples might be a key indicating a+-- deprecated resource and a suggested replacement, or a warning about+-- invalid network settings (for example, if an instance attempts to+-- perform IP forwarding but is not enabled for IP forwarding).+igmslwdiKey :: Lens' InstanceGroupManagersScopedListWarningDataItem (Maybe Text)+igmslwdiKey+ = lens _igmslwdiKey (\ s a -> s{_igmslwdiKey = a})++instance FromJSON+ InstanceGroupManagersScopedListWarningDataItem where+ parseJSON+ = withObject+ "InstanceGroupManagersScopedListWarningDataItem"+ (\ o ->+ InstanceGroupManagersScopedListWarningDataItem' <$>+ (o .:? "value") <*> (o .:? "key"))++instance ToJSON+ InstanceGroupManagersScopedListWarningDataItem where+ toJSON+ InstanceGroupManagersScopedListWarningDataItem'{..}+ = object+ (catMaybes+ [("value" .=) <$> _igmslwdiValue,+ ("key" .=) <$> _igmslwdiKey])++--+-- /See:/ 'subnetworksScopedList' smart constructor.+data SubnetworksScopedList = SubnetworksScopedList'+ { _sslSubnetworks :: !(Maybe [Subnetwork])+ , _sslWarning :: !(Maybe SubnetworksScopedListWarning)+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'SubnetworksScopedList' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'sslSubnetworks'+--+-- * 'sslWarning'+subnetworksScopedList+ :: SubnetworksScopedList+subnetworksScopedList =+ SubnetworksScopedList'+ { _sslSubnetworks = Nothing+ , _sslWarning = Nothing+ }++-- | List of subnetworks contained in this scope.+sslSubnetworks :: Lens' SubnetworksScopedList [Subnetwork]+sslSubnetworks+ = lens _sslSubnetworks+ (\ s a -> s{_sslSubnetworks = a})+ . _Default+ . _Coerce++-- | An informational warning that appears when the list of addresses is+-- empty.+sslWarning :: Lens' SubnetworksScopedList (Maybe SubnetworksScopedListWarning)+sslWarning+ = lens _sslWarning (\ s a -> s{_sslWarning = a})++instance FromJSON SubnetworksScopedList where+ parseJSON+ = withObject "SubnetworksScopedList"+ (\ o ->+ SubnetworksScopedList' <$>+ (o .:? "subnetworks" .!= mempty) <*>+ (o .:? "warning"))++instance ToJSON SubnetworksScopedList where+ toJSON SubnetworksScopedList'{..}+ = object+ (catMaybes+ [("subnetworks" .=) <$> _sslSubnetworks,+ ("warning" .=) <$> _sslWarning])++-- | A Project resource. Projects can only be created in the Google Cloud+-- Platform Console. Unless marked otherwise, values can only be modified+-- in the console.+--+-- /See:/ 'project' smart constructor.+data Project = Project'+ { _pKind :: !Text+ , _pUsageExportLocation :: !(Maybe UsageExportLocation)+ , _pSelfLink :: !(Maybe Text)+ , _pName :: !(Maybe Text)+ , _pDefaultServiceAccount :: !(Maybe Text)+ , _pCreationTimestamp :: !(Maybe Text)+ , _pEnabledFeatures :: !(Maybe [Text])+ , _pQuotas :: !(Maybe [Quota])+ , _pId :: !(Maybe (Textual Word64))+ , _pDescription :: !(Maybe Text)+ , _pCommonInstanceMetadata :: !(Maybe Metadata)+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'Project' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'pKind'+--+-- * 'pUsageExportLocation'+--+-- * 'pSelfLink'+--+-- * 'pName'+--+-- * 'pDefaultServiceAccount'+--+-- * 'pCreationTimestamp'+--+-- * 'pEnabledFeatures'+--+-- * 'pQuotas'+--+-- * 'pId'+--+-- * 'pDescription'+--+-- * 'pCommonInstanceMetadata'+project+ :: Project+project =+ Project'+ { _pKind = "compute#project"+ , _pUsageExportLocation = Nothing+ , _pSelfLink = Nothing+ , _pName = Nothing+ , _pDefaultServiceAccount = Nothing+ , _pCreationTimestamp = Nothing+ , _pEnabledFeatures = Nothing+ , _pQuotas = Nothing+ , _pId = Nothing+ , _pDescription = Nothing+ , _pCommonInstanceMetadata = Nothing+ }++-- | [Output Only] Type of the resource. Always compute#project for projects.+pKind :: Lens' Project Text+pKind = lens _pKind (\ s a -> s{_pKind = a})++-- | The naming prefix for daily usage reports and the Google Cloud Storage+-- bucket where they are stored.+pUsageExportLocation :: Lens' Project (Maybe UsageExportLocation)+pUsageExportLocation+ = lens _pUsageExportLocation+ (\ s a -> s{_pUsageExportLocation = a})++-- | [Output Only] Server-defined URL for the resource.+pSelfLink :: Lens' Project (Maybe Text)+pSelfLink+ = lens _pSelfLink (\ s a -> s{_pSelfLink = a})++-- | The project ID. For example: my-example-project. Use the project ID to+-- make requests to Compute Engine.+pName :: Lens' Project (Maybe Text)+pName = lens _pName (\ s a -> s{_pName = a})++-- | [Output Only] Default service account used by VMs running in this+-- project.+pDefaultServiceAccount :: Lens' Project (Maybe Text)+pDefaultServiceAccount+ = lens _pDefaultServiceAccount+ (\ s a -> s{_pDefaultServiceAccount = a})++-- | [Output Only] Creation timestamp in RFC3339 text format.+pCreationTimestamp :: Lens' Project (Maybe Text)+pCreationTimestamp+ = lens _pCreationTimestamp+ (\ s a -> s{_pCreationTimestamp = a})++-- | Restricted features enabled for use on this project.+pEnabledFeatures :: Lens' Project [Text]+pEnabledFeatures+ = lens _pEnabledFeatures+ (\ s a -> s{_pEnabledFeatures = a})+ . _Default+ . _Coerce++-- | [Output Only] Quotas assigned to this project.+pQuotas :: Lens' Project [Quota]+pQuotas+ = lens _pQuotas (\ s a -> s{_pQuotas = a}) . _Default+ . _Coerce++-- | [Output Only] The unique identifier for the resource. This identifier is+-- defined by the server. This is not the project ID, and is just a unique+-- ID used by Compute Engine to identify resources.+pId :: Lens' Project (Maybe Word64)+pId+ = lens _pId (\ s a -> s{_pId = a}) . mapping _Coerce++-- | An optional textual description of the resource.+pDescription :: Lens' Project (Maybe Text)+pDescription+ = lens _pDescription (\ s a -> s{_pDescription = a})++-- | Metadata key\/value pairs available to all instances contained in this+-- project. See Custom metadata for more information.+pCommonInstanceMetadata :: Lens' Project (Maybe Metadata)+pCommonInstanceMetadata+ = lens _pCommonInstanceMetadata+ (\ s a -> s{_pCommonInstanceMetadata = a})++instance FromJSON Project where+ parseJSON+ = withObject "Project"+ (\ o ->+ Project' <$>+ (o .:? "kind" .!= "compute#project") <*>+ (o .:? "usageExportLocation")+ <*> (o .:? "selfLink")+ <*> (o .:? "name")+ <*> (o .:? "defaultServiceAccount")+ <*> (o .:? "creationTimestamp")+ <*> (o .:? "enabledFeatures" .!= mempty)+ <*> (o .:? "quotas" .!= mempty)+ <*> (o .:? "id")+ <*> (o .:? "description")+ <*> (o .:? "commonInstanceMetadata"))++instance ToJSON Project where+ toJSON Project'{..}+ = object+ (catMaybes+ [Just ("kind" .= _pKind),+ ("usageExportLocation" .=) <$> _pUsageExportLocation,+ ("selfLink" .=) <$> _pSelfLink,+ ("name" .=) <$> _pName,+ ("defaultServiceAccount" .=) <$>+ _pDefaultServiceAccount,+ ("creationTimestamp" .=) <$> _pCreationTimestamp,+ ("enabledFeatures" .=) <$> _pEnabledFeatures,+ ("quotas" .=) <$> _pQuotas, ("id" .=) <$> _pId,+ ("description" .=) <$> _pDescription,+ ("commonInstanceMetadata" .=) <$>+ _pCommonInstanceMetadata])++-- | An Operation resource, used to manage asynchronous API requests.+--+-- /See:/ 'operation' smart constructor.+data Operation = Operation'+ { _oTargetId :: !(Maybe (Textual Word64))+ , _oStatus :: !(Maybe OperationStatus)+ , _oInsertTime :: !(Maybe Text)+ , _oProgress :: !(Maybe (Textual Int32))+ , _oStartTime :: !(Maybe Text)+ , _oKind :: !Text+ , _oError :: !(Maybe OperationError)+ , _oHTTPErrorMessage :: !(Maybe Text)+ , _oZone :: !(Maybe Text)+ , _oWarnings :: !(Maybe [OperationWarningsItem])+ , _oHTTPErrorStatusCode :: !(Maybe (Textual Int32))+ , _oUser :: !(Maybe Text)+ , _oSelfLink :: !(Maybe Text)+ , _oName :: !(Maybe Text)+ , _oStatusMessage :: !(Maybe Text)+ , _oCreationTimestamp :: !(Maybe Text)+ , _oEndTime :: !(Maybe Text)+ , _oId :: !(Maybe (Textual Word64))+ , _oOperationType :: !(Maybe Text)+ , _oRegion :: !(Maybe Text)+ , _oDescription :: !(Maybe Text)+ , _oTargetLink :: !(Maybe Text)+ , _oClientOperationId :: !(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:+--+-- * 'oTargetId'+--+-- * 'oStatus'+--+-- * 'oInsertTime'+--+-- * 'oProgress'+--+-- * 'oStartTime'+--+-- * 'oKind'+--+-- * 'oError'+--+-- * 'oHTTPErrorMessage'+--+-- * 'oZone'+--+-- * 'oWarnings'+--+-- * 'oHTTPErrorStatusCode'+--+-- * 'oUser'+--+-- * 'oSelfLink'+--+-- * 'oName'+--+-- * 'oStatusMessage'+--+-- * 'oCreationTimestamp'+--+-- * 'oEndTime'+--+-- * 'oId'+--+-- * 'oOperationType'+--+-- * 'oRegion'+--+-- * 'oDescription'+--+-- * 'oTargetLink'+--+-- * 'oClientOperationId'+operation+ :: Operation+operation =+ Operation'+ { _oTargetId = Nothing+ , _oStatus = Nothing+ , _oInsertTime = Nothing+ , _oProgress = Nothing+ , _oStartTime = Nothing+ , _oKind = "compute#operation"+ , _oError = Nothing+ , _oHTTPErrorMessage = Nothing+ , _oZone = Nothing+ , _oWarnings = Nothing+ , _oHTTPErrorStatusCode = Nothing+ , _oUser = Nothing+ , _oSelfLink = Nothing+ , _oName = Nothing+ , _oStatusMessage = Nothing+ , _oCreationTimestamp = Nothing+ , _oEndTime = Nothing+ , _oId = Nothing+ , _oOperationType = Nothing+ , _oRegion = Nothing+ , _oDescription = Nothing+ , _oTargetLink = Nothing+ , _oClientOperationId = Nothing+ }++-- | [Output Only] The unique target ID, which identifies a specific+-- incarnation of the target resource.+oTargetId :: Lens' Operation (Maybe Word64)+oTargetId+ = lens _oTargetId (\ s a -> s{_oTargetId = a}) .+ mapping _Coerce++-- | [Output Only] The status of the operation, which can be one of the+-- following: PENDING, RUNNING, or DONE.+oStatus :: Lens' Operation (Maybe OperationStatus)+oStatus = lens _oStatus (\ s a -> s{_oStatus = a})++-- | [Output Only] The time that this operation was requested. This value is+-- in RFC3339 text format.+oInsertTime :: Lens' Operation (Maybe Text)+oInsertTime+ = lens _oInsertTime (\ s a -> s{_oInsertTime = a})++-- | [Output Only] An optional progress indicator that ranges from 0 to 100.+-- There is no requirement that this be linear or support any granularity+-- of operations. This should not be used to guess when the operation will+-- be complete. This number should monotonically increase as the operation+-- progresses.+oProgress :: Lens' Operation (Maybe Int32)+oProgress+ = lens _oProgress (\ s a -> s{_oProgress = a}) .+ mapping _Coerce++-- | [Output Only] The time that this operation was started by the server.+-- This value is in RFC3339 text format.+oStartTime :: Lens' Operation (Maybe Text)+oStartTime+ = lens _oStartTime (\ s a -> s{_oStartTime = a})++-- | [Output Only] Type of the resource. Always compute#operation for+-- Operation resources.+oKind :: Lens' Operation Text+oKind = lens _oKind (\ s a -> s{_oKind = a})++-- | [Output Only] If errors are generated during processing of the+-- operation, this field will be populated.+oError :: Lens' Operation (Maybe OperationError)+oError = lens _oError (\ s a -> s{_oError = a})++-- | [Output Only] If the operation fails, this field contains the HTTP error+-- message that was returned, such as NOT FOUND.+oHTTPErrorMessage :: Lens' Operation (Maybe Text)+oHTTPErrorMessage+ = lens _oHTTPErrorMessage+ (\ s a -> s{_oHTTPErrorMessage = a})++-- | [Output Only] The URL of the zone where the operation resides. Only+-- available when performing per-zone operations.+oZone :: Lens' Operation (Maybe Text)+oZone = lens _oZone (\ s a -> s{_oZone = a})++-- | [Output Only] If warning messages are generated during processing of the+-- operation, this field will be populated.+oWarnings :: Lens' Operation [OperationWarningsItem]+oWarnings+ = lens _oWarnings (\ s a -> s{_oWarnings = a}) .+ _Default+ . _Coerce++-- | [Output Only] If the operation fails, this field contains the HTTP error+-- status code that was returned. For example, a 404 means the resource was+-- not found.+oHTTPErrorStatusCode :: Lens' Operation (Maybe Int32)+oHTTPErrorStatusCode+ = lens _oHTTPErrorStatusCode+ (\ s a -> s{_oHTTPErrorStatusCode = a})+ . mapping _Coerce++-- | [Output Only] User who requested the operation, for example:+-- user\'example.com.+oUser :: Lens' Operation (Maybe Text)+oUser = lens _oUser (\ s a -> s{_oUser = a})++-- | [Output Only] Server-defined URL for the resource.+oSelfLink :: Lens' Operation (Maybe Text)+oSelfLink+ = lens _oSelfLink (\ s a -> s{_oSelfLink = a})++-- | [Output Only] Name of the resource.+oName :: Lens' Operation (Maybe Text)+oName = lens _oName (\ s a -> s{_oName = a})++-- | [Output Only] An optional textual description of the current status of+-- the operation.+oStatusMessage :: Lens' Operation (Maybe Text)+oStatusMessage+ = lens _oStatusMessage+ (\ s a -> s{_oStatusMessage = a})++-- | [Output Only] Creation timestamp in RFC3339 text format.+oCreationTimestamp :: Lens' Operation (Maybe Text)+oCreationTimestamp+ = lens _oCreationTimestamp+ (\ s a -> s{_oCreationTimestamp = a})++-- | [Output Only] The time that this operation was completed. This value is+-- in RFC3339 text format.+oEndTime :: Lens' Operation (Maybe Text)+oEndTime = lens _oEndTime (\ s a -> s{_oEndTime = a})++-- | [Output Only] The unique identifier for the resource. This identifier is+-- defined by the server.+oId :: Lens' Operation (Maybe Word64)+oId+ = lens _oId (\ s a -> s{_oId = a}) . mapping _Coerce++-- | [Output Only] The type of operation, such as insert, update, or delete,+-- and so on.+oOperationType :: Lens' Operation (Maybe Text)+oOperationType+ = lens _oOperationType+ (\ s a -> s{_oOperationType = a})++-- | [Output Only] The URL of the region where the operation resides. Only+-- available when performing regional operations.+oRegion :: Lens' Operation (Maybe Text)+oRegion = lens _oRegion (\ s a -> s{_oRegion = a})++-- | [Output Only] A textual description of the operation, which is set when+-- the operation is created.+oDescription :: Lens' Operation (Maybe Text)+oDescription+ = lens _oDescription (\ s a -> s{_oDescription = a})++-- | [Output Only] The URL of the resource that the operation modifies. If+-- creating a persistent disk snapshot, this points to the persistent disk+-- that the snapshot was created from.+oTargetLink :: Lens' Operation (Maybe Text)+oTargetLink+ = lens _oTargetLink (\ s a -> s{_oTargetLink = a})++-- | [Output Only] Reserved for future use.+oClientOperationId :: Lens' Operation (Maybe Text)+oClientOperationId+ = lens _oClientOperationId+ (\ s a -> s{_oClientOperationId = a})++instance FromJSON Operation where+ parseJSON+ = withObject "Operation"+ (\ o ->+ Operation' <$>+ (o .:? "targetId") <*> (o .:? "status") <*>+ (o .:? "insertTime")+ <*> (o .:? "progress")+ <*> (o .:? "startTime")+ <*> (o .:? "kind" .!= "compute#operation")+ <*> (o .:? "error")+ <*> (o .:? "httpErrorMessage")+ <*> (o .:? "zone")+ <*> (o .:? "warnings" .!= mempty)+ <*> (o .:? "httpErrorStatusCode")+ <*> (o .:? "user")+ <*> (o .:? "selfLink")+ <*> (o .:? "name")+ <*> (o .:? "statusMessage")+ <*> (o .:? "creationTimestamp")+ <*> (o .:? "endTime")+ <*> (o .:? "id")+ <*> (o .:? "operationType")+ <*> (o .:? "region")+ <*> (o .:? "description")+ <*> (o .:? "targetLink")+ <*> (o .:? "clientOperationId"))++instance ToJSON Operation where+ toJSON Operation'{..}+ = object+ (catMaybes+ [("targetId" .=) <$> _oTargetId,+ ("status" .=) <$> _oStatus,+ ("insertTime" .=) <$> _oInsertTime,+ ("progress" .=) <$> _oProgress,+ ("startTime" .=) <$> _oStartTime,+ Just ("kind" .= _oKind), ("error" .=) <$> _oError,+ ("httpErrorMessage" .=) <$> _oHTTPErrorMessage,+ ("zone" .=) <$> _oZone,+ ("warnings" .=) <$> _oWarnings,+ ("httpErrorStatusCode" .=) <$> _oHTTPErrorStatusCode,+ ("user" .=) <$> _oUser,+ ("selfLink" .=) <$> _oSelfLink,+ ("name" .=) <$> _oName,+ ("statusMessage" .=) <$> _oStatusMessage,+ ("creationTimestamp" .=) <$> _oCreationTimestamp,+ ("endTime" .=) <$> _oEndTime, ("id" .=) <$> _oId,+ ("operationType" .=) <$> _oOperationType,+ ("region" .=) <$> _oRegion,+ ("description" .=) <$> _oDescription,+ ("targetLink" .=) <$> _oTargetLink,+ ("clientOperationId" .=) <$> _oClientOperationId])++--+-- /See:/ 'disksScopedListWarningDataItem' smart constructor.+data DisksScopedListWarningDataItem = DisksScopedListWarningDataItem'+ { _dslwdiValue :: !(Maybe Text)+ , _dslwdiKey :: !(Maybe Text)+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'DisksScopedListWarningDataItem' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'dslwdiValue'+--+-- * 'dslwdiKey'+disksScopedListWarningDataItem+ :: DisksScopedListWarningDataItem+disksScopedListWarningDataItem =+ DisksScopedListWarningDataItem'+ { _dslwdiValue = Nothing+ , _dslwdiKey = Nothing+ }++-- | [Output Only] A warning data value corresponding to the key.+dslwdiValue :: Lens' DisksScopedListWarningDataItem (Maybe Text)+dslwdiValue+ = lens _dslwdiValue (\ s a -> s{_dslwdiValue = a})++-- | [Output Only] A key that provides more detail on the warning being+-- returned. For example, for warnings where there are no results in a list+-- request for a particular zone, this key might be scope and the key value+-- might be the zone name. Other examples might be a key indicating a+-- deprecated resource and a suggested replacement, or a warning about+-- invalid network settings (for example, if an instance attempts to+-- perform IP forwarding but is not enabled for IP forwarding).+dslwdiKey :: Lens' DisksScopedListWarningDataItem (Maybe Text)+dslwdiKey+ = lens _dslwdiKey (\ s a -> s{_dslwdiKey = a})++instance FromJSON DisksScopedListWarningDataItem+ where+ parseJSON+ = withObject "DisksScopedListWarningDataItem"+ (\ o ->+ DisksScopedListWarningDataItem' <$>+ (o .:? "value") <*> (o .:? "key"))++instance ToJSON DisksScopedListWarningDataItem where+ toJSON DisksScopedListWarningDataItem'{..}+ = object+ (catMaybes+ [("value" .=) <$> _dslwdiValue,+ ("key" .=) <$> _dslwdiKey])++-- | A Disk resource.+--+-- /See:/ 'disk' smart constructor.+data Disk = Disk'+ { _dStatus :: !(Maybe DiskStatus)+ , _dSourceSnapshotId :: !(Maybe Text)+ , _dLastAttachTimestamp :: !(Maybe Text)+ , _dUsers :: !(Maybe [Text])+ , _dSourceImage :: !(Maybe Text)+ , _dDiskEncryptionKey :: !(Maybe CustomerEncryptionKey)+ , _dSizeGb :: !(Maybe (Textual Int64))+ , _dKind :: !Text+ , _dLastDetachTimestamp :: !(Maybe Text)+ , _dZone :: !(Maybe Text)+ , _dSelfLink :: !(Maybe Text)+ , _dName :: !(Maybe Text)+ , _dSourceImageId :: !(Maybe Text)+ , _dCreationTimestamp :: !(Maybe Text)+ , _dSourceImageEncryptionKey :: !(Maybe CustomerEncryptionKey)+ , _dId :: !(Maybe (Textual Word64))+ , _dLicenses :: !(Maybe [Text])+ , _dOptions :: !(Maybe Text)+ , _dType :: !(Maybe Text)+ , _dDescription :: !(Maybe Text)+ , _dSourceSnapshotEncryptionKey :: !(Maybe CustomerEncryptionKey)+ , _dSourceSnapshot :: !(Maybe Text)+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'Disk' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'dStatus'+--+-- * 'dSourceSnapshotId'+--+-- * 'dLastAttachTimestamp'+--+-- * 'dUsers'+--+-- * 'dSourceImage'+--+-- * 'dDiskEncryptionKey'+--+-- * 'dSizeGb'+--+-- * 'dKind'+--+-- * 'dLastDetachTimestamp'+--+-- * 'dZone'+--+-- * 'dSelfLink'+--+-- * 'dName'+--+-- * 'dSourceImageId'+--+-- * 'dCreationTimestamp'+--+-- * 'dSourceImageEncryptionKey'+--+-- * 'dId'+--+-- * 'dLicenses'+--+-- * 'dOptions'+--+-- * 'dType'+--+-- * 'dDescription'+--+-- * 'dSourceSnapshotEncryptionKey'+--+-- * 'dSourceSnapshot'+disk+ :: Disk+disk =+ Disk'+ { _dStatus = Nothing+ , _dSourceSnapshotId = Nothing+ , _dLastAttachTimestamp = Nothing+ , _dUsers = Nothing+ , _dSourceImage = Nothing+ , _dDiskEncryptionKey = Nothing+ , _dSizeGb = Nothing+ , _dKind = "compute#disk"+ , _dLastDetachTimestamp = Nothing+ , _dZone = Nothing+ , _dSelfLink = Nothing+ , _dName = Nothing+ , _dSourceImageId = Nothing+ , _dCreationTimestamp = Nothing+ , _dSourceImageEncryptionKey = Nothing+ , _dId = Nothing+ , _dLicenses = Nothing+ , _dOptions = Nothing+ , _dType = Nothing+ , _dDescription = Nothing+ , _dSourceSnapshotEncryptionKey = Nothing+ , _dSourceSnapshot = Nothing+ }++-- | [Output Only] The status of disk creation.+dStatus :: Lens' Disk (Maybe DiskStatus)+dStatus = lens _dStatus (\ s a -> s{_dStatus = a})++-- | [Output Only] The unique ID of the snapshot used to create this disk.+-- This value identifies the exact snapshot that was used to create this+-- persistent disk. For example, if you created the persistent disk from a+-- snapshot that was later deleted and recreated under the same name, the+-- source snapshot ID would identify the exact version of the snapshot that+-- was used.+dSourceSnapshotId :: Lens' Disk (Maybe Text)+dSourceSnapshotId+ = lens _dSourceSnapshotId+ (\ s a -> s{_dSourceSnapshotId = a})++-- | [Output Only] Last attach timestamp in RFC3339 text format.+dLastAttachTimestamp :: Lens' Disk (Maybe Text)+dLastAttachTimestamp+ = lens _dLastAttachTimestamp+ (\ s a -> s{_dLastAttachTimestamp = a})++-- | [Output Only] Links to the users of the disk (attached instances) in+-- form: project\/zones\/zone\/instances\/instance+dUsers :: Lens' Disk [Text]+dUsers+ = lens _dUsers (\ s a -> s{_dUsers = a}) . _Default .+ _Coerce++-- | The source image used to create this disk. If the source image is+-- deleted, this field will not be set. To create a disk with one of the+-- public operating system images, specify the image by its family name.+-- For example, specify family\/debian-8 to use the latest Debian 8 image:+-- projects\/debian-cloud\/global\/images\/family\/debian-8 Alternatively,+-- use a specific version of a public operating system image:+-- projects\/debian-cloud\/global\/images\/debian-8-jessie-vYYYYMMDD To+-- create a disk with a private image that you created, specify the image+-- name in the following format: global\/images\/my-private-image You can+-- also specify a private image by its image family, which returns the+-- latest version of the image in that family. Replace the image name with+-- family\/family-name: global\/images\/family\/my-private-family+dSourceImage :: Lens' Disk (Maybe Text)+dSourceImage+ = lens _dSourceImage (\ s a -> s{_dSourceImage = a})++-- | Encrypts the disk using a customer-supplied encryption key. After you+-- encrypt a disk with a customer-supplied key, you must provide the same+-- key if you use the disk later (e.g. to create a disk snapshot or an+-- image, or to attach the disk to a virtual machine). Customer-supplied+-- encryption keys do not protect access to metadata of the disk. If you do+-- not provide an encryption key when creating the disk, then the disk will+-- be encrypted using an automatically generated key and you do not need to+-- provide a key to use the disk later.+dDiskEncryptionKey :: Lens' Disk (Maybe CustomerEncryptionKey)+dDiskEncryptionKey+ = lens _dDiskEncryptionKey+ (\ s a -> s{_dDiskEncryptionKey = a})++-- | Size of the persistent disk, specified in GB. You can specify this field+-- when creating a persistent disk using the sourceImage or sourceSnapshot+-- parameter, or specify it alone to create an empty persistent disk. If+-- you specify this field along with sourceImage or sourceSnapshot, the+-- value of sizeGb must not be less than the size of the sourceImage or the+-- size of the snapshot.+dSizeGb :: Lens' Disk (Maybe Int64)+dSizeGb+ = lens _dSizeGb (\ s a -> s{_dSizeGb = a}) .+ mapping _Coerce++-- | [Output Only] Type of the resource. Always compute#disk for disks.+dKind :: Lens' Disk Text+dKind = lens _dKind (\ s a -> s{_dKind = a})++-- | [Output Only] Last detach timestamp in RFC3339 text format.+dLastDetachTimestamp :: Lens' Disk (Maybe Text)+dLastDetachTimestamp+ = lens _dLastDetachTimestamp+ (\ s a -> s{_dLastDetachTimestamp = a})++-- | [Output Only] URL of the zone where the disk resides.+dZone :: Lens' Disk (Maybe Text)+dZone = lens _dZone (\ s a -> s{_dZone = a})++-- | [Output Only] Server-defined fully-qualified URL for this resource.+dSelfLink :: Lens' Disk (Maybe Text)+dSelfLink+ = lens _dSelfLink (\ s a -> s{_dSelfLink = a})++-- | Name of the resource. Provided by the client when the resource is+-- created. The name must be 1-63 characters long, and comply with RFC1035.+-- Specifically, the name must be 1-63 characters long and match the+-- regular expression [a-z]([-a-z0-9]*[a-z0-9])? which means the first+-- character must be a lowercase letter, and all following characters must+-- be a dash, lowercase letter, or digit, except the last character, which+-- cannot be a dash.+dName :: Lens' Disk (Maybe Text)+dName = lens _dName (\ s a -> s{_dName = a})++-- | [Output Only] The ID value of the image used to create this disk. This+-- value identifies the exact image that was used to create this persistent+-- disk. For example, if you created the persistent disk from an image that+-- was later deleted and recreated under the same name, the source image ID+-- would identify the exact version of the image that was used.+dSourceImageId :: Lens' Disk (Maybe Text)+dSourceImageId+ = lens _dSourceImageId+ (\ s a -> s{_dSourceImageId = a})++-- | [Output Only] Creation timestamp in RFC3339 text format.+dCreationTimestamp :: Lens' Disk (Maybe Text)+dCreationTimestamp+ = lens _dCreationTimestamp+ (\ s a -> s{_dCreationTimestamp = a})++-- | The customer-supplied encryption key of the source image. Required if+-- the source image is protected by a customer-supplied encryption key.+dSourceImageEncryptionKey :: Lens' Disk (Maybe CustomerEncryptionKey)+dSourceImageEncryptionKey+ = lens _dSourceImageEncryptionKey+ (\ s a -> s{_dSourceImageEncryptionKey = a})++-- | [Output Only] The unique identifier for the resource. This identifier is+-- defined by the server.+dId :: Lens' Disk (Maybe Word64)+dId+ = lens _dId (\ s a -> s{_dId = a}) . mapping _Coerce++-- | Any applicable publicly visible licenses.+dLicenses :: Lens' Disk [Text]+dLicenses+ = lens _dLicenses (\ s a -> s{_dLicenses = a}) .+ _Default+ . _Coerce++-- | Internal use only.+dOptions :: Lens' Disk (Maybe Text)+dOptions = lens _dOptions (\ s a -> s{_dOptions = a})++-- | URL of the disk type resource describing which disk type to use to+-- create the disk. Provide this when creating the disk.+dType :: Lens' Disk (Maybe Text)+dType = lens _dType (\ s a -> s{_dType = a})++-- | An optional description of this resource. Provide this property when you+-- create the resource.+dDescription :: Lens' Disk (Maybe Text)+dDescription+ = lens _dDescription (\ s a -> s{_dDescription = a})++-- | The customer-supplied encryption key of the source snapshot. Required if+-- the source snapshot is protected by a customer-supplied encryption key.+dSourceSnapshotEncryptionKey :: Lens' Disk (Maybe CustomerEncryptionKey)+dSourceSnapshotEncryptionKey+ = lens _dSourceSnapshotEncryptionKey+ (\ s a -> s{_dSourceSnapshotEncryptionKey = a})++-- | The source snapshot used to create this disk. You can provide this as a+-- partial or full URL to the resource. For example, the following are+-- valid values: -+-- https:\/\/www.googleapis.com\/compute\/v1\/projects\/project\/global\/snapshots\/snapshot+-- - projects\/project\/global\/snapshots\/snapshot -+-- global\/snapshots\/snapshot+dSourceSnapshot :: Lens' Disk (Maybe Text)+dSourceSnapshot+ = lens _dSourceSnapshot+ (\ s a -> s{_dSourceSnapshot = a})++instance FromJSON Disk where+ parseJSON+ = withObject "Disk"+ (\ o ->+ Disk' <$>+ (o .:? "status") <*> (o .:? "sourceSnapshotId") <*>+ (o .:? "lastAttachTimestamp")+ <*> (o .:? "users" .!= mempty)+ <*> (o .:? "sourceImage")+ <*> (o .:? "diskEncryptionKey")+ <*> (o .:? "sizeGb")+ <*> (o .:? "kind" .!= "compute#disk")+ <*> (o .:? "lastDetachTimestamp")+ <*> (o .:? "zone")+ <*> (o .:? "selfLink")+ <*> (o .:? "name")+ <*> (o .:? "sourceImageId")+ <*> (o .:? "creationTimestamp")+ <*> (o .:? "sourceImageEncryptionKey")+ <*> (o .:? "id")+ <*> (o .:? "licenses" .!= mempty)+ <*> (o .:? "options")+ <*> (o .:? "type")+ <*> (o .:? "description")+ <*> (o .:? "sourceSnapshotEncryptionKey")+ <*> (o .:? "sourceSnapshot"))++instance ToJSON Disk where+ toJSON Disk'{..}+ = object+ (catMaybes+ [("status" .=) <$> _dStatus,+ ("sourceSnapshotId" .=) <$> _dSourceSnapshotId,+ ("lastAttachTimestamp" .=) <$> _dLastAttachTimestamp,+ ("users" .=) <$> _dUsers,+ ("sourceImage" .=) <$> _dSourceImage,+ ("diskEncryptionKey" .=) <$> _dDiskEncryptionKey,+ ("sizeGb" .=) <$> _dSizeGb, Just ("kind" .= _dKind),+ ("lastDetachTimestamp" .=) <$> _dLastDetachTimestamp,+ ("zone" .=) <$> _dZone,+ ("selfLink" .=) <$> _dSelfLink,+ ("name" .=) <$> _dName,+ ("sourceImageId" .=) <$> _dSourceImageId,+ ("creationTimestamp" .=) <$> _dCreationTimestamp,+ ("sourceImageEncryptionKey" .=) <$>+ _dSourceImageEncryptionKey,+ ("id" .=) <$> _dId, ("licenses" .=) <$> _dLicenses,+ ("options" .=) <$> _dOptions, ("type" .=) <$> _dType,+ ("description" .=) <$> _dDescription,+ ("sourceSnapshotEncryptionKey" .=) <$>+ _dSourceSnapshotEncryptionKey,+ ("sourceSnapshot" .=) <$> _dSourceSnapshot])++--+-- /See:/ 'diskMoveRequest' smart constructor.+data DiskMoveRequest = DiskMoveRequest'+ { _dmrTargetDisk :: !(Maybe Text)+ , _dmrDestinationZone :: !(Maybe Text)+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'DiskMoveRequest' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'dmrTargetDisk'+--+-- * 'dmrDestinationZone'+diskMoveRequest+ :: DiskMoveRequest+diskMoveRequest =+ DiskMoveRequest'+ { _dmrTargetDisk = Nothing+ , _dmrDestinationZone = Nothing+ }++-- | The URL of the target disk to move. This can be a full or partial URL.+-- For example, the following are all valid URLs to a disk: -+-- https:\/\/www.googleapis.com\/compute\/v1\/projects\/project\/zones\/zone\/disks\/disk+-- - projects\/project\/zones\/zone\/disks\/disk - zones\/zone\/disks\/disk+dmrTargetDisk :: Lens' DiskMoveRequest (Maybe Text)+dmrTargetDisk+ = lens _dmrTargetDisk+ (\ s a -> s{_dmrTargetDisk = a})++-- | The URL of the destination zone to move the disk. This can be a full or+-- partial URL. For example, the following are all valid URLs to a zone: -+-- https:\/\/www.googleapis.com\/compute\/v1\/projects\/project\/zones\/zone+-- - projects\/project\/zones\/zone - zones\/zone+dmrDestinationZone :: Lens' DiskMoveRequest (Maybe Text)+dmrDestinationZone+ = lens _dmrDestinationZone+ (\ s a -> s{_dmrDestinationZone = a})++instance FromJSON DiskMoveRequest where+ parseJSON+ = withObject "DiskMoveRequest"+ (\ o ->+ DiskMoveRequest' <$>+ (o .:? "targetDisk") <*> (o .:? "destinationZone"))++instance ToJSON DiskMoveRequest where+ toJSON DiskMoveRequest'{..}+ = object+ (catMaybes+ [("targetDisk" .=) <$> _dmrTargetDisk,+ ("destinationZone" .=) <$> _dmrDestinationZone])++-- | Configuration parameters of autoscaling based on load balancing.+--+-- /See:/ 'autoscalingPolicyLoadBalancingUtilization' smart constructor.+newtype AutoscalingPolicyLoadBalancingUtilization = AutoscalingPolicyLoadBalancingUtilization'+ { _aplbuUtilizationTarget :: Maybe (Textual Double)+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'AutoscalingPolicyLoadBalancingUtilization' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'aplbuUtilizationTarget'+autoscalingPolicyLoadBalancingUtilization+ :: AutoscalingPolicyLoadBalancingUtilization+autoscalingPolicyLoadBalancingUtilization =+ AutoscalingPolicyLoadBalancingUtilization'+ { _aplbuUtilizationTarget = Nothing+ }++-- | Fraction of backend capacity utilization (set in HTTP(s) load balancing+-- configuration) that autoscaler should maintain. Must be a positive float+-- value. If not defined, the default is 0.8.+aplbuUtilizationTarget :: Lens' AutoscalingPolicyLoadBalancingUtilization (Maybe Double)+aplbuUtilizationTarget+ = lens _aplbuUtilizationTarget+ (\ s a -> s{_aplbuUtilizationTarget = a})+ . mapping _Coerce++instance FromJSON+ AutoscalingPolicyLoadBalancingUtilization where+ parseJSON+ = withObject+ "AutoscalingPolicyLoadBalancingUtilization"+ (\ o ->+ AutoscalingPolicyLoadBalancingUtilization' <$>+ (o .:? "utilizationTarget"))++instance ToJSON+ AutoscalingPolicyLoadBalancingUtilization where+ toJSON AutoscalingPolicyLoadBalancingUtilization'{..}+ = object+ (catMaybes+ [("utilizationTarget" .=) <$>+ _aplbuUtilizationTarget])++--+-- /See:/ 'targetPoolsScopedListWarningDataItem' smart constructor.+data TargetPoolsScopedListWarningDataItem = TargetPoolsScopedListWarningDataItem'+ { _tpslwdiValue :: !(Maybe Text)+ , _tpslwdiKey :: !(Maybe Text)+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'TargetPoolsScopedListWarningDataItem' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'tpslwdiValue'+--+-- * 'tpslwdiKey'+targetPoolsScopedListWarningDataItem+ :: TargetPoolsScopedListWarningDataItem+targetPoolsScopedListWarningDataItem =+ TargetPoolsScopedListWarningDataItem'+ { _tpslwdiValue = Nothing+ , _tpslwdiKey = Nothing+ }++-- | [Output Only] A warning data value corresponding to the key.+tpslwdiValue :: Lens' TargetPoolsScopedListWarningDataItem (Maybe Text)+tpslwdiValue+ = lens _tpslwdiValue (\ s a -> s{_tpslwdiValue = a})++-- | [Output Only] A key that provides more detail on the warning being+-- returned. For example, for warnings where there are no results in a list+-- request for a particular zone, this key might be scope and the key value+-- might be the zone name. Other examples might be a key indicating a+-- deprecated resource and a suggested replacement, or a warning about+-- invalid network settings (for example, if an instance attempts to+-- perform IP forwarding but is not enabled for IP forwarding).+tpslwdiKey :: Lens' TargetPoolsScopedListWarningDataItem (Maybe Text)+tpslwdiKey+ = lens _tpslwdiKey (\ s a -> s{_tpslwdiKey = a})++instance FromJSON+ TargetPoolsScopedListWarningDataItem where+ parseJSON+ = withObject "TargetPoolsScopedListWarningDataItem"+ (\ o ->+ TargetPoolsScopedListWarningDataItem' <$>+ (o .:? "value") <*> (o .:? "key"))++instance ToJSON TargetPoolsScopedListWarningDataItem+ where+ toJSON TargetPoolsScopedListWarningDataItem'{..}+ = object+ (catMaybes+ [("value" .=) <$> _tpslwdiValue,+ ("key" .=) <$> _tpslwdiKey])++-- | An Instance Group Manager resource.+--+-- /See:/ 'instanceGroupManager' smart constructor.+data InstanceGroupManager = InstanceGroupManager'+ { _igmKind :: !Text+ , _igmFingerprint :: !(Maybe Base64)+ , _igmBaseInstanceName :: !(Maybe Text)+ , _igmZone :: !(Maybe Text)+ , _igmInstanceTemplate :: !(Maybe Text)+ , _igmTargetSize :: !(Maybe (Textual Int32))+ , _igmSelfLink :: !(Maybe Text)+ , _igmCurrentActions :: !(Maybe InstanceGroupManagerActionsSummary)+ , _igmName :: !(Maybe Text)+ , _igmCreationTimestamp :: !(Maybe Text)+ , _igmId :: !(Maybe (Textual Word64))+ , _igmRegion :: !(Maybe Text)+ , _igmTargetPools :: !(Maybe [Text])+ , _igmDescription :: !(Maybe Text)+ , _igmInstanceGroup :: !(Maybe Text)+ , _igmNamedPorts :: !(Maybe [NamedPort])+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'InstanceGroupManager' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'igmKind'+--+-- * 'igmFingerprint'+--+-- * 'igmBaseInstanceName'+--+-- * 'igmZone'+--+-- * 'igmInstanceTemplate'+--+-- * 'igmTargetSize'+--+-- * 'igmSelfLink'+--+-- * 'igmCurrentActions'+--+-- * 'igmName'+--+-- * 'igmCreationTimestamp'+--+-- * 'igmId'+--+-- * 'igmRegion'+--+-- * 'igmTargetPools'+--+-- * 'igmDescription'+--+-- * 'igmInstanceGroup'+--+-- * 'igmNamedPorts'+instanceGroupManager+ :: InstanceGroupManager+instanceGroupManager =+ InstanceGroupManager'+ { _igmKind = "compute#instanceGroupManager"+ , _igmFingerprint = Nothing+ , _igmBaseInstanceName = Nothing+ , _igmZone = Nothing+ , _igmInstanceTemplate = Nothing+ , _igmTargetSize = Nothing+ , _igmSelfLink = Nothing+ , _igmCurrentActions = Nothing+ , _igmName = Nothing+ , _igmCreationTimestamp = Nothing+ , _igmId = Nothing+ , _igmRegion = Nothing+ , _igmTargetPools = Nothing+ , _igmDescription = Nothing+ , _igmInstanceGroup = Nothing+ , _igmNamedPorts = Nothing+ }++-- | [Output Only] The resource type, which is always+-- compute#instanceGroupManager for managed instance groups.+igmKind :: Lens' InstanceGroupManager Text+igmKind = lens _igmKind (\ s a -> s{_igmKind = a})++-- | [Output Only] The fingerprint of the resource data. You can use this+-- optional field for optimistic locking when you update the resource.+igmFingerprint :: Lens' InstanceGroupManager (Maybe ByteString)+igmFingerprint+ = lens _igmFingerprint+ (\ s a -> s{_igmFingerprint = a})+ . mapping _Base64++-- | The base instance name to use for instances in this group. The value+-- must be 1-58 characters long. Instances are named by appending a hyphen+-- and a random four-character string to the base instance name. The base+-- instance name must comply with RFC1035.+igmBaseInstanceName :: Lens' InstanceGroupManager (Maybe Text)+igmBaseInstanceName+ = lens _igmBaseInstanceName+ (\ s a -> s{_igmBaseInstanceName = a})++-- | [Output Only] The URL of the zone where the managed instance group is+-- located (for zonal resources).+igmZone :: Lens' InstanceGroupManager (Maybe Text)+igmZone = lens _igmZone (\ s a -> s{_igmZone = a})++-- | The URL of the instance template that is specified for this managed+-- instance group. The group uses this template to create all new instances+-- in the managed instance group.+igmInstanceTemplate :: Lens' InstanceGroupManager (Maybe Text)+igmInstanceTemplate+ = lens _igmInstanceTemplate+ (\ s a -> s{_igmInstanceTemplate = a})++-- | The target number of running instances for this managed instance group.+-- Deleting or abandoning instances reduces this number. Resizing the group+-- changes this number.+igmTargetSize :: Lens' InstanceGroupManager (Maybe Int32)+igmTargetSize+ = lens _igmTargetSize+ (\ s a -> s{_igmTargetSize = a})+ . mapping _Coerce++-- | [Output Only] The URL for this managed instance group. The server+-- defines this URL.+igmSelfLink :: Lens' InstanceGroupManager (Maybe Text)+igmSelfLink+ = lens _igmSelfLink (\ s a -> s{_igmSelfLink = a})++-- | [Output Only] The list of instance actions and the number of instances+-- in this managed instance group that are scheduled for each of those+-- actions.+igmCurrentActions :: Lens' InstanceGroupManager (Maybe InstanceGroupManagerActionsSummary)+igmCurrentActions+ = lens _igmCurrentActions+ (\ s a -> s{_igmCurrentActions = a})++-- | The name of the managed instance group. The name must be 1-63 characters+-- long, and comply with RFC1035.+igmName :: Lens' InstanceGroupManager (Maybe Text)+igmName = lens _igmName (\ s a -> s{_igmName = a})++-- | [Output Only] The creation timestamp for this managed instance group in+-- RFC3339 text format.+igmCreationTimestamp :: Lens' InstanceGroupManager (Maybe Text)+igmCreationTimestamp+ = lens _igmCreationTimestamp+ (\ s a -> s{_igmCreationTimestamp = a})++-- | [Output Only] A unique identifier for this resource type. The server+-- generates this identifier.+igmId :: Lens' InstanceGroupManager (Maybe Word64)+igmId+ = lens _igmId (\ s a -> s{_igmId = a}) .+ mapping _Coerce++-- | [Output Only] The URL of the region where the managed instance group+-- resides (for regional resources).+igmRegion :: Lens' InstanceGroupManager (Maybe Text)+igmRegion+ = lens _igmRegion (\ s a -> s{_igmRegion = a})++-- | The URLs for all TargetPool resources to which instances in the+-- instanceGroup field are added. The target pools automatically apply to+-- all of the instances in the managed instance group.+igmTargetPools :: Lens' InstanceGroupManager [Text]+igmTargetPools+ = lens _igmTargetPools+ (\ s a -> s{_igmTargetPools = a})+ . _Default+ . _Coerce++-- | An optional description of this resource. Provide this property when you+-- create the resource.+igmDescription :: Lens' InstanceGroupManager (Maybe Text)+igmDescription+ = lens _igmDescription+ (\ s a -> s{_igmDescription = a})++-- | [Output Only] The URL of the Instance Group resource.+igmInstanceGroup :: Lens' InstanceGroupManager (Maybe Text)+igmInstanceGroup+ = lens _igmInstanceGroup+ (\ s a -> s{_igmInstanceGroup = a})++-- | Named ports configured for the Instance Groups complementary to this+-- Instance Group Manager.+igmNamedPorts :: Lens' InstanceGroupManager [NamedPort]+igmNamedPorts+ = lens _igmNamedPorts+ (\ s a -> s{_igmNamedPorts = a})+ . _Default+ . _Coerce++instance FromJSON InstanceGroupManager where+ parseJSON+ = withObject "InstanceGroupManager"+ (\ o ->+ InstanceGroupManager' <$>+ (o .:? "kind" .!= "compute#instanceGroupManager") <*>+ (o .:? "fingerprint")+ <*> (o .:? "baseInstanceName")+ <*> (o .:? "zone")+ <*> (o .:? "instanceTemplate")+ <*> (o .:? "targetSize")+ <*> (o .:? "selfLink")+ <*> (o .:? "currentActions")+ <*> (o .:? "name")+ <*> (o .:? "creationTimestamp")+ <*> (o .:? "id")+ <*> (o .:? "region")+ <*> (o .:? "targetPools" .!= mempty)+ <*> (o .:? "description")+ <*> (o .:? "instanceGroup")+ <*> (o .:? "namedPorts" .!= mempty))++instance ToJSON InstanceGroupManager where+ toJSON InstanceGroupManager'{..}+ = object+ (catMaybes+ [Just ("kind" .= _igmKind),+ ("fingerprint" .=) <$> _igmFingerprint,+ ("baseInstanceName" .=) <$> _igmBaseInstanceName,+ ("zone" .=) <$> _igmZone,+ ("instanceTemplate" .=) <$> _igmInstanceTemplate,+ ("targetSize" .=) <$> _igmTargetSize,+ ("selfLink" .=) <$> _igmSelfLink,+ ("currentActions" .=) <$> _igmCurrentActions,+ ("name" .=) <$> _igmName,+ ("creationTimestamp" .=) <$> _igmCreationTimestamp,+ ("id" .=) <$> _igmId, ("region" .=) <$> _igmRegion,+ ("targetPools" .=) <$> _igmTargetPools,+ ("description" .=) <$> _igmDescription,+ ("instanceGroup" .=) <$> _igmInstanceGroup,+ ("namedPorts" .=) <$> _igmNamedPorts])++--+-- /See:/ 'tcpHealthCheck' smart constructor.+data TCPHealthCheck = TCPHealthCheck'+ { _thcResponse :: !(Maybe Text)+ , _thcProxyHeader :: !(Maybe TCPHealthCheckProxyHeader)+ , _thcPortName :: !(Maybe Text)+ , _thcPort :: !(Maybe (Textual Int32))+ , _thcRequest :: !(Maybe Text)+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'TCPHealthCheck' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'thcResponse'+--+-- * 'thcProxyHeader'+--+-- * 'thcPortName'+--+-- * 'thcPort'+--+-- * 'thcRequest'+tcpHealthCheck+ :: TCPHealthCheck+tcpHealthCheck =+ TCPHealthCheck'+ { _thcResponse = Nothing+ , _thcProxyHeader = Nothing+ , _thcPortName = Nothing+ , _thcPort = Nothing+ , _thcRequest = Nothing+ }++-- | The bytes to match against the beginning of the response data. If left+-- empty (the default value), any response will indicate health. The+-- response data can only be ASCII.+thcResponse :: Lens' TCPHealthCheck (Maybe Text)+thcResponse+ = lens _thcResponse (\ s a -> s{_thcResponse = a})++-- | Specifies the type of proxy header to append before sending data to the+-- backend, either NONE or PROXY_V1. The default is NONE.+thcProxyHeader :: Lens' TCPHealthCheck (Maybe TCPHealthCheckProxyHeader)+thcProxyHeader+ = lens _thcProxyHeader+ (\ s a -> s{_thcProxyHeader = a})++-- | Port name as defined in InstanceGroup#NamedPort#name. If both port and+-- port_name are defined, port takes precedence.+thcPortName :: Lens' TCPHealthCheck (Maybe Text)+thcPortName+ = lens _thcPortName (\ s a -> s{_thcPortName = a})++-- | The TCP port number for the health check request. The default value is+-- 80.+thcPort :: Lens' TCPHealthCheck (Maybe Int32)+thcPort+ = lens _thcPort (\ s a -> s{_thcPort = a}) .+ mapping _Coerce++-- | The application data to send once the TCP connection has been+-- established (default value is empty). If both request and response are+-- empty, the connection establishment alone will indicate health. The+-- request data can only be ASCII.+thcRequest :: Lens' TCPHealthCheck (Maybe Text)+thcRequest+ = lens _thcRequest (\ s a -> s{_thcRequest = a})++instance FromJSON TCPHealthCheck where+ parseJSON+ = withObject "TCPHealthCheck"+ (\ o ->+ TCPHealthCheck' <$>+ (o .:? "response") <*> (o .:? "proxyHeader") <*>+ (o .:? "portName")+ <*> (o .:? "port")+ <*> (o .:? "request"))++instance ToJSON TCPHealthCheck where+ toJSON TCPHealthCheck'{..}+ = object+ (catMaybes+ [("response" .=) <$> _thcResponse,+ ("proxyHeader" .=) <$> _thcProxyHeader,+ ("portName" .=) <$> _thcPortName,+ ("port" .=) <$> _thcPort,+ ("request" .=) <$> _thcRequest])++--+-- /See:/ 'instanceGroupsRemoveInstancesRequest' smart constructor.+newtype InstanceGroupsRemoveInstancesRequest = InstanceGroupsRemoveInstancesRequest'+ { _igrirInstances :: Maybe [InstanceReference]+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'InstanceGroupsRemoveInstancesRequest' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'igrirInstances'+instanceGroupsRemoveInstancesRequest+ :: InstanceGroupsRemoveInstancesRequest+instanceGroupsRemoveInstancesRequest =+ InstanceGroupsRemoveInstancesRequest'+ { _igrirInstances = Nothing+ }++-- | The list of instances to remove from the instance group.+igrirInstances :: Lens' InstanceGroupsRemoveInstancesRequest [InstanceReference]+igrirInstances+ = lens _igrirInstances+ (\ s a -> s{_igrirInstances = a})+ . _Default+ . _Coerce++instance FromJSON+ InstanceGroupsRemoveInstancesRequest where+ parseJSON+ = withObject "InstanceGroupsRemoveInstancesRequest"+ (\ o ->+ InstanceGroupsRemoveInstancesRequest' <$>+ (o .:? "instances" .!= mempty))++instance ToJSON InstanceGroupsRemoveInstancesRequest+ where+ toJSON InstanceGroupsRemoveInstancesRequest'{..}+ = object+ (catMaybes [("instances" .=) <$> _igrirInstances])++--+-- /See:/ 'routeWarningsItemDataItem' smart constructor.+data RouteWarningsItemDataItem = RouteWarningsItemDataItem'+ { _rwidiValue :: !(Maybe Text)+ , _rwidiKey :: !(Maybe Text)+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'RouteWarningsItemDataItem' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'rwidiValue'+--+-- * 'rwidiKey'+routeWarningsItemDataItem+ :: RouteWarningsItemDataItem+routeWarningsItemDataItem =+ RouteWarningsItemDataItem'+ { _rwidiValue = Nothing+ , _rwidiKey = Nothing+ }++-- | [Output Only] A warning data value corresponding to the key.+rwidiValue :: Lens' RouteWarningsItemDataItem (Maybe Text)+rwidiValue+ = lens _rwidiValue (\ s a -> s{_rwidiValue = a})++-- | [Output Only] A key that provides more detail on the warning being+-- returned. For example, for warnings where there are no results in a list+-- request for a particular zone, this key might be scope and the key value+-- might be the zone name. Other examples might be a key indicating a+-- deprecated resource and a suggested replacement, or a warning about+-- invalid network settings (for example, if an instance attempts to+-- perform IP forwarding but is not enabled for IP forwarding).+rwidiKey :: Lens' RouteWarningsItemDataItem (Maybe Text)+rwidiKey = lens _rwidiKey (\ s a -> s{_rwidiKey = a})++instance FromJSON RouteWarningsItemDataItem where+ parseJSON+ = withObject "RouteWarningsItemDataItem"+ (\ o ->+ RouteWarningsItemDataItem' <$>+ (o .:? "value") <*> (o .:? "key"))++instance ToJSON RouteWarningsItemDataItem where+ toJSON RouteWarningsItemDataItem'{..}+ = object+ (catMaybes+ [("value" .=) <$> _rwidiValue,+ ("key" .=) <$> _rwidiKey])++-- | [Output Only] A map of scoped instance lists.+--+-- /See:/ 'instanceAggregatedListItems' smart constructor.+newtype InstanceAggregatedListItems = InstanceAggregatedListItems'+ { _ialiAddtional :: HashMap Text InstancesScopedList+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'InstanceAggregatedListItems' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'ialiAddtional'+instanceAggregatedListItems+ :: HashMap Text InstancesScopedList -- ^ 'ialiAddtional'+ -> InstanceAggregatedListItems+instanceAggregatedListItems pIaliAddtional_ =+ InstanceAggregatedListItems'+ { _ialiAddtional = _Coerce # pIaliAddtional_+ }++-- | [Output Only] Name of the scope containing this set of instances.+ialiAddtional :: Lens' InstanceAggregatedListItems (HashMap Text InstancesScopedList)+ialiAddtional+ = lens _ialiAddtional+ (\ s a -> s{_ialiAddtional = a})+ . _Coerce++instance FromJSON InstanceAggregatedListItems where+ parseJSON+ = withObject "InstanceAggregatedListItems"+ (\ o ->+ InstanceAggregatedListItems' <$> (parseJSONObject o))++instance ToJSON InstanceAggregatedListItems where+ toJSON = toJSON . _ialiAddtional++-- | [Output Only] Informational warning which replaces the list of+-- autoscalers when the list is empty.+--+-- /See:/ 'autoscalersScopedListWarning' smart constructor.+data AutoscalersScopedListWarning = AutoscalersScopedListWarning'+ { _aslwData :: !(Maybe [AutoscalersScopedListWarningDataItem])+ , _aslwCode :: !(Maybe AutoscalersScopedListWarningCode)+ , _aslwMessage :: !(Maybe Text)+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'AutoscalersScopedListWarning' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'aslwData'+--+-- * 'aslwCode'+--+-- * 'aslwMessage'+autoscalersScopedListWarning+ :: AutoscalersScopedListWarning+autoscalersScopedListWarning =+ AutoscalersScopedListWarning'+ { _aslwData = Nothing+ , _aslwCode = Nothing+ , _aslwMessage = Nothing+ }++-- | [Output Only] Metadata about this warning in key: value format. For+-- example: \"data\": [ { \"key\": \"scope\", \"value\":+-- \"zones\/us-east1-d\" }+aslwData :: Lens' AutoscalersScopedListWarning [AutoscalersScopedListWarningDataItem]+aslwData+ = lens _aslwData (\ s a -> s{_aslwData = a}) .+ _Default+ . _Coerce++-- | [Output Only] A warning code, if applicable. For example, Compute Engine+-- returns NO_RESULTS_ON_PAGE if there are no results in the response.+aslwCode :: Lens' AutoscalersScopedListWarning (Maybe AutoscalersScopedListWarningCode)+aslwCode = lens _aslwCode (\ s a -> s{_aslwCode = a})++-- | [Output Only] A human-readable description of the warning code.+aslwMessage :: Lens' AutoscalersScopedListWarning (Maybe Text)+aslwMessage+ = lens _aslwMessage (\ s a -> s{_aslwMessage = a})++instance FromJSON AutoscalersScopedListWarning where+ parseJSON+ = withObject "AutoscalersScopedListWarning"+ (\ o ->+ AutoscalersScopedListWarning' <$>+ (o .:? "data" .!= mempty) <*> (o .:? "code") <*>+ (o .:? "message"))++instance ToJSON AutoscalersScopedListWarning where+ toJSON AutoscalersScopedListWarning'{..}+ = object+ (catMaybes+ [("data" .=) <$> _aslwData,+ ("code" .=) <$> _aslwCode,+ ("message" .=) <$> _aslwMessage])++-- | Contains a list of HealthCheck resources.+--+-- /See:/ 'healthCheckList' smart constructor.+data HealthCheckList = HealthCheckList'+ { _hclNextPageToken :: !(Maybe Text)+ , _hclKind :: !Text+ , _hclItems :: !(Maybe [HealthCheck])+ , _hclSelfLink :: !(Maybe Text)+ , _hclId :: !(Maybe Text)+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'HealthCheckList' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'hclNextPageToken'+--+-- * 'hclKind'+--+-- * 'hclItems'+--+-- * 'hclSelfLink'+--+-- * 'hclId'+healthCheckList+ :: HealthCheckList+healthCheckList =+ HealthCheckList'+ { _hclNextPageToken = Nothing+ , _hclKind = "compute#healthCheckList"+ , _hclItems = Nothing+ , _hclSelfLink = Nothing+ , _hclId = Nothing+ }++-- | [Output Only] This token allows you to get the next page of results for+-- list requests. If the number of results is larger than maxResults, use+-- the nextPageToken as a value for the query parameter pageToken in the+-- next list request. Subsequent list requests will have their own+-- nextPageToken to continue paging through the results.+hclNextPageToken :: Lens' HealthCheckList (Maybe Text)+hclNextPageToken+ = lens _hclNextPageToken+ (\ s a -> s{_hclNextPageToken = a})++-- | Type of resource.+hclKind :: Lens' HealthCheckList Text+hclKind = lens _hclKind (\ s a -> s{_hclKind = a})++-- | A list of HealthCheck resources.+hclItems :: Lens' HealthCheckList [HealthCheck]+hclItems+ = lens _hclItems (\ s a -> s{_hclItems = a}) .+ _Default+ . _Coerce++-- | [Output Only] Server-defined URL for this resource.+hclSelfLink :: Lens' HealthCheckList (Maybe Text)+hclSelfLink+ = lens _hclSelfLink (\ s a -> s{_hclSelfLink = a})++-- | [Output Only] The unique identifier for the resource. This identifier is+-- defined by the server.+hclId :: Lens' HealthCheckList (Maybe Text)+hclId = lens _hclId (\ s a -> s{_hclId = a})++instance FromJSON HealthCheckList where+ parseJSON+ = withObject "HealthCheckList"+ (\ o ->+ HealthCheckList' <$>+ (o .:? "nextPageToken") <*>+ (o .:? "kind" .!= "compute#healthCheckList")+ <*> (o .:? "items" .!= mempty)+ <*> (o .:? "selfLink")+ <*> (o .:? "id"))++instance ToJSON HealthCheckList where+ toJSON HealthCheckList'{..}+ = object+ (catMaybes+ [("nextPageToken" .=) <$> _hclNextPageToken,+ Just ("kind" .= _hclKind),+ ("items" .=) <$> _hclItems,+ ("selfLink" .=) <$> _hclSelfLink,+ ("id" .=) <$> _hclId])++-- | [Output Only] Encountered errors during the last attempt to create or+-- delete the instance.+--+-- /See:/ 'managedInstanceLastAttemptErrors' smart constructor.+newtype ManagedInstanceLastAttemptErrors = ManagedInstanceLastAttemptErrors'+ { _milaeErrors :: Maybe [ManagedInstanceLastAttemptErrorsErrorsItem]+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'ManagedInstanceLastAttemptErrors' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'milaeErrors'+managedInstanceLastAttemptErrors+ :: ManagedInstanceLastAttemptErrors+managedInstanceLastAttemptErrors =+ ManagedInstanceLastAttemptErrors'+ { _milaeErrors = Nothing+ }++-- | [Output Only] The array of errors encountered while processing this+-- operation.+milaeErrors :: Lens' ManagedInstanceLastAttemptErrors [ManagedInstanceLastAttemptErrorsErrorsItem]+milaeErrors+ = lens _milaeErrors (\ s a -> s{_milaeErrors = a}) .+ _Default+ . _Coerce++instance FromJSON ManagedInstanceLastAttemptErrors+ where+ parseJSON+ = withObject "ManagedInstanceLastAttemptErrors"+ (\ o ->+ ManagedInstanceLastAttemptErrors' <$>+ (o .:? "errors" .!= mempty))++instance ToJSON ManagedInstanceLastAttemptErrors+ where+ toJSON ManagedInstanceLastAttemptErrors'{..}+ = object (catMaybes [("errors" .=) <$> _milaeErrors])++--+-- /See:/ 'targetPoolsRemoveInstanceRequest' smart constructor.+newtype TargetPoolsRemoveInstanceRequest = TargetPoolsRemoveInstanceRequest'+ { _tprirInstances :: Maybe [InstanceReference]+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'TargetPoolsRemoveInstanceRequest' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'tprirInstances'+targetPoolsRemoveInstanceRequest+ :: TargetPoolsRemoveInstanceRequest+targetPoolsRemoveInstanceRequest =+ TargetPoolsRemoveInstanceRequest'+ { _tprirInstances = Nothing+ }++-- | URLs of the instances to be removed from target pool.+tprirInstances :: Lens' TargetPoolsRemoveInstanceRequest [InstanceReference]+tprirInstances+ = lens _tprirInstances+ (\ s a -> s{_tprirInstances = a})+ . _Default+ . _Coerce++instance FromJSON TargetPoolsRemoveInstanceRequest+ where+ parseJSON+ = withObject "TargetPoolsRemoveInstanceRequest"+ (\ o ->+ TargetPoolsRemoveInstanceRequest' <$>+ (o .:? "instances" .!= mempty))++instance ToJSON TargetPoolsRemoveInstanceRequest+ where+ toJSON TargetPoolsRemoveInstanceRequest'{..}+ = object+ (catMaybes [("instances" .=) <$> _tprirInstances])++--+-- /See:/ 'targetInstancesScopedListWarningDataItem' smart constructor.+data TargetInstancesScopedListWarningDataItem = TargetInstancesScopedListWarningDataItem'+ { _tislwdiValue :: !(Maybe Text)+ , _tislwdiKey :: !(Maybe Text)+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'TargetInstancesScopedListWarningDataItem' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'tislwdiValue'+--+-- * 'tislwdiKey'+targetInstancesScopedListWarningDataItem+ :: TargetInstancesScopedListWarningDataItem+targetInstancesScopedListWarningDataItem =+ TargetInstancesScopedListWarningDataItem'+ { _tislwdiValue = Nothing+ , _tislwdiKey = Nothing+ }++-- | [Output Only] A warning data value corresponding to the key.+tislwdiValue :: Lens' TargetInstancesScopedListWarningDataItem (Maybe Text)+tislwdiValue+ = lens _tislwdiValue (\ s a -> s{_tislwdiValue = a})++-- | [Output Only] A key that provides more detail on the warning being+-- returned. For example, for warnings where there are no results in a list+-- request for a particular zone, this key might be scope and the key value+-- might be the zone name. Other examples might be a key indicating a+-- deprecated resource and a suggested replacement, or a warning about+-- invalid network settings (for example, if an instance attempts to+-- perform IP forwarding but is not enabled for IP forwarding).+tislwdiKey :: Lens' TargetInstancesScopedListWarningDataItem (Maybe Text)+tislwdiKey+ = lens _tislwdiKey (\ s a -> s{_tislwdiKey = a})++instance FromJSON+ TargetInstancesScopedListWarningDataItem where+ parseJSON+ = withObject+ "TargetInstancesScopedListWarningDataItem"+ (\ o ->+ TargetInstancesScopedListWarningDataItem' <$>+ (o .:? "value") <*> (o .:? "key"))++instance ToJSON+ TargetInstancesScopedListWarningDataItem where+ toJSON TargetInstancesScopedListWarningDataItem'{..}+ = object+ (catMaybes+ [("value" .=) <$> _tislwdiValue,+ ("key" .=) <$> _tislwdiKey])++-- | [Output Only] An informational warning that appears when the machine+-- types list is empty.+--+-- /See:/ 'machineTypesScopedListWarning' smart constructor.+data MachineTypesScopedListWarning = MachineTypesScopedListWarning'+ { _mtslwData :: !(Maybe [MachineTypesScopedListWarningDataItem])+ , _mtslwCode :: !(Maybe MachineTypesScopedListWarningCode)+ , _mtslwMessage :: !(Maybe Text)+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'MachineTypesScopedListWarning' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'mtslwData'+--+-- * 'mtslwCode'+--+-- * 'mtslwMessage'+machineTypesScopedListWarning+ :: MachineTypesScopedListWarning+machineTypesScopedListWarning =+ MachineTypesScopedListWarning'+ { _mtslwData = Nothing+ , _mtslwCode = Nothing+ , _mtslwMessage = Nothing+ }++-- | [Output Only] Metadata about this warning in key: value format. For+-- example: \"data\": [ { \"key\": \"scope\", \"value\":+-- \"zones\/us-east1-d\" }+mtslwData :: Lens' MachineTypesScopedListWarning [MachineTypesScopedListWarningDataItem]+mtslwData+ = lens _mtslwData (\ s a -> s{_mtslwData = a}) .+ _Default+ . _Coerce++-- | [Output Only] A warning code, if applicable. For example, Compute Engine+-- returns NO_RESULTS_ON_PAGE if there are no results in the response.+mtslwCode :: Lens' MachineTypesScopedListWarning (Maybe MachineTypesScopedListWarningCode)+mtslwCode+ = lens _mtslwCode (\ s a -> s{_mtslwCode = a})++-- | [Output Only] A human-readable description of the warning code.+mtslwMessage :: Lens' MachineTypesScopedListWarning (Maybe Text)+mtslwMessage+ = lens _mtslwMessage (\ s a -> s{_mtslwMessage = a})++instance FromJSON MachineTypesScopedListWarning where+ parseJSON+ = withObject "MachineTypesScopedListWarning"+ (\ o ->+ MachineTypesScopedListWarning' <$>+ (o .:? "data" .!= mempty) <*> (o .:? "code") <*>+ (o .:? "message"))++instance ToJSON MachineTypesScopedListWarning where+ toJSON MachineTypesScopedListWarning'{..}+ = object+ (catMaybes+ [("data" .=) <$> _mtslwData,+ ("code" .=) <$> _mtslwCode,+ ("message" .=) <$> _mtslwMessage])++-- | A TargetInstance resource. This resource defines an endpoint instance+-- that terminates traffic of certain protocols.+--+-- /See:/ 'targetInstance' smart constructor.+data TargetInstance = TargetInstance'+ { _tiKind :: !Text+ , _tiNATPolicy :: !(Maybe TargetInstanceNATPolicy)+ , _tiZone :: !(Maybe Text)+ , _tiSelfLink :: !(Maybe Text)+ , _tiName :: !(Maybe Text)+ , _tiCreationTimestamp :: !(Maybe Text)+ , _tiId :: !(Maybe (Textual Word64))+ , _tiDescription :: !(Maybe Text)+ , _tiInstance :: !(Maybe Text)+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'TargetInstance' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'tiKind'+--+-- * 'tiNATPolicy'+--+-- * 'tiZone'+--+-- * 'tiSelfLink'+--+-- * 'tiName'+--+-- * 'tiCreationTimestamp'+--+-- * 'tiId'+--+-- * 'tiDescription'+--+-- * 'tiInstance'+targetInstance+ :: TargetInstance+targetInstance =+ TargetInstance'+ { _tiKind = "compute#targetInstance"+ , _tiNATPolicy = Nothing+ , _tiZone = Nothing+ , _tiSelfLink = Nothing+ , _tiName = Nothing+ , _tiCreationTimestamp = Nothing+ , _tiId = Nothing+ , _tiDescription = Nothing+ , _tiInstance = Nothing+ }++-- | [Output Only] The type of the resource. Always compute#targetInstance+-- for target instances.+tiKind :: Lens' TargetInstance Text+tiKind = lens _tiKind (\ s a -> s{_tiKind = a})++-- | NAT option controlling how IPs are NAT\'ed to the instance. Currently+-- only NO_NAT (default value) is supported.+tiNATPolicy :: Lens' TargetInstance (Maybe TargetInstanceNATPolicy)+tiNATPolicy+ = lens _tiNATPolicy (\ s a -> s{_tiNATPolicy = a})++-- | [Output Only] URL of the zone where the target instance resides.+tiZone :: Lens' TargetInstance (Maybe Text)+tiZone = lens _tiZone (\ s a -> s{_tiZone = a})++-- | [Output Only] Server-defined URL for the resource.+tiSelfLink :: Lens' TargetInstance (Maybe Text)+tiSelfLink+ = lens _tiSelfLink (\ s a -> s{_tiSelfLink = a})++-- | Name of the resource. Provided by the client when the resource is+-- created. The name must be 1-63 characters long, and comply with RFC1035.+-- Specifically, the name must be 1-63 characters long and match the+-- regular expression [a-z]([-a-z0-9]*[a-z0-9])? which means the first+-- character must be a lowercase letter, and all following characters must+-- be a dash, lowercase letter, or digit, except the last character, which+-- cannot be a dash.+tiName :: Lens' TargetInstance (Maybe Text)+tiName = lens _tiName (\ s a -> s{_tiName = a})++-- | [Output Only] Creation timestamp in RFC3339 text format.+tiCreationTimestamp :: Lens' TargetInstance (Maybe Text)+tiCreationTimestamp+ = lens _tiCreationTimestamp+ (\ s a -> s{_tiCreationTimestamp = a})++-- | [Output Only] The unique identifier for the resource. This identifier is+-- defined by the server.+tiId :: Lens' TargetInstance (Maybe Word64)+tiId+ = lens _tiId (\ s a -> s{_tiId = a}) .+ mapping _Coerce++-- | An optional description of this resource. Provide this property when you+-- create the resource.+tiDescription :: Lens' TargetInstance (Maybe Text)+tiDescription+ = lens _tiDescription+ (\ s a -> s{_tiDescription = a})++-- | A URL to the virtual machine instance that handles traffic for this+-- target instance. When creating a target instance, you can provide the+-- fully-qualified URL or a valid partial URL to the desired virtual+-- machine. For example, the following are all valid URLs: -+-- https:\/\/www.googleapis.com\/compute\/v1\/projects\/project\/zones\/zone\/instances\/instance+-- - projects\/project\/zones\/zone\/instances\/instance -+-- zones\/zone\/instances\/instance+tiInstance :: Lens' TargetInstance (Maybe Text)+tiInstance+ = lens _tiInstance (\ s a -> s{_tiInstance = a})++instance FromJSON TargetInstance where+ parseJSON+ = withObject "TargetInstance"+ (\ o ->+ TargetInstance' <$>+ (o .:? "kind" .!= "compute#targetInstance") <*>+ (o .:? "natPolicy")+ <*> (o .:? "zone")+ <*> (o .:? "selfLink")+ <*> (o .:? "name")+ <*> (o .:? "creationTimestamp")+ <*> (o .:? "id")+ <*> (o .:? "description")+ <*> (o .:? "instance"))++instance ToJSON TargetInstance where+ toJSON TargetInstance'{..}+ = object+ (catMaybes+ [Just ("kind" .= _tiKind),+ ("natPolicy" .=) <$> _tiNATPolicy,+ ("zone" .=) <$> _tiZone,+ ("selfLink" .=) <$> _tiSelfLink,+ ("name" .=) <$> _tiName,+ ("creationTimestamp" .=) <$> _tiCreationTimestamp,+ ("id" .=) <$> _tiId,+ ("description" .=) <$> _tiDescription,+ ("instance" .=) <$> _tiInstance])++--+-- /See:/ 'targetPoolInstanceHealth' smart constructor.+data TargetPoolInstanceHealth = TargetPoolInstanceHealth'+ { _tpihKind :: !Text+ , _tpihHealthStatus :: !(Maybe [HealthStatus])+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'TargetPoolInstanceHealth' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'tpihKind'+--+-- * 'tpihHealthStatus'+targetPoolInstanceHealth+ :: TargetPoolInstanceHealth+targetPoolInstanceHealth =+ TargetPoolInstanceHealth'+ { _tpihKind = "compute#targetPoolInstanceHealth"+ , _tpihHealthStatus = Nothing+ }++-- | [Output Only] Type of resource. Always compute#targetPoolInstanceHealth+-- when checking the health of an instance.+tpihKind :: Lens' TargetPoolInstanceHealth Text+tpihKind = lens _tpihKind (\ s a -> s{_tpihKind = a})++tpihHealthStatus :: Lens' TargetPoolInstanceHealth [HealthStatus]+tpihHealthStatus+ = lens _tpihHealthStatus+ (\ s a -> s{_tpihHealthStatus = a})+ . _Default+ . _Coerce++instance FromJSON TargetPoolInstanceHealth where+ parseJSON+ = withObject "TargetPoolInstanceHealth"+ (\ o ->+ TargetPoolInstanceHealth' <$>+ (o .:? "kind" .!= "compute#targetPoolInstanceHealth")+ <*> (o .:? "healthStatus" .!= mempty))++instance ToJSON TargetPoolInstanceHealth where+ toJSON TargetPoolInstanceHealth'{..}+ = object+ (catMaybes+ [Just ("kind" .= _tpihKind),+ ("healthStatus" .=) <$> _tpihHealthStatus])++--+-- /See:/ 'instanceGroupManagersListManagedInstancesResponse' smart constructor.+newtype InstanceGroupManagersListManagedInstancesResponse = InstanceGroupManagersListManagedInstancesResponse'+ { _igmlmirManagedInstances :: Maybe [ManagedInstance]+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'InstanceGroupManagersListManagedInstancesResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'igmlmirManagedInstances'+instanceGroupManagersListManagedInstancesResponse+ :: InstanceGroupManagersListManagedInstancesResponse+instanceGroupManagersListManagedInstancesResponse =+ InstanceGroupManagersListManagedInstancesResponse'+ { _igmlmirManagedInstances = Nothing+ }++-- | [Output Only] The list of instances in the managed instance group.+igmlmirManagedInstances :: Lens' InstanceGroupManagersListManagedInstancesResponse [ManagedInstance]+igmlmirManagedInstances+ = lens _igmlmirManagedInstances+ (\ s a -> s{_igmlmirManagedInstances = a})+ . _Default+ . _Coerce++instance FromJSON+ InstanceGroupManagersListManagedInstancesResponse+ where+ parseJSON+ = withObject+ "InstanceGroupManagersListManagedInstancesResponse"+ (\ o ->+ InstanceGroupManagersListManagedInstancesResponse'+ <$> (o .:? "managedInstances" .!= mempty))++instance ToJSON+ InstanceGroupManagersListManagedInstancesResponse+ where+ toJSON+ InstanceGroupManagersListManagedInstancesResponse'{..}+ = object+ (catMaybes+ [("managedInstances" .=) <$>+ _igmlmirManagedInstances])++-- |+--+-- /See:/ 'instanceProperties' smart constructor.+data InstanceProperties = InstanceProperties'+ { _ipServiceAccounts :: !(Maybe [ServiceAccount])+ , _ipNetworkInterfaces :: !(Maybe [NetworkInterface])+ , _ipMachineType :: !(Maybe Text)+ , _ipMetadata :: !(Maybe Metadata)+ , _ipScheduling :: !(Maybe Scheduling)+ , _ipDisks :: !(Maybe [AttachedDisk])+ , _ipCanIPForward :: !(Maybe Bool)+ , _ipDescription :: !(Maybe Text)+ , _ipTags :: !(Maybe Tags)+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'InstanceProperties' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'ipServiceAccounts'+--+-- * 'ipNetworkInterfaces'+--+-- * 'ipMachineType'+--+-- * 'ipMetadata'+--+-- * 'ipScheduling'+--+-- * 'ipDisks'+--+-- * 'ipCanIPForward'+--+-- * 'ipDescription'+--+-- * 'ipTags'+instanceProperties+ :: InstanceProperties+instanceProperties =+ InstanceProperties'+ { _ipServiceAccounts = Nothing+ , _ipNetworkInterfaces = Nothing+ , _ipMachineType = Nothing+ , _ipMetadata = Nothing+ , _ipScheduling = Nothing+ , _ipDisks = Nothing+ , _ipCanIPForward = Nothing+ , _ipDescription = Nothing+ , _ipTags = Nothing+ }++-- | A list of service accounts with specified scopes. Access tokens for+-- these service accounts are available to the instances that are created+-- from this template. Use metadata queries to obtain the access tokens for+-- these instances.+ipServiceAccounts :: Lens' InstanceProperties [ServiceAccount]+ipServiceAccounts+ = lens _ipServiceAccounts+ (\ s a -> s{_ipServiceAccounts = a})+ . _Default+ . _Coerce++-- | An array of network access configurations for this interface.+ipNetworkInterfaces :: Lens' InstanceProperties [NetworkInterface]+ipNetworkInterfaces+ = lens _ipNetworkInterfaces+ (\ s a -> s{_ipNetworkInterfaces = a})+ . _Default+ . _Coerce++-- | The machine type to use for instances that are created from this+-- template.+ipMachineType :: Lens' InstanceProperties (Maybe Text)+ipMachineType+ = lens _ipMachineType+ (\ s a -> s{_ipMachineType = a})++-- | The metadata key\/value pairs to assign to instances that are created+-- from this template. These pairs can consist of custom metadata or+-- predefined keys. See Project and instance metadata for more information.+ipMetadata :: Lens' InstanceProperties (Maybe Metadata)+ipMetadata+ = lens _ipMetadata (\ s a -> s{_ipMetadata = a})++-- | Specifies the scheduling options for the instances that are created from+-- this template.+ipScheduling :: Lens' InstanceProperties (Maybe Scheduling)+ipScheduling+ = lens _ipScheduling (\ s a -> s{_ipScheduling = a})++-- | An array of disks that are associated with the instances that are+-- created from this template.+ipDisks :: Lens' InstanceProperties [AttachedDisk]+ipDisks+ = lens _ipDisks (\ s a -> s{_ipDisks = a}) . _Default+ . _Coerce++-- | Enables instances created based on this template to send packets with+-- source IP addresses other than their own and receive packets with+-- destination IP addresses other than their own. If these instances will+-- be used as an IP gateway or it will be set as the next-hop in a Route+-- resource, specify true. If unsure, leave this set to false. See the+-- Enable IP forwarding for instances documentation for more information.+ipCanIPForward :: Lens' InstanceProperties (Maybe Bool)+ipCanIPForward+ = lens _ipCanIPForward+ (\ s a -> s{_ipCanIPForward = a})++-- | An optional text description for the instances that are created from+-- this instance template.+ipDescription :: Lens' InstanceProperties (Maybe Text)+ipDescription+ = lens _ipDescription+ (\ s a -> s{_ipDescription = a})++-- | A list of tags to apply to the instances that are created from this+-- template. The tags identify valid sources or targets for network+-- firewalls. The setTags method can modify this list of tags. Each tag+-- within the list must comply with RFC1035.+ipTags :: Lens' InstanceProperties (Maybe Tags)+ipTags = lens _ipTags (\ s a -> s{_ipTags = a})++instance FromJSON InstanceProperties where+ parseJSON+ = withObject "InstanceProperties"+ (\ o ->+ InstanceProperties' <$>+ (o .:? "serviceAccounts" .!= mempty) <*>+ (o .:? "networkInterfaces" .!= mempty)+ <*> (o .:? "machineType")+ <*> (o .:? "metadata")+ <*> (o .:? "scheduling")+ <*> (o .:? "disks" .!= mempty)+ <*> (o .:? "canIpForward")+ <*> (o .:? "description")+ <*> (o .:? "tags"))++instance ToJSON InstanceProperties where+ toJSON InstanceProperties'{..}+ = object+ (catMaybes+ [("serviceAccounts" .=) <$> _ipServiceAccounts,+ ("networkInterfaces" .=) <$> _ipNetworkInterfaces,+ ("machineType" .=) <$> _ipMachineType,+ ("metadata" .=) <$> _ipMetadata,+ ("scheduling" .=) <$> _ipScheduling,+ ("disks" .=) <$> _ipDisks,+ ("canIpForward" .=) <$> _ipCanIPForward,+ ("description" .=) <$> _ipDescription,+ ("tags" .=) <$> _ipTags])++--+-- /See:/ 'hTTP2HealthCheck' smart constructor.+data HTTP2HealthCheck = HTTP2HealthCheck'+ { _httphcRequestPath :: !(Maybe Text)+ , _httphcHost :: !(Maybe Text)+ , _httphcProxyHeader :: !(Maybe HTTP2HealthCheckProxyHeader)+ , _httphcPortName :: !(Maybe Text)+ , _httphcPort :: !(Maybe (Textual Int32))+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'HTTP2HealthCheck' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'httphcRequestPath'+--+-- * 'httphcHost'+--+-- * 'httphcProxyHeader'+--+-- * 'httphcPortName'+--+-- * 'httphcPort'+hTTP2HealthCheck+ :: HTTP2HealthCheck+hTTP2HealthCheck =+ HTTP2HealthCheck'+ { _httphcRequestPath = Nothing+ , _httphcHost = Nothing+ , _httphcProxyHeader = Nothing+ , _httphcPortName = Nothing+ , _httphcPort = Nothing+ }++-- | The request path of the HTTP\/2 health check request. The default value+-- is \/.+httphcRequestPath :: Lens' HTTP2HealthCheck (Maybe Text)+httphcRequestPath+ = lens _httphcRequestPath+ (\ s a -> s{_httphcRequestPath = a})++-- | The value of the host header in the HTTP\/2 health check request. If+-- left empty (default value), the IP on behalf of which this health check+-- is performed will be used.+httphcHost :: Lens' HTTP2HealthCheck (Maybe Text)+httphcHost+ = lens _httphcHost (\ s a -> s{_httphcHost = a})++-- | Specifies the type of proxy header to append before sending data to the+-- backend, either NONE or PROXY_V1. The default is NONE.+httphcProxyHeader :: Lens' HTTP2HealthCheck (Maybe HTTP2HealthCheckProxyHeader)+httphcProxyHeader+ = lens _httphcProxyHeader+ (\ s a -> s{_httphcProxyHeader = a})++-- | Port name as defined in InstanceGroup#NamedPort#name. If both port and+-- port_name are defined, port takes precedence.+httphcPortName :: Lens' HTTP2HealthCheck (Maybe Text)+httphcPortName+ = lens _httphcPortName+ (\ s a -> s{_httphcPortName = a})++-- | The TCP port number for the health check request. The default value is+-- 443.+httphcPort :: Lens' HTTP2HealthCheck (Maybe Int32)+httphcPort+ = lens _httphcPort (\ s a -> s{_httphcPort = a}) .+ mapping _Coerce++instance FromJSON HTTP2HealthCheck where+ parseJSON+ = withObject "HTTP2HealthCheck"+ (\ o ->+ HTTP2HealthCheck' <$>+ (o .:? "requestPath") <*> (o .:? "host") <*>+ (o .:? "proxyHeader")+ <*> (o .:? "portName")+ <*> (o .:? "port"))++instance ToJSON HTTP2HealthCheck where+ toJSON HTTP2HealthCheck'{..}+ = object+ (catMaybes+ [("requestPath" .=) <$> _httphcRequestPath,+ ("host" .=) <$> _httphcHost,+ ("proxyHeader" .=) <$> _httphcProxyHeader,+ ("portName" .=) <$> _httphcPortName,+ ("port" .=) <$> _httphcPort])++-- | [Output Only] Informational warning which replaces the list of disk+-- types when the list is empty.+--+-- /See:/ 'diskTypesScopedListWarning' smart constructor.+data DiskTypesScopedListWarning = DiskTypesScopedListWarning'+ { _dtslwData :: !(Maybe [DiskTypesScopedListWarningDataItem])+ , _dtslwCode :: !(Maybe DiskTypesScopedListWarningCode)+ , _dtslwMessage :: !(Maybe Text)+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'DiskTypesScopedListWarning' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'dtslwData'+--+-- * 'dtslwCode'+--+-- * 'dtslwMessage'+diskTypesScopedListWarning+ :: DiskTypesScopedListWarning+diskTypesScopedListWarning =+ DiskTypesScopedListWarning'+ { _dtslwData = Nothing+ , _dtslwCode = Nothing+ , _dtslwMessage = Nothing+ }++-- | [Output Only] Metadata about this warning in key: value format. For+-- example: \"data\": [ { \"key\": \"scope\", \"value\":+-- \"zones\/us-east1-d\" }+dtslwData :: Lens' DiskTypesScopedListWarning [DiskTypesScopedListWarningDataItem]+dtslwData+ = lens _dtslwData (\ s a -> s{_dtslwData = a}) .+ _Default+ . _Coerce++-- | [Output Only] A warning code, if applicable. For example, Compute Engine+-- returns NO_RESULTS_ON_PAGE if there are no results in the response.+dtslwCode :: Lens' DiskTypesScopedListWarning (Maybe DiskTypesScopedListWarningCode)+dtslwCode+ = lens _dtslwCode (\ s a -> s{_dtslwCode = a})++-- | [Output Only] A human-readable description of the warning code.+dtslwMessage :: Lens' DiskTypesScopedListWarning (Maybe Text)+dtslwMessage+ = lens _dtslwMessage (\ s a -> s{_dtslwMessage = a})++instance FromJSON DiskTypesScopedListWarning where+ parseJSON+ = withObject "DiskTypesScopedListWarning"+ (\ o ->+ DiskTypesScopedListWarning' <$>+ (o .:? "data" .!= mempty) <*> (o .:? "code") <*>+ (o .:? "message"))++instance ToJSON DiskTypesScopedListWarning where+ toJSON DiskTypesScopedListWarning'{..}+ = object+ (catMaybes+ [("data" .=) <$> _dtslwData,+ ("code" .=) <$> _dtslwCode,+ ("message" .=) <$> _dtslwMessage])++-- | [Input Only] Specifies the parameters for a new disk that will be+-- created alongside the new instance. Use initialization parameters to+-- create boot disks or local SSDs attached to the new instance. This+-- property is mutually exclusive with the source property; you can only+-- define one or the other, but not both.+--+-- /See:/ 'attachedDiskInitializeParams' smart constructor.+data AttachedDiskInitializeParams = AttachedDiskInitializeParams'+ { _adipSourceImage :: !(Maybe Text)+ , _adipDiskSizeGb :: !(Maybe (Textual Int64))+ , _adipDiskName :: !(Maybe Text)+ , _adipSourceImageEncryptionKey :: !(Maybe CustomerEncryptionKey)+ , _adipDiskType :: !(Maybe Text)+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'AttachedDiskInitializeParams' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'adipSourceImage'+--+-- * 'adipDiskSizeGb'+--+-- * 'adipDiskName'+--+-- * 'adipSourceImageEncryptionKey'+--+-- * 'adipDiskType'+attachedDiskInitializeParams+ :: AttachedDiskInitializeParams+attachedDiskInitializeParams =+ AttachedDiskInitializeParams'+ { _adipSourceImage = Nothing+ , _adipDiskSizeGb = Nothing+ , _adipDiskName = Nothing+ , _adipSourceImageEncryptionKey = Nothing+ , _adipDiskType = Nothing+ }++-- | The source image used to create this disk. If the source image is+-- deleted, this field will not be set. To create a disk with one of the+-- public operating system images, specify the image by its family name.+-- For example, specify family\/debian-8 to use the latest Debian 8 image:+-- projects\/debian-cloud\/global\/images\/family\/debian-8 Alternatively,+-- use a specific version of a public operating system image:+-- projects\/debian-cloud\/global\/images\/debian-8-jessie-vYYYYMMDD To+-- create a disk with a private image that you created, specify the image+-- name in the following format: global\/images\/my-private-image You can+-- also specify a private image by its image family, which returns the+-- latest version of the image in that family. Replace the image name with+-- family\/family-name: global\/images\/family\/my-private-family+adipSourceImage :: Lens' AttachedDiskInitializeParams (Maybe Text)+adipSourceImage+ = lens _adipSourceImage+ (\ s a -> s{_adipSourceImage = a})++-- | Specifies the size of the disk in base-2 GB.+adipDiskSizeGb :: Lens' AttachedDiskInitializeParams (Maybe Int64)+adipDiskSizeGb+ = lens _adipDiskSizeGb+ (\ s a -> s{_adipDiskSizeGb = a})+ . mapping _Coerce++-- | Specifies the disk name. If not specified, the default is to use the+-- name of the instance.+adipDiskName :: Lens' AttachedDiskInitializeParams (Maybe Text)+adipDiskName+ = lens _adipDiskName (\ s a -> s{_adipDiskName = a})++-- | The customer-supplied encryption key of the source image. Required if+-- the source image is protected by a customer-supplied encryption key.+-- Instance templates do not store customer-supplied encryption keys, so+-- you cannot create disks for instances in a managed instance group if the+-- source images are encrypted with your own keys.+adipSourceImageEncryptionKey :: Lens' AttachedDiskInitializeParams (Maybe CustomerEncryptionKey)+adipSourceImageEncryptionKey+ = lens _adipSourceImageEncryptionKey+ (\ s a -> s{_adipSourceImageEncryptionKey = a})++-- | Specifies the disk type to use to create the instance. If not specified,+-- the default is pd-standard, specified using the full URL. For example:+-- https:\/\/www.googleapis.com\/compute\/v1\/projects\/project\/zones\/zone\/diskTypes\/pd-standard+-- Other values include pd-ssd and local-ssd. If you define this field, you+-- can provide either the full or partial URL. For example, the following+-- are valid values: -+-- https:\/\/www.googleapis.com\/compute\/v1\/projects\/project\/zones\/zone\/diskTypes\/diskType+-- - projects\/project\/zones\/zone\/diskTypes\/diskType -+-- zones\/zone\/diskTypes\/diskType Note that for InstanceTemplate, this is+-- the name of the disk type, not URL.+adipDiskType :: Lens' AttachedDiskInitializeParams (Maybe Text)+adipDiskType+ = lens _adipDiskType (\ s a -> s{_adipDiskType = a})++instance FromJSON AttachedDiskInitializeParams where+ parseJSON+ = withObject "AttachedDiskInitializeParams"+ (\ o ->+ AttachedDiskInitializeParams' <$>+ (o .:? "sourceImage") <*> (o .:? "diskSizeGb") <*>+ (o .:? "diskName")+ <*> (o .:? "sourceImageEncryptionKey")+ <*> (o .:? "diskType"))++instance ToJSON AttachedDiskInitializeParams where+ toJSON AttachedDiskInitializeParams'{..}+ = object+ (catMaybes+ [("sourceImage" .=) <$> _adipSourceImage,+ ("diskSizeGb" .=) <$> _adipDiskSizeGb,+ ("diskName" .=) <$> _adipDiskName,+ ("sourceImageEncryptionKey" .=) <$>+ _adipSourceImageEncryptionKey,+ ("diskType" .=) <$> _adipDiskType])++--+-- /See:/ 'addressesScopedListWarningDataItem' smart constructor.+data AddressesScopedListWarningDataItem = AddressesScopedListWarningDataItem'+ { _aslwdiValue :: !(Maybe Text)+ , _aslwdiKey :: !(Maybe Text)+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'AddressesScopedListWarningDataItem' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'aslwdiValue'+--+-- * 'aslwdiKey'+addressesScopedListWarningDataItem+ :: AddressesScopedListWarningDataItem+addressesScopedListWarningDataItem =+ AddressesScopedListWarningDataItem'+ { _aslwdiValue = Nothing+ , _aslwdiKey = Nothing+ }++-- | [Output Only] A warning data value corresponding to the key.+aslwdiValue :: Lens' AddressesScopedListWarningDataItem (Maybe Text)+aslwdiValue+ = lens _aslwdiValue (\ s a -> s{_aslwdiValue = a})++-- | [Output Only] A key that provides more detail on the warning being+-- returned. For example, for warnings where there are no results in a list+-- request for a particular zone, this key might be scope and the key value+-- might be the zone name. Other examples might be a key indicating a+-- deprecated resource and a suggested replacement, or a warning about+-- invalid network settings (for example, if an instance attempts to+-- perform IP forwarding but is not enabled for IP forwarding).+aslwdiKey :: Lens' AddressesScopedListWarningDataItem (Maybe Text)+aslwdiKey+ = lens _aslwdiKey (\ s a -> s{_aslwdiKey = a})++instance FromJSON AddressesScopedListWarningDataItem+ where+ parseJSON+ = withObject "AddressesScopedListWarningDataItem"+ (\ o ->+ AddressesScopedListWarningDataItem' <$>+ (o .:? "value") <*> (o .:? "key"))++instance ToJSON AddressesScopedListWarningDataItem+ where+ toJSON AddressesScopedListWarningDataItem'{..}+ = object+ (catMaybes+ [("value" .=) <$> _aslwdiValue,+ ("key" .=) <$> _aslwdiKey])++-- | A network interface resource attached to an instance.+--+-- /See:/ 'networkInterface' smart constructor.+data NetworkInterface = NetworkInterface'+ { _niNetwork :: !(Maybe Text)+ , _niName :: !(Maybe Text)+ , _niNetworkIP :: !(Maybe Text)+ , _niSubnetwork :: !(Maybe Text)+ , _niAccessConfigs :: !(Maybe [AccessConfig])+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'NetworkInterface' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'niNetwork'+--+-- * 'niName'+--+-- * 'niNetworkIP'+--+-- * 'niSubnetwork'+--+-- * 'niAccessConfigs'+networkInterface+ :: NetworkInterface+networkInterface =+ NetworkInterface'+ { _niNetwork = Nothing+ , _niName = Nothing+ , _niNetworkIP = Nothing+ , _niSubnetwork = Nothing+ , _niAccessConfigs = Nothing+ }++-- | URL of the network resource for this instance. This is required for+-- creating an instance but optional when creating a firewall rule. If not+-- specified when creating a firewall rule, the default network is used:+-- global\/networks\/default If you specify this property, you can specify+-- the network as a full or partial URL. For example, the following are all+-- valid URLs: -+-- https:\/\/www.googleapis.com\/compute\/v1\/projects\/project\/global\/networks\/network+-- - projects\/project\/global\/networks\/network -+-- global\/networks\/default+niNetwork :: Lens' NetworkInterface (Maybe Text)+niNetwork+ = lens _niNetwork (\ s a -> s{_niNetwork = a})++-- | [Output Only] The name of the network interface, generated by the+-- server. For network devices, these are eth0, eth1, etc.+niName :: Lens' NetworkInterface (Maybe Text)+niName = lens _niName (\ s a -> s{_niName = a})++-- | An IPv4 internal network address to assign to the instance for this+-- network interface. If not specified by the user, an unused internal IP+-- is assigned by the system.+niNetworkIP :: Lens' NetworkInterface (Maybe Text)+niNetworkIP+ = lens _niNetworkIP (\ s a -> s{_niNetworkIP = a})++-- | The URL of the Subnetwork resource for this instance. If the network+-- resource is in legacy mode, do not provide this property. If the network+-- is in auto subnet mode, providing the subnetwork is optional. If the+-- network is in custom subnet mode, then this field should be specified.+-- If you specify this property, you can specify the subnetwork as a full+-- or partial URL. For example, the following are all valid URLs: -+-- https:\/\/www.googleapis.com\/compute\/v1\/projects\/project\/regions\/region\/subnetworks\/subnetwork+-- - regions\/region\/subnetworks\/subnetwork+niSubnetwork :: Lens' NetworkInterface (Maybe Text)+niSubnetwork+ = lens _niSubnetwork (\ s a -> s{_niSubnetwork = a})++-- | An array of configurations for this interface. Currently, only one+-- access config, ONE_TO_ONE_NAT, is supported. If there are no+-- accessConfigs specified, then this instance will have no external+-- internet access.+niAccessConfigs :: Lens' NetworkInterface [AccessConfig]+niAccessConfigs+ = lens _niAccessConfigs+ (\ s a -> s{_niAccessConfigs = a})+ . _Default+ . _Coerce++instance FromJSON NetworkInterface where+ parseJSON+ = withObject "NetworkInterface"+ (\ o ->+ NetworkInterface' <$>+ (o .:? "network") <*> (o .:? "name") <*>+ (o .:? "networkIP")+ <*> (o .:? "subnetwork")+ <*> (o .:? "accessConfigs" .!= mempty))++instance ToJSON NetworkInterface where+ toJSON NetworkInterface'{..}+ = object+ (catMaybes+ [("network" .=) <$> _niNetwork,+ ("name" .=) <$> _niName,+ ("networkIP" .=) <$> _niNetworkIP,+ ("subnetwork" .=) <$> _niSubnetwork,+ ("accessConfigs" .=) <$> _niAccessConfigs])++--+-- /See:/ 'targetPoolsRemoveHealthCheckRequest' smart constructor.+newtype TargetPoolsRemoveHealthCheckRequest = TargetPoolsRemoveHealthCheckRequest'+ { _tprhcrHealthChecks :: Maybe [HealthCheckReference]+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'TargetPoolsRemoveHealthCheckRequest' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'tprhcrHealthChecks'+targetPoolsRemoveHealthCheckRequest+ :: TargetPoolsRemoveHealthCheckRequest+targetPoolsRemoveHealthCheckRequest =+ TargetPoolsRemoveHealthCheckRequest'+ { _tprhcrHealthChecks = Nothing+ }++-- | Health check URL to be removed. This can be a full or valid partial URL.+-- For example, the following are valid URLs: -+-- https:\/\/www.googleapis.com\/compute\/beta\/projects\/project\/global\/httpHealthChecks\/health-check+-- - projects\/project\/global\/httpHealthChecks\/health-check -+-- global\/httpHealthChecks\/health-check+tprhcrHealthChecks :: Lens' TargetPoolsRemoveHealthCheckRequest [HealthCheckReference]+tprhcrHealthChecks+ = lens _tprhcrHealthChecks+ (\ s a -> s{_tprhcrHealthChecks = a})+ . _Default+ . _Coerce++instance FromJSON TargetPoolsRemoveHealthCheckRequest+ where+ parseJSON+ = withObject "TargetPoolsRemoveHealthCheckRequest"+ (\ o ->+ TargetPoolsRemoveHealthCheckRequest' <$>+ (o .:? "healthChecks" .!= mempty))++instance ToJSON TargetPoolsRemoveHealthCheckRequest+ where+ toJSON TargetPoolsRemoveHealthCheckRequest'{..}+ = object+ (catMaybes+ [("healthChecks" .=) <$> _tprhcrHealthChecks])++-- | Contains a list of TargetSslProxy resources.+--+-- /See:/ 'targetSSLProxyList' smart constructor.+data TargetSSLProxyList = TargetSSLProxyList'+ { _tsplNextPageToken :: !(Maybe Text)+ , _tsplKind :: !Text+ , _tsplItems :: !(Maybe [TargetSSLProxy])+ , _tsplSelfLink :: !(Maybe Text)+ , _tsplId :: !(Maybe Text)+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'TargetSSLProxyList' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'tsplNextPageToken'+--+-- * 'tsplKind'+--+-- * 'tsplItems'+--+-- * 'tsplSelfLink'+--+-- * 'tsplId'+targetSSLProxyList+ :: TargetSSLProxyList+targetSSLProxyList =+ TargetSSLProxyList'+ { _tsplNextPageToken = Nothing+ , _tsplKind = "compute#targetSslProxyList"+ , _tsplItems = Nothing+ , _tsplSelfLink = Nothing+ , _tsplId = Nothing+ }++-- | [Output Only] This token allows you to get the next page of results for+-- list requests. If the number of results is larger than maxResults, use+-- the nextPageToken as a value for the query parameter pageToken in the+-- next list request. Subsequent list requests will have their own+-- nextPageToken to continue paging through the results.+tsplNextPageToken :: Lens' TargetSSLProxyList (Maybe Text)+tsplNextPageToken+ = lens _tsplNextPageToken+ (\ s a -> s{_tsplNextPageToken = a})++-- | Type of resource.+tsplKind :: Lens' TargetSSLProxyList Text+tsplKind = lens _tsplKind (\ s a -> s{_tsplKind = a})++-- | A list of TargetSslProxy resources.+tsplItems :: Lens' TargetSSLProxyList [TargetSSLProxy]+tsplItems+ = lens _tsplItems (\ s a -> s{_tsplItems = a}) .+ _Default+ . _Coerce++-- | [Output Only] Server-defined URL for this resource.+tsplSelfLink :: Lens' TargetSSLProxyList (Maybe Text)+tsplSelfLink+ = lens _tsplSelfLink (\ s a -> s{_tsplSelfLink = a})++-- | [Output Only] The unique identifier for the resource. This identifier is+-- defined by the server.+tsplId :: Lens' TargetSSLProxyList (Maybe Text)+tsplId = lens _tsplId (\ s a -> s{_tsplId = a})++instance FromJSON TargetSSLProxyList where+ parseJSON+ = withObject "TargetSSLProxyList"+ (\ o ->+ TargetSSLProxyList' <$>+ (o .:? "nextPageToken") <*>+ (o .:? "kind" .!= "compute#targetSslProxyList")+ <*> (o .:? "items" .!= mempty)+ <*> (o .:? "selfLink")+ <*> (o .:? "id"))++instance ToJSON TargetSSLProxyList where+ toJSON TargetSSLProxyList'{..}+ = object+ (catMaybes+ [("nextPageToken" .=) <$> _tsplNextPageToken,+ Just ("kind" .= _tsplKind),+ ("items" .=) <$> _tsplItems,+ ("selfLink" .=) <$> _tsplSelfLink,+ ("id" .=) <$> _tsplId])++--+-- /See:/ 'customerEncryptionKeyProtectedDisk' smart constructor.+data CustomerEncryptionKeyProtectedDisk = CustomerEncryptionKeyProtectedDisk'+ { _cekpdDiskEncryptionKey :: !(Maybe CustomerEncryptionKey)+ , _cekpdSource :: !(Maybe Text)+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'CustomerEncryptionKeyProtectedDisk' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'cekpdDiskEncryptionKey'+--+-- * 'cekpdSource'+customerEncryptionKeyProtectedDisk+ :: CustomerEncryptionKeyProtectedDisk+customerEncryptionKeyProtectedDisk =+ CustomerEncryptionKeyProtectedDisk'+ { _cekpdDiskEncryptionKey = Nothing+ , _cekpdSource = Nothing+ }++-- | Decrypts data associated with the disk with a customer-supplied+-- encryption key.+cekpdDiskEncryptionKey :: Lens' CustomerEncryptionKeyProtectedDisk (Maybe CustomerEncryptionKey)+cekpdDiskEncryptionKey+ = lens _cekpdDiskEncryptionKey+ (\ s a -> s{_cekpdDiskEncryptionKey = a})++-- | Specifies a valid partial or full URL to an existing Persistent Disk+-- resource. This field is only applicable for persistent disks.+cekpdSource :: Lens' CustomerEncryptionKeyProtectedDisk (Maybe Text)+cekpdSource+ = lens _cekpdSource (\ s a -> s{_cekpdSource = a})++instance FromJSON CustomerEncryptionKeyProtectedDisk+ where+ parseJSON+ = withObject "CustomerEncryptionKeyProtectedDisk"+ (\ o ->+ CustomerEncryptionKeyProtectedDisk' <$>+ (o .:? "diskEncryptionKey") <*> (o .:? "source"))++instance ToJSON CustomerEncryptionKeyProtectedDisk+ where+ toJSON CustomerEncryptionKeyProtectedDisk'{..}+ = object+ (catMaybes+ [("diskEncryptionKey" .=) <$>+ _cekpdDiskEncryptionKey,+ ("source" .=) <$> _cekpdSource])++-- | A list of instance templates.+--+-- /See:/ 'instanceTemplateList' smart constructor.+data InstanceTemplateList = InstanceTemplateList'+ { _itlNextPageToken :: !(Maybe Text)+ , _itlKind :: !Text+ , _itlItems :: !(Maybe [InstanceTemplate])+ , _itlSelfLink :: !(Maybe Text)+ , _itlId :: !(Maybe Text)+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'InstanceTemplateList' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'itlNextPageToken'+--+-- * 'itlKind'+--+-- * 'itlItems'+--+-- * 'itlSelfLink'+--+-- * 'itlId'+instanceTemplateList+ :: InstanceTemplateList+instanceTemplateList =+ InstanceTemplateList'+ { _itlNextPageToken = Nothing+ , _itlKind = "compute#instanceTemplateList"+ , _itlItems = Nothing+ , _itlSelfLink = Nothing+ , _itlId = Nothing+ }++-- | [Output Only] This token allows you to get the next page of results for+-- list requests. If the number of results is larger than maxResults, use+-- the nextPageToken as a value for the query parameter pageToken in the+-- next list request. Subsequent list requests will have their own+-- nextPageToken to continue paging through the results.+itlNextPageToken :: Lens' InstanceTemplateList (Maybe Text)+itlNextPageToken+ = lens _itlNextPageToken+ (\ s a -> s{_itlNextPageToken = a})++-- | [Output Only] The resource type, which is always+-- compute#instanceTemplatesListResponse for instance template lists.+itlKind :: Lens' InstanceTemplateList Text+itlKind = lens _itlKind (\ s a -> s{_itlKind = a})++-- | [Output Only] list of InstanceTemplate resources.+itlItems :: Lens' InstanceTemplateList [InstanceTemplate]+itlItems+ = lens _itlItems (\ s a -> s{_itlItems = a}) .+ _Default+ . _Coerce++-- | [Output Only] The URL for this instance template list. The server+-- defines this URL.+itlSelfLink :: Lens' InstanceTemplateList (Maybe Text)+itlSelfLink+ = lens _itlSelfLink (\ s a -> s{_itlSelfLink = a})++-- | [Output Only] A unique identifier for this instance template. The server+-- defines this identifier.+itlId :: Lens' InstanceTemplateList (Maybe Text)+itlId = lens _itlId (\ s a -> s{_itlId = a})++instance FromJSON InstanceTemplateList where+ parseJSON+ = withObject "InstanceTemplateList"+ (\ o ->+ InstanceTemplateList' <$>+ (o .:? "nextPageToken") <*>+ (o .:? "kind" .!= "compute#instanceTemplateList")+ <*> (o .:? "items" .!= mempty)+ <*> (o .:? "selfLink")+ <*> (o .:? "id"))++instance ToJSON InstanceTemplateList where+ toJSON InstanceTemplateList'{..}+ = object+ (catMaybes+ [("nextPageToken" .=) <$> _itlNextPageToken,+ Just ("kind" .= _itlKind),+ ("items" .=) <$> _itlItems,+ ("selfLink" .=) <$> _itlSelfLink,+ ("id" .=) <$> _itlId])++-- | Contains a list of Route resources.+--+-- /See:/ 'routeList' smart constructor.+data RouteList = RouteList'+ { _rlNextPageToken :: !(Maybe Text)+ , _rlKind :: !Text+ , _rlItems :: !(Maybe [Route])+ , _rlSelfLink :: !(Maybe Text)+ , _rlId :: !(Maybe Text)+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'RouteList' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'rlNextPageToken'+--+-- * 'rlKind'+--+-- * 'rlItems'+--+-- * 'rlSelfLink'+--+-- * 'rlId'+routeList+ :: RouteList+routeList =+ RouteList'+ { _rlNextPageToken = Nothing+ , _rlKind = "compute#routeList"+ , _rlItems = Nothing+ , _rlSelfLink = Nothing+ , _rlId = Nothing+ }++-- | [Output Only] This token allows you to get the next page of results for+-- list requests. If the number of results is larger than maxResults, use+-- the nextPageToken as a value for the query parameter pageToken in the+-- next list request. Subsequent list requests will have their own+-- nextPageToken to continue paging through the results.+rlNextPageToken :: Lens' RouteList (Maybe Text)+rlNextPageToken+ = lens _rlNextPageToken+ (\ s a -> s{_rlNextPageToken = a})++-- | Type of resource.+rlKind :: Lens' RouteList Text+rlKind = lens _rlKind (\ s a -> s{_rlKind = a})++-- | [Output Only] A list of Route resources.+rlItems :: Lens' RouteList [Route]+rlItems+ = lens _rlItems (\ s a -> s{_rlItems = a}) . _Default+ . _Coerce++-- | [Output Only] Server-defined URL for this resource.+rlSelfLink :: Lens' RouteList (Maybe Text)+rlSelfLink+ = lens _rlSelfLink (\ s a -> s{_rlSelfLink = a})++-- | [Output Only] Unique identifier for the resource. Defined by the server.+rlId :: Lens' RouteList (Maybe Text)+rlId = lens _rlId (\ s a -> s{_rlId = a})++instance FromJSON RouteList where+ parseJSON+ = withObject "RouteList"+ (\ o ->+ RouteList' <$>+ (o .:? "nextPageToken") <*>+ (o .:? "kind" .!= "compute#routeList")+ <*> (o .:? "items" .!= mempty)+ <*> (o .:? "selfLink")+ <*> (o .:? "id"))++instance ToJSON RouteList where+ toJSON RouteList'{..}+ = object+ (catMaybes+ [("nextPageToken" .=) <$> _rlNextPageToken,+ Just ("kind" .= _rlKind), ("items" .=) <$> _rlItems,+ ("selfLink" .=) <$> _rlSelfLink,+ ("id" .=) <$> _rlId])++-- | Router resource.+--+-- /See:/ 'router' smart constructor.+data Router = Router'+ { _rBGPPeers :: !(Maybe [RouterBGPPeer])+ , _rBGP :: !(Maybe RouterBGP)+ , _rKind :: !Text+ , _rNetwork :: !(Maybe Text)+ , _rInterfaces :: !(Maybe [RouterInterface])+ , _rSelfLink :: !(Maybe Text)+ , _rName :: !(Maybe Text)+ , _rCreationTimestamp :: !(Maybe Text)+ , _rId :: !(Maybe (Textual Word64))+ , _rRegion :: !(Maybe Text)+ , _rDescription :: !(Maybe Text)+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'Router' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'rBGPPeers'+--+-- * 'rBGP'+--+-- * 'rKind'+--+-- * 'rNetwork'+--+-- * 'rInterfaces'+--+-- * 'rSelfLink'+--+-- * 'rName'+--+-- * 'rCreationTimestamp'+--+-- * 'rId'+--+-- * 'rRegion'+--+-- * 'rDescription'+router+ :: Router+router =+ Router'+ { _rBGPPeers = Nothing+ , _rBGP = Nothing+ , _rKind = "compute#router"+ , _rNetwork = Nothing+ , _rInterfaces = Nothing+ , _rSelfLink = Nothing+ , _rName = Nothing+ , _rCreationTimestamp = Nothing+ , _rId = Nothing+ , _rRegion = Nothing+ , _rDescription = Nothing+ }++-- | BGP information that needs to be configured into the routing stack to+-- establish the BGP peering. It must specify peer ASN and either interface+-- name, IP, or peer IP. Please refer to RFC4273.+rBGPPeers :: Lens' Router [RouterBGPPeer]+rBGPPeers+ = lens _rBGPPeers (\ s a -> s{_rBGPPeers = a}) .+ _Default+ . _Coerce++-- | BGP information specific to this router.+rBGP :: Lens' Router (Maybe RouterBGP)+rBGP = lens _rBGP (\ s a -> s{_rBGP = a})++-- | [Output Only] Type of resource. Always compute#router for routers.+rKind :: Lens' Router Text+rKind = lens _rKind (\ s a -> s{_rKind = a})++-- | URI of the network to which this router belongs.+rNetwork :: Lens' Router (Maybe Text)+rNetwork = lens _rNetwork (\ s a -> s{_rNetwork = a})++-- | Router interfaces. Each interface requires either one linked resource+-- (e.g. linkedVpnTunnel), or IP address and IP address range (e.g.+-- ipRange), or both.+rInterfaces :: Lens' Router [RouterInterface]+rInterfaces+ = lens _rInterfaces (\ s a -> s{_rInterfaces = a}) .+ _Default+ . _Coerce++-- | [Output Only] Server-defined URL for the resource.+rSelfLink :: Lens' Router (Maybe Text)+rSelfLink+ = lens _rSelfLink (\ s a -> s{_rSelfLink = a})++-- | Name of the resource. Provided by the client when the resource is+-- created. The name must be 1-63 characters long, and comply with RFC1035.+-- Specifically, the name must be 1-63 characters long and match the+-- regular expression [a-z]([-a-z0-9]*[a-z0-9])? which means the first+-- character must be a lowercase letter, and all following characters must+-- be a dash, lowercase letter, or digit, except the last character, which+-- cannot be a dash.+rName :: Lens' Router (Maybe Text)+rName = lens _rName (\ s a -> s{_rName = a})++-- | [Output Only] Creation timestamp in RFC3339 text format.+rCreationTimestamp :: Lens' Router (Maybe Text)+rCreationTimestamp+ = lens _rCreationTimestamp+ (\ s a -> s{_rCreationTimestamp = a})++-- | [Output Only] The unique identifier for the resource. This identifier is+-- defined by the server.+rId :: Lens' Router (Maybe Word64)+rId+ = lens _rId (\ s a -> s{_rId = a}) . mapping _Coerce++-- | [Output Only] URI of the region where the router resides.+rRegion :: Lens' Router (Maybe Text)+rRegion = lens _rRegion (\ s a -> s{_rRegion = a})++-- | An optional description of this resource. Provide this property when you+-- create the resource.+rDescription :: Lens' Router (Maybe Text)+rDescription+ = lens _rDescription (\ s a -> s{_rDescription = a})++instance FromJSON Router where+ parseJSON+ = withObject "Router"+ (\ o ->+ Router' <$>+ (o .:? "bgpPeers" .!= mempty) <*> (o .:? "bgp") <*>+ (o .:? "kind" .!= "compute#router")+ <*> (o .:? "network")+ <*> (o .:? "interfaces" .!= mempty)+ <*> (o .:? "selfLink")+ <*> (o .:? "name")+ <*> (o .:? "creationTimestamp")+ <*> (o .:? "id")+ <*> (o .:? "region")+ <*> (o .:? "description"))++instance ToJSON Router where+ toJSON Router'{..}+ = object+ (catMaybes+ [("bgpPeers" .=) <$> _rBGPPeers,+ ("bgp" .=) <$> _rBGP, Just ("kind" .= _rKind),+ ("network" .=) <$> _rNetwork,+ ("interfaces" .=) <$> _rInterfaces,+ ("selfLink" .=) <$> _rSelfLink,+ ("name" .=) <$> _rName,+ ("creationTimestamp" .=) <$> _rCreationTimestamp,+ ("id" .=) <$> _rId, ("region" .=) <$> _rRegion,+ ("description" .=) <$> _rDescription])++--+-- /See:/ 'routersScopedListWarningDataItem' smart constructor.+data RoutersScopedListWarningDataItem = RoutersScopedListWarningDataItem'+ { _rslwdiValue :: !(Maybe Text)+ , _rslwdiKey :: !(Maybe Text)+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'RoutersScopedListWarningDataItem' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'rslwdiValue'+--+-- * 'rslwdiKey'+routersScopedListWarningDataItem+ :: RoutersScopedListWarningDataItem+routersScopedListWarningDataItem =+ RoutersScopedListWarningDataItem'+ { _rslwdiValue = Nothing+ , _rslwdiKey = Nothing+ }++-- | [Output Only] A warning data value corresponding to the key.+rslwdiValue :: Lens' RoutersScopedListWarningDataItem (Maybe Text)+rslwdiValue+ = lens _rslwdiValue (\ s a -> s{_rslwdiValue = a})++-- | [Output Only] A key that provides more detail on the warning being+-- returned. For example, for warnings where there are no results in a list+-- request for a particular zone, this key might be scope and the key value+-- might be the zone name. Other examples might be a key indicating a+-- deprecated resource and a suggested replacement, or a warning about+-- invalid network settings (for example, if an instance attempts to+-- perform IP forwarding but is not enabled for IP forwarding).+rslwdiKey :: Lens' RoutersScopedListWarningDataItem (Maybe Text)+rslwdiKey+ = lens _rslwdiKey (\ s a -> s{_rslwdiKey = a})++instance FromJSON RoutersScopedListWarningDataItem+ where+ parseJSON+ = withObject "RoutersScopedListWarningDataItem"+ (\ o ->+ RoutersScopedListWarningDataItem' <$>+ (o .:? "value") <*> (o .:? "key"))++instance ToJSON RoutersScopedListWarningDataItem+ where+ toJSON RoutersScopedListWarningDataItem'{..}+ = object+ (catMaybes+ [("value" .=) <$> _rslwdiValue,+ ("key" .=) <$> _rslwdiKey])++-- | Contains a list of TargetVpnGateway resources.+--+-- /See:/ 'targetVPNGatewayList' smart constructor.+data TargetVPNGatewayList = TargetVPNGatewayList'+ { _tvglNextPageToken :: !(Maybe Text)+ , _tvglKind :: !Text+ , _tvglItems :: !(Maybe [TargetVPNGateway])+ , _tvglSelfLink :: !(Maybe Text)+ , _tvglId :: !(Maybe Text)+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'TargetVPNGatewayList' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'tvglNextPageToken'+--+-- * 'tvglKind'+--+-- * 'tvglItems'+--+-- * 'tvglSelfLink'+--+-- * 'tvglId'+targetVPNGatewayList+ :: TargetVPNGatewayList+targetVPNGatewayList =+ TargetVPNGatewayList'+ { _tvglNextPageToken = Nothing+ , _tvglKind = "compute#targetVpnGatewayList"+ , _tvglItems = Nothing+ , _tvglSelfLink = Nothing+ , _tvglId = Nothing+ }++-- | [Output Only] This token allows you to get the next page of results for+-- list requests. If the number of results is larger than maxResults, use+-- the nextPageToken as a value for the query parameter pageToken in the+-- next list request. Subsequent list requests will have their own+-- nextPageToken to continue paging through the results.+tvglNextPageToken :: Lens' TargetVPNGatewayList (Maybe Text)+tvglNextPageToken+ = lens _tvglNextPageToken+ (\ s a -> s{_tvglNextPageToken = a})++-- | [Output Only] Type of resource. Always compute#targetVpnGateway for+-- target VPN gateways.+tvglKind :: Lens' TargetVPNGatewayList Text+tvglKind = lens _tvglKind (\ s a -> s{_tvglKind = a})++-- | [Output Only] A list of TargetVpnGateway resources.+tvglItems :: Lens' TargetVPNGatewayList [TargetVPNGateway]+tvglItems+ = lens _tvglItems (\ s a -> s{_tvglItems = a}) .+ _Default+ . _Coerce++-- | [Output Only] Server-defined URL for this resource.+tvglSelfLink :: Lens' TargetVPNGatewayList (Maybe Text)+tvglSelfLink+ = lens _tvglSelfLink (\ s a -> s{_tvglSelfLink = a})++-- | [Output Only] The unique identifier for the resource. This identifier is+-- defined by the server.+tvglId :: Lens' TargetVPNGatewayList (Maybe Text)+tvglId = lens _tvglId (\ s a -> s{_tvglId = a})++instance FromJSON TargetVPNGatewayList where+ parseJSON+ = withObject "TargetVPNGatewayList"+ (\ o ->+ TargetVPNGatewayList' <$>+ (o .:? "nextPageToken") <*>+ (o .:? "kind" .!= "compute#targetVpnGatewayList")+ <*> (o .:? "items" .!= mempty)+ <*> (o .:? "selfLink")+ <*> (o .:? "id"))++instance ToJSON TargetVPNGatewayList where+ toJSON TargetVPNGatewayList'{..}+ = object+ (catMaybes+ [("nextPageToken" .=) <$> _tvglNextPageToken,+ Just ("kind" .= _tvglKind),+ ("items" .=) <$> _tvglItems,+ ("selfLink" .=) <$> _tvglSelfLink,+ ("id" .=) <$> _tvglId])++-- | Contains a list of SslCertificate resources.+--+-- /See:/ 'sslCertificateList' smart constructor.+data SSLCertificateList = SSLCertificateList'+ { _sclNextPageToken :: !(Maybe Text)+ , _sclKind :: !Text+ , _sclItems :: !(Maybe [SSLCertificate])+ , _sclSelfLink :: !(Maybe Text)+ , _sclId :: !(Maybe Text)+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'SSLCertificateList' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'sclNextPageToken'+--+-- * 'sclKind'+--+-- * 'sclItems'+--+-- * 'sclSelfLink'+--+-- * 'sclId'+sslCertificateList+ :: SSLCertificateList+sslCertificateList =+ SSLCertificateList'+ { _sclNextPageToken = Nothing+ , _sclKind = "compute#sslCertificateList"+ , _sclItems = Nothing+ , _sclSelfLink = Nothing+ , _sclId = Nothing+ }++-- | [Output Only] This token allows you to get the next page of results for+-- list requests. If the number of results is larger than maxResults, use+-- the nextPageToken as a value for the query parameter pageToken in the+-- next list request. Subsequent list requests will have their own+-- nextPageToken to continue paging through the results.+sclNextPageToken :: Lens' SSLCertificateList (Maybe Text)+sclNextPageToken+ = lens _sclNextPageToken+ (\ s a -> s{_sclNextPageToken = a})++-- | Type of resource.+sclKind :: Lens' SSLCertificateList Text+sclKind = lens _sclKind (\ s a -> s{_sclKind = a})++-- | A list of SslCertificate resources.+sclItems :: Lens' SSLCertificateList [SSLCertificate]+sclItems+ = lens _sclItems (\ s a -> s{_sclItems = a}) .+ _Default+ . _Coerce++-- | [Output Only] Server-defined URL for this resource.+sclSelfLink :: Lens' SSLCertificateList (Maybe Text)+sclSelfLink+ = lens _sclSelfLink (\ s a -> s{_sclSelfLink = a})++-- | [Output Only] Unique identifier for the resource. Defined by the server.+sclId :: Lens' SSLCertificateList (Maybe Text)+sclId = lens _sclId (\ s a -> s{_sclId = a})++instance FromJSON SSLCertificateList where+ parseJSON+ = withObject "SSLCertificateList"+ (\ o ->+ SSLCertificateList' <$>+ (o .:? "nextPageToken") <*>+ (o .:? "kind" .!= "compute#sslCertificateList")+ <*> (o .:? "items" .!= mempty)+ <*> (o .:? "selfLink")+ <*> (o .:? "id"))++instance ToJSON SSLCertificateList where+ toJSON SSLCertificateList'{..}+ = object+ (catMaybes+ [("nextPageToken" .=) <$> _sclNextPageToken,+ Just ("kind" .= _sclKind),+ ("items" .=) <$> _sclItems,+ ("selfLink" .=) <$> _sclSelfLink,+ ("id" .=) <$> _sclId])++--+-- /See:/ 'firewallAllowedItem' smart constructor.+data FirewallAllowedItem = FirewallAllowedItem'+ { _faiIPProtocol :: !(Maybe Text)+ , _faiPorts :: !(Maybe [Text])+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'FirewallAllowedItem' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'faiIPProtocol'+--+-- * 'faiPorts'+firewallAllowedItem+ :: FirewallAllowedItem+firewallAllowedItem =+ FirewallAllowedItem'+ { _faiIPProtocol = Nothing+ , _faiPorts = Nothing+ }++-- | The IP protocol to which this rule applies. The protocol type is+-- required when creating a firewall rule. This value can either be one of+-- the following well known protocol strings (tcp, udp, icmp, esp, ah,+-- sctp), or the IP protocol number.+faiIPProtocol :: Lens' FirewallAllowedItem (Maybe Text)+faiIPProtocol+ = lens _faiIPProtocol+ (\ s a -> s{_faiIPProtocol = a})++-- | An optional list of ports to which this rule applies. This field is only+-- applicable for UDP or TCP protocol. Each entry must be either an integer+-- or a range. If not specified, this rule applies to connections through+-- any port. Example inputs include: [\"22\"], [\"80\",\"443\"], and+-- [\"12345-12349\"].+faiPorts :: Lens' FirewallAllowedItem [Text]+faiPorts+ = lens _faiPorts (\ s a -> s{_faiPorts = a}) .+ _Default+ . _Coerce++instance FromJSON FirewallAllowedItem where+ parseJSON+ = withObject "FirewallAllowedItem"+ (\ o ->+ FirewallAllowedItem' <$>+ (o .:? "IPProtocol") <*> (o .:? "ports" .!= mempty))++instance ToJSON FirewallAllowedItem where+ toJSON FirewallAllowedItem'{..}+ = object+ (catMaybes+ [("IPProtocol" .=) <$> _faiIPProtocol,+ ("ports" .=) <$> _faiPorts])++-- | Represents a Network resource. Read Networks and Firewalls for more+-- information.+--+-- /See:/ 'network' smart constructor.+data Network = Network'+ { _nAutoCreateSubnetworks :: !(Maybe Bool)+ , _nKind :: !Text+ , _nSubnetworks :: !(Maybe [Text])+ , _nIPv4Range :: !(Maybe Text)+ , _nSelfLink :: !(Maybe Text)+ , _nName :: !(Maybe Text)+ , _nCreationTimestamp :: !(Maybe Text)+ , _nId :: !(Maybe (Textual Word64))+ , _nGatewayIPv4 :: !(Maybe Text)+ , _nDescription :: !(Maybe Text)+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'Network' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'nAutoCreateSubnetworks'+--+-- * 'nKind'+--+-- * 'nSubnetworks'+--+-- * 'nIPv4Range'+--+-- * 'nSelfLink'+--+-- * 'nName'+--+-- * 'nCreationTimestamp'+--+-- * 'nId'+--+-- * 'nGatewayIPv4'+--+-- * 'nDescription'+network+ :: Network+network =+ Network'+ { _nAutoCreateSubnetworks = Nothing+ , _nKind = "compute#network"+ , _nSubnetworks = Nothing+ , _nIPv4Range = Nothing+ , _nSelfLink = Nothing+ , _nName = Nothing+ , _nCreationTimestamp = Nothing+ , _nId = Nothing+ , _nGatewayIPv4 = Nothing+ , _nDescription = Nothing+ }++-- | When set to true, the network is created in \"auto subnet mode\". When+-- set to false, the network is in \"custom subnet mode\". In \"auto subnet+-- mode\", a newly created network is assigned the default CIDR of+-- 10.128.0.0\/9 and it automatically creates one subnetwork per region.+nAutoCreateSubnetworks :: Lens' Network (Maybe Bool)+nAutoCreateSubnetworks+ = lens _nAutoCreateSubnetworks+ (\ s a -> s{_nAutoCreateSubnetworks = a})++-- | [Output Only] Type of the resource. Always compute#network for networks.+nKind :: Lens' Network Text+nKind = lens _nKind (\ s a -> s{_nKind = a})++-- | [Output Only] Server-defined fully-qualified URLs for all subnetworks in+-- this network.+nSubnetworks :: Lens' Network [Text]+nSubnetworks+ = lens _nSubnetworks (\ s a -> s{_nSubnetworks = a})+ . _Default+ . _Coerce++-- | The range of internal addresses that are legal on this network. This+-- range is a CIDR specification, for example: 192.168.0.0\/16. Provided by+-- the client when the network is created.+nIPv4Range :: Lens' Network (Maybe Text)+nIPv4Range+ = lens _nIPv4Range (\ s a -> s{_nIPv4Range = a})++-- | [Output Only] Server-defined URL for the resource.+nSelfLink :: Lens' Network (Maybe Text)+nSelfLink+ = lens _nSelfLink (\ s a -> s{_nSelfLink = a})++-- | Name of the resource. Provided by the client when the resource is+-- created. The name must be 1-63 characters long, and comply with RFC1035.+-- Specifically, the name must be 1-63 characters long and match the+-- regular expression [a-z]([-a-z0-9]*[a-z0-9])? which means the first+-- character must be a lowercase letter, and all following characters must+-- be a dash, lowercase letter, or digit, except the last character, which+-- cannot be a dash.+nName :: Lens' Network (Maybe Text)+nName = lens _nName (\ s a -> s{_nName = a})++-- | [Output Only] Creation timestamp in RFC3339 text format.+nCreationTimestamp :: Lens' Network (Maybe Text)+nCreationTimestamp+ = lens _nCreationTimestamp+ (\ s a -> s{_nCreationTimestamp = a})++-- | [Output Only] The unique identifier for the resource. This identifier is+-- defined by the server.+nId :: Lens' Network (Maybe Word64)+nId+ = lens _nId (\ s a -> s{_nId = a}) . mapping _Coerce++-- | A gateway address for default routing to other networks. This value is+-- read only and is selected by the Google Compute Engine, typically as the+-- first usable address in the IPv4Range.+nGatewayIPv4 :: Lens' Network (Maybe Text)+nGatewayIPv4+ = lens _nGatewayIPv4 (\ s a -> s{_nGatewayIPv4 = a})++-- | An optional description of this resource. Provide this property when you+-- create the resource.+nDescription :: Lens' Network (Maybe Text)+nDescription+ = lens _nDescription (\ s a -> s{_nDescription = a})++instance FromJSON Network where+ parseJSON+ = withObject "Network"+ (\ o ->+ Network' <$>+ (o .:? "autoCreateSubnetworks") <*>+ (o .:? "kind" .!= "compute#network")+ <*> (o .:? "subnetworks" .!= mempty)+ <*> (o .:? "IPv4Range")+ <*> (o .:? "selfLink")+ <*> (o .:? "name")+ <*> (o .:? "creationTimestamp")+ <*> (o .:? "id")+ <*> (o .:? "gatewayIPv4")+ <*> (o .:? "description"))++instance ToJSON Network where+ toJSON Network'{..}+ = object+ (catMaybes+ [("autoCreateSubnetworks" .=) <$>+ _nAutoCreateSubnetworks,+ Just ("kind" .= _nKind),+ ("subnetworks" .=) <$> _nSubnetworks,+ ("IPv4Range" .=) <$> _nIPv4Range,+ ("selfLink" .=) <$> _nSelfLink,+ ("name" .=) <$> _nName,+ ("creationTimestamp" .=) <$> _nCreationTimestamp,+ ("id" .=) <$> _nId,+ ("gatewayIPv4" .=) <$> _nGatewayIPv4,+ ("description" .=) <$> _nDescription])++-- | Informational warning which replaces the list of routers when the list+-- is empty.+--+-- /See:/ 'routersScopedListWarning' smart constructor.+data RoutersScopedListWarning = RoutersScopedListWarning'+ { _rslwData :: !(Maybe [RoutersScopedListWarningDataItem])+ , _rslwCode :: !(Maybe RoutersScopedListWarningCode)+ , _rslwMessage :: !(Maybe Text)+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'RoutersScopedListWarning' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'rslwData'+--+-- * 'rslwCode'+--+-- * 'rslwMessage'+routersScopedListWarning+ :: RoutersScopedListWarning+routersScopedListWarning =+ RoutersScopedListWarning'+ { _rslwData = Nothing+ , _rslwCode = Nothing+ , _rslwMessage = Nothing+ }++-- | [Output Only] Metadata about this warning in key: value format. For+-- example: \"data\": [ { \"key\": \"scope\", \"value\":+-- \"zones\/us-east1-d\" }+rslwData :: Lens' RoutersScopedListWarning [RoutersScopedListWarningDataItem]+rslwData+ = lens _rslwData (\ s a -> s{_rslwData = a}) .+ _Default+ . _Coerce++-- | [Output Only] A warning code, if applicable. For example, Compute Engine+-- returns NO_RESULTS_ON_PAGE if there are no results in the response.+rslwCode :: Lens' RoutersScopedListWarning (Maybe RoutersScopedListWarningCode)+rslwCode = lens _rslwCode (\ s a -> s{_rslwCode = a})++-- | [Output Only] A human-readable description of the warning code.+rslwMessage :: Lens' RoutersScopedListWarning (Maybe Text)+rslwMessage+ = lens _rslwMessage (\ s a -> s{_rslwMessage = a})++instance FromJSON RoutersScopedListWarning where+ parseJSON+ = withObject "RoutersScopedListWarning"+ (\ o ->+ RoutersScopedListWarning' <$>+ (o .:? "data" .!= mempty) <*> (o .:? "code") <*>+ (o .:? "message"))++instance ToJSON RoutersScopedListWarning where+ toJSON RoutersScopedListWarning'{..}+ = object+ (catMaybes+ [("data" .=) <$> _rslwData,+ ("code" .=) <$> _rslwCode,+ ("message" .=) <$> _rslwMessage])++-- | [Output Only] Informational warning which replaces the list of addresses+-- when the list is empty.+--+-- /See:/ 'addressesScopedListWarning' smart constructor.+data AddressesScopedListWarning = AddressesScopedListWarning'+ { _aData :: !(Maybe [AddressesScopedListWarningDataItem])+ , _aCode :: !(Maybe AddressesScopedListWarningCode)+ , _aMessage :: !(Maybe Text)+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'AddressesScopedListWarning' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'aData'+--+-- * 'aCode'+--+-- * 'aMessage'+addressesScopedListWarning+ :: AddressesScopedListWarning+addressesScopedListWarning =+ AddressesScopedListWarning'+ { _aData = Nothing+ , _aCode = Nothing+ , _aMessage = Nothing+ }++-- | [Output Only] Metadata about this warning in key: value format. For+-- example: \"data\": [ { \"key\": \"scope\", \"value\":+-- \"zones\/us-east1-d\" }+aData :: Lens' AddressesScopedListWarning [AddressesScopedListWarningDataItem]+aData+ = lens _aData (\ s a -> s{_aData = a}) . _Default .+ _Coerce++-- | [Output Only] A warning code, if applicable. For example, Compute Engine+-- returns NO_RESULTS_ON_PAGE if there are no results in the response.+aCode :: Lens' AddressesScopedListWarning (Maybe AddressesScopedListWarningCode)+aCode = lens _aCode (\ s a -> s{_aCode = a})++-- | [Output Only] A human-readable description of the warning code.+aMessage :: Lens' AddressesScopedListWarning (Maybe Text)+aMessage = lens _aMessage (\ s a -> s{_aMessage = a})++instance FromJSON AddressesScopedListWarning where+ parseJSON+ = withObject "AddressesScopedListWarning"+ (\ o ->+ AddressesScopedListWarning' <$>+ (o .:? "data" .!= mempty) <*> (o .:? "code") <*>+ (o .:? "message"))++instance ToJSON AddressesScopedListWarning where+ toJSON AddressesScopedListWarning'{..}+ = object+ (catMaybes+ [("data" .=) <$> _aData, ("code" .=) <$> _aCode,+ ("message" .=) <$> _aMessage])++-- | The parameters of the raw disk image.+--+-- /See:/ 'imageRawDisk' smart constructor.+data ImageRawDisk = ImageRawDisk'+ { _irdContainerType :: !(Maybe ImageRawDiskContainerType)+ , _irdSource :: !(Maybe Text)+ , _irdSha1Checksum :: !(Maybe Text)+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'ImageRawDisk' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'irdContainerType'+--+-- * 'irdSource'+--+-- * 'irdSha1Checksum'+imageRawDisk+ :: ImageRawDisk+imageRawDisk =+ ImageRawDisk'+ { _irdContainerType = Nothing+ , _irdSource = Nothing+ , _irdSha1Checksum = Nothing+ }++-- | The format used to encode and transmit the block device, which should be+-- TAR. This is just a container and transmission format and not a runtime+-- format. Provided by the client when the disk image is created.+irdContainerType :: Lens' ImageRawDisk (Maybe ImageRawDiskContainerType)+irdContainerType+ = lens _irdContainerType+ (\ s a -> s{_irdContainerType = a})++-- | The full Google Cloud Storage URL where the disk image is stored. You+-- must provide either this property or the sourceDisk property but not+-- both.+irdSource :: Lens' ImageRawDisk (Maybe Text)+irdSource+ = lens _irdSource (\ s a -> s{_irdSource = a})++-- | An optional SHA1 checksum of the disk image before unpackaging; provided+-- by the client when the disk image is created.+irdSha1Checksum :: Lens' ImageRawDisk (Maybe Text)+irdSha1Checksum+ = lens _irdSha1Checksum+ (\ s a -> s{_irdSha1Checksum = a})++instance FromJSON ImageRawDisk where+ parseJSON+ = withObject "ImageRawDisk"+ (\ o ->+ ImageRawDisk' <$>+ (o .:? "containerType") <*> (o .:? "source") <*>+ (o .:? "sha1Checksum"))++instance ToJSON ImageRawDisk where+ toJSON ImageRawDisk'{..}+ = object+ (catMaybes+ [("containerType" .=) <$> _irdContainerType,+ ("source" .=) <$> _irdSource,+ ("sha1Checksum" .=) <$> _irdSha1Checksum])++--+-- /See:/ 'instanceAggregatedList' smart constructor.+data InstanceAggregatedList = InstanceAggregatedList'+ { _ialNextPageToken :: !(Maybe Text)+ , _ialKind :: !Text+ , _ialItems :: !(Maybe InstanceAggregatedListItems)+ , _ialSelfLink :: !(Maybe Text)+ , _ialId :: !(Maybe Text)+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'InstanceAggregatedList' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'ialNextPageToken'+--+-- * 'ialKind'+--+-- * 'ialItems'+--+-- * 'ialSelfLink'+--+-- * 'ialId'+instanceAggregatedList+ :: InstanceAggregatedList+instanceAggregatedList =+ InstanceAggregatedList'+ { _ialNextPageToken = Nothing+ , _ialKind = "compute#instanceAggregatedList"+ , _ialItems = Nothing+ , _ialSelfLink = Nothing+ , _ialId = Nothing+ }++-- | [Output Only] This token allows you to get the next page of results for+-- list requests. If the number of results is larger than maxResults, use+-- the nextPageToken as a value for the query parameter pageToken in the+-- next list request. Subsequent list requests will have their own+-- nextPageToken to continue paging through the results.+ialNextPageToken :: Lens' InstanceAggregatedList (Maybe Text)+ialNextPageToken+ = lens _ialNextPageToken+ (\ s a -> s{_ialNextPageToken = a})++-- | [Output Only] Type of resource. Always compute#instanceAggregatedList+-- for aggregated lists of Instance resources.+ialKind :: Lens' InstanceAggregatedList Text+ialKind = lens _ialKind (\ s a -> s{_ialKind = a})++-- | [Output Only] A map of scoped instance lists.+ialItems :: Lens' InstanceAggregatedList (Maybe InstanceAggregatedListItems)+ialItems = lens _ialItems (\ s a -> s{_ialItems = a})++-- | [Output Only] Server-defined URL for this resource.+ialSelfLink :: Lens' InstanceAggregatedList (Maybe Text)+ialSelfLink+ = lens _ialSelfLink (\ s a -> s{_ialSelfLink = a})++-- | [Output Only] The unique identifier for the resource. This identifier is+-- defined by the server.+ialId :: Lens' InstanceAggregatedList (Maybe Text)+ialId = lens _ialId (\ s a -> s{_ialId = a})++instance FromJSON InstanceAggregatedList where+ parseJSON+ = withObject "InstanceAggregatedList"+ (\ o ->+ InstanceAggregatedList' <$>+ (o .:? "nextPageToken") <*>+ (o .:? "kind" .!= "compute#instanceAggregatedList")+ <*> (o .:? "items")+ <*> (o .:? "selfLink")+ <*> (o .:? "id"))++instance ToJSON InstanceAggregatedList where+ toJSON InstanceAggregatedList'{..}+ = object+ (catMaybes+ [("nextPageToken" .=) <$> _ialNextPageToken,+ Just ("kind" .= _ialKind),+ ("items" .=) <$> _ialItems,+ ("selfLink" .=) <$> _ialSelfLink,+ ("id" .=) <$> _ialId])++--+-- /See:/ 'sslHealthCheck' smart constructor.+data SSLHealthCheck = SSLHealthCheck'+ { _shcResponse :: !(Maybe Text)+ , _shcProxyHeader :: !(Maybe SSLHealthCheckProxyHeader)+ , _shcPortName :: !(Maybe Text)+ , _shcPort :: !(Maybe (Textual Int32))+ , _shcRequest :: !(Maybe Text)+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'SSLHealthCheck' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'shcResponse'+--+-- * 'shcProxyHeader'+--+-- * 'shcPortName'+--+-- * 'shcPort'+--+-- * 'shcRequest'+sslHealthCheck+ :: SSLHealthCheck+sslHealthCheck =+ SSLHealthCheck'+ { _shcResponse = Nothing+ , _shcProxyHeader = Nothing+ , _shcPortName = Nothing+ , _shcPort = Nothing+ , _shcRequest = Nothing+ }++-- | The bytes to match against the beginning of the response data. If left+-- empty (the default value), any response will indicate health. The+-- response data can only be ASCII.+shcResponse :: Lens' SSLHealthCheck (Maybe Text)+shcResponse+ = lens _shcResponse (\ s a -> s{_shcResponse = a})++-- | Specifies the type of proxy header to append before sending data to the+-- backend, either NONE or PROXY_V1. The default is NONE.+shcProxyHeader :: Lens' SSLHealthCheck (Maybe SSLHealthCheckProxyHeader)+shcProxyHeader+ = lens _shcProxyHeader+ (\ s a -> s{_shcProxyHeader = a})++-- | Port name as defined in InstanceGroup#NamedPort#name. If both port and+-- port_name are defined, port takes precedence.+shcPortName :: Lens' SSLHealthCheck (Maybe Text)+shcPortName+ = lens _shcPortName (\ s a -> s{_shcPortName = a})++-- | The TCP port number for the health check request. The default value is+-- 443.+shcPort :: Lens' SSLHealthCheck (Maybe Int32)+shcPort+ = lens _shcPort (\ s a -> s{_shcPort = a}) .+ mapping _Coerce++-- | The application data to send once the SSL connection has been+-- established (default value is empty). If both request and response are+-- empty, the connection establishment alone will indicate health. The+-- request data can only be ASCII.+shcRequest :: Lens' SSLHealthCheck (Maybe Text)+shcRequest+ = lens _shcRequest (\ s a -> s{_shcRequest = a})++instance FromJSON SSLHealthCheck where+ parseJSON+ = withObject "SSLHealthCheck"+ (\ o ->+ SSLHealthCheck' <$>+ (o .:? "response") <*> (o .:? "proxyHeader") <*>+ (o .:? "portName")+ <*> (o .:? "port")+ <*> (o .:? "request"))++instance ToJSON SSLHealthCheck where+ toJSON SSLHealthCheck'{..}+ = object+ (catMaybes+ [("response" .=) <$> _shcResponse,+ ("proxyHeader" .=) <$> _shcProxyHeader,+ ("portName" .=) <$> _shcPortName,+ ("port" .=) <$> _shcPort,+ ("request" .=) <$> _shcRequest])++-- | A reserved address resource.+--+-- /See:/ 'address' smart constructor.+data Address = Address'+ { _aStatus :: !(Maybe AddressStatus)+ , _aUsers :: !(Maybe [Text])+ , _aKind :: !Text+ , _aAddress :: !(Maybe Text)+ , _aSelfLink :: !(Maybe Text)+ , _aName :: !(Maybe Text)+ , _aCreationTimestamp :: !(Maybe Text)+ , _aId :: !(Maybe (Textual Word64))+ , _aRegion :: !(Maybe Text)+ , _aDescription :: !(Maybe Text)+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'Address' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'aStatus'+--+-- * 'aUsers'+--+-- * 'aKind'+--+-- * 'aAddress'+--+-- * 'aSelfLink'+--+-- * 'aName'+--+-- * 'aCreationTimestamp'+--+-- * 'aId'+--+-- * 'aRegion'+--+-- * 'aDescription'+address+ :: Address+address =+ Address'+ { _aStatus = Nothing+ , _aUsers = Nothing+ , _aKind = "compute#address"+ , _aAddress = Nothing+ , _aSelfLink = Nothing+ , _aName = Nothing+ , _aCreationTimestamp = Nothing+ , _aId = Nothing+ , _aRegion = Nothing+ , _aDescription = Nothing+ }++-- | [Output Only] The status of the address, which can be either IN_USE or+-- RESERVED. An address that is RESERVED is currently reserved and+-- available to use. An IN_USE address is currently being used by another+-- resource and is not available.+aStatus :: Lens' Address (Maybe AddressStatus)+aStatus = lens _aStatus (\ s a -> s{_aStatus = a})++-- | [Output Only] The URLs of the resources that are using this address.+aUsers :: Lens' Address [Text]+aUsers+ = lens _aUsers (\ s a -> s{_aUsers = a}) . _Default .+ _Coerce++-- | [Output Only] Type of the resource. Always compute#address for+-- addresses.+aKind :: Lens' Address Text+aKind = lens _aKind (\ s a -> s{_aKind = a})++-- | The static external IP address represented by this resource.+aAddress :: Lens' Address (Maybe Text)+aAddress = lens _aAddress (\ s a -> s{_aAddress = a})++-- | [Output Only] Server-defined URL for the resource.+aSelfLink :: Lens' Address (Maybe Text)+aSelfLink+ = lens _aSelfLink (\ s a -> s{_aSelfLink = a})++-- | Name of the resource. Provided by the client when the resource is+-- created. The name must be 1-63 characters long, and comply with RFC1035.+-- Specifically, the name must be 1-63 characters long and match the+-- regular expression [a-z]([-a-z0-9]*[a-z0-9])? which means the first+-- character must be a lowercase letter, and all following characters must+-- be a dash, lowercase letter, or digit, except the last character, which+-- cannot be a dash.+aName :: Lens' Address (Maybe Text)+aName = lens _aName (\ s a -> s{_aName = a})++-- | [Output Only] Creation timestamp in RFC3339 text format.+aCreationTimestamp :: Lens' Address (Maybe Text)+aCreationTimestamp+ = lens _aCreationTimestamp+ (\ s a -> s{_aCreationTimestamp = a})++-- | [Output Only] The unique identifier for the resource. This identifier is+-- defined by the server.+aId :: Lens' Address (Maybe Word64)+aId+ = lens _aId (\ s a -> s{_aId = a}) . mapping _Coerce++-- | [Output Only] URL of the region where the regional address resides. This+-- field is not applicable to global addresses.+aRegion :: Lens' Address (Maybe Text)+aRegion = lens _aRegion (\ s a -> s{_aRegion = a})++-- | An optional description of this resource. Provide this property when you+-- create the resource.+aDescription :: Lens' Address (Maybe Text)+aDescription+ = lens _aDescription (\ s a -> s{_aDescription = a})++instance FromJSON Address where+ parseJSON+ = withObject "Address"+ (\ o ->+ Address' <$>+ (o .:? "status") <*> (o .:? "users" .!= mempty) <*>+ (o .:? "kind" .!= "compute#address")+ <*> (o .:? "address")+ <*> (o .:? "selfLink")+ <*> (o .:? "name")+ <*> (o .:? "creationTimestamp")+ <*> (o .:? "id")+ <*> (o .:? "region")+ <*> (o .:? "description"))++instance ToJSON Address where+ toJSON Address'{..}+ = object+ (catMaybes+ [("status" .=) <$> _aStatus,+ ("users" .=) <$> _aUsers, Just ("kind" .= _aKind),+ ("address" .=) <$> _aAddress,+ ("selfLink" .=) <$> _aSelfLink,+ ("name" .=) <$> _aName,+ ("creationTimestamp" .=) <$> _aCreationTimestamp,+ ("id" .=) <$> _aId, ("region" .=) <$> _aRegion,+ ("description" .=) <$> _aDescription])++-- | A Zone resource.+--+-- /See:/ 'zone' smart constructor.+data Zone = Zone'+ { _zStatus :: !(Maybe ZoneStatus)+ , _zKind :: !Text+ , _zSelfLink :: !(Maybe Text)+ , _zName :: !(Maybe Text)+ , _zCreationTimestamp :: !(Maybe Text)+ , _zId :: !(Maybe (Textual Word64))+ , _zRegion :: !(Maybe Text)+ , _zDescription :: !(Maybe Text)+ , _zDeprecated :: !(Maybe DeprecationStatus)+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'Zone' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'zStatus'+--+-- * 'zKind'+--+-- * 'zSelfLink'+--+-- * 'zName'+--+-- * 'zCreationTimestamp'+--+-- * 'zId'+--+-- * 'zRegion'+--+-- * 'zDescription'+--+-- * 'zDeprecated'+zone+ :: Zone+zone =+ Zone'+ { _zStatus = Nothing+ , _zKind = "compute#zone"+ , _zSelfLink = Nothing+ , _zName = Nothing+ , _zCreationTimestamp = Nothing+ , _zId = Nothing+ , _zRegion = Nothing+ , _zDescription = Nothing+ , _zDeprecated = Nothing+ }++-- | [Output Only] Status of the zone, either UP or DOWN.+zStatus :: Lens' Zone (Maybe ZoneStatus)+zStatus = lens _zStatus (\ s a -> s{_zStatus = a})++-- | [Output Only] Type of the resource. Always compute#zone for zones.+zKind :: Lens' Zone Text+zKind = lens _zKind (\ s a -> s{_zKind = a})++-- | [Output Only] Server-defined URL for the resource.+zSelfLink :: Lens' Zone (Maybe Text)+zSelfLink+ = lens _zSelfLink (\ s a -> s{_zSelfLink = a})++-- | [Output Only] Name of the resource.+zName :: Lens' Zone (Maybe Text)+zName = lens _zName (\ s a -> s{_zName = a})++-- | [Output Only] Creation timestamp in RFC3339 text format.+zCreationTimestamp :: Lens' Zone (Maybe Text)+zCreationTimestamp+ = lens _zCreationTimestamp+ (\ s a -> s{_zCreationTimestamp = a})++-- | [Output Only] The unique identifier for the resource. This identifier is+-- defined by the server.+zId :: Lens' Zone (Maybe Word64)+zId+ = lens _zId (\ s a -> s{_zId = a}) . mapping _Coerce++-- | [Output Only] Full URL reference to the region which hosts the zone.+zRegion :: Lens' Zone (Maybe Text)+zRegion = lens _zRegion (\ s a -> s{_zRegion = a})++-- | [Output Only] Textual description of the resource.+zDescription :: Lens' Zone (Maybe Text)+zDescription+ = lens _zDescription (\ s a -> s{_zDescription = a})++-- | [Output Only] The deprecation status associated with this zone.+zDeprecated :: Lens' Zone (Maybe DeprecationStatus)+zDeprecated+ = lens _zDeprecated (\ s a -> s{_zDeprecated = a})++instance FromJSON Zone where+ parseJSON+ = withObject "Zone"+ (\ o ->+ Zone' <$>+ (o .:? "status") <*>+ (o .:? "kind" .!= "compute#zone")+ <*> (o .:? "selfLink")+ <*> (o .:? "name")+ <*> (o .:? "creationTimestamp")+ <*> (o .:? "id")+ <*> (o .:? "region")+ <*> (o .:? "description")+ <*> (o .:? "deprecated"))++instance ToJSON Zone where+ toJSON Zone'{..}+ = object+ (catMaybes+ [("status" .=) <$> _zStatus, Just ("kind" .= _zKind),+ ("selfLink" .=) <$> _zSelfLink,+ ("name" .=) <$> _zName,+ ("creationTimestamp" .=) <$> _zCreationTimestamp,+ ("id" .=) <$> _zId, ("region" .=) <$> _zRegion,+ ("description" .=) <$> _zDescription,+ ("deprecated" .=) <$> _zDeprecated])++--+-- /See:/ 'routerBGP' smart constructor.+newtype RouterBGP = RouterBGP'+ { _rbASN :: Maybe (Textual Word32)+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'RouterBGP' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'rbASN'+routerBGP+ :: RouterBGP+routerBGP =+ RouterBGP'+ { _rbASN = Nothing+ }++-- | Local BGP Autonomous System Number (ASN). Must be an RFC6996 private+-- ASN, either 16-bit or 32-bit. The value will be fixed for this router+-- resource. All VPN tunnels that link to this router will have the same+-- local ASN.+rbASN :: Lens' RouterBGP (Maybe Word32)+rbASN+ = lens _rbASN (\ s a -> s{_rbASN = a}) .+ mapping _Coerce++instance FromJSON RouterBGP where+ parseJSON+ = withObject "RouterBGP"+ (\ o -> RouterBGP' <$> (o .:? "asn"))++instance ToJSON RouterBGP where+ toJSON RouterBGP'{..}+ = object (catMaybes [("asn" .=) <$> _rbASN])++--+-- /See:/ 'instanceGroupManagersRecreateInstancesRequest' smart constructor.+newtype InstanceGroupManagersRecreateInstancesRequest = InstanceGroupManagersRecreateInstancesRequest'+ { _igmrirInstances :: Maybe [Text]+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'InstanceGroupManagersRecreateInstancesRequest' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'igmrirInstances'+instanceGroupManagersRecreateInstancesRequest+ :: InstanceGroupManagersRecreateInstancesRequest+instanceGroupManagersRecreateInstancesRequest =+ InstanceGroupManagersRecreateInstancesRequest'+ { _igmrirInstances = Nothing+ }++-- | The URL for one or more instances to recreate.+igmrirInstances :: Lens' InstanceGroupManagersRecreateInstancesRequest [Text]+igmrirInstances+ = lens _igmrirInstances+ (\ s a -> s{_igmrirInstances = a})+ . _Default+ . _Coerce++instance FromJSON+ InstanceGroupManagersRecreateInstancesRequest where+ parseJSON+ = withObject+ "InstanceGroupManagersRecreateInstancesRequest"+ (\ o ->+ InstanceGroupManagersRecreateInstancesRequest' <$>+ (o .:? "instances" .!= mempty))++instance ToJSON+ InstanceGroupManagersRecreateInstancesRequest where+ toJSON+ InstanceGroupManagersRecreateInstancesRequest'{..}+ = object+ (catMaybes [("instances" .=) <$> _igmrirInstances])++--+-- /See:/ 'targetSSLProxiesSetSSLCertificatesRequest' smart constructor.+newtype TargetSSLProxiesSetSSLCertificatesRequest = TargetSSLProxiesSetSSLCertificatesRequest'+ { _tspsscrSSLCertificates :: Maybe [Text]+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'TargetSSLProxiesSetSSLCertificatesRequest' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'tspsscrSSLCertificates'+targetSSLProxiesSetSSLCertificatesRequest+ :: TargetSSLProxiesSetSSLCertificatesRequest+targetSSLProxiesSetSSLCertificatesRequest =+ TargetSSLProxiesSetSSLCertificatesRequest'+ { _tspsscrSSLCertificates = Nothing+ }++-- | New set of URLs to SslCertificate resources to associate with this+-- TargetSslProxy. Currently exactly one ssl certificate must be specified.+tspsscrSSLCertificates :: Lens' TargetSSLProxiesSetSSLCertificatesRequest [Text]+tspsscrSSLCertificates+ = lens _tspsscrSSLCertificates+ (\ s a -> s{_tspsscrSSLCertificates = a})+ . _Default+ . _Coerce++instance FromJSON+ TargetSSLProxiesSetSSLCertificatesRequest where+ parseJSON+ = withObject+ "TargetSSLProxiesSetSSLCertificatesRequest"+ (\ o ->+ TargetSSLProxiesSetSSLCertificatesRequest' <$>+ (o .:? "sslCertificates" .!= mempty))++instance ToJSON+ TargetSSLProxiesSetSSLCertificatesRequest where+ toJSON TargetSSLProxiesSetSSLCertificatesRequest'{..}+ = object+ (catMaybes+ [("sslCertificates" .=) <$> _tspsscrSSLCertificates])++--+-- /See:/ 'instancesScopedList' smart constructor.+data InstancesScopedList = InstancesScopedList'+ { _islWarning :: !(Maybe InstancesScopedListWarning)+ , _islInstances :: !(Maybe [Instance])+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'InstancesScopedList' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'islWarning'+--+-- * 'islInstances'+instancesScopedList+ :: InstancesScopedList+instancesScopedList =+ InstancesScopedList'+ { _islWarning = Nothing+ , _islInstances = Nothing+ }++-- | [Output Only] Informational warning which replaces the list of instances+-- when the list is empty.+islWarning :: Lens' InstancesScopedList (Maybe InstancesScopedListWarning)+islWarning+ = lens _islWarning (\ s a -> s{_islWarning = a})++-- | [Output Only] List of instances contained in this scope.+islInstances :: Lens' InstancesScopedList [Instance]+islInstances+ = lens _islInstances (\ s a -> s{_islInstances = a})+ . _Default+ . _Coerce++instance FromJSON InstancesScopedList where+ parseJSON+ = withObject "InstancesScopedList"+ (\ o ->+ InstancesScopedList' <$>+ (o .:? "warning") <*> (o .:? "instances" .!= mempty))++instance ToJSON InstancesScopedList where+ toJSON InstancesScopedList'{..}+ = object+ (catMaybes+ [("warning" .=) <$> _islWarning,+ ("instances" .=) <$> _islInstances])++-- | A full or valid partial URL to a health check. For example, the+-- following are valid URLs: -+-- https:\/\/www.googleapis.com\/compute\/beta\/projects\/project-id\/global\/httpHealthChecks\/health-check+-- - projects\/project-id\/global\/httpHealthChecks\/health-check -+-- global\/httpHealthChecks\/health-check+--+-- /See:/ 'healthCheckReference' smart constructor.+newtype HealthCheckReference = HealthCheckReference'+ { _hcrHealthCheck :: Maybe Text+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'HealthCheckReference' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'hcrHealthCheck'+healthCheckReference+ :: HealthCheckReference+healthCheckReference =+ HealthCheckReference'+ { _hcrHealthCheck = Nothing+ }++hcrHealthCheck :: Lens' HealthCheckReference (Maybe Text)+hcrHealthCheck+ = lens _hcrHealthCheck+ (\ s a -> s{_hcrHealthCheck = a})++instance FromJSON HealthCheckReference where+ parseJSON+ = withObject "HealthCheckReference"+ (\ o ->+ HealthCheckReference' <$> (o .:? "healthCheck"))++instance ToJSON HealthCheckReference where+ toJSON HealthCheckReference'{..}+ = object+ (catMaybes [("healthCheck" .=) <$> _hcrHealthCheck])++-- | A map of scoped target instance lists.+--+-- /See:/ 'targetInstanceAggregatedListItems' smart constructor.+newtype TargetInstanceAggregatedListItems = TargetInstanceAggregatedListItems'+ { _tialiAddtional :: HashMap Text TargetInstancesScopedList+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'TargetInstanceAggregatedListItems' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'tialiAddtional'+targetInstanceAggregatedListItems+ :: HashMap Text TargetInstancesScopedList -- ^ 'tialiAddtional'+ -> TargetInstanceAggregatedListItems+targetInstanceAggregatedListItems pTialiAddtional_ =+ TargetInstanceAggregatedListItems'+ { _tialiAddtional = _Coerce # pTialiAddtional_+ }++-- | Name of the scope containing this set of target instances.+tialiAddtional :: Lens' TargetInstanceAggregatedListItems (HashMap Text TargetInstancesScopedList)+tialiAddtional+ = lens _tialiAddtional+ (\ s a -> s{_tialiAddtional = a})+ . _Coerce++instance FromJSON TargetInstanceAggregatedListItems+ where+ parseJSON+ = withObject "TargetInstanceAggregatedListItems"+ (\ o ->+ TargetInstanceAggregatedListItems' <$>+ (parseJSONObject o))++instance ToJSON TargetInstanceAggregatedListItems+ where+ toJSON = toJSON . _tialiAddtional++--+-- /See:/ 'instanceGroupAggregatedList' smart constructor.+data InstanceGroupAggregatedList = InstanceGroupAggregatedList'+ { _igalNextPageToken :: !(Maybe Text)+ , _igalKind :: !Text+ , _igalItems :: !(Maybe InstanceGroupAggregatedListItems)+ , _igalSelfLink :: !(Maybe Text)+ , _igalId :: !(Maybe Text)+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'InstanceGroupAggregatedList' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'igalNextPageToken'+--+-- * 'igalKind'+--+-- * 'igalItems'+--+-- * 'igalSelfLink'+--+-- * 'igalId'+instanceGroupAggregatedList+ :: InstanceGroupAggregatedList+instanceGroupAggregatedList =+ InstanceGroupAggregatedList'+ { _igalNextPageToken = Nothing+ , _igalKind = "compute#instanceGroupAggregatedList"+ , _igalItems = Nothing+ , _igalSelfLink = Nothing+ , _igalId = Nothing+ }++-- | [Output Only] This token allows you to get the next page of results for+-- list requests. If the number of results is larger than maxResults, use+-- the nextPageToken as a value for the query parameter pageToken in the+-- next list request. Subsequent list requests will have their own+-- nextPageToken to continue paging through the results.+igalNextPageToken :: Lens' InstanceGroupAggregatedList (Maybe Text)+igalNextPageToken+ = lens _igalNextPageToken+ (\ s a -> s{_igalNextPageToken = a})++-- | [Output Only] The resource type, which is always+-- compute#instanceGroupAggregatedList for aggregated lists of instance+-- groups.+igalKind :: Lens' InstanceGroupAggregatedList Text+igalKind = lens _igalKind (\ s a -> s{_igalKind = a})++-- | A map of scoped instance group lists.+igalItems :: Lens' InstanceGroupAggregatedList (Maybe InstanceGroupAggregatedListItems)+igalItems+ = lens _igalItems (\ s a -> s{_igalItems = a})++-- | [Output Only] The URL for this resource type. The server generates this+-- URL.+igalSelfLink :: Lens' InstanceGroupAggregatedList (Maybe Text)+igalSelfLink+ = lens _igalSelfLink (\ s a -> s{_igalSelfLink = a})++-- | [Output Only] A unique identifier for this aggregated list of instance+-- groups. The server generates this identifier.+igalId :: Lens' InstanceGroupAggregatedList (Maybe Text)+igalId = lens _igalId (\ s a -> s{_igalId = a})++instance FromJSON InstanceGroupAggregatedList where+ parseJSON+ = withObject "InstanceGroupAggregatedList"+ (\ o ->+ InstanceGroupAggregatedList' <$>+ (o .:? "nextPageToken") <*>+ (o .:? "kind" .!=+ "compute#instanceGroupAggregatedList")+ <*> (o .:? "items")+ <*> (o .:? "selfLink")+ <*> (o .:? "id"))++instance ToJSON InstanceGroupAggregatedList where+ toJSON InstanceGroupAggregatedList'{..}+ = object+ (catMaybes+ [("nextPageToken" .=) <$> _igalNextPageToken,+ Just ("kind" .= _igalKind),+ ("items" .=) <$> _igalItems,+ ("selfLink" .=) <$> _igalSelfLink,+ ("id" .=) <$> _igalId])++-- | Represents a Route resource. A route specifies how certain packets+-- should be handled by the network. Routes are associated with instances+-- by tags and the set of routes for a particular instance is called its+-- routing table. For each packet leaving a instance, the system searches+-- that instance\'s routing table for a single best matching route. Routes+-- match packets by destination IP address, preferring smaller or more+-- specific ranges over larger ones. If there is a tie, the system selects+-- the route with the smallest priority value. If there is still a tie, it+-- uses the layer three and four packet headers to select just one of the+-- remaining matching routes. The packet is then forwarded as specified by+-- the nextHop field of the winning route - either to another instance+-- destination, a instance gateway or a Google Compute Engine-operated+-- gateway. Packets that do not match any route in the sending instance\'s+-- routing table are dropped.+--+-- /See:/ 'route' smart constructor.+data Route = Route'+ { _rouPriority :: !(Maybe (Textual Word32))+ , _rouKind :: !Text+ , _rouNextHopGateway :: !(Maybe Text)+ , _rouNextHopNetwork :: !(Maybe Text)+ , _rouNetwork :: !(Maybe Text)+ , _rouWarnings :: !(Maybe [RouteWarningsItem])+ , _rouNextHopIP :: !(Maybe Text)+ , _rouDestRange :: !(Maybe Text)+ , _rouSelfLink :: !(Maybe Text)+ , _rouName :: !(Maybe Text)+ , _rouCreationTimestamp :: !(Maybe Text)+ , _rouId :: !(Maybe (Textual Word64))+ , _rouNextHopVPNTunnel :: !(Maybe Text)+ , _rouDescription :: !(Maybe Text)+ , _rouTags :: !(Maybe [Text])+ , _rouNextHopInstance :: !(Maybe Text)+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'Route' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'rouPriority'+--+-- * 'rouKind'+--+-- * 'rouNextHopGateway'+--+-- * 'rouNextHopNetwork'+--+-- * 'rouNetwork'+--+-- * 'rouWarnings'+--+-- * 'rouNextHopIP'+--+-- * 'rouDestRange'+--+-- * 'rouSelfLink'+--+-- * 'rouName'+--+-- * 'rouCreationTimestamp'+--+-- * 'rouId'+--+-- * 'rouNextHopVPNTunnel'+--+-- * 'rouDescription'+--+-- * 'rouTags'+--+-- * 'rouNextHopInstance'+route+ :: Route+route =+ Route'+ { _rouPriority = Nothing+ , _rouKind = "compute#route"+ , _rouNextHopGateway = Nothing+ , _rouNextHopNetwork = Nothing+ , _rouNetwork = Nothing+ , _rouWarnings = Nothing+ , _rouNextHopIP = Nothing+ , _rouDestRange = Nothing+ , _rouSelfLink = Nothing+ , _rouName = Nothing+ , _rouCreationTimestamp = Nothing+ , _rouId = Nothing+ , _rouNextHopVPNTunnel = Nothing+ , _rouDescription = Nothing+ , _rouTags = Nothing+ , _rouNextHopInstance = Nothing+ }++-- | The priority of this route. Priority is used to break ties in cases+-- where there is more than one matching route of equal prefix length. In+-- the case of two routes with equal prefix length, the one with the+-- lowest-numbered priority value wins. Default value is 1000. Valid range+-- is 0 through 65535.+rouPriority :: Lens' Route (Maybe Word32)+rouPriority+ = lens _rouPriority (\ s a -> s{_rouPriority = a}) .+ mapping _Coerce++-- | [Output Only] Type of this resource. Always compute#routes for Route+-- resources.+rouKind :: Lens' Route Text+rouKind = lens _rouKind (\ s a -> s{_rouKind = a})++-- | The URL to a gateway that should handle matching packets. You can only+-- specify the internet gateway using a full or partial valid URL:+-- projects\/\/global\/gateways\/default-internet-gateway+rouNextHopGateway :: Lens' Route (Maybe Text)+rouNextHopGateway+ = lens _rouNextHopGateway+ (\ s a -> s{_rouNextHopGateway = a})++-- | The URL of the local network if it should handle matching packets.+rouNextHopNetwork :: Lens' Route (Maybe Text)+rouNextHopNetwork+ = lens _rouNextHopNetwork+ (\ s a -> s{_rouNextHopNetwork = a})++-- | Fully-qualified URL of the network that this route applies to.+rouNetwork :: Lens' Route (Maybe Text)+rouNetwork+ = lens _rouNetwork (\ s a -> s{_rouNetwork = a})++-- | [Output Only] If potential misconfigurations are detected for this+-- route, this field will be populated with warning messages.+rouWarnings :: Lens' Route [RouteWarningsItem]+rouWarnings+ = lens _rouWarnings (\ s a -> s{_rouWarnings = a}) .+ _Default+ . _Coerce++-- | The network IP address of an instance that should handle matching+-- packets.+rouNextHopIP :: Lens' Route (Maybe Text)+rouNextHopIP+ = lens _rouNextHopIP (\ s a -> s{_rouNextHopIP = a})++-- | The destination range of outgoing packets that this route applies to.+rouDestRange :: Lens' Route (Maybe Text)+rouDestRange+ = lens _rouDestRange (\ s a -> s{_rouDestRange = a})++-- | [Output Only] Server-defined fully-qualified URL for this resource.+rouSelfLink :: Lens' Route (Maybe Text)+rouSelfLink+ = lens _rouSelfLink (\ s a -> s{_rouSelfLink = a})++-- | Name of the resource. Provided by the client when the resource is+-- created. The name must be 1-63 characters long, and comply with RFC1035.+-- Specifically, the name must be 1-63 characters long and match the+-- regular expression [a-z]([-a-z0-9]*[a-z0-9])? which means the first+-- character must be a lowercase letter, and all following characters must+-- be a dash, lowercase letter, or digit, except the last character, which+-- cannot be a dash.+rouName :: Lens' Route (Maybe Text)+rouName = lens _rouName (\ s a -> s{_rouName = a})++-- | [Output Only] Creation timestamp in RFC3339 text format.+rouCreationTimestamp :: Lens' Route (Maybe Text)+rouCreationTimestamp+ = lens _rouCreationTimestamp+ (\ s a -> s{_rouCreationTimestamp = a})++-- | [Output Only] The unique identifier for the resource. This identifier is+-- defined by the server.+rouId :: Lens' Route (Maybe Word64)+rouId+ = lens _rouId (\ s a -> s{_rouId = a}) .+ mapping _Coerce++-- | The URL to a VpnTunnel that should handle matching packets.+rouNextHopVPNTunnel :: Lens' Route (Maybe Text)+rouNextHopVPNTunnel+ = lens _rouNextHopVPNTunnel+ (\ s a -> s{_rouNextHopVPNTunnel = a})++-- | An optional description of this resource. Provide this property when you+-- create the resource.+rouDescription :: Lens' Route (Maybe Text)+rouDescription+ = lens _rouDescription+ (\ s a -> s{_rouDescription = a})++-- | A list of instance tags to which this route applies.+rouTags :: Lens' Route [Text]+rouTags+ = lens _rouTags (\ s a -> s{_rouTags = a}) . _Default+ . _Coerce++-- | The URL to an instance that should handle matching packets. You can+-- specify this as a full or partial URL. For example:+-- https:\/\/www.googleapis.com\/compute\/v1\/projects\/project\/zones\/zone\/instances\/+rouNextHopInstance :: Lens' Route (Maybe Text)+rouNextHopInstance+ = lens _rouNextHopInstance+ (\ s a -> s{_rouNextHopInstance = a})++instance FromJSON Route where+ parseJSON+ = withObject "Route"+ (\ o ->+ Route' <$>+ (o .:? "priority") <*>+ (o .:? "kind" .!= "compute#route")+ <*> (o .:? "nextHopGateway")+ <*> (o .:? "nextHopNetwork")+ <*> (o .:? "network")+ <*> (o .:? "warnings" .!= mempty)+ <*> (o .:? "nextHopIp")+ <*> (o .:? "destRange")+ <*> (o .:? "selfLink")+ <*> (o .:? "name")+ <*> (o .:? "creationTimestamp")+ <*> (o .:? "id")+ <*> (o .:? "nextHopVpnTunnel")+ <*> (o .:? "description")+ <*> (o .:? "tags" .!= mempty)+ <*> (o .:? "nextHopInstance"))++instance ToJSON Route where+ toJSON Route'{..}+ = object+ (catMaybes+ [("priority" .=) <$> _rouPriority,+ Just ("kind" .= _rouKind),+ ("nextHopGateway" .=) <$> _rouNextHopGateway,+ ("nextHopNetwork" .=) <$> _rouNextHopNetwork,+ ("network" .=) <$> _rouNetwork,+ ("warnings" .=) <$> _rouWarnings,+ ("nextHopIp" .=) <$> _rouNextHopIP,+ ("destRange" .=) <$> _rouDestRange,+ ("selfLink" .=) <$> _rouSelfLink,+ ("name" .=) <$> _rouName,+ ("creationTimestamp" .=) <$> _rouCreationTimestamp,+ ("id" .=) <$> _rouId,+ ("nextHopVpnTunnel" .=) <$> _rouNextHopVPNTunnel,+ ("description" .=) <$> _rouDescription,+ ("tags" .=) <$> _rouTags,+ ("nextHopInstance" .=) <$> _rouNextHopInstance])++--+-- /See:/ 'targetVPNGatewaysScopedListWarningDataItem' smart constructor.+data TargetVPNGatewaysScopedListWarningDataItem = TargetVPNGatewaysScopedListWarningDataItem'+ { _tvgslwdiValue :: !(Maybe Text)+ , _tvgslwdiKey :: !(Maybe Text)+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'TargetVPNGatewaysScopedListWarningDataItem' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'tvgslwdiValue'+--+-- * 'tvgslwdiKey'+targetVPNGatewaysScopedListWarningDataItem+ :: TargetVPNGatewaysScopedListWarningDataItem+targetVPNGatewaysScopedListWarningDataItem =+ TargetVPNGatewaysScopedListWarningDataItem'+ { _tvgslwdiValue = Nothing+ , _tvgslwdiKey = Nothing+ }++-- | [Output Only] A warning data value corresponding to the key.+tvgslwdiValue :: Lens' TargetVPNGatewaysScopedListWarningDataItem (Maybe Text)+tvgslwdiValue+ = lens _tvgslwdiValue+ (\ s a -> s{_tvgslwdiValue = a})++-- | [Output Only] A key that provides more detail on the warning being+-- returned. For example, for warnings where there are no results in a list+-- request for a particular zone, this key might be scope and the key value+-- might be the zone name. Other examples might be a key indicating a+-- deprecated resource and a suggested replacement, or a warning about+-- invalid network settings (for example, if an instance attempts to+-- perform IP forwarding but is not enabled for IP forwarding).+tvgslwdiKey :: Lens' TargetVPNGatewaysScopedListWarningDataItem (Maybe Text)+tvgslwdiKey+ = lens _tvgslwdiKey (\ s a -> s{_tvgslwdiKey = a})++instance FromJSON+ TargetVPNGatewaysScopedListWarningDataItem where+ parseJSON+ = withObject+ "TargetVPNGatewaysScopedListWarningDataItem"+ (\ o ->+ TargetVPNGatewaysScopedListWarningDataItem' <$>+ (o .:? "value") <*> (o .:? "key"))++instance ToJSON+ TargetVPNGatewaysScopedListWarningDataItem where+ toJSON+ TargetVPNGatewaysScopedListWarningDataItem'{..}+ = object+ (catMaybes+ [("value" .=) <$> _tvgslwdiValue,+ ("key" .=) <$> _tvgslwdiKey])++--+-- /See:/ 'targetHTTPSProxiesSetSSLCertificatesRequest' smart constructor.+newtype TargetHTTPSProxiesSetSSLCertificatesRequest = TargetHTTPSProxiesSetSSLCertificatesRequest'+ { _thpsscrSSLCertificates :: Maybe [Text]+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'TargetHTTPSProxiesSetSSLCertificatesRequest' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'thpsscrSSLCertificates'+targetHTTPSProxiesSetSSLCertificatesRequest+ :: TargetHTTPSProxiesSetSSLCertificatesRequest+targetHTTPSProxiesSetSSLCertificatesRequest =+ TargetHTTPSProxiesSetSSLCertificatesRequest'+ { _thpsscrSSLCertificates = Nothing+ }++-- | New set of SslCertificate resources to associate with this+-- TargetHttpsProxy resource. Currently exactly one SslCertificate resource+-- must be specified.+thpsscrSSLCertificates :: Lens' TargetHTTPSProxiesSetSSLCertificatesRequest [Text]+thpsscrSSLCertificates+ = lens _thpsscrSSLCertificates+ (\ s a -> s{_thpsscrSSLCertificates = a})+ . _Default+ . _Coerce++instance FromJSON+ TargetHTTPSProxiesSetSSLCertificatesRequest where+ parseJSON+ = withObject+ "TargetHTTPSProxiesSetSSLCertificatesRequest"+ (\ o ->+ TargetHTTPSProxiesSetSSLCertificatesRequest' <$>+ (o .:? "sslCertificates" .!= mempty))++instance ToJSON+ TargetHTTPSProxiesSetSSLCertificatesRequest where+ toJSON+ TargetHTTPSProxiesSetSSLCertificatesRequest'{..}+ = object+ (catMaybes+ [("sslCertificates" .=) <$> _thpsscrSSLCertificates])++-- | An Instance Template resource.+--+-- /See:/ 'instanceTemplate' smart constructor.+data InstanceTemplate = InstanceTemplate'+ { _itKind :: !Text+ , _itSelfLink :: !(Maybe Text)+ , _itName :: !(Maybe Text)+ , _itCreationTimestamp :: !(Maybe Text)+ , _itId :: !(Maybe (Textual Word64))+ , _itDescription :: !(Maybe Text)+ , _itProperties :: !(Maybe InstanceProperties)+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'InstanceTemplate' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'itKind'+--+-- * 'itSelfLink'+--+-- * 'itName'+--+-- * 'itCreationTimestamp'+--+-- * 'itId'+--+-- * 'itDescription'+--+-- * 'itProperties'+instanceTemplate+ :: InstanceTemplate+instanceTemplate =+ InstanceTemplate'+ { _itKind = "compute#instanceTemplate"+ , _itSelfLink = Nothing+ , _itName = Nothing+ , _itCreationTimestamp = Nothing+ , _itId = Nothing+ , _itDescription = Nothing+ , _itProperties = Nothing+ }++-- | [Output Only] The resource type, which is always+-- compute#instanceTemplate for instance templates.+itKind :: Lens' InstanceTemplate Text+itKind = lens _itKind (\ s a -> s{_itKind = a})++-- | [Output Only] The URL for this instance template. The server defines+-- this URL.+itSelfLink :: Lens' InstanceTemplate (Maybe Text)+itSelfLink+ = lens _itSelfLink (\ s a -> s{_itSelfLink = a})++-- | Name of the resource; provided by the client when the resource is+-- created. The name must be 1-63 characters long, and comply with RFC1035.+-- Specifically, the name must be 1-63 characters long and match the+-- regular expression [a-z]([-a-z0-9]*[a-z0-9])? which means the first+-- character must be a lowercase letter, and all following characters must+-- be a dash, lowercase letter, or digit, except the last character, which+-- cannot be a dash.+itName :: Lens' InstanceTemplate (Maybe Text)+itName = lens _itName (\ s a -> s{_itName = a})++-- | [Output Only] The creation timestamp for this instance template in+-- RFC3339 text format.+itCreationTimestamp :: Lens' InstanceTemplate (Maybe Text)+itCreationTimestamp+ = lens _itCreationTimestamp+ (\ s a -> s{_itCreationTimestamp = a})++-- | [Output Only] A unique identifier for this instance template. The server+-- defines this identifier.+itId :: Lens' InstanceTemplate (Maybe Word64)+itId+ = lens _itId (\ s a -> s{_itId = a}) .+ mapping _Coerce++-- | An optional description of this resource. Provide this property when you+-- create the resource.+itDescription :: Lens' InstanceTemplate (Maybe Text)+itDescription+ = lens _itDescription+ (\ s a -> s{_itDescription = a})++-- | The instance properties for this instance template.+itProperties :: Lens' InstanceTemplate (Maybe InstanceProperties)+itProperties+ = lens _itProperties (\ s a -> s{_itProperties = a})++instance FromJSON InstanceTemplate where+ parseJSON+ = withObject "InstanceTemplate"+ (\ o ->+ InstanceTemplate' <$>+ (o .:? "kind" .!= "compute#instanceTemplate") <*>+ (o .:? "selfLink")+ <*> (o .:? "name")+ <*> (o .:? "creationTimestamp")+ <*> (o .:? "id")+ <*> (o .:? "description")+ <*> (o .:? "properties"))++instance ToJSON InstanceTemplate where+ toJSON InstanceTemplate'{..}+ = object+ (catMaybes+ [Just ("kind" .= _itKind),+ ("selfLink" .=) <$> _itSelfLink,+ ("name" .=) <$> _itName,+ ("creationTimestamp" .=) <$> _itCreationTimestamp,+ ("id" .=) <$> _itId,+ ("description" .=) <$> _itDescription,+ ("properties" .=) <$> _itProperties])++-- | Contains a list of Router resources.+--+-- /See:/ 'routerList' smart constructor.+data RouterList = RouterList'+ { _rllNextPageToken :: !(Maybe Text)+ , _rllKind :: !Text+ , _rllItems :: !(Maybe [Router])+ , _rllSelfLink :: !(Maybe Text)+ , _rllId :: !(Maybe Text)+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'RouterList' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'rllNextPageToken'+--+-- * 'rllKind'+--+-- * 'rllItems'+--+-- * 'rllSelfLink'+--+-- * 'rllId'+routerList+ :: RouterList+routerList =+ RouterList'+ { _rllNextPageToken = Nothing+ , _rllKind = "compute#routerList"+ , _rllItems = Nothing+ , _rllSelfLink = Nothing+ , _rllId = Nothing+ }++-- | [Output Only] This token allows you to get the next page of results for+-- list requests. If the number of results is larger than maxResults, use+-- the nextPageToken as a value for the query parameter pageToken in the+-- next list request. Subsequent list requests will have their own+-- nextPageToken to continue paging through the results.+rllNextPageToken :: Lens' RouterList (Maybe Text)+rllNextPageToken+ = lens _rllNextPageToken+ (\ s a -> s{_rllNextPageToken = a})++-- | [Output Only] Type of resource. Always compute#router for routers.+rllKind :: Lens' RouterList Text+rllKind = lens _rllKind (\ s a -> s{_rllKind = a})++-- | A list of Router resources.+rllItems :: Lens' RouterList [Router]+rllItems+ = lens _rllItems (\ s a -> s{_rllItems = a}) .+ _Default+ . _Coerce++-- | [Output Only] Server-defined URL for this resource.+rllSelfLink :: Lens' RouterList (Maybe Text)+rllSelfLink+ = lens _rllSelfLink (\ s a -> s{_rllSelfLink = a})++-- | [Output Only] The unique identifier for the resource. This identifier is+-- defined by the server.+rllId :: Lens' RouterList (Maybe Text)+rllId = lens _rllId (\ s a -> s{_rllId = a})++instance FromJSON RouterList where+ parseJSON+ = withObject "RouterList"+ (\ o ->+ RouterList' <$>+ (o .:? "nextPageToken") <*>+ (o .:? "kind" .!= "compute#routerList")+ <*> (o .:? "items" .!= mempty)+ <*> (o .:? "selfLink")+ <*> (o .:? "id"))++instance ToJSON RouterList where+ toJSON RouterList'{..}+ = object+ (catMaybes+ [("nextPageToken" .=) <$> _rllNextPageToken,+ Just ("kind" .= _rllKind),+ ("items" .=) <$> _rllItems,+ ("selfLink" .=) <$> _rllSelfLink,+ ("id" .=) <$> _rllId])++-- | A TargetSslProxy resource. This resource defines an SSL proxy.+--+-- /See:/ 'targetSSLProxy' smart constructor.+data TargetSSLProxy = TargetSSLProxy'+ { _tspSSLCertificates :: !(Maybe [Text])+ , _tspService :: !(Maybe Text)+ , _tspKind :: !Text+ , _tspSelfLink :: !(Maybe Text)+ , _tspName :: !(Maybe Text)+ , _tspCreationTimestamp :: !(Maybe Text)+ , _tspId :: !(Maybe (Textual Word64))+ , _tspProxyHeader :: !(Maybe TargetSSLProxyProxyHeader)+ , _tspDescription :: !(Maybe Text)+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'TargetSSLProxy' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'tspSSLCertificates'+--+-- * 'tspService'+--+-- * 'tspKind'+--+-- * 'tspSelfLink'+--+-- * 'tspName'+--+-- * 'tspCreationTimestamp'+--+-- * 'tspId'+--+-- * 'tspProxyHeader'+--+-- * 'tspDescription'+targetSSLProxy+ :: TargetSSLProxy+targetSSLProxy =+ TargetSSLProxy'+ { _tspSSLCertificates = Nothing+ , _tspService = Nothing+ , _tspKind = "compute#targetSslProxy"+ , _tspSelfLink = Nothing+ , _tspName = Nothing+ , _tspCreationTimestamp = Nothing+ , _tspId = Nothing+ , _tspProxyHeader = Nothing+ , _tspDescription = Nothing+ }++-- | URLs to SslCertificate resources that are used to authenticate+-- connections to Backends. Currently exactly one SSL certificate must be+-- specified.+tspSSLCertificates :: Lens' TargetSSLProxy [Text]+tspSSLCertificates+ = lens _tspSSLCertificates+ (\ s a -> s{_tspSSLCertificates = a})+ . _Default+ . _Coerce++-- | URL to the BackendService resource.+tspService :: Lens' TargetSSLProxy (Maybe Text)+tspService+ = lens _tspService (\ s a -> s{_tspService = a})++-- | [Output Only] Type of the resource. Always compute#targetSslProxy for+-- target SSL proxies.+tspKind :: Lens' TargetSSLProxy Text+tspKind = lens _tspKind (\ s a -> s{_tspKind = a})++-- | [Output Only] Server-defined URL for the resource.+tspSelfLink :: Lens' TargetSSLProxy (Maybe Text)+tspSelfLink+ = lens _tspSelfLink (\ s a -> s{_tspSelfLink = a})++-- | Name of the resource. Provided by the client when the resource is+-- created. The name must be 1-63 characters long, and comply with RFC1035.+-- Specifically, the name must be 1-63 characters long and match the+-- regular expression [a-z]([-a-z0-9]*[a-z0-9])? which means the first+-- character must be a lowercase letter, and all following characters must+-- be a dash, lowercase letter, or digit, except the last character, which+-- cannot be a dash.+tspName :: Lens' TargetSSLProxy (Maybe Text)+tspName = lens _tspName (\ s a -> s{_tspName = a})++-- | [Output Only] Creation timestamp in RFC3339 text format.+tspCreationTimestamp :: Lens' TargetSSLProxy (Maybe Text)+tspCreationTimestamp+ = lens _tspCreationTimestamp+ (\ s a -> s{_tspCreationTimestamp = a})++-- | [Output Only] The unique identifier for the resource. This identifier is+-- defined by the server.+tspId :: Lens' TargetSSLProxy (Maybe Word64)+tspId+ = lens _tspId (\ s a -> s{_tspId = a}) .+ mapping _Coerce++-- | Specifies the type of proxy header to append before sending data to the+-- backend, either NONE or PROXY_V1. The default is NONE.+tspProxyHeader :: Lens' TargetSSLProxy (Maybe TargetSSLProxyProxyHeader)+tspProxyHeader+ = lens _tspProxyHeader+ (\ s a -> s{_tspProxyHeader = a})++-- | An optional description of this resource. Provide this property when you+-- create the resource.+tspDescription :: Lens' TargetSSLProxy (Maybe Text)+tspDescription+ = lens _tspDescription+ (\ s a -> s{_tspDescription = a})++instance FromJSON TargetSSLProxy where+ parseJSON+ = withObject "TargetSSLProxy"+ (\ o ->+ TargetSSLProxy' <$>+ (o .:? "sslCertificates" .!= mempty) <*>+ (o .:? "service")+ <*> (o .:? "kind" .!= "compute#targetSslProxy")+ <*> (o .:? "selfLink")+ <*> (o .:? "name")+ <*> (o .:? "creationTimestamp")+ <*> (o .:? "id")+ <*> (o .:? "proxyHeader")+ <*> (o .:? "description"))++instance ToJSON TargetSSLProxy where+ toJSON TargetSSLProxy'{..}+ = object+ (catMaybes+ [("sslCertificates" .=) <$> _tspSSLCertificates,+ ("service" .=) <$> _tspService,+ Just ("kind" .= _tspKind),+ ("selfLink" .=) <$> _tspSelfLink,+ ("name" .=) <$> _tspName,+ ("creationTimestamp" .=) <$> _tspCreationTimestamp,+ ("id" .=) <$> _tspId,+ ("proxyHeader" .=) <$> _tspProxyHeader,+ ("description" .=) <$> _tspDescription])++-- | Represents a Target VPN gateway resource.+--+-- /See:/ 'targetVPNGateway' smart constructor.+data TargetVPNGateway = TargetVPNGateway'+ { _tvgStatus :: !(Maybe TargetVPNGatewayStatus)+ , _tvgKind :: !Text+ , _tvgNetwork :: !(Maybe Text)+ , _tvgSelfLink :: !(Maybe Text)+ , _tvgName :: !(Maybe Text)+ , _tvgCreationTimestamp :: !(Maybe Text)+ , _tvgId :: !(Maybe (Textual Word64))+ , _tvgRegion :: !(Maybe Text)+ , _tvgTunnels :: !(Maybe [Text])+ , _tvgDescription :: !(Maybe Text)+ , _tvgForwardingRules :: !(Maybe [Text])+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'TargetVPNGateway' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'tvgStatus'+--+-- * 'tvgKind'+--+-- * 'tvgNetwork'+--+-- * 'tvgSelfLink'+--+-- * 'tvgName'+--+-- * 'tvgCreationTimestamp'+--+-- * 'tvgId'+--+-- * 'tvgRegion'+--+-- * 'tvgTunnels'+--+-- * 'tvgDescription'+--+-- * 'tvgForwardingRules'+targetVPNGateway+ :: TargetVPNGateway+targetVPNGateway =+ TargetVPNGateway'+ { _tvgStatus = Nothing+ , _tvgKind = "compute#targetVpnGateway"+ , _tvgNetwork = Nothing+ , _tvgSelfLink = Nothing+ , _tvgName = Nothing+ , _tvgCreationTimestamp = Nothing+ , _tvgId = Nothing+ , _tvgRegion = Nothing+ , _tvgTunnels = Nothing+ , _tvgDescription = Nothing+ , _tvgForwardingRules = Nothing+ }++-- | [Output Only] The status of the VPN gateway.+tvgStatus :: Lens' TargetVPNGateway (Maybe TargetVPNGatewayStatus)+tvgStatus+ = lens _tvgStatus (\ s a -> s{_tvgStatus = a})++-- | [Output Only] Type of resource. Always compute#targetVpnGateway for+-- target VPN gateways.+tvgKind :: Lens' TargetVPNGateway Text+tvgKind = lens _tvgKind (\ s a -> s{_tvgKind = a})++-- | URL of the network to which this VPN gateway is attached. Provided by+-- the client when the VPN gateway is created.+tvgNetwork :: Lens' TargetVPNGateway (Maybe Text)+tvgNetwork+ = lens _tvgNetwork (\ s a -> s{_tvgNetwork = a})++-- | [Output Only] Server-defined URL for the resource.+tvgSelfLink :: Lens' TargetVPNGateway (Maybe Text)+tvgSelfLink+ = lens _tvgSelfLink (\ s a -> s{_tvgSelfLink = a})++-- | Name of the resource. Provided by the client when the resource is+-- created. The name must be 1-63 characters long, and comply with RFC1035.+-- Specifically, the name must be 1-63 characters long and match the+-- regular expression [a-z]([-a-z0-9]*[a-z0-9])? which means the first+-- character must be a lowercase letter, and all following characters must+-- be a dash, lowercase letter, or digit, except the last character, which+-- cannot be a dash.+tvgName :: Lens' TargetVPNGateway (Maybe Text)+tvgName = lens _tvgName (\ s a -> s{_tvgName = a})++-- | [Output Only] Creation timestamp in RFC3339 text format.+tvgCreationTimestamp :: Lens' TargetVPNGateway (Maybe Text)+tvgCreationTimestamp+ = lens _tvgCreationTimestamp+ (\ s a -> s{_tvgCreationTimestamp = a})++-- | [Output Only] The unique identifier for the resource. This identifier is+-- defined by the server.+tvgId :: Lens' TargetVPNGateway (Maybe Word64)+tvgId+ = lens _tvgId (\ s a -> s{_tvgId = a}) .+ mapping _Coerce++-- | [Output Only] URL of the region where the target VPN gateway resides.+tvgRegion :: Lens' TargetVPNGateway (Maybe Text)+tvgRegion+ = lens _tvgRegion (\ s a -> s{_tvgRegion = a})++-- | [Output Only] A list of URLs to VpnTunnel resources. VpnTunnels are+-- created using compute.vpntunnels.insert method and associated to a VPN+-- gateway.+tvgTunnels :: Lens' TargetVPNGateway [Text]+tvgTunnels+ = lens _tvgTunnels (\ s a -> s{_tvgTunnels = a}) .+ _Default+ . _Coerce++-- | An optional description of this resource. Provide this property when you+-- create the resource.+tvgDescription :: Lens' TargetVPNGateway (Maybe Text)+tvgDescription+ = lens _tvgDescription+ (\ s a -> s{_tvgDescription = a})++-- | [Output Only] A list of URLs to the ForwardingRule resources.+-- ForwardingRules are created using compute.forwardingRules.insert and+-- associated to a VPN gateway.+tvgForwardingRules :: Lens' TargetVPNGateway [Text]+tvgForwardingRules+ = lens _tvgForwardingRules+ (\ s a -> s{_tvgForwardingRules = a})+ . _Default+ . _Coerce++instance FromJSON TargetVPNGateway where+ parseJSON+ = withObject "TargetVPNGateway"+ (\ o ->+ TargetVPNGateway' <$>+ (o .:? "status") <*>+ (o .:? "kind" .!= "compute#targetVpnGateway")+ <*> (o .:? "network")+ <*> (o .:? "selfLink")+ <*> (o .:? "name")+ <*> (o .:? "creationTimestamp")+ <*> (o .:? "id")+ <*> (o .:? "region")+ <*> (o .:? "tunnels" .!= mempty)+ <*> (o .:? "description")+ <*> (o .:? "forwardingRules" .!= mempty))++instance ToJSON TargetVPNGateway where+ toJSON TargetVPNGateway'{..}+ = object+ (catMaybes+ [("status" .=) <$> _tvgStatus,+ Just ("kind" .= _tvgKind),+ ("network" .=) <$> _tvgNetwork,+ ("selfLink" .=) <$> _tvgSelfLink,+ ("name" .=) <$> _tvgName,+ ("creationTimestamp" .=) <$> _tvgCreationTimestamp,+ ("id" .=) <$> _tvgId, ("region" .=) <$> _tvgRegion,+ ("tunnels" .=) <$> _tvgTunnels,+ ("description" .=) <$> _tvgDescription,+ ("forwardingRules" .=) <$> _tvgForwardingRules])++--+-- /See:/ 'urlMapsValidateResponse' smart constructor.+newtype URLMapsValidateResponse = URLMapsValidateResponse'+ { _umvrResult :: Maybe URLMapValidationResult+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'URLMapsValidateResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'umvrResult'+urlMapsValidateResponse+ :: URLMapsValidateResponse+urlMapsValidateResponse =+ URLMapsValidateResponse'+ { _umvrResult = Nothing+ }++umvrResult :: Lens' URLMapsValidateResponse (Maybe URLMapValidationResult)+umvrResult+ = lens _umvrResult (\ s a -> s{_umvrResult = a})++instance FromJSON URLMapsValidateResponse where+ parseJSON+ = withObject "URLMapsValidateResponse"+ (\ o ->+ URLMapsValidateResponse' <$> (o .:? "result"))++instance ToJSON URLMapsValidateResponse where+ toJSON URLMapsValidateResponse'{..}+ = object (catMaybes [("result" .=) <$> _umvrResult])++-- | An SslCertificate resource. This resource provides a mechanism to upload+-- an SSL key and certificate to the load balancer to serve secure+-- connections from the user.+--+-- /See:/ 'sslCertificate' smart constructor.+data SSLCertificate = SSLCertificate'+ { _scPrivateKey :: !(Maybe Text)+ , _scKind :: !Text+ , _scSelfLink :: !(Maybe Text)+ , _scName :: !(Maybe Text)+ , _scCreationTimestamp :: !(Maybe Text)+ , _scId :: !(Maybe (Textual Word64))+ , _scCertificate :: !(Maybe Text)+ , _scDescription :: !(Maybe Text)+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'SSLCertificate' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'scPrivateKey'+--+-- * 'scKind'+--+-- * 'scSelfLink'+--+-- * 'scName'+--+-- * 'scCreationTimestamp'+--+-- * 'scId'+--+-- * 'scCertificate'+--+-- * 'scDescription'+sslCertificate+ :: SSLCertificate+sslCertificate =+ SSLCertificate'+ { _scPrivateKey = Nothing+ , _scKind = "compute#sslCertificate"+ , _scSelfLink = Nothing+ , _scName = Nothing+ , _scCreationTimestamp = Nothing+ , _scId = Nothing+ , _scCertificate = Nothing+ , _scDescription = Nothing+ }++-- | A write-only private key in PEM format. Only insert RPCs will include+-- this field.+scPrivateKey :: Lens' SSLCertificate (Maybe Text)+scPrivateKey+ = lens _scPrivateKey (\ s a -> s{_scPrivateKey = a})++-- | [Output Only] Type of the resource. Always compute#sslCertificate for+-- SSL certificates.+scKind :: Lens' SSLCertificate Text+scKind = lens _scKind (\ s a -> s{_scKind = a})++-- | [Output only] Server-defined URL for the resource.+scSelfLink :: Lens' SSLCertificate (Maybe Text)+scSelfLink+ = lens _scSelfLink (\ s a -> s{_scSelfLink = a})++-- | Name of the resource. Provided by the client when the resource is+-- created. The name must be 1-63 characters long, and comply with RFC1035.+-- Specifically, the name must be 1-63 characters long and match the+-- regular expression [a-z]([-a-z0-9]*[a-z0-9])? which means the first+-- character must be a lowercase letter, and all following characters must+-- be a dash, lowercase letter, or digit, except the last character, which+-- cannot be a dash.+scName :: Lens' SSLCertificate (Maybe Text)+scName = lens _scName (\ s a -> s{_scName = a})++-- | [Output Only] Creation timestamp in RFC3339 text format.+scCreationTimestamp :: Lens' SSLCertificate (Maybe Text)+scCreationTimestamp+ = lens _scCreationTimestamp+ (\ s a -> s{_scCreationTimestamp = a})++-- | [Output Only] The unique identifier for the resource. This identifier is+-- defined by the server.+scId :: Lens' SSLCertificate (Maybe Word64)+scId+ = lens _scId (\ s a -> s{_scId = a}) .+ mapping _Coerce++-- | A local certificate file. The certificate must be in PEM format. The+-- certificate chain must be no greater than 5 certs long. The chain must+-- include at least one intermediate cert.+scCertificate :: Lens' SSLCertificate (Maybe Text)+scCertificate+ = lens _scCertificate+ (\ s a -> s{_scCertificate = a})++-- | An optional description of this resource. Provide this property when you+-- create the resource.+scDescription :: Lens' SSLCertificate (Maybe Text)+scDescription+ = lens _scDescription+ (\ s a -> s{_scDescription = a})++instance FromJSON SSLCertificate where+ parseJSON+ = withObject "SSLCertificate"+ (\ o ->+ SSLCertificate' <$>+ (o .:? "privateKey") <*>+ (o .:? "kind" .!= "compute#sslCertificate")+ <*> (o .:? "selfLink")+ <*> (o .:? "name")+ <*> (o .:? "creationTimestamp")+ <*> (o .:? "id")+ <*> (o .:? "certificate")+ <*> (o .:? "description"))++instance ToJSON SSLCertificate where+ toJSON SSLCertificate'{..}+ = object+ (catMaybes+ [("privateKey" .=) <$> _scPrivateKey,+ Just ("kind" .= _scKind),+ ("selfLink" .=) <$> _scSelfLink,+ ("name" .=) <$> _scName,+ ("creationTimestamp" .=) <$> _scCreationTimestamp,+ ("id" .=) <$> _scId,+ ("certificate" .=) <$> _scCertificate,+ ("description" .=) <$> _scDescription])++--+-- /See:/ 'routerStatusBGPPeerStatus' smart constructor.+data RouterStatusBGPPeerStatus = RouterStatusBGPPeerStatus'+ { _rsbpsStatus :: !(Maybe RouterStatusBGPPeerStatusStatus)+ , _rsbpsIPAddress :: !(Maybe Text)+ , _rsbpsState :: !(Maybe Text)+ , _rsbpsPeerIPAddress :: !(Maybe Text)+ , _rsbpsUptime :: !(Maybe Text)+ , _rsbpsNumLearnedRoutes :: !(Maybe (Textual Word32))+ , _rsbpsName :: !(Maybe Text)+ , _rsbpsUptimeSeconds :: !(Maybe Text)+ , _rsbpsAdvertisedRoutes :: !(Maybe [Route])+ , _rsbpsLinkedVPNTunnel :: !(Maybe Text)+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'RouterStatusBGPPeerStatus' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'rsbpsStatus'+--+-- * 'rsbpsIPAddress'+--+-- * 'rsbpsState'+--+-- * 'rsbpsPeerIPAddress'+--+-- * 'rsbpsUptime'+--+-- * 'rsbpsNumLearnedRoutes'+--+-- * 'rsbpsName'+--+-- * 'rsbpsUptimeSeconds'+--+-- * 'rsbpsAdvertisedRoutes'+--+-- * 'rsbpsLinkedVPNTunnel'+routerStatusBGPPeerStatus+ :: RouterStatusBGPPeerStatus+routerStatusBGPPeerStatus =+ RouterStatusBGPPeerStatus'+ { _rsbpsStatus = Nothing+ , _rsbpsIPAddress = Nothing+ , _rsbpsState = Nothing+ , _rsbpsPeerIPAddress = Nothing+ , _rsbpsUptime = Nothing+ , _rsbpsNumLearnedRoutes = Nothing+ , _rsbpsName = Nothing+ , _rsbpsUptimeSeconds = Nothing+ , _rsbpsAdvertisedRoutes = Nothing+ , _rsbpsLinkedVPNTunnel = Nothing+ }++-- | Status of the BGP peer: {UP, DOWN}+rsbpsStatus :: Lens' RouterStatusBGPPeerStatus (Maybe RouterStatusBGPPeerStatusStatus)+rsbpsStatus+ = lens _rsbpsStatus (\ s a -> s{_rsbpsStatus = a})++-- | IP address of the local BGP interface.+rsbpsIPAddress :: Lens' RouterStatusBGPPeerStatus (Maybe Text)+rsbpsIPAddress+ = lens _rsbpsIPAddress+ (\ s a -> s{_rsbpsIPAddress = a})++-- | BGP state as specified in RFC1771.+rsbpsState :: Lens' RouterStatusBGPPeerStatus (Maybe Text)+rsbpsState+ = lens _rsbpsState (\ s a -> s{_rsbpsState = a})++-- | IP address of the remote BGP interface.+rsbpsPeerIPAddress :: Lens' RouterStatusBGPPeerStatus (Maybe Text)+rsbpsPeerIPAddress+ = lens _rsbpsPeerIPAddress+ (\ s a -> s{_rsbpsPeerIPAddress = a})++-- | Time this session has been up. Format: 14 years, 51 weeks, 6 days, 23+-- hours, 59 minutes, 59 seconds+rsbpsUptime :: Lens' RouterStatusBGPPeerStatus (Maybe Text)+rsbpsUptime+ = lens _rsbpsUptime (\ s a -> s{_rsbpsUptime = a})++-- | Number of routes learned from the remote BGP Peer.+rsbpsNumLearnedRoutes :: Lens' RouterStatusBGPPeerStatus (Maybe Word32)+rsbpsNumLearnedRoutes+ = lens _rsbpsNumLearnedRoutes+ (\ s a -> s{_rsbpsNumLearnedRoutes = a})+ . mapping _Coerce++-- | Name of this BGP peer. Unique within the Routers resource.+rsbpsName :: Lens' RouterStatusBGPPeerStatus (Maybe Text)+rsbpsName+ = lens _rsbpsName (\ s a -> s{_rsbpsName = a})++-- | Time this session has been up, in seconds. Format: 145+rsbpsUptimeSeconds :: Lens' RouterStatusBGPPeerStatus (Maybe Text)+rsbpsUptimeSeconds+ = lens _rsbpsUptimeSeconds+ (\ s a -> s{_rsbpsUptimeSeconds = a})++-- | Routes that were advertised to the remote BGP peer+rsbpsAdvertisedRoutes :: Lens' RouterStatusBGPPeerStatus [Route]+rsbpsAdvertisedRoutes+ = lens _rsbpsAdvertisedRoutes+ (\ s a -> s{_rsbpsAdvertisedRoutes = a})+ . _Default+ . _Coerce++-- | URL of the VPN tunnel that this BGP peer controls.+rsbpsLinkedVPNTunnel :: Lens' RouterStatusBGPPeerStatus (Maybe Text)+rsbpsLinkedVPNTunnel+ = lens _rsbpsLinkedVPNTunnel+ (\ s a -> s{_rsbpsLinkedVPNTunnel = a})++instance FromJSON RouterStatusBGPPeerStatus where+ parseJSON+ = withObject "RouterStatusBGPPeerStatus"+ (\ o ->+ RouterStatusBGPPeerStatus' <$>+ (o .:? "status") <*> (o .:? "ipAddress") <*>+ (o .:? "state")+ <*> (o .:? "peerIpAddress")+ <*> (o .:? "uptime")+ <*> (o .:? "numLearnedRoutes")+ <*> (o .:? "name")+ <*> (o .:? "uptimeSeconds")+ <*> (o .:? "advertisedRoutes" .!= mempty)+ <*> (o .:? "linkedVpnTunnel"))++instance ToJSON RouterStatusBGPPeerStatus where+ toJSON RouterStatusBGPPeerStatus'{..}+ = object+ (catMaybes+ [("status" .=) <$> _rsbpsStatus,+ ("ipAddress" .=) <$> _rsbpsIPAddress,+ ("state" .=) <$> _rsbpsState,+ ("peerIpAddress" .=) <$> _rsbpsPeerIPAddress,+ ("uptime" .=) <$> _rsbpsUptime,+ ("numLearnedRoutes" .=) <$> _rsbpsNumLearnedRoutes,+ ("name" .=) <$> _rsbpsName,+ ("uptimeSeconds" .=) <$> _rsbpsUptimeSeconds,+ ("advertisedRoutes" .=) <$> _rsbpsAdvertisedRoutes,+ ("linkedVpnTunnel" .=) <$> _rsbpsLinkedVPNTunnel])++--+-- /See:/ 'urlMapReference' smart constructor.+newtype URLMapReference = URLMapReference'+ { _umrURLMap :: Maybe Text+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'URLMapReference' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'umrURLMap'+urlMapReference+ :: URLMapReference+urlMapReference =+ URLMapReference'+ { _umrURLMap = Nothing+ }++umrURLMap :: Lens' URLMapReference (Maybe Text)+umrURLMap+ = lens _umrURLMap (\ s a -> s{_umrURLMap = a})++instance FromJSON URLMapReference where+ parseJSON+ = withObject "URLMapReference"+ (\ o -> URLMapReference' <$> (o .:? "urlMap"))++instance ToJSON URLMapReference where+ toJSON URLMapReference'{..}+ = object (catMaybes [("urlMap" .=) <$> _umrURLMap])++--+-- /See:/ 'targetPoolsAddHealthCheckRequest' smart constructor.+newtype TargetPoolsAddHealthCheckRequest = TargetPoolsAddHealthCheckRequest'+ { _tpahcrHealthChecks :: Maybe [HealthCheckReference]+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'TargetPoolsAddHealthCheckRequest' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'tpahcrHealthChecks'+targetPoolsAddHealthCheckRequest+ :: TargetPoolsAddHealthCheckRequest+targetPoolsAddHealthCheckRequest =+ TargetPoolsAddHealthCheckRequest'+ { _tpahcrHealthChecks = Nothing+ }++-- | A list of HttpHealthCheck resources to add to the target pool.+tpahcrHealthChecks :: Lens' TargetPoolsAddHealthCheckRequest [HealthCheckReference]+tpahcrHealthChecks+ = lens _tpahcrHealthChecks+ (\ s a -> s{_tpahcrHealthChecks = a})+ . _Default+ . _Coerce++instance FromJSON TargetPoolsAddHealthCheckRequest+ where+ parseJSON+ = withObject "TargetPoolsAddHealthCheckRequest"+ (\ o ->+ TargetPoolsAddHealthCheckRequest' <$>+ (o .:? "healthChecks" .!= mempty))++instance ToJSON TargetPoolsAddHealthCheckRequest+ where+ toJSON TargetPoolsAddHealthCheckRequest'{..}+ = object+ (catMaybes+ [("healthChecks" .=) <$> _tpahcrHealthChecks])++-- | [Output Only] A map of scoped disk lists.+--+-- /See:/ 'diskAggregatedListItems' smart constructor.+newtype DiskAggregatedListItems = DiskAggregatedListItems'+ { _daliAddtional :: HashMap Text DisksScopedList+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'DiskAggregatedListItems' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'daliAddtional'+diskAggregatedListItems+ :: HashMap Text DisksScopedList -- ^ 'daliAddtional'+ -> DiskAggregatedListItems+diskAggregatedListItems pDaliAddtional_ =+ DiskAggregatedListItems'+ { _daliAddtional = _Coerce # pDaliAddtional_+ }++-- | [Output Only] Name of the scope containing this set of disks.+daliAddtional :: Lens' DiskAggregatedListItems (HashMap Text DisksScopedList)+daliAddtional+ = lens _daliAddtional+ (\ s a -> s{_daliAddtional = a})+ . _Coerce++instance FromJSON DiskAggregatedListItems where+ parseJSON+ = withObject "DiskAggregatedListItems"+ (\ o ->+ DiskAggregatedListItems' <$> (parseJSONObject o))++instance ToJSON DiskAggregatedListItems where+ toJSON = toJSON . _daliAddtional++-- | The location in Cloud Storage and naming method of the daily usage+-- report. Contains bucket_name and report_name prefix.+--+-- /See:/ 'usageExportLocation' smart constructor.+data UsageExportLocation = UsageExportLocation'+ { _uelReportNamePrefix :: !(Maybe Text)+ , _uelBucketName :: !(Maybe Text)+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'UsageExportLocation' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'uelReportNamePrefix'+--+-- * 'uelBucketName'+usageExportLocation+ :: UsageExportLocation+usageExportLocation =+ UsageExportLocation'+ { _uelReportNamePrefix = Nothing+ , _uelBucketName = Nothing+ }++-- | An optional prefix for the name of the usage report object stored in+-- bucketName. If not supplied, defaults to usage. The report is stored as+-- a CSV file named report_name_prefix_gce_YYYYMMDD.csv where YYYYMMDD is+-- the day of the usage according to Pacific Time. If you supply a prefix,+-- it should conform to Cloud Storage object naming conventions.+uelReportNamePrefix :: Lens' UsageExportLocation (Maybe Text)+uelReportNamePrefix+ = lens _uelReportNamePrefix+ (\ s a -> s{_uelReportNamePrefix = a})++-- | The name of an existing bucket in Cloud Storage where the usage report+-- object is stored. The Google Service Account is granted write access to+-- this bucket. This can either be the bucket name by itself, such as+-- example-bucket, or the bucket name with gs:\/\/ or+-- https:\/\/storage.googleapis.com\/ in front of it, such as+-- gs:\/\/example-bucket.+uelBucketName :: Lens' UsageExportLocation (Maybe Text)+uelBucketName+ = lens _uelBucketName+ (\ s a -> s{_uelBucketName = a})++instance FromJSON UsageExportLocation where+ parseJSON+ = withObject "UsageExportLocation"+ (\ o ->+ UsageExportLocation' <$>+ (o .:? "reportNamePrefix") <*> (o .:? "bucketName"))++instance ToJSON UsageExportLocation where+ toJSON UsageExportLocation'{..}+ = object+ (catMaybes+ [("reportNamePrefix" .=) <$> _uelReportNamePrefix,+ ("bucketName" .=) <$> _uelBucketName])++-- | Contains a list of zone resources.+--+-- /See:/ 'zoneList' smart constructor.+data ZoneList = ZoneList'+ { _zlNextPageToken :: !(Maybe Text)+ , _zlKind :: !Text+ , _zlItems :: !(Maybe [Zone])+ , _zlSelfLink :: !(Maybe Text)+ , _zlId :: !(Maybe Text)+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'ZoneList' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'zlNextPageToken'+--+-- * 'zlKind'+--+-- * 'zlItems'+--+-- * 'zlSelfLink'+--+-- * 'zlId'+zoneList+ :: ZoneList+zoneList =+ ZoneList'+ { _zlNextPageToken = Nothing+ , _zlKind = "compute#zoneList"+ , _zlItems = Nothing+ , _zlSelfLink = Nothing+ , _zlId = Nothing+ }++-- | [Output Only] This token allows you to get the next page of results for+-- list requests. If the number of results is larger than maxResults, use+-- the nextPageToken as a value for the query parameter pageToken in the+-- next list request. Subsequent list requests will have their own+-- nextPageToken to continue paging through the results.+zlNextPageToken :: Lens' ZoneList (Maybe Text)+zlNextPageToken+ = lens _zlNextPageToken+ (\ s a -> s{_zlNextPageToken = a})++-- | Type of resource.+zlKind :: Lens' ZoneList Text+zlKind = lens _zlKind (\ s a -> s{_zlKind = a})++-- | [Output Only] A list of Zone resources.+zlItems :: Lens' ZoneList [Zone]+zlItems+ = lens _zlItems (\ s a -> s{_zlItems = a}) . _Default+ . _Coerce++-- | [Output Only] Server-defined URL for this resource.+zlSelfLink :: Lens' ZoneList (Maybe Text)+zlSelfLink+ = lens _zlSelfLink (\ s a -> s{_zlSelfLink = a})++-- | [Output Only] Unique identifier for the resource; defined by the server.+zlId :: Lens' ZoneList (Maybe Text)+zlId = lens _zlId (\ s a -> s{_zlId = a})++instance FromJSON ZoneList where+ parseJSON+ = withObject "ZoneList"+ (\ o ->+ ZoneList' <$>+ (o .:? "nextPageToken") <*>+ (o .:? "kind" .!= "compute#zoneList")+ <*> (o .:? "items" .!= mempty)+ <*> (o .:? "selfLink")+ <*> (o .:? "id"))++instance ToJSON ZoneList where+ toJSON ZoneList'{..}+ = object+ (catMaybes+ [("nextPageToken" .=) <$> _zlNextPageToken,+ Just ("kind" .= _zlKind), ("items" .=) <$> _zlItems,+ ("selfLink" .=) <$> _zlSelfLink,+ ("id" .=) <$> _zlId])++--+-- /See:/ 'routerBGPPeer' smart constructor.+data RouterBGPPeer = RouterBGPPeer'+ { _rbpIPAddress :: !(Maybe Text)+ , _rbpInterfaceName :: !(Maybe Text)+ , _rbpPeerIPAddress :: !(Maybe Text)+ , _rbpAdvertisedRoutePriority :: !(Maybe (Textual Word32))+ , _rbpPeerASN :: !(Maybe (Textual Word32))+ , _rbpName :: !(Maybe Text)+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'RouterBGPPeer' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'rbpIPAddress'+--+-- * 'rbpInterfaceName'+--+-- * 'rbpPeerIPAddress'+--+-- * 'rbpAdvertisedRoutePriority'+--+-- * 'rbpPeerASN'+--+-- * 'rbpName'+routerBGPPeer+ :: RouterBGPPeer+routerBGPPeer =+ RouterBGPPeer'+ { _rbpIPAddress = Nothing+ , _rbpInterfaceName = Nothing+ , _rbpPeerIPAddress = Nothing+ , _rbpAdvertisedRoutePriority = Nothing+ , _rbpPeerASN = Nothing+ , _rbpName = Nothing+ }++-- | IP address of the interface inside Google Cloud Platform.+rbpIPAddress :: Lens' RouterBGPPeer (Maybe Text)+rbpIPAddress+ = lens _rbpIPAddress (\ s a -> s{_rbpIPAddress = a})++-- | Name of the interface the BGP peer is associated with.+rbpInterfaceName :: Lens' RouterBGPPeer (Maybe Text)+rbpInterfaceName+ = lens _rbpInterfaceName+ (\ s a -> s{_rbpInterfaceName = a})++-- | IP address of the BGP interface outside Google cloud.+rbpPeerIPAddress :: Lens' RouterBGPPeer (Maybe Text)+rbpPeerIPAddress+ = lens _rbpPeerIPAddress+ (\ s a -> s{_rbpPeerIPAddress = a})++-- | The priority of routes advertised to this BGP peer. In the case where+-- there is more than one matching route of maximum length, the routes with+-- lowest priority value win.+rbpAdvertisedRoutePriority :: Lens' RouterBGPPeer (Maybe Word32)+rbpAdvertisedRoutePriority+ = lens _rbpAdvertisedRoutePriority+ (\ s a -> s{_rbpAdvertisedRoutePriority = a})+ . mapping _Coerce++-- | Peer BGP Autonomous System Number (ASN). For VPN use case, this value+-- can be different for every tunnel.+rbpPeerASN :: Lens' RouterBGPPeer (Maybe Word32)+rbpPeerASN+ = lens _rbpPeerASN (\ s a -> s{_rbpPeerASN = a}) .+ mapping _Coerce++-- | Name of this BGP peer. The name must be 1-63 characters long and comply+-- with RFC1035.+rbpName :: Lens' RouterBGPPeer (Maybe Text)+rbpName = lens _rbpName (\ s a -> s{_rbpName = a})++instance FromJSON RouterBGPPeer where+ parseJSON+ = withObject "RouterBGPPeer"+ (\ o ->+ RouterBGPPeer' <$>+ (o .:? "ipAddress") <*> (o .:? "interfaceName") <*>+ (o .:? "peerIpAddress")+ <*> (o .:? "advertisedRoutePriority")+ <*> (o .:? "peerAsn")+ <*> (o .:? "name"))++instance ToJSON RouterBGPPeer where+ toJSON RouterBGPPeer'{..}+ = object+ (catMaybes+ [("ipAddress" .=) <$> _rbpIPAddress,+ ("interfaceName" .=) <$> _rbpInterfaceName,+ ("peerIpAddress" .=) <$> _rbpPeerIPAddress,+ ("advertisedRoutePriority" .=) <$>+ _rbpAdvertisedRoutePriority,+ ("peerAsn" .=) <$> _rbpPeerASN,+ ("name" .=) <$> _rbpName])++--+-- /See:/ 'managedInstance' smart constructor.+data ManagedInstance = ManagedInstance'+ { _miLastAttempt :: !(Maybe ManagedInstanceLastAttempt)+ , _miCurrentAction :: !(Maybe ManagedInstanceCurrentAction)+ , _miId :: !(Maybe (Textual Word64))+ , _miInstanceStatus :: !(Maybe ManagedInstanceInstanceStatus)+ , _miInstance :: !(Maybe Text)+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'ManagedInstance' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'miLastAttempt'+--+-- * 'miCurrentAction'+--+-- * 'miId'+--+-- * 'miInstanceStatus'+--+-- * 'miInstance'+managedInstance+ :: ManagedInstance+managedInstance =+ ManagedInstance'+ { _miLastAttempt = Nothing+ , _miCurrentAction = Nothing+ , _miId = Nothing+ , _miInstanceStatus = Nothing+ , _miInstance = Nothing+ }++-- | [Output Only] Information about the last attempt to create or delete the+-- instance.+miLastAttempt :: Lens' ManagedInstance (Maybe ManagedInstanceLastAttempt)+miLastAttempt+ = lens _miLastAttempt+ (\ s a -> s{_miLastAttempt = a})++-- | [Output Only] The current action that the managed instance group has+-- scheduled for the instance. Possible values: - NONE The instance is+-- running, and the managed instance group does not have any scheduled+-- actions for this instance. - CREATING The managed instance group is+-- creating this instance. If the group fails to create this instance, it+-- will try again until it is successful. - CREATING_WITHOUT_RETRIES The+-- managed instance group is attempting to create this instance only once.+-- If the group fails to create this instance, it does not try again and+-- the group\'s targetSize value is decreased instead. - RECREATING The+-- managed instance group is recreating this instance. - DELETING The+-- managed instance group is permanently deleting this instance. -+-- ABANDONING The managed instance group is abandoning this instance. The+-- instance will be removed from the instance group and from any target+-- pools that are associated with this group. - RESTARTING The managed+-- instance group is restarting the instance. - REFRESHING The managed+-- instance group is applying configuration changes to the instance without+-- stopping it. For example, the group can update the target pool list for+-- an instance without stopping that instance.+miCurrentAction :: Lens' ManagedInstance (Maybe ManagedInstanceCurrentAction)+miCurrentAction+ = lens _miCurrentAction+ (\ s a -> s{_miCurrentAction = a})++-- | [Output only] The unique identifier for this resource. This field is+-- empty when instance does not exist.+miId :: Lens' ManagedInstance (Maybe Word64)+miId+ = lens _miId (\ s a -> s{_miId = a}) .+ mapping _Coerce++-- | [Output Only] The status of the instance. This field is empty when the+-- instance does not exist.+miInstanceStatus :: Lens' ManagedInstance (Maybe ManagedInstanceInstanceStatus)+miInstanceStatus+ = lens _miInstanceStatus+ (\ s a -> s{_miInstanceStatus = a})++-- | [Output Only] The URL of the instance. The URL can exist even if the+-- instance has not yet been created.+miInstance :: Lens' ManagedInstance (Maybe Text)+miInstance+ = lens _miInstance (\ s a -> s{_miInstance = a})++instance FromJSON ManagedInstance where+ parseJSON+ = withObject "ManagedInstance"+ (\ o ->+ ManagedInstance' <$>+ (o .:? "lastAttempt") <*> (o .:? "currentAction") <*>+ (o .:? "id")+ <*> (o .:? "instanceStatus")+ <*> (o .:? "instance"))++instance ToJSON ManagedInstance where+ toJSON ManagedInstance'{..}+ = object+ (catMaybes+ [("lastAttempt" .=) <$> _miLastAttempt,+ ("currentAction" .=) <$> _miCurrentAction,+ ("id" .=) <$> _miId,+ ("instanceStatus" .=) <$> _miInstanceStatus,+ ("instance" .=) <$> _miInstance])++-- | [Output Only] A map of filtered managed instance group lists.+--+-- /See:/ 'instanceGroupManagerAggregatedListItems' smart constructor.+newtype InstanceGroupManagerAggregatedListItems = InstanceGroupManagerAggregatedListItems'+ { _igmaliAddtional :: HashMap Text InstanceGroupManagersScopedList+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'InstanceGroupManagerAggregatedListItems' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'igmaliAddtional'+instanceGroupManagerAggregatedListItems+ :: HashMap Text InstanceGroupManagersScopedList -- ^ 'igmaliAddtional'+ -> InstanceGroupManagerAggregatedListItems+instanceGroupManagerAggregatedListItems pIgmaliAddtional_ =+ InstanceGroupManagerAggregatedListItems'+ { _igmaliAddtional = _Coerce # pIgmaliAddtional_+ }++-- | [Output Only] The name of the scope that contains this set of managed+-- instance groups.+igmaliAddtional :: Lens' InstanceGroupManagerAggregatedListItems (HashMap Text InstanceGroupManagersScopedList)+igmaliAddtional+ = lens _igmaliAddtional+ (\ s a -> s{_igmaliAddtional = a})+ . _Coerce++instance FromJSON+ InstanceGroupManagerAggregatedListItems where+ parseJSON+ = withObject+ "InstanceGroupManagerAggregatedListItems"+ (\ o ->+ InstanceGroupManagerAggregatedListItems' <$>+ (parseJSONObject o))++instance ToJSON+ InstanceGroupManagerAggregatedListItems where+ toJSON = toJSON . _igmaliAddtional++--+-- /See:/ 'instanceGroupManagersDeleteInstancesRequest' smart constructor.+newtype InstanceGroupManagersDeleteInstancesRequest = InstanceGroupManagersDeleteInstancesRequest'+ { _igmdirInstances :: Maybe [Text]+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'InstanceGroupManagersDeleteInstancesRequest' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'igmdirInstances'+instanceGroupManagersDeleteInstancesRequest+ :: InstanceGroupManagersDeleteInstancesRequest+instanceGroupManagersDeleteInstancesRequest =+ InstanceGroupManagersDeleteInstancesRequest'+ { _igmdirInstances = Nothing+ }++-- | The list of instances to delete from this managed instance group.+-- Specify one or more instance URLs.+igmdirInstances :: Lens' InstanceGroupManagersDeleteInstancesRequest [Text]+igmdirInstances+ = lens _igmdirInstances+ (\ s a -> s{_igmdirInstances = a})+ . _Default+ . _Coerce++instance FromJSON+ InstanceGroupManagersDeleteInstancesRequest where+ parseJSON+ = withObject+ "InstanceGroupManagersDeleteInstancesRequest"+ (\ o ->+ InstanceGroupManagersDeleteInstancesRequest' <$>+ (o .:? "instances" .!= mempty))++instance ToJSON+ InstanceGroupManagersDeleteInstancesRequest where+ toJSON+ InstanceGroupManagersDeleteInstancesRequest'{..}+ = object+ (catMaybes [("instances" .=) <$> _igmdirInstances])++-- | Message containing information of one individual backend.+--+-- /See:/ 'backend' smart constructor.+data Backend = Backend'+ { _bGroup :: !(Maybe Text)+ , _bBalancingMode :: !(Maybe BackendBalancingMode)+ , _bMaxUtilization :: !(Maybe (Textual Double))+ , _bMaxRate :: !(Maybe (Textual Int32))+ , _bMaxConnections :: !(Maybe (Textual Int32))+ , _bMaxConnectionsPerInstance :: !(Maybe (Textual Int32))+ , _bMaxRatePerInstance :: !(Maybe (Textual Double))+ , _bDescription :: !(Maybe Text)+ , _bCapacityScaler :: !(Maybe (Textual Double))+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'Backend' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'bGroup'+--+-- * 'bBalancingMode'+--+-- * 'bMaxUtilization'+--+-- * 'bMaxRate'+--+-- * 'bMaxConnections'+--+-- * 'bMaxConnectionsPerInstance'+--+-- * 'bMaxRatePerInstance'+--+-- * 'bDescription'+--+-- * 'bCapacityScaler'+backend+ :: Backend+backend =+ Backend'+ { _bGroup = Nothing+ , _bBalancingMode = Nothing+ , _bMaxUtilization = Nothing+ , _bMaxRate = Nothing+ , _bMaxConnections = Nothing+ , _bMaxConnectionsPerInstance = Nothing+ , _bMaxRatePerInstance = Nothing+ , _bDescription = Nothing+ , _bCapacityScaler = Nothing+ }++-- | The fully-qualified URL of a zonal Instance Group resource. This+-- instance group defines the list of instances that serve traffic. Member+-- virtual machine instances from each instance group must live in the same+-- zone as the instance group itself. No two backends in a backend service+-- are allowed to use same Instance Group resource. Note that you must+-- specify an Instance Group resource using the fully-qualified URL, rather+-- than a partial URL. When the BackendService has load balancing scheme+-- INTERNAL, the instance group must be in a zone within the same region as+-- the BackendService.+bGroup :: Lens' Backend (Maybe Text)+bGroup = lens _bGroup (\ s a -> s{_bGroup = a})++-- | Specifies the balancing mode for this backend. For global HTTP(S) or+-- TCP\/SSL load balancing, the default is UTILIZATION. Valid values are+-- UTILIZATION, RATE (for HTTP(S)) and CONNECTION (for TCP\/SSL). This+-- cannot be used for internal load balancing.+bBalancingMode :: Lens' Backend (Maybe BackendBalancingMode)+bBalancingMode+ = lens _bBalancingMode+ (\ s a -> s{_bBalancingMode = a})++-- | Used when balancingMode is UTILIZATION. This ratio defines the CPU+-- utilization target for the group. The default is 0.8. Valid range is+-- [0.0, 1.0]. This cannot be used for internal load balancing.+bMaxUtilization :: Lens' Backend (Maybe Double)+bMaxUtilization+ = lens _bMaxUtilization+ (\ s a -> s{_bMaxUtilization = a})+ . mapping _Coerce++-- | The max requests per second (RPS) of the group. Can be used with either+-- RATE or UTILIZATION balancing modes, but required if RATE mode. For RATE+-- mode, either maxRate or maxRatePerInstance must be set. This cannot be+-- used for internal load balancing.+bMaxRate :: Lens' Backend (Maybe Int32)+bMaxRate+ = lens _bMaxRate (\ s a -> s{_bMaxRate = a}) .+ mapping _Coerce++-- | The max number of simultaneous connections for the group. Can be used+-- with either CONNECTION or UTILIZATION balancing modes. For CONNECTION+-- mode, either maxConnections or maxConnectionsPerInstance must be set.+-- This cannot be used for internal load balancing.+bMaxConnections :: Lens' Backend (Maybe Int32)+bMaxConnections+ = lens _bMaxConnections+ (\ s a -> s{_bMaxConnections = a})+ . mapping _Coerce++-- | The max number of simultaneous connections that a single backend+-- instance can handle. This is used to calculate the capacity of the+-- group. Can be used in either CONNECTION or UTILIZATION balancing modes.+-- For CONNECTION mode, either maxConnections or maxConnectionsPerInstance+-- must be set. This cannot be used for internal load balancing.+bMaxConnectionsPerInstance :: Lens' Backend (Maybe Int32)+bMaxConnectionsPerInstance+ = lens _bMaxConnectionsPerInstance+ (\ s a -> s{_bMaxConnectionsPerInstance = a})+ . mapping _Coerce++-- | The max requests per second (RPS) that a single backend instance can+-- handle.This is used to calculate the capacity of the group. Can be used+-- in either balancing mode. For RATE mode, either maxRate or+-- maxRatePerInstance must be set. This cannot be used for internal load+-- balancing.+bMaxRatePerInstance :: Lens' Backend (Maybe Double)+bMaxRatePerInstance+ = lens _bMaxRatePerInstance+ (\ s a -> s{_bMaxRatePerInstance = a})+ . mapping _Coerce++-- | An optional description of this resource. Provide this property when you+-- create the resource.+bDescription :: Lens' Backend (Maybe Text)+bDescription+ = lens _bDescription (\ s a -> s{_bDescription = a})++-- | A multiplier applied to the group\'s maximum servicing capacity (based+-- on UTILIZATION, RATE or CONNECTION). Default value is 1, which means the+-- group will serve up to 100% of its configured capacity (depending on+-- balancingMode). A setting of 0 means the group is completely drained,+-- offering 0% of its available Capacity. Valid range is [0.0,1.0]. This+-- cannot be used for internal load balancing.+bCapacityScaler :: Lens' Backend (Maybe Double)+bCapacityScaler+ = lens _bCapacityScaler+ (\ s a -> s{_bCapacityScaler = a})+ . mapping _Coerce++instance FromJSON Backend where+ parseJSON+ = withObject "Backend"+ (\ o ->+ Backend' <$>+ (o .:? "group") <*> (o .:? "balancingMode") <*>+ (o .:? "maxUtilization")+ <*> (o .:? "maxRate")+ <*> (o .:? "maxConnections")+ <*> (o .:? "maxConnectionsPerInstance")+ <*> (o .:? "maxRatePerInstance")+ <*> (o .:? "description")+ <*> (o .:? "capacityScaler"))++instance ToJSON Backend where+ toJSON Backend'{..}+ = object+ (catMaybes+ [("group" .=) <$> _bGroup,+ ("balancingMode" .=) <$> _bBalancingMode,+ ("maxUtilization" .=) <$> _bMaxUtilization,+ ("maxRate" .=) <$> _bMaxRate,+ ("maxConnections" .=) <$> _bMaxConnections,+ ("maxConnectionsPerInstance" .=) <$>+ _bMaxConnectionsPerInstance,+ ("maxRatePerInstance" .=) <$> _bMaxRatePerInstance,+ ("description" .=) <$> _bDescription,+ ("capacityScaler" .=) <$> _bCapacityScaler])++-- | [Output Only] Informational warning which replaces the list of addresses+-- when the list is empty.+--+-- /See:/ 'targetVPNGatewaysScopedListWarning' smart constructor.+data TargetVPNGatewaysScopedListWarning = TargetVPNGatewaysScopedListWarning'+ { _tvgslwData :: !(Maybe [TargetVPNGatewaysScopedListWarningDataItem])+ , _tvgslwCode :: !(Maybe TargetVPNGatewaysScopedListWarningCode)+ , _tvgslwMessage :: !(Maybe Text)+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'TargetVPNGatewaysScopedListWarning' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'tvgslwData'+--+-- * 'tvgslwCode'+--+-- * 'tvgslwMessage'+targetVPNGatewaysScopedListWarning+ :: TargetVPNGatewaysScopedListWarning+targetVPNGatewaysScopedListWarning =+ TargetVPNGatewaysScopedListWarning'+ { _tvgslwData = Nothing+ , _tvgslwCode = Nothing+ , _tvgslwMessage = Nothing+ }++-- | [Output Only] Metadata about this warning in key: value format. For+-- example: \"data\": [ { \"key\": \"scope\", \"value\":+-- \"zones\/us-east1-d\" }+tvgslwData :: Lens' TargetVPNGatewaysScopedListWarning [TargetVPNGatewaysScopedListWarningDataItem]+tvgslwData+ = lens _tvgslwData (\ s a -> s{_tvgslwData = a}) .+ _Default+ . _Coerce++-- | [Output Only] A warning code, if applicable. For example, Compute Engine+-- returns NO_RESULTS_ON_PAGE if there are no results in the response.+tvgslwCode :: Lens' TargetVPNGatewaysScopedListWarning (Maybe TargetVPNGatewaysScopedListWarningCode)+tvgslwCode+ = lens _tvgslwCode (\ s a -> s{_tvgslwCode = a})++-- | [Output Only] A human-readable description of the warning code.+tvgslwMessage :: Lens' TargetVPNGatewaysScopedListWarning (Maybe Text)+tvgslwMessage+ = lens _tvgslwMessage+ (\ s a -> s{_tvgslwMessage = a})++instance FromJSON TargetVPNGatewaysScopedListWarning+ where+ parseJSON+ = withObject "TargetVPNGatewaysScopedListWarning"+ (\ o ->+ TargetVPNGatewaysScopedListWarning' <$>+ (o .:? "data" .!= mempty) <*> (o .:? "code") <*>+ (o .:? "message"))++instance ToJSON TargetVPNGatewaysScopedListWarning+ where+ toJSON TargetVPNGatewaysScopedListWarning'{..}+ = object+ (catMaybes+ [("data" .=) <$> _tvgslwData,+ ("code" .=) <$> _tvgslwCode,+ ("message" .=) <$> _tvgslwMessage])++-- | Contains a list of addresses.+--+-- /See:/ 'addressList' smart constructor.+data AddressList = AddressList'+ { _alNextPageToken :: !(Maybe Text)+ , _alKind :: !Text+ , _alItems :: !(Maybe [Address])+ , _alSelfLink :: !(Maybe Text)+ , _alId :: !(Maybe Text)+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'AddressList' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'alNextPageToken'+--+-- * 'alKind'+--+-- * 'alItems'+--+-- * 'alSelfLink'+--+-- * 'alId'+addressList+ :: AddressList+addressList =+ AddressList'+ { _alNextPageToken = Nothing+ , _alKind = "compute#addressList"+ , _alItems = Nothing+ , _alSelfLink = Nothing+ , _alId = Nothing+ }++-- | [Output Only] This token allows you to get the next page of results for+-- list requests. If the number of results is larger than maxResults, use+-- the nextPageToken as a value for the query parameter pageToken in the+-- next list request. Subsequent list requests will have their own+-- nextPageToken to continue paging through the results.+alNextPageToken :: Lens' AddressList (Maybe Text)+alNextPageToken+ = lens _alNextPageToken+ (\ s a -> s{_alNextPageToken = a})++-- | [Output Only] Type of resource. Always compute#addressList for lists of+-- addresses.+alKind :: Lens' AddressList Text+alKind = lens _alKind (\ s a -> s{_alKind = a})++-- | [Output Only] A list of addresses.+alItems :: Lens' AddressList [Address]+alItems+ = lens _alItems (\ s a -> s{_alItems = a}) . _Default+ . _Coerce++-- | [Output Only] Server-defined URL for the resource.+alSelfLink :: Lens' AddressList (Maybe Text)+alSelfLink+ = lens _alSelfLink (\ s a -> s{_alSelfLink = a})++-- | [Output Only] The unique identifier for the resource. This identifier is+-- defined by the server.+alId :: Lens' AddressList (Maybe Text)+alId = lens _alId (\ s a -> s{_alId = a})++instance FromJSON AddressList where+ parseJSON+ = withObject "AddressList"+ (\ o ->+ AddressList' <$>+ (o .:? "nextPageToken") <*>+ (o .:? "kind" .!= "compute#addressList")+ <*> (o .:? "items" .!= mempty)+ <*> (o .:? "selfLink")+ <*> (o .:? "id"))++instance ToJSON AddressList where+ toJSON AddressList'{..}+ = object+ (catMaybes+ [("nextPageToken" .=) <$> _alNextPageToken,+ Just ("kind" .= _alKind), ("items" .=) <$> _alItems,+ ("selfLink" .=) <$> _alSelfLink,+ ("id" .=) <$> _alId])++-- | A map of scoped forwarding rule lists.+--+-- /See:/ 'forwardingRuleAggregatedListItems' smart constructor.+newtype ForwardingRuleAggregatedListItems = ForwardingRuleAggregatedListItems'+ { _fraliAddtional :: HashMap Text ForwardingRulesScopedList+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'ForwardingRuleAggregatedListItems' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'fraliAddtional'+forwardingRuleAggregatedListItems+ :: HashMap Text ForwardingRulesScopedList -- ^ 'fraliAddtional'+ -> ForwardingRuleAggregatedListItems+forwardingRuleAggregatedListItems pFraliAddtional_ =+ ForwardingRuleAggregatedListItems'+ { _fraliAddtional = _Coerce # pFraliAddtional_+ }++-- | Name of the scope containing this set of addresses.+fraliAddtional :: Lens' ForwardingRuleAggregatedListItems (HashMap Text ForwardingRulesScopedList)+fraliAddtional+ = lens _fraliAddtional+ (\ s a -> s{_fraliAddtional = a})+ . _Coerce++instance FromJSON ForwardingRuleAggregatedListItems+ where+ parseJSON+ = withObject "ForwardingRuleAggregatedListItems"+ (\ o ->+ ForwardingRuleAggregatedListItems' <$>+ (parseJSONObject o))++instance ToJSON ForwardingRuleAggregatedListItems+ where+ toJSON = toJSON . _fraliAddtional++-- | [Output Only] A map of scoped operation lists.+--+-- /See:/ 'operationAggregatedListItems' smart constructor.+newtype OperationAggregatedListItems = OperationAggregatedListItems'+ { _oaliAddtional :: HashMap Text OperationsScopedList+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'OperationAggregatedListItems' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'oaliAddtional'+operationAggregatedListItems+ :: HashMap Text OperationsScopedList -- ^ 'oaliAddtional'+ -> OperationAggregatedListItems+operationAggregatedListItems pOaliAddtional_ =+ OperationAggregatedListItems'+ { _oaliAddtional = _Coerce # pOaliAddtional_+ }++-- | [Output Only] Name of the scope containing this set of operations.+oaliAddtional :: Lens' OperationAggregatedListItems (HashMap Text OperationsScopedList)+oaliAddtional+ = lens _oaliAddtional+ (\ s a -> s{_oaliAddtional = a})+ . _Coerce++instance FromJSON OperationAggregatedListItems where+ parseJSON+ = withObject "OperationAggregatedListItems"+ (\ o ->+ OperationAggregatedListItems' <$>+ (parseJSONObject o))++instance ToJSON OperationAggregatedListItems where+ toJSON = toJSON . _oaliAddtional++--+-- /See:/ 'instanceGroupManagerActionsSummary' smart constructor.+data InstanceGroupManagerActionsSummary = InstanceGroupManagerActionsSummary'+ { _igmasDeleting :: !(Maybe (Textual Int32))+ , _igmasRestarting :: !(Maybe (Textual Int32))+ , _igmasNone :: !(Maybe (Textual Int32))+ , _igmasCreating :: !(Maybe (Textual Int32))+ , _igmasRefreshing :: !(Maybe (Textual Int32))+ , _igmasCreatingWithoutRetries :: !(Maybe (Textual Int32))+ , _igmasRecreating :: !(Maybe (Textual Int32))+ , _igmasAbandoning :: !(Maybe (Textual Int32))+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'InstanceGroupManagerActionsSummary' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'igmasDeleting'+--+-- * 'igmasRestarting'+--+-- * 'igmasNone'+--+-- * 'igmasCreating'+--+-- * 'igmasRefreshing'+--+-- * 'igmasCreatingWithoutRetries'+--+-- * 'igmasRecreating'+--+-- * 'igmasAbandoning'+instanceGroupManagerActionsSummary+ :: InstanceGroupManagerActionsSummary+instanceGroupManagerActionsSummary =+ InstanceGroupManagerActionsSummary'+ { _igmasDeleting = Nothing+ , _igmasRestarting = Nothing+ , _igmasNone = Nothing+ , _igmasCreating = Nothing+ , _igmasRefreshing = Nothing+ , _igmasCreatingWithoutRetries = Nothing+ , _igmasRecreating = Nothing+ , _igmasAbandoning = Nothing+ }++-- | [Output Only] The number of instances in the managed instance group that+-- are scheduled to be deleted or are currently being deleted.+igmasDeleting :: Lens' InstanceGroupManagerActionsSummary (Maybe Int32)+igmasDeleting+ = lens _igmasDeleting+ (\ s a -> s{_igmasDeleting = a})+ . mapping _Coerce++-- | [Output Only] The number of instances in the managed instance group that+-- are scheduled to be restarted or are currently being restarted.+igmasRestarting :: Lens' InstanceGroupManagerActionsSummary (Maybe Int32)+igmasRestarting+ = lens _igmasRestarting+ (\ s a -> s{_igmasRestarting = a})+ . mapping _Coerce++-- | [Output Only] The number of instances in the managed instance group that+-- are running and have no scheduled actions.+igmasNone :: Lens' InstanceGroupManagerActionsSummary (Maybe Int32)+igmasNone+ = lens _igmasNone (\ s a -> s{_igmasNone = a}) .+ mapping _Coerce++-- | [Output Only] The number of instances in the managed instance group that+-- are scheduled to be created or are currently being created. If the group+-- fails to create any of these instances, it tries again until it creates+-- the instance successfully. If you have disabled creation retries, this+-- field will not be populated; instead, the creatingWithoutRetries field+-- will be populated.+igmasCreating :: Lens' InstanceGroupManagerActionsSummary (Maybe Int32)+igmasCreating+ = lens _igmasCreating+ (\ s a -> s{_igmasCreating = a})+ . mapping _Coerce++-- | [Output Only] The number of instances in the managed instance group that+-- are being reconfigured with properties that do not require a restart or+-- a recreate action. For example, setting or removing target pools for the+-- instance.+igmasRefreshing :: Lens' InstanceGroupManagerActionsSummary (Maybe Int32)+igmasRefreshing+ = lens _igmasRefreshing+ (\ s a -> s{_igmasRefreshing = a})+ . mapping _Coerce++-- | [Output Only] The number of instances that the managed instance group+-- will attempt to create. The group attempts to create each instance only+-- once. If the group fails to create any of these instances, it decreases+-- the group\'s targetSize value accordingly.+igmasCreatingWithoutRetries :: Lens' InstanceGroupManagerActionsSummary (Maybe Int32)+igmasCreatingWithoutRetries+ = lens _igmasCreatingWithoutRetries+ (\ s a -> s{_igmasCreatingWithoutRetries = a})+ . mapping _Coerce++-- | [Output Only] The number of instances in the managed instance group that+-- are scheduled to be recreated or are currently being being recreated.+-- Recreating an instance deletes the existing root persistent disk and+-- creates a new disk from the image that is defined in the instance+-- template.+igmasRecreating :: Lens' InstanceGroupManagerActionsSummary (Maybe Int32)+igmasRecreating+ = lens _igmasRecreating+ (\ s a -> s{_igmasRecreating = a})+ . mapping _Coerce++-- | [Output Only] The total number of instances in the managed instance+-- group that are scheduled to be abandoned. Abandoning an instance removes+-- it from the managed instance group without deleting it.+igmasAbandoning :: Lens' InstanceGroupManagerActionsSummary (Maybe Int32)+igmasAbandoning+ = lens _igmasAbandoning+ (\ s a -> s{_igmasAbandoning = a})+ . mapping _Coerce++instance FromJSON InstanceGroupManagerActionsSummary+ where+ parseJSON+ = withObject "InstanceGroupManagerActionsSummary"+ (\ o ->+ InstanceGroupManagerActionsSummary' <$>+ (o .:? "deleting") <*> (o .:? "restarting") <*>+ (o .:? "none")+ <*> (o .:? "creating")+ <*> (o .:? "refreshing")+ <*> (o .:? "creatingWithoutRetries")+ <*> (o .:? "recreating")+ <*> (o .:? "abandoning"))++instance ToJSON InstanceGroupManagerActionsSummary+ where+ toJSON InstanceGroupManagerActionsSummary'{..}+ = object+ (catMaybes+ [("deleting" .=) <$> _igmasDeleting,+ ("restarting" .=) <$> _igmasRestarting,+ ("none" .=) <$> _igmasNone,+ ("creating" .=) <$> _igmasCreating,+ ("refreshing" .=) <$> _igmasRefreshing,+ ("creatingWithoutRetries" .=) <$>+ _igmasCreatingWithoutRetries,+ ("recreating" .=) <$> _igmasRecreating,+ ("abandoning" .=) <$> _igmasAbandoning])++-- | A service account.+--+-- /See:/ 'serviceAccount' smart constructor.+data ServiceAccount = ServiceAccount'+ { _saEmail :: !(Maybe Text)+ , _saScopes :: !(Maybe [Text])+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'ServiceAccount' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'saEmail'+--+-- * 'saScopes'+serviceAccount+ :: ServiceAccount+serviceAccount =+ ServiceAccount'+ { _saEmail = Nothing+ , _saScopes = Nothing+ }++-- | Email address of the service account.+saEmail :: Lens' ServiceAccount (Maybe Text)+saEmail = lens _saEmail (\ s a -> s{_saEmail = a})++-- | The list of scopes to be made available for this service account.+saScopes :: Lens' ServiceAccount [Text]+saScopes+ = lens _saScopes (\ s a -> s{_saScopes = a}) .+ _Default+ . _Coerce++instance FromJSON ServiceAccount where+ parseJSON+ = withObject "ServiceAccount"+ (\ o ->+ ServiceAccount' <$>+ (o .:? "email") <*> (o .:? "scopes" .!= mempty))++instance ToJSON ServiceAccount where+ toJSON ServiceAccount'{..}+ = object+ (catMaybes+ [("email" .=) <$> _saEmail,+ ("scopes" .=) <$> _saScopes])++-- | Contains a list of networks.+--+-- /See:/ 'networkList' smart constructor.+data NetworkList = NetworkList'+ { _nlNextPageToken :: !(Maybe Text)+ , _nlKind :: !Text+ , _nlItems :: !(Maybe [Network])+ , _nlSelfLink :: !(Maybe Text)+ , _nlId :: !(Maybe Text)+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'NetworkList' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'nlNextPageToken'+--+-- * 'nlKind'+--+-- * 'nlItems'+--+-- * 'nlSelfLink'+--+-- * 'nlId'+networkList+ :: NetworkList+networkList =+ NetworkList'+ { _nlNextPageToken = Nothing+ , _nlKind = "compute#networkList"+ , _nlItems = Nothing+ , _nlSelfLink = Nothing+ , _nlId = Nothing+ }++-- | [Output Only] This token allows you to get the next page of results for+-- list requests. If the number of results is larger than maxResults, use+-- the nextPageToken as a value for the query parameter pageToken in the+-- next list request. Subsequent list requests will have their own+-- nextPageToken to continue paging through the results.+nlNextPageToken :: Lens' NetworkList (Maybe Text)+nlNextPageToken+ = lens _nlNextPageToken+ (\ s a -> s{_nlNextPageToken = a})++-- | [Output Only] Type of resource. Always compute#networkList for lists of+-- networks.+nlKind :: Lens' NetworkList Text+nlKind = lens _nlKind (\ s a -> s{_nlKind = a})++-- | [Output Only] A list of Network resources.+nlItems :: Lens' NetworkList [Network]+nlItems+ = lens _nlItems (\ s a -> s{_nlItems = a}) . _Default+ . _Coerce++-- | [Output Only] Server-defined URL for this resource.+nlSelfLink :: Lens' NetworkList (Maybe Text)+nlSelfLink+ = lens _nlSelfLink (\ s a -> s{_nlSelfLink = a})++-- | [Output Only] The unique identifier for the resource. This identifier is+-- defined by the server.+nlId :: Lens' NetworkList (Maybe Text)+nlId = lens _nlId (\ s a -> s{_nlId = a})++instance FromJSON NetworkList where+ parseJSON+ = withObject "NetworkList"+ (\ o ->+ NetworkList' <$>+ (o .:? "nextPageToken") <*>+ (o .:? "kind" .!= "compute#networkList")+ <*> (o .:? "items" .!= mempty)+ <*> (o .:? "selfLink")+ <*> (o .:? "id"))++instance ToJSON NetworkList where+ toJSON NetworkList'{..}+ = object+ (catMaybes+ [("nextPageToken" .=) <$> _nlNextPageToken,+ Just ("kind" .= _nlKind), ("items" .=) <$> _nlItems,+ ("selfLink" .=) <$> _nlSelfLink,+ ("id" .=) <$> _nlId])++--+-- /See:/ 'instanceGroupsListInstancesRequest' smart constructor.+newtype InstanceGroupsListInstancesRequest = InstanceGroupsListInstancesRequest'+ { _iglirInstanceState :: Maybe InstanceGroupsListInstancesRequestInstanceState+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'InstanceGroupsListInstancesRequest' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'iglirInstanceState'+instanceGroupsListInstancesRequest+ :: InstanceGroupsListInstancesRequest+instanceGroupsListInstancesRequest =+ InstanceGroupsListInstancesRequest'+ { _iglirInstanceState = Nothing+ }++-- | A filter for the state of the instances in the instance group. Valid+-- options are ALL or RUNNING. If you do not specify this parameter the+-- list includes all instances regardless of their state.+iglirInstanceState :: Lens' InstanceGroupsListInstancesRequest (Maybe InstanceGroupsListInstancesRequestInstanceState)+iglirInstanceState+ = lens _iglirInstanceState+ (\ s a -> s{_iglirInstanceState = a})++instance FromJSON InstanceGroupsListInstancesRequest+ where+ parseJSON+ = withObject "InstanceGroupsListInstancesRequest"+ (\ o ->+ InstanceGroupsListInstancesRequest' <$>+ (o .:? "instanceState"))++instance ToJSON InstanceGroupsListInstancesRequest+ where+ toJSON InstanceGroupsListInstancesRequest'{..}+ = object+ (catMaybes+ [("instanceState" .=) <$> _iglirInstanceState])++-- | [Output Only] A map of scoped target pool lists.+--+-- /See:/ 'targetPoolAggregatedListItems' smart constructor.+newtype TargetPoolAggregatedListItems = TargetPoolAggregatedListItems'+ { _tpaliAddtional :: HashMap Text TargetPoolsScopedList+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'TargetPoolAggregatedListItems' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'tpaliAddtional'+targetPoolAggregatedListItems+ :: HashMap Text TargetPoolsScopedList -- ^ 'tpaliAddtional'+ -> TargetPoolAggregatedListItems+targetPoolAggregatedListItems pTpaliAddtional_ =+ TargetPoolAggregatedListItems'+ { _tpaliAddtional = _Coerce # pTpaliAddtional_+ }++-- | Name of the scope containing this set of target pools.+tpaliAddtional :: Lens' TargetPoolAggregatedListItems (HashMap Text TargetPoolsScopedList)+tpaliAddtional+ = lens _tpaliAddtional+ (\ s a -> s{_tpaliAddtional = a})+ . _Coerce++instance FromJSON TargetPoolAggregatedListItems where+ parseJSON+ = withObject "TargetPoolAggregatedListItems"+ (\ o ->+ TargetPoolAggregatedListItems' <$>+ (parseJSONObject o))++instance ToJSON TargetPoolAggregatedListItems where+ toJSON = toJSON . _tpaliAddtional++--+-- /See:/ 'targetInstancesScopedList' smart constructor.+data TargetInstancesScopedList = TargetInstancesScopedList'+ { _tislWarning :: !(Maybe TargetInstancesScopedListWarning)+ , _tislTargetInstances :: !(Maybe [TargetInstance])+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'TargetInstancesScopedList' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'tislWarning'+--+-- * 'tislTargetInstances'+targetInstancesScopedList+ :: TargetInstancesScopedList+targetInstancesScopedList =+ TargetInstancesScopedList'+ { _tislWarning = Nothing+ , _tislTargetInstances = Nothing+ }++-- | Informational warning which replaces the list of addresses when the list+-- is empty.+tislWarning :: Lens' TargetInstancesScopedList (Maybe TargetInstancesScopedListWarning)+tislWarning+ = lens _tislWarning (\ s a -> s{_tislWarning = a})++-- | List of target instances contained in this scope.+tislTargetInstances :: Lens' TargetInstancesScopedList [TargetInstance]+tislTargetInstances+ = lens _tislTargetInstances+ (\ s a -> s{_tislTargetInstances = a})+ . _Default+ . _Coerce++instance FromJSON TargetInstancesScopedList where+ parseJSON+ = withObject "TargetInstancesScopedList"+ (\ o ->+ TargetInstancesScopedList' <$>+ (o .:? "warning") <*>+ (o .:? "targetInstances" .!= mempty))++instance ToJSON TargetInstancesScopedList where+ toJSON TargetInstancesScopedList'{..}+ = object+ (catMaybes+ [("warning" .=) <$> _tislWarning,+ ("targetInstances" .=) <$> _tislTargetInstances])++-- | [Output Only] A map of scoped address lists.+--+-- /See:/ 'addressAggregatedListItems' smart constructor.+newtype AddressAggregatedListItems = AddressAggregatedListItems'+ { _aAddtional :: HashMap Text AddressesScopedList+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'AddressAggregatedListItems' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'aAddtional'+addressAggregatedListItems+ :: HashMap Text AddressesScopedList -- ^ 'aAddtional'+ -> AddressAggregatedListItems+addressAggregatedListItems pAAddtional_ =+ AddressAggregatedListItems'+ { _aAddtional = _Coerce # pAAddtional_+ }++-- | [Output Only] Name of the scope containing this set of addresses.+aAddtional :: Lens' AddressAggregatedListItems (HashMap Text AddressesScopedList)+aAddtional+ = lens _aAddtional (\ s a -> s{_aAddtional = a}) .+ _Coerce++instance FromJSON AddressAggregatedListItems where+ parseJSON+ = withObject "AddressAggregatedListItems"+ (\ o ->+ AddressAggregatedListItems' <$> (parseJSONObject o))++instance ToJSON AddressAggregatedListItems where+ toJSON = toJSON . _aAddtional++-- | Contains a list of Autoscaler resources.+--+-- /See:/ 'autoscalerList' smart constructor.+data AutoscalerList = AutoscalerList'+ { _autNextPageToken :: !(Maybe Text)+ , _autKind :: !Text+ , _autItems :: !(Maybe [Autoscaler])+ , _autSelfLink :: !(Maybe Text)+ , _autId :: !(Maybe Text)+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'AutoscalerList' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'autNextPageToken'+--+-- * 'autKind'+--+-- * 'autItems'+--+-- * 'autSelfLink'+--+-- * 'autId'+autoscalerList+ :: AutoscalerList+autoscalerList =+ AutoscalerList'+ { _autNextPageToken = Nothing+ , _autKind = "compute#autoscalerList"+ , _autItems = Nothing+ , _autSelfLink = Nothing+ , _autId = Nothing+ }++-- | [Output Only] This token allows you to get the next page of results for+-- list requests. If the number of results is larger than maxResults, use+-- the nextPageToken as a value for the query parameter pageToken in the+-- next list request. Subsequent list requests will have their own+-- nextPageToken to continue paging through the results.+autNextPageToken :: Lens' AutoscalerList (Maybe Text)+autNextPageToken+ = lens _autNextPageToken+ (\ s a -> s{_autNextPageToken = a})++-- | [Output Only] Type of resource. Always compute#autoscalerList for lists+-- of autoscalers.+autKind :: Lens' AutoscalerList Text+autKind = lens _autKind (\ s a -> s{_autKind = a})++-- | A list of Autoscaler resources.+autItems :: Lens' AutoscalerList [Autoscaler]+autItems+ = lens _autItems (\ s a -> s{_autItems = a}) .+ _Default+ . _Coerce++-- | [Output Only] Server-defined URL for this resource.+autSelfLink :: Lens' AutoscalerList (Maybe Text)+autSelfLink+ = lens _autSelfLink (\ s a -> s{_autSelfLink = a})++-- | [Output Only] The unique identifier for the resource. This identifier is+-- defined by the server.+autId :: Lens' AutoscalerList (Maybe Text)+autId = lens _autId (\ s a -> s{_autId = a})++instance FromJSON AutoscalerList where+ parseJSON+ = withObject "AutoscalerList"+ (\ o ->+ AutoscalerList' <$>+ (o .:? "nextPageToken") <*>+ (o .:? "kind" .!= "compute#autoscalerList")+ <*> (o .:? "items" .!= mempty)+ <*> (o .:? "selfLink")+ <*> (o .:? "id"))++instance ToJSON AutoscalerList where+ toJSON AutoscalerList'{..}+ = object+ (catMaybes+ [("nextPageToken" .=) <$> _autNextPageToken,+ Just ("kind" .= _autKind),+ ("items" .=) <$> _autItems,+ ("selfLink" .=) <$> _autSelfLink,+ ("id" .=) <$> _autId])++--+-- /See:/ 'targetSSLProxiesSetProxyHeaderRequest' smart constructor.+newtype TargetSSLProxiesSetProxyHeaderRequest = TargetSSLProxiesSetProxyHeaderRequest'+ { _tspsphrProxyHeader :: Maybe TargetSSLProxiesSetProxyHeaderRequestProxyHeader+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'TargetSSLProxiesSetProxyHeaderRequest' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'tspsphrProxyHeader'+targetSSLProxiesSetProxyHeaderRequest+ :: TargetSSLProxiesSetProxyHeaderRequest+targetSSLProxiesSetProxyHeaderRequest =+ TargetSSLProxiesSetProxyHeaderRequest'+ { _tspsphrProxyHeader = Nothing+ }++-- | The new type of proxy header to append before sending data to the+-- backend. NONE or PROXY_V1 are allowed.+tspsphrProxyHeader :: Lens' TargetSSLProxiesSetProxyHeaderRequest (Maybe TargetSSLProxiesSetProxyHeaderRequestProxyHeader)+tspsphrProxyHeader+ = lens _tspsphrProxyHeader+ (\ s a -> s{_tspsphrProxyHeader = a})++instance FromJSON+ TargetSSLProxiesSetProxyHeaderRequest where+ parseJSON+ = withObject "TargetSSLProxiesSetProxyHeaderRequest"+ (\ o ->+ TargetSSLProxiesSetProxyHeaderRequest' <$>+ (o .:? "proxyHeader"))++instance ToJSON TargetSSLProxiesSetProxyHeaderRequest+ where+ toJSON TargetSSLProxiesSetProxyHeaderRequest'{..}+ = object+ (catMaybes+ [("proxyHeader" .=) <$> _tspsphrProxyHeader])++--+-- /See:/ 'vpnTunnelAggregatedList' smart constructor.+data VPNTunnelAggregatedList = VPNTunnelAggregatedList'+ { _vtalNextPageToken :: !(Maybe Text)+ , _vtalKind :: !Text+ , _vtalItems :: !(Maybe VPNTunnelAggregatedListItems)+ , _vtalSelfLink :: !(Maybe Text)+ , _vtalId :: !(Maybe Text)+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'VPNTunnelAggregatedList' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'vtalNextPageToken'+--+-- * 'vtalKind'+--+-- * 'vtalItems'+--+-- * 'vtalSelfLink'+--+-- * 'vtalId'+vpnTunnelAggregatedList+ :: VPNTunnelAggregatedList+vpnTunnelAggregatedList =+ VPNTunnelAggregatedList'+ { _vtalNextPageToken = Nothing+ , _vtalKind = "compute#vpnTunnelAggregatedList"+ , _vtalItems = Nothing+ , _vtalSelfLink = Nothing+ , _vtalId = Nothing+ }++-- | [Output Only] This token allows you to get the next page of results for+-- list requests. If the number of results is larger than maxResults, use+-- the nextPageToken as a value for the query parameter pageToken in the+-- next list request. Subsequent list requests will have their own+-- nextPageToken to continue paging through the results.+vtalNextPageToken :: Lens' VPNTunnelAggregatedList (Maybe Text)+vtalNextPageToken+ = lens _vtalNextPageToken+ (\ s a -> s{_vtalNextPageToken = a})++-- | [Output Only] Type of resource. Always compute#vpnTunnel for VPN+-- tunnels.+vtalKind :: Lens' VPNTunnelAggregatedList Text+vtalKind = lens _vtalKind (\ s a -> s{_vtalKind = a})++-- | [Output Only] A map of scoped vpn tunnel lists.+vtalItems :: Lens' VPNTunnelAggregatedList (Maybe VPNTunnelAggregatedListItems)+vtalItems+ = lens _vtalItems (\ s a -> s{_vtalItems = a})++-- | [Output Only] Server-defined URL for this resource.+vtalSelfLink :: Lens' VPNTunnelAggregatedList (Maybe Text)+vtalSelfLink+ = lens _vtalSelfLink (\ s a -> s{_vtalSelfLink = a})++-- | [Output Only] The unique identifier for the resource. This identifier is+-- defined by the server.+vtalId :: Lens' VPNTunnelAggregatedList (Maybe Text)+vtalId = lens _vtalId (\ s a -> s{_vtalId = a})++instance FromJSON VPNTunnelAggregatedList where+ parseJSON+ = withObject "VPNTunnelAggregatedList"+ (\ o ->+ VPNTunnelAggregatedList' <$>+ (o .:? "nextPageToken") <*>+ (o .:? "kind" .!= "compute#vpnTunnelAggregatedList")+ <*> (o .:? "items")+ <*> (o .:? "selfLink")+ <*> (o .:? "id"))++instance ToJSON VPNTunnelAggregatedList where+ toJSON VPNTunnelAggregatedList'{..}+ = object+ (catMaybes+ [("nextPageToken" .=) <$> _vtalNextPageToken,+ Just ("kind" .= _vtalKind),+ ("items" .=) <$> _vtalItems,+ ("selfLink" .=) <$> _vtalSelfLink,+ ("id" .=) <$> _vtalId])++-- | An instance-attached disk resource.+--+-- /See:/ 'attachedDisk' smart constructor.+data AttachedDisk = AttachedDisk'+ { _adDiskEncryptionKey :: !(Maybe CustomerEncryptionKey)+ , _adKind :: !Text+ , _adMode :: !(Maybe AttachedDiskMode)+ , _adBoot :: !(Maybe Bool)+ , _adAutoDelete :: !(Maybe Bool)+ , _adInitializeParams :: !(Maybe AttachedDiskInitializeParams)+ , _adDeviceName :: !(Maybe Text)+ , _adInterface :: !(Maybe AttachedDiskInterface)+ , _adSource :: !(Maybe Text)+ , _adLicenses :: !(Maybe [Text])+ , _adType :: !(Maybe AttachedDiskType)+ , _adIndex :: !(Maybe (Textual Int32))+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'AttachedDisk' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'adDiskEncryptionKey'+--+-- * 'adKind'+--+-- * 'adMode'+--+-- * 'adBoot'+--+-- * 'adAutoDelete'+--+-- * 'adInitializeParams'+--+-- * 'adDeviceName'+--+-- * 'adInterface'+--+-- * 'adSource'+--+-- * 'adLicenses'+--+-- * 'adType'+--+-- * 'adIndex'+attachedDisk+ :: AttachedDisk+attachedDisk =+ AttachedDisk'+ { _adDiskEncryptionKey = Nothing+ , _adKind = "compute#attachedDisk"+ , _adMode = Nothing+ , _adBoot = Nothing+ , _adAutoDelete = Nothing+ , _adInitializeParams = Nothing+ , _adDeviceName = Nothing+ , _adInterface = Nothing+ , _adSource = Nothing+ , _adLicenses = Nothing+ , _adType = Nothing+ , _adIndex = Nothing+ }++-- | Encrypts or decrypts a disk using a customer-supplied encryption key. If+-- you are creating a new disk, this field encrypts the new disk using an+-- encryption key that you provide. If you are attaching an existing disk+-- that is already encrypted, this field decrypts the disk using the+-- customer-supplied encryption key. If you encrypt a disk using a+-- customer-supplied key, you must provide the same key again when you+-- attempt to use this resource at a later time. For example, you must+-- provide the key when you create a snapshot or an image from the disk or+-- when you attach the disk to a virtual machine instance. If you do not+-- provide an encryption key, then the disk will be encrypted using an+-- automatically generated key and you do not need to provide a key to use+-- the disk later. Instance templates do not store customer-supplied+-- encryption keys, so you cannot use your own keys to encrypt disks in a+-- managed instance group.+adDiskEncryptionKey :: Lens' AttachedDisk (Maybe CustomerEncryptionKey)+adDiskEncryptionKey+ = lens _adDiskEncryptionKey+ (\ s a -> s{_adDiskEncryptionKey = a})++-- | [Output Only] Type of the resource. Always compute#attachedDisk for+-- attached disks.+adKind :: Lens' AttachedDisk Text+adKind = lens _adKind (\ s a -> s{_adKind = a})++-- | The mode in which to attach this disk, either READ_WRITE or READ_ONLY.+-- If not specified, the default is to attach the disk in READ_WRITE mode.+adMode :: Lens' AttachedDisk (Maybe AttachedDiskMode)+adMode = lens _adMode (\ s a -> s{_adMode = a})++-- | Indicates that this is a boot disk. The virtual machine will use the+-- first partition of the disk for its root filesystem.+adBoot :: Lens' AttachedDisk (Maybe Bool)+adBoot = lens _adBoot (\ s a -> s{_adBoot = a})++-- | Specifies whether the disk will be auto-deleted when the instance is+-- deleted (but not when the disk is detached from the instance).+adAutoDelete :: Lens' AttachedDisk (Maybe Bool)+adAutoDelete+ = lens _adAutoDelete (\ s a -> s{_adAutoDelete = a})++-- | [Input Only] Specifies the parameters for a new disk that will be+-- created alongside the new instance. Use initialization parameters to+-- create boot disks or local SSDs attached to the new instance. This+-- property is mutually exclusive with the source property; you can only+-- define one or the other, but not both.+adInitializeParams :: Lens' AttachedDisk (Maybe AttachedDiskInitializeParams)+adInitializeParams+ = lens _adInitializeParams+ (\ s a -> s{_adInitializeParams = a})++-- | Specifies a unique device name of your choice that is reflected into the+-- \/dev\/disk\/by-id\/google-* tree of a Linux operating system running+-- within the instance. This name can be used to reference the device for+-- mounting, resizing, and so on, from within the instance. If not+-- specified, the server chooses a default device name to apply to this+-- disk, in the form persistent-disks-x, where x is a number assigned by+-- Google Compute Engine. This field is only applicable for persistent+-- disks.+adDeviceName :: Lens' AttachedDisk (Maybe Text)+adDeviceName+ = lens _adDeviceName (\ s a -> s{_adDeviceName = a})++-- | Specifies the disk interface to use for attaching this disk, which is+-- either SCSI or NVME. The default is SCSI. Persistent disks must always+-- use SCSI and the request will fail if you attempt to attach a persistent+-- disk in any other format than SCSI. Local SSDs can use either NVME or+-- SCSI. For performance characteristics of SCSI over NVMe, see Local SSD+-- performance.+adInterface :: Lens' AttachedDisk (Maybe AttachedDiskInterface)+adInterface+ = lens _adInterface (\ s a -> s{_adInterface = a})++-- | Specifies a valid partial or full URL to an existing Persistent Disk+-- resource. This field is only applicable for persistent disks. Note that+-- for InstanceTemplate, it is just disk name, not URL for the disk.+adSource :: Lens' AttachedDisk (Maybe Text)+adSource = lens _adSource (\ s a -> s{_adSource = a})++-- | [Output Only] Any valid publicly visible licenses.+adLicenses :: Lens' AttachedDisk [Text]+adLicenses+ = lens _adLicenses (\ s a -> s{_adLicenses = a}) .+ _Default+ . _Coerce++-- | Specifies the type of the disk, either SCRATCH or PERSISTENT. If not+-- specified, the default is PERSISTENT.+adType :: Lens' AttachedDisk (Maybe AttachedDiskType)+adType = lens _adType (\ s a -> s{_adType = a})++-- | Assigns a zero-based index to this disk, where 0 is reserved for the+-- boot disk. For example, if you have many disks attached to an instance,+-- each disk would have a unique index number. If not specified, the server+-- will choose an appropriate value.+adIndex :: Lens' AttachedDisk (Maybe Int32)+adIndex+ = lens _adIndex (\ s a -> s{_adIndex = a}) .+ mapping _Coerce++instance FromJSON AttachedDisk where+ parseJSON+ = withObject "AttachedDisk"+ (\ o ->+ AttachedDisk' <$>+ (o .:? "diskEncryptionKey") <*>+ (o .:? "kind" .!= "compute#attachedDisk")+ <*> (o .:? "mode")+ <*> (o .:? "boot")+ <*> (o .:? "autoDelete")+ <*> (o .:? "initializeParams")+ <*> (o .:? "deviceName")+ <*> (o .:? "interface")+ <*> (o .:? "source")+ <*> (o .:? "licenses" .!= mempty)+ <*> (o .:? "type")+ <*> (o .:? "index"))++instance ToJSON AttachedDisk where+ toJSON AttachedDisk'{..}+ = object+ (catMaybes+ [("diskEncryptionKey" .=) <$> _adDiskEncryptionKey,+ Just ("kind" .= _adKind), ("mode" .=) <$> _adMode,+ ("boot" .=) <$> _adBoot,+ ("autoDelete" .=) <$> _adAutoDelete,+ ("initializeParams" .=) <$> _adInitializeParams,+ ("deviceName" .=) <$> _adDeviceName,+ ("interface" .=) <$> _adInterface,+ ("source" .=) <$> _adSource,+ ("licenses" .=) <$> _adLicenses,+ ("type" .=) <$> _adType, ("index" .=) <$> _adIndex])++-- | Contains a list of disk types.+--+-- /See:/ 'diskTypeList' smart constructor.+data DiskTypeList = DiskTypeList'+ { _dtlNextPageToken :: !(Maybe Text)+ , _dtlKind :: !Text+ , _dtlItems :: !(Maybe [DiskType])+ , _dtlSelfLink :: !(Maybe Text)+ , _dtlId :: !(Maybe Text)+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'DiskTypeList' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'dtlNextPageToken'+--+-- * 'dtlKind'+--+-- * 'dtlItems'+--+-- * 'dtlSelfLink'+--+-- * 'dtlId'+diskTypeList+ :: DiskTypeList+diskTypeList =+ DiskTypeList'+ { _dtlNextPageToken = Nothing+ , _dtlKind = "compute#diskTypeList"+ , _dtlItems = Nothing+ , _dtlSelfLink = Nothing+ , _dtlId = Nothing+ }++-- | [Output Only] This token allows you to get the next page of results for+-- list requests. If the number of results is larger than maxResults, use+-- the nextPageToken as a value for the query parameter pageToken in the+-- next list request. Subsequent list requests will have their own+-- nextPageToken to continue paging through the results.+dtlNextPageToken :: Lens' DiskTypeList (Maybe Text)+dtlNextPageToken+ = lens _dtlNextPageToken+ (\ s a -> s{_dtlNextPageToken = a})++-- | [Output Only] Type of resource. Always compute#diskTypeList for disk+-- types.+dtlKind :: Lens' DiskTypeList Text+dtlKind = lens _dtlKind (\ s a -> s{_dtlKind = a})++-- | [Output Only] A list of Disk Type resources.+dtlItems :: Lens' DiskTypeList [DiskType]+dtlItems+ = lens _dtlItems (\ s a -> s{_dtlItems = a}) .+ _Default+ . _Coerce++-- | [Output Only] Server-defined URL for this resource.+dtlSelfLink :: Lens' DiskTypeList (Maybe Text)+dtlSelfLink+ = lens _dtlSelfLink (\ s a -> s{_dtlSelfLink = a})++-- | [Output Only] The unique identifier for the resource. This identifier is+-- defined by the server.+dtlId :: Lens' DiskTypeList (Maybe Text)+dtlId = lens _dtlId (\ s a -> s{_dtlId = a})++instance FromJSON DiskTypeList where+ parseJSON+ = withObject "DiskTypeList"+ (\ o ->+ DiskTypeList' <$>+ (o .:? "nextPageToken") <*>+ (o .:? "kind" .!= "compute#diskTypeList")+ <*> (o .:? "items" .!= mempty)+ <*> (o .:? "selfLink")+ <*> (o .:? "id"))++instance ToJSON DiskTypeList where+ toJSON DiskTypeList'{..}+ = object+ (catMaybes+ [("nextPageToken" .=) <$> _dtlNextPageToken,+ Just ("kind" .= _dtlKind),+ ("items" .=) <$> _dtlItems,+ ("selfLink" .=) <$> _dtlSelfLink,+ ("id" .=) <$> _dtlId])++-- | Contains a list of machine types.+--+-- /See:/ 'machineTypeList' smart constructor.+data MachineTypeList = MachineTypeList'+ { _mtlNextPageToken :: !(Maybe Text)+ , _mtlKind :: !Text+ , _mtlItems :: !(Maybe [MachineType])+ , _mtlSelfLink :: !(Maybe Text)+ , _mtlId :: !(Maybe Text)+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'MachineTypeList' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'mtlNextPageToken'+--+-- * 'mtlKind'+--+-- * 'mtlItems'+--+-- * 'mtlSelfLink'+--+-- * 'mtlId'+machineTypeList+ :: MachineTypeList+machineTypeList =+ MachineTypeList'+ { _mtlNextPageToken = Nothing+ , _mtlKind = "compute#machineTypeList"+ , _mtlItems = Nothing+ , _mtlSelfLink = Nothing+ , _mtlId = Nothing+ }++-- | [Output Only] This token allows you to get the next page of results for+-- list requests. If the number of results is larger than maxResults, use+-- the nextPageToken as a value for the query parameter pageToken in the+-- next list request. Subsequent list requests will have their own+-- nextPageToken to continue paging through the results.+mtlNextPageToken :: Lens' MachineTypeList (Maybe Text)+mtlNextPageToken+ = lens _mtlNextPageToken+ (\ s a -> s{_mtlNextPageToken = a})++-- | [Output Only] Type of resource. Always compute#machineTypeList for lists+-- of machine types.+mtlKind :: Lens' MachineTypeList Text+mtlKind = lens _mtlKind (\ s a -> s{_mtlKind = a})++-- | [Output Only] A list of Machine Type resources.+mtlItems :: Lens' MachineTypeList [MachineType]+mtlItems+ = lens _mtlItems (\ s a -> s{_mtlItems = a}) .+ _Default+ . _Coerce++-- | [Output Only] Server-defined URL for this resource.+mtlSelfLink :: Lens' MachineTypeList (Maybe Text)+mtlSelfLink+ = lens _mtlSelfLink (\ s a -> s{_mtlSelfLink = a})++-- | [Output Only] The unique identifier for the resource. This identifier is+-- defined by the server.+mtlId :: Lens' MachineTypeList (Maybe Text)+mtlId = lens _mtlId (\ s a -> s{_mtlId = a})++instance FromJSON MachineTypeList where+ parseJSON+ = withObject "MachineTypeList"+ (\ o ->+ MachineTypeList' <$>+ (o .:? "nextPageToken") <*>+ (o .:? "kind" .!= "compute#machineTypeList")+ <*> (o .:? "items" .!= mempty)+ <*> (o .:? "selfLink")+ <*> (o .:? "id"))++instance ToJSON MachineTypeList where+ toJSON MachineTypeList'{..}+ = object+ (catMaybes+ [("nextPageToken" .=) <$> _mtlNextPageToken,+ Just ("kind" .= _mtlKind),+ ("items" .=) <$> _mtlItems,+ ("selfLink" .=) <$> _mtlSelfLink,+ ("id" .=) <$> _mtlId])++-- | A list of TargetHttpProxy resources.+--+-- /See:/ 'targetHTTPProxyList' smart constructor.+data TargetHTTPProxyList = TargetHTTPProxyList'+ { _thttpplNextPageToken :: !(Maybe Text)+ , _thttpplKind :: !Text+ , _thttpplItems :: !(Maybe [TargetHTTPProxy])+ , _thttpplSelfLink :: !(Maybe Text)+ , _thttpplId :: !(Maybe Text)+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'TargetHTTPProxyList' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'thttpplNextPageToken'+--+-- * 'thttpplKind'+--+-- * 'thttpplItems'+--+-- * 'thttpplSelfLink'+--+-- * 'thttpplId'+targetHTTPProxyList+ :: TargetHTTPProxyList+targetHTTPProxyList =+ TargetHTTPProxyList'+ { _thttpplNextPageToken = Nothing+ , _thttpplKind = "compute#targetHttpProxyList"+ , _thttpplItems = Nothing+ , _thttpplSelfLink = Nothing+ , _thttpplId = Nothing+ }++-- | [Output Only] This token allows you to get the next page of results for+-- list requests. If the number of results is larger than maxResults, use+-- the nextPageToken as a value for the query parameter pageToken in the+-- next list request. Subsequent list requests will have their own+-- nextPageToken to continue paging through the results.+thttpplNextPageToken :: Lens' TargetHTTPProxyList (Maybe Text)+thttpplNextPageToken+ = lens _thttpplNextPageToken+ (\ s a -> s{_thttpplNextPageToken = a})++-- | Type of resource. Always compute#targetHttpProxyList for lists of target+-- HTTP proxies.+thttpplKind :: Lens' TargetHTTPProxyList Text+thttpplKind+ = lens _thttpplKind (\ s a -> s{_thttpplKind = a})++-- | A list of TargetHttpProxy resources.+thttpplItems :: Lens' TargetHTTPProxyList [TargetHTTPProxy]+thttpplItems+ = lens _thttpplItems (\ s a -> s{_thttpplItems = a})+ . _Default+ . _Coerce++-- | [Output Only] Server-defined URL for this resource.+thttpplSelfLink :: Lens' TargetHTTPProxyList (Maybe Text)+thttpplSelfLink+ = lens _thttpplSelfLink+ (\ s a -> s{_thttpplSelfLink = a})++-- | [Output Only] The unique identifier for the resource. This identifier is+-- defined by the server.+thttpplId :: Lens' TargetHTTPProxyList (Maybe Text)+thttpplId+ = lens _thttpplId (\ s a -> s{_thttpplId = a})++instance FromJSON TargetHTTPProxyList where+ parseJSON+ = withObject "TargetHTTPProxyList"+ (\ o ->+ TargetHTTPProxyList' <$>+ (o .:? "nextPageToken") <*>+ (o .:? "kind" .!= "compute#targetHttpProxyList")+ <*> (o .:? "items" .!= mempty)+ <*> (o .:? "selfLink")+ <*> (o .:? "id"))++instance ToJSON TargetHTTPProxyList where+ toJSON TargetHTTPProxyList'{..}+ = object+ (catMaybes+ [("nextPageToken" .=) <$> _thttpplNextPageToken,+ Just ("kind" .= _thttpplKind),+ ("items" .=) <$> _thttpplItems,+ ("selfLink" .=) <$> _thttpplSelfLink,+ ("id" .=) <$> _thttpplId])++--+-- /See:/ 'diskTypesScopedList' smart constructor.+data DiskTypesScopedList = DiskTypesScopedList'+ { _dtslDiskTypes :: !(Maybe [DiskType])+ , _dtslWarning :: !(Maybe DiskTypesScopedListWarning)+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'DiskTypesScopedList' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'dtslDiskTypes'+--+-- * 'dtslWarning'+diskTypesScopedList+ :: DiskTypesScopedList+diskTypesScopedList =+ DiskTypesScopedList'+ { _dtslDiskTypes = Nothing+ , _dtslWarning = Nothing+ }++-- | [Output Only] List of disk types contained in this scope.+dtslDiskTypes :: Lens' DiskTypesScopedList [DiskType]+dtslDiskTypes+ = lens _dtslDiskTypes+ (\ s a -> s{_dtslDiskTypes = a})+ . _Default+ . _Coerce++-- | [Output Only] Informational warning which replaces the list of disk+-- types when the list is empty.+dtslWarning :: Lens' DiskTypesScopedList (Maybe DiskTypesScopedListWarning)+dtslWarning+ = lens _dtslWarning (\ s a -> s{_dtslWarning = a})++instance FromJSON DiskTypesScopedList where+ parseJSON+ = withObject "DiskTypesScopedList"+ (\ o ->+ DiskTypesScopedList' <$>+ (o .:? "diskTypes" .!= mempty) <*> (o .:? "warning"))++instance ToJSON DiskTypesScopedList where+ toJSON DiskTypesScopedList'{..}+ = object+ (catMaybes+ [("diskTypes" .=) <$> _dtslDiskTypes,+ ("warning" .=) <$> _dtslWarning])++--+-- /See:/ 'diskTypeAggregatedList' smart constructor.+data DiskTypeAggregatedList = DiskTypeAggregatedList'+ { _dtalNextPageToken :: !(Maybe Text)+ , _dtalKind :: !Text+ , _dtalItems :: !(Maybe DiskTypeAggregatedListItems)+ , _dtalSelfLink :: !(Maybe Text)+ , _dtalId :: !(Maybe Text)+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'DiskTypeAggregatedList' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'dtalNextPageToken'+--+-- * 'dtalKind'+--+-- * 'dtalItems'+--+-- * 'dtalSelfLink'+--+-- * 'dtalId'+diskTypeAggregatedList+ :: DiskTypeAggregatedList+diskTypeAggregatedList =+ DiskTypeAggregatedList'+ { _dtalNextPageToken = Nothing+ , _dtalKind = "compute#diskTypeAggregatedList"+ , _dtalItems = Nothing+ , _dtalSelfLink = Nothing+ , _dtalId = Nothing+ }++-- | [Output Only] This token allows you to get the next page of results for+-- list requests. If the number of results is larger than maxResults, use+-- the nextPageToken as a value for the query parameter pageToken in the+-- next list request. Subsequent list requests will have their own+-- nextPageToken to continue paging through the results.+dtalNextPageToken :: Lens' DiskTypeAggregatedList (Maybe Text)+dtalNextPageToken+ = lens _dtalNextPageToken+ (\ s a -> s{_dtalNextPageToken = a})++-- | [Output Only] Type of resource. Always compute#diskTypeAggregatedList.+dtalKind :: Lens' DiskTypeAggregatedList Text+dtalKind = lens _dtalKind (\ s a -> s{_dtalKind = a})++-- | [Output Only] A map of scoped disk type lists.+dtalItems :: Lens' DiskTypeAggregatedList (Maybe DiskTypeAggregatedListItems)+dtalItems+ = lens _dtalItems (\ s a -> s{_dtalItems = a})++-- | [Output Only] Server-defined URL for this resource.+dtalSelfLink :: Lens' DiskTypeAggregatedList (Maybe Text)+dtalSelfLink+ = lens _dtalSelfLink (\ s a -> s{_dtalSelfLink = a})++-- | [Output Only] The unique identifier for the resource. This identifier is+-- defined by the server.+dtalId :: Lens' DiskTypeAggregatedList (Maybe Text)+dtalId = lens _dtalId (\ s a -> s{_dtalId = a})++instance FromJSON DiskTypeAggregatedList where+ parseJSON+ = withObject "DiskTypeAggregatedList"+ (\ o ->+ DiskTypeAggregatedList' <$>+ (o .:? "nextPageToken") <*>+ (o .:? "kind" .!= "compute#diskTypeAggregatedList")+ <*> (o .:? "items")+ <*> (o .:? "selfLink")+ <*> (o .:? "id"))++instance ToJSON DiskTypeAggregatedList where+ toJSON DiskTypeAggregatedList'{..}+ = object+ (catMaybes+ [("nextPageToken" .=) <$> _dtalNextPageToken,+ Just ("kind" .= _dtalKind),+ ("items" .=) <$> _dtalItems,+ ("selfLink" .=) <$> _dtalSelfLink,+ ("id" .=) <$> _dtalId])++-- | An HttpHealthCheck resource. This resource defines a template for how+-- individual instances should be checked for health, via HTTP.+--+-- /See:/ 'hTTPHealthCheck' smart constructor.+data HTTPHealthCheck = HTTPHealthCheck'+ { _hHealthyThreshold :: !(Maybe (Textual Int32))+ , _hKind :: !Text+ , _hRequestPath :: !(Maybe Text)+ , _hSelfLink :: !(Maybe Text)+ , _hCheckIntervalSec :: !(Maybe (Textual Int32))+ , _hName :: !(Maybe Text)+ , _hCreationTimestamp :: !(Maybe Text)+ , _hId :: !(Maybe (Textual Word64))+ , _hHost :: !(Maybe Text)+ , _hTimeoutSec :: !(Maybe (Textual Int32))+ , _hDescription :: !(Maybe Text)+ , _hUnhealthyThreshold :: !(Maybe (Textual Int32))+ , _hPort :: !(Maybe (Textual Int32))+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'HTTPHealthCheck' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'hHealthyThreshold'+--+-- * 'hKind'+--+-- * 'hRequestPath'+--+-- * 'hSelfLink'+--+-- * 'hCheckIntervalSec'+--+-- * 'hName'+--+-- * 'hCreationTimestamp'+--+-- * 'hId'+--+-- * 'hHost'+--+-- * 'hTimeoutSec'+--+-- * 'hDescription'+--+-- * 'hUnhealthyThreshold'+--+-- * 'hPort'+hTTPHealthCheck+ :: HTTPHealthCheck+hTTPHealthCheck =+ HTTPHealthCheck'+ { _hHealthyThreshold = Nothing+ , _hKind = "compute#httpHealthCheck"+ , _hRequestPath = Nothing+ , _hSelfLink = Nothing+ , _hCheckIntervalSec = Nothing+ , _hName = Nothing+ , _hCreationTimestamp = Nothing+ , _hId = Nothing+ , _hHost = Nothing+ , _hTimeoutSec = Nothing+ , _hDescription = Nothing+ , _hUnhealthyThreshold = Nothing+ , _hPort = Nothing+ }++-- | A so-far unhealthy instance will be marked healthy after this many+-- consecutive successes. The default value is 2.+hHealthyThreshold :: Lens' HTTPHealthCheck (Maybe Int32)+hHealthyThreshold+ = lens _hHealthyThreshold+ (\ s a -> s{_hHealthyThreshold = a})+ . mapping _Coerce++-- | [Output Only] Type of the resource. Always compute#httpHealthCheck for+-- HTTP health checks.+hKind :: Lens' HTTPHealthCheck Text+hKind = lens _hKind (\ s a -> s{_hKind = a})++-- | The request path of the HTTP health check request. The default value is+-- \/.+hRequestPath :: Lens' HTTPHealthCheck (Maybe Text)+hRequestPath+ = lens _hRequestPath (\ s a -> s{_hRequestPath = a})++-- | [Output Only] Server-defined URL for the resource.+hSelfLink :: Lens' HTTPHealthCheck (Maybe Text)+hSelfLink+ = lens _hSelfLink (\ s a -> s{_hSelfLink = a})++-- | How often (in seconds) to send a health check. The default value is 5+-- seconds.+hCheckIntervalSec :: Lens' HTTPHealthCheck (Maybe Int32)+hCheckIntervalSec+ = lens _hCheckIntervalSec+ (\ s a -> s{_hCheckIntervalSec = a})+ . mapping _Coerce++-- | Name of the resource. Provided by the client when the resource is+-- created. The name must be 1-63 characters long, and comply with RFC1035.+-- Specifically, the name must be 1-63 characters long and match the+-- regular expression [a-z]([-a-z0-9]*[a-z0-9])? which means the first+-- character must be a lowercase letter, and all following characters must+-- be a dash, lowercase letter, or digit, except the last character, which+-- cannot be a dash.+hName :: Lens' HTTPHealthCheck (Maybe Text)+hName = lens _hName (\ s a -> s{_hName = a})++-- | [Output Only] Creation timestamp in RFC3339 text format.+hCreationTimestamp :: Lens' HTTPHealthCheck (Maybe Text)+hCreationTimestamp+ = lens _hCreationTimestamp+ (\ s a -> s{_hCreationTimestamp = a})++-- | [Output Only] The unique identifier for the resource. This identifier is+-- defined by the server.+hId :: Lens' HTTPHealthCheck (Maybe Word64)+hId+ = lens _hId (\ s a -> s{_hId = a}) . mapping _Coerce++-- | The value of the host header in the HTTP health check request. If left+-- empty (default value), the public IP on behalf of which this health+-- check is performed will be used.+hHost :: Lens' HTTPHealthCheck (Maybe Text)+hHost = lens _hHost (\ s a -> s{_hHost = a})++-- | How long (in seconds) to wait before claiming failure. The default value+-- is 5 seconds. It is invalid for timeoutSec to have greater value than+-- checkIntervalSec.+hTimeoutSec :: Lens' HTTPHealthCheck (Maybe Int32)+hTimeoutSec+ = lens _hTimeoutSec (\ s a -> s{_hTimeoutSec = a}) .+ mapping _Coerce++-- | An optional description of this resource. Provide this property when you+-- create the resource.+hDescription :: Lens' HTTPHealthCheck (Maybe Text)+hDescription+ = lens _hDescription (\ s a -> s{_hDescription = a})++-- | A so-far healthy instance will be marked unhealthy after this many+-- consecutive failures. The default value is 2.+hUnhealthyThreshold :: Lens' HTTPHealthCheck (Maybe Int32)+hUnhealthyThreshold+ = lens _hUnhealthyThreshold+ (\ s a -> s{_hUnhealthyThreshold = a})+ . mapping _Coerce++-- | The TCP port number for the HTTP health check request. The default value+-- is 80.+hPort :: Lens' HTTPHealthCheck (Maybe Int32)+hPort+ = lens _hPort (\ s a -> s{_hPort = a}) .+ mapping _Coerce++instance FromJSON HTTPHealthCheck where+ parseJSON+ = withObject "HTTPHealthCheck"+ (\ o ->+ HTTPHealthCheck' <$>+ (o .:? "healthyThreshold") <*>+ (o .:? "kind" .!= "compute#httpHealthCheck")+ <*> (o .:? "requestPath")+ <*> (o .:? "selfLink")+ <*> (o .:? "checkIntervalSec")+ <*> (o .:? "name")+ <*> (o .:? "creationTimestamp")+ <*> (o .:? "id")+ <*> (o .:? "host")+ <*> (o .:? "timeoutSec")+ <*> (o .:? "description")+ <*> (o .:? "unhealthyThreshold")+ <*> (o .:? "port"))++instance ToJSON HTTPHealthCheck where+ toJSON HTTPHealthCheck'{..}+ = object+ (catMaybes+ [("healthyThreshold" .=) <$> _hHealthyThreshold,+ Just ("kind" .= _hKind),+ ("requestPath" .=) <$> _hRequestPath,+ ("selfLink" .=) <$> _hSelfLink,+ ("checkIntervalSec" .=) <$> _hCheckIntervalSec,+ ("name" .=) <$> _hName,+ ("creationTimestamp" .=) <$> _hCreationTimestamp,+ ("id" .=) <$> _hId, ("host" .=) <$> _hHost,+ ("timeoutSec" .=) <$> _hTimeoutSec,+ ("description" .=) <$> _hDescription,+ ("unhealthyThreshold" .=) <$> _hUnhealthyThreshold,+ ("port" .=) <$> _hPort])++--+-- /See:/ 'backendServiceGroupHealth' smart constructor.+data BackendServiceGroupHealth = BackendServiceGroupHealth'+ { _bsghKind :: !Text+ , _bsghHealthStatus :: !(Maybe [HealthStatus])+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'BackendServiceGroupHealth' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'bsghKind'+--+-- * 'bsghHealthStatus'+backendServiceGroupHealth+ :: BackendServiceGroupHealth+backendServiceGroupHealth =+ BackendServiceGroupHealth'+ { _bsghKind = "compute#backendServiceGroupHealth"+ , _bsghHealthStatus = Nothing+ }++-- | [Output Only] Type of resource. Always compute#backendServiceGroupHealth+-- for the health of backend services.+bsghKind :: Lens' BackendServiceGroupHealth Text+bsghKind = lens _bsghKind (\ s a -> s{_bsghKind = a})++bsghHealthStatus :: Lens' BackendServiceGroupHealth [HealthStatus]+bsghHealthStatus+ = lens _bsghHealthStatus+ (\ s a -> s{_bsghHealthStatus = a})+ . _Default+ . _Coerce++instance FromJSON BackendServiceGroupHealth where+ parseJSON+ = withObject "BackendServiceGroupHealth"+ (\ o ->+ BackendServiceGroupHealth' <$>+ (o .:? "kind" .!=+ "compute#backendServiceGroupHealth")+ <*> (o .:? "healthStatus" .!= mempty))++instance ToJSON BackendServiceGroupHealth where+ toJSON BackendServiceGroupHealth'{..}+ = object+ (catMaybes+ [Just ("kind" .= _bsghKind),+ ("healthStatus" .=) <$> _bsghHealthStatus])++--+-- /See:/ 'autoscalersScopedList' smart constructor.+data AutoscalersScopedList = AutoscalersScopedList'+ { _aAutoscalers :: !(Maybe [Autoscaler])+ , _aWarning :: !(Maybe AutoscalersScopedListWarning)+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'AutoscalersScopedList' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'aAutoscalers'+--+-- * 'aWarning'+autoscalersScopedList+ :: AutoscalersScopedList+autoscalersScopedList =+ AutoscalersScopedList'+ { _aAutoscalers = Nothing+ , _aWarning = Nothing+ }++-- | [Output Only] List of autoscalers contained in this scope.+aAutoscalers :: Lens' AutoscalersScopedList [Autoscaler]+aAutoscalers+ = lens _aAutoscalers (\ s a -> s{_aAutoscalers = a})+ . _Default+ . _Coerce++-- | [Output Only] Informational warning which replaces the list of+-- autoscalers when the list is empty.+aWarning :: Lens' AutoscalersScopedList (Maybe AutoscalersScopedListWarning)+aWarning = lens _aWarning (\ s a -> s{_aWarning = a})++instance FromJSON AutoscalersScopedList where+ parseJSON+ = withObject "AutoscalersScopedList"+ (\ o ->+ AutoscalersScopedList' <$>+ (o .:? "autoscalers" .!= mempty) <*>+ (o .:? "warning"))++instance ToJSON AutoscalersScopedList where+ toJSON AutoscalersScopedList'{..}+ = object+ (catMaybes+ [("autoscalers" .=) <$> _aAutoscalers,+ ("warning" .=) <$> _aWarning])++--+-- /See:/ 'autoscalerAggregatedList' smart constructor.+data AutoscalerAggregatedList = AutoscalerAggregatedList'+ { _aalNextPageToken :: !(Maybe Text)+ , _aalKind :: !Text+ , _aalItems :: !(Maybe AutoscalerAggregatedListItems)+ , _aalSelfLink :: !(Maybe Text)+ , _aalId :: !(Maybe Text)+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'AutoscalerAggregatedList' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'aalNextPageToken'+--+-- * 'aalKind'+--+-- * 'aalItems'+--+-- * 'aalSelfLink'+--+-- * 'aalId'+autoscalerAggregatedList+ :: AutoscalerAggregatedList+autoscalerAggregatedList =+ AutoscalerAggregatedList'+ { _aalNextPageToken = Nothing+ , _aalKind = "compute#autoscalerAggregatedList"+ , _aalItems = Nothing+ , _aalSelfLink = Nothing+ , _aalId = Nothing+ }++-- | [Output Only] This token allows you to get the next page of results for+-- list requests. If the number of results is larger than maxResults, use+-- the nextPageToken as a value for the query parameter pageToken in the+-- next list request. Subsequent list requests will have their own+-- nextPageToken to continue paging through the results.+aalNextPageToken :: Lens' AutoscalerAggregatedList (Maybe Text)+aalNextPageToken+ = lens _aalNextPageToken+ (\ s a -> s{_aalNextPageToken = a})++-- | [Output Only] Type of resource. Always compute#autoscalerAggregatedList+-- for aggregated lists of autoscalers.+aalKind :: Lens' AutoscalerAggregatedList Text+aalKind = lens _aalKind (\ s a -> s{_aalKind = a})++-- | A map of scoped autoscaler lists.+aalItems :: Lens' AutoscalerAggregatedList (Maybe AutoscalerAggregatedListItems)+aalItems = lens _aalItems (\ s a -> s{_aalItems = a})++-- | [Output Only] Server-defined URL for this resource.+aalSelfLink :: Lens' AutoscalerAggregatedList (Maybe Text)+aalSelfLink+ = lens _aalSelfLink (\ s a -> s{_aalSelfLink = a})++-- | [Output Only] The unique identifier for the resource. This identifier is+-- defined by the server.+aalId :: Lens' AutoscalerAggregatedList (Maybe Text)+aalId = lens _aalId (\ s a -> s{_aalId = a})++instance FromJSON AutoscalerAggregatedList where+ parseJSON+ = withObject "AutoscalerAggregatedList"+ (\ o ->+ AutoscalerAggregatedList' <$>+ (o .:? "nextPageToken") <*>+ (o .:? "kind" .!= "compute#autoscalerAggregatedList")+ <*> (o .:? "items")+ <*> (o .:? "selfLink")+ <*> (o .:? "id"))++instance ToJSON AutoscalerAggregatedList where+ toJSON AutoscalerAggregatedList'{..}+ = object+ (catMaybes+ [("nextPageToken" .=) <$> _aalNextPageToken,+ Just ("kind" .= _aalKind),+ ("items" .=) <$> _aalItems,+ ("selfLink" .=) <$> _aalSelfLink,+ ("id" .=) <$> _aalId])++-- | A map of scoped router lists.+--+-- /See:/ 'routerAggregatedListItems' smart constructor.+newtype RouterAggregatedListItems = RouterAggregatedListItems'+ { _raliAddtional :: HashMap Text RoutersScopedList+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'RouterAggregatedListItems' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'raliAddtional'+routerAggregatedListItems+ :: HashMap Text RoutersScopedList -- ^ 'raliAddtional'+ -> RouterAggregatedListItems+routerAggregatedListItems pRaliAddtional_ =+ RouterAggregatedListItems'+ { _raliAddtional = _Coerce # pRaliAddtional_+ }++-- | Name of the scope containing this set of routers.+raliAddtional :: Lens' RouterAggregatedListItems (HashMap Text RoutersScopedList)+raliAddtional+ = lens _raliAddtional+ (\ s a -> s{_raliAddtional = a})+ . _Coerce++instance FromJSON RouterAggregatedListItems where+ parseJSON+ = withObject "RouterAggregatedListItems"+ (\ o ->+ RouterAggregatedListItems' <$> (parseJSONObject o))++instance ToJSON RouterAggregatedListItems where+ toJSON = toJSON . _raliAddtional++-- | Cloud Autoscaler policy.+--+-- /See:/ 'autoscalingPolicy' smart constructor.+data AutoscalingPolicy = AutoscalingPolicy'+ { _apCustomMetricUtilizations :: !(Maybe [AutoscalingPolicyCustomMetricUtilization])+ , _apMaxNumReplicas :: !(Maybe (Textual Int32))+ , _apCPUUtilization :: !(Maybe AutoscalingPolicyCPUUtilization)+ , _apLoadBalancingUtilization :: !(Maybe AutoscalingPolicyLoadBalancingUtilization)+ , _apMinNumReplicas :: !(Maybe (Textual Int32))+ , _apCoolDownPeriodSec :: !(Maybe (Textual Int32))+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'AutoscalingPolicy' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'apCustomMetricUtilizations'+--+-- * 'apMaxNumReplicas'+--+-- * 'apCPUUtilization'+--+-- * 'apLoadBalancingUtilization'+--+-- * 'apMinNumReplicas'+--+-- * 'apCoolDownPeriodSec'+autoscalingPolicy+ :: AutoscalingPolicy+autoscalingPolicy =+ AutoscalingPolicy'+ { _apCustomMetricUtilizations = Nothing+ , _apMaxNumReplicas = Nothing+ , _apCPUUtilization = Nothing+ , _apLoadBalancingUtilization = Nothing+ , _apMinNumReplicas = Nothing+ , _apCoolDownPeriodSec = Nothing+ }++-- | Configuration parameters of autoscaling based on a custom metric.+apCustomMetricUtilizations :: Lens' AutoscalingPolicy [AutoscalingPolicyCustomMetricUtilization]+apCustomMetricUtilizations+ = lens _apCustomMetricUtilizations+ (\ s a -> s{_apCustomMetricUtilizations = a})+ . _Default+ . _Coerce++-- | The maximum number of instances that the autoscaler can scale up to.+-- This is required when creating or updating an autoscaler. The maximum+-- number of replicas should not be lower than minimal number of replicas.+apMaxNumReplicas :: Lens' AutoscalingPolicy (Maybe Int32)+apMaxNumReplicas+ = lens _apMaxNumReplicas+ (\ s a -> s{_apMaxNumReplicas = a})+ . mapping _Coerce++-- | Defines the CPU utilization policy that allows the autoscaler to scale+-- based on the average CPU utilization of a managed instance group.+apCPUUtilization :: Lens' AutoscalingPolicy (Maybe AutoscalingPolicyCPUUtilization)+apCPUUtilization+ = lens _apCPUUtilization+ (\ s a -> s{_apCPUUtilization = a})++-- | Configuration parameters of autoscaling based on load balancer.+apLoadBalancingUtilization :: Lens' AutoscalingPolicy (Maybe AutoscalingPolicyLoadBalancingUtilization)+apLoadBalancingUtilization+ = lens _apLoadBalancingUtilization+ (\ s a -> s{_apLoadBalancingUtilization = a})++-- | The minimum number of replicas that the autoscaler can scale down to.+-- This cannot be less than 0. If not provided, autoscaler will choose a+-- default value depending on maximum number of instances allowed.+apMinNumReplicas :: Lens' AutoscalingPolicy (Maybe Int32)+apMinNumReplicas+ = lens _apMinNumReplicas+ (\ s a -> s{_apMinNumReplicas = a})+ . mapping _Coerce++-- | The number of seconds that the autoscaler should wait before it starts+-- collecting information from a new instance. This prevents the autoscaler+-- from collecting information when the instance is initializing, during+-- which the collected usage would not be reliable. The default time+-- autoscaler waits is 60 seconds. Virtual machine initialization times+-- might vary because of numerous factors. We recommend that you test how+-- long an instance may take to initialize. To do this, create an instance+-- and time the startup process.+apCoolDownPeriodSec :: Lens' AutoscalingPolicy (Maybe Int32)+apCoolDownPeriodSec+ = lens _apCoolDownPeriodSec+ (\ s a -> s{_apCoolDownPeriodSec = a})+ . mapping _Coerce++instance FromJSON AutoscalingPolicy where+ parseJSON+ = withObject "AutoscalingPolicy"+ (\ o ->+ AutoscalingPolicy' <$>+ (o .:? "customMetricUtilizations" .!= mempty) <*>+ (o .:? "maxNumReplicas")+ <*> (o .:? "cpuUtilization")+ <*> (o .:? "loadBalancingUtilization")+ <*> (o .:? "minNumReplicas")+ <*> (o .:? "coolDownPeriodSec"))++instance ToJSON AutoscalingPolicy where+ toJSON AutoscalingPolicy'{..}+ = object+ (catMaybes+ [("customMetricUtilizations" .=) <$>+ _apCustomMetricUtilizations,+ ("maxNumReplicas" .=) <$> _apMaxNumReplicas,+ ("cpuUtilization" .=) <$> _apCPUUtilization,+ ("loadBalancingUtilization" .=) <$>+ _apLoadBalancingUtilization,+ ("minNumReplicas" .=) <$> _apMinNumReplicas,+ ("coolDownPeriodSec" .=) <$> _apCoolDownPeriodSec])++-- | Contains a list of region resources.+--+-- /See:/ 'regionList' smart constructor.+data RegionList = RegionList'+ { _regNextPageToken :: !(Maybe Text)+ , _regKind :: !Text+ , _regItems :: !(Maybe [Region])+ , _regSelfLink :: !(Maybe Text)+ , _regId :: !(Maybe Text)+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'RegionList' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'regNextPageToken'+--+-- * 'regKind'+--+-- * 'regItems'+--+-- * 'regSelfLink'+--+-- * 'regId'+regionList+ :: RegionList+regionList =+ RegionList'+ { _regNextPageToken = Nothing+ , _regKind = "compute#regionList"+ , _regItems = Nothing+ , _regSelfLink = Nothing+ , _regId = Nothing+ }++-- | [Output Only] This token allows you to get the next page of results for+-- list requests. If the number of results is larger than maxResults, use+-- the nextPageToken as a value for the query parameter pageToken in the+-- next list request. Subsequent list requests will have their own+-- nextPageToken to continue paging through the results.+regNextPageToken :: Lens' RegionList (Maybe Text)+regNextPageToken+ = lens _regNextPageToken+ (\ s a -> s{_regNextPageToken = a})++-- | [Output Only] Type of resource. Always compute#regionList for lists of+-- regions.+regKind :: Lens' RegionList Text+regKind = lens _regKind (\ s a -> s{_regKind = a})++-- | [Output Only] A list of Region resources.+regItems :: Lens' RegionList [Region]+regItems+ = lens _regItems (\ s a -> s{_regItems = a}) .+ _Default+ . _Coerce++-- | [Output Only] Server-defined URL for this resource.+regSelfLink :: Lens' RegionList (Maybe Text)+regSelfLink+ = lens _regSelfLink (\ s a -> s{_regSelfLink = a})++-- | [Output Only] The unique identifier for the resource. This identifier is+-- defined by the server.+regId :: Lens' RegionList (Maybe Text)+regId = lens _regId (\ s a -> s{_regId = a})++instance FromJSON RegionList where+ parseJSON+ = withObject "RegionList"+ (\ o ->+ RegionList' <$>+ (o .:? "nextPageToken") <*>+ (o .:? "kind" .!= "compute#regionList")+ <*> (o .:? "items" .!= mempty)+ <*> (o .:? "selfLink")+ <*> (o .:? "id"))++instance ToJSON RegionList where+ toJSON RegionList'{..}+ = object+ (catMaybes+ [("nextPageToken" .=) <$> _regNextPageToken,+ Just ("kind" .= _regKind),+ ("items" .=) <$> _regItems,+ ("selfLink" .=) <$> _regSelfLink,+ ("id" .=) <$> _regId])++-- | Contains a list of VpnTunnel resources.+--+-- /See:/ 'vpnTunnelList' smart constructor.+data VPNTunnelList = VPNTunnelList'+ { _vtlNextPageToken :: !(Maybe Text)+ , _vtlKind :: !Text+ , _vtlItems :: !(Maybe [VPNTunnel])+ , _vtlSelfLink :: !(Maybe Text)+ , _vtlId :: !(Maybe Text)+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'VPNTunnelList' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'vtlNextPageToken'+--+-- * 'vtlKind'+--+-- * 'vtlItems'+--+-- * 'vtlSelfLink'+--+-- * 'vtlId'+vpnTunnelList+ :: VPNTunnelList+vpnTunnelList =+ VPNTunnelList'+ { _vtlNextPageToken = Nothing+ , _vtlKind = "compute#vpnTunnelList"+ , _vtlItems = Nothing+ , _vtlSelfLink = Nothing+ , _vtlId = Nothing+ }++-- | [Output Only] This token allows you to get the next page of results for+-- list requests. If the number of results is larger than maxResults, use+-- the nextPageToken as a value for the query parameter pageToken in the+-- next list request. Subsequent list requests will have their own+-- nextPageToken to continue paging through the results.+vtlNextPageToken :: Lens' VPNTunnelList (Maybe Text)+vtlNextPageToken+ = lens _vtlNextPageToken+ (\ s a -> s{_vtlNextPageToken = a})++-- | [Output Only] Type of resource. Always compute#vpnTunnel for VPN+-- tunnels.+vtlKind :: Lens' VPNTunnelList Text+vtlKind = lens _vtlKind (\ s a -> s{_vtlKind = a})++-- | [Output Only] A list of VpnTunnel resources.+vtlItems :: Lens' VPNTunnelList [VPNTunnel]+vtlItems+ = lens _vtlItems (\ s a -> s{_vtlItems = a}) .+ _Default+ . _Coerce++-- | [Output Only] Server-defined URL for this resource.+vtlSelfLink :: Lens' VPNTunnelList (Maybe Text)+vtlSelfLink+ = lens _vtlSelfLink (\ s a -> s{_vtlSelfLink = a})++-- | [Output Only] The unique identifier for the resource. This identifier is+-- defined by the server.+vtlId :: Lens' VPNTunnelList (Maybe Text)+vtlId = lens _vtlId (\ s a -> s{_vtlId = a})++instance FromJSON VPNTunnelList where+ parseJSON+ = withObject "VPNTunnelList"+ (\ o ->+ VPNTunnelList' <$>+ (o .:? "nextPageToken") <*>+ (o .:? "kind" .!= "compute#vpnTunnelList")+ <*> (o .:? "items" .!= mempty)+ <*> (o .:? "selfLink")+ <*> (o .:? "id"))++instance ToJSON VPNTunnelList where+ toJSON VPNTunnelList'{..}+ = object+ (catMaybes+ [("nextPageToken" .=) <$> _vtlNextPageToken,+ Just ("kind" .= _vtlKind),+ ("items" .=) <$> _vtlItems,+ ("selfLink" .=) <$> _vtlSelfLink,+ ("id" .=) <$> _vtlId])++--+-- /See:/ 'machineTypeScratchDisksItem' smart constructor.+newtype MachineTypeScratchDisksItem = MachineTypeScratchDisksItem'+ { _mtsdiDiskGb :: Maybe (Textual Int32)+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'MachineTypeScratchDisksItem' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'mtsdiDiskGb'+machineTypeScratchDisksItem+ :: MachineTypeScratchDisksItem+machineTypeScratchDisksItem =+ MachineTypeScratchDisksItem'+ { _mtsdiDiskGb = Nothing+ }++-- | Size of the scratch disk, defined in GB.+mtsdiDiskGb :: Lens' MachineTypeScratchDisksItem (Maybe Int32)+mtsdiDiskGb+ = lens _mtsdiDiskGb (\ s a -> s{_mtsdiDiskGb = a}) .+ mapping _Coerce++instance FromJSON MachineTypeScratchDisksItem where+ parseJSON+ = withObject "MachineTypeScratchDisksItem"+ (\ o ->+ MachineTypeScratchDisksItem' <$> (o .:? "diskGb"))++instance ToJSON MachineTypeScratchDisksItem where+ toJSON MachineTypeScratchDisksItem'{..}+ = object (catMaybes [("diskGb" .=) <$> _mtsdiDiskGb])++--+-- /See:/ 'subnetworksScopedListWarningDataItem' smart constructor.+data SubnetworksScopedListWarningDataItem = SubnetworksScopedListWarningDataItem'+ { _sslwdiValue :: !(Maybe Text)+ , _sslwdiKey :: !(Maybe Text)+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'SubnetworksScopedListWarningDataItem' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'sslwdiValue'+--+-- * 'sslwdiKey'+subnetworksScopedListWarningDataItem+ :: SubnetworksScopedListWarningDataItem+subnetworksScopedListWarningDataItem =+ SubnetworksScopedListWarningDataItem'+ { _sslwdiValue = Nothing+ , _sslwdiKey = Nothing+ }++-- | [Output Only] A warning data value corresponding to the key.+sslwdiValue :: Lens' SubnetworksScopedListWarningDataItem (Maybe Text)+sslwdiValue+ = lens _sslwdiValue (\ s a -> s{_sslwdiValue = a})++-- | [Output Only] A key that provides more detail on the warning being+-- returned. For example, for warnings where there are no results in a list+-- request for a particular zone, this key might be scope and the key value+-- might be the zone name. Other examples might be a key indicating a+-- deprecated resource and a suggested replacement, or a warning about+-- invalid network settings (for example, if an instance attempts to+-- perform IP forwarding but is not enabled for IP forwarding).+sslwdiKey :: Lens' SubnetworksScopedListWarningDataItem (Maybe Text)+sslwdiKey+ = lens _sslwdiKey (\ s a -> s{_sslwdiKey = a})++instance FromJSON+ SubnetworksScopedListWarningDataItem where+ parseJSON+ = withObject "SubnetworksScopedListWarningDataItem"+ (\ o ->+ SubnetworksScopedListWarningDataItem' <$>+ (o .:? "value") <*> (o .:? "key"))++instance ToJSON SubnetworksScopedListWarningDataItem+ where+ toJSON SubnetworksScopedListWarningDataItem'{..}+ = object+ (catMaybes+ [("value" .=) <$> _sslwdiValue,+ ("key" .=) <$> _sslwdiKey])++--+-- /See:/ 'machineTypesScopedList' smart constructor.+data MachineTypesScopedList = MachineTypesScopedList'+ { _mtslMachineTypes :: !(Maybe [MachineType])+ , _mtslWarning :: !(Maybe MachineTypesScopedListWarning)+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'MachineTypesScopedList' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'mtslMachineTypes'+--+-- * 'mtslWarning'+machineTypesScopedList+ :: MachineTypesScopedList+machineTypesScopedList =+ MachineTypesScopedList'+ { _mtslMachineTypes = Nothing+ , _mtslWarning = Nothing+ }++-- | [Output Only] List of machine types contained in this scope.+mtslMachineTypes :: Lens' MachineTypesScopedList [MachineType]+mtslMachineTypes+ = lens _mtslMachineTypes+ (\ s a -> s{_mtslMachineTypes = a})+ . _Default+ . _Coerce++-- | [Output Only] An informational warning that appears when the machine+-- types list is empty.+mtslWarning :: Lens' MachineTypesScopedList (Maybe MachineTypesScopedListWarning)+mtslWarning+ = lens _mtslWarning (\ s a -> s{_mtslWarning = a})++instance FromJSON MachineTypesScopedList where+ parseJSON+ = withObject "MachineTypesScopedList"+ (\ o ->+ MachineTypesScopedList' <$>+ (o .:? "machineTypes" .!= mempty) <*>+ (o .:? "warning"))++instance ToJSON MachineTypesScopedList where+ toJSON MachineTypesScopedList'{..}+ = object+ (catMaybes+ [("machineTypes" .=) <$> _mtslMachineTypes,+ ("warning" .=) <$> _mtslWarning])++-- | A Subnetwork resource.+--+-- /See:/ 'subnetwork' smart constructor.+data Subnetwork = Subnetwork'+ { _subKind :: !Text+ , _subNetwork :: !(Maybe Text)+ , _subGatewayAddress :: !(Maybe Text)+ , _subSelfLink :: !(Maybe Text)+ , _subName :: !(Maybe Text)+ , _subCreationTimestamp :: !(Maybe Text)+ , _subIPCIdRRange :: !(Maybe Text)+ , _subId :: !(Maybe (Textual Word64))+ , _subRegion :: !(Maybe Text)+ , _subDescription :: !(Maybe Text)+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'Subnetwork' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'subKind'+--+-- * 'subNetwork'+--+-- * 'subGatewayAddress'+--+-- * 'subSelfLink'+--+-- * 'subName'+--+-- * 'subCreationTimestamp'+--+-- * 'subIPCIdRRange'+--+-- * 'subId'+--+-- * 'subRegion'+--+-- * 'subDescription'+subnetwork+ :: Subnetwork+subnetwork =+ Subnetwork'+ { _subKind = "compute#subnetwork"+ , _subNetwork = Nothing+ , _subGatewayAddress = Nothing+ , _subSelfLink = Nothing+ , _subName = Nothing+ , _subCreationTimestamp = Nothing+ , _subIPCIdRRange = Nothing+ , _subId = Nothing+ , _subRegion = Nothing+ , _subDescription = Nothing+ }++-- | [Output Only] Type of the resource. Always compute#subnetwork for+-- Subnetwork resources.+subKind :: Lens' Subnetwork Text+subKind = lens _subKind (\ s a -> s{_subKind = a})++-- | The URL of the network to which this subnetwork belongs, provided by the+-- client when initially creating the subnetwork. Only networks that are in+-- the distributed mode can have subnetworks.+subNetwork :: Lens' Subnetwork (Maybe Text)+subNetwork+ = lens _subNetwork (\ s a -> s{_subNetwork = a})++-- | [Output Only] The gateway address for default routes to reach+-- destination addresses outside this subnetwork.+subGatewayAddress :: Lens' Subnetwork (Maybe Text)+subGatewayAddress+ = lens _subGatewayAddress+ (\ s a -> s{_subGatewayAddress = a})++-- | [Output Only] Server-defined URL for the resource.+subSelfLink :: Lens' Subnetwork (Maybe Text)+subSelfLink+ = lens _subSelfLink (\ s a -> s{_subSelfLink = a})++-- | The name of the resource, provided by the client when initially creating+-- the resource. The name must be 1-63 characters long, and comply with+-- RFC1035. Specifically, the name must be 1-63 characters long and match+-- the regular expression [a-z]([-a-z0-9]*[a-z0-9])? which means the first+-- character must be a lowercase letter, and all following characters must+-- be a dash, lowercase letter, or digit, except the last character, which+-- cannot be a dash.+subName :: Lens' Subnetwork (Maybe Text)+subName = lens _subName (\ s a -> s{_subName = a})++-- | [Output Only] Creation timestamp in RFC3339 text format.+subCreationTimestamp :: Lens' Subnetwork (Maybe Text)+subCreationTimestamp+ = lens _subCreationTimestamp+ (\ s a -> s{_subCreationTimestamp = a})++-- | The range of internal addresses that are owned by this subnetwork.+-- Provide this property when you create the subnetwork. For example,+-- 10.0.0.0\/8 or 192.168.0.0\/16. Ranges must be unique and+-- non-overlapping within a network.+subIPCIdRRange :: Lens' Subnetwork (Maybe Text)+subIPCIdRRange+ = lens _subIPCIdRRange+ (\ s a -> s{_subIPCIdRRange = a})++-- | [Output Only] The unique identifier for the resource. This identifier is+-- defined by the server.+subId :: Lens' Subnetwork (Maybe Word64)+subId+ = lens _subId (\ s a -> s{_subId = a}) .+ mapping _Coerce++-- | URL of the region where the Subnetwork resides.+subRegion :: Lens' Subnetwork (Maybe Text)+subRegion+ = lens _subRegion (\ s a -> s{_subRegion = a})++-- | An optional description of this resource. Provide this property when you+-- create the resource.+subDescription :: Lens' Subnetwork (Maybe Text)+subDescription+ = lens _subDescription+ (\ s a -> s{_subDescription = a})++instance FromJSON Subnetwork where+ parseJSON+ = withObject "Subnetwork"+ (\ o ->+ Subnetwork' <$>+ (o .:? "kind" .!= "compute#subnetwork") <*>+ (o .:? "network")+ <*> (o .:? "gatewayAddress")+ <*> (o .:? "selfLink")+ <*> (o .:? "name")+ <*> (o .:? "creationTimestamp")+ <*> (o .:? "ipCidrRange")+ <*> (o .:? "id")+ <*> (o .:? "region")+ <*> (o .:? "description"))++instance ToJSON Subnetwork where+ toJSON Subnetwork'{..}+ = object+ (catMaybes+ [Just ("kind" .= _subKind),+ ("network" .=) <$> _subNetwork,+ ("gatewayAddress" .=) <$> _subGatewayAddress,+ ("selfLink" .=) <$> _subSelfLink,+ ("name" .=) <$> _subName,+ ("creationTimestamp" .=) <$> _subCreationTimestamp,+ ("ipCidrRange" .=) <$> _subIPCIdRRange,+ ("id" .=) <$> _subId, ("region" .=) <$> _subRegion,+ ("description" .=) <$> _subDescription])++--+-- /See:/ 'machineTypeAggregatedList' smart constructor.+data MachineTypeAggregatedList = MachineTypeAggregatedList'+ { _mtalNextPageToken :: !(Maybe Text)+ , _mtalKind :: !Text+ , _mtalItems :: !(Maybe MachineTypeAggregatedListItems)+ , _mtalSelfLink :: !(Maybe Text)+ , _mtalId :: !(Maybe Text)+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'MachineTypeAggregatedList' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'mtalNextPageToken'+--+-- * 'mtalKind'+--+-- * 'mtalItems'+--+-- * 'mtalSelfLink'+--+-- * 'mtalId'+machineTypeAggregatedList+ :: MachineTypeAggregatedList+machineTypeAggregatedList =+ MachineTypeAggregatedList'+ { _mtalNextPageToken = Nothing+ , _mtalKind = "compute#machineTypeAggregatedList"+ , _mtalItems = Nothing+ , _mtalSelfLink = Nothing+ , _mtalId = Nothing+ }++-- | [Output Only] This token allows you to get the next page of results for+-- list requests. If the number of results is larger than maxResults, use+-- the nextPageToken as a value for the query parameter pageToken in the+-- next list request. Subsequent list requests will have their own+-- nextPageToken to continue paging through the results.+mtalNextPageToken :: Lens' MachineTypeAggregatedList (Maybe Text)+mtalNextPageToken+ = lens _mtalNextPageToken+ (\ s a -> s{_mtalNextPageToken = a})++-- | [Output Only] Type of resource. Always compute#machineTypeAggregatedList+-- for aggregated lists of machine types.+mtalKind :: Lens' MachineTypeAggregatedList Text+mtalKind = lens _mtalKind (\ s a -> s{_mtalKind = a})++-- | [Output Only] A map of scoped machine type lists.+mtalItems :: Lens' MachineTypeAggregatedList (Maybe MachineTypeAggregatedListItems)+mtalItems+ = lens _mtalItems (\ s a -> s{_mtalItems = a})++-- | [Output Only] Server-defined URL for this resource.+mtalSelfLink :: Lens' MachineTypeAggregatedList (Maybe Text)+mtalSelfLink+ = lens _mtalSelfLink (\ s a -> s{_mtalSelfLink = a})++-- | [Output Only] The unique identifier for the resource. This identifier is+-- defined by the server.+mtalId :: Lens' MachineTypeAggregatedList (Maybe Text)+mtalId = lens _mtalId (\ s a -> s{_mtalId = a})++instance FromJSON MachineTypeAggregatedList where+ parseJSON+ = withObject "MachineTypeAggregatedList"+ (\ o ->+ MachineTypeAggregatedList' <$>+ (o .:? "nextPageToken") <*>+ (o .:? "kind" .!=+ "compute#machineTypeAggregatedList")+ <*> (o .:? "items")+ <*> (o .:? "selfLink")+ <*> (o .:? "id"))++instance ToJSON MachineTypeAggregatedList where+ toJSON MachineTypeAggregatedList'{..}+ = object+ (catMaybes+ [("nextPageToken" .=) <$> _mtalNextPageToken,+ Just ("kind" .= _mtalKind),+ ("items" .=) <$> _mtalItems,+ ("selfLink" .=) <$> _mtalSelfLink,+ ("id" .=) <$> _mtalId])++-- | A DiskType resource.+--+-- /See:/ 'diskType' smart constructor.+data DiskType = DiskType'+ { _dtKind :: !Text+ , _dtZone :: !(Maybe Text)+ , _dtSelfLink :: !(Maybe Text)+ , _dtName :: !(Maybe Text)+ , _dtCreationTimestamp :: !(Maybe Text)+ , _dtId :: !(Maybe (Textual Word64))+ , _dtValidDiskSize :: !(Maybe Text)+ , _dtDescription :: !(Maybe Text)+ , _dtDefaultDiskSizeGb :: !(Maybe (Textual Int64))+ , _dtDeprecated :: !(Maybe DeprecationStatus)+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'DiskType' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'dtKind'+--+-- * 'dtZone'+--+-- * 'dtSelfLink'+--+-- * 'dtName'+--+-- * 'dtCreationTimestamp'+--+-- * 'dtId'+--+-- * 'dtValidDiskSize'+--+-- * 'dtDescription'+--+-- * 'dtDefaultDiskSizeGb'+--+-- * 'dtDeprecated'+diskType+ :: DiskType+diskType =+ DiskType'+ { _dtKind = "compute#diskType"+ , _dtZone = Nothing+ , _dtSelfLink = Nothing+ , _dtName = Nothing+ , _dtCreationTimestamp = Nothing+ , _dtId = Nothing+ , _dtValidDiskSize = Nothing+ , _dtDescription = Nothing+ , _dtDefaultDiskSizeGb = Nothing+ , _dtDeprecated = Nothing+ }++-- | [Output Only] Type of the resource. Always compute#diskType for disk+-- types.+dtKind :: Lens' DiskType Text+dtKind = lens _dtKind (\ s a -> s{_dtKind = a})++-- | [Output Only] URL of the zone where the disk type resides.+dtZone :: Lens' DiskType (Maybe Text)+dtZone = lens _dtZone (\ s a -> s{_dtZone = a})++-- | [Output Only] Server-defined URL for the resource.+dtSelfLink :: Lens' DiskType (Maybe Text)+dtSelfLink+ = lens _dtSelfLink (\ s a -> s{_dtSelfLink = a})++-- | [Output Only] Name of the resource.+dtName :: Lens' DiskType (Maybe Text)+dtName = lens _dtName (\ s a -> s{_dtName = a})++-- | [Output Only] Creation timestamp in RFC3339 text format.+dtCreationTimestamp :: Lens' DiskType (Maybe Text)+dtCreationTimestamp+ = lens _dtCreationTimestamp+ (\ s a -> s{_dtCreationTimestamp = a})++-- | [Output Only] The unique identifier for the resource. This identifier is+-- defined by the server.+dtId :: Lens' DiskType (Maybe Word64)+dtId+ = lens _dtId (\ s a -> s{_dtId = a}) .+ mapping _Coerce++-- | [Output Only] An optional textual description of the valid disk size,+-- such as \"10GB-10TB\".+dtValidDiskSize :: Lens' DiskType (Maybe Text)+dtValidDiskSize+ = lens _dtValidDiskSize+ (\ s a -> s{_dtValidDiskSize = a})++-- | [Output Only] An optional description of this resource.+dtDescription :: Lens' DiskType (Maybe Text)+dtDescription+ = lens _dtDescription+ (\ s a -> s{_dtDescription = a})++-- | [Output Only] Server-defined default disk size in GB.+dtDefaultDiskSizeGb :: Lens' DiskType (Maybe Int64)+dtDefaultDiskSizeGb+ = lens _dtDefaultDiskSizeGb+ (\ s a -> s{_dtDefaultDiskSizeGb = a})+ . mapping _Coerce++-- | [Output Only] The deprecation status associated with this disk type.+dtDeprecated :: Lens' DiskType (Maybe DeprecationStatus)+dtDeprecated+ = lens _dtDeprecated (\ s a -> s{_dtDeprecated = a})++instance FromJSON DiskType where+ parseJSON+ = withObject "DiskType"+ (\ o ->+ DiskType' <$>+ (o .:? "kind" .!= "compute#diskType") <*>+ (o .:? "zone")+ <*> (o .:? "selfLink")+ <*> (o .:? "name")+ <*> (o .:? "creationTimestamp")+ <*> (o .:? "id")+ <*> (o .:? "validDiskSize")+ <*> (o .:? "description")+ <*> (o .:? "defaultDiskSizeGb")+ <*> (o .:? "deprecated"))++instance ToJSON DiskType where+ toJSON DiskType'{..}+ = object+ (catMaybes+ [Just ("kind" .= _dtKind), ("zone" .=) <$> _dtZone,+ ("selfLink" .=) <$> _dtSelfLink,+ ("name" .=) <$> _dtName,+ ("creationTimestamp" .=) <$> _dtCreationTimestamp,+ ("id" .=) <$> _dtId,+ ("validDiskSize" .=) <$> _dtValidDiskSize,+ ("description" .=) <$> _dtDescription,+ ("defaultDiskSizeGb" .=) <$> _dtDefaultDiskSizeGb,+ ("deprecated" .=) <$> _dtDeprecated])++-- | Message representing the validation result for a UrlMap.+--+-- /See:/ 'urlMapValidationResult' smart constructor.+data URLMapValidationResult = URLMapValidationResult'+ { _umvrLoadErrors :: !(Maybe [Text])+ , _umvrLoadSucceeded :: !(Maybe Bool)+ , _umvrTestPassed :: !(Maybe Bool)+ , _umvrTestFailures :: !(Maybe [TestFailure])+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'URLMapValidationResult' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'umvrLoadErrors'+--+-- * 'umvrLoadSucceeded'+--+-- * 'umvrTestPassed'+--+-- * 'umvrTestFailures'+urlMapValidationResult+ :: URLMapValidationResult+urlMapValidationResult =+ URLMapValidationResult'+ { _umvrLoadErrors = Nothing+ , _umvrLoadSucceeded = Nothing+ , _umvrTestPassed = Nothing+ , _umvrTestFailures = Nothing+ }++umvrLoadErrors :: Lens' URLMapValidationResult [Text]+umvrLoadErrors+ = lens _umvrLoadErrors+ (\ s a -> s{_umvrLoadErrors = a})+ . _Default+ . _Coerce++-- | Whether the given UrlMap can be successfully loaded. If false,+-- \'loadErrors\' indicates the reasons.+umvrLoadSucceeded :: Lens' URLMapValidationResult (Maybe Bool)+umvrLoadSucceeded+ = lens _umvrLoadSucceeded+ (\ s a -> s{_umvrLoadSucceeded = a})++-- | If successfully loaded, this field indicates whether the test passed. If+-- false, \'testFailures\'s indicate the reason of failure.+umvrTestPassed :: Lens' URLMapValidationResult (Maybe Bool)+umvrTestPassed+ = lens _umvrTestPassed+ (\ s a -> s{_umvrTestPassed = a})++umvrTestFailures :: Lens' URLMapValidationResult [TestFailure]+umvrTestFailures+ = lens _umvrTestFailures+ (\ s a -> s{_umvrTestFailures = a})+ . _Default+ . _Coerce++instance FromJSON URLMapValidationResult where+ parseJSON+ = withObject "URLMapValidationResult"+ (\ o ->+ URLMapValidationResult' <$>+ (o .:? "loadErrors" .!= mempty) <*>+ (o .:? "loadSucceeded")+ <*> (o .:? "testPassed")+ <*> (o .:? "testFailures" .!= mempty))++instance ToJSON URLMapValidationResult where+ toJSON URLMapValidationResult'{..}+ = object+ (catMaybes+ [("loadErrors" .=) <$> _umvrLoadErrors,+ ("loadSucceeded" .=) <$> _umvrLoadSucceeded,+ ("testPassed" .=) <$> _umvrTestPassed,+ ("testFailures" .=) <$> _umvrTestFailures])++-- | A metadata key\/value entry.+--+-- /See:/ 'metadata' smart constructor.+data Metadata = Metadata'+ { _mKind :: !Text+ , _mFingerprint :: !(Maybe Base64)+ , _mItems :: !(Maybe [MetadataItemsItem])+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'Metadata' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'mKind'+--+-- * 'mFingerprint'+--+-- * 'mItems'+metadata+ :: Metadata+metadata =+ Metadata'+ { _mKind = "compute#metadata"+ , _mFingerprint = Nothing+ , _mItems = Nothing+ }++-- | [Output Only] Type of the resource. Always compute#metadata for+-- metadata.+mKind :: Lens' Metadata Text+mKind = lens _mKind (\ s a -> s{_mKind = a})++-- | Specifies a fingerprint for this request, which is essentially a hash of+-- the metadata\'s contents and used for optimistic locking. The+-- fingerprint is initially generated by Compute Engine and changes after+-- every request to modify or update metadata. You must always provide an+-- up-to-date fingerprint hash in order to update or change metadata.+mFingerprint :: Lens' Metadata (Maybe ByteString)+mFingerprint+ = lens _mFingerprint (\ s a -> s{_mFingerprint = a})+ . mapping _Base64++-- | Array of key\/value pairs. The total size of all keys and values must be+-- less than 512 KB.+mItems :: Lens' Metadata [MetadataItemsItem]+mItems+ = lens _mItems (\ s a -> s{_mItems = a}) . _Default .+ _Coerce++instance FromJSON Metadata where+ parseJSON+ = withObject "Metadata"+ (\ o ->+ Metadata' <$>+ (o .:? "kind" .!= "compute#metadata") <*>+ (o .:? "fingerprint")+ <*> (o .:? "items" .!= mempty))++instance ToJSON Metadata where+ toJSON Metadata'{..}+ = object+ (catMaybes+ [Just ("kind" .= _mKind),+ ("fingerprint" .=) <$> _mFingerprint,+ ("items" .=) <$> _mItems])++--+-- /See:/ 'routeWarningsItem' smart constructor.+data RouteWarningsItem = RouteWarningsItem'+ { _rwiData :: !(Maybe [RouteWarningsItemDataItem])+ , _rwiCode :: !(Maybe RouteWarningsItemCode)+ , _rwiMessage :: !(Maybe Text)+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'RouteWarningsItem' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'rwiData'+--+-- * 'rwiCode'+--+-- * 'rwiMessage'+routeWarningsItem+ :: RouteWarningsItem+routeWarningsItem =+ RouteWarningsItem'+ { _rwiData = Nothing+ , _rwiCode = Nothing+ , _rwiMessage = Nothing+ }++-- | [Output Only] Metadata about this warning in key: value format. For+-- example: \"data\": [ { \"key\": \"scope\", \"value\":+-- \"zones\/us-east1-d\" }+rwiData :: Lens' RouteWarningsItem [RouteWarningsItemDataItem]+rwiData+ = lens _rwiData (\ s a -> s{_rwiData = a}) . _Default+ . _Coerce++-- | [Output Only] A warning code, if applicable. For example, Compute Engine+-- returns NO_RESULTS_ON_PAGE if there are no results in the response.+rwiCode :: Lens' RouteWarningsItem (Maybe RouteWarningsItemCode)+rwiCode = lens _rwiCode (\ s a -> s{_rwiCode = a})++-- | [Output Only] A human-readable description of the warning code.+rwiMessage :: Lens' RouteWarningsItem (Maybe Text)+rwiMessage+ = lens _rwiMessage (\ s a -> s{_rwiMessage = a})++instance FromJSON RouteWarningsItem where+ parseJSON+ = withObject "RouteWarningsItem"+ (\ o ->+ RouteWarningsItem' <$>+ (o .:? "data" .!= mempty) <*> (o .:? "code") <*>+ (o .:? "message"))++instance ToJSON RouteWarningsItem where+ toJSON RouteWarningsItem'{..}+ = object+ (catMaybes+ [("data" .=) <$> _rwiData, ("code" .=) <$> _rwiCode,+ ("message" .=) <$> _rwiMessage])++--+-- /See:/ 'machineTypesScopedListWarningDataItem' smart constructor.+data MachineTypesScopedListWarningDataItem = MachineTypesScopedListWarningDataItem'+ { _mtslwdiValue :: !(Maybe Text)+ , _mtslwdiKey :: !(Maybe Text)+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'MachineTypesScopedListWarningDataItem' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'mtslwdiValue'+--+-- * 'mtslwdiKey'+machineTypesScopedListWarningDataItem+ :: MachineTypesScopedListWarningDataItem+machineTypesScopedListWarningDataItem =+ MachineTypesScopedListWarningDataItem'+ { _mtslwdiValue = Nothing+ , _mtslwdiKey = Nothing+ }++-- | [Output Only] A warning data value corresponding to the key.+mtslwdiValue :: Lens' MachineTypesScopedListWarningDataItem (Maybe Text)+mtslwdiValue+ = lens _mtslwdiValue (\ s a -> s{_mtslwdiValue = a})++-- | [Output Only] A key that provides more detail on the warning being+-- returned. For example, for warnings where there are no results in a list+-- request for a particular zone, this key might be scope and the key value+-- might be the zone name. Other examples might be a key indicating a+-- deprecated resource and a suggested replacement, or a warning about+-- invalid network settings (for example, if an instance attempts to+-- perform IP forwarding but is not enabled for IP forwarding).+mtslwdiKey :: Lens' MachineTypesScopedListWarningDataItem (Maybe Text)+mtslwdiKey+ = lens _mtslwdiKey (\ s a -> s{_mtslwdiKey = a})++instance FromJSON+ MachineTypesScopedListWarningDataItem where+ parseJSON+ = withObject "MachineTypesScopedListWarningDataItem"+ (\ o ->+ MachineTypesScopedListWarningDataItem' <$>+ (o .:? "value") <*> (o .:? "key"))++instance ToJSON MachineTypesScopedListWarningDataItem+ where+ toJSON MachineTypesScopedListWarningDataItem'{..}+ = object+ (catMaybes+ [("value" .=) <$> _mtslwdiValue,+ ("key" .=) <$> _mtslwdiKey])++--+-- /See:/ 'diskTypesScopedListWarningDataItem' smart constructor.+data DiskTypesScopedListWarningDataItem = DiskTypesScopedListWarningDataItem'+ { _dtslwdiValue :: !(Maybe Text)+ , _dtslwdiKey :: !(Maybe Text)+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'DiskTypesScopedListWarningDataItem' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'dtslwdiValue'+--+-- * 'dtslwdiKey'+diskTypesScopedListWarningDataItem+ :: DiskTypesScopedListWarningDataItem+diskTypesScopedListWarningDataItem =+ DiskTypesScopedListWarningDataItem'+ { _dtslwdiValue = Nothing+ , _dtslwdiKey = Nothing+ }++-- | [Output Only] A warning data value corresponding to the key.+dtslwdiValue :: Lens' DiskTypesScopedListWarningDataItem (Maybe Text)+dtslwdiValue+ = lens _dtslwdiValue (\ s a -> s{_dtslwdiValue = a})++-- | [Output Only] A key that provides more detail on the warning being+-- returned. For example, for warnings where there are no results in a list+-- request for a particular zone, this key might be scope and the key value+-- might be the zone name. Other examples might be a key indicating a+-- deprecated resource and a suggested replacement, or a warning about+-- invalid network settings (for example, if an instance attempts to+-- perform IP forwarding but is not enabled for IP forwarding).+dtslwdiKey :: Lens' DiskTypesScopedListWarningDataItem (Maybe Text)+dtslwdiKey+ = lens _dtslwdiKey (\ s a -> s{_dtslwdiKey = a})++instance FromJSON DiskTypesScopedListWarningDataItem+ where+ parseJSON+ = withObject "DiskTypesScopedListWarningDataItem"+ (\ o ->+ DiskTypesScopedListWarningDataItem' <$>+ (o .:? "value") <*> (o .:? "key"))++instance ToJSON DiskTypesScopedListWarningDataItem+ where+ toJSON DiskTypesScopedListWarningDataItem'{..}+ = object+ (catMaybes+ [("value" .=) <$> _dtslwdiValue,+ ("key" .=) <$> _dtslwdiKey])++-- | A TargetHttpProxy resource. This resource defines an HTTP proxy.+--+-- /See:/ 'targetHTTPProxy' smart constructor.+data TargetHTTPProxy = TargetHTTPProxy'+ { _thttppURLMap :: !(Maybe Text)+ , _thttppKind :: !Text+ , _thttppSelfLink :: !(Maybe Text)+ , _thttppName :: !(Maybe Text)+ , _thttppCreationTimestamp :: !(Maybe Text)+ , _thttppId :: !(Maybe (Textual Word64))+ , _thttppDescription :: !(Maybe Text)+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'TargetHTTPProxy' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'thttppURLMap'+--+-- * 'thttppKind'+--+-- * 'thttppSelfLink'+--+-- * 'thttppName'+--+-- * 'thttppCreationTimestamp'+--+-- * 'thttppId'+--+-- * 'thttppDescription'+targetHTTPProxy+ :: TargetHTTPProxy+targetHTTPProxy =+ TargetHTTPProxy'+ { _thttppURLMap = Nothing+ , _thttppKind = "compute#targetHttpProxy"+ , _thttppSelfLink = Nothing+ , _thttppName = Nothing+ , _thttppCreationTimestamp = Nothing+ , _thttppId = Nothing+ , _thttppDescription = Nothing+ }++-- | URL to the UrlMap resource that defines the mapping from URL to the+-- BackendService.+thttppURLMap :: Lens' TargetHTTPProxy (Maybe Text)+thttppURLMap+ = lens _thttppURLMap (\ s a -> s{_thttppURLMap = a})++-- | [Output Only] Type of resource. Always compute#targetHttpProxy for+-- target HTTP proxies.+thttppKind :: Lens' TargetHTTPProxy Text+thttppKind+ = lens _thttppKind (\ s a -> s{_thttppKind = a})++-- | [Output Only] Server-defined URL for the resource.+thttppSelfLink :: Lens' TargetHTTPProxy (Maybe Text)+thttppSelfLink+ = lens _thttppSelfLink+ (\ s a -> s{_thttppSelfLink = a})++-- | Name of the resource. Provided by the client when the resource is+-- created. The name must be 1-63 characters long, and comply with RFC1035.+-- Specifically, the name must be 1-63 characters long and match the+-- regular expression [a-z]([-a-z0-9]*[a-z0-9])? which means the first+-- character must be a lowercase letter, and all following characters must+-- be a dash, lowercase letter, or digit, except the last character, which+-- cannot be a dash.+thttppName :: Lens' TargetHTTPProxy (Maybe Text)+thttppName+ = lens _thttppName (\ s a -> s{_thttppName = a})++-- | [Output Only] Creation timestamp in RFC3339 text format.+thttppCreationTimestamp :: Lens' TargetHTTPProxy (Maybe Text)+thttppCreationTimestamp+ = lens _thttppCreationTimestamp+ (\ s a -> s{_thttppCreationTimestamp = a})++-- | [Output Only] The unique identifier for the resource. This identifier is+-- defined by the server.+thttppId :: Lens' TargetHTTPProxy (Maybe Word64)+thttppId+ = lens _thttppId (\ s a -> s{_thttppId = a}) .+ mapping _Coerce++-- | An optional description of this resource. Provide this property when you+-- create the resource.+thttppDescription :: Lens' TargetHTTPProxy (Maybe Text)+thttppDescription+ = lens _thttppDescription+ (\ s a -> s{_thttppDescription = a})++instance FromJSON TargetHTTPProxy where+ parseJSON+ = withObject "TargetHTTPProxy"+ (\ o ->+ TargetHTTPProxy' <$>+ (o .:? "urlMap") <*>+ (o .:? "kind" .!= "compute#targetHttpProxy")+ <*> (o .:? "selfLink")+ <*> (o .:? "name")+ <*> (o .:? "creationTimestamp")+ <*> (o .:? "id")+ <*> (o .:? "description"))++instance ToJSON TargetHTTPProxy where+ toJSON TargetHTTPProxy'{..}+ = object+ (catMaybes+ [("urlMap" .=) <$> _thttppURLMap,+ Just ("kind" .= _thttppKind),+ ("selfLink" .=) <$> _thttppSelfLink,+ ("name" .=) <$> _thttppName,+ ("creationTimestamp" .=) <$>+ _thttppCreationTimestamp,+ ("id" .=) <$> _thttppId,+ ("description" .=) <$> _thttppDescription])++-- | A Machine Type resource.+--+-- /See:/ 'machineType' smart constructor.+data MachineType = MachineType'+ { _mtIsSharedCPU :: !(Maybe Bool)+ , _mtKind :: !Text+ , _mtImageSpaceGb :: !(Maybe (Textual Int32))+ , _mtZone :: !(Maybe Text)+ , _mtSelfLink :: !(Maybe Text)+ , _mtName :: !(Maybe Text)+ , _mtCreationTimestamp :: !(Maybe Text)+ , _mtScratchDisks :: !(Maybe [MachineTypeScratchDisksItem])+ , _mtId :: !(Maybe (Textual Word64))+ , _mtGuestCPUs :: !(Maybe (Textual Int32))+ , _mtMaximumPersistentDisksSizeGb :: !(Maybe (Textual Int64))+ , _mtMaximumPersistentDisks :: !(Maybe (Textual Int32))+ , _mtMemoryMb :: !(Maybe (Textual Int32))+ , _mtDescription :: !(Maybe Text)+ , _mtDeprecated :: !(Maybe DeprecationStatus)+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'MachineType' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'mtIsSharedCPU'+--+-- * 'mtKind'+--+-- * 'mtImageSpaceGb'+--+-- * 'mtZone'+--+-- * 'mtSelfLink'+--+-- * 'mtName'+--+-- * 'mtCreationTimestamp'+--+-- * 'mtScratchDisks'+--+-- * 'mtId'+--+-- * 'mtGuestCPUs'+--+-- * 'mtMaximumPersistentDisksSizeGb'+--+-- * 'mtMaximumPersistentDisks'+--+-- * 'mtMemoryMb'+--+-- * 'mtDescription'+--+-- * 'mtDeprecated'+machineType+ :: MachineType+machineType =+ MachineType'+ { _mtIsSharedCPU = Nothing+ , _mtKind = "compute#machineType"+ , _mtImageSpaceGb = Nothing+ , _mtZone = Nothing+ , _mtSelfLink = Nothing+ , _mtName = Nothing+ , _mtCreationTimestamp = Nothing+ , _mtScratchDisks = Nothing+ , _mtId = Nothing+ , _mtGuestCPUs = Nothing+ , _mtMaximumPersistentDisksSizeGb = Nothing+ , _mtMaximumPersistentDisks = Nothing+ , _mtMemoryMb = Nothing+ , _mtDescription = Nothing+ , _mtDeprecated = Nothing+ }++-- | [Output Only] Whether this machine type has a shared CPU. See+-- Shared-core machine types for more information.+mtIsSharedCPU :: Lens' MachineType (Maybe Bool)+mtIsSharedCPU+ = lens _mtIsSharedCPU+ (\ s a -> s{_mtIsSharedCPU = a})++-- | [Output Only] The type of the resource. Always compute#machineType for+-- machine types.+mtKind :: Lens' MachineType Text+mtKind = lens _mtKind (\ s a -> s{_mtKind = a})++-- | [Deprecated] This property is deprecated and will never be populated+-- with any relevant values.+mtImageSpaceGb :: Lens' MachineType (Maybe Int32)+mtImageSpaceGb+ = lens _mtImageSpaceGb+ (\ s a -> s{_mtImageSpaceGb = a})+ . mapping _Coerce++-- | [Output Only] The name of the zone where the machine type resides, such+-- as us-central1-a.+mtZone :: Lens' MachineType (Maybe Text)+mtZone = lens _mtZone (\ s a -> s{_mtZone = a})++-- | [Output Only] Server-defined URL for the resource.+mtSelfLink :: Lens' MachineType (Maybe Text)+mtSelfLink+ = lens _mtSelfLink (\ s a -> s{_mtSelfLink = a})++-- | [Output Only] Name of the resource.+mtName :: Lens' MachineType (Maybe Text)+mtName = lens _mtName (\ s a -> s{_mtName = a})++-- | [Output Only] Creation timestamp in RFC3339 text format.+mtCreationTimestamp :: Lens' MachineType (Maybe Text)+mtCreationTimestamp+ = lens _mtCreationTimestamp+ (\ s a -> s{_mtCreationTimestamp = a})++-- | [Output Only] List of extended scratch disks assigned to the instance.+mtScratchDisks :: Lens' MachineType [MachineTypeScratchDisksItem]+mtScratchDisks+ = lens _mtScratchDisks+ (\ s a -> s{_mtScratchDisks = a})+ . _Default+ . _Coerce++-- | [Output Only] The unique identifier for the resource. This identifier is+-- defined by the server.+mtId :: Lens' MachineType (Maybe Word64)+mtId+ = lens _mtId (\ s a -> s{_mtId = a}) .+ mapping _Coerce++-- | [Output Only] The number of virtual CPUs that are available to the+-- instance.+mtGuestCPUs :: Lens' MachineType (Maybe Int32)+mtGuestCPUs+ = lens _mtGuestCPUs (\ s a -> s{_mtGuestCPUs = a}) .+ mapping _Coerce++-- | [Output Only] Maximum total persistent disks size (GB) allowed.+mtMaximumPersistentDisksSizeGb :: Lens' MachineType (Maybe Int64)+mtMaximumPersistentDisksSizeGb+ = lens _mtMaximumPersistentDisksSizeGb+ (\ s a -> s{_mtMaximumPersistentDisksSizeGb = a})+ . mapping _Coerce++-- | [Output Only] Maximum persistent disks allowed.+mtMaximumPersistentDisks :: Lens' MachineType (Maybe Int32)+mtMaximumPersistentDisks+ = lens _mtMaximumPersistentDisks+ (\ s a -> s{_mtMaximumPersistentDisks = a})+ . mapping _Coerce++-- | [Output Only] The amount of physical memory available to the instance,+-- defined in MB.+mtMemoryMb :: Lens' MachineType (Maybe Int32)+mtMemoryMb+ = lens _mtMemoryMb (\ s a -> s{_mtMemoryMb = a}) .+ mapping _Coerce++-- | [Output Only] An optional textual description of the resource.+mtDescription :: Lens' MachineType (Maybe Text)+mtDescription+ = lens _mtDescription+ (\ s a -> s{_mtDescription = a})++-- | [Output Only] The deprecation status associated with this machine type.+mtDeprecated :: Lens' MachineType (Maybe DeprecationStatus)+mtDeprecated+ = lens _mtDeprecated (\ s a -> s{_mtDeprecated = a})++instance FromJSON MachineType where+ parseJSON+ = withObject "MachineType"+ (\ o ->+ MachineType' <$>+ (o .:? "isSharedCpu") <*>+ (o .:? "kind" .!= "compute#machineType")+ <*> (o .:? "imageSpaceGb")+ <*> (o .:? "zone")+ <*> (o .:? "selfLink")+ <*> (o .:? "name")+ <*> (o .:? "creationTimestamp")+ <*> (o .:? "scratchDisks" .!= mempty)+ <*> (o .:? "id")+ <*> (o .:? "guestCpus")+ <*> (o .:? "maximumPersistentDisksSizeGb")+ <*> (o .:? "maximumPersistentDisks")+ <*> (o .:? "memoryMb")+ <*> (o .:? "description")+ <*> (o .:? "deprecated"))++instance ToJSON MachineType where+ toJSON MachineType'{..}+ = object+ (catMaybes+ [("isSharedCpu" .=) <$> _mtIsSharedCPU,+ Just ("kind" .= _mtKind),+ ("imageSpaceGb" .=) <$> _mtImageSpaceGb,+ ("zone" .=) <$> _mtZone,+ ("selfLink" .=) <$> _mtSelfLink,+ ("name" .=) <$> _mtName,+ ("creationTimestamp" .=) <$> _mtCreationTimestamp,+ ("scratchDisks" .=) <$> _mtScratchDisks,+ ("id" .=) <$> _mtId,+ ("guestCpus" .=) <$> _mtGuestCPUs,+ ("maximumPersistentDisksSizeGb" .=) <$>+ _mtMaximumPersistentDisksSizeGb,+ ("maximumPersistentDisks" .=) <$>+ _mtMaximumPersistentDisks,+ ("memoryMb" .=) <$> _mtMemoryMb,+ ("description" .=) <$> _mtDescription,+ ("deprecated" .=) <$> _mtDeprecated])++-- | [Output Only] If errors are generated during processing of the+-- operation, this field will be populated.+--+-- /See:/ 'operationError' smart constructor.+newtype OperationError = OperationError'+ { _oeErrors :: Maybe [OperationErrorErrorsItem]+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'OperationError' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'oeErrors'+operationError+ :: OperationError+operationError =+ OperationError'+ { _oeErrors = Nothing+ }++-- | [Output Only] The array of errors encountered while processing this+-- operation.+oeErrors :: Lens' OperationError [OperationErrorErrorsItem]+oeErrors+ = lens _oeErrors (\ s a -> s{_oeErrors = a}) .+ _Default+ . _Coerce++instance FromJSON OperationError where+ parseJSON+ = withObject "OperationError"+ (\ o ->+ OperationError' <$> (o .:? "errors" .!= mempty))++instance ToJSON OperationError where+ toJSON OperationError'{..}+ = object (catMaybes [("errors" .=) <$> _oeErrors])++-- | Informational warning which replaces the list of addresses when the list+-- is empty.+--+-- /See:/ 'targetInstancesScopedListWarning' smart constructor.+data TargetInstancesScopedListWarning = TargetInstancesScopedListWarning'+ { _tislwData :: !(Maybe [TargetInstancesScopedListWarningDataItem])+ , _tislwCode :: !(Maybe TargetInstancesScopedListWarningCode)+ , _tislwMessage :: !(Maybe Text)+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'TargetInstancesScopedListWarning' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'tislwData'+--+-- * 'tislwCode'+--+-- * 'tislwMessage'+targetInstancesScopedListWarning+ :: TargetInstancesScopedListWarning+targetInstancesScopedListWarning =+ TargetInstancesScopedListWarning'+ { _tislwData = Nothing+ , _tislwCode = Nothing+ , _tislwMessage = Nothing+ }++-- | [Output Only] Metadata about this warning in key: value format. For+-- example: \"data\": [ { \"key\": \"scope\", \"value\":+-- \"zones\/us-east1-d\" }+tislwData :: Lens' TargetInstancesScopedListWarning [TargetInstancesScopedListWarningDataItem]+tislwData+ = lens _tislwData (\ s a -> s{_tislwData = a}) .+ _Default+ . _Coerce++-- | [Output Only] A warning code, if applicable. For example, Compute Engine+-- returns NO_RESULTS_ON_PAGE if there are no results in the response.+tislwCode :: Lens' TargetInstancesScopedListWarning (Maybe TargetInstancesScopedListWarningCode)+tislwCode+ = lens _tislwCode (\ s a -> s{_tislwCode = a})++-- | [Output Only] A human-readable description of the warning code.+tislwMessage :: Lens' TargetInstancesScopedListWarning (Maybe Text)+tislwMessage+ = lens _tislwMessage (\ s a -> s{_tislwMessage = a})++instance FromJSON TargetInstancesScopedListWarning+ where+ parseJSON+ = withObject "TargetInstancesScopedListWarning"+ (\ o ->+ TargetInstancesScopedListWarning' <$>+ (o .:? "data" .!= mempty) <*> (o .:? "code") <*>+ (o .:? "message"))++instance ToJSON TargetInstancesScopedListWarning+ where+ toJSON TargetInstancesScopedListWarning'{..}+ = object+ (catMaybes+ [("data" .=) <$> _tislwData,+ ("code" .=) <$> _tislwCode,+ ("message" .=) <$> _tislwMessage])++--+-- /See:/ 'subnetworkAggregatedList' smart constructor.+data SubnetworkAggregatedList = SubnetworkAggregatedList'+ { _salNextPageToken :: !(Maybe Text)+ , _salKind :: !Text+ , _salItems :: !(Maybe SubnetworkAggregatedListItems)+ , _salSelfLink :: !(Maybe Text)+ , _salId :: !(Maybe Text)+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'SubnetworkAggregatedList' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'salNextPageToken'+--+-- * 'salKind'+--+-- * 'salItems'+--+-- * 'salSelfLink'+--+-- * 'salId'+subnetworkAggregatedList+ :: SubnetworkAggregatedList+subnetworkAggregatedList =+ SubnetworkAggregatedList'+ { _salNextPageToken = Nothing+ , _salKind = "compute#subnetworkAggregatedList"+ , _salItems = Nothing+ , _salSelfLink = Nothing+ , _salId = Nothing+ }++-- | [Output Only] This token allows you to get the next page of results for+-- list requests. If the number of results is larger than maxResults, use+-- the nextPageToken as a value for the query parameter pageToken in the+-- next list request. Subsequent list requests will have their own+-- nextPageToken to continue paging through the results.+salNextPageToken :: Lens' SubnetworkAggregatedList (Maybe Text)+salNextPageToken+ = lens _salNextPageToken+ (\ s a -> s{_salNextPageToken = a})++-- | [Output Only] Type of resource. Always compute#subnetworkAggregatedList+-- for aggregated lists of subnetworks.+salKind :: Lens' SubnetworkAggregatedList Text+salKind = lens _salKind (\ s a -> s{_salKind = a})++-- | [Output] A map of scoped Subnetwork lists.+salItems :: Lens' SubnetworkAggregatedList (Maybe SubnetworkAggregatedListItems)+salItems = lens _salItems (\ s a -> s{_salItems = a})++-- | [Output Only] Server-defined URL for this resource.+salSelfLink :: Lens' SubnetworkAggregatedList (Maybe Text)+salSelfLink+ = lens _salSelfLink (\ s a -> s{_salSelfLink = a})++-- | [Output Only] The unique identifier for the resource. This identifier is+-- defined by the server.+salId :: Lens' SubnetworkAggregatedList (Maybe Text)+salId = lens _salId (\ s a -> s{_salId = a})++instance FromJSON SubnetworkAggregatedList where+ parseJSON+ = withObject "SubnetworkAggregatedList"+ (\ o ->+ SubnetworkAggregatedList' <$>+ (o .:? "nextPageToken") <*>+ (o .:? "kind" .!= "compute#subnetworkAggregatedList")+ <*> (o .:? "items")+ <*> (o .:? "selfLink")+ <*> (o .:? "id"))++instance ToJSON SubnetworkAggregatedList where+ toJSON SubnetworkAggregatedList'{..}+ = object+ (catMaybes+ [("nextPageToken" .=) <$> _salNextPageToken,+ Just ("kind" .= _salKind),+ ("items" .=) <$> _salItems,+ ("selfLink" .=) <$> _salSelfLink,+ ("id" .=) <$> _salId])++--+-- /See:/ 'disksResizeRequest' smart constructor.+newtype DisksResizeRequest = DisksResizeRequest'+ { _drrSizeGb :: Maybe (Textual Int64)+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'DisksResizeRequest' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'drrSizeGb'+disksResizeRequest+ :: DisksResizeRequest+disksResizeRequest =+ DisksResizeRequest'+ { _drrSizeGb = Nothing+ }++-- | The new size of the persistent disk, which is specified in GB.+drrSizeGb :: Lens' DisksResizeRequest (Maybe Int64)+drrSizeGb+ = lens _drrSizeGb (\ s a -> s{_drrSizeGb = a}) .+ mapping _Coerce++instance FromJSON DisksResizeRequest where+ parseJSON+ = withObject "DisksResizeRequest"+ (\ o -> DisksResizeRequest' <$> (o .:? "sizeGb"))++instance ToJSON DisksResizeRequest where+ toJSON DisksResizeRequest'{..}+ = object (catMaybes [("sizeGb" .=) <$> _drrSizeGb])++--+-- /See:/ 'autoscalersScopedListWarningDataItem' smart constructor.+data AutoscalersScopedListWarningDataItem = AutoscalersScopedListWarningDataItem'+ { _aValue :: !(Maybe Text)+ , _aKey :: !(Maybe Text)+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'AutoscalersScopedListWarningDataItem' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'aValue'+--+-- * 'aKey'+autoscalersScopedListWarningDataItem+ :: AutoscalersScopedListWarningDataItem+autoscalersScopedListWarningDataItem =+ AutoscalersScopedListWarningDataItem'+ { _aValue = Nothing+ , _aKey = Nothing+ }++-- | [Output Only] A warning data value corresponding to the key.+aValue :: Lens' AutoscalersScopedListWarningDataItem (Maybe Text)+aValue = lens _aValue (\ s a -> s{_aValue = a})++-- | [Output Only] A key that provides more detail on the warning being+-- returned. For example, for warnings where there are no results in a list+-- request for a particular zone, this key might be scope and the key value+-- might be the zone name. Other examples might be a key indicating a+-- deprecated resource and a suggested replacement, or a warning about+-- invalid network settings (for example, if an instance attempts to+-- perform IP forwarding but is not enabled for IP forwarding).+aKey :: Lens' AutoscalersScopedListWarningDataItem (Maybe Text)+aKey = lens _aKey (\ s a -> s{_aKey = a})++instance FromJSON+ AutoscalersScopedListWarningDataItem where+ parseJSON+ = withObject "AutoscalersScopedListWarningDataItem"+ (\ o ->+ AutoscalersScopedListWarningDataItem' <$>+ (o .:? "value") <*> (o .:? "key"))++instance ToJSON AutoscalersScopedListWarningDataItem+ where+ toJSON AutoscalersScopedListWarningDataItem'{..}+ = object+ (catMaybes+ [("value" .=) <$> _aValue, ("key" .=) <$> _aKey])++--+-- /See:/ 'instanceGroupsListInstances' smart constructor.+data InstanceGroupsListInstances = InstanceGroupsListInstances'+ { _igliNextPageToken :: !(Maybe Text)+ , _igliKind :: !Text+ , _igliItems :: !(Maybe [InstanceWithNamedPorts])+ , _igliSelfLink :: !(Maybe Text)+ , _igliId :: !(Maybe Text)+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'InstanceGroupsListInstances' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'igliNextPageToken'+--+-- * 'igliKind'+--+-- * 'igliItems'+--+-- * 'igliSelfLink'+--+-- * 'igliId'+instanceGroupsListInstances+ :: InstanceGroupsListInstances+instanceGroupsListInstances =+ InstanceGroupsListInstances'+ { _igliNextPageToken = Nothing+ , _igliKind = "compute#instanceGroupsListInstances"+ , _igliItems = Nothing+ , _igliSelfLink = Nothing+ , _igliId = Nothing+ }++-- | [Output Only] This token allows you to get the next page of results for+-- list requests. If the number of results is larger than maxResults, use+-- the nextPageToken as a value for the query parameter pageToken in the+-- next list request. Subsequent list requests will have their own+-- nextPageToken to continue paging through the results.+igliNextPageToken :: Lens' InstanceGroupsListInstances (Maybe Text)+igliNextPageToken+ = lens _igliNextPageToken+ (\ s a -> s{_igliNextPageToken = a})++-- | [Output Only] The resource type, which is always+-- compute#instanceGroupsListInstances for the list of instances in the+-- specified instance group.+igliKind :: Lens' InstanceGroupsListInstances Text+igliKind = lens _igliKind (\ s a -> s{_igliKind = a})++-- | [Output Only] A list of instances and any named ports that are assigned+-- to those instances.+igliItems :: Lens' InstanceGroupsListInstances [InstanceWithNamedPorts]+igliItems+ = lens _igliItems (\ s a -> s{_igliItems = a}) .+ _Default+ . _Coerce++-- | [Output Only] The URL for this list of instances in the specified+-- instance groups. The server generates this URL.+igliSelfLink :: Lens' InstanceGroupsListInstances (Maybe Text)+igliSelfLink+ = lens _igliSelfLink (\ s a -> s{_igliSelfLink = a})++-- | [Output Only] A unique identifier for this list of instances in the+-- specified instance group. The server generates this identifier.+igliId :: Lens' InstanceGroupsListInstances (Maybe Text)+igliId = lens _igliId (\ s a -> s{_igliId = a})++instance FromJSON InstanceGroupsListInstances where+ parseJSON+ = withObject "InstanceGroupsListInstances"+ (\ o ->+ InstanceGroupsListInstances' <$>+ (o .:? "nextPageToken") <*>+ (o .:? "kind" .!=+ "compute#instanceGroupsListInstances")+ <*> (o .:? "items" .!= mempty)+ <*> (o .:? "selfLink")+ <*> (o .:? "id"))++instance ToJSON InstanceGroupsListInstances where+ toJSON InstanceGroupsListInstances'{..}+ = object+ (catMaybes+ [("nextPageToken" .=) <$> _igliNextPageToken,+ Just ("kind" .= _igliKind),+ ("items" .=) <$> _igliItems,+ ("selfLink" .=) <$> _igliSelfLink,+ ("id" .=) <$> _igliId])++-- | Represents an Autoscaler resource. Autoscalers allow you to+-- automatically scale virtual machine instances in managed instance groups+-- according to an autoscaling policy that you define. For more+-- information, read Autoscaling Groups of Instances.+--+-- /See:/ 'autoscaler' smart constructor.+data Autoscaler = Autoscaler'+ { _aaKind :: !Text+ , _aaZone :: !(Maybe Text)+ , _aaSelfLink :: !(Maybe Text)+ , _aaName :: !(Maybe Text)+ , _aaCreationTimestamp :: !(Maybe Text)+ , _aaAutoscalingPolicy :: !(Maybe AutoscalingPolicy)+ , _aaId :: !(Maybe (Textual Word64))+ , _aaRegion :: !(Maybe Text)+ , _aaDescription :: !(Maybe Text)+ , _aaTarget :: !(Maybe Text)+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'Autoscaler' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'aaKind'+--+-- * 'aaZone'+--+-- * 'aaSelfLink'+--+-- * 'aaName'+--+-- * 'aaCreationTimestamp'+--+-- * 'aaAutoscalingPolicy'+--+-- * 'aaId'+--+-- * 'aaRegion'+--+-- * 'aaDescription'+--+-- * 'aaTarget'+autoscaler+ :: Autoscaler+autoscaler =+ Autoscaler'+ { _aaKind = "compute#autoscaler"+ , _aaZone = Nothing+ , _aaSelfLink = Nothing+ , _aaName = Nothing+ , _aaCreationTimestamp = Nothing+ , _aaAutoscalingPolicy = Nothing+ , _aaId = Nothing+ , _aaRegion = Nothing+ , _aaDescription = Nothing+ , _aaTarget = Nothing+ }++-- | [Output Only] Type of the resource. Always compute#autoscaler for+-- autoscalers.+aaKind :: Lens' Autoscaler Text+aaKind = lens _aaKind (\ s a -> s{_aaKind = a})++-- | [Output Only] URL of the zone where the instance group resides (for+-- autoscalers living in zonal scope).+aaZone :: Lens' Autoscaler (Maybe Text)+aaZone = lens _aaZone (\ s a -> s{_aaZone = a})++-- | [Output Only] Server-defined URL for the resource.+aaSelfLink :: Lens' Autoscaler (Maybe Text)+aaSelfLink+ = lens _aaSelfLink (\ s a -> s{_aaSelfLink = a})++-- | Name of the resource. Provided by the client when the resource is+-- created. The name must be 1-63 characters long, and comply with RFC1035.+-- Specifically, the name must be 1-63 characters long and match the+-- regular expression [a-z]([-a-z0-9]*[a-z0-9])? which means the first+-- character must be a lowercase letter, and all following characters must+-- be a dash, lowercase letter, or digit, except the last character, which+-- cannot be a dash.+aaName :: Lens' Autoscaler (Maybe Text)+aaName = lens _aaName (\ s a -> s{_aaName = a})++-- | [Output Only] Creation timestamp in RFC3339 text format.+aaCreationTimestamp :: Lens' Autoscaler (Maybe Text)+aaCreationTimestamp+ = lens _aaCreationTimestamp+ (\ s a -> s{_aaCreationTimestamp = a})++-- | The configuration parameters for the autoscaling algorithm. You can+-- define one or more of the policies for an autoscaler: cpuUtilization,+-- customMetricUtilizations, and loadBalancingUtilization. If none of these+-- are specified, the default will be to autoscale based on cpuUtilization+-- to 0.6 or 60%.+aaAutoscalingPolicy :: Lens' Autoscaler (Maybe AutoscalingPolicy)+aaAutoscalingPolicy+ = lens _aaAutoscalingPolicy+ (\ s a -> s{_aaAutoscalingPolicy = a})++-- | [Output Only] The unique identifier for the resource. This identifier is+-- defined by the server.+aaId :: Lens' Autoscaler (Maybe Word64)+aaId+ = lens _aaId (\ s a -> s{_aaId = a}) .+ mapping _Coerce++-- | [Output Only] URL of the region where the instance group resides (for+-- autoscalers living in regional scope).+aaRegion :: Lens' Autoscaler (Maybe Text)+aaRegion = lens _aaRegion (\ s a -> s{_aaRegion = a})++-- | An optional description of this resource. Provide this property when you+-- create the resource.+aaDescription :: Lens' Autoscaler (Maybe Text)+aaDescription+ = lens _aaDescription+ (\ s a -> s{_aaDescription = a})++-- | URL of the managed instance group that this autoscaler will scale.+aaTarget :: Lens' Autoscaler (Maybe Text)+aaTarget = lens _aaTarget (\ s a -> s{_aaTarget = a})++instance FromJSON Autoscaler where+ parseJSON+ = withObject "Autoscaler"+ (\ o ->+ Autoscaler' <$>+ (o .:? "kind" .!= "compute#autoscaler") <*>+ (o .:? "zone")+ <*> (o .:? "selfLink")+ <*> (o .:? "name")+ <*> (o .:? "creationTimestamp")+ <*> (o .:? "autoscalingPolicy")+ <*> (o .:? "id")+ <*> (o .:? "region")+ <*> (o .:? "description")+ <*> (o .:? "target"))++instance ToJSON Autoscaler where+ toJSON Autoscaler'{..}+ = object+ (catMaybes+ [Just ("kind" .= _aaKind), ("zone" .=) <$> _aaZone,+ ("selfLink" .=) <$> _aaSelfLink,+ ("name" .=) <$> _aaName,+ ("creationTimestamp" .=) <$> _aaCreationTimestamp,+ ("autoscalingPolicy" .=) <$> _aaAutoscalingPolicy,+ ("id" .=) <$> _aaId, ("region" .=) <$> _aaRegion,+ ("description" .=) <$> _aaDescription,+ ("target" .=) <$> _aaTarget])++-- | [Output Only] Informational warning which replaces the list of disks+-- when the list is empty.+--+-- /See:/ 'disksScopedListWarning' smart constructor.+data DisksScopedListWarning = DisksScopedListWarning'+ { _dslwData :: !(Maybe [DisksScopedListWarningDataItem])+ , _dslwCode :: !(Maybe DisksScopedListWarningCode)+ , _dslwMessage :: !(Maybe Text)+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'DisksScopedListWarning' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'dslwData'+--+-- * 'dslwCode'+--+-- * 'dslwMessage'+disksScopedListWarning+ :: DisksScopedListWarning+disksScopedListWarning =+ DisksScopedListWarning'+ { _dslwData = Nothing+ , _dslwCode = Nothing+ , _dslwMessage = Nothing+ }++-- | [Output Only] Metadata about this warning in key: value format. For+-- example: \"data\": [ { \"key\": \"scope\", \"value\":+-- \"zones\/us-east1-d\" }+dslwData :: Lens' DisksScopedListWarning [DisksScopedListWarningDataItem]+dslwData+ = lens _dslwData (\ s a -> s{_dslwData = a}) .+ _Default+ . _Coerce++-- | [Output Only] A warning code, if applicable. For example, Compute Engine+-- returns NO_RESULTS_ON_PAGE if there are no results in the response.+dslwCode :: Lens' DisksScopedListWarning (Maybe DisksScopedListWarningCode)+dslwCode = lens _dslwCode (\ s a -> s{_dslwCode = a})++-- | [Output Only] A human-readable description of the warning code.+dslwMessage :: Lens' DisksScopedListWarning (Maybe Text)+dslwMessage+ = lens _dslwMessage (\ s a -> s{_dslwMessage = a})++instance FromJSON DisksScopedListWarning where+ parseJSON+ = withObject "DisksScopedListWarning"+ (\ o ->+ DisksScopedListWarning' <$>+ (o .:? "data" .!= mempty) <*> (o .:? "code") <*>+ (o .:? "message"))++instance ToJSON DisksScopedListWarning where+ toJSON DisksScopedListWarning'{..}+ = object+ (catMaybes+ [("data" .=) <$> _dslwData,+ ("code" .=) <$> _dslwCode,+ ("message" .=) <$> _dslwMessage])++-- | A map of scoped target vpn gateway lists.+--+-- /See:/ 'targetVPNGatewayAggregatedListItems' smart constructor.+newtype TargetVPNGatewayAggregatedListItems = TargetVPNGatewayAggregatedListItems'+ { _tvgaliAddtional :: HashMap Text TargetVPNGatewaysScopedList+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'TargetVPNGatewayAggregatedListItems' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'tvgaliAddtional'+targetVPNGatewayAggregatedListItems+ :: HashMap Text TargetVPNGatewaysScopedList -- ^ 'tvgaliAddtional'+ -> TargetVPNGatewayAggregatedListItems+targetVPNGatewayAggregatedListItems pTvgaliAddtional_ =+ TargetVPNGatewayAggregatedListItems'+ { _tvgaliAddtional = _Coerce # pTvgaliAddtional_+ }++-- | [Output Only] Name of the scope containing this set of target VPN+-- gateways.+tvgaliAddtional :: Lens' TargetVPNGatewayAggregatedListItems (HashMap Text TargetVPNGatewaysScopedList)+tvgaliAddtional+ = lens _tvgaliAddtional+ (\ s a -> s{_tvgaliAddtional = a})+ . _Coerce++instance FromJSON TargetVPNGatewayAggregatedListItems+ where+ parseJSON+ = withObject "TargetVPNGatewayAggregatedListItems"+ (\ o ->+ TargetVPNGatewayAggregatedListItems' <$>+ (parseJSONObject o))++instance ToJSON TargetVPNGatewayAggregatedListItems+ where+ toJSON = toJSON . _tvgaliAddtional++-- | Informational warning which replaces the list of addresses when the list+-- is empty.+--+-- /See:/ 'targetPoolsScopedListWarning' smart constructor.+data TargetPoolsScopedListWarning = TargetPoolsScopedListWarning'+ { _tpslwData :: !(Maybe [TargetPoolsScopedListWarningDataItem])+ , _tpslwCode :: !(Maybe TargetPoolsScopedListWarningCode)+ , _tpslwMessage :: !(Maybe Text)+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'TargetPoolsScopedListWarning' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'tpslwData'+--+-- * 'tpslwCode'+--+-- * 'tpslwMessage'+targetPoolsScopedListWarning+ :: TargetPoolsScopedListWarning+targetPoolsScopedListWarning =+ TargetPoolsScopedListWarning'+ { _tpslwData = Nothing+ , _tpslwCode = Nothing+ , _tpslwMessage = Nothing+ }++-- | [Output Only] Metadata about this warning in key: value format. For+-- example: \"data\": [ { \"key\": \"scope\", \"value\":+-- \"zones\/us-east1-d\" }+tpslwData :: Lens' TargetPoolsScopedListWarning [TargetPoolsScopedListWarningDataItem]+tpslwData+ = lens _tpslwData (\ s a -> s{_tpslwData = a}) .+ _Default+ . _Coerce++-- | [Output Only] A warning code, if applicable. For example, Compute Engine+-- returns NO_RESULTS_ON_PAGE if there are no results in the response.+tpslwCode :: Lens' TargetPoolsScopedListWarning (Maybe TargetPoolsScopedListWarningCode)+tpslwCode+ = lens _tpslwCode (\ s a -> s{_tpslwCode = a})++-- | [Output Only] A human-readable description of the warning code.+tpslwMessage :: Lens' TargetPoolsScopedListWarning (Maybe Text)+tpslwMessage+ = lens _tpslwMessage (\ s a -> s{_tpslwMessage = a})++instance FromJSON TargetPoolsScopedListWarning where+ parseJSON+ = withObject "TargetPoolsScopedListWarning"+ (\ o ->+ TargetPoolsScopedListWarning' <$>+ (o .:? "data" .!= mempty) <*> (o .:? "code") <*>+ (o .:? "message"))++instance ToJSON TargetPoolsScopedListWarning where+ toJSON TargetPoolsScopedListWarning'{..}+ = object+ (catMaybes+ [("data" .=) <$> _tpslwData,+ ("code" .=) <$> _tpslwCode,+ ("message" .=) <$> _tpslwMessage])++--+-- /See:/ 'healthStatus' smart constructor.+data HealthStatus = HealthStatus'+ { _hsIPAddress :: !(Maybe Text)+ , _hsHealthState :: !(Maybe HealthStatusHealthState)+ , _hsPort :: !(Maybe (Textual Int32))+ , _hsInstance :: !(Maybe Text)+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'HealthStatus' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'hsIPAddress'+--+-- * 'hsHealthState'+--+-- * 'hsPort'+--+-- * 'hsInstance'+healthStatus+ :: HealthStatus+healthStatus =+ HealthStatus'+ { _hsIPAddress = Nothing+ , _hsHealthState = Nothing+ , _hsPort = Nothing+ , _hsInstance = Nothing+ }++-- | The IP address represented by this resource.+hsIPAddress :: Lens' HealthStatus (Maybe Text)+hsIPAddress+ = lens _hsIPAddress (\ s a -> s{_hsIPAddress = a})++-- | Health state of the instance.+hsHealthState :: Lens' HealthStatus (Maybe HealthStatusHealthState)+hsHealthState+ = lens _hsHealthState+ (\ s a -> s{_hsHealthState = a})++-- | The port on the instance.+hsPort :: Lens' HealthStatus (Maybe Int32)+hsPort+ = lens _hsPort (\ s a -> s{_hsPort = a}) .+ mapping _Coerce++-- | URL of the instance resource.+hsInstance :: Lens' HealthStatus (Maybe Text)+hsInstance+ = lens _hsInstance (\ s a -> s{_hsInstance = a})++instance FromJSON HealthStatus where+ parseJSON+ = withObject "HealthStatus"+ (\ o ->+ HealthStatus' <$>+ (o .:? "ipAddress") <*> (o .:? "healthState") <*>+ (o .:? "port")+ <*> (o .:? "instance"))++instance ToJSON HealthStatus where+ toJSON HealthStatus'{..}+ = object+ (catMaybes+ [("ipAddress" .=) <$> _hsIPAddress,+ ("healthState" .=) <$> _hsHealthState,+ ("port" .=) <$> _hsPort,+ ("instance" .=) <$> _hsInstance])++-- | Region resource.+--+-- /See:/ 'region' smart constructor.+data Region = Region'+ { _rrStatus :: !(Maybe RegionStatus)+ , _rrZones :: !(Maybe [Text])+ , _rrKind :: !Text+ , _rrSelfLink :: !(Maybe Text)+ , _rrName :: !(Maybe Text)+ , _rrCreationTimestamp :: !(Maybe Text)+ , _rrQuotas :: !(Maybe [Quota])+ , _rrId :: !(Maybe (Textual Word64))+ , _rrDescription :: !(Maybe Text)+ , _rrDeprecated :: !(Maybe DeprecationStatus)+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'Region' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'rrStatus'+--+-- * 'rrZones'+--+-- * 'rrKind'+--+-- * 'rrSelfLink'+--+-- * 'rrName'+--+-- * 'rrCreationTimestamp'+--+-- * 'rrQuotas'+--+-- * 'rrId'+--+-- * 'rrDescription'+--+-- * 'rrDeprecated'+region+ :: Region+region =+ Region'+ { _rrStatus = Nothing+ , _rrZones = Nothing+ , _rrKind = "compute#region"+ , _rrSelfLink = Nothing+ , _rrName = Nothing+ , _rrCreationTimestamp = Nothing+ , _rrQuotas = Nothing+ , _rrId = Nothing+ , _rrDescription = Nothing+ , _rrDeprecated = Nothing+ }++-- | [Output Only] Status of the region, either UP or DOWN.+rrStatus :: Lens' Region (Maybe RegionStatus)+rrStatus = lens _rrStatus (\ s a -> s{_rrStatus = a})++-- | [Output Only] A list of zones available in this region, in the form of+-- resource URLs.+rrZones :: Lens' Region [Text]+rrZones+ = lens _rrZones (\ s a -> s{_rrZones = a}) . _Default+ . _Coerce++-- | [Output Only] Type of the resource. Always compute#region for regions.+rrKind :: Lens' Region Text+rrKind = lens _rrKind (\ s a -> s{_rrKind = a})++-- | [Output Only] Server-defined URL for the resource.+rrSelfLink :: Lens' Region (Maybe Text)+rrSelfLink+ = lens _rrSelfLink (\ s a -> s{_rrSelfLink = a})++-- | [Output Only] Name of the resource.+rrName :: Lens' Region (Maybe Text)+rrName = lens _rrName (\ s a -> s{_rrName = a})++-- | [Output Only] Creation timestamp in RFC3339 text format.+rrCreationTimestamp :: Lens' Region (Maybe Text)+rrCreationTimestamp+ = lens _rrCreationTimestamp+ (\ s a -> s{_rrCreationTimestamp = a})++-- | [Output Only] Quotas assigned to this region.+rrQuotas :: Lens' Region [Quota]+rrQuotas+ = lens _rrQuotas (\ s a -> s{_rrQuotas = a}) .+ _Default+ . _Coerce++-- | [Output Only] The unique identifier for the resource. This identifier is+-- defined by the server.+rrId :: Lens' Region (Maybe Word64)+rrId+ = lens _rrId (\ s a -> s{_rrId = a}) .+ mapping _Coerce++-- | [Output Only] Textual description of the resource.+rrDescription :: Lens' Region (Maybe Text)+rrDescription+ = lens _rrDescription+ (\ s a -> s{_rrDescription = a})++-- | [Output Only] The deprecation status associated with this region.+rrDeprecated :: Lens' Region (Maybe DeprecationStatus)+rrDeprecated+ = lens _rrDeprecated (\ s a -> s{_rrDeprecated = a})++instance FromJSON Region where+ parseJSON+ = withObject "Region"+ (\ o ->+ Region' <$>+ (o .:? "status") <*> (o .:? "zones" .!= mempty) <*>+ (o .:? "kind" .!= "compute#region")+ <*> (o .:? "selfLink")+ <*> (o .:? "name")+ <*> (o .:? "creationTimestamp")+ <*> (o .:? "quotas" .!= mempty)+ <*> (o .:? "id")+ <*> (o .:? "description")+ <*> (o .:? "deprecated"))++instance ToJSON Region where+ toJSON Region'{..}+ = object+ (catMaybes+ [("status" .=) <$> _rrStatus,+ ("zones" .=) <$> _rrZones, Just ("kind" .= _rrKind),+ ("selfLink" .=) <$> _rrSelfLink,+ ("name" .=) <$> _rrName,+ ("creationTimestamp" .=) <$> _rrCreationTimestamp,+ ("quotas" .=) <$> _rrQuotas, ("id" .=) <$> _rrId,+ ("description" .=) <$> _rrDescription,+ ("deprecated" .=) <$> _rrDeprecated])++--+-- /See:/ 'vpnTunnel' smart constructor.+data VPNTunnel = VPNTunnel'+ { _vtDetailedStatus :: !(Maybe Text)+ , _vtStatus :: !(Maybe VPNTunnelStatus)+ , _vtLocalTrafficSelector :: !(Maybe [Text])+ , _vtKind :: !Text+ , _vtPeerIP :: !(Maybe Text)+ , _vtRouter :: !(Maybe Text)+ , _vtTargetVPNGateway :: !(Maybe Text)+ , _vtRemoteTrafficSelector :: !(Maybe [Text])+ , _vtSelfLink :: !(Maybe Text)+ , _vtSharedSecret :: !(Maybe Text)+ , _vtName :: !(Maybe Text)+ , _vtCreationTimestamp :: !(Maybe Text)+ , _vtSharedSecretHash :: !(Maybe Text)+ , _vtId :: !(Maybe (Textual Word64))+ , _vtIkeVersion :: !(Maybe (Textual Int32))+ , _vtRegion :: !(Maybe Text)+ , _vtDescription :: !(Maybe Text)+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'VPNTunnel' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'vtDetailedStatus'+--+-- * 'vtStatus'+--+-- * 'vtLocalTrafficSelector'+--+-- * 'vtKind'+--+-- * 'vtPeerIP'+--+-- * 'vtRouter'+--+-- * 'vtTargetVPNGateway'+--+-- * 'vtRemoteTrafficSelector'+--+-- * 'vtSelfLink'+--+-- * 'vtSharedSecret'+--+-- * 'vtName'+--+-- * 'vtCreationTimestamp'+--+-- * 'vtSharedSecretHash'+--+-- * 'vtId'+--+-- * 'vtIkeVersion'+--+-- * 'vtRegion'+--+-- * 'vtDescription'+vpnTunnel+ :: VPNTunnel+vpnTunnel =+ VPNTunnel'+ { _vtDetailedStatus = Nothing+ , _vtStatus = Nothing+ , _vtLocalTrafficSelector = Nothing+ , _vtKind = "compute#vpnTunnel"+ , _vtPeerIP = Nothing+ , _vtRouter = Nothing+ , _vtTargetVPNGateway = Nothing+ , _vtRemoteTrafficSelector = Nothing+ , _vtSelfLink = Nothing+ , _vtSharedSecret = Nothing+ , _vtName = Nothing+ , _vtCreationTimestamp = Nothing+ , _vtSharedSecretHash = Nothing+ , _vtId = Nothing+ , _vtIkeVersion = Nothing+ , _vtRegion = Nothing+ , _vtDescription = Nothing+ }++-- | [Output Only] Detailed status message for the VPN tunnel.+vtDetailedStatus :: Lens' VPNTunnel (Maybe Text)+vtDetailedStatus+ = lens _vtDetailedStatus+ (\ s a -> s{_vtDetailedStatus = a})++-- | [Output Only] The status of the VPN tunnel.+vtStatus :: Lens' VPNTunnel (Maybe VPNTunnelStatus)+vtStatus = lens _vtStatus (\ s a -> s{_vtStatus = a})++-- | Local traffic selector to use when establishing the VPN tunnel with peer+-- VPN gateway. The value should be a CIDR formatted string, for example:+-- 192.168.0.0\/16. The ranges should be disjoint.+vtLocalTrafficSelector :: Lens' VPNTunnel [Text]+vtLocalTrafficSelector+ = lens _vtLocalTrafficSelector+ (\ s a -> s{_vtLocalTrafficSelector = a})+ . _Default+ . _Coerce++-- | [Output Only] Type of resource. Always compute#vpnTunnel for VPN+-- tunnels.+vtKind :: Lens' VPNTunnel Text+vtKind = lens _vtKind (\ s a -> s{_vtKind = a})++-- | IP address of the peer VPN gateway.+vtPeerIP :: Lens' VPNTunnel (Maybe Text)+vtPeerIP = lens _vtPeerIP (\ s a -> s{_vtPeerIP = a})++-- | URL of router resource to be used for dynamic routing.+vtRouter :: Lens' VPNTunnel (Maybe Text)+vtRouter = lens _vtRouter (\ s a -> s{_vtRouter = a})++-- | URL of the VPN gateway with which this VPN tunnel is associated.+-- Provided by the client when the VPN tunnel is created.+vtTargetVPNGateway :: Lens' VPNTunnel (Maybe Text)+vtTargetVPNGateway+ = lens _vtTargetVPNGateway+ (\ s a -> s{_vtTargetVPNGateway = a})++-- | Remote traffic selectors to use when establishing the VPN tunnel with+-- peer VPN gateway. The value should be a CIDR formatted string, for+-- example: 192.168.0.0\/16. The ranges should be disjoint.+vtRemoteTrafficSelector :: Lens' VPNTunnel [Text]+vtRemoteTrafficSelector+ = lens _vtRemoteTrafficSelector+ (\ s a -> s{_vtRemoteTrafficSelector = a})+ . _Default+ . _Coerce++-- | [Output Only] Server-defined URL for the resource.+vtSelfLink :: Lens' VPNTunnel (Maybe Text)+vtSelfLink+ = lens _vtSelfLink (\ s a -> s{_vtSelfLink = a})++-- | Shared secret used to set the secure session between the Cloud VPN+-- gateway and the peer VPN gateway.+vtSharedSecret :: Lens' VPNTunnel (Maybe Text)+vtSharedSecret+ = lens _vtSharedSecret+ (\ s a -> s{_vtSharedSecret = a})++-- | Name of the resource. Provided by the client when the resource is+-- created. The name must be 1-63 characters long, and comply with RFC1035.+-- Specifically, the name must be 1-63 characters long and match the+-- regular expression [a-z]([-a-z0-9]*[a-z0-9])? which means the first+-- character must be a lowercase letter, and all following characters must+-- be a dash, lowercase letter, or digit, except the last character, which+-- cannot be a dash.+vtName :: Lens' VPNTunnel (Maybe Text)+vtName = lens _vtName (\ s a -> s{_vtName = a})++-- | [Output Only] Creation timestamp in RFC3339 text format.+vtCreationTimestamp :: Lens' VPNTunnel (Maybe Text)+vtCreationTimestamp+ = lens _vtCreationTimestamp+ (\ s a -> s{_vtCreationTimestamp = a})++-- | Hash of the shared secret.+vtSharedSecretHash :: Lens' VPNTunnel (Maybe Text)+vtSharedSecretHash+ = lens _vtSharedSecretHash+ (\ s a -> s{_vtSharedSecretHash = a})++-- | [Output Only] The unique identifier for the resource. This identifier is+-- defined by the server.+vtId :: Lens' VPNTunnel (Maybe Word64)+vtId+ = lens _vtId (\ s a -> s{_vtId = a}) .+ mapping _Coerce++-- | IKE protocol version to use when establishing the VPN tunnel with peer+-- VPN gateway. Acceptable IKE versions are 1 or 2. Default version is 2.+vtIkeVersion :: Lens' VPNTunnel (Maybe Int32)+vtIkeVersion+ = lens _vtIkeVersion (\ s a -> s{_vtIkeVersion = a})+ . mapping _Coerce++-- | [Output Only] URL of the region where the VPN tunnel resides.+vtRegion :: Lens' VPNTunnel (Maybe Text)+vtRegion = lens _vtRegion (\ s a -> s{_vtRegion = a})++-- | An optional description of this resource. Provide this property when you+-- create the resource.+vtDescription :: Lens' VPNTunnel (Maybe Text)+vtDescription+ = lens _vtDescription+ (\ s a -> s{_vtDescription = a})++instance FromJSON VPNTunnel where+ parseJSON+ = withObject "VPNTunnel"+ (\ o ->+ VPNTunnel' <$>+ (o .:? "detailedStatus") <*> (o .:? "status") <*>+ (o .:? "localTrafficSelector" .!= mempty)+ <*> (o .:? "kind" .!= "compute#vpnTunnel")+ <*> (o .:? "peerIp")+ <*> (o .:? "router")+ <*> (o .:? "targetVpnGateway")+ <*> (o .:? "remoteTrafficSelector" .!= mempty)+ <*> (o .:? "selfLink")+ <*> (o .:? "sharedSecret")+ <*> (o .:? "name")+ <*> (o .:? "creationTimestamp")+ <*> (o .:? "sharedSecretHash")+ <*> (o .:? "id")+ <*> (o .:? "ikeVersion")+ <*> (o .:? "region")+ <*> (o .:? "description"))++instance ToJSON VPNTunnel where+ toJSON VPNTunnel'{..}+ = object+ (catMaybes+ [("detailedStatus" .=) <$> _vtDetailedStatus,+ ("status" .=) <$> _vtStatus,+ ("localTrafficSelector" .=) <$>+ _vtLocalTrafficSelector,+ Just ("kind" .= _vtKind),+ ("peerIp" .=) <$> _vtPeerIP,+ ("router" .=) <$> _vtRouter,+ ("targetVpnGateway" .=) <$> _vtTargetVPNGateway,+ ("remoteTrafficSelector" .=) <$>+ _vtRemoteTrafficSelector,+ ("selfLink" .=) <$> _vtSelfLink,+ ("sharedSecret" .=) <$> _vtSharedSecret,+ ("name" .=) <$> _vtName,+ ("creationTimestamp" .=) <$> _vtCreationTimestamp,+ ("sharedSecretHash" .=) <$> _vtSharedSecretHash,+ ("id" .=) <$> _vtId,+ ("ikeVersion" .=) <$> _vtIkeVersion,+ ("region" .=) <$> _vtRegion,+ ("description" .=) <$> _vtDescription])++-- | [Output Only] Informational warning which replaces the list of+-- operations when the list is empty.+--+-- /See:/ 'operationsScopedListWarning' smart constructor.+data OperationsScopedListWarning = OperationsScopedListWarning'+ { _oslwData :: !(Maybe [OperationsScopedListWarningDataItem])+ , _oslwCode :: !(Maybe OperationsScopedListWarningCode)+ , _oslwMessage :: !(Maybe Text)+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'OperationsScopedListWarning' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'oslwData'+--+-- * 'oslwCode'+--+-- * 'oslwMessage'+operationsScopedListWarning+ :: OperationsScopedListWarning+operationsScopedListWarning =+ OperationsScopedListWarning'+ { _oslwData = Nothing+ , _oslwCode = Nothing+ , _oslwMessage = Nothing+ }++-- | [Output Only] Metadata about this warning in key: value format. For+-- example: \"data\": [ { \"key\": \"scope\", \"value\":+-- \"zones\/us-east1-d\" }+oslwData :: Lens' OperationsScopedListWarning [OperationsScopedListWarningDataItem]+oslwData+ = lens _oslwData (\ s a -> s{_oslwData = a}) .+ _Default+ . _Coerce++-- | [Output Only] A warning code, if applicable. For example, Compute Engine+-- returns NO_RESULTS_ON_PAGE if there are no results in the response.+oslwCode :: Lens' OperationsScopedListWarning (Maybe OperationsScopedListWarningCode)+oslwCode = lens _oslwCode (\ s a -> s{_oslwCode = a})++-- | [Output Only] A human-readable description of the warning code.+oslwMessage :: Lens' OperationsScopedListWarning (Maybe Text)+oslwMessage+ = lens _oslwMessage (\ s a -> s{_oslwMessage = a})++instance FromJSON OperationsScopedListWarning where+ parseJSON+ = withObject "OperationsScopedListWarning"+ (\ o ->+ OperationsScopedListWarning' <$>+ (o .:? "data" .!= mempty) <*> (o .:? "code") <*>+ (o .:? "message"))++instance ToJSON OperationsScopedListWarning where+ toJSON OperationsScopedListWarning'{..}+ = object+ (catMaybes+ [("data" .=) <$> _oslwData,+ ("code" .=) <$> _oslwCode,+ ("message" .=) <$> _oslwMessage])++-- | Sets the scheduling options for an Instance.+--+-- /See:/ 'scheduling' smart constructor.+data Scheduling = Scheduling'+ { _sAutomaticRestart :: !(Maybe Bool)+ , _sOnHostMaintenance :: !(Maybe SchedulingOnHostMaintenance)+ , _sPreemptible :: !(Maybe Bool)+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'Scheduling' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'sAutomaticRestart'+--+-- * 'sOnHostMaintenance'+--+-- * 'sPreemptible'+scheduling+ :: Scheduling+scheduling =+ Scheduling'+ { _sAutomaticRestart = Nothing+ , _sOnHostMaintenance = Nothing+ , _sPreemptible = Nothing+ }++-- | Specifies whether the instance should be automatically restarted if it+-- is terminated by Compute Engine (not terminated by a user). You can only+-- set the automatic restart option for standard instances. Preemptible+-- instances cannot be automatically restarted.+sAutomaticRestart :: Lens' Scheduling (Maybe Bool)+sAutomaticRestart+ = lens _sAutomaticRestart+ (\ s a -> s{_sAutomaticRestart = a})++-- | Defines the maintenance behavior for this instance. For standard+-- instances, the default behavior is MIGRATE. For preemptible instances,+-- the default and only possible behavior is TERMINATE. For more+-- information, see Setting Instance Scheduling Options.+sOnHostMaintenance :: Lens' Scheduling (Maybe SchedulingOnHostMaintenance)+sOnHostMaintenance+ = lens _sOnHostMaintenance+ (\ s a -> s{_sOnHostMaintenance = a})++-- | Whether the instance is preemptible.+sPreemptible :: Lens' Scheduling (Maybe Bool)+sPreemptible+ = lens _sPreemptible (\ s a -> s{_sPreemptible = a})++instance FromJSON Scheduling where+ parseJSON+ = withObject "Scheduling"+ (\ o ->+ Scheduling' <$>+ (o .:? "automaticRestart") <*>+ (o .:? "onHostMaintenance")+ <*> (o .:? "preemptible"))++instance ToJSON Scheduling where+ toJSON Scheduling'{..}+ = object+ (catMaybes+ [("automaticRestart" .=) <$> _sAutomaticRestart,+ ("onHostMaintenance" .=) <$> _sOnHostMaintenance,+ ("preemptible" .=) <$> _sPreemptible])++--+-- /See:/ 'vpnTunnelsScopedListWarningDataItem' smart constructor.+data VPNTunnelsScopedListWarningDataItem = VPNTunnelsScopedListWarningDataItem'+ { _vtslwdiValue :: !(Maybe Text)+ , _vtslwdiKey :: !(Maybe Text)+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'VPNTunnelsScopedListWarningDataItem' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'vtslwdiValue'+--+-- * 'vtslwdiKey'+vpnTunnelsScopedListWarningDataItem+ :: VPNTunnelsScopedListWarningDataItem+vpnTunnelsScopedListWarningDataItem =+ VPNTunnelsScopedListWarningDataItem'+ { _vtslwdiValue = Nothing+ , _vtslwdiKey = Nothing+ }++-- | [Output Only] A warning data value corresponding to the key.+vtslwdiValue :: Lens' VPNTunnelsScopedListWarningDataItem (Maybe Text)+vtslwdiValue+ = lens _vtslwdiValue (\ s a -> s{_vtslwdiValue = a})++-- | [Output Only] A key that provides more detail on the warning being+-- returned. For example, for warnings where there are no results in a list+-- request for a particular zone, this key might be scope and the key value+-- might be the zone name. Other examples might be a key indicating a+-- deprecated resource and a suggested replacement, or a warning about+-- invalid network settings (for example, if an instance attempts to+-- perform IP forwarding but is not enabled for IP forwarding).+vtslwdiKey :: Lens' VPNTunnelsScopedListWarningDataItem (Maybe Text)+vtslwdiKey+ = lens _vtslwdiKey (\ s a -> s{_vtslwdiKey = a})++instance FromJSON VPNTunnelsScopedListWarningDataItem+ where+ parseJSON+ = withObject "VPNTunnelsScopedListWarningDataItem"+ (\ o ->+ VPNTunnelsScopedListWarningDataItem' <$>+ (o .:? "value") <*> (o .:? "key"))++instance ToJSON VPNTunnelsScopedListWarningDataItem+ where+ toJSON VPNTunnelsScopedListWarningDataItem'{..}+ = object+ (catMaybes+ [("value" .=) <$> _vtslwdiValue,+ ("key" .=) <$> _vtslwdiKey])++-- | Contains a list of Subnetwork resources.+--+-- /See:/ 'subnetworkList' smart constructor.+data SubnetworkList = SubnetworkList'+ { _slNextPageToken :: !(Maybe Text)+ , _slKind :: !Text+ , _slItems :: !(Maybe [Subnetwork])+ , _slSelfLink :: !(Maybe Text)+ , _slId :: !(Maybe Text)+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'SubnetworkList' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'slNextPageToken'+--+-- * 'slKind'+--+-- * 'slItems'+--+-- * 'slSelfLink'+--+-- * 'slId'+subnetworkList+ :: SubnetworkList+subnetworkList =+ SubnetworkList'+ { _slNextPageToken = Nothing+ , _slKind = "compute#subnetworkList"+ , _slItems = Nothing+ , _slSelfLink = Nothing+ , _slId = Nothing+ }++-- | [Output Only] This token allows you to get the next page of results for+-- list requests. If the number of results is larger than maxResults, use+-- the nextPageToken as a value for the query parameter pageToken in the+-- next list request. Subsequent list requests will have their own+-- nextPageToken to continue paging through the results.+slNextPageToken :: Lens' SubnetworkList (Maybe Text)+slNextPageToken+ = lens _slNextPageToken+ (\ s a -> s{_slNextPageToken = a})++-- | [Output Only] Type of resource. Always compute#subnetworkList for lists+-- of subnetworks.+slKind :: Lens' SubnetworkList Text+slKind = lens _slKind (\ s a -> s{_slKind = a})++-- | The Subnetwork resources.+slItems :: Lens' SubnetworkList [Subnetwork]+slItems+ = lens _slItems (\ s a -> s{_slItems = a}) . _Default+ . _Coerce++-- | [Output Only] Server-defined URL for this resource.+slSelfLink :: Lens' SubnetworkList (Maybe Text)+slSelfLink+ = lens _slSelfLink (\ s a -> s{_slSelfLink = a})++-- | [Output Only] The unique identifier for the resource. This identifier is+-- defined by the server.+slId :: Lens' SubnetworkList (Maybe Text)+slId = lens _slId (\ s a -> s{_slId = a})++instance FromJSON SubnetworkList where+ parseJSON+ = withObject "SubnetworkList"+ (\ o ->+ SubnetworkList' <$>+ (o .:? "nextPageToken") <*>+ (o .:? "kind" .!= "compute#subnetworkList")+ <*> (o .:? "items" .!= mempty)+ <*> (o .:? "selfLink")+ <*> (o .:? "id"))++instance ToJSON SubnetworkList where+ toJSON SubnetworkList'{..}+ = object+ (catMaybes+ [("nextPageToken" .=) <$> _slNextPageToken,+ Just ("kind" .= _slKind), ("items" .=) <$> _slItems,+ ("selfLink" .=) <$> _slSelfLink,+ ("id" .=) <$> _slId])++-- | Informational warning which replaces the list of forwarding rules when+-- the list is empty.+--+-- /See:/ 'forwardingRulesScopedListWarning' smart constructor.+data ForwardingRulesScopedListWarning = ForwardingRulesScopedListWarning'+ { _frslwData :: !(Maybe [ForwardingRulesScopedListWarningDataItem])+ , _frslwCode :: !(Maybe ForwardingRulesScopedListWarningCode)+ , _frslwMessage :: !(Maybe Text)+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'ForwardingRulesScopedListWarning' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'frslwData'+--+-- * 'frslwCode'+--+-- * 'frslwMessage'+forwardingRulesScopedListWarning+ :: ForwardingRulesScopedListWarning+forwardingRulesScopedListWarning =+ ForwardingRulesScopedListWarning'+ { _frslwData = Nothing+ , _frslwCode = Nothing+ , _frslwMessage = Nothing+ }++-- | [Output Only] Metadata about this warning in key: value format. For+-- example: \"data\": [ { \"key\": \"scope\", \"value\":+-- \"zones\/us-east1-d\" }+frslwData :: Lens' ForwardingRulesScopedListWarning [ForwardingRulesScopedListWarningDataItem]+frslwData+ = lens _frslwData (\ s a -> s{_frslwData = a}) .+ _Default+ . _Coerce++-- | [Output Only] A warning code, if applicable. For example, Compute Engine+-- returns NO_RESULTS_ON_PAGE if there are no results in the response.+frslwCode :: Lens' ForwardingRulesScopedListWarning (Maybe ForwardingRulesScopedListWarningCode)+frslwCode+ = lens _frslwCode (\ s a -> s{_frslwCode = a})++-- | [Output Only] A human-readable description of the warning code.+frslwMessage :: Lens' ForwardingRulesScopedListWarning (Maybe Text)+frslwMessage+ = lens _frslwMessage (\ s a -> s{_frslwMessage = a})++instance FromJSON ForwardingRulesScopedListWarning+ where+ parseJSON+ = withObject "ForwardingRulesScopedListWarning"+ (\ o ->+ ForwardingRulesScopedListWarning' <$>+ (o .:? "data" .!= mempty) <*> (o .:? "code") <*>+ (o .:? "message"))++instance ToJSON ForwardingRulesScopedListWarning+ where+ toJSON ForwardingRulesScopedListWarning'{..}+ = object+ (catMaybes+ [("data" .=) <$> _frslwData,+ ("code" .=) <$> _frslwCode,+ ("message" .=) <$> _frslwMessage])++-- | Contains a list of HttpHealthCheck resources.+--+-- /See:/ 'hTTPHealthCheckList' smart constructor.+data HTTPHealthCheckList = HTTPHealthCheckList'+ { _httphclNextPageToken :: !(Maybe Text)+ , _httphclKind :: !Text+ , _httphclItems :: !(Maybe [HTTPHealthCheck])+ , _httphclSelfLink :: !(Maybe Text)+ , _httphclId :: !(Maybe Text)+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'HTTPHealthCheckList' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'httphclNextPageToken'+--+-- * 'httphclKind'+--+-- * 'httphclItems'+--+-- * 'httphclSelfLink'+--+-- * 'httphclId'+hTTPHealthCheckList+ :: HTTPHealthCheckList+hTTPHealthCheckList =+ HTTPHealthCheckList'+ { _httphclNextPageToken = Nothing+ , _httphclKind = "compute#httpHealthCheckList"+ , _httphclItems = Nothing+ , _httphclSelfLink = Nothing+ , _httphclId = Nothing+ }++-- | [Output Only] This token allows you to get the next page of results for+-- list requests. If the number of results is larger than maxResults, use+-- the nextPageToken as a value for the query parameter pageToken in the+-- next list request. Subsequent list requests will have their own+-- nextPageToken to continue paging through the results.+httphclNextPageToken :: Lens' HTTPHealthCheckList (Maybe Text)+httphclNextPageToken+ = lens _httphclNextPageToken+ (\ s a -> s{_httphclNextPageToken = a})++-- | Type of resource.+httphclKind :: Lens' HTTPHealthCheckList Text+httphclKind+ = lens _httphclKind (\ s a -> s{_httphclKind = a})++-- | A list of HttpHealthCheck resources.+httphclItems :: Lens' HTTPHealthCheckList [HTTPHealthCheck]+httphclItems+ = lens _httphclItems (\ s a -> s{_httphclItems = a})+ . _Default+ . _Coerce++-- | [Output Only] Server-defined URL for this resource.+httphclSelfLink :: Lens' HTTPHealthCheckList (Maybe Text)+httphclSelfLink+ = lens _httphclSelfLink+ (\ s a -> s{_httphclSelfLink = a})++-- | [Output Only] Unique identifier for the resource. Defined by the server.+httphclId :: Lens' HTTPHealthCheckList (Maybe Text)+httphclId+ = lens _httphclId (\ s a -> s{_httphclId = a})++instance FromJSON HTTPHealthCheckList where+ parseJSON+ = withObject "HTTPHealthCheckList"+ (\ o ->+ HTTPHealthCheckList' <$>+ (o .:? "nextPageToken") <*>+ (o .:? "kind" .!= "compute#httpHealthCheckList")+ <*> (o .:? "items" .!= mempty)+ <*> (o .:? "selfLink")+ <*> (o .:? "id"))++instance ToJSON HTTPHealthCheckList where+ toJSON HTTPHealthCheckList'{..}+ = object+ (catMaybes+ [("nextPageToken" .=) <$> _httphclNextPageToken,+ Just ("kind" .= _httphclKind),+ ("items" .=) <$> _httphclItems,+ ("selfLink" .=) <$> _httphclSelfLink,+ ("id" .=) <$> _httphclId])++-- | [Output Only] The warning that replaces the list of managed instance+-- groups when the list is empty.+--+-- /See:/ 'instanceGroupManagersScopedListWarning' smart constructor.+data InstanceGroupManagersScopedListWarning = InstanceGroupManagersScopedListWarning'+ { _igmslwData :: !(Maybe [InstanceGroupManagersScopedListWarningDataItem])+ , _igmslwCode :: !(Maybe InstanceGroupManagersScopedListWarningCode)+ , _igmslwMessage :: !(Maybe Text)+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'InstanceGroupManagersScopedListWarning' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'igmslwData'+--+-- * 'igmslwCode'+--+-- * 'igmslwMessage'+instanceGroupManagersScopedListWarning+ :: InstanceGroupManagersScopedListWarning+instanceGroupManagersScopedListWarning =+ InstanceGroupManagersScopedListWarning'+ { _igmslwData = Nothing+ , _igmslwCode = Nothing+ , _igmslwMessage = Nothing+ }++-- | [Output Only] Metadata about this warning in key: value format. For+-- example: \"data\": [ { \"key\": \"scope\", \"value\":+-- \"zones\/us-east1-d\" }+igmslwData :: Lens' InstanceGroupManagersScopedListWarning [InstanceGroupManagersScopedListWarningDataItem]+igmslwData+ = lens _igmslwData (\ s a -> s{_igmslwData = a}) .+ _Default+ . _Coerce++-- | [Output Only] A warning code, if applicable. For example, Compute Engine+-- returns NO_RESULTS_ON_PAGE if there are no results in the response.+igmslwCode :: Lens' InstanceGroupManagersScopedListWarning (Maybe InstanceGroupManagersScopedListWarningCode)+igmslwCode+ = lens _igmslwCode (\ s a -> s{_igmslwCode = a})++-- | [Output Only] A human-readable description of the warning code.+igmslwMessage :: Lens' InstanceGroupManagersScopedListWarning (Maybe Text)+igmslwMessage+ = lens _igmslwMessage+ (\ s a -> s{_igmslwMessage = a})++instance FromJSON+ InstanceGroupManagersScopedListWarning where+ parseJSON+ = withObject "InstanceGroupManagersScopedListWarning"+ (\ o ->+ InstanceGroupManagersScopedListWarning' <$>+ (o .:? "data" .!= mempty) <*> (o .:? "code") <*>+ (o .:? "message"))++instance ToJSON+ InstanceGroupManagersScopedListWarning where+ toJSON InstanceGroupManagersScopedListWarning'{..}+ = object+ (catMaybes+ [("data" .=) <$> _igmslwData,+ ("code" .=) <$> _igmslwCode,+ ("message" .=) <$> _igmslwMessage])++--+-- /See:/ 'urlMapsValidateRequest' smart constructor.+newtype URLMapsValidateRequest = URLMapsValidateRequest'+ { _umvrResource :: Maybe URLMap+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'URLMapsValidateRequest' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'umvrResource'+urlMapsValidateRequest+ :: URLMapsValidateRequest+urlMapsValidateRequest =+ URLMapsValidateRequest'+ { _umvrResource = Nothing+ }++-- | Content of the UrlMap to be validated.+umvrResource :: Lens' URLMapsValidateRequest (Maybe URLMap)+umvrResource+ = lens _umvrResource (\ s a -> s{_umvrResource = a})++instance FromJSON URLMapsValidateRequest where+ parseJSON+ = withObject "URLMapsValidateRequest"+ (\ o ->+ URLMapsValidateRequest' <$> (o .:? "resource"))++instance ToJSON URLMapsValidateRequest where+ toJSON URLMapsValidateRequest'{..}+ = object+ (catMaybes [("resource" .=) <$> _umvrResource])++--+-- /See:/ 'instanceGroupManagersSetTargetPoolsRequest' smart constructor.+data InstanceGroupManagersSetTargetPoolsRequest = InstanceGroupManagersSetTargetPoolsRequest'+ { _igmstprFingerprint :: !(Maybe Base64)+ , _igmstprTargetPools :: !(Maybe [Text])+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'InstanceGroupManagersSetTargetPoolsRequest' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'igmstprFingerprint'+--+-- * 'igmstprTargetPools'+instanceGroupManagersSetTargetPoolsRequest+ :: InstanceGroupManagersSetTargetPoolsRequest+instanceGroupManagersSetTargetPoolsRequest =+ InstanceGroupManagersSetTargetPoolsRequest'+ { _igmstprFingerprint = Nothing+ , _igmstprTargetPools = Nothing+ }++-- | The fingerprint of the target pools information. Use this optional+-- property to prevent conflicts when multiple users change the target+-- pools settings concurrently. Obtain the fingerprint with the+-- instanceGroupManagers.get method. Then, include the fingerprint in your+-- request to ensure that you do not overwrite changes that were applied+-- from another concurrent request.+igmstprFingerprint :: Lens' InstanceGroupManagersSetTargetPoolsRequest (Maybe ByteString)+igmstprFingerprint+ = lens _igmstprFingerprint+ (\ s a -> s{_igmstprFingerprint = a})+ . mapping _Base64++-- | The list of target pool URLs that instances in this managed instance+-- group belong to. The managed instance group applies these target pools+-- to all of the instances in the group. Existing instances and new+-- instances in the group all receive these target pool settings.+igmstprTargetPools :: Lens' InstanceGroupManagersSetTargetPoolsRequest [Text]+igmstprTargetPools+ = lens _igmstprTargetPools+ (\ s a -> s{_igmstprTargetPools = a})+ . _Default+ . _Coerce++instance FromJSON+ InstanceGroupManagersSetTargetPoolsRequest where+ parseJSON+ = withObject+ "InstanceGroupManagersSetTargetPoolsRequest"+ (\ o ->+ InstanceGroupManagersSetTargetPoolsRequest' <$>+ (o .:? "fingerprint") <*>+ (o .:? "targetPools" .!= mempty))++instance ToJSON+ InstanceGroupManagersSetTargetPoolsRequest where+ toJSON+ InstanceGroupManagersSetTargetPoolsRequest'{..}+ = object+ (catMaybes+ [("fingerprint" .=) <$> _igmstprFingerprint,+ ("targetPools" .=) <$> _igmstprTargetPools])++-- | Contains a list of HttpsHealthCheck resources.+--+-- /See:/ 'httpsHealthCheckList' smart constructor.+data HTTPSHealthCheckList = HTTPSHealthCheckList'+ { _hhclNextPageToken :: !(Maybe Text)+ , _hhclKind :: !Text+ , _hhclItems :: !(Maybe [HTTPSHealthCheck])+ , _hhclSelfLink :: !(Maybe Text)+ , _hhclId :: !(Maybe Text)+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'HTTPSHealthCheckList' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'hhclNextPageToken'+--+-- * 'hhclKind'+--+-- * 'hhclItems'+--+-- * 'hhclSelfLink'+--+-- * 'hhclId'+httpsHealthCheckList+ :: HTTPSHealthCheckList+httpsHealthCheckList =+ HTTPSHealthCheckList'+ { _hhclNextPageToken = Nothing+ , _hhclKind = "compute#httpsHealthCheckList"+ , _hhclItems = Nothing+ , _hhclSelfLink = Nothing+ , _hhclId = Nothing+ }++-- | [Output Only] This token allows you to get the next page of results for+-- list requests. If the number of results is larger than maxResults, use+-- the nextPageToken as a value for the query parameter pageToken in the+-- next list request. Subsequent list requests will have their own+-- nextPageToken to continue paging through the results.+hhclNextPageToken :: Lens' HTTPSHealthCheckList (Maybe Text)+hhclNextPageToken+ = lens _hhclNextPageToken+ (\ s a -> s{_hhclNextPageToken = a})++-- | Type of resource.+hhclKind :: Lens' HTTPSHealthCheckList Text+hhclKind = lens _hhclKind (\ s a -> s{_hhclKind = a})++-- | A list of HttpsHealthCheck resources.+hhclItems :: Lens' HTTPSHealthCheckList [HTTPSHealthCheck]+hhclItems+ = lens _hhclItems (\ s a -> s{_hhclItems = a}) .+ _Default+ . _Coerce++-- | [Output Only] Server-defined URL for this resource.+hhclSelfLink :: Lens' HTTPSHealthCheckList (Maybe Text)+hhclSelfLink+ = lens _hhclSelfLink (\ s a -> s{_hhclSelfLink = a})++-- | [Output Only] Unique identifier for the resource; defined by the server.+hhclId :: Lens' HTTPSHealthCheckList (Maybe Text)+hhclId = lens _hhclId (\ s a -> s{_hhclId = a})++instance FromJSON HTTPSHealthCheckList where+ parseJSON+ = withObject "HTTPSHealthCheckList"+ (\ o ->+ HTTPSHealthCheckList' <$>+ (o .:? "nextPageToken") <*>+ (o .:? "kind" .!= "compute#httpsHealthCheckList")+ <*> (o .:? "items" .!= mempty)+ <*> (o .:? "selfLink")+ <*> (o .:? "id"))++instance ToJSON HTTPSHealthCheckList where+ toJSON HTTPSHealthCheckList'{..}+ = object+ (catMaybes+ [("nextPageToken" .=) <$> _hhclNextPageToken,+ Just ("kind" .= _hhclKind),+ ("items" .=) <$> _hhclItems,+ ("selfLink" .=) <$> _hhclSelfLink,+ ("id" .=) <$> _hhclId])++--+-- /See:/ 'operationErrorErrorsItem' smart constructor.+data OperationErrorErrorsItem = OperationErrorErrorsItem'+ { _oeeiLocation :: !(Maybe Text)+ , _oeeiCode :: !(Maybe Text)+ , _oeeiMessage :: !(Maybe Text)+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'OperationErrorErrorsItem' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'oeeiLocation'+--+-- * 'oeeiCode'+--+-- * 'oeeiMessage'+operationErrorErrorsItem+ :: OperationErrorErrorsItem+operationErrorErrorsItem =+ OperationErrorErrorsItem'+ { _oeeiLocation = Nothing+ , _oeeiCode = Nothing+ , _oeeiMessage = Nothing+ }++-- | [Output Only] Indicates the field in the request that caused the error.+-- This property is optional.+oeeiLocation :: Lens' OperationErrorErrorsItem (Maybe Text)+oeeiLocation+ = lens _oeeiLocation (\ s a -> s{_oeeiLocation = a})++-- | [Output Only] The error type identifier for this error.+oeeiCode :: Lens' OperationErrorErrorsItem (Maybe Text)+oeeiCode = lens _oeeiCode (\ s a -> s{_oeeiCode = a})++-- | [Output Only] An optional, human-readable error message.+oeeiMessage :: Lens' OperationErrorErrorsItem (Maybe Text)+oeeiMessage+ = lens _oeeiMessage (\ s a -> s{_oeeiMessage = a})++instance FromJSON OperationErrorErrorsItem where+ parseJSON+ = withObject "OperationErrorErrorsItem"+ (\ o ->+ OperationErrorErrorsItem' <$>+ (o .:? "location") <*> (o .:? "code") <*>+ (o .:? "message"))++instance ToJSON OperationErrorErrorsItem where+ toJSON OperationErrorErrorsItem'{..}+ = object+ (catMaybes+ [("location" .=) <$> _oeeiLocation,+ ("code" .=) <$> _oeeiCode,+ ("message" .=) <$> _oeeiMessage])++-- | A license resource.+--+-- /See:/ 'license' smart constructor.+data License = License'+ { _lChargesUseFee :: !(Maybe Bool)+ , _lKind :: !Text+ , _lSelfLink :: !(Maybe Text)+ , _lName :: !(Maybe Text)+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'License' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'lChargesUseFee'+--+-- * 'lKind'+--+-- * 'lSelfLink'+--+-- * 'lName'+license+ :: License+license =+ License'+ { _lChargesUseFee = Nothing+ , _lKind = "compute#license"+ , _lSelfLink = Nothing+ , _lName = Nothing+ }++-- | [Output Only] If true, the customer will be charged license fee for+-- running software that contains this license on an instance.+lChargesUseFee :: Lens' License (Maybe Bool)+lChargesUseFee+ = lens _lChargesUseFee+ (\ s a -> s{_lChargesUseFee = a})++-- | [Output Only] Type of resource. Always compute#license for licenses.+lKind :: Lens' License Text+lKind = lens _lKind (\ s a -> s{_lKind = a})++-- | [Output Only] Server-defined URL for the resource.+lSelfLink :: Lens' License (Maybe Text)+lSelfLink+ = lens _lSelfLink (\ s a -> s{_lSelfLink = a})++-- | [Output Only] Name of the resource. The name is 1-63 characters long and+-- complies with RFC1035.+lName :: Lens' License (Maybe Text)+lName = lens _lName (\ s a -> s{_lName = a})++instance FromJSON License where+ parseJSON+ = withObject "License"+ (\ o ->+ License' <$>+ (o .:? "chargesUseFee") <*>+ (o .:? "kind" .!= "compute#license")+ <*> (o .:? "selfLink")+ <*> (o .:? "name"))++instance ToJSON License where+ toJSON License'{..}+ = object+ (catMaybes+ [("chargesUseFee" .=) <$> _lChargesUseFee,+ Just ("kind" .= _lKind),+ ("selfLink" .=) <$> _lSelfLink,+ ("name" .=) <$> _lName])++-- | A path-matching rule for a URL. If matched, will use the specified+-- BackendService to handle the traffic arriving at this URL.+--+-- /See:/ 'pathRule' smart constructor.+data PathRule = PathRule'+ { _prService :: !(Maybe Text)+ , _prPaths :: !(Maybe [Text])+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'PathRule' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'prService'+--+-- * 'prPaths'+pathRule+ :: PathRule+pathRule =+ PathRule'+ { _prService = Nothing+ , _prPaths = Nothing+ }++-- | The URL of the BackendService resource if this rule is matched.+prService :: Lens' PathRule (Maybe Text)+prService+ = lens _prService (\ s a -> s{_prService = a})++-- | The list of path patterns to match. Each must start with \/ and the only+-- place a * is allowed is at the end following a \/. The string fed to the+-- path matcher does not include any text after the first ? or #, and those+-- chars are not allowed here.+prPaths :: Lens' PathRule [Text]+prPaths+ = lens _prPaths (\ s a -> s{_prPaths = a}) . _Default+ . _Coerce++instance FromJSON PathRule where+ parseJSON+ = withObject "PathRule"+ (\ o ->+ PathRule' <$>+ (o .:? "service") <*> (o .:? "paths" .!= mempty))++instance ToJSON PathRule where+ toJSON PathRule'{..}+ = object+ (catMaybes+ [("service" .=) <$> _prService,+ ("paths" .=) <$> _prPaths])++-- | Contains a list of instances.+--+-- /See:/ 'instanceList' smart constructor.+data InstanceList = InstanceList'+ { _insNextPageToken :: !(Maybe Text)+ , _insKind :: !Text+ , _insItems :: !(Maybe [Instance])+ , _insSelfLink :: !(Maybe Text)+ , _insId :: !(Maybe Text)+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'InstanceList' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'insNextPageToken'+--+-- * 'insKind'+--+-- * 'insItems'+--+-- * 'insSelfLink'+--+-- * 'insId'+instanceList+ :: InstanceList+instanceList =+ InstanceList'+ { _insNextPageToken = Nothing+ , _insKind = "compute#instanceList"+ , _insItems = Nothing+ , _insSelfLink = Nothing+ , _insId = Nothing+ }++-- | [Output Only] This token allows you to get the next page of results for+-- list requests. If the number of results is larger than maxResults, use+-- the nextPageToken as a value for the query parameter pageToken in the+-- next list request. Subsequent list requests will have their own+-- nextPageToken to continue paging through the results.+insNextPageToken :: Lens' InstanceList (Maybe Text)+insNextPageToken+ = lens _insNextPageToken+ (\ s a -> s{_insNextPageToken = a})++-- | [Output Only] Type of resource. Always compute#instanceList for lists of+-- Instance resources.+insKind :: Lens' InstanceList Text+insKind = lens _insKind (\ s a -> s{_insKind = a})++-- | [Output Only] A list of instances.+insItems :: Lens' InstanceList [Instance]+insItems+ = lens _insItems (\ s a -> s{_insItems = a}) .+ _Default+ . _Coerce++-- | [Output Only] Server-defined URL for this resource.+insSelfLink :: Lens' InstanceList (Maybe Text)+insSelfLink+ = lens _insSelfLink (\ s a -> s{_insSelfLink = a})++-- | [Output Only] The unique identifier for the resource. This identifier is+-- defined by the server.+insId :: Lens' InstanceList (Maybe Text)+insId = lens _insId (\ s a -> s{_insId = a})++instance FromJSON InstanceList where+ parseJSON+ = withObject "InstanceList"+ (\ o ->+ InstanceList' <$>+ (o .:? "nextPageToken") <*>+ (o .:? "kind" .!= "compute#instanceList")+ <*> (o .:? "items" .!= mempty)+ <*> (o .:? "selfLink")+ <*> (o .:? "id"))++instance ToJSON InstanceList where+ toJSON InstanceList'{..}+ = object+ (catMaybes+ [("nextPageToken" .=) <$> _insNextPageToken,+ Just ("kind" .= _insKind),+ ("items" .=) <$> _insItems,+ ("selfLink" .=) <$> _insSelfLink,+ ("id" .=) <$> _insId])++-- | [Output] A map of scoped Subnetwork lists.+--+-- /See:/ 'subnetworkAggregatedListItems' smart constructor.+newtype SubnetworkAggregatedListItems = SubnetworkAggregatedListItems'+ { _saliAddtional :: HashMap Text SubnetworksScopedList+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'SubnetworkAggregatedListItems' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'saliAddtional'+subnetworkAggregatedListItems+ :: HashMap Text SubnetworksScopedList -- ^ 'saliAddtional'+ -> SubnetworkAggregatedListItems+subnetworkAggregatedListItems pSaliAddtional_ =+ SubnetworkAggregatedListItems'+ { _saliAddtional = _Coerce # pSaliAddtional_+ }++-- | Name of the scope containing this set of Subnetworks.+saliAddtional :: Lens' SubnetworkAggregatedListItems (HashMap Text SubnetworksScopedList)+saliAddtional+ = lens _saliAddtional+ (\ s a -> s{_saliAddtional = a})+ . _Coerce++instance FromJSON SubnetworkAggregatedListItems where+ parseJSON+ = withObject "SubnetworkAggregatedListItems"+ (\ o ->+ SubnetworkAggregatedListItems' <$>+ (parseJSONObject o))++instance ToJSON SubnetworkAggregatedListItems where+ toJSON = toJSON . _saliAddtional++--+-- /See:/ 'managedInstanceLastAttempt' smart constructor.+newtype ManagedInstanceLastAttempt = ManagedInstanceLastAttempt'+ { _milaErrors :: Maybe ManagedInstanceLastAttemptErrors+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'ManagedInstanceLastAttempt' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'milaErrors'+managedInstanceLastAttempt+ :: ManagedInstanceLastAttempt+managedInstanceLastAttempt =+ ManagedInstanceLastAttempt'+ { _milaErrors = Nothing+ }++-- | [Output Only] Encountered errors during the last attempt to create or+-- delete the instance.+milaErrors :: Lens' ManagedInstanceLastAttempt (Maybe ManagedInstanceLastAttemptErrors)+milaErrors+ = lens _milaErrors (\ s a -> s{_milaErrors = a})++instance FromJSON ManagedInstanceLastAttempt where+ parseJSON+ = withObject "ManagedInstanceLastAttempt"+ (\ o ->+ ManagedInstanceLastAttempt' <$> (o .:? "errors"))++instance ToJSON ManagedInstanceLastAttempt where+ toJSON ManagedInstanceLastAttempt'{..}+ = object (catMaybes [("errors" .=) <$> _milaErrors])++-- | Contains a list of BackendService resources.+--+-- /See:/ 'backendServiceList' smart constructor.+data BackendServiceList = BackendServiceList'+ { _bslNextPageToken :: !(Maybe Text)+ , _bslKind :: !Text+ , _bslItems :: !(Maybe [BackendService])+ , _bslSelfLink :: !(Maybe Text)+ , _bslId :: !(Maybe Text)+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'BackendServiceList' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'bslNextPageToken'+--+-- * 'bslKind'+--+-- * 'bslItems'+--+-- * 'bslSelfLink'+--+-- * 'bslId'+backendServiceList+ :: BackendServiceList+backendServiceList =+ BackendServiceList'+ { _bslNextPageToken = Nothing+ , _bslKind = "compute#backendServiceList"+ , _bslItems = Nothing+ , _bslSelfLink = Nothing+ , _bslId = Nothing+ }++-- | [Output Only] A token used to continue a truncated list request.+bslNextPageToken :: Lens' BackendServiceList (Maybe Text)+bslNextPageToken+ = lens _bslNextPageToken+ (\ s a -> s{_bslNextPageToken = a})++-- | [Output Only] Type of resource. Always compute#backendServiceList for+-- lists of backend services.+bslKind :: Lens' BackendServiceList Text+bslKind = lens _bslKind (\ s a -> s{_bslKind = a})++-- | A list of BackendService resources.+bslItems :: Lens' BackendServiceList [BackendService]+bslItems+ = lens _bslItems (\ s a -> s{_bslItems = a}) .+ _Default+ . _Coerce++-- | [Output Only] Server-defined URL for this resource.+bslSelfLink :: Lens' BackendServiceList (Maybe Text)+bslSelfLink+ = lens _bslSelfLink (\ s a -> s{_bslSelfLink = a})++-- | [Output Only] Unique identifier for the resource; defined by the server.+bslId :: Lens' BackendServiceList (Maybe Text)+bslId = lens _bslId (\ s a -> s{_bslId = a})++instance FromJSON BackendServiceList where+ parseJSON+ = withObject "BackendServiceList"+ (\ o ->+ BackendServiceList' <$>+ (o .:? "nextPageToken") <*>+ (o .:? "kind" .!= "compute#backendServiceList")+ <*> (o .:? "items" .!= mempty)+ <*> (o .:? "selfLink")+ <*> (o .:? "id"))++instance ToJSON BackendServiceList where+ toJSON BackendServiceList'{..}+ = object+ (catMaybes+ [("nextPageToken" .=) <$> _bslNextPageToken,+ Just ("kind" .= _bslKind),+ ("items" .=) <$> _bslItems,+ ("selfLink" .=) <$> _bslSelfLink,+ ("id" .=) <$> _bslId])++-- | [Output Only] An informational warning that replaces the list of+-- instance groups when the list is empty.+--+-- /See:/ 'instanceGroupsScopedListWarning' smart constructor.+data InstanceGroupsScopedListWarning = InstanceGroupsScopedListWarning'+ { _igslwData :: !(Maybe [InstanceGroupsScopedListWarningDataItem])+ , _igslwCode :: !(Maybe InstanceGroupsScopedListWarningCode)+ , _igslwMessage :: !(Maybe Text)+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'InstanceGroupsScopedListWarning' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'igslwData'+--+-- * 'igslwCode'+--+-- * 'igslwMessage'+instanceGroupsScopedListWarning+ :: InstanceGroupsScopedListWarning+instanceGroupsScopedListWarning =+ InstanceGroupsScopedListWarning'+ { _igslwData = Nothing+ , _igslwCode = Nothing+ , _igslwMessage = Nothing+ }++-- | [Output Only] Metadata about this warning in key: value format. For+-- example: \"data\": [ { \"key\": \"scope\", \"value\":+-- \"zones\/us-east1-d\" }+igslwData :: Lens' InstanceGroupsScopedListWarning [InstanceGroupsScopedListWarningDataItem]+igslwData+ = lens _igslwData (\ s a -> s{_igslwData = a}) .+ _Default+ . _Coerce++-- | [Output Only] A warning code, if applicable. For example, Compute Engine+-- returns NO_RESULTS_ON_PAGE if there are no results in the response.+igslwCode :: Lens' InstanceGroupsScopedListWarning (Maybe InstanceGroupsScopedListWarningCode)+igslwCode+ = lens _igslwCode (\ s a -> s{_igslwCode = a})++-- | [Output Only] A human-readable description of the warning code.+igslwMessage :: Lens' InstanceGroupsScopedListWarning (Maybe Text)+igslwMessage+ = lens _igslwMessage (\ s a -> s{_igslwMessage = a})++instance FromJSON InstanceGroupsScopedListWarning+ where+ parseJSON+ = withObject "InstanceGroupsScopedListWarning"+ (\ o ->+ InstanceGroupsScopedListWarning' <$>+ (o .:? "data" .!= mempty) <*> (o .:? "code") <*>+ (o .:? "message"))++instance ToJSON InstanceGroupsScopedListWarning where+ toJSON InstanceGroupsScopedListWarning'{..}+ = object+ (catMaybes+ [("data" .=) <$> _igslwData,+ ("code" .=) <$> _igslwCode,+ ("message" .=) <$> _igslwMessage])++-- | CPU utilization policy.+--+-- /See:/ 'autoscalingPolicyCPUUtilization' smart constructor.+newtype AutoscalingPolicyCPUUtilization = AutoscalingPolicyCPUUtilization'+ { _apcuUtilizationTarget :: Maybe (Textual Double)+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'AutoscalingPolicyCPUUtilization' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'apcuUtilizationTarget'+autoscalingPolicyCPUUtilization+ :: AutoscalingPolicyCPUUtilization+autoscalingPolicyCPUUtilization =+ AutoscalingPolicyCPUUtilization'+ { _apcuUtilizationTarget = Nothing+ }++-- | The target CPU utilization that the autoscaler should maintain. Must be+-- a float value in the range (0, 1]. If not specified, the default is 0.6.+-- If the CPU level is below the target utilization, the autoscaler scales+-- down the number of instances until it reaches the minimum number of+-- instances you specified or until the average CPU of your instances+-- reaches the target utilization. If the average CPU is above the target+-- utilization, the autoscaler scales up until it reaches the maximum+-- number of instances you specified or until the average utilization+-- reaches the target utilization.+apcuUtilizationTarget :: Lens' AutoscalingPolicyCPUUtilization (Maybe Double)+apcuUtilizationTarget+ = lens _apcuUtilizationTarget+ (\ s a -> s{_apcuUtilizationTarget = a})+ . mapping _Coerce++instance FromJSON AutoscalingPolicyCPUUtilization+ where+ parseJSON+ = withObject "AutoscalingPolicyCPUUtilization"+ (\ o ->+ AutoscalingPolicyCPUUtilization' <$>+ (o .:? "utilizationTarget"))++instance ToJSON AutoscalingPolicyCPUUtilization where+ toJSON AutoscalingPolicyCPUUtilization'{..}+ = object+ (catMaybes+ [("utilizationTarget" .=) <$>+ _apcuUtilizationTarget])++--+-- /See:/ 'instanceGroupsScopedListWarningDataItem' smart constructor.+data InstanceGroupsScopedListWarningDataItem = InstanceGroupsScopedListWarningDataItem'+ { _igslwdiValue :: !(Maybe Text)+ , _igslwdiKey :: !(Maybe Text)+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'InstanceGroupsScopedListWarningDataItem' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'igslwdiValue'+--+-- * 'igslwdiKey'+instanceGroupsScopedListWarningDataItem+ :: InstanceGroupsScopedListWarningDataItem+instanceGroupsScopedListWarningDataItem =+ InstanceGroupsScopedListWarningDataItem'+ { _igslwdiValue = Nothing+ , _igslwdiKey = Nothing+ }++-- | [Output Only] A warning data value corresponding to the key.+igslwdiValue :: Lens' InstanceGroupsScopedListWarningDataItem (Maybe Text)+igslwdiValue+ = lens _igslwdiValue (\ s a -> s{_igslwdiValue = a})++-- | [Output Only] A key that provides more detail on the warning being+-- returned. For example, for warnings where there are no results in a list+-- request for a particular zone, this key might be scope and the key value+-- might be the zone name. Other examples might be a key indicating a+-- deprecated resource and a suggested replacement, or a warning about+-- invalid network settings (for example, if an instance attempts to+-- perform IP forwarding but is not enabled for IP forwarding).+igslwdiKey :: Lens' InstanceGroupsScopedListWarningDataItem (Maybe Text)+igslwdiKey+ = lens _igslwdiKey (\ s a -> s{_igslwdiKey = a})++instance FromJSON+ InstanceGroupsScopedListWarningDataItem where+ parseJSON+ = withObject+ "InstanceGroupsScopedListWarningDataItem"+ (\ o ->+ InstanceGroupsScopedListWarningDataItem' <$>+ (o .:? "value") <*> (o .:? "key"))++instance ToJSON+ InstanceGroupsScopedListWarningDataItem where+ toJSON InstanceGroupsScopedListWarningDataItem'{..}+ = object+ (catMaybes+ [("value" .=) <$> _igslwdiValue,+ ("key" .=) <$> _igslwdiKey])++--+-- /See:/ 'resourceGroupReference' smart constructor.+newtype ResourceGroupReference = ResourceGroupReference'+ { _rgrGroup :: Maybe Text+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'ResourceGroupReference' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'rgrGroup'+resourceGroupReference+ :: ResourceGroupReference+resourceGroupReference =+ ResourceGroupReference'+ { _rgrGroup = Nothing+ }++-- | A URI referencing one of the instance groups listed in the backend+-- service.+rgrGroup :: Lens' ResourceGroupReference (Maybe Text)+rgrGroup = lens _rgrGroup (\ s a -> s{_rgrGroup = a})++instance FromJSON ResourceGroupReference where+ parseJSON+ = withObject "ResourceGroupReference"+ (\ o -> ResourceGroupReference' <$> (o .:? "group"))++instance ToJSON ResourceGroupReference where+ toJSON ResourceGroupReference'{..}+ = object (catMaybes [("group" .=) <$> _rgrGroup])++-- | Represents a Firewall resource.+--+-- /See:/ 'firewall' smart constructor.+data Firewall = Firewall'+ { _fSourceTags :: !(Maybe [Text])+ , _fKind :: !Text+ , _fTargetTags :: !(Maybe [Text])+ , _fNetwork :: !(Maybe Text)+ , _fSourceRanges :: !(Maybe [Text])+ , _fSelfLink :: !(Maybe Text)+ , _fName :: !(Maybe Text)+ , _fCreationTimestamp :: !(Maybe Text)+ , _fId :: !(Maybe (Textual Word64))+ , _fAllowed :: !(Maybe [FirewallAllowedItem])+ , _fDescription :: !(Maybe Text)+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'Firewall' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'fSourceTags'+--+-- * 'fKind'+--+-- * 'fTargetTags'+--+-- * 'fNetwork'+--+-- * 'fSourceRanges'+--+-- * 'fSelfLink'+--+-- * 'fName'+--+-- * 'fCreationTimestamp'+--+-- * 'fId'+--+-- * 'fAllowed'+--+-- * 'fDescription'+firewall+ :: Firewall+firewall =+ Firewall'+ { _fSourceTags = Nothing+ , _fKind = "compute#firewall"+ , _fTargetTags = Nothing+ , _fNetwork = Nothing+ , _fSourceRanges = Nothing+ , _fSelfLink = Nothing+ , _fName = Nothing+ , _fCreationTimestamp = Nothing+ , _fId = Nothing+ , _fAllowed = Nothing+ , _fDescription = Nothing+ }++-- | If source tags are specified, the firewall will apply only to traffic+-- with source IP that belongs to a tag listed in source tags. Source tags+-- cannot be used to control traffic to an instance\'s external IP address.+-- Because tags are associated with an instance, not an IP address. One or+-- both of sourceRanges and sourceTags may be set. If both properties are+-- set, the firewall will apply to traffic that has source IP address+-- within sourceRanges OR the source IP that belongs to a tag listed in the+-- sourceTags property. The connection does not need to match both+-- properties for the firewall to apply.+fSourceTags :: Lens' Firewall [Text]+fSourceTags+ = lens _fSourceTags (\ s a -> s{_fSourceTags = a}) .+ _Default+ . _Coerce++-- | [Output Ony] Type of the resource. Always compute#firewall for firewall+-- rules.+fKind :: Lens' Firewall Text+fKind = lens _fKind (\ s a -> s{_fKind = a})++-- | A list of instance tags indicating sets of instances located in the+-- network that may make network connections as specified in allowed[]. If+-- no targetTags are specified, the firewall rule applies to all instances+-- on the specified network.+fTargetTags :: Lens' Firewall [Text]+fTargetTags+ = lens _fTargetTags (\ s a -> s{_fTargetTags = a}) .+ _Default+ . _Coerce++-- | URL of the network resource for this firewall rule. If not specified+-- when creating a firewall rule, the default network is used:+-- global\/networks\/default If you choose to specify this property, you+-- can specify the network as a full or partial URL. For example, the+-- following are all valid URLs: -+-- https:\/\/www.googleapis.com\/compute\/v1\/projects\/myproject\/global\/networks\/my-network+-- - projects\/myproject\/global\/networks\/my-network -+-- global\/networks\/default+fNetwork :: Lens' Firewall (Maybe Text)+fNetwork = lens _fNetwork (\ s a -> s{_fNetwork = a})++-- | If source ranges are specified, the firewall will apply only to traffic+-- that has source IP address in these ranges. These ranges must be+-- expressed in CIDR format. One or both of sourceRanges and sourceTags may+-- be set. If both properties are set, the firewall will apply to traffic+-- that has source IP address within sourceRanges OR the source IP that+-- belongs to a tag listed in the sourceTags property. The connection does+-- not need to match both properties for the firewall to apply.+fSourceRanges :: Lens' Firewall [Text]+fSourceRanges+ = lens _fSourceRanges+ (\ s a -> s{_fSourceRanges = a})+ . _Default+ . _Coerce++-- | [Output Only] Server-defined URL for the resource.+fSelfLink :: Lens' Firewall (Maybe Text)+fSelfLink+ = lens _fSelfLink (\ s a -> s{_fSelfLink = a})++-- | Name of the resource; provided by the client when the resource is+-- created. The name must be 1-63 characters long, and comply with RFC1035.+-- Specifically, the name must be 1-63 characters long and match the+-- regular expression [a-z]([-a-z0-9]*[a-z0-9])? which means the first+-- character must be a lowercase letter, and all following characters must+-- be a dash, lowercase letter, or digit, except the last character, which+-- cannot be a dash.+fName :: Lens' Firewall (Maybe Text)+fName = lens _fName (\ s a -> s{_fName = a})++-- | [Output Only] Creation timestamp in RFC3339 text format.+fCreationTimestamp :: Lens' Firewall (Maybe Text)+fCreationTimestamp+ = lens _fCreationTimestamp+ (\ s a -> s{_fCreationTimestamp = a})++-- | [Output Only] The unique identifier for the resource. This identifier is+-- defined by the server.+fId :: Lens' Firewall (Maybe Word64)+fId+ = lens _fId (\ s a -> s{_fId = a}) . mapping _Coerce++-- | The list of ALLOW rules specified by this firewall. Each rule specifies+-- a protocol and port-range tuple that describes a permitted connection.+fAllowed :: Lens' Firewall [FirewallAllowedItem]+fAllowed+ = lens _fAllowed (\ s a -> s{_fAllowed = a}) .+ _Default+ . _Coerce++-- | An optional description of this resource. Provide this property when you+-- create the resource.+fDescription :: Lens' Firewall (Maybe Text)+fDescription+ = lens _fDescription (\ s a -> s{_fDescription = a})++instance FromJSON Firewall where+ parseJSON+ = withObject "Firewall"+ (\ o ->+ Firewall' <$>+ (o .:? "sourceTags" .!= mempty) <*>+ (o .:? "kind" .!= "compute#firewall")+ <*> (o .:? "targetTags" .!= mempty)+ <*> (o .:? "network")+ <*> (o .:? "sourceRanges" .!= mempty)+ <*> (o .:? "selfLink")+ <*> (o .:? "name")+ <*> (o .:? "creationTimestamp")+ <*> (o .:? "id")+ <*> (o .:? "allowed" .!= mempty)+ <*> (o .:? "description"))++instance ToJSON Firewall where+ toJSON Firewall'{..}+ = object+ (catMaybes+ [("sourceTags" .=) <$> _fSourceTags,+ Just ("kind" .= _fKind),+ ("targetTags" .=) <$> _fTargetTags,+ ("network" .=) <$> _fNetwork,+ ("sourceRanges" .=) <$> _fSourceRanges,+ ("selfLink" .=) <$> _fSelfLink,+ ("name" .=) <$> _fName,+ ("creationTimestamp" .=) <$> _fCreationTimestamp,+ ("id" .=) <$> _fId, ("allowed" .=) <$> _fAllowed,+ ("description" .=) <$> _fDescription])++-- | UrlMaps A host-matching rule for a URL. If matched, will use the named+-- PathMatcher to select the BackendService.+--+-- /See:/ 'hostRule' smart constructor.+data HostRule = HostRule'+ { _hrHosts :: !(Maybe [Text])+ , _hrDescription :: !(Maybe Text)+ , _hrPathMatcher :: !(Maybe Text)+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'HostRule' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'hrHosts'+--+-- * 'hrDescription'+--+-- * 'hrPathMatcher'+hostRule+ :: HostRule+hostRule =+ HostRule'+ { _hrHosts = Nothing+ , _hrDescription = Nothing+ , _hrPathMatcher = Nothing+ }++-- | The list of host patterns to match. They must be valid hostnames, except+-- * will match any string of ([a-z0-9-.]*). In that case, * must be the+-- first character and must be followed in the pattern by either - or ..+hrHosts :: Lens' HostRule [Text]+hrHosts+ = lens _hrHosts (\ s a -> s{_hrHosts = a}) . _Default+ . _Coerce++-- | An optional description of this resource. Provide this property when you+-- create the resource.+hrDescription :: Lens' HostRule (Maybe Text)+hrDescription+ = lens _hrDescription+ (\ s a -> s{_hrDescription = a})++-- | The name of the PathMatcher to use to match the path portion of the URL+-- if the hostRule matches the URL\'s host portion.+hrPathMatcher :: Lens' HostRule (Maybe Text)+hrPathMatcher+ = lens _hrPathMatcher+ (\ s a -> s{_hrPathMatcher = a})++instance FromJSON HostRule where+ parseJSON+ = withObject "HostRule"+ (\ o ->+ HostRule' <$>+ (o .:? "hosts" .!= mempty) <*> (o .:? "description")+ <*> (o .:? "pathMatcher"))++instance ToJSON HostRule where+ toJSON HostRule'{..}+ = object+ (catMaybes+ [("hosts" .=) <$> _hrHosts,+ ("description" .=) <$> _hrDescription,+ ("pathMatcher" .=) <$> _hrPathMatcher])++-- | A quotas entry.+--+-- /See:/ 'quota' smart constructor.+data Quota = Quota'+ { _qMetric :: !(Maybe QuotaMetric)+ , _qLimit :: !(Maybe (Textual Double))+ , _qUsage :: !(Maybe (Textual Double))+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'Quota' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'qMetric'+--+-- * 'qLimit'+--+-- * 'qUsage'+quota+ :: Quota+quota =+ Quota'+ { _qMetric = Nothing+ , _qLimit = Nothing+ , _qUsage = Nothing+ }++-- | [Output Only] Name of the quota metric.+qMetric :: Lens' Quota (Maybe QuotaMetric)+qMetric = lens _qMetric (\ s a -> s{_qMetric = a})++-- | [Output Only] Quota limit for this metric.+qLimit :: Lens' Quota (Maybe Double)+qLimit+ = lens _qLimit (\ s a -> s{_qLimit = a}) .+ mapping _Coerce++-- | [Output Only] Current usage of this metric.+qUsage :: Lens' Quota (Maybe Double)+qUsage+ = lens _qUsage (\ s a -> s{_qUsage = a}) .+ mapping _Coerce++instance FromJSON Quota where+ parseJSON+ = withObject "Quota"+ (\ o ->+ Quota' <$>+ (o .:? "metric") <*> (o .:? "limit") <*>+ (o .:? "usage"))++instance ToJSON Quota where+ toJSON Quota'{..}+ = object+ (catMaybes+ [("metric" .=) <$> _qMetric,+ ("limit" .=) <$> _qLimit, ("usage" .=) <$> _qUsage])++--+-- /See:/ 'instanceGroup' smart constructor.+data InstanceGroup = InstanceGroup'+ { _iiSize :: !(Maybe (Textual Int32))+ , _iiKind :: !Text+ , _iiFingerprint :: !(Maybe Base64)+ , _iiNetwork :: !(Maybe Text)+ , _iiZone :: !(Maybe Text)+ , _iiSelfLink :: !(Maybe Text)+ , _iiName :: !(Maybe Text)+ , _iiCreationTimestamp :: !(Maybe Text)+ , _iiSubnetwork :: !(Maybe Text)+ , _iiId :: !(Maybe (Textual Word64))+ , _iiRegion :: !(Maybe Text)+ , _iiDescription :: !(Maybe Text)+ , _iiNamedPorts :: !(Maybe [NamedPort])+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'InstanceGroup' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'iiSize'+--+-- * 'iiKind'+--+-- * 'iiFingerprint'+--+-- * 'iiNetwork'+--+-- * 'iiZone'+--+-- * 'iiSelfLink'+--+-- * 'iiName'+--+-- * 'iiCreationTimestamp'+--+-- * 'iiSubnetwork'+--+-- * 'iiId'+--+-- * 'iiRegion'+--+-- * 'iiDescription'+--+-- * 'iiNamedPorts'+instanceGroup+ :: InstanceGroup+instanceGroup =+ InstanceGroup'+ { _iiSize = Nothing+ , _iiKind = "compute#instanceGroup"+ , _iiFingerprint = Nothing+ , _iiNetwork = Nothing+ , _iiZone = Nothing+ , _iiSelfLink = Nothing+ , _iiName = Nothing+ , _iiCreationTimestamp = Nothing+ , _iiSubnetwork = Nothing+ , _iiId = Nothing+ , _iiRegion = Nothing+ , _iiDescription = Nothing+ , _iiNamedPorts = Nothing+ }++-- | [Output Only] The total number of instances in the instance group.+iiSize :: Lens' InstanceGroup (Maybe Int32)+iiSize+ = lens _iiSize (\ s a -> s{_iiSize = a}) .+ mapping _Coerce++-- | [Output Only] The resource type, which is always compute#instanceGroup+-- for instance groups.+iiKind :: Lens' InstanceGroup Text+iiKind = lens _iiKind (\ s a -> s{_iiKind = a})++-- | [Output Only] The fingerprint of the named ports. The system uses this+-- fingerprint to detect conflicts when multiple users change the named+-- ports concurrently.+iiFingerprint :: Lens' InstanceGroup (Maybe ByteString)+iiFingerprint+ = lens _iiFingerprint+ (\ s a -> s{_iiFingerprint = a})+ . mapping _Base64++-- | The URL of the network to which all instances in the instance group+-- belong.+iiNetwork :: Lens' InstanceGroup (Maybe Text)+iiNetwork+ = lens _iiNetwork (\ s a -> s{_iiNetwork = a})++-- | [Output Only] The URL of the zone where the instance group is located+-- (for zonal resources).+iiZone :: Lens' InstanceGroup (Maybe Text)+iiZone = lens _iiZone (\ s a -> s{_iiZone = a})++-- | [Output Only] The URL for this instance group. The server generates this+-- URL.+iiSelfLink :: Lens' InstanceGroup (Maybe Text)+iiSelfLink+ = lens _iiSelfLink (\ s a -> s{_iiSelfLink = a})++-- | The name of the instance group. The name must be 1-63 characters long,+-- and comply with RFC1035.+iiName :: Lens' InstanceGroup (Maybe Text)+iiName = lens _iiName (\ s a -> s{_iiName = a})++-- | [Output Only] The creation timestamp for this instance group in RFC3339+-- text format.+iiCreationTimestamp :: Lens' InstanceGroup (Maybe Text)+iiCreationTimestamp+ = lens _iiCreationTimestamp+ (\ s a -> s{_iiCreationTimestamp = a})++-- | The URL of the subnetwork to which all instances in the instance group+-- belong.+iiSubnetwork :: Lens' InstanceGroup (Maybe Text)+iiSubnetwork+ = lens _iiSubnetwork (\ s a -> s{_iiSubnetwork = a})++-- | [Output Only] A unique identifier for this instance group, generated by+-- the server.+iiId :: Lens' InstanceGroup (Maybe Word64)+iiId+ = lens _iiId (\ s a -> s{_iiId = a}) .+ mapping _Coerce++-- | The URL of the region where the instance group is located (for regional+-- resources).+iiRegion :: Lens' InstanceGroup (Maybe Text)+iiRegion = lens _iiRegion (\ s a -> s{_iiRegion = a})++-- | An optional description of this resource. Provide this property when you+-- create the resource.+iiDescription :: Lens' InstanceGroup (Maybe Text)+iiDescription+ = lens _iiDescription+ (\ s a -> s{_iiDescription = a})++-- | Assigns a name to a port number. For example: {name: \"http\", port: 80}+-- This allows the system to reference ports by the assigned name instead+-- of a port number. Named ports can also contain multiple ports. For+-- example: [{name: \"http\", port: 80},{name: \"http\", port: 8080}] Named+-- ports apply to all instances in this instance group.+iiNamedPorts :: Lens' InstanceGroup [NamedPort]+iiNamedPorts+ = lens _iiNamedPorts (\ s a -> s{_iiNamedPorts = a})+ . _Default+ . _Coerce++instance FromJSON InstanceGroup where+ parseJSON+ = withObject "InstanceGroup"+ (\ o ->+ InstanceGroup' <$>+ (o .:? "size") <*>+ (o .:? "kind" .!= "compute#instanceGroup")+ <*> (o .:? "fingerprint")+ <*> (o .:? "network")+ <*> (o .:? "zone")+ <*> (o .:? "selfLink")+ <*> (o .:? "name")+ <*> (o .:? "creationTimestamp")+ <*> (o .:? "subnetwork")+ <*> (o .:? "id")+ <*> (o .:? "region")+ <*> (o .:? "description")+ <*> (o .:? "namedPorts" .!= mempty))++instance ToJSON InstanceGroup where+ toJSON InstanceGroup'{..}+ = object+ (catMaybes+ [("size" .=) <$> _iiSize, Just ("kind" .= _iiKind),+ ("fingerprint" .=) <$> _iiFingerprint,+ ("network" .=) <$> _iiNetwork,+ ("zone" .=) <$> _iiZone,+ ("selfLink" .=) <$> _iiSelfLink,+ ("name" .=) <$> _iiName,+ ("creationTimestamp" .=) <$> _iiCreationTimestamp,+ ("subnetwork" .=) <$> _iiSubnetwork,+ ("id" .=) <$> _iiId, ("region" .=) <$> _iiRegion,+ ("description" .=) <$> _iiDescription,+ ("namedPorts" .=) <$> _iiNamedPorts])++--+-- /See:/ 'routerInterface' smart constructor.+data RouterInterface = RouterInterface'+ { _riName :: !(Maybe Text)+ , _riIPRange :: !(Maybe Text)+ , _riLinkedVPNTunnel :: !(Maybe Text)+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'RouterInterface' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'riName'+--+-- * 'riIPRange'+--+-- * 'riLinkedVPNTunnel'+routerInterface+ :: RouterInterface+routerInterface =+ RouterInterface'+ { _riName = Nothing+ , _riIPRange = Nothing+ , _riLinkedVPNTunnel = Nothing+ }++-- | Name of this interface entry. The name must be 1-63 characters long and+-- comply with RFC1035.+riName :: Lens' RouterInterface (Maybe Text)+riName = lens _riName (\ s a -> s{_riName = a})++-- | IP address and range of the interface. The IP range must be in the+-- RFC3927 link-local IP space. The value must be a CIDR-formatted string,+-- for example: 169.254.0.1\/30. NOTE: Do not truncate the address as it+-- represents the IP address of the interface.+riIPRange :: Lens' RouterInterface (Maybe Text)+riIPRange+ = lens _riIPRange (\ s a -> s{_riIPRange = a})++-- | URI of linked VPN tunnel. It must be in the same region as the router.+-- Each interface can have at most one linked resource.+riLinkedVPNTunnel :: Lens' RouterInterface (Maybe Text)+riLinkedVPNTunnel+ = lens _riLinkedVPNTunnel+ (\ s a -> s{_riLinkedVPNTunnel = a})++instance FromJSON RouterInterface where+ parseJSON+ = withObject "RouterInterface"+ (\ o ->+ RouterInterface' <$>+ (o .:? "name") <*> (o .:? "ipRange") <*>+ (o .:? "linkedVpnTunnel"))++instance ToJSON RouterInterface where+ toJSON RouterInterface'{..}+ = object+ (catMaybes+ [("name" .=) <$> _riName,+ ("ipRange" .=) <$> _riIPRange,+ ("linkedVpnTunnel" .=) <$> _riLinkedVPNTunnel])++-- | Contains a list of Snapshot resources.+--+-- /See:/ 'snapshotList' smart constructor.+data SnapshotList = SnapshotList'+ { _snaNextPageToken :: !(Maybe Text)+ , _snaKind :: !Text+ , _snaItems :: !(Maybe [Snapshot])+ , _snaSelfLink :: !(Maybe Text)+ , _snaId :: !(Maybe Text)+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'SnapshotList' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'snaNextPageToken'+--+-- * 'snaKind'+--+-- * 'snaItems'+--+-- * 'snaSelfLink'+--+-- * 'snaId'+snapshotList+ :: SnapshotList+snapshotList =+ SnapshotList'+ { _snaNextPageToken = Nothing+ , _snaKind = "compute#snapshotList"+ , _snaItems = Nothing+ , _snaSelfLink = Nothing+ , _snaId = Nothing+ }++-- | [Output Only] This token allows you to get the next page of results for+-- list requests. If the number of results is larger than maxResults, use+-- the nextPageToken as a value for the query parameter pageToken in the+-- next list request. Subsequent list requests will have their own+-- nextPageToken to continue paging through the results.+snaNextPageToken :: Lens' SnapshotList (Maybe Text)+snaNextPageToken+ = lens _snaNextPageToken+ (\ s a -> s{_snaNextPageToken = a})++-- | Type of resource.+snaKind :: Lens' SnapshotList Text+snaKind = lens _snaKind (\ s a -> s{_snaKind = a})++-- | [Output Only] A list of Snapshot resources.+snaItems :: Lens' SnapshotList [Snapshot]+snaItems+ = lens _snaItems (\ s a -> s{_snaItems = a}) .+ _Default+ . _Coerce++-- | [Output Only] Server-defined URL for this resource.+snaSelfLink :: Lens' SnapshotList (Maybe Text)+snaSelfLink+ = lens _snaSelfLink (\ s a -> s{_snaSelfLink = a})++-- | [Output Only] The unique identifier for the resource. This identifier is+-- defined by the server.+snaId :: Lens' SnapshotList (Maybe Text)+snaId = lens _snaId (\ s a -> s{_snaId = a})++instance FromJSON SnapshotList where+ parseJSON+ = withObject "SnapshotList"+ (\ o ->+ SnapshotList' <$>+ (o .:? "nextPageToken") <*>+ (o .:? "kind" .!= "compute#snapshotList")+ <*> (o .:? "items" .!= mempty)+ <*> (o .:? "selfLink")+ <*> (o .:? "id"))++instance ToJSON SnapshotList where+ toJSON SnapshotList'{..}+ = object+ (catMaybes+ [("nextPageToken" .=) <$> _snaNextPageToken,+ Just ("kind" .= _snaKind),+ ("items" .=) <$> _snaItems,+ ("selfLink" .=) <$> _snaSelfLink,+ ("id" .=) <$> _snaId])++--+-- /See:/ 'testFailure' smart constructor.+data TestFailure = TestFailure'+ { _tfPath :: !(Maybe Text)+ , _tfExpectedService :: !(Maybe Text)+ , _tfHost :: !(Maybe Text)+ , _tfActualService :: !(Maybe Text)+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'TestFailure' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'tfPath'+--+-- * 'tfExpectedService'+--+-- * 'tfHost'+--+-- * 'tfActualService'+testFailure+ :: TestFailure+testFailure =+ TestFailure'+ { _tfPath = Nothing+ , _tfExpectedService = Nothing+ , _tfHost = Nothing+ , _tfActualService = Nothing+ }++tfPath :: Lens' TestFailure (Maybe Text)+tfPath = lens _tfPath (\ s a -> s{_tfPath = a})++tfExpectedService :: Lens' TestFailure (Maybe Text)+tfExpectedService+ = lens _tfExpectedService+ (\ s a -> s{_tfExpectedService = a})++tfHost :: Lens' TestFailure (Maybe Text)+tfHost = lens _tfHost (\ s a -> s{_tfHost = a})++tfActualService :: Lens' TestFailure (Maybe Text)+tfActualService+ = lens _tfActualService+ (\ s a -> s{_tfActualService = a})++instance FromJSON TestFailure where+ parseJSON+ = withObject "TestFailure"+ (\ o ->+ TestFailure' <$>+ (o .:? "path") <*> (o .:? "expectedService") <*>+ (o .:? "host")+ <*> (o .:? "actualService"))++instance ToJSON TestFailure where+ toJSON TestFailure'{..}+ = object+ (catMaybes+ [("path" .=) <$> _tfPath,+ ("expectedService" .=) <$> _tfExpectedService,+ ("host" .=) <$> _tfHost,+ ("actualService" .=) <$> _tfActualService])++-- | An instance\'s serial console output.+--+-- /See:/ 'serialPortOutput' smart constructor.+data SerialPortOutput = SerialPortOutput'+ { _spoContents :: !(Maybe Text)+ , _spoKind :: !Text+ , _spoSelfLink :: !(Maybe Text)+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'SerialPortOutput' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'spoContents'+--+-- * 'spoKind'+--+-- * 'spoSelfLink'+serialPortOutput+ :: SerialPortOutput+serialPortOutput =+ SerialPortOutput'+ { _spoContents = Nothing+ , _spoKind = "compute#serialPortOutput"+ , _spoSelfLink = Nothing+ }++-- | [Output Only] The contents of the console output.+spoContents :: Lens' SerialPortOutput (Maybe Text)+spoContents+ = lens _spoContents (\ s a -> s{_spoContents = a})++-- | [Output Only] Type of the resource. Always compute#serialPortOutput for+-- serial port output.+spoKind :: Lens' SerialPortOutput Text+spoKind = lens _spoKind (\ s a -> s{_spoKind = a})++-- | [Output Only] Server-defined URL for this resource.+spoSelfLink :: Lens' SerialPortOutput (Maybe Text)+spoSelfLink+ = lens _spoSelfLink (\ s a -> s{_spoSelfLink = a})++instance FromJSON SerialPortOutput where+ parseJSON+ = withObject "SerialPortOutput"+ (\ o ->+ SerialPortOutput' <$>+ (o .:? "contents") <*>+ (o .:? "kind" .!= "compute#serialPortOutput")+ <*> (o .:? "selfLink"))++instance ToJSON SerialPortOutput where+ toJSON SerialPortOutput'{..}+ = object+ (catMaybes+ [("contents" .=) <$> _spoContents,+ Just ("kind" .= _spoKind),+ ("selfLink" .=) <$> _spoSelfLink])++--+-- /See:/ 'targetVPNGatewayAggregatedList' smart constructor.+data TargetVPNGatewayAggregatedList = TargetVPNGatewayAggregatedList'+ { _tvgalNextPageToken :: !(Maybe Text)+ , _tvgalKind :: !Text+ , _tvgalItems :: !(Maybe TargetVPNGatewayAggregatedListItems)+ , _tvgalSelfLink :: !(Maybe Text)+ , _tvgalId :: !(Maybe Text)+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'TargetVPNGatewayAggregatedList' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'tvgalNextPageToken'+--+-- * 'tvgalKind'+--+-- * 'tvgalItems'+--+-- * 'tvgalSelfLink'+--+-- * 'tvgalId'+targetVPNGatewayAggregatedList+ :: TargetVPNGatewayAggregatedList+targetVPNGatewayAggregatedList =+ TargetVPNGatewayAggregatedList'+ { _tvgalNextPageToken = Nothing+ , _tvgalKind = "compute#targetVpnGatewayAggregatedList"+ , _tvgalItems = Nothing+ , _tvgalSelfLink = Nothing+ , _tvgalId = Nothing+ }++-- | [Output Only] This token allows you to get the next page of results for+-- list requests. If the number of results is larger than maxResults, use+-- the nextPageToken as a value for the query parameter pageToken in the+-- next list request. Subsequent list requests will have their own+-- nextPageToken to continue paging through the results.+tvgalNextPageToken :: Lens' TargetVPNGatewayAggregatedList (Maybe Text)+tvgalNextPageToken+ = lens _tvgalNextPageToken+ (\ s a -> s{_tvgalNextPageToken = a})++-- | [Output Only] Type of resource. Always compute#targetVpnGateway for+-- target VPN gateways.+tvgalKind :: Lens' TargetVPNGatewayAggregatedList Text+tvgalKind+ = lens _tvgalKind (\ s a -> s{_tvgalKind = a})++-- | A map of scoped target vpn gateway lists.+tvgalItems :: Lens' TargetVPNGatewayAggregatedList (Maybe TargetVPNGatewayAggregatedListItems)+tvgalItems+ = lens _tvgalItems (\ s a -> s{_tvgalItems = a})++-- | [Output Only] Server-defined URL for this resource.+tvgalSelfLink :: Lens' TargetVPNGatewayAggregatedList (Maybe Text)+tvgalSelfLink+ = lens _tvgalSelfLink+ (\ s a -> s{_tvgalSelfLink = a})++-- | [Output Only] The unique identifier for the resource. This identifier is+-- defined by the server.+tvgalId :: Lens' TargetVPNGatewayAggregatedList (Maybe Text)+tvgalId = lens _tvgalId (\ s a -> s{_tvgalId = a})++instance FromJSON TargetVPNGatewayAggregatedList+ where+ parseJSON+ = withObject "TargetVPNGatewayAggregatedList"+ (\ o ->+ TargetVPNGatewayAggregatedList' <$>+ (o .:? "nextPageToken") <*>+ (o .:? "kind" .!=+ "compute#targetVpnGatewayAggregatedList")+ <*> (o .:? "items")+ <*> (o .:? "selfLink")+ <*> (o .:? "id"))++instance ToJSON TargetVPNGatewayAggregatedList where+ toJSON TargetVPNGatewayAggregatedList'{..}+ = object+ (catMaybes+ [("nextPageToken" .=) <$> _tvgalNextPageToken,+ Just ("kind" .= _tvgalKind),+ ("items" .=) <$> _tvgalItems,+ ("selfLink" .=) <$> _tvgalSelfLink,+ ("id" .=) <$> _tvgalId])++--+-- /See:/ 'metadataItemsItem' smart constructor.+data MetadataItemsItem = MetadataItemsItem'+ { _miiValue :: !(Maybe Text)+ , _miiKey :: !(Maybe Text)+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'MetadataItemsItem' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'miiValue'+--+-- * 'miiKey'+metadataItemsItem+ :: MetadataItemsItem+metadataItemsItem =+ MetadataItemsItem'+ { _miiValue = Nothing+ , _miiKey = Nothing+ }++-- | Value for the metadata entry. These are free-form strings, and only have+-- meaning as interpreted by the image running in the instance. The only+-- restriction placed on values is that their size must be less than or+-- equal to 32768 bytes.+miiValue :: Lens' MetadataItemsItem (Maybe Text)+miiValue = lens _miiValue (\ s a -> s{_miiValue = a})++-- | Key for the metadata entry. Keys must conform to the following regexp:+-- [a-zA-Z0-9-_]+, and be less than 128 bytes in length. This is 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.+miiKey :: Lens' MetadataItemsItem (Maybe Text)+miiKey = lens _miiKey (\ s a -> s{_miiKey = a})++instance FromJSON MetadataItemsItem where+ parseJSON+ = withObject "MetadataItemsItem"+ (\ o ->+ MetadataItemsItem' <$>+ (o .:? "value") <*> (o .:? "key"))++instance ToJSON MetadataItemsItem where+ toJSON MetadataItemsItem'{..}+ = object+ (catMaybes+ [("value" .=) <$> _miiValue, ("key" .=) <$> _miiKey])++-- | A TargetHttpsProxy resource. This resource defines an HTTPS proxy.+--+-- /See:/ 'targetHTTPSProxy' smart constructor.+data TargetHTTPSProxy = TargetHTTPSProxy'+ { _thpURLMap :: !(Maybe Text)+ , _thpSSLCertificates :: !(Maybe [Text])+ , _thpKind :: !Text+ , _thpSelfLink :: !(Maybe Text)+ , _thpName :: !(Maybe Text)+ , _thpCreationTimestamp :: !(Maybe Text)+ , _thpId :: !(Maybe (Textual Word64))+ , _thpDescription :: !(Maybe Text)+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'TargetHTTPSProxy' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'thpURLMap'+--+-- * 'thpSSLCertificates'+--+-- * 'thpKind'+--+-- * 'thpSelfLink'+--+-- * 'thpName'+--+-- * 'thpCreationTimestamp'+--+-- * 'thpId'+--+-- * 'thpDescription'+targetHTTPSProxy+ :: TargetHTTPSProxy+targetHTTPSProxy =+ TargetHTTPSProxy'+ { _thpURLMap = Nothing+ , _thpSSLCertificates = Nothing+ , _thpKind = "compute#targetHttpsProxy"+ , _thpSelfLink = Nothing+ , _thpName = Nothing+ , _thpCreationTimestamp = Nothing+ , _thpId = Nothing+ , _thpDescription = Nothing+ }++-- | A fully-qualified or valid partial URL to the UrlMap resource that+-- defines the mapping from URL to the BackendService. For example, the+-- following are all valid URLs for specifying a URL map: -+-- https:\/\/www.googleapis.compute\/v1\/projects\/project\/global\/urlMaps\/url-map+-- - projects\/project\/global\/urlMaps\/url-map - global\/urlMaps\/url-map+thpURLMap :: Lens' TargetHTTPSProxy (Maybe Text)+thpURLMap+ = lens _thpURLMap (\ s a -> s{_thpURLMap = a})++-- | URLs to SslCertificate resources that are used to authenticate+-- connections between users and the load balancer. Currently, exactly one+-- SSL certificate must be specified.+thpSSLCertificates :: Lens' TargetHTTPSProxy [Text]+thpSSLCertificates+ = lens _thpSSLCertificates+ (\ s a -> s{_thpSSLCertificates = a})+ . _Default+ . _Coerce++-- | [Output Only] Type of resource. Always compute#targetHttpsProxy for+-- target HTTPS proxies.+thpKind :: Lens' TargetHTTPSProxy Text+thpKind = lens _thpKind (\ s a -> s{_thpKind = a})++-- | [Output Only] Server-defined URL for the resource.+thpSelfLink :: Lens' TargetHTTPSProxy (Maybe Text)+thpSelfLink+ = lens _thpSelfLink (\ s a -> s{_thpSelfLink = a})++-- | Name of the resource. Provided by the client when the resource is+-- created. The name must be 1-63 characters long, and comply with RFC1035.+-- Specifically, the name must be 1-63 characters long and match the+-- regular expression [a-z]([-a-z0-9]*[a-z0-9])? which means the first+-- character must be a lowercase letter, and all following characters must+-- be a dash, lowercase letter, or digit, except the last character, which+-- cannot be a dash.+thpName :: Lens' TargetHTTPSProxy (Maybe Text)+thpName = lens _thpName (\ s a -> s{_thpName = a})++-- | [Output Only] Creation timestamp in RFC3339 text format.+thpCreationTimestamp :: Lens' TargetHTTPSProxy (Maybe Text)+thpCreationTimestamp+ = lens _thpCreationTimestamp+ (\ s a -> s{_thpCreationTimestamp = a})++-- | [Output Only] The unique identifier for the resource. This identifier is+-- defined by the server.+thpId :: Lens' TargetHTTPSProxy (Maybe Word64)+thpId+ = lens _thpId (\ s a -> s{_thpId = a}) .+ mapping _Coerce++-- | An optional description of this resource. Provide this property when you+-- create the resource.+thpDescription :: Lens' TargetHTTPSProxy (Maybe Text)+thpDescription+ = lens _thpDescription+ (\ s a -> s{_thpDescription = a})++instance FromJSON TargetHTTPSProxy where+ parseJSON+ = withObject "TargetHTTPSProxy"+ (\ o ->+ TargetHTTPSProxy' <$>+ (o .:? "urlMap") <*>+ (o .:? "sslCertificates" .!= mempty)+ <*> (o .:? "kind" .!= "compute#targetHttpsProxy")+ <*> (o .:? "selfLink")+ <*> (o .:? "name")+ <*> (o .:? "creationTimestamp")+ <*> (o .:? "id")+ <*> (o .:? "description"))++instance ToJSON TargetHTTPSProxy where+ toJSON TargetHTTPSProxy'{..}+ = object+ (catMaybes+ [("urlMap" .=) <$> _thpURLMap,+ ("sslCertificates" .=) <$> _thpSSLCertificates,+ Just ("kind" .= _thpKind),+ ("selfLink" .=) <$> _thpSelfLink,+ ("name" .=) <$> _thpName,+ ("creationTimestamp" .=) <$> _thpCreationTimestamp,+ ("id" .=) <$> _thpId,+ ("description" .=) <$> _thpDescription])++-- | Message containing connection draining configuration.+--+-- /See:/ 'connectionDraining' smart constructor.+newtype ConnectionDraining = ConnectionDraining'+ { _cdDrainingTimeoutSec :: Maybe (Textual Int32)+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'ConnectionDraining' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'cdDrainingTimeoutSec'+connectionDraining+ :: ConnectionDraining+connectionDraining =+ ConnectionDraining'+ { _cdDrainingTimeoutSec = Nothing+ }++-- | Time for which instance will be drained (not accept new connections, but+-- still work to finish started).+cdDrainingTimeoutSec :: Lens' ConnectionDraining (Maybe Int32)+cdDrainingTimeoutSec+ = lens _cdDrainingTimeoutSec+ (\ s a -> s{_cdDrainingTimeoutSec = a})+ . mapping _Coerce++instance FromJSON ConnectionDraining where+ parseJSON+ = withObject "ConnectionDraining"+ (\ o ->+ ConnectionDraining' <$> (o .:? "drainingTimeoutSec"))++instance ToJSON ConnectionDraining where+ toJSON ConnectionDraining'{..}+ = object+ (catMaybes+ [("drainingTimeoutSec" .=) <$>+ _cdDrainingTimeoutSec])++--+-- /See:/ 'cacheInvalidationRule' smart constructor.+newtype CacheInvalidationRule = CacheInvalidationRule'+ { _cirPath :: Maybe Text+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'CacheInvalidationRule' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'cirPath'+cacheInvalidationRule+ :: CacheInvalidationRule+cacheInvalidationRule =+ CacheInvalidationRule'+ { _cirPath = Nothing+ }++cirPath :: Lens' CacheInvalidationRule (Maybe Text)+cirPath = lens _cirPath (\ s a -> s{_cirPath = a})++instance FromJSON CacheInvalidationRule where+ parseJSON+ = withObject "CacheInvalidationRule"+ (\ o -> CacheInvalidationRule' <$> (o .:? "path"))++instance ToJSON CacheInvalidationRule where+ toJSON CacheInvalidationRule'{..}+ = object (catMaybes [("path" .=) <$> _cirPath])++--+-- /See:/ 'targetVPNGatewaysScopedList' smart constructor.+data TargetVPNGatewaysScopedList = TargetVPNGatewaysScopedList'+ { _tvgslTargetVPNGateways :: !(Maybe [TargetVPNGateway])+ , _tvgslWarning :: !(Maybe TargetVPNGatewaysScopedListWarning)+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'TargetVPNGatewaysScopedList' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'tvgslTargetVPNGateways'+--+-- * 'tvgslWarning'+targetVPNGatewaysScopedList+ :: TargetVPNGatewaysScopedList+targetVPNGatewaysScopedList =+ TargetVPNGatewaysScopedList'+ { _tvgslTargetVPNGateways = Nothing+ , _tvgslWarning = Nothing+ }++-- | [Output Only] List of target vpn gateways contained in this scope.+tvgslTargetVPNGateways :: Lens' TargetVPNGatewaysScopedList [TargetVPNGateway]+tvgslTargetVPNGateways+ = lens _tvgslTargetVPNGateways+ (\ s a -> s{_tvgslTargetVPNGateways = a})+ . _Default+ . _Coerce++-- | [Output Only] Informational warning which replaces the list of addresses+-- when the list is empty.+tvgslWarning :: Lens' TargetVPNGatewaysScopedList (Maybe TargetVPNGatewaysScopedListWarning)+tvgslWarning+ = lens _tvgslWarning (\ s a -> s{_tvgslWarning = a})++instance FromJSON TargetVPNGatewaysScopedList where+ parseJSON+ = withObject "TargetVPNGatewaysScopedList"+ (\ o ->+ TargetVPNGatewaysScopedList' <$>+ (o .:? "targetVpnGateways" .!= mempty) <*>+ (o .:? "warning"))++instance ToJSON TargetVPNGatewaysScopedList where+ toJSON TargetVPNGatewaysScopedList'{..}+ = object+ (catMaybes+ [("targetVpnGateways" .=) <$>+ _tvgslTargetVPNGateways,+ ("warning" .=) <$> _tvgslWarning])++-- | An access configuration attached to an instance\'s network interface.+-- Only one access config per instance is supported.+--+-- /See:/ 'accessConfig' smart constructor.+data AccessConfig = AccessConfig'+ { _acKind :: !Text+ , _acName :: !(Maybe Text)+ , _acNATIP :: !(Maybe Text)+ , _acType :: !AccessConfigType+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'AccessConfig' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'acKind'+--+-- * 'acName'+--+-- * 'acNATIP'+--+-- * 'acType'+accessConfig+ :: AccessConfig+accessConfig =+ AccessConfig'+ { _acKind = "compute#accessConfig"+ , _acName = Nothing+ , _acNATIP = Nothing+ , _acType = OneToOneNAT+ }++-- | [Output Only] Type of the resource. Always compute#accessConfig for+-- access configs.+acKind :: Lens' AccessConfig Text+acKind = lens _acKind (\ s a -> s{_acKind = a})++-- | Name of this access configuration.+acName :: Lens' AccessConfig (Maybe Text)+acName = lens _acName (\ s a -> s{_acName = a})++-- | An external IP address associated with this instance. Specify an unused+-- static external IP address available to the project or leave this field+-- undefined to use an IP from a shared ephemeral IP address pool. If you+-- specify a static external IP address, it must live in the same region as+-- the zone of the instance.+acNATIP :: Lens' AccessConfig (Maybe Text)+acNATIP = lens _acNATIP (\ s a -> s{_acNATIP = a})++-- | The type of configuration. The default and only option is+-- ONE_TO_ONE_NAT.+acType :: Lens' AccessConfig AccessConfigType+acType = lens _acType (\ s a -> s{_acType = a})++instance FromJSON AccessConfig where+ parseJSON+ = withObject "AccessConfig"+ (\ o ->+ AccessConfig' <$>+ (o .:? "kind" .!= "compute#accessConfig") <*>+ (o .:? "name")+ <*> (o .:? "natIP")+ <*> (o .:? "type" .!= OneToOneNAT))++instance ToJSON AccessConfig where+ toJSON AccessConfig'{..}+ = object+ (catMaybes+ [Just ("kind" .= _acKind), ("name" .=) <$> _acName,+ ("natIP" .=) <$> _acNATIP, Just ("type" .= _acType)])++--+-- /See:/ 'managedInstanceLastAttemptErrorsErrorsItem' smart constructor.+data ManagedInstanceLastAttemptErrorsErrorsItem = ManagedInstanceLastAttemptErrorsErrorsItem'+ { _milaeeiLocation :: !(Maybe Text)+ , _milaeeiCode :: !(Maybe Text)+ , _milaeeiMessage :: !(Maybe Text)+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'ManagedInstanceLastAttemptErrorsErrorsItem' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'milaeeiLocation'+--+-- * 'milaeeiCode'+--+-- * 'milaeeiMessage'+managedInstanceLastAttemptErrorsErrorsItem+ :: ManagedInstanceLastAttemptErrorsErrorsItem+managedInstanceLastAttemptErrorsErrorsItem =+ ManagedInstanceLastAttemptErrorsErrorsItem'+ { _milaeeiLocation = Nothing+ , _milaeeiCode = Nothing+ , _milaeeiMessage = Nothing+ }++-- | [Output Only] Indicates the field in the request that caused the error.+-- This property is optional.+milaeeiLocation :: Lens' ManagedInstanceLastAttemptErrorsErrorsItem (Maybe Text)+milaeeiLocation+ = lens _milaeeiLocation+ (\ s a -> s{_milaeeiLocation = a})++-- | [Output Only] The error type identifier for this error.+milaeeiCode :: Lens' ManagedInstanceLastAttemptErrorsErrorsItem (Maybe Text)+milaeeiCode+ = lens _milaeeiCode (\ s a -> s{_milaeeiCode = a})++-- | [Output Only] An optional, human-readable error message.+milaeeiMessage :: Lens' ManagedInstanceLastAttemptErrorsErrorsItem (Maybe Text)+milaeeiMessage+ = lens _milaeeiMessage+ (\ s a -> s{_milaeeiMessage = a})++instance FromJSON+ ManagedInstanceLastAttemptErrorsErrorsItem where+ parseJSON+ = withObject+ "ManagedInstanceLastAttemptErrorsErrorsItem"+ (\ o ->+ ManagedInstanceLastAttemptErrorsErrorsItem' <$>+ (o .:? "location") <*> (o .:? "code") <*>+ (o .:? "message"))++instance ToJSON+ ManagedInstanceLastAttemptErrorsErrorsItem where+ toJSON+ ManagedInstanceLastAttemptErrorsErrorsItem'{..}+ = object+ (catMaybes+ [("location" .=) <$> _milaeeiLocation,+ ("code" .=) <$> _milaeeiCode,+ ("message" .=) <$> _milaeeiMessage])++--+-- /See:/ 'instancesScopedListWarningDataItem' smart constructor.+data InstancesScopedListWarningDataItem = InstancesScopedListWarningDataItem'+ { _islwdiValue :: !(Maybe Text)+ , _islwdiKey :: !(Maybe Text)+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'InstancesScopedListWarningDataItem' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'islwdiValue'+--+-- * 'islwdiKey'+instancesScopedListWarningDataItem+ :: InstancesScopedListWarningDataItem+instancesScopedListWarningDataItem =+ InstancesScopedListWarningDataItem'+ { _islwdiValue = Nothing+ , _islwdiKey = Nothing+ }++-- | [Output Only] A warning data value corresponding to the key.+islwdiValue :: Lens' InstancesScopedListWarningDataItem (Maybe Text)+islwdiValue+ = lens _islwdiValue (\ s a -> s{_islwdiValue = a})++-- | [Output Only] A key that provides more detail on the warning being+-- returned. For example, for warnings where there are no results in a list+-- request for a particular zone, this key might be scope and the key value+-- might be the zone name. Other examples might be a key indicating a+-- deprecated resource and a suggested replacement, or a warning about+-- invalid network settings (for example, if an instance attempts to+-- perform IP forwarding but is not enabled for IP forwarding).+islwdiKey :: Lens' InstancesScopedListWarningDataItem (Maybe Text)+islwdiKey+ = lens _islwdiKey (\ s a -> s{_islwdiKey = a})++instance FromJSON InstancesScopedListWarningDataItem+ where+ parseJSON+ = withObject "InstancesScopedListWarningDataItem"+ (\ o ->+ InstancesScopedListWarningDataItem' <$>+ (o .:? "value") <*> (o .:? "key"))++instance ToJSON InstancesScopedListWarningDataItem+ where+ toJSON InstancesScopedListWarningDataItem'{..}+ = object+ (catMaybes+ [("value" .=) <$> _islwdiValue,+ ("key" .=) <$> _islwdiKey])++-- | A BackendService resource. This resource defines a group of backend+-- virtual machines and their serving capacity.+--+-- /See:/ 'backendService' smart constructor.+data BackendService = BackendService'+ { _bsSessionAffinity :: !(Maybe BackendServiceSessionAffinity)+ , _bsBackends :: !(Maybe [Backend])+ , _bsAffinityCookieTtlSec :: !(Maybe (Textual Int32))+ , _bsKind :: !Text+ , _bsEnableCDN :: !(Maybe Bool)+ , _bsFingerprint :: !(Maybe Base64)+ , _bsProtocol :: !(Maybe BackendServiceProtocol)+ , _bsSelfLink :: !(Maybe Text)+ , _bsName :: !(Maybe Text)+ , _bsCreationTimestamp :: !(Maybe Text)+ , _bsId :: !(Maybe (Textual Word64))+ , _bsRegion :: !(Maybe Text)+ , _bsConnectionDraining :: !(Maybe ConnectionDraining)+ , _bsTimeoutSec :: !(Maybe (Textual Int32))+ , _bsDescription :: !(Maybe Text)+ , _bsPortName :: !(Maybe Text)+ , _bsHealthChecks :: !(Maybe [Text])+ , _bsPort :: !(Maybe (Textual Int32))+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'BackendService' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'bsSessionAffinity'+--+-- * 'bsBackends'+--+-- * 'bsAffinityCookieTtlSec'+--+-- * 'bsKind'+--+-- * 'bsEnableCDN'+--+-- * 'bsFingerprint'+--+-- * 'bsProtocol'+--+-- * 'bsSelfLink'+--+-- * 'bsName'+--+-- * 'bsCreationTimestamp'+--+-- * 'bsId'+--+-- * 'bsRegion'+--+-- * 'bsConnectionDraining'+--+-- * 'bsTimeoutSec'+--+-- * 'bsDescription'+--+-- * 'bsPortName'+--+-- * 'bsHealthChecks'+--+-- * 'bsPort'+backendService+ :: BackendService+backendService =+ BackendService'+ { _bsSessionAffinity = Nothing+ , _bsBackends = Nothing+ , _bsAffinityCookieTtlSec = Nothing+ , _bsKind = "compute#backendService"+ , _bsEnableCDN = Nothing+ , _bsFingerprint = Nothing+ , _bsProtocol = Nothing+ , _bsSelfLink = Nothing+ , _bsName = Nothing+ , _bsCreationTimestamp = Nothing+ , _bsId = Nothing+ , _bsRegion = Nothing+ , _bsConnectionDraining = Nothing+ , _bsTimeoutSec = Nothing+ , _bsDescription = Nothing+ , _bsPortName = Nothing+ , _bsHealthChecks = Nothing+ , _bsPort = Nothing+ }++-- | Type of session affinity to use. The default is NONE. When the load+-- balancing scheme is EXTERNAL, can be NONE, CLIENT_IP, or+-- GENERATED_COOKIE. When the load balancing scheme is INTERNAL, can be+-- NONE, CLIENT_IP, CLIENT_IP_PROTO, or CLIENT_IP_PORT_PROTO. When the+-- protocol is UDP, this field is not used.+bsSessionAffinity :: Lens' BackendService (Maybe BackendServiceSessionAffinity)+bsSessionAffinity+ = lens _bsSessionAffinity+ (\ s a -> s{_bsSessionAffinity = a})++-- | The list of backends that serve this BackendService.+bsBackends :: Lens' BackendService [Backend]+bsBackends+ = lens _bsBackends (\ s a -> s{_bsBackends = a}) .+ _Default+ . _Coerce++-- | Lifetime of cookies in seconds if session_affinity is GENERATED_COOKIE.+-- If set to 0, the cookie is non-persistent and lasts only until the end+-- of the browser session (or equivalent). The maximum allowed value for+-- TTL is one day. When the load balancing scheme is INTERNAL, this field+-- is not used.+bsAffinityCookieTtlSec :: Lens' BackendService (Maybe Int32)+bsAffinityCookieTtlSec+ = lens _bsAffinityCookieTtlSec+ (\ s a -> s{_bsAffinityCookieTtlSec = a})+ . mapping _Coerce++-- | [Output Only] Type of resource. Always compute#backendService for+-- backend services.+bsKind :: Lens' BackendService Text+bsKind = lens _bsKind (\ s a -> s{_bsKind = a})++-- | If true, enable Cloud CDN for this BackendService. When the load+-- balancing scheme is INTERNAL, this field is not used.+bsEnableCDN :: Lens' BackendService (Maybe Bool)+bsEnableCDN+ = lens _bsEnableCDN (\ s a -> s{_bsEnableCDN = a})++-- | Fingerprint of this resource. A hash of the contents stored in this+-- object. This field is used in optimistic locking. This field will be+-- ignored when inserting a BackendService. An up-to-date fingerprint must+-- be provided in order to update the BackendService.+bsFingerprint :: Lens' BackendService (Maybe ByteString)+bsFingerprint+ = lens _bsFingerprint+ (\ s a -> s{_bsFingerprint = a})+ . mapping _Base64++-- | The protocol this BackendService uses to communicate with backends.+-- Possible values are HTTP, HTTPS, HTTP2, TCP and SSL. The default is+-- HTTP. For internal load balancing, the possible values are TCP and UDP,+-- and the default is TCP.+bsProtocol :: Lens' BackendService (Maybe BackendServiceProtocol)+bsProtocol+ = lens _bsProtocol (\ s a -> s{_bsProtocol = a})++-- | [Output Only] Server-defined URL for the resource.+bsSelfLink :: Lens' BackendService (Maybe Text)+bsSelfLink+ = lens _bsSelfLink (\ s a -> s{_bsSelfLink = a})++-- | Name of the resource. Provided by the client when the resource is+-- created. The name must be 1-63 characters long, and comply with RFC1035.+-- Specifically, the name must be 1-63 characters long and match the+-- regular expression [a-z]([-a-z0-9]*[a-z0-9])? which means the first+-- character must be a lowercase letter, and all following characters must+-- be a dash, lowercase letter, or digit, except the last character, which+-- cannot be a dash.+bsName :: Lens' BackendService (Maybe Text)+bsName = lens _bsName (\ s a -> s{_bsName = a})++-- | [Output Only] Creation timestamp in RFC3339 text format.+bsCreationTimestamp :: Lens' BackendService (Maybe Text)+bsCreationTimestamp+ = lens _bsCreationTimestamp+ (\ s a -> s{_bsCreationTimestamp = a})++-- | [Output Only] The unique identifier for the resource. This identifier is+-- defined by the server.+bsId :: Lens' BackendService (Maybe Word64)+bsId+ = lens _bsId (\ s a -> s{_bsId = a}) .+ mapping _Coerce++-- | [Output Only] URL of the region where the regional backend service+-- resides. This field is not applicable to global backend services.+bsRegion :: Lens' BackendService (Maybe Text)+bsRegion = lens _bsRegion (\ s a -> s{_bsRegion = a})++bsConnectionDraining :: Lens' BackendService (Maybe ConnectionDraining)+bsConnectionDraining+ = lens _bsConnectionDraining+ (\ s a -> s{_bsConnectionDraining = a})++-- | How many seconds to wait for the backend before considering it a failed+-- request. Default is 30 seconds.+bsTimeoutSec :: Lens' BackendService (Maybe Int32)+bsTimeoutSec+ = lens _bsTimeoutSec (\ s a -> s{_bsTimeoutSec = a})+ . mapping _Coerce++-- | An optional description of this resource. Provide this property when you+-- create the resource.+bsDescription :: Lens' BackendService (Maybe Text)+bsDescription+ = lens _bsDescription+ (\ s a -> s{_bsDescription = a})++-- | Name of backend port. The same name should appear in the instance groups+-- referenced by this service. Required when the load balancing scheme is+-- EXTERNAL. When the load balancing scheme is INTERNAL, this field is not+-- used.+bsPortName :: Lens' BackendService (Maybe Text)+bsPortName+ = lens _bsPortName (\ s a -> s{_bsPortName = a})++-- | The list of URLs to the HttpHealthCheck or HttpsHealthCheck resource for+-- health checking this BackendService. Currently at most one health check+-- can be specified, and a health check is required. For internal load+-- balancing, a URL to a HealthCheck resource must be specified instead.+bsHealthChecks :: Lens' BackendService [Text]+bsHealthChecks+ = lens _bsHealthChecks+ (\ s a -> s{_bsHealthChecks = a})+ . _Default+ . _Coerce++-- | Deprecated in favor of portName. The TCP port to connect on the backend.+-- The default value is 80. This cannot be used for internal load+-- balancing.+bsPort :: Lens' BackendService (Maybe Int32)+bsPort+ = lens _bsPort (\ s a -> s{_bsPort = a}) .+ mapping _Coerce++instance FromJSON BackendService where+ parseJSON+ = withObject "BackendService"+ (\ o ->+ BackendService' <$>+ (o .:? "sessionAffinity") <*>+ (o .:? "backends" .!= mempty)+ <*> (o .:? "affinityCookieTtlSec")+ <*> (o .:? "kind" .!= "compute#backendService")+ <*> (o .:? "enableCDN")+ <*> (o .:? "fingerprint")+ <*> (o .:? "protocol")+ <*> (o .:? "selfLink")+ <*> (o .:? "name")+ <*> (o .:? "creationTimestamp")+ <*> (o .:? "id")+ <*> (o .:? "region")+ <*> (o .:? "connectionDraining")+ <*> (o .:? "timeoutSec")+ <*> (o .:? "description")+ <*> (o .:? "portName")+ <*> (o .:? "healthChecks" .!= mempty)+ <*> (o .:? "port"))++instance ToJSON BackendService where+ toJSON BackendService'{..}+ = object+ (catMaybes+ [("sessionAffinity" .=) <$> _bsSessionAffinity,+ ("backends" .=) <$> _bsBackends,+ ("affinityCookieTtlSec" .=) <$>+ _bsAffinityCookieTtlSec,+ Just ("kind" .= _bsKind),+ ("enableCDN" .=) <$> _bsEnableCDN,+ ("fingerprint" .=) <$> _bsFingerprint,+ ("protocol" .=) <$> _bsProtocol,+ ("selfLink" .=) <$> _bsSelfLink,+ ("name" .=) <$> _bsName,+ ("creationTimestamp" .=) <$> _bsCreationTimestamp,+ ("id" .=) <$> _bsId, ("region" .=) <$> _bsRegion,+ ("connectionDraining" .=) <$> _bsConnectionDraining,+ ("timeoutSec" .=) <$> _bsTimeoutSec,+ ("description" .=) <$> _bsDescription,+ ("portName" .=) <$> _bsPortName,+ ("healthChecks" .=) <$> _bsHealthChecks,+ ("port" .=) <$> _bsPort])++--+-- /See:/ 'instanceMoveRequest' smart constructor.+data InstanceMoveRequest = InstanceMoveRequest'+ { _imrTargetInstance :: !(Maybe Text)+ , _imrDestinationZone :: !(Maybe Text)+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'InstanceMoveRequest' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'imrTargetInstance'+--+-- * 'imrDestinationZone'+instanceMoveRequest+ :: InstanceMoveRequest+instanceMoveRequest =+ InstanceMoveRequest'+ { _imrTargetInstance = Nothing+ , _imrDestinationZone = Nothing+ }++-- | The URL of the target instance to move. This can be a full or partial+-- URL. For example, the following are all valid URLs to an instance: -+-- https:\/\/www.googleapis.com\/compute\/v1\/projects\/project\/zones\/zone\/instances\/instance+-- - projects\/project\/zones\/zone\/instances\/instance -+-- zones\/zone\/instances\/instance+imrTargetInstance :: Lens' InstanceMoveRequest (Maybe Text)+imrTargetInstance+ = lens _imrTargetInstance+ (\ s a -> s{_imrTargetInstance = a})++-- | The URL of the destination zone to move the instance. This can be a full+-- or partial URL. For example, the following are all valid URLs to a zone:+-- -+-- https:\/\/www.googleapis.com\/compute\/v1\/projects\/project\/zones\/zone+-- - projects\/project\/zones\/zone - zones\/zone+imrDestinationZone :: Lens' InstanceMoveRequest (Maybe Text)+imrDestinationZone+ = lens _imrDestinationZone+ (\ s a -> s{_imrDestinationZone = a})++instance FromJSON InstanceMoveRequest where+ parseJSON+ = withObject "InstanceMoveRequest"+ (\ o ->+ InstanceMoveRequest' <$>+ (o .:? "targetInstance") <*>+ (o .:? "destinationZone"))++instance ToJSON InstanceMoveRequest where+ toJSON InstanceMoveRequest'{..}+ = object+ (catMaybes+ [("targetInstance" .=) <$> _imrTargetInstance,+ ("destinationZone" .=) <$> _imrDestinationZone])++--+-- /See:/ 'instanceGroupsScopedList' smart constructor.+data InstanceGroupsScopedList = InstanceGroupsScopedList'+ { _igslWarning :: !(Maybe InstanceGroupsScopedListWarning)+ , _igslInstanceGroups :: !(Maybe [InstanceGroup])+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'InstanceGroupsScopedList' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'igslWarning'+--+-- * 'igslInstanceGroups'+instanceGroupsScopedList+ :: InstanceGroupsScopedList+instanceGroupsScopedList =+ InstanceGroupsScopedList'+ { _igslWarning = Nothing+ , _igslInstanceGroups = Nothing+ }++-- | [Output Only] An informational warning that replaces the list of+-- instance groups when the list is empty.+igslWarning :: Lens' InstanceGroupsScopedList (Maybe InstanceGroupsScopedListWarning)+igslWarning+ = lens _igslWarning (\ s a -> s{_igslWarning = a})++-- | [Output Only] The list of instance groups that are contained in this+-- scope.+igslInstanceGroups :: Lens' InstanceGroupsScopedList [InstanceGroup]+igslInstanceGroups+ = lens _igslInstanceGroups+ (\ s a -> s{_igslInstanceGroups = a})+ . _Default+ . _Coerce++instance FromJSON InstanceGroupsScopedList where+ parseJSON+ = withObject "InstanceGroupsScopedList"+ (\ o ->+ InstanceGroupsScopedList' <$>+ (o .:? "warning") <*>+ (o .:? "instanceGroups" .!= mempty))++instance ToJSON InstanceGroupsScopedList where+ toJSON InstanceGroupsScopedList'{..}+ = object+ (catMaybes+ [("warning" .=) <$> _igslWarning,+ ("instanceGroups" .=) <$> _igslInstanceGroups])++--+-- /See:/ 'instancesStartWithEncryptionKeyRequest' smart constructor.+newtype InstancesStartWithEncryptionKeyRequest = InstancesStartWithEncryptionKeyRequest'+ { _iswekrDisks :: Maybe [CustomerEncryptionKeyProtectedDisk]+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'InstancesStartWithEncryptionKeyRequest' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'iswekrDisks'+instancesStartWithEncryptionKeyRequest+ :: InstancesStartWithEncryptionKeyRequest+instancesStartWithEncryptionKeyRequest =+ InstancesStartWithEncryptionKeyRequest'+ { _iswekrDisks = Nothing+ }++-- | Array of disks associated with this instance that are protected with a+-- customer-supplied encryption key. In order to start the instance, the+-- disk url and its corresponding key must be provided. If the disk is not+-- protected with a customer-supplied encryption key it should not be+-- specified.+iswekrDisks :: Lens' InstancesStartWithEncryptionKeyRequest [CustomerEncryptionKeyProtectedDisk]+iswekrDisks+ = lens _iswekrDisks (\ s a -> s{_iswekrDisks = a}) .+ _Default+ . _Coerce++instance FromJSON+ InstancesStartWithEncryptionKeyRequest where+ parseJSON+ = withObject "InstancesStartWithEncryptionKeyRequest"+ (\ o ->+ InstancesStartWithEncryptionKeyRequest' <$>+ (o .:? "disks" .!= mempty))++instance ToJSON+ InstancesStartWithEncryptionKeyRequest where+ toJSON InstancesStartWithEncryptionKeyRequest'{..}+ = object (catMaybes [("disks" .=) <$> _iswekrDisks])++-- | An HttpsHealthCheck resource. This resource defines a template for how+-- individual instances should be checked for health, via HTTPS.+--+-- /See:/ 'httpsHealthCheck' smart constructor.+data HTTPSHealthCheck = HTTPSHealthCheck'+ { _hhcHealthyThreshold :: !(Maybe (Textual Int32))+ , _hhcKind :: !Text+ , _hhcRequestPath :: !(Maybe Text)+ , _hhcSelfLink :: !(Maybe Text)+ , _hhcCheckIntervalSec :: !(Maybe (Textual Int32))+ , _hhcName :: !(Maybe Text)+ , _hhcCreationTimestamp :: !(Maybe Text)+ , _hhcId :: !(Maybe (Textual Word64))+ , _hhcHost :: !(Maybe Text)+ , _hhcTimeoutSec :: !(Maybe (Textual Int32))+ , _hhcDescription :: !(Maybe Text)+ , _hhcUnhealthyThreshold :: !(Maybe (Textual Int32))+ , _hhcPort :: !(Maybe (Textual Int32))+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'HTTPSHealthCheck' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'hhcHealthyThreshold'+--+-- * 'hhcKind'+--+-- * 'hhcRequestPath'+--+-- * 'hhcSelfLink'+--+-- * 'hhcCheckIntervalSec'+--+-- * 'hhcName'+--+-- * 'hhcCreationTimestamp'+--+-- * 'hhcId'+--+-- * 'hhcHost'+--+-- * 'hhcTimeoutSec'+--+-- * 'hhcDescription'+--+-- * 'hhcUnhealthyThreshold'+--+-- * 'hhcPort'+httpsHealthCheck+ :: HTTPSHealthCheck+httpsHealthCheck =+ HTTPSHealthCheck'+ { _hhcHealthyThreshold = Nothing+ , _hhcKind = "compute#httpsHealthCheck"+ , _hhcRequestPath = Nothing+ , _hhcSelfLink = Nothing+ , _hhcCheckIntervalSec = Nothing+ , _hhcName = Nothing+ , _hhcCreationTimestamp = Nothing+ , _hhcId = Nothing+ , _hhcHost = Nothing+ , _hhcTimeoutSec = Nothing+ , _hhcDescription = Nothing+ , _hhcUnhealthyThreshold = Nothing+ , _hhcPort = Nothing+ }++-- | A so-far unhealthy instance will be marked healthy after this many+-- consecutive successes. The default value is 2.+hhcHealthyThreshold :: Lens' HTTPSHealthCheck (Maybe Int32)+hhcHealthyThreshold+ = lens _hhcHealthyThreshold+ (\ s a -> s{_hhcHealthyThreshold = a})+ . mapping _Coerce++-- | Type of the resource.+hhcKind :: Lens' HTTPSHealthCheck Text+hhcKind = lens _hhcKind (\ s a -> s{_hhcKind = a})++-- | The request path of the HTTPS health check request. The default value is+-- \"\/\".+hhcRequestPath :: Lens' HTTPSHealthCheck (Maybe Text)+hhcRequestPath+ = lens _hhcRequestPath+ (\ s a -> s{_hhcRequestPath = a})++-- | [Output Only] Server-defined URL for the resource.+hhcSelfLink :: Lens' HTTPSHealthCheck (Maybe Text)+hhcSelfLink+ = lens _hhcSelfLink (\ s a -> s{_hhcSelfLink = a})++-- | How often (in seconds) to send a health check. The default value is 5+-- seconds.+hhcCheckIntervalSec :: Lens' HTTPSHealthCheck (Maybe Int32)+hhcCheckIntervalSec+ = lens _hhcCheckIntervalSec+ (\ s a -> s{_hhcCheckIntervalSec = a})+ . mapping _Coerce++-- | Name of the resource. Provided by the client when the resource is+-- created. The name must be 1-63 characters long, and comply with RFC1035.+-- Specifically, the name must be 1-63 characters long and match the+-- regular expression [a-z]([-a-z0-9]*[a-z0-9])? which means the first+-- character must be a lowercase letter, and all following characters must+-- be a dash, lowercase letter, or digit, except the last character, which+-- cannot be a dash.+hhcName :: Lens' HTTPSHealthCheck (Maybe Text)+hhcName = lens _hhcName (\ s a -> s{_hhcName = a})++-- | [Output Only] Creation timestamp in RFC3339 text format.+hhcCreationTimestamp :: Lens' HTTPSHealthCheck (Maybe Text)+hhcCreationTimestamp+ = lens _hhcCreationTimestamp+ (\ s a -> s{_hhcCreationTimestamp = a})++-- | [Output Only] The unique identifier for the resource. This identifier is+-- defined by the server.+hhcId :: Lens' HTTPSHealthCheck (Maybe Word64)+hhcId+ = lens _hhcId (\ s a -> s{_hhcId = a}) .+ mapping _Coerce++-- | The value of the host header in the HTTPS health check request. If left+-- empty (default value), the public IP on behalf of which this health+-- check is performed will be used.+hhcHost :: Lens' HTTPSHealthCheck (Maybe Text)+hhcHost = lens _hhcHost (\ s a -> s{_hhcHost = a})++-- | How long (in seconds) to wait before claiming failure. The default value+-- is 5 seconds. It is invalid for timeoutSec to have a greater value than+-- checkIntervalSec.+hhcTimeoutSec :: Lens' HTTPSHealthCheck (Maybe Int32)+hhcTimeoutSec+ = lens _hhcTimeoutSec+ (\ s a -> s{_hhcTimeoutSec = a})+ . mapping _Coerce++-- | An optional description of this resource. Provide this property when you+-- create the resource.+hhcDescription :: Lens' HTTPSHealthCheck (Maybe Text)+hhcDescription+ = lens _hhcDescription+ (\ s a -> s{_hhcDescription = a})++-- | A so-far healthy instance will be marked unhealthy after this many+-- consecutive failures. The default value is 2.+hhcUnhealthyThreshold :: Lens' HTTPSHealthCheck (Maybe Int32)+hhcUnhealthyThreshold+ = lens _hhcUnhealthyThreshold+ (\ s a -> s{_hhcUnhealthyThreshold = a})+ . mapping _Coerce++-- | The TCP port number for the HTTPS health check request. The default+-- value is 443.+hhcPort :: Lens' HTTPSHealthCheck (Maybe Int32)+hhcPort+ = lens _hhcPort (\ s a -> s{_hhcPort = a}) .+ mapping _Coerce++instance FromJSON HTTPSHealthCheck where+ parseJSON+ = withObject "HTTPSHealthCheck"+ (\ o ->+ HTTPSHealthCheck' <$>+ (o .:? "healthyThreshold") <*>+ (o .:? "kind" .!= "compute#httpsHealthCheck")+ <*> (o .:? "requestPath")+ <*> (o .:? "selfLink")+ <*> (o .:? "checkIntervalSec")+ <*> (o .:? "name")+ <*> (o .:? "creationTimestamp")+ <*> (o .:? "id")+ <*> (o .:? "host")+ <*> (o .:? "timeoutSec")+ <*> (o .:? "description")+ <*> (o .:? "unhealthyThreshold")+ <*> (o .:? "port"))++instance ToJSON HTTPSHealthCheck where+ toJSON HTTPSHealthCheck'{..}+ = object+ (catMaybes+ [("healthyThreshold" .=) <$> _hhcHealthyThreshold,+ Just ("kind" .= _hhcKind),+ ("requestPath" .=) <$> _hhcRequestPath,+ ("selfLink" .=) <$> _hhcSelfLink,+ ("checkIntervalSec" .=) <$> _hhcCheckIntervalSec,+ ("name" .=) <$> _hhcName,+ ("creationTimestamp" .=) <$> _hhcCreationTimestamp,+ ("id" .=) <$> _hhcId, ("host" .=) <$> _hhcHost,+ ("timeoutSec" .=) <$> _hhcTimeoutSec,+ ("description" .=) <$> _hhcDescription,+ ("unhealthyThreshold" .=) <$> _hhcUnhealthyThreshold,+ ("port" .=) <$> _hhcPort])++-- | [Output Only] A map of scoped vpn tunnel lists.+--+-- /See:/ 'vpnTunnelAggregatedListItems' smart constructor.+newtype VPNTunnelAggregatedListItems = VPNTunnelAggregatedListItems'+ { _vtaliAddtional :: HashMap Text VPNTunnelsScopedList+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'VPNTunnelAggregatedListItems' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'vtaliAddtional'+vpnTunnelAggregatedListItems+ :: HashMap Text VPNTunnelsScopedList -- ^ 'vtaliAddtional'+ -> VPNTunnelAggregatedListItems+vpnTunnelAggregatedListItems pVtaliAddtional_ =+ VPNTunnelAggregatedListItems'+ { _vtaliAddtional = _Coerce # pVtaliAddtional_+ }++-- | Name of the scope containing this set of vpn tunnels.+vtaliAddtional :: Lens' VPNTunnelAggregatedListItems (HashMap Text VPNTunnelsScopedList)+vtaliAddtional+ = lens _vtaliAddtional+ (\ s a -> s{_vtaliAddtional = a})+ . _Coerce++instance FromJSON VPNTunnelAggregatedListItems where+ parseJSON+ = withObject "VPNTunnelAggregatedListItems"+ (\ o ->+ VPNTunnelAggregatedListItems' <$>+ (parseJSONObject o))++instance ToJSON VPNTunnelAggregatedListItems where+ toJSON = toJSON . _vtaliAddtional++-- | A set of instance tags.+--+-- /See:/ 'tags' smart constructor.+data Tags = Tags'+ { _tFingerprint :: !(Maybe Base64)+ , _tItems :: !(Maybe [Text])+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'Tags' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'tFingerprint'+--+-- * 'tItems'+tags+ :: Tags+tags =+ Tags'+ { _tFingerprint = Nothing+ , _tItems = Nothing+ }++-- | Specifies a fingerprint for this request, which is essentially a hash of+-- the metadata\'s contents and used for optimistic locking. The+-- fingerprint is initially generated by Compute Engine and changes after+-- every request to modify or update metadata. You must always provide an+-- up-to-date fingerprint hash in order to update or change metadata. To+-- see the latest fingerprint, make get() request to the instance.+tFingerprint :: Lens' Tags (Maybe ByteString)+tFingerprint+ = lens _tFingerprint (\ s a -> s{_tFingerprint = a})+ . mapping _Base64++-- | An array of tags. Each tag must be 1-63 characters long, and comply with+-- RFC1035.+tItems :: Lens' Tags [Text]+tItems+ = lens _tItems (\ s a -> s{_tItems = a}) . _Default .+ _Coerce++instance FromJSON Tags where+ parseJSON+ = withObject "Tags"+ (\ o ->+ Tags' <$>+ (o .:? "fingerprint") <*> (o .:? "items" .!= mempty))++instance ToJSON Tags where+ toJSON Tags'{..}+ = object+ (catMaybes+ [("fingerprint" .=) <$> _tFingerprint,+ ("items" .=) <$> _tItems])++--+-- /See:/ 'addressAggregatedList' smart constructor.+data AddressAggregatedList = AddressAggregatedList'+ { _addNextPageToken :: !(Maybe Text)+ , _addKind :: !Text+ , _addItems :: !(Maybe AddressAggregatedListItems)+ , _addSelfLink :: !(Maybe Text)+ , _addId :: !(Maybe Text)+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'AddressAggregatedList' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'addNextPageToken'+--+-- * 'addKind'+--+-- * 'addItems'+--+-- * 'addSelfLink'+--+-- * 'addId'+addressAggregatedList+ :: AddressAggregatedList+addressAggregatedList =+ AddressAggregatedList'+ { _addNextPageToken = Nothing+ , _addKind = "compute#addressAggregatedList"+ , _addItems = Nothing+ , _addSelfLink = Nothing+ , _addId = Nothing+ }++-- | [Output Only] This token allows you to get the next page of results for+-- list requests. If the number of results is larger than maxResults, use+-- the nextPageToken as a value for the query parameter pageToken in the+-- next list request. Subsequent list requests will have their own+-- nextPageToken to continue paging through the results.+addNextPageToken :: Lens' AddressAggregatedList (Maybe Text)+addNextPageToken+ = lens _addNextPageToken+ (\ s a -> s{_addNextPageToken = a})++-- | [Output Only] Type of resource. Always compute#addressAggregatedList for+-- aggregated lists of addresses.+addKind :: Lens' AddressAggregatedList Text+addKind = lens _addKind (\ s a -> s{_addKind = a})++-- | [Output Only] A map of scoped address lists.+addItems :: Lens' AddressAggregatedList (Maybe AddressAggregatedListItems)+addItems = lens _addItems (\ s a -> s{_addItems = a})++-- | [Output Only] Server-defined URL for this resource.+addSelfLink :: Lens' AddressAggregatedList (Maybe Text)+addSelfLink+ = lens _addSelfLink (\ s a -> s{_addSelfLink = a})++-- | [Output Only] Unique identifier for the resource; defined by the server.+addId :: Lens' AddressAggregatedList (Maybe Text)+addId = lens _addId (\ s a -> s{_addId = a})++instance FromJSON AddressAggregatedList where+ parseJSON+ = withObject "AddressAggregatedList"+ (\ o ->+ AddressAggregatedList' <$>+ (o .:? "nextPageToken") <*>+ (o .:? "kind" .!= "compute#addressAggregatedList")+ <*> (o .:? "items")+ <*> (o .:? "selfLink")+ <*> (o .:? "id"))++instance ToJSON AddressAggregatedList where+ toJSON AddressAggregatedList'{..}+ = object+ (catMaybes+ [("nextPageToken" .=) <$> _addNextPageToken,+ Just ("kind" .= _addKind),+ ("items" .=) <$> _addItems,+ ("selfLink" .=) <$> _addSelfLink,+ ("id" .=) <$> _addId])++--+-- /See:/ 'operationWarningsItem' smart constructor.+data OperationWarningsItem = OperationWarningsItem'+ { _owiData :: !(Maybe [OperationWarningsItemDataItem])+ , _owiCode :: !(Maybe OperationWarningsItemCode)+ , _owiMessage :: !(Maybe Text)+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'OperationWarningsItem' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'owiData'+--+-- * 'owiCode'+--+-- * 'owiMessage'+operationWarningsItem+ :: OperationWarningsItem+operationWarningsItem =+ OperationWarningsItem'+ { _owiData = Nothing+ , _owiCode = Nothing+ , _owiMessage = Nothing+ }++-- | [Output Only] Metadata about this warning in key: value format. For+-- example: \"data\": [ { \"key\": \"scope\", \"value\":+-- \"zones\/us-east1-d\" }+owiData :: Lens' OperationWarningsItem [OperationWarningsItemDataItem]+owiData+ = lens _owiData (\ s a -> s{_owiData = a}) . _Default+ . _Coerce++-- | [Output Only] A warning code, if applicable. For example, Compute Engine+-- returns NO_RESULTS_ON_PAGE if there are no results in the response.+owiCode :: Lens' OperationWarningsItem (Maybe OperationWarningsItemCode)+owiCode = lens _owiCode (\ s a -> s{_owiCode = a})++-- | [Output Only] A human-readable description of the warning code.+owiMessage :: Lens' OperationWarningsItem (Maybe Text)+owiMessage+ = lens _owiMessage (\ s a -> s{_owiMessage = a})++instance FromJSON OperationWarningsItem where+ parseJSON+ = withObject "OperationWarningsItem"+ (\ o ->+ OperationWarningsItem' <$>+ (o .:? "data" .!= mempty) <*> (o .:? "code") <*>+ (o .:? "message"))++instance ToJSON OperationWarningsItem where+ toJSON OperationWarningsItem'{..}+ = object+ (catMaybes+ [("data" .=) <$> _owiData, ("code" .=) <$> _owiCode,+ ("message" .=) <$> _owiMessage])++-- | Message for the expected URL mappings.+--+-- /See:/ 'urlMapTest' smart constructor.+data URLMapTest = URLMapTest'+ { _umtPath :: !(Maybe Text)+ , _umtService :: !(Maybe Text)+ , _umtHost :: !(Maybe Text)+ , _umtDescription :: !(Maybe Text)+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'URLMapTest' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'umtPath'+--+-- * 'umtService'+--+-- * 'umtHost'+--+-- * 'umtDescription'+urlMapTest+ :: URLMapTest+urlMapTest =+ URLMapTest'+ { _umtPath = Nothing+ , _umtService = Nothing+ , _umtHost = Nothing+ , _umtDescription = Nothing+ }++-- | Path portion of the URL.+umtPath :: Lens' URLMapTest (Maybe Text)+umtPath = lens _umtPath (\ s a -> s{_umtPath = a})++-- | Expected BackendService resource the given URL should be mapped to.+umtService :: Lens' URLMapTest (Maybe Text)+umtService+ = lens _umtService (\ s a -> s{_umtService = a})++-- | Host portion of the URL.+umtHost :: Lens' URLMapTest (Maybe Text)+umtHost = lens _umtHost (\ s a -> s{_umtHost = a})++-- | Description of this test case.+umtDescription :: Lens' URLMapTest (Maybe Text)+umtDescription+ = lens _umtDescription+ (\ s a -> s{_umtDescription = a})++instance FromJSON URLMapTest where+ parseJSON+ = withObject "URLMapTest"+ (\ o ->+ URLMapTest' <$>+ (o .:? "path") <*> (o .:? "service") <*>+ (o .:? "host")+ <*> (o .:? "description"))++instance ToJSON URLMapTest where+ toJSON URLMapTest'{..}+ = object+ (catMaybes+ [("path" .=) <$> _umtPath,+ ("service" .=) <$> _umtService,+ ("host" .=) <$> _umtHost,+ ("description" .=) <$> _umtDescription])++--+-- /See:/ 'routersPreviewResponse' smart constructor.+newtype RoutersPreviewResponse = RoutersPreviewResponse'+ { _rprResource :: Maybe Router+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'RoutersPreviewResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'rprResource'+routersPreviewResponse+ :: RoutersPreviewResponse+routersPreviewResponse =+ RoutersPreviewResponse'+ { _rprResource = Nothing+ }++-- | Preview of given router.+rprResource :: Lens' RoutersPreviewResponse (Maybe Router)+rprResource+ = lens _rprResource (\ s a -> s{_rprResource = a})++instance FromJSON RoutersPreviewResponse where+ parseJSON+ = withObject "RoutersPreviewResponse"+ (\ o ->+ RoutersPreviewResponse' <$> (o .:? "resource"))++instance ToJSON RoutersPreviewResponse where+ toJSON RoutersPreviewResponse'{..}+ = object+ (catMaybes [("resource" .=) <$> _rprResource])++-- | An Instance resource.+--+-- /See:/ 'instance'' smart constructor.+data Instance = Instance'+ { _insnStatus :: !(Maybe InstanceStatus)+ , _insnServiceAccounts :: !(Maybe [ServiceAccount])+ , _insnNetworkInterfaces :: !(Maybe [NetworkInterface])+ , _insnKind :: !Text+ , _insnZone :: !(Maybe Text)+ , _insnCPUPlatform :: !(Maybe Text)+ , _insnSelfLink :: !(Maybe Text)+ , _insnName :: !(Maybe Text)+ , _insnStatusMessage :: !(Maybe Text)+ , _insnCreationTimestamp :: !(Maybe Text)+ , _insnMachineType :: !(Maybe Text)+ , _insnMetadata :: !(Maybe Metadata)+ , _insnId :: !(Maybe (Textual Word64))+ , _insnScheduling :: !(Maybe Scheduling)+ , _insnDisks :: !(Maybe [AttachedDisk])+ , _insnCanIPForward :: !(Maybe Bool)+ , _insnDescription :: !(Maybe Text)+ , _insnTags :: !(Maybe Tags)+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'Instance' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'insnStatus'+--+-- * 'insnServiceAccounts'+--+-- * 'insnNetworkInterfaces'+--+-- * 'insnKind'+--+-- * 'insnZone'+--+-- * 'insnCPUPlatform'+--+-- * 'insnSelfLink'+--+-- * 'insnName'+--+-- * 'insnStatusMessage'+--+-- * 'insnCreationTimestamp'+--+-- * 'insnMachineType'+--+-- * 'insnMetadata'+--+-- * 'insnId'+--+-- * 'insnScheduling'+--+-- * 'insnDisks'+--+-- * 'insnCanIPForward'+--+-- * 'insnDescription'+--+-- * 'insnTags'+instance'+ :: Instance+instance' =+ Instance'+ { _insnStatus = Nothing+ , _insnServiceAccounts = Nothing+ , _insnNetworkInterfaces = Nothing+ , _insnKind = "compute#instance"+ , _insnZone = Nothing+ , _insnCPUPlatform = Nothing+ , _insnSelfLink = Nothing+ , _insnName = Nothing+ , _insnStatusMessage = Nothing+ , _insnCreationTimestamp = Nothing+ , _insnMachineType = Nothing+ , _insnMetadata = Nothing+ , _insnId = Nothing+ , _insnScheduling = Nothing+ , _insnDisks = Nothing+ , _insnCanIPForward = Nothing+ , _insnDescription = Nothing+ , _insnTags = Nothing+ }++-- | [Output Only] The status of the instance. One of the following values:+-- PROVISIONING, STAGING, RUNNING, STOPPING, SUSPENDING, SUSPENDED, and+-- TERMINATED.+insnStatus :: Lens' Instance (Maybe InstanceStatus)+insnStatus+ = lens _insnStatus (\ s a -> s{_insnStatus = a})++-- | A list of service accounts, with their specified scopes, authorized for+-- this instance. Service accounts generate access tokens that can be+-- accessed through the metadata server and used to authenticate+-- applications on the instance. See Service Accounts for more information.+insnServiceAccounts :: Lens' Instance [ServiceAccount]+insnServiceAccounts+ = lens _insnServiceAccounts+ (\ s a -> s{_insnServiceAccounts = a})+ . _Default+ . _Coerce++-- | An array of configurations for this interface. This specifies how this+-- interface is configured to interact with other network services, such as+-- connecting to the internet. Only one interface is supported per+-- instance. insnNetworkInterfaces :: Lens' Instance [NetworkInterface] insnNetworkInterfaces = lens _insnNetworkInterfaces
gen/Network/Google/Compute/Types/Sum.hs view
@@ -48,9 +48,9 @@ instance ToJSON SchedulingOnHostMaintenance where toJSON = toJSONText --- | Defines how target utilization value is expressed for a Cloud Monitoring--- metric. Either GAUGE, DELTA_PER_SECOND, or DELTA_PER_MINUTE. If not--- specified, the default is GAUGE.+-- | Defines how target utilization value is expressed for a Stackdriver+-- Monitoring metric. Either GAUGE, DELTA_PER_SECOND, or DELTA_PER_MINUTE.+-- If not specified, the default is GAUGE. data AutoscalingPolicyCustomMetricUtilizationUtilizationTargetType = DeltaPerMinute -- ^ @DELTA_PER_MINUTE@@@ -90,6 +90,8 @@ -- ^ @DEPRECATED_RESOURCE_USED@ | DiskSizeLargerThanImageSize -- ^ @DISK_SIZE_LARGER_THAN_IMAGE_SIZE@+ | FieldValueOverriden+ -- ^ @FIELD_VALUE_OVERRIDEN@ | InjectedKernelsDeprecated -- ^ @INJECTED_KERNELS_DEPRECATED@ | NextHopAddressNotAssigned@@ -123,6 +125,7 @@ "CLEANUP_FAILED" -> Right CleanupFailed "DEPRECATED_RESOURCE_USED" -> Right DeprecatedResourceUsed "DISK_SIZE_LARGER_THAN_IMAGE_SIZE" -> Right DiskSizeLargerThanImageSize+ "FIELD_VALUE_OVERRIDEN" -> Right FieldValueOverriden "INJECTED_KERNELS_DEPRECATED" -> Right InjectedKernelsDeprecated "NEXT_HOP_ADDRESS_NOT_ASSIGNED" -> Right NextHopAddressNotAssigned "NEXT_HOP_CANNOT_IP_FORWARD" -> Right NextHopCannotIPForward@@ -142,6 +145,7 @@ CleanupFailed -> "CLEANUP_FAILED" DeprecatedResourceUsed -> "DEPRECATED_RESOURCE_USED" DiskSizeLargerThanImageSize -> "DISK_SIZE_LARGER_THAN_IMAGE_SIZE"+ FieldValueOverriden -> "FIELD_VALUE_OVERRIDEN" InjectedKernelsDeprecated -> "INJECTED_KERNELS_DEPRECATED" NextHopAddressNotAssigned -> "NEXT_HOP_ADDRESS_NOT_ASSIGNED" NextHopCannotIPForward -> "NEXT_HOP_CANNOT_IP_FORWARD"@@ -162,12 +166,18 @@ toJSON = toJSONText -- | The protocol this BackendService uses to communicate with backends.--- Possible values are HTTP, HTTPS, HTTP2, TCP and SSL.+-- Possible values are HTTP, HTTPS, HTTP2, TCP and SSL. The default is+-- HTTP. For internal load balancing, the possible values are TCP and UDP,+-- and the default is TCP. data BackendServiceProtocol = HTTP -- ^ @HTTP@ | HTTPS -- ^ @HTTPS@+ | SSL+ -- ^ @SSL@+ | TCP+ -- ^ @TCP@ deriving (Eq, Ord, Enum, Read, Show, Data, Typeable, Generic) instance Hashable BackendServiceProtocol@@ -176,12 +186,16 @@ parseQueryParam = \case "HTTP" -> Right HTTP "HTTPS" -> Right HTTPS+ "SSL" -> Right SSL+ "TCP" -> Right TCP x -> Left ("Unable to parse BackendServiceProtocol from: " <> x) instance ToHttpApiData BackendServiceProtocol where toQueryParam = \case HTTP -> "HTTP" HTTPS -> "HTTPS"+ SSL -> "SSL"+ TCP -> "TCP" instance FromJSON BackendServiceProtocol where parseJSON = parseJSONText "BackendServiceProtocol"@@ -217,6 +231,34 @@ instance ToJSON AttachedDiskType where toJSON = toJSONText +-- | Specifies the type of proxy header to append before sending data to the+-- backend, either NONE or PROXY_V1. The default is NONE.+data TargetSSLProxyProxyHeader+ = None+ -- ^ @NONE@+ | ProxyV1+ -- ^ @PROXY_V1@+ deriving (Eq, Ord, Enum, Read, Show, Data, Typeable, Generic)++instance Hashable TargetSSLProxyProxyHeader++instance FromHttpApiData TargetSSLProxyProxyHeader where+ parseQueryParam = \case+ "NONE" -> Right None+ "PROXY_V1" -> Right ProxyV1+ x -> Left ("Unable to parse TargetSSLProxyProxyHeader from: " <> x)++instance ToHttpApiData TargetSSLProxyProxyHeader where+ toQueryParam = \case+ None -> "NONE"+ ProxyV1 -> "PROXY_V1"++instance FromJSON TargetSSLProxyProxyHeader where+ parseJSON = parseJSONText "TargetSSLProxyProxyHeader"++instance ToJSON TargetSSLProxyProxyHeader where+ toJSON = toJSONText+ -- | The type of the image used to create this disk. The default and only -- value is RAW data ImageSourceType@@ -241,6 +283,45 @@ instance ToJSON ImageSourceType where toJSON = toJSONText +-- | Type of session affinity to use. The default is NONE. When the load+-- balancing scheme is EXTERNAL, can be NONE, CLIENT_IP, or+-- GENERATED_COOKIE. When the load balancing scheme is INTERNAL, can be+-- NONE, CLIENT_IP, CLIENT_IP_PROTO, or CLIENT_IP_PORT_PROTO. When the+-- protocol is UDP, this field is not used.+data BackendServiceSessionAffinity+ = BSSAClientIP+ -- ^ @CLIENT_IP@+ | BSSAClientIPProto+ -- ^ @CLIENT_IP_PROTO@+ | BSSAGeneratedCookie+ -- ^ @GENERATED_COOKIE@+ | BSSANone+ -- ^ @NONE@+ deriving (Eq, Ord, Enum, Read, Show, Data, Typeable, Generic)++instance Hashable BackendServiceSessionAffinity++instance FromHttpApiData BackendServiceSessionAffinity where+ parseQueryParam = \case+ "CLIENT_IP" -> Right BSSAClientIP+ "CLIENT_IP_PROTO" -> Right BSSAClientIPProto+ "GENERATED_COOKIE" -> Right BSSAGeneratedCookie+ "NONE" -> Right BSSANone+ x -> Left ("Unable to parse BackendServiceSessionAffinity from: " <> x)++instance ToHttpApiData BackendServiceSessionAffinity where+ toQueryParam = \case+ BSSAClientIP -> "CLIENT_IP"+ BSSAClientIPProto -> "CLIENT_IP_PROTO"+ BSSAGeneratedCookie -> "GENERATED_COOKIE"+ BSSANone -> "NONE"++instance FromJSON BackendServiceSessionAffinity where+ parseJSON = parseJSONText "BackendServiceSessionAffinity"++instance ToJSON BackendServiceSessionAffinity where+ toJSON = toJSONText+ -- | [Output Only] A warning code, if applicable. For example, Compute Engine -- returns NO_RESULTS_ON_PAGE if there are no results in the response. data ForwardingRulesScopedListWarningCode@@ -250,6 +331,8 @@ -- ^ @DEPRECATED_RESOURCE_USED@ | FRSLWCDiskSizeLargerThanImageSize -- ^ @DISK_SIZE_LARGER_THAN_IMAGE_SIZE@+ | FRSLWCFieldValueOverriden+ -- ^ @FIELD_VALUE_OVERRIDEN@ | FRSLWCInjectedKernelsDeprecated -- ^ @INJECTED_KERNELS_DEPRECATED@ | FRSLWCNextHopAddressNotAssigned@@ -283,6 +366,7 @@ "CLEANUP_FAILED" -> Right FRSLWCCleanupFailed "DEPRECATED_RESOURCE_USED" -> Right FRSLWCDeprecatedResourceUsed "DISK_SIZE_LARGER_THAN_IMAGE_SIZE" -> Right FRSLWCDiskSizeLargerThanImageSize+ "FIELD_VALUE_OVERRIDEN" -> Right FRSLWCFieldValueOverriden "INJECTED_KERNELS_DEPRECATED" -> Right FRSLWCInjectedKernelsDeprecated "NEXT_HOP_ADDRESS_NOT_ASSIGNED" -> Right FRSLWCNextHopAddressNotAssigned "NEXT_HOP_CANNOT_IP_FORWARD" -> Right FRSLWCNextHopCannotIPForward@@ -302,6 +386,7 @@ FRSLWCCleanupFailed -> "CLEANUP_FAILED" FRSLWCDeprecatedResourceUsed -> "DEPRECATED_RESOURCE_USED" FRSLWCDiskSizeLargerThanImageSize -> "DISK_SIZE_LARGER_THAN_IMAGE_SIZE"+ FRSLWCFieldValueOverriden -> "FIELD_VALUE_OVERRIDEN" FRSLWCInjectedKernelsDeprecated -> "INJECTED_KERNELS_DEPRECATED" FRSLWCNextHopAddressNotAssigned -> "NEXT_HOP_ADDRESS_NOT_ASSIGNED" FRSLWCNextHopCannotIPForward -> "NEXT_HOP_CANNOT_IP_FORWARD"@@ -330,6 +415,8 @@ -- ^ @DEPRECATED_RESOURCE_USED@ | OSLWCDiskSizeLargerThanImageSize -- ^ @DISK_SIZE_LARGER_THAN_IMAGE_SIZE@+ | OSLWCFieldValueOverriden+ -- ^ @FIELD_VALUE_OVERRIDEN@ | OSLWCInjectedKernelsDeprecated -- ^ @INJECTED_KERNELS_DEPRECATED@ | OSLWCNextHopAddressNotAssigned@@ -363,6 +450,7 @@ "CLEANUP_FAILED" -> Right OSLWCCleanupFailed "DEPRECATED_RESOURCE_USED" -> Right OSLWCDeprecatedResourceUsed "DISK_SIZE_LARGER_THAN_IMAGE_SIZE" -> Right OSLWCDiskSizeLargerThanImageSize+ "FIELD_VALUE_OVERRIDEN" -> Right OSLWCFieldValueOverriden "INJECTED_KERNELS_DEPRECATED" -> Right OSLWCInjectedKernelsDeprecated "NEXT_HOP_ADDRESS_NOT_ASSIGNED" -> Right OSLWCNextHopAddressNotAssigned "NEXT_HOP_CANNOT_IP_FORWARD" -> Right OSLWCNextHopCannotIPForward@@ -382,6 +470,7 @@ OSLWCCleanupFailed -> "CLEANUP_FAILED" OSLWCDeprecatedResourceUsed -> "DEPRECATED_RESOURCE_USED" OSLWCDiskSizeLargerThanImageSize -> "DISK_SIZE_LARGER_THAN_IMAGE_SIZE"+ OSLWCFieldValueOverriden -> "FIELD_VALUE_OVERRIDEN" OSLWCInjectedKernelsDeprecated -> "INJECTED_KERNELS_DEPRECATED" OSLWCNextHopAddressNotAssigned -> "NEXT_HOP_ADDRESS_NOT_ASSIGNED" OSLWCNextHopCannotIPForward -> "NEXT_HOP_CANNOT_IP_FORWARD"@@ -410,6 +499,8 @@ -- ^ @DEPRECATED_RESOURCE_USED@ | DSLWCDiskSizeLargerThanImageSize -- ^ @DISK_SIZE_LARGER_THAN_IMAGE_SIZE@+ | DSLWCFieldValueOverriden+ -- ^ @FIELD_VALUE_OVERRIDEN@ | DSLWCInjectedKernelsDeprecated -- ^ @INJECTED_KERNELS_DEPRECATED@ | DSLWCNextHopAddressNotAssigned@@ -443,6 +534,7 @@ "CLEANUP_FAILED" -> Right DSLWCCleanupFailed "DEPRECATED_RESOURCE_USED" -> Right DSLWCDeprecatedResourceUsed "DISK_SIZE_LARGER_THAN_IMAGE_SIZE" -> Right DSLWCDiskSizeLargerThanImageSize+ "FIELD_VALUE_OVERRIDEN" -> Right DSLWCFieldValueOverriden "INJECTED_KERNELS_DEPRECATED" -> Right DSLWCInjectedKernelsDeprecated "NEXT_HOP_ADDRESS_NOT_ASSIGNED" -> Right DSLWCNextHopAddressNotAssigned "NEXT_HOP_CANNOT_IP_FORWARD" -> Right DSLWCNextHopCannotIPForward@@ -462,6 +554,7 @@ DSLWCCleanupFailed -> "CLEANUP_FAILED" DSLWCDeprecatedResourceUsed -> "DEPRECATED_RESOURCE_USED" DSLWCDiskSizeLargerThanImageSize -> "DISK_SIZE_LARGER_THAN_IMAGE_SIZE"+ DSLWCFieldValueOverriden -> "FIELD_VALUE_OVERRIDEN" DSLWCInjectedKernelsDeprecated -> "INJECTED_KERNELS_DEPRECATED" DSLWCNextHopAddressNotAssigned -> "NEXT_HOP_ADDRESS_NOT_ASSIGNED" DSLWCNextHopCannotIPForward -> "NEXT_HOP_CANNOT_IP_FORWARD"@@ -490,6 +583,8 @@ -- ^ @DEPRECATED_RESOURCE_USED@ | IGMSLWCDiskSizeLargerThanImageSize -- ^ @DISK_SIZE_LARGER_THAN_IMAGE_SIZE@+ | IGMSLWCFieldValueOverriden+ -- ^ @FIELD_VALUE_OVERRIDEN@ | IGMSLWCInjectedKernelsDeprecated -- ^ @INJECTED_KERNELS_DEPRECATED@ | IGMSLWCNextHopAddressNotAssigned@@ -523,6 +618,7 @@ "CLEANUP_FAILED" -> Right IGMSLWCCleanupFailed "DEPRECATED_RESOURCE_USED" -> Right IGMSLWCDeprecatedResourceUsed "DISK_SIZE_LARGER_THAN_IMAGE_SIZE" -> Right IGMSLWCDiskSizeLargerThanImageSize+ "FIELD_VALUE_OVERRIDEN" -> Right IGMSLWCFieldValueOverriden "INJECTED_KERNELS_DEPRECATED" -> Right IGMSLWCInjectedKernelsDeprecated "NEXT_HOP_ADDRESS_NOT_ASSIGNED" -> Right IGMSLWCNextHopAddressNotAssigned "NEXT_HOP_CANNOT_IP_FORWARD" -> Right IGMSLWCNextHopCannotIPForward@@ -542,6 +638,7 @@ IGMSLWCCleanupFailed -> "CLEANUP_FAILED" IGMSLWCDeprecatedResourceUsed -> "DEPRECATED_RESOURCE_USED" IGMSLWCDiskSizeLargerThanImageSize -> "DISK_SIZE_LARGER_THAN_IMAGE_SIZE"+ IGMSLWCFieldValueOverriden -> "FIELD_VALUE_OVERRIDEN" IGMSLWCInjectedKernelsDeprecated -> "INJECTED_KERNELS_DEPRECATED" IGMSLWCNextHopAddressNotAssigned -> "NEXT_HOP_ADDRESS_NOT_ASSIGNED" IGMSLWCNextHopCannotIPForward -> "NEXT_HOP_CANNOT_IP_FORWARD"@@ -570,6 +667,8 @@ -- ^ @DEPRECATED_RESOURCE_USED@ | TPSLWCDiskSizeLargerThanImageSize -- ^ @DISK_SIZE_LARGER_THAN_IMAGE_SIZE@+ | TPSLWCFieldValueOverriden+ -- ^ @FIELD_VALUE_OVERRIDEN@ | TPSLWCInjectedKernelsDeprecated -- ^ @INJECTED_KERNELS_DEPRECATED@ | TPSLWCNextHopAddressNotAssigned@@ -603,6 +702,7 @@ "CLEANUP_FAILED" -> Right TPSLWCCleanupFailed "DEPRECATED_RESOURCE_USED" -> Right TPSLWCDeprecatedResourceUsed "DISK_SIZE_LARGER_THAN_IMAGE_SIZE" -> Right TPSLWCDiskSizeLargerThanImageSize+ "FIELD_VALUE_OVERRIDEN" -> Right TPSLWCFieldValueOverriden "INJECTED_KERNELS_DEPRECATED" -> Right TPSLWCInjectedKernelsDeprecated "NEXT_HOP_ADDRESS_NOT_ASSIGNED" -> Right TPSLWCNextHopAddressNotAssigned "NEXT_HOP_CANNOT_IP_FORWARD" -> Right TPSLWCNextHopCannotIPForward@@ -622,6 +722,7 @@ TPSLWCCleanupFailed -> "CLEANUP_FAILED" TPSLWCDeprecatedResourceUsed -> "DEPRECATED_RESOURCE_USED" TPSLWCDiskSizeLargerThanImageSize -> "DISK_SIZE_LARGER_THAN_IMAGE_SIZE"+ TPSLWCFieldValueOverriden -> "FIELD_VALUE_OVERRIDEN" TPSLWCInjectedKernelsDeprecated -> "INJECTED_KERNELS_DEPRECATED" TPSLWCNextHopAddressNotAssigned -> "NEXT_HOP_ADDRESS_NOT_ASSIGNED" TPSLWCNextHopCannotIPForward -> "NEXT_HOP_CANNOT_IP_FORWARD"@@ -641,6 +742,34 @@ instance ToJSON TargetPoolsScopedListWarningCode where toJSON = toJSONText +-- | Specifies the type of proxy header to append before sending data to the+-- backend, either NONE or PROXY_V1. The default is NONE.+data SSLHealthCheckProxyHeader+ = SHCPHNone+ -- ^ @NONE@+ | SHCPHProxyV1+ -- ^ @PROXY_V1@+ deriving (Eq, Ord, Enum, Read, Show, Data, Typeable, Generic)++instance Hashable SSLHealthCheckProxyHeader++instance FromHttpApiData SSLHealthCheckProxyHeader where+ parseQueryParam = \case+ "NONE" -> Right SHCPHNone+ "PROXY_V1" -> Right SHCPHProxyV1+ x -> Left ("Unable to parse SSLHealthCheckProxyHeader from: " <> x)++instance ToHttpApiData SSLHealthCheckProxyHeader where+ toQueryParam = \case+ SHCPHNone -> "NONE"+ SHCPHProxyV1 -> "PROXY_V1"++instance FromJSON SSLHealthCheckProxyHeader where+ parseJSON = parseJSONText "SSLHealthCheckProxyHeader"++instance ToJSON SSLHealthCheckProxyHeader where+ toJSON = toJSONText+ -- | [Output Only] The status of the VPN gateway. data TargetVPNGatewayStatus = Creating@@ -725,6 +854,8 @@ -- ^ @DEPRECATED_RESOURCE_USED@ | TISLWCDiskSizeLargerThanImageSize -- ^ @DISK_SIZE_LARGER_THAN_IMAGE_SIZE@+ | TISLWCFieldValueOverriden+ -- ^ @FIELD_VALUE_OVERRIDEN@ | TISLWCInjectedKernelsDeprecated -- ^ @INJECTED_KERNELS_DEPRECATED@ | TISLWCNextHopAddressNotAssigned@@ -758,6 +889,7 @@ "CLEANUP_FAILED" -> Right TISLWCCleanupFailed "DEPRECATED_RESOURCE_USED" -> Right TISLWCDeprecatedResourceUsed "DISK_SIZE_LARGER_THAN_IMAGE_SIZE" -> Right TISLWCDiskSizeLargerThanImageSize+ "FIELD_VALUE_OVERRIDEN" -> Right TISLWCFieldValueOverriden "INJECTED_KERNELS_DEPRECATED" -> Right TISLWCInjectedKernelsDeprecated "NEXT_HOP_ADDRESS_NOT_ASSIGNED" -> Right TISLWCNextHopAddressNotAssigned "NEXT_HOP_CANNOT_IP_FORWARD" -> Right TISLWCNextHopCannotIPForward@@ -777,6 +909,7 @@ TISLWCCleanupFailed -> "CLEANUP_FAILED" TISLWCDeprecatedResourceUsed -> "DEPRECATED_RESOURCE_USED" TISLWCDiskSizeLargerThanImageSize -> "DISK_SIZE_LARGER_THAN_IMAGE_SIZE"+ TISLWCFieldValueOverriden -> "FIELD_VALUE_OVERRIDEN" TISLWCInjectedKernelsDeprecated -> "INJECTED_KERNELS_DEPRECATED" TISLWCNextHopAddressNotAssigned -> "NEXT_HOP_ADDRESS_NOT_ASSIGNED" TISLWCNextHopCannotIPForward -> "NEXT_HOP_CANNOT_IP_FORWARD"@@ -805,6 +938,8 @@ -- ^ @DEPRECATED_RESOURCE_USED@ | RWICDiskSizeLargerThanImageSize -- ^ @DISK_SIZE_LARGER_THAN_IMAGE_SIZE@+ | RWICFieldValueOverriden+ -- ^ @FIELD_VALUE_OVERRIDEN@ | RWICInjectedKernelsDeprecated -- ^ @INJECTED_KERNELS_DEPRECATED@ | RWICNextHopAddressNotAssigned@@ -838,6 +973,7 @@ "CLEANUP_FAILED" -> Right RWICCleanupFailed "DEPRECATED_RESOURCE_USED" -> Right RWICDeprecatedResourceUsed "DISK_SIZE_LARGER_THAN_IMAGE_SIZE" -> Right RWICDiskSizeLargerThanImageSize+ "FIELD_VALUE_OVERRIDEN" -> Right RWICFieldValueOverriden "INJECTED_KERNELS_DEPRECATED" -> Right RWICInjectedKernelsDeprecated "NEXT_HOP_ADDRESS_NOT_ASSIGNED" -> Right RWICNextHopAddressNotAssigned "NEXT_HOP_CANNOT_IP_FORWARD" -> Right RWICNextHopCannotIPForward@@ -857,6 +993,7 @@ RWICCleanupFailed -> "CLEANUP_FAILED" RWICDeprecatedResourceUsed -> "DEPRECATED_RESOURCE_USED" RWICDiskSizeLargerThanImageSize -> "DISK_SIZE_LARGER_THAN_IMAGE_SIZE"+ RWICFieldValueOverriden -> "FIELD_VALUE_OVERRIDEN" RWICInjectedKernelsDeprecated -> "INJECTED_KERNELS_DEPRECATED" RWICNextHopAddressNotAssigned -> "NEXT_HOP_ADDRESS_NOT_ASSIGNED" RWICNextHopCannotIPForward -> "NEXT_HOP_CANNOT_IP_FORWARD"@@ -915,6 +1052,8 @@ -- ^ @DEPRECATED_RESOURCE_USED@ | ASLWCDiskSizeLargerThanImageSize -- ^ @DISK_SIZE_LARGER_THAN_IMAGE_SIZE@+ | ASLWCFieldValueOverriden+ -- ^ @FIELD_VALUE_OVERRIDEN@ | ASLWCInjectedKernelsDeprecated -- ^ @INJECTED_KERNELS_DEPRECATED@ | ASLWCNextHopAddressNotAssigned@@ -948,6 +1087,7 @@ "CLEANUP_FAILED" -> Right ASLWCCleanupFailed "DEPRECATED_RESOURCE_USED" -> Right ASLWCDeprecatedResourceUsed "DISK_SIZE_LARGER_THAN_IMAGE_SIZE" -> Right ASLWCDiskSizeLargerThanImageSize+ "FIELD_VALUE_OVERRIDEN" -> Right ASLWCFieldValueOverriden "INJECTED_KERNELS_DEPRECATED" -> Right ASLWCInjectedKernelsDeprecated "NEXT_HOP_ADDRESS_NOT_ASSIGNED" -> Right ASLWCNextHopAddressNotAssigned "NEXT_HOP_CANNOT_IP_FORWARD" -> Right ASLWCNextHopCannotIPForward@@ -967,6 +1107,7 @@ ASLWCCleanupFailed -> "CLEANUP_FAILED" ASLWCDeprecatedResourceUsed -> "DEPRECATED_RESOURCE_USED" ASLWCDiskSizeLargerThanImageSize -> "DISK_SIZE_LARGER_THAN_IMAGE_SIZE"+ ASLWCFieldValueOverriden -> "FIELD_VALUE_OVERRIDEN" ASLWCInjectedKernelsDeprecated -> "INJECTED_KERNELS_DEPRECATED" ASLWCNextHopAddressNotAssigned -> "NEXT_HOP_ADDRESS_NOT_ASSIGNED" ASLWCNextHopCannotIPForward -> "NEXT_HOP_CANNOT_IP_FORWARD"@@ -1083,6 +1224,90 @@ instance ToJSON DeprecationStatusState where toJSON = toJSONText +-- | [Output Only] A warning code, if applicable. For example, Compute Engine+-- returns NO_RESULTS_ON_PAGE if there are no results in the response.+data RoutersScopedListWarningCode+ = RSLWCCleanupFailed+ -- ^ @CLEANUP_FAILED@+ | RSLWCDeprecatedResourceUsed+ -- ^ @DEPRECATED_RESOURCE_USED@+ | RSLWCDiskSizeLargerThanImageSize+ -- ^ @DISK_SIZE_LARGER_THAN_IMAGE_SIZE@+ | RSLWCFieldValueOverriden+ -- ^ @FIELD_VALUE_OVERRIDEN@+ | RSLWCInjectedKernelsDeprecated+ -- ^ @INJECTED_KERNELS_DEPRECATED@+ | RSLWCNextHopAddressNotAssigned+ -- ^ @NEXT_HOP_ADDRESS_NOT_ASSIGNED@+ | RSLWCNextHopCannotIPForward+ -- ^ @NEXT_HOP_CANNOT_IP_FORWARD@+ | RSLWCNextHopInstanceNotFound+ -- ^ @NEXT_HOP_INSTANCE_NOT_FOUND@+ | RSLWCNextHopInstanceNotOnNetwork+ -- ^ @NEXT_HOP_INSTANCE_NOT_ON_NETWORK@+ | RSLWCNextHopNotRunning+ -- ^ @NEXT_HOP_NOT_RUNNING@+ | RSLWCNotCriticalError+ -- ^ @NOT_CRITICAL_ERROR@+ | RSLWCNoResultsOnPage+ -- ^ @NO_RESULTS_ON_PAGE@+ | RSLWCRequiredTosAgreement+ -- ^ @REQUIRED_TOS_AGREEMENT@+ | RSLWCResourceNotDeleted+ -- ^ @RESOURCE_NOT_DELETED@+ | RSLWCSingleInstancePropertyTemplate+ -- ^ @SINGLE_INSTANCE_PROPERTY_TEMPLATE@+ | RSLWCUnreachable+ -- ^ @UNREACHABLE@+ deriving (Eq, Ord, Enum, Read, Show, Data, Typeable, Generic)++instance Hashable RoutersScopedListWarningCode++instance FromHttpApiData RoutersScopedListWarningCode where+ parseQueryParam = \case+ "CLEANUP_FAILED" -> Right RSLWCCleanupFailed+ "DEPRECATED_RESOURCE_USED" -> Right RSLWCDeprecatedResourceUsed+ "DISK_SIZE_LARGER_THAN_IMAGE_SIZE" -> Right RSLWCDiskSizeLargerThanImageSize+ "FIELD_VALUE_OVERRIDEN" -> Right RSLWCFieldValueOverriden+ "INJECTED_KERNELS_DEPRECATED" -> Right RSLWCInjectedKernelsDeprecated+ "NEXT_HOP_ADDRESS_NOT_ASSIGNED" -> Right RSLWCNextHopAddressNotAssigned+ "NEXT_HOP_CANNOT_IP_FORWARD" -> Right RSLWCNextHopCannotIPForward+ "NEXT_HOP_INSTANCE_NOT_FOUND" -> Right RSLWCNextHopInstanceNotFound+ "NEXT_HOP_INSTANCE_NOT_ON_NETWORK" -> Right RSLWCNextHopInstanceNotOnNetwork+ "NEXT_HOP_NOT_RUNNING" -> Right RSLWCNextHopNotRunning+ "NOT_CRITICAL_ERROR" -> Right RSLWCNotCriticalError+ "NO_RESULTS_ON_PAGE" -> Right RSLWCNoResultsOnPage+ "REQUIRED_TOS_AGREEMENT" -> Right RSLWCRequiredTosAgreement+ "RESOURCE_NOT_DELETED" -> Right RSLWCResourceNotDeleted+ "SINGLE_INSTANCE_PROPERTY_TEMPLATE" -> Right RSLWCSingleInstancePropertyTemplate+ "UNREACHABLE" -> Right RSLWCUnreachable+ x -> Left ("Unable to parse RoutersScopedListWarningCode from: " <> x)++instance ToHttpApiData RoutersScopedListWarningCode where+ toQueryParam = \case+ RSLWCCleanupFailed -> "CLEANUP_FAILED"+ RSLWCDeprecatedResourceUsed -> "DEPRECATED_RESOURCE_USED"+ RSLWCDiskSizeLargerThanImageSize -> "DISK_SIZE_LARGER_THAN_IMAGE_SIZE"+ RSLWCFieldValueOverriden -> "FIELD_VALUE_OVERRIDEN"+ RSLWCInjectedKernelsDeprecated -> "INJECTED_KERNELS_DEPRECATED"+ RSLWCNextHopAddressNotAssigned -> "NEXT_HOP_ADDRESS_NOT_ASSIGNED"+ RSLWCNextHopCannotIPForward -> "NEXT_HOP_CANNOT_IP_FORWARD"+ RSLWCNextHopInstanceNotFound -> "NEXT_HOP_INSTANCE_NOT_FOUND"+ RSLWCNextHopInstanceNotOnNetwork -> "NEXT_HOP_INSTANCE_NOT_ON_NETWORK"+ RSLWCNextHopNotRunning -> "NEXT_HOP_NOT_RUNNING"+ RSLWCNotCriticalError -> "NOT_CRITICAL_ERROR"+ RSLWCNoResultsOnPage -> "NO_RESULTS_ON_PAGE"+ RSLWCRequiredTosAgreement -> "REQUIRED_TOS_AGREEMENT"+ RSLWCResourceNotDeleted -> "RESOURCE_NOT_DELETED"+ RSLWCSingleInstancePropertyTemplate -> "SINGLE_INSTANCE_PROPERTY_TEMPLATE"+ RSLWCUnreachable -> "UNREACHABLE"++instance FromJSON RoutersScopedListWarningCode where+ parseJSON = parseJSONText "RoutersScopedListWarningCode"++instance ToJSON RoutersScopedListWarningCode where+ toJSON = toJSONText+ -- | [Output Only] The current action that the managed instance group has -- scheduled for the instance. Possible values: - NONE The instance is -- running, and the managed instance group does not have any scheduled@@ -1091,21 +1316,23 @@ -- will try again until it is successful. - CREATING_WITHOUT_RETRIES The -- managed instance group is attempting to create this instance only once. -- If the group fails to create this instance, it does not try again and--- the group\'s target_size value is decreased. - RECREATING The managed--- instance group is recreating this instance. - DELETING The managed--- instance group is permanently deleting this instance. - ABANDONING The--- managed instance group is abandoning this instance. The instance will be--- removed from the instance group and from any target pools that are--- associated with this group. - RESTARTING The managed instance group is--- restarting the instance. - REFRESHING The managed instance group is--- applying configuration changes to the instance without stopping it. For--- example, the group can update the target pool list for an instance--- without stopping that instance.+-- the group\'s targetSize value is decreased instead. - RECREATING The+-- managed instance group is recreating this instance. - DELETING The+-- managed instance group is permanently deleting this instance. -+-- ABANDONING The managed instance group is abandoning this instance. The+-- instance will be removed from the instance group and from any target+-- pools that are associated with this group. - RESTARTING The managed+-- instance group is restarting the instance. - REFRESHING The managed+-- instance group is applying configuration changes to the instance without+-- stopping it. For example, the group can update the target pool list for+-- an instance without stopping that instance. data ManagedInstanceCurrentAction = MICAAbandoning -- ^ @ABANDONING@ | MICACreating -- ^ @CREATING@+ | MICACreatingWithoutRetries+ -- ^ @CREATING_WITHOUT_RETRIES@ | MICADeleting -- ^ @DELETING@ | MICANone@@ -1124,6 +1351,7 @@ parseQueryParam = \case "ABANDONING" -> Right MICAAbandoning "CREATING" -> Right MICACreating+ "CREATING_WITHOUT_RETRIES" -> Right MICACreatingWithoutRetries "DELETING" -> Right MICADeleting "NONE" -> Right MICANone "RECREATING" -> Right MICARecreating@@ -1135,6 +1363,7 @@ toQueryParam = \case MICAAbandoning -> "ABANDONING" MICACreating -> "CREATING"+ MICACreatingWithoutRetries -> "CREATING_WITHOUT_RETRIES" MICADeleting -> "DELETING" MICANone -> "NONE" MICARecreating -> "RECREATING"@@ -1236,6 +1465,8 @@ -- ^ @DEPRECATED_RESOURCE_USED@ | TVGSLWCDiskSizeLargerThanImageSize -- ^ @DISK_SIZE_LARGER_THAN_IMAGE_SIZE@+ | TVGSLWCFieldValueOverriden+ -- ^ @FIELD_VALUE_OVERRIDEN@ | TVGSLWCInjectedKernelsDeprecated -- ^ @INJECTED_KERNELS_DEPRECATED@ | TVGSLWCNextHopAddressNotAssigned@@ -1269,6 +1500,7 @@ "CLEANUP_FAILED" -> Right TVGSLWCCleanupFailed "DEPRECATED_RESOURCE_USED" -> Right TVGSLWCDeprecatedResourceUsed "DISK_SIZE_LARGER_THAN_IMAGE_SIZE" -> Right TVGSLWCDiskSizeLargerThanImageSize+ "FIELD_VALUE_OVERRIDEN" -> Right TVGSLWCFieldValueOverriden "INJECTED_KERNELS_DEPRECATED" -> Right TVGSLWCInjectedKernelsDeprecated "NEXT_HOP_ADDRESS_NOT_ASSIGNED" -> Right TVGSLWCNextHopAddressNotAssigned "NEXT_HOP_CANNOT_IP_FORWARD" -> Right TVGSLWCNextHopCannotIPForward@@ -1288,6 +1520,7 @@ TVGSLWCCleanupFailed -> "CLEANUP_FAILED" TVGSLWCDeprecatedResourceUsed -> "DEPRECATED_RESOURCE_USED" TVGSLWCDiskSizeLargerThanImageSize -> "DISK_SIZE_LARGER_THAN_IMAGE_SIZE"+ TVGSLWCFieldValueOverriden -> "FIELD_VALUE_OVERRIDEN" TVGSLWCInjectedKernelsDeprecated -> "INJECTED_KERNELS_DEPRECATED" TVGSLWCNextHopAddressNotAssigned -> "NEXT_HOP_ADDRESS_NOT_ASSIGNED" TVGSLWCNextHopCannotIPForward -> "NEXT_HOP_CANNOT_IP_FORWARD"@@ -1307,8 +1540,7 @@ instance ToJSON TargetVPNGatewaysScopedListWarningCode where toJSON = toJSONText --- | [Output Only] The status of disk creation. Applicable statuses includes:--- CREATING, FAILED, READY, RESTORING.+-- | [Output Only] The status of disk creation. data DiskStatus = DSCreating -- ^ @CREATING@@@ -1450,6 +1682,34 @@ instance ToJSON RegionStatus where toJSON = toJSONText +-- | The new type of proxy header to append before sending data to the+-- backend. NONE or PROXY_V1 are allowed.+data TargetSSLProxiesSetProxyHeaderRequestProxyHeader+ = TSPSPHRPHNone+ -- ^ @NONE@+ | TSPSPHRPHProxyV1+ -- ^ @PROXY_V1@+ deriving (Eq, Ord, Enum, Read, Show, Data, Typeable, Generic)++instance Hashable TargetSSLProxiesSetProxyHeaderRequestProxyHeader++instance FromHttpApiData TargetSSLProxiesSetProxyHeaderRequestProxyHeader where+ parseQueryParam = \case+ "NONE" -> Right TSPSPHRPHNone+ "PROXY_V1" -> Right TSPSPHRPHProxyV1+ x -> Left ("Unable to parse TargetSSLProxiesSetProxyHeaderRequestProxyHeader from: " <> x)++instance ToHttpApiData TargetSSLProxiesSetProxyHeaderRequestProxyHeader where+ toQueryParam = \case+ TSPSPHRPHNone -> "NONE"+ TSPSPHRPHProxyV1 -> "PROXY_V1"++instance FromJSON TargetSSLProxiesSetProxyHeaderRequestProxyHeader where+ parseJSON = parseJSONText "TargetSSLProxiesSetProxyHeaderRequestProxyHeader"++instance ToJSON TargetSSLProxiesSetProxyHeaderRequestProxyHeader where+ toJSON = toJSONText+ -- | [Output Only] The status of the VPN tunnel. data VPNTunnelStatus = VTSAllocatingResources@@ -1517,11 +1777,14 @@ instance ToJSON VPNTunnelStatus where toJSON = toJSONText --- | Specifies the balancing mode for this backend. For global HTTP(S) load--- balancing, the default is UTILIZATION. Valid values are UTILIZATION and--- RATE.+-- | Specifies the balancing mode for this backend. For global HTTP(S) or+-- TCP\/SSL load balancing, the default is UTILIZATION. Valid values are+-- UTILIZATION, RATE (for HTTP(S)) and CONNECTION (for TCP\/SSL). This+-- cannot be used for internal load balancing. data BackendBalancingMode- = Rate+ = Connection+ -- ^ @CONNECTION@+ | Rate -- ^ @RATE@ | Utilization -- ^ @UTILIZATION@@@ -1531,12 +1794,14 @@ instance FromHttpApiData BackendBalancingMode where parseQueryParam = \case+ "CONNECTION" -> Right Connection "RATE" -> Right Rate "UTILIZATION" -> Right Utilization x -> Left ("Unable to parse BackendBalancingMode from: " <> x) instance ToHttpApiData BackendBalancingMode where toQueryParam = \case+ Connection -> "CONNECTION" Rate -> "RATE" Utilization -> "UTILIZATION" @@ -1547,17 +1812,17 @@ toJSON = toJSONText -- | The IP protocol to which this rule applies. Valid options are TCP, UDP,--- ESP, AH, SCTP or ICMP.+-- ESP, AH, SCTP or ICMP. When the load balancing scheme is INTERNAL data ForwardingRuleIPProtocol- = AH+ = FRIPAH -- ^ @AH@- | Esp+ | FRIPEsp -- ^ @ESP@- | Sctp+ | FRIPSctp -- ^ @SCTP@- | TCP+ | FRIPTCP -- ^ @TCP@- | Udp+ | FRIPUdp -- ^ @UDP@ deriving (Eq, Ord, Enum, Read, Show, Data, Typeable, Generic) @@ -1565,20 +1830,20 @@ instance FromHttpApiData ForwardingRuleIPProtocol where parseQueryParam = \case- "AH" -> Right AH- "ESP" -> Right Esp- "SCTP" -> Right Sctp- "TCP" -> Right TCP- "UDP" -> Right Udp+ "AH" -> Right FRIPAH+ "ESP" -> Right FRIPEsp+ "SCTP" -> Right FRIPSctp+ "TCP" -> Right FRIPTCP+ "UDP" -> Right FRIPUdp x -> Left ("Unable to parse ForwardingRuleIPProtocol from: " <> x) instance ToHttpApiData ForwardingRuleIPProtocol where toQueryParam = \case- AH -> "AH"- Esp -> "ESP"- Sctp -> "SCTP"- TCP -> "TCP"- Udp -> "UDP"+ FRIPAH -> "AH"+ FRIPEsp -> "ESP"+ FRIPSctp -> "SCTP"+ FRIPTCP -> "TCP"+ FRIPUdp -> "UDP" instance FromJSON ForwardingRuleIPProtocol where parseJSON = parseJSONText "ForwardingRuleIPProtocol"@@ -1677,6 +1942,52 @@ instance ToJSON AttachedDiskInterface where toJSON = toJSONText +-- | Specifies the type of the healthCheck, either TCP, UDP, SSL, HTTP, HTTPS+-- or HTTP2. If not specified, the default is TCP. Exactly one of the+-- protocol-specific health check field must be specified, which must match+-- type field.+data HealthCheckType+ = HCTHTTP+ -- ^ @HTTP@+ | HCTHTTP2+ -- ^ @HTTP2@+ | HCTHTTPS+ -- ^ @HTTPS@+ | HCTInvalid+ -- ^ @INVALID@+ | HCTSSL+ -- ^ @SSL@+ | HCTTCP+ -- ^ @TCP@+ deriving (Eq, Ord, Enum, Read, Show, Data, Typeable, Generic)++instance Hashable HealthCheckType++instance FromHttpApiData HealthCheckType where+ parseQueryParam = \case+ "HTTP" -> Right HCTHTTP+ "HTTP2" -> Right HCTHTTP2+ "HTTPS" -> Right HCTHTTPS+ "INVALID" -> Right HCTInvalid+ "SSL" -> Right HCTSSL+ "TCP" -> Right HCTTCP+ x -> Left ("Unable to parse HealthCheckType from: " <> x)++instance ToHttpApiData HealthCheckType where+ toQueryParam = \case+ HCTHTTP -> "HTTP"+ HCTHTTP2 -> "HTTP2"+ HCTHTTPS -> "HTTPS"+ HCTInvalid -> "INVALID"+ HCTSSL -> "SSL"+ HCTTCP -> "TCP"++instance FromJSON HealthCheckType where+ parseJSON = parseJSONText "HealthCheckType"++instance ToJSON HealthCheckType where+ toJSON = toJSONText+ -- | [Output Only] Status of the zone, either UP or DOWN. data ZoneStatus = ZSDown@@ -1713,6 +2024,8 @@ -- ^ @DEPRECATED_RESOURCE_USED@ | SSLWCDiskSizeLargerThanImageSize -- ^ @DISK_SIZE_LARGER_THAN_IMAGE_SIZE@+ | SSLWCFieldValueOverriden+ -- ^ @FIELD_VALUE_OVERRIDEN@ | SSLWCInjectedKernelsDeprecated -- ^ @INJECTED_KERNELS_DEPRECATED@ | SSLWCNextHopAddressNotAssigned@@ -1746,6 +2059,7 @@ "CLEANUP_FAILED" -> Right SSLWCCleanupFailed "DEPRECATED_RESOURCE_USED" -> Right SSLWCDeprecatedResourceUsed "DISK_SIZE_LARGER_THAN_IMAGE_SIZE" -> Right SSLWCDiskSizeLargerThanImageSize+ "FIELD_VALUE_OVERRIDEN" -> Right SSLWCFieldValueOverriden "INJECTED_KERNELS_DEPRECATED" -> Right SSLWCInjectedKernelsDeprecated "NEXT_HOP_ADDRESS_NOT_ASSIGNED" -> Right SSLWCNextHopAddressNotAssigned "NEXT_HOP_CANNOT_IP_FORWARD" -> Right SSLWCNextHopCannotIPForward@@ -1765,6 +2079,7 @@ SSLWCCleanupFailed -> "CLEANUP_FAILED" SSLWCDeprecatedResourceUsed -> "DEPRECATED_RESOURCE_USED" SSLWCDiskSizeLargerThanImageSize -> "DISK_SIZE_LARGER_THAN_IMAGE_SIZE"+ SSLWCFieldValueOverriden -> "FIELD_VALUE_OVERRIDEN" SSLWCInjectedKernelsDeprecated -> "INJECTED_KERNELS_DEPRECATED" SSLWCNextHopAddressNotAssigned -> "NEXT_HOP_ADDRESS_NOT_ASSIGNED" SSLWCNextHopCannotIPForward -> "NEXT_HOP_CANNOT_IP_FORWARD"@@ -1816,6 +2131,14 @@ -- ^ @LOCAL_SSD_TOTAL_GB@ | Networks -- ^ @NETWORKS@+ | PreemptibleCPUs+ -- ^ @PREEMPTIBLE_CPUS@+ | RegionalAutoscalers+ -- ^ @REGIONAL_AUTOSCALERS@+ | RegionalInstanceGroupManagers+ -- ^ @REGIONAL_INSTANCE_GROUP_MANAGERS@+ | Routers+ -- ^ @ROUTERS@ | Routes -- ^ @ROUTES@ | Snapshots@@ -1836,6 +2159,8 @@ -- ^ @TARGET_INSTANCES@ | TargetPools -- ^ @TARGET_POOLS@+ | TargetSSLProxies+ -- ^ @TARGET_SSL_PROXIES@ | TargetVPNGateways -- ^ @TARGET_VPN_GATEWAYS@ | URLMaps@@ -1863,6 +2188,10 @@ "IN_USE_ADDRESSES" -> Right InUseAddresses "LOCAL_SSD_TOTAL_GB" -> Right LocalSsdTotalGb "NETWORKS" -> Right Networks+ "PREEMPTIBLE_CPUS" -> Right PreemptibleCPUs+ "REGIONAL_AUTOSCALERS" -> Right RegionalAutoscalers+ "REGIONAL_INSTANCE_GROUP_MANAGERS" -> Right RegionalInstanceGroupManagers+ "ROUTERS" -> Right Routers "ROUTES" -> Right Routes "SNAPSHOTS" -> Right Snapshots "SSD_TOTAL_GB" -> Right SsdTotalGb@@ -1873,6 +2202,7 @@ "TARGET_HTTP_PROXIES" -> Right TargetHTTPProxies "TARGET_INSTANCES" -> Right TargetInstances "TARGET_POOLS" -> Right TargetPools+ "TARGET_SSL_PROXIES" -> Right TargetSSLProxies "TARGET_VPN_GATEWAYS" -> Right TargetVPNGateways "URL_MAPS" -> Right URLMaps "VPN_TUNNELS" -> Right VPNTunnels@@ -1895,6 +2225,10 @@ InUseAddresses -> "IN_USE_ADDRESSES" LocalSsdTotalGb -> "LOCAL_SSD_TOTAL_GB" Networks -> "NETWORKS"+ PreemptibleCPUs -> "PREEMPTIBLE_CPUS"+ RegionalAutoscalers -> "REGIONAL_AUTOSCALERS"+ RegionalInstanceGroupManagers -> "REGIONAL_INSTANCE_GROUP_MANAGERS"+ Routers -> "ROUTERS" Routes -> "ROUTES" Snapshots -> "SNAPSHOTS" SsdTotalGb -> "SSD_TOTAL_GB"@@ -1905,6 +2239,7 @@ TargetHTTPProxies -> "TARGET_HTTP_PROXIES" TargetInstances -> "TARGET_INSTANCES" TargetPools -> "TARGET_POOLS"+ TargetSSLProxies -> "TARGET_SSL_PROXIES" TargetVPNGateways -> "TARGET_VPN_GATEWAYS" URLMaps -> "URL_MAPS" VPNTunnels -> "VPN_TUNNELS"@@ -1916,7 +2251,8 @@ toJSON = toJSONText -- | [Output Only] The status of the instance. One of the following values:--- PROVISIONING, STAGING, RUNNING, STOPPING, and TERMINATED.+-- PROVISIONING, STAGING, RUNNING, STOPPING, SUSPENDING, SUSPENDED, and+-- TERMINATED. data InstanceStatus = ISProvisioning -- ^ @PROVISIONING@@@ -1976,6 +2312,8 @@ -- ^ @DEPRECATED_RESOURCE_USED@ | MTSLWCDiskSizeLargerThanImageSize -- ^ @DISK_SIZE_LARGER_THAN_IMAGE_SIZE@+ | MTSLWCFieldValueOverriden+ -- ^ @FIELD_VALUE_OVERRIDEN@ | MTSLWCInjectedKernelsDeprecated -- ^ @INJECTED_KERNELS_DEPRECATED@ | MTSLWCNextHopAddressNotAssigned@@ -2009,6 +2347,7 @@ "CLEANUP_FAILED" -> Right MTSLWCCleanupFailed "DEPRECATED_RESOURCE_USED" -> Right MTSLWCDeprecatedResourceUsed "DISK_SIZE_LARGER_THAN_IMAGE_SIZE" -> Right MTSLWCDiskSizeLargerThanImageSize+ "FIELD_VALUE_OVERRIDEN" -> Right MTSLWCFieldValueOverriden "INJECTED_KERNELS_DEPRECATED" -> Right MTSLWCInjectedKernelsDeprecated "NEXT_HOP_ADDRESS_NOT_ASSIGNED" -> Right MTSLWCNextHopAddressNotAssigned "NEXT_HOP_CANNOT_IP_FORWARD" -> Right MTSLWCNextHopCannotIPForward@@ -2028,6 +2367,7 @@ MTSLWCCleanupFailed -> "CLEANUP_FAILED" MTSLWCDeprecatedResourceUsed -> "DEPRECATED_RESOURCE_USED" MTSLWCDiskSizeLargerThanImageSize -> "DISK_SIZE_LARGER_THAN_IMAGE_SIZE"+ MTSLWCFieldValueOverriden -> "FIELD_VALUE_OVERRIDEN" MTSLWCInjectedKernelsDeprecated -> "INJECTED_KERNELS_DEPRECATED" MTSLWCNextHopAddressNotAssigned -> "NEXT_HOP_ADDRESS_NOT_ASSIGNED" MTSLWCNextHopCannotIPForward -> "NEXT_HOP_CANNOT_IP_FORWARD"@@ -2056,6 +2396,8 @@ -- ^ @DEPRECATED_RESOURCE_USED@ | DTSLWCDiskSizeLargerThanImageSize -- ^ @DISK_SIZE_LARGER_THAN_IMAGE_SIZE@+ | DTSLWCFieldValueOverriden+ -- ^ @FIELD_VALUE_OVERRIDEN@ | DTSLWCInjectedKernelsDeprecated -- ^ @INJECTED_KERNELS_DEPRECATED@ | DTSLWCNextHopAddressNotAssigned@@ -2089,6 +2431,7 @@ "CLEANUP_FAILED" -> Right DTSLWCCleanupFailed "DEPRECATED_RESOURCE_USED" -> Right DTSLWCDeprecatedResourceUsed "DISK_SIZE_LARGER_THAN_IMAGE_SIZE" -> Right DTSLWCDiskSizeLargerThanImageSize+ "FIELD_VALUE_OVERRIDEN" -> Right DTSLWCFieldValueOverriden "INJECTED_KERNELS_DEPRECATED" -> Right DTSLWCInjectedKernelsDeprecated "NEXT_HOP_ADDRESS_NOT_ASSIGNED" -> Right DTSLWCNextHopAddressNotAssigned "NEXT_HOP_CANNOT_IP_FORWARD" -> Right DTSLWCNextHopCannotIPForward@@ -2108,6 +2451,7 @@ DTSLWCCleanupFailed -> "CLEANUP_FAILED" DTSLWCDeprecatedResourceUsed -> "DEPRECATED_RESOURCE_USED" DTSLWCDiskSizeLargerThanImageSize -> "DISK_SIZE_LARGER_THAN_IMAGE_SIZE"+ DTSLWCFieldValueOverriden -> "FIELD_VALUE_OVERRIDEN" DTSLWCInjectedKernelsDeprecated -> "INJECTED_KERNELS_DEPRECATED" DTSLWCNextHopAddressNotAssigned -> "NEXT_HOP_ADDRESS_NOT_ASSIGNED" DTSLWCNextHopCannotIPForward -> "NEXT_HOP_CANNOT_IP_FORWARD"@@ -2136,6 +2480,8 @@ -- ^ @DEPRECATED_RESOURCE_USED@ | ADiskSizeLargerThanImageSize -- ^ @DISK_SIZE_LARGER_THAN_IMAGE_SIZE@+ | AFieldValueOverriden+ -- ^ @FIELD_VALUE_OVERRIDEN@ | AInjectedKernelsDeprecated -- ^ @INJECTED_KERNELS_DEPRECATED@ | ANextHopAddressNotAssigned@@ -2169,6 +2515,7 @@ "CLEANUP_FAILED" -> Right ACleanupFailed "DEPRECATED_RESOURCE_USED" -> Right ADeprecatedResourceUsed "DISK_SIZE_LARGER_THAN_IMAGE_SIZE" -> Right ADiskSizeLargerThanImageSize+ "FIELD_VALUE_OVERRIDEN" -> Right AFieldValueOverriden "INJECTED_KERNELS_DEPRECATED" -> Right AInjectedKernelsDeprecated "NEXT_HOP_ADDRESS_NOT_ASSIGNED" -> Right ANextHopAddressNotAssigned "NEXT_HOP_CANNOT_IP_FORWARD" -> Right ANextHopCannotIPForward@@ -2188,6 +2535,7 @@ ACleanupFailed -> "CLEANUP_FAILED" ADeprecatedResourceUsed -> "DEPRECATED_RESOURCE_USED" ADiskSizeLargerThanImageSize -> "DISK_SIZE_LARGER_THAN_IMAGE_SIZE"+ AFieldValueOverriden -> "FIELD_VALUE_OVERRIDEN" AInjectedKernelsDeprecated -> "INJECTED_KERNELS_DEPRECATED" ANextHopAddressNotAssigned -> "NEXT_HOP_ADDRESS_NOT_ASSIGNED" ANextHopCannotIPForward -> "NEXT_HOP_CANNOT_IP_FORWARD"@@ -2207,6 +2555,37 @@ instance ToJSON AutoscalersScopedListWarningCode where toJSON = toJSONText +-- | Status of the BGP peer: {UP, DOWN}+data RouterStatusBGPPeerStatusStatus+ = RSBPSSDown+ -- ^ @DOWN@+ | RSBPSSUnknown+ -- ^ @UNKNOWN@+ | RSBPSSUP+ -- ^ @UP@+ deriving (Eq, Ord, Enum, Read, Show, Data, Typeable, Generic)++instance Hashable RouterStatusBGPPeerStatusStatus++instance FromHttpApiData RouterStatusBGPPeerStatusStatus where+ parseQueryParam = \case+ "DOWN" -> Right RSBPSSDown+ "UNKNOWN" -> Right RSBPSSUnknown+ "UP" -> Right RSBPSSUP+ x -> Left ("Unable to parse RouterStatusBGPPeerStatusStatus from: " <> x)++instance ToHttpApiData RouterStatusBGPPeerStatusStatus where+ toQueryParam = \case+ RSBPSSDown -> "DOWN"+ RSBPSSUnknown -> "UNKNOWN"+ RSBPSSUP -> "UP"++instance FromJSON RouterStatusBGPPeerStatusStatus where+ parseJSON = parseJSONText "RouterStatusBGPPeerStatusStatus"++instance ToJSON RouterStatusBGPPeerStatusStatus where+ toJSON = toJSONText+ -- | [Output Only] A warning code, if applicable. For example, Compute Engine -- returns NO_RESULTS_ON_PAGE if there are no results in the response. data VPNTunnelsScopedListWarningCode@@ -2216,6 +2595,8 @@ -- ^ @DEPRECATED_RESOURCE_USED@ | VTSLWCDiskSizeLargerThanImageSize -- ^ @DISK_SIZE_LARGER_THAN_IMAGE_SIZE@+ | VTSLWCFieldValueOverriden+ -- ^ @FIELD_VALUE_OVERRIDEN@ | VTSLWCInjectedKernelsDeprecated -- ^ @INJECTED_KERNELS_DEPRECATED@ | VTSLWCNextHopAddressNotAssigned@@ -2249,6 +2630,7 @@ "CLEANUP_FAILED" -> Right VTSLWCCleanupFailed "DEPRECATED_RESOURCE_USED" -> Right VTSLWCDeprecatedResourceUsed "DISK_SIZE_LARGER_THAN_IMAGE_SIZE" -> Right VTSLWCDiskSizeLargerThanImageSize+ "FIELD_VALUE_OVERRIDEN" -> Right VTSLWCFieldValueOverriden "INJECTED_KERNELS_DEPRECATED" -> Right VTSLWCInjectedKernelsDeprecated "NEXT_HOP_ADDRESS_NOT_ASSIGNED" -> Right VTSLWCNextHopAddressNotAssigned "NEXT_HOP_CANNOT_IP_FORWARD" -> Right VTSLWCNextHopCannotIPForward@@ -2268,6 +2650,7 @@ VTSLWCCleanupFailed -> "CLEANUP_FAILED" VTSLWCDeprecatedResourceUsed -> "DEPRECATED_RESOURCE_USED" VTSLWCDiskSizeLargerThanImageSize -> "DISK_SIZE_LARGER_THAN_IMAGE_SIZE"+ VTSLWCFieldValueOverriden -> "FIELD_VALUE_OVERRIDEN" VTSLWCInjectedKernelsDeprecated -> "INJECTED_KERNELS_DEPRECATED" VTSLWCNextHopAddressNotAssigned -> "NEXT_HOP_ADDRESS_NOT_ASSIGNED" VTSLWCNextHopCannotIPForward -> "NEXT_HOP_CANNOT_IP_FORWARD"@@ -2287,6 +2670,34 @@ instance ToJSON VPNTunnelsScopedListWarningCode where toJSON = toJSONText +-- | Specifies the type of proxy header to append before sending data to the+-- backend, either NONE or PROXY_V1. The default is NONE.+data HTTP2HealthCheckProxyHeader+ = HTTPHCPHNone+ -- ^ @NONE@+ | HTTPHCPHProxyV1+ -- ^ @PROXY_V1@+ deriving (Eq, Ord, Enum, Read, Show, Data, Typeable, Generic)++instance Hashable HTTP2HealthCheckProxyHeader++instance FromHttpApiData HTTP2HealthCheckProxyHeader where+ parseQueryParam = \case+ "NONE" -> Right HTTPHCPHNone+ "PROXY_V1" -> Right HTTPHCPHProxyV1+ x -> Left ("Unable to parse HTTP2HealthCheckProxyHeader from: " <> x)++instance ToHttpApiData HTTP2HealthCheckProxyHeader where+ toQueryParam = \case+ HTTPHCPHNone -> "NONE"+ HTTPHCPHProxyV1 -> "PROXY_V1"++instance FromJSON HTTP2HealthCheckProxyHeader where+ parseJSON = parseJSONText "HTTP2HealthCheckProxyHeader"++instance ToJSON HTTP2HealthCheckProxyHeader where+ toJSON = toJSONText+ -- | [Output Only] A warning code, if applicable. For example, Compute Engine -- returns NO_RESULTS_ON_PAGE if there are no results in the response. data InstanceGroupsScopedListWarningCode@@ -2296,6 +2707,8 @@ -- ^ @DEPRECATED_RESOURCE_USED@ | IGSLWCDiskSizeLargerThanImageSize -- ^ @DISK_SIZE_LARGER_THAN_IMAGE_SIZE@+ | IGSLWCFieldValueOverriden+ -- ^ @FIELD_VALUE_OVERRIDEN@ | IGSLWCInjectedKernelsDeprecated -- ^ @INJECTED_KERNELS_DEPRECATED@ | IGSLWCNextHopAddressNotAssigned@@ -2329,6 +2742,7 @@ "CLEANUP_FAILED" -> Right IGSLWCCleanupFailed "DEPRECATED_RESOURCE_USED" -> Right IGSLWCDeprecatedResourceUsed "DISK_SIZE_LARGER_THAN_IMAGE_SIZE" -> Right IGSLWCDiskSizeLargerThanImageSize+ "FIELD_VALUE_OVERRIDEN" -> Right IGSLWCFieldValueOverriden "INJECTED_KERNELS_DEPRECATED" -> Right IGSLWCInjectedKernelsDeprecated "NEXT_HOP_ADDRESS_NOT_ASSIGNED" -> Right IGSLWCNextHopAddressNotAssigned "NEXT_HOP_CANNOT_IP_FORWARD" -> Right IGSLWCNextHopCannotIPForward@@ -2348,6 +2762,7 @@ IGSLWCCleanupFailed -> "CLEANUP_FAILED" IGSLWCDeprecatedResourceUsed -> "DEPRECATED_RESOURCE_USED" IGSLWCDiskSizeLargerThanImageSize -> "DISK_SIZE_LARGER_THAN_IMAGE_SIZE"+ IGSLWCFieldValueOverriden -> "FIELD_VALUE_OVERRIDEN" IGSLWCInjectedKernelsDeprecated -> "INJECTED_KERNELS_DEPRECATED" IGSLWCNextHopAddressNotAssigned -> "NEXT_HOP_ADDRESS_NOT_ASSIGNED" IGSLWCNextHopCannotIPForward -> "NEXT_HOP_CANNOT_IP_FORWARD"@@ -2418,6 +2833,34 @@ instance ToJSON InstanceWithNamedPortsStatus where toJSON = toJSONText +-- | Specifies the type of proxy header to append before sending data to the+-- backend, either NONE or PROXY_V1. The default is NONE.+data TCPHealthCheckProxyHeader+ = THCPHNone+ -- ^ @NONE@+ | THCPHProxyV1+ -- ^ @PROXY_V1@+ deriving (Eq, Ord, Enum, Read, Show, Data, Typeable, Generic)++instance Hashable TCPHealthCheckProxyHeader++instance FromHttpApiData TCPHealthCheckProxyHeader where+ parseQueryParam = \case+ "NONE" -> Right THCPHNone+ "PROXY_V1" -> Right THCPHProxyV1+ x -> Left ("Unable to parse TCPHealthCheckProxyHeader from: " <> x)++instance ToHttpApiData TCPHealthCheckProxyHeader where+ toQueryParam = \case+ THCPHNone -> "NONE"+ THCPHProxyV1 -> "PROXY_V1"++instance FromJSON TCPHealthCheckProxyHeader where+ parseJSON = parseJSONText "TCPHealthCheckProxyHeader"++instance ToJSON TCPHealthCheckProxyHeader where+ toJSON = toJSONText+ -- | [Output Only] A warning code, if applicable. For example, Compute Engine -- returns NO_RESULTS_ON_PAGE if there are no results in the response. data InstancesScopedListWarningCode@@ -2427,6 +2870,8 @@ -- ^ @DEPRECATED_RESOURCE_USED@ | ISLWCDiskSizeLargerThanImageSize -- ^ @DISK_SIZE_LARGER_THAN_IMAGE_SIZE@+ | ISLWCFieldValueOverriden+ -- ^ @FIELD_VALUE_OVERRIDEN@ | ISLWCInjectedKernelsDeprecated -- ^ @INJECTED_KERNELS_DEPRECATED@ | ISLWCNextHopAddressNotAssigned@@ -2460,6 +2905,7 @@ "CLEANUP_FAILED" -> Right ISLWCCleanupFailed "DEPRECATED_RESOURCE_USED" -> Right ISLWCDeprecatedResourceUsed "DISK_SIZE_LARGER_THAN_IMAGE_SIZE" -> Right ISLWCDiskSizeLargerThanImageSize+ "FIELD_VALUE_OVERRIDEN" -> Right ISLWCFieldValueOverriden "INJECTED_KERNELS_DEPRECATED" -> Right ISLWCInjectedKernelsDeprecated "NEXT_HOP_ADDRESS_NOT_ASSIGNED" -> Right ISLWCNextHopAddressNotAssigned "NEXT_HOP_CANNOT_IP_FORWARD" -> Right ISLWCNextHopCannotIPForward@@ -2479,6 +2925,7 @@ ISLWCCleanupFailed -> "CLEANUP_FAILED" ISLWCDeprecatedResourceUsed -> "DEPRECATED_RESOURCE_USED" ISLWCDiskSizeLargerThanImageSize -> "DISK_SIZE_LARGER_THAN_IMAGE_SIZE"+ ISLWCFieldValueOverriden -> "FIELD_VALUE_OVERRIDEN" ISLWCInjectedKernelsDeprecated -> "INJECTED_KERNELS_DEPRECATED" ISLWCNextHopAddressNotAssigned -> "NEXT_HOP_ADDRESS_NOT_ASSIGNED" ISLWCNextHopCannotIPForward -> "NEXT_HOP_CANNOT_IP_FORWARD"@@ -2506,11 +2953,13 @@ -- protocol will go to the same instance in the pool while that instance -- remains healthy. data TargetPoolSessionAffinity- = ClientIP+ = TPSAClientIP -- ^ @CLIENT_IP@- | ClientIPProto+ | TPSAClientIPProto -- ^ @CLIENT_IP_PROTO@- | None+ | TPSAGeneratedCookie+ -- ^ @GENERATED_COOKIE@+ | TPSANone -- ^ @NONE@ deriving (Eq, Ord, Enum, Read, Show, Data, Typeable, Generic) @@ -2518,16 +2967,18 @@ instance FromHttpApiData TargetPoolSessionAffinity where parseQueryParam = \case- "CLIENT_IP" -> Right ClientIP- "CLIENT_IP_PROTO" -> Right ClientIPProto- "NONE" -> Right None+ "CLIENT_IP" -> Right TPSAClientIP+ "CLIENT_IP_PROTO" -> Right TPSAClientIPProto+ "GENERATED_COOKIE" -> Right TPSAGeneratedCookie+ "NONE" -> Right TPSANone x -> Left ("Unable to parse TargetPoolSessionAffinity from: " <> x) instance ToHttpApiData TargetPoolSessionAffinity where toQueryParam = \case- ClientIP -> "CLIENT_IP"- ClientIPProto -> "CLIENT_IP_PROTO"- None -> "NONE"+ TPSAClientIP -> "CLIENT_IP"+ TPSAClientIPProto -> "CLIENT_IP_PROTO"+ TPSAGeneratedCookie -> "GENERATED_COOKIE"+ TPSANone -> "NONE" instance FromJSON TargetPoolSessionAffinity where parseJSON = parseJSONText "TargetPoolSessionAffinity"
gen/Network/Google/Resource/Compute/Addresses/AggregatedList.hs view
@@ -33,6 +33,7 @@ , AddressesAggregatedList -- * Request Lenses+ , aalOrderBy , aalProject , aalFilter , aalPageToken@@ -51,17 +52,19 @@ Capture "project" Text :> "aggregated" :> "addresses" :>- QueryParam "filter" Text :>- QueryParam "pageToken" Text :>- QueryParam "maxResults" (Textual Word32) :>- QueryParam "alt" AltJSON :>- Get '[JSON] AddressAggregatedList+ QueryParam "orderBy" Text :>+ QueryParam "filter" Text :>+ QueryParam "pageToken" Text :>+ QueryParam "maxResults" (Textual Word32) :>+ QueryParam "alt" AltJSON :>+ Get '[JSON] AddressAggregatedList -- | Retrieves an aggregated list of addresses. -- -- /See:/ 'addressesAggregatedList' smart constructor. data AddressesAggregatedList = AddressesAggregatedList'- { _aalProject :: !Text+ { _aalOrderBy :: !(Maybe Text)+ , _aalProject :: !Text , _aalFilter :: !(Maybe Text) , _aalPageToken :: !(Maybe Text) , _aalMaxResults :: !(Textual Word32)@@ -71,6 +74,8 @@ -- -- Use one of the following lenses to modify other fields as desired: --+-- * 'aalOrderBy'+-- -- * 'aalProject' -- -- * 'aalFilter'@@ -83,12 +88,25 @@ -> AddressesAggregatedList addressesAggregatedList pAalProject_ = AddressesAggregatedList'- { _aalProject = pAalProject_+ { _aalOrderBy = Nothing+ , _aalProject = pAalProject_ , _aalFilter = Nothing , _aalPageToken = Nothing , _aalMaxResults = 500 } +-- | Sorts list results by a certain order. By default, results are returned+-- in alphanumerical order based on the resource name. You can also sort+-- results in descending order based on the creation timestamp using+-- orderBy=\"creationTimestamp desc\". This sorts results based on the+-- creationTimestamp field in reverse chronological order (newest result+-- first). Use this to sort resources like operations so that the newest+-- operation is returned first. Currently, only sorting by name or+-- creationTimestamp desc is supported.+aalOrderBy :: Lens' AddressesAggregatedList (Maybe Text)+aalOrderBy+ = lens _aalOrderBy (\ s a -> s{_aalOrderBy = a})+ -- | Project ID for this request. aalProject :: Lens' AddressesAggregatedList Text aalProject@@ -105,16 +123,15 @@ -- value is interpreted as a regular expression using RE2 syntax. The -- literal value must match the entire field. For example, to filter for -- instances that do not have a name of example-instance, you would use--- filter=name ne example-instance. Compute Engine Beta API Only: When--- filtering in the Beta API, you can also filter on nested fields. For+-- filter=name ne example-instance. You can filter on nested fields. For -- example, you could filter on instances that have set the -- scheduling.automaticRestart field to true. Use filtering on nested -- fields to take advantage of labels to organize and search for results--- based on label values. The Beta API also supports filtering on multiple--- expressions by providing each separate expression within parentheses.--- For example, (scheduling.automaticRestart eq true) (zone eq--- us-central1-f). Multiple expressions are treated as AND expressions,--- meaning that resources must match all expressions to pass the filters.+-- based on label values. To filter on multiple expressions, provide each+-- separate expression within parentheses. For example,+-- (scheduling.automaticRestart eq true) (zone eq us-central1-f). Multiple+-- expressions are treated as AND expressions, meaning that resources must+-- match all expressions to pass the filters. aalFilter :: Lens' AddressesAggregatedList (Maybe Text) aalFilter = lens _aalFilter (\ s a -> s{_aalFilter = a})@@ -143,7 +160,7 @@ "https://www.googleapis.com/auth/compute", "https://www.googleapis.com/auth/compute.readonly"] requestClient AddressesAggregatedList'{..}- = go _aalProject _aalFilter _aalPageToken+ = go _aalProject _aalOrderBy _aalFilter _aalPageToken (Just _aalMaxResults) (Just AltJSON) computeService
gen/Network/Google/Resource/Compute/Addresses/Delete.hs view
@@ -33,9 +33,9 @@ , AddressesDelete -- * Request Lenses- , aaProject- , aaAddress- , aaRegion+ , adddProject+ , adddAddress+ , adddRegion ) where import Network.Google.Compute.Types@@ -58,45 +58,46 @@ -- -- /See:/ 'addressesDelete' smart constructor. data AddressesDelete = AddressesDelete'- { _aaProject :: !Text- , _aaAddress :: !Text- , _aaRegion :: !Text+ { _adddProject :: !Text+ , _adddAddress :: !Text+ , _adddRegion :: !Text } deriving (Eq,Show,Data,Typeable,Generic) -- | Creates a value of 'AddressesDelete' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired: ----- * 'aaProject'+-- * 'adddProject' ----- * 'aaAddress'+-- * 'adddAddress' ----- * 'aaRegion'+-- * 'adddRegion' addressesDelete- :: Text -- ^ 'aaProject'- -> Text -- ^ 'aaAddress'- -> Text -- ^ 'aaRegion'+ :: Text -- ^ 'adddProject'+ -> Text -- ^ 'adddAddress'+ -> Text -- ^ 'adddRegion' -> AddressesDelete-addressesDelete pAaProject_ pAaAddress_ pAaRegion_ =+addressesDelete pAdddProject_ pAdddAddress_ pAdddRegion_ = AddressesDelete'- { _aaProject = pAaProject_- , _aaAddress = pAaAddress_- , _aaRegion = pAaRegion_+ { _adddProject = pAdddProject_+ , _adddAddress = pAdddAddress_+ , _adddRegion = pAdddRegion_ } -- | Project ID for this request.-aaProject :: Lens' AddressesDelete Text-aaProject- = lens _aaProject (\ s a -> s{_aaProject = a})+adddProject :: Lens' AddressesDelete Text+adddProject+ = lens _adddProject (\ s a -> s{_adddProject = a}) -- | Name of the address resource to delete.-aaAddress :: Lens' AddressesDelete Text-aaAddress- = lens _aaAddress (\ s a -> s{_aaAddress = a})+adddAddress :: Lens' AddressesDelete Text+adddAddress+ = lens _adddAddress (\ s a -> s{_adddAddress = a}) -- | Name of the region for this request.-aaRegion :: Lens' AddressesDelete Text-aaRegion = lens _aaRegion (\ s a -> s{_aaRegion = a})+adddRegion :: Lens' AddressesDelete Text+adddRegion+ = lens _adddRegion (\ s a -> s{_adddRegion = a}) instance GoogleRequest AddressesDelete where type Rs AddressesDelete = Operation@@ -104,7 +105,8 @@ '["https://www.googleapis.com/auth/cloud-platform", "https://www.googleapis.com/auth/compute"] requestClient AddressesDelete'{..}- = go _aaProject _aaRegion _aaAddress (Just AltJSON)+ = go _adddProject _adddRegion _adddAddress+ (Just AltJSON) computeService where go = buildClient
gen/Network/Google/Resource/Compute/Addresses/List.hs view
@@ -33,6 +33,7 @@ , AddressesList -- * Request Lenses+ , alOrderBy , alProject , alFilter , alRegion@@ -53,16 +54,18 @@ "regions" :> Capture "region" Text :> "addresses" :>- QueryParam "filter" Text :>- QueryParam "pageToken" Text :>- QueryParam "maxResults" (Textual Word32) :>- QueryParam "alt" AltJSON :> Get '[JSON] AddressList+ QueryParam "orderBy" Text :>+ QueryParam "filter" Text :>+ QueryParam "pageToken" Text :>+ QueryParam "maxResults" (Textual Word32) :>+ QueryParam "alt" AltJSON :> Get '[JSON] AddressList -- | Retrieves a list of addresses contained within the specified region. -- -- /See:/ 'addressesList' smart constructor. data AddressesList = AddressesList'- { _alProject :: !Text+ { _alOrderBy :: !(Maybe Text)+ , _alProject :: !Text , _alFilter :: !(Maybe Text) , _alRegion :: !Text , _alPageToken :: !(Maybe Text)@@ -73,6 +76,8 @@ -- -- Use one of the following lenses to modify other fields as desired: --+-- * 'alOrderBy'+-- -- * 'alProject' -- -- * 'alFilter'@@ -88,13 +93,26 @@ -> AddressesList addressesList pAlProject_ pAlRegion_ = AddressesList'- { _alProject = pAlProject_+ { _alOrderBy = Nothing+ , _alProject = pAlProject_ , _alFilter = Nothing , _alRegion = pAlRegion_ , _alPageToken = Nothing , _alMaxResults = 500 } +-- | Sorts list results by a certain order. By default, results are returned+-- in alphanumerical order based on the resource name. You can also sort+-- results in descending order based on the creation timestamp using+-- orderBy=\"creationTimestamp desc\". This sorts results based on the+-- creationTimestamp field in reverse chronological order (newest result+-- first). Use this to sort resources like operations so that the newest+-- operation is returned first. Currently, only sorting by name or+-- creationTimestamp desc is supported.+alOrderBy :: Lens' AddressesList (Maybe Text)+alOrderBy+ = lens _alOrderBy (\ s a -> s{_alOrderBy = a})+ -- | Project ID for this request. alProject :: Lens' AddressesList Text alProject@@ -111,16 +129,15 @@ -- value is interpreted as a regular expression using RE2 syntax. The -- literal value must match the entire field. For example, to filter for -- instances that do not have a name of example-instance, you would use--- filter=name ne example-instance. Compute Engine Beta API Only: When--- filtering in the Beta API, you can also filter on nested fields. For+-- filter=name ne example-instance. You can filter on nested fields. For -- example, you could filter on instances that have set the -- scheduling.automaticRestart field to true. Use filtering on nested -- fields to take advantage of labels to organize and search for results--- based on label values. The Beta API also supports filtering on multiple--- expressions by providing each separate expression within parentheses.--- For example, (scheduling.automaticRestart eq true) (zone eq--- us-central1-f). Multiple expressions are treated as AND expressions,--- meaning that resources must match all expressions to pass the filters.+-- based on label values. To filter on multiple expressions, provide each+-- separate expression within parentheses. For example,+-- (scheduling.automaticRestart eq true) (zone eq us-central1-f). Multiple+-- expressions are treated as AND expressions, meaning that resources must+-- match all expressions to pass the filters. alFilter :: Lens' AddressesList (Maybe Text) alFilter = lens _alFilter (\ s a -> s{_alFilter = a}) @@ -150,7 +167,8 @@ "https://www.googleapis.com/auth/compute", "https://www.googleapis.com/auth/compute.readonly"] requestClient AddressesList'{..}- = go _alProject _alRegion _alFilter _alPageToken+ = go _alProject _alRegion _alOrderBy _alFilter+ _alPageToken (Just _alMaxResults) (Just AltJSON) computeService
gen/Network/Google/Resource/Compute/Autoscalers/AggregatedList.hs view
@@ -33,6 +33,7 @@ , AutoscalersAggregatedList -- * Request Lenses+ , autOrderBy , autProject , autFilter , autPageToken@@ -51,17 +52,19 @@ Capture "project" Text :> "aggregated" :> "autoscalers" :>- QueryParam "filter" Text :>- QueryParam "pageToken" Text :>- QueryParam "maxResults" (Textual Word32) :>- QueryParam "alt" AltJSON :>- Get '[JSON] AutoscalerAggregatedList+ QueryParam "orderBy" Text :>+ QueryParam "filter" Text :>+ QueryParam "pageToken" Text :>+ QueryParam "maxResults" (Textual Word32) :>+ QueryParam "alt" AltJSON :>+ Get '[JSON] AutoscalerAggregatedList -- | Retrieves an aggregated list of autoscalers. -- -- /See:/ 'autoscalersAggregatedList' smart constructor. data AutoscalersAggregatedList = AutoscalersAggregatedList'- { _autProject :: !Text+ { _autOrderBy :: !(Maybe Text)+ , _autProject :: !Text , _autFilter :: !(Maybe Text) , _autPageToken :: !(Maybe Text) , _autMaxResults :: !(Textual Word32)@@ -71,6 +74,8 @@ -- -- Use one of the following lenses to modify other fields as desired: --+-- * 'autOrderBy'+-- -- * 'autProject' -- -- * 'autFilter'@@ -83,12 +88,25 @@ -> AutoscalersAggregatedList autoscalersAggregatedList pAutProject_ = AutoscalersAggregatedList'- { _autProject = pAutProject_+ { _autOrderBy = Nothing+ , _autProject = pAutProject_ , _autFilter = Nothing , _autPageToken = Nothing , _autMaxResults = 500 } +-- | Sorts list results by a certain order. By default, results are returned+-- in alphanumerical order based on the resource name. You can also sort+-- results in descending order based on the creation timestamp using+-- orderBy=\"creationTimestamp desc\". This sorts results based on the+-- creationTimestamp field in reverse chronological order (newest result+-- first). Use this to sort resources like operations so that the newest+-- operation is returned first. Currently, only sorting by name or+-- creationTimestamp desc is supported.+autOrderBy :: Lens' AutoscalersAggregatedList (Maybe Text)+autOrderBy+ = lens _autOrderBy (\ s a -> s{_autOrderBy = a})+ -- | Project ID for this request. autProject :: Lens' AutoscalersAggregatedList Text autProject@@ -105,16 +123,15 @@ -- value is interpreted as a regular expression using RE2 syntax. The -- literal value must match the entire field. For example, to filter for -- instances that do not have a name of example-instance, you would use--- filter=name ne example-instance. Compute Engine Beta API Only: When--- filtering in the Beta API, you can also filter on nested fields. For+-- filter=name ne example-instance. You can filter on nested fields. For -- example, you could filter on instances that have set the -- scheduling.automaticRestart field to true. Use filtering on nested -- fields to take advantage of labels to organize and search for results--- based on label values. The Beta API also supports filtering on multiple--- expressions by providing each separate expression within parentheses.--- For example, (scheduling.automaticRestart eq true) (zone eq--- us-central1-f). Multiple expressions are treated as AND expressions,--- meaning that resources must match all expressions to pass the filters.+-- based on label values. To filter on multiple expressions, provide each+-- separate expression within parentheses. For example,+-- (scheduling.automaticRestart eq true) (zone eq us-central1-f). Multiple+-- expressions are treated as AND expressions, meaning that resources must+-- match all expressions to pass the filters. autFilter :: Lens' AutoscalersAggregatedList (Maybe Text) autFilter = lens _autFilter (\ s a -> s{_autFilter = a})@@ -144,7 +161,7 @@ "https://www.googleapis.com/auth/compute", "https://www.googleapis.com/auth/compute.readonly"] requestClient AutoscalersAggregatedList'{..}- = go _autProject _autFilter _autPageToken+ = go _autProject _autOrderBy _autFilter _autPageToken (Just _autMaxResults) (Just AltJSON) computeService
gen/Network/Google/Resource/Compute/Autoscalers/List.hs view
@@ -33,6 +33,7 @@ , AutoscalersList -- * Request Lenses+ , aOrderBy , aProject , aZone , aFilter@@ -53,17 +54,19 @@ "zones" :> Capture "zone" Text :> "autoscalers" :>- QueryParam "filter" Text :>- QueryParam "pageToken" Text :>- QueryParam "maxResults" (Textual Word32) :>- QueryParam "alt" AltJSON :>- Get '[JSON] AutoscalerList+ QueryParam "orderBy" Text :>+ QueryParam "filter" Text :>+ QueryParam "pageToken" Text :>+ QueryParam "maxResults" (Textual Word32) :>+ QueryParam "alt" AltJSON :>+ Get '[JSON] AutoscalerList -- | Retrieves a list of autoscalers contained within the specified zone. -- -- /See:/ 'autoscalersList' smart constructor. data AutoscalersList = AutoscalersList'- { _aProject :: !Text+ { _aOrderBy :: !(Maybe Text)+ , _aProject :: !Text , _aZone :: !Text , _aFilter :: !(Maybe Text) , _aPageToken :: !(Maybe Text)@@ -74,6 +77,8 @@ -- -- Use one of the following lenses to modify other fields as desired: --+-- * 'aOrderBy'+-- -- * 'aProject' -- -- * 'aZone'@@ -89,13 +94,25 @@ -> AutoscalersList autoscalersList pAProject_ pAZone_ = AutoscalersList'- { _aProject = pAProject_+ { _aOrderBy = Nothing+ , _aProject = pAProject_ , _aZone = pAZone_ , _aFilter = Nothing , _aPageToken = Nothing , _aMaxResults = 500 } +-- | Sorts list results by a certain order. By default, results are returned+-- in alphanumerical order based on the resource name. You can also sort+-- results in descending order based on the creation timestamp using+-- orderBy=\"creationTimestamp desc\". This sorts results based on the+-- creationTimestamp field in reverse chronological order (newest result+-- first). Use this to sort resources like operations so that the newest+-- operation is returned first. Currently, only sorting by name or+-- creationTimestamp desc is supported.+aOrderBy :: Lens' AutoscalersList (Maybe Text)+aOrderBy = lens _aOrderBy (\ s a -> s{_aOrderBy = a})+ -- | Project ID for this request. aProject :: Lens' AutoscalersList Text aProject = lens _aProject (\ s a -> s{_aProject = a})@@ -115,16 +132,15 @@ -- value is interpreted as a regular expression using RE2 syntax. The -- literal value must match the entire field. For example, to filter for -- instances that do not have a name of example-instance, you would use--- filter=name ne example-instance. Compute Engine Beta API Only: When--- filtering in the Beta API, you can also filter on nested fields. For+-- filter=name ne example-instance. You can filter on nested fields. For -- example, you could filter on instances that have set the -- scheduling.automaticRestart field to true. Use filtering on nested -- fields to take advantage of labels to organize and search for results--- based on label values. The Beta API also supports filtering on multiple--- expressions by providing each separate expression within parentheses.--- For example, (scheduling.automaticRestart eq true) (zone eq--- us-central1-f). Multiple expressions are treated as AND expressions,--- meaning that resources must match all expressions to pass the filters.+-- based on label values. To filter on multiple expressions, provide each+-- separate expression within parentheses. For example,+-- (scheduling.automaticRestart eq true) (zone eq us-central1-f). Multiple+-- expressions are treated as AND expressions, meaning that resources must+-- match all expressions to pass the filters. aFilter :: Lens' AutoscalersList (Maybe Text) aFilter = lens _aFilter (\ s a -> s{_aFilter = a}) @@ -150,7 +166,7 @@ "https://www.googleapis.com/auth/compute", "https://www.googleapis.com/auth/compute.readonly"] requestClient AutoscalersList'{..}- = go _aProject _aZone _aFilter _aPageToken+ = go _aProject _aZone _aOrderBy _aFilter _aPageToken (Just _aMaxResults) (Just AltJSON) computeService
gen/Network/Google/Resource/Compute/BackendServices/List.hs view
@@ -34,6 +34,7 @@ , BackendServicesList -- * Request Lenses+ , bslOrderBy , bslProject , bslFilter , bslPageToken@@ -52,18 +53,20 @@ Capture "project" Text :> "global" :> "backendServices" :>- QueryParam "filter" Text :>- QueryParam "pageToken" Text :>- QueryParam "maxResults" (Textual Word32) :>- QueryParam "alt" AltJSON :>- Get '[JSON] BackendServiceList+ QueryParam "orderBy" Text :>+ QueryParam "filter" Text :>+ QueryParam "pageToken" Text :>+ QueryParam "maxResults" (Textual Word32) :>+ QueryParam "alt" AltJSON :>+ Get '[JSON] BackendServiceList -- | Retrieves the list of BackendService resources available to the -- specified project. -- -- /See:/ 'backendServicesList' smart constructor. data BackendServicesList = BackendServicesList'- { _bslProject :: !Text+ { _bslOrderBy :: !(Maybe Text)+ , _bslProject :: !Text , _bslFilter :: !(Maybe Text) , _bslPageToken :: !(Maybe Text) , _bslMaxResults :: !(Textual Word32)@@ -73,6 +76,8 @@ -- -- Use one of the following lenses to modify other fields as desired: --+-- * 'bslOrderBy'+-- -- * 'bslProject' -- -- * 'bslFilter'@@ -85,12 +90,25 @@ -> BackendServicesList backendServicesList pBslProject_ = BackendServicesList'- { _bslProject = pBslProject_+ { _bslOrderBy = Nothing+ , _bslProject = pBslProject_ , _bslFilter = Nothing , _bslPageToken = Nothing , _bslMaxResults = 500 } +-- | Sorts list results by a certain order. By default, results are returned+-- in alphanumerical order based on the resource name. You can also sort+-- results in descending order based on the creation timestamp using+-- orderBy=\"creationTimestamp desc\". This sorts results based on the+-- creationTimestamp field in reverse chronological order (newest result+-- first). Use this to sort resources like operations so that the newest+-- operation is returned first. Currently, only sorting by name or+-- creationTimestamp desc is supported.+bslOrderBy :: Lens' BackendServicesList (Maybe Text)+bslOrderBy+ = lens _bslOrderBy (\ s a -> s{_bslOrderBy = a})+ -- | Project ID for this request. bslProject :: Lens' BackendServicesList Text bslProject@@ -107,16 +125,15 @@ -- value is interpreted as a regular expression using RE2 syntax. The -- literal value must match the entire field. For example, to filter for -- instances that do not have a name of example-instance, you would use--- filter=name ne example-instance. Compute Engine Beta API Only: When--- filtering in the Beta API, you can also filter on nested fields. For+-- filter=name ne example-instance. You can filter on nested fields. For -- example, you could filter on instances that have set the -- scheduling.automaticRestart field to true. Use filtering on nested -- fields to take advantage of labels to organize and search for results--- based on label values. The Beta API also supports filtering on multiple--- expressions by providing each separate expression within parentheses.--- For example, (scheduling.automaticRestart eq true) (zone eq--- us-central1-f). Multiple expressions are treated as AND expressions,--- meaning that resources must match all expressions to pass the filters.+-- based on label values. To filter on multiple expressions, provide each+-- separate expression within parentheses. For example,+-- (scheduling.automaticRestart eq true) (zone eq us-central1-f). Multiple+-- expressions are treated as AND expressions, meaning that resources must+-- match all expressions to pass the filters. bslFilter :: Lens' BackendServicesList (Maybe Text) bslFilter = lens _bslFilter (\ s a -> s{_bslFilter = a})@@ -144,7 +161,7 @@ "https://www.googleapis.com/auth/compute", "https://www.googleapis.com/auth/compute.readonly"] requestClient BackendServicesList'{..}- = go _bslProject _bslFilter _bslPageToken+ = go _bslProject _bslOrderBy _bslFilter _bslPageToken (Just _bslMaxResults) (Just AltJSON) computeService
gen/Network/Google/Resource/Compute/BackendServices/Patch.hs view
@@ -20,10 +20,10 @@ -- Stability : auto-generated -- Portability : non-portable (GHC extensions) ----- Updates the entire content of the BackendService resource. There are--- several restrictions and guidelines to keep in mind when updating a--- backend service. Read Restrictions and Guidelines for more information.--- This method supports patch semantics.+-- Updates the specified BackendService resource with the data included in+-- the request. There are several restrictions and guidelines to keep in+-- mind when updating a backend service. Read Restrictions and Guidelines+-- for more information. This method supports patch semantics. -- -- /See:/ <https://developers.google.com/compute/docs/reference/latest/ Compute Engine API Reference> for @compute.backendServices.patch@. module Network.Google.Resource.Compute.BackendServices.Patch@@ -58,10 +58,10 @@ ReqBody '[JSON] BackendService :> Patch '[JSON] Operation --- | Updates the entire content of the BackendService resource. There are--- several restrictions and guidelines to keep in mind when updating a--- backend service. Read Restrictions and Guidelines for more information.--- This method supports patch semantics.+-- | Updates the specified BackendService resource with the data included in+-- the request. There are several restrictions and guidelines to keep in+-- mind when updating a backend service. Read Restrictions and Guidelines+-- for more information. This method supports patch semantics. -- -- /See:/ 'backendServicesPatch' smart constructor. data BackendServicesPatch = BackendServicesPatch'
gen/Network/Google/Resource/Compute/BackendServices/Update.hs view
@@ -20,9 +20,10 @@ -- Stability : auto-generated -- Portability : non-portable (GHC extensions) ----- Updates the entire content of the BackendService resource. There are--- several restrictions and guidelines to keep in mind when updating a--- backend service. Read Restrictions and Guidelines for more information.+-- Updates the specified BackendService resource with the data included in+-- the request. There are several restrictions and guidelines to keep in+-- mind when updating a backend service. Read Restrictions and Guidelines+-- for more information. -- -- /See:/ <https://developers.google.com/compute/docs/reference/latest/ Compute Engine API Reference> for @compute.backendServices.update@. module Network.Google.Resource.Compute.BackendServices.Update@@ -57,9 +58,10 @@ ReqBody '[JSON] BackendService :> Put '[JSON] Operation --- | Updates the entire content of the BackendService resource. There are--- several restrictions and guidelines to keep in mind when updating a--- backend service. Read Restrictions and Guidelines for more information.+-- | Updates the specified BackendService resource with the data included in+-- the request. There are several restrictions and guidelines to keep in+-- mind when updating a backend service. Read Restrictions and Guidelines+-- for more information. -- -- /See:/ 'backendServicesUpdate' smart constructor. data BackendServicesUpdate = BackendServicesUpdate'
gen/Network/Google/Resource/Compute/DiskTypes/AggregatedList.hs view
@@ -33,6 +33,7 @@ , DiskTypesAggregatedList -- * Request Lenses+ , dtalOrderBy , dtalProject , dtalFilter , dtalPageToken@@ -51,17 +52,19 @@ Capture "project" Text :> "aggregated" :> "diskTypes" :>- QueryParam "filter" Text :>- QueryParam "pageToken" Text :>- QueryParam "maxResults" (Textual Word32) :>- QueryParam "alt" AltJSON :>- Get '[JSON] DiskTypeAggregatedList+ QueryParam "orderBy" Text :>+ QueryParam "filter" Text :>+ QueryParam "pageToken" Text :>+ QueryParam "maxResults" (Textual Word32) :>+ QueryParam "alt" AltJSON :>+ Get '[JSON] DiskTypeAggregatedList -- | Retrieves an aggregated list of disk types. -- -- /See:/ 'diskTypesAggregatedList' smart constructor. data DiskTypesAggregatedList = DiskTypesAggregatedList'- { _dtalProject :: !Text+ { _dtalOrderBy :: !(Maybe Text)+ , _dtalProject :: !Text , _dtalFilter :: !(Maybe Text) , _dtalPageToken :: !(Maybe Text) , _dtalMaxResults :: !(Textual Word32)@@ -71,6 +74,8 @@ -- -- Use one of the following lenses to modify other fields as desired: --+-- * 'dtalOrderBy'+-- -- * 'dtalProject' -- -- * 'dtalFilter'@@ -83,12 +88,25 @@ -> DiskTypesAggregatedList diskTypesAggregatedList pDtalProject_ = DiskTypesAggregatedList'- { _dtalProject = pDtalProject_+ { _dtalOrderBy = Nothing+ , _dtalProject = pDtalProject_ , _dtalFilter = Nothing , _dtalPageToken = Nothing , _dtalMaxResults = 500 } +-- | Sorts list results by a certain order. By default, results are returned+-- in alphanumerical order based on the resource name. You can also sort+-- results in descending order based on the creation timestamp using+-- orderBy=\"creationTimestamp desc\". This sorts results based on the+-- creationTimestamp field in reverse chronological order (newest result+-- first). Use this to sort resources like operations so that the newest+-- operation is returned first. Currently, only sorting by name or+-- creationTimestamp desc is supported.+dtalOrderBy :: Lens' DiskTypesAggregatedList (Maybe Text)+dtalOrderBy+ = lens _dtalOrderBy (\ s a -> s{_dtalOrderBy = a})+ -- | Project ID for this request. dtalProject :: Lens' DiskTypesAggregatedList Text dtalProject@@ -105,16 +123,15 @@ -- value is interpreted as a regular expression using RE2 syntax. The -- literal value must match the entire field. For example, to filter for -- instances that do not have a name of example-instance, you would use--- filter=name ne example-instance. Compute Engine Beta API Only: When--- filtering in the Beta API, you can also filter on nested fields. For+-- filter=name ne example-instance. You can filter on nested fields. For -- example, you could filter on instances that have set the -- scheduling.automaticRestart field to true. Use filtering on nested -- fields to take advantage of labels to organize and search for results--- based on label values. The Beta API also supports filtering on multiple--- expressions by providing each separate expression within parentheses.--- For example, (scheduling.automaticRestart eq true) (zone eq--- us-central1-f). Multiple expressions are treated as AND expressions,--- meaning that resources must match all expressions to pass the filters.+-- based on label values. To filter on multiple expressions, provide each+-- separate expression within parentheses. For example,+-- (scheduling.automaticRestart eq true) (zone eq us-central1-f). Multiple+-- expressions are treated as AND expressions, meaning that resources must+-- match all expressions to pass the filters. dtalFilter :: Lens' DiskTypesAggregatedList (Maybe Text) dtalFilter = lens _dtalFilter (\ s a -> s{_dtalFilter = a})@@ -144,7 +161,8 @@ "https://www.googleapis.com/auth/compute", "https://www.googleapis.com/auth/compute.readonly"] requestClient DiskTypesAggregatedList'{..}- = go _dtalProject _dtalFilter _dtalPageToken+ = go _dtalProject _dtalOrderBy _dtalFilter+ _dtalPageToken (Just _dtalMaxResults) (Just AltJSON) computeService
gen/Network/Google/Resource/Compute/DiskTypes/List.hs view
@@ -33,6 +33,7 @@ , DiskTypesList -- * Request Lenses+ , dtlOrderBy , dtlProject , dtlZone , dtlFilter@@ -53,16 +54,18 @@ "zones" :> Capture "zone" Text :> "diskTypes" :>- QueryParam "filter" Text :>- QueryParam "pageToken" Text :>- QueryParam "maxResults" (Textual Word32) :>- QueryParam "alt" AltJSON :> Get '[JSON] DiskTypeList+ QueryParam "orderBy" Text :>+ QueryParam "filter" Text :>+ QueryParam "pageToken" Text :>+ QueryParam "maxResults" (Textual Word32) :>+ QueryParam "alt" AltJSON :> Get '[JSON] DiskTypeList -- | Retrieves a list of disk types available to the specified project. -- -- /See:/ 'diskTypesList' smart constructor. data DiskTypesList = DiskTypesList'- { _dtlProject :: !Text+ { _dtlOrderBy :: !(Maybe Text)+ , _dtlProject :: !Text , _dtlZone :: !Text , _dtlFilter :: !(Maybe Text) , _dtlPageToken :: !(Maybe Text)@@ -73,6 +76,8 @@ -- -- Use one of the following lenses to modify other fields as desired: --+-- * 'dtlOrderBy'+-- -- * 'dtlProject' -- -- * 'dtlZone'@@ -88,13 +93,26 @@ -> DiskTypesList diskTypesList pDtlProject_ pDtlZone_ = DiskTypesList'- { _dtlProject = pDtlProject_+ { _dtlOrderBy = Nothing+ , _dtlProject = pDtlProject_ , _dtlZone = pDtlZone_ , _dtlFilter = Nothing , _dtlPageToken = Nothing , _dtlMaxResults = 500 } +-- | Sorts list results by a certain order. By default, results are returned+-- in alphanumerical order based on the resource name. You can also sort+-- results in descending order based on the creation timestamp using+-- orderBy=\"creationTimestamp desc\". This sorts results based on the+-- creationTimestamp field in reverse chronological order (newest result+-- first). Use this to sort resources like operations so that the newest+-- operation is returned first. Currently, only sorting by name or+-- creationTimestamp desc is supported.+dtlOrderBy :: Lens' DiskTypesList (Maybe Text)+dtlOrderBy+ = lens _dtlOrderBy (\ s a -> s{_dtlOrderBy = a})+ -- | Project ID for this request. dtlProject :: Lens' DiskTypesList Text dtlProject@@ -115,16 +133,15 @@ -- value is interpreted as a regular expression using RE2 syntax. The -- literal value must match the entire field. For example, to filter for -- instances that do not have a name of example-instance, you would use--- filter=name ne example-instance. Compute Engine Beta API Only: When--- filtering in the Beta API, you can also filter on nested fields. For+-- filter=name ne example-instance. You can filter on nested fields. For -- example, you could filter on instances that have set the -- scheduling.automaticRestart field to true. Use filtering on nested -- fields to take advantage of labels to organize and search for results--- based on label values. The Beta API also supports filtering on multiple--- expressions by providing each separate expression within parentheses.--- For example, (scheduling.automaticRestart eq true) (zone eq--- us-central1-f). Multiple expressions are treated as AND expressions,--- meaning that resources must match all expressions to pass the filters.+-- based on label values. To filter on multiple expressions, provide each+-- separate expression within parentheses. For example,+-- (scheduling.automaticRestart eq true) (zone eq us-central1-f). Multiple+-- expressions are treated as AND expressions, meaning that resources must+-- match all expressions to pass the filters. dtlFilter :: Lens' DiskTypesList (Maybe Text) dtlFilter = lens _dtlFilter (\ s a -> s{_dtlFilter = a})@@ -152,7 +169,8 @@ "https://www.googleapis.com/auth/compute", "https://www.googleapis.com/auth/compute.readonly"] requestClient DiskTypesList'{..}- = go _dtlProject _dtlZone _dtlFilter _dtlPageToken+ = go _dtlProject _dtlZone _dtlOrderBy _dtlFilter+ _dtlPageToken (Just _dtlMaxResults) (Just AltJSON) computeService
gen/Network/Google/Resource/Compute/Disks/AggregatedList.hs view
@@ -33,6 +33,7 @@ , DisksAggregatedList -- * Request Lenses+ , dalOrderBy , dalProject , dalFilter , dalPageToken@@ -51,17 +52,19 @@ Capture "project" Text :> "aggregated" :> "disks" :>- QueryParam "filter" Text :>- QueryParam "pageToken" Text :>- QueryParam "maxResults" (Textual Word32) :>- QueryParam "alt" AltJSON :>- Get '[JSON] DiskAggregatedList+ QueryParam "orderBy" Text :>+ QueryParam "filter" Text :>+ QueryParam "pageToken" Text :>+ QueryParam "maxResults" (Textual Word32) :>+ QueryParam "alt" AltJSON :>+ Get '[JSON] DiskAggregatedList -- | Retrieves an aggregated list of persistent disks. -- -- /See:/ 'disksAggregatedList' smart constructor. data DisksAggregatedList = DisksAggregatedList'- { _dalProject :: !Text+ { _dalOrderBy :: !(Maybe Text)+ , _dalProject :: !Text , _dalFilter :: !(Maybe Text) , _dalPageToken :: !(Maybe Text) , _dalMaxResults :: !(Textual Word32)@@ -71,6 +74,8 @@ -- -- Use one of the following lenses to modify other fields as desired: --+-- * 'dalOrderBy'+-- -- * 'dalProject' -- -- * 'dalFilter'@@ -83,12 +88,25 @@ -> DisksAggregatedList disksAggregatedList pDalProject_ = DisksAggregatedList'- { _dalProject = pDalProject_+ { _dalOrderBy = Nothing+ , _dalProject = pDalProject_ , _dalFilter = Nothing , _dalPageToken = Nothing , _dalMaxResults = 500 } +-- | Sorts list results by a certain order. By default, results are returned+-- in alphanumerical order based on the resource name. You can also sort+-- results in descending order based on the creation timestamp using+-- orderBy=\"creationTimestamp desc\". This sorts results based on the+-- creationTimestamp field in reverse chronological order (newest result+-- first). Use this to sort resources like operations so that the newest+-- operation is returned first. Currently, only sorting by name or+-- creationTimestamp desc is supported.+dalOrderBy :: Lens' DisksAggregatedList (Maybe Text)+dalOrderBy+ = lens _dalOrderBy (\ s a -> s{_dalOrderBy = a})+ -- | Project ID for this request. dalProject :: Lens' DisksAggregatedList Text dalProject@@ -105,16 +123,15 @@ -- value is interpreted as a regular expression using RE2 syntax. The -- literal value must match the entire field. For example, to filter for -- instances that do not have a name of example-instance, you would use--- filter=name ne example-instance. Compute Engine Beta API Only: When--- filtering in the Beta API, you can also filter on nested fields. For+-- filter=name ne example-instance. You can filter on nested fields. For -- example, you could filter on instances that have set the -- scheduling.automaticRestart field to true. Use filtering on nested -- fields to take advantage of labels to organize and search for results--- based on label values. The Beta API also supports filtering on multiple--- expressions by providing each separate expression within parentheses.--- For example, (scheduling.automaticRestart eq true) (zone eq--- us-central1-f). Multiple expressions are treated as AND expressions,--- meaning that resources must match all expressions to pass the filters.+-- based on label values. To filter on multiple expressions, provide each+-- separate expression within parentheses. For example,+-- (scheduling.automaticRestart eq true) (zone eq us-central1-f). Multiple+-- expressions are treated as AND expressions, meaning that resources must+-- match all expressions to pass the filters. dalFilter :: Lens' DisksAggregatedList (Maybe Text) dalFilter = lens _dalFilter (\ s a -> s{_dalFilter = a})@@ -142,7 +159,7 @@ "https://www.googleapis.com/auth/compute", "https://www.googleapis.com/auth/compute.readonly"] requestClient DisksAggregatedList'{..}- = go _dalProject _dalFilter _dalPageToken+ = go _dalProject _dalOrderBy _dalFilter _dalPageToken (Just _dalMaxResults) (Just AltJSON) computeService
gen/Network/Google/Resource/Compute/Disks/List.hs view
@@ -34,6 +34,7 @@ , DisksList -- * Request Lenses+ , dlOrderBy , dlProject , dlZone , dlFilter@@ -54,17 +55,19 @@ "zones" :> Capture "zone" Text :> "disks" :>- QueryParam "filter" Text :>- QueryParam "pageToken" Text :>- QueryParam "maxResults" (Textual Word32) :>- QueryParam "alt" AltJSON :> Get '[JSON] DiskList+ QueryParam "orderBy" Text :>+ QueryParam "filter" Text :>+ QueryParam "pageToken" Text :>+ QueryParam "maxResults" (Textual Word32) :>+ QueryParam "alt" AltJSON :> Get '[JSON] DiskList -- | Retrieves a list of persistent disks contained within the specified -- zone. -- -- /See:/ 'disksList' smart constructor. data DisksList = DisksList'- { _dlProject :: !Text+ { _dlOrderBy :: !(Maybe Text)+ , _dlProject :: !Text , _dlZone :: !Text , _dlFilter :: !(Maybe Text) , _dlPageToken :: !(Maybe Text)@@ -75,6 +78,8 @@ -- -- Use one of the following lenses to modify other fields as desired: --+-- * 'dlOrderBy'+-- -- * 'dlProject' -- -- * 'dlZone'@@ -90,13 +95,26 @@ -> DisksList disksList pDlProject_ pDlZone_ = DisksList'- { _dlProject = pDlProject_+ { _dlOrderBy = Nothing+ , _dlProject = pDlProject_ , _dlZone = pDlZone_ , _dlFilter = Nothing , _dlPageToken = Nothing , _dlMaxResults = 500 } +-- | Sorts list results by a certain order. By default, results are returned+-- in alphanumerical order based on the resource name. You can also sort+-- results in descending order based on the creation timestamp using+-- orderBy=\"creationTimestamp desc\". This sorts results based on the+-- creationTimestamp field in reverse chronological order (newest result+-- first). Use this to sort resources like operations so that the newest+-- operation is returned first. Currently, only sorting by name or+-- creationTimestamp desc is supported.+dlOrderBy :: Lens' DisksList (Maybe Text)+dlOrderBy+ = lens _dlOrderBy (\ s a -> s{_dlOrderBy = a})+ -- | Project ID for this request. dlProject :: Lens' DisksList Text dlProject@@ -117,16 +135,15 @@ -- value is interpreted as a regular expression using RE2 syntax. The -- literal value must match the entire field. For example, to filter for -- instances that do not have a name of example-instance, you would use--- filter=name ne example-instance. Compute Engine Beta API Only: When--- filtering in the Beta API, you can also filter on nested fields. For+-- filter=name ne example-instance. You can filter on nested fields. For -- example, you could filter on instances that have set the -- scheduling.automaticRestart field to true. Use filtering on nested -- fields to take advantage of labels to organize and search for results--- based on label values. The Beta API also supports filtering on multiple--- expressions by providing each separate expression within parentheses.--- For example, (scheduling.automaticRestart eq true) (zone eq--- us-central1-f). Multiple expressions are treated as AND expressions,--- meaning that resources must match all expressions to pass the filters.+-- based on label values. To filter on multiple expressions, provide each+-- separate expression within parentheses. For example,+-- (scheduling.automaticRestart eq true) (zone eq us-central1-f). Multiple+-- expressions are treated as AND expressions, meaning that resources must+-- match all expressions to pass the filters. dlFilter :: Lens' DisksList (Maybe Text) dlFilter = lens _dlFilter (\ s a -> s{_dlFilter = a}) @@ -152,7 +169,8 @@ "https://www.googleapis.com/auth/compute", "https://www.googleapis.com/auth/compute.readonly"] requestClient DisksList'{..}- = go _dlProject _dlZone _dlFilter _dlPageToken+ = go _dlProject _dlZone _dlOrderBy _dlFilter+ _dlPageToken (Just _dlMaxResults) (Just AltJSON) computeService
gen/Network/Google/Resource/Compute/Firewalls/List.hs view
@@ -33,6 +33,7 @@ , FirewallsList -- * Request Lenses+ , flOrderBy , flProject , flFilter , flPageToken@@ -51,16 +52,18 @@ Capture "project" Text :> "global" :> "firewalls" :>- QueryParam "filter" Text :>- QueryParam "pageToken" Text :>- QueryParam "maxResults" (Textual Word32) :>- QueryParam "alt" AltJSON :> Get '[JSON] FirewallList+ QueryParam "orderBy" Text :>+ QueryParam "filter" Text :>+ QueryParam "pageToken" Text :>+ QueryParam "maxResults" (Textual Word32) :>+ QueryParam "alt" AltJSON :> Get '[JSON] FirewallList -- | Retrieves the list of firewall rules available to the specified project. -- -- /See:/ 'firewallsList' smart constructor. data FirewallsList = FirewallsList'- { _flProject :: !Text+ { _flOrderBy :: !(Maybe Text)+ , _flProject :: !Text , _flFilter :: !(Maybe Text) , _flPageToken :: !(Maybe Text) , _flMaxResults :: !(Textual Word32)@@ -70,6 +73,8 @@ -- -- Use one of the following lenses to modify other fields as desired: --+-- * 'flOrderBy'+-- -- * 'flProject' -- -- * 'flFilter'@@ -82,12 +87,25 @@ -> FirewallsList firewallsList pFlProject_ = FirewallsList'- { _flProject = pFlProject_+ { _flOrderBy = Nothing+ , _flProject = pFlProject_ , _flFilter = Nothing , _flPageToken = Nothing , _flMaxResults = 500 } +-- | Sorts list results by a certain order. By default, results are returned+-- in alphanumerical order based on the resource name. You can also sort+-- results in descending order based on the creation timestamp using+-- orderBy=\"creationTimestamp desc\". This sorts results based on the+-- creationTimestamp field in reverse chronological order (newest result+-- first). Use this to sort resources like operations so that the newest+-- operation is returned first. Currently, only sorting by name or+-- creationTimestamp desc is supported.+flOrderBy :: Lens' FirewallsList (Maybe Text)+flOrderBy+ = lens _flOrderBy (\ s a -> s{_flOrderBy = a})+ -- | Project ID for this request. flProject :: Lens' FirewallsList Text flProject@@ -104,16 +122,15 @@ -- value is interpreted as a regular expression using RE2 syntax. The -- literal value must match the entire field. For example, to filter for -- instances that do not have a name of example-instance, you would use--- filter=name ne example-instance. Compute Engine Beta API Only: When--- filtering in the Beta API, you can also filter on nested fields. For+-- filter=name ne example-instance. You can filter on nested fields. For -- example, you could filter on instances that have set the -- scheduling.automaticRestart field to true. Use filtering on nested -- fields to take advantage of labels to organize and search for results--- based on label values. The Beta API also supports filtering on multiple--- expressions by providing each separate expression within parentheses.--- For example, (scheduling.automaticRestart eq true) (zone eq--- us-central1-f). Multiple expressions are treated as AND expressions,--- meaning that resources must match all expressions to pass the filters.+-- based on label values. To filter on multiple expressions, provide each+-- separate expression within parentheses. For example,+-- (scheduling.automaticRestart eq true) (zone eq us-central1-f). Multiple+-- expressions are treated as AND expressions, meaning that resources must+-- match all expressions to pass the filters. flFilter :: Lens' FirewallsList (Maybe Text) flFilter = lens _flFilter (\ s a -> s{_flFilter = a}) @@ -139,7 +156,7 @@ "https://www.googleapis.com/auth/compute", "https://www.googleapis.com/auth/compute.readonly"] requestClient FirewallsList'{..}- = go _flProject _flFilter _flPageToken+ = go _flProject _flOrderBy _flFilter _flPageToken (Just _flMaxResults) (Just AltJSON) computeService
gen/Network/Google/Resource/Compute/ForwardingRules/AggregatedList.hs view
@@ -33,6 +33,7 @@ , ForwardingRulesAggregatedList -- * Request Lenses+ , fralOrderBy , fralProject , fralFilter , fralPageToken@@ -51,17 +52,19 @@ Capture "project" Text :> "aggregated" :> "forwardingRules" :>- QueryParam "filter" Text :>- QueryParam "pageToken" Text :>- QueryParam "maxResults" (Textual Word32) :>- QueryParam "alt" AltJSON :>- Get '[JSON] ForwardingRuleAggregatedList+ QueryParam "orderBy" Text :>+ QueryParam "filter" Text :>+ QueryParam "pageToken" Text :>+ QueryParam "maxResults" (Textual Word32) :>+ QueryParam "alt" AltJSON :>+ Get '[JSON] ForwardingRuleAggregatedList -- | Retrieves an aggregated list of forwarding rules. -- -- /See:/ 'forwardingRulesAggregatedList' smart constructor. data ForwardingRulesAggregatedList = ForwardingRulesAggregatedList'- { _fralProject :: !Text+ { _fralOrderBy :: !(Maybe Text)+ , _fralProject :: !Text , _fralFilter :: !(Maybe Text) , _fralPageToken :: !(Maybe Text) , _fralMaxResults :: !(Textual Word32)@@ -71,6 +74,8 @@ -- -- Use one of the following lenses to modify other fields as desired: --+-- * 'fralOrderBy'+-- -- * 'fralProject' -- -- * 'fralFilter'@@ -83,12 +88,25 @@ -> ForwardingRulesAggregatedList forwardingRulesAggregatedList pFralProject_ = ForwardingRulesAggregatedList'- { _fralProject = pFralProject_+ { _fralOrderBy = Nothing+ , _fralProject = pFralProject_ , _fralFilter = Nothing , _fralPageToken = Nothing , _fralMaxResults = 500 } +-- | Sorts list results by a certain order. By default, results are returned+-- in alphanumerical order based on the resource name. You can also sort+-- results in descending order based on the creation timestamp using+-- orderBy=\"creationTimestamp desc\". This sorts results based on the+-- creationTimestamp field in reverse chronological order (newest result+-- first). Use this to sort resources like operations so that the newest+-- operation is returned first. Currently, only sorting by name or+-- creationTimestamp desc is supported.+fralOrderBy :: Lens' ForwardingRulesAggregatedList (Maybe Text)+fralOrderBy+ = lens _fralOrderBy (\ s a -> s{_fralOrderBy = a})+ -- | Project ID for this request. fralProject :: Lens' ForwardingRulesAggregatedList Text fralProject@@ -105,16 +123,15 @@ -- value is interpreted as a regular expression using RE2 syntax. The -- literal value must match the entire field. For example, to filter for -- instances that do not have a name of example-instance, you would use--- filter=name ne example-instance. Compute Engine Beta API Only: When--- filtering in the Beta API, you can also filter on nested fields. For+-- filter=name ne example-instance. You can filter on nested fields. For -- example, you could filter on instances that have set the -- scheduling.automaticRestart field to true. Use filtering on nested -- fields to take advantage of labels to organize and search for results--- based on label values. The Beta API also supports filtering on multiple--- expressions by providing each separate expression within parentheses.--- For example, (scheduling.automaticRestart eq true) (zone eq--- us-central1-f). Multiple expressions are treated as AND expressions,--- meaning that resources must match all expressions to pass the filters.+-- based on label values. To filter on multiple expressions, provide each+-- separate expression within parentheses. For example,+-- (scheduling.automaticRestart eq true) (zone eq us-central1-f). Multiple+-- expressions are treated as AND expressions, meaning that resources must+-- match all expressions to pass the filters. fralFilter :: Lens' ForwardingRulesAggregatedList (Maybe Text) fralFilter = lens _fralFilter (\ s a -> s{_fralFilter = a})@@ -145,7 +162,8 @@ "https://www.googleapis.com/auth/compute", "https://www.googleapis.com/auth/compute.readonly"] requestClient ForwardingRulesAggregatedList'{..}- = go _fralProject _fralFilter _fralPageToken+ = go _fralProject _fralOrderBy _fralFilter+ _fralPageToken (Just _fralMaxResults) (Just AltJSON) computeService
gen/Network/Google/Resource/Compute/ForwardingRules/List.hs view
@@ -34,6 +34,7 @@ , ForwardingRulesList -- * Request Lenses+ , frlOrderBy , frlProject , frlFilter , frlRegion@@ -54,18 +55,20 @@ "regions" :> Capture "region" Text :> "forwardingRules" :>- QueryParam "filter" Text :>- QueryParam "pageToken" Text :>- QueryParam "maxResults" (Textual Word32) :>- QueryParam "alt" AltJSON :>- Get '[JSON] ForwardingRuleList+ QueryParam "orderBy" Text :>+ QueryParam "filter" Text :>+ QueryParam "pageToken" Text :>+ QueryParam "maxResults" (Textual Word32) :>+ QueryParam "alt" AltJSON :>+ Get '[JSON] ForwardingRuleList -- | Retrieves a list of ForwardingRule resources available to the specified -- project and region. -- -- /See:/ 'forwardingRulesList' smart constructor. data ForwardingRulesList = ForwardingRulesList'- { _frlProject :: !Text+ { _frlOrderBy :: !(Maybe Text)+ , _frlProject :: !Text , _frlFilter :: !(Maybe Text) , _frlRegion :: !Text , _frlPageToken :: !(Maybe Text)@@ -76,6 +79,8 @@ -- -- Use one of the following lenses to modify other fields as desired: --+-- * 'frlOrderBy'+-- -- * 'frlProject' -- -- * 'frlFilter'@@ -91,13 +96,26 @@ -> ForwardingRulesList forwardingRulesList pFrlProject_ pFrlRegion_ = ForwardingRulesList'- { _frlProject = pFrlProject_+ { _frlOrderBy = Nothing+ , _frlProject = pFrlProject_ , _frlFilter = Nothing , _frlRegion = pFrlRegion_ , _frlPageToken = Nothing , _frlMaxResults = 500 } +-- | Sorts list results by a certain order. By default, results are returned+-- in alphanumerical order based on the resource name. You can also sort+-- results in descending order based on the creation timestamp using+-- orderBy=\"creationTimestamp desc\". This sorts results based on the+-- creationTimestamp field in reverse chronological order (newest result+-- first). Use this to sort resources like operations so that the newest+-- operation is returned first. Currently, only sorting by name or+-- creationTimestamp desc is supported.+frlOrderBy :: Lens' ForwardingRulesList (Maybe Text)+frlOrderBy+ = lens _frlOrderBy (\ s a -> s{_frlOrderBy = a})+ -- | Project ID for this request. frlProject :: Lens' ForwardingRulesList Text frlProject@@ -114,16 +132,15 @@ -- value is interpreted as a regular expression using RE2 syntax. The -- literal value must match the entire field. For example, to filter for -- instances that do not have a name of example-instance, you would use--- filter=name ne example-instance. Compute Engine Beta API Only: When--- filtering in the Beta API, you can also filter on nested fields. For+-- filter=name ne example-instance. You can filter on nested fields. For -- example, you could filter on instances that have set the -- scheduling.automaticRestart field to true. Use filtering on nested -- fields to take advantage of labels to organize and search for results--- based on label values. The Beta API also supports filtering on multiple--- expressions by providing each separate expression within parentheses.--- For example, (scheduling.automaticRestart eq true) (zone eq--- us-central1-f). Multiple expressions are treated as AND expressions,--- meaning that resources must match all expressions to pass the filters.+-- based on label values. To filter on multiple expressions, provide each+-- separate expression within parentheses. For example,+-- (scheduling.automaticRestart eq true) (zone eq us-central1-f). Multiple+-- expressions are treated as AND expressions, meaning that resources must+-- match all expressions to pass the filters. frlFilter :: Lens' ForwardingRulesList (Maybe Text) frlFilter = lens _frlFilter (\ s a -> s{_frlFilter = a})@@ -156,7 +173,8 @@ "https://www.googleapis.com/auth/compute", "https://www.googleapis.com/auth/compute.readonly"] requestClient ForwardingRulesList'{..}- = go _frlProject _frlRegion _frlFilter _frlPageToken+ = go _frlProject _frlRegion _frlOrderBy _frlFilter+ _frlPageToken (Just _frlMaxResults) (Just AltJSON) computeService
gen/Network/Google/Resource/Compute/GlobalAddresses/List.hs view
@@ -33,6 +33,7 @@ , GlobalAddressesList -- * Request Lenses+ , galOrderBy , galProject , galFilter , galPageToken@@ -51,16 +52,18 @@ Capture "project" Text :> "global" :> "addresses" :>- QueryParam "filter" Text :>- QueryParam "pageToken" Text :>- QueryParam "maxResults" (Textual Word32) :>- QueryParam "alt" AltJSON :> Get '[JSON] AddressList+ QueryParam "orderBy" Text :>+ QueryParam "filter" Text :>+ QueryParam "pageToken" Text :>+ QueryParam "maxResults" (Textual Word32) :>+ QueryParam "alt" AltJSON :> Get '[JSON] AddressList -- | Retrieves a list of global addresses. -- -- /See:/ 'globalAddressesList' smart constructor. data GlobalAddressesList = GlobalAddressesList'- { _galProject :: !Text+ { _galOrderBy :: !(Maybe Text)+ , _galProject :: !Text , _galFilter :: !(Maybe Text) , _galPageToken :: !(Maybe Text) , _galMaxResults :: !(Textual Word32)@@ -70,6 +73,8 @@ -- -- Use one of the following lenses to modify other fields as desired: --+-- * 'galOrderBy'+-- -- * 'galProject' -- -- * 'galFilter'@@ -82,12 +87,25 @@ -> GlobalAddressesList globalAddressesList pGalProject_ = GlobalAddressesList'- { _galProject = pGalProject_+ { _galOrderBy = Nothing+ , _galProject = pGalProject_ , _galFilter = Nothing , _galPageToken = Nothing , _galMaxResults = 500 } +-- | Sorts list results by a certain order. By default, results are returned+-- in alphanumerical order based on the resource name. You can also sort+-- results in descending order based on the creation timestamp using+-- orderBy=\"creationTimestamp desc\". This sorts results based on the+-- creationTimestamp field in reverse chronological order (newest result+-- first). Use this to sort resources like operations so that the newest+-- operation is returned first. Currently, only sorting by name or+-- creationTimestamp desc is supported.+galOrderBy :: Lens' GlobalAddressesList (Maybe Text)+galOrderBy+ = lens _galOrderBy (\ s a -> s{_galOrderBy = a})+ -- | Project ID for this request. galProject :: Lens' GlobalAddressesList Text galProject@@ -104,16 +122,15 @@ -- value is interpreted as a regular expression using RE2 syntax. The -- literal value must match the entire field. For example, to filter for -- instances that do not have a name of example-instance, you would use--- filter=name ne example-instance. Compute Engine Beta API Only: When--- filtering in the Beta API, you can also filter on nested fields. For+-- filter=name ne example-instance. You can filter on nested fields. For -- example, you could filter on instances that have set the -- scheduling.automaticRestart field to true. Use filtering on nested -- fields to take advantage of labels to organize and search for results--- based on label values. The Beta API also supports filtering on multiple--- expressions by providing each separate expression within parentheses.--- For example, (scheduling.automaticRestart eq true) (zone eq--- us-central1-f). Multiple expressions are treated as AND expressions,--- meaning that resources must match all expressions to pass the filters.+-- based on label values. To filter on multiple expressions, provide each+-- separate expression within parentheses. For example,+-- (scheduling.automaticRestart eq true) (zone eq us-central1-f). Multiple+-- expressions are treated as AND expressions, meaning that resources must+-- match all expressions to pass the filters. galFilter :: Lens' GlobalAddressesList (Maybe Text) galFilter = lens _galFilter (\ s a -> s{_galFilter = a})@@ -141,7 +158,7 @@ "https://www.googleapis.com/auth/compute", "https://www.googleapis.com/auth/compute.readonly"] requestClient GlobalAddressesList'{..}- = go _galProject _galFilter _galPageToken+ = go _galProject _galOrderBy _galFilter _galPageToken (Just _galMaxResults) (Just AltJSON) computeService
gen/Network/Google/Resource/Compute/GlobalForwardingRules/List.hs view
@@ -34,6 +34,7 @@ , GlobalForwardingRulesList -- * Request Lenses+ , gfrlOrderBy , gfrlProject , gfrlFilter , gfrlPageToken@@ -52,18 +53,20 @@ Capture "project" Text :> "global" :> "forwardingRules" :>- QueryParam "filter" Text :>- QueryParam "pageToken" Text :>- QueryParam "maxResults" (Textual Word32) :>- QueryParam "alt" AltJSON :>- Get '[JSON] ForwardingRuleList+ QueryParam "orderBy" Text :>+ QueryParam "filter" Text :>+ QueryParam "pageToken" Text :>+ QueryParam "maxResults" (Textual Word32) :>+ QueryParam "alt" AltJSON :>+ Get '[JSON] ForwardingRuleList -- | Retrieves a list of ForwardingRule resources available to the specified -- project. -- -- /See:/ 'globalForwardingRulesList' smart constructor. data GlobalForwardingRulesList = GlobalForwardingRulesList'- { _gfrlProject :: !Text+ { _gfrlOrderBy :: !(Maybe Text)+ , _gfrlProject :: !Text , _gfrlFilter :: !(Maybe Text) , _gfrlPageToken :: !(Maybe Text) , _gfrlMaxResults :: !(Textual Word32)@@ -73,6 +76,8 @@ -- -- Use one of the following lenses to modify other fields as desired: --+-- * 'gfrlOrderBy'+-- -- * 'gfrlProject' -- -- * 'gfrlFilter'@@ -85,12 +90,25 @@ -> GlobalForwardingRulesList globalForwardingRulesList pGfrlProject_ = GlobalForwardingRulesList'- { _gfrlProject = pGfrlProject_+ { _gfrlOrderBy = Nothing+ , _gfrlProject = pGfrlProject_ , _gfrlFilter = Nothing , _gfrlPageToken = Nothing , _gfrlMaxResults = 500 } +-- | Sorts list results by a certain order. By default, results are returned+-- in alphanumerical order based on the resource name. You can also sort+-- results in descending order based on the creation timestamp using+-- orderBy=\"creationTimestamp desc\". This sorts results based on the+-- creationTimestamp field in reverse chronological order (newest result+-- first). Use this to sort resources like operations so that the newest+-- operation is returned first. Currently, only sorting by name or+-- creationTimestamp desc is supported.+gfrlOrderBy :: Lens' GlobalForwardingRulesList (Maybe Text)+gfrlOrderBy+ = lens _gfrlOrderBy (\ s a -> s{_gfrlOrderBy = a})+ -- | Project ID for this request. gfrlProject :: Lens' GlobalForwardingRulesList Text gfrlProject@@ -107,16 +125,15 @@ -- value is interpreted as a regular expression using RE2 syntax. The -- literal value must match the entire field. For example, to filter for -- instances that do not have a name of example-instance, you would use--- filter=name ne example-instance. Compute Engine Beta API Only: When--- filtering in the Beta API, you can also filter on nested fields. For+-- filter=name ne example-instance. You can filter on nested fields. For -- example, you could filter on instances that have set the -- scheduling.automaticRestart field to true. Use filtering on nested -- fields to take advantage of labels to organize and search for results--- based on label values. The Beta API also supports filtering on multiple--- expressions by providing each separate expression within parentheses.--- For example, (scheduling.automaticRestart eq true) (zone eq--- us-central1-f). Multiple expressions are treated as AND expressions,--- meaning that resources must match all expressions to pass the filters.+-- based on label values. To filter on multiple expressions, provide each+-- separate expression within parentheses. For example,+-- (scheduling.automaticRestart eq true) (zone eq us-central1-f). Multiple+-- expressions are treated as AND expressions, meaning that resources must+-- match all expressions to pass the filters. gfrlFilter :: Lens' GlobalForwardingRulesList (Maybe Text) gfrlFilter = lens _gfrlFilter (\ s a -> s{_gfrlFilter = a})@@ -147,7 +164,8 @@ "https://www.googleapis.com/auth/compute", "https://www.googleapis.com/auth/compute.readonly"] requestClient GlobalForwardingRulesList'{..}- = go _gfrlProject _gfrlFilter _gfrlPageToken+ = go _gfrlProject _gfrlOrderBy _gfrlFilter+ _gfrlPageToken (Just _gfrlMaxResults) (Just AltJSON) computeService
gen/Network/Google/Resource/Compute/GlobalOperations/AggregatedList.hs view
@@ -33,6 +33,7 @@ , GlobalOperationsAggregatedList -- * Request Lenses+ , goalOrderBy , goalProject , goalFilter , goalPageToken@@ -51,17 +52,19 @@ Capture "project" Text :> "aggregated" :> "operations" :>- QueryParam "filter" Text :>- QueryParam "pageToken" Text :>- QueryParam "maxResults" (Textual Word32) :>- QueryParam "alt" AltJSON :>- Get '[JSON] OperationAggregatedList+ QueryParam "orderBy" Text :>+ QueryParam "filter" Text :>+ QueryParam "pageToken" Text :>+ QueryParam "maxResults" (Textual Word32) :>+ QueryParam "alt" AltJSON :>+ Get '[JSON] OperationAggregatedList -- | Retrieves an aggregated list of all operations. -- -- /See:/ 'globalOperationsAggregatedList' smart constructor. data GlobalOperationsAggregatedList = GlobalOperationsAggregatedList'- { _goalProject :: !Text+ { _goalOrderBy :: !(Maybe Text)+ , _goalProject :: !Text , _goalFilter :: !(Maybe Text) , _goalPageToken :: !(Maybe Text) , _goalMaxResults :: !(Textual Word32)@@ -71,6 +74,8 @@ -- -- Use one of the following lenses to modify other fields as desired: --+-- * 'goalOrderBy'+-- -- * 'goalProject' -- -- * 'goalFilter'@@ -83,12 +88,25 @@ -> GlobalOperationsAggregatedList globalOperationsAggregatedList pGoalProject_ = GlobalOperationsAggregatedList'- { _goalProject = pGoalProject_+ { _goalOrderBy = Nothing+ , _goalProject = pGoalProject_ , _goalFilter = Nothing , _goalPageToken = Nothing , _goalMaxResults = 500 } +-- | Sorts list results by a certain order. By default, results are returned+-- in alphanumerical order based on the resource name. You can also sort+-- results in descending order based on the creation timestamp using+-- orderBy=\"creationTimestamp desc\". This sorts results based on the+-- creationTimestamp field in reverse chronological order (newest result+-- first). Use this to sort resources like operations so that the newest+-- operation is returned first. Currently, only sorting by name or+-- creationTimestamp desc is supported.+goalOrderBy :: Lens' GlobalOperationsAggregatedList (Maybe Text)+goalOrderBy+ = lens _goalOrderBy (\ s a -> s{_goalOrderBy = a})+ -- | Project ID for this request. goalProject :: Lens' GlobalOperationsAggregatedList Text goalProject@@ -105,16 +123,15 @@ -- value is interpreted as a regular expression using RE2 syntax. The -- literal value must match the entire field. For example, to filter for -- instances that do not have a name of example-instance, you would use--- filter=name ne example-instance. Compute Engine Beta API Only: When--- filtering in the Beta API, you can also filter on nested fields. For+-- filter=name ne example-instance. You can filter on nested fields. For -- example, you could filter on instances that have set the -- scheduling.automaticRestart field to true. Use filtering on nested -- fields to take advantage of labels to organize and search for results--- based on label values. The Beta API also supports filtering on multiple--- expressions by providing each separate expression within parentheses.--- For example, (scheduling.automaticRestart eq true) (zone eq--- us-central1-f). Multiple expressions are treated as AND expressions,--- meaning that resources must match all expressions to pass the filters.+-- based on label values. To filter on multiple expressions, provide each+-- separate expression within parentheses. For example,+-- (scheduling.automaticRestart eq true) (zone eq us-central1-f). Multiple+-- expressions are treated as AND expressions, meaning that resources must+-- match all expressions to pass the filters. goalFilter :: Lens' GlobalOperationsAggregatedList (Maybe Text) goalFilter = lens _goalFilter (\ s a -> s{_goalFilter = a})@@ -145,7 +162,8 @@ "https://www.googleapis.com/auth/compute", "https://www.googleapis.com/auth/compute.readonly"] requestClient GlobalOperationsAggregatedList'{..}- = go _goalProject _goalFilter _goalPageToken+ = go _goalProject _goalOrderBy _goalFilter+ _goalPageToken (Just _goalMaxResults) (Just AltJSON) computeService
gen/Network/Google/Resource/Compute/GlobalOperations/List.hs view
@@ -34,6 +34,7 @@ , GlobalOperationsList -- * Request Lenses+ , golOrderBy , golProject , golFilter , golPageToken@@ -52,17 +53,19 @@ Capture "project" Text :> "global" :> "operations" :>- QueryParam "filter" Text :>- QueryParam "pageToken" Text :>- QueryParam "maxResults" (Textual Word32) :>- QueryParam "alt" AltJSON :> Get '[JSON] OperationList+ QueryParam "orderBy" Text :>+ QueryParam "filter" Text :>+ QueryParam "pageToken" Text :>+ QueryParam "maxResults" (Textual Word32) :>+ QueryParam "alt" AltJSON :> Get '[JSON] OperationList -- | Retrieves a list of Operation resources contained within the specified -- project. -- -- /See:/ 'globalOperationsList' smart constructor. data GlobalOperationsList = GlobalOperationsList'- { _golProject :: !Text+ { _golOrderBy :: !(Maybe Text)+ , _golProject :: !Text , _golFilter :: !(Maybe Text) , _golPageToken :: !(Maybe Text) , _golMaxResults :: !(Textual Word32)@@ -72,6 +75,8 @@ -- -- Use one of the following lenses to modify other fields as desired: --+-- * 'golOrderBy'+-- -- * 'golProject' -- -- * 'golFilter'@@ -84,12 +89,25 @@ -> GlobalOperationsList globalOperationsList pGolProject_ = GlobalOperationsList'- { _golProject = pGolProject_+ { _golOrderBy = Nothing+ , _golProject = pGolProject_ , _golFilter = Nothing , _golPageToken = Nothing , _golMaxResults = 500 } +-- | Sorts list results by a certain order. By default, results are returned+-- in alphanumerical order based on the resource name. You can also sort+-- results in descending order based on the creation timestamp using+-- orderBy=\"creationTimestamp desc\". This sorts results based on the+-- creationTimestamp field in reverse chronological order (newest result+-- first). Use this to sort resources like operations so that the newest+-- operation is returned first. Currently, only sorting by name or+-- creationTimestamp desc is supported.+golOrderBy :: Lens' GlobalOperationsList (Maybe Text)+golOrderBy+ = lens _golOrderBy (\ s a -> s{_golOrderBy = a})+ -- | Project ID for this request. golProject :: Lens' GlobalOperationsList Text golProject@@ -106,16 +124,15 @@ -- value is interpreted as a regular expression using RE2 syntax. The -- literal value must match the entire field. For example, to filter for -- instances that do not have a name of example-instance, you would use--- filter=name ne example-instance. Compute Engine Beta API Only: When--- filtering in the Beta API, you can also filter on nested fields. For+-- filter=name ne example-instance. You can filter on nested fields. For -- example, you could filter on instances that have set the -- scheduling.automaticRestart field to true. Use filtering on nested -- fields to take advantage of labels to organize and search for results--- based on label values. The Beta API also supports filtering on multiple--- expressions by providing each separate expression within parentheses.--- For example, (scheduling.automaticRestart eq true) (zone eq--- us-central1-f). Multiple expressions are treated as AND expressions,--- meaning that resources must match all expressions to pass the filters.+-- based on label values. To filter on multiple expressions, provide each+-- separate expression within parentheses. For example,+-- (scheduling.automaticRestart eq true) (zone eq us-central1-f). Multiple+-- expressions are treated as AND expressions, meaning that resources must+-- match all expressions to pass the filters. golFilter :: Lens' GlobalOperationsList (Maybe Text) golFilter = lens _golFilter (\ s a -> s{_golFilter = a})@@ -143,7 +160,7 @@ "https://www.googleapis.com/auth/compute", "https://www.googleapis.com/auth/compute.readonly"] requestClient GlobalOperationsList'{..}- = go _golProject _golFilter _golPageToken+ = go _golProject _golOrderBy _golFilter _golPageToken (Just _golMaxResults) (Just AltJSON) computeService
gen/Network/Google/Resource/Compute/HTTPHealthChecks/List.hs view
@@ -34,6 +34,7 @@ , HTTPHealthChecksList -- * Request Lenses+ , httphclOrderBy , httphclProject , httphclFilter , httphclPageToken@@ -52,18 +53,20 @@ Capture "project" Text :> "global" :> "httpHealthChecks" :>- QueryParam "filter" Text :>- QueryParam "pageToken" Text :>- QueryParam "maxResults" (Textual Word32) :>- QueryParam "alt" AltJSON :>- Get '[JSON] HTTPHealthCheckList+ QueryParam "orderBy" Text :>+ QueryParam "filter" Text :>+ QueryParam "pageToken" Text :>+ QueryParam "maxResults" (Textual Word32) :>+ QueryParam "alt" AltJSON :>+ Get '[JSON] HTTPHealthCheckList -- | Retrieves the list of HttpHealthCheck resources available to the -- specified project. -- -- /See:/ 'hTTPHealthChecksList' smart constructor. data HTTPHealthChecksList = HTTPHealthChecksList'- { _httphclProject :: !Text+ { _httphclOrderBy :: !(Maybe Text)+ , _httphclProject :: !Text , _httphclFilter :: !(Maybe Text) , _httphclPageToken :: !(Maybe Text) , _httphclMaxResults :: !(Textual Word32)@@ -73,6 +76,8 @@ -- -- Use one of the following lenses to modify other fields as desired: --+-- * 'httphclOrderBy'+-- -- * 'httphclProject' -- -- * 'httphclFilter'@@ -85,12 +90,26 @@ -> HTTPHealthChecksList hTTPHealthChecksList pHttphclProject_ = HTTPHealthChecksList'- { _httphclProject = pHttphclProject_+ { _httphclOrderBy = Nothing+ , _httphclProject = pHttphclProject_ , _httphclFilter = Nothing , _httphclPageToken = Nothing , _httphclMaxResults = 500 } +-- | Sorts list results by a certain order. By default, results are returned+-- in alphanumerical order based on the resource name. You can also sort+-- results in descending order based on the creation timestamp using+-- orderBy=\"creationTimestamp desc\". This sorts results based on the+-- creationTimestamp field in reverse chronological order (newest result+-- first). Use this to sort resources like operations so that the newest+-- operation is returned first. Currently, only sorting by name or+-- creationTimestamp desc is supported.+httphclOrderBy :: Lens' HTTPHealthChecksList (Maybe Text)+httphclOrderBy+ = lens _httphclOrderBy+ (\ s a -> s{_httphclOrderBy = a})+ -- | Project ID for this request. httphclProject :: Lens' HTTPHealthChecksList Text httphclProject@@ -108,16 +127,15 @@ -- value is interpreted as a regular expression using RE2 syntax. The -- literal value must match the entire field. For example, to filter for -- instances that do not have a name of example-instance, you would use--- filter=name ne example-instance. Compute Engine Beta API Only: When--- filtering in the Beta API, you can also filter on nested fields. For+-- filter=name ne example-instance. You can filter on nested fields. For -- example, you could filter on instances that have set the -- scheduling.automaticRestart field to true. Use filtering on nested -- fields to take advantage of labels to organize and search for results--- based on label values. The Beta API also supports filtering on multiple--- expressions by providing each separate expression within parentheses.--- For example, (scheduling.automaticRestart eq true) (zone eq--- us-central1-f). Multiple expressions are treated as AND expressions,--- meaning that resources must match all expressions to pass the filters.+-- based on label values. To filter on multiple expressions, provide each+-- separate expression within parentheses. For example,+-- (scheduling.automaticRestart eq true) (zone eq us-central1-f). Multiple+-- expressions are treated as AND expressions, meaning that resources must+-- match all expressions to pass the filters. httphclFilter :: Lens' HTTPHealthChecksList (Maybe Text) httphclFilter = lens _httphclFilter@@ -147,7 +165,8 @@ "https://www.googleapis.com/auth/compute", "https://www.googleapis.com/auth/compute.readonly"] requestClient HTTPHealthChecksList'{..}- = go _httphclProject _httphclFilter _httphclPageToken+ = go _httphclProject _httphclOrderBy _httphclFilter+ _httphclPageToken (Just _httphclMaxResults) (Just AltJSON) computeService
gen/Network/Google/Resource/Compute/HTTPSHealthChecks/List.hs view
@@ -34,6 +34,7 @@ , HTTPSHealthChecksList -- * Request Lenses+ , hhclOrderBy , hhclProject , hhclFilter , hhclPageToken@@ -52,18 +53,20 @@ Capture "project" Text :> "global" :> "httpsHealthChecks" :>- QueryParam "filter" Text :>- QueryParam "pageToken" Text :>- QueryParam "maxResults" (Textual Word32) :>- QueryParam "alt" AltJSON :>- Get '[JSON] HTTPSHealthCheckList+ QueryParam "orderBy" Text :>+ QueryParam "filter" Text :>+ QueryParam "pageToken" Text :>+ QueryParam "maxResults" (Textual Word32) :>+ QueryParam "alt" AltJSON :>+ Get '[JSON] HTTPSHealthCheckList -- | Retrieves the list of HttpsHealthCheck resources available to the -- specified project. -- -- /See:/ 'httpsHealthChecksList' smart constructor. data HTTPSHealthChecksList = HTTPSHealthChecksList'- { _hhclProject :: !Text+ { _hhclOrderBy :: !(Maybe Text)+ , _hhclProject :: !Text , _hhclFilter :: !(Maybe Text) , _hhclPageToken :: !(Maybe Text) , _hhclMaxResults :: !(Textual Word32)@@ -73,6 +76,8 @@ -- -- Use one of the following lenses to modify other fields as desired: --+-- * 'hhclOrderBy'+-- -- * 'hhclProject' -- -- * 'hhclFilter'@@ -85,12 +90,25 @@ -> HTTPSHealthChecksList httpsHealthChecksList pHhclProject_ = HTTPSHealthChecksList'- { _hhclProject = pHhclProject_+ { _hhclOrderBy = Nothing+ , _hhclProject = pHhclProject_ , _hhclFilter = Nothing , _hhclPageToken = Nothing , _hhclMaxResults = 500 } +-- | Sorts list results by a certain order. By default, results are returned+-- in alphanumerical order based on the resource name. You can also sort+-- results in descending order based on the creation timestamp using+-- orderBy=\"creationTimestamp desc\". This sorts results based on the+-- creationTimestamp field in reverse chronological order (newest result+-- first). Use this to sort resources like operations so that the newest+-- operation is returned first. Currently, only sorting by name or+-- creationTimestamp desc is supported.+hhclOrderBy :: Lens' HTTPSHealthChecksList (Maybe Text)+hhclOrderBy+ = lens _hhclOrderBy (\ s a -> s{_hhclOrderBy = a})+ -- | Project ID for this request. hhclProject :: Lens' HTTPSHealthChecksList Text hhclProject@@ -107,16 +125,15 @@ -- value is interpreted as a regular expression using RE2 syntax. The -- literal value must match the entire field. For example, to filter for -- instances that do not have a name of example-instance, you would use--- filter=name ne example-instance. Compute Engine Beta API Only: When--- filtering in the Beta API, you can also filter on nested fields. For+-- filter=name ne example-instance. You can filter on nested fields. For -- example, you could filter on instances that have set the -- scheduling.automaticRestart field to true. Use filtering on nested -- fields to take advantage of labels to organize and search for results--- based on label values. The Beta API also supports filtering on multiple--- expressions by providing each separate expression within parentheses.--- For example, (scheduling.automaticRestart eq true) (zone eq--- us-central1-f). Multiple expressions are treated as AND expressions,--- meaning that resources must match all expressions to pass the filters.+-- based on label values. To filter on multiple expressions, provide each+-- separate expression within parentheses. For example,+-- (scheduling.automaticRestart eq true) (zone eq us-central1-f). Multiple+-- expressions are treated as AND expressions, meaning that resources must+-- match all expressions to pass the filters. hhclFilter :: Lens' HTTPSHealthChecksList (Maybe Text) hhclFilter = lens _hhclFilter (\ s a -> s{_hhclFilter = a})@@ -145,7 +162,8 @@ "https://www.googleapis.com/auth/compute", "https://www.googleapis.com/auth/compute.readonly"] requestClient HTTPSHealthChecksList'{..}- = go _hhclProject _hhclFilter _hhclPageToken+ = go _hhclProject _hhclOrderBy _hhclFilter+ _hhclPageToken (Just _hhclMaxResults) (Just AltJSON) computeService
+ gen/Network/Google/Resource/Compute/HealthChecks/Delete.hs view
@@ -0,0 +1,102 @@+{-# 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.Compute.HealthChecks.Delete+-- 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)+--+-- Deletes the specified HealthCheck resource.+--+-- /See:/ <https://developers.google.com/compute/docs/reference/latest/ Compute Engine API Reference> for @compute.healthChecks.delete@.+module Network.Google.Resource.Compute.HealthChecks.Delete+ (+ -- * REST Resource+ HealthChecksDeleteResource++ -- * Creating a Request+ , healthChecksDelete+ , HealthChecksDelete++ -- * Request Lenses+ , hcdHealthCheck+ , hcdProject+ ) where++import Network.Google.Compute.Types+import Network.Google.Prelude++-- | A resource alias for @compute.healthChecks.delete@ method which the+-- 'HealthChecksDelete' request conforms to.+type HealthChecksDeleteResource =+ "compute" :>+ "v1" :>+ "projects" :>+ Capture "project" Text :>+ "global" :>+ "healthChecks" :>+ Capture "healthCheck" Text :>+ QueryParam "alt" AltJSON :> Delete '[JSON] Operation++-- | Deletes the specified HealthCheck resource.+--+-- /See:/ 'healthChecksDelete' smart constructor.+data HealthChecksDelete = HealthChecksDelete'+ { _hcdHealthCheck :: !Text+ , _hcdProject :: !Text+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'HealthChecksDelete' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'hcdHealthCheck'+--+-- * 'hcdProject'+healthChecksDelete+ :: Text -- ^ 'hcdHealthCheck'+ -> Text -- ^ 'hcdProject'+ -> HealthChecksDelete+healthChecksDelete pHcdHealthCheck_ pHcdProject_ =+ HealthChecksDelete'+ { _hcdHealthCheck = pHcdHealthCheck_+ , _hcdProject = pHcdProject_+ }++-- | Name of the HealthCheck resource to delete.+hcdHealthCheck :: Lens' HealthChecksDelete Text+hcdHealthCheck+ = lens _hcdHealthCheck+ (\ s a -> s{_hcdHealthCheck = a})++-- | Project ID for this request.+hcdProject :: Lens' HealthChecksDelete Text+hcdProject+ = lens _hcdProject (\ s a -> s{_hcdProject = a})++instance GoogleRequest HealthChecksDelete where+ type Rs HealthChecksDelete = Operation+ type Scopes HealthChecksDelete =+ '["https://www.googleapis.com/auth/cloud-platform",+ "https://www.googleapis.com/auth/compute"]+ requestClient HealthChecksDelete'{..}+ = go _hcdProject _hcdHealthCheck (Just AltJSON)+ computeService+ where go+ = buildClient+ (Proxy :: Proxy HealthChecksDeleteResource)+ mempty
+ gen/Network/Google/Resource/Compute/HealthChecks/Get.hs view
@@ -0,0 +1,105 @@+{-# 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.Compute.HealthChecks.Get+-- 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)+--+-- Returns the specified HealthCheck resource. Get a list of available+-- health checks by making a list() request.+--+-- /See:/ <https://developers.google.com/compute/docs/reference/latest/ Compute Engine API Reference> for @compute.healthChecks.get@.+module Network.Google.Resource.Compute.HealthChecks.Get+ (+ -- * REST Resource+ HealthChecksGetResource++ -- * Creating a Request+ , healthChecksGet+ , HealthChecksGet++ -- * Request Lenses+ , hcgHealthCheck+ , hcgProject+ ) where++import Network.Google.Compute.Types+import Network.Google.Prelude++-- | A resource alias for @compute.healthChecks.get@ method which the+-- 'HealthChecksGet' request conforms to.+type HealthChecksGetResource =+ "compute" :>+ "v1" :>+ "projects" :>+ Capture "project" Text :>+ "global" :>+ "healthChecks" :>+ Capture "healthCheck" Text :>+ QueryParam "alt" AltJSON :> Get '[JSON] HealthCheck++-- | Returns the specified HealthCheck resource. Get a list of available+-- health checks by making a list() request.+--+-- /See:/ 'healthChecksGet' smart constructor.+data HealthChecksGet = HealthChecksGet'+ { _hcgHealthCheck :: !Text+ , _hcgProject :: !Text+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'HealthChecksGet' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'hcgHealthCheck'+--+-- * 'hcgProject'+healthChecksGet+ :: Text -- ^ 'hcgHealthCheck'+ -> Text -- ^ 'hcgProject'+ -> HealthChecksGet+healthChecksGet pHcgHealthCheck_ pHcgProject_ =+ HealthChecksGet'+ { _hcgHealthCheck = pHcgHealthCheck_+ , _hcgProject = pHcgProject_+ }++-- | Name of the HealthCheck resource to return.+hcgHealthCheck :: Lens' HealthChecksGet Text+hcgHealthCheck+ = lens _hcgHealthCheck+ (\ s a -> s{_hcgHealthCheck = a})++-- | Project ID for this request.+hcgProject :: Lens' HealthChecksGet Text+hcgProject+ = lens _hcgProject (\ s a -> s{_hcgProject = a})++instance GoogleRequest HealthChecksGet where+ type Rs HealthChecksGet = HealthCheck+ type Scopes HealthChecksGet =+ '["https://www.googleapis.com/auth/cloud-platform",+ "https://www.googleapis.com/auth/compute",+ "https://www.googleapis.com/auth/compute.readonly"]+ requestClient HealthChecksGet'{..}+ = go _hcgProject _hcgHealthCheck (Just AltJSON)+ computeService+ where go+ = buildClient+ (Proxy :: Proxy HealthChecksGetResource)+ mempty
+ gen/Network/Google/Resource/Compute/HealthChecks/Insert.hs view
@@ -0,0 +1,103 @@+{-# 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.Compute.HealthChecks.Insert+-- 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)+--+-- Creates a HealthCheck resource in the specified project using the data+-- included in the request.+--+-- /See:/ <https://developers.google.com/compute/docs/reference/latest/ Compute Engine API Reference> for @compute.healthChecks.insert@.+module Network.Google.Resource.Compute.HealthChecks.Insert+ (+ -- * REST Resource+ HealthChecksInsertResource++ -- * Creating a Request+ , healthChecksInsert+ , HealthChecksInsert++ -- * Request Lenses+ , hciProject+ , hciPayload+ ) where++import Network.Google.Compute.Types+import Network.Google.Prelude++-- | A resource alias for @compute.healthChecks.insert@ method which the+-- 'HealthChecksInsert' request conforms to.+type HealthChecksInsertResource =+ "compute" :>+ "v1" :>+ "projects" :>+ Capture "project" Text :>+ "global" :>+ "healthChecks" :>+ QueryParam "alt" AltJSON :>+ ReqBody '[JSON] HealthCheck :> Post '[JSON] Operation++-- | Creates a HealthCheck resource in the specified project using the data+-- included in the request.+--+-- /See:/ 'healthChecksInsert' smart constructor.+data HealthChecksInsert = HealthChecksInsert'+ { _hciProject :: !Text+ , _hciPayload :: !HealthCheck+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'HealthChecksInsert' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'hciProject'+--+-- * 'hciPayload'+healthChecksInsert+ :: Text -- ^ 'hciProject'+ -> HealthCheck -- ^ 'hciPayload'+ -> HealthChecksInsert+healthChecksInsert pHciProject_ pHciPayload_ =+ HealthChecksInsert'+ { _hciProject = pHciProject_+ , _hciPayload = pHciPayload_+ }++-- | Project ID for this request.+hciProject :: Lens' HealthChecksInsert Text+hciProject+ = lens _hciProject (\ s a -> s{_hciProject = a})++-- | Multipart request metadata.+hciPayload :: Lens' HealthChecksInsert HealthCheck+hciPayload+ = lens _hciPayload (\ s a -> s{_hciPayload = a})++instance GoogleRequest HealthChecksInsert where+ type Rs HealthChecksInsert = Operation+ type Scopes HealthChecksInsert =+ '["https://www.googleapis.com/auth/cloud-platform",+ "https://www.googleapis.com/auth/compute"]+ requestClient HealthChecksInsert'{..}+ = go _hciProject (Just AltJSON) _hciPayload+ computeService+ where go+ = buildClient+ (Proxy :: Proxy HealthChecksInsertResource)+ mempty
+ gen/Network/Google/Resource/Compute/HealthChecks/List.hs view
@@ -0,0 +1,171 @@+{-# 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.Compute.HealthChecks.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)+--+-- Retrieves the list of HealthCheck resources available to the specified+-- project.+--+-- /See:/ <https://developers.google.com/compute/docs/reference/latest/ Compute Engine API Reference> for @compute.healthChecks.list@.+module Network.Google.Resource.Compute.HealthChecks.List+ (+ -- * REST Resource+ HealthChecksListResource++ -- * Creating a Request+ , healthChecksList+ , HealthChecksList++ -- * Request Lenses+ , hclOrderBy+ , hclProject+ , hclFilter+ , hclPageToken+ , hclMaxResults+ ) where++import Network.Google.Compute.Types+import Network.Google.Prelude++-- | A resource alias for @compute.healthChecks.list@ method which the+-- 'HealthChecksList' request conforms to.+type HealthChecksListResource =+ "compute" :>+ "v1" :>+ "projects" :>+ Capture "project" Text :>+ "global" :>+ "healthChecks" :>+ QueryParam "orderBy" Text :>+ QueryParam "filter" Text :>+ QueryParam "pageToken" Text :>+ QueryParam "maxResults" (Textual Word32) :>+ QueryParam "alt" AltJSON :>+ Get '[JSON] HealthCheckList++-- | Retrieves the list of HealthCheck resources available to the specified+-- project.+--+-- /See:/ 'healthChecksList' smart constructor.+data HealthChecksList = HealthChecksList'+ { _hclOrderBy :: !(Maybe Text)+ , _hclProject :: !Text+ , _hclFilter :: !(Maybe Text)+ , _hclPageToken :: !(Maybe Text)+ , _hclMaxResults :: !(Textual Word32)+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'HealthChecksList' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'hclOrderBy'+--+-- * 'hclProject'+--+-- * 'hclFilter'+--+-- * 'hclPageToken'+--+-- * 'hclMaxResults'+healthChecksList+ :: Text -- ^ 'hclProject'+ -> HealthChecksList+healthChecksList pHclProject_ =+ HealthChecksList'+ { _hclOrderBy = Nothing+ , _hclProject = pHclProject_+ , _hclFilter = Nothing+ , _hclPageToken = Nothing+ , _hclMaxResults = 500+ }++-- | Sorts list results by a certain order. By default, results are returned+-- in alphanumerical order based on the resource name. You can also sort+-- results in descending order based on the creation timestamp using+-- orderBy=\"creationTimestamp desc\". This sorts results based on the+-- creationTimestamp field in reverse chronological order (newest result+-- first). Use this to sort resources like operations so that the newest+-- operation is returned first. Currently, only sorting by name or+-- creationTimestamp desc is supported.+hclOrderBy :: Lens' HealthChecksList (Maybe Text)+hclOrderBy+ = lens _hclOrderBy (\ s a -> s{_hclOrderBy = a})++-- | Project ID for this request.+hclProject :: Lens' HealthChecksList Text+hclProject+ = lens _hclProject (\ s a -> s{_hclProject = a})++-- | Sets a filter expression for filtering listed resources, in the form+-- filter={expression}. Your {expression} must be in the format: field_name+-- comparison_string literal_string. The field_name is the name of the+-- field you want to compare. Only atomic field types are supported+-- (string, number, boolean). The comparison_string must be either eq+-- (equals) or ne (not equals). The literal_string is the string value to+-- filter to. The literal value must be valid for the type of field you are+-- filtering by (string, number, boolean). For string fields, the literal+-- value is interpreted as a regular expression using RE2 syntax. The+-- literal value must match the entire field. For example, to filter for+-- instances that do not have a name of example-instance, you would use+-- filter=name ne example-instance. You can filter on nested fields. For+-- example, you could filter on instances that have set the+-- scheduling.automaticRestart field to true. Use filtering on nested+-- fields to take advantage of labels to organize and search for results+-- based on label values. To filter on multiple expressions, provide each+-- separate expression within parentheses. For example,+-- (scheduling.automaticRestart eq true) (zone eq us-central1-f). Multiple+-- expressions are treated as AND expressions, meaning that resources must+-- match all expressions to pass the filters.+hclFilter :: Lens' HealthChecksList (Maybe Text)+hclFilter+ = lens _hclFilter (\ s a -> s{_hclFilter = a})++-- | Specifies a page token to use. Set pageToken to the nextPageToken+-- returned by a previous list request to get the next page of results.+hclPageToken :: Lens' HealthChecksList (Maybe Text)+hclPageToken+ = lens _hclPageToken (\ s a -> s{_hclPageToken = a})++-- | The maximum number of results per page that should be returned. If the+-- number of available results is larger than maxResults, Compute Engine+-- returns a nextPageToken that can be used to get the next page of results+-- in subsequent list requests.+hclMaxResults :: Lens' HealthChecksList Word32+hclMaxResults+ = lens _hclMaxResults+ (\ s a -> s{_hclMaxResults = a})+ . _Coerce++instance GoogleRequest HealthChecksList where+ type Rs HealthChecksList = HealthCheckList+ type Scopes HealthChecksList =+ '["https://www.googleapis.com/auth/cloud-platform",+ "https://www.googleapis.com/auth/compute",+ "https://www.googleapis.com/auth/compute.readonly"]+ requestClient HealthChecksList'{..}+ = go _hclProject _hclOrderBy _hclFilter _hclPageToken+ (Just _hclMaxResults)+ (Just AltJSON)+ computeService+ where go+ = buildClient+ (Proxy :: Proxy HealthChecksListResource)+ mempty
+ gen/Network/Google/Resource/Compute/HealthChecks/Patch.hs view
@@ -0,0 +1,118 @@+{-# 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.Compute.HealthChecks.Patch+-- 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)+--+-- Updates a HealthCheck resource in the specified project using the data+-- included in the request. This method supports patch semantics.+--+-- /See:/ <https://developers.google.com/compute/docs/reference/latest/ Compute Engine API Reference> for @compute.healthChecks.patch@.+module Network.Google.Resource.Compute.HealthChecks.Patch+ (+ -- * REST Resource+ HealthChecksPatchResource++ -- * Creating a Request+ , healthChecksPatch+ , HealthChecksPatch++ -- * Request Lenses+ , hcpHealthCheck+ , hcpProject+ , hcpPayload+ ) where++import Network.Google.Compute.Types+import Network.Google.Prelude++-- | A resource alias for @compute.healthChecks.patch@ method which the+-- 'HealthChecksPatch' request conforms to.+type HealthChecksPatchResource =+ "compute" :>+ "v1" :>+ "projects" :>+ Capture "project" Text :>+ "global" :>+ "healthChecks" :>+ Capture "healthCheck" Text :>+ QueryParam "alt" AltJSON :>+ ReqBody '[JSON] HealthCheck :>+ Patch '[JSON] Operation++-- | Updates a HealthCheck resource in the specified project using the data+-- included in the request. This method supports patch semantics.+--+-- /See:/ 'healthChecksPatch' smart constructor.+data HealthChecksPatch = HealthChecksPatch'+ { _hcpHealthCheck :: !Text+ , _hcpProject :: !Text+ , _hcpPayload :: !HealthCheck+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'HealthChecksPatch' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'hcpHealthCheck'+--+-- * 'hcpProject'+--+-- * 'hcpPayload'+healthChecksPatch+ :: Text -- ^ 'hcpHealthCheck'+ -> Text -- ^ 'hcpProject'+ -> HealthCheck -- ^ 'hcpPayload'+ -> HealthChecksPatch+healthChecksPatch pHcpHealthCheck_ pHcpProject_ pHcpPayload_ =+ HealthChecksPatch'+ { _hcpHealthCheck = pHcpHealthCheck_+ , _hcpProject = pHcpProject_+ , _hcpPayload = pHcpPayload_+ }++-- | Name of the HealthCheck resource to update.+hcpHealthCheck :: Lens' HealthChecksPatch Text+hcpHealthCheck+ = lens _hcpHealthCheck+ (\ s a -> s{_hcpHealthCheck = a})++-- | Project ID for this request.+hcpProject :: Lens' HealthChecksPatch Text+hcpProject+ = lens _hcpProject (\ s a -> s{_hcpProject = a})++-- | Multipart request metadata.+hcpPayload :: Lens' HealthChecksPatch HealthCheck+hcpPayload+ = lens _hcpPayload (\ s a -> s{_hcpPayload = a})++instance GoogleRequest HealthChecksPatch where+ type Rs HealthChecksPatch = Operation+ type Scopes HealthChecksPatch =+ '["https://www.googleapis.com/auth/cloud-platform",+ "https://www.googleapis.com/auth/compute"]+ requestClient HealthChecksPatch'{..}+ = go _hcpProject _hcpHealthCheck (Just AltJSON)+ _hcpPayload+ computeService+ where go+ = buildClient+ (Proxy :: Proxy HealthChecksPatchResource)+ mempty
+ gen/Network/Google/Resource/Compute/HealthChecks/Update.hs view
@@ -0,0 +1,117 @@+{-# 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.Compute.HealthChecks.Update+-- 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)+--+-- Updates a HealthCheck resource in the specified project using the data+-- included in the request.+--+-- /See:/ <https://developers.google.com/compute/docs/reference/latest/ Compute Engine API Reference> for @compute.healthChecks.update@.+module Network.Google.Resource.Compute.HealthChecks.Update+ (+ -- * REST Resource+ HealthChecksUpdateResource++ -- * Creating a Request+ , healthChecksUpdate+ , HealthChecksUpdate++ -- * Request Lenses+ , hcuHealthCheck+ , hcuProject+ , hcuPayload+ ) where++import Network.Google.Compute.Types+import Network.Google.Prelude++-- | A resource alias for @compute.healthChecks.update@ method which the+-- 'HealthChecksUpdate' request conforms to.+type HealthChecksUpdateResource =+ "compute" :>+ "v1" :>+ "projects" :>+ Capture "project" Text :>+ "global" :>+ "healthChecks" :>+ Capture "healthCheck" Text :>+ QueryParam "alt" AltJSON :>+ ReqBody '[JSON] HealthCheck :> Put '[JSON] Operation++-- | Updates a HealthCheck resource in the specified project using the data+-- included in the request.+--+-- /See:/ 'healthChecksUpdate' smart constructor.+data HealthChecksUpdate = HealthChecksUpdate'+ { _hcuHealthCheck :: !Text+ , _hcuProject :: !Text+ , _hcuPayload :: !HealthCheck+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'HealthChecksUpdate' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'hcuHealthCheck'+--+-- * 'hcuProject'+--+-- * 'hcuPayload'+healthChecksUpdate+ :: Text -- ^ 'hcuHealthCheck'+ -> Text -- ^ 'hcuProject'+ -> HealthCheck -- ^ 'hcuPayload'+ -> HealthChecksUpdate+healthChecksUpdate pHcuHealthCheck_ pHcuProject_ pHcuPayload_ =+ HealthChecksUpdate'+ { _hcuHealthCheck = pHcuHealthCheck_+ , _hcuProject = pHcuProject_+ , _hcuPayload = pHcuPayload_+ }++-- | Name of the HealthCheck resource to update.+hcuHealthCheck :: Lens' HealthChecksUpdate Text+hcuHealthCheck+ = lens _hcuHealthCheck+ (\ s a -> s{_hcuHealthCheck = a})++-- | Project ID for this request.+hcuProject :: Lens' HealthChecksUpdate Text+hcuProject+ = lens _hcuProject (\ s a -> s{_hcuProject = a})++-- | Multipart request metadata.+hcuPayload :: Lens' HealthChecksUpdate HealthCheck+hcuPayload+ = lens _hcuPayload (\ s a -> s{_hcuPayload = a})++instance GoogleRequest HealthChecksUpdate where+ type Rs HealthChecksUpdate = Operation+ type Scopes HealthChecksUpdate =+ '["https://www.googleapis.com/auth/cloud-platform",+ "https://www.googleapis.com/auth/compute"]+ requestClient HealthChecksUpdate'{..}+ = go _hcuProject _hcuHealthCheck (Just AltJSON)+ _hcuPayload+ computeService+ where go+ = buildClient+ (Proxy :: Proxy HealthChecksUpdateResource)+ mempty
gen/Network/Google/Resource/Compute/Images/GetFromFamily.hs view
@@ -85,7 +85,7 @@ igffProject = lens _igffProject (\ s a -> s{_igffProject = a}) --- | Name of the image resource to return.+-- | Name of the image family to search for. igffFamily :: Lens' ImagesGetFromFamily Text igffFamily = lens _igffFamily (\ s a -> s{_igffFamily = a})
gen/Network/Google/Resource/Compute/Images/List.hs view
@@ -23,10 +23,9 @@ -- Retrieves the list of private images available to the specified project. -- Private images are images you create that belong to your project. This -- method does not get any images that belong to other projects, including--- publicly-available images, like Debian 7. If you want to get a list of+-- publicly-available images, like Debian 8. If you want to get a list of -- publicly-available images, use this method to make a request to the--- respective image project, such as debian-cloud or windows-cloud. See--- Accessing images for more information.+-- respective image project, such as debian-cloud or windows-cloud. -- -- /See:/ <https://developers.google.com/compute/docs/reference/latest/ Compute Engine API Reference> for @compute.images.list@. module Network.Google.Resource.Compute.Images.List@@ -39,6 +38,7 @@ , ImagesList -- * Request Lenses+ , illOrderBy , illProject , illFilter , illPageToken@@ -57,22 +57,23 @@ Capture "project" Text :> "global" :> "images" :>- QueryParam "filter" Text :>- QueryParam "pageToken" Text :>- QueryParam "maxResults" (Textual Word32) :>- QueryParam "alt" AltJSON :> Get '[JSON] ImageList+ QueryParam "orderBy" Text :>+ QueryParam "filter" Text :>+ QueryParam "pageToken" Text :>+ QueryParam "maxResults" (Textual Word32) :>+ QueryParam "alt" AltJSON :> Get '[JSON] ImageList -- | Retrieves the list of private images available to the specified project. -- Private images are images you create that belong to your project. This -- method does not get any images that belong to other projects, including--- publicly-available images, like Debian 7. If you want to get a list of+-- publicly-available images, like Debian 8. If you want to get a list of -- publicly-available images, use this method to make a request to the--- respective image project, such as debian-cloud or windows-cloud. See--- Accessing images for more information.+-- respective image project, such as debian-cloud or windows-cloud. -- -- /See:/ 'imagesList' smart constructor. data ImagesList = ImagesList'- { _illProject :: !Text+ { _illOrderBy :: !(Maybe Text)+ , _illProject :: !Text , _illFilter :: !(Maybe Text) , _illPageToken :: !(Maybe Text) , _illMaxResults :: !(Textual Word32)@@ -82,6 +83,8 @@ -- -- Use one of the following lenses to modify other fields as desired: --+-- * 'illOrderBy'+-- -- * 'illProject' -- -- * 'illFilter'@@ -94,12 +97,25 @@ -> ImagesList imagesList pIllProject_ = ImagesList'- { _illProject = pIllProject_+ { _illOrderBy = Nothing+ , _illProject = pIllProject_ , _illFilter = Nothing , _illPageToken = Nothing , _illMaxResults = 500 } +-- | Sorts list results by a certain order. By default, results are returned+-- in alphanumerical order based on the resource name. You can also sort+-- results in descending order based on the creation timestamp using+-- orderBy=\"creationTimestamp desc\". This sorts results based on the+-- creationTimestamp field in reverse chronological order (newest result+-- first). Use this to sort resources like operations so that the newest+-- operation is returned first. Currently, only sorting by name or+-- creationTimestamp desc is supported.+illOrderBy :: Lens' ImagesList (Maybe Text)+illOrderBy+ = lens _illOrderBy (\ s a -> s{_illOrderBy = a})+ -- | Project ID for this request. illProject :: Lens' ImagesList Text illProject@@ -116,16 +132,15 @@ -- value is interpreted as a regular expression using RE2 syntax. The -- literal value must match the entire field. For example, to filter for -- instances that do not have a name of example-instance, you would use--- filter=name ne example-instance. Compute Engine Beta API Only: When--- filtering in the Beta API, you can also filter on nested fields. For+-- filter=name ne example-instance. You can filter on nested fields. For -- example, you could filter on instances that have set the -- scheduling.automaticRestart field to true. Use filtering on nested -- fields to take advantage of labels to organize and search for results--- based on label values. The Beta API also supports filtering on multiple--- expressions by providing each separate expression within parentheses.--- For example, (scheduling.automaticRestart eq true) (zone eq--- us-central1-f). Multiple expressions are treated as AND expressions,--- meaning that resources must match all expressions to pass the filters.+-- based on label values. To filter on multiple expressions, provide each+-- separate expression within parentheses. For example,+-- (scheduling.automaticRestart eq true) (zone eq us-central1-f). Multiple+-- expressions are treated as AND expressions, meaning that resources must+-- match all expressions to pass the filters. illFilter :: Lens' ImagesList (Maybe Text) illFilter = lens _illFilter (\ s a -> s{_illFilter = a})@@ -153,7 +168,7 @@ "https://www.googleapis.com/auth/compute", "https://www.googleapis.com/auth/compute.readonly"] requestClient ImagesList'{..}- = go _illProject _illFilter _illPageToken+ = go _illProject _illOrderBy _illFilter _illPageToken (Just _illMaxResults) (Just AltJSON) computeService
gen/Network/Google/Resource/Compute/InstanceGroupManagers/AggregatedList.hs view
@@ -33,6 +33,7 @@ , InstanceGroupManagersAggregatedList -- * Request Lenses+ , igmalOrderBy , igmalProject , igmalFilter , igmalPageToken@@ -51,17 +52,19 @@ Capture "project" Text :> "aggregated" :> "instanceGroupManagers" :>- QueryParam "filter" Text :>- QueryParam "pageToken" Text :>- QueryParam "maxResults" (Textual Word32) :>- QueryParam "alt" AltJSON :>- Get '[JSON] InstanceGroupManagerAggregatedList+ QueryParam "orderBy" Text :>+ QueryParam "filter" Text :>+ QueryParam "pageToken" Text :>+ QueryParam "maxResults" (Textual Word32) :>+ QueryParam "alt" AltJSON :>+ Get '[JSON] InstanceGroupManagerAggregatedList -- | Retrieves the list of managed instance groups and groups them by zone. -- -- /See:/ 'instanceGroupManagersAggregatedList' smart constructor. data InstanceGroupManagersAggregatedList = InstanceGroupManagersAggregatedList'- { _igmalProject :: !Text+ { _igmalOrderBy :: !(Maybe Text)+ , _igmalProject :: !Text , _igmalFilter :: !(Maybe Text) , _igmalPageToken :: !(Maybe Text) , _igmalMaxResults :: !(Textual Word32)@@ -71,6 +74,8 @@ -- -- Use one of the following lenses to modify other fields as desired: --+-- * 'igmalOrderBy'+-- -- * 'igmalProject' -- -- * 'igmalFilter'@@ -83,12 +88,25 @@ -> InstanceGroupManagersAggregatedList instanceGroupManagersAggregatedList pIgmalProject_ = InstanceGroupManagersAggregatedList'- { _igmalProject = pIgmalProject_+ { _igmalOrderBy = Nothing+ , _igmalProject = pIgmalProject_ , _igmalFilter = Nothing , _igmalPageToken = Nothing , _igmalMaxResults = 500 } +-- | Sorts list results by a certain order. By default, results are returned+-- in alphanumerical order based on the resource name. You can also sort+-- results in descending order based on the creation timestamp using+-- orderBy=\"creationTimestamp desc\". This sorts results based on the+-- creationTimestamp field in reverse chronological order (newest result+-- first). Use this to sort resources like operations so that the newest+-- operation is returned first. Currently, only sorting by name or+-- creationTimestamp desc is supported.+igmalOrderBy :: Lens' InstanceGroupManagersAggregatedList (Maybe Text)+igmalOrderBy+ = lens _igmalOrderBy (\ s a -> s{_igmalOrderBy = a})+ -- | Project ID for this request. igmalProject :: Lens' InstanceGroupManagersAggregatedList Text igmalProject@@ -105,16 +123,15 @@ -- value is interpreted as a regular expression using RE2 syntax. The -- literal value must match the entire field. For example, to filter for -- instances that do not have a name of example-instance, you would use--- filter=name ne example-instance. Compute Engine Beta API Only: When--- filtering in the Beta API, you can also filter on nested fields. For+-- filter=name ne example-instance. You can filter on nested fields. For -- example, you could filter on instances that have set the -- scheduling.automaticRestart field to true. Use filtering on nested -- fields to take advantage of labels to organize and search for results--- based on label values. The Beta API also supports filtering on multiple--- expressions by providing each separate expression within parentheses.--- For example, (scheduling.automaticRestart eq true) (zone eq--- us-central1-f). Multiple expressions are treated as AND expressions,--- meaning that resources must match all expressions to pass the filters.+-- based on label values. To filter on multiple expressions, provide each+-- separate expression within parentheses. For example,+-- (scheduling.automaticRestart eq true) (zone eq us-central1-f). Multiple+-- expressions are treated as AND expressions, meaning that resources must+-- match all expressions to pass the filters. igmalFilter :: Lens' InstanceGroupManagersAggregatedList (Maybe Text) igmalFilter = lens _igmalFilter (\ s a -> s{_igmalFilter = a})@@ -146,7 +163,8 @@ "https://www.googleapis.com/auth/compute.readonly"] requestClient InstanceGroupManagersAggregatedList'{..}- = go _igmalProject _igmalFilter _igmalPageToken+ = go _igmalProject _igmalOrderBy _igmalFilter+ _igmalPageToken (Just _igmalMaxResults) (Just AltJSON) computeService
gen/Network/Google/Resource/Compute/InstanceGroupManagers/List.hs view
@@ -34,6 +34,7 @@ , InstanceGroupManagersList -- * Request Lenses+ , igmlOrderBy , igmlProject , igmlZone , igmlFilter@@ -54,18 +55,20 @@ "zones" :> Capture "zone" Text :> "instanceGroupManagers" :>- QueryParam "filter" Text :>- QueryParam "pageToken" Text :>- QueryParam "maxResults" (Textual Word32) :>- QueryParam "alt" AltJSON :>- Get '[JSON] InstanceGroupManagerList+ QueryParam "orderBy" Text :>+ QueryParam "filter" Text :>+ QueryParam "pageToken" Text :>+ QueryParam "maxResults" (Textual Word32) :>+ QueryParam "alt" AltJSON :>+ Get '[JSON] InstanceGroupManagerList -- | Retrieves a list of managed instance groups that are contained within -- the specified project and zone. -- -- /See:/ 'instanceGroupManagersList' smart constructor. data InstanceGroupManagersList = InstanceGroupManagersList'- { _igmlProject :: !Text+ { _igmlOrderBy :: !(Maybe Text)+ , _igmlProject :: !Text , _igmlZone :: !Text , _igmlFilter :: !(Maybe Text) , _igmlPageToken :: !(Maybe Text)@@ -76,6 +79,8 @@ -- -- Use one of the following lenses to modify other fields as desired: --+-- * 'igmlOrderBy'+-- -- * 'igmlProject' -- -- * 'igmlZone'@@ -91,13 +96,26 @@ -> InstanceGroupManagersList instanceGroupManagersList pIgmlProject_ pIgmlZone_ = InstanceGroupManagersList'- { _igmlProject = pIgmlProject_+ { _igmlOrderBy = Nothing+ , _igmlProject = pIgmlProject_ , _igmlZone = pIgmlZone_ , _igmlFilter = Nothing , _igmlPageToken = Nothing , _igmlMaxResults = 500 } +-- | Sorts list results by a certain order. By default, results are returned+-- in alphanumerical order based on the resource name. You can also sort+-- results in descending order based on the creation timestamp using+-- orderBy=\"creationTimestamp desc\". This sorts results based on the+-- creationTimestamp field in reverse chronological order (newest result+-- first). Use this to sort resources like operations so that the newest+-- operation is returned first. Currently, only sorting by name or+-- creationTimestamp desc is supported.+igmlOrderBy :: Lens' InstanceGroupManagersList (Maybe Text)+igmlOrderBy+ = lens _igmlOrderBy (\ s a -> s{_igmlOrderBy = a})+ -- | Project ID for this request. igmlProject :: Lens' InstanceGroupManagersList Text igmlProject@@ -118,16 +136,15 @@ -- value is interpreted as a regular expression using RE2 syntax. The -- literal value must match the entire field. For example, to filter for -- instances that do not have a name of example-instance, you would use--- filter=name ne example-instance. Compute Engine Beta API Only: When--- filtering in the Beta API, you can also filter on nested fields. For+-- filter=name ne example-instance. You can filter on nested fields. For -- example, you could filter on instances that have set the -- scheduling.automaticRestart field to true. Use filtering on nested -- fields to take advantage of labels to organize and search for results--- based on label values. The Beta API also supports filtering on multiple--- expressions by providing each separate expression within parentheses.--- For example, (scheduling.automaticRestart eq true) (zone eq--- us-central1-f). Multiple expressions are treated as AND expressions,--- meaning that resources must match all expressions to pass the filters.+-- based on label values. To filter on multiple expressions, provide each+-- separate expression within parentheses. For example,+-- (scheduling.automaticRestart eq true) (zone eq us-central1-f). Multiple+-- expressions are treated as AND expressions, meaning that resources must+-- match all expressions to pass the filters. igmlFilter :: Lens' InstanceGroupManagersList (Maybe Text) igmlFilter = lens _igmlFilter (\ s a -> s{_igmlFilter = a})@@ -158,7 +175,7 @@ "https://www.googleapis.com/auth/compute", "https://www.googleapis.com/auth/compute.readonly"] requestClient InstanceGroupManagersList'{..}- = go _igmlProject _igmlZone _igmlFilter+ = go _igmlProject _igmlZone _igmlOrderBy _igmlFilter _igmlPageToken (Just _igmlMaxResults) (Just AltJSON)
gen/Network/Google/Resource/Compute/InstanceGroups/AggregatedList.hs view
@@ -33,6 +33,7 @@ , InstanceGroupsAggregatedList -- * Request Lenses+ , igalOrderBy , igalProject , igalFilter , igalPageToken@@ -51,17 +52,19 @@ Capture "project" Text :> "aggregated" :> "instanceGroups" :>- QueryParam "filter" Text :>- QueryParam "pageToken" Text :>- QueryParam "maxResults" (Textual Word32) :>- QueryParam "alt" AltJSON :>- Get '[JSON] InstanceGroupAggregatedList+ QueryParam "orderBy" Text :>+ QueryParam "filter" Text :>+ QueryParam "pageToken" Text :>+ QueryParam "maxResults" (Textual Word32) :>+ QueryParam "alt" AltJSON :>+ Get '[JSON] InstanceGroupAggregatedList -- | Retrieves the list of instance groups and sorts them by zone. -- -- /See:/ 'instanceGroupsAggregatedList' smart constructor. data InstanceGroupsAggregatedList = InstanceGroupsAggregatedList'- { _igalProject :: !Text+ { _igalOrderBy :: !(Maybe Text)+ , _igalProject :: !Text , _igalFilter :: !(Maybe Text) , _igalPageToken :: !(Maybe Text) , _igalMaxResults :: !(Textual Word32)@@ -71,6 +74,8 @@ -- -- Use one of the following lenses to modify other fields as desired: --+-- * 'igalOrderBy'+-- -- * 'igalProject' -- -- * 'igalFilter'@@ -83,12 +88,25 @@ -> InstanceGroupsAggregatedList instanceGroupsAggregatedList pIgalProject_ = InstanceGroupsAggregatedList'- { _igalProject = pIgalProject_+ { _igalOrderBy = Nothing+ , _igalProject = pIgalProject_ , _igalFilter = Nothing , _igalPageToken = Nothing , _igalMaxResults = 500 } +-- | Sorts list results by a certain order. By default, results are returned+-- in alphanumerical order based on the resource name. You can also sort+-- results in descending order based on the creation timestamp using+-- orderBy=\"creationTimestamp desc\". This sorts results based on the+-- creationTimestamp field in reverse chronological order (newest result+-- first). Use this to sort resources like operations so that the newest+-- operation is returned first. Currently, only sorting by name or+-- creationTimestamp desc is supported.+igalOrderBy :: Lens' InstanceGroupsAggregatedList (Maybe Text)+igalOrderBy+ = lens _igalOrderBy (\ s a -> s{_igalOrderBy = a})+ -- | Project ID for this request. igalProject :: Lens' InstanceGroupsAggregatedList Text igalProject@@ -105,16 +123,15 @@ -- value is interpreted as a regular expression using RE2 syntax. The -- literal value must match the entire field. For example, to filter for -- instances that do not have a name of example-instance, you would use--- filter=name ne example-instance. Compute Engine Beta API Only: When--- filtering in the Beta API, you can also filter on nested fields. For+-- filter=name ne example-instance. You can filter on nested fields. For -- example, you could filter on instances that have set the -- scheduling.automaticRestart field to true. Use filtering on nested -- fields to take advantage of labels to organize and search for results--- based on label values. The Beta API also supports filtering on multiple--- expressions by providing each separate expression within parentheses.--- For example, (scheduling.automaticRestart eq true) (zone eq--- us-central1-f). Multiple expressions are treated as AND expressions,--- meaning that resources must match all expressions to pass the filters.+-- based on label values. To filter on multiple expressions, provide each+-- separate expression within parentheses. For example,+-- (scheduling.automaticRestart eq true) (zone eq us-central1-f). Multiple+-- expressions are treated as AND expressions, meaning that resources must+-- match all expressions to pass the filters. igalFilter :: Lens' InstanceGroupsAggregatedList (Maybe Text) igalFilter = lens _igalFilter (\ s a -> s{_igalFilter = a})@@ -145,7 +162,8 @@ "https://www.googleapis.com/auth/compute", "https://www.googleapis.com/auth/compute.readonly"] requestClient InstanceGroupsAggregatedList'{..}- = go _igalProject _igalFilter _igalPageToken+ = go _igalProject _igalOrderBy _igalFilter+ _igalPageToken (Just _igalMaxResults) (Just AltJSON) computeService
gen/Network/Google/Resource/Compute/InstanceGroups/List.hs view
@@ -34,6 +34,7 @@ , InstanceGroupsList -- * Request Lenses+ , iglOrderBy , iglProject , iglZone , iglFilter@@ -54,18 +55,20 @@ "zones" :> Capture "zone" Text :> "instanceGroups" :>- QueryParam "filter" Text :>- QueryParam "pageToken" Text :>- QueryParam "maxResults" (Textual Word32) :>- QueryParam "alt" AltJSON :>- Get '[JSON] InstanceGroupList+ QueryParam "orderBy" Text :>+ QueryParam "filter" Text :>+ QueryParam "pageToken" Text :>+ QueryParam "maxResults" (Textual Word32) :>+ QueryParam "alt" AltJSON :>+ Get '[JSON] InstanceGroupList -- | Retrieves the list of instance groups that are located in the specified -- project and zone. -- -- /See:/ 'instanceGroupsList' smart constructor. data InstanceGroupsList = InstanceGroupsList'- { _iglProject :: !Text+ { _iglOrderBy :: !(Maybe Text)+ , _iglProject :: !Text , _iglZone :: !Text , _iglFilter :: !(Maybe Text) , _iglPageToken :: !(Maybe Text)@@ -76,6 +79,8 @@ -- -- Use one of the following lenses to modify other fields as desired: --+-- * 'iglOrderBy'+-- -- * 'iglProject' -- -- * 'iglZone'@@ -91,13 +96,26 @@ -> InstanceGroupsList instanceGroupsList pIglProject_ pIglZone_ = InstanceGroupsList'- { _iglProject = pIglProject_+ { _iglOrderBy = Nothing+ , _iglProject = pIglProject_ , _iglZone = pIglZone_ , _iglFilter = Nothing , _iglPageToken = Nothing , _iglMaxResults = 500 } +-- | Sorts list results by a certain order. By default, results are returned+-- in alphanumerical order based on the resource name. You can also sort+-- results in descending order based on the creation timestamp using+-- orderBy=\"creationTimestamp desc\". This sorts results based on the+-- creationTimestamp field in reverse chronological order (newest result+-- first). Use this to sort resources like operations so that the newest+-- operation is returned first. Currently, only sorting by name or+-- creationTimestamp desc is supported.+iglOrderBy :: Lens' InstanceGroupsList (Maybe Text)+iglOrderBy+ = lens _iglOrderBy (\ s a -> s{_iglOrderBy = a})+ -- | Project ID for this request. iglProject :: Lens' InstanceGroupsList Text iglProject@@ -118,16 +136,15 @@ -- value is interpreted as a regular expression using RE2 syntax. The -- literal value must match the entire field. For example, to filter for -- instances that do not have a name of example-instance, you would use--- filter=name ne example-instance. Compute Engine Beta API Only: When--- filtering in the Beta API, you can also filter on nested fields. For+-- filter=name ne example-instance. You can filter on nested fields. For -- example, you could filter on instances that have set the -- scheduling.automaticRestart field to true. Use filtering on nested -- fields to take advantage of labels to organize and search for results--- based on label values. The Beta API also supports filtering on multiple--- expressions by providing each separate expression within parentheses.--- For example, (scheduling.automaticRestart eq true) (zone eq--- us-central1-f). Multiple expressions are treated as AND expressions,--- meaning that resources must match all expressions to pass the filters.+-- based on label values. To filter on multiple expressions, provide each+-- separate expression within parentheses. For example,+-- (scheduling.automaticRestart eq true) (zone eq us-central1-f). Multiple+-- expressions are treated as AND expressions, meaning that resources must+-- match all expressions to pass the filters. iglFilter :: Lens' InstanceGroupsList (Maybe Text) iglFilter = lens _iglFilter (\ s a -> s{_iglFilter = a})@@ -155,7 +172,8 @@ "https://www.googleapis.com/auth/compute", "https://www.googleapis.com/auth/compute.readonly"] requestClient InstanceGroupsList'{..}- = go _iglProject _iglZone _iglFilter _iglPageToken+ = go _iglProject _iglZone _iglOrderBy _iglFilter+ _iglPageToken (Just _iglMaxResults) (Just AltJSON) computeService
gen/Network/Google/Resource/Compute/InstanceGroups/ListInstances.hs view
@@ -33,6 +33,7 @@ , InstanceGroupsListInstances' -- * Request Lenses+ , igliOrderBy , igliProject , igliZone , igliPayload@@ -57,19 +58,21 @@ "instanceGroups" :> Capture "instanceGroup" Text :> "listInstances" :>- QueryParam "filter" Text :>- QueryParam "pageToken" Text :>- QueryParam "maxResults" (Textual Word32) :>- QueryParam "alt" AltJSON :>- ReqBody '[JSON]- InstanceGroupsListInstancesRequest- :> Post '[JSON] InstanceGroupsListInstances+ QueryParam "orderBy" Text :>+ QueryParam "filter" Text :>+ QueryParam "pageToken" Text :>+ QueryParam "maxResults" (Textual Word32) :>+ QueryParam "alt" AltJSON :>+ ReqBody '[JSON]+ InstanceGroupsListInstancesRequest+ :> Post '[JSON] InstanceGroupsListInstances -- | Lists the instances in the specified instance group. -- -- /See:/ 'instanceGroupsListInstances'' smart constructor. data InstanceGroupsListInstances' = InstanceGroupsListInstances''- { _igliProject :: !Text+ { _igliOrderBy :: !(Maybe Text)+ , _igliProject :: !Text , _igliZone :: !Text , _igliPayload :: !InstanceGroupsListInstancesRequest , _igliFilter :: !(Maybe Text)@@ -82,6 +85,8 @@ -- -- Use one of the following lenses to modify other fields as desired: --+-- * 'igliOrderBy'+-- -- * 'igliProject' -- -- * 'igliZone'@@ -103,7 +108,8 @@ -> InstanceGroupsListInstances' instanceGroupsListInstances' pIgliProject_ pIgliZone_ pIgliPayload_ pIgliInstanceGroup_ = InstanceGroupsListInstances''- { _igliProject = pIgliProject_+ { _igliOrderBy = Nothing+ , _igliProject = pIgliProject_ , _igliZone = pIgliZone_ , _igliPayload = pIgliPayload_ , _igliFilter = Nothing@@ -112,6 +118,18 @@ , _igliMaxResults = 500 } +-- | Sorts list results by a certain order. By default, results are returned+-- in alphanumerical order based on the resource name. You can also sort+-- results in descending order based on the creation timestamp using+-- orderBy=\"creationTimestamp desc\". This sorts results based on the+-- creationTimestamp field in reverse chronological order (newest result+-- first). Use this to sort resources like operations so that the newest+-- operation is returned first. Currently, only sorting by name or+-- creationTimestamp desc is supported.+igliOrderBy :: Lens' InstanceGroupsListInstances' (Maybe Text)+igliOrderBy+ = lens _igliOrderBy (\ s a -> s{_igliOrderBy = a})+ -- | Project ID for this request. igliProject :: Lens' InstanceGroupsListInstances' Text igliProject@@ -137,16 +155,15 @@ -- value is interpreted as a regular expression using RE2 syntax. The -- literal value must match the entire field. For example, to filter for -- instances that do not have a name of example-instance, you would use--- filter=name ne example-instance. Compute Engine Beta API Only: When--- filtering in the Beta API, you can also filter on nested fields. For+-- filter=name ne example-instance. You can filter on nested fields. For -- example, you could filter on instances that have set the -- scheduling.automaticRestart field to true. Use filtering on nested -- fields to take advantage of labels to organize and search for results--- based on label values. The Beta API also supports filtering on multiple--- expressions by providing each separate expression within parentheses.--- For example, (scheduling.automaticRestart eq true) (zone eq--- us-central1-f). Multiple expressions are treated as AND expressions,--- meaning that resources must match all expressions to pass the filters.+-- based on label values. To filter on multiple expressions, provide each+-- separate expression within parentheses. For example,+-- (scheduling.automaticRestart eq true) (zone eq us-central1-f). Multiple+-- expressions are treated as AND expressions, meaning that resources must+-- match all expressions to pass the filters. igliFilter :: Lens' InstanceGroupsListInstances' (Maybe Text) igliFilter = lens _igliFilter (\ s a -> s{_igliFilter = a})@@ -185,6 +202,7 @@ "https://www.googleapis.com/auth/compute.readonly"] requestClient InstanceGroupsListInstances''{..} = go _igliProject _igliZone _igliInstanceGroup+ _igliOrderBy _igliFilter _igliPageToken (Just _igliMaxResults)
gen/Network/Google/Resource/Compute/InstanceTemplates/List.hs view
@@ -34,6 +34,7 @@ , InstanceTemplatesList -- * Request Lenses+ , itlOrderBy , itlProject , itlFilter , itlPageToken@@ -52,18 +53,20 @@ Capture "project" Text :> "global" :> "instanceTemplates" :>- QueryParam "filter" Text :>- QueryParam "pageToken" Text :>- QueryParam "maxResults" (Textual Word32) :>- QueryParam "alt" AltJSON :>- Get '[JSON] InstanceTemplateList+ QueryParam "orderBy" Text :>+ QueryParam "filter" Text :>+ QueryParam "pageToken" Text :>+ QueryParam "maxResults" (Textual Word32) :>+ QueryParam "alt" AltJSON :>+ Get '[JSON] InstanceTemplateList -- | Retrieves a list of instance templates that are contained within the -- specified project and zone. -- -- /See:/ 'instanceTemplatesList' smart constructor. data InstanceTemplatesList = InstanceTemplatesList'- { _itlProject :: !Text+ { _itlOrderBy :: !(Maybe Text)+ , _itlProject :: !Text , _itlFilter :: !(Maybe Text) , _itlPageToken :: !(Maybe Text) , _itlMaxResults :: !(Textual Word32)@@ -73,6 +76,8 @@ -- -- Use one of the following lenses to modify other fields as desired: --+-- * 'itlOrderBy'+-- -- * 'itlProject' -- -- * 'itlFilter'@@ -85,12 +90,25 @@ -> InstanceTemplatesList instanceTemplatesList pItlProject_ = InstanceTemplatesList'- { _itlProject = pItlProject_+ { _itlOrderBy = Nothing+ , _itlProject = pItlProject_ , _itlFilter = Nothing , _itlPageToken = Nothing , _itlMaxResults = 500 } +-- | Sorts list results by a certain order. By default, results are returned+-- in alphanumerical order based on the resource name. You can also sort+-- results in descending order based on the creation timestamp using+-- orderBy=\"creationTimestamp desc\". This sorts results based on the+-- creationTimestamp field in reverse chronological order (newest result+-- first). Use this to sort resources like operations so that the newest+-- operation is returned first. Currently, only sorting by name or+-- creationTimestamp desc is supported.+itlOrderBy :: Lens' InstanceTemplatesList (Maybe Text)+itlOrderBy+ = lens _itlOrderBy (\ s a -> s{_itlOrderBy = a})+ -- | Project ID for this request. itlProject :: Lens' InstanceTemplatesList Text itlProject@@ -107,16 +125,15 @@ -- value is interpreted as a regular expression using RE2 syntax. The -- literal value must match the entire field. For example, to filter for -- instances that do not have a name of example-instance, you would use--- filter=name ne example-instance. Compute Engine Beta API Only: When--- filtering in the Beta API, you can also filter on nested fields. For+-- filter=name ne example-instance. You can filter on nested fields. For -- example, you could filter on instances that have set the -- scheduling.automaticRestart field to true. Use filtering on nested -- fields to take advantage of labels to organize and search for results--- based on label values. The Beta API also supports filtering on multiple--- expressions by providing each separate expression within parentheses.--- For example, (scheduling.automaticRestart eq true) (zone eq--- us-central1-f). Multiple expressions are treated as AND expressions,--- meaning that resources must match all expressions to pass the filters.+-- based on label values. To filter on multiple expressions, provide each+-- separate expression within parentheses. For example,+-- (scheduling.automaticRestart eq true) (zone eq us-central1-f). Multiple+-- expressions are treated as AND expressions, meaning that resources must+-- match all expressions to pass the filters. itlFilter :: Lens' InstanceTemplatesList (Maybe Text) itlFilter = lens _itlFilter (\ s a -> s{_itlFilter = a})@@ -144,7 +161,7 @@ "https://www.googleapis.com/auth/compute", "https://www.googleapis.com/auth/compute.readonly"] requestClient InstanceTemplatesList'{..}- = go _itlProject _itlFilter _itlPageToken+ = go _itlProject _itlOrderBy _itlFilter _itlPageToken (Just _itlMaxResults) (Just AltJSON) computeService
gen/Network/Google/Resource/Compute/Instances/AggregatedList.hs view
@@ -33,6 +33,7 @@ , InstancesAggregatedList -- * Request Lenses+ , ialOrderBy , ialProject , ialFilter , ialPageToken@@ -51,17 +52,19 @@ Capture "project" Text :> "aggregated" :> "instances" :>- QueryParam "filter" Text :>- QueryParam "pageToken" Text :>- QueryParam "maxResults" (Textual Word32) :>- QueryParam "alt" AltJSON :>- Get '[JSON] InstanceAggregatedList+ QueryParam "orderBy" Text :>+ QueryParam "filter" Text :>+ QueryParam "pageToken" Text :>+ QueryParam "maxResults" (Textual Word32) :>+ QueryParam "alt" AltJSON :>+ Get '[JSON] InstanceAggregatedList -- | Retrieves aggregated list of instances. -- -- /See:/ 'instancesAggregatedList' smart constructor. data InstancesAggregatedList = InstancesAggregatedList'- { _ialProject :: !Text+ { _ialOrderBy :: !(Maybe Text)+ , _ialProject :: !Text , _ialFilter :: !(Maybe Text) , _ialPageToken :: !(Maybe Text) , _ialMaxResults :: !(Textual Word32)@@ -71,6 +74,8 @@ -- -- Use one of the following lenses to modify other fields as desired: --+-- * 'ialOrderBy'+-- -- * 'ialProject' -- -- * 'ialFilter'@@ -83,12 +88,25 @@ -> InstancesAggregatedList instancesAggregatedList pIalProject_ = InstancesAggregatedList'- { _ialProject = pIalProject_+ { _ialOrderBy = Nothing+ , _ialProject = pIalProject_ , _ialFilter = Nothing , _ialPageToken = Nothing , _ialMaxResults = 500 } +-- | Sorts list results by a certain order. By default, results are returned+-- in alphanumerical order based on the resource name. You can also sort+-- results in descending order based on the creation timestamp using+-- orderBy=\"creationTimestamp desc\". This sorts results based on the+-- creationTimestamp field in reverse chronological order (newest result+-- first). Use this to sort resources like operations so that the newest+-- operation is returned first. Currently, only sorting by name or+-- creationTimestamp desc is supported.+ialOrderBy :: Lens' InstancesAggregatedList (Maybe Text)+ialOrderBy+ = lens _ialOrderBy (\ s a -> s{_ialOrderBy = a})+ -- | Project ID for this request. ialProject :: Lens' InstancesAggregatedList Text ialProject@@ -105,16 +123,15 @@ -- value is interpreted as a regular expression using RE2 syntax. The -- literal value must match the entire field. For example, to filter for -- instances that do not have a name of example-instance, you would use--- filter=name ne example-instance. Compute Engine Beta API Only: When--- filtering in the Beta API, you can also filter on nested fields. For+-- filter=name ne example-instance. You can filter on nested fields. For -- example, you could filter on instances that have set the -- scheduling.automaticRestart field to true. Use filtering on nested -- fields to take advantage of labels to organize and search for results--- based on label values. The Beta API also supports filtering on multiple--- expressions by providing each separate expression within parentheses.--- For example, (scheduling.automaticRestart eq true) (zone eq--- us-central1-f). Multiple expressions are treated as AND expressions,--- meaning that resources must match all expressions to pass the filters.+-- based on label values. To filter on multiple expressions, provide each+-- separate expression within parentheses. For example,+-- (scheduling.automaticRestart eq true) (zone eq us-central1-f). Multiple+-- expressions are treated as AND expressions, meaning that resources must+-- match all expressions to pass the filters. ialFilter :: Lens' InstancesAggregatedList (Maybe Text) ialFilter = lens _ialFilter (\ s a -> s{_ialFilter = a})@@ -143,7 +160,7 @@ "https://www.googleapis.com/auth/compute", "https://www.googleapis.com/auth/compute.readonly"] requestClient InstancesAggregatedList'{..}- = go _ialProject _ialFilter _ialPageToken+ = go _ialProject _ialOrderBy _ialFilter _ialPageToken (Just _ialMaxResults) (Just AltJSON) computeService
gen/Network/Google/Resource/Compute/Instances/List.hs view
@@ -33,6 +33,7 @@ , InstancesList -- * Request Lenses+ , ilOrderBy , ilProject , ilZone , ilFilter@@ -53,16 +54,18 @@ "zones" :> Capture "zone" Text :> "instances" :>- QueryParam "filter" Text :>- QueryParam "pageToken" Text :>- QueryParam "maxResults" (Textual Word32) :>- QueryParam "alt" AltJSON :> Get '[JSON] InstanceList+ QueryParam "orderBy" Text :>+ QueryParam "filter" Text :>+ QueryParam "pageToken" Text :>+ QueryParam "maxResults" (Textual Word32) :>+ QueryParam "alt" AltJSON :> Get '[JSON] InstanceList -- | Retrieves the list of instances contained within the specified zone. -- -- /See:/ 'instancesList' smart constructor. data InstancesList = InstancesList'- { _ilProject :: !Text+ { _ilOrderBy :: !(Maybe Text)+ , _ilProject :: !Text , _ilZone :: !Text , _ilFilter :: !(Maybe Text) , _ilPageToken :: !(Maybe Text)@@ -73,6 +76,8 @@ -- -- Use one of the following lenses to modify other fields as desired: --+-- * 'ilOrderBy'+-- -- * 'ilProject' -- -- * 'ilZone'@@ -88,13 +93,26 @@ -> InstancesList instancesList pIlProject_ pIlZone_ = InstancesList'- { _ilProject = pIlProject_+ { _ilOrderBy = Nothing+ , _ilProject = pIlProject_ , _ilZone = pIlZone_ , _ilFilter = Nothing , _ilPageToken = Nothing , _ilMaxResults = 500 } +-- | Sorts list results by a certain order. By default, results are returned+-- in alphanumerical order based on the resource name. You can also sort+-- results in descending order based on the creation timestamp using+-- orderBy=\"creationTimestamp desc\". This sorts results based on the+-- creationTimestamp field in reverse chronological order (newest result+-- first). Use this to sort resources like operations so that the newest+-- operation is returned first. Currently, only sorting by name or+-- creationTimestamp desc is supported.+ilOrderBy :: Lens' InstancesList (Maybe Text)+ilOrderBy+ = lens _ilOrderBy (\ s a -> s{_ilOrderBy = a})+ -- | Project ID for this request. ilProject :: Lens' InstancesList Text ilProject@@ -115,16 +133,15 @@ -- value is interpreted as a regular expression using RE2 syntax. The -- literal value must match the entire field. For example, to filter for -- instances that do not have a name of example-instance, you would use--- filter=name ne example-instance. Compute Engine Beta API Only: When--- filtering in the Beta API, you can also filter on nested fields. For+-- filter=name ne example-instance. You can filter on nested fields. For -- example, you could filter on instances that have set the -- scheduling.automaticRestart field to true. Use filtering on nested -- fields to take advantage of labels to organize and search for results--- based on label values. The Beta API also supports filtering on multiple--- expressions by providing each separate expression within parentheses.--- For example, (scheduling.automaticRestart eq true) (zone eq--- us-central1-f). Multiple expressions are treated as AND expressions,--- meaning that resources must match all expressions to pass the filters.+-- based on label values. To filter on multiple expressions, provide each+-- separate expression within parentheses. For example,+-- (scheduling.automaticRestart eq true) (zone eq us-central1-f). Multiple+-- expressions are treated as AND expressions, meaning that resources must+-- match all expressions to pass the filters. ilFilter :: Lens' InstancesList (Maybe Text) ilFilter = lens _ilFilter (\ s a -> s{_ilFilter = a}) @@ -150,7 +167,8 @@ "https://www.googleapis.com/auth/compute", "https://www.googleapis.com/auth/compute.readonly"] requestClient InstancesList'{..}- = go _ilProject _ilZone _ilFilter _ilPageToken+ = go _ilProject _ilZone _ilOrderBy _ilFilter+ _ilPageToken (Just _ilMaxResults) (Just AltJSON) computeService
+ gen/Network/Google/Resource/Compute/Instances/StartWithEncryptionKey.hs view
@@ -0,0 +1,135 @@+{-# 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.Compute.Instances.StartWithEncryptionKey+-- 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)+--+-- Starts an instance that was stopped using the using the instances().stop+-- method. For more information, see Restart an instance.+--+-- /See:/ <https://developers.google.com/compute/docs/reference/latest/ Compute Engine API Reference> for @compute.instances.startWithEncryptionKey@.+module Network.Google.Resource.Compute.Instances.StartWithEncryptionKey+ (+ -- * REST Resource+ InstancesStartWithEncryptionKeyResource++ -- * Creating a Request+ , instancesStartWithEncryptionKey+ , InstancesStartWithEncryptionKey++ -- * Request Lenses+ , iswekProject+ , iswekZone+ , iswekPayload+ , iswekInstance+ ) where++import Network.Google.Compute.Types+import Network.Google.Prelude++-- | A resource alias for @compute.instances.startWithEncryptionKey@ method which the+-- 'InstancesStartWithEncryptionKey' request conforms to.+type InstancesStartWithEncryptionKeyResource =+ "compute" :>+ "v1" :>+ "projects" :>+ Capture "project" Text :>+ "zones" :>+ Capture "zone" Text :>+ "instances" :>+ Capture "instance" Text :>+ "startWithEncryptionKey" :>+ QueryParam "alt" AltJSON :>+ ReqBody '[JSON]+ InstancesStartWithEncryptionKeyRequest+ :> Post '[JSON] Operation++-- | Starts an instance that was stopped using the using the instances().stop+-- method. For more information, see Restart an instance.+--+-- /See:/ 'instancesStartWithEncryptionKey' smart constructor.+data InstancesStartWithEncryptionKey = InstancesStartWithEncryptionKey'+ { _iswekProject :: !Text+ , _iswekZone :: !Text+ , _iswekPayload :: !InstancesStartWithEncryptionKeyRequest+ , _iswekInstance :: !Text+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'InstancesStartWithEncryptionKey' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'iswekProject'+--+-- * 'iswekZone'+--+-- * 'iswekPayload'+--+-- * 'iswekInstance'+instancesStartWithEncryptionKey+ :: Text -- ^ 'iswekProject'+ -> Text -- ^ 'iswekZone'+ -> InstancesStartWithEncryptionKeyRequest -- ^ 'iswekPayload'+ -> Text -- ^ 'iswekInstance'+ -> InstancesStartWithEncryptionKey+instancesStartWithEncryptionKey pIswekProject_ pIswekZone_ pIswekPayload_ pIswekInstance_ =+ InstancesStartWithEncryptionKey'+ { _iswekProject = pIswekProject_+ , _iswekZone = pIswekZone_+ , _iswekPayload = pIswekPayload_+ , _iswekInstance = pIswekInstance_+ }++-- | Project ID for this request.+iswekProject :: Lens' InstancesStartWithEncryptionKey Text+iswekProject+ = lens _iswekProject (\ s a -> s{_iswekProject = a})++-- | The name of the zone for this request.+iswekZone :: Lens' InstancesStartWithEncryptionKey Text+iswekZone+ = lens _iswekZone (\ s a -> s{_iswekZone = a})++-- | Multipart request metadata.+iswekPayload :: Lens' InstancesStartWithEncryptionKey InstancesStartWithEncryptionKeyRequest+iswekPayload+ = lens _iswekPayload (\ s a -> s{_iswekPayload = a})++-- | Name of the instance resource to start.+iswekInstance :: Lens' InstancesStartWithEncryptionKey Text+iswekInstance+ = lens _iswekInstance+ (\ s a -> s{_iswekInstance = a})++instance GoogleRequest+ InstancesStartWithEncryptionKey where+ type Rs InstancesStartWithEncryptionKey = Operation+ type Scopes InstancesStartWithEncryptionKey =+ '["https://www.googleapis.com/auth/cloud-platform",+ "https://www.googleapis.com/auth/compute"]+ requestClient InstancesStartWithEncryptionKey'{..}+ = go _iswekProject _iswekZone _iswekInstance+ (Just AltJSON)+ _iswekPayload+ computeService+ where go+ = buildClient+ (Proxy ::+ Proxy InstancesStartWithEncryptionKeyResource)+ mempty
gen/Network/Google/Resource/Compute/MachineTypes/AggregatedList.hs view
@@ -33,6 +33,7 @@ , MachineTypesAggregatedList -- * Request Lenses+ , mtalOrderBy , mtalProject , mtalFilter , mtalPageToken@@ -51,17 +52,19 @@ Capture "project" Text :> "aggregated" :> "machineTypes" :>- QueryParam "filter" Text :>- QueryParam "pageToken" Text :>- QueryParam "maxResults" (Textual Word32) :>- QueryParam "alt" AltJSON :>- Get '[JSON] MachineTypeAggregatedList+ QueryParam "orderBy" Text :>+ QueryParam "filter" Text :>+ QueryParam "pageToken" Text :>+ QueryParam "maxResults" (Textual Word32) :>+ QueryParam "alt" AltJSON :>+ Get '[JSON] MachineTypeAggregatedList -- | Retrieves an aggregated list of machine types. -- -- /See:/ 'machineTypesAggregatedList' smart constructor. data MachineTypesAggregatedList = MachineTypesAggregatedList'- { _mtalProject :: !Text+ { _mtalOrderBy :: !(Maybe Text)+ , _mtalProject :: !Text , _mtalFilter :: !(Maybe Text) , _mtalPageToken :: !(Maybe Text) , _mtalMaxResults :: !(Textual Word32)@@ -71,6 +74,8 @@ -- -- Use one of the following lenses to modify other fields as desired: --+-- * 'mtalOrderBy'+-- -- * 'mtalProject' -- -- * 'mtalFilter'@@ -83,12 +88,25 @@ -> MachineTypesAggregatedList machineTypesAggregatedList pMtalProject_ = MachineTypesAggregatedList'- { _mtalProject = pMtalProject_+ { _mtalOrderBy = Nothing+ , _mtalProject = pMtalProject_ , _mtalFilter = Nothing , _mtalPageToken = Nothing , _mtalMaxResults = 500 } +-- | Sorts list results by a certain order. By default, results are returned+-- in alphanumerical order based on the resource name. You can also sort+-- results in descending order based on the creation timestamp using+-- orderBy=\"creationTimestamp desc\". This sorts results based on the+-- creationTimestamp field in reverse chronological order (newest result+-- first). Use this to sort resources like operations so that the newest+-- operation is returned first. Currently, only sorting by name or+-- creationTimestamp desc is supported.+mtalOrderBy :: Lens' MachineTypesAggregatedList (Maybe Text)+mtalOrderBy+ = lens _mtalOrderBy (\ s a -> s{_mtalOrderBy = a})+ -- | Project ID for this request. mtalProject :: Lens' MachineTypesAggregatedList Text mtalProject@@ -105,16 +123,15 @@ -- value is interpreted as a regular expression using RE2 syntax. The -- literal value must match the entire field. For example, to filter for -- instances that do not have a name of example-instance, you would use--- filter=name ne example-instance. Compute Engine Beta API Only: When--- filtering in the Beta API, you can also filter on nested fields. For+-- filter=name ne example-instance. You can filter on nested fields. For -- example, you could filter on instances that have set the -- scheduling.automaticRestart field to true. Use filtering on nested -- fields to take advantage of labels to organize and search for results--- based on label values. The Beta API also supports filtering on multiple--- expressions by providing each separate expression within parentheses.--- For example, (scheduling.automaticRestart eq true) (zone eq--- us-central1-f). Multiple expressions are treated as AND expressions,--- meaning that resources must match all expressions to pass the filters.+-- based on label values. To filter on multiple expressions, provide each+-- separate expression within parentheses. For example,+-- (scheduling.automaticRestart eq true) (zone eq us-central1-f). Multiple+-- expressions are treated as AND expressions, meaning that resources must+-- match all expressions to pass the filters. mtalFilter :: Lens' MachineTypesAggregatedList (Maybe Text) mtalFilter = lens _mtalFilter (\ s a -> s{_mtalFilter = a})@@ -145,7 +162,8 @@ "https://www.googleapis.com/auth/compute", "https://www.googleapis.com/auth/compute.readonly"] requestClient MachineTypesAggregatedList'{..}- = go _mtalProject _mtalFilter _mtalPageToken+ = go _mtalProject _mtalOrderBy _mtalFilter+ _mtalPageToken (Just _mtalMaxResults) (Just AltJSON) computeService
gen/Network/Google/Resource/Compute/MachineTypes/List.hs view
@@ -33,6 +33,7 @@ , MachineTypesList -- * Request Lenses+ , mtlOrderBy , mtlProject , mtlZone , mtlFilter@@ -53,17 +54,19 @@ "zones" :> Capture "zone" Text :> "machineTypes" :>- QueryParam "filter" Text :>- QueryParam "pageToken" Text :>- QueryParam "maxResults" (Textual Word32) :>- QueryParam "alt" AltJSON :>- Get '[JSON] MachineTypeList+ QueryParam "orderBy" Text :>+ QueryParam "filter" Text :>+ QueryParam "pageToken" Text :>+ QueryParam "maxResults" (Textual Word32) :>+ QueryParam "alt" AltJSON :>+ Get '[JSON] MachineTypeList -- | Retrieves a list of machine types available to the specified project. -- -- /See:/ 'machineTypesList' smart constructor. data MachineTypesList = MachineTypesList'- { _mtlProject :: !Text+ { _mtlOrderBy :: !(Maybe Text)+ , _mtlProject :: !Text , _mtlZone :: !Text , _mtlFilter :: !(Maybe Text) , _mtlPageToken :: !(Maybe Text)@@ -74,6 +77,8 @@ -- -- Use one of the following lenses to modify other fields as desired: --+-- * 'mtlOrderBy'+-- -- * 'mtlProject' -- -- * 'mtlZone'@@ -89,13 +94,26 @@ -> MachineTypesList machineTypesList pMtlProject_ pMtlZone_ = MachineTypesList'- { _mtlProject = pMtlProject_+ { _mtlOrderBy = Nothing+ , _mtlProject = pMtlProject_ , _mtlZone = pMtlZone_ , _mtlFilter = Nothing , _mtlPageToken = Nothing , _mtlMaxResults = 500 } +-- | Sorts list results by a certain order. By default, results are returned+-- in alphanumerical order based on the resource name. You can also sort+-- results in descending order based on the creation timestamp using+-- orderBy=\"creationTimestamp desc\". This sorts results based on the+-- creationTimestamp field in reverse chronological order (newest result+-- first). Use this to sort resources like operations so that the newest+-- operation is returned first. Currently, only sorting by name or+-- creationTimestamp desc is supported.+mtlOrderBy :: Lens' MachineTypesList (Maybe Text)+mtlOrderBy+ = lens _mtlOrderBy (\ s a -> s{_mtlOrderBy = a})+ -- | Project ID for this request. mtlProject :: Lens' MachineTypesList Text mtlProject@@ -116,16 +134,15 @@ -- value is interpreted as a regular expression using RE2 syntax. The -- literal value must match the entire field. For example, to filter for -- instances that do not have a name of example-instance, you would use--- filter=name ne example-instance. Compute Engine Beta API Only: When--- filtering in the Beta API, you can also filter on nested fields. For+-- filter=name ne example-instance. You can filter on nested fields. For -- example, you could filter on instances that have set the -- scheduling.automaticRestart field to true. Use filtering on nested -- fields to take advantage of labels to organize and search for results--- based on label values. The Beta API also supports filtering on multiple--- expressions by providing each separate expression within parentheses.--- For example, (scheduling.automaticRestart eq true) (zone eq--- us-central1-f). Multiple expressions are treated as AND expressions,--- meaning that resources must match all expressions to pass the filters.+-- based on label values. To filter on multiple expressions, provide each+-- separate expression within parentheses. For example,+-- (scheduling.automaticRestart eq true) (zone eq us-central1-f). Multiple+-- expressions are treated as AND expressions, meaning that resources must+-- match all expressions to pass the filters. mtlFilter :: Lens' MachineTypesList (Maybe Text) mtlFilter = lens _mtlFilter (\ s a -> s{_mtlFilter = a})@@ -153,7 +170,8 @@ "https://www.googleapis.com/auth/compute", "https://www.googleapis.com/auth/compute.readonly"] requestClient MachineTypesList'{..}- = go _mtlProject _mtlZone _mtlFilter _mtlPageToken+ = go _mtlProject _mtlZone _mtlOrderBy _mtlFilter+ _mtlPageToken (Just _mtlMaxResults) (Just AltJSON) computeService
gen/Network/Google/Resource/Compute/Networks/List.hs view
@@ -33,6 +33,7 @@ , NetworksList -- * Request Lenses+ , nlOrderBy , nlProject , nlFilter , nlPageToken@@ -51,16 +52,18 @@ Capture "project" Text :> "global" :> "networks" :>- QueryParam "filter" Text :>- QueryParam "pageToken" Text :>- QueryParam "maxResults" (Textual Word32) :>- QueryParam "alt" AltJSON :> Get '[JSON] NetworkList+ QueryParam "orderBy" Text :>+ QueryParam "filter" Text :>+ QueryParam "pageToken" Text :>+ QueryParam "maxResults" (Textual Word32) :>+ QueryParam "alt" AltJSON :> Get '[JSON] NetworkList -- | Retrieves the list of networks available to the specified project. -- -- /See:/ 'networksList' smart constructor. data NetworksList = NetworksList'- { _nlProject :: !Text+ { _nlOrderBy :: !(Maybe Text)+ , _nlProject :: !Text , _nlFilter :: !(Maybe Text) , _nlPageToken :: !(Maybe Text) , _nlMaxResults :: !(Textual Word32)@@ -70,6 +73,8 @@ -- -- Use one of the following lenses to modify other fields as desired: --+-- * 'nlOrderBy'+-- -- * 'nlProject' -- -- * 'nlFilter'@@ -82,12 +87,25 @@ -> NetworksList networksList pNlProject_ = NetworksList'- { _nlProject = pNlProject_+ { _nlOrderBy = Nothing+ , _nlProject = pNlProject_ , _nlFilter = Nothing , _nlPageToken = Nothing , _nlMaxResults = 500 } +-- | Sorts list results by a certain order. By default, results are returned+-- in alphanumerical order based on the resource name. You can also sort+-- results in descending order based on the creation timestamp using+-- orderBy=\"creationTimestamp desc\". This sorts results based on the+-- creationTimestamp field in reverse chronological order (newest result+-- first). Use this to sort resources like operations so that the newest+-- operation is returned first. Currently, only sorting by name or+-- creationTimestamp desc is supported.+nlOrderBy :: Lens' NetworksList (Maybe Text)+nlOrderBy+ = lens _nlOrderBy (\ s a -> s{_nlOrderBy = a})+ -- | Project ID for this request. nlProject :: Lens' NetworksList Text nlProject@@ -104,16 +122,15 @@ -- value is interpreted as a regular expression using RE2 syntax. The -- literal value must match the entire field. For example, to filter for -- instances that do not have a name of example-instance, you would use--- filter=name ne example-instance. Compute Engine Beta API Only: When--- filtering in the Beta API, you can also filter on nested fields. For+-- filter=name ne example-instance. You can filter on nested fields. For -- example, you could filter on instances that have set the -- scheduling.automaticRestart field to true. Use filtering on nested -- fields to take advantage of labels to organize and search for results--- based on label values. The Beta API also supports filtering on multiple--- expressions by providing each separate expression within parentheses.--- For example, (scheduling.automaticRestart eq true) (zone eq--- us-central1-f). Multiple expressions are treated as AND expressions,--- meaning that resources must match all expressions to pass the filters.+-- based on label values. To filter on multiple expressions, provide each+-- separate expression within parentheses. For example,+-- (scheduling.automaticRestart eq true) (zone eq us-central1-f). Multiple+-- expressions are treated as AND expressions, meaning that resources must+-- match all expressions to pass the filters. nlFilter :: Lens' NetworksList (Maybe Text) nlFilter = lens _nlFilter (\ s a -> s{_nlFilter = a}) @@ -139,7 +156,7 @@ "https://www.googleapis.com/auth/compute", "https://www.googleapis.com/auth/compute.readonly"] requestClient NetworksList'{..}- = go _nlProject _nlFilter _nlPageToken+ = go _nlProject _nlOrderBy _nlFilter _nlPageToken (Just _nlMaxResults) (Just AltJSON) computeService
gen/Network/Google/Resource/Compute/RegionOperations/List.hs view
@@ -34,6 +34,7 @@ , RegionOperationsList -- * Request Lenses+ , rolOrderBy , rolProject , rolFilter , rolRegion@@ -54,17 +55,19 @@ "regions" :> Capture "region" Text :> "operations" :>- QueryParam "filter" Text :>- QueryParam "pageToken" Text :>- QueryParam "maxResults" (Textual Word32) :>- QueryParam "alt" AltJSON :> Get '[JSON] OperationList+ QueryParam "orderBy" Text :>+ QueryParam "filter" Text :>+ QueryParam "pageToken" Text :>+ QueryParam "maxResults" (Textual Word32) :>+ QueryParam "alt" AltJSON :> Get '[JSON] OperationList -- | Retrieves a list of Operation resources contained within the specified -- region. -- -- /See:/ 'regionOperationsList' smart constructor. data RegionOperationsList = RegionOperationsList'- { _rolProject :: !Text+ { _rolOrderBy :: !(Maybe Text)+ , _rolProject :: !Text , _rolFilter :: !(Maybe Text) , _rolRegion :: !Text , _rolPageToken :: !(Maybe Text)@@ -75,6 +78,8 @@ -- -- Use one of the following lenses to modify other fields as desired: --+-- * 'rolOrderBy'+-- -- * 'rolProject' -- -- * 'rolFilter'@@ -90,13 +95,26 @@ -> RegionOperationsList regionOperationsList pRolProject_ pRolRegion_ = RegionOperationsList'- { _rolProject = pRolProject_+ { _rolOrderBy = Nothing+ , _rolProject = pRolProject_ , _rolFilter = Nothing , _rolRegion = pRolRegion_ , _rolPageToken = Nothing , _rolMaxResults = 500 } +-- | Sorts list results by a certain order. By default, results are returned+-- in alphanumerical order based on the resource name. You can also sort+-- results in descending order based on the creation timestamp using+-- orderBy=\"creationTimestamp desc\". This sorts results based on the+-- creationTimestamp field in reverse chronological order (newest result+-- first). Use this to sort resources like operations so that the newest+-- operation is returned first. Currently, only sorting by name or+-- creationTimestamp desc is supported.+rolOrderBy :: Lens' RegionOperationsList (Maybe Text)+rolOrderBy+ = lens _rolOrderBy (\ s a -> s{_rolOrderBy = a})+ -- | Project ID for this request. rolProject :: Lens' RegionOperationsList Text rolProject@@ -113,16 +131,15 @@ -- value is interpreted as a regular expression using RE2 syntax. The -- literal value must match the entire field. For example, to filter for -- instances that do not have a name of example-instance, you would use--- filter=name ne example-instance. Compute Engine Beta API Only: When--- filtering in the Beta API, you can also filter on nested fields. For+-- filter=name ne example-instance. You can filter on nested fields. For -- example, you could filter on instances that have set the -- scheduling.automaticRestart field to true. Use filtering on nested -- fields to take advantage of labels to organize and search for results--- based on label values. The Beta API also supports filtering on multiple--- expressions by providing each separate expression within parentheses.--- For example, (scheduling.automaticRestart eq true) (zone eq--- us-central1-f). Multiple expressions are treated as AND expressions,--- meaning that resources must match all expressions to pass the filters.+-- based on label values. To filter on multiple expressions, provide each+-- separate expression within parentheses. For example,+-- (scheduling.automaticRestart eq true) (zone eq us-central1-f). Multiple+-- expressions are treated as AND expressions, meaning that resources must+-- match all expressions to pass the filters. rolFilter :: Lens' RegionOperationsList (Maybe Text) rolFilter = lens _rolFilter (\ s a -> s{_rolFilter = a})@@ -155,7 +172,8 @@ "https://www.googleapis.com/auth/compute", "https://www.googleapis.com/auth/compute.readonly"] requestClient RegionOperationsList'{..}- = go _rolProject _rolRegion _rolFilter _rolPageToken+ = go _rolProject _rolRegion _rolOrderBy _rolFilter+ _rolPageToken (Just _rolMaxResults) (Just AltJSON) computeService
gen/Network/Google/Resource/Compute/Regions/List.hs view
@@ -34,10 +34,11 @@ , RegionsList -- * Request Lenses- , rProject- , rFilter- , rPageToken- , rMaxResults+ , regOrderBy+ , regProject+ , regFilter+ , regPageToken+ , regMaxResults ) where import Network.Google.Compute.Types@@ -51,47 +52,65 @@ "projects" :> Capture "project" Text :> "regions" :>- QueryParam "filter" Text :>- QueryParam "pageToken" Text :>- QueryParam "maxResults" (Textual Word32) :>- QueryParam "alt" AltJSON :> Get '[JSON] RegionList+ QueryParam "orderBy" Text :>+ QueryParam "filter" Text :>+ QueryParam "pageToken" Text :>+ QueryParam "maxResults" (Textual Word32) :>+ QueryParam "alt" AltJSON :> Get '[JSON] RegionList -- | Retrieves the list of region resources available to the specified -- project. -- -- /See:/ 'regionsList' smart constructor. data RegionsList = RegionsList'- { _rProject :: !Text- , _rFilter :: !(Maybe Text)- , _rPageToken :: !(Maybe Text)- , _rMaxResults :: !(Textual Word32)+ { _regOrderBy :: !(Maybe Text)+ , _regProject :: !Text+ , _regFilter :: !(Maybe Text)+ , _regPageToken :: !(Maybe Text)+ , _regMaxResults :: !(Textual Word32) } deriving (Eq,Show,Data,Typeable,Generic) -- | Creates a value of 'RegionsList' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired: ----- * 'rProject'+-- * 'regOrderBy' ----- * 'rFilter'+-- * 'regProject' ----- * 'rPageToken'+-- * 'regFilter' ----- * 'rMaxResults'+-- * 'regPageToken'+--+-- * 'regMaxResults' regionsList- :: Text -- ^ 'rProject'+ :: Text -- ^ 'regProject' -> RegionsList-regionsList pRProject_ =+regionsList pRegProject_ = RegionsList'- { _rProject = pRProject_- , _rFilter = Nothing- , _rPageToken = Nothing- , _rMaxResults = 500+ { _regOrderBy = Nothing+ , _regProject = pRegProject_+ , _regFilter = Nothing+ , _regPageToken = Nothing+ , _regMaxResults = 500 } +-- | Sorts list results by a certain order. By default, results are returned+-- in alphanumerical order based on the resource name. You can also sort+-- results in descending order based on the creation timestamp using+-- orderBy=\"creationTimestamp desc\". This sorts results based on the+-- creationTimestamp field in reverse chronological order (newest result+-- first). Use this to sort resources like operations so that the newest+-- operation is returned first. Currently, only sorting by name or+-- creationTimestamp desc is supported.+regOrderBy :: Lens' RegionsList (Maybe Text)+regOrderBy+ = lens _regOrderBy (\ s a -> s{_regOrderBy = a})+ -- | Project ID for this request.-rProject :: Lens' RegionsList Text-rProject = lens _rProject (\ s a -> s{_rProject = a})+regProject :: Lens' RegionsList Text+regProject+ = lens _regProject (\ s a -> s{_regProject = a}) -- | Sets a filter expression for filtering listed resources, in the form -- filter={expression}. Your {expression} must be in the format: field_name@@ -104,33 +123,34 @@ -- value is interpreted as a regular expression using RE2 syntax. The -- literal value must match the entire field. For example, to filter for -- instances that do not have a name of example-instance, you would use--- filter=name ne example-instance. Compute Engine Beta API Only: When--- filtering in the Beta API, you can also filter on nested fields. For+-- filter=name ne example-instance. You can filter on nested fields. For -- example, you could filter on instances that have set the -- scheduling.automaticRestart field to true. Use filtering on nested -- fields to take advantage of labels to organize and search for results--- based on label values. The Beta API also supports filtering on multiple--- expressions by providing each separate expression within parentheses.--- For example, (scheduling.automaticRestart eq true) (zone eq--- us-central1-f). Multiple expressions are treated as AND expressions,--- meaning that resources must match all expressions to pass the filters.-rFilter :: Lens' RegionsList (Maybe Text)-rFilter = lens _rFilter (\ s a -> s{_rFilter = a})+-- based on label values. To filter on multiple expressions, provide each+-- separate expression within parentheses. For example,+-- (scheduling.automaticRestart eq true) (zone eq us-central1-f). Multiple+-- expressions are treated as AND expressions, meaning that resources must+-- match all expressions to pass the filters.+regFilter :: Lens' RegionsList (Maybe Text)+regFilter+ = lens _regFilter (\ s a -> s{_regFilter = a}) -- | Specifies a page token to use. Set pageToken to the nextPageToken -- returned by a previous list request to get the next page of results.-rPageToken :: Lens' RegionsList (Maybe Text)-rPageToken- = lens _rPageToken (\ s a -> s{_rPageToken = a})+regPageToken :: Lens' RegionsList (Maybe Text)+regPageToken+ = lens _regPageToken (\ s a -> s{_regPageToken = a}) -- | The maximum number of results per page that should be returned. If the -- number of available results is larger than maxResults, Compute Engine -- returns a nextPageToken that can be used to get the next page of results -- in subsequent list requests.-rMaxResults :: Lens' RegionsList Word32-rMaxResults- = lens _rMaxResults (\ s a -> s{_rMaxResults = a}) .- _Coerce+regMaxResults :: Lens' RegionsList Word32+regMaxResults+ = lens _regMaxResults+ (\ s a -> s{_regMaxResults = a})+ . _Coerce instance GoogleRequest RegionsList where type Rs RegionsList = RegionList@@ -139,8 +159,8 @@ "https://www.googleapis.com/auth/compute", "https://www.googleapis.com/auth/compute.readonly"] requestClient RegionsList'{..}- = go _rProject _rFilter _rPageToken- (Just _rMaxResults)+ = go _regProject _regOrderBy _regFilter _regPageToken+ (Just _regMaxResults) (Just AltJSON) computeService where go
+ gen/Network/Google/Resource/Compute/Routers/AggregatedList.hs view
@@ -0,0 +1,169 @@+{-# 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.Compute.Routers.AggregatedList+-- 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)+--+-- Retrieves an aggregated list of routers.+--+-- /See:/ <https://developers.google.com/compute/docs/reference/latest/ Compute Engine API Reference> for @compute.routers.aggregatedList@.+module Network.Google.Resource.Compute.Routers.AggregatedList+ (+ -- * REST Resource+ RoutersAggregatedListResource++ -- * Creating a Request+ , routersAggregatedList+ , RoutersAggregatedList++ -- * Request Lenses+ , ralOrderBy+ , ralProject+ , ralFilter+ , ralPageToken+ , ralMaxResults+ ) where++import Network.Google.Compute.Types+import Network.Google.Prelude++-- | A resource alias for @compute.routers.aggregatedList@ method which the+-- 'RoutersAggregatedList' request conforms to.+type RoutersAggregatedListResource =+ "compute" :>+ "v1" :>+ "projects" :>+ Capture "project" Text :>+ "aggregated" :>+ "routers" :>+ QueryParam "orderBy" Text :>+ QueryParam "filter" Text :>+ QueryParam "pageToken" Text :>+ QueryParam "maxResults" (Textual Word32) :>+ QueryParam "alt" AltJSON :>+ Get '[JSON] RouterAggregatedList++-- | Retrieves an aggregated list of routers.+--+-- /See:/ 'routersAggregatedList' smart constructor.+data RoutersAggregatedList = RoutersAggregatedList'+ { _ralOrderBy :: !(Maybe Text)+ , _ralProject :: !Text+ , _ralFilter :: !(Maybe Text)+ , _ralPageToken :: !(Maybe Text)+ , _ralMaxResults :: !(Textual Word32)+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'RoutersAggregatedList' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'ralOrderBy'+--+-- * 'ralProject'+--+-- * 'ralFilter'+--+-- * 'ralPageToken'+--+-- * 'ralMaxResults'+routersAggregatedList+ :: Text -- ^ 'ralProject'+ -> RoutersAggregatedList+routersAggregatedList pRalProject_ =+ RoutersAggregatedList'+ { _ralOrderBy = Nothing+ , _ralProject = pRalProject_+ , _ralFilter = Nothing+ , _ralPageToken = Nothing+ , _ralMaxResults = 500+ }++-- | Sorts list results by a certain order. By default, results are returned+-- in alphanumerical order based on the resource name. You can also sort+-- results in descending order based on the creation timestamp using+-- orderBy=\"creationTimestamp desc\". This sorts results based on the+-- creationTimestamp field in reverse chronological order (newest result+-- first). Use this to sort resources like operations so that the newest+-- operation is returned first. Currently, only sorting by name or+-- creationTimestamp desc is supported.+ralOrderBy :: Lens' RoutersAggregatedList (Maybe Text)+ralOrderBy+ = lens _ralOrderBy (\ s a -> s{_ralOrderBy = a})++-- | Project ID for this request.+ralProject :: Lens' RoutersAggregatedList Text+ralProject+ = lens _ralProject (\ s a -> s{_ralProject = a})++-- | Sets a filter expression for filtering listed resources, in the form+-- filter={expression}. Your {expression} must be in the format: field_name+-- comparison_string literal_string. The field_name is the name of the+-- field you want to compare. Only atomic field types are supported+-- (string, number, boolean). The comparison_string must be either eq+-- (equals) or ne (not equals). The literal_string is the string value to+-- filter to. The literal value must be valid for the type of field you are+-- filtering by (string, number, boolean). For string fields, the literal+-- value is interpreted as a regular expression using RE2 syntax. The+-- literal value must match the entire field. For example, to filter for+-- instances that do not have a name of example-instance, you would use+-- filter=name ne example-instance. You can filter on nested fields. For+-- example, you could filter on instances that have set the+-- scheduling.automaticRestart field to true. Use filtering on nested+-- fields to take advantage of labels to organize and search for results+-- based on label values. To filter on multiple expressions, provide each+-- separate expression within parentheses. For example,+-- (scheduling.automaticRestart eq true) (zone eq us-central1-f). Multiple+-- expressions are treated as AND expressions, meaning that resources must+-- match all expressions to pass the filters.+ralFilter :: Lens' RoutersAggregatedList (Maybe Text)+ralFilter+ = lens _ralFilter (\ s a -> s{_ralFilter = a})++-- | Specifies a page token to use. Set pageToken to the nextPageToken+-- returned by a previous list request to get the next page of results.+ralPageToken :: Lens' RoutersAggregatedList (Maybe Text)+ralPageToken+ = lens _ralPageToken (\ s a -> s{_ralPageToken = a})++-- | The maximum number of results per page that should be returned. If the+-- number of available results is larger than maxResults, Compute Engine+-- returns a nextPageToken that can be used to get the next page of results+-- in subsequent list requests.+ralMaxResults :: Lens' RoutersAggregatedList Word32+ralMaxResults+ = lens _ralMaxResults+ (\ s a -> s{_ralMaxResults = a})+ . _Coerce++instance GoogleRequest RoutersAggregatedList where+ type Rs RoutersAggregatedList = RouterAggregatedList+ type Scopes RoutersAggregatedList =+ '["https://www.googleapis.com/auth/cloud-platform",+ "https://www.googleapis.com/auth/compute",+ "https://www.googleapis.com/auth/compute.readonly"]+ requestClient RoutersAggregatedList'{..}+ = go _ralProject _ralOrderBy _ralFilter _ralPageToken+ (Just _ralMaxResults)+ (Just AltJSON)+ computeService+ where go+ = buildClient+ (Proxy :: Proxy RoutersAggregatedListResource)+ mempty
+ gen/Network/Google/Resource/Compute/Routers/Delete.hs view
@@ -0,0 +1,112 @@+{-# 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.Compute.Routers.Delete+-- 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)+--+-- Deletes the specified Router resource.+--+-- /See:/ <https://developers.google.com/compute/docs/reference/latest/ Compute Engine API Reference> for @compute.routers.delete@.+module Network.Google.Resource.Compute.Routers.Delete+ (+ -- * REST Resource+ RoutersDeleteResource++ -- * Creating a Request+ , routersDelete+ , RoutersDelete++ -- * Request Lenses+ , rddProject+ , rddRouter+ , rddRegion+ ) where++import Network.Google.Compute.Types+import Network.Google.Prelude++-- | A resource alias for @compute.routers.delete@ method which the+-- 'RoutersDelete' request conforms to.+type RoutersDeleteResource =+ "compute" :>+ "v1" :>+ "projects" :>+ Capture "project" Text :>+ "regions" :>+ Capture "region" Text :>+ "routers" :>+ Capture "router" Text :>+ QueryParam "alt" AltJSON :> Delete '[JSON] Operation++-- | Deletes the specified Router resource.+--+-- /See:/ 'routersDelete' smart constructor.+data RoutersDelete = RoutersDelete'+ { _rddProject :: !Text+ , _rddRouter :: !Text+ , _rddRegion :: !Text+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'RoutersDelete' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'rddProject'+--+-- * 'rddRouter'+--+-- * 'rddRegion'+routersDelete+ :: Text -- ^ 'rddProject'+ -> Text -- ^ 'rddRouter'+ -> Text -- ^ 'rddRegion'+ -> RoutersDelete+routersDelete pRddProject_ pRddRouter_ pRddRegion_ =+ RoutersDelete'+ { _rddProject = pRddProject_+ , _rddRouter = pRddRouter_+ , _rddRegion = pRddRegion_+ }++-- | Project ID for this request.+rddProject :: Lens' RoutersDelete Text+rddProject+ = lens _rddProject (\ s a -> s{_rddProject = a})++-- | Name of the Router resource to delete.+rddRouter :: Lens' RoutersDelete Text+rddRouter+ = lens _rddRouter (\ s a -> s{_rddRouter = a})++-- | Name of the region for this request.+rddRegion :: Lens' RoutersDelete Text+rddRegion+ = lens _rddRegion (\ s a -> s{_rddRegion = a})++instance GoogleRequest RoutersDelete where+ type Rs RoutersDelete = Operation+ type Scopes RoutersDelete =+ '["https://www.googleapis.com/auth/cloud-platform",+ "https://www.googleapis.com/auth/compute"]+ requestClient RoutersDelete'{..}+ = go _rddProject _rddRegion _rddRouter (Just AltJSON)+ computeService+ where go+ = buildClient (Proxy :: Proxy RoutersDeleteResource)+ mempty
+ gen/Network/Google/Resource/Compute/Routers/Get.hs view
@@ -0,0 +1,115 @@+{-# 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.Compute.Routers.Get+-- 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)+--+-- Returns the specified Router resource. Get a list of available routers+-- by making a list() request.+--+-- /See:/ <https://developers.google.com/compute/docs/reference/latest/ Compute Engine API Reference> for @compute.routers.get@.+module Network.Google.Resource.Compute.Routers.Get+ (+ -- * REST Resource+ RoutersGetResource++ -- * Creating a Request+ , routersGet+ , RoutersGet++ -- * Request Lenses+ , rggProject+ , rggRouter+ , rggRegion+ ) where++import Network.Google.Compute.Types+import Network.Google.Prelude++-- | A resource alias for @compute.routers.get@ method which the+-- 'RoutersGet' request conforms to.+type RoutersGetResource =+ "compute" :>+ "v1" :>+ "projects" :>+ Capture "project" Text :>+ "regions" :>+ Capture "region" Text :>+ "routers" :>+ Capture "router" Text :>+ QueryParam "alt" AltJSON :> Get '[JSON] Router++-- | Returns the specified Router resource. Get a list of available routers+-- by making a list() request.+--+-- /See:/ 'routersGet' smart constructor.+data RoutersGet = RoutersGet'+ { _rggProject :: !Text+ , _rggRouter :: !Text+ , _rggRegion :: !Text+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'RoutersGet' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'rggProject'+--+-- * 'rggRouter'+--+-- * 'rggRegion'+routersGet+ :: Text -- ^ 'rggProject'+ -> Text -- ^ 'rggRouter'+ -> Text -- ^ 'rggRegion'+ -> RoutersGet+routersGet pRggProject_ pRggRouter_ pRggRegion_ =+ RoutersGet'+ { _rggProject = pRggProject_+ , _rggRouter = pRggRouter_+ , _rggRegion = pRggRegion_+ }++-- | Project ID for this request.+rggProject :: Lens' RoutersGet Text+rggProject+ = lens _rggProject (\ s a -> s{_rggProject = a})++-- | Name of the Router resource to return.+rggRouter :: Lens' RoutersGet Text+rggRouter+ = lens _rggRouter (\ s a -> s{_rggRouter = a})++-- | Name of the region for this request.+rggRegion :: Lens' RoutersGet Text+rggRegion+ = lens _rggRegion (\ s a -> s{_rggRegion = a})++instance GoogleRequest RoutersGet where+ type Rs RoutersGet = Router+ type Scopes RoutersGet =+ '["https://www.googleapis.com/auth/cloud-platform",+ "https://www.googleapis.com/auth/compute",+ "https://www.googleapis.com/auth/compute.readonly"]+ requestClient RoutersGet'{..}+ = go _rggProject _rggRegion _rggRouter (Just AltJSON)+ computeService+ where go+ = buildClient (Proxy :: Proxy RoutersGetResource)+ mempty
+ gen/Network/Google/Resource/Compute/Routers/GetRouterStatus.hs view
@@ -0,0 +1,117 @@+{-# 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.Compute.Routers.GetRouterStatus+-- 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)+--+-- Retrieves runtime information of the specified router.+--+-- /See:/ <https://developers.google.com/compute/docs/reference/latest/ Compute Engine API Reference> for @compute.routers.getRouterStatus@.+module Network.Google.Resource.Compute.Routers.GetRouterStatus+ (+ -- * REST Resource+ RoutersGetRouterStatusResource++ -- * Creating a Request+ , routersGetRouterStatus+ , RoutersGetRouterStatus++ -- * Request Lenses+ , rgrsProject+ , rgrsRouter+ , rgrsRegion+ ) where++import Network.Google.Compute.Types+import Network.Google.Prelude++-- | A resource alias for @compute.routers.getRouterStatus@ method which the+-- 'RoutersGetRouterStatus' request conforms to.+type RoutersGetRouterStatusResource =+ "compute" :>+ "v1" :>+ "projects" :>+ Capture "project" Text :>+ "regions" :>+ Capture "region" Text :>+ "routers" :>+ Capture "router" Text :>+ "getRouterStatus" :>+ QueryParam "alt" AltJSON :>+ Get '[JSON] RouterStatusResponse++-- | Retrieves runtime information of the specified router.+--+-- /See:/ 'routersGetRouterStatus' smart constructor.+data RoutersGetRouterStatus = RoutersGetRouterStatus'+ { _rgrsProject :: !Text+ , _rgrsRouter :: !Text+ , _rgrsRegion :: !Text+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'RoutersGetRouterStatus' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'rgrsProject'+--+-- * 'rgrsRouter'+--+-- * 'rgrsRegion'+routersGetRouterStatus+ :: Text -- ^ 'rgrsProject'+ -> Text -- ^ 'rgrsRouter'+ -> Text -- ^ 'rgrsRegion'+ -> RoutersGetRouterStatus+routersGetRouterStatus pRgrsProject_ pRgrsRouter_ pRgrsRegion_ =+ RoutersGetRouterStatus'+ { _rgrsProject = pRgrsProject_+ , _rgrsRouter = pRgrsRouter_+ , _rgrsRegion = pRgrsRegion_+ }++-- | Project ID for this request.+rgrsProject :: Lens' RoutersGetRouterStatus Text+rgrsProject+ = lens _rgrsProject (\ s a -> s{_rgrsProject = a})++-- | Name of the Router resource to query.+rgrsRouter :: Lens' RoutersGetRouterStatus Text+rgrsRouter+ = lens _rgrsRouter (\ s a -> s{_rgrsRouter = a})++-- | Name of the region for this request.+rgrsRegion :: Lens' RoutersGetRouterStatus Text+rgrsRegion+ = lens _rgrsRegion (\ s a -> s{_rgrsRegion = a})++instance GoogleRequest RoutersGetRouterStatus where+ type Rs RoutersGetRouterStatus = RouterStatusResponse+ type Scopes RoutersGetRouterStatus =+ '["https://www.googleapis.com/auth/cloud-platform",+ "https://www.googleapis.com/auth/compute",+ "https://www.googleapis.com/auth/compute.readonly"]+ requestClient RoutersGetRouterStatus'{..}+ = go _rgrsProject _rgrsRegion _rgrsRouter+ (Just AltJSON)+ computeService+ where go+ = buildClient+ (Proxy :: Proxy RoutersGetRouterStatusResource)+ mempty
+ gen/Network/Google/Resource/Compute/Routers/Insert.hs view
@@ -0,0 +1,113 @@+{-# 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.Compute.Routers.Insert+-- 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)+--+-- Creates a Router resource in the specified project and region using the+-- data included in the request.+--+-- /See:/ <https://developers.google.com/compute/docs/reference/latest/ Compute Engine API Reference> for @compute.routers.insert@.+module Network.Google.Resource.Compute.Routers.Insert+ (+ -- * REST Resource+ RoutersInsertResource++ -- * Creating a Request+ , routersInsert+ , RoutersInsert++ -- * Request Lenses+ , riProject+ , riPayload+ , riRegion+ ) where++import Network.Google.Compute.Types+import Network.Google.Prelude++-- | A resource alias for @compute.routers.insert@ method which the+-- 'RoutersInsert' request conforms to.+type RoutersInsertResource =+ "compute" :>+ "v1" :>+ "projects" :>+ Capture "project" Text :>+ "regions" :>+ Capture "region" Text :>+ "routers" :>+ QueryParam "alt" AltJSON :>+ ReqBody '[JSON] Router :> Post '[JSON] Operation++-- | Creates a Router resource in the specified project and region using the+-- data included in the request.+--+-- /See:/ 'routersInsert' smart constructor.+data RoutersInsert = RoutersInsert'+ { _riProject :: !Text+ , _riPayload :: !Router+ , _riRegion :: !Text+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'RoutersInsert' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'riProject'+--+-- * 'riPayload'+--+-- * 'riRegion'+routersInsert+ :: Text -- ^ 'riProject'+ -> Router -- ^ 'riPayload'+ -> Text -- ^ 'riRegion'+ -> RoutersInsert+routersInsert pRiProject_ pRiPayload_ pRiRegion_ =+ RoutersInsert'+ { _riProject = pRiProject_+ , _riPayload = pRiPayload_+ , _riRegion = pRiRegion_+ }++-- | Project ID for this request.+riProject :: Lens' RoutersInsert Text+riProject+ = lens _riProject (\ s a -> s{_riProject = a})++-- | Multipart request metadata.+riPayload :: Lens' RoutersInsert Router+riPayload+ = lens _riPayload (\ s a -> s{_riPayload = a})++-- | Name of the region for this request.+riRegion :: Lens' RoutersInsert Text+riRegion = lens _riRegion (\ s a -> s{_riRegion = a})++instance GoogleRequest RoutersInsert where+ type Rs RoutersInsert = Operation+ type Scopes RoutersInsert =+ '["https://www.googleapis.com/auth/cloud-platform",+ "https://www.googleapis.com/auth/compute"]+ requestClient RoutersInsert'{..}+ = go _riProject _riRegion (Just AltJSON) _riPayload+ computeService+ where go+ = buildClient (Proxy :: Proxy RoutersInsertResource)+ mempty
+ gen/Network/Google/Resource/Compute/Routers/List.hs view
@@ -0,0 +1,177 @@+{-# 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.Compute.Routers.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)+--+-- Retrieves a list of Router resources available to the specified project.+--+-- /See:/ <https://developers.google.com/compute/docs/reference/latest/ Compute Engine API Reference> for @compute.routers.list@.+module Network.Google.Resource.Compute.Routers.List+ (+ -- * REST Resource+ RoutersListResource++ -- * Creating a Request+ , routersList+ , RoutersList++ -- * Request Lenses+ , rlOrderBy+ , rlProject+ , rlFilter+ , rlRegion+ , rlPageToken+ , rlMaxResults+ ) where++import Network.Google.Compute.Types+import Network.Google.Prelude++-- | A resource alias for @compute.routers.list@ method which the+-- 'RoutersList' request conforms to.+type RoutersListResource =+ "compute" :>+ "v1" :>+ "projects" :>+ Capture "project" Text :>+ "regions" :>+ Capture "region" Text :>+ "routers" :>+ QueryParam "orderBy" Text :>+ QueryParam "filter" Text :>+ QueryParam "pageToken" Text :>+ QueryParam "maxResults" (Textual Word32) :>+ QueryParam "alt" AltJSON :> Get '[JSON] RouterList++-- | Retrieves a list of Router resources available to the specified project.+--+-- /See:/ 'routersList' smart constructor.+data RoutersList = RoutersList'+ { _rlOrderBy :: !(Maybe Text)+ , _rlProject :: !Text+ , _rlFilter :: !(Maybe Text)+ , _rlRegion :: !Text+ , _rlPageToken :: !(Maybe Text)+ , _rlMaxResults :: !(Textual Word32)+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'RoutersList' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'rlOrderBy'+--+-- * 'rlProject'+--+-- * 'rlFilter'+--+-- * 'rlRegion'+--+-- * 'rlPageToken'+--+-- * 'rlMaxResults'+routersList+ :: Text -- ^ 'rlProject'+ -> Text -- ^ 'rlRegion'+ -> RoutersList+routersList pRlProject_ pRlRegion_ =+ RoutersList'+ { _rlOrderBy = Nothing+ , _rlProject = pRlProject_+ , _rlFilter = Nothing+ , _rlRegion = pRlRegion_+ , _rlPageToken = Nothing+ , _rlMaxResults = 500+ }++-- | Sorts list results by a certain order. By default, results are returned+-- in alphanumerical order based on the resource name. You can also sort+-- results in descending order based on the creation timestamp using+-- orderBy=\"creationTimestamp desc\". This sorts results based on the+-- creationTimestamp field in reverse chronological order (newest result+-- first). Use this to sort resources like operations so that the newest+-- operation is returned first. Currently, only sorting by name or+-- creationTimestamp desc is supported.+rlOrderBy :: Lens' RoutersList (Maybe Text)+rlOrderBy+ = lens _rlOrderBy (\ s a -> s{_rlOrderBy = a})++-- | Project ID for this request.+rlProject :: Lens' RoutersList Text+rlProject+ = lens _rlProject (\ s a -> s{_rlProject = a})++-- | Sets a filter expression for filtering listed resources, in the form+-- filter={expression}. Your {expression} must be in the format: field_name+-- comparison_string literal_string. The field_name is the name of the+-- field you want to compare. Only atomic field types are supported+-- (string, number, boolean). The comparison_string must be either eq+-- (equals) or ne (not equals). The literal_string is the string value to+-- filter to. The literal value must be valid for the type of field you are+-- filtering by (string, number, boolean). For string fields, the literal+-- value is interpreted as a regular expression using RE2 syntax. The+-- literal value must match the entire field. For example, to filter for+-- instances that do not have a name of example-instance, you would use+-- filter=name ne example-instance. You can filter on nested fields. For+-- example, you could filter on instances that have set the+-- scheduling.automaticRestart field to true. Use filtering on nested+-- fields to take advantage of labels to organize and search for results+-- based on label values. To filter on multiple expressions, provide each+-- separate expression within parentheses. For example,+-- (scheduling.automaticRestart eq true) (zone eq us-central1-f). Multiple+-- expressions are treated as AND expressions, meaning that resources must+-- match all expressions to pass the filters.+rlFilter :: Lens' RoutersList (Maybe Text)+rlFilter = lens _rlFilter (\ s a -> s{_rlFilter = a})++-- | Name of the region for this request.+rlRegion :: Lens' RoutersList Text+rlRegion = lens _rlRegion (\ s a -> s{_rlRegion = a})++-- | Specifies a page token to use. Set pageToken to the nextPageToken+-- returned by a previous list request to get the next page of results.+rlPageToken :: Lens' RoutersList (Maybe Text)+rlPageToken+ = lens _rlPageToken (\ s a -> s{_rlPageToken = a})++-- | The maximum number of results per page that should be returned. If the+-- number of available results is larger than maxResults, Compute Engine+-- returns a nextPageToken that can be used to get the next page of results+-- in subsequent list requests.+rlMaxResults :: Lens' RoutersList Word32+rlMaxResults+ = lens _rlMaxResults (\ s a -> s{_rlMaxResults = a})+ . _Coerce++instance GoogleRequest RoutersList where+ type Rs RoutersList = RouterList+ type Scopes RoutersList =+ '["https://www.googleapis.com/auth/cloud-platform",+ "https://www.googleapis.com/auth/compute",+ "https://www.googleapis.com/auth/compute.readonly"]+ requestClient RoutersList'{..}+ = go _rlProject _rlRegion _rlOrderBy _rlFilter+ _rlPageToken+ (Just _rlMaxResults)+ (Just AltJSON)+ computeService+ where go+ = buildClient (Proxy :: Proxy RoutersListResource)+ mempty
+ gen/Network/Google/Resource/Compute/Routers/Patch.hs view
@@ -0,0 +1,125 @@+{-# 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.Compute.Routers.Patch+-- 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)+--+-- Updates the specified Router resource with the data included in the+-- request. This method supports patch semantics.+--+-- /See:/ <https://developers.google.com/compute/docs/reference/latest/ Compute Engine API Reference> for @compute.routers.patch@.+module Network.Google.Resource.Compute.Routers.Patch+ (+ -- * REST Resource+ RoutersPatchResource++ -- * Creating a Request+ , routersPatch+ , RoutersPatch++ -- * Request Lenses+ , rpProject+ , rpRouter+ , rpPayload+ , rpRegion+ ) where++import Network.Google.Compute.Types+import Network.Google.Prelude++-- | A resource alias for @compute.routers.patch@ method which the+-- 'RoutersPatch' request conforms to.+type RoutersPatchResource =+ "compute" :>+ "v1" :>+ "projects" :>+ Capture "project" Text :>+ "regions" :>+ Capture "region" Text :>+ "routers" :>+ Capture "router" Text :>+ QueryParam "alt" AltJSON :>+ ReqBody '[JSON] Router :> Patch '[JSON] Operation++-- | Updates the specified Router resource with the data included in the+-- request. This method supports patch semantics.+--+-- /See:/ 'routersPatch' smart constructor.+data RoutersPatch = RoutersPatch'+ { _rpProject :: !Text+ , _rpRouter :: !Text+ , _rpPayload :: !Router+ , _rpRegion :: !Text+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'RoutersPatch' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'rpProject'+--+-- * 'rpRouter'+--+-- * 'rpPayload'+--+-- * 'rpRegion'+routersPatch+ :: Text -- ^ 'rpProject'+ -> Text -- ^ 'rpRouter'+ -> Router -- ^ 'rpPayload'+ -> Text -- ^ 'rpRegion'+ -> RoutersPatch+routersPatch pRpProject_ pRpRouter_ pRpPayload_ pRpRegion_ =+ RoutersPatch'+ { _rpProject = pRpProject_+ , _rpRouter = pRpRouter_+ , _rpPayload = pRpPayload_+ , _rpRegion = pRpRegion_+ }++-- | Project ID for this request.+rpProject :: Lens' RoutersPatch Text+rpProject+ = lens _rpProject (\ s a -> s{_rpProject = a})++-- | Name of the Router resource to update.+rpRouter :: Lens' RoutersPatch Text+rpRouter = lens _rpRouter (\ s a -> s{_rpRouter = a})++-- | Multipart request metadata.+rpPayload :: Lens' RoutersPatch Router+rpPayload+ = lens _rpPayload (\ s a -> s{_rpPayload = a})++-- | Name of the region for this request.+rpRegion :: Lens' RoutersPatch Text+rpRegion = lens _rpRegion (\ s a -> s{_rpRegion = a})++instance GoogleRequest RoutersPatch where+ type Rs RoutersPatch = Operation+ type Scopes RoutersPatch =+ '["https://www.googleapis.com/auth/cloud-platform",+ "https://www.googleapis.com/auth/compute"]+ requestClient RoutersPatch'{..}+ = go _rpProject _rpRegion _rpRouter (Just AltJSON)+ _rpPayload+ computeService+ where go+ = buildClient (Proxy :: Proxy RoutersPatchResource)+ mempty
+ gen/Network/Google/Resource/Compute/Routers/Preview.hs view
@@ -0,0 +1,130 @@+{-# 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.Compute.Routers.Preview+-- 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)+--+-- Preview fields auto-generated during router create and update+-- operations. Calling this method does NOT create or update the router.+--+-- /See:/ <https://developers.google.com/compute/docs/reference/latest/ Compute Engine API Reference> for @compute.routers.preview@.+module Network.Google.Resource.Compute.Routers.Preview+ (+ -- * REST Resource+ RoutersPreviewResource++ -- * Creating a Request+ , routersPreview+ , RoutersPreview++ -- * Request Lenses+ , rppProject+ , rppRouter+ , rppPayload+ , rppRegion+ ) where++import Network.Google.Compute.Types+import Network.Google.Prelude++-- | A resource alias for @compute.routers.preview@ method which the+-- 'RoutersPreview' request conforms to.+type RoutersPreviewResource =+ "compute" :>+ "v1" :>+ "projects" :>+ Capture "project" Text :>+ "regions" :>+ Capture "region" Text :>+ "routers" :>+ Capture "router" Text :>+ "preview" :>+ QueryParam "alt" AltJSON :>+ ReqBody '[JSON] Router :>+ Post '[JSON] RoutersPreviewResponse++-- | Preview fields auto-generated during router create and update+-- operations. Calling this method does NOT create or update the router.+--+-- /See:/ 'routersPreview' smart constructor.+data RoutersPreview = RoutersPreview'+ { _rppProject :: !Text+ , _rppRouter :: !Text+ , _rppPayload :: !Router+ , _rppRegion :: !Text+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'RoutersPreview' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'rppProject'+--+-- * 'rppRouter'+--+-- * 'rppPayload'+--+-- * 'rppRegion'+routersPreview+ :: Text -- ^ 'rppProject'+ -> Text -- ^ 'rppRouter'+ -> Router -- ^ 'rppPayload'+ -> Text -- ^ 'rppRegion'+ -> RoutersPreview+routersPreview pRppProject_ pRppRouter_ pRppPayload_ pRppRegion_ =+ RoutersPreview'+ { _rppProject = pRppProject_+ , _rppRouter = pRppRouter_+ , _rppPayload = pRppPayload_+ , _rppRegion = pRppRegion_+ }++-- | Project ID for this request.+rppProject :: Lens' RoutersPreview Text+rppProject+ = lens _rppProject (\ s a -> s{_rppProject = a})++-- | Name of the Router resource to query.+rppRouter :: Lens' RoutersPreview Text+rppRouter+ = lens _rppRouter (\ s a -> s{_rppRouter = a})++-- | Multipart request metadata.+rppPayload :: Lens' RoutersPreview Router+rppPayload+ = lens _rppPayload (\ s a -> s{_rppPayload = a})++-- | Name of the region for this request.+rppRegion :: Lens' RoutersPreview Text+rppRegion+ = lens _rppRegion (\ s a -> s{_rppRegion = a})++instance GoogleRequest RoutersPreview where+ type Rs RoutersPreview = RoutersPreviewResponse+ type Scopes RoutersPreview =+ '["https://www.googleapis.com/auth/cloud-platform",+ "https://www.googleapis.com/auth/compute",+ "https://www.googleapis.com/auth/compute.readonly"]+ requestClient RoutersPreview'{..}+ = go _rppProject _rppRegion _rppRouter (Just AltJSON)+ _rppPayload+ computeService+ where go+ = buildClient (Proxy :: Proxy RoutersPreviewResource)+ mempty
+ gen/Network/Google/Resource/Compute/Routers/Update.hs view
@@ -0,0 +1,125 @@+{-# 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.Compute.Routers.Update+-- 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)+--+-- Updates the specified Router resource with the data included in the+-- request.+--+-- /See:/ <https://developers.google.com/compute/docs/reference/latest/ Compute Engine API Reference> for @compute.routers.update@.+module Network.Google.Resource.Compute.Routers.Update+ (+ -- * REST Resource+ RoutersUpdateResource++ -- * Creating a Request+ , routersUpdate+ , RoutersUpdate++ -- * Request Lenses+ , ruProject+ , ruRouter+ , ruPayload+ , ruRegion+ ) where++import Network.Google.Compute.Types+import Network.Google.Prelude++-- | A resource alias for @compute.routers.update@ method which the+-- 'RoutersUpdate' request conforms to.+type RoutersUpdateResource =+ "compute" :>+ "v1" :>+ "projects" :>+ Capture "project" Text :>+ "regions" :>+ Capture "region" Text :>+ "routers" :>+ Capture "router" Text :>+ QueryParam "alt" AltJSON :>+ ReqBody '[JSON] Router :> Put '[JSON] Operation++-- | Updates the specified Router resource with the data included in the+-- request.+--+-- /See:/ 'routersUpdate' smart constructor.+data RoutersUpdate = RoutersUpdate'+ { _ruProject :: !Text+ , _ruRouter :: !Text+ , _ruPayload :: !Router+ , _ruRegion :: !Text+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'RoutersUpdate' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'ruProject'+--+-- * 'ruRouter'+--+-- * 'ruPayload'+--+-- * 'ruRegion'+routersUpdate+ :: Text -- ^ 'ruProject'+ -> Text -- ^ 'ruRouter'+ -> Router -- ^ 'ruPayload'+ -> Text -- ^ 'ruRegion'+ -> RoutersUpdate+routersUpdate pRuProject_ pRuRouter_ pRuPayload_ pRuRegion_ =+ RoutersUpdate'+ { _ruProject = pRuProject_+ , _ruRouter = pRuRouter_+ , _ruPayload = pRuPayload_+ , _ruRegion = pRuRegion_+ }++-- | Project ID for this request.+ruProject :: Lens' RoutersUpdate Text+ruProject+ = lens _ruProject (\ s a -> s{_ruProject = a})++-- | Name of the Router resource to update.+ruRouter :: Lens' RoutersUpdate Text+ruRouter = lens _ruRouter (\ s a -> s{_ruRouter = a})++-- | Multipart request metadata.+ruPayload :: Lens' RoutersUpdate Router+ruPayload+ = lens _ruPayload (\ s a -> s{_ruPayload = a})++-- | Name of the region for this request.+ruRegion :: Lens' RoutersUpdate Text+ruRegion = lens _ruRegion (\ s a -> s{_ruRegion = a})++instance GoogleRequest RoutersUpdate where+ type Rs RoutersUpdate = Operation+ type Scopes RoutersUpdate =+ '["https://www.googleapis.com/auth/cloud-platform",+ "https://www.googleapis.com/auth/compute"]+ requestClient RoutersUpdate'{..}+ = go _ruProject _ruRegion _ruRouter (Just AltJSON)+ _ruPayload+ computeService+ where go+ = buildClient (Proxy :: Proxy RoutersUpdateResource)+ mempty
gen/Network/Google/Resource/Compute/Routes/Get.hs view
@@ -34,8 +34,8 @@ , RoutesGet -- * Request Lenses- , rouProject- , rouRoute+ , rrProject+ , rrRoute ) where import Network.Google.Compute.Types@@ -58,35 +58,35 @@ -- -- /See:/ 'routesGet' smart constructor. data RoutesGet = RoutesGet'- { _rouProject :: !Text- , _rouRoute :: !Text+ { _rrProject :: !Text+ , _rrRoute :: !Text } deriving (Eq,Show,Data,Typeable,Generic) -- | Creates a value of 'RoutesGet' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired: ----- * 'rouProject'+-- * 'rrProject' ----- * 'rouRoute'+-- * 'rrRoute' routesGet- :: Text -- ^ 'rouProject'- -> Text -- ^ 'rouRoute'+ :: Text -- ^ 'rrProject'+ -> Text -- ^ 'rrRoute' -> RoutesGet-routesGet pRouProject_ pRouRoute_ =+routesGet pRrProject_ pRrRoute_ = RoutesGet'- { _rouProject = pRouProject_- , _rouRoute = pRouRoute_+ { _rrProject = pRrProject_+ , _rrRoute = pRrRoute_ } -- | Project ID for this request.-rouProject :: Lens' RoutesGet Text-rouProject- = lens _rouProject (\ s a -> s{_rouProject = a})+rrProject :: Lens' RoutesGet Text+rrProject+ = lens _rrProject (\ s a -> s{_rrProject = a}) -- | Name of the Route resource to return.-rouRoute :: Lens' RoutesGet Text-rouRoute = lens _rouRoute (\ s a -> s{_rouRoute = a})+rrRoute :: Lens' RoutesGet Text+rrRoute = lens _rrRoute (\ s a -> s{_rrRoute = a}) instance GoogleRequest RoutesGet where type Rs RoutesGet = Route@@ -95,7 +95,7 @@ "https://www.googleapis.com/auth/compute", "https://www.googleapis.com/auth/compute.readonly"] requestClient RoutesGet'{..}- = go _rouProject _rouRoute (Just AltJSON)+ = go _rrProject _rrRoute (Just AltJSON) computeService where go = buildClient (Proxy :: Proxy RoutesGetResource)
gen/Network/Google/Resource/Compute/Routes/Insert.hs view
@@ -34,8 +34,8 @@ , RoutesInsert -- * Request Lenses- , riProject- , riPayload+ , rProject+ , rPayload ) where import Network.Google.Compute.Types@@ -58,36 +58,34 @@ -- -- /See:/ 'routesInsert' smart constructor. data RoutesInsert = RoutesInsert'- { _riProject :: !Text- , _riPayload :: !Route+ { _rProject :: !Text+ , _rPayload :: !Route } deriving (Eq,Show,Data,Typeable,Generic) -- | Creates a value of 'RoutesInsert' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired: ----- * 'riProject'+-- * 'rProject' ----- * 'riPayload'+-- * 'rPayload' routesInsert- :: Text -- ^ 'riProject'- -> Route -- ^ 'riPayload'+ :: Text -- ^ 'rProject'+ -> Route -- ^ 'rPayload' -> RoutesInsert-routesInsert pRiProject_ pRiPayload_ =+routesInsert pRProject_ pRPayload_ = RoutesInsert'- { _riProject = pRiProject_- , _riPayload = pRiPayload_+ { _rProject = pRProject_+ , _rPayload = pRPayload_ } -- | Project ID for this request.-riProject :: Lens' RoutesInsert Text-riProject- = lens _riProject (\ s a -> s{_riProject = a})+rProject :: Lens' RoutesInsert Text+rProject = lens _rProject (\ s a -> s{_rProject = a}) -- | Multipart request metadata.-riPayload :: Lens' RoutesInsert Route-riPayload- = lens _riPayload (\ s a -> s{_riPayload = a})+rPayload :: Lens' RoutesInsert Route+rPayload = lens _rPayload (\ s a -> s{_rPayload = a}) instance GoogleRequest RoutesInsert where type Rs RoutesInsert = Operation@@ -95,7 +93,7 @@ '["https://www.googleapis.com/auth/cloud-platform", "https://www.googleapis.com/auth/compute"] requestClient RoutesInsert'{..}- = go _riProject (Just AltJSON) _riPayload+ = go _rProject (Just AltJSON) _rPayload computeService where go = buildClient (Proxy :: Proxy RoutesInsertResource)
gen/Network/Google/Resource/Compute/Routes/List.hs view
@@ -34,10 +34,11 @@ , RoutesList -- * Request Lenses- , rlProject- , rlFilter- , rlPageToken- , rlMaxResults+ , rouOrderBy+ , rouProject+ , rouFilter+ , rouPageToken+ , rouMaxResults ) where import Network.Google.Compute.Types@@ -52,48 +53,65 @@ Capture "project" Text :> "global" :> "routes" :>- QueryParam "filter" Text :>- QueryParam "pageToken" Text :>- QueryParam "maxResults" (Textual Word32) :>- QueryParam "alt" AltJSON :> Get '[JSON] RouteList+ QueryParam "orderBy" Text :>+ QueryParam "filter" Text :>+ QueryParam "pageToken" Text :>+ QueryParam "maxResults" (Textual Word32) :>+ QueryParam "alt" AltJSON :> Get '[JSON] RouteList -- | Retrieves the list of Route resources available to the specified -- project. -- -- /See:/ 'routesList' smart constructor. data RoutesList = RoutesList'- { _rlProject :: !Text- , _rlFilter :: !(Maybe Text)- , _rlPageToken :: !(Maybe Text)- , _rlMaxResults :: !(Textual Word32)+ { _rouOrderBy :: !(Maybe Text)+ , _rouProject :: !Text+ , _rouFilter :: !(Maybe Text)+ , _rouPageToken :: !(Maybe Text)+ , _rouMaxResults :: !(Textual Word32) } deriving (Eq,Show,Data,Typeable,Generic) -- | Creates a value of 'RoutesList' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired: ----- * 'rlProject'+-- * 'rouOrderBy' ----- * 'rlFilter'+-- * 'rouProject' ----- * 'rlPageToken'+-- * 'rouFilter' ----- * 'rlMaxResults'+-- * 'rouPageToken'+--+-- * 'rouMaxResults' routesList- :: Text -- ^ 'rlProject'+ :: Text -- ^ 'rouProject' -> RoutesList-routesList pRlProject_ =+routesList pRouProject_ = RoutesList'- { _rlProject = pRlProject_- , _rlFilter = Nothing- , _rlPageToken = Nothing- , _rlMaxResults = 500+ { _rouOrderBy = Nothing+ , _rouProject = pRouProject_+ , _rouFilter = Nothing+ , _rouPageToken = Nothing+ , _rouMaxResults = 500 } +-- | Sorts list results by a certain order. By default, results are returned+-- in alphanumerical order based on the resource name. You can also sort+-- results in descending order based on the creation timestamp using+-- orderBy=\"creationTimestamp desc\". This sorts results based on the+-- creationTimestamp field in reverse chronological order (newest result+-- first). Use this to sort resources like operations so that the newest+-- operation is returned first. Currently, only sorting by name or+-- creationTimestamp desc is supported.+rouOrderBy :: Lens' RoutesList (Maybe Text)+rouOrderBy+ = lens _rouOrderBy (\ s a -> s{_rouOrderBy = a})+ -- | Project ID for this request.-rlProject :: Lens' RoutesList Text-rlProject- = lens _rlProject (\ s a -> s{_rlProject = a})+rouProject :: Lens' RoutesList Text+rouProject+ = lens _rouProject (\ s a -> s{_rouProject = a}) -- | Sets a filter expression for filtering listed resources, in the form -- filter={expression}. Your {expression} must be in the format: field_name@@ -106,32 +124,33 @@ -- value is interpreted as a regular expression using RE2 syntax. The -- literal value must match the entire field. For example, to filter for -- instances that do not have a name of example-instance, you would use--- filter=name ne example-instance. Compute Engine Beta API Only: When--- filtering in the Beta API, you can also filter on nested fields. For+-- filter=name ne example-instance. You can filter on nested fields. For -- example, you could filter on instances that have set the -- scheduling.automaticRestart field to true. Use filtering on nested -- fields to take advantage of labels to organize and search for results--- based on label values. The Beta API also supports filtering on multiple--- expressions by providing each separate expression within parentheses.--- For example, (scheduling.automaticRestart eq true) (zone eq--- us-central1-f). Multiple expressions are treated as AND expressions,--- meaning that resources must match all expressions to pass the filters.-rlFilter :: Lens' RoutesList (Maybe Text)-rlFilter = lens _rlFilter (\ s a -> s{_rlFilter = a})+-- based on label values. To filter on multiple expressions, provide each+-- separate expression within parentheses. For example,+-- (scheduling.automaticRestart eq true) (zone eq us-central1-f). Multiple+-- expressions are treated as AND expressions, meaning that resources must+-- match all expressions to pass the filters.+rouFilter :: Lens' RoutesList (Maybe Text)+rouFilter+ = lens _rouFilter (\ s a -> s{_rouFilter = a}) -- | Specifies a page token to use. Set pageToken to the nextPageToken -- returned by a previous list request to get the next page of results.-rlPageToken :: Lens' RoutesList (Maybe Text)-rlPageToken- = lens _rlPageToken (\ s a -> s{_rlPageToken = a})+rouPageToken :: Lens' RoutesList (Maybe Text)+rouPageToken+ = lens _rouPageToken (\ s a -> s{_rouPageToken = a}) -- | The maximum number of results per page that should be returned. If the -- number of available results is larger than maxResults, Compute Engine -- returns a nextPageToken that can be used to get the next page of results -- in subsequent list requests.-rlMaxResults :: Lens' RoutesList Word32-rlMaxResults- = lens _rlMaxResults (\ s a -> s{_rlMaxResults = a})+rouMaxResults :: Lens' RoutesList Word32+rouMaxResults+ = lens _rouMaxResults+ (\ s a -> s{_rouMaxResults = a}) . _Coerce instance GoogleRequest RoutesList where@@ -141,8 +160,8 @@ "https://www.googleapis.com/auth/compute", "https://www.googleapis.com/auth/compute.readonly"] requestClient RoutesList'{..}- = go _rlProject _rlFilter _rlPageToken- (Just _rlMaxResults)+ = go _rouProject _rouOrderBy _rouFilter _rouPageToken+ (Just _rouMaxResults) (Just AltJSON) computeService where go
gen/Network/Google/Resource/Compute/SSLCertificates/List.hs view
@@ -34,6 +34,7 @@ , SSLCertificatesList -- * Request Lenses+ , sclOrderBy , sclProject , sclFilter , sclPageToken@@ -52,18 +53,20 @@ Capture "project" Text :> "global" :> "sslCertificates" :>- QueryParam "filter" Text :>- QueryParam "pageToken" Text :>- QueryParam "maxResults" (Textual Word32) :>- QueryParam "alt" AltJSON :>- Get '[JSON] SSLCertificateList+ QueryParam "orderBy" Text :>+ QueryParam "filter" Text :>+ QueryParam "pageToken" Text :>+ QueryParam "maxResults" (Textual Word32) :>+ QueryParam "alt" AltJSON :>+ Get '[JSON] SSLCertificateList -- | Retrieves the list of SslCertificate resources available to the -- specified project. -- -- /See:/ 'sslCertificatesList' smart constructor. data SSLCertificatesList = SSLCertificatesList'- { _sclProject :: !Text+ { _sclOrderBy :: !(Maybe Text)+ , _sclProject :: !Text , _sclFilter :: !(Maybe Text) , _sclPageToken :: !(Maybe Text) , _sclMaxResults :: !(Textual Word32)@@ -73,6 +76,8 @@ -- -- Use one of the following lenses to modify other fields as desired: --+-- * 'sclOrderBy'+-- -- * 'sclProject' -- -- * 'sclFilter'@@ -85,12 +90,25 @@ -> SSLCertificatesList sslCertificatesList pSclProject_ = SSLCertificatesList'- { _sclProject = pSclProject_+ { _sclOrderBy = Nothing+ , _sclProject = pSclProject_ , _sclFilter = Nothing , _sclPageToken = Nothing , _sclMaxResults = 500 } +-- | Sorts list results by a certain order. By default, results are returned+-- in alphanumerical order based on the resource name. You can also sort+-- results in descending order based on the creation timestamp using+-- orderBy=\"creationTimestamp desc\". This sorts results based on the+-- creationTimestamp field in reverse chronological order (newest result+-- first). Use this to sort resources like operations so that the newest+-- operation is returned first. Currently, only sorting by name or+-- creationTimestamp desc is supported.+sclOrderBy :: Lens' SSLCertificatesList (Maybe Text)+sclOrderBy+ = lens _sclOrderBy (\ s a -> s{_sclOrderBy = a})+ -- | Project ID for this request. sclProject :: Lens' SSLCertificatesList Text sclProject@@ -107,16 +125,15 @@ -- value is interpreted as a regular expression using RE2 syntax. The -- literal value must match the entire field. For example, to filter for -- instances that do not have a name of example-instance, you would use--- filter=name ne example-instance. Compute Engine Beta API Only: When--- filtering in the Beta API, you can also filter on nested fields. For+-- filter=name ne example-instance. You can filter on nested fields. For -- example, you could filter on instances that have set the -- scheduling.automaticRestart field to true. Use filtering on nested -- fields to take advantage of labels to organize and search for results--- based on label values. The Beta API also supports filtering on multiple--- expressions by providing each separate expression within parentheses.--- For example, (scheduling.automaticRestart eq true) (zone eq--- us-central1-f). Multiple expressions are treated as AND expressions,--- meaning that resources must match all expressions to pass the filters.+-- based on label values. To filter on multiple expressions, provide each+-- separate expression within parentheses. For example,+-- (scheduling.automaticRestart eq true) (zone eq us-central1-f). Multiple+-- expressions are treated as AND expressions, meaning that resources must+-- match all expressions to pass the filters. sclFilter :: Lens' SSLCertificatesList (Maybe Text) sclFilter = lens _sclFilter (\ s a -> s{_sclFilter = a})@@ -144,7 +161,7 @@ "https://www.googleapis.com/auth/compute", "https://www.googleapis.com/auth/compute.readonly"] requestClient SSLCertificatesList'{..}- = go _sclProject _sclFilter _sclPageToken+ = go _sclProject _sclOrderBy _sclFilter _sclPageToken (Just _sclMaxResults) (Just AltJSON) computeService
gen/Network/Google/Resource/Compute/Snapshots/List.hs view
@@ -34,6 +34,7 @@ , SnapshotsList -- * Request Lenses+ , sOrderBy , sProject , sFilter , sPageToken@@ -52,17 +53,19 @@ Capture "project" Text :> "global" :> "snapshots" :>- QueryParam "filter" Text :>- QueryParam "pageToken" Text :>- QueryParam "maxResults" (Textual Word32) :>- QueryParam "alt" AltJSON :> Get '[JSON] SnapshotList+ QueryParam "orderBy" Text :>+ QueryParam "filter" Text :>+ QueryParam "pageToken" Text :>+ QueryParam "maxResults" (Textual Word32) :>+ QueryParam "alt" AltJSON :> Get '[JSON] SnapshotList -- | Retrieves the list of Snapshot resources contained within the specified -- project. -- -- /See:/ 'snapshotsList' smart constructor. data SnapshotsList = SnapshotsList'- { _sProject :: !Text+ { _sOrderBy :: !(Maybe Text)+ , _sProject :: !Text , _sFilter :: !(Maybe Text) , _sPageToken :: !(Maybe Text) , _sMaxResults :: !(Textual Word32)@@ -72,6 +75,8 @@ -- -- Use one of the following lenses to modify other fields as desired: --+-- * 'sOrderBy'+-- -- * 'sProject' -- -- * 'sFilter'@@ -84,12 +89,24 @@ -> SnapshotsList snapshotsList pSProject_ = SnapshotsList'- { _sProject = pSProject_+ { _sOrderBy = Nothing+ , _sProject = pSProject_ , _sFilter = Nothing , _sPageToken = Nothing , _sMaxResults = 500 } +-- | Sorts list results by a certain order. By default, results are returned+-- in alphanumerical order based on the resource name. You can also sort+-- results in descending order based on the creation timestamp using+-- orderBy=\"creationTimestamp desc\". This sorts results based on the+-- creationTimestamp field in reverse chronological order (newest result+-- first). Use this to sort resources like operations so that the newest+-- operation is returned first. Currently, only sorting by name or+-- creationTimestamp desc is supported.+sOrderBy :: Lens' SnapshotsList (Maybe Text)+sOrderBy = lens _sOrderBy (\ s a -> s{_sOrderBy = a})+ -- | Project ID for this request. sProject :: Lens' SnapshotsList Text sProject = lens _sProject (\ s a -> s{_sProject = a})@@ -105,16 +122,15 @@ -- value is interpreted as a regular expression using RE2 syntax. The -- literal value must match the entire field. For example, to filter for -- instances that do not have a name of example-instance, you would use--- filter=name ne example-instance. Compute Engine Beta API Only: When--- filtering in the Beta API, you can also filter on nested fields. For+-- filter=name ne example-instance. You can filter on nested fields. For -- example, you could filter on instances that have set the -- scheduling.automaticRestart field to true. Use filtering on nested -- fields to take advantage of labels to organize and search for results--- based on label values. The Beta API also supports filtering on multiple--- expressions by providing each separate expression within parentheses.--- For example, (scheduling.automaticRestart eq true) (zone eq--- us-central1-f). Multiple expressions are treated as AND expressions,--- meaning that resources must match all expressions to pass the filters.+-- based on label values. To filter on multiple expressions, provide each+-- separate expression within parentheses. For example,+-- (scheduling.automaticRestart eq true) (zone eq us-central1-f). Multiple+-- expressions are treated as AND expressions, meaning that resources must+-- match all expressions to pass the filters. sFilter :: Lens' SnapshotsList (Maybe Text) sFilter = lens _sFilter (\ s a -> s{_sFilter = a}) @@ -140,7 +156,7 @@ "https://www.googleapis.com/auth/compute", "https://www.googleapis.com/auth/compute.readonly"] requestClient SnapshotsList'{..}- = go _sProject _sFilter _sPageToken+ = go _sProject _sOrderBy _sFilter _sPageToken (Just _sMaxResults) (Just AltJSON) computeService
gen/Network/Google/Resource/Compute/Subnetworks/AggregatedList.hs view
@@ -33,6 +33,7 @@ , SubnetworksAggregatedList -- * Request Lenses+ , salOrderBy , salProject , salFilter , salPageToken@@ -51,17 +52,19 @@ Capture "project" Text :> "aggregated" :> "subnetworks" :>- QueryParam "filter" Text :>- QueryParam "pageToken" Text :>- QueryParam "maxResults" (Textual Word32) :>- QueryParam "alt" AltJSON :>- Get '[JSON] SubnetworkAggregatedList+ QueryParam "orderBy" Text :>+ QueryParam "filter" Text :>+ QueryParam "pageToken" Text :>+ QueryParam "maxResults" (Textual Word32) :>+ QueryParam "alt" AltJSON :>+ Get '[JSON] SubnetworkAggregatedList -- | Retrieves an aggregated list of subnetworks. -- -- /See:/ 'subnetworksAggregatedList' smart constructor. data SubnetworksAggregatedList = SubnetworksAggregatedList'- { _salProject :: !Text+ { _salOrderBy :: !(Maybe Text)+ , _salProject :: !Text , _salFilter :: !(Maybe Text) , _salPageToken :: !(Maybe Text) , _salMaxResults :: !(Textual Word32)@@ -71,6 +74,8 @@ -- -- Use one of the following lenses to modify other fields as desired: --+-- * 'salOrderBy'+-- -- * 'salProject' -- -- * 'salFilter'@@ -83,12 +88,25 @@ -> SubnetworksAggregatedList subnetworksAggregatedList pSalProject_ = SubnetworksAggregatedList'- { _salProject = pSalProject_+ { _salOrderBy = Nothing+ , _salProject = pSalProject_ , _salFilter = Nothing , _salPageToken = Nothing , _salMaxResults = 500 } +-- | Sorts list results by a certain order. By default, results are returned+-- in alphanumerical order based on the resource name. You can also sort+-- results in descending order based on the creation timestamp using+-- orderBy=\"creationTimestamp desc\". This sorts results based on the+-- creationTimestamp field in reverse chronological order (newest result+-- first). Use this to sort resources like operations so that the newest+-- operation is returned first. Currently, only sorting by name or+-- creationTimestamp desc is supported.+salOrderBy :: Lens' SubnetworksAggregatedList (Maybe Text)+salOrderBy+ = lens _salOrderBy (\ s a -> s{_salOrderBy = a})+ -- | Project ID for this request. salProject :: Lens' SubnetworksAggregatedList Text salProject@@ -105,16 +123,15 @@ -- value is interpreted as a regular expression using RE2 syntax. The -- literal value must match the entire field. For example, to filter for -- instances that do not have a name of example-instance, you would use--- filter=name ne example-instance. Compute Engine Beta API Only: When--- filtering in the Beta API, you can also filter on nested fields. For+-- filter=name ne example-instance. You can filter on nested fields. For -- example, you could filter on instances that have set the -- scheduling.automaticRestart field to true. Use filtering on nested -- fields to take advantage of labels to organize and search for results--- based on label values. The Beta API also supports filtering on multiple--- expressions by providing each separate expression within parentheses.--- For example, (scheduling.automaticRestart eq true) (zone eq--- us-central1-f). Multiple expressions are treated as AND expressions,--- meaning that resources must match all expressions to pass the filters.+-- based on label values. To filter on multiple expressions, provide each+-- separate expression within parentheses. For example,+-- (scheduling.automaticRestart eq true) (zone eq us-central1-f). Multiple+-- expressions are treated as AND expressions, meaning that resources must+-- match all expressions to pass the filters. salFilter :: Lens' SubnetworksAggregatedList (Maybe Text) salFilter = lens _salFilter (\ s a -> s{_salFilter = a})@@ -144,7 +161,7 @@ "https://www.googleapis.com/auth/compute", "https://www.googleapis.com/auth/compute.readonly"] requestClient SubnetworksAggregatedList'{..}- = go _salProject _salFilter _salPageToken+ = go _salProject _salOrderBy _salFilter _salPageToken (Just _salMaxResults) (Just AltJSON) computeService
gen/Network/Google/Resource/Compute/Subnetworks/List.hs view
@@ -33,6 +33,7 @@ , SubnetworksList -- * Request Lenses+ , slOrderBy , slProject , slFilter , slRegion@@ -53,17 +54,19 @@ "regions" :> Capture "region" Text :> "subnetworks" :>- QueryParam "filter" Text :>- QueryParam "pageToken" Text :>- QueryParam "maxResults" (Textual Word32) :>- QueryParam "alt" AltJSON :>- Get '[JSON] SubnetworkList+ QueryParam "orderBy" Text :>+ QueryParam "filter" Text :>+ QueryParam "pageToken" Text :>+ QueryParam "maxResults" (Textual Word32) :>+ QueryParam "alt" AltJSON :>+ Get '[JSON] SubnetworkList -- | Retrieves a list of subnetworks available to the specified project. -- -- /See:/ 'subnetworksList' smart constructor. data SubnetworksList = SubnetworksList'- { _slProject :: !Text+ { _slOrderBy :: !(Maybe Text)+ , _slProject :: !Text , _slFilter :: !(Maybe Text) , _slRegion :: !Text , _slPageToken :: !(Maybe Text)@@ -74,6 +77,8 @@ -- -- Use one of the following lenses to modify other fields as desired: --+-- * 'slOrderBy'+-- -- * 'slProject' -- -- * 'slFilter'@@ -89,13 +94,26 @@ -> SubnetworksList subnetworksList pSlProject_ pSlRegion_ = SubnetworksList'- { _slProject = pSlProject_+ { _slOrderBy = Nothing+ , _slProject = pSlProject_ , _slFilter = Nothing , _slRegion = pSlRegion_ , _slPageToken = Nothing , _slMaxResults = 500 } +-- | Sorts list results by a certain order. By default, results are returned+-- in alphanumerical order based on the resource name. You can also sort+-- results in descending order based on the creation timestamp using+-- orderBy=\"creationTimestamp desc\". This sorts results based on the+-- creationTimestamp field in reverse chronological order (newest result+-- first). Use this to sort resources like operations so that the newest+-- operation is returned first. Currently, only sorting by name or+-- creationTimestamp desc is supported.+slOrderBy :: Lens' SubnetworksList (Maybe Text)+slOrderBy+ = lens _slOrderBy (\ s a -> s{_slOrderBy = a})+ -- | Project ID for this request. slProject :: Lens' SubnetworksList Text slProject@@ -112,16 +130,15 @@ -- value is interpreted as a regular expression using RE2 syntax. The -- literal value must match the entire field. For example, to filter for -- instances that do not have a name of example-instance, you would use--- filter=name ne example-instance. Compute Engine Beta API Only: When--- filtering in the Beta API, you can also filter on nested fields. For+-- filter=name ne example-instance. You can filter on nested fields. For -- example, you could filter on instances that have set the -- scheduling.automaticRestart field to true. Use filtering on nested -- fields to take advantage of labels to organize and search for results--- based on label values. The Beta API also supports filtering on multiple--- expressions by providing each separate expression within parentheses.--- For example, (scheduling.automaticRestart eq true) (zone eq--- us-central1-f). Multiple expressions are treated as AND expressions,--- meaning that resources must match all expressions to pass the filters.+-- based on label values. To filter on multiple expressions, provide each+-- separate expression within parentheses. For example,+-- (scheduling.automaticRestart eq true) (zone eq us-central1-f). Multiple+-- expressions are treated as AND expressions, meaning that resources must+-- match all expressions to pass the filters. slFilter :: Lens' SubnetworksList (Maybe Text) slFilter = lens _slFilter (\ s a -> s{_slFilter = a}) @@ -151,7 +168,8 @@ "https://www.googleapis.com/auth/compute", "https://www.googleapis.com/auth/compute.readonly"] requestClient SubnetworksList'{..}- = go _slProject _slRegion _slFilter _slPageToken+ = go _slProject _slRegion _slOrderBy _slFilter+ _slPageToken (Just _slMaxResults) (Just AltJSON) computeService
gen/Network/Google/Resource/Compute/TargetHTTPProxies/List.hs view
@@ -34,6 +34,7 @@ , TargetHTTPProxiesList -- * Request Lenses+ , thttpplOrderBy , thttpplProject , thttpplFilter , thttpplPageToken@@ -52,18 +53,20 @@ Capture "project" Text :> "global" :> "targetHttpProxies" :>- QueryParam "filter" Text :>- QueryParam "pageToken" Text :>- QueryParam "maxResults" (Textual Word32) :>- QueryParam "alt" AltJSON :>- Get '[JSON] TargetHTTPProxyList+ QueryParam "orderBy" Text :>+ QueryParam "filter" Text :>+ QueryParam "pageToken" Text :>+ QueryParam "maxResults" (Textual Word32) :>+ QueryParam "alt" AltJSON :>+ Get '[JSON] TargetHTTPProxyList -- | Retrieves the list of TargetHttpProxy resources available to the -- specified project. -- -- /See:/ 'targetHTTPProxiesList' smart constructor. data TargetHTTPProxiesList = TargetHTTPProxiesList'- { _thttpplProject :: !Text+ { _thttpplOrderBy :: !(Maybe Text)+ , _thttpplProject :: !Text , _thttpplFilter :: !(Maybe Text) , _thttpplPageToken :: !(Maybe Text) , _thttpplMaxResults :: !(Textual Word32)@@ -73,6 +76,8 @@ -- -- Use one of the following lenses to modify other fields as desired: --+-- * 'thttpplOrderBy'+-- -- * 'thttpplProject' -- -- * 'thttpplFilter'@@ -85,12 +90,26 @@ -> TargetHTTPProxiesList targetHTTPProxiesList pThttpplProject_ = TargetHTTPProxiesList'- { _thttpplProject = pThttpplProject_+ { _thttpplOrderBy = Nothing+ , _thttpplProject = pThttpplProject_ , _thttpplFilter = Nothing , _thttpplPageToken = Nothing , _thttpplMaxResults = 500 } +-- | Sorts list results by a certain order. By default, results are returned+-- in alphanumerical order based on the resource name. You can also sort+-- results in descending order based on the creation timestamp using+-- orderBy=\"creationTimestamp desc\". This sorts results based on the+-- creationTimestamp field in reverse chronological order (newest result+-- first). Use this to sort resources like operations so that the newest+-- operation is returned first. Currently, only sorting by name or+-- creationTimestamp desc is supported.+thttpplOrderBy :: Lens' TargetHTTPProxiesList (Maybe Text)+thttpplOrderBy+ = lens _thttpplOrderBy+ (\ s a -> s{_thttpplOrderBy = a})+ -- | Project ID for this request. thttpplProject :: Lens' TargetHTTPProxiesList Text thttpplProject@@ -108,16 +127,15 @@ -- value is interpreted as a regular expression using RE2 syntax. The -- literal value must match the entire field. For example, to filter for -- instances that do not have a name of example-instance, you would use--- filter=name ne example-instance. Compute Engine Beta API Only: When--- filtering in the Beta API, you can also filter on nested fields. For+-- filter=name ne example-instance. You can filter on nested fields. For -- example, you could filter on instances that have set the -- scheduling.automaticRestart field to true. Use filtering on nested -- fields to take advantage of labels to organize and search for results--- based on label values. The Beta API also supports filtering on multiple--- expressions by providing each separate expression within parentheses.--- For example, (scheduling.automaticRestart eq true) (zone eq--- us-central1-f). Multiple expressions are treated as AND expressions,--- meaning that resources must match all expressions to pass the filters.+-- based on label values. To filter on multiple expressions, provide each+-- separate expression within parentheses. For example,+-- (scheduling.automaticRestart eq true) (zone eq us-central1-f). Multiple+-- expressions are treated as AND expressions, meaning that resources must+-- match all expressions to pass the filters. thttpplFilter :: Lens' TargetHTTPProxiesList (Maybe Text) thttpplFilter = lens _thttpplFilter@@ -147,7 +165,8 @@ "https://www.googleapis.com/auth/compute", "https://www.googleapis.com/auth/compute.readonly"] requestClient TargetHTTPProxiesList'{..}- = go _thttpplProject _thttpplFilter _thttpplPageToken+ = go _thttpplProject _thttpplOrderBy _thttpplFilter+ _thttpplPageToken (Just _thttpplMaxResults) (Just AltJSON) computeService
gen/Network/Google/Resource/Compute/TargetHTTPSProxies/List.hs view
@@ -34,6 +34,7 @@ , TargetHTTPSProxiesList -- * Request Lenses+ , thplOrderBy , thplProject , thplFilter , thplPageToken@@ -52,18 +53,20 @@ Capture "project" Text :> "global" :> "targetHttpsProxies" :>- QueryParam "filter" Text :>- QueryParam "pageToken" Text :>- QueryParam "maxResults" (Textual Word32) :>- QueryParam "alt" AltJSON :>- Get '[JSON] TargetHTTPSProxyList+ QueryParam "orderBy" Text :>+ QueryParam "filter" Text :>+ QueryParam "pageToken" Text :>+ QueryParam "maxResults" (Textual Word32) :>+ QueryParam "alt" AltJSON :>+ Get '[JSON] TargetHTTPSProxyList -- | Retrieves the list of TargetHttpsProxy resources available to the -- specified project. -- -- /See:/ 'targetHTTPSProxiesList' smart constructor. data TargetHTTPSProxiesList = TargetHTTPSProxiesList'- { _thplProject :: !Text+ { _thplOrderBy :: !(Maybe Text)+ , _thplProject :: !Text , _thplFilter :: !(Maybe Text) , _thplPageToken :: !(Maybe Text) , _thplMaxResults :: !(Textual Word32)@@ -73,6 +76,8 @@ -- -- Use one of the following lenses to modify other fields as desired: --+-- * 'thplOrderBy'+-- -- * 'thplProject' -- -- * 'thplFilter'@@ -85,12 +90,25 @@ -> TargetHTTPSProxiesList targetHTTPSProxiesList pThplProject_ = TargetHTTPSProxiesList'- { _thplProject = pThplProject_+ { _thplOrderBy = Nothing+ , _thplProject = pThplProject_ , _thplFilter = Nothing , _thplPageToken = Nothing , _thplMaxResults = 500 } +-- | Sorts list results by a certain order. By default, results are returned+-- in alphanumerical order based on the resource name. You can also sort+-- results in descending order based on the creation timestamp using+-- orderBy=\"creationTimestamp desc\". This sorts results based on the+-- creationTimestamp field in reverse chronological order (newest result+-- first). Use this to sort resources like operations so that the newest+-- operation is returned first. Currently, only sorting by name or+-- creationTimestamp desc is supported.+thplOrderBy :: Lens' TargetHTTPSProxiesList (Maybe Text)+thplOrderBy+ = lens _thplOrderBy (\ s a -> s{_thplOrderBy = a})+ -- | Project ID for this request. thplProject :: Lens' TargetHTTPSProxiesList Text thplProject@@ -107,16 +125,15 @@ -- value is interpreted as a regular expression using RE2 syntax. The -- literal value must match the entire field. For example, to filter for -- instances that do not have a name of example-instance, you would use--- filter=name ne example-instance. Compute Engine Beta API Only: When--- filtering in the Beta API, you can also filter on nested fields. For+-- filter=name ne example-instance. You can filter on nested fields. For -- example, you could filter on instances that have set the -- scheduling.automaticRestart field to true. Use filtering on nested -- fields to take advantage of labels to organize and search for results--- based on label values. The Beta API also supports filtering on multiple--- expressions by providing each separate expression within parentheses.--- For example, (scheduling.automaticRestart eq true) (zone eq--- us-central1-f). Multiple expressions are treated as AND expressions,--- meaning that resources must match all expressions to pass the filters.+-- based on label values. To filter on multiple expressions, provide each+-- separate expression within parentheses. For example,+-- (scheduling.automaticRestart eq true) (zone eq us-central1-f). Multiple+-- expressions are treated as AND expressions, meaning that resources must+-- match all expressions to pass the filters. thplFilter :: Lens' TargetHTTPSProxiesList (Maybe Text) thplFilter = lens _thplFilter (\ s a -> s{_thplFilter = a})@@ -145,7 +162,8 @@ "https://www.googleapis.com/auth/compute", "https://www.googleapis.com/auth/compute.readonly"] requestClient TargetHTTPSProxiesList'{..}- = go _thplProject _thplFilter _thplPageToken+ = go _thplProject _thplOrderBy _thplFilter+ _thplPageToken (Just _thplMaxResults) (Just AltJSON) computeService
gen/Network/Google/Resource/Compute/TargetInstances/AggregatedList.hs view
@@ -33,6 +33,7 @@ , TargetInstancesAggregatedList -- * Request Lenses+ , tialOrderBy , tialProject , tialFilter , tialPageToken@@ -51,17 +52,19 @@ Capture "project" Text :> "aggregated" :> "targetInstances" :>- QueryParam "filter" Text :>- QueryParam "pageToken" Text :>- QueryParam "maxResults" (Textual Word32) :>- QueryParam "alt" AltJSON :>- Get '[JSON] TargetInstanceAggregatedList+ QueryParam "orderBy" Text :>+ QueryParam "filter" Text :>+ QueryParam "pageToken" Text :>+ QueryParam "maxResults" (Textual Word32) :>+ QueryParam "alt" AltJSON :>+ Get '[JSON] TargetInstanceAggregatedList -- | Retrieves an aggregated list of target instances. -- -- /See:/ 'targetInstancesAggregatedList' smart constructor. data TargetInstancesAggregatedList = TargetInstancesAggregatedList'- { _tialProject :: !Text+ { _tialOrderBy :: !(Maybe Text)+ , _tialProject :: !Text , _tialFilter :: !(Maybe Text) , _tialPageToken :: !(Maybe Text) , _tialMaxResults :: !(Textual Word32)@@ -71,6 +74,8 @@ -- -- Use one of the following lenses to modify other fields as desired: --+-- * 'tialOrderBy'+-- -- * 'tialProject' -- -- * 'tialFilter'@@ -83,12 +88,25 @@ -> TargetInstancesAggregatedList targetInstancesAggregatedList pTialProject_ = TargetInstancesAggregatedList'- { _tialProject = pTialProject_+ { _tialOrderBy = Nothing+ , _tialProject = pTialProject_ , _tialFilter = Nothing , _tialPageToken = Nothing , _tialMaxResults = 500 } +-- | Sorts list results by a certain order. By default, results are returned+-- in alphanumerical order based on the resource name. You can also sort+-- results in descending order based on the creation timestamp using+-- orderBy=\"creationTimestamp desc\". This sorts results based on the+-- creationTimestamp field in reverse chronological order (newest result+-- first). Use this to sort resources like operations so that the newest+-- operation is returned first. Currently, only sorting by name or+-- creationTimestamp desc is supported.+tialOrderBy :: Lens' TargetInstancesAggregatedList (Maybe Text)+tialOrderBy+ = lens _tialOrderBy (\ s a -> s{_tialOrderBy = a})+ -- | Project ID for this request. tialProject :: Lens' TargetInstancesAggregatedList Text tialProject@@ -105,16 +123,15 @@ -- value is interpreted as a regular expression using RE2 syntax. The -- literal value must match the entire field. For example, to filter for -- instances that do not have a name of example-instance, you would use--- filter=name ne example-instance. Compute Engine Beta API Only: When--- filtering in the Beta API, you can also filter on nested fields. For+-- filter=name ne example-instance. You can filter on nested fields. For -- example, you could filter on instances that have set the -- scheduling.automaticRestart field to true. Use filtering on nested -- fields to take advantage of labels to organize and search for results--- based on label values. The Beta API also supports filtering on multiple--- expressions by providing each separate expression within parentheses.--- For example, (scheduling.automaticRestart eq true) (zone eq--- us-central1-f). Multiple expressions are treated as AND expressions,--- meaning that resources must match all expressions to pass the filters.+-- based on label values. To filter on multiple expressions, provide each+-- separate expression within parentheses. For example,+-- (scheduling.automaticRestart eq true) (zone eq us-central1-f). Multiple+-- expressions are treated as AND expressions, meaning that resources must+-- match all expressions to pass the filters. tialFilter :: Lens' TargetInstancesAggregatedList (Maybe Text) tialFilter = lens _tialFilter (\ s a -> s{_tialFilter = a})@@ -145,7 +162,8 @@ "https://www.googleapis.com/auth/compute", "https://www.googleapis.com/auth/compute.readonly"] requestClient TargetInstancesAggregatedList'{..}- = go _tialProject _tialFilter _tialPageToken+ = go _tialProject _tialOrderBy _tialFilter+ _tialPageToken (Just _tialMaxResults) (Just AltJSON) computeService
gen/Network/Google/Resource/Compute/TargetInstances/List.hs view
@@ -34,6 +34,7 @@ , TargetInstancesList -- * Request Lenses+ , tilOrderBy , tilProject , tilZone , tilFilter@@ -54,18 +55,20 @@ "zones" :> Capture "zone" Text :> "targetInstances" :>- QueryParam "filter" Text :>- QueryParam "pageToken" Text :>- QueryParam "maxResults" (Textual Word32) :>- QueryParam "alt" AltJSON :>- Get '[JSON] TargetInstanceList+ QueryParam "orderBy" Text :>+ QueryParam "filter" Text :>+ QueryParam "pageToken" Text :>+ QueryParam "maxResults" (Textual Word32) :>+ QueryParam "alt" AltJSON :>+ Get '[JSON] TargetInstanceList -- | Retrieves a list of TargetInstance resources available to the specified -- project and zone. -- -- /See:/ 'targetInstancesList' smart constructor. data TargetInstancesList = TargetInstancesList'- { _tilProject :: !Text+ { _tilOrderBy :: !(Maybe Text)+ , _tilProject :: !Text , _tilZone :: !Text , _tilFilter :: !(Maybe Text) , _tilPageToken :: !(Maybe Text)@@ -76,6 +79,8 @@ -- -- Use one of the following lenses to modify other fields as desired: --+-- * 'tilOrderBy'+-- -- * 'tilProject' -- -- * 'tilZone'@@ -91,13 +96,26 @@ -> TargetInstancesList targetInstancesList pTilProject_ pTilZone_ = TargetInstancesList'- { _tilProject = pTilProject_+ { _tilOrderBy = Nothing+ , _tilProject = pTilProject_ , _tilZone = pTilZone_ , _tilFilter = Nothing , _tilPageToken = Nothing , _tilMaxResults = 500 } +-- | Sorts list results by a certain order. By default, results are returned+-- in alphanumerical order based on the resource name. You can also sort+-- results in descending order based on the creation timestamp using+-- orderBy=\"creationTimestamp desc\". This sorts results based on the+-- creationTimestamp field in reverse chronological order (newest result+-- first). Use this to sort resources like operations so that the newest+-- operation is returned first. Currently, only sorting by name or+-- creationTimestamp desc is supported.+tilOrderBy :: Lens' TargetInstancesList (Maybe Text)+tilOrderBy+ = lens _tilOrderBy (\ s a -> s{_tilOrderBy = a})+ -- | Project ID for this request. tilProject :: Lens' TargetInstancesList Text tilProject@@ -118,16 +136,15 @@ -- value is interpreted as a regular expression using RE2 syntax. The -- literal value must match the entire field. For example, to filter for -- instances that do not have a name of example-instance, you would use--- filter=name ne example-instance. Compute Engine Beta API Only: When--- filtering in the Beta API, you can also filter on nested fields. For+-- filter=name ne example-instance. You can filter on nested fields. For -- example, you could filter on instances that have set the -- scheduling.automaticRestart field to true. Use filtering on nested -- fields to take advantage of labels to organize and search for results--- based on label values. The Beta API also supports filtering on multiple--- expressions by providing each separate expression within parentheses.--- For example, (scheduling.automaticRestart eq true) (zone eq--- us-central1-f). Multiple expressions are treated as AND expressions,--- meaning that resources must match all expressions to pass the filters.+-- based on label values. To filter on multiple expressions, provide each+-- separate expression within parentheses. For example,+-- (scheduling.automaticRestart eq true) (zone eq us-central1-f). Multiple+-- expressions are treated as AND expressions, meaning that resources must+-- match all expressions to pass the filters. tilFilter :: Lens' TargetInstancesList (Maybe Text) tilFilter = lens _tilFilter (\ s a -> s{_tilFilter = a})@@ -155,7 +172,8 @@ "https://www.googleapis.com/auth/compute", "https://www.googleapis.com/auth/compute.readonly"] requestClient TargetInstancesList'{..}- = go _tilProject _tilZone _tilFilter _tilPageToken+ = go _tilProject _tilZone _tilOrderBy _tilFilter+ _tilPageToken (Just _tilMaxResults) (Just AltJSON) computeService
gen/Network/Google/Resource/Compute/TargetPools/AggregatedList.hs view
@@ -33,6 +33,7 @@ , TargetPoolsAggregatedList -- * Request Lenses+ , tpalOrderBy , tpalProject , tpalFilter , tpalPageToken@@ -51,17 +52,19 @@ Capture "project" Text :> "aggregated" :> "targetPools" :>- QueryParam "filter" Text :>- QueryParam "pageToken" Text :>- QueryParam "maxResults" (Textual Word32) :>- QueryParam "alt" AltJSON :>- Get '[JSON] TargetPoolAggregatedList+ QueryParam "orderBy" Text :>+ QueryParam "filter" Text :>+ QueryParam "pageToken" Text :>+ QueryParam "maxResults" (Textual Word32) :>+ QueryParam "alt" AltJSON :>+ Get '[JSON] TargetPoolAggregatedList -- | Retrieves an aggregated list of target pools. -- -- /See:/ 'targetPoolsAggregatedList' smart constructor. data TargetPoolsAggregatedList = TargetPoolsAggregatedList'- { _tpalProject :: !Text+ { _tpalOrderBy :: !(Maybe Text)+ , _tpalProject :: !Text , _tpalFilter :: !(Maybe Text) , _tpalPageToken :: !(Maybe Text) , _tpalMaxResults :: !(Textual Word32)@@ -71,6 +74,8 @@ -- -- Use one of the following lenses to modify other fields as desired: --+-- * 'tpalOrderBy'+-- -- * 'tpalProject' -- -- * 'tpalFilter'@@ -83,12 +88,25 @@ -> TargetPoolsAggregatedList targetPoolsAggregatedList pTpalProject_ = TargetPoolsAggregatedList'- { _tpalProject = pTpalProject_+ { _tpalOrderBy = Nothing+ , _tpalProject = pTpalProject_ , _tpalFilter = Nothing , _tpalPageToken = Nothing , _tpalMaxResults = 500 } +-- | Sorts list results by a certain order. By default, results are returned+-- in alphanumerical order based on the resource name. You can also sort+-- results in descending order based on the creation timestamp using+-- orderBy=\"creationTimestamp desc\". This sorts results based on the+-- creationTimestamp field in reverse chronological order (newest result+-- first). Use this to sort resources like operations so that the newest+-- operation is returned first. Currently, only sorting by name or+-- creationTimestamp desc is supported.+tpalOrderBy :: Lens' TargetPoolsAggregatedList (Maybe Text)+tpalOrderBy+ = lens _tpalOrderBy (\ s a -> s{_tpalOrderBy = a})+ -- | Project ID for this request. tpalProject :: Lens' TargetPoolsAggregatedList Text tpalProject@@ -105,16 +123,15 @@ -- value is interpreted as a regular expression using RE2 syntax. The -- literal value must match the entire field. For example, to filter for -- instances that do not have a name of example-instance, you would use--- filter=name ne example-instance. Compute Engine Beta API Only: When--- filtering in the Beta API, you can also filter on nested fields. For+-- filter=name ne example-instance. You can filter on nested fields. For -- example, you could filter on instances that have set the -- scheduling.automaticRestart field to true. Use filtering on nested -- fields to take advantage of labels to organize and search for results--- based on label values. The Beta API also supports filtering on multiple--- expressions by providing each separate expression within parentheses.--- For example, (scheduling.automaticRestart eq true) (zone eq--- us-central1-f). Multiple expressions are treated as AND expressions,--- meaning that resources must match all expressions to pass the filters.+-- based on label values. To filter on multiple expressions, provide each+-- separate expression within parentheses. For example,+-- (scheduling.automaticRestart eq true) (zone eq us-central1-f). Multiple+-- expressions are treated as AND expressions, meaning that resources must+-- match all expressions to pass the filters. tpalFilter :: Lens' TargetPoolsAggregatedList (Maybe Text) tpalFilter = lens _tpalFilter (\ s a -> s{_tpalFilter = a})@@ -145,7 +162,8 @@ "https://www.googleapis.com/auth/compute", "https://www.googleapis.com/auth/compute.readonly"] requestClient TargetPoolsAggregatedList'{..}- = go _tpalProject _tpalFilter _tpalPageToken+ = go _tpalProject _tpalOrderBy _tpalFilter+ _tpalPageToken (Just _tpalMaxResults) (Just AltJSON) computeService
gen/Network/Google/Resource/Compute/TargetPools/List.hs view
@@ -34,6 +34,7 @@ , TargetPoolsList -- * Request Lenses+ , tplOrderBy , tplProject , tplFilter , tplRegion@@ -54,18 +55,20 @@ "regions" :> Capture "region" Text :> "targetPools" :>- QueryParam "filter" Text :>- QueryParam "pageToken" Text :>- QueryParam "maxResults" (Textual Word32) :>- QueryParam "alt" AltJSON :>- Get '[JSON] TargetPoolList+ QueryParam "orderBy" Text :>+ QueryParam "filter" Text :>+ QueryParam "pageToken" Text :>+ QueryParam "maxResults" (Textual Word32) :>+ QueryParam "alt" AltJSON :>+ Get '[JSON] TargetPoolList -- | Retrieves a list of target pools available to the specified project and -- region. -- -- /See:/ 'targetPoolsList' smart constructor. data TargetPoolsList = TargetPoolsList'- { _tplProject :: !Text+ { _tplOrderBy :: !(Maybe Text)+ , _tplProject :: !Text , _tplFilter :: !(Maybe Text) , _tplRegion :: !Text , _tplPageToken :: !(Maybe Text)@@ -76,6 +79,8 @@ -- -- Use one of the following lenses to modify other fields as desired: --+-- * 'tplOrderBy'+-- -- * 'tplProject' -- -- * 'tplFilter'@@ -91,13 +96,26 @@ -> TargetPoolsList targetPoolsList pTplProject_ pTplRegion_ = TargetPoolsList'- { _tplProject = pTplProject_+ { _tplOrderBy = Nothing+ , _tplProject = pTplProject_ , _tplFilter = Nothing , _tplRegion = pTplRegion_ , _tplPageToken = Nothing , _tplMaxResults = 500 } +-- | Sorts list results by a certain order. By default, results are returned+-- in alphanumerical order based on the resource name. You can also sort+-- results in descending order based on the creation timestamp using+-- orderBy=\"creationTimestamp desc\". This sorts results based on the+-- creationTimestamp field in reverse chronological order (newest result+-- first). Use this to sort resources like operations so that the newest+-- operation is returned first. Currently, only sorting by name or+-- creationTimestamp desc is supported.+tplOrderBy :: Lens' TargetPoolsList (Maybe Text)+tplOrderBy+ = lens _tplOrderBy (\ s a -> s{_tplOrderBy = a})+ -- | Project ID for this request. tplProject :: Lens' TargetPoolsList Text tplProject@@ -114,16 +132,15 @@ -- value is interpreted as a regular expression using RE2 syntax. The -- literal value must match the entire field. For example, to filter for -- instances that do not have a name of example-instance, you would use--- filter=name ne example-instance. Compute Engine Beta API Only: When--- filtering in the Beta API, you can also filter on nested fields. For+-- filter=name ne example-instance. You can filter on nested fields. For -- example, you could filter on instances that have set the -- scheduling.automaticRestart field to true. Use filtering on nested -- fields to take advantage of labels to organize and search for results--- based on label values. The Beta API also supports filtering on multiple--- expressions by providing each separate expression within parentheses.--- For example, (scheduling.automaticRestart eq true) (zone eq--- us-central1-f). Multiple expressions are treated as AND expressions,--- meaning that resources must match all expressions to pass the filters.+-- based on label values. To filter on multiple expressions, provide each+-- separate expression within parentheses. For example,+-- (scheduling.automaticRestart eq true) (zone eq us-central1-f). Multiple+-- expressions are treated as AND expressions, meaning that resources must+-- match all expressions to pass the filters. tplFilter :: Lens' TargetPoolsList (Maybe Text) tplFilter = lens _tplFilter (\ s a -> s{_tplFilter = a})@@ -156,7 +173,8 @@ "https://www.googleapis.com/auth/compute", "https://www.googleapis.com/auth/compute.readonly"] requestClient TargetPoolsList'{..}- = go _tplProject _tplRegion _tplFilter _tplPageToken+ = go _tplProject _tplRegion _tplOrderBy _tplFilter+ _tplPageToken (Just _tplMaxResults) (Just AltJSON) computeService
+ gen/Network/Google/Resource/Compute/TargetSSLProxies/Delete.hs view
@@ -0,0 +1,102 @@+{-# 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.Compute.TargetSSLProxies.Delete+-- 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)+--+-- Deletes the specified TargetSslProxy resource.+--+-- /See:/ <https://developers.google.com/compute/docs/reference/latest/ Compute Engine API Reference> for @compute.targetSslProxies.delete@.+module Network.Google.Resource.Compute.TargetSSLProxies.Delete+ (+ -- * REST Resource+ TargetSSLProxiesDeleteResource++ -- * Creating a Request+ , targetSSLProxiesDelete+ , TargetSSLProxiesDelete++ -- * Request Lenses+ , tspdProject+ , tspdTargetSSLProxy+ ) where++import Network.Google.Compute.Types+import Network.Google.Prelude++-- | A resource alias for @compute.targetSslProxies.delete@ method which the+-- 'TargetSSLProxiesDelete' request conforms to.+type TargetSSLProxiesDeleteResource =+ "compute" :>+ "v1" :>+ "projects" :>+ Capture "project" Text :>+ "global" :>+ "targetSslProxies" :>+ Capture "targetSslProxy" Text :>+ QueryParam "alt" AltJSON :> Delete '[JSON] Operation++-- | Deletes the specified TargetSslProxy resource.+--+-- /See:/ 'targetSSLProxiesDelete' smart constructor.+data TargetSSLProxiesDelete = TargetSSLProxiesDelete'+ { _tspdProject :: !Text+ , _tspdTargetSSLProxy :: !Text+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'TargetSSLProxiesDelete' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'tspdProject'+--+-- * 'tspdTargetSSLProxy'+targetSSLProxiesDelete+ :: Text -- ^ 'tspdProject'+ -> Text -- ^ 'tspdTargetSSLProxy'+ -> TargetSSLProxiesDelete+targetSSLProxiesDelete pTspdProject_ pTspdTargetSSLProxy_ =+ TargetSSLProxiesDelete'+ { _tspdProject = pTspdProject_+ , _tspdTargetSSLProxy = pTspdTargetSSLProxy_+ }++-- | Project ID for this request.+tspdProject :: Lens' TargetSSLProxiesDelete Text+tspdProject+ = lens _tspdProject (\ s a -> s{_tspdProject = a})++-- | Name of the TargetSslProxy resource to delete.+tspdTargetSSLProxy :: Lens' TargetSSLProxiesDelete Text+tspdTargetSSLProxy+ = lens _tspdTargetSSLProxy+ (\ s a -> s{_tspdTargetSSLProxy = a})++instance GoogleRequest TargetSSLProxiesDelete where+ type Rs TargetSSLProxiesDelete = Operation+ type Scopes TargetSSLProxiesDelete =+ '["https://www.googleapis.com/auth/cloud-platform",+ "https://www.googleapis.com/auth/compute"]+ requestClient TargetSSLProxiesDelete'{..}+ = go _tspdProject _tspdTargetSSLProxy (Just AltJSON)+ computeService+ where go+ = buildClient+ (Proxy :: Proxy TargetSSLProxiesDeleteResource)+ mempty
+ gen/Network/Google/Resource/Compute/TargetSSLProxies/Get.hs view
@@ -0,0 +1,106 @@+{-# 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.Compute.TargetSSLProxies.Get+-- 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)+--+-- Returns the specified TargetSslProxy resource. Get a list of available+-- target SSL proxies by making a list() request.+--+-- /See:/ <https://developers.google.com/compute/docs/reference/latest/ Compute Engine API Reference> for @compute.targetSslProxies.get@.+module Network.Google.Resource.Compute.TargetSSLProxies.Get+ (+ -- * REST Resource+ TargetSSLProxiesGetResource++ -- * Creating a Request+ , targetSSLProxiesGet+ , TargetSSLProxiesGet++ -- * Request Lenses+ , tspgProject+ , tspgTargetSSLProxy+ ) where++import Network.Google.Compute.Types+import Network.Google.Prelude++-- | A resource alias for @compute.targetSslProxies.get@ method which the+-- 'TargetSSLProxiesGet' request conforms to.+type TargetSSLProxiesGetResource =+ "compute" :>+ "v1" :>+ "projects" :>+ Capture "project" Text :>+ "global" :>+ "targetSslProxies" :>+ Capture "targetSslProxy" Text :>+ QueryParam "alt" AltJSON :>+ Get '[JSON] TargetSSLProxy++-- | Returns the specified TargetSslProxy resource. Get a list of available+-- target SSL proxies by making a list() request.+--+-- /See:/ 'targetSSLProxiesGet' smart constructor.+data TargetSSLProxiesGet = TargetSSLProxiesGet'+ { _tspgProject :: !Text+ , _tspgTargetSSLProxy :: !Text+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'TargetSSLProxiesGet' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'tspgProject'+--+-- * 'tspgTargetSSLProxy'+targetSSLProxiesGet+ :: Text -- ^ 'tspgProject'+ -> Text -- ^ 'tspgTargetSSLProxy'+ -> TargetSSLProxiesGet+targetSSLProxiesGet pTspgProject_ pTspgTargetSSLProxy_ =+ TargetSSLProxiesGet'+ { _tspgProject = pTspgProject_+ , _tspgTargetSSLProxy = pTspgTargetSSLProxy_+ }++-- | Project ID for this request.+tspgProject :: Lens' TargetSSLProxiesGet Text+tspgProject+ = lens _tspgProject (\ s a -> s{_tspgProject = a})++-- | Name of the TargetSslProxy resource to return.+tspgTargetSSLProxy :: Lens' TargetSSLProxiesGet Text+tspgTargetSSLProxy+ = lens _tspgTargetSSLProxy+ (\ s a -> s{_tspgTargetSSLProxy = a})++instance GoogleRequest TargetSSLProxiesGet where+ type Rs TargetSSLProxiesGet = TargetSSLProxy+ type Scopes TargetSSLProxiesGet =+ '["https://www.googleapis.com/auth/cloud-platform",+ "https://www.googleapis.com/auth/compute",+ "https://www.googleapis.com/auth/compute.readonly"]+ requestClient TargetSSLProxiesGet'{..}+ = go _tspgProject _tspgTargetSSLProxy (Just AltJSON)+ computeService+ where go+ = buildClient+ (Proxy :: Proxy TargetSSLProxiesGetResource)+ mempty
+ gen/Network/Google/Resource/Compute/TargetSSLProxies/Insert.hs view
@@ -0,0 +1,104 @@+{-# 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.Compute.TargetSSLProxies.Insert+-- 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)+--+-- Creates a TargetSslProxy resource in the specified project using the+-- data included in the request.+--+-- /See:/ <https://developers.google.com/compute/docs/reference/latest/ Compute Engine API Reference> for @compute.targetSslProxies.insert@.+module Network.Google.Resource.Compute.TargetSSLProxies.Insert+ (+ -- * REST Resource+ TargetSSLProxiesInsertResource++ -- * Creating a Request+ , targetSSLProxiesInsert+ , TargetSSLProxiesInsert++ -- * Request Lenses+ , tspiProject+ , tspiPayload+ ) where++import Network.Google.Compute.Types+import Network.Google.Prelude++-- | A resource alias for @compute.targetSslProxies.insert@ method which the+-- 'TargetSSLProxiesInsert' request conforms to.+type TargetSSLProxiesInsertResource =+ "compute" :>+ "v1" :>+ "projects" :>+ Capture "project" Text :>+ "global" :>+ "targetSslProxies" :>+ QueryParam "alt" AltJSON :>+ ReqBody '[JSON] TargetSSLProxy :>+ Post '[JSON] Operation++-- | Creates a TargetSslProxy resource in the specified project using the+-- data included in the request.+--+-- /See:/ 'targetSSLProxiesInsert' smart constructor.+data TargetSSLProxiesInsert = TargetSSLProxiesInsert'+ { _tspiProject :: !Text+ , _tspiPayload :: !TargetSSLProxy+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'TargetSSLProxiesInsert' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'tspiProject'+--+-- * 'tspiPayload'+targetSSLProxiesInsert+ :: Text -- ^ 'tspiProject'+ -> TargetSSLProxy -- ^ 'tspiPayload'+ -> TargetSSLProxiesInsert+targetSSLProxiesInsert pTspiProject_ pTspiPayload_ =+ TargetSSLProxiesInsert'+ { _tspiProject = pTspiProject_+ , _tspiPayload = pTspiPayload_+ }++-- | Project ID for this request.+tspiProject :: Lens' TargetSSLProxiesInsert Text+tspiProject+ = lens _tspiProject (\ s a -> s{_tspiProject = a})++-- | Multipart request metadata.+tspiPayload :: Lens' TargetSSLProxiesInsert TargetSSLProxy+tspiPayload+ = lens _tspiPayload (\ s a -> s{_tspiPayload = a})++instance GoogleRequest TargetSSLProxiesInsert where+ type Rs TargetSSLProxiesInsert = Operation+ type Scopes TargetSSLProxiesInsert =+ '["https://www.googleapis.com/auth/cloud-platform",+ "https://www.googleapis.com/auth/compute"]+ requestClient TargetSSLProxiesInsert'{..}+ = go _tspiProject (Just AltJSON) _tspiPayload+ computeService+ where go+ = buildClient+ (Proxy :: Proxy TargetSSLProxiesInsertResource)+ mempty
+ gen/Network/Google/Resource/Compute/TargetSSLProxies/List.hs view
@@ -0,0 +1,173 @@+{-# 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.Compute.TargetSSLProxies.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)+--+-- Retrieves the list of TargetSslProxy resources available to the+-- specified project.+--+-- /See:/ <https://developers.google.com/compute/docs/reference/latest/ Compute Engine API Reference> for @compute.targetSslProxies.list@.+module Network.Google.Resource.Compute.TargetSSLProxies.List+ (+ -- * REST Resource+ TargetSSLProxiesListResource++ -- * Creating a Request+ , targetSSLProxiesList+ , TargetSSLProxiesList++ -- * Request Lenses+ , tsplOrderBy+ , tsplProject+ , tsplFilter+ , tsplPageToken+ , tsplMaxResults+ ) where++import Network.Google.Compute.Types+import Network.Google.Prelude++-- | A resource alias for @compute.targetSslProxies.list@ method which the+-- 'TargetSSLProxiesList' request conforms to.+type TargetSSLProxiesListResource =+ "compute" :>+ "v1" :>+ "projects" :>+ Capture "project" Text :>+ "global" :>+ "targetSslProxies" :>+ QueryParam "orderBy" Text :>+ QueryParam "filter" Text :>+ QueryParam "pageToken" Text :>+ QueryParam "maxResults" (Textual Word32) :>+ QueryParam "alt" AltJSON :>+ Get '[JSON] TargetSSLProxyList++-- | Retrieves the list of TargetSslProxy resources available to the+-- specified project.+--+-- /See:/ 'targetSSLProxiesList' smart constructor.+data TargetSSLProxiesList = TargetSSLProxiesList'+ { _tsplOrderBy :: !(Maybe Text)+ , _tsplProject :: !Text+ , _tsplFilter :: !(Maybe Text)+ , _tsplPageToken :: !(Maybe Text)+ , _tsplMaxResults :: !(Textual Word32)+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'TargetSSLProxiesList' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'tsplOrderBy'+--+-- * 'tsplProject'+--+-- * 'tsplFilter'+--+-- * 'tsplPageToken'+--+-- * 'tsplMaxResults'+targetSSLProxiesList+ :: Text -- ^ 'tsplProject'+ -> TargetSSLProxiesList+targetSSLProxiesList pTsplProject_ =+ TargetSSLProxiesList'+ { _tsplOrderBy = Nothing+ , _tsplProject = pTsplProject_+ , _tsplFilter = Nothing+ , _tsplPageToken = Nothing+ , _tsplMaxResults = 500+ }++-- | Sorts list results by a certain order. By default, results are returned+-- in alphanumerical order based on the resource name. You can also sort+-- results in descending order based on the creation timestamp using+-- orderBy=\"creationTimestamp desc\". This sorts results based on the+-- creationTimestamp field in reverse chronological order (newest result+-- first). Use this to sort resources like operations so that the newest+-- operation is returned first. Currently, only sorting by name or+-- creationTimestamp desc is supported.+tsplOrderBy :: Lens' TargetSSLProxiesList (Maybe Text)+tsplOrderBy+ = lens _tsplOrderBy (\ s a -> s{_tsplOrderBy = a})++-- | Project ID for this request.+tsplProject :: Lens' TargetSSLProxiesList Text+tsplProject+ = lens _tsplProject (\ s a -> s{_tsplProject = a})++-- | Sets a filter expression for filtering listed resources, in the form+-- filter={expression}. Your {expression} must be in the format: field_name+-- comparison_string literal_string. The field_name is the name of the+-- field you want to compare. Only atomic field types are supported+-- (string, number, boolean). The comparison_string must be either eq+-- (equals) or ne (not equals). The literal_string is the string value to+-- filter to. The literal value must be valid for the type of field you are+-- filtering by (string, number, boolean). For string fields, the literal+-- value is interpreted as a regular expression using RE2 syntax. The+-- literal value must match the entire field. For example, to filter for+-- instances that do not have a name of example-instance, you would use+-- filter=name ne example-instance. You can filter on nested fields. For+-- example, you could filter on instances that have set the+-- scheduling.automaticRestart field to true. Use filtering on nested+-- fields to take advantage of labels to organize and search for results+-- based on label values. To filter on multiple expressions, provide each+-- separate expression within parentheses. For example,+-- (scheduling.automaticRestart eq true) (zone eq us-central1-f). Multiple+-- expressions are treated as AND expressions, meaning that resources must+-- match all expressions to pass the filters.+tsplFilter :: Lens' TargetSSLProxiesList (Maybe Text)+tsplFilter+ = lens _tsplFilter (\ s a -> s{_tsplFilter = a})++-- | Specifies a page token to use. Set pageToken to the nextPageToken+-- returned by a previous list request to get the next page of results.+tsplPageToken :: Lens' TargetSSLProxiesList (Maybe Text)+tsplPageToken+ = lens _tsplPageToken+ (\ s a -> s{_tsplPageToken = a})++-- | The maximum number of results per page that should be returned. If the+-- number of available results is larger than maxResults, Compute Engine+-- returns a nextPageToken that can be used to get the next page of results+-- in subsequent list requests.+tsplMaxResults :: Lens' TargetSSLProxiesList Word32+tsplMaxResults+ = lens _tsplMaxResults+ (\ s a -> s{_tsplMaxResults = a})+ . _Coerce++instance GoogleRequest TargetSSLProxiesList where+ type Rs TargetSSLProxiesList = TargetSSLProxyList+ type Scopes TargetSSLProxiesList =+ '["https://www.googleapis.com/auth/cloud-platform",+ "https://www.googleapis.com/auth/compute",+ "https://www.googleapis.com/auth/compute.readonly"]+ requestClient TargetSSLProxiesList'{..}+ = go _tsplProject _tsplOrderBy _tsplFilter+ _tsplPageToken+ (Just _tsplMaxResults)+ (Just AltJSON)+ computeService+ where go+ = buildClient+ (Proxy :: Proxy TargetSSLProxiesListResource)+ mempty
+ gen/Network/Google/Resource/Compute/TargetSSLProxies/SetBackendService.hs view
@@ -0,0 +1,124 @@+{-# 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.Compute.TargetSSLProxies.SetBackendService+-- 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)+--+-- Changes the BackendService for TargetSslProxy.+--+-- /See:/ <https://developers.google.com/compute/docs/reference/latest/ Compute Engine API Reference> for @compute.targetSslProxies.setBackendService@.+module Network.Google.Resource.Compute.TargetSSLProxies.SetBackendService+ (+ -- * REST Resource+ TargetSSLProxiesSetBackendServiceResource++ -- * Creating a Request+ , targetSSLProxiesSetBackendService+ , TargetSSLProxiesSetBackendService++ -- * Request Lenses+ , tspsbsProject+ , tspsbsPayload+ , tspsbsTargetSSLProxy+ ) where++import Network.Google.Compute.Types+import Network.Google.Prelude++-- | A resource alias for @compute.targetSslProxies.setBackendService@ method which the+-- 'TargetSSLProxiesSetBackendService' request conforms to.+type TargetSSLProxiesSetBackendServiceResource =+ "compute" :>+ "v1" :>+ "projects" :>+ Capture "project" Text :>+ "global" :>+ "targetSslProxies" :>+ Capture "targetSslProxy" Text :>+ "setBackendService" :>+ QueryParam "alt" AltJSON :>+ ReqBody '[JSON]+ TargetSSLProxiesSetBackendServiceRequest+ :> Post '[JSON] Operation++-- | Changes the BackendService for TargetSslProxy.+--+-- /See:/ 'targetSSLProxiesSetBackendService' smart constructor.+data TargetSSLProxiesSetBackendService = TargetSSLProxiesSetBackendService'+ { _tspsbsProject :: !Text+ , _tspsbsPayload :: !TargetSSLProxiesSetBackendServiceRequest+ , _tspsbsTargetSSLProxy :: !Text+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'TargetSSLProxiesSetBackendService' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'tspsbsProject'+--+-- * 'tspsbsPayload'+--+-- * 'tspsbsTargetSSLProxy'+targetSSLProxiesSetBackendService+ :: Text -- ^ 'tspsbsProject'+ -> TargetSSLProxiesSetBackendServiceRequest -- ^ 'tspsbsPayload'+ -> Text -- ^ 'tspsbsTargetSSLProxy'+ -> TargetSSLProxiesSetBackendService+targetSSLProxiesSetBackendService pTspsbsProject_ pTspsbsPayload_ pTspsbsTargetSSLProxy_ =+ TargetSSLProxiesSetBackendService'+ { _tspsbsProject = pTspsbsProject_+ , _tspsbsPayload = pTspsbsPayload_+ , _tspsbsTargetSSLProxy = pTspsbsTargetSSLProxy_+ }++-- | Project ID for this request.+tspsbsProject :: Lens' TargetSSLProxiesSetBackendService Text+tspsbsProject+ = lens _tspsbsProject+ (\ s a -> s{_tspsbsProject = a})++-- | Multipart request metadata.+tspsbsPayload :: Lens' TargetSSLProxiesSetBackendService TargetSSLProxiesSetBackendServiceRequest+tspsbsPayload+ = lens _tspsbsPayload+ (\ s a -> s{_tspsbsPayload = a})++-- | Name of the TargetSslProxy resource whose BackendService resource is to+-- be set.+tspsbsTargetSSLProxy :: Lens' TargetSSLProxiesSetBackendService Text+tspsbsTargetSSLProxy+ = lens _tspsbsTargetSSLProxy+ (\ s a -> s{_tspsbsTargetSSLProxy = a})++instance GoogleRequest+ TargetSSLProxiesSetBackendService where+ type Rs TargetSSLProxiesSetBackendService = Operation+ type Scopes TargetSSLProxiesSetBackendService =+ '["https://www.googleapis.com/auth/cloud-platform",+ "https://www.googleapis.com/auth/compute"]+ requestClient TargetSSLProxiesSetBackendService'{..}+ = go _tspsbsProject _tspsbsTargetSSLProxy+ (Just AltJSON)+ _tspsbsPayload+ computeService+ where go+ = buildClient+ (Proxy ::+ Proxy TargetSSLProxiesSetBackendServiceResource)+ mempty
+ gen/Network/Google/Resource/Compute/TargetSSLProxies/SetProxyHeader.hs view
@@ -0,0 +1,122 @@+{-# 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.Compute.TargetSSLProxies.SetProxyHeader+-- 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)+--+-- Changes the ProxyHeaderType for TargetSslProxy.+--+-- /See:/ <https://developers.google.com/compute/docs/reference/latest/ Compute Engine API Reference> for @compute.targetSslProxies.setProxyHeader@.+module Network.Google.Resource.Compute.TargetSSLProxies.SetProxyHeader+ (+ -- * REST Resource+ TargetSSLProxiesSetProxyHeaderResource++ -- * Creating a Request+ , targetSSLProxiesSetProxyHeader+ , TargetSSLProxiesSetProxyHeader++ -- * Request Lenses+ , tspsphProject+ , tspsphPayload+ , tspsphTargetSSLProxy+ ) where++import Network.Google.Compute.Types+import Network.Google.Prelude++-- | A resource alias for @compute.targetSslProxies.setProxyHeader@ method which the+-- 'TargetSSLProxiesSetProxyHeader' request conforms to.+type TargetSSLProxiesSetProxyHeaderResource =+ "compute" :>+ "v1" :>+ "projects" :>+ Capture "project" Text :>+ "global" :>+ "targetSslProxies" :>+ Capture "targetSslProxy" Text :>+ "setProxyHeader" :>+ QueryParam "alt" AltJSON :>+ ReqBody '[JSON] TargetSSLProxiesSetProxyHeaderRequest+ :> Post '[JSON] Operation++-- | Changes the ProxyHeaderType for TargetSslProxy.+--+-- /See:/ 'targetSSLProxiesSetProxyHeader' smart constructor.+data TargetSSLProxiesSetProxyHeader = TargetSSLProxiesSetProxyHeader'+ { _tspsphProject :: !Text+ , _tspsphPayload :: !TargetSSLProxiesSetProxyHeaderRequest+ , _tspsphTargetSSLProxy :: !Text+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'TargetSSLProxiesSetProxyHeader' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'tspsphProject'+--+-- * 'tspsphPayload'+--+-- * 'tspsphTargetSSLProxy'+targetSSLProxiesSetProxyHeader+ :: Text -- ^ 'tspsphProject'+ -> TargetSSLProxiesSetProxyHeaderRequest -- ^ 'tspsphPayload'+ -> Text -- ^ 'tspsphTargetSSLProxy'+ -> TargetSSLProxiesSetProxyHeader+targetSSLProxiesSetProxyHeader pTspsphProject_ pTspsphPayload_ pTspsphTargetSSLProxy_ =+ TargetSSLProxiesSetProxyHeader'+ { _tspsphProject = pTspsphProject_+ , _tspsphPayload = pTspsphPayload_+ , _tspsphTargetSSLProxy = pTspsphTargetSSLProxy_+ }++-- | Project ID for this request.+tspsphProject :: Lens' TargetSSLProxiesSetProxyHeader Text+tspsphProject+ = lens _tspsphProject+ (\ s a -> s{_tspsphProject = a})++-- | Multipart request metadata.+tspsphPayload :: Lens' TargetSSLProxiesSetProxyHeader TargetSSLProxiesSetProxyHeaderRequest+tspsphPayload+ = lens _tspsphPayload+ (\ s a -> s{_tspsphPayload = a})++-- | Name of the TargetSslProxy resource whose ProxyHeader is to be set.+tspsphTargetSSLProxy :: Lens' TargetSSLProxiesSetProxyHeader Text+tspsphTargetSSLProxy+ = lens _tspsphTargetSSLProxy+ (\ s a -> s{_tspsphTargetSSLProxy = a})++instance GoogleRequest TargetSSLProxiesSetProxyHeader+ where+ type Rs TargetSSLProxiesSetProxyHeader = Operation+ type Scopes TargetSSLProxiesSetProxyHeader =+ '["https://www.googleapis.com/auth/cloud-platform",+ "https://www.googleapis.com/auth/compute"]+ requestClient TargetSSLProxiesSetProxyHeader'{..}+ = go _tspsphProject _tspsphTargetSSLProxy+ (Just AltJSON)+ _tspsphPayload+ computeService+ where go+ = buildClient+ (Proxy ::+ Proxy TargetSSLProxiesSetProxyHeaderResource)+ mempty
+ gen/Network/Google/Resource/Compute/TargetSSLProxies/SetSSLCertificates.hs view
@@ -0,0 +1,125 @@+{-# 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.Compute.TargetSSLProxies.SetSSLCertificates+-- 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)+--+-- Changes SslCertificates for TargetSslProxy.+--+-- /See:/ <https://developers.google.com/compute/docs/reference/latest/ Compute Engine API Reference> for @compute.targetSslProxies.setSslCertificates@.+module Network.Google.Resource.Compute.TargetSSLProxies.SetSSLCertificates+ (+ -- * REST Resource+ TargetSSLProxiesSetSSLCertificatesResource++ -- * Creating a Request+ , targetSSLProxiesSetSSLCertificates+ , TargetSSLProxiesSetSSLCertificates++ -- * Request Lenses+ , tspsscProject+ , tspsscPayload+ , tspsscTargetSSLProxy+ ) where++import Network.Google.Compute.Types+import Network.Google.Prelude++-- | A resource alias for @compute.targetSslProxies.setSslCertificates@ method which the+-- 'TargetSSLProxiesSetSSLCertificates' request conforms to.+type TargetSSLProxiesSetSSLCertificatesResource =+ "compute" :>+ "v1" :>+ "projects" :>+ Capture "project" Text :>+ "global" :>+ "targetSslProxies" :>+ Capture "targetSslProxy" Text :>+ "setSslCertificates" :>+ QueryParam "alt" AltJSON :>+ ReqBody '[JSON]+ TargetSSLProxiesSetSSLCertificatesRequest+ :> Post '[JSON] Operation++-- | Changes SslCertificates for TargetSslProxy.+--+-- /See:/ 'targetSSLProxiesSetSSLCertificates' smart constructor.+data TargetSSLProxiesSetSSLCertificates = TargetSSLProxiesSetSSLCertificates'+ { _tspsscProject :: !Text+ , _tspsscPayload :: !TargetSSLProxiesSetSSLCertificatesRequest+ , _tspsscTargetSSLProxy :: !Text+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'TargetSSLProxiesSetSSLCertificates' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'tspsscProject'+--+-- * 'tspsscPayload'+--+-- * 'tspsscTargetSSLProxy'+targetSSLProxiesSetSSLCertificates+ :: Text -- ^ 'tspsscProject'+ -> TargetSSLProxiesSetSSLCertificatesRequest -- ^ 'tspsscPayload'+ -> Text -- ^ 'tspsscTargetSSLProxy'+ -> TargetSSLProxiesSetSSLCertificates+targetSSLProxiesSetSSLCertificates pTspsscProject_ pTspsscPayload_ pTspsscTargetSSLProxy_ =+ TargetSSLProxiesSetSSLCertificates'+ { _tspsscProject = pTspsscProject_+ , _tspsscPayload = pTspsscPayload_+ , _tspsscTargetSSLProxy = pTspsscTargetSSLProxy_+ }++-- | Project ID for this request.+tspsscProject :: Lens' TargetSSLProxiesSetSSLCertificates Text+tspsscProject+ = lens _tspsscProject+ (\ s a -> s{_tspsscProject = a})++-- | Multipart request metadata.+tspsscPayload :: Lens' TargetSSLProxiesSetSSLCertificates TargetSSLProxiesSetSSLCertificatesRequest+tspsscPayload+ = lens _tspsscPayload+ (\ s a -> s{_tspsscPayload = a})++-- | Name of the TargetSslProxy resource whose SslCertificate resource is to+-- be set.+tspsscTargetSSLProxy :: Lens' TargetSSLProxiesSetSSLCertificates Text+tspsscTargetSSLProxy+ = lens _tspsscTargetSSLProxy+ (\ s a -> s{_tspsscTargetSSLProxy = a})++instance GoogleRequest+ TargetSSLProxiesSetSSLCertificates where+ type Rs TargetSSLProxiesSetSSLCertificates =+ Operation+ type Scopes TargetSSLProxiesSetSSLCertificates =+ '["https://www.googleapis.com/auth/cloud-platform",+ "https://www.googleapis.com/auth/compute"]+ requestClient TargetSSLProxiesSetSSLCertificates'{..}+ = go _tspsscProject _tspsscTargetSSLProxy+ (Just AltJSON)+ _tspsscPayload+ computeService+ where go+ = buildClient+ (Proxy ::+ Proxy TargetSSLProxiesSetSSLCertificatesResource)+ mempty
gen/Network/Google/Resource/Compute/TargetVPNGateways/AggregatedList.hs view
@@ -33,6 +33,7 @@ , TargetVPNGatewaysAggregatedList -- * Request Lenses+ , tvgalOrderBy , tvgalProject , tvgalFilter , tvgalPageToken@@ -51,17 +52,19 @@ Capture "project" Text :> "aggregated" :> "targetVpnGateways" :>- QueryParam "filter" Text :>- QueryParam "pageToken" Text :>- QueryParam "maxResults" (Textual Word32) :>- QueryParam "alt" AltJSON :>- Get '[JSON] TargetVPNGatewayAggregatedList+ QueryParam "orderBy" Text :>+ QueryParam "filter" Text :>+ QueryParam "pageToken" Text :>+ QueryParam "maxResults" (Textual Word32) :>+ QueryParam "alt" AltJSON :>+ Get '[JSON] TargetVPNGatewayAggregatedList -- | Retrieves an aggregated list of target VPN gateways. -- -- /See:/ 'targetVPNGatewaysAggregatedList' smart constructor. data TargetVPNGatewaysAggregatedList = TargetVPNGatewaysAggregatedList'- { _tvgalProject :: !Text+ { _tvgalOrderBy :: !(Maybe Text)+ , _tvgalProject :: !Text , _tvgalFilter :: !(Maybe Text) , _tvgalPageToken :: !(Maybe Text) , _tvgalMaxResults :: !(Textual Word32)@@ -71,6 +74,8 @@ -- -- Use one of the following lenses to modify other fields as desired: --+-- * 'tvgalOrderBy'+-- -- * 'tvgalProject' -- -- * 'tvgalFilter'@@ -83,12 +88,25 @@ -> TargetVPNGatewaysAggregatedList targetVPNGatewaysAggregatedList pTvgalProject_ = TargetVPNGatewaysAggregatedList'- { _tvgalProject = pTvgalProject_+ { _tvgalOrderBy = Nothing+ , _tvgalProject = pTvgalProject_ , _tvgalFilter = Nothing , _tvgalPageToken = Nothing , _tvgalMaxResults = 500 } +-- | Sorts list results by a certain order. By default, results are returned+-- in alphanumerical order based on the resource name. You can also sort+-- results in descending order based on the creation timestamp using+-- orderBy=\"creationTimestamp desc\". This sorts results based on the+-- creationTimestamp field in reverse chronological order (newest result+-- first). Use this to sort resources like operations so that the newest+-- operation is returned first. Currently, only sorting by name or+-- creationTimestamp desc is supported.+tvgalOrderBy :: Lens' TargetVPNGatewaysAggregatedList (Maybe Text)+tvgalOrderBy+ = lens _tvgalOrderBy (\ s a -> s{_tvgalOrderBy = a})+ -- | Project ID for this request. tvgalProject :: Lens' TargetVPNGatewaysAggregatedList Text tvgalProject@@ -105,16 +123,15 @@ -- value is interpreted as a regular expression using RE2 syntax. The -- literal value must match the entire field. For example, to filter for -- instances that do not have a name of example-instance, you would use--- filter=name ne example-instance. Compute Engine Beta API Only: When--- filtering in the Beta API, you can also filter on nested fields. For+-- filter=name ne example-instance. You can filter on nested fields. For -- example, you could filter on instances that have set the -- scheduling.automaticRestart field to true. Use filtering on nested -- fields to take advantage of labels to organize and search for results--- based on label values. The Beta API also supports filtering on multiple--- expressions by providing each separate expression within parentheses.--- For example, (scheduling.automaticRestart eq true) (zone eq--- us-central1-f). Multiple expressions are treated as AND expressions,--- meaning that resources must match all expressions to pass the filters.+-- based on label values. To filter on multiple expressions, provide each+-- separate expression within parentheses. For example,+-- (scheduling.automaticRestart eq true) (zone eq us-central1-f). Multiple+-- expressions are treated as AND expressions, meaning that resources must+-- match all expressions to pass the filters. tvgalFilter :: Lens' TargetVPNGatewaysAggregatedList (Maybe Text) tvgalFilter = lens _tvgalFilter (\ s a -> s{_tvgalFilter = a})@@ -145,7 +162,8 @@ "https://www.googleapis.com/auth/compute", "https://www.googleapis.com/auth/compute.readonly"] requestClient TargetVPNGatewaysAggregatedList'{..}- = go _tvgalProject _tvgalFilter _tvgalPageToken+ = go _tvgalProject _tvgalOrderBy _tvgalFilter+ _tvgalPageToken (Just _tvgalMaxResults) (Just AltJSON) computeService
gen/Network/Google/Resource/Compute/TargetVPNGateways/List.hs view
@@ -34,6 +34,7 @@ , TargetVPNGatewaysList -- * Request Lenses+ , tvglOrderBy , tvglProject , tvglFilter , tvglRegion@@ -54,18 +55,20 @@ "regions" :> Capture "region" Text :> "targetVpnGateways" :>- QueryParam "filter" Text :>- QueryParam "pageToken" Text :>- QueryParam "maxResults" (Textual Word32) :>- QueryParam "alt" AltJSON :>- Get '[JSON] TargetVPNGatewayList+ QueryParam "orderBy" Text :>+ QueryParam "filter" Text :>+ QueryParam "pageToken" Text :>+ QueryParam "maxResults" (Textual Word32) :>+ QueryParam "alt" AltJSON :>+ Get '[JSON] TargetVPNGatewayList -- | Retrieves a list of target VPN gateways available to the specified -- project and region. -- -- /See:/ 'targetVPNGatewaysList' smart constructor. data TargetVPNGatewaysList = TargetVPNGatewaysList'- { _tvglProject :: !Text+ { _tvglOrderBy :: !(Maybe Text)+ , _tvglProject :: !Text , _tvglFilter :: !(Maybe Text) , _tvglRegion :: !Text , _tvglPageToken :: !(Maybe Text)@@ -76,6 +79,8 @@ -- -- Use one of the following lenses to modify other fields as desired: --+-- * 'tvglOrderBy'+-- -- * 'tvglProject' -- -- * 'tvglFilter'@@ -91,13 +96,26 @@ -> TargetVPNGatewaysList targetVPNGatewaysList pTvglProject_ pTvglRegion_ = TargetVPNGatewaysList'- { _tvglProject = pTvglProject_+ { _tvglOrderBy = Nothing+ , _tvglProject = pTvglProject_ , _tvglFilter = Nothing , _tvglRegion = pTvglRegion_ , _tvglPageToken = Nothing , _tvglMaxResults = 500 } +-- | Sorts list results by a certain order. By default, results are returned+-- in alphanumerical order based on the resource name. You can also sort+-- results in descending order based on the creation timestamp using+-- orderBy=\"creationTimestamp desc\". This sorts results based on the+-- creationTimestamp field in reverse chronological order (newest result+-- first). Use this to sort resources like operations so that the newest+-- operation is returned first. Currently, only sorting by name or+-- creationTimestamp desc is supported.+tvglOrderBy :: Lens' TargetVPNGatewaysList (Maybe Text)+tvglOrderBy+ = lens _tvglOrderBy (\ s a -> s{_tvglOrderBy = a})+ -- | Project ID for this request. tvglProject :: Lens' TargetVPNGatewaysList Text tvglProject@@ -114,16 +132,15 @@ -- value is interpreted as a regular expression using RE2 syntax. The -- literal value must match the entire field. For example, to filter for -- instances that do not have a name of example-instance, you would use--- filter=name ne example-instance. Compute Engine Beta API Only: When--- filtering in the Beta API, you can also filter on nested fields. For+-- filter=name ne example-instance. You can filter on nested fields. For -- example, you could filter on instances that have set the -- scheduling.automaticRestart field to true. Use filtering on nested -- fields to take advantage of labels to organize and search for results--- based on label values. The Beta API also supports filtering on multiple--- expressions by providing each separate expression within parentheses.--- For example, (scheduling.automaticRestart eq true) (zone eq--- us-central1-f). Multiple expressions are treated as AND expressions,--- meaning that resources must match all expressions to pass the filters.+-- based on label values. To filter on multiple expressions, provide each+-- separate expression within parentheses. For example,+-- (scheduling.automaticRestart eq true) (zone eq us-central1-f). Multiple+-- expressions are treated as AND expressions, meaning that resources must+-- match all expressions to pass the filters. tvglFilter :: Lens' TargetVPNGatewaysList (Maybe Text) tvglFilter = lens _tvglFilter (\ s a -> s{_tvglFilter = a})@@ -157,7 +174,8 @@ "https://www.googleapis.com/auth/compute", "https://www.googleapis.com/auth/compute.readonly"] requestClient TargetVPNGatewaysList'{..}- = go _tvglProject _tvglRegion _tvglFilter+ = go _tvglProject _tvglRegion _tvglOrderBy+ _tvglFilter _tvglPageToken (Just _tvglMaxResults) (Just AltJSON)
+ gen/Network/Google/Resource/Compute/URLMaps/InvalidateCache.hs view
@@ -0,0 +1,118 @@+{-# 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.Compute.URLMaps.InvalidateCache+-- 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)+--+-- Initiates a cache invalidation operation, invalidating the specified+-- path, scoped to the specified UrlMap.+--+-- /See:/ <https://developers.google.com/compute/docs/reference/latest/ Compute Engine API Reference> for @compute.urlMaps.invalidateCache@.+module Network.Google.Resource.Compute.URLMaps.InvalidateCache+ (+ -- * REST Resource+ URLMapsInvalidateCacheResource++ -- * Creating a Request+ , urlMapsInvalidateCache+ , URLMapsInvalidateCache++ -- * Request Lenses+ , umicURLMap+ , umicProject+ , umicPayload+ ) where++import Network.Google.Compute.Types+import Network.Google.Prelude++-- | A resource alias for @compute.urlMaps.invalidateCache@ method which the+-- 'URLMapsInvalidateCache' request conforms to.+type URLMapsInvalidateCacheResource =+ "compute" :>+ "v1" :>+ "projects" :>+ Capture "project" Text :>+ "global" :>+ "urlMaps" :>+ Capture "urlMap" Text :>+ "invalidateCache" :>+ QueryParam "alt" AltJSON :>+ ReqBody '[JSON] CacheInvalidationRule :>+ Post '[JSON] Operation++-- | Initiates a cache invalidation operation, invalidating the specified+-- path, scoped to the specified UrlMap.+--+-- /See:/ 'urlMapsInvalidateCache' smart constructor.+data URLMapsInvalidateCache = URLMapsInvalidateCache'+ { _umicURLMap :: !Text+ , _umicProject :: !Text+ , _umicPayload :: !CacheInvalidationRule+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'URLMapsInvalidateCache' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'umicURLMap'+--+-- * 'umicProject'+--+-- * 'umicPayload'+urlMapsInvalidateCache+ :: Text -- ^ 'umicURLMap'+ -> Text -- ^ 'umicProject'+ -> CacheInvalidationRule -- ^ 'umicPayload'+ -> URLMapsInvalidateCache+urlMapsInvalidateCache pUmicURLMap_ pUmicProject_ pUmicPayload_ =+ URLMapsInvalidateCache'+ { _umicURLMap = pUmicURLMap_+ , _umicProject = pUmicProject_+ , _umicPayload = pUmicPayload_+ }++-- | Name of the UrlMap scoping this request.+umicURLMap :: Lens' URLMapsInvalidateCache Text+umicURLMap+ = lens _umicURLMap (\ s a -> s{_umicURLMap = a})++-- | Project ID for this request.+umicProject :: Lens' URLMapsInvalidateCache Text+umicProject+ = lens _umicProject (\ s a -> s{_umicProject = a})++-- | Multipart request metadata.+umicPayload :: Lens' URLMapsInvalidateCache CacheInvalidationRule+umicPayload+ = lens _umicPayload (\ s a -> s{_umicPayload = a})++instance GoogleRequest URLMapsInvalidateCache where+ type Rs URLMapsInvalidateCache = Operation+ type Scopes URLMapsInvalidateCache =+ '["https://www.googleapis.com/auth/cloud-platform",+ "https://www.googleapis.com/auth/compute"]+ requestClient URLMapsInvalidateCache'{..}+ = go _umicProject _umicURLMap (Just AltJSON)+ _umicPayload+ computeService+ where go+ = buildClient+ (Proxy :: Proxy URLMapsInvalidateCacheResource)+ mempty
gen/Network/Google/Resource/Compute/URLMaps/List.hs view
@@ -34,6 +34,7 @@ , URLMapsList -- * Request Lenses+ , umlOrderBy , umlProject , umlFilter , umlPageToken@@ -52,17 +53,19 @@ Capture "project" Text :> "global" :> "urlMaps" :>- QueryParam "filter" Text :>- QueryParam "pageToken" Text :>- QueryParam "maxResults" (Textual Word32) :>- QueryParam "alt" AltJSON :> Get '[JSON] URLMapList+ QueryParam "orderBy" Text :>+ QueryParam "filter" Text :>+ QueryParam "pageToken" Text :>+ QueryParam "maxResults" (Textual Word32) :>+ QueryParam "alt" AltJSON :> Get '[JSON] URLMapList -- | Retrieves the list of UrlMap resources available to the specified -- project. -- -- /See:/ 'urlMapsList' smart constructor. data URLMapsList = URLMapsList'- { _umlProject :: !Text+ { _umlOrderBy :: !(Maybe Text)+ , _umlProject :: !Text , _umlFilter :: !(Maybe Text) , _umlPageToken :: !(Maybe Text) , _umlMaxResults :: !(Textual Word32)@@ -72,6 +75,8 @@ -- -- Use one of the following lenses to modify other fields as desired: --+-- * 'umlOrderBy'+-- -- * 'umlProject' -- -- * 'umlFilter'@@ -84,12 +89,25 @@ -> URLMapsList urlMapsList pUmlProject_ = URLMapsList'- { _umlProject = pUmlProject_+ { _umlOrderBy = Nothing+ , _umlProject = pUmlProject_ , _umlFilter = Nothing , _umlPageToken = Nothing , _umlMaxResults = 500 } +-- | Sorts list results by a certain order. By default, results are returned+-- in alphanumerical order based on the resource name. You can also sort+-- results in descending order based on the creation timestamp using+-- orderBy=\"creationTimestamp desc\". This sorts results based on the+-- creationTimestamp field in reverse chronological order (newest result+-- first). Use this to sort resources like operations so that the newest+-- operation is returned first. Currently, only sorting by name or+-- creationTimestamp desc is supported.+umlOrderBy :: Lens' URLMapsList (Maybe Text)+umlOrderBy+ = lens _umlOrderBy (\ s a -> s{_umlOrderBy = a})+ -- | Project ID for this request. umlProject :: Lens' URLMapsList Text umlProject@@ -106,16 +124,15 @@ -- value is interpreted as a regular expression using RE2 syntax. The -- literal value must match the entire field. For example, to filter for -- instances that do not have a name of example-instance, you would use--- filter=name ne example-instance. Compute Engine Beta API Only: When--- filtering in the Beta API, you can also filter on nested fields. For+-- filter=name ne example-instance. You can filter on nested fields. For -- example, you could filter on instances that have set the -- scheduling.automaticRestart field to true. Use filtering on nested -- fields to take advantage of labels to organize and search for results--- based on label values. The Beta API also supports filtering on multiple--- expressions by providing each separate expression within parentheses.--- For example, (scheduling.automaticRestart eq true) (zone eq--- us-central1-f). Multiple expressions are treated as AND expressions,--- meaning that resources must match all expressions to pass the filters.+-- based on label values. To filter on multiple expressions, provide each+-- separate expression within parentheses. For example,+-- (scheduling.automaticRestart eq true) (zone eq us-central1-f). Multiple+-- expressions are treated as AND expressions, meaning that resources must+-- match all expressions to pass the filters. umlFilter :: Lens' URLMapsList (Maybe Text) umlFilter = lens _umlFilter (\ s a -> s{_umlFilter = a})@@ -143,7 +160,7 @@ "https://www.googleapis.com/auth/compute", "https://www.googleapis.com/auth/compute.readonly"] requestClient URLMapsList'{..}- = go _umlProject _umlFilter _umlPageToken+ = go _umlProject _umlOrderBy _umlFilter _umlPageToken (Just _umlMaxResults) (Just AltJSON) computeService
gen/Network/Google/Resource/Compute/URLMaps/Patch.hs view
@@ -20,8 +20,8 @@ -- Stability : auto-generated -- Portability : non-portable (GHC extensions) ----- Updates the entire content of the UrlMap resource. This method supports--- patch semantics.+-- Updates the specified UrlMap resource with the data included in the+-- request. This method supports patch semantics. -- -- /See:/ <https://developers.google.com/compute/docs/reference/latest/ Compute Engine API Reference> for @compute.urlMaps.patch@. module Network.Google.Resource.Compute.URLMaps.Patch@@ -55,8 +55,8 @@ QueryParam "alt" AltJSON :> ReqBody '[JSON] URLMap :> Patch '[JSON] Operation --- | Updates the entire content of the UrlMap resource. This method supports--- patch semantics.+-- | Updates the specified UrlMap resource with the data included in the+-- request. This method supports patch semantics. -- -- /See:/ 'urlMapsPatch' smart constructor. data URLMapsPatch = URLMapsPatch'
gen/Network/Google/Resource/Compute/URLMaps/Update.hs view
@@ -20,7 +20,8 @@ -- Stability : auto-generated -- Portability : non-portable (GHC extensions) ----- Updates the entire content of the UrlMap resource.+-- Updates the specified UrlMap resource with the data included in the+-- request. -- -- /See:/ <https://developers.google.com/compute/docs/reference/latest/ Compute Engine API Reference> for @compute.urlMaps.update@. module Network.Google.Resource.Compute.URLMaps.Update@@ -54,7 +55,8 @@ QueryParam "alt" AltJSON :> ReqBody '[JSON] URLMap :> Put '[JSON] Operation --- | Updates the entire content of the UrlMap resource.+-- | Updates the specified UrlMap resource with the data included in the+-- request. -- -- /See:/ 'urlMapsUpdate' smart constructor. data URLMapsUpdate = URLMapsUpdate'
gen/Network/Google/Resource/Compute/VPNTunnels/AggregatedList.hs view
@@ -33,6 +33,7 @@ , VPNTunnelsAggregatedList -- * Request Lenses+ , vtalOrderBy , vtalProject , vtalFilter , vtalPageToken@@ -51,17 +52,19 @@ Capture "project" Text :> "aggregated" :> "vpnTunnels" :>- QueryParam "filter" Text :>- QueryParam "pageToken" Text :>- QueryParam "maxResults" (Textual Word32) :>- QueryParam "alt" AltJSON :>- Get '[JSON] VPNTunnelAggregatedList+ QueryParam "orderBy" Text :>+ QueryParam "filter" Text :>+ QueryParam "pageToken" Text :>+ QueryParam "maxResults" (Textual Word32) :>+ QueryParam "alt" AltJSON :>+ Get '[JSON] VPNTunnelAggregatedList -- | Retrieves an aggregated list of VPN tunnels. -- -- /See:/ 'vpnTunnelsAggregatedList' smart constructor. data VPNTunnelsAggregatedList = VPNTunnelsAggregatedList'- { _vtalProject :: !Text+ { _vtalOrderBy :: !(Maybe Text)+ , _vtalProject :: !Text , _vtalFilter :: !(Maybe Text) , _vtalPageToken :: !(Maybe Text) , _vtalMaxResults :: !(Textual Word32)@@ -71,6 +74,8 @@ -- -- Use one of the following lenses to modify other fields as desired: --+-- * 'vtalOrderBy'+-- -- * 'vtalProject' -- -- * 'vtalFilter'@@ -83,12 +88,25 @@ -> VPNTunnelsAggregatedList vpnTunnelsAggregatedList pVtalProject_ = VPNTunnelsAggregatedList'- { _vtalProject = pVtalProject_+ { _vtalOrderBy = Nothing+ , _vtalProject = pVtalProject_ , _vtalFilter = Nothing , _vtalPageToken = Nothing , _vtalMaxResults = 500 } +-- | Sorts list results by a certain order. By default, results are returned+-- in alphanumerical order based on the resource name. You can also sort+-- results in descending order based on the creation timestamp using+-- orderBy=\"creationTimestamp desc\". This sorts results based on the+-- creationTimestamp field in reverse chronological order (newest result+-- first). Use this to sort resources like operations so that the newest+-- operation is returned first. Currently, only sorting by name or+-- creationTimestamp desc is supported.+vtalOrderBy :: Lens' VPNTunnelsAggregatedList (Maybe Text)+vtalOrderBy+ = lens _vtalOrderBy (\ s a -> s{_vtalOrderBy = a})+ -- | Project ID for this request. vtalProject :: Lens' VPNTunnelsAggregatedList Text vtalProject@@ -105,16 +123,15 @@ -- value is interpreted as a regular expression using RE2 syntax. The -- literal value must match the entire field. For example, to filter for -- instances that do not have a name of example-instance, you would use--- filter=name ne example-instance. Compute Engine Beta API Only: When--- filtering in the Beta API, you can also filter on nested fields. For+-- filter=name ne example-instance. You can filter on nested fields. For -- example, you could filter on instances that have set the -- scheduling.automaticRestart field to true. Use filtering on nested -- fields to take advantage of labels to organize and search for results--- based on label values. The Beta API also supports filtering on multiple--- expressions by providing each separate expression within parentheses.--- For example, (scheduling.automaticRestart eq true) (zone eq--- us-central1-f). Multiple expressions are treated as AND expressions,--- meaning that resources must match all expressions to pass the filters.+-- based on label values. To filter on multiple expressions, provide each+-- separate expression within parentheses. For example,+-- (scheduling.automaticRestart eq true) (zone eq us-central1-f). Multiple+-- expressions are treated as AND expressions, meaning that resources must+-- match all expressions to pass the filters. vtalFilter :: Lens' VPNTunnelsAggregatedList (Maybe Text) vtalFilter = lens _vtalFilter (\ s a -> s{_vtalFilter = a})@@ -144,7 +161,8 @@ "https://www.googleapis.com/auth/compute", "https://www.googleapis.com/auth/compute.readonly"] requestClient VPNTunnelsAggregatedList'{..}- = go _vtalProject _vtalFilter _vtalPageToken+ = go _vtalProject _vtalOrderBy _vtalFilter+ _vtalPageToken (Just _vtalMaxResults) (Just AltJSON) computeService
gen/Network/Google/Resource/Compute/VPNTunnels/List.hs view
@@ -34,6 +34,7 @@ , VPNTunnelsList -- * Request Lenses+ , vtlOrderBy , vtlProject , vtlFilter , vtlRegion@@ -54,17 +55,19 @@ "regions" :> Capture "region" Text :> "vpnTunnels" :>- QueryParam "filter" Text :>- QueryParam "pageToken" Text :>- QueryParam "maxResults" (Textual Word32) :>- QueryParam "alt" AltJSON :> Get '[JSON] VPNTunnelList+ QueryParam "orderBy" Text :>+ QueryParam "filter" Text :>+ QueryParam "pageToken" Text :>+ QueryParam "maxResults" (Textual Word32) :>+ QueryParam "alt" AltJSON :> Get '[JSON] VPNTunnelList -- | Retrieves a list of VpnTunnel resources contained in the specified -- project and region. -- -- /See:/ 'vpnTunnelsList' smart constructor. data VPNTunnelsList = VPNTunnelsList'- { _vtlProject :: !Text+ { _vtlOrderBy :: !(Maybe Text)+ , _vtlProject :: !Text , _vtlFilter :: !(Maybe Text) , _vtlRegion :: !Text , _vtlPageToken :: !(Maybe Text)@@ -75,6 +78,8 @@ -- -- Use one of the following lenses to modify other fields as desired: --+-- * 'vtlOrderBy'+-- -- * 'vtlProject' -- -- * 'vtlFilter'@@ -90,13 +95,26 @@ -> VPNTunnelsList vpnTunnelsList pVtlProject_ pVtlRegion_ = VPNTunnelsList'- { _vtlProject = pVtlProject_+ { _vtlOrderBy = Nothing+ , _vtlProject = pVtlProject_ , _vtlFilter = Nothing , _vtlRegion = pVtlRegion_ , _vtlPageToken = Nothing , _vtlMaxResults = 500 } +-- | Sorts list results by a certain order. By default, results are returned+-- in alphanumerical order based on the resource name. You can also sort+-- results in descending order based on the creation timestamp using+-- orderBy=\"creationTimestamp desc\". This sorts results based on the+-- creationTimestamp field in reverse chronological order (newest result+-- first). Use this to sort resources like operations so that the newest+-- operation is returned first. Currently, only sorting by name or+-- creationTimestamp desc is supported.+vtlOrderBy :: Lens' VPNTunnelsList (Maybe Text)+vtlOrderBy+ = lens _vtlOrderBy (\ s a -> s{_vtlOrderBy = a})+ -- | Project ID for this request. vtlProject :: Lens' VPNTunnelsList Text vtlProject@@ -113,16 +131,15 @@ -- value is interpreted as a regular expression using RE2 syntax. The -- literal value must match the entire field. For example, to filter for -- instances that do not have a name of example-instance, you would use--- filter=name ne example-instance. Compute Engine Beta API Only: When--- filtering in the Beta API, you can also filter on nested fields. For+-- filter=name ne example-instance. You can filter on nested fields. For -- example, you could filter on instances that have set the -- scheduling.automaticRestart field to true. Use filtering on nested -- fields to take advantage of labels to organize and search for results--- based on label values. The Beta API also supports filtering on multiple--- expressions by providing each separate expression within parentheses.--- For example, (scheduling.automaticRestart eq true) (zone eq--- us-central1-f). Multiple expressions are treated as AND expressions,--- meaning that resources must match all expressions to pass the filters.+-- based on label values. To filter on multiple expressions, provide each+-- separate expression within parentheses. For example,+-- (scheduling.automaticRestart eq true) (zone eq us-central1-f). Multiple+-- expressions are treated as AND expressions, meaning that resources must+-- match all expressions to pass the filters. vtlFilter :: Lens' VPNTunnelsList (Maybe Text) vtlFilter = lens _vtlFilter (\ s a -> s{_vtlFilter = a})@@ -155,7 +172,8 @@ "https://www.googleapis.com/auth/compute", "https://www.googleapis.com/auth/compute.readonly"] requestClient VPNTunnelsList'{..}- = go _vtlProject _vtlRegion _vtlFilter _vtlPageToken+ = go _vtlProject _vtlRegion _vtlOrderBy _vtlFilter+ _vtlPageToken (Just _vtlMaxResults) (Just AltJSON) computeService
gen/Network/Google/Resource/Compute/ZoneOperations/List.hs view
@@ -34,6 +34,7 @@ , ZoneOperationsList -- * Request Lenses+ , zolOrderBy , zolProject , zolZone , zolFilter@@ -54,17 +55,19 @@ "zones" :> Capture "zone" Text :> "operations" :>- QueryParam "filter" Text :>- QueryParam "pageToken" Text :>- QueryParam "maxResults" (Textual Word32) :>- QueryParam "alt" AltJSON :> Get '[JSON] OperationList+ QueryParam "orderBy" Text :>+ QueryParam "filter" Text :>+ QueryParam "pageToken" Text :>+ QueryParam "maxResults" (Textual Word32) :>+ QueryParam "alt" AltJSON :> Get '[JSON] OperationList -- | Retrieves a list of Operation resources contained within the specified -- zone. -- -- /See:/ 'zoneOperationsList' smart constructor. data ZoneOperationsList = ZoneOperationsList'- { _zolProject :: !Text+ { _zolOrderBy :: !(Maybe Text)+ , _zolProject :: !Text , _zolZone :: !Text , _zolFilter :: !(Maybe Text) , _zolPageToken :: !(Maybe Text)@@ -75,6 +78,8 @@ -- -- Use one of the following lenses to modify other fields as desired: --+-- * 'zolOrderBy'+-- -- * 'zolProject' -- -- * 'zolZone'@@ -90,13 +95,26 @@ -> ZoneOperationsList zoneOperationsList pZolProject_ pZolZone_ = ZoneOperationsList'- { _zolProject = pZolProject_+ { _zolOrderBy = Nothing+ , _zolProject = pZolProject_ , _zolZone = pZolZone_ , _zolFilter = Nothing , _zolPageToken = Nothing , _zolMaxResults = 500 } +-- | Sorts list results by a certain order. By default, results are returned+-- in alphanumerical order based on the resource name. You can also sort+-- results in descending order based on the creation timestamp using+-- orderBy=\"creationTimestamp desc\". This sorts results based on the+-- creationTimestamp field in reverse chronological order (newest result+-- first). Use this to sort resources like operations so that the newest+-- operation is returned first. Currently, only sorting by name or+-- creationTimestamp desc is supported.+zolOrderBy :: Lens' ZoneOperationsList (Maybe Text)+zolOrderBy+ = lens _zolOrderBy (\ s a -> s{_zolOrderBy = a})+ -- | Project ID for this request. zolProject :: Lens' ZoneOperationsList Text zolProject@@ -117,16 +135,15 @@ -- value is interpreted as a regular expression using RE2 syntax. The -- literal value must match the entire field. For example, to filter for -- instances that do not have a name of example-instance, you would use--- filter=name ne example-instance. Compute Engine Beta API Only: When--- filtering in the Beta API, you can also filter on nested fields. For+-- filter=name ne example-instance. You can filter on nested fields. For -- example, you could filter on instances that have set the -- scheduling.automaticRestart field to true. Use filtering on nested -- fields to take advantage of labels to organize and search for results--- based on label values. The Beta API also supports filtering on multiple--- expressions by providing each separate expression within parentheses.--- For example, (scheduling.automaticRestart eq true) (zone eq--- us-central1-f). Multiple expressions are treated as AND expressions,--- meaning that resources must match all expressions to pass the filters.+-- based on label values. To filter on multiple expressions, provide each+-- separate expression within parentheses. For example,+-- (scheduling.automaticRestart eq true) (zone eq us-central1-f). Multiple+-- expressions are treated as AND expressions, meaning that resources must+-- match all expressions to pass the filters. zolFilter :: Lens' ZoneOperationsList (Maybe Text) zolFilter = lens _zolFilter (\ s a -> s{_zolFilter = a})@@ -154,7 +171,8 @@ "https://www.googleapis.com/auth/compute", "https://www.googleapis.com/auth/compute.readonly"] requestClient ZoneOperationsList'{..}- = go _zolProject _zolZone _zolFilter _zolPageToken+ = go _zolProject _zolZone _zolOrderBy _zolFilter+ _zolPageToken (Just _zolMaxResults) (Just AltJSON) computeService
gen/Network/Google/Resource/Compute/Zones/List.hs view
@@ -33,6 +33,7 @@ , ZonesList -- * Request Lenses+ , zlOrderBy , zlProject , zlFilter , zlPageToken@@ -50,16 +51,18 @@ "projects" :> Capture "project" Text :> "zones" :>- QueryParam "filter" Text :>- QueryParam "pageToken" Text :>- QueryParam "maxResults" (Textual Word32) :>- QueryParam "alt" AltJSON :> Get '[JSON] ZoneList+ QueryParam "orderBy" Text :>+ QueryParam "filter" Text :>+ QueryParam "pageToken" Text :>+ QueryParam "maxResults" (Textual Word32) :>+ QueryParam "alt" AltJSON :> Get '[JSON] ZoneList -- | Retrieves the list of Zone resources available to the specified project. -- -- /See:/ 'zonesList' smart constructor. data ZonesList = ZonesList'- { _zlProject :: !Text+ { _zlOrderBy :: !(Maybe Text)+ , _zlProject :: !Text , _zlFilter :: !(Maybe Text) , _zlPageToken :: !(Maybe Text) , _zlMaxResults :: !(Textual Word32)@@ -69,6 +72,8 @@ -- -- Use one of the following lenses to modify other fields as desired: --+-- * 'zlOrderBy'+-- -- * 'zlProject' -- -- * 'zlFilter'@@ -81,12 +86,25 @@ -> ZonesList zonesList pZlProject_ = ZonesList'- { _zlProject = pZlProject_+ { _zlOrderBy = Nothing+ , _zlProject = pZlProject_ , _zlFilter = Nothing , _zlPageToken = Nothing , _zlMaxResults = 500 } +-- | Sorts list results by a certain order. By default, results are returned+-- in alphanumerical order based on the resource name. You can also sort+-- results in descending order based on the creation timestamp using+-- orderBy=\"creationTimestamp desc\". This sorts results based on the+-- creationTimestamp field in reverse chronological order (newest result+-- first). Use this to sort resources like operations so that the newest+-- operation is returned first. Currently, only sorting by name or+-- creationTimestamp desc is supported.+zlOrderBy :: Lens' ZonesList (Maybe Text)+zlOrderBy+ = lens _zlOrderBy (\ s a -> s{_zlOrderBy = a})+ -- | Project ID for this request. zlProject :: Lens' ZonesList Text zlProject@@ -103,16 +121,15 @@ -- value is interpreted as a regular expression using RE2 syntax. The -- literal value must match the entire field. For example, to filter for -- instances that do not have a name of example-instance, you would use--- filter=name ne example-instance. Compute Engine Beta API Only: When--- filtering in the Beta API, you can also filter on nested fields. For+-- filter=name ne example-instance. You can filter on nested fields. For -- example, you could filter on instances that have set the -- scheduling.automaticRestart field to true. Use filtering on nested -- fields to take advantage of labels to organize and search for results--- based on label values. The Beta API also supports filtering on multiple--- expressions by providing each separate expression within parentheses.--- For example, (scheduling.automaticRestart eq true) (zone eq--- us-central1-f). Multiple expressions are treated as AND expressions,--- meaning that resources must match all expressions to pass the filters.+-- based on label values. To filter on multiple expressions, provide each+-- separate expression within parentheses. For example,+-- (scheduling.automaticRestart eq true) (zone eq us-central1-f). Multiple+-- expressions are treated as AND expressions, meaning that resources must+-- match all expressions to pass the filters. zlFilter :: Lens' ZonesList (Maybe Text) zlFilter = lens _zlFilter (\ s a -> s{_zlFilter = a}) @@ -138,7 +155,7 @@ "https://www.googleapis.com/auth/compute", "https://www.googleapis.com/auth/compute.readonly"] requestClient ZonesList'{..}- = go _zlProject _zlFilter _zlPageToken+ = go _zlProject _zlOrderBy _zlFilter _zlPageToken (Just _zlMaxResults) (Just AltJSON) computeService
gogol-compute.cabal view
@@ -1,5 +1,5 @@ name: gogol-compute-version: 0.1.0+version: 0.1.1 synopsis: Google Compute Engine SDK. homepage: https://github.com/brendanhay/gogol bug-reports: https://github.com/brendanhay/gogol/issues@@ -11,7 +11,7 @@ category: Network, Google, Cloud build-type: Simple cabal-version: >= 1.10-extra-source-files: README.md+extra-source-files: README.md src/.gitkeep description: Creates and runs virtual machines on Google Cloud Platform.@@ -101,6 +101,12 @@ , Network.Google.Resource.Compute.HTTPSHealthChecks.List , Network.Google.Resource.Compute.HTTPSHealthChecks.Patch , Network.Google.Resource.Compute.HTTPSHealthChecks.Update+ , Network.Google.Resource.Compute.HealthChecks.Delete+ , Network.Google.Resource.Compute.HealthChecks.Get+ , Network.Google.Resource.Compute.HealthChecks.Insert+ , Network.Google.Resource.Compute.HealthChecks.List+ , Network.Google.Resource.Compute.HealthChecks.Patch+ , Network.Google.Resource.Compute.HealthChecks.Update , Network.Google.Resource.Compute.Images.Delete , Network.Google.Resource.Compute.Images.Deprecate , Network.Google.Resource.Compute.Images.Get@@ -149,6 +155,7 @@ , Network.Google.Resource.Compute.Instances.SetScheduling , Network.Google.Resource.Compute.Instances.SetTags , Network.Google.Resource.Compute.Instances.Start+ , Network.Google.Resource.Compute.Instances.StartWithEncryptionKey , Network.Google.Resource.Compute.Instances.Stop , Network.Google.Resource.Compute.Licenses.Get , Network.Google.Resource.Compute.MachineTypes.AggregatedList@@ -168,6 +175,15 @@ , Network.Google.Resource.Compute.RegionOperations.List , Network.Google.Resource.Compute.Regions.Get , Network.Google.Resource.Compute.Regions.List+ , Network.Google.Resource.Compute.Routers.AggregatedList+ , Network.Google.Resource.Compute.Routers.Delete+ , Network.Google.Resource.Compute.Routers.Get+ , Network.Google.Resource.Compute.Routers.GetRouterStatus+ , Network.Google.Resource.Compute.Routers.Insert+ , Network.Google.Resource.Compute.Routers.List+ , Network.Google.Resource.Compute.Routers.Patch+ , Network.Google.Resource.Compute.Routers.Preview+ , Network.Google.Resource.Compute.Routers.Update , Network.Google.Resource.Compute.Routes.Delete , Network.Google.Resource.Compute.Routes.Get , Network.Google.Resource.Compute.Routes.Insert@@ -211,6 +227,13 @@ , Network.Google.Resource.Compute.TargetPools.RemoveHealthCheck , Network.Google.Resource.Compute.TargetPools.RemoveInstance , Network.Google.Resource.Compute.TargetPools.SetBackup+ , Network.Google.Resource.Compute.TargetSSLProxies.Delete+ , Network.Google.Resource.Compute.TargetSSLProxies.Get+ , Network.Google.Resource.Compute.TargetSSLProxies.Insert+ , Network.Google.Resource.Compute.TargetSSLProxies.List+ , Network.Google.Resource.Compute.TargetSSLProxies.SetBackendService+ , Network.Google.Resource.Compute.TargetSSLProxies.SetProxyHeader+ , Network.Google.Resource.Compute.TargetSSLProxies.SetSSLCertificates , Network.Google.Resource.Compute.TargetVPNGateways.AggregatedList , Network.Google.Resource.Compute.TargetVPNGateways.Delete , Network.Google.Resource.Compute.TargetVPNGateways.Get@@ -219,6 +242,7 @@ , Network.Google.Resource.Compute.URLMaps.Delete , Network.Google.Resource.Compute.URLMaps.Get , Network.Google.Resource.Compute.URLMaps.Insert+ , Network.Google.Resource.Compute.URLMaps.InvalidateCache , Network.Google.Resource.Compute.URLMaps.List , Network.Google.Resource.Compute.URLMaps.Patch , Network.Google.Resource.Compute.URLMaps.Update@@ -239,5 +263,5 @@ , Network.Google.Compute.Types.Sum build-depends:- gogol-core == 0.1.0.*+ gogol-core == 0.1.1.* , base >= 4.7 && < 5
+ src/.gitkeep view